SATA协议固态硬盘的S.M.A.R.T详解

news/2024/12/5 1:11:08/

兵哥写这篇文章,是因为在测试的过程中看到了 SSD存在偶尔有性能下降的情况,经分析为S.M.A.R.T命令所导致,虽然这种情况看似不严重,但如果应用在诸如数据采集等关键性领域,有可能会导致丢失数据包的严重后果,当然,这个bug是可以修正的,先看图片:

 

 

S.M.A.R.T概述

 

S.M.A.R.T.(Self-Monitoring Analysis And Reporting Technology),意思为“自我检测分析与报告技术”,从名字也能看出其作用是故障预警,固态硬盘可以通过监测自身的健康状态,并将参数值反馈给监控软件或者操作系统,事实上,大部分的参数仅仅对工程师而言有意义,对于最终用户而言,只关注一些关键指标即可,如:新增坏块统计,剩余使用寿命,擦除次数等即可。

一些常用的测试软件也可以获取到SSD的S.M.A.R.T信息:

 

 

SSD主控厂商也会提供相应的工具:

 

 

经过多年HDD硬盘厂商的完善,S.M.A.R.T已经形成了一些标准,但对于SSD来说,大多数SATA协议的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。

 

S.M.A.R.T各项参数释义

 

01 原始读取误码率Raw Read Error Rate
这项指标反馈了Nand Flash的初始健康状态,数据值包含了可校正的错误与不可校正错误;

 

09 通电时间累计 Power-On Hours
计量单位为小时,也可以以分钟、秒为计量单位,由SSD厂商自行定义,通常情况下活动、空闲和睡眠三种状态的时间都会被计算在内,有些SSD会通过一些电源管理功能的开启会将睡眠时间排除在外。此参数表示硬盘通电的累计时间,新硬盘当然应该接近0,但事实上SSD厂商在测试过程中已经使用数个小时甚至数十上百个小时,只是测试完毕后重新量产,参数又会归零。 


0C 通电周期计数 Power Cycle Count
通电周期计数的数据值表示了硬盘通电/断电的次数,即电源开关次数的累计,新硬盘通常只有几次。 
固态硬盘的通断电与HDD不同,SSD通常会做大量的P/E cycle测试,军工、工业类SSD还需要做大量的异常通断电测试,以防止在异常掉电的情况下丢失映射表以及规避其他因掉电导致不可靠的因素,兵哥公司通常会进行3000次到10000次的异常掉电测试,但是,测试完毕,会对SSD重新量产,Power Cycel Count会被清空,用户看到的仍然是少量的通电次数。

 

B8 初始坏块计数 Initial Bad Block Count
每个Nand Flash出厂时都会有初始坏块,固件通过扫描每个Block的第一个和最后一个page Spare Area区域的0xFF标记,如果没有0xFF标志,则表示为坏块,坏块由固件进行统一管理,列入坏块表。

初始坏块的数量可以从某种程度上反映SSD的初始健康状态,初始坏块越多,健康状态相对来说就越差。

 

C3 编程失败块计数 Program Failure Block Count
编程失败会将此page所在的Block列为坏块,这类的坏块称为新增坏块或者使用坏块,坏块会被列入坏块管理表,每个Block都存在一定的擦写寿命,当编程识别以及擦除失败时,都会被列入坏块表进行管理,对于数据安全要求很高的领域来说,一次编程失败或者擦除失败或者读取失败都可以将此块列为坏块。

对应下面C4,擦除失败块计数,同样道理。

 

C4 擦除失败块计数 Erase Failure Block Count

解释同C3

 

C5 读取失败块计数 Read Failure Block Count

解释同C3

 

CA flash总的bit错误统计 Total Count of Error bits from flash

这个统计包括了编程干扰(Program Disturb)错误,读取干扰错误(Read Disturb)和擦除错误,可纠正和不可纠正的错误bit总数。

这个值看上去会非常大,尤其是ECC能力较弱的SSD,值会更大,配合CB参数,可以大概判断此SSD的纠错能力,值越大,说明纠错能力越差。

 

CB 读取扇区可纠正bit错误统计 Total Count of Read Sectors with correctable bits errors

这个统计只包括已经纠正的错误bit数量,用CA-CB就可以得出不可纠正的错误数量,CA和CB的差异越大,说明SSD的纠错能力越弱,SSD的寿命也会更短。

 

CD 最大PE次数Maximum PE Count

这个参数是根据Nand Flash的datasheet来设定的,事实上,nand Flash的PE次数要比datasheet规定的多,例如:给出的值是3000,等真正的计数达到3000时,剩余寿命会显示为0,但实际上SSD的健康状态可能还非常好,所以,此参数只能做为最为保险使用的参考。

 

CE 最小擦除总数Minimum Erase Count

最大、最小和平均擦除总数描述每个Block的擦除次数,最大和最小擦除次数差别越小,说明磨损平衡算法做的越好,平均擦除总数没有任何意义。

 

CF 最大擦除总数Maximum Erase Count

见CE解释

 

D0 平均擦除总数Avage Erase Count

见CE解释

 

D1 剩余寿命Remaining Life(%)

这个参数显示SSD的剩余寿命,参考CD的描述可知这个值仅仅是个参考值,并不真正代表SSD的寿命。


http://www.ppmy.cn/news/203255.html

相关文章

[SSD科普之2] SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解

固态硬盘 概念 固态驱动器(Solid State Drive),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片&a…

SATA是什么?

一、基本概念 SATA(baiSerial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标du准的串行硬件驱动器接口,是由Intel、zhiIBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。 SATA是总线接口&#x…

NVME(SATA)固态硬盘按装win7/10

NVME(SATA)固态硬盘按装win7/10 首先,系统安装分为机械硬盘,SATA固态,NVME固态三种,目前主流是SATA固态与nvme固态。 win7的安装:MBR分区用ghost恢复GHO文件安装与传统安装;GPT分区用传统系统U盘启动安装…

SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口如何区分

概念 固态驱动器(Solid State Drive),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片&#xff0…

固态硬盘M.2与SATA3.0的区别

固态硬盘M.2与SATA3.0的区别 文章目录 固态硬盘M.2与SATA3.0的区别SATA3.0M.2接口接口类型传输协议总线标准 总结 SATA3.0 理论带宽为6Gbps,其最大的优势就是成熟,兼容的设备多,普及程度也比较高 M.2接口 又称NGFF,英文全称Nex…

固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别什么意思?

固态硬盘近年来也是随着计算机的发展而得到了迅速的发展,目前已经隐隐有要取代机械硬盘的势头,只要成本价格控制下来,相信取代机械硬盘也只是时间问题 但是关于固态硬盘的概念实在是太繁琐了,很多人选购固态时也是看到商家宣传NV…

基于simulink仿真弹跳球

一、前言 示例可视化了一个从地板上弹起的球。球在撞击地板时变形,保持球的体积恒定。变形是通过修改球的刻度场来实现的。 弹跳球实验有以下几个意义: 1. 研究物体的弹性:弹跳球实验可以帮助我们了解不同物体的弹性特性,包括弹性…

华为荣耀计算机在哪,华为和荣耀笔记本的区别在哪

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 以荣耀Magic Book Pro和华为matebook 14为例,其两者的区别如下: 1、屏幕:荣耀Magic Book Pro屏幕尺寸为16.1英寸,显示比例为16:9&…