固態硬盤基礎知識?

機械硬盤的工作原理

要理解固態硬盤(Solid State Drive)的基本原理,首先得研究一下普通機械硬盤。借用網上的一張圖片:上圖是一款雙碟的機械硬盤。任何機械硬盤的結構都是一樣的:電路板上的主控制器芯片負責與芯片組之間的通信並且控制硬盤內部的運轉;盤片是用磁性材料做成的,固定在硬盤中部的馬達上旋轉(這裡就有了轉速的區別:5400rpm指的是每分鐘盤片旋轉5400轉,7200rpm則是每分鐘7200轉);磁頭(圖中那個近似於三角形的部件)則沿著盤片的徑向移動。磁頭的移動過程就是硬盤尋道的過程(這句話不太嚴謹,但是除了斷電歸位等情況之外絕大部分情況下都是)。至於“尋道”,則是和盤片的結構有關。

盤片上劃分為一圈一圈的同心圓環,每個圓環即一個磁道。早期的機械硬盤從圓心出發向四周發散出角間距相等的一系列直線(當然實際上沒有直線存在),直線與同心圓線圍成的最小區域就是一個扇區(如上圖)。這樣的劃分,在硬盤的容量不大的年代還是簡單易行,但是隨著硬盤技術的進步,磁道的劃分越來越密集,必然導致外圈的扇區物理長度遠遠大於內圈的扇區,造成浪費。所以現在的硬盤都不用圓心發散的直線來劃分扇區了,而是從外圈磁道開始取一定長度作為一個扇區,然後從外向裡一個一個編號下去。這個編號就是扇區的地址,我們要確定文件在哪裡全靠這個地址。扇區都有固定的大小,一般是512字節,現在的支持先進格式化的硬盤都採用4096字節作為一個扇區了。 至於扇區地址、LBA等等問題,與SSD的原理關係不大,所以不再敘述。但是從以上敘述中,我們已經可以看到,機械硬盤要讀出數據,必須要磁頭找到對應的磁道和扇區(對於多碟的機械硬盤首先需要確定柱面),這全部依靠磁頭的驅動馬達來驅動(磁頭本身是依靠盤片旋轉產生的氣流來懸浮的)。馬達等等機械裝置的反應速度畢竟不快,所以機械硬盤會浪費大量的時間用於尋道操作(每次尋道大約10ms左右)。尤其是對於零碎的小文件讀寫來說,由於文件所在扇區不連續,需要不斷地要進行尋道,這樣就產生很悲劇的性能。但是對於持續讀寫來說,由於不需要進行不斷地尋道,所以不存在尋道時間。所以機械硬盤的隨機讀寫能力很差(不超過0.1MB每秒),但是持續讀寫能力並不差(而且隨著單碟容量的提升和磁盤陣列的組建,持續讀寫速度可以比固態硬盤更快)。
看到這裡你或許要問:為什麼使用固態硬盤的電腦普遍比使用機械硬盤的電腦反應快呢? 這是因為,系統分區在日常中進行的讀寫操作絕大部分都是隨機文件讀寫,這正是機械硬盤的軟肋所在,因為機械硬盤在這種情況下花費在尋道這件事上的時間非常多,其他硬件不得不停下來等待。如果你使用機械硬盤作為非系統盤,那麼性能和固態硬盤的差別不大——比如一部電影放在SSD和HDD上去播放,這個沒什麼區別。
提高HDD性能的方法之一是組建磁盤陣列。磁盤陣列有多種類型,而且有些陣列是為了保證數據的安全,作為自動備份而組建的,這一類我們不去談。通常用於提高性能的磁盤陣列是RAID 0.比如,使用兩塊硬盤組建RAID 0之後,當有數據從芯片組傳輸給硬盤,這個數據會被自動劃分成兩部分,每個硬盤各自存儲一部分,這樣的話理想狀態下RAID 0下寫入速度翻倍;讀取也是類似的原理,每個硬盤各自拿出各自的數據,理想狀態下讀取速度也是翻倍的。但是RAID 0對於隨機讀寫並沒有什麼明顯作用。所以要憑藉組建RAID 0來提高系統盤的性能,很困難。但是RAID 0的原理卻也是應用在我們之後要講到的SSD上的。

不得不說的U盤 為什麼要說U盤?因為U盤和固態硬盤是類似的結構。 這張圖是雷克沙16G的U盤拆解圖。其實U盤的最重要部件就兩個:主控制器芯片,還有NAND閃存顆粒。主控制器芯片負責與芯片組進行通信,並且負責操作NAND顆粒;而NAND顆粒本身就是一個存儲器件。你可以將其理解成為很多電容器組合成的裝置。

相關問題答案