SMART报告参数详解

  S.M.A.R.T是Self-Monitoring Analysis and Reporting Technology自我监测、分析及报告技术的缩写,一般为了简单就直接写成了SMART。SMART是硬盘故障预警和分析技术发展而来的,能够让用户评估硬盘使用状态和预期寿命。不同硬盘的SMART项目及含义各有不同,尤其是SSD的SMART含义相比机械硬盘时代发生了很多变化,HDTune对于SSD的SMART值的含义表述有很多错误,所以一般我们使用CrystalDiskInfo软件来查看分析SMART值。

       下面这是一张典型SandForce主控SSD的CrystalDiskInfo软件截图,显示了这块SSD的所有SMART信息。可能大家也看到了我红方框圈起来的几个值,这些数字看起来很大很奇怪不是吗?这些SMART项该怎么识读呢,看完这个帖子你应该就知道啦。

 



 

    

 

  每个SMART项都有一个ID,比如E9、F1,这两个SMART项我们已经比较熟悉了。E9是NAND颗粒实际写入的数据量,而F1是主机写入数据量(操作系统要求写入的数据量)。因为SSD使用闪存作为存储介质,闪存不能直接覆写,而需要先擦除后写入,偏偏闪存擦除的最小单位是block(块),写入的最小单位是page(页),而擦除单位Block是要比写入单位Page要大很多的。再加上SSD为了不让某个位置擦除次数太多而提前报废,需要做磨损平衡。这些都会让实际写入到闪存颗粒中的数据大于操作系统原本要求写入的数据量,这就是写入放大了。在SandForce主控SMART信息中,通过计算E9/F1就能计算出这张盘的整体写入放大率,比如截图中的这张盘,写入放大率为4343/3207=1.35。虽然SandForce主控能够压缩降低写入放大率,但实际写入放大还是跟使用习惯和写入的数据密切相关的,这张SSD因为是作为PC中的唯一一块硬盘使用,各种下载数据都写在上面,所以整体写入放大水平看上去并不优秀。

       好啦,上面只是个小回顾,言归正传,今天要教大家看的SMART项ID分别是01、09、C2、C3、C9、CC,另外也要说一下E6和E7的数值含义。

       为了真正看懂SMART项的数值,我们还得改变一下习惯,把CrystalDiskInfo的数值显示方式重新调整回16进制:

 



下面再看改为16进制之后SMART项的数值:

 

       看起来是不是有那么点不习惯?不过为了看懂那几个奇怪的数值,只有改成16进制才方便看明白。

ID:01
属性名称:原始数据读取错误率


看到“错误率”这么敏感的字眼,一看数值又那么大,不少人被吓到了有木有?
原始值一共有14位数字,十六进制。其实这个01这个SMART值是这么看的:
右边数后8位是这次通电后读取的扇区数。左边6位是读取错误数(包括UECC和URAISE)。图中01项的值是00000000487331,后8位是487331,表示这次通电后SSD已经读取了487331个扇区,也就是大约238M的数据。前6位全是0,说明没有发生读取错误。这下明白了吧,错误率为0,不用担心什么了。另外明白这些之后也就能理解为何重新开机或刚从睡眠中唤醒时01项数值会归零,因为后8位记录的是这次通电周期内的读取扇区计数。

ID:09
属性名称:通电时间


还记得我这张SSD通电时间用十进制显示是多少吗?3951885308396385,天哪,这一定是搞错了…事实上,和01项一样,09的数值也要分成左右两部分,分别代表不同计数器。

通电时间的16进制原始值的右边数8位是通电时间,单位为小时。左边6位是从上一个小时开始后过去的毫秒数。同样以我这张盘的09项16进制表示为例,通电小时数是361(16进制),转换成十进制就是865,与CrystalDiskInfo在右上角显示的通电时间数是吻合的。自上一小时后过去的毫秒数是31D63E,转换为十进制是3270205毫秒,也就是3270秒多一点。

ID:C2
属性名称:温度


和通电时间一样,温度的SMART值也是CrystalDiskInfo能够解码,但是原始值看上去“不科学”的一个。这个同样是需要使用十六进制来识读。十六进制原始值00001E001E001E,右边4位是当前温度,001E换算为十进制就是30度,再往左4位是全使用时间内的最低温度,再往左4位是全使用时间内的最高温度,最左边两位始终为零没有意义。我的这张SSD由于硬件上没有温度传感器,所以温度显示永远是30度。

ID:C3
属性名称:自适应ECC无法校正错误计数


哇,这又是错误,又是无法校正的,数值还这么大,SSD该不会要挂了吧??!

放宽心,这张盘嘛事没有。这又是一个把两个属性放在了同一原始值高/低位的情况。原始值十六进制表示为00000000487331,右边数8位是本次通电后读取的扇区数,仔细观察就会发现这个数字和01项的相同位置数字是一样的,其实这就是同一个数字,当然是一样的啦。左边的6位表示不可修正的ECC错误数,这个数值现在是0,自然就是没有任何错误的意思,放一百个心吧您呢。

ID:C9、CC
属性名称:无法校正的软读取错误率、无法校正的软读取错误率


这两个项的表示和C3一样,右边8位是本次通电后读取的扇区数。左边6位才是错误计数,别看数字看上去很大,其实错误计数都是0。

ID:E6、E7
属性名称:寿命曲线状态、SSD剩余寿命


这两个项的数值现在虽然都是0,但涉及到寿命字眼,想必很多人都比较关心,那就一并来解读一下吧。

首先说E6,E6的原始值完全无意义,永久恒定为0的,要看的应该是“当前值”一列的数值。当前值也只有2种可能:100或者90。100表示预期寿命正常。如果显示为90,则表明这块SandForce主控的SSD已经进入限速模式:由于闪存PE消耗过快,照目前速度发展将不能保障保修期内闪存的标称PE次数不被耗尽,主控开启限速模式,限制写入速度。限速模式是SandForce主控的可选特性,是否开启取决于生产厂商,据我所知Intel的盘没有开启限速模式。

再来说E7的含义,E7的“当前值”就是SandForce主控固态硬盘的健康状态百分比,当前值的计算公式是:
SSD寿命剩余=MIN[MAX[term A,10],term B]
其中termA=未使用的PE次数/闪存颗粒标称PE次数*100,也就是剩余PE次数占总PE次数的百分比
termB=(100*可用后备块数量)/出厂时的可用后备块总数,也就是当前剩余后备块占出厂时总后备块的百分比

根据寿命公式可以看出,SandForce剩余寿命的计算依据是:如果全盘PE消耗不足标称值的90%,用PE理论剩余量计算的剩余寿命和用后备块剩余量计算的剩余寿命相比,取其中较低的一个。如果全盘PE消耗已经超过了颗粒标称值的90%,剩余寿命显示要么是10,要么是比10更低的值(剩余后备块数量不足10%的具体值)。可见SandForce剩余寿命的显示还是比较保守的安全的,当长时间使用后,如果剩余寿命显示数值掉到99了,既可能是PE消耗超过1%了,也可能是后备块消耗超过1%了。

       以上SMART值含义解读仅针对SandForce主控公版固件的SSD产品有效,比如Intel的SandForce主控SSD使用了定制固件,含义与计算方法会有不同。本文意为给大家解惑,让大家放心使用,并非推荐大家去折腾钻研各个盘SMART含义的深层含义。

猜你喜欢

转载自blog.csdn.net/AAA375/article/details/92821085
今日推荐