本帖最後由 阿達金田一 於 2019-3-21 17:44 編輯
基本內功 - 磁碟儲存原理
我覺的這個是基本中的基本
關於這個... 在還沒有論壇時...
在 NoName大的 yahoo blog... 我曾經有寫過一篇有點相關的文章...
( 舊文備份 USB 磁碟儲存裝置的開機 原理和技術 的 分析及討論 )
不過這裡我還是重新寫一次...
因為舊文主要是針對 開機 ... 而且磁碟儲存部份...也只是寫了 MBR 分割
這裡我會用比較簡短的敘述來說明 磁碟儲存原理
磁碟 ... 這其實用英文的 Disk 比較正確 ...
Disk ... 可以泛指所有的 儲存裝置類型 ...
就 儲存媒體類型 來說...分為
1. 磁性儲存裝置(磁碟)
2. 光碟
3. 快閃碟(Flash)
若以 使用上(硬體 或 系統 的 存取控制) 來說 ... 分為
1. 軟碟 Floppy Disk ... 例如 ... 磁碟片
2. 硬碟 Hard Disk ... 例如 ... HDD SSD Flash
3. 光碟
HDD ... Hard Disk Drive , 硬碟 , 為了區別 SSD ... 所以通常是指 硬磁碟 , 維基HDD
SSD ... Solid State Disk(Drive) , 固態硬碟 , SSD 也算是 HDD ... 只是儲存媒體是用 Flash , 維基SSD
CD/DVD/BD ... 光碟 , 維基光碟
USB-HDD ... USB 外接硬碟 , USB介面 + 硬碟
USB-Flash ... USB 隨身碟(快閃碟) , USB介面 + Flash
USB-CD/DVD/BD ... USB光碟 , USB介面 + 光碟
在使用 Disk 時 ... 都需要建立相應的 table (表) ... 才能存取檔案
例如
光碟 有 ISO9960 , UDF ... 維基 ISO9660 , UDF
軟/硬碟 有 MBR , GPT , FAT/FAT32 , NTFS ... 等等 維基 MBR , GPT , FAT , NTFS
依據 不同的 硬體 , 系統 , table (表) ... 所 存取 的 Sector(磁區)大小 和 最小單位 可能各有不同 ...
例如
以目前的 硬體 和 Windows 來說
ISO9660 ... Sector 大小 2352bytes , LBA 定址
MBR , GPT ... Sector 大小 512bytes , LBA 定址
FAT/FAT32 , NFTS ... Sector 大小 512bytes , LBA 定址 , 存取時以 Cluster(叢集 , 簇) 為最小單位
對於 硬碟 Hard Disk
會使用 分割(區)表 ( partition table ) , 和 檔案系統 ( File System 其中有 File table )
也就是常說的 硬碟分割(分割表) 和 格式化(檔案系統)
分割表 常用就是 MBR , GPT
檔案系統 常用就是 FAT/FAT32 , NTFS
檔案系統 是建立在 分割區 中的... 簡易的示意圖
對於 軟碟 來說...直接使用的就是 檔案系統 ... 並沒有分割表
所以 硬碟分割 也可以看成是將 一個硬碟 分成 多個軟碟
注意... 前面說的只是 系統 也就是 軟體 部份的定義
在實際 儲存裝置 本身 硬體 的存取上... 有自己的最小儲存單位
傳統的 HDD 是 512bytes 為 1 Sector
但 4K-HDD , SDD , Flash 等...多是以 4K 為一個 Sector(HDD) / Page(SSD/Flash)
而 NTFS ... 通常(預設)也是以 4K 為一個 Cluster ...
所以才會有所謂 4K對齊 ( 維基4K對齊 ) ...
4K 對齊 是 對齊 分割區 的 大小 和 啟始 LBA ...
而 分割區 中會以 檔案系統 的 Cluster 為單位來存取...
所以是對齊 硬體的 最小儲存單位 和 檔案系統 的 Cluster
實際上 FAT NTFS 是可以設定 Cluster 的大小 ( 格式化時可以設定 )
NTFS 預設 4K , FAT 則會 依據 容量大小 來 自動調整 預設大小 ...
所以 FAT 如果要也 4K 對齊...可能要自己改一下 Cluster 大小 (4K 的倍數即可)
至於 MBR GPT FAT NTFS 相關資料... 前面都有提供 維基 的資料了... 所以太詳細的就不說了
|