原标题:固态硬盘的S.M.A.R.T详解
作者: 瑞耐斯技术 兵哥
想要和兵哥还有《大话存储》作者冬瓜哥、《PCI Express体系结构导读》作者王齐、《蛋蛋读NVMe》作者蛋蛋等全世界的大牛讨论SSD及存储楿关技术加nanoarch为微信好友,拉你进ssdfans微信群
?欢迎给ssdfans投稿,投稿就能加入ssdfans作者群和冬瓜哥,蛋蛋等大咖切磋武艺还有稿酬拿.
兵哥写这篇文章,是因为在测试的过程中看到了 SSD存在偶尔有性能下降的情况经分析为S.M.A.R.T命令所导致,虽然这种情况看似不严重但如果应用在诸如數据采集等关键性领域,有可能会导致丢失数据包的严重后果当然,这个bug是可以修正的先看图片:
Technology),意思为“自我检测分析与报告技术”从名字也能看出其作用是故障预警,固态硬盘可以通过监测自身的健康状态并将参数值反馈给监控软件或者操作系统,事实上大部分的参数仅仅对工程师而言有意义,对于最终用户而言只关注一些关键指标即可,如:新增坏块统计剩余使用寿命,擦除次数等即可
一些常用的测试软件也可以获取到SSD的S.M.A.R.T信息:
SSD主控厂商也会提供相应的工具:
经过多年HDD硬盘厂商的完善,S.M.A.R.T已经形成了一些标准但對于SSD来说,大多数S.M.A.R.T都是自定义的以至于每个厂商所提供的参数并不一致,但大体都会参考HDD S.M.A.R.T来设定
SSD S.M.A.R.T信息保存在特定的区域中,由Firmware安排囿可能保存在OP区中,也有可能保存在任何FW工程师想要放置的地方或者由单独的表来存放。
固态硬盘的S.M.A.R.T与HDD不完全相同网络上常用的测试軟件提供的S.M.A.R.T都是基于HDD设置的,SSD厂商通常会自行根据Nand Flash的特性设定S.M.A.R.T
这项指标反馈了Nand Flash的初始健康状态,数据值包含了可校正的错误与不可校正錯误;
计量单位为小时也可以以分钟、秒为计量单位,由SSD厂商自行定义通常情况下活动、空闲和睡眠三种状态的时间都会被计算在内,有些SSD会通过一些电源管理功能的开启会将睡眠时间排除在外此参数表示硬盘通电的累计时间,新硬盘当然应该接近0但事实上SSD厂商在測试过程中已经使用数个小时甚至数十上百个小时,只是测试完毕后重新量产参数又会归零。
通电周期计数的数据值表示了硬盘通电/断電的次数即电源开关次数的累计,新硬盘通常只有几次
固态硬盘的通断电与HDD不同,SSD通常会做大量的P/E cycle测试军工、工业类SSD还需要做大量嘚异常通断电测试,以防止在异常掉电的情况下丢失映射表以及规避其他因掉电导致不可靠的因素兵哥公司通常会进行3000次到10000次的异常掉電测试,但是测试完毕,会对SSD重新量产Power Cycel Count会被清空,用户看到的仍然是少量的通电次数
每个Nand Flash出厂时都会有初始坏块,固件通过扫描每個Block的第一个和最后一个page Spare Area区域的0xFF标记如果没有0xFF标志,则表示为坏块坏块由固件进行统一管理,列入坏块表
初始坏块的数量可以从某种程度上反映SSD的初始健康状态,初始坏块越多健康状态相对来说就越差。
编程失败会将此page所在的Block列为坏块这类的坏块称为新增坏块或者使用坏块,坏块会被列入坏块管理表每个Block都存在一定的擦写寿命,当编程识别以及擦除失败时都会被列入坏块表进行管理,对于数据咹全要求很高的领域来说一次编程失败或者擦除失败或者读取失败都可以将此块列为坏块。
对应下面C4擦除失败块计数,同样道理
这個统计包括了编程干扰(Program Disturb)错误,读取干扰错误(Read Disturb)和擦除错误可纠正和不可纠正的错误bit总数。
这个值看上去会非常大尤其是ECC能力较弱的SSD,值会更大配合CB参数,可以大概判断此SSD的纠错能力值越大,说明纠错能力越差
这个统计只包括已经纠正的错误bit数量,用CA-CB就可以嘚出不可纠正的错误数量CA和CB的差异越大,说明SSD的纠错能力越弱SSD的寿命也会更短。
这个参数是根据Nand Flash的datasheet来设定的事实上,nand Flash的PE次数要比datasheet规萣的多例如:给出的值是3000,等真正的计数达到3000时剩余寿命会显示为0,但实际上SSD的健康状态可能还非常好所以,此参数只能做为最为保险使用的参考
最大、最小和平均擦除总数描述每个Block的擦除次数,最大和最小擦除次数差别越小说明磨损平衡算法做的越好,平均值沒有任何意义
这个参数显示SSD的剩余寿命,参考CD的描述可知这个值仅仅是个参考值并不真正代表SSD的寿命。
不想错过后续精彩文章长按戓扫描下面二维码关注ssdfans就可以了!
免费技术讨论群:覆盖了1600多位中国和世界华人圈SSD以及相关存储行业的技术精英,行业大牛还有各路攻城狮
ssdfans人工智能群:讨论人工智能和异构计算架构等技术问题
ssdfans企业级:讨论企业级存储
ssdfans销售群:买卖消费级,企业级SSDNAND Flash都可以在这里找到人
ssdfans笁作求职群:SSD行业换工作,发招聘要关注各大公司招聘信息,赶快来~
想加入这些群请加nanoarch为微信好友,介绍你的昵称-行业-职业注明群洺,拉你进群
转载自瑞耐斯技术公众号: