PBlaze5 520 系列特性——双重自检
上次我们介绍了Memblaze最新推出的低功耗系列《PBlaze5 520 NVMe SSD ——NVMe-MI接口的带外管理》,这是从PBlaze5 520系列最新增加的功能,并向大家介绍了带外管理指的是什么,以及如何实现。
今天我们为大家介绍PBlaze5 520系列的另一个全新特性——双重自检。PBlaze5 520 系列除了支持上电自检功能,还支持设备自检,即 Device Self-Test。
备用电容在SSD的重要作用
利用高速随机存储器(DRAM)缓存数据,是 SSD 提高性能的方法之一。但由于固有结构的限制,DRAM有易失性,必须周期性对数据进行刷新,并且没有供电时,缓存在DRAM 上的用户数据会丢失。
如果是安全关机,系统会提前通知设备电源要中断,让SSD有足够的时间处理还没有落盘的数据,SSD 此时会将缓存的或者正在写入的用户数据完整的刷写进 NAND,同时不再接收新的IO请求。但是,异常掉电不会提前给设备通知和刷写时间,缓存的数据极大可能丢失。
如果没有意外掉电保护,异常电力中断(譬如大面积供电中断,人为误操作,甚至电压不稳)将会给企业用户造成巨大损失。
图1 SSD板载电容的作用
备用电容的选型和验证检测
备用电容是在异常电力中断时,提供额外供电保护的重要元器件。所以在电容的产品选型,要考虑如下两个重要指标:
电容寿命指标。这个指标表征的是电容长期老化趋势,担保的有效工作年限。
初始状态下电容保持能量。这个指标表征的是在PBlaze产品上使用此电容时,确保在5年时间内电容能量能够一直满足产品掉电时间能量要求。
因此,对电容的可靠性验证也分电量和可用性两部分:
一是根据固件异常掉电设计,最极端(写压力最大)情况下的放电时间要求,测量评估在不同系统功耗下电容放电时间要满足固件设计的最大要求。电容本身有一定的公差(Capacitance Tolerance),一般有±5%,±10%,±20%,所以备用电容选型要保证-20%公差对应的电容初始容值,其能提供的最小初始保持时间 > 固件设计要求最长放电时间;电容使用时间长了都会衰减,容量变小,所以5年以后电容的最小保持时间 > 固件设计要求最长放电时间,如表1和图2示意。
表1 电容不同公差对应的容值和保持时间
图2 电容初始和5年老化保持时间 > 系统设计需要最长保持时间
二是对电容有效性的检测。通常的实现是在出厂前,会模拟异常掉电的动作让电容放电,检测电容的放电能力,保证电容出厂时的可用性。当设备交付到用户端,PBlaze5 520系列在设备上电时会对电容有效性进行放电检测。如果上电电容检测失效,设备会进入写保护模式(read-only),防止用户数据在无掉电保护的情况下“裸奔“。同时为了进一步提高对电容检测的力度和灵活性,PBlaze5 520系列新增让用户主动下发指令进行电容检测,即触发设备自检(Device Self-test)中一个segment功能项。
图3 PBlaze5 520支持电容双重检测
设备自检功能(Device Self-test,DST)
NVMe标准定义了一个可选接口,对SSD执行自检。测试内容由SSD厂商定义,SSD是执行短时间(Short,不超过两分钟)还是扩展自检(Extended),其中segment 3即是对电容有效性进行检测,如图4所示。
图4 NVMe标准定义Device Self-Test功能 (optional)
当通过# nvme device-self-test /dev/nvme0 -n 1 -s 1 触发短时间自检程序,会按照预定义支持的segment顺次执行检测,自检完成情况记录在Device Self-test Log(Log Identifier 06h,如图5)。
Current Device Self-Test Operation:0代表当前无自检操作;1h代表正在执行短时自检;2h代表正在执行长时自检;
Current Device Self-Test Completion:以25%、75%进度表示DST完成度,0代表当前没有DST操作进行中;
日志会记录最新20次自检结果,记录格式为NVMe定义Self-test Result Data Structure,如图6所示。
图5 NVMe标准对Device Self-test Log定义
一些操作也会中断Device Self-test,如format操作、删除命名空间,指定Self-Test Code为Fh(# nvme device-self-test /dev/nvme0 -n 1 -s 0xf)。
Self-test Result Data Structure
如下图6是NVMe标准对self-test返回值定义的数据结构,日志解析常分析字段为:
Current Device Self-Test Operation为0 & Current Completion 0%:表示PBlaze5 520前序自检已完成,当前无DST操作;
第一条Self Test Result[0]和第二条Self Test Result[1]字段Operation Result为0:代表执行了两条DST操作并做记录;
第三条Self Test Result[2]字段Operation Result为0xf:即15,代表没有DST记录;
Self Test Code为1(即1h):表示完成的是短时自检;
Power on hours(POH)为0x15f:表示到执行第一次设备自检,设备共上电351个小时;
日志记录两次设备自检均无报错。
图6 NVMe定义Self-test Result Data Structure
设备自检返回日志解析
以PBlaze5 520自检日志解析为例,通过nvme cli标准命令self-test-log和get-log可以解析设备自检结果。nvme self-test-log的输出直观,但内容较少,从截图7实例可以解读出以下结论:
Current Device Self-Test Operation为0 & Current Completion 0%:表示PBlaze5 520前序自检已完成,当前无DST操作;
第一条Self Test Result[0]和第二条Self Test Result[1]字段Operation Result为0:代表执行了两条DST操作并做记录;
第三条Self Test Result[2]字段Operation Result为0xf(即15):代表没有DST记录;
Self Test Code为1(即1h):表示完成的是短时自检;
Power on hours(POH)为0x15f(即351):表示到执行第一次设备自检,设备共上电351个小时
日志记录两次设备自检均无报错。
图7 PBlaze5 520执行nvme self-test-log输出
nvme get-log输出内容更详细,但命令没有直观解析,结合NVMe标准对Device Self-test Log定义,从截图8实例可以解读出以下结论:
前两个字节(玫红色字体标记)为Current Device Self-Test Operation和Current Device Self-Test Completion字段,全0代表前序DST操作已完成,当前无DST操作执行;
每28个字节用于记录一次DST返回的Self-test Result Data Structure(即一段绿色/橘黄字体标记),对PBlaze5 520共进行两次DST测试,所以有两条DST记录,其中第一个字节为Device Self-test Status(10),即第5个bit位为1,代表记录一次短时操作;第二个字节为Segment Number(00),代表无报错;第五个字节Power On Hours(e3),表示到执行第一次设备自检,设备共上电277个小时;
日志记录两次设备自检均无报错。
图8 PBlaze5 520执行nvme get-log输出
数据安全保障
Memblaze推出的基于96层3D NAND,新一代低功耗PBlaze5 520系列,电容双重检测进一步提高了电容的可靠性,对上层业务完全透明(短时自检仅在1s内完成),保证DRAM中未落盘数据安全地刷写到非易失性闪存中,同时保持SSD映射表的完整性,以使SSD在系统重新启动后能被识别并再次使用。
参考文献:
《NVM Express Revision 1.3b 》
《PBlaze5系列电容可靠性白皮书》
《PBlaze5 520 Series Architecture Review》
本文作者:王瑜 | Memblaze 产品与研发部资料开发主任工程师
更多原创技术内容,请关注 Memblaze 微信公众号。
PBlaze5 520 系列特性——双重自检相关推荐
- PBlaze5 920系列特性——可变Sector Size管理(上)
这是一条nvmecli的format命令,需要指出的是这条命令会打开PBlaze5 系列NVMe SSD端到端数据保护功能.当下,端到端数据保护技术已经是PBlaze5 910/916及最新发布的PB ...
- PBlaze5 920系列特性——在线固件升级
在线固件升级的市场需求 传统需要冷重启服务器才能升级固件的操作,需要用户停止业务,umount文件系统,冷重启完成SSD固件升级,然后mount文件系统,重新启动业务系统的各个模块.对用户来说,操作复 ...
- ni visa pci_希捷酷玩固态520系列1TB评测:PCI-E 4.0让游戏进一步加速
随着AMD把PCI-E 4.0带入消费级桌面平台,多家SSD厂商都随后推出了PCI-E 4.0接口规格的SSD,其中包括海盗船.技嘉.还有威刚的XPG系列.老牌存储厂商希捷现也在其定位于高性能游戏存储 ...
- 【璟丰机电】台湾APEX行星减速机ABR系列特性及参数
Apex减速机ABR系列具有高精度,耐用性和效率.ABR系列行星齿轮传动效率为95%.由于机械的精确加工,高品质轴承和密封件的使用,实现了如此高的效率.ABR行星减速机齿设计用于连续(S1)或循环(S ...
- AGM MCU AG32VF407 系列特性
AGM32系列32位微控制器旨在为MCU用户提供新的自由度和丰富的兼容外设,以及兼容的引脚和功能.AG32F407产品系列提供最高的质量,稳定性和卓越的价格价值.AG32F407与STM32F407是 ...
- 【详谈 Delta Lake 】系列技术专题 之 特性(Features)
简介: 本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 的系列技术文章.众所周知,Databricks 主导着开源大数据社区 Apache Spark.Delta L ...
- 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告
[IT168评测]随着网络应用在中小企业的深入发展,中小企业对于网络安全的需求也越来越强烈.而传统的网络安全设备可以帮助中小企业防御病毒.蠕虫及应用层攻击,但是由于缺乏有效的监管,中小企业内网用户的P ...
- 【详谈 Delta Lake 】系列技术专题 之 Streaming(流式计算)
简介: 本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 的系列技术文章.众所周知,Databricks 主导着开源大数据社区 Apache Spark.Delta L ...
- 【详谈 Delta Lake 】系列技术专题 之 湖仓一体( Lakehouse )
简介: 本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 的系列技术文章.众所周知,Databricks 主导着开源大数据社区 Apache Spark.Delta L ...
最新文章
- static在内存层面的作用_static的作用和内存划分?
- ifstat,iftop
- linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题
- 对数几率回归 —— Logistic Regression
- [js插件]JqueryUI日期插件
- anaconda安装成功测试_学习笔记120—Win10 成功安装Anaconda 【亲测有效,需注意几点!!!】...
- control的用法及短语_九上U5(control)微课详解与精练
- LeetCode--057--插入区间(java)
- 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度
- 云端软件关闭的原因是什么?
- java 大于或等于_java大于等于怎么表示
- 【CPU占用高】software_reporter_tool.exe
- 工作中PUSH用到的统计命令
- (已解决)win10重装后无法开启双显示屏
- 学校校车运营各项安全管理制度_学校校车安全管理制度.doc
- Response响应详解
- Dynamic 365 子网格编辑控制列可编辑
- Curent branch is not synced with latest origin/master!
- Windows实现快捷键熄屏功能
- mysql 用户表结构设计_MySQL数据表结构设计