1. 程式人生 > >NAND flash和NOR flash的區別

NAND flash和NOR flash的區別

一、NAND flash和NOR flash的效能比較
flash快閃記憶體是非易失儲存器,可以對稱為塊的儲存器單元塊進行擦寫和再程式設計。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位都寫為0。由於擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執行相同的操作最多隻需要4ms。執行擦除時塊尺寸的不同進一步拉大了NOR和NADN之間的效能差距,統計表明,對於給定的一套寫入操作(尤其是更新小檔案時),更多的擦除操作必須在基於NOR的單元中進行。這樣,當選擇儲存解決方案時,設計師必須權衡以下的各項因素。

1、NOR的讀速度比NAND稍快一些。
2、NAND的寫入速度比NOR快很多。
3、NAND的4ms擦除速度遠比NOR的5s快。
4、大多數寫入操作需要先進行擦除操作。
5、NAND的擦除單元更小,相應的擦除電路更少。
二、NAND flash和NOR flash的介面差別
NOR flash帶有SRAM介面,有足夠的地址引腳來定址,可以很容易地存取其內部的每一個位元組。
NAND器件使用複雜的I/O口來序列地存取資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和資料資訊。NAND讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基於NAND的儲存器就可以取代硬碟或其他塊裝置。

三、NAND flash和NOR flash的容量和成本
NAND flash的單元尺寸幾乎是NOR器件的一半,由於生產過程更為簡單,NAND結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。
NOR flash佔據了容量為1~16MB快閃記憶體市場的大部分,而NAND flash只是用在8~128MB的產品當中,這也說明NOR主要應用在程式碼儲存介質中,NAND適合於資料儲存,NAND在CompactFlash、Secure Digital、PC Cards和MMC儲存卡市場上所佔份額最大。
四、NAND flash和NOR flash的可靠性和耐用性
採用flahs介質時一個需要重點考慮的問題是可靠性。對於需要擴充套件MTBF的系統來說,Flash是非常合適的儲存方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。

五、NAND flash和NOR flash的壽命(耐用性)
在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快閃記憶體的管理,包括糾錯、壞塊處理和損耗平衡。