试图去解决Windows存储池之中的一个硬盘方面的问题,于是从京东那儿购置了一块希捷硬盘。按照惯例针对这块硬盘开展了测试,结果发现在监测软件内。读取错误率以及寻道错误率的数值始终处于波动状态,内心不禁有点犯嘀咕。随后参考了B站的一篇文章,名为《希捷机械硬盘读取错误率和寻道错误率很高?让我们看看到底是怎么计算的吧!》,其地址为。
并非是直到专门去查看了像https://www.bilibili.com/opus/624407357721594259)里所呈现的那些专业解析内容之后,才得以弄清楚这些波动背后所蕴含的逻辑。而在今天,是以我自己的硬盘数据予以举例,来谈论一下究竟该如何去看懂这些相关的参数。
一、希捷 SMART 数据的 “双层结构”
于该B站文章当中提及,希捷硬盘的SMART原始值,也就是Raw Values,它是一个呈现为“48位的长数字”的东西,其情形宛如一个被划分成两部分的账本,其中高16位专门用于记录“错误次数”,而低32位则负责记录“总操作次数”。不管是读取错误率,即ID 01,还是寻道错误率,也就是ID 07,均是依照这个规则来进行记录的。这就如同记账本子,前面的十六页仅仅记录“出错的次数”,后面的三十二页记录“总共做了多少次事”,对硬盘好坏作出判断,首先要看前面十六页有没有记录下错误。
二、我的硬盘读取错误率解析:高 16 位才是关键
(1)数据波动的表象
我的硬盘短时间内读取错误率(ID 01)数据是这样的:
起始的时候,看到那个当下的值,从82逐步降低到73,而后又出现了回升的情况,我当时就觉得,好像硬盘出现了问题,然而呢,那篇文章明确指出,希捷的这个当下的值,是通过计算得出来的,并非直接去记录错误的数量。
(2)高 16 位错误次数的计算(按原文公式)
在该文章当中,有这样的说明,即高16位错误次数等于原始值除以2的32次方,而2的32次方也就是4294967296,之后要取其整数部分,接下来我要算属于自己的那个值:
(3)当前值波动的原因
一篇文章里头存在着这样一个公式,那就是当前值与负十乘以以十为底的对数相关,这个对数的真数是错误次数除以总读取次数,也就是当前值=-10×log₁₀(错误次数/总读取次数)[句号]由于我的错误次数呈现为零这样的情况,所以该公式就演变成了当前值=-10×log₁₀(1/总读取次数)[句号]紧接着,在这种状况下,如果总读取次数(低32位)出现变多的情形,那么当前值就会随之下降;要是总读取次数变少,当前值便会上升[句号]就如同在一种情境下,没有人做错题目呢,但是答题之人的数量发生了改变,如此一来,正确率的计算分数就像会呈现出波动的态势,不过究其本质而言那却是全部答对了呀。

三、寻道错误率解析:和读取错误率逻辑一样
(1)我的寻道错误率数据
(2)按原文方法拆解
文章提及希捷原始值是以十六进制呈现的,这里存在一个情况,其较高的16位所代表的是错误数。就我的原始值而言,所呈现的是“0000005B549D”,其中最前面的四位是“0000”,这一结果表明较高的16位错误次数等于0。而其较低的32位部分是“005B549D”,若将这部分换算为十进制,得到的结果是5995677次寻道操作。
(3)当前值计算验证
参照文章之中所给出的公式,也就是当前值等于负十乘以以十为底五亿九千九百五十六万七千七百的倒数的对数,其结果约等于六十七点七七,并且这个结果与我所目睹到的处于六十九到七十之间的波动情况基本上是相一致的,而这种一致是因为四舍五入或者操作的次数发生了变化所导致的。这也就表明了寻道操作实际上并不存在错误,所说的波动仅仅只是计算所产生的结果。
四、软件会怎么提示异常?
CrystalDiskInfo,跟文章所讲的情形是相同的,对此会运用颜色去开展提示:
五、硬盘健康结论
结合该 B 站文章知识和我的数据:
关于读取错误率的高16位,其中错误次数均为0,不存在实际的错误情况,寻道错误率同样情况下也是如此,重新分配扇区数(ID 05)原始值为0,当前待映射扇区数(ID C5)原始值也为0,且硬盘不存在物理坏道。
因此,硬盘当下不存在任何具备实质性质的故障风险,那些数值出现的波动,仅仅是希捷所特有的计算逻辑呈现出的正常现象。