1. 程式人生 > >計算機磁碟是如何實現儲存的?

計算機磁碟是如何實現儲存的?

儲存原理簡述:      

           硬碟是在硬質碟片(一般是鋁合金,以前 IBM 也嘗試過使用玻璃)上塗敷薄薄的一層鐵磁性材料。硬碟儲存資料的原理和盒式磁帶類似,只不過盒式磁帶上儲存是模擬格式的音樂,而硬碟上儲存的是數字格式的資料。寫入時,磁頭線圈上加電,在周圍產生磁場,磁化其下的磁性材料;電流的方向不同,所以磁場的方向也不同,可以表示 0 和 1 的區別。讀取時,磁頭線圈切割磁場線產生感應電流,磁性材料的磁場方向不同,所以產生的感應電流方向也不同。 不論是什麼計算機檔案,歌曲,視訊,圖片,文件等等都是以一個二進位制的序列存在的,也就是很多個"10010001110011......"這樣的東西,硬碟上的儲存的檔案實際上就是儲存著這些0和1的序列.硬碟的磁頭能夠按照指令讀取相應位置的訊號,並且能夠改變指定位置的磁場方向,這就是資料的讀和寫。

硬碟結構:

       硬碟內部結構由固定面板、控制電路板、盤頭元件、介面及附件等極大部分組成,而盤頭元件(HardDiskAssembly, HDA)是構成硬碟的核心,封裝在硬碟的淨化腔體內,包括浮動磁頭元件、磁頭驅動機構、碟片及主軸驅動機構、前置讀寫控制電路等。

  1. 浮動磁頭元件:
    由讀寫磁頭、傳動手臂、傳動軸三部分組成。磁頭是硬碟技術最重要和關鍵的一環,實際上是整合工藝製成的多個磁頭的組合,它採用了非接觸式頭、盤結構,加電後在高速旋轉的磁碟表面飛行,飛高間隙只有0.1~0.3um(微米),可以獲得極高的資料傳輸率。現在轉速5400rpm的硬碟飛高都低於0.3um,以利於讀取較大的高信噪比訊號,提供資料傳輸儲存的可靠性。

  2. 磁頭驅動機構:
    由音圈電機和磁頭驅動小車組成,新型大容量硬碟還具有高效的防震動機構。高精度的輕型磁頭驅動機構能夠對磁頭進行正確的驅動和定位,並在很短的時間內精確定位系統指令指定的磁軌,保證資料讀寫的可靠性。

  3. 碟片和主軸元件
    碟片是硬碟儲存資料的載體,現在的碟片大都採用金屬薄膜磁碟,這種金屬薄膜較之軟磁碟的不連續顆粒載體具有更高的記錄密度,同時還具有高剩磁和高矯頑力的特點。主軸電機的速度也在不斷提升,有廠商開始採用精密機械工業的液態軸承電機技術。

  4. 前置控制電路:
    前置放大電路控制磁頭感應的訊號、主軸電機調速、磁頭驅動和伺服定位等,由於磁頭讀取的訊號微弱,將放大電路密封在腔體內減少外來訊號的干擾,提高操作指令的準確性。


現代硬碟的工作原理:

