NVDIMM

NVDIMM 是在一种集成了DRAM + 非易失性内存芯片的内存条规格,能够在完全断电的时候依然保存完整内存数据,这次发布AGIGA860 采用了NAND 闪存作为内存条的非易失性存储芯片,而DRAM 部分则是DDR3-1600,内存条上没有采用电池,而是 SSD 上常见的超级电容来维持掉电后瞬时的数据转移电力,厂商提供了在线闪存固件更新服务。相比其他介质的非易失性内存,NVDIMM已逐步进入主流服务器市场,micron,viking,AGIGA等国外内存厂商皆以推出自己的NVDIMM。国内厂商云动科技也推出了自己的NVDIMM产品,并给出了基于NVDIMM的全系统保护演示示例。
外文名
NVDIMM
磁盘缓存
减少CPU透过I/O读写磁盘的次数
本    质
内存条规格
集    成
DRAM + 非易失性内存芯片

目录

  1. 1 历史
  2. 2 应用
  3. ▪ 数据保护
  1. ▪ 磁盘缓存
  2. ▪ 存储链
  3. 3 相关技术发展
  1. ▪ SNIA NVM Express
  2. ▪ Linux kernel
  3. ▪ CPU

历史

编辑

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

应用

编辑

数据保护

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

磁盘缓存

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

存储链

存储链是将整个存储系统中的数据按照安全度,性能要求以及使用频率分层存储在不同的非易失存储介质中。[1]
storage tier
如图所示为一典型的存储链实例。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规范中[3],有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处理器家族。
参考资料
  • 1.  Whole-System Persistence[R].Dushyanth Narayanan:Microsoft Research,2012
  • 2.  DANIEL P.BOVET.深入理解linux内核:中国电力出版社,2007:595-625
  • 3.  JESD79-4 DDR4 SDRAM specification[S].JEDEC SOLID STATE TECHNOLOGY ASSOCIATION,2013.

NVDIMM介绍与应用相关推荐

  1. Linux文件系统与持久性内存介绍:块设备、闪存(NAND/NOR)、NVDIMM(非易失性内存)、PMEM(PMDK)- ndctl

    <持久内存开发套件(Persistent Memory Development Kit-PMDK) - pmem.io: PMDK> <PMDK介绍> <PMDK(NVM ...

  2. Linux文件系统与持久性内存介绍

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 You must be strong now. You must ...

  3. Kata Containers及相关vmm介绍

    Kata Containers介绍 Kata Containers 是轻量级虚拟机的一种新颖实现,可无缝集成到容器生态系统中. Kata Containers 与容器一样轻巧快速,并与容器管理层集成, ...

  4. QEMU文档之虚拟NVDIMM

    本文档介绍虚拟NVDIMM特性(vNVDIMM)的使用,该特性从QEMU v2.6.0开始有效. 当前QEMU仅实现vNVDIMM设备的持续内存模型,而没有实现block windown模型. 1 基 ...

  5. 火爆业界的明星,下一代存储技术的先行: NVDIMM 你了解吗?

    作者介绍 惠春阳, Intel 软件工程师, 主要从事SPDK开发和存储软件性能优化的工作. 随着存储技术的发展, 对存储性能的不懈追求, 高性能存储开始探索向内存通道的迁移.在这样的情况下, NVD ...

  6. 火爆业界的明星, 下一代存储技术的先行: NVDIMM (下篇)

    作者简介 惠春阳, Intel 软件工程师, 主要从事SPDK开发和存储软件性能优化的工作. 随着存储技术的发展,对存储性能的不懈追求,高性能存储开始探索向内存通道的迁移.在这样的情况下, NVDIM ...

  7. Facebook数据中心实践分析,OCP主要工作成果介绍

     Facebook数据中心实践分析,OCP主要工作成果介绍 摘要:用讲故事的方式重点介绍了Facebook在数据中心方面的实践,其成立开放计算项目(OCP)以来的主要工作成果. 以下为正文: 保密 ...

  8. java虚拟机中参数的使用和具体介绍

    命名 java - 启动一个Java应用程序 简介 要启动一个类文件. java[options] mainclass [args -]. 要启动JAR文件中的主类. java[options] -j ...

  9. 超级内存技术NVDIMM将改变服务器存储格局

     OFweek电子工程网讯:日前,一家中国本土科技公司无锡云动科技发展有限公司推出的非易失性内存(NVDIMM)存储解决方案接连亮相中国(成都)电子展和美国闪存峰会,其现场演示的NVDIMM掉电数 ...

最新文章

  1. Ubuntu下Sublime Text 3解决无法输入中文的方法
  2. 生信小白7行代码画一个高颜值的世界地图
  3. php将pdf文件存入数据库,关于tcpdf:在我的php数据库中制作pdf文件
  4. java图像处理之图像裁剪
  5. 利用JMeter进行压力测试(1)(转)
  6. U盘装win7系统出现question(1808)的解决方法
  7. MUI tab选项卡之间的切换和数据获取
  8. linux上传挂载镜像文件,linux系统中挂载img镜像文件
  9. 使用Cargo入门rust语言
  10. 谷歌浏览器老是出现花_Google全新的AI平台值得您花时间吗?
  11. 北京理工大学c语言作业三做一年级算术题,北京理工大学C语言编程题_答案
  12. OFD文件解析流程(转)
  13. 基于Java毕业设计幼儿园教育管理信息系统演示2021源码+系统+mysql+lw文档+部署软件
  14. Paragon Camptune X for Mac(Mac磁盘分区工具) V10.13.433免费版
  15. python和java可以一起学吗_python可以和java一起学吗
  16. blender 鼠标滑轮配合快捷键
  17. freeswitch通过limit限制cps
  18. 闲聊JavaScript
  19. 【LTspice】007 Analysis Command 仿真命令
  20. 电力系统仿真软件python_PySpice: 使用ngspice进行电路仿真分析-1:安装

热门文章

  1. 安卓导入项目遇到“Sync Android SDKs”
  2. python绘制动态k线及均线_Python绘制股票移动均线的实例
  3. 西工大计算机考研最全的报名和各方向解析,含导师介绍
  4. 周易六十四卦——乾卦
  5. 【转载】周易大象传原文及译文
  6. 经典:统计字符串中汉字,英文,数字,特殊符号个数
  7. flink 缓存问题处理过程,看我十八般武艺
  8. alert的确定和取消
  9. 为什么alert没有弹窗?
  10. 奇安信行业安全研究中心