近10年來,非揮發性記憶體概念發展的趨勢是解決方案變得越來越複雜,以適應嵌入式系統市場不同的使用模型。因為技術特性和成本效益的優勢,非揮發性記憶體特別是NAND和NOR兩種快閃記憶體產品,在不同的應用市場取得空前的成功。而且,為克服技術限制,追隨技術進步,NAND快閃記憶體控制器架構須要與快閃記憶體晶片並行化發展,在記憶體晶片上實現高效的資料管理。為確保記憶體移植簡易,降低記憶體控制器的複雜程度,可管理記憶體(Managed Memory)的概念已經落實在很多應用中,例如汽車、工業、手機和無線通訊。
可管理的記憶體的概念來自一個簡單的想法:如何轉移部分記憶體控制器的智能到記憶體上。而採用可管理記憶體可達到以下的直接效果:快閃記憶體技術變化不影響整個儲存系統變化、功能差異化,另因為重新給記憶體分配任務,記憶體控制器軟體的負荷亦可減輕。
快閃記憶體崛起 NOR/NAND各立山頭
非揮發性記憶體快速發展,並產生各種獨特的技術和架構,以適應不同的應用領域。其中,快閃記憶體技術非常普及,並取得巨大成功。基本上快閃記憶體技術代表了一類可電讀寫非揮發性記憶體,即使斷電或外部控制器關斷電源,快閃記憶體也不會遺失所保存的資料。
沿兩條不同的路線發展進化,快閃記憶體產生了兩個不同產品家族:NOR和NAND快閃記憶體。快閃記憶體採用浮動閘(Floating Gate)把微小資訊保存在儲存單元內,微影技術(Lithographic Shrink)在此過程中持續微縮,讓晶片尺寸縮小,以提高成本效益。每個儲存單元可以儲存一個位元的資訊稱為單層單元(Single Level Cell, SLC)或多個位元的資訊稱為多層單元(Multi Level Cell, MLC)。儲存單元排列在一起,構成儲存陣列(Array),NOR和NAND擁有不同的儲存陣列結構。每個陣列又組成區塊(Block)。NAND快閃記憶體的區塊則由頁(Page)組成。
表1所示是NAND和NOR快閃記憶體的基本區別,其中考慮到最新縮小的技術節點。
表1 NAND與NOR比較表 |
比較項目
|
NAND1 |
NOR MLC |
記憶體容量 |
最高32GB |
1GB(1.8伏特) |
區塊容量 |
4MB |
2MB |
輸出並行 |
位元組(byte) |
字(word) |
讀寫並行 |
4千位元組 |
32位元組 – 讀
1千位元組 – 寫 |
隨機讀取存取時間 |
60微秒(μs) |
96塵秒(ns) |
寫入時間 |
800微秒
(多層操作採用4KB緩衝記憶體/8KB緩衝記憶體) |
> 40毫秒(*)
(1KB緩衝記憶體) |
區塊抹除時間 |
2.5毫秒 |
0.9秒 |
上述技術的差異預示著應用上的差異。NOR快閃記憶體的快速讀取效能特別適用於實現晶片內執行編碼(Execute in Place, XiP)技術:這種非揮發性記憶體用於系統的執行記憶體或系統啟動記憶體。
NAND的寫入速度(Write Throughput)和高容量使其成為大容量儲存應用的必選方案,但是,NAND的應用範圍逐漸擴大到編碼儲存應用領域:NAND快閃記憶體用於保證編碼如作業系統編碼、應用軟體等存在,在多晶片儲存解決方案中,編碼往往被下載至執行記憶體內,通常為RAM。
目前大多數可管理的記憶體解決方案都來自於NAND快閃記憶體技術。NAND快閃記憶體技術可再分為兩種類型:單層單元和多層單元。表2概述了採用相同單元微影技術的兩類記憶體的某些差異。
表2 NAND快閃記憶體:SLC與MLC比較 |
比較項目
|
SLC |
MLC |
連續讀取時間 |
25塵秒(ns) |
25塵秒 |
隨機讀取時間 |
25微秒(μs) |
60微秒 |
寫入時間 |
200微秒 |
800微秒 |
擦除時間 |
2毫秒(ms) |
2.5毫秒 |
電源電壓 – Vdd |
1.8/3.0伏特 |
3.0伏特 |
抹寫次數 |
100,000 |
10,000 |
資料保存年限 |
10年 |
10年 |
由這兩類儲存技術的基本差異可以看出,SLC較適用於儲存和下載編碼,因為讀取效能和耐擦寫能力更加優異,而MLC NAND則是所有大容量儲存應用的最佳解決方案。
錯誤/資料管理 因應各方需求
以下分別探討NAND快閃記憶體的錯誤管理機制和資料管理:
|
|
|
一顆NAND快閃記憶體晶片必須以頁為單位進行讀寫操作,不過,每個廠商都准許SLC NAND支援數量有限的局部讀寫操作,並對此進行詳細規定。擦除操作以區塊為單位。此外,每頁在寫資料前必須先進行擦除操作,因此,抽象物理層介面需要一個從邏輯到物理的重新映射。 |
|
|
|
擦寫操作基於一個破壞儲存單元的物理原理(採用高壓的Fowler-Nordheim穿隧技術),因為這種方法衝擊儲存陣列(位元、頁或區塊),所以,擦寫週期的次數將受到限制,稱為裝置耐擦寫能力。為延長記憶體的使用壽命,建議採用一個陣列物理位置的技術(在整個陣列上分配擦寫操作)。 |
|
|
|
在讀寫操作過程中,某些技術限制可能導致一定數量的位元被修改,利用錯誤檢測糾正演算法可以讓這些位元恢復正常,使SLC NAND的擦寫週期達到十萬次,MLC NAND的擦寫週期達到一萬次。在一次頁讀取操作過程中,這些演算法可以檢測和校正一定數量的位元錯誤。校正能力(最大可校正位數量)是一個由廠商定義的參數,因為這個參數與技術的關係非常密切,微影技術節點縮小可能會改進這個參數。 |
|
|
|
在完成製造階段後,某些陣列位置可能會被破壞,導致晶片上出現所謂的損壞區塊。損壞區塊分類如下: |
|
|
|
因製程而引起的外部應用不能使用之快閃記憶體損壞區塊。當產品出廠時,區塊'0'始終是正常區塊。例如,用於儲存啟動編碼。 |
|
|
|
當擦寫操作失敗時,就會發現這些區塊損壞。為保證內容的完整性,必須更改含有內容的區塊,把內容複製到另一個儲存位置。
如果系統含有儲存資料和編碼的NAND快閃記憶體,設計人員就必須採用合適的快閃記憶體資料管理機制,以解決所有技術限制。資料管理是一套用軟體程式或硬體區塊實現的演算法 (表3)。
表3 NAND資料管理 |
快閃記憶體限制
|
演算法MLC |
擦寫粒度不同 |
邏輯到物理重新映射/碎片整理 |
耐擦寫週期能力 |
損耗均衡/錯誤檢測校正 |
位元修改 |
錯誤檢測(EDC)
錯誤校正(ECC) |
損壞區塊 |
損壞區塊管理(BBM) |
|
控制器日益複雜 可管理方案受矚目
如前文所述,在NAND快閃記憶體技術的發展過程中,記憶體控制器曾呈現日益複雜化趨勢。正是因為解決了這個問題,近年來,可管理的記憶體解決方案在不同的系統中(圖1)日漸盛行。
|
圖1 基本NAND快閃記憶體/可管理快閃記憶體運作原理比較 |
這種解決方案有以下幾個主要特性:
|
|
|
可與外部記憶體控制器通訊,例如,e-MMC(由JEDEC制定的嵌入式多媒體卡)定義了匯流排特性和通訊協定。 |
|
|
|
在寫操作過程中發生斷電事件時可保護資料完整性的安全演算法。 |
具明顯優勢 盼一展長才
選用可管理的非揮發性記憶體解決方案具有明顯的優勢和直接的效果,分別說明如下:
概括地說,與非揮發性記憶體技術變化如微影節點縮小、更高的偵錯和修正要求和儲存2位元以上資訊的多層單元相關的一些因素,必然導致使用控制器解決這些所有的技術問題,因此,可管理的記憶體概念應運而生。
此外,特別是手機產品和無線通訊系統的需求越來越高,如要求更高的傳輸頻寬、更低的功耗、不同使用模式共存(即編碼執行和大量儲存),記憶體控制器可以滿足這些需求。在一個專門架構內,記憶體控制器能夠適時地管理快閃記憶體晶片。
(本文作者任職於恆憶Managed NAND系統架構與無線事業部門)