NVDIMM典型应用及技术发展
1.典型应用之全系统保护
全系统保护采用超级内存作为系统主存。在系统异常掉电时,将整个系统的运行状态(包括CPU,芯片组,其他外设以及所有进程的信息)存入超级内存。在供电恢复后,利用超级内存中的数据,迅速恢复至掉电前的工作现场。系统仿佛只是经历了一次待机->唤醒的过程。
全系统保护的核心意义是flush-on-fail:仅在掉电时才利用简易后备电源将系统的运行状态写入非易失性存储介质。与传统的文件系统,数据库采用的flash-on-commit方式相比,flush-on-fail的意义在于运行时开销为零,避免了flash-on-commit额外的日志记录,避免了原子写事务,IO屏障引起的磁盘操作延迟。数据一致性交由CPU原子操作指令,高速缓存指令以及内存栅障指令保证。运行于全系统保护计算机中的文件系统与数据库设计精简,吞吐率高,安全性方面更有保障。
2. 典型应用之数据缓存
磁盘缓存是为了减少CPU透过I/O读写磁盘的次数,提升磁盘I/O的效率,用一部分内存来储存访问较频繁的磁盘内容。磁盘缓存的存在对于数据访问的一致性带来了问题,尤其是采用write-back策略的写缓存导致异常掉电情况下内存中更新的数据未能及时写入磁盘而丢失。超级内存是写缓存的最佳存储介质。它的随机访问性质能让CPU和操作系统直接访问管理,并且非易失性保证数据在异常掉电情况下得以保护。
目前,针对RAID控制器的写缓存超级内存已逐渐被接受。对于带有板级RAID控制芯片或者采用软件RAID方案的计算机,缺乏写缓存,超级内存可以直接用做系统主存,配合操作系统,完成写缓存任务。还有一类PCIE接口的RAID控制卡,它们采用普通的带电池后备的内存条作为缓存使用,超级内存可以直接替代这些内存条。
3. 典型应用之链式存储
存储链是将整个存储系统中的数据按照安全度,性能要求以及使用频率分层存储在不同的非易失存储介质中。
如图所示为一典型的存储链实例。IO性能要求较高的数据被存储在SSD上,而要求较低的数据放入各种类型的磁盘阵列以及NAS。超级内存可作为存储链的最前端,它的速度比SSD更快,并且能够提供直接随机访问的特性。CPU的内存栅障与刷新cache指令能够保证超级内存数据的原子写与一致性。所以,超级内存非常适合用作文件系统或者数据库元数据与日志的存储介质。
4.技术发展之Intel CPU
Intel即将推出的Haswell-E CPU开始支持288pin的DDR4内存条。在JEDEC 最新的DDR4规范中,有4个pin作为DIMM规格的超级内存的电源与控制信号。国内的家用机主板厂商微星,技嘉都已经开始制作Haswell-E平台的主板,预计2014年中旬即将上市。
异步DRAM自刷新(ADR)技术是Intel在凌动S12X9家族处理器上退出的新技术,可保证在异常掉电时,CPU冲刷cache,写回cache的脏数据,然后将DRAM设置进入自刷新状态。在DRAM处于自刷新状态时可将控制权由CPU移交给超级内存。ADR技术为用作系统主存的DIMM规格的超级内存量身定制。另外,ADR技术能够有选择的在计算机热启动时,不对特定通道的DRAM进行重新初始化,从而保留DRAM中的数据。包括MacroSAN、Dahua、Accusys、Qsan和Qnap等数据中心制造商已经宣布开始支持S12X9处理器家族。
5.技术发展之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,NVSMM,DIMM NVRAMDISK皆支持此类编程模型。
6.技术发展之Linux Kernel
操作系统方面,Ric Wheeler 在2013 Linux Foundation Collaboration Summit提出了在Linux系统中支持NVM的想法,并且SNIA组织也已经给出了NVMe设备的Linux驱动。在Ric的讨论中,在兼容老式编程模型的API的基础上,定义新的适合NVM设备的API,让文件系统和数据库都能更好地利用NVM的特性。
7.相关链接
[1].http://www.cnblogs.com/presida/p/3656330.html
[2].http://www.cnblogs.com/presida/p/3552935.html
[3]. http://www.windawn.com/proc_ny.aspx?CaseID=66 for contact info nvm@windawn.com
[4]. http://blog.csdn.net/jt0628403005/article/details/19240681
[5].http://blog.csdn.net/jt0628403005/article/details/19478773
[6]. http://v.youku.com/v_show/id_XNjgyODA0Mzgw.html全系统保护演示视频
NVDIMM典型应用及技术发展的更多相关文章
- Web开发技术发展历史
Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...
- 【转】RAID 技术发展综述
原文地址:https://blog.csdn.net/liuaigui/article/details/4581970 摘要 :现代企业信息化水平不断提高,数据已经取代计算成为了信息计算的中心.这 ...
- Web UI 技术发展历程
本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...
- BAT解密:互联网技术发展之路(5)- 开发层技术剖析
BAT解密:互联网技术发展之路(5)- 开发层技术剖析 1. 开发框架 在系列文章的第2篇"BAT解密:互联网技术发展之路(2)- 业务怎样驱动技术发展"中我们深入分析了互联网业务 ...
- 【转载】Web开发技术发展历史-版本1
原文在这里. Web开发技术发展历史 Web的诞生 提到Web,不得不提一个词就是“互联网”.Web是World Wide Web的简称,中文译为万维网.“万维网”和我们经常说的“互联网”是两个联系极 ...
- 数据管理技术发展,数据库应用发展史,数据库分类,MySQL
计算机数据管理技术发展 1. 自由管理阶段 用户以文件形式将数据组织起来,并附属在各自的应用程序下. 1.数据不保存 当时计算机主要用于科学计算,一般不需要将数据长期保存,只是计算某一课 ...
- paper 27 :图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)
1. 早期C. Koch与S. Ullman的研究工作. 他们提出了非常有影响力的生物启发模型. C. Koch and S. Ullman . Shifts in selective visual ...
- web技术发展历程--读《大型网站技术架构_核心原理与案例分析》
1 早期的web服务 2 CGI程序的出现.发展.凋零到MVC的兴起 CGI:通用网关接口技术. 随着CGI技术的出现,web服务端可以通过不同的用户请求产生动态页面内容. web服务器将请求数据交给 ...
- 快照(Snapshot)技术发展综述
快照(Snapshot)技术发展综述 刘爱贵 摘要:传统数据备份技术存在备份窗口.恢复时间目标RTO和恢复时间点RPO过长的问题,无法满足企业关键性业务的数据保护需求,因此产生了数据快照技术.本文对快 ...
随机推荐
- html a 链接
1.链接元素 文本.图像.热区 2.标记 描述性文字 target窗口形式 _self:在自身窗口打开(默认) _blank:在新窗口打开 _parent:在父窗口打开 _top:在顶窗口打开 框架或 ...
- “我爱淘”冲刺阶段Scrum站立会议1
昨天是我们项目冲刺阶段的第一天,站立会议的内容如下: 1.昨天完成了项目中的第一个界面--“精选”界面:完成了一点Java文件的编写: 2.今天的任务就是完成第一个Activity的编写:将布局文件和 ...
- 修改Input中Placeholder默认提示颜色(兼容)
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #f00; } input:-moz-pl ...
- Zend Studio 错误集锦[PHP]
错误信息:Cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link6'. The parent re ...
- ID3d11asynchronous
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476428(v=vs.85).aspx 这东西 该怎么用 ! 照这位兄弟的做就可以 ...
- HDOJ 1429 胜利大逃亡(续)
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
朋友的wp博客好久没管理了,让ytkah帮忙打理一下,进到后台发现版本还是3.9的,那是比较早以前的版本了,早该升级了. 在升级wordpress时出现以下错误: 无法安装这个包: PCLZIP_ER ...
- android 关于Location of the Android SDK has not been setup in the preferences的解决方法
今天在部署android开发环境的时候,每次打开eclipse的时候点击AVD Manager的按钮就会弹出Location of the Android SDK has not been setup ...
- json 处理
//String sssssString = "{"response":{"data":[{"address":"南京市 ...
- PHP 性能分析第一篇: Xhprof & Xhgui 介绍
[前言]这是国外知名博主 Davey Shafik所撰写的 PHP 应用性能分析系列的第一篇,阅读第二篇可深入了解 xhgui,第三篇则关注于性能调优实践. 什么是性能分析? 性能分析是衡量应用程序在 ...