NVDIMM原理与应用之四:NVDIMM的数据恢复、使用和监控

简介:


NVDIMM原理与应用之四:NVDIMM的数据恢复、使用和监控

  1. NVDIMM的主要结构

nvdimm的内部集成了SDRM、NAND控制器和Flash,还包括兼容DDR规范的I2c接口,以某款常见的NVDIMM为例,主要构造如下图所示:

wKiom1hsTmmwavHZAAEu9HbL0-I290.png

2. NVDIMM datarecovery

NVDIMM掉电保存和恢复数据的功能,需要依赖于NVDIMM超级电容、CPU芯片、主板电路和BIOS的协同工作。系统突然掉电或者重启的时候,主板上专门的电路设计保证触发ADR,此时在nvdimm超级电容提供电力,保证NVDIMM SDRAM上的数据能够即使写到nvdimm的NAND Flash上去。不同的主板可能会实现不同的触发ADR的硬件电路。比如笔者手头上的某款服务器,下面的操作会触发ADR:


CPU Reset
BMC initiated power cycle (confirm)
AC power lost (confirm)
0xCF9 reboot (confirm)
CPU thermal trip assertion
CAT/IERR assertion

ipmitool chassis power cycle (confirm)


这里特别需要引起重视的是,如果上面的操作和下面不能触发ADR的操作混淆或者相邻执行,就不会触发ADR,进而可能导致数据丢失:

ipmitool chassis power reset (confirm)

BMC initiated reset (confirm)


而在系统再次启动的过程中, 如果flash里有完整的内存映像,硬件会自动把它写到nvdimm SDRAM。



3. NVDIMM usage


不同的NVDIMM厂商会提供不同的SDK,开发者需要参考SDK里提供的文档、示例代码和乃至驱动源代码,根据实际要应用的场景,选择合适的驱动类型、Cache模式和API和来实现自己的功能。以笔者手头上的NVDIMM为例,需要按照下面的步骤设置和使用nvdimm:

Once Restore is complete and the system boots up to OS; here are the things to do:


  • Check valid image Restored status


  • Check all the conditions as mentioned in following table


  • ARM


  • ClearSDV


Ready for SAVE


4. NVDIMM RAS monitor

实际使用NVDIMM的过程中,如果NVDIMM持续处于高温的状态,会急剧缩短它的使用寿命;此外,nvdimm上的Flash也有一定的擦写次数的限制。而且,如果nvdimm的超级电容里电量不够一次SAVE操作,也会发生数据丢失的情况。因此,为了保证nvdimm的可靠性、可用性,及时预报掉电或者重启后不能恢复数据的情况,需要监控一些nvdimm RAS相关的状态,包括电容温度、电量、flash老化率等等。下面是针对笔者的某款NVDIMM的监控列表,仅供参考:

Type

Must check for saving data

and/or restoring data?

Valid Rang

Invalid Rang

Event Severity

Poll interval

DIMM connected

Must check

Connected

Not

Connected

High

Once

SuperCap connected

Must check

Connected

Not

Connected

High

Once

Charge Level

Must check for saving data

ARX_CHARGE

Others

High

12h~24h

Flash Life Level

Must check for saving data

>=10

<10

High

12h~24h

Capacitor Healthy

Better to check

healthy

EOL

?

12h~24h

Temperature

Better to check

0~65C

>65

Normal

12h~24h

Armed Status

Must check for saving data

Armed

Not Armed

High

once

Valid Image Restored Status

Must check after recovering data

Valid

Valid

High

Once per

recover

Valid Image available Status

Not need check

-

-

-

Never




5. NVDIMM内存使用方式


  • 支持nvdimm的bios会在系统内存初始化的时候探测到nvdimm并分配特殊的类型符;


  • nvdimm驱动实现nvdimm逻辑设备open/close/ioctl/mmap/等操作,其中mmap操作实现nvdimm内核空间到用户空间的映射


  • nvdimm SDK提供API向调用者提供nvdimm映射到用户态空间后的起始地址和长度;



















本文转自存储之厨51CTO博客,原文链接:http://blog.51cto.com/xiamachao/1888738  ,如需转载请自行联系原作者






