勇敢心资源网

当前位置:首页 > 百科 / 正文

NVDIMM

(2020-05-02 06:59:23) 百科
NVDIMM

NVDIMM

非易失性双列直插式记忆体模组(英语:non-volatile dual in-line memory module,缩写NVDIMM)是一种用于计算机的随机存取存储器。非易失性存储器是即使断电也能保留其内容的记忆体,这包括意外断电、系统崩溃或正常关机。双列直插式表示该记忆体使用DIMM封装。NVDIMM在某些情况下可以改善应用程式的性能、数据安全性和系统崩溃恢复时间。这增强了固态硬碟(SSD)的耐用性和可靠性。

基本介绍

  • 中文名:非易失性双列直插式记忆体模组
  • 外文名:NVDIMM
  • 磁碟快取:减少CPU透过I/O读写磁碟的次数
  • 本质:记忆体条规格
  • 集成:DRAM + 非易失性记忆体晶片

历史

NVDIMM由BBU(Battery Backed Up) DIMM演变而来。BBU採用含有重金属的后备电池以维持普通挥发性记忆体中的内容几小时之久,但不符合绿色能源的要求。由超级电容作为动力源的NVDIMM应运而生。并且NVDIMM使用非挥发性的flash存储介质来保存数据,数据能够保存的时间更长。

套用

数据保护

计算机系统的计算结果和服务信息皆临时保存在记忆体中,这些数据在系统掉电后将丢失,甚至能引起整个系统的崩溃。NVDIMM可以解决系统异常掉电情况下,记忆体数据的保存工作,并且能够在系统恢复正常运行后,继续之前的工作。
全系统保护是NVDIMM的一个典型套用场景。在系统异常掉电后,该系统能在短时间内将整个计算机系统当前的工作状态(包括CPU,桥接晶片,网卡等硬体设备以及系统中所有的进程)保存至NVDIMM。在系统重新上电运行后,立即恢复至之前的运行状态,仿佛系统只是“打了个盹”。
在云技术发展日新月异的今天,虚拟化技术作为云的核心技术,得到了广泛的关注与创新。与此同时,作为云服务运行的底层载体,虚拟机的数据安全与完整是目前急需解决的重要课题。虚拟机实质为软体模拟的具有完整硬体系统功能的、运行在一个完全隔离环境中的完整计算机系统,也就意味着虚拟机的所有运行状态都在记忆体中。NVDIMM可以利用虚拟机本身的快照功能,在系统异常情况下,迅速保护存储在记忆体中的临时快照,达到保护整个虚拟机的目的。

磁碟快取

磁碟快取是为了减少CPU透过I/O读写磁碟的次数,提升磁碟I/O的效率,用一部分记忆体来储存访问较频繁的磁碟内容。磁碟快取的存在对于数据访问的一致性带来了问题,尤其是採用write-back策略的写快取导致异常掉电情况下记忆体中更新的数据未能及时写入磁碟而丢失。NVDIMM是写快取的最佳存储介质。它的随机访问性质能让CPU和作业系统直接访问管理,并且非易失性保证数据在异常掉电情况下得以保护。
目前,针对RAID控制器的写快取NVDIMM已逐渐被接受。对于带有板级RAID控制晶片或者採用软体RAID方案的计算机,缺乏写快取,NVDIMM可以直接用做系统主存,配合作业系统,完成写快取任务。还有一类PCIE接口的RAID控制卡,它们採用普通的带电池后备的记忆体条作为快取使用,NVDIMM可以直接替代这些记忆体条。

存储链

存储链是将整个存储系统中的数据按照安全度,性能要求以及使用频率分层存储在不同的非易失存储介质中。
如图所示为一典型的存储链实例。IO性能要求较高的数据被存储在SSD上,而要求较低的数据放入各种类型的磁碟阵列以及NAS。NVDIMM可作为存储链的最前端,它的速度比SSD更快,并且能够提供直接随机访问的特性。CPU的记忆体栅障与刷新cache指令能够保证NVDIMM数据的原子写与一致性。所以,NVDIMM非常适合用作档案系统或者资料库元数据与日誌的存储介质。

相关技术发展

SNIA NVM Express
SNIA在2013年底相继发表的NVM(Non-volatile memory)的硬体接口规範和编程模型规範。定义了NVM的範围为PCIE接口的flash存储器,控制卡以及NVDIMM,PCM等可以随机访问的非易失性存储器。SNIA 提出了block volume和persistent memory两种模型,并给出了每种模型能够处理的命令集以及能完成的功能。Block volume即传统的块设备模型,以块为单位进行数据传输,採用与现有的ATA,SCSI,FC等协定具有相同的编程方式,比如PCIE SSD,PCIE RAID controller就是此类模型。Persistent memory是具有直接随机访问与非易失性双重特性的编程模型,可以採用传统虚拟记忆体管理接口,为档案系统或者资料库提供新的存储行为。NVDIMM即採用此类编程模型,同样PCIE卡如果将其存储空间映射至PCIE存储域,并且能够禁止底层的flash特性,亦能採用此类模型。
Linux kernel
作业系统方面,Ric Wheeler 在2013 Linux Foundation Collaboration Summit提出了在Linux系统中支持NVM的想法,并且SNIA组织也已经给出了NVMe设备的Linux驱动。在Ric的讨论中,在兼容老式编程模型的API的基础上,定义新的适合NVM设备的API,让档案系统和资料库都能更好地利用NVM的特性。
CPU
Intel最新的家用机晶片Haswell-E CPU开始支持288pin的DDR4记忆体条。在JEDEC 最新的DDR4规範中,有4个pin为NVDIMM的电源与控制信号。可见主流CPU与主机板已经开始将NVDIMM加入商业化的存储系统。
异步DRAM自刷新(ADR)技术是Intel在凌动S12X9家族处理器上推出的新技术,可保证在异常掉电时,CPU沖刷cache,写回cache的髒数据,然后将DRAM设定进入自刷新状态。NVDIMM就是在DRAM处于自刷新状态时将控制权由CPU移交给NVDIMM本身,ADR技术就是为NVDIMM量身定製。另外,ADR技术能够有选择的在计算机热启动时,不对特定通道的DRAM进行重新初始化,从而保留DRAM中的数据。包括MacroSAN、Dahua、Accusys、Qsan和Qnap等数据中心製造商已经宣布开始支持S12X9处理器家族。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net
搜索
随机推荐

勇敢心资源网|豫ICP备19027550号