近十年來(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í),如汽車,、工業(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ù)基本上代表了一類電可擦寫非易失性存儲(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)稱SLC)或多個(gè)位的信息(多級(jí)單元,簡(jiǎn)稱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的寫吞吐量和高密度使其成為大容量存儲(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ù)可再分為兩種類型:?jiǎn)渭?jí)單元和多級(jí)單元,。表2概述了采用相同單元光刻技術(shù)的兩類存儲(chǔ)器的某些差異,。
兩類存儲(chǔ)技術(shù)的基本差異表明,SLC可能更適用于存儲(chǔ)和下載代碼,,因?yàn)樽x取性能和耐擦寫能力更加優(yōu)異,,而MLC NAND則是所有大容量存儲(chǔ)應(yīng)用的最佳解決方案,。
NAND閃存錯(cuò)誤管理機(jī)制和數(shù)據(jù)管理
1.擦寫粒度不同。一顆NAND閃存芯片必須以頁(yè)為單位進(jìn)行讀寫操作(不過(guò),,每個(gè)廠商都準(zhǔn)許SLC NAND支持?jǐn)?shù)量有限的局部讀寫操作,,并對(duì)此進(jìn)行了詳細(xì)規(guī)定)。擦除操作以塊為單位,。此外,,每頁(yè)在寫數(shù)據(jù)前必須先進(jìn)行擦除操作,因此,,抽象物理層接口需要一個(gè)從邏輯到物理的重新映像策略,。
2.擦寫循環(huán)次數(shù)。擦寫操作基于一個(gè)破壞存儲(chǔ)單元的物理原理(采用高壓的Fowler-Nordheim隧道技術(shù)),,因?yàn)檫@種方法沖擊存儲(chǔ)陣列(位,、頁(yè)或塊),所以,,擦寫循環(huán)的次數(shù)將受到限制(故稱為器件耐擦寫能力),。為延長(zhǎng)存儲(chǔ)器的使用壽命,推薦使用一個(gè)均衡使用陣列物理位置的技術(shù)(在整個(gè)陣列上分配擦寫操作),。
3.位修改,。在讀寫操作過(guò)程中,某些技術(shù)限制可能導(dǎo)致一定數(shù)量的位被修改,,利用錯(cuò)誤檢測(cè)糾正算法可以使這些位恢復(fù)正常,,使SLC NAND的擦寫循環(huán)達(dá)到100,000次,MLC NAND的擦寫循環(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)所謂的壞塊,。壞塊分類如下:
出廠后壞塊:因制程而引起的外部應(yīng)用不能使用的閃存壞塊。當(dāng)產(chǎn)品出廠時(shí),,塊 ‘0’始終是正常塊(例如,,用于存儲(chǔ)引導(dǎo)代碼)。
在使用過(guò)程中變成壞塊的塊:當(dāng)擦寫操作失敗時(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é)議,;附加特性(在寫操作過(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è)專用架構(gòu)內(nèi),存儲(chǔ)器控制器能夠適時(shí)地管理閃存芯片。