0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

企业级SSD系统中如何用Device self-test命令?

VIBT_dputech 来源:大普微 作者:大普微 2021-03-28 11:14 次阅读

写在DST之前

企业级SSD系统在日益变得复杂,有增强掉电保护的备电电容,有使用频率越来越高的DRAM,有堆叠层数越来越高的NAND, NAND结构的复杂对固件的要求也相应的变高,如存储单元里的数据一段时间不读会导致之后可能读不出来或者出现很多的bit翻转等等。而备电电容有老化的风险以及在不同的温度环境下会影响电容的可靠性;DRAM使用不当易出现ECC,甚至是UNC,影响盘的可靠性;NAND的上的冷数据如果不经常性的去读取就可能存在数据丢失的风险。

像服务器上电自检一样,SSD在上电过程中也会做电容,DRAM等自检操作。但是一般盘上电使用之后就极少会下电,所以为了能让HOST能实时的获取盘内部部件的情况,NVMe协议提供了一个标准的命令Device self-test来主动触发盘的部件检测,可以快速的发现盘是哪个部件出现了问题,可以相应的做出反应,保障用户数据的安全。

Device self-test

NVMe命令device self-test是一个管理类命令,定义了一个操作序列。具体内容如下:

11bf29ee-8eb9-11eb-8b86-12bb97331649.png

如上图所示:每个序列都规定了相应的操作,有些操作是针对controller层级,有些操作是NVM层级。Controller层级的主要是用于测试SSD的功能是否还正常,比如电容容值检查,如果容值变低,则会影响SSD的掉电时间。

1、Device self-test命令在Command DW 10字段中定义了诊断的操作类型,而所有其他命令指定的字段都要保留。

121e3fa6-8eb9-11eb-8b86-12bb97331649.png

如上图所示,目前支持的操作类型有4种,

开始一个短诊断操作;

1、短诊断的完成时间不能大于2min。

2、开始一个长诊断操作;

长诊断的完成时间由Identify Controller的字段EDSTT定义,单位是分钟。

E、开始一个厂商自定义操作;

F、中断一个诊断操作;

2、中断一个自检命令的操作有:

1、Controller reset

2、NVMe Format Command

3、一个STC为F的Device self-test命令

4、一个删除对应的ns的操作

5、Sanitize命令

3、触发自检命令之后,FW会按照相应的序列顺序执行,命令运行的情况在device self-test log中显示,这个log可通过get log page命令的LID=6来获取。

1、Current Device Self-Test Operation 表示当前的诊断操作类型

2、Current Device Self-Test Completion 表示当前的诊断操作进度

3、Self-test Result Data Structure 总共有20条记录,记录了历史的自检结果,主要关注两个点:

* Device Self-test Status:这里显示了自检的结果,成功或者失败。

* Segment Number:这里显示了失败在哪个序列操作.

DRAM Check

*由于DRAM用作用户数据的缓存,以及存放了部分代码和重要的数据,所以如果对这部分DRAM区域做读写校验的话,会直接导致数据的丢失或者固件exception。

*由于DRAM在打开ECC校验的情况下,如果出现未写先读的情况,会使得DRAM出现UNC.

基于以上两点,对于DRAM Check,固件主要要做的事情有两个:

1、对于无法做读写校验(即只读)的区域,FW需要保证该区域已经写过数据,所以可以直接去读该区域。如果出现UNC,则固件存在bug,会危及盘的正常使用。

2、对于用作堆区域的DRAM空间,可以申请出来做读写校验。除了校验数据的正确性,还需要关注DRAM是否出现ECC,如若出现ECC,则可能会危及盘的正常使用。

Volatile Memory Backup

我们常用的数据缓存介质DRAM是易失性存储介质,在设备掉电之后DRAM中的数据都会丢失。但是DRAM的数据传输速率高,为了性能考虑,其存在又是必须的。

1、缓存用户数据,加速命令的执行,减少QOS.

