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