在我們平時選購硬盤時,經(jīng)常會了解硬盤的一些參數(shù),而且很多雜志的相關(guān)文章也對此進(jìn)行了不少的解釋。不過,很多情況下,這種介紹并不細(xì)致甚至?xí)䦷в幸恍┱`導(dǎo)的成分。今天,我們就聊聊這方面的話題,希望能對硬盤選購者提供應(yīng)有的幫助。
首先,我們來了解一下硬盤的內(nèi)部結(jié)構(gòu),它將有助于理解本文的相關(guān)內(nèi)容。
圖為:硬盤的內(nèi)部結(jié)構(gòu)
工作時,磁盤在中軸馬達(dá)的帶動下,高速旋轉(zhuǎn),而磁頭臂在音圈馬達(dá)的控制下,在磁盤上方進(jìn)行徑向的移動進(jìn)行尋址
硬盤常見的技術(shù)指標(biāo)有以下幾種:
1、每分鐘轉(zhuǎn)速(RPM,Revolutions Per Minute):這一指標(biāo)代表了硬盤主軸馬達(dá)(帶動磁盤)的轉(zhuǎn)速,比如5400RPM就代表該硬盤中的主軸轉(zhuǎn)速為每分鐘5400轉(zhuǎn)。
2、平均尋道時間(Average Seek Time):如果沒有特殊說明一般指讀取時的尋道時間,單位為ms(毫秒)。這一指標(biāo)的含義是指硬盤接到讀/寫指令后到磁頭移到指定的磁道(應(yīng)該是柱面,但對于具體磁頭來說就是磁道)上方所需要的平均時間。除了平均尋道時間外,還有道間尋道時間(Track to Track或Cylinder Switch Time)與全程尋道時間(Full Track或Full Stroke),前者是指磁頭從當(dāng)前磁道上方移至相鄰磁道上方所需的時間,后者是指磁頭從最外(或最內(nèi))圈磁道上方移至最內(nèi)(或最外)圈磁道上方所需的時間,基本上比平均尋道時間多一倍。出于實(shí)際的工作情況,我們一般只關(guān)心平均尋道時間。
3、平均潛伏期(Average Latency):這一指標(biāo)是指當(dāng)磁頭移動到指定磁道后,要等多長時間指定的讀/寫扇區(qū)會移動到磁頭下方(盤片是旋轉(zhuǎn)的),盤片轉(zhuǎn)得越快,潛伏期越短。平均潛伏期是指磁盤轉(zhuǎn)動半圈所用的時間。顯然,同一轉(zhuǎn)速的硬盤的平均潛伏期是固定的。7200RPM時約為4.167ms,5400RPM時約為5.556ms。
4、平均訪問時間(Average Access Time):又稱平均存取時間,一般在廠商公布的規(guī)格中不會提供,這一般是測試成績中的一項(xiàng),其含義是指從讀/寫指令發(fā)出到第一筆數(shù)據(jù)讀/寫時所用的平均時間,包括了平均尋道時間、平均潛伏期與相關(guān)的內(nèi)務(wù)操作時間(如指令處理),由于內(nèi)務(wù)操作時間一般很短(一般在0.2ms左右),可忽略不計(jì),所以平均訪問時間可近似等于平均尋道時間+平均潛伏期,因而又稱平均尋址時間。如果一個5400RPM硬盤的平均尋道時間是9ms,那么理論上它的平均訪問時間就是14.556ms。
5、數(shù)據(jù)傳輸率(DTR,Data Transfer Rate):單位為MB/s(兆字節(jié)每秒,又稱MBPS)或Mbits/s(兆位每秒,又稱Mbps)。DTR分為最大(Maximum)與持續(xù)(Sustained)兩個指標(biāo),根據(jù)數(shù)據(jù)交接方的不同又分外部與內(nèi)部數(shù)據(jù)傳輸率。內(nèi)部DTR是指磁頭與緩沖區(qū)之間的數(shù)據(jù)傳輸率,外部DTR是指緩沖區(qū)與主機(jī)(即內(nèi)存)之間的數(shù)據(jù)傳輸率。外部DTR上限取決于硬盤的接口,目前流行的Ultra ATA-100接口即代表外部DTR最高理論值可達(dá)100MB/s,持續(xù)DTR則要看內(nèi)部持續(xù)DTR的水平。內(nèi)部DTR則是硬盤的真正數(shù)據(jù)傳輸能力,為充分發(fā)揮內(nèi)部DTR,外部DTR理論值都會比內(nèi)部DTR高,但內(nèi)部DTR決定了外部DTR的實(shí)際表現(xiàn)。由于磁盤中最外圈的磁道最長,可以讓磁頭在單位時間內(nèi)比內(nèi)圈的磁道劃過更多的扇區(qū),所以磁頭在最外圈時內(nèi)部DTR最大,在最內(nèi)圈時內(nèi)部DTR最小。
6、緩沖區(qū)容量(Buffer Size):很多人也稱之為緩存(Cache)容量,單位為MB。在一些廠商資料中還被寫作Cache Buffer。緩沖區(qū)的基本要作用是平衡內(nèi)部與外部的DTR。為了減少主機(jī)的等待時間,硬盤會將讀取的資料先存入緩沖區(qū),等全部讀完或緩沖區(qū)填滿后再以接口速率快速向主機(jī)發(fā)送。隨著技術(shù)的發(fā)展,廠商們后來為SCSI硬盤緩沖區(qū)增加了緩存功能(這也是為什么筆者仍然堅(jiān)持說其是緩沖區(qū)的原因)。這主要體現(xiàn)在三個方面:預(yù)取(Prefetch),實(shí)驗(yàn)表明在典型情況下,至少50%的讀取操作是連續(xù)讀取。預(yù)取功能簡單地說就是硬盤“私自”擴(kuò)大讀取范圍,在緩沖區(qū)向主機(jī)發(fā)送指定扇區(qū)數(shù)據(jù)(即磁頭已經(jīng)讀完指定扇區(qū))之后,磁頭接著讀取相鄰的若干個扇區(qū)數(shù)據(jù)并送入緩沖區(qū),如果后面的讀操作正好指向已預(yù)取的相鄰扇區(qū),即從緩沖區(qū)中讀取而不用磁頭再尋址,提高了訪問速度。寫緩存(Write Cache),通常情況下在寫入操作時,也是先將數(shù)據(jù)寫入緩沖區(qū)再發(fā)送到磁頭,等磁頭寫入完畢后再報告主機(jī)寫入完畢,主機(jī)才開始處理下一任務(wù)。具備寫緩存的硬盤則在數(shù)據(jù)寫入緩區(qū)后即向主機(jī)報告寫入完畢,讓主機(jī)提前“解放”處理其他事務(wù)(剩下的磁頭寫入操作主機(jī)不用等待),提高了整體效率。為了進(jìn)一步提高效能,現(xiàn)在的廠商基本都應(yīng)用了分段式緩存技術(shù)(Multiple Segment Cache),將緩沖區(qū)劃分成多個小塊,存儲不同的寫入數(shù)據(jù),而不必為小數(shù)據(jù)浪費(fèi)整個緩沖區(qū)空間,同時還可以等所有段寫滿后統(tǒng)一寫入,性能更好。讀緩存(Read Cache),將讀取過的數(shù)據(jù)暫時保存在緩沖區(qū)中,如果主機(jī)再次需要時可直接從緩沖區(qū)提供,加快速度。讀緩存同樣也可以利用分段技術(shù),存儲多個互不相干的數(shù)據(jù)塊,緩存多個已讀數(shù)據(jù),進(jìn)一步提高緩存命中率。
圖為:經(jīng)常能看到的硬盤參數(shù)指標(biāo),正確理解它們的含義對選購會有幫助
7、噪音與溫度(Noise & Temperature):這兩個屬于非性能指標(biāo)。對于噪音,以前廠商們并不在意,但從2000年開始,出于市場的需要(比如OEM廠商希望生產(chǎn)更安靜的電腦以增加賣點(diǎn))廠商通過各種手段來降低硬盤的工作噪音,ATA-5規(guī)范第三版也加入了自動聲學(xué)(噪音)管理子集(AAM,Automatic Acoustic Management),因此目前的所有新硬盤都支持AAM功能。硬盤的噪音主要來源于主軸馬達(dá)與音圈馬達(dá),降噪也是從這兩點(diǎn)入手(盤片的增多也會增加噪音,但這沒有辦法)。除了AAM外,廠商的努力在上文的廠商介紹中已經(jīng)講到,在此就不多說了。至于熱量,其實(shí)每個廠商都有自己的標(biāo)準(zhǔn),并聲稱硬盤的表現(xiàn)是他們預(yù)料之中的,完全在安全范圍之內(nèi),沒有問題。這一點(diǎn)倒的是不用擔(dān)心,不過關(guān)鍵在于硬盤是機(jī)箱中的一個組成部分,它的高熱會提高機(jī)箱的整體溫度,也許硬盤本身沒事,但可能周圍的配件卻經(jīng)受不了,別的不說,如果是兩個高熱的硬盤安裝得很緊密,那么它還能承受近乎于雙倍的熱量嗎?所以硬盤的熱量仍需廠商們注意。
對硬盤認(rèn)識的常見誤區(qū)(一)
1、轉(zhuǎn)速與尋道時間:
現(xiàn)在不少人都認(rèn)為硬盤轉(zhuǎn)速越快尋道時間就越快,但這是最常見的錯誤認(rèn)識,事實(shí)上尋道速度根本不決定于轉(zhuǎn)速,因?yàn)閮烧叩目刂圃O(shè)備就不一樣。轉(zhuǎn)速是由主軸馬達(dá)控制,尋道則由音圈馬達(dá)控制。尋道時間說白了就是體現(xiàn)了磁頭臂徑向運(yùn)動的速度與控制能力,音圈馬達(dá)與相應(yīng)的伺服系統(tǒng)起著重要作用。另外,磁頭的高靈敏度也有助于在高密度磁盤上準(zhǔn)確捕獲伺服標(biāo)記,進(jìn)而快速定位。很多情況下,我們都可以看到5400RPM硬盤的尋道時間與7200RPM硬盤一樣(如三星的V40與P40)。之所以有些高速硬盤(如SCSI硬盤)的尋道時間更快,是因?yàn)閺S商的有意設(shè)計(jì),就好像一臺Pentium4電腦只配32MB內(nèi)存讓人覺得不平衡一樣,廠商也會給高速硬盤配上更快的尋道時間(也意味著更好的元件與更高的成本,顯然廠商要根據(jù)市場的需要權(quán)衡利弊)。實(shí)際上,通過上文有關(guān)平均訪問時間的解釋,大家應(yīng)該明白,提高轉(zhuǎn)速的主用意就是減少平均潛伏期,進(jìn)而加快整體的訪問速度,也許很多人不認(rèn)同這是它最重要的用意,由此就又引出了下一個誤區(qū)。
2、轉(zhuǎn)速與數(shù)據(jù)傳輸率:
在很多人的印象和廠商的宣傳中,更高的轉(zhuǎn)速的主要用意在于提高數(shù)據(jù)傳輸率,但這并不正確。持續(xù)數(shù)據(jù)傳輸率決定于很多指標(biāo),并不光只是轉(zhuǎn)速。當(dāng)然,有人會說轉(zhuǎn)速更高,磁頭單位時間劃過的扇區(qū)就越多,不錯,但前提是線密度一樣。線密度可理解為每磁道扇區(qū)數(shù)(SPT,Sectors Per Track)。低速硬盤完全可以通過提高SPT來加大數(shù)據(jù)傳輸率,SCSI硬盤就是追求SPT的典型。事實(shí)上,很多廠商在相同單碟容量上對于不同的轉(zhuǎn)速采用了不同的SPT設(shè)計(jì),如金鉆七的最外圈磁道扇區(qū)數(shù)為837個,而星鉆三代則為896個。有人可能會問,那如何保證容量一致呢?這就涉及到每英寸磁道數(shù)(TPI,Tracks Per Inch),它代表了磁道密度。SPT高則TPI就會相應(yīng)減少,如金鉆七為60000TPI,星鉆三代則是57000TPI。本次測試最典型的例子是Caviar系列硬盤,WinBench測得的數(shù)據(jù)傳輸率與某些7200RPM產(chǎn)品相當(dāng)。雖然我沒有該系列硬盤最外圈SPT資料,但肯定不會低于1000(若轉(zhuǎn)速實(shí)為5400RPM),即使轉(zhuǎn)速真的是6000RPM,也在900之上。因此5400RPM硬盤完全可以通過提高33%(7200RPM比5400RPM轉(zhuǎn)速高33%)的SPT來得到相同的數(shù)據(jù)傳輸率。
綜上所述,7200RPM相對于5400RPM硬盤的最大優(yōu)勢就在于更短的平均潛伏期,進(jìn)而減少平均訪問時間。畢竟轉(zhuǎn)速是死的,5400RPM永遠(yuǎn)處于劣勢。
3、真正的內(nèi)部數(shù)據(jù)傳輸率:
隨著硬盤知識的普及,硬盤DTR這一指標(biāo)也逐漸被人們所認(rèn)識,但又出現(xiàn)了新的誤區(qū)——拿以Mbps為單位的最高內(nèi)部DTR說事,這其中某些廠商與所謂高手的誤導(dǎo)有著不可推卸的責(zé)任,后果也是相當(dāng)嚴(yán)重。由于內(nèi)部DTR決定了硬盤的實(shí)際數(shù)據(jù)傳輸性能,所以很多人都在關(guān)心硬盤的內(nèi)部DTR,而廠商也投其所好,在產(chǎn)品資料中基本都公布了最大內(nèi)部傳輸率,但多是以Mbps為單位,不少人因此拿這個數(shù)值來預(yù)測硬盤的性能,甚至分析到接口速率的瓶頸(這些人通常將其換算成MBPS,而目前最高的數(shù)值將近80MBPS,離Ultra ATA-100的最大速率已相差不遠(yuǎn)了)。但是,它恰恰不能通過除8來換算成MBPS,因?yàn)檫@個數(shù)值是磁頭處理二進(jìn)制0/1信號(即bit)的純理論性能,而磁頭處理的信號很大部分并不是用戶需要的數(shù)據(jù)(存入的數(shù)據(jù)都是經(jīng)過編碼的,包含許多輔助信息),因此不能以字節(jié)為單位。很多硬盤這一數(shù)值都是相當(dāng)高的,如以前的富士通硬盤,指標(biāo)很好,但實(shí)際性能卻是另一碼事。完全可以說,這個Mbps值沒有什么實(shí)際價值,給人的是一種假象。
在硬盤中,真正重要的是內(nèi)部持續(xù)DTR,它分為單磁道瞬間DTR與持續(xù)DTR兩個指標(biāo),單磁道瞬間DTR的計(jì)算公式是“512字節(jié)×SPT×磁盤每秒所轉(zhuǎn)圈數(shù)”或“512字節(jié)×SPT÷磁盤轉(zhuǎn)一圈所用時間”,由于磁盤轉(zhuǎn)一圈所用時間一般不能除盡,所以經(jīng)常用前一種公式。持續(xù)DTR的計(jì)算公式則為“512字節(jié)×SPT×磁頭數(shù)/總耗時”,其中“總耗時=(磁頭數(shù)-1)×磁頭切換時間+道間尋道時間+磁頭數(shù)×磁盤轉(zhuǎn)一圈的時間”。磁頭切換時間一般在產(chǎn)品的用戶手冊中有標(biāo)注,大約在1ms左右。單磁道瞬間DTR表明了硬盤實(shí)際上所能達(dá)到的最大內(nèi)部DTR,持續(xù)DTR則體現(xiàn)了硬盤真正的數(shù)據(jù)傳輸能力。很遺憾的是,目前只有邁拓和IBM提供了內(nèi)部持續(xù)DTR數(shù)據(jù),其他廠商仍然用Mbps數(shù)值迷惑普通大眾。但是,廠商心里是明白的,他們自己也不會混淆概念(只是沒事偷著樂),在數(shù)據(jù)的說法上也是非常嚴(yán)謹(jǐn),如果你哪天發(fā)現(xiàn)廠商公布的內(nèi)部DTR使用了MB/s為單位,那么這很可能就是我們所真正需要的數(shù)據(jù),而不要再用Mbps去除8了。
圖為:IBM 120GXP 其中有兩個內(nèi)部DTR 我們只需關(guān)心第二個
4、緩沖區(qū)容量與性能:
上文說過內(nèi)部DTR決定了外部DTR的實(shí)際表現(xiàn),但為了將內(nèi)部DTR對外部DTR的影響降至最低,產(chǎn)生了緩沖區(qū)設(shè)計(jì)。理論上講,緩沖區(qū)越大,即使內(nèi)部DTR不變,硬盤的性能也會更好,這就好比CPU中的緩存一樣。不過,要做到緩沖區(qū)容量的增加并提高性能還是有一定難度的。這主要體現(xiàn)在緩存功能管理與數(shù)據(jù)安全兩個方面。緩存功能管理決定了緩沖區(qū)智能化與緩存效果,簡單的說就是一種管理算法與替換策略,負(fù)責(zé)這一任務(wù)的就是緩存控制器。上文已經(jīng)講到目前都將緩沖區(qū)做分段處理,并且是動態(tài)的,根據(jù)數(shù)據(jù)流情況自動劃分。以120GXP為例,在讀操作時可最多劃分12個數(shù)據(jù)段(平均容量約155KB),在寫操作時數(shù)據(jù)段可高達(dá)52個(平均容量約35KB)。那么怎么去動態(tài)的劃分區(qū)段,怎么去選擇最不常用的區(qū)段以替換成新的數(shù)據(jù),都將影響最終的性能表現(xiàn)。比如區(qū)段劃分不合理將影響緩沖區(qū)空間的利用率和預(yù)讀效果,數(shù)據(jù)替換不合理將影響緩存命中率,這樣一來說不定與小容量緩沖區(qū)性能差不多。講到這,大家肯定會想到了CPU緩存的算法(比如N路級聯(lián)與更新策略等),的確兩者有相同之處。對于更大容量的緩沖區(qū),肯定就不能照搬小容量緩沖區(qū)的緩存管理算法。因此,緩沖區(qū)越大性能越好是有前提的,這對廠商的緩存管理技術(shù)水平提出了更高的要求。
大容量緩沖區(qū)的數(shù)據(jù)安全性主要是指在突然斷電的情況下,緩沖區(qū)中的待寫數(shù)據(jù)將如何處理的問題。這方面筆記本電腦硬盤就有了得天獨(dú)厚的優(yōu)勢,因?yàn)橛须姵貫楹蠖,筆記本電腦硬盤的緩沖區(qū)容量已經(jīng)提升到了16MB。但對于臺式機(jī),這是個不小的考驗(yàn)。WD公司在這方面做出了有意義的探索,主要方法是通過將數(shù)據(jù)暫時保存在最外圈暫存區(qū)(因?yàn)樽钔馊Φ膶懭胨俣茸羁?,下次開機(jī)再寫入原目的地址的方法來保證緩沖區(qū)中待寫數(shù)據(jù)的安全,顯然這需要特殊的管理機(jī)制,也是廠商的自由發(fā)揮了。
最后我們再談?wù)勀壳捌毡榱餍械恼f法——大容量緩沖區(qū)對零散數(shù)據(jù)非常有利,這是很片面的認(rèn)識。當(dāng)然,這種說法可以理解,也沒有什么根本性錯誤,但容易誤導(dǎo)人們對大容量緩沖區(qū)的認(rèn)識。從分段式緩存結(jié)構(gòu)可以看出,更大的緩沖區(qū)理論上可以劃分出更多的數(shù)據(jù)段,能容納更多的互不相干的小數(shù)據(jù)塊。而這種隨機(jī)的、不連貫的、小數(shù)據(jù)量的讀取行為在Web服務(wù)、數(shù)據(jù)庫服務(wù)與日常辦公應(yīng)用中很常見。如在Web服務(wù)中,經(jīng)常出現(xiàn)對一個網(wǎng)頁同時有多個請求的情況,而一個網(wǎng)頁的大小也就是幾十到幾百KB的容量,如果緩沖區(qū)能緩存更多的頁面,那么服務(wù)器的表現(xiàn)也會越好。因此大容量緩沖區(qū)在這方面的貢獻(xiàn),我們完全肯定。但另一方面,對于大容量,連續(xù)讀寫的數(shù)據(jù)操作,大容量緩沖區(qū)同樣能發(fā)揮重要的作用。更大的緩沖區(qū)此時意味可一次緩沖更多的數(shù)據(jù)(硬盤會根據(jù)數(shù)據(jù)量將區(qū)段合并),即能在相同的時間內(nèi)向主機(jī)或磁頭發(fā)送更多的數(shù)據(jù),而磁頭的連續(xù)讀寫扇區(qū)的能力更容易發(fā)揮。所以,在音頻、視頻處理等經(jīng)常用到大數(shù)據(jù)量連續(xù)讀寫的場合,大容量緩沖區(qū)硬盤是最佳之選。在下面的測試中,大家也會發(fā)現(xiàn)8MB緩沖區(qū)硬盤相對于2MB緩沖區(qū)硬盤的整體優(yōu)勢。