- 相關推薦
硬盤的相關參數(shù)與常見誤區(qū)解析
我們來了解一下硬盤的內部結構,它將有助于理解本文的相關內容。
硬盤的相關參數(shù)與常見誤區(qū)解析
工作時,磁盤在中軸馬達的帶動下,高速旋轉,而磁頭臂在音圈馬達的控制下,在磁盤上方進行徑向的移動進行尋址
硬盤常見的技術指標有以下幾種:
1、每分鐘轉速(RPM,RevolutionsPerMinute):這一指標代表了硬盤主軸馬達(帶動磁盤)的轉速,比如5400RPM就代表該硬盤中的主軸轉速為每分鐘5400轉。
2、平均尋道時間(AverageSeekTime):如果沒有特殊說明一般指讀取時的尋道時間,單位為ms(毫秒)。
這一指標的含義是指硬盤接到讀/寫指令后到磁頭移到指定的磁道(應該是柱面,但對于具體磁頭來說就是磁道)上方所需要的平均時間。
除了平均尋道時間外,還有道間尋道時間(TracktoTrack或CylinderSwitchTime)與全程尋道時間(FullTrack或FullStroke),前者是指磁頭從當前磁道上方移至相鄰磁道上方所需的時間,后者是指磁頭從最外(或最內)圈磁道上方移至最內(或最外)圈磁道上方所需的時間,基本上比平均尋道時間多一倍。
出于實際的工作情況,我們一般只關心平均尋道時間。
3、平均潛伏期(AverageLatency):這一指標是指當磁頭移動到指定磁道后,要等多長時間指定的讀/寫扇區(qū)會移動到磁頭下方(盤片是旋轉的),盤片轉得越快,潛伏期越短。
平均潛伏期是指磁盤轉動半圈所用的時間。
顯然,同一轉速的硬盤的平均潛伏期是固定的。
7200RPM時約為4.167ms,5400RPM時約為5.556ms。
4、平均訪問時間(AverageAccessTime):又稱平均存取時間,一般在廠商公布的規(guī)格中不會提供,這一般是測試成績中的一項,其含義是指從讀/寫指令發(fā)出到第一筆數(shù)據(jù)讀/寫時所用的平均時間,包括了平均尋道時間、平均潛伏期與相關的內務操作時間(如指令處理),由于內務操作時間一般很短(一般在0.2ms左右),可忽略不計,所以平均訪問時間可近似等于平均尋道時間+平均潛伏期,因而又稱平均尋址時間。
如果一個5400RPM硬盤的平均尋道時間是9ms,那么理論上它的平均訪問時間就是14.556ms。
5、數(shù)據(jù)傳輸率(DTR,DataTransferRate):單位為MB/s(兆字節(jié)每秒,又稱MBPS)或Mbits/s(兆位每秒,又稱Mbps)。
DTR分為最大(Maximum)與持續(xù)(Sustained)兩個指標,根據(jù)數(shù)據(jù)交接方的不同又分外部與內部數(shù)據(jù)傳輸率。
內部DTR是指磁頭與緩沖區(qū)之間的數(shù)據(jù)傳輸率,外部DTR是指緩沖區(qū)與主機(即內存)之間的數(shù)據(jù)傳輸率。
外部DTR上限取決于硬盤的接口,目前流行的UltraATA-100接口即代表外部DTR最高理論值可達100MB/s,持續(xù)DTR則要看內部持續(xù)DTR的水平。
內部DTR則是硬盤的真正數(shù)據(jù)傳輸能力,為充分發(fā)揮內部DTR,外部DTR理論值都會比內部DTR高,但內部DTR決定了外部DTR的實際表現(xiàn)。
由于磁盤中最外圈的磁道最長,可以讓磁頭在單位時間內比內圈的磁道劃過更多的扇區(qū),所以磁頭在最外圈時內部DTR最大,在最內圈時內部DTR最小。
6、緩沖區(qū)容量(BufferSize):很多人也稱之為緩存(Cache)容量,單位為MB。
在一些廠商資料中還被寫作CacheBuffer。
緩沖區(qū)的基本要作用是平衡內部與外部的DTR。
為了減少主機的等待時間,硬盤會將讀取的資料先存入緩沖區(qū),等全部讀完或緩沖區(qū)填滿后再以接口速率快速向主機發(fā)送。
隨著技術的發(fā)展,廠商們后來為SCSI硬盤緩沖區(qū)增加了緩存功能(這也是為什么筆者仍然堅持說其是緩沖區(qū)的原因)。
這主要體現(xiàn)在三個方面:預取(Prefetch),實驗表明在典型情況下,至少50%的讀取操作是連續(xù)讀取。
預取功能簡單地說就是硬盤“私自”擴大讀取范圍,在緩沖區(qū)向主機發(fā)送指定扇區(qū)數(shù)據(jù)(即磁頭已經讀完指定扇區(qū))之后,磁頭接著讀取相鄰的若干個扇區(qū)數(shù)據(jù)并送入緩沖區(qū),如果后面的讀操作正好指向已預取的相鄰扇區(qū),即從緩沖區(qū)中讀取而不用磁頭再尋址,提高了訪問速度。
寫緩存(WriteCache),通常情況下在寫入操作時,也是先將數(shù)據(jù)寫入緩沖區(qū)再發(fā)送到磁頭,等磁頭寫入完畢后再報告主機寫入完畢,主機才開始處理下一任務。
具備寫緩存的硬盤則在數(shù)據(jù)寫入緩區(qū)后即向主機報告寫入完畢,讓主機提前“解放”處理其他事務(剩下的磁頭寫入操作主機不用等待),提高了整體效率。
為了進一步提高效能,現(xiàn)在的廠商基本都應用了分段式緩存技術(MultipleSegmentCache),將緩沖區(qū)劃分成多個小塊,存儲不同的寫入數(shù)據(jù),而不必為小數(shù)據(jù)浪費整個緩沖區(qū)空間,同時還可以等所有段寫滿后統(tǒng)一寫入,性能更好。
讀緩存(ReadCache),將讀取過的數(shù)據(jù)暫時保存在緩沖區(qū)中,如果主機再次需要時可直接從緩沖區(qū)提供,加快速度。
讀緩存同樣也可以利用分段技術,存儲多個互不相干的數(shù)據(jù)塊,緩存多個已讀數(shù)據(jù),進一步提高緩存命中率。
這是我們經常能看到的硬盤參數(shù)指標,正確理解它們的含義無疑對選購是有幫助的
7、噪音與溫度(Noise&Temperature):這兩個屬于非性能指標。
對于噪音,以前廠商們并不在意,但從2000年開始,出于市場的需要(比如OEM廠商希望生產更安靜的電腦以增加賣點)廠商通過各種手段來降低硬盤的工作噪音,ATA-5規(guī)范第三版也加入了自動聲學(噪音)管理子集(AAM,AutomaticAcousticManagement),因此目前的所有新硬盤都支持AAM功能。
硬盤的噪音主要來源于主軸馬達與音圈馬達,降噪也是從這兩點入手(盤片的增多也會增加噪音,但這沒有辦法)。
除了AAM外,廠商的努力在上文的廠商介紹中已經講到,在此就不多說了。
至于熱量,其實每個廠商都有自己的標準,并聲稱硬盤的表現(xiàn)是他們預料之中的,完全在安全范圍之內,沒有問題。
這一點倒的是不用擔心,不過關鍵在于硬盤是機箱中的一個組成部分,它的高熱會提高機箱的整體溫度,也許硬盤本身沒事,但可能周圍的配件卻經受不了,別的不說,如果是兩個高熱的硬盤安裝得很緊密,那么它還能承受近乎于雙倍的熱量嗎?所以硬盤的熱量仍需廠商們注意。
對硬盤認識的常見誤區(qū)(一)
1、轉速與尋道時間:
現(xiàn)在不少人都認為硬盤轉速越快尋道時間就越快,但這是最常見的錯誤認識,事實上尋道速度根本不決定于轉速,因為兩者的控制設備就不一樣。
轉速是由主軸馬達控制,尋道則由音圈馬達控制。
尋道時間說白了就是體現(xiàn)了磁頭臂徑向運動的速度與控制能力,音圈馬達與相應的伺服系統(tǒng)起著重要作用。
另外,磁頭的高靈敏度也有助于在高密度磁盤上準確捕獲伺服標記,進而快速定位。
很多情況下,我們都可以看到5400RPM硬盤的尋道時間與7200RPM硬盤一樣(如三星的V40與P40)。
之所以有些高速硬盤(如SCSI硬盤)的尋道時間更快,是因為廠商的有意設計,就好像一臺Pentium4電腦只配32MB內存讓人覺得不平衡一樣,廠商也會給高速硬盤配上更快的尋道時間(也意味著更好的元件與更高的成本,顯然廠商要根據(jù)市場的需要權衡利弊)。
實際上,通過上文有關平均訪問時間的解釋,大家應該明白,提高轉速的主用意就是減少平均潛伏期,進而加快整體的訪問速度,也許很多人不認同這是它最重要的用意,由此就又引出了下一個誤區(qū)。
2、轉速與數(shù)據(jù)傳輸率:
在很多人的印象和廠商的宣傳中,更高的轉速的主要用意在于提高數(shù)據(jù)傳輸率,但這并不正確。
持續(xù)數(shù)據(jù)傳輸率決定于很多指標,并不光只是轉速。
當然,有人會說轉速更高,磁頭單位時間劃過的扇區(qū)就越多,不錯,但前提是線密度一樣。
線密度可理解為每磁道扇區(qū)數(shù)(SPT,SectorsPerTrack)。
低速硬盤完全可以通過提高SPT來加大數(shù)據(jù)傳輸率,SCSI硬盤就是追求SPT的典型。
事實上,很多廠商在相同單碟容量上對于不同的轉速采用了不同的SPT設計,如金鉆七的最外圈磁道扇區(qū)數(shù)為837個,而星鉆三代則為896個。
有人可能會問,那如何保證容量一致呢?這就涉及到每英寸磁道數(shù)(TPI,TracksPerInch),它代表了磁道密度。
SPT高則TPI就會相應減少,如金鉆七為60000TPI,星鉆三代則是57000TPI。
本次測試最典型的例子是Caviar系列硬盤,WinBench測得的數(shù)據(jù)傳輸率與某些7200RPM產品相當。
雖然我沒有該系列硬盤最外圈SPT資料,但肯定不會低于1000(若轉速實為5400RPM),即使轉速真的是6000RPM,也在900之上。
因此5400RPM硬盤完全可以通過提高33%(7200RPM比5400RPM轉速高33%)的SPT來得到相同的數(shù)據(jù)傳輸率。
綜上所述,7200RPM相對于5400RPM硬盤的最大優(yōu)勢就在于更短的平均潛伏期,進而減少平均訪問時間。
畢竟轉速是死的,5400RPM永遠處于劣勢。
3、真正的內部數(shù)據(jù)傳輸率:
隨著硬盤知識的普及,硬盤DTR這一指標也逐漸被人們所認識,但又出現(xiàn)了新的誤區(qū)??拿以Mbps為單位的最高內部DTR說事,這其中某些廠商與所謂高手的誤導有著不可推卸的責任,后果也是相當嚴重。
由于內部DTR決定了硬盤的實際數(shù)據(jù)傳輸性能,所以很多人都在關心硬盤的內部DTR,而廠商也投其所好,在產品資料中基本都公布了最大內部傳輸率,但多是以Mbps為單位,不少人因此拿這個數(shù)值來預測硬盤的性能,甚至分析到接口速率的瓶頸(這些人通常將其換算成MBPS,而目前最高的數(shù)值將近80MBPS,離UltraATA-100的最大速率已相差不遠了)。
但是,它恰恰不能通過除8來換算成MBPS,因為這個數(shù)值是磁頭處理二進制0/1信號(即bit)的純理論性能,而磁頭處理的信號很大部分并不是用戶需要的數(shù)據(jù)(存入的數(shù)據(jù)都是經過編碼的,包含許多輔助信息),因此不能以字節(jié)為單位。
很多硬盤這一數(shù)值都是相當高的,如以前的富士通硬盤,指標很好,但實際性能卻是另一碼事。
完全可以說,這個Mbps值沒有什么實際價值,給人的是一種假象。
在硬盤中,真正重要的是內部持續(xù)DTR,它分為單磁道瞬間DTR與持續(xù)DTR兩個指標,單磁道瞬間DTR的計算公式是“512字節(jié)×SPT×磁盤每秒所轉圈數(shù)”或“512字節(jié)×SPT÷磁盤轉一圈所用時間”,由于磁盤轉一圈所用時間一般不能除盡,所以經常用前一種公式。
持續(xù)DTR的計算公式則為“512字節(jié)×SPT×磁頭數(shù)/總耗時”,其中“總耗時=(磁頭數(shù)-1)×磁頭切換時間+道間尋道時間+磁頭數(shù)×磁盤轉一圈的時間”。
磁頭切換時間一般在產品的用戶手冊中有標注,大約在1ms左右。
單磁道瞬間DTR表明了硬盤實際上所能達到的最大內部DTR,持續(xù)DTR則體現(xiàn)了硬盤真正的數(shù)據(jù)傳輸能力。
很遺憾的是,目前只有邁拓和IBM提供了內部持續(xù)DTR數(shù)據(jù),其他廠商仍然用Mbps數(shù)值迷惑普通大眾。
但是,廠商心里是明白的,他們自己也不會混淆概念(只是沒事偷著樂),在數(shù)據(jù)的說法上也是非常嚴謹,如果你哪天發(fā)現(xiàn)廠商公布的內部DTR使用了MB/s為單位,那么這很可能就是我們所真正需要的數(shù)據(jù),而不要再用Mbps去除8了。
IBM120GXP的技術資料,其中有兩個內部DTR,我們只需關心第二個
4、緩沖區(qū)容量與性能:
上文說過內部DTR決定了外部DTR的實際表現(xiàn),但為了將內部DTR對外部DTR的影響降至最低,產生了緩沖區(qū)設計。
理論上講,緩沖區(qū)越大,即使內部DTR不變,硬盤的性能也會更好,這就好比CPU中的緩存一樣。
不過,要做到緩沖區(qū)容量的增加并提高性能還是有一定難度的。
這主要體現(xiàn)在緩存功能管理與數(shù)據(jù)安全兩個方面。
緩存功能管理決定了緩沖區(qū)智能化與緩存效果,簡單的說就是一種管理算法與替換策略,負責這一任務的就是緩存控制器。
上文已經講到目前都將緩沖區(qū)做分段處理,并且是動態(tài)的,根據(jù)數(shù)據(jù)流情況自動劃分。
以120GXP為例,在讀操作時可最多劃分12個數(shù)據(jù)段(平均容量約155KB),在寫操作時數(shù)據(jù)段可高達52個(平均容量約35KB)。
那么怎么去動態(tài)的劃分區(qū)段,怎么去選擇最不常用的區(qū)段以替換成新的數(shù)據(jù),都將影響最終的性能表現(xiàn)。