近十年來(lái),隨著非易失性存儲(chǔ)器概念的發(fā)展,解決方案變得越來(lái)越復(fù)雜,以適應(yīng)嵌入式系統(tǒng)市場(chǎng)的多種使用模型。
因?yàn)榧夹g(shù)特性和成本效益的優(yōu)勢(shì),非易失性存儲(chǔ)器特別是NAND和NOR兩種閃存產(chǎn)品,在不同的應(yīng)用市場(chǎng)取得空前的成功。此外,為克服技術(shù)限制,追隨技術(shù)進(jìn)步,NAND閃存控制器架構(gòu)需要與閃存芯片并行化發(fā)展,在存儲(chǔ)器芯片上實(shí)現(xiàn)高效的數(shù)據(jù)管理。
為確保存儲(chǔ)器的簡(jiǎn)易移植,降低存儲(chǔ)控制器的復(fù)雜程度,增加非易失性存儲(chǔ)器特性變化的透明度,可管理的存儲(chǔ)器概念在很多應(yīng)用中已變?yōu)楝F(xiàn)實(shí),如汽車(chē)、工業(yè)、手機(jī)和無(wú)線通信領(lǐng)域。
可管理的存儲(chǔ)器概念的問(wèn)世來(lái)自一個(gè)簡(jiǎn)單的想法:把存儲(chǔ)控制器的一些智能轉(zhuǎn)移到存儲(chǔ)器上。采用一個(gè)可管理的存儲(chǔ)器的直接效果包括:閃存技術(shù)變化不影響整個(gè)存儲(chǔ)系統(tǒng)變化;功能差異化;因?yàn)橹匦陆o存儲(chǔ)器分配任務(wù)而使得存儲(chǔ)器控制器軟件負(fù)荷減輕。
閃存技術(shù)概況
非易失性存儲(chǔ)器經(jīng)歷了一個(gè)快速發(fā)展階段,并產(chǎn)生了各種獨(dú)特的技術(shù)和架構(gòu),能夠適應(yīng)不同的應(yīng)用領(lǐng)域。
其中,閃存技術(shù)非常普及,并取得巨大成功。
閃存技術(shù)基本上代表了一類(lèi)電可擦寫(xiě)非易失性存儲(chǔ)器,即使斷電或外部控制器關(guān)斷電源,閃存也不會(huì)丟失片內(nèi)保存的數(shù)據(jù)。沿兩條不同的路線發(fā)展進(jìn)化,閃存產(chǎn)生了兩個(gè)不同產(chǎn)品家族:NOR和NAND閃存。
閃存采用浮柵技術(shù)把微小信息保存在存儲(chǔ)單元內(nèi),在浮柵技術(shù)的發(fā)展過(guò)程中,光刻技術(shù)節(jié)點(diǎn)被連續(xù)地縮小,使芯片尺寸越變?cè)叫?,成本效益不斷提高。每個(gè)存儲(chǔ)單元可以存儲(chǔ)一個(gè)位的信息(單級(jí)單元,簡(jiǎn)稱(chēng)SLC)或多個(gè)位的信息(多級(jí)單元,簡(jiǎn)稱(chēng)MLC)。
存儲(chǔ)單元排列在一起,構(gòu)成存儲(chǔ)陣列,NOR和NAND擁有不同的存儲(chǔ)陣列結(jié)構(gòu)。每個(gè)陣列又組成塊。NAND閃存的塊由頁(yè)組成。表1所示是NAND和NOR閃存的基本區(qū)別,其中考慮到了最新縮小的技術(shù)節(jié)點(diǎn)。
技術(shù)上的差異預(yù)示著應(yīng)用上的差異。NOR閃存的快速讀取性能特別適用于實(shí)現(xiàn)片內(nèi)執(zhí)行代碼(XiP)技術(shù),這種非易失性存儲(chǔ)器用于系統(tǒng)的執(zhí)行代碼內(nèi)存或系統(tǒng)啟動(dòng)內(nèi)存。
NAND的寫(xiě)吞吐量和高密度使其成為大容量存儲(chǔ)應(yīng)用的必選方案,但是NAND的應(yīng)用范圍逐漸擴(kuò)大到代碼存儲(chǔ)應(yīng)用領(lǐng)域,比如NAND閃存用于保證代碼(操作系統(tǒng)代碼、應(yīng)用軟件)存在,在多片存儲(chǔ)解決方案中,代碼往往被下載至執(zhí)行內(nèi)存內(nèi)(通常是一個(gè)RAM)。
目前大多數(shù)可管理的存儲(chǔ)器解決方案都基于NAND閃存技術(shù)。NAND閃存技術(shù)可再分為兩種類(lèi)型:?jiǎn)渭?jí)單元和多級(jí)單元。表2概述了采用相同單元光刻技術(shù)的兩類(lèi)存儲(chǔ)器的某些差異。
兩類(lèi)存儲(chǔ)技術(shù)的基本差異表明,SLC可能更適用于存儲(chǔ)和下載代碼,因?yàn)樽x取性能和耐擦寫(xiě)能力更加優(yōu)異,而MLC NAND則是所有大容量存儲(chǔ)應(yīng)用的最佳解決方案。
NAND閃存錯(cuò)誤管理機(jī)制和數(shù)據(jù)管理
1.擦寫(xiě)粒度不同。一顆NAND閃存芯片必須以頁(yè)為單位進(jìn)行讀寫(xiě)操作(不過(guò),每個(gè)廠商都準(zhǔn)許SLC NAND支持?jǐn)?shù)量有限的局部讀寫(xiě)操作,并對(duì)此進(jìn)行了詳細(xì)規(guī)定)。擦除操作以塊為單位。此外,每頁(yè)在寫(xiě)數(shù)據(jù)前必須先進(jìn)行擦除操作,因此,抽象物理層接口需要一個(gè)從邏輯到物理的重新映像策略。
2.擦寫(xiě)循環(huán)次數(shù)。擦寫(xiě)操作基于一個(gè)破壞存儲(chǔ)單元的物理原理(采用高壓的Fowler-Nordheim隧道技術(shù)),因?yàn)檫@種方法沖擊存儲(chǔ)陣列(位、頁(yè)或塊),所以,擦寫(xiě)循環(huán)的次數(shù)將受到限制(故稱(chēng)為器件耐擦寫(xiě)能力)。為延長(zhǎng)存儲(chǔ)器的使用壽命,推薦使用一個(gè)均衡使用陣列物理位置的技術(shù)(在整個(gè)陣列上分配擦寫(xiě)操作)。
3.位修改。在讀寫(xiě)操作過(guò)程中,某些技術(shù)限制可能導(dǎo)致一定數(shù)量的位被修改,利用錯(cuò)誤檢測(cè)糾正算法可以使這些位恢復(fù)正常,使SLC NAND的擦寫(xiě)循環(huán)達(dá)到100,000次,MLC NAND的擦寫(xiě)循環(huán)達(dá)到10,000次。在一次頁(yè)讀取操作過(guò)程中,這些算法可以檢測(cè)和校正一定數(shù)量的位錯(cuò)誤。校正能力(最大可校正位數(shù)量)是一個(gè)由廠商定義的參數(shù),因?yàn)檫@個(gè)參數(shù)與技術(shù)的關(guān)系非常密切,光刻技術(shù)節(jié)點(diǎn)縮小可能會(huì)改進(jìn)這個(gè)參數(shù)。
4.壞塊。在完成制造階段后,某些陣列位置可能會(huì)被破壞,導(dǎo)致芯片上出現(xiàn)所謂的壞塊。壞塊分類(lèi)如下:
出廠后壞塊:因制程而引起的外部應(yīng)用不能使用的閃存壞塊。當(dāng)產(chǎn)品出廠時(shí),塊 ‘0’始終是正常塊(例如,用于存儲(chǔ)引導(dǎo)代碼)。
在使用過(guò)程中變成壞塊的塊:當(dāng)擦寫(xiě)操作失敗時(shí),就會(huì)發(fā)現(xiàn)這些塊是壞塊。為保證內(nèi)容的完整性,必須更改含有內(nèi)容的塊,把內(nèi)容復(fù)制到另一個(gè)存儲(chǔ)位置。
如果系統(tǒng)含有一個(gè)存儲(chǔ)數(shù)據(jù)和代碼的NAND閃存,設(shè)計(jì)人員就必須采用一個(gè)適合的閃存數(shù)據(jù)管理機(jī)制,以解決所有這些技術(shù)限制。數(shù)據(jù)管理是一套用軟件程序或硬件塊實(shí)現(xiàn)的算法(見(jiàn)表3)。
可管理的存儲(chǔ)器概念
在NAND閃存技術(shù)的發(fā)展過(guò)程中,存儲(chǔ)器控制器曾呈現(xiàn)日益復(fù)雜化趨勢(shì)。為解決這個(gè)問(wèn)題,可管理的存儲(chǔ)器解決方案近年來(lái)在不同的系統(tǒng)中日漸盛行。這種解決方案有以下幾個(gè)主要特性:內(nèi)部架構(gòu)由控制器和閃存芯片組成;閃存數(shù)據(jù)管理算法嵌入在系統(tǒng)內(nèi),由內(nèi)部控制器執(zhí)行;標(biāo)準(zhǔn)化接口,可與外部存儲(chǔ)器控制器通信,例如,e-MMC(JEDEC組織定義的多媒體卡接口)定義了總線特性和通信協(xié)議;附加特性(在寫(xiě)操作過(guò)程中發(fā)生斷電事件時(shí)可保護(hù)數(shù)據(jù)完整性的安全算法等)(見(jiàn)圖1)。
本文小結(jié)
選用可管理的非易失性存儲(chǔ)器解決方案具有明顯優(yōu)勢(shì)和直接效果,體現(xiàn)在:NAND閃存技術(shù)變化不影響整個(gè)系統(tǒng);閃存廠商獨(dú)立共存;移植性;互操作性;存儲(chǔ)控制器上軟件負(fù)荷降低;可擴(kuò)展性。
概括地說(shuō),與非易失性存儲(chǔ)器技術(shù)變化(光刻節(jié)點(diǎn)縮小、更高的查錯(cuò)和糾錯(cuò)要求和存儲(chǔ)2位以上信息的多級(jí)單元)相關(guān)的一些因素,必然導(dǎo)致使用控制器解決所有這些技術(shù)問(wèn)題,因此可管理的存儲(chǔ)器概念應(yīng)運(yùn)而生。
此外,市場(chǎng)對(duì)手機(jī)產(chǎn)品和無(wú)線通信系統(tǒng)的需求越來(lái)越高,例如要求更高的傳輸帶寬、更低的功耗、不同使用模式共存(即代碼執(zhí)行和海量存儲(chǔ))等等。存儲(chǔ)器控制器可以滿足這些需求,在一個(gè)專(zhuān)用架構(gòu)內(nèi),存儲(chǔ)器控制器能夠適時(shí)地管理閃存芯片。