经过多年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。

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的寿命。

SSD S.M.A.R.T的更多相关文章

  1. 【转载】固态硬盘的S.M.A.R.T详解

    文章来源于: 瑞耐斯存储技术 兵哥写这篇文章,是因为在测试的过程中看到了 SSD存在偶尔有性能下降的情况,经分析为S.M.A.R.T命令所导致,虽然这种情况看似不严重,但如果应用在诸如数据采集等关键性 ...

  2. Cosmos OpenSSD--greedy_ftl1.2.0(一)

    从主函数跳到ReqHandler,在ReqHandler内先初始化SSD--InitNandReset,然后建立映射表InitFtlMapTable void InitNandReset() { // ...

  3. 企业级web nginx服务优化

    1.1)隐藏nginx header 内版本号信息 [root@aliyun ~]# vi /application/nginx/conf/nginx.conf http{ …… server_tok ...

  4. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  5. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  6. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  7. S.M.A.R.T.记录几块ssd硬盘

    1.闪迪至尊超级速(Extreme pro) 2.三星sm961 (m2接口) 3.intel 750 (pice接口) ps: 因为sm961,intel750都是nvme协议,网上大部分软件测试都 ...

  8. SSD框架训练自己的数据集

    SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...

  9. 搭把手教美工妹妹如何通过升级SSD提升电脑性能

    -----by LinHan 不单单适用于妹子,我这名的意思的妹子也能看懂. 以下教程依据实践和部分互联网资料总结得出,向博客园, CSDN的前辈们致谢:同时,如有说的不正确或有不到位的地方,麻烦指出 ...

随机推荐

  1. ios调试小结

    Xcode底部的小黑盒是我们调试时的好朋友,它可以输出日志信息.错误信息以及其他有用的东西来帮你跟踪错误,除了可以看到日志直接输出的信息外,我们编程过程中也可以在某些断点停留,来检查app的多个方面. ...

  2. SVN 如何提交 SO 库文件

    今天提交代码时候发现,svn add 还是 svn st 均查看不到想要提交的 so 文件. 后来才知道原来是配置文件出了问题,把so文件的提交给屏蔽掉了. 修改步骤如下: 1.Ubuntu 系统,点 ...

  3. Python中怎么进行单元测试

    既然是测试,那我们得有被测试的代码,我们先定义一个简单的函数,这个函数的功能就是接收一个姓名,并返回一句问候语句. say_hello_function.py def hello_name(name) ...

  4. java Date类型的时间显示格式

    创建一个日期对象 使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间. import java.util.Date; ...

  5. C++ STL容器底层机制

    1.vector容器 vector的数据安排以及操作方式,与array非常相似.两者的唯一区别在于空间的运用的灵活性.array是静态空间,一旦配置了就不能改变.vector是动态空间,随着元素的加入 ...

  6. JavaScript正则表达式-字符类

    字符列表 在方括号内指定一个或者多个字符组成的字符列表,与字符列表中任意字符匹配,都被认为是匹配的.每次匹配只能匹配列表中的一个字符. str = "bird,head,fed,meadow ...

  7. 解决img标签上下出现间隙的方法

    图片与父元素下边缘有 2px 的间隙,并不是因为空格.多个 inline-block 元素之间的间隙才是因为空格. 任何不是块级元素的可见元素都是内联元素,其表现的特性是“行布局”形式.----< ...

  8. 【SaltStack】在Master上给Minion端安装zabbix

    一.IP信息说明 [Master] IP: 192.168.236.100 [Minion] IP: 192.168.236.101 二.配置SaltStack 关于SaltStack Master和 ...

  9. loj2145 「SHOI2017」分手是祝愿

    记 \(f_i\) 是从要做 \(i\) 步好操作变成要做 \(i-1\) 步好操作的期望操作次数. 显然 \(f_i=i/n \times 1 + (1-i/n) \times (1 + f_{i+ ...

  10. Debian 9 更新 sourrce.list(163源)

    Debian 9 更新 sourrce.list(163源) 需求说明: 更新apt-get源 kyeup@kyeup-nas:~$ lsb_release -a No LSB modules are ...