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. uni-app 地图初用 map

    一.uni-app 地图初用 map 代码如下: <template> <view> <!-- <page-head :title="title" ...

  2. 51nod 最长公共子序列+输出路径

    当x = 0 或 y = 0时 f[x][y] = 0 当a[x] = b[y]时  f[x][y] = f[x-1][y-1]+1 当a[x] != b[y]时 f[x][y] = max(f[x] ...

  3. 紫书 习题 10-25 UVa 1575 (有重复元素的全排列+暴搜)

    我一开始以为有什么很牛逼的方法来做,然后一直没有思路 后来看了https://blog.csdn.net/zju2016/article/details/78562932的博客 竟然是暴搜?????? ...

  4. php验证邮箱,手机号是否正确

    function is_valid_email($email)//判断是不是邮箱的函数{    return preg_match('/^[a-zA-Z0-9._%-]+@([a-zA-Z0-9.-] ...

  5. LRJ入门经典-0905邮票和信封305

    原题 LRJ入门经典-0905邮票和信封305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 假定一张信封最多贴5张邮票,如 ...

  6. python 服务端判断客户端异常断开

    在进行 python 套接字编程时,服务端程序要判断客户端是否异常断开[由于断电或者其他突发情况导致链接中断],可以通过以下几种方式判断: 1.如果通信协议中,设有心跳包,则可记录上次收到时间,将服务 ...

  7. 从零使用qemu模拟器搭建arm执行环境

    为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验.也没有底层的内核和驱动开发经验,究竟路该怎 ...

  8. ESP8266学习笔记4:ESP8266的SmartConfig

    今天花了将近一天的时间来研究ESP8266的SmartConfig功能,这个应该算是wifi云产品的标配.这篇文章先把SmartConfig操作一遍,我还写了还有一篇文章梳理了物理层的详细协议,点击这 ...

  9. RvmTranslator6.2 is released

    RvmTranslator6.2 is released eryar@163.com RvmTranslator can translate the RVM file exported by AVEV ...

  10. javaweb二

    除了servlet规范,还有filter,listener.filter和servlet相似,但是在servlet之前执行,主要区别是有一个FilterChain接口可以执行拦截方法. import ...