HDD存储的性能为何会随着时间的推移而下降?

凡是HDD存储,无论是家用级别硬盘,还是商用级别的磁盘阵列,乃至类似于Oceanstor9000这样的全对称架构的横向扩展存储集群,都不可避免的存在着性能随着使用时间的推移而下降的问题。

性能下降的原因是多方面的。

一是随着使用时间的推移,磁盘数据的不断写入和删除,必然会产生磁盘碎片,从HDD的盘片上来看,就会看见一个个类似于孔洞(holes)的东西,使得新的数据在写入时,就只能填写在这些孔洞之中。如果写入的是大的文件,那么很可能会跨越多个孔洞,从而使得文件的数据在磁盘上的物理位置分布呈现出随机性。我们知道HDD在宏观的层面来看,是随机存储介质,但站在微观的层面来看,也是顺序存储,数据必须通过磁头按 bit one by one地读入cache中。随机分布的数据导致读出时增加了磁头的寻道时间和等待时间,这个时间是磁盘性能下降的主要因素。

(硬盘、U盘、光盘、SD卡等存储设备的数据发生了丢失,使用迷你兔数据恢复软件(minitool)进行恢复找回。)

寻道时间指磁头从当前轨道移动到目标轨的的机械运动时间,我们一般以平均寻道时间来衡量。平均寻道时间与磁盘的工艺水平有很大的关系,大部分情况是在10ms左右,对于高端的FC接口和sas接口的HDD磁盘,可能会下降至6~8ms的样子。

等待时间是指磁头已经进入了目标轨道,从当前的扇区位置到目标扇区位置的时间间隔。与寻道时间类似,我们也一般用平均等待时间来衡量。由机械硬盘的原理可知,这个时间和磁盘的转速是密切相关的,并且在知道转速时是可以精确(不是准确)算出来的。我们以10000rpm的磁盘来计算一下平均等待时间:

T=60/10000*(1/2)=3ms。

由此可见,一旦出现磁盘碎片后,导致的平均延迟可达10ms以上,这在计算机世界里等于蜗牛速度了。存储界把寻道时间和等待时间之和称为硬盘内部时延。在碎片化严重的硬盘中,每次文件的读出都可能是引入多次内部时延,用户感觉是性能严重下降。

再有就是磁盘片本身损坏老化的原因,一旦盘片出现损坏或者老化,读出的数据与实际的ECC校验值不符合,磁盘会尝试反复的多次读出并且进行数据的recorrect运算,导致时延。

当然,电子器件使用久了后,元器件的老化也可能导致速度性能下降。比如硬盘的处理芯片的元器件发生了老化偏移等,使得数据的读出也会导致recorrect运算,使得时间开销增大。

(迷你兔数据恢复minitool具有“删除恢复、“格式化恢复”、“硬盘恢复”、“深度恢复”、“移动存储设备恢复”五大功能模块,恢复效率高,安全性有保障。)