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結構,強調降低每位元的成本,更高的效能,並且象磁碟一樣可以通過介面輕鬆公升...