NORflash和NANDflash區別

轉載自http://baike.eepw.com.cn/baike/show/word/NORflash

 

 

NAND閃存芯片和NOR閃存芯片的不同主要表現在:
   
1) 閃存芯片讀寫的基本單位不同
應用程序對NOR芯片操作以“字”爲基本單位。爲了方便對大容量NOR閃存的管理,通常將NOR閃存分成大小爲128KB或者64KB的邏輯塊,有時候塊內還分成扇區。讀寫時需要同時指定邏輯塊號和塊內偏移。應用程序對N AN D芯片操作是以“塊”爲基本單位。NAND閃存的塊比較小,一般是8KB,然後每塊又分成頁,頁的大小一般是512字節。要修改NAND芯片中一個字節,必須重寫整個數據塊。
 
2)NOR閃存是隨機存儲介質,用於數據量較小的場合;N AND閃存是連續存儲介質,適合存放大的數據。
 
3) 由於NOR地址線和數據線分開,所以NOR芯片可以像SRAM一樣連在數據線上。NOR芯片的使用也類似於通常的內存芯片,它的傳輸效率很高,可執行程序可以在芯片內執行( XI P, eXecute In Place),這樣應用程序可以直接在flash閃存內運行,不必再把代碼 讀到系統RAM中。由於NOR的這個特點,嵌入式系統中經常將NOR芯片做啓動芯片使用。而NAND共用地址和數據總線,需要額外聯結一些控制的輸入輸出,所以直接將NAND芯片做啓動芯片比較難。
 
4) NAND閃存芯片因爲共用地址和數據總線的原因,不允許對一個字節甚至一個塊進行的數據清空,只能對一個固定大小的區域進行清零操作;而NOR芯片可以對字進行操作。所以在處理小數據量的I/O操作的時候的速度要快與NAND的速度。比如一塊NOR芯片通 常寫一個字需要10微秒,那麼在32位總線上寫512字節需要1280毫秒;而NAND閃存寫512字節需要的時間包括:512×每字節50納秒+10微秒的尋頁時間+200微秒的片擦寫時間=234微秒。
 
5)NAND閃存的容量比較大,目前最大容量己經達到8G字節。爲了方便管理,NAND的存儲空間使用了塊和頁兩級存儲體系,也就是說閃存的存儲空間是二維的,比如K9F5608UOA閃存塊的大小爲16K,每頁的大小是512字節,每頁還16字節空閒區用來存放錯誤校驗碼空間(有時也稱爲out-of-band,OOB空間);在進行寫操作的時候NAND閃存每次將一個字節的數據放入內部的緩存區,然後再發出“寫指令”進行寫操作。由於對NAND閃存的操作都是以塊和頁爲單位的,所以在向NAND閃存進行大量數據的讀寫時,NAND的速度要快於NOR閃存。
 
6)NOR閃存的可靠性要高於NAND閃存,這主要是因爲NOR型閃存的接口簡單,數據操作少,位交換操作少,因此可靠性高,極少出現壞區塊,因而一般用在對可靠性要求高的地方。相反的,NAND型閃存接口和操作均相對複雜,位交換操作也很多,關鍵性數據更是需安錯誤探測/錯誤更正〔EDC/ECC)算法來確保數據的完整性,因此出現問題的機率要大得多,壞區塊也是不可避免的,而且由於壞區塊是隨機分佈的,連糾錯也無法做到。
 
7)NAND Flash一般地址線和數據線共用,對讀寫速度有一定影響;而NOR Flash閃存數據線和地址線分開,所以相對而言讀寫速度快一些。
NAND和NOR芯片的共性首先表現在向芯片中寫數據必須先將芯片中對應的內容清空,然後再寫入,也就是通常說的“先擦後寫”。只不過NOR芯片只用擦寫一個字,而NAND需要擦寫整個塊。其次,閃存擦寫的次數都是有限的.當閃存的使用接近使用壽命的時候,經常會出現寫操作失敗;到達使用壽命時,閃存內部存放的數據雖然可以讀,但是不能再進行寫操作了所以爲了防止上面問題的發生,不能對某個特定的區域反覆進行寫操作。通常NAND的可擦寫次數高於NOR芯片,但是由於NAND通常是整塊擦寫,塊內的頁面中如果有一位失效整個塊就會失效,而且由於擦寫過程複雜,失敗的概率相對較高,所以從整體上來說NOR的壽命較長。
另一個共性是閃存的讀寫操作不僅僅是一個物理操作,實際上在閃存上存放數據必須使用算法實現,這個模塊一般在驅動程序的MTD (Memory Technology Drivers)模塊中或者在FTL(Flash Translation Layer)層內實現,具體算法和芯片的生產廠商以及芯片型號有關係。
通過比較可以發現,NAND更適用於複雜的文件應用,但是由於NAND芯片的使用相對複雜,所以對文件系統有較高的要求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章