在嵌入式應(yīng)用中,海量存儲(chǔ)密度正在以前所未有的速度增長(zhǎng)。像便攜式媒體播放器、蜂窩電話、數(shù)碼相機(jī)、便攜式導(dǎo)航設(shè)備、無(wú)線網(wǎng)卡、閃盤這樣的消費(fèi)產(chǎn)品由于需要處理越來(lái)越多的多媒體內(nèi)容而要求更高的海量存儲(chǔ)密度。
NAND閃存已經(jīng)成為消費(fèi)類應(yīng)用中用作海量存儲(chǔ)的主要選擇,因?yàn)樗啾萅OR閃存而言具有單位比特成本更低、存儲(chǔ)密度更高的優(yōu)勢(shì),并且具有比硬盤更小的尺寸、更低的功耗以及更可靠的優(yōu)勢(shì)。
因?yàn)镹AND閃存在消費(fèi)市場(chǎng)上的需求量很高,因而存儲(chǔ)成本下降得很快,像POS(銷售點(diǎn))終端、打印機(jī)以及其他應(yīng)用可以用NAND存儲(chǔ)器以更低的成本達(dá)到更高的密度。
然而,由于這些嵌入式應(yīng)用對(duì)更高NAND閃存密度的要求在不斷提高,設(shè)計(jì)師需要從各種NAND閃存類型、密度、供應(yīng)商以及發(fā)展路線圖和實(shí)現(xiàn)方式中作出合理選擇。
使用NAND閃存的第一個(gè)也是最重要的選擇標(biāo)準(zhǔn)是NAND控制器的實(shí)現(xiàn)。所有的NAND閃存器件都需要位于軟件中的維護(hù)開銷和作為硬件的外部控制器以確保數(shù)據(jù)可靠,使NAND閃存器件的壽命最大,并提高性能。NAND控制器的三個(gè)主要功能是壞塊管理、損耗均衡以及糾錯(cuò)編碼(ECC)。
NAND閃存以簇的形式進(jìn)行數(shù)據(jù)存儲(chǔ),即所謂的塊。大多數(shù)NAND閃存器件在制造測(cè)試時(shí)就會(huì)發(fā)現(xiàn)有一些壞塊,這些壞塊在供應(yīng)商的器件規(guī)格說(shuō)明中是有標(biāo)記的。
此外,好的塊也可能會(huì)在NAND生命周期內(nèi)降低性能,因此必須通過軟件進(jìn)行跟蹤,并進(jìn)行壞塊管理。此外,對(duì)特定的塊進(jìn)行不斷的讀寫操作可能導(dǎo)致該塊很快“磨損”而變成壞塊。為了確保NAND器件最長(zhǎng)的壽命,限制磨損塊的數(shù)量,需要利用損耗均衡技術(shù)讓所有的塊讀寫次數(shù)均衡。
最后,由于某個(gè)單元的休止或操作可能產(chǎn)生誤碼,因此必須以軟件或硬件方式實(shí)現(xiàn)ECC來(lái)發(fā)現(xiàn)并糾正這些誤碼。ECC通常被業(yè)界定義為每528字節(jié)扇區(qū)中能糾正的代碼比特?cái)?shù)。在一個(gè)系統(tǒng)中,這種NAND控制器可以按照?qǐng)D1所示的三種不同配置方式與NAND進(jìn)行組合。
除了從圖1所示的三種NAND解決方案中作出選擇外,設(shè)計(jì)師還必須在兩種NAND閃存器件-SLC NAND和MLC NAND中作出選擇,它們各有優(yōu)缺點(diǎn)。
SLC NAND的每個(gè)塊都具有更長(zhǎng)的使用壽命和可靠性,因此需要較少的ECC,并能提供優(yōu)異的性能。MLC NAND性能則較低,而且難以實(shí)現(xiàn),因?yàn)樗枰叩燃?jí)的壞塊管理、損耗均衡和ECC。
然而就單比特的價(jià)格來(lái)說(shuō),它大約只有SLC NAND的1/3。由于SLC和MLC NAND之間成本差距越來(lái)越大,大多數(shù)應(yīng)用開始轉(zhuǎn)向MLC NAND,特別是較高密度的應(yīng)用,這樣可以大大地降低材料成本。
圖1中的三選一需要考慮多種因素,包括微處理器對(duì)NAND控制器的支持、所采用的NAND類型(SLC或MLC)以及平臺(tái)所要求的NAND密度。
如果平臺(tái)中使用了帶完整NAND接口和控制器的微處理器,設(shè)計(jì)師通常傾向于第一種選擇。大多數(shù)當(dāng)代的微處理器即使支持NAND的話,通常也只支持較低密度的SLC NAND存儲(chǔ)器。
工藝技術(shù)限制了SLC或MLC NAND裸片上能夠?qū)崿F(xiàn)的存儲(chǔ)量,而當(dāng)前每個(gè)裸片能支持的密度大約為1GB。因此為了支持更高密度的NAND,控制器必須支持多個(gè)NAND。
通常這需要通過使用交織處理和多個(gè)芯片使能管腳實(shí)現(xiàn)。而增加多個(gè)芯片使能腳以支持多個(gè)NAND將使微處理器的引腳數(shù)量增多,因此在微處理器中包含該類型的NAND控制器不是十分流行。
而且MLC NAND接口在微處理器上很難看到,這有幾方面的原因。隨著MLC NAND工藝技術(shù)節(jié)點(diǎn)的持續(xù)縮小,支持這種NAND存儲(chǔ)器所需的ECC等級(jí)變得越來(lái)越高。