HDD&&SSD基礎知識總結

Hard Disk Drive
一、硬盤的硬件結構
1、硬盤外部結構 :電源接口、和數據接口、 控制電路板、 固定面板
這裏寫圖片描述
2、硬盤內部結構:磁頭組件 、磁頭驅動機構、 磁盤片 、主軸組件、 前端控制電路
這裏寫圖片描述
3、硬盤控制電路:主控制芯片 、數據傳輸芯片 、高速數據緩存芯片
這裏寫圖片描述
磁頭
磁頭是硬盤中最昂貴的部件,是硬盤技術最重要和關鍵的一環;採用了非接觸式結構,加電後懸浮在高速旋轉的磁盤表面。
這裏寫圖片描述
讀寫合一式磁頭與分離式磁頭
傳統的磁頭是讀寫合一的電磁感應式磁頭,但硬盤的讀和寫是兩種截然不同的操作。因此,這種二合一磁頭在設計時必須要同時兼顧到讀、寫兩種特性,從而造成硬盤設計上的侷限。針對這種情況,硬盤生產廠商改進技術,採用了分離式的磁頭結構,即以MR磁頭(磁阻磁頭)作爲讀取磁頭,而寫入磁頭仍採用傳統的磁感應磁頭。這樣,在設計硬盤時就可以針對兩者的不同特性分別進行優化,以得到最好的硬盤讀寫性能。採用MR磁頭後,讀取數據的準確性相應提高;而且由於讀取的信號幅度與磁道寬度無關,使得盤片的密度大大提高。
磁道
當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。
這裏寫圖片描述
盤片
盤片用來存儲數據,被密封在硬盤內部,運用其上附着的磁性物質達到讀寫數據的目的。由於盤片在硬盤內部高速旋轉(有5400rpm、7200rpm、10000rpm,15000rpm等不同型號),因此盤片材料的硬度和耐磨性要求很高,目前市場中的主流硬盤都是採用鋁材料的金屬盤片。
磁面
在一塊硬盤中並不是只有一張盤片,而是有多個盤片,每個盤片的上、下兩個面一般都會用來存儲數據,即有效盤面,通常稱爲磁面。
這裏寫圖片描述
柱面
硬盤通常由重疊的一組盤片構成,每個盤面都被劃分爲數目相等的磁道,並從外緣的0開始編號,具有相同編號的磁道形成一個圓柱,稱之爲磁盤的柱面。
這裏寫圖片描述
扇區
早期的機械硬盤從圓心出發向四周發散出角間距相等的一系列直線(當然實際上沒有直線存在),直線與同心圓線圍成的最小區域就是一個扇區(如下圖)。這樣的劃分,在硬盤的容量不大的年代還是簡單易行,但是隨着硬盤技術的進步,磁道的劃分越來越密集,必然導致外圈的扇區物理長度遠遠大於內圈的扇區,造成浪費。所以現在的硬盤都不用圓心發散的直線來劃分扇區了,而是從外圈磁道開始取一定長度作爲一個扇區,然後從外向裏一個一個編號下去。這個編號就是扇區的地址,要確定文件在哪裏全靠這個地址。
這裏寫圖片描述
電機主軸
電機主軸決定硬盤轉數,它帶動盤片高速旋轉併產生浮力,使磁頭飄浮在盤片上方,然後把磁頭帶到目標扇區上方,讓其進行數據讀/寫操作。電機主軸的轉速越快,磁頭等待讀/寫時間也就越短,所以它在很大程度上決定了硬盤性能;理論上說電機主軸轉速越快越好,但實際上,轉速越快發熱量,振動和噪音都會隨之增大,這些對整個硬盤都非常不利。
二、硬盤的工作原理
硬盤利用特定的磁粒子的極性來記錄數據,也就是說磁盤是利用了磁記錄原理進行數據的讀寫操作。在讀取數據時,磁頭將磁粒子的不同極性轉換成不同的電脈衝信號,再利用數據轉換器將這些原始信號變成電腦可以使用的數據;寫數據時,正好與此相反。
這裏寫圖片描述
三、硬盤的主要參數
1、容量(Capacity)
作爲計算機系統的數據存儲器,容量是硬盤最主要的參數 ;硬盤的容量以兆字節(MB)或千兆字節(GB)爲單位
2、轉速(Rotationl Speed)
轉速是指硬盤盤片每分鐘轉動的圈數,單位爲rpm(Revolutions Per Minute),rpm值越大,內部傳輸率就越快,訪問時間就越短,硬盤的整體性能也就越好。較高的轉速可縮短硬盤傳輸數據的時間,但轉速的不斷提高也帶來了一些負面影響,如硬盤溫度升高、電機主軸磨損加大、工作噪音增大等。
3、平均尋道時間(Average Seek Time)
指磁頭移動到數據所在磁道需要的時間,是衡量硬盤機械性能的重要指標;平均尋道時間越小硬盤的性能越高。而平均尋道時間實際上是由轉速、單碟容量等多個因素綜合決定的一個參數。一般來說,硬盤的轉速越高,其平均尋道時間就越低;單碟容量越大,其平均尋道時間就越低。
4、平均潛伏期時間(Average Latency)
指當磁頭移動到數據所在的磁道以後,等待指定的數據扇區轉動到磁頭下方的時間
5、平均訪問時間(Average Access Time)
指從讀/寫指令發出到第一筆數據讀/寫實際開始所用的平均時間;平均訪問時間 = 平均尋道時間 + 平均等待時間 + 電子信號消耗時間
由於尋道和等待屬於機械操作,和光速的電子信號相比,電子信號消耗時間完全可以忽略不計,所以可以認爲平均訪問時間 = 平均尋道時間 + 平均潛伏時間 。而平均尋道時間佔據了絕大部分的平均訪問時間,所以說平均尋道時間是硬盤讀寫效率最重要指標。由於分散的碎片會引起較長的平均尋道時間,因此磁盤要定期做磁盤碎片整理。
6、緩衝存儲器(Cache)
緩衝存儲器的基本作用是平衡內部與外部的數據傳輸率 ;

  • 爲了減少主機的等待時間,硬盤會將讀取的數據先存入緩衝區,等全部讀完或緩衝區填滿後再以接口速率快速向主機發送。
  • 硬盤讀取完指定扇區的數據之後、在接到系統的下一條指令之前,磁頭接着讀取相鄰的若干扇區的數據並存入緩存中。如果系統接下來所需的數據正好就是相鄰扇區的數據,那麼便可以直接從緩存中讀取而不用磁頭再尋址(緩存命中),從而極大提高數據訪問速度。

