機械硬盤和固態硬盤
機械硬盤(HDD):
Hard Disk Drive,即是傳統普通硬盤,主要由:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成。機械硬盤中所有的盤片都裝在一個旋轉軸上,每張盤片之間是平行的,在每個盤片的存儲面上有一個磁頭,磁頭與盤片之間的距離比頭髮絲的直徑還小,所有的磁頭聯在一個磁頭控制器上,由磁頭控制器負責各個磁頭的運動。磁頭可沿盤片的半徑方向運動,加上盤片每分鐘幾千轉的高速旋轉,磁頭就可以定位在盤片的指定位置上進行數據的讀寫操作。數據通過磁頭由電磁流來改變極性方式被電磁流寫到磁盤上,也可以通過相反方式讀取。硬盤爲精密設備,進入硬盤的空氣必須過濾
固態硬盤(SSD):
Solid State Drive,用固態電子存儲芯片陣列而製成的硬盤,由控制單元和存儲單元(FLASH芯片、 DRAM芯片)組成。固態硬盤在接口的規範和定義、功能及使用方法上與普通硬盤的完全相同,在產品外形和尺寸上也與普通硬盤一致設備文件
相較於HDD, SSD在防震抗摔、傳輸速率、功耗、重量、噪音上有明顯優勢, SSD傳輸速率性能是HDD的2倍。相較於SSD, HDD在價格、容量、使用壽命上佔有絕對優勢
硬盤有價,數據無價,目前SSD不能完全取代HHD
硬盤接口類型
並行:
IDE: 133MB/s
SCSI: 640MB/s
串口:
SATA: 6Gbps
SAS: 6Gbps
USB: 480MB/s
rpm: rotations
per minute
硬盤存儲術語
head:磁頭
track:磁道
cylinder: 柱面
sector: 扇區, 512bytes(mbr)
在linux設備上,磁盤是有設備編號的
設備號碼:
主設備號: major number, 標識設備類型
次設備號: minor number, 標識同一類型下的不同設備
磁盤設備的設備文件命名: /dev/DEV_FILE
SCSI, SATA, SAS, IDE,USB: /dev/sd
虛擬磁盤: /dev/vd
不同磁盤標識: a-z,aa,ab…
/dev/sda, /dev/sdb, ...
同一設備上的不同分區: 1,2, ...
/dev/sda1, /dev/sda5
機械硬盤結構
CHS/LBA尋址
CHS
C:cylinder
H:head
S:sector
採用24bit位尋址
其中前10位表示cylinder,中間8位表示head,後面6位表示sector。
一個柱面大小:
512bytes(sector) * 2^6(sector/track) * 2^8(head)
=8388608bytes=8192Kb=8Mb
最大尋址空間8GB
LBA(logical block addressing)
LBA是一個整數,通過轉換成CHS格式完成磁盤具體尋址
LBA採用48個bit位尋址
最大尋址空間128PB
由於CHS尋址方式的尋址空間在大概8GB以內,所以在磁盤容量小於大概8GB時,可以使用CHS尋址方式或是LBA尋址方式;在磁盤容量大於大概8GB時,則只能使用LBA尋址方式
CHS與LBA轉換
#c、#h、#s分別是磁柱、磁頭、扇區的編號
#lba是邏輯區塊編號
H=heads per cylinder,每個磁柱的磁頭數
S=sectors per track,每磁道的扇區數
#lba=(#c*H+#h)*S+#s-1
LBA可用以下公式對應到CHS:
#c=#lba/(S*H)
#h=(#lba/S)%H
#s=(#lba%S)+1
例如:
CHS總數=[600, 10, 84],求#lba=1234所對應的CHS編號:
#c=1234/(84*10)=1
#h=(1234/84)%10=4
#s=(1234%84)+1=59
所以:
#chs=(1, 4, 59)
磁盤分區
爲什麼分區
優化I/O性能
實現磁盤空間配額限制
提高修復速度
隔離系統和程序
安裝多個OS
採用不同文件系統
分區方式
兩種分區方式: MBR, GPT
MBR分區格式
MBR: Master Boot Record, 1982年, 使用32位表示扇區數, 分區不超過2T
如何分區:按柱面
0磁道0扇區: 512bytes
446bytes: boot loader
64bytes:分區表
16bytes: 標識一個分區
2bytes: 55AA
4個主分區; 3主分區+1擴展(N個邏輯分區)
標準的MBR結構
位址 | 功能 | 描述 |
0000-0088 | 主引導程序 | 主引導程序 |
0089-01BD | 出錯信息數據區 | 出錯區 |
01BE-01CD | 分區1(16字節) |
分區表 |
01CE-01DD | 分區2(16字節) | |
01DE-01ED | 分區3(16字節) | |
01EE-01FD | 分區4(16字節) | |
01FE | 55 |
結束標誌 |
01FF | aa |
硬盤分區結構信息
存儲字節數 | 內容及含義 |
第1字節 | 引導標誌,值爲80H表示活動分區,00H表示非活動分區 |
第2,3,4字節 | 本分區的起始磁頭號,扇區號,柱面號。其中: 磁頭號-第2字節 扇區號-第3字節的低六位 柱面號-第3字節高2位,第4字節8位 |
第5字節 | 分區類型符: 00H-表示該分區未使用 06H-FAT16基本分區 0BH-FAT32基本分區 05H-擴展分區 07H-NTFS分區 0FH-(LBA模式)擴展分區(83H爲linux分區) |
第6,7,8字節 | 本分區的結束磁頭號,扇區號,柱面號。其中: 磁頭號-第6字節 扇區號-第7字節的低六位 柱面號-第7字節高2位,第8字節8位 |
第9,10,11,12字節 | 分區起始相對扇區號 |
第13,14,15,16字節 | 分區總的扇區數 |
GPT分區格式
GPT:GUID(Globals Unique Identifiers)
partitiontable 支持128個分區,使用64位,支持8Z(512Byte/block ) 64Z (4096Byte/block)使用128位UUID(Universally Unique Identifier) 表示磁盤和分區 GPT分區表自動備份在頭和尾兩份,並有CRC校驗位UEFI (統一擴展固件接口)硬件支持GPT,使操作系統啓動
GPT的分區信息是在分區中,而不象MBR一樣在主引導扇區,爲保護GPT不受MBR類磁盤管理軟件的危害,GPT在主引導扇區建立了一個保護分區(Protective MBR)的MBR分區表(此分區並不必要),這種分區的類型標識爲0xEE,這個保護分區的大小在Windows下爲128MB,Mac OS X下爲200MB,在Window磁盤管理器里名爲GPT保護分區,可讓MBR類磁盤管理軟件把GPT看成一個未知格式的分區,而不是錯誤地當成一個未分區的磁盤。
另外,爲了保護分區表,GPT的分區信息在每個分區的頭部和尾部各保存了一份,以便分區表丟失以後進行恢復。