2、缓存了设备的元数据,加速了元数据的修改。

所以为了解决设备掉电之后缓存数据丢失的问题,设备需要增加备电电容以供在掉电时保证缓存数据存入flash。但是电容存在一定的失效率,失效的原因可能如下:

1、电容出厂时个体的差异导致能承受的电压阈值偏低;

2、随着时间的推移,电容会存在漏液现象导致容值降低。

软件需要在设备上电或者运行过程中对电容进行定时检测,以防止电容失效或者电容容值下降不足以保证设备刷新缓存数据所需时间导致数据丢失,但是电容的检测又不能太频繁。否则一是会影响电容的使用寿命,二是如果在电容放电的过程中盘掉电了,会影响盘的掉电时间。

所以Host使用device self-test命令来检查电容的容值是必需的,尤其是在接近盘的生命末期的时候,但是又不能太频繁。

Metadata validation

在SSD的所有写入数据中,存在一些频繁更新的数据和一些很久都不会更新的数据,如果那些很久都不会更新的数据量大的话,那么也会导致对应的元数据很久得不到更新。所以为了解决这个问题,在device self-test命令的元数据检查序列里,FW会去对元数据做读校验,确认元数据的完整性。

1、确保元数据还能从NAND读出来,不会出现UNC;

2、对读出来的数据做check,保证数据的正确性。

结尾

限于篇幅以及对协议的理解不同,各个厂商对其他的device self-test序列所做的事情存在区别,所以这里不再赘述。只介绍了对以上3个序列的个人理解。

原文标题:日益复杂的企业级SSD系统,如何做Device self-test?

文章出处:【微信公众号:大普微】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电容
    +关注

    关注

    98

    文章

    5598

    浏览量

    147283
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2689

    浏览量

    115493

原文标题:日益复杂的企业级SSD系统,如何做Device self-test?