7、單碟容量(Storage per Disk)
單碟容量是硬盤重要的性能指標之一,它是指一個盤片上所存儲的最大數據量。硬盤廠商在增加硬盤容量時,可以通過以下兩種手段進行。

  • 增加加盤片的數量:由於但到硬盤整體體積和生產成本的限制,盤片數量不能無限增加,一般在5片以內。
  • 增加單碟容量:單碟容量越大,則相同容量硬盤所用的盤片就越少,系統可靠性也就越高。而且,在讀取相同容量的數據時,高密度硬盤的訪問速度高於低密度硬盤,這是因爲磁頭的尋道動作和移動距離減少,使平均尋道時間也減少,從而加快了硬盤的讀寫速度。

8、數據傳輸率(Data Transfer Rate )
指硬盤讀寫數據的速度,也稱吞吐率,指磁頭定位後硬盤讀寫數據的速度,以每秒可傳輸多少兆字節來衡量(MB/s或Mb/s)

  • 內部數據傳輸率(Internal Transfer Rate)
    指磁頭與緩存之間的數據傳輸率,即硬盤將數據從盤片上讀取出來,然後存儲在緩存內的速度。它可以明確表現出硬盤的讀寫速度,也是評價一個硬盤整體性能的決定性因素。
  • 外部數據傳輸率(External Transfer Rate)
    也稱爲突發數據傳輸或接口傳輸率,指硬盤緩存與操作系統之間的數據傳輸率,即計算機通過硬盤接口從緩存中將數據讀出並交給相應的控制器的速率,如SATAII接口的外部數據最大傳輸率可達300MB/s。

由於最大內部數據傳輸率比最大外部傳輸速率要小很多,所以內部數據傳輸率是系統真正的瓶頸,有效地提高硬盤的內部數據傳輸率,才能對硬盤子系統的性能有最直接、最明顯的提升。目前爲了提高硬盤性能,各硬盤生產廠家除了努力改進信號處理技術、提高轉速以外,還在不斷的提高單碟容量以提高線性密度。硬盤的轉速相同時,單碟容量大的內部傳輸率高;在單碟容量相同時,轉速高的硬盤的內部傳輸率高。

