● Wear leveling磨損平衡

Flash Chip存在“寫磨損”的問題,當(dāng)某個(gè)單元長時(shí)間被反復(fù)擦寫時(shí)(比如Oracle Redo),不僅會(huì)造成寫入的性能問題,而且會(huì)大大縮短Flash memory的使用壽命。

Wear leveling依賴于SSD中的一部分保留空間,基本原理是在Flash Chip中設(shè)置了兩個(gè)block pool,一個(gè)是free block pool (空閑池) ,一個(gè)是數(shù)據(jù)池(data block pool )。

當(dāng)需要改寫某個(gè)page時(shí)(如果寫入原有位置,必須先擦除整個(gè)block,然后才能寫入數(shù)據(jù)) ,并不寫入原有位置(不需要擦除的動(dòng)作) ,而是從空閑池中取出新的block,將現(xiàn)有的數(shù)據(jù)和需要改寫的數(shù)據(jù)合并為新的block,一起寫入新的空白block,原有的block被標(biāo)識(shí)為invalid狀態(tài)(等待被擦除回收) ,新的block則進(jìn)入數(shù)據(jù)池。

后臺(tái)任務(wù)會(huì)定時(shí)從數(shù)據(jù)池中取出無效數(shù)據(jù)的block,擦除后回收到空閑池中。這樣做的好處在于,一是不會(huì)反復(fù)擦寫同一個(gè)block,二是寫入的速度會(huì)比較快(省略了擦除的動(dòng)作)。

● BBM(Bad Block Management)壞塊管理

不管WL算法如何高明,在使用中都會(huì)碰到一個(gè)頭痛的問題,那就是壞塊,所以一個(gè)SSD必須要有壞塊管理機(jī)制。何謂壞塊?一個(gè)閃存塊里包含有不穩(wěn)定的地址,不能保證讀/寫/擦?xí)r數(shù)據(jù)的準(zhǔn)確性。

2

一般來說閃存出廠都包含壞塊,不過廠商有個(gè)最小有效塊值(NvB-minimum number of valid blocks),以Intel的34nm MLC L63B來說,1個(gè)die上4,096個(gè)塊里至少要有3,936個(gè)塊是好的。從這上面可以知道,雖然出廠的閃存可能有壞塊,但是廠商保證在正常的生命周期里,好塊數(shù)量不會(huì)低于3936個(gè)塊。而且每個(gè)die的第一個(gè)塊地址(00h)在出廠時(shí)是必須保證完好的。閃存出廠前都會(huì)被執(zhí)行擦除操作,廠商會(huì)在出貨前會(huì)把壞塊標(biāo)記出來,這樣壞塊管理軟件就能靠監(jiān)測標(biāo)記來制作壞塊表。由于在使用中會(huì)產(chǎn)生壞塊,所以SSD的主控在每次寫入/擦除/復(fù)制等操作后都要檢查塊的狀態(tài)以建立新的壞塊表。 當(dāng)壞塊表創(chuàng)建后,主控會(huì)把壞塊表保存在某個(gè)好的塊里,每次重啟后,主控會(huì)從那個(gè)塊里把表調(diào)用進(jìn)緩存(RAM)里。壞塊表中定義的地址是不能被訪問的,所以當(dāng)系統(tǒng)想去訪問這個(gè)塊的地址時(shí),F(xiàn)TL會(huì)重新把它映射到好的塊地址上去。

塊的替換: 在閃存的生命周期中,壞塊會(huì)逐漸增多。閃存設(shè)備上有個(gè)狀態(tài)寄存器,它的作用就是檢測操作是否正確完成。當(dāng)進(jìn)行寫入或擦除操作,狀態(tài)寄存器檢測到錯(cuò)誤時(shí),即可判定當(dāng)前的塊為壞塊。鑒于閃存的寫入是以頁為單位操作的,操作時(shí)可能影響到整個(gè)塊里其它頁的數(shù)據(jù),所以當(dāng)狀態(tài)寄存器發(fā)現(xiàn)寫入出現(xiàn)錯(cuò)誤時(shí),壞塊管理程序就能夠用好的塊替換這個(gè)壞塊,重新在新的好塊里寫入這個(gè)數(shù)據(jù),并把檢測到的壞塊里其余的有效頁數(shù)據(jù)全部復(fù)制到新的塊里去,標(biāo)記老的塊為壞塊,更新壞塊表里的地址,把原本壞塊的地址重新映射到新的好塊里。

SSD之全面保修

3

最后關(guān)于SSD磁盤的保修,一般硬盤廠商會(huì)提供3年或者5年的有限保修,但有些情況硬盤廠商是不予保修的,如物理損壞,盤體被拆除等,特別是強(qiáng)調(diào)SSD硬盤寫入次數(shù)如果達(dá)到設(shè)計(jì)上限,也就是說保修不涵蓋在設(shè)備達(dá)到其最大寫壽命后所發(fā)生的問題。但如果您使用DELL Compellent系列的存儲(chǔ)就不會(huì)為此擔(dān)心,DELL現(xiàn)在將Compellent系統(tǒng)中的SSD完全納入整個(gè)系統(tǒng)的保修期內(nèi),也就是說不管CML里面的SSD硬盤是否達(dá)到寫入次數(shù)限制,DELL都會(huì)提供保修,保修期跟隨整機(jī),DELL的此保修范圍還適用于已購買DELL Compellent存儲(chǔ)陣列閃存的現(xiàn)有客戶,包含SC4020、SC9000等的SC系列存儲(chǔ)。

經(jīng)過以上的介紹您是不是對(duì)SSD的使用越來越有信心,快去購買SSD加速您的應(yīng)用吧!

分享到

sunk

相關(guān)推薦