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