硬盤結(jié)構(gòu)給我們帶來的驚訝
硬盤是計算機(jī)系統(tǒng)中用于存儲大量數(shù)據(jù)(文件)的部件。雖然現(xiàn)在基于半導(dǎo)體器件的固態(tài)硬盤(SSD)應(yīng)用數(shù)量逐步增加,但機(jī)械硬盤仍然保持在容量和應(yīng)用量方面的領(lǐng)先地位。
每一個動手拆過,或者在網(wǎng)絡(luò)上看到相關(guān)現(xiàn)代硬盤維修視頻的人都會驚訝于硬盤內(nèi)部那機(jī)電一體化的神奇構(gòu)造。光潔如鏡盤片由三相同步電機(jī)帶動高速旋轉(zhuǎn),同時音頻線圈直接驅(qū)動的懸臂帶著磁頭做弧線運動,從而完成了在盤片表面數(shù)據(jù)的讀寫過程。
下面是一個容量為80G的報廢的機(jī)械硬盤簡潔的內(nèi)部,拆開之后可以看到其中包括有一個讀寫磁頭,一個盤片。用于信號處理的電路附著在懸臂上的柔性電路板上。
很多計算機(jī)教科書都會介紹數(shù)據(jù)是如何在磁盤表面進(jìn)行存儲的。磁盤表面從內(nèi)到外分成若干個同心圓,成為磁道不同盤片上下表面中同一半徑的磁道組成磁道柱。每條磁道又分為若干扇區(qū),每個扇區(qū)存儲固定字節(jié)數(shù)(比如512,1024 等)數(shù)據(jù)。計算機(jī)對于磁盤數(shù)據(jù)讀寫是以扇區(qū)(或者多個扇區(qū))為單位進(jìn)行讀寫的。
硬盤容量大?。–)=磁頭數(shù)(N1)×柱面數(shù)(N2)×扇區(qū)數(shù)(N3)×每個扇區(qū)字節(jié)數(shù)(N4)
對于上面提到的80G硬盤,磁頭數(shù)(N1)為1。對于扇區(qū)數(shù)(N3),每個扇區(qū)字節(jié)數(shù)(N4)都取常見到的數(shù)值(N3=1000,N4=512)。
如果按照上面磁盤的大小尺寸,可以計算出磁道與磁道之間的距離w的大小。
以上細(xì)節(jié)即使大家不拆硬盤來看,也能夠通過教科書或者網(wǎng)絡(luò)了解到,可以滿足計算機(jī)專業(yè)學(xué)生的理解需求。但當(dāng)一個自動化系的同學(xué)拆開硬盤之后,在欣賞完磁盤內(nèi)部結(jié)構(gòu)之后,就會產(chǎn)生諸多疑問。比如:
- 問題1:硬盤表面的磁道從內(nèi)到外的長度隨著半徑增加而增加。最內(nèi)側(cè)與最外側(cè)的磁道長度相差超過三倍。如果磁道上扇區(qū)個數(shù)相同的話,那么內(nèi)、外磁道上的扇區(qū)長度也會相差三倍。顯然外圈的磁道上就會浪費三倍的數(shù)據(jù)存儲面積。
- 問題2:對比過軟盤驅(qū)動、光盤驅(qū)動器,它們內(nèi)部的讀寫頭都是在步進(jìn)電機(jī)驅(qū)動的絲杠帶動下做精密的滑動,來定位盤片上不同半徑的磁道。但機(jī)械硬盤的讀寫懸臂,只是在一個音頻線圈驅(qū)動下做往返運動,天哪,簡單的不能再簡單了。那么磁頭如何能夠循跡定位那細(xì)密磁道呢?
- 問題3:打開懸臂電機(jī),可以看到懸臂上的音頻線圈固定在兩片永磁鐵中間縫隙中。如果兩個相互吸引的磁鐵中間是一個均勻磁場,那么問題又來了。這個線圈通電之后,為何能夠產(chǎn)生左右移動的電磁力呢?
也許不同的人還會有其他的問題,但上述問題的確困擾了我很多很長的時間。
近期在Artem Rubtsov所寫的博文 HDD Inside: Tracks and Zones[1] 看到了問題的詳細(xì)解答。
對于第一個問題,為了有效利用磁盤表面來存儲數(shù)據(jù),實際磁盤盤片按照半徑不同,從內(nèi)到外分成不同的區(qū)(Zone)。每一區(qū)內(nèi)所有磁道上的扇區(qū)個數(shù)相同,從內(nèi)到外不同區(qū)的扇區(qū)個數(shù)逐步增加。
比如左邊是使用了一個區(qū),即所有的磁道上的扇區(qū)個數(shù)相同。右邊分成了兩個區(qū),外部的區(qū)中的扇區(qū)個數(shù)比內(nèi)部多。顯然,右邊的方式對于磁盤表面利用效率高于左邊的方式。
如果磁盤表面的區(qū)(Zoon)劃分的越多,對應(yīng)數(shù)據(jù)記錄密度就會越均勻。實際磁盤劃分了14個區(qū)之后,磁盤表面數(shù)據(jù)記錄密度的情況。
之所以不同區(qū)內(nèi)數(shù)據(jù)記錄密度平均值不太一樣,這與磁頭在不同區(qū)內(nèi)與磁道的夾角不同有關(guān)系。在最內(nèi)側(cè)磁頭與磁道夾角最大,使得有效的磁跡寬度減小,所以需要通過降低數(shù)據(jù)記錄密度來彌補(bǔ)。
第二個問題:磁頭是如何精確定位磁道,最為復(fù)雜,也是自動化領(lǐng)域的人最為關(guān)心的。Artem Rubtsov在其博文 HDD Inside: Tracks and Zones[1] 也是花了大量的篇幅進(jìn)行講解。雖然他已經(jīng)使用了非常直白簡略的語言進(jìn)行說明,但全部引用到這兒還是會使得推文很長,建議大家去看一下原文。這里只將要點引述:
硬盤中定位磁頭到所需要的磁道使用了一種稱為嵌入式伺服系統(tǒng)(Embedded Servo System)技術(shù):磁頭在運動同時讀取磁盤上的信息,根據(jù)讀取的信息來獲取所在的磁道以及偏移量。所以磁頭只要能夠劃過某些磁道,就可以完成對該磁道內(nèi)容的讀寫。盤片本身就是磁頭位置的傳感器,磁盤中的懸臂只要能夠保證往復(fù)運動即可。
Artem Rubtsov在博文中詳細(xì)描述了磁道上的信號結(jié)構(gòu),以及如何標(biāo)志磁道的編碼和指示磁頭位置的偏差。這部分反智工程語言描述的內(nèi)容足以讓那些急于想弄清技術(shù)細(xì)節(jié)的人感到暢快淋漓,驚嘆于磁盤中所蘊(yùn)含的高超控制技術(shù)。
那么問題來了,既然盤片上的磁道用來定位磁頭,那么磁道信息是如何寫上去的呢?
最初磁道定位信息是在硬盤裝配完成之后,在特殊的精密外部引導(dǎo)機(jī)械機(jī)構(gòu)幫助下寫入的。這部分信息只需要寫入一次,因此硬盤中就不需要保留這部分的結(jié)構(gòu),這也是讓我們對如此簡潔的硬盤磁頭驅(qū)動系統(tǒng)感到驚訝的原因。
最后一個問題,即懸臂上音頻線圈左右運動的原理是什么?原來是兩個永磁鐵組成的磁極縫隙內(nèi)的磁場并不是均勻磁場,而是從左到右,磁場的極性逐步改變的磁場。因此,在線圈通入電流之后,就會產(chǎn)生左右推動力。
將其中一個電機(jī)磁極拆下之后,使用外部一個小型磁鐵測試其表面的極性,可以看到磁極從左到右,極性變化。也就是說磁極的N-S是沿著磁鐵左右改變的,而不是上下改變。
參考資料
[1]HDD Inside: Tracks and Zones: https://hddscan.com/doc/HDD_Tracks_and_Zones.html
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!