下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、yaffs文件系統(tǒng)在嵌入式linux上的實(shí)現(xiàn)隨著技術(shù)在各種產(chǎn)品中的廣泛應(yīng)用,嵌入式系統(tǒng)中的數(shù)據(jù)存儲(chǔ)和管理已經(jīng)成為一個(gè)重要的討論課題。flash存儲(chǔ)器具有速度快、容量大、成本低等無數(shù)優(yōu)點(diǎn),因此在嵌入式系統(tǒng)中被廣泛用做外存儲(chǔ)器件。flash主要有nor和nand兩種類型。目前,針對(duì)nor flash設(shè)計(jì)的文件系統(tǒng)jffs/jffs2在嵌入式系統(tǒng)中已得到廣泛的應(yīng)用;隨著nand作為大容量存儲(chǔ)介質(zhì)的普及,基于nand閃存的文件系統(tǒng)yaffs(yet another flash file system)正逐漸被應(yīng)用到嵌入式系統(tǒng)中。nand閃存介紹nor 和nand是現(xiàn)在市場上兩種主要的非易失性閃存技術(shù)。
2、nor比較適合存儲(chǔ)程序代碼,其容量普通小于16mb;nand則是高密度數(shù)據(jù)存儲(chǔ)的抱負(fù)解決計(jì)劃,其容量可達(dá)1gb以上。nand閃存的存儲(chǔ)單元為頁和塊。普通來說,128mb以下容量芯片的一頁大小為528字節(jié),依次分為2個(gè)256字節(jié)的主數(shù)據(jù)區(qū),最后是16字節(jié)的備用空間;一個(gè)塊由若干頁組成,通常為32頁;一個(gè)存儲(chǔ)設(shè)備又由若干塊組成。與其他存儲(chǔ)器相比,nand閃存具有以下特點(diǎn):不是徹低牢靠的,每塊芯片出廠時(shí)都有一定比例的壞塊存在;各個(gè)存儲(chǔ)單元是不行挺直改寫的,在每次改寫操作之前需要先擦除;擦除操作以塊為單位舉行,而讀寫操作通常以頁為單位舉行;各塊的擦除次數(shù)有限,普通為10萬"100萬次;用法復(fù)
3、雜的i/o口串行存取數(shù)據(jù)。yaffs文件系統(tǒng)簡介yaffs類似于jffs/jffs2,是特地為nand閃存設(shè)計(jì)的嵌入式文件系統(tǒng),適用于大容量的存儲(chǔ)設(shè)備。它是日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電庇護(hù),可以有效地避開意外掉電對(duì)文件系統(tǒng)全都性和完整性的影響。yaffs文件系統(tǒng)是按層次結(jié)構(gòu)設(shè)計(jì)的,分為文件系統(tǒng)管理層接口、yaffs內(nèi)部實(shí)現(xiàn)層和nand接口層,這樣就簡化了其與系統(tǒng)的接口設(shè)計(jì),可以便利地集成到系統(tǒng)中去。與jffs相比,它削減了一些功能,因此速度更快,占用內(nèi)存更少。yaffs充分考慮了nand閃存的特點(diǎn),按照nand閃存以頁面為單位存取的特點(diǎn),將文件組織成固定大小的數(shù)據(jù)段。利用nand閃
4、存提供的每個(gè)頁面16字節(jié)的備用空間來存放ecc(error correction code)和文件系統(tǒng)的組織信息,不僅能夠?qū)崿F(xiàn)錯(cuò)誤檢測和壞塊處理,也能夠提高文件系統(tǒng)的加載速度。yaffs采納一種多策略混合的垃圾回收算法,結(jié)合了貪心策略的高效性和隨機(jī)挑選的平均性,達(dá)到了兼顧損耗平均和系統(tǒng)開銷的目的。yaffs文件組織結(jié)構(gòu)yaffs將文件組織成固定大小(512字節(jié))的數(shù)據(jù)段。每個(gè)文件都有一個(gè)頁面特地存放文件頭,文件頭保存了文件的模式、全部者id、組id、長度、文件名等信息。為了提高文件數(shù)據(jù)塊的查找速度,文件的數(shù)據(jù)段被組織成樹形結(jié)構(gòu)。yaffs在文件舉行改寫時(shí)總是先寫入新的數(shù)據(jù)塊,然后將舊的數(shù)據(jù)塊從
5、文件中刪除。yaffs用法存放在頁面?zhèn)溆每臻g中的ecc舉行錯(cuò)誤檢測,浮現(xiàn)錯(cuò)誤后會(huì)舉行一定次數(shù)的重試,多次重試失敗后,該頁面就被停止用法。yaffs物理數(shù)據(jù)組織yaffs充分利用了nand閃存提供的每個(gè)頁面16字節(jié)的備用空間,參考了smartmedia的設(shè)定,備用空間中6個(gè)字節(jié)被用作頁面數(shù)據(jù)的ecc,2個(gè)字節(jié)分離用作塊狀態(tài)字和數(shù)據(jù)狀態(tài)字,其余的8字節(jié)(64位)用來存放文件系統(tǒng)的組織信息,即元數(shù)據(jù)。因?yàn)槲募到y(tǒng)的基本組織信息保存在頁面的備份空間中,因此,在文件系統(tǒng)加載時(shí)只需要掃描各個(gè)頁面的備份空間,即可建立起囫圇文件系統(tǒng)的結(jié)構(gòu),而不需要像jffs 那樣掃描囫圇介質(zhì),從而大大加快了文件系統(tǒng)的加載速度
6、。yaffs擦除塊和頁面分配yaffs中用數(shù)據(jù)結(jié)構(gòu)來描述每個(gè)擦除塊的狀態(tài)。該數(shù)據(jù)結(jié)構(gòu)記錄了塊狀態(tài),并用一個(gè)32位的位圖表示塊內(nèi)各個(gè)頁面的用法狀況。在yaffs中,有且僅有一個(gè)塊處于“當(dāng)前分配”狀態(tài)。新頁面從當(dāng)前舉行分配的塊中挨次舉行分配,若當(dāng)前塊已滿,則挨次尋覓下一個(gè)空閑塊。yaffs垃圾收集機(jī)制yaffs用法一種多策略混合的算法來舉行垃圾回收,將貪心策略和隨機(jī)挑選策略按一定比例混合用法:當(dāng)滿足特定的小概率條件時(shí),垃圾回收器會(huì)試圖隨機(jī)挑選一個(gè)可回收的頁面;而在其他狀況下,則用法貪心策略回收最“臟”的塊。通過用法多策略混合的辦法,yaffs能夠有效地充實(shí)貪心策略造成的不平均;通過不同的混合比例,
7、則可以控制損耗平均和系統(tǒng)開銷之間的平衡??紤]到nand的擦除很快(和nor相比可忽視不計(jì)),yaffs將垃圾收集的檢查放在寫入新頁面時(shí)舉行,而不是采納jffs那樣的后臺(tái)線程方式,從而簡化了設(shè)計(jì)。yaffs實(shí)現(xiàn)開發(fā)環(huán)境簡介本文采納的是宿主機(jī)目標(biāo)板的開發(fā)模式。宿主機(jī)為pc+redhat9.0,目標(biāo)板為三星公司的嵌入式,版本為2.6.11.12。nand閃存是三星公司64mb的k9f5608u0c。yaffs的源碼可以從網(wǎng)站下載。yaffs移植:1)在內(nèi)核中建立yaffs名目fs/yaffs,并把下載的yaffs代碼復(fù)制到該名目下面。2)修改fs/kconfig,使得可以配置yaffs。3)修改fs
8、/makefile,添加如下內(nèi)容:obj-$(config_yaffs_fs) += yaffs/4)在生成的yaffs名目中生成makefile 和kconfig文件。5)修改nand分區(qū)。此分區(qū)要結(jié)合vivi里的分區(qū)舉行設(shè)置,如下:6)配置內(nèi)核時(shí)選中mtd支持和yaffs支持。7)編譯內(nèi)核并將內(nèi)核下載到開發(fā)板的flash中。yaffs文件系統(tǒng)測試:1)內(nèi)核啟動(dòng)之后,啟動(dòng)信息中應(yīng)當(dāng)含有如下內(nèi)容:2)假如在內(nèi)核里面添加了proc文件系統(tǒng)的支持,那么proc中應(yīng)當(dāng)包含有關(guān)yaffs的信息。3)dev名目下的相關(guān)名目中包括有關(guān)nand設(shè)備的信息。4)建立mount名目將文件拷貝到mount上的名目
9、下后,umount設(shè)備,再次mount后可以發(fā)覺拷貝的文件仍然存在。這時(shí)刪除該文件,然后umount,再次mount后可以發(fā)覺拷貝的文件已經(jīng)被刪除,由此可見該分區(qū)可以正常讀寫。5)在flash上建立根文件系統(tǒng):重新啟動(dòng),并轉(zhuǎn)變啟動(dòng)參數(shù):param set linux_cmd_line "noinitrd root=/dev/mtdblock3 init=/linuxrc console="ttysac0""再次重新啟動(dòng)后,開發(fā)板就可以從flash啟動(dòng)根文件系統(tǒng)了。結(jié)語yaffs是特地為nand閃存設(shè)計(jì)的,它的浮現(xiàn)使得價(jià)格低廉的nand閃存芯片具有了高效性和茁壯性。yaffs文件系統(tǒng)性能優(yōu)越且易于移植,已經(jīng)勝利應(yīng)用于linux、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年掌控中考復(fù)習(xí)配套課件:第九單元溶液
- 《老人與海》課件
- 2024年阿壩職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案解析
- 單位管理制度集合大全【人力資源管理篇】
- 單位管理制度分享合集【人員管理】十篇
- 單位管理制度范文大合集【員工管理】十篇
- 單位管理制度呈現(xiàn)大全【人事管理篇】十篇
- 《詩五首》教案設(shè)計(jì)
- 第7單元 工業(yè)革命和國際共產(chǎn)主義運(yùn)動(dòng)的興起(高頻選擇題50題)(解析版)
- UFIDAU培訓(xùn)課程委托代銷
- 電力電子技術(shù)(廣東工業(yè)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學(xué)
- 2024年中國移動(dòng)甘肅公司招聘筆試參考題庫含答案解析
- 反面典型案例剖析材料范文(通用6篇)
- 機(jī)械設(shè)計(jì)外文文獻(xiàn)翻譯、中英文翻譯、外文翻譯
- 美標(biāo)漸開線花鍵計(jì)算程序2014.8
- 英格索蘭空壓機(jī)操作規(guī)程
- 風(fēng)動(dòng)送樣手冊
- 績效考核評(píng)分標(biāo)準(zhǔn)
- 電力建設(shè)施工技術(shù)管理
- NB∕T 32004-2018 光伏并網(wǎng)逆變器技術(shù)規(guī)范
- 股權(quán)投資郵箱
評(píng)論
0/150
提交評(píng)論