相关文章
|
24天前
|
存储 缓存 算法
【自己动手画CPU】存储系统设计
博文“【自己动手画CPU】存储系统设计”探讨了在自制 CPU 中存储系统的设计。存储系统是计算机中至关重要的组成部分,负责存储和检索数据。文章介绍了在 DIY CPU 中实现存储系统的关键考虑因素,包括存储器的类型、存储器与 CPU 的连接方式以及数据存取的速度和效率。通过深入探讨存储系统的设计原理和实现方式,读者可以更好地理解计算机内部结构,并且为自己动手设计和构建 CPU 提供了有益的指导和启发。
91 0
【自己动手画CPU】存储系统设计
|
1月前
|
存储 算法 Oracle
服务器数据恢复—EVA存储硬盘不稳定离线的数据恢复案例
服务器数据恢复环境: 某品牌EVA某型号存储,底层是RAID5阵列,划分了若干lun。 服务器故障&分析: 该存储设备中raid5阵列有两块硬盘掉线,存储中的lun丢失。 将故障服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都可以正常读取数据。
|
3月前
|
缓存 网络协议 Unix
程序员超实用的文件系统性能评测工具盘点
程序员超实用的文件系统性能评测工具盘点
|
5月前
|
存储 缓存 算法
vSAN数据恢复-开启重删压缩机制的全闪存vSAN数据恢复案例
vsan数据恢复环境: 一套VMware vSAN超融合基础架构,全闪存,开启压缩重删。共11台服务器节点。每台服务器节点上配置1块PCIE固态硬盘和8-10块SSD固态硬盘。 每个服务器节点上创建1个磁盘组,每个磁盘组将1个PCIE固态硬盘识别为2个硬盘作为缓存盘,将8-10个SSD固态硬盘作为容量盘,共同组成vSAN存储空间,用来存储虚拟机文件。 vsan故障&检测: vSAN中一台服务器节点的PCIE缓存盘发生故障,导致vSAN逻辑架构出现故障,2台虚拟机磁盘组件出现问题,虚拟机无法正常使用。
vSAN数据恢复-开启重删压缩机制的全闪存vSAN数据恢复案例
|
1月前
|
存储 缓存 Linux
内存系列学习(六):ARM处理器存储访问一致性问题
内存系列学习(六):ARM处理器存储访问一致性问题
28 0
|
存储 固态存储 测试技术
服务器硬件RAID性能横评(1)(下)
服务器硬件RAID性能横评(1)
99 0
服务器硬件RAID性能横评(1)(下)
西门子S7-1200如何使用诊断缓冲区查看CPU停机原因?
在西门子S7-1200中的诊断缓冲区是CPU系统存储器的一部分,诊断缓冲区中记录了由CPU或具有诊断功能的模块所检测到的事件和错误等。
西门子S7-1200如何使用诊断缓冲区查看CPU停机原因?
|
开发工具 异构计算 内存技术
ZYNQ - 无DDR固化程序(压缩FSBL以能固化更大的应用程序在OCM上)
ZYNQ - 无DDR固化程序(压缩FSBL以能固化更大的应用程序在OCM上)
364 0
ZYNQ - 无DDR固化程序(压缩FSBL以能固化更大的应用程序在OCM上)
|
Oracle 关系型数据库 Go
用EMC NW的RDMA模块备份Oracle数据库,你需要在配置上使用这个诀窍
这个是个写给老外工程师的邮件,说的是使用 EMC NW 备份软件的模块备份Oracle数据库的诀窍
366 0
|
存储 固态存储 大数据
【阿里云总监课】存储系统设计——NVMe SSD性能影响因素一探究竟
NVMe SSD的性能时常捉摸不定,为此我们需要打开SSD的神秘盒子,从各个视角分析SSD性能影响因素,并思考从存储软件的角度如何最优化使用NVMe SSD,推进数据中心闪存化进程。本文从NVMe SSD的性能影响因素进行分析,并给出存储系统设计方面的一些思考。
4371 0

相关产品

  • 云迁移中心