當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]基于Flash存儲(chǔ)器的特點(diǎn),詳細(xì)介紹適合地車載MP3的Flash文件系統(tǒng)(包括Flash存儲(chǔ)管理系統(tǒng)和FAT文件系統(tǒng))的具體設(shè)計(jì)。

   摘要:基于Flash存儲(chǔ)器的特點(diǎn),詳細(xì)介紹適合地車載MP3的Flash文件系統(tǒng)(包括Flash存儲(chǔ)管理系統(tǒng)和FAT文件系統(tǒng))的具體設(shè)計(jì)。利用Flash文件系統(tǒng)實(shí)現(xiàn)對(duì)Flash存儲(chǔ)器的較好的操作管理功能。

    關(guān)鍵詞:車載MP3 Flash存儲(chǔ)管理系統(tǒng) FAT 文件系統(tǒng)

引言

目前車載播放器基本上采用的是CD播放器、MD播放器以及磁帶播放器等。由于這類播放器內(nèi)部具有一些機(jī)械式傳動(dòng)部件,再加上裝在汽車這個(gè)特定的環(huán)境中,經(jīng)常會(huì)由于機(jī)械傳動(dòng)或者光頭、磁頭受震動(dòng)發(fā)生跳音或絞帶現(xiàn)象,從而影響音質(zhì)。

Flash存儲(chǔ)器由于具有存儲(chǔ)容量大、掉電數(shù)據(jù)不丟失、何種小以及可多次擦寫等許多優(yōu)點(diǎn),正逐步取代其它半導(dǎo)體存儲(chǔ)器件而廣泛應(yīng)用于移動(dòng)電話、PDA以及數(shù)碼相機(jī)等移動(dòng)電子產(chǎn)品中。其作為存儲(chǔ)數(shù)據(jù)和應(yīng)用程序的存儲(chǔ)體,可以將大量數(shù)據(jù)方便、快捷地移動(dòng)和交換。

基于上述兩點(diǎn)設(shè)計(jì)了一個(gè)車載MP3系統(tǒng)。該系統(tǒng)采用Flash作為外存儲(chǔ)器,并且由全固態(tài)器件組成,播放時(shí)不會(huì)出現(xiàn)跳音或絞帶現(xiàn)象,音質(zhì)也很好。由于Flash存儲(chǔ)器在應(yīng)用過程中可能會(huì)出現(xiàn)壞損單元,影響車載MP3播放器的性能,因此本文針對(duì)Flash存儲(chǔ)器自身的物理特性,設(shè)計(jì)了一個(gè)文件系統(tǒng),對(duì)Flash存儲(chǔ)器中的數(shù)據(jù)內(nèi)容進(jìn)行基于文件名或者文件號(hào)的存儲(chǔ)管理以及應(yīng)用透明的壞損管理。該系統(tǒng)優(yōu)化了存儲(chǔ)速度和存儲(chǔ)空間,提高了車載MP3播放系統(tǒng)的可靠性。

1 Flash存儲(chǔ)器特點(diǎn)

Flash內(nèi)部分為多個(gè)存儲(chǔ)單元塊(block),每個(gè)存儲(chǔ)單元塊又由多個(gè)頁(page)組成。存儲(chǔ)單元塊是可擦除的最小單位,頁是寫入數(shù)據(jù)的最小單位。

Flash存儲(chǔ)器讀取數(shù)據(jù)與一般的存儲(chǔ)器類似,可以實(shí)現(xiàn)隨機(jī)讀取,讀出的速度也很快。而Flash存儲(chǔ)器的寫操作則和一般的存儲(chǔ)器有所不同,F(xiàn)lash的寫操作必須先按存儲(chǔ)塊擦除(寫入0xff到要擦除的存儲(chǔ)單元塊中),再按頁順序?qū)懭?。由于Flash存儲(chǔ)器擦除耗時(shí)較長,所以Flash存儲(chǔ)器寫入的時(shí)間主要在于Flash存儲(chǔ)器內(nèi)部的擦除操作等。

