iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Software Development

用作業系統讀懂另一半的OS系列 第 25

【2025鐵人賽】用作業系統讀懂另一半的OS:Storage Management 01

  • 分享至 

  • xImage
  •  

今天早上天氣還不錯,啊怎麼下午就開始雷聲轟隆隆,而且還是轟一整個下午的...
是誰!是誰在做壞事!!
https://ithelp.ithome.com.tw/upload/images/20250825/20177764gkLyMWLzfr.jpg

硬碟(Hard Disk Drive, HDD)

在作業系統課程中,硬碟(Hard Disk Drive, HDD)是大容量儲存結構的典型範例。雖然相較於固態硬碟(SSD),HDD 在機械結構限制下有較高的延遲和較慢的讀寫速度,但由於其單位成本低且儲存容量大,仍然是備份或冷資料儲存的理想選擇。

硬碟基本組成結構

硬碟由多個關鍵組件構成,每個部分都扮演著重要角色。

  • 碟片(Platter):硬碟內部有多個扁平的圓形碟片,其表面塗有磁性物質,用於儲存資料。
  • 磁頭(Read-Write Head):磁頭懸浮在碟片表面上方,負責讀取或寫入資料。
  • 手臂(Arm):手臂將所有磁頭固定在一起,當手臂移動時,所有磁頭也會同步移動。
  • 軌道(Track):每個碟片表面都邏輯上劃分為多個同心圓,這些圓形區域就是軌道。
  • 磁區(Sector):每個軌道會進一步細分為多個磁區,這是硬碟最小的儲存單位,通常大小為 512 位元組或 4 KB。
  • 柱面(Cylinder):所有磁頭在同一手臂位置下所對應的軌道集合,形成一個無形的圓柱體。
  • 主軸(Spindle):主軸負責轉動碟片,其轉速通常以每分鐘轉數(RPM)來表示,例如 5400 RPM 或 7200 RPM。

https://ithelp.ithome.com.tw/upload/images/20250808/20177764ckLOmSQMf2.png

硬碟效能指標

衡量硬碟效能的關鍵指標主要包括存取時間和傳輸速率。

  • 尋道時間(Seek Time):這是磁頭從目前位置移動到目標柱面所需的時間。
  • 旋轉延遲(Rotational Latency):這是碟片轉動,使目標磁區移動到磁頭下方所需的時間,平均而言,約為碟片轉動半圈的時間。
  • 傳輸速率(Transfer Rate):這是資料從硬碟傳送到記憶體的速度。
  • 動態隨機存取記憶體緩衝區(DRAM Buffer):現代硬碟通常內建有快取記憶體,用於暫存資料,藉此提升讀寫速度。
    尋道時間、旋轉延遲以及實際資料傳輸時間的總和,被稱為 I/O 時間,是評估硬碟存取效能的重要依據。

常見風險:磁頭碰撞(Head Crash)

所謂的磁頭碰撞,是指磁頭意外接觸到正在高速轉動的碟片表面,導致碟片被刮傷,造成資料永久損毀。一旦發生這種狀況,通常代表硬碟已無法修復,必須更換。由於磁頭和碟片之間的間隙極小,任何微小的震動或外力都可能導致磁頭碰撞,因此在使用和搬運硬碟時必須格外小心。

非揮發性記憶體裝置(NVM Devices)

記憶體裝置根據其斷電後是否能保留資料,可分為揮發性記憶體與非揮發性記憶體兩大類。非揮發性記憶體(Non-Volatile Memory, NVM)指的是即使斷電也能保留資料的記憶體,這類技術廣泛應用於固態硬碟(SSD)、隨身碟(USB)和嵌入式多媒體卡(eMMC)等儲存裝置中。

固態硬碟與傳統硬碟的比較

固態硬碟(SSD)是典型的 NVM 應用,與傳統硬碟(HDD)相比,兩者在結構與效能上存在顯著差異:

項目 SSD (NVM) HDD
結構 無移動部件(電子元件) 有磁碟片、磁頭與馬達
速度 快(無 seek time、低 latency) 慢(有 seek time 與旋轉延遲)
耐用度 採寫次數有限(需配合 wear-leveling) 易受物理損壞(如 head crash)
價格/容量 較貴;單位容量較小 較便宜;單位容量較大

快閃記憶體的技術限制

