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. Springboot源码——应用程序上下文分析

    前两篇(Spring MVC源码——Root WebApplicationContext 和 Spring MVC源码——Servlet WebApplicationContext)讲述了spring ...

  2. Html学习总结(1)——理解Html的head

    HTML文档的head部分,通常包括指定页面标题,为搜索引擎提供关于页面本身的信息,加载样式表,以及加载JavaScript文件(出于性能考虑,多数时候放在页面底部</body>标签结束前 ...

  3. Jsp学习总结(1)——JSP九大内置对象和四种属性范围解读

    一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效 request:在一次服务请求范围内,服务器跳转后依然有效 session:-在一次会话范围内 ...

  4. [Python] Handle Exceptions to prevent crashes in Python

    Exceptions cause your application to crash. Handling them allows you to recover gracefully and keep ...

  5. 【shell学习】经常使用条件推断-字符,数字,文件

    IF 推断 之前也写过简单的shell脚本,也不是转职运维.和系统相关的工作比較少.所以不怎么熟练. 近期因为系统总是出现各种乱七八糟的问题,也没有人来协助.仅仅好自己写shell脚本了,都是些基础的 ...

  6. 深入浅出WPF 第一部分(3)

    3.2.3 属性元素 <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> ...

  7. VS 格式化代码 Ctrl + K, Ctrl + F

  8. 51Nod 迷宫问题(最短路+权值)(模板)

    你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间.游戏规定了 ...

  9. 如何在canvas中画出一个太极图

    先放一个效果图: 代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /&g ...

  10. 【Uva 1289】Stacking Plates

    [Link]: [Description] 有n(1≤n≤50)堆盘子,第i堆盘子有hi个盘子(1≤hi≤50),从上到下直径不减.所有盘 子的直径均不超过10000.有如下两种操作. split:把 ...