Flash存儲(chǔ)器第一塊一定是有效塊,而其它塊可能會(huì)在使用前就是壞塊或者在使用過程中變成壞塊(invalid block)。Flash存儲(chǔ)器對(duì)內(nèi)部壞塊的判定是,根據(jù)其每一個(gè)單元存儲(chǔ)塊中的第3區(qū)中的第6 Cloumn內(nèi)容是否為0xff來定。雖然Flash存儲(chǔ)器內(nèi)容會(huì)有壞塊,但是由于每一塊的內(nèi)部結(jié)構(gòu)都是相互獨(dú)立的,所以只要對(duì)其狀態(tài)加以識(shí)別,壞塊并不影響系統(tǒng)對(duì)有效塊的操作。

2 Flash文件系統(tǒng)設(shè)計(jì)

本文在Flash存儲(chǔ)的基礎(chǔ)上設(shè)計(jì)了一個(gè)Flash存儲(chǔ)管理系統(tǒng)來對(duì)Flash進(jìn)行物理管理。而在Flash存儲(chǔ)管理系統(tǒng)基礎(chǔ)上又建立了一個(gè)FAT文件系統(tǒng)來對(duì)文件操作進(jìn)行管理,由Flash存儲(chǔ)管理系統(tǒng)和FAT文件系統(tǒng)共同組成了Flash文件系統(tǒng)。該文件系統(tǒng)完全支持文件名管理、自動(dòng)壞損管理等通用文件系統(tǒng)所具有的功能;同時(shí),針對(duì)車載MP3播放器系統(tǒng)特殊的應(yīng)用環(huán)境,設(shè)計(jì)改進(jìn)了該文件系統(tǒng)的可靠性,即使在惡劣的條件下也不會(huì)影響音質(zhì)。Flash文件系統(tǒng)的具體結(jié)構(gòu)如圖1所示。

2.1 Flash存儲(chǔ)管理系統(tǒng)

Flash存儲(chǔ)器的操作是以塊為單位的,而FAT文件系統(tǒng)則是建立在以扇區(qū)(sector)為單位的磁盤操作基礎(chǔ)上(通常為512字節(jié)/扇區(qū))。因此,本文設(shè)計(jì)了一個(gè)特殊的Flash存儲(chǔ)管理系統(tǒng),來解決以塊為單位的Flash物理特性和以扇區(qū)為單位的文件系統(tǒng)接口之間的矛盾,以使得Flash的物理地址和FAT操作的邏輯地址之間能夠?qū)?yīng)。同時(shí),由于Flash的其它特點(diǎn),F(xiàn)lash存儲(chǔ)管理系統(tǒng)還實(shí)現(xiàn)了各塊之間的擦寫次數(shù)均衡和壞塊管理等工作。

(1)物理地址到邏輯地址的映射

為了在Flash物理地址和FAT操作的邏輯地址之間建立一個(gè)好的映射關(guān)系,對(duì)Flash的存儲(chǔ)空間在邏輯上進(jìn)行了重新定義。結(jié)合Flash特點(diǎn),將每個(gè)存儲(chǔ)單元塊內(nèi)部分成若干物理扇區(qū),每個(gè)物理扇區(qū)由512字節(jié)+16字節(jié)=528字節(jié)組成。其中Main Area的512字節(jié)為有效數(shù)據(jù)空間,而Spare Area的16字節(jié)用于存放其它信息。

由上述定義便可以確定Flash物理扇區(qū)和絕對(duì)地址之間的對(duì)應(yīng)關(guān)系:

絕對(duì)地址=Flash基地址+物理扇區(qū)號(hào)×528

在建立了物理地址和邏輯地址之間的映射關(guān)系之后,但可以很好地將車載系統(tǒng)對(duì)音頻文件的操作轉(zhuǎn)換成系統(tǒng)直接Flash的編程或者擦除操作。例如,在該系統(tǒng)中要進(jìn)行ReadFile()操作,便可以根據(jù)其對(duì)應(yīng)關(guān)系,通過執(zhí)行Flash存儲(chǔ)管理系統(tǒng)中的sectorread()操作來實(shí)現(xiàn)。

(2)可靠性設(shè)計(jì)

由于該車載系統(tǒng)采用汽車供電,因此當(dāng)汽車處于不太平衡的環(huán)境中,可能會(huì)由于顛簸千萬播放系統(tǒng)的異常斷電,所以提高車載MP3播放系統(tǒng)的可靠性非常重要。本文通過將Spare Area的16字節(jié)定義為邏輯扇區(qū)號(hào)、扇區(qū)當(dāng)前狀態(tài)、壞塊信息等來提高播放系統(tǒng)的可靠性。其中Spare Area的具體定義如下:

