Wear Leveling (耗損平均技術)

Wear Leveling (耗損平均技術)

快閃記憶體(NAND Flash)因製程技術的差異而有不同的抹寫次數(Program/erase cycle)限制。對單一區塊(block)不斷重複地寫入和抹除,會因為過度使用造成讀寫速度變慢,嚴重者甚至會損壞而產生壞塊(bad block)。

耗損平均技術(Wear Leveling)則能使儲存裝置中的每個NAND flash區塊平均地被使用,避免資料僅在特定區塊做寫入及抹除而提早損壞,導致整個裝置(例如SSD、隨身碟、記憶卡等)因壞塊過多而無法使用。

控制器透過韌體的磨損均衡演算法,將寫入資料平均分配到所有區塊,可平均控制每一區塊的抹寫次數,以避免特定區塊的過度使用;讓快閃記憶體的每一區塊都能達到其耐久限制,進而延長使用壽命。

耗損平均技術的優點有:

  • 避免快閃記憶體特定區塊被過度使用,而減少裝置的使用壽命
  • 達到耐久性限制時可預警
  • 用戶可提前備份資料,防止數據丟失

Wear Leveling(耗損平均技術)的功用,是確保Flash顆粒中的每一個區塊能平均地被使用,避免單一區塊耗損次數過多,導致區塊損壞或資料丟失。

Wear Leveling分為三種模式:

  1. 動態平均耗損(Dynamic Wear Leveling): 只使用可用空間做平均耗損,確保資料只會寫入在同一空間內抹除次數較低的區塊。
  2. 靜態平均耗損(Static Wear Leveling): 使用單一Flash顆粒內的所有空間做平均耗損,會將資料從耗損次數較少的區塊移至其他區塊;寫入次數較低的區塊就可以被空出來使用。
  3. 全域平均耗損(Global Wear Leveling): 耗損平均範圍擴及整個儲存裝置中的Flash顆粒,資料會平均地寫入到整個儲存裝置內耗損次數較低的區塊。