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="">

图1:Memblaze解决方式project师李月宽

当下用于评定SSD可靠性的国际标准非常多,李月宽主要介绍了。首先是JESD218A企业标准(包含data retention。寿命測试条件,UBER,容量的定义等信息)以及平均无故障时间(MTBF)两个比較主流的可靠性指标(如图2所看到的)。

图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 能够工作。元数据就能被读取更新。

掉电保护技术

图4:NVMe SSD在Write back时须要掉电保护技术

系统掉电之后,SSD上DRAM上的数据须要及时刷写到NAND上,具体的刷写时间长度见图5。

图5:DRAM数据刷写到NAND上最大时间计算

从上图能够看到一个结论。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="">

图6:提高电容供电时间的两种方法

以上介绍了掉电保护的需求并计算出了设备将DRAM上数据刷写至NAND上所须要的最长时间。

图6则从电容的角度介绍了两种添加供电时间的方法。

首先是提高电容的容量,这样的方法比較easy实现,不必添加额外的电路设计。可是这样的方案成本较高。须要使用超级电容或者多个电容实现。

另外一种方法是改变电压。这样的方法的优势是成本较低,能够使用常见的铝电解电容实现。可是其缺陷是电路设计复杂。须要升压和降压的电压转换器。

而且占用的PCB面积也较大。

对于两种效果,Memblaze通过測试做了对照。測试结果如图7:

图7

基于以上理论与測试结果,PBlaze4拥有完备的掉电保护解决方式。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图8:PBlaze4终于的掉电保护解决方式

高温保护技术

从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的高可靠性及数据保护的更多相关文章

  1. [转帖]深度: NVMe SSD存储性能有哪些影响因素?

    深度: NVMe SSD存储性能有哪些影响因素? http://www.itpub.net/2019/07/17/2434/ 之前有一个误解 不明白NVME 到底如何在队列深度大的情况下来提高性能, ...

  2. 存储系统设计——NVMe SSD性能影响因素一探究竟

    目录1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3. ...

  3. USB3.0及NVME SSD安装WIN7X64

    USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...

  4. NVME SSD vs SATA SSD(转)

    NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...

  5. vSphere 6.5支持512e,NVMe SSD呢?

    原创 2017-01-12 朱朋博 金笑雨 企事录 2016年底,VMware终于宣布,从vSphere 6.5开始支持512e扇区格式了. 这当然是好事.不过,不黑不舒服斯基说:原来以前的版本连51 ...

  6. Ceph BlueStore与FileStore:利用Micron NVMe SSD进行性能比较

    https://www.micron.com/about/blog/2018/may/ceph-bluestore-vs-filestoreblock-performance-comparison-w ...

  7. NVMe SSD是什么?

    https://blog.51cto.com/alanwu/1766945 一直对闪存存储关注的朋友对NVMe SSD一定非常熟悉,NVMe SSD是现如今性能最好的存储盘.这种高性能盘在互联网领域已 ...

  8. OHSCE_V0.1.22 Beta,跨平台高可靠性通信框架

    Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X.对TCP.UDP ...

  9. Gaea是支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架

    Gaea是支持跨平台具有高并发.高性能.高可靠性,并提供异步.多协议.事件驱动的中间层服务框架 Gaea:58同城开源的中间层服务框架 https://github.com/58code/Gaea 中 ...

随机推荐

  1. 遇到的兼容性bug

    1.(IE6):ie6环境下,通过设置z-index:999:无效果: 原因:IE6下,决定层级高低的不是当前的父标签,而是整个DOM tree(节点树)的第一个relative属性的父标签. 解决办 ...

  2. jvm vmthread

    http://www.360doc.com/content/15/0615/16/15758456_478311946.shtml http://www.51testing.com/html/95/1 ...

  3. android与C# WebService基于ksoap通信(C#篇)

    1.打开VS 2013新建项目>>ASP.NET空WEB应用程序(我用的是.net 4.0) 2.在刚建立的项目上加入新建项(WebService) 这时TestService的代码例如以 ...

  4. 【Tika基础教程之中的一个】Tika基础教程

    一.高速入门 1.Tika是一个用于文本解释的框架.其本身并不提供不论什么的库用于解释文本,而是调用各种各样的库,如POI,PDFBox等. 使用Tika.能够提取文件里的作者.标题.创建时间.正文等 ...

  5. 【Mysql】经常使用指令之——忘记password

    上一篇文章基本总结了下myql下通过指令怎么创建用户.详见:[Mysql]经常使用指令之--用户操作(创建,授权,改动.删除) 今天说下特殊情况,忘记password了怎么办??? 重装.删除配置等能 ...

  6. android定时操作

    Timer: 代码: Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { ...

  7. Android自己定义视图(一):带下划线的TextView

    package com.francis.underlinetextviewtest; import android.content.Context; import android.content.re ...

  8. 认识 Atlassian Datacenter 产品

    认识 Atlassian Datacenter 产品 云端原本就是群集化的架构,Atlassian 系列产品.应用的开发团队相当广范且行之有年,可是将应用程序作为节点(比方Jira,confluenc ...

  9. 版本号控制-搭建gitserver

    GitHub是一个免费托管开源码的Gitserver,假设我们不想公开项目的源码,又不想付费使用.那么我们能够自己搭建一台Gitserver. 以下我们就看看,怎样在Ubuntu上搭建Gitserve ...

  10. 浏览器(BOM)对象的一些内置方法总结

    浏览器(BOM)对象的一些内置方法总结 一.总结 1.bom就是浏览器那端执行的代码,dom就是服务器那端操作html的代码 2.记好bom的几个对象,那就很好理解很多代码了,也很好写很多代码了 二. ...