亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

嵌入式系統(tǒng)中的Flash存儲管理

時間:2024-07-23 20:17:41 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

嵌入式系統(tǒng)中的Flash存儲管理

摘要:以TRI公司的基于NOR Flash的Flash管理軟件FMM為例,詳細(xì)介紹嵌入式系統(tǒng)中如何根據(jù)Flash的物理特性來進(jìn)行Flash存儲管理。

引言

在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC(Post-PC)時代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文件藝術(shù)、娛樂業(yè)以及人們的日常生活等方方面面中。隨著嵌入式系統(tǒng)越來越廣泛的應(yīng)用,嵌入式系統(tǒng)中的數(shù)據(jù)存儲和數(shù)據(jù)管理已經(jīng)成為一個重要的課題擺在設(shè)計人員面前。

Flash存儲器作為一種安全、快速的存儲體,具有體積小、容量大、成本低、掉電數(shù)據(jù)不丟失等一系列優(yōu)點。目前已經(jīng)逐步取代其它半導(dǎo)體存儲元件,成為嵌入式系統(tǒng)中主要數(shù)據(jù)和程序載體。

作為嵌入式系統(tǒng)的一部分,F(xiàn)lash存儲管理的主要功能是針對Flash自身的物理特性,利用一些特定的算法來提高Flash的使用效率,加快操作速度和管理Flash各單元的使用頻率。

1 Flash存儲器簡介

嵌入式系統(tǒng)中使用的Flash主要分為NOR和NAND兩種類型。這里我們以NOR型Flash為例進(jìn)行介紹。NOR型Flash主要特點如下:

*體積小、容量大,目前可以達(dá)到十幾MB。

*掉電數(shù)據(jù)不丟失,數(shù)據(jù)可以保存10~100年。

*有獨立的地址和數(shù)據(jù)總線,可以快速地通過總線讀取數(shù)據(jù)。因此它具有和靜態(tài)RAM相同的讀取速度,既可以作為數(shù)據(jù)存儲器也可以作為程序存儲器使用。

*寫入操作必須通過指令序列來完成,以字節(jié)(Byte)或字(Word)為單位,每寫入一個Byte或Word需十幾μs。

*擦除也通過指令序列完成,以塊(Block)為單位,通常塊的大小為64K。每擦除一個塊需要十幾ms。

*由于Flash有一定的使用壽命,一般為10~100萬次。所以隨著使用次數(shù)的增加,會有一些單元逐漸變得不穩(wěn)定或失效,因此必須能夠?qū)ζ錉顟B(tài)加以識別。

2 Flash存儲管理的作用

由Flash特點可以看出,操作Flash需要注意以下幾點:

*必須以幾K~幾十K的塊為單位進(jìn)行數(shù)據(jù)的操作;

*擦除操作耗時較多,應(yīng)減少擦除操作;

*盡量避免頻繁地對同一地址操作,以免造成局部單元提前損壞。

另外,大部分嵌入式操作系統(tǒng)所掛接的文件系統(tǒng)是建立在以扇區(qū)(Sector)為單位的磁盤操作基礎(chǔ)上(通常為512字節(jié)/扇區(qū))。因此也需要一段特殊的Flash存儲管理程序來解決以扇區(qū)為單位的文件系統(tǒng)接口和以塊為單位的Flash物理特性之間的矛盾;同時,完成各塊之間的擦寫次數(shù)均衡和壞塊管理等工作。Flash存儲管理程序在系統(tǒng)中的位置如圖1所示。

本文以TRI公司的FMM為例,說明Flash存儲管理模塊和如何完成這些功能的。

3 FMM介紹

FMM(Flash Media Manager)是由TRI公司開發(fā)的專門針對NOR型Flash的管理軟件,其主要特點如下:

*動態(tài)映射OS的邏輯扇區(qū)到物理地址;

*所有物理塊進(jìn)行壽命均衡,同時可記錄Flash的擦寫次數(shù);

*掉電數(shù)據(jù)恢復(fù),可以保證系統(tǒng)的穩(wěn)定性;

創(chuàng)建壞塊表進(jìn)行壞塊管理,保證系統(tǒng)的可靠性。

為了更好地介紹FMM的操作流程,這里先作幾點說明。

(1)存儲空間管理

為了實現(xiàn)以扇區(qū)為基礎(chǔ)的數(shù)據(jù)管理,F(xiàn)MM首先對Flash中的塊內(nèi)存儲空間邏輯上進(jìn)行了重新定義,每個物理塊內(nèi)部又重新劃分成了若干物理扇區(qū)。每個物理塊內(nèi)部又重新劃分成了若干物理扇區(qū)。每個物理扇區(qū)由512 4字節(jié)=516(0x204)字節(jié)組成。512字節(jié)為有效數(shù)據(jù)空間,另外4字節(jié)(32位)用于存放邏輯扇區(qū)另和當(dāng)前狀態(tài)。定義如下:

扇區(qū)狀態(tài)邏輯扇區(qū)號數(shù)字空間4位28位125字節(jié)

扇區(qū)狀態(tài)有4種,用于進(jìn)行掉電數(shù)據(jù)恢復(fù):

FREE—空扇區(qū)(0xF);

DVALID—扇區(qū)數(shù)據(jù)無效(0xE);

INUSE—扇區(qū)數(shù)據(jù)有效(0xC);

DIRTY—扇區(qū)數(shù)據(jù)無用,可擦除(0x8)。

以64K大小的塊為例,可以計算出每個塊中可以劃分出127個扇區(qū);另外,還會有4字節(jié)的空間,專門用于標(biāo)志下一個被整理塊。標(biāo)記為0x80,否則為0xffffffff。

因此可以得出物理扇區(qū)和絕對地址之間的對應(yīng)關(guān)系:

絕對地址=Flash基地址 物理扇區(qū)號×0x204 所在塊號×4

(2)扇區(qū)分類

FMM中將扇區(qū)分為ID扇區(qū)和數(shù)據(jù)扇區(qū)兩類:

①FMM會占用N個扇區(qū)作為標(biāo)識ID(Identification)扇區(qū),占用邏輯扇區(qū)號0~N。這一部分扇區(qū)是文件系統(tǒng)不能使用的,是FMM用于管理所占用的存儲空間。因此文件系統(tǒng)所管理的邏輯扇區(qū)號必須從N 1開始。

ID扇區(qū)主要包含如下數(shù)據(jù):FMM版本號、寫入(擦除)次數(shù)EraseCount、用戶標(biāo)識和壞扇區(qū)表。

【嵌入式系統(tǒng)中的Flash存儲管理】相關(guān)文章:

嵌入式系統(tǒng)中的線性Flash文件系統(tǒng)設(shè)計03-21

大容量Flash存儲設(shè)備在水文遙測系統(tǒng)中的實現(xiàn)03-07

Flash存儲器在TMS320C3x系統(tǒng)中的應(yīng)用03-18

基于虛擬扇區(qū)的Flash存儲管理技術(shù)03-18

多級存儲技術(shù)在媒體資產(chǎn)管理系統(tǒng)中的應(yīng)用03-19

嵌入式系統(tǒng)中的CACHE問題03-19

嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植03-18

UML 在嵌入式系統(tǒng)設(shè)計中的應(yīng)用03-18

嵌入式系統(tǒng)中“軟外設(shè)”的研究03-19