【轉】為什么你的硬盤容易壞?因為它轉得實在是太快了


聲明:本文轉載自微信公眾號“51CTO官微”:原文鏈接

千萬別沒事開着機就端着你的筆記本電腦到處走動,很容易壞的!

 

筆記本電腦和台式電腦相比有一個很大的缺點,就是硬盤容易壞(HDD-機械硬盤),因為筆記本電腦需要經常移動,容易把硬盤給震着,但這好像也是筆記本的優點吧。

 

為什么筆記本的硬盤容易壞?

 

那我們就得先了解機械硬盤的構造。在介紹硬盤之前先來介紹一下留聲機。相信大家都在電視上見過下圖中的這個玩意,它叫留聲機,是偉大的發明家愛迪生先生於1877年發明的。

 

 

它的原理其實很簡單,盤片上有很多凹槽,當指針和凹槽接觸的時候,針尖隨凹槽波動而輕微地振動,從而轉化為聲音,大家就可以聽到美妙的音樂了。

 

其實計算機磁盤也是這個道理,如下圖是一個拆開的磁盤,可以看到,磁盤上也有一個讀寫頭。

 

 

和留聲機不同的是,讀寫頭和光盤面是不接觸的,他們之間通過磁性來傳遞信息。也就是說,磁盤是用磁介質來存儲信息的。

 

如果你經常聽見你的筆記本電腦內部有什么東西在細微震動,那多半就是你的磁盤在飛速轉動。

 

此外,磁盤並不是像上圖那樣只有一面,如果誇張地把磁盤內部結構放大,它應該是下面這個樣子的:

 

 

這樣一個看起來薄薄的磁盤其實一共有n張光盤共2n個面,每個面都可以記錄信息。如下圖中的左半部分所示。

 

每個盤面都有一組被稱為磁道的同心圓,就如下面的磁道0、磁道1等等;每一個磁道又被划分為一組扇區。(這里很多同學可能會理解錯誤,扇區指的不是那個扇形,而是那一小段圓弧)。

 

扇區與扇區之間有一些間隙,把扇區隔開。

 

 

每個扇區都可以存儲數量相等的數據位,通常是512字節。前面加粗的字不知道大家有沒有發現不對勁的地方?

 

對於圓弧形的扇區來說,越靠近圓心的圓弧就越短。既然每個扇區的磁道長短不一,為什么還存儲着同樣大小的信息呢(通常是512字節)?

 

沒辦法,就是這么蛋疼。在講這個蛋疼的事情之前,我們還需要再了解一下柱面。柱面指的是所有盤面到主軸距離相等的同心圓的集合。可以參考上圖右面的那個示意圖,比如圖中有4個光盤,8個盤面,那么一個柱面就由8個同心圓磁道構成。

 

好了,講了柱面我們繼續講剛剛那個蛋疼的事情。

 

從上圖左邊的示意圖可以看出,無論是靠近圓心的磁道還是最外圈的磁道,都被分割成了數量相等的扇區,並且每個扇區存儲的數據量是一樣的。

 

這樣就會造成,靠內的扇區之間間隔很小,而越往外扇區之間的間隔就越大,如果非要用一句人話來描述就是:越往外,磁道記錄信息的密度就越低。

 

扇區數目是由最靠內的磁道能記錄的扇區數來決定的,這就是最坑的地方,最里面的磁道能划分為多少個扇區,那么最外層的磁道就必須存多少個扇區。十分浪費,當然,人類肯定不能一直這樣設計。

 

后來有一種新的技術出現了,就是多區記錄,什么意思呢?

 

用大白話說就是,假設一個磁盤有200個同心圓(柱面),之前200個柱面都按最里面的那個柱面來划分扇區。

 

現在的多區技術就是,把200個柱面划分為x個組,我們這里就假設成4個組,每個組50個柱面。

 

第一組的1~50個柱面以第1個柱面為基准划分扇區;第二組51~100柱面以第51個柱面為基准划分扇區...以此類推。

 

這樣就更高效地利用了磁道的存儲位。

 

 

當計算機開始運行,磁盤也開始飛速轉動,然后讀寫磁頭轉動,就可以在相應的磁道中讀寫數據了。

 

講完了原理,我們來講講你的筆記本電腦為什么容易壞。其實很多同學的筆記本壞了,多數時候都是磁盤壞了,那么磁盤為什么這么容易壞?

 

