硬盘的相关参数分析与常见误区
1、 转速与寻道时间:
现在不少人都认为硬盘转速越快寻道时间就越快,但这是最常见的错误认识,事实上寻道速度根本不决定于转速,因为两者的控制设备就不一样。转速是由主轴马达控制,寻道则由音圈马达控制。寻道时间说白了就是体现了磁头臂径向运动的速度与控制能力,音圈马达与相应的伺服系统起着重要作用。另外,磁头的高灵敏度也有助于在高密度磁盘上准确捕获伺服标记,进而快速定位。很多情况下,我们都可以看到5400RPM硬盘的寻道时间与7200RPM硬盘一样(如三星的V40与P40)。之所以有些高速硬盘(如SCSI硬盘)的寻道时间更快,是因为厂商的有意设计,就好像一台Pentium4电脑只配32MB内存让人觉得不平衡一样,厂商也会给高速硬盘配上更快的寻道时间(也意味着更好的元件与更高的成本,显然厂商要根据市场的需要权衡利弊)。实际上,通过上文有关平均访问时间的解释,大家应该明白,提高转速的主用意就是减少平均潜伏期,进而加快整体的访问速度,也许很多人不认同这是它最重要的用意,由此就又引出了下一个误区。
2、 转速与数据传输率:
在很多人的印象和厂商的宣传中,更高的转速的主要用意在于提高数据传输率,但这并不正确。持续数据传输率决定于很多指标,并不光只是转速。当然,有人会说转速更高,磁头单位时间划过的扇区就越多,不错,但前提是线密度一样。线密度可理解为每磁道扇区数(SPT,Sectors Per Track)。低速硬盘完全可以通过提高SPT来加大数据传输率, SCSI硬盘就是追求SPT的典型。事实上,很多厂商在相同单碟容量上对于不同的转速采用了不同的SPT设计,如金钻七的最外圈磁道扇区数为837个,而星钻三代则为896个。有人可能会问,那如何保证容量一致呢?这就涉及到每英寸磁道数(TPI,Tracks Per Inch),它代表了磁道密度。SPT高则TPI就会相应减少,如金钻七为60000TPI,星钻三代则是57000TPI。本次测试最典型的例子是Caviar系列硬盘,WinBench测得的数据传输率与某些7200RPM产品相当。虽然我没有该系列硬盘最外圈SPT资料,但肯定不会低于1000(若转速实为5400RPM),即使转速真的是6000RPM,也在900之上。因此5400RPM硬盘完全可以通过提高33%(7200RPM比5400RPM转速高33%)的SPT来得到相同的数据传输率。
综上所述,7200RPM相对于5400RPM硬盘的最大优势就在于更短的平均潜伏期,进而减少平均访问时间。毕竟转速是死的,5400RPM永远处于劣势。
3、 真正的内部数据传输率:
随着硬盘知识的普及,硬盘DTR这一指标也逐渐被人们所认识,但又出现了新的误区——拿以Mbps为单位的最高内部DTR说事,这其中某些厂商与所谓高手的误导有着不可推卸的责任,后果也是相当严重。由于内部DTR决定了硬盘的实际数据传输性能,所以很多人都在关心硬盘的内部DTR,而厂商也投其所好,在产品资料中基本都公布了最大内部传输率,但多是以Mbps为单位,不少人因此拿这个数值来预测硬盘的性能,甚至分析到接口速率的瓶颈(这些人通常将其换算成MBPS,而目前最高的数值将近80MBPS,离Ultra ATA-100的最大速率已相差不远了)。但是,它恰恰不能通过除8来换算成MBPS,因为这个数值是磁头处理二进制0/1信号(即bit)的纯理论性能,而磁头处理的信号很大部分并不是用户需要的数据(存入的数据都是经过编码的,包含许多辅助信息),因此不能以字节为单位。很多硬盘这一数值都是相当高的,如以前的富士通硬盘,指标很好,但实际性能却是另一码事。完全可以说,这个Mbps值没有什么实际价值,给人的是一种假象。
在硬盘中,真正重要的是内部持续DTR,它分为单磁道瞬间DTR与持续DTR两个指标,单磁道瞬间DTR的计算公式是“512字节×SPT×磁盘每秒所转圈数”或“512字节×SPT÷磁盘转一圈所用时间”,由于磁盘转一圈所用时间一般不能除尽,所以经常用前一种公式。持续DTR的计算公式则为“512字节×SPT×磁头数/总耗时”,其中“总耗时=(磁头数-1)×磁头切换时间+道间寻道时间+磁头数×磁盘转一圈的时间”。磁头切换时间一般在产品的用户手册中有标注,大约在1ms左右。单磁道瞬间DTR表明了硬盘实际上所能达到的最大内部DTR,持续DTR则体现了硬盘真正的数据传输能力。很遗憾的是,目前只有迈拓和IBM提供了内部持续DTR数据,其他厂商仍然用Mbps数值迷惑普通大众。但是,厂商心里是明白的,他们自己也不会混淆概念(只是没事偷着乐),在数据的说法上也是非常严谨,如果你哪天发现厂商公布的内部DTR使用了MB/s为单位,那么这很可能就是我们所真正需要的数据,而不要再用Mbps去除8了。

IBM 120GXP的技术资料,其中有两个内部DTR,我们只需关心第二个
4、 缓冲区容量与性能:
上文说过内部DTR决定了外部DTR的实际表现,但为了将内部DTR对外部DTR的影响降至最低,产生了缓冲区设计。理论上讲,缓冲区越大,即使内部DTR不变,硬盘的性能也会更好,这就好比CPU中的缓存一样。不过,要做到缓冲区容量的增加并提高性能还是有一定难度的。这主要体现在缓存功能管理与数据安全两个方面。缓存功能管理决定了缓冲区智能化与缓存效果,简单的说就是一种管理算法与替换策略,负责这一任务的就是缓存控制器。上文已经讲到目前都将缓冲区做分段处理,并且是动态的,根据数据流情况自动划分。以120GXP为例,在读操作时可最多划分12个数据段(平均容量约155KB),在写操作时数据段可高达52个(平均容量约35KB)。那么怎么去动态的划分区段,怎么去选择最不常用的区段以替换成新的数据,都将影响最终的性能表现。比如区段划分不合理将影响缓冲区空间的利用率和预读效果,数据替换不合理将影响缓存命中率,这样一来说不定与小容量缓冲区性能差不多。讲到这,大家肯定会想到了CPU缓存的算法(比如N路级联与更新策略等),的确两者有相同之处。对于更大容量的缓冲区,肯定就不能照搬小容量缓冲区的缓存管理算法。因此,缓冲区越大性能越好是有前提的,这对厂商的缓存管理技术水平提出了更高的要求。
大容量缓冲区的数据安全性主要是指在突然断电的情况下,缓冲区中的待写数据将如何处理的问题。这方面笔记本电脑硬盘就有了得天独厚的优势,因为有电池为后盾,笔记本电脑硬盘的缓冲区容量已经提升到了16MB。但对于台式机,这是个不小的考验。WD公司在这方面做出了有意义的探索,主要方法是通过将数据暂时保存在最外圈暂存区(因为最外圈的写入速度最快),下次开机再写入原目的地址的方法来保证缓冲区中待写数据的安全,显然这需要特殊的管理机制,也是厂商的自由发挥了。
最后我们再谈谈目前普遍流行的说法——大容量缓冲区对零散数据非常有利,这是很片面的认识。当然,这种说法可以理解,也没有什么根本性错误,但容易误导人们对大容量缓冲区的认识。从分段式缓存结构可以看出,更大的缓冲区理论上可以划分出更多的数据段,能容纳更多的互不相干的小数据块。而这种随机的、不连贯的、小数据量的读取行为在Web服务、数据库服务与日常办公应用中很常见。如在Web服务中,经常出现对一个网页同时有多个请求的情况,而一个网页的大小也就是几十到几百KB的容量,如果缓冲区能缓存更多的页面,那么服务器的表现也会越好。因此大容量缓冲区在这方面的贡献,我们完全肯定。但另一方面,对于大容量,连续读写的数据操作,大容量缓冲区同样能发挥重要的作用。更大的缓冲区此时意味可一次缓冲更多的数据(硬盘会根据数据量将区段合并),即能在相同的时间内向主机或磁头发送更多的数据,而磁头的连续读写扇区的能力更容易发挥。所以,在音频、视频处理等经常用到大数据量连续读写的场合,大容量缓冲区硬盘是最佳之选。在下面的测试中,大家也会发现8MB缓冲区硬盘相对于2MB缓冲区硬盘的整体优势。
5、 SCSI与IDE的性能:
在WD1000JB推出时,有些读者就根据其与低端SCSI硬盘的对比测试数据,曲解原文的用意发表了IDE硬盘性能已经可与SCSI硬盘相抗衡的看法,这显然是一种误导。在测试原文中与WD1000JB做对比的是希捷早期万转SCSI硬盘——Cheetah 36XL。单碟容量为9GB,不到1000JB单碟容量的1/3,缓冲区容量为4MB,而WD1000JB则是8MB,但两者的持续传输率基本一致,因此有一定可比性。原文将当时最高配置的IDE硬盘与较低配置的SCSI硬盘作对比的主要用意在于证明8MB缓冲区的作用,并通过测试表明在此情况下最高端IDE的性能完全可以与低端SCSI一争高低,而不是给“IDE性能可与SCSI对抗”这一笼统的错误说法提供论据,因为这种比较是有条件的。从测试成绩上看,Cheetah 36XL全面落后,但这是在单盘情况下。而随着硬盘数量的增多,SCSI共享数据通道的优势将逐渐体现,此时就不是IDE硬盘可比的了,即使你接满4块IDE硬盘也于事无补,况且随着更高单碟容量(如18GB)的万转SCSI与15000转SCSI硬盘的普及,IDE的单盘优势也不明显了。所以SCSI与IDE根本就针对着不同的市场与操作应用。做对比测试的原作者也只是借WD1000JB证明,目前最高端IDE硬盘完全可以在负荷不很繁重的中低端单盘工作站市场一展身手,而不是全面冲击SCSI硬盘,这一点一定要认清楚,不要误解原文作者的用意。
6、 总容量与性能:
如果单碟容量相同,那么总容量的不同就意味着磁头数量(即数据面数,一张磁盘有两个数据面,但有时只用一个,而一个数据面对应一个磁头)的不同,这其中会与性能有什么关系呢?由此就要联系到柱面这一概念,柱面是指硬盘中每张磁盘上编号(位置)相同的磁道集合,硬盘操作时,是从最外圈柱面开始,当该柱面所有磁道用完后,再移至内圈的下一个柱面,而不是先存完一张盘再存一张盘。同系列的硬盘的柱面数是一样的,但每个柱面包含的磁道数要因磁头数而异,计算公式为:磁道数=磁头数×柱面数。如迈拓D740X,20GB型号由于只有一个磁头,所以一个柱面的容量是一个磁道,而80GB型号则是4个磁头,一个柱面的容量就是4个磁道。以最外圈柱面为例,D740X是外圈磁道是837个扇区,按每扇区512字节计算,20GB型号的最外圈柱面的容量为418.5KB, 80GB型号的最外圈柱面容量为1674KB 。也就是说如果连续存储500KB的数据,20GB就要移动磁头进行道间寻道了,但80GB的还不会,只是存在同一柱面内磁头切换的延迟。大家可以这么认为,80GB型号中一个柱面相当于20GB型号中的4个柱面,而同一柱面内的磁道切换速度通常要快于柱面间的切换,对保持数据传输率更为有利。
柱面示意图
由此,很多人可能得出结论,同一产品系列中,磁头数越多的型号的连续读写性能越好(如果是零散读写根本不受柱面容量的影响)。这个说法基本正确,但是有忽略的地方。首先,目前的硬盘都采用了区域数据记录,在同一区域内,每磁道扇区数固定,比如D740X分为15个数据区(最外圈还有一个但用于存储系统数据,可不计),最外圈数据区中有2582个柱面,这些柱面的扇区数是相同的,所以即使是20GB型号,也只会在存满1.03GB左右的数据后才转入下一个SPT更少的数据区。而且也有柱面切换速度比磁头切换快的硬盘,D740X就是,因此在这头1个GB的数据区中,80GB的D740X型号性能也许更差。但我们一般使用硬盘都要分区,C盘大概在5-10GB左右,此时20GB的型号已用到了第4个数据区,而10GB的容量在80GB型号中还没有超出第二个数据区,因此就这个分区的整体性能而言,80GB的显然要占优势。从WinBench的硬盘传输率曲线上就能看出这一点, 80GB型号的最高传输率范围覆盖了更多的空间。不过,上面的对比是较极端的,如果是40GB与60GB的型号去对比就不会这么明显,可以说磁头数相差如果在3个以内,性能的差距将非常微弱,但对有的硬盘,即使磁头数相差3个也基本不会有什么差距。


