選擇NAND還是NOR,這確實(shí)是個(gè)問(wèn)題,。不同的應(yīng)用和功能應(yīng)該選用不同類(lèi)型的閃存,。
在尋找完美“通用存儲(chǔ)器”的過(guò)程中,嵌入式系統(tǒng)設(shè)計(jì)師就象是戲劇《等待戈多》中的人物一樣,,他們一直等待舞臺(tái)下的人物“戈多”走上舞臺(tái),,同時(shí)又在猜測(cè)舞臺(tái)上正在表演的人物或新人中哪個(gè)是戈多。
正如大家所知的那樣,,從20世紀(jì)70年代開(kāi)始,,嵌入式系統(tǒng)產(chǎn)業(yè)樣一直在等待“舞臺(tái)下”出現(xiàn)一種叫作“通用存儲(chǔ)器”的“半導(dǎo)體人物”,以便取代從大型機(jī),、迷你計(jì)算機(jī)和臺(tái)式機(jī)傳承下來(lái)的存儲(chǔ)層次(memory hierarchy)體系:非易失性硬盤(pán)用于長(zhǎng)期的海量存儲(chǔ)和備份,,動(dòng)態(tài)RAM用于局部快速存儲(chǔ)器訪(fǎng)問(wèn),而SRAM和ROM則分別專(zhuān)門(mén)用于快速存取和代碼存儲(chǔ),。
隨著運(yùn)算結(jié)構(gòu)的嵌入,、移動(dòng)和便攜特性越來(lái)越突出,這種需求也越來(lái)越強(qiáng)烈,,作為“通用存儲(chǔ)器”的候選產(chǎn)品開(kāi)始陸續(xù)登場(chǎng),。有些產(chǎn)品,如EEPROM,、EPROM,、UV-EPROM、鐵電RAM和各種偽RAM組合已經(jīng)開(kāi)始走下坡路,,磁性RAM等其它產(chǎn)品雖開(kāi)始受到矚目,但由于眾多經(jīng)濟(jì)和技術(shù)原因卻受到質(zhì)疑,。
不過(guò),,目前的一些“角色”特別是各種NAND和NOR閃速EPROM正在被它們的供應(yīng)商吹捧為“舞臺(tái)下人物”-通用存儲(chǔ)器,或者至少是它的“親戚”或“很近的朋友”,,這其中包括了OneNAND,、OrNAND,、iNAND、GBNAND,、moviNAND,、ManagedNAND和NANDrive等。由于有眾多“演員”急于要擔(dān)當(dāng)角色,,因此選擇正確的存儲(chǔ)器子系統(tǒng)已變得越來(lái)越復(fù)雜,,特別是在你既要給移動(dòng)和嵌入式系統(tǒng)增加更多的多媒體功能,同時(shí)又要縮小物理尺寸和降低系統(tǒng)總成本的時(shí)候,,系統(tǒng)中不僅代碼和數(shù)據(jù)存儲(chǔ)器需求會(huì)有所增加,,而且你設(shè)計(jì)實(shí)現(xiàn)必須更加精簡(jiǎn)可靠。
閃存是最實(shí)用的解決方案,,但了解哪種閃存最適合系統(tǒng)使用是關(guān)鍵,。NAND、NOR,、可管理NAND和一些混合存儲(chǔ)器中哪種才是最佳選擇呢,?
NAND閃存是一種需要缺陷管理的高密度低價(jià)格非易失性存儲(chǔ)器,用這種存儲(chǔ)器來(lái)滿(mǎn)足這些不斷增長(zhǎng)的代碼和數(shù)據(jù)存儲(chǔ)器需求會(huì)使存儲(chǔ)器子系統(tǒng)更加復(fù)雜,。再加上需要支持不同的存儲(chǔ)器類(lèi)型,、接口、供應(yīng)商和特殊供應(yīng)商規(guī)范,,因此存儲(chǔ)器子系統(tǒng)將愈加復(fù)雜,。
一個(gè)完整、可管理的存儲(chǔ)器子系統(tǒng)解決方案可以用工業(yè)標(biāo)準(zhǔn)的RAM(PSRAM或SDR/DDR SDRAM)接口來(lái)設(shè)計(jì),。這種可管理的存儲(chǔ)器子系統(tǒng)可以與主芯片組/處理器實(shí)現(xiàn)無(wú)縫集成,,并且主系統(tǒng)無(wú)需再要應(yīng)對(duì)內(nèi)嵌存儲(chǔ)器件的復(fù)雜性和不足問(wèn)題。
與NAND閃存不同的是,,NOR閃存是目前嵌入式系統(tǒng)中最老也是應(yīng)用最廣泛的存儲(chǔ)器之一,,它可以用于代碼和數(shù)據(jù)存儲(chǔ)。其主要優(yōu)點(diǎn)是代碼可以直接在NOR閃存中執(zhí)行,。另外,,NOR閃存可以直接與主處理器接口,因此設(shè)計(jì)方便,,可實(shí)現(xiàn)產(chǎn)品的快速上市,。
隨著嵌入式系統(tǒng)中多媒體功能的增加,對(duì)代碼和數(shù)據(jù)存儲(chǔ)的需求也不斷上升,。對(duì)這些應(yīng)用而言,,與其它方案(如NAND閃存)相比,采用更高密度的NOR閃存做代碼和數(shù)據(jù)存儲(chǔ)將提升成本。另外,,目前最高密度的NOR閃存只有1Gb,。而且多媒體數(shù)據(jù)存儲(chǔ)器需要較高的讀寫(xiě)性能。因此在許多嵌入式應(yīng)用(例如高端手機(jī))中系統(tǒng)設(shè)計(jì)師轉(zhuǎn)用NAND閃存來(lái)存儲(chǔ)多媒體文件和應(yīng)用代碼,。
用于代碼和數(shù)據(jù)存儲(chǔ)的NAND
NAND閃存非常適合需要大量代碼存儲(chǔ)(如操作系統(tǒng)和應(yīng)用程序)以及大量數(shù)據(jù)存儲(chǔ)的應(yīng)用,,因?yàn)镹AND閃存不貴,而且可以提供較高的密度(一個(gè)裸片可高達(dá)16Gb),。與NOR不同的是,,NAND閃存不支持芯片內(nèi)執(zhí)行(XIP)或隨機(jī)存取。因此一些使用NAND閃存的系統(tǒng)需要一個(gè)低密度的NOR閃存用于系統(tǒng)啟動(dòng)和BIOS代碼執(zhí)行,。在其它系統(tǒng)中,,NAND閃存控制器或主處理器中的嵌入式啟動(dòng)ROM可提供啟動(dòng)功能。在系統(tǒng)啟動(dòng)后,,基于NAND的系統(tǒng)將使用代碼映射或需求分頁(yè)功能執(zhí)行代碼,。在代碼映射模式下,整個(gè)操作系統(tǒng)和應(yīng)用程序?qū)腘AND閃存挎貝到系統(tǒng)RAM,,而在需求分頁(yè)模式時(shí),,將根據(jù)需要將部分操作系統(tǒng)和應(yīng)用程序挎貝到系統(tǒng)RAM中執(zhí)行。
雖然NAND閃存與NOR相比價(jià)格便宜,,而且有更高的密度,,但NAND可靠性低,對(duì)許多應(yīng)用而言需要輔以包括誤差檢測(cè)和糾正以及損耗均衡在內(nèi)的缺陷管理手段才具有可用性,。這些NAND閃存管理功能要求復(fù)雜的硬件和軟件,。圖1顯示了主芯片組與獨(dú)立NAND閃存相接口的系統(tǒng)。在這樣的系統(tǒng)中,,缺陷管理功能必須由主芯片組來(lái)實(shí)現(xiàn),。在主處理器上運(yùn)行這種閃存管理功能需要一定的軟件開(kāi)發(fā),并且要耗用一些主機(jī)的CPU和存儲(chǔ)器資源,,因此容易降低系統(tǒng)總性能,。
圖1:主芯片組與獨(dú)立NAND閃存直接接口的系統(tǒng)框圖。
隨著NAND閃存供應(yīng)商采用越來(lái)越小的工藝尺寸,,單層單元(SLC)NAND閃存的ECC(糾錯(cuò)碼)要求已經(jīng)從每512字節(jié)扇區(qū)的1位增加到4位,,而多層單元(MLC)NAND閃存也從每512字節(jié)扇區(qū)的4位增加到8位糾錯(cuò)編碼。頁(yè)面尺寸則從512字節(jié)增加到4096字節(jié),。一些較小尺寸的SLC NAND閃存的可用性則從10萬(wàn)次降低到5萬(wàn)次,,MLC NAND閃存的可用性從1萬(wàn)次下降到5千次(某些情況下為3千次!)。為了減少系統(tǒng)中分立器件的數(shù)量,,許多芯片組供應(yīng)商開(kāi)始在芯片組中集成NAND閃存控制器,,這樣芯片組就能直接接口獨(dú)立的NAND閃存,。不過(guò)由于芯片組設(shè)計(jì)周期長(zhǎng),,芯片組供應(yīng)商很難跟上NAND閃存技術(shù)的發(fā)展步伐,。因此芯片組中的嵌入式NAND閃存控制器功能經(jīng)常落后于NAND閃存技術(shù)。
也有些解決方案與標(biāo)準(zhǔn)NAND閃存相似,,但可以提供更好的性能和功能,。例如,OneNAND就是NAND閃存的一個(gè)變種,,它在同一器件中整合了RAM和獨(dú)立SLC NAND閃存,,因此可以提供啟動(dòng)功能和更快的讀取速度。OneNAND要求每512字節(jié)扇區(qū)1位ECC,,并且可以在主芯片組中或獨(dú)立的控制器中實(shí)現(xiàn)NAND閃存管理功能,。
OrNAND則整合了MirrorBit NOR和NAND閃存接口,它可以比以前的NOR器件提供更快的寫(xiě)入速度,。OrNAND同樣在主芯片組中或獨(dú)立控制器只要求執(zhí)行1位的ECC便可確??煽康南到y(tǒng)啟動(dòng)。不過(guò)OrNAND支持的最大密度目前只有1Gb,,低于現(xiàn)有NAND閃存的最大密度,。
用于數(shù)據(jù)存儲(chǔ)的可管理NAND
由于嵌入式NAND控制器的局限性,許多系統(tǒng)設(shè)計(jì)師在尋求可管理的NAND方案,。有多家供應(yīng)商已能提供可管理的NAND存儲(chǔ)器產(chǎn)品,,它們能降低嵌入式應(yīng)用中傳統(tǒng)存儲(chǔ)子系統(tǒng)的復(fù)雜性。這些可管理NAND存儲(chǔ)器產(chǎn)品包括了iNAND,、GBNAND,、moviNAND、可管理NAND和NANDrive,,主要用于數(shù)據(jù)存儲(chǔ),。通過(guò)有效管理帶NAND控制器的內(nèi)置NAND閃存和集成在相同器件中的閃存文件系統(tǒng)(FFS),它們降低了系統(tǒng)復(fù)雜度,,如圖2所示,。為了更加方便集成,這些產(chǎn)品采用標(biāo)準(zhǔn)的接口,,如安全數(shù)據(jù)接口(SD),、多媒體卡(MMC)或先進(jìn)技術(shù)附件規(guī)格(ATA)。例如,,iNAND和GBNAND采用的是SD接口,,moviNAND和可管理NAND采用的是MMC接口,NANDrive采用的則是ATA接口,。這些接口不能提供XIP訪(fǎng)問(wèn),,因此采用這些器件的系統(tǒng)可能還需要一個(gè)NOR閃存用于啟動(dòng)功能,。
圖2:可管理NAND存儲(chǔ)器主要用于數(shù)據(jù)存儲(chǔ),它通過(guò)管理帶NAND控制器的內(nèi)置NAND閃存和集成在同一器件中的閃存文件系統(tǒng)降低了系統(tǒng)復(fù)雜性,。
使用可管理NAND器件后,,主芯片組就無(wú)需集成復(fù)雜的NAND管理功能。因此芯片供應(yīng)商不再為要緊跟不斷演變的NAND技術(shù)而憂(yōu)心,,從而讓供應(yīng)商能專(zhuān)注于提高他們的核心競(jìng)爭(zhēng)力,。
可管理NAND混合產(chǎn)品
因?yàn)榭晒芾鞱AND閃存不提供啟動(dòng)功能,系統(tǒng)設(shè)計(jì)師仍必須使用較昂貴的NOR閃存器件來(lái)實(shí)現(xiàn)啟動(dòng),。不過(guò)包括mDOC H3在內(nèi)的混合產(chǎn)品已經(jīng)面世,。這些混合器件在同一個(gè)器件中通過(guò)集成RAM和可管理NAND來(lái)簡(jiǎn)化傳統(tǒng)的存儲(chǔ)子系統(tǒng),如圖3所示,。
圖3:一些混合解決方案將RAM和可管理NAND集成在同一個(gè)器件中,。
混合產(chǎn)品解決了與可管理NAND相關(guān)的啟動(dòng)問(wèn)題。它們可以直接從NAND閃存啟動(dòng),,無(wú)需較昂貴的啟動(dòng)用NOR閃存器件,,從而有效降低了系統(tǒng)總成本??晒芾鞱AND混合產(chǎn)品也有助于減少元器件數(shù)量,,節(jié)省電路板面積,這使它們非常適合于諸如手機(jī)等空間較敏感的應(yīng)用,。因?yàn)槭褂肗AND閃存來(lái)實(shí)現(xiàn)非易失性存儲(chǔ),,因此這種解決方案可以提供更高的密度。
NAND混合器件的缺點(diǎn)是啟動(dòng)時(shí)間較長(zhǎng),,因?yàn)樗鼈冊(cè)谏想姾蟊仨殞?dòng)代碼從NAND挎貝進(jìn)啟動(dòng)RAM,。另外,NAND混合器件非常復(fù)雜,,很難集成,,并且要求先進(jìn)的操作系統(tǒng)支持主芯片組上的需求分頁(yè)。
mDOC H3通過(guò)NOR類(lèi)總線(xiàn)連接主處理器,,相比NAND閃存能提供更快的讀取性能,,也可以比NOR提供更快的寫(xiě)入性能。由于具有更快的寫(xiě)入速度,,這些器件非常適合用來(lái)存儲(chǔ)多媒體數(shù)據(jù),。
使用可管理的NAND或者具有啟動(dòng)功能的可管理NAND混合產(chǎn)品不會(huì)顯著降低存儲(chǔ)子系統(tǒng)的總體復(fù)雜性。因此系統(tǒng)設(shè)計(jì)師仍然要處理與不同存儲(chǔ)器類(lèi)型,、接口,、供應(yīng)商、特殊供應(yīng)商規(guī)范等有關(guān)的復(fù)雜問(wèn)題,。這類(lèi)存儲(chǔ)子系統(tǒng)要求更多元器件,、更多引腳和復(fù)雜的軟硬件開(kāi)發(fā),,因此將增加系統(tǒng)成本、電路板面積,、開(kāi)發(fā)時(shí)間和功耗,。同時(shí),它們還將提升主處理器中的外部存儲(chǔ)器控制器的復(fù)雜度,。因此,,這些混合器件還不夠成熟,。當(dāng)前系統(tǒng)需要一種易用,、單標(biāo)準(zhǔn)總線(xiàn)、完整的可管理存儲(chǔ)子系統(tǒng)實(shí)現(xiàn)代碼和數(shù)據(jù)存儲(chǔ)以及系統(tǒng)RAM,,并且所有功能都集中在一個(gè)器件中,。
系統(tǒng)設(shè)計(jì)師需要的是一個(gè)完整的存儲(chǔ)子系統(tǒng),它能提供數(shù)百兆XIP代碼存儲(chǔ),,且能滿(mǎn)足目前多媒體應(yīng)用不斷增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求,。理想解決方案應(yīng)充分整合NOR(快速讀取)、NAND(較低成本和較高密度)和RAM(簡(jiǎn)單總線(xiàn)操作)的優(yōu)勢(shì),,而且必須易用,、易設(shè)計(jì),并有完善的可管理性,。因而,,這樣的解決方案需要很少甚至不需要額外的硬件或軟件開(kāi)發(fā),可提供標(biāo)準(zhǔn)接口,,無(wú)需任何膠合邏輯就能實(shí)現(xiàn)與主芯片組/處理器的無(wú)縫集成,,從而使得存儲(chǔ)子系統(tǒng)的訪(fǎng)問(wèn)象SRAM一樣簡(jiǎn)單方便。
這種存儲(chǔ)子系統(tǒng)解決方案中的內(nèi)置控制器必須實(shí)現(xiàn)ECC,、壞塊管理和損耗均衡功能,,以便應(yīng)對(duì)內(nèi)置NAND閃存的缺陷。這個(gè)控制器還必須能應(yīng)對(duì)所有內(nèi)置存儲(chǔ)器(NOR,、NAND和RAM)的復(fù)雜性和不足,,從而代替主系統(tǒng)完成這些復(fù)雜的管理功能。
另外,,這種解決方案還必須通過(guò)降低材料,、開(kāi)發(fā)和制造成本來(lái)滿(mǎn)足系統(tǒng)總成本要求。而且還必須通過(guò)提供方便集成,、可擴(kuò)展的解決方案來(lái)滿(mǎn)足移動(dòng)和消費(fèi)電子設(shè)備系統(tǒng)設(shè)計(jì)師對(duì)縮短面市時(shí)間的要求,。
下一代存儲(chǔ)子系統(tǒng)
目前面市的可管理存儲(chǔ)子系統(tǒng)可以提供上述所有性能和好處。如圖4所示的這種配置由一個(gè)帶內(nèi)置啟動(dòng)NOR閃存的存儲(chǔ)器控制器,、NAND閃存和RAM組成,,并且全部集成在一個(gè)封裝內(nèi),。在NAND閃存前使用了RAM緩存,這樣有助于控制器處理需求分頁(yè)和其它存儲(chǔ)器管理功能,。另外,,RAM緩存使存儲(chǔ)子系統(tǒng)線(xiàn)性可尋址,變得象SRAM一樣簡(jiǎn)單,。
圖4:全功能存儲(chǔ)器是可管理存儲(chǔ)子系統(tǒng)的一個(gè)示例,,它在同一個(gè)封裝內(nèi)同時(shí)集成了帶內(nèi)置啟動(dòng)NOR閃存的存儲(chǔ)器控制器、NAND閃存和RAM(a),??刂破骺梢蕴幚硇枨蠓猪?yè)和其它存儲(chǔ)器管理功能(b)。
RAM塊劃分成兩個(gè)主處理器可訪(fǎng)問(wèn),、用戶(hù)可配置的部分:一個(gè)是用于偽NOR(PNOR)的緩存部分,,一個(gè)是用于主處理器的系統(tǒng)RAM部分。NAND塊用于PNOR區(qū)域和存儲(chǔ)器映射的ATA NAND磁盤(pán)區(qū)的非易失存儲(chǔ)器,??膳渲肞NOR塊通過(guò)使用RAM緩存和NAND閃存模擬NOR功能。因?yàn)镹AND是用于主要的非易失存儲(chǔ)介質(zhì),,因此這種解決方案可以提供較大的XIP代碼存儲(chǔ),,可有效地代替?zhèn)鹘y(tǒng)高成本、高密度NOR閃存,。通過(guò)在標(biāo)準(zhǔn)RAM(PSRAM或SDR/DDR SDRAM)總線(xiàn)上使用工業(yè)標(biāo)準(zhǔn)ATA數(shù)據(jù)存儲(chǔ)協(xié)議,,該解決方案可以為日趨增長(zhǎng)的多媒體應(yīng)用提供強(qiáng)大的ATA類(lèi)數(shù)據(jù)存儲(chǔ)功能。另外,,PNOR塊中的RAM緩存還能減少對(duì)NAND閃存的直接讀寫(xiě)訪(fǎng)問(wèn),,從而有助于提高代碼和數(shù)據(jù)存儲(chǔ)區(qū)的耐用性和可靠性。
因?yàn)檫@種可管理存儲(chǔ)子系統(tǒng)采用了很小的封裝,,因此可以簡(jiǎn)化主處理器接口,、減少系統(tǒng)復(fù)雜性、縮短設(shè)計(jì)時(shí)間,、降低系統(tǒng)總成本并提高系統(tǒng)質(zhì)量和可靠性,。其它好處還包括用戶(hù)可配置的XIP PNOR區(qū)、用于MLC和SLC NAND的超強(qiáng)硬件檢錯(cuò)和糾錯(cuò)以及向更高密度的可擴(kuò)展性等,。由于不需要復(fù)雜的軟硬件開(kāi)發(fā),,這種可管理的存儲(chǔ)子系統(tǒng)也許就是大家盼望已久的“戈多”。