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