壞塊與來源
固態硬碟的NAND Flash顆粒是由一個個小小的Flash塊所組成,Flash塊則會有好有壞。固態硬碟的壞塊來源主要有兩方面:
出廠壞塊(Factory Original Bad Block)
由晶圓經過檢測、切割、封裝等眾多流程才會封裝成NAND Flash顆粒 (NAND Flash晶片);在這過程中,NAND Flash顆粒裡面可能會產生壞塊,這類壞塊由於技術因素無可避免。
後期增長壞塊(Later Bad Block)
隨著使用固態硬碟的時間越長,固態硬碟裡一些原本好的Block也會因為在使用過程中磨損,或發生一些如異常斷電等意外狀況,而變成壞塊。
如何鑑別壞塊
威剛有專門的測試設備和軟硬體來鑑別NAND Flash中的壞塊,並對壞塊做特殊標記:
1、若出廠含有壞塊,威剛會在壞區塊的Spare Area (Spare Column) 或Data Area (Main Array) 指定的地址寫入非FFh的數據(例00h),通常為每個區塊的第一個Page (或第二個Page或最後一個Page) 的第一個Byte含有非FFh的數據,則該區塊為壞區塊,用以識別出廠時的好區塊與壞區塊,這就是所謂的壞區塊標示(Bad或Invalid Block Mark)。
2、如果在使用固態硬碟的過程中,出現抹除失敗、寫入失敗、讀到UECC (Uncorrectable Error Correction Code, 資料無法透過ECC糾錯而恢復) 等,基本都是NAND Flash block 出現異常,需將這些區塊加入到壞塊表,不再使用它們。
壞塊管理的兩種方式
略過法(Skip Block Method)
用戶根據建立的壞塊表,在寫入資料到Flash的時候,一旦遇到壞塊便會跨過它,寫下一個區塊。
替換法(Reserved Block Area Method)
威剛的作法是當在某個區域上發現壞塊時,控制器會將預留的某個spare block 將其替換,而壞塊被標識並寫入壞塊表且不再被使用;那麼當以後用戶寫入資料時,而是將資料寫到相應的替換塊上。