Hard Disk Drive (HDD)
Introduction
HDD 的運作方式是讓塗有磁性材料覆蓋的碟片(platter)高速旋轉並且有讀寫頭(read-write head)在碟片上移動來讀取資料
碟片的旋轉速度大約是 3600 RPM ~ 15000 RPM
Terminology
1. Track
每個碟片都是一個 track
2. Cylinder
一個 Cylinder 是所有碟片同樣半徑的圓圈集合
3. Sector
讀寫頭旋轉讀到碟片上不同 每一定角度會是一個 sector(per-track)
Problem: Head Crash
當讀寫頭撞到碟片上面會造成碟片受損資料不見,因此每次關機時都需要將讀寫頭固定好
Address Mapping
disk 在 OS 眼中是一個超大一維陣列,其由 logical block 組成,logical block 是傳輸的最小單位。low-level formatting 負責將實體硬碟對應到 logical block
logical block 標號順序由第一個 track 最外的 cylinder 的 sector 0 開始轉一圈,然後是每個 track 的最外 cylinder,接下來是第一個 track 的第二個 cylinder 以此類推
此處 logical block = sector 都是 I/O request 的最小傳輸單位
HDD Scheduling
Performance
Performance Criteria
1. Transfer Rate
data 在電腦和硬碟間傳輸的速度
2. Positioning time (Random-access time)
由兩個部分組成:
- Seek time:讀寫頭移動到目標 cylinder 所需的時間
- Rotational latency:碟片旋轉到我們想要的 sector 所需的時間
因為機械結構限制,這個部分超慢而且難以提高
- sequential read/write 受到 rotational latency 限制
- random read/writes 受到 seek time 限制
Performance Calculation
Access Latency
指找到資料所在處所需時間
Average I/O time
完成一次 I/O 所需時間