基于FLASH介質(zhì)嵌入式存儲方案的設(shè)計與實(shí)現(xiàn)
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):563
    
    
    摘要:作為一種新型的存儲介質(zhì),flash以其優(yōu)良的特性,在嵌入式領(lǐng)域中得到了廣泛的應(yīng)用。本文通過分析flash介質(zhì)的自身特性,并結(jié)合嵌入式系統(tǒng)的特點(diǎn),設(shè)計實(shí)現(xiàn)于兼容性、可靠性以及開銷等方面都得到充分優(yōu)化的flash存儲系統(tǒng)。
    
    關(guān)鍵字嵌入式系統(tǒng)文件系統(tǒng)flash
    
    1引言
    
    flash(閃速存儲器)作為一種安全、快速的存儲體,具有體積小、容量大、成本低、掉電數(shù)據(jù)不丟失等一系列優(yōu)點(diǎn),已成為嵌入式系統(tǒng)中數(shù)據(jù)和程序最主要的載體。由于flash在結(jié)構(gòu)和操作方式上與硬盤、e2rom等其他存儲介質(zhì)有較大區(qū)別,使用flash時必須根據(jù)其自身特性,對存儲系統(tǒng)進(jìn)行特殊設(shè)計,以保證系統(tǒng)的性能達(dá)到最優(yōu)。
    
    2flash的特點(diǎn)
    
    flash是一種非易失性存儲器nvm(non-volatilememory),根據(jù)結(jié)構(gòu)的不同可以將其分成norflash和nandflash兩種。但不管哪一種都具有如下特點(diǎn):
    
    1.區(qū)塊結(jié)構(gòu)
    
    flash在物理結(jié)構(gòu)上分成若干個區(qū)塊,區(qū)塊之間相互獨(dú)立。比如norflash把整個memory分成若干個sector,而nandflash把整個memory分成若干個block;
    
    2.先擦后寫
    
    由于flash的寫操作只能將數(shù)據(jù)位從1寫成0,不能從0寫成1,所以在對存儲器進(jìn)行寫入之前必須先執(zhí)行擦操作,將預(yù)寫入的數(shù)據(jù)位初始化為1。擦操作的最小單位是一個區(qū)塊,而不是單個字節(jié)。
    
    3.操作指令
    
    除了norflash的讀,flash的其它操作不能像ram那樣,直接對目標(biāo)地址進(jìn)行總線操作。比如執(zhí)行一次寫操作,它必須輸入一串特殊的指令(norflash),或者完成一段時序(nandflash)才能將數(shù)據(jù)寫入到flash中。
    
    4.位反轉(zhuǎn)
    
    由于flash固有的電器特性,在讀寫數(shù)據(jù)過程中,偶然會產(chǎn)生一位或幾位數(shù)據(jù)錯誤。這就是位反轉(zhuǎn)。位反轉(zhuǎn)無法避免,只能通過其他手段對結(jié)果進(jìn)行事后處理。
    
    5.壞塊
    
    flash在使用過程中,可能導(dǎo)致某些區(qū)塊的損壞。區(qū)塊一旦損壞,將無法進(jìn)行修復(fù)。如果對已損壞的區(qū)塊進(jìn)行操作,可能會帶來不可預(yù)測的錯誤。尤其是nandflash在出廠時就可能存在這樣的壞塊(已經(jīng)被標(biāo)識出)。
    
    3關(guān)鍵設(shè)計
    
    3.1flash通用設(shè)計
    
    對于一個嵌入式系統(tǒng),設(shè)備的兼容性越好,系統(tǒng)可行性就越好,產(chǎn)品也就越有競爭力。所以,為了兼容不同類型的flash設(shè)備,對flash進(jìn)行通用設(shè)計至關(guān)重要。
    
    對于norflash,數(shù)據(jù)的讀操作可以通過獨(dú)立的數(shù)據(jù)總線和地址總線快速完成,然而norflash的其他操作需要通過特殊的指令來完成,更糟糕的是不同廠商生產(chǎn)的芯片這些指令互不相同。這就導(dǎo)致了設(shè)備的不兼容。
    
    對于nandflash,也存在這樣的問題。nandflash可以根據(jù)相同的指令讀取芯片的廠商號和設(shè)備號,從而通過識別設(shè)備號調(diào)用對應(yīng)的時序流程實(shí)現(xiàn)操作。但是,系統(tǒng)中太多的判斷,會使得程序的結(jié)構(gòu)變得非常復(fù)雜。所以,在一定的條件下,nandflash設(shè)備還是不兼容的。
    
    為了解決這一問題,一個較好的方法是將flash的各個操作指令以及結(jié)構(gòu)特性按照統(tǒng)一的格式存放到flash中固定位置。系統(tǒng)初始化時,將這個結(jié)構(gòu)讀入系統(tǒng),通過分析這個結(jié)構(gòu),可以獲得關(guān)于芯片所有相關(guān)信息,包括操作指令,區(qū)塊分布等等。這樣,系統(tǒng)可以輕松實(shí)現(xiàn)對不同型號flash的所有操作,極大地提高了設(shè)備的擴(kuò)展性。
    
    3.2雙模式文件系統(tǒng)設(shè)計
    
    嵌入式系統(tǒng)中文件數(shù)據(jù)的存放一般有兩種結(jié)構(gòu),一種是索引格式的線性結(jié)構(gòu),一種是非線性的鏈表
    
    
    摘要:作為一種新型的存儲介質(zhì),flash以其優(yōu)良的特性,在嵌入式領(lǐng)域中得到了廣泛的應(yīng)用。本文通過分析flash介質(zhì)的自身特性,并結(jié)合嵌入式系統(tǒng)的特點(diǎn),設(shè)計實(shí)現(xiàn)于兼容性、可靠性以及開銷等方面都得到充分優(yōu)化的flash存儲系統(tǒng)。
    
    關(guān)鍵字嵌入式系統(tǒng)文件系統(tǒng)flash
    
    1引言
    
    flash(閃速存儲器)作為一種安全、快速的存儲體,具有體積小、容量大、成本低、掉電數(shù)據(jù)不丟失等一系列優(yōu)點(diǎn),已成為嵌入式系統(tǒng)中數(shù)據(jù)和程序最主要的載體。由于flash在結(jié)構(gòu)和操作方式上與硬盤、e2rom等其他存儲介質(zhì)有較大區(qū)別,使用flash時必須根據(jù)其自身特性,對存儲系統(tǒng)進(jìn)行特殊設(shè)計,以保證系統(tǒng)的性能達(dá)到最優(yōu)。
    
    2flash的特點(diǎn)
    
    flash是一種非易失性存儲器nvm(non-volatilememory),根據(jù)結(jié)構(gòu)的不同可以將其分成norflash和nandflash兩種。但不管哪一種都具有如下特點(diǎn):
    
    1.區(qū)塊結(jié)構(gòu)
    
    flash在物理結(jié)構(gòu)上分成若干個區(qū)塊,區(qū)塊之間相互獨(dú)立。比如norflash把整個memory分成若干個sector,而nandflash把整個memory分成若干個block;
    
    2.先擦后寫
    
    由于flash的寫操作只能將數(shù)據(jù)位從1寫成0,不能從0寫成1,所以在對存儲器進(jìn)行寫入之前必須先執(zhí)行擦操作,將預(yù)寫入的數(shù)據(jù)位初始化為1。擦操作的最小單位是一個區(qū)塊,而不是單個字節(jié)。
    
    3.操作指令
    
    除了norflash的讀,flash的其它操作不能像ram那樣,直接對目標(biāo)地址進(jìn)行總線操作。比如執(zhí)行一次寫操作,它必須輸入一串特殊的指令(norflash),或者完成一段時序(nandflash)才能將數(shù)據(jù)寫入到flash中。
    
    4.位反轉(zhuǎn)
    
    由于flash固有的電器特性,在讀寫數(shù)據(jù)過程中,偶然會產(chǎn)生一位或幾位數(shù)據(jù)錯誤。這就是位反轉(zhuǎn)。位反轉(zhuǎn)無法避免,只能通過其他手段對結(jié)果進(jìn)行事后處理。
    
    5.壞塊
    
    flash在使用過程中,可能導(dǎo)致某些區(qū)塊的損壞。區(qū)塊一旦損壞,將無法進(jìn)行修復(fù)。如果對已損壞的區(qū)塊進(jìn)行操作,可能會帶來不可預(yù)測的錯誤。尤其是nandflash在出廠時就可能存在這樣的壞塊(已經(jīng)被標(biāo)識出)。
    
    3關(guān)鍵設(shè)計
    
    3.1flash通用設(shè)計
    
    對于一個嵌入式系統(tǒng),設(shè)備的兼容性越好,系統(tǒng)可行性就越好,產(chǎn)品也就越有競爭力。所以,為了兼容不同類型的flash設(shè)備,對flash進(jìn)行通用設(shè)計至關(guān)重要。
    
    對于norflash,數(shù)據(jù)的讀操作可以通過獨(dú)立的數(shù)據(jù)總線和地址總線快速完成,然而norflash的其他操作需要通過特殊的指令來完成,更糟糕的是不同廠商生產(chǎn)的芯片這些指令互不相同。這就導(dǎo)致了設(shè)備的不兼容。
    
    對于nandflash,也存在這樣的問題。nandflash可以根據(jù)相同的指令讀取芯片的廠商號和設(shè)備號,從而通過識別設(shè)備號調(diào)用對應(yīng)的時序流程實(shí)現(xiàn)操作。但是,系統(tǒng)中太多的判斷,會使得程序的結(jié)構(gòu)變得非常復(fù)雜。所以,在一定的條件下,nandflash設(shè)備還是不兼容的。
    
    為了解決這一問題,一個較好的方法是將flash的各個操作指令以及結(jié)構(gòu)特性按照統(tǒng)一的格式存放到flash中固定位置。系統(tǒng)初始化時,將這個結(jié)構(gòu)讀入系統(tǒng),通過分析這個結(jié)構(gòu),可以獲得關(guān)于芯片所有相關(guān)信息,包括操作指令,區(qū)塊分布等等。這樣,系統(tǒng)可以輕松實(shí)現(xiàn)對不同型號flash的所有操作,極大地提高了設(shè)備的擴(kuò)展性。
    
    3.2雙模式文件系統(tǒng)設(shè)計
    
    嵌入式系統(tǒng)中文件數(shù)據(jù)的存放一般有兩種結(jié)構(gòu),一種是索引格式的線性結(jié)構(gòu),一種是非線性的鏈表
