如何選擇合適的閃存來進行設計?

http://www.handheld.eet-china.com/ART_8800527441_4000006_TA_b73af7ff.HTM

選擇NAND還是NOR,這確實是個問題。不同的應用和功能應該選用不同類型的閃存。

 

在尋找完美“通用存儲器”的過程中,嵌入式系統設計師就象是戲劇《等待戈多》中的人物一樣,他們一直等待舞臺下的人物“戈多”走上舞臺,同時又在猜測舞臺上正在表演的人物或新人中哪個是戈多。

 

正如大家所知的那樣,從20世紀70年代開始,嵌入式系統產業樣一直在等待“舞臺下”出現一種叫作“通用存儲器”的“半導體人物”,以便取代從大型機、迷你計算機和臺式機傳承下來的存儲層次(memory hierarchy)體系:非易失性硬盤用於長期的海量存儲和備份,動態RAM用於局部快速存儲器訪問,而SRAM和ROM則分別專門用於快速存取和代碼存儲。

 

隨着運算結構的嵌入、移動和便攜特性越來越突出,這種需求也越來越強烈,作爲“通用存儲器”的候選產品開始陸續登場。有些產品,如EEPROM、EPROM、UV-EPROM、鐵電RAM和各種僞RAM組合已經開始走下坡路,磁性RAM等其它產品雖開始受到矚目,但由於衆多經濟和技術原因卻受到質疑。

 

不過,目前的一些“角色”特別是各種NAND和NOR閃速EPROM正在被它們的供應商吹捧爲“舞臺下人物”-通用存儲器,或者至少是它的“親戚”或“很近的朋友”,這其中包括了OneNAND、OrNAND、iNAND、GBNAND、moviNAND、ManagedNAND和NANDrive等。由於有衆多“演員”急於要擔當角色,因此選擇正確的存儲器子系統已變得越來越複雜,特別是在你既要給移動和嵌入式系統增加更多的多媒體功能,同時又要縮小物理尺寸和降低系統總成本的時候,系統中不僅代碼和數據存儲器需求會有所增加,而且你設計實現必須更加精簡可靠。

 

閃存是最實用的解決方案,但瞭解哪種閃存最適合系統使用是關鍵。NAND、NOR、可管理NAND和一些混合存儲器中哪種纔是最佳選擇呢?

 

NAND閃存是一種需要缺陷管理的高密度低價格非易失性存儲器,用這種存儲器來滿足這些不斷增長的代碼和數據存儲器需求會使存儲器子系統更加複雜。再加上需要支持不同的存儲器類型、接口、供應商和特殊供應商規範,因此存儲器子系統將愈加複雜。

 

一個完整、可管理的存儲器子系統解決方案可以用工業標準的RAM(PSRAM或SDR/DDR SDRAM)接口來設計。這種可管理的存儲器子系統可以與主芯片組/處理器實現無縫集成,並且主系統無需再要應對內嵌存儲器件的複雜性和不足問題。

 

與NAND閃存不同的是,NOR閃存是目前嵌入式系統中最老也是應用最廣泛的存儲器之一,它可以用於代碼和數據存儲。其主要優點是代碼可以直接在NOR閃存中執行。另外,NOR閃存可以直接與主處理器接口,因此設計方便,可實現產品的快速上市。

 

隨着嵌入式系統中多媒體功能的增加,對代碼和數據存儲的需求也不斷上升。對這些應用而言,與其它方案(如NAND閃存)相比,採用更高密度的NOR閃存做代碼和數據存儲將提升成本。另外,目前最高密度的NOR閃存只有1Gb。而且多媒體數據存儲器需要較高的讀寫性能。因此在許多嵌入式應用(例如高端手機)中系統設計師轉用NAND閃存來存儲多媒體文件和應用代碼。

 

用於代碼和數據存儲的NAND

NAND閃存非常適合需要大量代碼存儲(如操作系統和應用程序)以及大量數據存儲的應用,因爲NAND閃存不貴,而且可以提供較高的密度(一個裸片可高達16Gb)。與NOR不同的是,NAND閃存不支持芯片內執行(XIP)或隨機存取。因此一些使用NAND閃存的系統需要一個低密度的NOR閃存用於系統啓動和BIOS代碼執行。在其它系統中,NAND閃存控制器或主處理器中的嵌入式啓動ROM可提供啓動功能。在系統啓動後,基於NAND的系統將使用代碼映射或需求分頁功能執行代碼。在代碼映射模式下,整個操作系統和應用程序將從NAND閃存挎貝到系統RAM,而在需求分頁模式時,將根據需要將部分操作系統和應用程序挎貝到系統RAM中執行。

 

