FMS2015:NVMe SSD的高可靠性及数据保护
FMS2015是一个充满技术干货的平台,各领域技术大拿在峰会上分享的技术和产品都影响甚至主导着闪存下一阶段的发展。
此次Memblaze的project师团队也是从存储系统、PCIe SSD以及闪存控制器三个层次做了技术演讲,并在现场引发了一波讨论热潮。
Memblaze解决方式project师李月宽发表了主题为《NVMeSSD data reliability and protection》的演讲,这个主题分享中他介绍了NVMe SSD的可靠性评定标准、PBlaze4中提高数据可靠性的技术等内容。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
当下用于评定SSD可靠性的国际标准非常多,李月宽主要介绍了。首先是JESD218A企业标准(包含data retention。寿命測试条件,UBER,容量的定义等信息)以及平均无故障时间(MTBF)两个比較主流的可靠性指标(如图2所看到的)。
接下来他以PBlaze4为例从元数据保护、掉电保护及高温保护三个方面阐述了提升NVMe SSD可靠性的技术。
元数据保护
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
图3:PBlaze4的元数据保护技术
如上图所看到的PBlaze元数据保护技术主要通过pSLC和多副本实现。pSLC 是MLC 的变体。是同一个NAND颗粒上划分出来的一块区域,具有SLC低错误率和高寿命的特点。并且一般pSLC 的擦写次数能够达到20000次,是MLC擦写寿命的6倍。
PBlaze4的元数据会有4个副本,并且跨LUN,跨channel进行存储。
这样的机制通过添加元数据的冗余度保障数据安全,并且元数据被分散存储在多个NAND颗粒上,所以仅仅要有一个LUN 能够工作。元数据就能被读取更新。
掉电保护技术
系统掉电之后,SSD上DRAM上的数据须要及时刷写到NAND上,具体的刷写时间长度见图5。
从上图能够看到一个结论。PBlaze4将DRAM中数据所有刷写到NAND上的极限时长为15ms,即电容至少要保证15ms的放电时间。但考虑到电量冗余,电力窗体必须保证>15ms。
而不同功率电容的放电量不同,满负载功率的电容放电更快。
经验证。在25w功率下,PBlaze4的电容能够提供25ms的电力保护时间,全然满足异常掉电时DRAM中数据裸盘的刷写时间,保证数据的完整性。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
以上介绍了掉电保护的需求并计算出了设备将DRAM上数据刷写至NAND上所须要的最长时间。
图6则从电容的角度介绍了两种添加供电时间的方法。
首先是提高电容的容量,这样的方法比較easy实现,不必添加额外的电路设计。可是这样的方案成本较高。须要使用超级电容或者多个电容实现。
另外一种方法是改变电压。这样的方法的优势是成本较低,能够使用常见的铝电解电容实现。可是其缺陷是电路设计复杂。须要升压和降压的电压转换器。
而且占用的PCB面积也较大。
对于两种效果,Memblaze通过測试做了对照。測试结果如图7:
图7
基于以上理论与測试结果,PBlaze4拥有完备的掉电保护解决方式。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
高温保护技术
从PCIe SSD的设计和使用角度来说,温度对于设备性能、稳定性及寿命都有很大的影响。PBlaze4安装了多个温度传感器用于监控设备不同部分的温度。 Memblaze为PBlaze4设计了可靠的温度保护逻辑。而这个保护逻辑算法就是高温保护技术的核心。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
图9:高温保护
在温度上升到第一警戒点(上图中T1st threshold,这一温度阈值可通过NVMe setfeature指令进行设置)时,PBlaze4会向主机端发送critical
warning的警告并自己主动减少读写性能。以防止温度进一步升高。当温度下降后,自己主动恢复满性能。须要指出的是这个过程无须用户干预。对于用户而言全然透明。
假设温度进一步升高至第二警戒点(上中T2nd threshold)时。全部读写操作会立马停止。以防止电路过热损坏NAND中的数据。此时须要技术人员又一次检測散热环境后。方可继续使用该产品。
另一个临界值的点为Trestore。当设备温度从第一警戒点降到T restore时,设备性能会逐步恢复到正常水平。最后须要指出的是,三个温度临界点均是选取核温柔板温中较高的值。
FMS2015:NVMe SSD的高可靠性及数据保护的更多相关文章
- [转帖]深度: NVMe SSD存储性能有哪些影响因素?
深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...
- 存储系统设计——NVMe SSD性能影响因素一探究竟
目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...
- USB3.0及NVME SSD安装WIN7X64
USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...
- NVME SSD vs SATA SSD(转)
NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...
- vSphere 6.5支持512e,NVMe SSD呢?
原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...
- Ceph BlueStore与FileStore:利用Micron NVMe SSD进行性能比较
https://www.micron.com/about/blog/2018/may/ceph-bluestore-vs-filestoreblock-performance-comparison-w ...
- NVMe SSD是什么?
https://blog.51cto.com/alanwu/1766945 一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已 ...
- OHSCE_V0.1.22 Beta,跨平台高可靠性通信框架
Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X.对TCP.UDP ...
- Gaea是支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架
Gaea是支持跨平台具有高并发.高性能.高可靠性,并提供异步.多协议.事件驱动的中间层服务框架 Gaea:58同城开源的中间层服务框架 https://github.com/58code/Gaea 中 ...
随机推荐
- jQuery获取区间随机数
1.自定义函数 function getRandom(min,max){ //x上限,y下限 var x = max; var y = min; if(x<y){ ...
- 封装TensorFlow神经网络
为了参加今年的软件杯设计大赛,这几个月学习了很多新知识.现在大赛的第二轮作品优化已经提交,开始对这四个月所学知识做一些总结与记录. 用TensorFlow搭建神经网络.TensorFlow将神经网络的 ...
- 洛谷 P1889 士兵站队
P1889 士兵站队 题目描述 在一个划分成网格的操场上, n个士兵散乱地站在网格点上.由整数 坐标 (x,y) 表示.士兵们可以沿网格边上.下左右移动一步,但在同时刻任一网格点上只能有名士兵.按照军 ...
- struts.xml配置action没用,任意href自动跳到主页,在action中print没用?????
今晚弄了好久都搞不清楚,晕死我了. 上网找也没找到解决办法. 然后看了Build Path.好吧,有几个没用的jar包,remove之.我去,马上正常了,具体原因未知. 总结:删除jar包不代表Bui ...
- Cocos2d-x开发的Android应用怎么加入插屏广告
Cocos2d-x系统开发游戏已经变得比較流行,但是用这个开发的游戏.想要加入广告就不是那么理想了.尤其是插屏广告.由于插屏广告通常是要在暂停或者结束游戏的时候展示才比較的合理.但是Cocos2d-x ...
- 为SSD编程(4)——高级功能和内部并行
原文 http://codecapsule.com/2014/02/12/coding-for-ssds-part-4-advanced-functionalities-and-internal-pa ...
- Cocos2d-x学习笔记(20)(TestCpp源代码分析-4)
本章主要介绍testResource.h与tests.h,当中tests.h主要是存放全部用到的头文件.与菜单相相应的宏定义以及菜单数组,testResource.h主要用是资源文件定义. //tes ...
- VS中创建自定义一个VC工程为基础的开发向导的总结
作者:朱金灿 来源:http://blog.csdn.net/clever101 VS允许用户进行自定义开发向导.自定义开发向导的好处在于将常用的设置都通过向导生成,从而大大提供开发效率.特别是在开发 ...
- C++标准库概述
一.C++标准库的主要组件: 1.标准C库 2.I/O流技术(对标准输入输出设备称为标准I/O,对在外磁盘上文件的输入输出称为文件I/O,对内存中指定的字符串存储空间的输入输出称为串I/O) 3.st ...
- IOS应用在ios7(iPhone5/iPhone5s)上不能全屏显示
前言 [IOS应用在iOS7系统或者iPhone5/iPhone5s上不能全屏显示,应用画面上下各有1条黑色,但是在其他系统或者型号的手机上却是正常显示 Paste_Image.png Paste_I ...