儘管固態硬碟採用的快閃記憶體(Flash Memory)具有高速存取的優勢,但其技術上仍存在一些固有限制:

  • 無法直接覆寫:與傳統硬碟不同,快閃記憶體無法直接覆蓋現有資料。當需要修改資料時,必須先將整個資料區塊(block)擦除,然後再將新資料寫入。
  • 以區塊為單位擦除:雖然資料寫入是以頁(page)為單位(約 4KB),但擦除操作必須以整個區塊為單位(約 256KB)。這意味著即使只修改一個位元組的資料,也必須擦除一個大區塊。
  • 有限的寫入壽命:每個儲存單元(cell)的寫入次數是有限的,通常上限約為十萬次。
  • 磨損平衡(Wear-Leveling):為了避免某些儲存區域因頻繁寫入而過早損耗,必須採用磨損平衡技術,將寫入操作平均分散到整個儲存空間,以延長硬碟壽命。
    這些限制使得固態硬碟需要專門的控制器和韌體演算法(例如 Flash Translation Layer, FTL)來管理資料,以確保其穩定性與耐用性。

揮發性記憶體作為儲存媒體:RAM Disk 的應用

雖然 DRAM 屬於揮發性記憶體,但它也可以被模擬成高速的儲存媒介,這種應用被稱為 RAM Disk。

RAM Disk 的本質是利用電腦的 DRAM 記憶體來創建一個「虛擬硬碟」。它可以在作業系統中被掛載,並像普通磁碟一樣使用,但其存取速度比任何固態硬碟都快。因此,它常用於快取儲存或作為高速臨時資料儲存區。然而,RAM Disk 的最大風險在於,一旦電腦斷電,其中儲存的所有資料將會立即消失。

位址對應(Address Mapping)

當系統需要從儲存裝置讀寫資料時,並不是直接存取其物理位置,而是經歷一個「位址對應」(Address Mapping)的過程,將抽象的邏輯位址轉換為實際的物理位址。

這種轉換機制就像是地圖上的門牌號碼(邏輯位址)和實際的 GPS 座標(物理位址)之間的關係。我們只需要知道門牌號碼,導航系統會自動將其轉換為精確的座標,帶我們到達目的地,而無需我們知道 GPS 座標。

邏輯區塊位址(LBA)

邏輯區塊位址(Logical Block Address, LBA)是作業系統與應用程式所看到的抽象位址。它可以被想像成一個連續的一維陣列,陣列中的每個元素都代表一個「邏輯區塊」。無論底層儲存裝置是傳統硬碟的磁區(sector)還是固態硬碟的頁面(page),在系統看來,它們都是一個個編號好的 LBA,例如 LBA 0、LBA 1 等等。這種抽象層的好處在於,它提供了一個簡單、統一的介面,讓作業系統不必關心底層儲存裝置的複雜物理結構。

實體位址(Physical Address)

實體位址則指的是資料在儲存裝置中的實際物理位置。對於傳統硬碟而言,實體位址由磁頭、柱面、磁道和磁區等參數組成。而對於固態硬碟,實體位址則與其內部的頁、區塊(block)以及晶片(die)等結構相關。

LBA 無法直接對應實體位址的原因

在現代儲存裝置中,邏輯位址與實體位址之間並非簡單的一對一對應關係,這種轉換過程通常被視為「黑盒子」。以下是導致這種複雜性的幾個主要原因:

  • 壞軌替換(Bad Sector Remapping):當傳統硬碟的某個磁區損壞時,裝置會自動將其標記為無效,並用備用區域中的一個磁區來取代。這時,儘管該磁區的 LBA 保持不變,但其對應的實體位址已經被悄悄地替換了。
  • 分區位元記錄(Zoned Bit Recording, ZBR):在傳統硬碟中,位於外圈的磁道比內圈的磁道長。為了更有效地利用空間,硬碟會將碟片劃分為多個區域,外圈區域的每個磁道會包含更多的磁區。這種設計使得每個磁道上的磁區數量不一,使得 LBA 到實體位址的對應關係更加複雜。
  • 位址對應機制的保密性:為了確保效能與可靠度,硬碟與固態硬碟的製造商通常會採用自家的專有演算法來管理 LBA 與實體位址的對應關係。這些演算法是裝置內建控制器的一部分,作業系統無法直接存取,這也導致了轉換過程的透明度降低。

不同儲存裝置的位址行為比較

下表比較了三種常見儲存裝置在儲存類型、資料保存、速度和常見用途上的差異:

項目 RAM Disk SSD / NVMe HDD
儲存類型 DRAM NAND Flash 磁碟片
是否揮發 ✅ 是 ❌ 否 ❌ 否
存取速度 🚀 超快 🔼 快 🐢 慢
資料保存能力 ❌ 斷電即失 ✅ 可長期保存
常見用途 暫存、安裝初始化 作業系統、APP 快取 冷資料、備份

上一篇
【2025鐵人賽】用作業系統讀懂另一半的OS:Virtual Memory 02
下一篇
【2025鐵人賽】用作業系統讀懂另一半的OS:Storage Management 02
系列文
用作業系統讀懂另一半的OS30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言