1.出廠壞塊:
閃存顆粒在生產時,或多或少都會有一些壞塊。
2.改善壞塊:
隨著閃存的應用時間增加,一些早期的好塊也會變成壞塊,變質的原因通常是擦除次數。
制造商會在有缺陷的產品上做特殊的標記。一般來說,剛出廠的閃存也是擦除的,里面的數據是0xFF。但對于壞塊,工業閃存廠商會添加不同的標識。
使用工業閃存時,客戶應首先根據工業閃存文檔掃描每個工業閃存塊,刪除壞塊并創建壞塊表。
改善壞塊,其外觀會通過讀、寫、擦除等操作來體現。比如看到UECC(數據無法按照ECC修復)、擦除失敗、寫入失敗都是壞塊的征兆。客戶應將這些壞塊添加到壞塊表中,并停止使用它們。
管理壞塊一般有兩種策略,一種是忽略對策,一種是替換對策。
1.忽略對策
根據客戶建立的壞塊表,在寫入閃存時,一旦遇到壞塊,就會越過并寫入下一個塊。
SSD存儲空間是工業閃存陣列。無論是M.2 SSD還是SATA SSD,通常都有幾個并行通道,每個通道連接多個閃存。
2. 替換對策
與忽略對策不同,當在芯片上發現壞塊時,可以用該芯片中的好塊替換它。有了這個對策,除了正常用戶使用的閃存塊之外,還需要保留一些好的閃存塊來替換用戶空間中的壞的。芯片上所有Flash模塊分為兩個區域:用戶空間和預留空間。
選擇替換對策,SSD內部需要維護一個重映射表:壞塊到替換塊的投影,比如B→B’。SSD瀏覽BlockB需要搜索重映射表,瀏覽的具體物理塊應該是B’。