好久没说说硬盘知识了,今天讲讲硬盘的一些主要影响硬盘性能的参数,这是我综合专业教材以及自身经验缩写,希望对大家提升对硬盘的认识有所帮助。

1、每分钟转速(RPM,Revolutions Per Minute):这一指标代表了硬盘主轴马达(带动磁盘)的转速,比如 5400RPM 就代表该硬盘中的主轴转速为每分钟 5400 转,目前台式电脑硬盘的转速普遍为7200转的(部分老式的,翻新硬盘还是5400转),笔记本硬盘则多为5400转,7200转的比较少(主要是受笔记本供电以及散热限制)。而服务器硬盘(SCSI)的转速最低一般都上万转的。

2、平均寻道时间(Average Seek Time):如果没有特殊说明一般指读取时的寻道时间,单位为 ms(毫秒)。这一指标的含义是指硬盘接到读/写指令后到磁头移到指定的磁道(应该是柱面,但对于具体磁头来说就是磁道)上方所需要的平均时间。除了平均寻道时间外,还有道间寻道时间(Track to Track或 Cylinder Switch Time)与全程寻道时间(Full Track 或Full Stroke),前者是指磁头从当前 磁道上方移至相邻磁道上方所需的时间,后者是指磁头从最外(或最内)圈磁道上方移至最内(或最外)圈磁道上方所需的时间,基本上比平均寻道时间多一倍。出于实际的工作情况,我们一般只关心平均寻道时间。

3、平均潜伏期(Average Latency):这一指标是指当磁头移动到指定磁道后,要等多长时间指定的读/写扇区会移动到磁头下方(盘片是旋转的),盘片转得越快,潜伏期越短。平均潜伏期是指磁盘转动半圈所用的时间。显然,同一转速的硬盘的平均潜伏期是固定的。7200RPM时约为 4.167ms,5400RPM时约为 5.556ms。

4、平均访问时间(Average Access Time):又称平均存取时间,一般在厂商公布的规格中不会提供,这一般是测试成绩中的一项,其含义是指从读/写指令发出到第一笔数据读/写时所用的平均时间,包括了平均寻道时间、平均潜伏期与相关的内务操作时间(如指令处理),由于内务操作时间一般很短(一般在0.2ms 左右),可忽略不计,所以平均访问时间可近似等于平均寻道时间+平均潜伏期,因而又称平均寻址时间。如果一个 5400RPM硬盘的平均寻道时间是 9ms,那么理论上它的平均访问时间就是 14.556ms。

5、数据传输率(DTR,Data Transfer Rate):单位为 MB/s(兆字节每秒,又称 MBPS)或Mbits/s(兆位每秒,又称 Mbps)。DTR 分为最大(Maximum)与持续(Sustained)两个指标,根据数据交接方的不同又分外部与内部数据传输率。内部 DTR是指磁头与缓冲区之间的数据传输率,外部 DTR 是指缓冲区与主机(即内存)之间的数据传输率。外部 DTR 上限取决于硬盘的接口,目前流行的 Ultra ATA-100 接口即代表外部 DTR 最高理论值可达 100MB/s,持续 DTR 则要看内部持续 DTR 的水平。内部 DTR 则是硬盘的真正数据传输能力,为充分发挥内部 DTR,外部 DTR 理论值都会比内部 DTR 高,但内部 DTR 决定了外部 DTR 的实际表现。由于磁盘中最外圈的磁道最长,可以让磁头在单位时间内比内圈的磁道划过更多的扇区,所以磁头在最外圈时内部 DTR 最大,在最内圈时内部 DTR 最小。

6、缓冲区容量(Buffer Size):很多人也称之为缓存(Cache)容量,单位为 MB。在一些厂商资料中还被写作 Cache Buffer。缓冲区的基本要作用是平衡内部与外部的 DTR。为了减少主机的等待时间,硬盘会将读取的资料先存入缓冲区,等全部读完或缓冲区填满后再以接口速率快速向主机发送。随着技术的发展,厂商们后来为 SCSI硬盘缓冲区增加了缓存功能(这也是为什么笔者仍然坚持说其是缓冲区的原因)。这主要体现在三个方面:预取(Prefetch),实验表明在典型情况下,至少 50%的读取操作是连续读取。预取功能简单地说就是硬盘“私自”扩大读取范围,在缓冲区向主机发送指定扇区数据(即磁头已经读完指定扇区)之后,磁头接着读取相邻的若干个扇区数据并送入缓冲区,如果后面的读操作正好指向已预取的相邻扇区,即从缓冲区中读取而不用磁头再寻址,提高了访问速度。写缓存 Write Cache),通常情况下在写入操作时,也是先将数据写入缓冲区再发送到磁头,等磁头写入完毕后再报告主机写入完毕,主机才开始处理下一任务。具备写缓存的硬盘则在数据写入缓区后即向主机报告写入完毕,让主机提前“解放”处理其他事务(剩下的磁头写入操作主机不用等待),提高了整体效率。为了进一步提高效能,现在的厂商基本都应用了分段式缓存技术(Multiple Segment Cache),将缓冲区划分成多个小块,存储不同的写入数据,而不必为小数据浪费整个缓冲区空间,同时还可以等所有段写满后统一写入,性能更好。读缓存(Read Cache),将读取过的数据暂时保存在缓冲区中,如果主机再次需要时可直接从缓冲区提供,加快速度。读缓存同样也可以利用分段技术,存储多个互不相干的数据块,缓存多个已读数据,进一步提高缓存命中率。

电脑知识与技术博客 http://mtoou.info

本文链接:http://mtoou.info/影响硬盘性能的主要参数/