熱門點(diǎn)擊
- TPMS外置編碼存儲器式輪胎定位技術(shù)的電路實(shí)
- 基于單片機(jī)的通用示波器存儲功能擴(kuò)展設(shè)計
- FPGA與SRAM相結(jié)合完成大容量數(shù)據(jù)存儲
- OTPROM型單片機(jī)內(nèi)內(nèi)部存儲器的使用研究
- 帶SD/MMC存儲卡接口的MP3和弦芯片ft
- 外掛Flash的引導(dǎo)裝載設(shè)計
- 一種新型非易失性存儲器的原理及應(yīng)用
- 基于M—BUS的趣低功耗數(shù)據(jù)采集系統(tǒng)
- DSP片外高速海置SDRAM存儲系統(tǒng)設(shè)計
- 基于虛擬存儲的嵌入式存儲系統(tǒng)的設(shè)計方法
推薦技術(shù)資料
- 循線機(jī)器人是機(jī)器人入門和
- 循線機(jī)器人是機(jī)器人入門和比賽最常用的控制方式,E48S... [詳細(xì)]
- MPS 啟動器開發(fā)板/評估套件(EVKT/P
- 12V、6A 四路降壓電源管理 IC
- 數(shù)字恒定導(dǎo)通時間控制模式(COT)
- 同步降壓PWM DC-DC線性
- ADC 技術(shù)參數(shù)與應(yīng)用需求之
- 反激變換器傳導(dǎo)和輻射電磁干擾分
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究