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