在傳統式硬碟,磁碟盤被分為好幾個同心圓軌道(稱為磁軌 track),每個磁軌又被劃分為好幾個小格子(稱為磁區 sector ),許多的磁區又被組合成叢集(cluster),叢集是擺放檔案的最小單位,檔案資料就被擺放在叢集當中;作業系統會根據叢集大小來保留檔案的磁碟空間,叢集越小,磁碟空間的利用率就越高。
以XP作業系統為例,當我們將硬碟(大於或等於2G的硬碟)格式化成 NTFS 格式時,預設的一個叢集大小為 4KB;如果格式化成 FAT 格式時,預設的一個叢集大小為 64KB。假設您有一個檔案大小是2KB,當它存入 NTFS 格式硬碟時,會佔用4KB(一個叢集)的硬碟空間;當它存入 FAT 格式硬碟時,會佔用64KB的硬碟空間,因此才會說叢集越小,磁碟空間的利用率就越好。
接下來要簡單的解釋磁碟重組,我們用火車來比喻,假設一節火車車廂就是一個叢集,有一列12節車廂的火車, A 檔案佔用了第1~2節車廂,B 檔案佔用3~5節車廂,C 檔案佔用6~7節車廂,第8~12節車廂是空的。有一天我們刪除了 B 檔案,所以3~5節車廂就空出來了;接著又新增了一個需要佔用2節車廂的 D 檔案,作業系統會找到一塊符合的空間來存放,所以 D 檔案被放入3~4節車廂;一段時間過後 D 檔案的內容增加了一倍,所以就往第8和第9節車廂擺放。
這時候問題來了,當我們要存取 B 檔案時,就必須在3~4和8~9這四節車廂來回存取資料,這會降低檔案存取的速度,為了要提昇效能就必須將檔案重新排列組合,讓檔案可以連續擺放,例如將C檔案搬到3~4節車廂,B檔案搬到5~8節車廂,這樣子就可以連續存取檔案提昇效率,這也就是所謂的磁碟重組(Defragmentation)。
有一個很重要的觀念需要提醒,固態硬碟(SSD)中資料並非擺放在磁區所組成的叢集中,而是置放在有寫入次數限制(SLC約為100,000次寫入週期)的記憶體Cell中,當您執行重組時,會增加寫入的次數因而減少記憶體的壽命;另外固態硬碟在存取檔案時,是一次性將資料從所有存放的cell中取出,所以也不需要重組。
沒有留言:
張貼留言