我們使用的智能手機(jī)除了有一個(gè)可用的空間(如蘋果8G,、16G等),,還有一個(gè)RAM容量,很多人都不是很清楚,,為什么需要二個(gè)這樣的芯片做存儲呢,,這就是我們下面要講到的。這二種存儲設(shè)備我們都統(tǒng)稱為“FLASH”,,F(xiàn)LASH是一種存儲芯片,,全名叫Flash EEPROM Memory,通地過程序可以修改數(shù)據(jù),,即平時(shí)所說的“閃存”,。Flash又分為NAND flash和NOR flash二種。U盤和MP3里用的就是這種存儲器,。
相“flash存儲器”經(jīng)??梢耘c相“NOR存儲器”互換使用。許多業(yè)內(nèi)人士也搞不清楚NAND閃存技術(shù)相對于NOR技術(shù)的優(yōu)越之處,,因?yàn)榇蠖鄶?shù)情況下閃存只是用來存儲少量的代碼,,這時(shí)NOR閃存更適合一些。而NAND則是高數(shù)據(jù)存儲密度的理想解決方案,。NOR Flash 的讀取和我們常見的 SDRAM 的讀取是一樣,,用戶可以直接運(yùn)行裝載在 NOR FLASH 里面的代碼,這樣可以減少 SRAM 的容量從而節(jié)約了成本,。 NAND Flash 沒有采取內(nèi)存的隨機(jī)讀取技術(shù),,它的讀取是以一次讀取一塊的形式來進(jìn)行的, 通常是一次讀取 512 個(gè)字節(jié),,采用這種技術(shù)的 Flash 比較廉價(jià),。用戶 不能直接運(yùn)行 NAND Flash 上的代碼,因此好多使用 NAND Flash 的開發(fā)板除了使用 NAND Flah 以外,,還作上了 一塊小的 NOR Flash 來運(yùn)行啟動(dòng)代碼,。
NOR flash是intel公司1988年開發(fā)出了NOR flash技術(shù)。NOR的特點(diǎn)是芯片內(nèi)執(zhí)行(XIP, eXecute In Place),,這樣應(yīng)用程序可以直接在flash 閃存內(nèi)運(yùn)行,,不必再把代碼讀到系統(tǒng)RAM中,。NOR的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,,但是很低的寫入和擦除 速度大大影響了它的性能,。
![](http://www.elecfans.com/uploads/allimg/120925/1132425-120925093449593.jpg)
Nand-flash內(nèi)存是flash內(nèi)存的一種,1989年,,東芝公司發(fā)表了NAND flash結(jié)構(gòu),。其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量內(nèi)存的實(shí)現(xiàn)提供了廉價(jià)有效的解決方案,。Nand-flash存儲器具有容量較大,,改寫速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲,,因而在業(yè)界得到了越來越廣泛的應(yīng)用,,如嵌入式產(chǎn)品中包括數(shù)碼相機(jī)、MP3隨身聽記憶卡,、體積小巧的U盤等,。
![](http://www.elecfans.com/uploads/allimg/120925/1132425-12092509345I51.jpg)
NAND flash和NOR flash原理
一、存儲數(shù)據(jù)的原理
兩種閃存都是用三端器件作為存儲單元,,分別為源極,、漏極和柵極,與場效應(yīng)管的工作原理 相同,,主要是利用電場的效應(yīng)來控制源極與漏極之間的通斷,,柵極的 電流消耗極小,不同 的是場效應(yīng)管為單柵極結(jié)構(gòu),,而 FLASH 為雙柵極結(jié)構(gòu),,在柵極與硅襯底之間增加了一個(gè)浮 置柵極。[attach]158 [/attach]
浮置柵極是由氮化物夾在兩層二氧化硅材料之間構(gòu)成的,,中間的氮化物就是可以存儲電荷的 電荷勢阱,。上下兩層氧化物的厚度大于 50 埃,以避免發(fā)生擊穿,。
二,、浮柵的重放電
向數(shù)據(jù)單元內(nèi)寫入數(shù)據(jù)的過程就是向電荷勢阱注入電荷的過程,寫入數(shù)據(jù)有兩種技術(shù),,熱電 子注入(hot electron injection)和 F-N 隧道效應(yīng)(Fowler Nordheim tunneling),前一種是通過源 極給浮柵充電,,后一種是通過硅基層給浮柵充電,。NOR 型 FLASH 通過熱電子注入方式給浮 柵充電,而 NAND 則通過 F-N 隧道效應(yīng)給浮柵充電,。
在寫入新數(shù)據(jù)之前,,必須先將原來的數(shù)據(jù)擦除,,這點(diǎn)跟硬盤不同,也就是將浮柵的電荷放掉,, 兩種 FLASH 都是通過 F-N 隧道效應(yīng)放電,。
三、0 和 1
這方面兩種 FLASH 一樣,,向浮柵中注入電荷表示寫入了'0',,沒有注入電荷表示'1',所以對 FLASH 清除數(shù)據(jù)是寫 1 的,,這與硬盤正好相反,;
對于浮柵中有電荷的單元來說,由于浮柵的感應(yīng)作用,,在源極和漏極之間將形成帶正電的空 間電荷區(qū),,這時(shí)無論控制極上有沒有施加偏置電壓,晶體管都將處于 導(dǎo)通狀態(tài),。而對于浮 柵中沒有電荷的晶體管來說只有當(dāng)控制極上施加有適當(dāng)?shù)钠秒妷?,在硅基層上感?yīng)出電 荷,源極和漏極才能導(dǎo)通,,也就是說在沒有給控制極施 加偏置電壓時(shí),,晶體管是截止的。 如果晶體管的源極接地而漏極接位線,,在無偏置電壓的情況下,,檢測晶體管的導(dǎo)通狀態(tài)就可 以獲得存儲單元中的數(shù)據(jù),如果位線上的電平為低,,說明晶體管處于 導(dǎo)通狀態(tài),,讀取的數(shù) 據(jù)為 0,如果位線上為高電平,,則說明晶體管處于截止?fàn)顟B(tài),,讀取的數(shù)據(jù)為 1。由于控制柵 極在讀取數(shù)據(jù)的過程中施加的電壓較小或根本不施加 電壓,,不足以改變浮置柵極中原有的 電荷量,,所以讀取操作不會改變 FLASH 中原有的數(shù)據(jù)。
四,、連接和編址方式
兩種 FLASH 具有相同的存儲單元,,工作原理也一樣,為了縮短存取時(shí)間并不是對每個(gè)單元 進(jìn)行單獨(dú)的存取操作,,而是對一定數(shù)量的存取單元進(jìn)行集體操作,, NAND 型 FLASH 各存 儲單元之間是串聯(lián)的,而 NOR 型 FLASH 各單元之間是并聯(lián)的,;為了對全部的存儲單元有 效管理,,必須對存儲單元進(jìn)行統(tǒng)一編址,。
NAND 的全部存儲單元分為若干個(gè)塊,每個(gè)塊又分為若干個(gè)頁,,每個(gè)頁是 512byte,,就是 512 個(gè) 8 位數(shù),就是說每個(gè)頁有 512 條位線,,每條位線下 有 8 個(gè)存儲單元,;那么每頁存儲的數(shù) 據(jù)正好跟硬盤的一個(gè)扇區(qū)存儲的數(shù)據(jù)相同,這是設(shè)計(jì)時(shí)為了方便與磁盤進(jìn)行數(shù)據(jù)交換而特意 安排的,,那么塊就類似硬盤的簇,;容 量不同,塊的數(shù)量不同,,組成塊的頁的數(shù)量也不同,。 在讀取數(shù)據(jù)時(shí),當(dāng)字線和位線鎖定某個(gè)晶體管時(shí),,該晶體管的控制極不加偏置電壓,,其它的 7 個(gè)都加上偏置電壓 而導(dǎo)通,如果這個(gè)晶體管的浮柵中有電荷就會導(dǎo)通使位線為低電平,, 讀出的數(shù)就是 0,,反之就是 1。
NOR 的每個(gè)存儲單元以并聯(lián)的方式連接到位線,,方便對每一位進(jìn)行隨機(jī)存?。痪哂袑S玫?地址線,,可以實(shí)現(xiàn)一次性的直接尋址,;縮短了 FLASH 對處理器指令的執(zhí)行時(shí)間。 五,、性能
NAND flash和NOR flash的區(qū)別
一,、NAND flash和NOR flash的性能比較
flash閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進(jìn)行擦寫和再編程,。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除,。NAND器件執(zhí)行擦除操作是十分簡單的,,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為0。由于擦除NOR器件時(shí)是以64~128KB的塊進(jìn)行的,,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,,與此相反,擦除NAND器件是以8~32KB的塊進(jìn)行的,,執(zhí)行相同的操作最多只需要4ms,。執(zhí)行擦除時(shí)塊尺寸的不同進(jìn)一步拉大了NOR和NADN之間的性能差距,統(tǒng)計(jì)表明,,對于給定的一套寫入操作(尤其是更新小文件時(shí)),,更多的擦除操作必須在基于NOR的單元中進(jìn)行。這樣,,當(dāng)選擇存儲解決方案時(shí),,設(shè)計(jì)師必須權(quán)衡以下的各項(xiàng)因素。
1,、NOR的讀速度比NAND稍快一些,。
2、NAND的寫入速度比NOR快很多,。
3,、NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。
4,、大多數(shù)寫入操作需要先進(jìn)行擦除操作,。
5、NAND的擦除單元更小,,相應(yīng)的擦除電路更少,。
二、NAND flash和NOR flash的接口差別
NOR flash帶有SRAM接口,,有足夠的地址引腳來尋址,,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。
NAND器件使用復(fù)雜的I/O口來串行地存取數(shù)據(jù),,各個(gè)產(chǎn)品或廠商的方法可能各不相同,。8個(gè)引腳用來傳送控制、地址和數(shù)據(jù)信息,。NAND讀和寫操作采用512字節(jié)的塊,,這一點(diǎn)有點(diǎn)像硬盤管理此類操作,很自然地,,基于NAND的存儲器就可以取代硬盤或其他塊設(shè)備,。
三、NAND flash和NOR flash的容量和成本
NAND flash的單元尺寸幾乎是NOR器件的一半,,由于生產(chǎn)過程更為簡單,,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價(jià)格,。
NOR flash占據(jù)了容量為1~16MB閃存市場的大部分,,而NAND flash只是用在8~128MB的產(chǎn)品當(dāng)中,這也說明NOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲,,NAND在CompactFlash,、Secure Digital、PC Cards和MMC存儲卡市場上所占份額最大,。
四,、NAND flash和NOR flash的可靠性和耐用性
采用flahs介質(zhì)時(shí)一個(gè)需要重點(diǎn)考慮的問題是可靠性。對于需要擴(kuò)展MTBF的系統(tǒng)來說,,F(xiàn)lash是非常合適的存儲方案,。可以從壽命(耐用性),、位交換和壞塊處理三個(gè)方面來比較NOR和NAND的可靠性,。
五、NAND flash和NOR flash的壽命(耐用性)
在NAND閃存中每個(gè)塊的最大擦寫次數(shù)是一百萬次,,而NOR的擦寫次數(shù)是十萬次,。NAND存儲器除了具有10比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,,每個(gè)NAND存儲器塊在給定的時(shí)間內(nèi)的刪除次數(shù)要少一些,。
六、位交換
所有flash器件都受位交換現(xiàn)象的困擾,。在某些情況下(很少見,,NAND發(fā)生的次數(shù)要比NOR多),一個(gè)比特位會發(fā)生反轉(zhuǎn)或被報(bào)告反轉(zhuǎn)了,。一位的變化可能不很明顯,,但是如果發(fā)生在一個(gè)關(guān)鍵文件上,這個(gè)小小的故障可能導(dǎo)致系統(tǒng)停機(jī),。如果只是報(bào)告有問題,,多讀幾次就可能解決了。當(dāng)然,,如果這個(gè)位真的改變了,,就必須采用錯(cuò)誤探測/錯(cuò)誤更正(EDC/ECC)算法。位反轉(zhuǎn)的問題更多見于NAND閃存,,NAND的供應(yīng)商建議使用NAND閃存的時(shí)候,,同時(shí)使用
七、EDC/ECC算法
這個(gè)問題對于用NAND存儲多媒體信息時(shí)倒不是致命的,。當(dāng)然,,如果用本地存儲設(shè)備來存儲操作系統(tǒng)、配置文件或其他敏感信息時(shí),,必須使用EDC/ECC系統(tǒng)以確??煽啃?。
八、壞塊處理
NAND器件中的壞塊是隨機(jī)分布的,。以前也曾有過消除壞塊的努力,,但發(fā)現(xiàn)成品率太低,代價(jià)太高,,根本不劃算,。
NAND器件需要對介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,,并將壞塊標(biāo)記為不可用,。在已制成的器件中,如果通過可靠的方法不能進(jìn)行這項(xiàng)處理,,將導(dǎo)致高故障率,。
九、易于使用
可以非常直接地使用基于NOR的閃存,,可以像其他存儲器那樣連接,,并可以在上面直接運(yùn)行代碼。
由于需要I/O接口,,NAND要復(fù)雜得多,。各種NAND器件的存取方法因廠家而異。在使用NAND器件時(shí),,必須先寫入驅(qū)動(dòng)程序,,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當(dāng)?shù)募记?,因?yàn)樵O(shè)計(jì)師絕不能向壞塊寫入,,這就意味著在NAND器件上自始至終都必須進(jìn)行虛擬映射。
十,、軟件支持
當(dāng)討論軟件支持的時(shí)候,,應(yīng)該區(qū)別基本的讀/寫/擦操作和高一級的用于磁盤仿真和閃存管理算法的軟件,包括性能優(yōu)化,。
在NOR器件上運(yùn)行代碼不需要任何的軟件支持,,在NAND器件上進(jìn)行同樣操作時(shí),通常需要驅(qū)動(dòng)程序,,也就是內(nèi)存技術(shù)驅(qū)動(dòng)程序(MTD),,NAND和NOR器件在進(jìn)行寫入和擦除操作時(shí)都需要MTD。
使用NOR器件時(shí)所需要的MTD要相對少一些,,許多廠商都提供用于NOR器件的更高級軟件,,這其中包括M-System的TrueFFS驅(qū)動(dòng),該驅(qū)動(dòng)被Wind River System,、Microsoft,、QNX Software System、Symbian和Intel等廠商所采用。
驅(qū)動(dòng)還用于對DiskOnChip產(chǎn)品進(jìn)行仿真和NAND閃存的管理,,包括糾錯(cuò),、壞塊處理和損耗平衡。
|