綜上所述,機械硬盤要讀出數據,必須要磁頭找到對應的磁道和扇區(對於多碟的機械硬盤首先需要確定柱面),這全部依靠磁頭的驅動馬達來驅動(磁頭本身是依靠盤片旋轉產生的氣流來懸浮的)。馬達等等機械裝置的反應速度畢竟不快,所以機械硬盤會浪費大量的時間用於尋道操作(每次尋道大約10ms左右)。尤其是對於零碎的小文件讀寫來說,由於文件所在扇區不連續,需要不斷地要進行尋道,其他硬件不得不停下來等待,這樣就產生很悲劇的性能。但是對於持續讀寫來說,由於不需要進行不斷地尋道,所以不存在尋道時間。所以機械硬盤的隨機讀寫能力很差(不超過0.1MB每秒),但是持續讀寫能力並不差(而且隨着單碟容量的提升和磁盤陣列的組建,持續讀寫速度可以比固態硬盤更快)。使用固態硬盤的電腦普遍比使用機械硬盤的電腦反應快正是因爲系統分區在日常中進行的讀寫操作絕大部分都是隨機文件讀寫。如果使用機械硬盤作爲非系統盤,那麼性能和固態硬盤的差別什麼區別——比如一部電影放在SSD和HDD上去播放。
四、硬盤的接口種類

  • IDE(Integrated Drive Electronics):電子集成驅動器的本意是指把“硬盤控制器”與“盤體”集成在一起的硬盤驅動器,優點是價格低廉 ,兼容性好

  • SCSI(Small Computer System Interface ):小型計算機系統接口是一種與IDE完全不同的接口,它不是專門爲硬盤設計的,而是一種總線型的系統接口。優點是多任務、帶寬大、CPU佔用率低、支持熱插拔,高性能, 同時具備內、外置等,但較高的價格,以及在使用時必須另外購買SCSI接口卡的問題,使得它很難如IDE硬盤般普及,因此SCSI硬盤主要應用於中、高端服務器和高檔工作站中。

  • FC(Fibre Channel ):FC最初是專門爲網絡系統設計的 隨着存儲系統對速度的需求,逐漸應用到硬盤系統中。 優點是帶寬高 ,連接距離長, 連接設備數量大。

  • SATA(Serial ATA ):串行ATA是一種完全不同於並行ATA的新型硬盤接口類型,由於採用串行方式傳輸數據而得名。優點是一對一連接,獨享帶寬 ,支持熱插拔 ,低電壓信號 ,帶寬升級潛力大。

  • SAS(Serial Attached SCSI ):和SATA相同,都是採用串行技術以獲得更高的傳輸速度,並通過縮短連接線改善內部空間 。優點是兼容性好 ,數據傳輸率高 。

五、SCSI基礎
1、SCSI的基本概念
SCSI最初是一種專門爲小型計算機系統設計的I/O技術,但由於其架構和協議自身的優點,後被廣泛應用於實現DAS以及作爲SAN的底層技
術。SCSI規範了一種並行的I/O總線和相關的協議; SCSI的數據傳輸是以塊的方式進行的
2、SCSI的特點
設備無關性、 多設備並行、 高帶寬、 低系統開銷
3、SCSI總線
SCSI總線(又被稱作SCSI通道 )是SCSI設備之間傳輸數據的通路
這裏寫圖片描述
4、SCSI終結器
SCSI終結器位於SCSI總線的末端,用來減小相互影響的信號,維持SCSI鏈上的電壓恆定;只有 SCSI鏈的最後一個SCSI設備需要使用終結器
SCSI總線通過SCSI控制器來和硬盤之類的設備進行通信 ;SCSI控制器邏輯上可分爲一個任務管理單元和多個邏輯單元(LU)
這裏寫圖片描述
5、LUN(Logical Unit Number)
邏輯單元號是爲了使用和描述更多設備及對象而引進的一個方法, 每個SCSI ID上最多有32個LUN,一個LUN對應一個邏輯設備
6、SCSI ID
一個獨立的SCSI總線有寬窄兩種規格,窄SCSI總線最多允許8個、寬SCSI總線最多允許16個不同的SCSI設備和它進行連接,設備的地址需要通過SCSI ID來進行標識; 系統中每個設備的SCSI ID必須唯一,SCSI ID同時也定義了設備的優先權,優先權由高到低的順序排列爲7-6-5-4-3-2-1-0-15-14-13-12-11-10-9-8
7、SCSI的發展歷史
這裏寫圖片描述
8、SCSI的體系結構
SCSI體系結構是SCSI I/O系統的一個抽象模型;直到SCSI-3的出現,SCSI的體系結構纔有了清晰的描述
這裏寫圖片描述
9、SCSI連接示意圖
這裏寫圖片描述
SCSI通信模型:C/S架構
這裏寫圖片描述
SCSI通信過程
這裏寫圖片描述
SCSI卡:連接和控制多個SCSI設備 ,種類:通道卡、單通道卡和雙通道卡
這裏寫圖片描述
10、SCSI 硬盤
SCSI硬盤是僅次於SCSI卡的關鍵設備,各大硬盤廠家都有SCSI硬盤產品

  • 轉速:5400RPM、7200RPM、10K RPM、15K RPM
  • 容量:9.1GB、18.2GB、36.4GB、73GB、146GB、300GB
  • 接口類型:50針、68針、80針
  • 傳輸速率:4MB/s、10MB/s、20MB/s、40MB/s、80MB/s、160MB/s、320MB/s

11、SCSI的產品和應用
廣泛應用於小型機上,實現高速數據傳輸;正在成爲PC 服務器的標準接口
常見的SCSI設備:硬盤、磁帶機、磁帶庫、磁盤陣列、光驅、掃描儀、打印機、光盤刻錄機等
SCSI在RAID中的應用
這裏寫圖片描述

Solid State Drives
1、簡介
固態硬盤是用固態電子存儲芯片陣列而製成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。固態硬盤在接口的規範和定義、功能及使用方法上與普通硬盤的完全相同,在產品外形和尺寸上也完全與普通硬盤一致。新一代的固態硬盤普遍採用SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口和SFF-8639接口。
2、分類方式:

  • 基於閃存類:

基於閃存的固態硬盤( IDEFLASH DISK、Serial ATA Flash Disk):採用 FLASH芯片作爲存儲介質,這也是通常所說的SSD。它的外觀可以被製作成多種模樣,例如: 筆記本硬盤、 微硬盤、 存儲卡、 U盤等樣式。這種SSD固態硬盤最大的優點就是可以移動,而且數據保護不受 電源控制,能適應於各種環境,適合於個人用戶使用。
這裏寫圖片描述

  • 基於DRAM類:

基於DRAM的固態硬盤:採用DRAM作爲存儲介質,應用範圍較窄。它仿效傳統硬盤的設計,可被絕大部分操作系統的文件系統工具進行卷設置和管理,並提供工業標準的PCI和FC接口用於連接主機或者服務器。應用方式可分爲SSD硬盤和SSD硬盤陣列兩種。它是一種高性能的存儲器,而且使用壽命很長,但是需要獨立電源來保護數據安全。DRAM固態硬盤屬於比較非主流的設備。

3、NANS的SSD
基於閃存的固態硬盤是固態硬盤的主要類別,其內部構造十分簡單,主體其實就是一塊PCB板,而這塊PCB板上最基本的配件就是控制芯片,緩存芯片(部分低端硬盤無緩存芯片)和用於存儲數據的閃存芯片。
這裏寫圖片描述

  • 主控制芯片

任何存儲設備都有主控制器芯片(大多數都是一個ARM處理器)的,否則主板南橋芯片(或者intel現在使用的單芯片組)無法直接與存儲層進行通信。目前固態硬盤上普遍使用的主控制器主要有SandForce、Indilinx、JMicron、 Marvell、Phison、Goldendisk、 Samsung 、Intel等。主控芯片是固態硬盤的大腦,其作用一是合理調配數據在各個閃存芯片上的負荷,二則是承擔了整個數據中轉,連接閃存芯片和外部接口。不同的主控制器在數據處理能力、算法,對閃存芯片的讀取寫入控制上會有非常大的不同,直接會導致固態硬盤產品在性能上差距高達數十倍。

  • 緩存芯片

主控芯片旁邊是緩存芯片,固態硬盤和傳統 硬盤一樣需要高速的緩存芯片輔助主控芯片進行數據處理。這裏需要注意的是,有一些廉價固態硬盤方案爲了節省成本,省去了這塊緩存芯片,這樣對於使用時的性能會有一定的影響。

  • 閃存芯片

除了主控芯片和緩存芯片以外,PCB板上其餘的大部分位置都是NAND Flash閃存芯片了。這些閃存芯片的之間關係類似於RAID 0,那麼固態硬盤可以看做是“由U盤組成的RAID 0”。主控讀入數據會分散到各個NAND顆粒上去,多個顆粒共同讀寫,這樣的話速度自然就快了。NAND Flash閃存芯片又分爲SLC、MLC以及TLC。http://www.2ic.cn/html/10/t-432410.html