因為它轉得實在是太快了。。。給個量化的指標,最外層的磁道和讀寫頭之間的相對速度(學過物理的都知道線速度和角速度吧,這個自己轉化yy一下)是80km/h。

 

做個不恰當的比喻,如果地球按這個角速度自轉,那么地球自轉一周也就需要8秒鍾而已。在這種情況下,我想你絕對會被甩出銀河系,地球也瞬間瓦解。

 

磁盤在高速運轉的情況下,你拿着它到處走動,讀寫頭很容易和盤面碰到,因為它們僅僅相距0.1微米。一點點小撞擊,就能毀了你的磁盤。

 

所以,記住了。

 

電腦開着機的時候少拿着走動,關了機以后再放進書包帶走。當然,如果你的電腦硬盤是固態的,那就請你隨意走動,電腦開着機拿手上跳個廣場舞也沒事。

 

關於固態硬盤,后面我們慢慢道來。

 

 

2. 算法上的優化

 

 

 

為什么說,程序員在知道了計算機底層原理以后能寫出更優秀的代碼?今天我們就用一個例子來說明。

 

如果你了解一些數據庫的優化算法,你應該聽說類似的優化策略:隨機讀轉化為順序讀,隨機寫轉化為順序寫。

 

為什么要轉化呢?因為隨機讀寫真的很慢。

 

磁盤在讀寫數據的時候,時間主要消耗在三個地方。分別是:尋道時間,旋轉時間和傳送時間。

 

大家只要看了上面的內容,大致應該知道磁盤讀取數據的流程。首先是尋道,也就是傳動臂的讀寫頭要先移動到對應的磁道上,這個過程所花費的時間叫尋道時間。

 

找到了磁道以后還不能馬上讀取數據,還需要找到相應的扇區才能開始讀寫,所以磁盤還要旋轉,把對應的扇區轉動到讀寫頭下方,這個過程所花費的時間叫做旋轉時間。

 

在找到目標扇區以后,剩下的時間就是傳送時間了,也就是數據的寫入和讀取。

 

為什么隨機讀寫慢,順序讀寫快?

 

答案很明顯,隨機讀寫每次的時間花銷都由上述三部分時間構成;然而順序讀寫省去了前兩部分時間。

 

看到這里,你已經可以裝逼地給別人講一下,為什么有一類算法要把隨機讀寫轉化成順序讀寫。

 

3. 一塊SSD拯救了我的電腦

 

 

 

 

上圖中紅色箭頭指向的筆記本,是我剛上大一那會兒買的電腦,也是我的第一台筆記本電腦,當時只花了4000元,陪伴了我大學4年。

 

華碩X550V,4g內存,i5三代處理器,750G機械硬盤,我大學四年都沒有覺得它慢,所以,上大學的同學,我感覺4000~5000元的電腦已經足夠你用了,並且現在4000元的電腦在性能上早就超越我多年前買電腦的那個配置了。

 

畢竟計算機硬件的發展是遵循“摩爾定律”的(不懂摩爾定律的記得去百度一下)。當然,如果你的資金充足,並且想在Linux下開發,我會全力建議你買一台蘋果Mac Pro,至少它讓我的開發效率不知道提高了多少倍。

 

好像扯遠了,我們話說回來,講一下SSD,也就是固態硬盤。

 

我那台老筆記本在用了4年后,有點扛不住了,所以我買了一塊250GB的固態硬盤給換上,再自己加了一塊4GB的內存,然后給它裝上了一個Ubuntu系統(Linux),感覺它就像迎來了新生。我感覺它的性能提升了不只10倍。

 

這主要歸功於那塊固態硬盤,為什么固態硬盤這么牛逼?

 

因為固態硬盤采用的是閃存技術,其實你的U盤、手機存儲都是閃存。

 

首先,固態硬盤不容易壞,因為固態硬盤中已經沒有那個旋轉的磁盤了,所以即使是開機狀態你拿着它到處走也沒事。

 

其次,固態硬盤的讀寫速度大約是機械硬盤的5~10倍,對於游戲玩家和開發者而言,這無疑是一個巨大的改善。

 

所以我的這台電腦換了固態硬盤之后,就被我放在家里裝上各種數據庫做存儲系統了,時不時跑一些任務,性能也是杠杠的。

 

 

4. 總結

 

 

如果你看到了這里,相信你已經對硬盤已經有了初步的了解,在選購計算機的時候也可以看看相應的參數啦!今天的硬盤就講到這里,之后有空我們再聊聊其他硬件,比如CPU、內存或者是主板。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM