熱門關(guān)鍵詞: 聯(lián)樂 宇瞻工業(yè)級TF卡 工業(yè)閃存卡品牌 固態(tài)硬盤品牌
壞塊來源主要包括:
出廠壞塊(Factory Bad Block):
閃存從工廠出來,就或多或少的有一些壞塊。
增長壞塊(Grown Bad Block):
隨著閃存的使用,一些初期好塊也會變成壞塊。變壞的原因,主要是擦寫磨損。
閃存廠商在閃存出廠時,會對出廠壞塊做特殊標(biāo)記。一般來說,剛出廠的閃存都被擦除,里面的數(shù)據(jù)是全0xFF。但是對壞塊來說,閃存廠商會打上不同的標(biāo)記。
鎧俠(KIOXIA)會在出廠壞塊的第一個閃存頁和最后一個閃存頁的數(shù)據(jù)區(qū)第一個字節(jié)和Spare區(qū)第一個字節(jié)寫上一個非0xFF的值。
用戶在使用閃存的時候,首先應(yīng)該按照閃存文檔,掃描所有的閃存塊,把壞塊剔除出來、建立一張壞塊表。
還有些閃存廠商,它會把壞塊信息存儲在閃存內(nèi)部某個地方(掉電不丟失),用戶在建立壞塊表的時候,沒有必要掃描所有的閃存塊來識別壞塊,只需讀取閃存的那個特定區(qū)域。比如Micron,它的閃存內(nèi)部有個叫OTP(One Time Programming)的區(qū)域,出廠壞塊信息可以存在里面。
對增長壞塊而言,它的出現(xiàn)會通過讀寫擦等操作反映出來。比如讀到UECC(Uncorrectable Error Correction Code,數(shù)據(jù)沒有辦法通過ECC糾錯恢復(fù))、擦除失敗、寫失敗,這都是一個壞塊出現(xiàn)的癥狀。用戶應(yīng)該把這些壞塊加入壞塊表,不再使用。SSD的存儲空間是閃存陣列,無論是Industrial M.2 SSD還是Industrial mini mSATA SSD一般都有幾個并行通道,每個通道上連接了若干個閃存,看下圖Agrade M.2 SSD,該SSD有四個通道,每個通道上掛了一個閃存Die。
SSD向四個Die 依次寫入。假設(shè) Die 1上有個 Block B是壞塊,若固件采取壞塊略過策略,則寫完 Block A時,接下來便會跨過Block B寫到Die2的Block C上面去。
與略過策略不同,當(dāng)某個Die上發(fā)現(xiàn)壞塊時,它會被該Die上的某個好塊替換。用戶在寫數(shù)據(jù)的時候,不是跨過這個Die,而是寫到替換塊上面去。采用此策略,除正常用戶使用的閃存塊,還需額外保 留一部分好的閃存塊,用于替換用戶空間的壞塊。整個Die上閃存塊就劃分為兩個區(qū)域:用戶空間和預(yù)留空間。
還是以上面的情況為例:用戶寫入數(shù)據(jù)時,當(dāng)碰到壞塊B,它不會略過 Die1不寫,而是寫到Block B的替換者 Block B’上面去。采用替換策略,SSD內(nèi)部需維護(hù)一張重映射表(Remap Table):壞塊到替換塊的映射,比如B→B’。當(dāng)SSD需要訪問Block B時,它需要查找重映射表,實(shí)際訪問的物理Block應(yīng)該是B’。
我們看看兩者策略的優(yōu)劣 。
略過策略的劣勢在于性能不穩(wěn)定。以4個Die為例,略過策略可能導(dǎo)致Die的并行度在1和4個Die之間,而替換策略并行度總是4個Die,毋庸置疑,前者性能表現(xiàn)不如后者。但替換策略有木桶效應(yīng),如果某個Die質(zhì)量比較差,則整個SSD可用的閃存塊則受限于那個壞的Die。
注:本文來源于聯(lián)樂實(shí)業(yè)官網(wǎng)http://www.lz0830.cn/,轉(zhuǎn)載請標(biāo)明出處
本文標(biāo)簽: 壞塊管理在閃存中的重要性