大容量儲存與磁碟排程

磨損平均(wear leveling)

想像一段鋪了地毯的樓梯。如果每個人都總是踩在每一階完全相同的位置,那個位置一年內就會被踩到禿,而其餘的地毯仍然嶄新。聰明的管理員會隨著時間輕輕引導人們踩在不同的地方,好讓整片地毯均勻老化、壽命長得多。磨損平均替快閃記憶體做的就是這件事:它把寫入分散到所有單元,使任何單一單元都不會遠早於其他單元就磨壞。

具體來說,每個快閃抹除區塊只能熬過有限的抹除循環次數(也許數千到數萬次),之後就會變得不可靠。如果硬碟總是把同一批實體頁拿來存熱門、頻繁重寫的資料(比方說檔案系統的中介資料),那些單元就會很快死去,而晶片大部分仍完好如初——而一顆硬碟的健康程度,取決於它最弱的那些區塊。由快閃轉換層執行的磨損平均,會刻意輪換哪些實體區塊存哪些資料,甚至偶爾把很少變動的(冷)資料搬走,好騰出磨損輕的區塊給熱資料,使整個裝置的抹除次數保持大致平衡。

為什麼重要:磨損平均是現代 SSD 儘管快閃記憶體寫入壽命有限、卻仍能在正常使用下撐上數年的主要原因。少了它,一顆硬碟可能在幾個月內就因為少數熱點燒壞而故障。但這是一場有代價的平衡:為了均勻磨損而四處搬移冷資料,本身就是額外的寫入,會助長寫入放大。而且它並不能讓快閃記憶體長生不老——它只是把有限的寫入預算均勻分攤,換取壽命,但一顆被狂寫的硬碟終究還是會耗盡那份預算。

某個檔案系統不斷地重寫它那一小塊日誌區。少了磨損平均,那幾個區塊會撞上抹除上限而故障,而一顆 1 TB SSD 的其餘部分卻幾乎沒被動過。有了它,硬碟會持續把那塊熱門的日誌挪到全新的區塊上,使整個晶片一起老化。

把寫入均勻分散,正是讓 SSD 的壽命划得來的關鍵。

磨損平均推遲了終點,並未廢除終點。快閃記憶體仍有一個有限的總寫入預算;這個技術只是確保整顆硬碟一起達到那個上限,而不是少數單元提早故障。

又称
wear levelling耗損平均均勻磨損