邏輯扇區(qū)號(hào) 扇區(qū)當(dāng)前狀態(tài) 壞塊信息 保留字節(jié)
第1~3字節(jié) 第4~5字節(jié) 第6字節(jié) 第7~16字節(jié)

由以上定義可以看到,Spare Area的第4~5字節(jié)用于存儲(chǔ)扇區(qū)當(dāng)前狀態(tài)。這樣在Flash寫操作過程中,如果突然斷電,便可以根據(jù)此狀態(tài)進(jìn)行掉電數(shù)據(jù)恢復(fù)。該系統(tǒng)中設(shè)定扇區(qū)當(dāng)前狀態(tài)有3種:扇區(qū)為空(0xfff)、扇區(qū)數(shù)據(jù)無用(0x0000)、扇區(qū)數(shù)據(jù)有效(0x00ff)。這樣定義以后,系統(tǒng)便可以在Flash寫操作異常終止時(shí)能夠?qū)Ξ?dāng)時(shí)的狀態(tài)進(jìn)行及時(shí)的保存,以便下次系統(tǒng)開啟后能夠判斷出上次系統(tǒng)中存在的問題并作出相應(yīng)的處理。

(3)壞塊管理

由于Flash內(nèi)部會(huì)有壞塊,因此Flash存儲(chǔ)管理系統(tǒng)需要對(duì)Flash進(jìn)行壞塊管理。本文對(duì)壞塊的管理分以下兩種情況:

①初始?jí)膲K處理。Flash存儲(chǔ)器在使用前可能會(huì)有壞塊,而且這些壞塊是隨機(jī)分布的。所以,F(xiàn)lash文件管理系統(tǒng)在系統(tǒng)執(zhí)行讀寫操作之前先建立一個(gè)壞塊表,然后對(duì)Flash存儲(chǔ)器進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用,加入到壞塊表中。

②操作過程中壞塊處理。在擦除或者編程過程中發(fā)生錯(cuò)誤時(shí),F(xiàn)lash文件管理系統(tǒng)將該塊中其它頁的數(shù)據(jù)重新拷貝到一個(gè)新的空塊中,然后再將該塊標(biāo)記為壞塊,加入到壞塊表中。在這個(gè)處理過程中,由于對(duì)Flash的擦除或者編程操作都會(huì)使得Flash存儲(chǔ)單元塊的內(nèi)容改變,所以Flash文件管理系統(tǒng)一旦發(fā)現(xiàn)Flash存儲(chǔ)器的存儲(chǔ)單元塊成為壞塊后便不再對(duì)該塊進(jìn)行擦除或編程操作,以免將壞塊標(biāo)志位數(shù)據(jù)清除掉,而是將該塊標(biāo)記為壞塊,并將其加入壞塊表中。

Flash文件管理系統(tǒng)在進(jìn)行上述壞塊管理后,壞塊單元對(duì)用戶應(yīng)用是完全透明的。這大大方便了用戶的使用,也達(dá)到了車載MP3播放系統(tǒng)的目的。

(4)均衡擦寫次數(shù)

由于Flash有一定的使用壽命,一般可擦除的次數(shù)為10~100萬次,所以隨著使用次數(shù)的增加,會(huì)有一些單元逐漸變得不穩(wěn)定或失敗。因此,要盡量避免頻繁地對(duì)同一塊地址操作,以免造成局部單元提前損壞;同時(shí),由于擦除操作耗時(shí)較多,也應(yīng)減少擦除操作,應(yīng)該盡量達(dá)到擦寫次數(shù)均衡。為此,本文設(shè)計(jì)了Flash更新算法和磨損程度檢測算法。

Flash更新算法是將Flash中要更新的數(shù)據(jù)直接寫入一個(gè)空塊中,降低由于Flash先擦除后寫入的特性帶來的對(duì)塊的頻繁擦除;同時(shí),也提高了Flash的使用效率,加快了操作速度。磨損程度檢測算法是在對(duì)Flash進(jìn)行寫入前必須先對(duì)Flash進(jìn)行壞塊掃描,以確保不會(huì)將數(shù)據(jù)寫入壞塊從而此起數(shù)據(jù)的丟失。這樣設(shè)計(jì)也是為了提高車載MP3播放系統(tǒng)的可靠性。

