<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 嵌入式系統中的Flash存儲管理

    時間:2024-07-23 20:17:41 理工畢業論文 我要投稿
    • 相關推薦

    嵌入式系統中的Flash存儲管理

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

    引言

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

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

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

    1 Flash存儲器簡介

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

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

    *掉電數據不丟失,數據可以保存10~100年。

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

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

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

    *由于Flash有一定的使用壽命,一般為10~100萬次。所以隨著使用次數的增加,會有一些單元逐漸變得不穩定或失效,因此必須能夠對其狀態加以識別。

    2 Flash存儲管理的作用

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

    *必須以幾K~幾十K的塊為單位進行數據的操作;

    *擦除操作耗時較多,應減少擦除操作;

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

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

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

    3 FMM介紹

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

    *動態映射OS的邏輯扇區到物理地址;

    *所有物理塊進行壽命均衡,同時可記錄Flash的擦寫次數;

    *掉電數據恢復,可以保證系統的穩定性;

    創建壞塊表進行壞塊管理,保證系統的可靠性。

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

    (1)存儲空間管理

    為了實現以扇區為基礎的數據管理,FMM首先對Flash中的塊內存儲空間邏輯上進行了重新定義,每個物理塊內部又重新劃分成了若干物理扇區。每個物理塊內部又重新劃分成了若干物理扇區。每個物理扇區由512 4字節=516(0x204)字節組成。512字節為有效數據空間,另外4字節(32位)用于存放邏輯扇區另和當前狀態。定義如下:

    扇區狀態邏輯扇區號數字空間4位28位125字節

    扇區狀態有4種,用于進行掉電數據恢復:

    FREE—空扇區(0xF);

    DVALID—扇區數據無效(0xE);

    INUSE—扇區數據有效(0xC);

    DIRTY—扇區數據無用,可擦除(0x8)。

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

    因此可以得出物理扇區和絕對地址之間的對應關系:

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

    (2)扇區分類

    FMM中將扇區分為ID扇區和數據扇區兩類:

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

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

    【嵌入式系統中的Flash存儲管理】相關文章:

    嵌入式系統中的線性Flash文件系統設計03-21

    大容量Flash存儲設備在水文遙測系統中的實現03-07

    Flash存儲器在TMS320C3x系統中的應用03-18

    基于虛擬扇區的Flash存儲管理技術03-18

    多級存儲技術在媒體資產管理系統中的應用03-19

    嵌入式系統中的CACHE問題03-19

    嵌入式Linux系統中的GUI系統的研究與移植03-18

    UML 在嵌入式系統設計中的應用03-18

    嵌入式系統中“軟外設”的研究03-19

    主站蜘蛛池模板: 97久久国产亚洲精品超碰热| 精品多毛少妇人妻AV免费久久| 精品亚洲欧美高清不卡高清| 色婷婷噜噜久久国产精品12p| 国产精品福利一区二区| 亚洲精品无码久久久久AV麻豆| 大胸国产精品视频| 99在线热播精品免费99热| 呦交小u女国产精品视频| 国产精品人人做人人爽人人添| 国产成人精品AA毛片| 亚洲一区爱区精品无码| 精品久久人人妻人人做精品| 欧美精品一区二区三区在线| 精品无码日韩一区二区三区不卡| 欧美精品亚洲精品日韩精品| 国产成人精品无人区一区| 99精品国产一区二区三区| 熟妇无码乱子成人精品| 亚洲欧美日韩精品专区| 欧美精品丝袜久久久中文字幕| 国产精品一区二区三区99| 日韩麻豆国产精品欧美| 2048亚洲精品国产| 国产精品亚洲日韩欧美色窝窝色欲| 正在播放酒店精品少妇约| 欧美日韩在线精品一区二区三区激情综合| 国产成人精品久久一区二区三区av| 国产一精品一av一免费爽爽| 国产欧美精品一区二区三区| 欧洲成人午夜精品无码区久久 | 成人无码精品1区2区3区免费看| 一本色道久久88—综合亚洲精品 | 国产精品福利片免费看| 1区1区3区4区产品芒果精品| 国产精品视频久久| 国产精品乱码高清在线观看| 亚洲精品二区国产综合野狼| 亚洲欧美精品综合中文字幕| 亚洲AV无码成人精品区狼人影院| 欧美日韩精品一区二区视频 |