雖然NAND閃存與NOR相比價格便宜,而且有更高的密度,但NAND可靠性低,對許多應用而言需要輔以包括誤差檢測和糾正以及損耗均衡在內的缺陷管理手段才具有可用性。這些NAND閃存管理功能要求複雜的硬件和軟件。圖1顯示了主芯片組與獨立NAND閃存相接口的系統。在這樣的系統中,缺陷管理功能必須由主芯片組來實現。在主處理器上運行這種閃存管理功能需要一定的軟件開發,並且要耗用一些主機的CPU和存儲器資源,因此容易降低系統總性能。

 


圖1:主芯片組與獨立NAND閃存直接接口的系統框圖。

 

隨着NAND閃存供應商採用越來越小的工藝尺寸,單層單元(SLC)NAND閃存的ECC(糾錯碼)要求已經從每512字節扇區的1位增加到4位,而多層單元(MLC)NAND閃存也從每512字節扇區的4位增加到8位糾錯編碼。頁面尺寸則從512字節增加到4096字節。一些較小尺寸的SLC NAND閃存的可用性則從10萬次降低到5萬次,MLC NAND閃存的可用性從1萬次下降到5千次(某些情況下爲3千次!)。爲了減少系統中分立器件的數量,許多芯片組供應商開始在芯片組中集成NAND閃存控制器,這樣芯片組就能直接接口獨立的NAND閃存。不過由於芯片組設計週期長,芯片組供應商很難跟上NAND閃存技術的發展步伐。因此芯片組中的嵌入式NAND閃存控制器功能經常落後於NAND閃存技術。

 

也有些解決方案與標準NAND閃存相似,但可以提供更好的性能和功能。例如,OneNAND就是NAND閃存的一個變種,它在同一器件中整合了RAM和獨立SLC NAND閃存,因此可以提供啓動功能和更快的讀取速度。OneNAND要求每512字節扇區1位ECC,並且可以在主芯片組中或獨立的控制器中實現NAND閃存管理功能。

 

OrNAND則整合了MirrorBit NOR和NAND閃存接口,它可以比以前的NOR器件提供更快的寫入速度。OrNAND同樣在主芯片組中或獨立控制器只要求執行1位的ECC便可確保可靠的系統啓動。不過OrNAND支持的最大密度目前只有1Gb,低於現有NAND閃存的最大密度。

 

用於數據存儲的可管理NAND

由於嵌入式NAND控制器的侷限性,許多系統設計師在尋求可管理的NAND方案。有多家供應商已能提供可管理的NAND存儲器產品,它們能降低嵌入式應用中傳統存儲子系統的複雜性。這些可管理NAND存儲器產品包括了iNAND、GBNAND、moviNAND、可管理NAND和NANDrive,主要用於數據存儲。通過有效管理帶NAND控制器的內置NAND閃存和集成在相同器件中的閃存文件系統(FFS),它們降低了系統複雜度,如圖2所示。爲了更加方便集成,這些產品採用標準的接口,如安全數據接口(SD)、多媒體卡(MMC)或先進技術附件規格(ATA)。例如,iNAND和GBNAND採用的是SD接口,moviNAND和可管理NAND採用的是MMC接口,NANDrive採用的則是ATA接口。這些接口不能提供XIP訪問,因此採用這些器件的系統可能還需要一個NOR閃存用於啓動功能。

 


圖2:可管理NAND存儲器主要用於數據存儲,它通過管理帶NAND控制器的內置NAND閃存和集成在同一器件中的閃存文件系統降低了系統複雜性。

 

使用可管理NAND器件後,主芯片組就無需集成複雜的NAND管理功能。因此芯片供應商不再爲要緊跟不斷演變的NAND技術而憂心,從而讓供應商能專注於提高他們的核心競爭力。

 

可管理NAND混合產品

因爲可管理NAND閃存不提供啓動功能,系統設計師仍必須使用較昂貴的NOR閃存器件來實現啓動。不過包括mDOC H3在內的混合產品已經面世。這些混合器件在同一個器件中通過集成RAM和可管理NAND來簡化傳統的存儲子系統,如圖3所示。

 


圖3:一些混合解決方案將RAM和可管理NAND集成在同一個器件中。

 

混合產品解決了與可管理NAND相關的啓動問題。它們可以直接從NAND閃存啓動,無需較昂貴的啓動用NOR閃存器件,從而有效降低了系統總成本。可管理NAND混合產品也有助於減少元器件數量,節省電路板面積,這使它們非常適合於諸如手機等空間較敏感的應用。因爲使用NAND閃存來實現非易失性存儲,因此這種解決方案可以提供更高的密度。

 