現在的硬碟,無論是IDE還是SCSI,採用的都是“溫切斯特”技術,都有以下特點:

  1. 磁頭,碟片及運動機構密封。
  2. 固定並高速旋轉的鍍磁碟表面平整光滑。
  3. 磁頭沿碟片徑向移動。
  4. 磁頭對碟片接觸式啟停,但工作時呈飛行狀態不與碟片直接接觸。

    碟片:硬碟碟片是將磁粉附著在鋁合金(新材料也有用玻璃)圓碟片的表面上,這些磁粉被劃分成稱為磁軌的諾幹個同心圓,在每個同心圓的磁軌上就好像有無數的任意排列的小磁鐵,它們分別代表著0和1的狀態。當這些小磁鐵受到來自磁頭的磁力影響時,其排列的方向會隨之改變。利用磁頭的磁力控制指定的一些小磁鐵方向,使每個小磁鐵都可以用來儲存資訊。


    盤體:硬碟的盤體由多個碟片組成,這些碟片重疊在一起放在一個密封的盒中,他們主軸電機的帶動下以很高的速度旋轉,其每分鐘可達3600/4500/5400/7200甚至以上。

    磁頭:硬碟的磁頭用來讀取或者修改碟片上磁性物質的狀態,一般說來,每一個磁面都會有一個磁頭,從最上面開始,從0開始編號。磁頭在停止工作時,與磁碟是接觸的,但是在工作時呈飛行狀態。磁頭採取在碟片的著陸區接觸式啟停的方式,著陸區不存放任何資料,磁頭在此區域啟停,不存在損傷任何資料的問題。讀取資料時,碟片告訴旋轉,由於對磁頭運動採取了精巧的空氣動力學設計,此時磁頭處於離盤面資料區0.2--0.4微米高度的飛行狀態。既不與盤面接觸造成磨損,又能可靠的讀取資料。

    電機:硬碟內的電機都為無刷電機,在高速軸承支撐下機械磨損很小,可以長時間連續工作。高速旋轉的盤體產生了明顯的陀螺效應,所以工作中的硬碟不宜運動,否則將家中軸承的工作負荷。硬碟磁頭的尋道伺服電機多采用音圈式旋轉或者直線運動步進電機,在私服跟蹤的調節下精確地跟蹤碟片的磁軌,所以在硬碟工作時不要有衝擊碰撞,搬動時要小心輕放。

首先,磁碟和資料區是不會有接觸的,不存在磨損問題。

其次,一開機硬碟就處於旋轉狀態,主軸電機的旋轉可達到4500或者7200轉每分鐘,這個你是否使用flashget或者迅雷都沒有關係,只要一通電,它們就在轉,它們的磨損也和軟體無關。

再次,尋道電機控制下的磁頭的運動,時左右來回移動的,而且幅度很小,從碟片的最內層(著陸區)啟動,慢慢移動到最外層,再慢慢移回來,一個磁軌再到另一個磁軌來尋找資料。不會有什麼大規模跳躍,所以它的磨損也可以忽略不計。

那麼,熱量的來源在哪裡?
       首先, 是主軸電機和尋道伺服器電機的旋轉,硬碟的溫度主要是因為這個。

       其次,高速旋轉的盤體和空氣之間的摩擦。這個也是主要因素。硬碟的讀寫發熱量可以忽略不計!
