s3c2410有兩種啟動方式:
1.nandflash啟動,這個過程是從s3c2410內部的4k啟動**空間啟動引導把nandflash程式**複製到
sram中執行.
2.nordflash啟動,這個過程是把nordflash的位址安排為0x00000000.當上電復位後,指令從此位置開始執行.因為nordflash是線性定址方式,不需要驅動而且可以直接在上面執行而不必複製到sram.而
nandflash是非線性定址,需要驅動的支援.
目前上典型的做法是選擇nordflash來存放啟動**bootload,而用nandflash來存放linux核心及應用程式.
選擇那一種方式來啟動,主要是從以下幾方面來考慮:
1.nordflash的特點:優點是可以直接從flash中執行程式,但是工藝複雜,**比較貴,nor的傳輸效率很高,在1~4mb的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的效能.
2.nand結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。應用nand的困難在於flash的管理和需要特殊的系統介面。優點:大儲存容量,而且便宜。缺點,就是無法定址直接運
行程式,只能儲存資料。另外nand flash 非常容易出現壞區,所以需要有校驗的演算法.
3.任何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 啟動程式。因此,必須先用一片小的
嵌入式開發之NorFlash 和NandFlash
author tiger john time 2013 07 11 重新修改 mail jibo.tiger gmail.com blog 摘要 作為乙個嵌入式工程師,要對norflash 和nandflash要有最起碼的認知。本文通過從啟動方式 讀寫方式 容量成本 可靠性 壽命以及是使用型上進行了...
嵌入式開發之NorFlash 和NandFlash
flash的不同分類 nand flash,nor flash,cfi flash,spi flash 之間的關係 摘要 作為乙個嵌入式工程師,要對norflash 和nandflash要有最起碼的認知。本文通過從啟動方式 讀寫方式 容量成本 可靠性 壽命以及是使用型上進行了全面的分析和對比。任何事...
SQL與NoSQL MySQL與NoSQL的融合
寫這一篇內容的原因是mysql5.6.2突然推出了memcached的功能。nosql to innodb with memcached的出現,可以看出nosql對關聯式資料庫的確產生了巨大的影響,個人覺得這是乙個非常大的進步,可以讓開發人員更加方便的使用nosql和關聯式資料庫。nosql一般被認...