2.2 FAT設(shè)計(jì)

在Flash文件管理系統(tǒng)的基礎(chǔ)上,還建立了FAT文件系統(tǒng)來對(duì)文件操作進(jìn)行管理。將FAT文件系統(tǒng)具體分為以下四部分:

(1)FAT的引導(dǎo)區(qū)

該引導(dǎo)區(qū)存放代碼所需的信息及最重要的文件系統(tǒng)信息。這些信息包括了Flash存儲(chǔ)器的類型、容量以及劃分成多少個(gè)簇;每個(gè)簇包含多少扇區(qū)、FAT表數(shù)目、保留扇區(qū)數(shù)、根目錄的首簇號(hào)及根目錄入口數(shù)、版本信息等等。引導(dǎo)扇區(qū)是在格式化Flash時(shí)生成的。

(2)FAT的文件分配表

文件分配表存放文件所占用的存儲(chǔ)空間族鏈以及Flash存儲(chǔ)器的占用和空閑空間的情況,非常重要。為了防止文件分配表損壞而引起文件的丟失,該系統(tǒng)中保存了兩個(gè)相同的文件分配表FAT1和FAT2,以改善其安全性。在文件系統(tǒng)的操作中,程序?qū)AT表結(jié)構(gòu)的兩個(gè)備份進(jìn)行順次修改,以此確保Flash存儲(chǔ)器上總是存有一整套完好的文件分配表。

系統(tǒng)對(duì)FAT表的訪問原理如下:訪問文件時(shí)先從要目錄中找到該文件的目錄項(xiàng),從中讀出首簇號(hào)。然后,目錄中找到該文件的目錄項(xiàng),從中讀出首簇號(hào)。然后在FAT中找到從該首簇號(hào)開始的簇鏈,簇鏈上的簇號(hào)即為文件在邏輯扇區(qū)中占用的扇區(qū)號(hào)鏈,這樣便可以進(jìn)行數(shù)據(jù)讀寫了。

(3)FAT的根目錄區(qū)

FAT的根目錄區(qū)是固定大小的緊跟在FAT表后的區(qū)域。本文將從FAT區(qū)之后緊跟的32個(gè)扇區(qū)作為根目錄區(qū),可以保存512個(gè)目錄項(xiàng)。每個(gè)目錄項(xiàng)記錄了該文件的文件名、文件屬性、文件大小、文件創(chuàng)建的日期和時(shí)間以及文件在數(shù)據(jù)區(qū)中所占的首簇號(hào),即該文件在FAT表中的入口等數(shù)據(jù)。

(4)FAT的數(shù)據(jù)區(qū)

數(shù)據(jù)區(qū)存在文件的數(shù)據(jù)內(nèi)容。文件系統(tǒng)對(duì)數(shù)據(jù)區(qū)的存儲(chǔ)空間是按簇進(jìn)行劃分和管理的。該系統(tǒng)中,定義1Cluster=32sector,一個(gè)文件總是占用若干個(gè)整簇,文件所使用的最后一簇剩余空間就不再使用。

由圖1可以看出,該FAT文件系統(tǒng)提供文件的格式化,文件的打開、刪除、關(guān)閉,文件的讀寫、查找等基本的功能。通過Flash文件系統(tǒng)對(duì)文件的操作進(jìn)行管理后,該車載播放系統(tǒng)便可以實(shí)現(xiàn)選曲、添加刪除歌曲、下載歌曲、音量調(diào)節(jié)等一系列功能了。

3 應(yīng)用

通過這樣的設(shè)計(jì),F(xiàn)lash的存儲(chǔ)性能有了較大的改善,而且系統(tǒng)的可靠性也很好。即使在Flash寫操作異常終止頻發(fā)的最惡劣工作條件下,也不會(huì)丟失數(shù)據(jù),更不會(huì)損壞非常重要的文件分配表結(jié)構(gòu)而造成系統(tǒng)的崩潰;因此,本文所設(shè)計(jì)的Flash文件系統(tǒng)能很好地適合于車載MP3播放系統(tǒng)的應(yīng)用。

---

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