適宜于嵌入式多媒體應(yīng)用的Flash文件系統(tǒng)
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問次數(shù):2034
來源:電子技術(shù)應(yīng)用 作者:清華大學(xué) 董 明 劉 加 劉潤(rùn)生摘要:嵌入式多媒體應(yīng)用中大量數(shù)據(jù)存儲(chǔ)在flash上,本文以文件系統(tǒng)的方案解決數(shù)據(jù)存儲(chǔ)的管理問題。對(duì)嵌入式多媒體應(yīng)用中flash文件系統(tǒng)的應(yīng)用特點(diǎn)與關(guān)鍵設(shè)計(jì)進(jìn)行了分析,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)功能完整的文件代號(hào)管理、文件指針存取以及對(duì)應(yīng)用透明的自動(dòng)壞損管理的文件系統(tǒng)。針對(duì)嵌入式系統(tǒng)應(yīng)用的需要,改進(jìn)了本flash文件系統(tǒng)的應(yīng)用可靠性,降低了其系統(tǒng)資源開銷。針對(duì)多媒體應(yīng)用的數(shù)據(jù)特點(diǎn),提出了存儲(chǔ)內(nèi)容自適應(yīng)的環(huán)境管理策略。仿真與實(shí)用的效果表明,本flash文件系統(tǒng)適宜于嵌入式多媒體應(yīng)用。
關(guān)鍵詞:嵌入式系統(tǒng) 多媒體flash存儲(chǔ)器 文件系統(tǒng)隨著電子技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)越來越多地在控制類、消費(fèi)類、通訊類等電子產(chǎn)品廣泛應(yīng)用,并且隨著數(shù)字信號(hào)處理與人機(jī)交互界面等相關(guān)技術(shù)的不斷成熟,嵌入式多媒體應(yīng)用數(shù)量也逐漸上升。多媒體業(yè)務(wù)的數(shù)據(jù)量大,數(shù)據(jù)內(nèi)容復(fù)雜,在多媒體應(yīng)用中數(shù)據(jù)的存儲(chǔ)與管理是不容回避的問題。flash存儲(chǔ)器制造成本低廉、存儲(chǔ)容量大、數(shù)據(jù)非易失、無(wú)機(jī)械故障,在目前的嵌入式系統(tǒng)中被廣泛用作外存儲(chǔ)器件。然而flash存儲(chǔ)器卻是一種數(shù)據(jù)正確性非理想的器件,應(yīng)用中可能會(huì)出現(xiàn)壞損數(shù)據(jù)單元,這又給應(yīng)用flash存儲(chǔ)器嵌入式系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)管理增添了新的難度[1]。
在嵌入式系統(tǒng)中應(yīng)用flash存儲(chǔ)器最好的辦法是在其上構(gòu)造一個(gè)文件系統(tǒng),對(duì)flash存儲(chǔ)器中的數(shù)據(jù)內(nèi)容進(jìn)行基于文件代號(hào)的存儲(chǔ)管理,同時(shí)對(duì)于flash存儲(chǔ)器本身的壞損單元自動(dòng)進(jìn)行應(yīng)用透明的壞損管理。目前在通用計(jì)算機(jī)上已經(jīng)有很多成熟的文件系統(tǒng),如dos下的fat文件系統(tǒng)、windows nt下的ntfs文件系統(tǒng)及unix文件系統(tǒng)等[2]。但是這些文件系統(tǒng)并不適合直接用到嵌入式系統(tǒng)中進(jìn)行多媒體數(shù)據(jù)內(nèi)容的存儲(chǔ):第一,嵌入式系統(tǒng)的應(yīng)用條件遠(yuǎn)比計(jì)算機(jī)惡劣,電源電壓的不穩(wěn)定以及突發(fā)性斷電將對(duì)flash的存儲(chǔ)造成災(zāi)難性的影響,通用文件系統(tǒng)對(duì)于可靠性的設(shè)計(jì)考慮不足;第二,通用文件系統(tǒng)是針對(duì)系統(tǒng)資源非常豐富的計(jì)算機(jī)平臺(tái)并基于速度較慢的磁盤驅(qū)動(dòng)器,它們常常大量使用緩存技術(shù),如注重文件系統(tǒng)的速度特性,要耗費(fèi)比較多的系統(tǒng)資源。這與嵌入式系統(tǒng)中系統(tǒng)資源十分有限,flash存儲(chǔ)器又相對(duì)于磁盤驅(qū)動(dòng)器較快的應(yīng)用情況不用;第三,嵌入式系統(tǒng)中存儲(chǔ)于flash上的內(nèi)容很多是多媒體數(shù)據(jù)資料,這些數(shù)據(jù)內(nèi)容往往雞一定程度的誤碼損傷,未必需要如通用文件系統(tǒng)那樣嚴(yán)格保證存儲(chǔ)的正確性。通過靈活的校驗(yàn)機(jī)制與壞損管理,達(dá)到更優(yōu)化的存儲(chǔ)速度與更高效的存儲(chǔ)空間利用,這對(duì)成本敏感的嵌入式系統(tǒng)來說尤其具有幫助。
基于上述考慮,設(shè)計(jì)了一個(gè)適合嵌入式多媒體應(yīng)用的flash文件系統(tǒng)。它不僅支持文件代號(hào)管理、文件指針存取以及應(yīng)用透明的自動(dòng)壞損管理這些通用文件系統(tǒng)所具有的功能,并且在文件系統(tǒng)的可靠性以及文件系統(tǒng)的額外資源消耗方面進(jìn)行了改善;此外還引入了基于存儲(chǔ)內(nèi)容自適應(yīng)的壞損管理策略,從而使該flash文件系統(tǒng)更加適合嵌入式多媒體應(yīng)用。
1 flash存儲(chǔ)器的操作特點(diǎn)flash存儲(chǔ)器在讀取方面與普通的sram存儲(chǔ)器類似,一般可以實(shí)現(xiàn)完全隨機(jī)的讀取。flash存儲(chǔ)器最大的不同在于寫操作方面。flash存儲(chǔ)器的寫操作需要經(jīng)過“擦除—寫入”兩個(gè)操作過程。當(dāng)希望對(duì)flash存儲(chǔ)器的某一個(gè)單元進(jìn)行寫入時(shí),首先必須對(duì)這個(gè)存儲(chǔ)單元所在的區(qū)塊(block)執(zhí)行擦除操作,擦除操作成功完成后,整個(gè)區(qū)塊的數(shù)據(jù)內(nèi)容都被清空(一般被設(shè)置成0xff);然后對(duì)目的單元所在的頁(yè)面(page)執(zhí)行寫入操作,需要一次寫入整個(gè)頁(yè)面的全部數(shù)據(jù)內(nèi)容(也有一次flash存儲(chǔ)器支持部分頁(yè)的寫入,這樣可以分多次寫完一個(gè)頁(yè)面,但是一旦寫過的存儲(chǔ)單元數(shù)據(jù)就不能再被更改),操作成功后要進(jìn)行數(shù)據(jù)正確性的校驗(yàn)。
一個(gè)區(qū)域(block)包含一個(gè)或多個(gè)頁(yè)面(page),一個(gè)頁(yè)面包含多個(gè)數(shù)據(jù)存儲(chǔ)單元(字節(jié)或字)。
為了增強(qiáng)所設(shè)計(jì)flash文件系統(tǒng)在不同flash存儲(chǔ)器上的移植能力,選取了3個(gè)最基本的操作作為本flash文件系統(tǒng)與flash存儲(chǔ)器設(shè)備的應(yīng)用接口:區(qū)塊擦除(block_erase)、頁(yè)面寫入(page_write)、頁(yè)面讀出(page_read)。這樣雖然可能會(huì)忽略某些flash存儲(chǔ)器產(chǎn)品的獨(dú)有特性,但卻增加了所設(shè)計(jì)的flash文件系統(tǒng)對(duì)同flash存儲(chǔ)器產(chǎn)生的適應(yīng)能力。另外,flash存儲(chǔ)器寫入的時(shí)間瓶不在于數(shù)據(jù)傳遞,而是flash存儲(chǔ)器內(nèi)部的擦除和寫操作等;flash存儲(chǔ)器讀出的速度和微處理器處理數(shù)據(jù)的速度都很快,因此雖然將讀和寫的基本單位擴(kuò)大到了頁(yè)面,但額外增加的操作時(shí)間是很短的。
2 flash文件系統(tǒng)的基本結(jié)構(gòu)本flash文件系統(tǒng)在基本結(jié)構(gòu)上與ms-dos的fat文件系統(tǒng)類似[3]。ms-dos是一個(gè)應(yīng)用于幾十年的商業(yè)化軟件產(chǎn)品,其fat文件系統(tǒng)技術(shù)成熟、結(jié)構(gòu)簡(jiǎn)單、系統(tǒng)資源開銷小,易于在嵌入式系統(tǒng)的硬件平
來源:電子技術(shù)應(yīng)用 作者:清華大學(xué) 董 明 劉 加 劉潤(rùn)生摘要:嵌入式多媒體應(yīng)用中大量數(shù)據(jù)存儲(chǔ)在flash上,本文以文件系統(tǒng)的方案解決數(shù)據(jù)存儲(chǔ)的管理問題。對(duì)嵌入式多媒體應(yīng)用中flash文件系統(tǒng)的應(yīng)用特點(diǎn)與關(guān)鍵設(shè)計(jì)進(jìn)行了分析,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)功能完整的文件代號(hào)管理、文件指針存取以及對(duì)應(yīng)用透明的自動(dòng)壞損管理的文件系統(tǒng)。針對(duì)嵌入式系統(tǒng)應(yīng)用的需要,改進(jìn)了本flash文件系統(tǒng)的應(yīng)用可靠性,降低了其系統(tǒng)資源開銷。針對(duì)多媒體應(yīng)用的數(shù)據(jù)特點(diǎn),提出了存儲(chǔ)內(nèi)容自適應(yīng)的環(huán)境管理策略。仿真與實(shí)用的效果表明,本flash文件系統(tǒng)適宜于嵌入式多媒體應(yīng)用。
關(guān)鍵詞:嵌入式系統(tǒng) 多媒體flash存儲(chǔ)器 文件系統(tǒng)隨著電子技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)越來越多地在控制類、消費(fèi)類、通訊類等電子產(chǎn)品廣泛應(yīng)用,并且隨著數(shù)字信號(hào)處理與人機(jī)交互界面等相關(guān)技術(shù)的不斷成熟,嵌入式多媒體應(yīng)用數(shù)量也逐漸上升。多媒體業(yè)務(wù)的數(shù)據(jù)量大,數(shù)據(jù)內(nèi)容復(fù)雜,在多媒體應(yīng)用中數(shù)據(jù)的存儲(chǔ)與管理是不容回避的問題。flash存儲(chǔ)器制造成本低廉、存儲(chǔ)容量大、數(shù)據(jù)非易失、無(wú)機(jī)械故障,在目前的嵌入式系統(tǒng)中被廣泛用作外存儲(chǔ)器件。然而flash存儲(chǔ)器卻是一種數(shù)據(jù)正確性非理想的器件,應(yīng)用中可能會(huì)出現(xiàn)壞損數(shù)據(jù)單元,這又給應(yīng)用flash存儲(chǔ)器嵌入式系統(tǒng)進(jìn)行數(shù)據(jù)存儲(chǔ)管理增添了新的難度[1]。
在嵌入式系統(tǒng)中應(yīng)用flash存儲(chǔ)器最好的辦法是在其上構(gòu)造一個(gè)文件系統(tǒng),對(duì)flash存儲(chǔ)器中的數(shù)據(jù)內(nèi)容進(jìn)行基于文件代號(hào)的存儲(chǔ)管理,同時(shí)對(duì)于flash存儲(chǔ)器本身的壞損單元自動(dòng)進(jìn)行應(yīng)用透明的壞損管理。目前在通用計(jì)算機(jī)上已經(jīng)有很多成熟的文件系統(tǒng),如dos下的fat文件系統(tǒng)、windows nt下的ntfs文件系統(tǒng)及unix文件系統(tǒng)等[2]。但是這些文件系統(tǒng)并不適合直接用到嵌入式系統(tǒng)中進(jìn)行多媒體數(shù)據(jù)內(nèi)容的存儲(chǔ):第一,嵌入式系統(tǒng)的應(yīng)用條件遠(yuǎn)比計(jì)算機(jī)惡劣,電源電壓的不穩(wěn)定以及突發(fā)性斷電將對(duì)flash的存儲(chǔ)造成災(zāi)難性的影響,通用文件系統(tǒng)對(duì)于可靠性的設(shè)計(jì)考慮不足;第二,通用文件系統(tǒng)是針對(duì)系統(tǒng)資源非常豐富的計(jì)算機(jī)平臺(tái)并基于速度較慢的磁盤驅(qū)動(dòng)器,它們常常大量使用緩存技術(shù),如注重文件系統(tǒng)的速度特性,要耗費(fèi)比較多的系統(tǒng)資源。這與嵌入式系統(tǒng)中系統(tǒng)資源十分有限,flash存儲(chǔ)器又相對(duì)于磁盤驅(qū)動(dòng)器較快的應(yīng)用情況不用;第三,嵌入式系統(tǒng)中存儲(chǔ)于flash上的內(nèi)容很多是多媒體數(shù)據(jù)資料,這些數(shù)據(jù)內(nèi)容往往雞一定程度的誤碼損傷,未必需要如通用文件系統(tǒng)那樣嚴(yán)格保證存儲(chǔ)的正確性。通過靈活的校驗(yàn)機(jī)制與壞損管理,達(dá)到更優(yōu)化的存儲(chǔ)速度與更高效的存儲(chǔ)空間利用,這對(duì)成本敏感的嵌入式系統(tǒng)來說尤其具有幫助。
基于上述考慮,設(shè)計(jì)了一個(gè)適合嵌入式多媒體應(yīng)用的flash文件系統(tǒng)。它不僅支持文件代號(hào)管理、文件指針存取以及應(yīng)用透明的自動(dòng)壞損管理這些通用文件系統(tǒng)所具有的功能,并且在文件系統(tǒng)的可靠性以及文件系統(tǒng)的額外資源消耗方面進(jìn)行了改善;此外還引入了基于存儲(chǔ)內(nèi)容自適應(yīng)的壞損管理策略,從而使該flash文件系統(tǒng)更加適合嵌入式多媒體應(yīng)用。
1 flash存儲(chǔ)器的操作特點(diǎn)flash存儲(chǔ)器在讀取方面與普通的sram存儲(chǔ)器類似,一般可以實(shí)現(xiàn)完全隨機(jī)的讀取。flash存儲(chǔ)器最大的不同在于寫操作方面。flash存儲(chǔ)器的寫操作需要經(jīng)過“擦除—寫入”兩個(gè)操作過程。當(dāng)希望對(duì)flash存儲(chǔ)器的某一個(gè)單元進(jìn)行寫入時(shí),首先必須對(duì)這個(gè)存儲(chǔ)單元所在的區(qū)塊(block)執(zhí)行擦除操作,擦除操作成功完成后,整個(gè)區(qū)塊的數(shù)據(jù)內(nèi)容都被清空(一般被設(shè)置成0xff);然后對(duì)目的單元所在的頁(yè)面(page)執(zhí)行寫入操作,需要一次寫入整個(gè)頁(yè)面的全部數(shù)據(jù)內(nèi)容(也有一次flash存儲(chǔ)器支持部分頁(yè)的寫入,這樣可以分多次寫完一個(gè)頁(yè)面,但是一旦寫過的存儲(chǔ)單元數(shù)據(jù)就不能再被更改),操作成功后要進(jìn)行數(shù)據(jù)正確性的校驗(yàn)。
一個(gè)區(qū)域(block)包含一個(gè)或多個(gè)頁(yè)面(page),一個(gè)頁(yè)面包含多個(gè)數(shù)據(jù)存儲(chǔ)單元(字節(jié)或字)。
為了增強(qiáng)所設(shè)計(jì)flash文件系統(tǒng)在不同flash存儲(chǔ)器上的移植能力,選取了3個(gè)最基本的操作作為本flash文件系統(tǒng)與flash存儲(chǔ)器設(shè)備的應(yīng)用接口:區(qū)塊擦除(block_erase)、頁(yè)面寫入(page_write)、頁(yè)面讀出(page_read)。這樣雖然可能會(huì)忽略某些flash存儲(chǔ)器產(chǎn)品的獨(dú)有特性,但卻增加了所設(shè)計(jì)的flash文件系統(tǒng)對(duì)同flash存儲(chǔ)器產(chǎn)生的適應(yīng)能力。另外,flash存儲(chǔ)器寫入的時(shí)間瓶不在于數(shù)據(jù)傳遞,而是flash存儲(chǔ)器內(nèi)部的擦除和寫操作等;flash存儲(chǔ)器讀出的速度和微處理器處理數(shù)據(jù)的速度都很快,因此雖然將讀和寫的基本單位擴(kuò)大到了頁(yè)面,但額外增加的操作時(shí)間是很短的。
2 flash文件系統(tǒng)的基本結(jié)構(gòu)本flash文件系統(tǒng)在基本結(jié)構(gòu)上與ms-dos的fat文件系統(tǒng)類似[3]。ms-dos是一個(gè)應(yīng)用于幾十年的商業(yè)化軟件產(chǎn)品,其fat文件系統(tǒng)技術(shù)成熟、結(jié)構(gòu)簡(jiǎn)單、系統(tǒng)資源開銷小,易于在嵌入式系統(tǒng)的硬件平
熱門點(diǎn)擊
- 串行DataFlash存儲(chǔ)器及其與單片機(jī)的接
- 延長(zhǎng)EEPROM使用壽命的方法
- 智能測(cè)量系統(tǒng)中的海量數(shù)據(jù)存儲(chǔ)技術(shù)
- 存儲(chǔ)器類型綜述及DDR接口設(shè)計(jì)的實(shí)現(xiàn)
- 嵌入式系統(tǒng)中的Flash存儲(chǔ)管理
- 鐵電存儲(chǔ)器在儀表中的應(yīng)用
- DSP處理器與FLASH存儲(chǔ)器的接口設(shè)計(jì)
- TrueFFS原理及其在CF卡上的實(shí)現(xiàn)
- 一種基于鐵電存儲(chǔ)器的雙機(jī)串行通信技術(shù)
- 多端口存儲(chǔ)器在多機(jī)系統(tǒng)中的應(yīng)用
推薦技術(shù)資料
- 循線機(jī)器人是機(jī)器人入門和
- 循線機(jī)器人是機(jī)器人入門和比賽最常用的控制方式,E48S... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究