TrueFFS原理及其在CF卡上的實現(xiàn)
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):2790
    
    摘要:cf卡是一種基于flash技術(shù)的容量大、攜帶方便的存儲介質(zhì),已在嵌入式系統(tǒng)等領(lǐng)域得到廣泛的應(yīng)用;但是,有限的擦寫次數(shù)極大地限制了cf卡的使用壽命。trueffs通過一系列算法,能夠延長cf卡的使用壽命,提高cf卡的使用效率。文章介紹了trueffs的原理,在cf卡上實現(xiàn)trueffs的方法,并對trueffs的性能進行了分析。
    關(guān)鍵詞:trueffs 損耗均衡 閃速存儲器 cf卡
    閃速存儲器最大的一個缺點就是壽命有限?刹脸拇螖(shù)因芯片廠商而有所不同,一般都在1萬~10萬次左右。為了延長閃速存儲器的壽命,提高使用效率,msystems公司推出了trueffs系統(tǒng)。它為種類繁多的閃速存儲器提供了統(tǒng)一的塊設(shè)備接口,并且具有可重入、線程安全的特點;支持大多數(shù)流行的cpu架構(gòu),如powerpc、mips、arm、x86、68k等。
    由于個性鮮明的閃速存儲器越來越受到嵌入式系統(tǒng)工程師的青睞,業(yè)界流行的嵌入式實時操作系統(tǒng)vxworks已將trueffs作為自身的一個可裁減的模塊。目前該模塊的版本為2.0,支持intel、amd、toshiba、fujitsu等廠家生產(chǎn)的大多數(shù)型號的閃速存儲器和flash卡,用戶只需要更改少量代碼,甚至可直接調(diào)用;但是,該模塊對如今風(fēng)靡的cf卡缺乏支持。
    cf卡采用了flash技術(shù)。形象地說,cf卡就是由若干片閃速存儲器外加一個管理器組成;但是,cf卡具有攜帶方便、易于升級、存儲量大、抗震性好、兼容性佳等優(yōu)點。目前,cf卡標準已經(jīng)達到1.4版本,容量從最早的2mb到現(xiàn)今的1gb。然而,有限的擦寫閃數(shù)是閃速存儲器遺傳給cf卡的先天缺陷。本文介紹如何在cf上實現(xiàn)trueffs系統(tǒng),硬件平臺以powerpc處理器(mpc8250,motorola公司)為cpu,嵌入式操作系統(tǒng)是vxworks。
    1 trueffs的結(jié)構(gòu)
    trueffs本身并不是一個文件系統(tǒng),需要在trueffs之上加載dos文件系統(tǒng)才能使用,否則毫無意義。trueffs屏蔽了下層存儲介質(zhì)的差異,為開發(fā)者提供了統(tǒng)一的接口方式。應(yīng)用程序?qū)Υ鎯υO(shè)備的讀寫就對像對擁有dos文件系統(tǒng)的磁碟設(shè)備的操作一樣。
    如圖1所示,trueffs由1個核心層和3個功能層組成:編譯層、mtd層(memory technoilogy driver)、socket層。
    翻譯層主要實現(xiàn)trueffs和dos文件系統(tǒng)之間的高級交互功能,管理文件系統(tǒng)和flash中各物理可擦塊的關(guān)系,以及trueffs中各種智能化處理功能,例如塊映射、損耗均衡(wear-leveling)等。目前有三種不同的翻譯層模塊可供選擇。選擇哪一種模塊要根據(jù)使用的flash介質(zhì)采用nor技術(shù)、還是nand技術(shù),或者ssfdc技術(shù)而定。
    mtd層實現(xiàn)對具體的flash進行讀、寫、擦、id識別、映射等驅(qū)動,并設(shè)置與flash密碼相關(guān)的一些參數(shù)。vxworks的trueffs已經(jīng)包括了支持intel、amd、toshiba等廠商的大多數(shù)flash芯片的mtd層驅(qū)動。新的器件需要編寫新的mtd層驅(qū)動。
    socket層提供了trueffs和硬件之間的接口服務(wù),負責(zé)電源管理、檢測設(shè)備插拔、硬件寫保護、窗口管理和向系統(tǒng)注冊socket等。
    核心層將其它三層有機結(jié)合起來,處理全局問題,例如信息量、計時器、碎片回收和其它系統(tǒng)資源等。
    我們最關(guān)心的是mtd層和socket層。vxworks只提供了編譯后的二進制形式的核心層和翻譯層驅(qū)動。在實現(xiàn)trueffs應(yīng)用之間,先介紹一下trueffs的原理。
    
    
    2 trueffs原理
    2.1 損耗均衡
    閃速存儲器不能無限次重復(fù)使用。它的每個扇區(qū)的擦除次數(shù)雖然很大,但卻有限;因此,隨著使用次數(shù)的加長,它最終會變成只讀狀態(tài),所以應(yīng)該盡最大 可能延長它的壽命。行之有效的方法就是平衡使用所有的存儲單元,而不讓某一單元過度使用。這種技術(shù)被稱之為損耗均衡。trueffs使用一種基于一張動態(tài)維護表的存儲器——塊映射的翻譯系統(tǒng)來實現(xiàn)損耗均衡技術(shù)。當(dāng)塊數(shù)據(jù)被修改、移動或碎片回收后,這張維護表會自動調(diào)整。
    然而,如果存儲在flash上的一些數(shù)據(jù)本質(zhì)上是靜態(tài)的,就會產(chǎn)生靜態(tài)文件鎖定問題。存儲這些靜態(tài)數(shù)據(jù)的區(qū)域根據(jù)不會被輪循使用,其它區(qū)域就會被更頻繁地使用,這將降低flash期望的生命值。trueffs通過強制轉(zhuǎn)移靜態(tài)區(qū)域的方法成功克服了靜態(tài)文件鎖定問題。因為映射表是動態(tài)的,trueffs能夠以對文件系統(tǒng)不可見的方式轉(zhuǎn)移這些靜態(tài)數(shù)據(jù)區(qū)域。由于絕對強制損耗均衡方式會對性能產(chǎn)生一些負面影響,所以trueffs采取了一種非絕對損耗均衡算法。它保證
    
    摘要:cf卡是一種基于flash技術(shù)的容量大、攜帶方便的存儲介質(zhì),已在嵌入式系統(tǒng)等領(lǐng)域得到廣泛的應(yīng)用;但是,有限的擦寫次數(shù)極大地限制了cf卡的使用壽命。trueffs通過一系列算法,能夠延長cf卡的使用壽命,提高cf卡的使用效率。文章介紹了trueffs的原理,在cf卡上實現(xiàn)trueffs的方法,并對trueffs的性能進行了分析。
    關(guān)鍵詞:trueffs 損耗均衡 閃速存儲器 cf卡
    閃速存儲器最大的一個缺點就是壽命有限。可擦除的次數(shù)因芯片廠商而有所不同,一般都在1萬~10萬次左右。為了延長閃速存儲器的壽命,提高使用效率,msystems公司推出了trueffs系統(tǒng)。它為種類繁多的閃速存儲器提供了統(tǒng)一的塊設(shè)備接口,并且具有可重入、線程安全的特點;支持大多數(shù)流行的cpu架構(gòu),如powerpc、mips、arm、x86、68k等。
    由于個性鮮明的閃速存儲器越來越受到嵌入式系統(tǒng)工程師的青睞,業(yè)界流行的嵌入式實時操作系統(tǒng)vxworks已將trueffs作為自身的一個可裁減的模塊。目前該模塊的版本為2.0,支持intel、amd、toshiba、fujitsu等廠家生產(chǎn)的大多數(shù)型號的閃速存儲器和flash卡,用戶只需要更改少量代碼,甚至可直接調(diào)用;但是,該模塊對如今風(fēng)靡的cf卡缺乏支持。
    cf卡采用了flash技術(shù)。形象地說,cf卡就是由若干片閃速存儲器外加一個管理器組成;但是,cf卡具有攜帶方便、易于升級、存儲量大、抗震性好、兼容性佳等優(yōu)點。目前,cf卡標準已經(jīng)達到1.4版本,容量從最早的2mb到現(xiàn)今的1gb。然而,有限的擦寫閃數(shù)是閃速存儲器遺傳給cf卡的先天缺陷。本文介紹如何在cf上實現(xiàn)trueffs系統(tǒng),硬件平臺以powerpc處理器(mpc8250,motorola公司)為cpu,嵌入式操作系統(tǒng)是vxworks。
    1 trueffs的結(jié)構(gòu)
    trueffs本身并不是一個文件系統(tǒng),需要在trueffs之上加載dos文件系統(tǒng)才能使用,否則毫無意義。trueffs屏蔽了下層存儲介質(zhì)的差異,為開發(fā)者提供了統(tǒng)一的接口方式。應(yīng)用程序?qū)Υ鎯υO(shè)備的讀寫就對像對擁有dos文件系統(tǒng)的磁碟設(shè)備的操作一樣。
    如圖1所示,trueffs由1個核心層和3個功能層組成:編譯層、mtd層(memory technoilogy driver)、socket層。
    翻譯層主要實現(xiàn)trueffs和dos文件系統(tǒng)之間的高級交互功能,管理文件系統(tǒng)和flash中各物理可擦塊的關(guān)系,以及trueffs中各種智能化處理功能,例如塊映射、損耗均衡(wear-leveling)等。目前有三種不同的翻譯層模塊可供選擇。選擇哪一種模塊要根據(jù)使用的flash介質(zhì)采用nor技術(shù)、還是nand技術(shù),或者ssfdc技術(shù)而定。
    mtd層實現(xiàn)對具體的flash進行讀、寫、擦、id識別、映射等驅(qū)動,并設(shè)置與flash密碼相關(guān)的一些參數(shù)。vxworks的trueffs已經(jīng)包括了支持intel、amd、toshiba等廠商的大多數(shù)flash芯片的mtd層驅(qū)動。新的器件需要編寫新的mtd層驅(qū)動。
    socket層提供了trueffs和硬件之間的接口服務(wù),負責(zé)電源管理、檢測設(shè)備插拔、硬件寫保護、窗口管理和向系統(tǒng)注冊socket等。
    核心層將其它三層有機結(jié)合起來,處理全局問題,例如信息量、計時器、碎片回收和其它系統(tǒng)資源等。
    我們最關(guān)心的是mtd層和socket層。vxworks只提供了編譯后的二進制形式的核心層和翻譯層驅(qū)動。在實現(xiàn)trueffs應(yīng)用之間,先介紹一下trueffs的原理。
    
    
    2 trueffs原理
    2.1 損耗均衡
    閃速存儲器不能無限次重復(fù)使用。它的每個扇區(qū)的擦除次數(shù)雖然很大,但卻有限;因此,隨著使用次數(shù)的加長,它最終會變成只讀狀態(tài),所以應(yīng)該盡最大 可能延長它的壽命。行之有效的方法就是平衡使用所有的存儲單元,而不讓某一單元過度使用。這種技術(shù)被稱之為損耗均衡。trueffs使用一種基于一張動態(tài)維護表的存儲器——塊映射的翻譯系統(tǒng)來實現(xiàn)損耗均衡技術(shù)。當(dāng)塊數(shù)據(jù)被修改、移動或碎片回收后,這張維護表會自動調(diào)整。
    然而,如果存儲在flash上的一些數(shù)據(jù)本質(zhì)上是靜態(tài)的,就會產(chǎn)生靜態(tài)文件鎖定問題。存儲這些靜態(tài)數(shù)據(jù)的區(qū)域根據(jù)不會被輪循使用,其它區(qū)域就會被更頻繁地使用,這將降低flash期望的生命值。trueffs通過強制轉(zhuǎn)移靜態(tài)區(qū)域的方法成功克服了靜態(tài)文件鎖定問題。因為映射表是動態(tài)的,trueffs能夠以對文件系統(tǒng)不可見的方式轉(zhuǎn)移這些靜態(tài)數(shù)據(jù)區(qū)域。由于絕對強制損耗均衡方式會對性能產(chǎn)生一些負面影響,所以trueffs采取了一種非絕對損耗均衡算法。它保證
熱門點擊
- 延長EEPROM使用壽命的方法
- 智能測量系統(tǒng)中的海量數(shù)據(jù)存儲技術(shù)
- 存儲器類型綜述及DDR接口設(shè)計的實現(xiàn)
- DSP處理器與FLASH存儲器的接口設(shè)計
- TrueFFS原理及其在CF卡上的實現(xiàn)
- 基于FM18L08的高速數(shù)據(jù)存儲系統(tǒng)
- DSP片外高速海量SDRAM存儲系統(tǒng)設(shè)計
- 大容量NANDFlashTC58DVG02A
推薦技術(shù)資料
- 循線機器人是機器人入門和
- 循線機器人是機器人入門和比賽最常用的控制方式,E48S... [詳細]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(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新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究