NOR和NAND的區別

2021-04-06 13:03:02 字數 3265 閱讀 6856

nor和nand是現在市場上兩種主要的非易失快閃儲存器技術。intel於2023年首先開發出nor

flash技術,徹底改變了原先由eprom和eeprom一統

天下的局面。緊接著,2023年,東芝公司發表了nand flash結構,強調降低每位元的成

本,更高的效能,並且象磁碟一樣可以通過介面

輕鬆公升級。但是經過了十多年之後,仍然有相當多的硬體工程師分不清nor和nand快閃儲存器。

相「flash儲存器」經常可以與相「nor儲存器」互換使用。許多業內人士也搞不清

楚nand快閃儲存器技術相對於nor技術的優越之處,因

為大多數情況下快閃儲存器只是用來儲存少量的**,這時nor快閃儲存器更適合一些。而nand則是高

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

nor的特點是晶元內執行(xip, execute in place),這樣應用程式可以直接在flash

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

nor的傳輸效率很高,在1~4mb的小容量時具有很高的成本效益,但是很低的寫入和擦除

速度大大影響了它的效能。

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

很快。應用nand的困難在於flash的管理和需要

特殊的系統介面。

效能比較

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的擦除單元更小,相應的擦除電路更少。

介面差別

nor flash帶有sram介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每

乙個位元組。

nand器件使用複雜的i/o口來序列地訪問資料,各個產品或廠商的方法可能各不相同

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

nand讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基

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

容量和成本

nand flash的單元尺寸幾乎是nor器件的一半,由於生產過程更為簡單,nand結構可

以在給定的模具尺寸內提供更高的容量,也就

相應地降低了**。

nor flash佔據了容量為1~16mb快閃儲存器市場的大部分,而nand flash只是用在8~128m

b的產品當中,這也說明nor主要應用在**存

儲介質中,nand適合於資料儲存,nand在compactflash、secure digital、pc cards和m

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

可靠性和耐用性

採用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器件需要對介質進行初始化掃瞄以發現壞塊,並將壞塊標記為不可用。在已製

成的器件中,如果通過可靠的方法不能進行這項

處理,將導致高故障率。

易於使用

可以非常直接地使用基於nor的快閃儲存器,可以像其他儲存器那樣連線,並可以在上面直

接執行**。

由於需要i/o介面,nand要複雜得多。各種nand器件的訪問方法因廠家而異。

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

入資訊需要相當的技巧,因為設計師絕不能向壞

塊寫入,這就意味著在nand器件上自始至終都必須進行虛擬對映。

軟體支援

當討論軟體支援的時候,應該區別基本的讀/寫/擦操作和高一級的用於磁碟**和

快閃儲存器管理演算法的軟體,包括效能優化。

在nor器件上執行**不需要任何的軟體支援,在nand器件上進行同樣操作時,通常

需要驅動程式,也就是記憶體技術驅動程式(mtd

),nand和nor器件在進行寫入和擦除操作時都需要mtd。

使用nor器件時所需要的mtd要相對少一些,許多廠商都提供用於nor器件的更高階軟

件,這其中包括m-system的trueffs驅動,該驅

動被wind river system、microsoft、qnx software system、symbian和intel等廠商所

採用。驅動還用於對diskonchip產品進行**和nand快閃儲存器的管理,包括糾錯、壞塊處理和

損耗平衡。

小結 2440上NOR和NAND的操作區別

a.2440沒有nor flash控制器,不需要進行初始化操作,2440的位址匯流排直接與nor相連 注意2440的bit1連線到nor的bit0 因此在向nor發位址的時候需要將位址左移一位發出 b.2440有nand flash控制器,需要對nand flash控制器進行初始化 初始化控制器來設...

NOR型flash與NAND型flash的區別

應用程式對nor晶元操作以 字 為基本單位。為了方便對大容量nor快閃儲存器的管理,通常將nor快閃儲存器分成大小為128kb或者64kb的邏輯塊,有時候塊內還分成扇區。讀寫時需要同時指定邏輯塊號和塊內偏移。應用程式對nand晶元操作是以 塊 為基本單位。nand快閃儲存器的塊比較小,一般是8kb,...

NOR型flash與NAND型flash的區別

1 快閃儲存器晶元讀寫的基本單位不同 應用程式對nor晶元操作以 字 為基本單位。為了方便對大容量nor快閃儲存器的管理,通常將nor快閃儲存器分成大小為128kb或者64kb的邏輯塊,有時候塊內還分成扇區。讀寫時需要同時指定邏輯塊號和塊內偏移。應用程式對nand晶元操作是以 塊 為基本單位。nan...