NAND flash和NOR flash的區別

2021-06-16 18:23:03 字數 4117 閱讀 3852

nand flash和

nor flash詳解

nor和

nand

是現在市場上兩種主要的非易失快閃儲存器技術。

intel

於1988

年首先開發出

nor flash

技術,徹底改變了原先由

eprom

和eeprom

一統天下的局面。緊接著,

1989

年,東芝公司發表了

nand flash

結構,強調降低每位元的成本,更高的效能,並且象磁碟一樣可以通過介面輕鬆公升級。

大多數情況下快閃儲存器只是用來儲存少量的**,這時nor

快閃儲存器更適合一些。而

nand

則是高資料儲存密度的理想解決方案。  

nor的特點是晶元內執行

(xip, execute in place)

,這樣應用程式可以直接在

flash 

快閃儲存器內執行,不必再把**讀到系統

ram中。 

nor的傳輸效率很高,在1~

4mb的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的效能。 

nand

結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也 很快。應用

nand

的困難在於

flash

的管理和需要特殊的系統介面。 

1. 效能比較 

flash

快閃儲存器是非易失儲存器,可以對稱為塊的儲存器單元塊進行擦寫和再程式設計。任何

flash

器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。

nand

器件執行擦除操作是十分簡單的,而

nor則要求在進行擦除前先要將目標塊內所有的位都寫為0。 

由於擦除nor

器件時是以64~

128kb

的塊進行的,執行乙個寫入

/擦除操作的時間為

5s,與此相反,擦除

nand

器件是以8~

32kb

的塊進行的,執行相同的操作最多隻需要

4ms。 

執行擦除時塊尺寸的不同進一步拉大了nor

和nadn

之間的效能差距,統計表明,對於給定的一套寫入操作

(尤其是更新小檔案時

),更多的擦除操作必須在基於

nor的單元中進行。

● nor

的讀速度比

nand

稍快一些。 

● nand

的寫入速度比

nor快很多。 

● nand

的4ms

擦除速度遠比

nor的

5s快。 

● 大多數寫入操作需要先進行擦除操作。 

● nand

的擦除單元更小,相應的擦除電路更少。 

2. 介面差別 

nor flash

帶有sram

介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每乙個位元組。 

nand

器件使用複雜的

i/o口來序列地訪問資料,各個產品或廠商的方法可能各不相同。

8個引腳用來傳送控制、位址和資料資訊。

nand

讀和寫操作採用

512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基於

nand

的儲存器就可以取代硬碟或其他塊裝置。 

3. 容量和成本 

nand flash

的單元尺寸幾乎是

nor器件的一半,由於生產過程更為簡單,

nand

結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了**。 

nor flash

佔據了容量為1~

16mb

快閃儲存器市場的大部分,而

nand flash

只是用在8~

128mb

的產品當中,這也說明

nor主要應用在**儲存介質中,

nand

適合於資料儲存,

nand

在compactflash

、secure digital

、pc cards

和mmc

儲存卡市場上所佔份額最大。 

4. 可靠性和耐用性 

採用flahs

介質時乙個需要重點考慮的問題是可靠性。對於需要擴充套件

mtbf

的系統來說,

flash

是非常合適的儲存方案。可以從壽命

(耐用性

)、位交換和壞塊處理三個方面來比較

nor和

nand

的可靠性。 

壽命(耐用性) 

在nand

快閃儲存器中每個塊的最大擦寫次數是一百萬次,而

nor的擦寫次數是十萬次。

nand

儲存器除了具有10比

1的塊擦除週期優勢,典型的

nand

塊尺寸要比

nor器件小

8倍,每個

nand

儲存器塊在給定的時間內的刪除次數要少一些。 

位交換 

所有flash

器件都受位交換現象的困擾。在某些情況下

(很少見,

nand

發生的次數要比

nor多

),乙個位元位會發生反轉或被報告反轉了。一位的變化可能不很明顯,但是如果發生在乙個關鍵檔案上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。當然,如果這個位真的改變了,就必須採用錯誤探測

/錯誤更正

(edc/ecc)

演算法。位反轉的問題更多見於

nand

快閃儲存器,nand

的**商建議使用

nand

快閃儲存器的時候,同時使用

edc/ecc

演算法。這個問題對於用

nand

儲存多**資訊時倒不是致命的。當然,如果用本地儲存裝置來儲存作業系統、配置檔案或其他敏感資訊時,必須使用

edc/ecc

系統以確保可靠性。 

壞塊處理 

nand

器件中的壞塊是隨機分布的。以前也曾有過消除壞塊的努力,但發現成品率太低,代價太高,根本不划算。

nand

器件需要對介質進行初始化掃瞄以發現壞塊,並將壞塊標記為不可用。在已製成的器件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。  

5. 易於使用 

可以非常直接地使用基於nor

的快閃儲存器,可以像其他儲存器那樣連線,並可以在上面直接執行**。 

由於需要i/o

介面,nand

要複雜得多。各種

nand

器件的訪問方法因廠家而異。在使用

nand

器件時,必須先寫入驅動程式,才能繼續執行其他操作。向

nand

器件寫入資訊需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在

nand

器件上自始至終都必須進行虛擬對映。 

6. 軟體支援 

當討論軟體支援的時候,應該區別基本的讀/寫/

擦操作和高一級的用於磁碟**和快閃儲存器管理演算法的軟體,包括效能優化。 

在nor

器件上執行**不需要任何的軟體支援,在

nand

器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式

(mtd)

,nand

和nor

器件在進行寫入和擦除操作時都需要

mtd。使用

nor器件時所需要的

mtd要相對少一些,許多廠商都提供用於

nor器件的更高階軟體,這其中包括

m-system

的trueffs

驅動,該驅動被

wind river system

、microsoft

、qnx software system

、symbian

和intel

等廠商所採用。 

驅動還用於對diskonchip

產品進行**和

nand

快閃儲存器的管理,包括糾錯、壞塊處理和損耗平衡。

nand flash啟動和nor flash啟動

1 nor flash啟動 cpu看到的0位址是在nor flash上 1 把bootloader燒寫在nor flash的0位址 2 上電時,從nor flash的0位址開始執行。3 比較大時需重定位,重定位時,把 從nor flash 複製到sdram上的鏈結位址 程式執行時應該位於的地方 2 ...

nand flash和nor flash啟動區別

1 介面區別 nor flash位址線和資料線分開,來了位址和控制訊號,資料就出來。nand flash位址線和資料線在一起,需要用程式來控制,才能出資料。通俗的說,就是光給位址不行,要先命令,再給位址,才能讀到nand的資料。而且都是在乙個匯流排完成的。結論是 arm無法從nand直接啟動。除非裝...

NANDFLASH 和NORFLASH的區別

nor和nand是現在市場上兩種主要的非易失快閃儲存器技術。intel於1988年首先開發出nor flash技術,徹底改變了原先由eprom和eeprom一統天下的局面。緊接著,1989年,東芝公司發表了nand flash結構,強調降低每位元的成本,更高的效能,並且象磁碟一樣可以通過介面輕鬆公升...