硬碟的讀操作:是碟片上磁場的變化影響到磁頭的電阻值,這個過程中碟片不會發熱,磁頭倒是因為電流發生變化,所以會有一點熱量產生。
磁碟的寫操作:正好相反,通過磁頭的電流強度不斷髮生變化,影響到碟片的磁場,這一過程因為用到電磁感應,所以磁頭髮熱量較大。但是碟片本省是不會發熱的,因為碟片上的永磁體是冷性的,不會因為磁場變化而發熱。
但總的來說,磁頭的發熱量和前面兩個比起來是小巫見大巫。熱量是可以輻射傳導的,那麼高人量對磁碟上的永磁是否會有傷害?其實傷害是很小的,永磁體消磁的溫度,淵源高於硬碟正常情況下產生的溫度。當然,要是你的跡象散熱不好,那就不能怪別人了。

  1. 高溫是影響到磁頭電阻感應靈敏度,所以才會產生讀寫錯誤,和永磁體沒有關係。

  2. 所謂的熱膨脹,不會拉近盤體和磁頭的距離,因為磁頭的飛行是空氣動力學原理,在正常情況下始終和碟片保持一定距離。當然不排序大力打擊硬碟產生的震動。

  3. 所謂尋道是指硬碟從初始位置移動到指定磁軌。所謂重複動作,並不是經常發生的。因為磁軌的物理位置是存放在cmos裡,硬碟並不需要移動回0磁軌再重新分出發。只要磁頭一啟動,所謂的復位動作就完成了,除非你重新啟動電腦,不然復位動作就不會再發生。

  4. IDE硬碟和SCSI硬碟的盤體結構是產不多的。只是SCSI硬碟的介面頻寬比同時代IDE硬碟要大,而且往往SCSI卡都會有一個類似cpu的東西來減緩主cpu的佔用率。僅此而已,所以希捷才會把它的SCSI硬碟的技術用在IDE硬碟上。

  5. 硬碟的讀寫是以柱面的山區為單位的。柱面就是整個盤體中所有磁面的半徑相同的同心磁軌,而把每個磁軌劃分為若干個區就是所謂的扇區了。硬碟的寫操作,是先寫滿一個扇區,再寫同一柱面的下一個扇區,在一個柱面完全寫面前,磁頭是不會移動到別的磁軌上的。所以檔案在磁碟上的儲存,並不是像一般人認為是連續存放在一起的(從使用者開來是一起的,但從作業系統底層來看,其存放不是連續的)。所以FLASHGET等開了再多的執行緒,磁頭的尋道一般都不會比你一邊玩遊戲一邊聽歌大。當然,這種情況只是單純的下載或者上傳而已,但是其實在這個過程中,誰也保證不了自己不會啟動其它需要讀寫硬碟的軟體。可能很多人都喜歡一邊下載一邊玩遊戲或者聽歌,更不用說windows本身就需要頻繁讀寫虛擬記憶體中的檔案。所以,用FG下載也好用迅雷下載也好,對硬碟的磨損和平時想必不會太厲害。

  6. 再說說flashget為什麼開太多執行緒會不好喝ed為什麼硬碟讀寫頻繁?
    首先,執行緒一朵,cpu佔用率就高,換頁動作也就頻繁,從而虛擬記憶體讀寫頻繁。ED呢?同時從幾個人哪裡下載一個檔案,還有幾個人同時下載你的檔案,這和FG開多執行緒是類似的。所以硬碟燈猛閃。但是,現在硬碟是有快取的,資料不是馬上就寫到硬碟上,而是先寫入快取,然後到一定量後再一次性寫入硬碟。在FG裡面再怎麼設定,其實是先寫入快取。但這個過程也是需要cpu干預的,所以設定時間太短,cpu佔用率也高,所以硬碟燈還是猛閃的,因為虛擬檔案在讀寫。

  7. 硬碟讀寫頻繁,磁頭臂在尋道伺服電機的驅動下移動頻繁,但是對機械來說這單損耗其實不大。除非你的硬碟本身就有機械故障,比如力臂變形之類(水貨最常見的故障)。真正損耗在於磁頭,不斷變化的電流會造成它的老化,但是和它的壽命想必應該也是合理範圍內的。除非因為震動,磁頭撞擊到盤體。

  8. 受高溫影響的最嚴重的是機械電路,特別是硬碟外面的那塊電路板,上面的整合塊會在高溫下加速老化。所以IBM的某款玻璃硬碟,雖然有壞道,但是一用某個軟體,馬上就不見了。再嚴重點的,換塊線路板,也就正常了。也就是這個原因。
    總之,硬碟會因為環境不好喝保養不當而影響壽命,但是這絕對不是軟體的錯,flashget也好ed也好,ftp也好,他們雖然對硬碟讀寫頻繁,但是還不至於比你玩遊戲聽歌對硬碟傷害大。他們對硬碟的損耗是可以忽略不計的,不要因為看見硬碟燈猛閃就在哪裡瞎擔心,不然那些提供web服務和ftp服務的伺服器他們的硬碟讀寫之大,可絕非玩遊戲,下軟體的硬碟科比。
    硬碟還有一個引數焦作連續無故障時間。它是指硬碟從開始執行到出現故障的最長時間,單位是小時,英文縮寫是MTBF。一般硬碟的MTBF至少在30000或者40000個小時。這個連續無故障時間大家可以除一下看看是多少年?然後大家想想,自己的硬碟平時連續工作最久是多長時間。