nand flash與nor flash經常在一些地方被提到,一直沒認真去理解它們的區別,因此,今天花了一段時間仔細理解了一下,下面把我的筆記放在這裡:)
1、nor的特點是晶元內執行(xip,execute in place),這樣應用程式可以直接在flash快閃儲存器內執行,不必再把**讀到系統ram中。優點是可以直接從flash中執行程式,但是工藝複雜,**比較貴,nor的傳輸效率很高,在1~4mb的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的效能。
nand結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。應用nand的困難在於flash的管理和需要特殊的系統介面。優點:大儲存容量,而且便宜。缺點,就是無法定址直接執行程式,只能儲存資料。另外nand flash 非常容易出現壞區,所以需要有校驗的演算法。
任何flash器件的寫入操作只能在空或已擦除的單元內進行
(1)nand器件執行擦除操作是十分簡單的,而nor則要求在進行擦除前先要將目標塊內所有的位都寫為1。
(2)擦除nor器件時是以64~128kb的塊進行的,執行乙個寫入/擦除操作的時間為5s,norflashsector擦除時間視品牌、大小不同而不同,比如,4mflash,有的sector擦除時間為60ms,而有的需要最大6s。與此相反,擦除nand器件是以8~32kb的塊進行的,執行相同的操作最多隻需要4ms
(3)當選擇儲存解決方案時,設計師必須權衡以下的各項因素。
●nor的讀速度比nand稍快一些。
●nand的寫入速度比nor快很多。
●nand的4ms擦除速度遠比nor的5s快。
●大多數寫入操作需要先進行擦除操作。
●nand的擦除單元更小,相應的擦除電路更少。
(4)介面差別
norflash帶有sram介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每乙個位元組。
nand器件使用複雜的i/o口來序列地訪問資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、位址和資料資訊。nand讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,因此,基於nand的儲存器就可以取代硬碟或其他塊裝置。
(5)容量差別:
norflash佔據了容量為1~16mb快閃儲存器市場的大部分,而nandflash只是用在8~128mb的產品當中,這也說明nor主要應用在**儲存介質中,nand適合於資料儲存。
(6)可靠性和耐用性
-壽命(耐用性)
在nand快閃儲存器中每個塊的最大擦寫次數是一百萬次,而nor的擦寫次數是十萬次。nand儲存器除了具有10比1的塊擦除週期優勢,典型的nand塊尺寸要比nor器件小8倍,每個nand儲存器塊在給定的時間內的刪除次數要少一些。
-位交換
所有flash器件都受位交換現象的困擾。位真的改變了,就必須採用錯誤探測/錯誤更正(edc/ecc)演算法。位反轉的問題更多見於nand快閃儲存器,在使用nand快閃儲存器的時候,應使用edc/ecc演算法。用nand儲存多**資訊時倒不是致命的。當然,如果用本地儲存裝置來儲存作業系統、配置檔案或其他敏感資訊時,必須使用edc/ecc系統以確保可靠性。
-壞塊處理
nand器件中的壞塊是隨機分布的,nand器件需要對介質進行初始化掃瞄以發現壞塊,並將壞塊標記為不可用。在已製成的器件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。
(7)易於使用
可以非常直接地使用基於nor的快閃儲存器。在使用nand器件時,必須先寫入驅動程式,才能繼續執行其他操作。向nand器件寫入資訊需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在nand器件上自始至終都必須進行虛擬對映。
(8)軟體支援
在nor器件上執行**不需要任何的軟體支援,在nand器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式(mtd),nand和nor器件在進行寫入和擦除操作時都需要mtd。
使用nor器件時所需要的mtd要相對少一些,許多廠商都提供用於nor器件的更高階軟體,這其中包括m-system的trueffs驅動,該驅動被windriversystem、microsoft、qnxsoftwaresystem、symbian和intel等廠商所採用。驅動還用於對diskonchip產品進行**和nand快閃儲存器的管理,包括糾錯、壞塊處理和損耗平衡。
(9)在掌上電腦裡要使用nand flash 儲存資料和程式,但是必須有nor flash來啟動。除了samsung處理器,其他用在掌上電腦的主流處理器還不支援直接由nand flash 啟動程式。因此,必須先用一片小的nor flash 啟動機器,在把os等軟體從nand flash 載入sdram中執行才行
NORDFLASH與NANDFLASH的區別及選型
s3c2410有兩種啟動方式 1.nandflash啟動,這個過程是從s3c2410內部的4k啟動 空間啟動引導把nandflash程式 複製到 sram中執行.2.nordflash啟動,這個過程是把nordflash的位址安排為0x00000000.當上電復位後,指令從此位置開始執行.因為nor...
NORFlash與NAND Flash的區別
nand快閃儲存器晶元和nor快閃儲存器晶元的不同主要表現在 1 快閃儲存器晶元讀寫的基本單位不同 應用程式對nor晶元操作以 字 為基本單位。為了方便對大容量nor快閃儲存器的管理,通常將nor快閃儲存器分成大小為128kb或者64kb的邏輯塊,有時候塊內還分成扇區。讀寫時需要同時指定邏輯塊號和塊...
Nand Flash原理分析與程式設計
nand flash 在嵌入式系統中的地位與pc機上的硬碟是類似的。用於儲存系統執行所必需的作業系統,應用程式,使用者資料,執行過程中產生的各類資料,系統掉電後資料不會護丟失.本文主要介紹關於nand flash的組織結構和編寫程式的方法。在三星的nand flash 中,當cpu從nand fla...