4、NAND閃存
NAND是半導體存儲顆粒的一種(還有其他的種類,比如NOR), 簡單來說,NAND可以視作是由很多很多個電容器組成的集成電路。製造NAND和製造CPU處理器類似,都是使用高純度硅,切割成晶圓之後使用光刻機和化學溶劑將設計好的電路蝕刻上去,然後用金屬材料“鑲嵌”製作而成的。這樣做出來的是一個佈滿NAND芯片的晶圓。將晶圓切開,然後對切割後的芯片精心挑選測試,封裝後就可以出廠了。雖然整個工藝雖然和製造CPU類似,但是電路等方面還是簡單不少的。

5、數據在NAND中的組織
類似於機械硬盤的扇區,固態硬盤也有最小的文件存儲單位——Page。目前的NAND顆粒Page的大小有兩種:4KB或者8KB(1KB=1024字節)。Page相當於一組規律化組合的“電容器”。機械硬盤上的文件必須佔用整數個扇區;固態硬盤也是類似,任何文件佔用的空間必須是整數個Page。這個與文件系統無關,屬於硬件層面。

Page上面的一層組織是Block,由128個或者256個Page組成一個Block。拿CrucialM4-CT128M4SSD2來說,它的NAND顆粒的一個Page是4KB,128個Page組成一個Block(一組固定的規律性組合的Page),所以一個Block是512KB。Block是擦除的最小單位,也就是說任何的擦除(“電容器”放電)都必須是正整數個Block。擦除一個Block就是把所有的位(bit)設置爲“1”(而所有字節(byte)設置爲FFh)。一定數量(2的冪次方)的Block構成更高一級的結構Plane,然後一般是兩個Plane組成一個Die,這個就是我們看到的一個芯片了。
圖中的這個NAND的Block由256個Page組成,所以一個Block是1024KB:
這裏寫圖片描述
目前NAND有以下三種

  • SLC(Single Level Cell):1bit/cell(一個浮動柵存儲的信息),單層式儲存,分別將電容器的充電狀態(有電荷)和放電狀態(無電荷)視爲0和1;速度快壽命長,價格超貴(約MLC3倍以上的價格),約10萬次擦寫壽命
  • MLC(Multi-Level Cell):2bit/cell,多層式儲存,將電荷全滿、電荷2/3、電荷1/3、無電荷這四種狀態定義成00、01、10、11;速度一般壽命一般,價格一般,約3000—10000次擦寫壽命
  • TLC(Trinary-Level Cell):3bit/cell,三重式存儲,也有Flash廠家叫8LC,增加了幾個中間值,有000至111這八種定義;速度慢壽命短,價格便宜,約500次擦寫壽命,目前還沒有廠家能做到1000次。

可以看出,SLC可以很清楚地判斷一個cell裏面到底是0還是1;但是MLC就不太容易判斷了,因爲不同量的電荷表示不同的數據,電荷稍有流失就會導致出錯;TLC出錯的機率更大。所以從穩定性而言,SLC最佳,MLC次之,TLC最差。另外這些Cell都是有“惰性”的,連續充電放電若干次之後就無法保存電荷了,造成數據出錯;從這個方面而言,SLC是最耐充放電的,MLC次之,TLC最差。所以SLC使用壽命最長,MLC次之,TLC最差。就充放電速度而言,SLC最簡單,速度也最快;結構越複雜速度也越慢,所以MLC次之,TLC最慢。
因此,無論是速度還是穩定性,SLC都是最佳的選擇,MLC次之,TLC最差。但是同樣的一個“電容器”,SLC存儲的信息只有MLC的1/2,也是TLC的1/4,所以SLC的成本也是最高,而且無法做成容量很大的芯片。目前SLC的NAND產品大多數用於企業級的半導體存儲器上,民用以MLC和TLC爲多。

NAND有個特性:讀取NAND中的信息,速度會很快;但是如果往NAND寫入數據,尤其是NAND原有的信息需要覆蓋的時候,速度會非常非常慢。但是無論是讀還是寫,操作系統本身甚至於電腦本身都是無法控制NAND芯片的。操作NAND芯片需要藉助於主控制器芯片。主控芯片也是影響SSD性能的最重要因素之一。

參考文檔:
http://bbs.pcbeta.com/viewthread-1043654-1-1.html
http://www.baike.com/wiki/NAND&prd=so_1_doc
http://www.baike.com/wiki/%25E9%2597%25AA%25E5%25AD%2598&prd=so_1_doc

發佈了88 篇原創文章 · 獲贊 17 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章