文章出处:【微信号:dputech,微信公众号:DapuStor】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高性能NVMe主机控制器,Xilinx FPGA PCIe 3

    Admin命令接口,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理功能Ø提供1个IO
    发表于 04-20 14:41

    江波龙企业级SSD再度通过OpenCloudOS兼容性认证,产品力获认可

    近日,江波龙旗下企业级存储产品 FORESEE UNCIA 3836系列企业级SATA SSD 产品完成与 OpenCloudOS/TencentOS相互兼容认证 。测试认证期间整体运行稳定,在功能
    发表于 04-03 09:59 89次阅读
    江波龙<b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>再度通过OpenCloudOS兼容性认证,产品力获认可

    江波龙企业级存储产品取得显著市场突破

    自2023年1月江波龙推出企业级存储产品FORESEE ORCA 4836系列NVMe SSD与FORESEE UNCIA 3836系列SATA 3.2 SSD以来,这两款产品已经在技术研发和市场
    的头像 发表于 02-27 10:40 455次阅读

    江波龙企业级存储正式量产一周年,交出亮眼“成绩单”

    自2023年1月江波龙首次发布企业级存储产品FORESEEORCA4836系列NVMeSSD与FORESEEUNCIA3836系列SATA3.2SSD以来,企业级存储产品于过去的一年中,在技术研发
    的头像 发表于 02-19 12:56 213次阅读
    江波龙<b class='flag-5'>企业级</b>存储正式量产一周年,交出亮眼“成绩单”

    江波龙企业级存储正式量产一周年,交出亮眼“成绩单”

    自2023年1月江波龙首次发布企业级存储产品FORESEE ORCA 4836系列NVMe SSD与FORESEE UNCIA 3836系列SATA 3.2 SSD以来,企业级存储产品
    发表于 02-06 10:35 115次阅读
    江波龙<b class='flag-5'>企业级</b>存储正式量产一周年,交出亮眼“成绩单”

    企业级SSD-高性能系列固态硬盘推荐

    除了传统的机械盘HDD,固态硬盘SSD也开始慢慢地在企业级硬盘领域发挥重要的作用。由于企业级固态硬盘的价格远远高于机械硬盘,因此固态硬盘在企业级领域应用还不是很广泛,但是就发展趋势而言
    的头像 发表于 01-23 16:48 478次阅读
    <b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>-高性能系列固态硬盘推荐

    运行/example的Power_On_Self_Test为什么不能成功读写SRAM?

    运行/example的Power_On_Self_Test为什么SRAM并不能成功读写。用示波器看SRAM的管脚,使能和读写的管脚一直都是高电平,这是为什么?
    发表于 01-12 07:17

    ADXL355的self test作用是什么?

    各位大神: 目前在使用贵ADI的MEMS传感器,在ADXL355的规格书里面,有关于self test的说明和响应参数,我不是很明白怎么做。 我的问题是: 1、self test的作用
    发表于 12-28 07:44

    细说企业级SSD的那些高价值特性

    企业级SSD(SolidStateDrive)是基于闪存技术的高性能、高可靠性的固态硬盘,专为满足企业级应用场景的需求而设计。为了满足各种高速数据处理和可靠性要求较高的应用场景,企业级
    的头像 发表于 12-16 08:35 368次阅读
    细说<b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>的那些高价值特性

    如何设计一款好的企业级SSD电源管理方案?Qorvo专家有话讲

    AI大模型、数据中心、云存储等数字化领域的建设浪潮带动了企业级SSD(eSSD)市场的新增需求。 根据Yole Group最新报告,2022年全球SSD出货量约3.52亿块,其中企业级
    的头像 发表于 09-14 12:15 419次阅读
    如何设计一款好的<b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>电源管理方案?Qorvo专家有话讲

    国产企业级SSD厂商忆恒创源开启上市辅导

    北京忆恒创源科技股份有限公司(Memblaze)是国内企业级nvme ssd产品及技术解决方案提供商,成立于2011年,是世界上最早进行企业级pcie ssd技术开发的团队。membl
    的头像 发表于 08-28 11:01 1232次阅读

    企业级SSD性能和功耗模型

    谈到数据中心对企业级SSD的需求,一般会讲到高性能、稳定、可靠、数据安全及其他等需求,但SSD能耗比(性能/功耗)在数据中心越来越受到用户的关注。这如同不断升级的手机芯片,提供更高的能耗比,给手机用户带来更高的性能和更好的续航体
    的头像 发表于 08-28 10:20 757次阅读
    <b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>性能和功耗模型

    Andes晶心科技N25F RISC-V处理器协助驱动群联电子X1企业级SSD控制芯片

    群联X1 SSD平台是一款针对企业级SSD市场的U.3 PCIe 4.0 x4 NVMe SSD存储方案。它在随机读取IOPS速度方面的大幅提升, 使其非常适用于处理数千个客户端的人工
    的头像 发表于 08-17 15:17 604次阅读

    PBlaze7 7940系列PCIe 5.0企业级NVMe SSD

    今天,国内知名企业级SSD产品和解决方案供应商——北京忆恒创源科技股份有限公司(Memblaze,以下简称“忆恒创源”)全新一代PCIe 5.0企业级NVMe SSD PBlaze7
    的头像 发表于 08-09 11:06 730次阅读
    PBlaze7 7940系列PCIe 5.0<b class='flag-5'>企业级</b>NVMe <b class='flag-5'>SSD</b>

    嵌入式OS设计策略解读|忆联企业级SSD高可靠、高性能的实现方法

    企业级SSD需要在大量企业数据读写下保持超高稳定性,以及24 小时全天候运行,SSD的读写速度、使用寿命、稳定性及可靠性是企业级用户关注的重
    的头像 发表于 08-03 08:05 280次阅读
    嵌入式OS设计策略解读|忆联<b class='flag-5'>企业级</b><b class='flag-5'>SSD</b>高可靠、高性能的实现方法