上为D740X-80GB型号的DTR曲线图,下为D740X-40GB型号的DTR曲线图,以10GB容量为界,可发现40GB型号已经用到了DTR更低的第三个数据区,而80GB型号仍处在DTR更高的第二个数据区,理论性能要强于40GB型号
现在再让我们看看另一个例子——酷鱼四,从曲线图上可以看出其第一个数据区占据了1/3多的柱面,也就是说即使是20GB的酷鱼四,在前10GB容量的性能不见得就比80GB的型号差。所以,具体的差别除了要看磁头相差数量还要看数据区的设置。另外,在产品的生产过程中,厂商可能随时进行改进(不仅指Firmware,还包括元件的优化与改良等),往往会出现新的产品比老产品性能更好的情况,比如WD的CaviarXL系列,评测的1200BB是2001年9月的产品(10月才发布单碟40GB的CaviarXL系列),800BB与400BB都是今年一月和二月的产品(Firmware版本没变),后两者的表现与1200BB相比并无劣势。而IBM则为不同磁头数的型号开发了不同版本的Firmware,使得各型号的性能表现都趋于一致。因此,影响容量与性能的可变因素很多。


上为酷鱼四-60GB型号的DTR曲线图,下为酷鱼四-80GB型号的DTR曲线图,即使以20GB容量为界,可发现60GB型号仍在DTR最高的第一个数据区,理论上性能和80GB型号一样
不过,在一些测试中,最大容量型号的表现基本都很出色,有的大容量5400RPM的性能甚至好过一些小容量的7200RPM硬盘。
7、 FDB的作用:
FDB马达对于很多人来说是比较新鲜的,在很多公司的宣传中,FDB的作用被定为减少噪音与热量,甚至能提高性能。这么说似乎有道理,但容易产生误导。BB轴承使用圆形滚珠(材料可为金属或陶瓷)作为主轴与基座之间的运动连接/支撑体,由于滚珠加工精确度产生的必然差异,在主轴高速运转中,滚珠之间会发生碰撞而振动,这就是马达(主轴)噪音的主要根源(其他原因还包括轴承装配精度与力矩的平衡),FDB则使用了液态润滑物质代替滚珠,这样就完全消除了因碰撞产生的噪音。但是,主轴的噪音在硬盘整体噪音中的强度比重较小,而且人耳对其远不如音圈马达寻道噪音敏感(因为频率较低),所以FDB的减噪功能确切的说只有在硬盘空闲时(磁盘空转,磁头不寻址)才能体现。另外,对于热量,滚珠之间磨擦肯定是一个热源,但这与马达电机相比也不算什么,而且FDB的效率往往并不如BB,马达功耗可能会更大。第一块使用FDB的IDE硬盘——希捷的“大灰熊”,其热量之高想必是很多老玩家记忆犹新的,而且即使是不用滚珠的音圈马达的热量也很高。因此主轴马达的主要热源并不在轴承。我们在测试中也发现,现阶段FDB并没有体现出对BB的降热优势。
综上所述,大家要对FDB有一个客观的认识,不能盲目听信宣传,认为FDB肯定比BB好(毕竟转速是固定的,性能不会改变)。至少在目前,FDB并没有多大优势,这可能也是为什么IBM与WD仍没有使用FDB的一大原因。
8、 怎么测试硬盘:
看过不少的硬盘横向测试,虽然使用的软件都一样,但其中的测试方法实在不敢认同。硬盘测试有两个方面,一是硬盘本身的性能,另一个是硬盘对整机性能的影响。对于前者,很多测试人员将被测硬盘也当作是系统硬盘,也划出成多个分区。虽然比较符合实际的应用,但不能真正反映硬盘的性能,而真正符合实际应用的测试并不在于硬盘的单独测试上。事实上,最合理的硬盘单独测试方法是,操作系统与测试软件装在另一个硬盘上,被测硬盘单独接在一个硬盘接口,接下来就是分区,此时必须要将全部容量分成一个区才能体现硬盘的综合性能。现在最常用也是最好用的硬盘测试软件WinBench99就是以分区大小来确定测试区域的,包括DTR、访问时间、应用模拟测试等,在DTR测试中以分区的最外圈磁道开始到分区的最内圈磁道终止,所以如果只用头10GB的容量为一个分区,那么测出来的就是这10GB之内的DTR而不是整个硬盘的,这也是为什么有些数据中,结束端比起始端的数值还要高的原因(如果分区容量没有超出数据区,那么很容易因为误差产生这种结果)。另外,如果测试区域很小,则磁头寻道的时间也会限制在更低的范围内(因为寻道的范围也小了),同样有利于得高分,类似的影响也体现在商业与高端测试中。所以,硬盘单独测试时必须进行全分区!至于用什么样的文件系统就不是很重要了,不过FAT32的得分一般都比NTFS的高,但如果测试条件统一,那么都是有说服力的,成绩排名也不会因为文件系统的改变而改变。
现在再说说整机测试。虽然是硬盘横向测试,但要想知道哪个硬盘对整机性能提升最大,就必须动用Winstone系列软件来进行对比测试了,这可以说是对硬盘的性能终极考试,因为WinBench99相对简单,也不是很全面,更容易被厂商钻空,而Winstone就不一样了,硬盘只是其中的一个子系统,但它也会影响最终的成绩。遗憾的是很多硬盘横向测试中都没有这一项,只是简单的跑跑WinBech99就完了。Winstone测试就要在接近真实使用情况的设置下进行,此时就不能用全分区了,因为现实中很少有人这么做。而测试一般都在被测硬盘的C区,所以容量通常为5-10GB。当然,也可以进行全分区的整机测试,这就取决于测试人员自己的决定了。
在经过正确的硬盘单独与整机测试后,我们就能对被测产品性能有一个比较全面的认识和客观的评价了。
好啦,有关硬盘的相关常识今天就先讲到这,在日后本站的硬盘测试中,还将陆续向大家介绍相关的硬盘技术与知识,敬请大家密切留意本站的动态。 |