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

D-OS-Ch11d-HDD_Scheduling


Performance

Performance Criteria

1. Transfer Rate

data 在電腦和硬碟間傳輸的速度

2. Positioning time (Random-access time)

由兩個部分組成:

  1. Seek time:讀寫頭移動到目標 cylinder 所需的時間
  2. Rotational latency:碟片旋轉到我們想要的 sector 所需的時間

因為機械結構限制,這個部分超慢而且難以提高

  • sequential read/write 受到 rotational latency 限制
  • random read/writes 受到 seek time 限制

Performance Calculation

Access Latency

指找到資料所在處所需時間

Average I/O time

完成一次 I/O 所需時間