NAND混合器件的缺點是啓動時間較長,因爲它們在上電後必須將啓動代碼從NAND挎貝進啓動RAM。另外,NAND混合器件非常複雜,很難集成,並且要求先進的操作系統支持主芯片組上的需求分頁。

 

mDOC H3通過NOR類總線連接主處理器,相比NAND閃存能提供更快的讀取性能,也可以比NOR提供更快的寫入性能。由於具有更快的寫入速度,這些器件非常適合用來存儲多媒體數據。

 

使用可管理的NAND或者具有啓動功能的可管理NAND混合產品不會顯著降低存儲子系統的總體複雜性。因此系統設計師仍然要處理與不同存儲器類型、接口、供應商、特殊供應商規範等有關的複雜問題。這類存儲子系統要求更多元器件、更多引腳和複雜的軟硬件開發,因此將增加系統成本、電路板面積、開發時間和功耗。同時,它們還將提升主處理器中的外部存儲器控制器的複雜度。因此,這些混合器件還不夠成熟。當前系統需要一種易用、單標準總線、完整的可管理存儲子系統實現代碼和數據存儲以及系統RAM,並且所有功能都集中在一個器件中。

 

系統設計師需要的是一個完整的存儲子系統,它能提供數百兆XIP代碼存儲,且能滿足目前多媒體應用不斷增長的數據存儲需求。理想解決方案應充分整合NOR(快速讀取)、NAND(較低成本和較高密度)和RAM(簡單總線操作)的優勢,而且必須易用、易設計,並有完善的可管理性。因而,這樣的解決方案需要很少甚至不需要額外的硬件或軟件開發,可提供標準接口,無需任何膠合邏輯就能實現與主芯片組/處理器的無縫集成,從而使得存儲子系統的訪問象SRAM一樣簡單方便。

 

這種存儲子系統解決方案中的內置控制器必須實現ECC、壞塊管理和損耗均衡功能,以便應對內置NAND閃存的缺陷。這個控制器還必須能應對所有內置存儲器(NOR、NAND和RAM)的複雜性和不足,從而代替主系統完成這些複雜的管理功能。

 

另外,這種解決方案還必須通過降低材料、開發和製造成本來滿足系統總成本要求。而且還必須通過提供方便集成、可擴展的解決方案來滿足移動和消費電子設備系統設計師對縮短面市時間的要求。

 

下一代存儲子系統

目前面市的可管理存儲子系統可以提供上述所有性能和好處。如圖4所示的這種配置由一個帶內置啓動NOR閃存的存儲器控制器、NAND閃存和RAM組成,並且全部集成在一個封裝內。在NAND閃存前使用了RAM緩存,這樣有助於控制器處理需求分頁和其它存儲器管理功能。另外,RAM緩存使存儲子系統線性可尋址,變得象SRAM一樣簡單。

 


圖4:全功能存儲器是可管理存儲子系統的一個示例,它在同一個封裝內同時集成了帶內置啓動NOR閃存的存儲器控制器、NAND閃存和RAM(a)。控制器可以處理需求分頁和其它存儲器管理功能(b)。

 

RAM塊劃分成兩個主處理器可訪問、用戶可配置的部分:一個是用於僞NOR(PNOR)的緩存部分,一個是用於主處理器的系統RAM部分。NAND塊用於PNOR區域和存儲器映射的ATA NAND磁盤區的非易失存儲器。可配置PNOR塊通過使用RAM緩存和NAND閃存模擬NOR功能。因爲NAND是用於主要的非易失存儲介質,因此這種解決方案可以提供較大的XIP代碼存儲,可有效地代替傳統高成本、高密度NOR閃存。通過在標準RAM(PSRAM或SDR/DDR SDRAM)總線上使用工業標準ATA數據存儲協議,該解決方案可以爲日趨增長的多媒體應用提供強大的ATA類數據存儲功能。另外,PNOR塊中的RAM緩存還能減少對NAND閃存的直接讀寫訪問,從而有助於提高代碼和數據存儲區的耐用性和可靠性。

 

因爲這種可管理存儲子系統採用了很小的封裝,因此可以簡化主處理器接口、減少系統複雜性、縮短設計時間、降低系統總成本並提高系統質量和可靠性。其它好處還包括用戶可配置的XIP PNOR區、用於MLC和SLC NAND的超強硬件檢錯和糾錯以及向更高密度的可擴展性等。由於不需要複雜的軟硬件開發,這種可管理的存儲子系統也許就是大家盼望已久的“戈多”。

 

 

Vijay K. Devadiga

SST公司NAND與智能卡模塊業務部高級產品營銷工程師

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章