Flash Memory從結(jié)構(gòu)上大體上可以分為AND、NAND、NOR和DINOR等幾種,現(xiàn)在市場上兩種主要的Flash Memory技術(shù)是NOR和NAND結(jié)構(gòu)。
Intel于1988年首先開發(fā)出NOR flash技術(shù),徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。緊接著,1989年,東芝公司發(fā)表了NAND flash結(jié)構(gòu),強調(diào)降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。
Nor Flash器件以及NAND Flash器件都是采用浮柵器件,在寫入之前必須先行擦除。浮柵器件也是利用電場的效應(yīng)來控制源極與漏極之間的通斷,柵極的電流消耗極小,不同的是場效應(yīng)管為單柵極結(jié)構(gòu),而FLASH為雙柵極結(jié)構(gòu),在柵極與硅襯底之間增加了一個浮置柵極。
浮置柵極是由氮化物夾在兩層二氧化硅材料之間構(gòu)成的,中間的氮化物就是可以存儲電荷的電荷勢阱。上下兩層氧化物的厚度大于50埃,以避免發(fā)生擊穿。
一 存儲單元工作原理
cc1. NOR存儲單元
快閃存儲器的擦寫技術(shù)來源于溝道熱電子發(fā)射(Channel Hot-Electron Injection)與隧道效應(yīng)(Fowlerordheim)。
NOR結(jié)構(gòu)的Flash memory主要用于存儲指令代碼及小容量數(shù)據(jù)的產(chǎn)品中,目前的單片最高容量為512M,NOR Flash memory產(chǎn)品的主要領(lǐng)導(dǎo)者為Intel公司、AMD公司、Fujitsu公司、ST Microelectronics和公司。
ccNOR結(jié)構(gòu)的Flash memory采用NOR SGC(Stacked Gate Cell)存儲單元,是從EPROM結(jié)構(gòu)直接發(fā)展而來,非常成熟的結(jié)構(gòu),采用了簡單的堆疊柵構(gòu)造。圖1是其結(jié)構(gòu)原理圖。溝道熱電子發(fā)射(CHEI)器件的浮柵的充電(寫)是通過傳統(tǒng)的溝道熱電子發(fā)射(CHEI)在漏端附近完成的;浮柵的放電(擦除)在源端通過隧道氧化層的隧道效應(yīng)來實現(xiàn)。
cccc cc
cc這種結(jié)構(gòu)單元面積小,同EPROM的面積相當,編程(寫)時間短,在10μs左右,源漏結(jié)可以分開優(yōu)化,漏結(jié)優(yōu)化溝道熱電子發(fā)射,源結(jié)優(yōu)化隧道效應(yīng),采用了自對準工藝。
cc隨著制造技術(shù)的進步,存儲單元的特征尺寸越來越小,工作電壓降低,帶來的負面影響是熱電子發(fā)射效率降低,編程時較難工作于4V漏源電壓下。為提高熱電子發(fā)射效率,需要對源結(jié)、漏結(jié)、溝道摻雜分布進行優(yōu)化1,整體工藝較復(fù)雜,編程電流也較大,大約400μA/bit(0.5μm)技術(shù)。工藝流程以0.25μm-0.35μm產(chǎn)品為例,采用DPDM制造的快閃存儲器需要23塊Mask版,進行27次光刻。
cc2. 隧道效應(yīng)(Fowlerordheim)存儲單元
cc隧道效應(yīng)存儲單元是目前快速發(fā)展的快閃存儲器生產(chǎn)技術(shù),在快閃存儲器中一般組成NAND存儲陣列,單元面積小,其工藝較簡單,容量大,成本低,適用于低價格、高容量、速度要求不高的Flash memory客戶用于數(shù)據(jù)存儲;在MP3、PAD、數(shù)碼相機、2.5G及3G無線系統(tǒng)中得到了廣泛的應(yīng)用。
cc圖2是隧道效應(yīng)存儲單元結(jié)構(gòu)原理圖,其編程、擦除通過隧道氧化層的隧道效應(yīng)來實現(xiàn),類似EEPROM,其優(yōu)點是在編程時可以工作在2.5V的源漏電壓下,功耗低,非常適合非接觸式IC卡,同時NAND陣列的單元面積是NOR SGC單元面積的二分之一,適合于大容量集成。
cc
cc隧道效應(yīng)存儲單元擦寫工作電壓高,一般要求達到16V-20V,對器件、電路的設(shè)計要求高,編程(寫)時間較長,在50μs-100μs,不適合字節(jié)編程,適用于大容量頁編程,像EEPROM一樣,編程時,加在隧道氧化層上電場強度高,存在SILC(stress induced leakage currents)效應(yīng),對工藝要求高。
3. 數(shù)據(jù)讀取原理
對于NOR以及NAND FLASH Memory,向浮柵中注入電荷表示寫入了‘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)一編址。
1. NOR Flash連接
NOR Flash的每個存儲單元以并聯(lián)的方式連接到位線,方便對每一位進行隨機存??;具有獨立的數(shù)據(jù)線和地址線,可以實現(xiàn)隨機存?。豢s短了FLASH對處理器指令的執(zhí)行時間。
NOR Flash可以單字節(jié)或單字編程,但不能單字節(jié)擦除,必須以塊為單位或?qū)φ瑘?zhí)行擦除操作,在對存儲器進行重新編程之前需要對塊或整片進行預(yù)編程和擦除操作,但是擦除和編程速度較慢。
2. NAND Flash的結(jié)構(gòu)
NAND Flash 的數(shù)據(jù)是以bit的方式保存在memory cell,一般來說,一個cell 中只能存儲一個bit。這些cell 以8個或者16個為單位,連成bit line,形成所謂的byte(x8)/word(x16),這就是NAND Device的位寬。這些Line會再組成Page,若干個Page構(gòu)成一個Block,一個NAND Flash存儲器包含若干個Block。
三星的K9F1208U0M每頁528Bytes(512byte(Main Area)+16byte(Spare Area),參見說明1),每32個page形成一個Block(32*528B),具有4096個block,故總?cè)萘繛?096*(32*528B)=66MB,但是其中的2MB是用來保存ECC校驗碼等額外數(shù)據(jù)的,故實際中可使用的為64MB。
說明1:NAND閃存的每一頁都有8B(頁長度 256B)或者16B(頁長度為512B)的OOB(Out Of Band)數(shù)據(jù)區(qū),用來存放ECC(Error Checking &Correction)、ECC有效標志、壞塊標志等。
NAND flash以頁為單位讀寫數(shù)據(jù),而以塊為單位擦除數(shù)據(jù)。按照這樣的組織方式可以形成所謂的三類地址:
Column Address:Starting Address of the Register. 翻成中文為列地址,地址的低8位
Page Address :頁地址
Block Address :塊地址
對于NAND Flash來講,地址和命令只能在I/O[7:0]上傳遞,數(shù)據(jù)寬度是8位。
3. NAND Flash尋址舉例
512byte需要9bit來表示,對于528byte系列的NAND,這512byte被分成1st half Page Register和2nd half Page Register,各自的訪問由地址指針命令來選擇,A[7:0]就是所謂的column address(列地址),在進行擦除操作時不需要它,因為以塊為單位擦除。32個page需要5bit來表示,占用A[13:9],即該page在塊內(nèi)的相對地址。A8這一位地址被用來設(shè)置512byte的1st half page還是2nd half page,0表示1st,1表示2nd。Block的地址是由A14以上的bit來表示。
例如64MB(512Mb)的NAND flash(實際中由于存在spare area,故都大于這個值),共4096block,因此,需要12個bit來表示,即A[25:14],如果是128MB(1Gbit) 的528byte/page的NAND Flash,則block address用A[26:14]表示。而page address就是blcok address|page address in block。NAND Flash 的地址表示為: Block Address|Page Address in block|halfpage pointer|Column Address 地址傳送順序是Column Address,Page Address,Block Address。
由于地址只能在I/O[7:0]上傳遞,因此,必須采用移位的方式進行。 例如,對于512Mbit x8的NAND flash,地址范圍是0~0x3FF_FFFF,只要是這個范圍內(nèi)的數(shù)值表示的地址都是有效的。 以NAND_ADDR 為例:
第1 步是傳遞column address,就是NAND_ADDR[7:0],不需移位即可傳遞到I/O[7:0]上,而halfpage pointer即A8 是由操作指令決定的,即指令決定在哪個halfpage 上進行讀寫,而真正的A8 的值是不需程序員關(guān)心的。
第2 步就是將NAND_ADDR 右移9位,將NAND_ADDR[16:9]傳到I/O[7:0]上;
第3 步將NAND_ADDR[24:17]放到I/O上;
第4步需要將NAND_ADDR[25]放到I/O上;
因此,整個地址傳遞過程需要4 步才能完成,即4-step addressing。 如果NAND Flash 的容量是32MB(256Mbit)以下,那么,block adress最高位只到bit24,因此尋址只需要3步。
下面,就x16 的NAND flash 器件稍微進行一下說明。 由于一個page 的main area 的容量為256word,仍相當于512byte。但是,這個時候沒有所謂的1st halfpage 和2nd halfpage 之分了,所以,bit8就變得沒有意義了,也就是這個時候 A8 完全不用管,地址傳遞仍然和x8 器件相同。除了,這一點之外,x16 的NAND使用方法和 x8 的使用方法完全相同。
三 NAND Flash和NOR Flash的比較
如果只是用來存儲少量的代碼,這時NOR閃存更適合一些。而NAND則是高數(shù)據(jù)存儲密度的理想解決方案。
NOR的特點是芯片內(nèi)執(zhí)行(XIP, eXecute In Place),這樣應(yīng)用程序可以直接在flash閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。
NAND結(jié)構(gòu)能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。應(yīng)用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。
1.性能比較
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)衡以下的各項因素。
.NOR的讀速度比NAND稍快一些。
.NAND的寫入速度比NOR快很多。
.NAND的4ms擦除速度遠比NOR的5s快。
。大多數(shù)寫入操作需要先進行擦除操作。
.NAND的擦除單元更小,相應(yīng)的擦除電路更少。
2.接口差別
NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個字節(jié)。
NAND器件使用復(fù)雜的I/O口來串行地存取數(shù)據(jù),各個產(chǎn)品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數(shù)據(jù)信息(地址總線、數(shù)據(jù)總線復(fù)用)。
NAND讀和寫操作采用512字節(jié)的塊,這一點有點像硬盤管理此類操作,很自然地,基于NAND的存儲器就可以取代硬盤或其他塊設(shè)備。
3.容量和成本
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存儲卡市場上所占份額最大。
4.可靠性和耐用性
采用flahs介質(zhì)時一個需要重點考慮的問題是可靠性。對于需要擴展MTBF的系統(tǒng)來說,F(xiàn)lash是非常合適的存儲方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。壽命(耐用性)在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)致高故障率。
5.易于使用
可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直接運行代碼。
由于需要I/O接口,NAND要復(fù)雜得多。各種NAND器件的存取方法因廠家而異。在使用NAND器件時,必須先寫入驅(qū)動程序,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當?shù)募记桑驗樵O(shè)計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進行虛擬映射。
6.軟件支持
當討論軟件支持的時候,應(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閃存的管理,包括糾錯、壞塊處理和損耗平衡。(糾正一點:NOR擦除時,是全部寫1,不是寫0,而且,NOR FLASH SECTOR擦除時間視品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除時間為60ms,而有的需要最大6S。)NOR FLASH的主要供應(yīng)商是INTEL ,MICRO等廠商,曾經(jīng)是FLASH的主流產(chǎn)品,但現(xiàn)在被NAND FLASH擠的比較難受。它的優(yōu)點是可以直接從FLASH中運行程序,但是工藝復(fù)雜,價格比較貴。NAND FLASH的主要供應(yīng)商是SAMSUNG和東芝,在油盤、各種存儲卡、MP3播放器里面的都是這種FLASH,由于工藝上的不同,它比NOR FLASH擁有更大存儲容量,而且便宜。但也有缺點,就是無法尋址直接運行程序,只能存儲數(shù)據(jù)。另外NAND FLASH 非常容易出現(xiàn)壞區(qū),所以需要有校驗的算法。在掌上電腦里要使用NAND FLASH 存儲數(shù)據(jù)和程序,但是必須有NOR FLASH來啟動。除了SAMSUNG處理器,其他用在掌上電腦的主流處理器還不支持直接由NAND FLASH 啟動程序。因此,必須先用一片小的NOR FLASH 啟動機器,在把OS等軟件從NAND FLASH 載入SDRAM中運行。
參考資料
1. 嵌入式Flash Memory Cell技術(shù)2. NAND與NOR FLASH的原理與異同
3. NAND Flash和NOR Flash的比較
4. nand flash 原理簡介
內(nèi)容來自百科網(wǎng)