新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統Flash存儲管理策略研究

        嵌入式系統Flash存儲管理策略研究

        作者: 時間:2012-11-20 來源:網絡 收藏


        5 分塊軟件中的實現

        軟件的設計中, 良好的軟件架構設計可以使得軟件具有更好的可靠性及可擴展性。目前分層架構是軟件設計中最為流行的一種[ 7] 。因此在軟件實現過程中, 采用了分層的軟件架構將分塊軟件分為 驅動層、No r 分塊層和數據類型管理層三層。具體的軟硬件分層示意圖如圖3 所示。

        圖3 模塊軟件構架

        軟件最底層為 驅動層, 考慮到NOR Flash器的多樣性, 并且各種器件的底層驅動可能不同, 因此Flash 驅動層的建立可以向分塊管理層屏蔽具體的硬件信息。一般驅動層的實現主要采用函數指針的方法進行[ 8] , 初始化時通過讀取不同Flash 的ID 分別對read、write 和erase 等基本操作函數指針進行賦值, 此后上層軟件在對Flash 進行實際操作時則通過函數指針進行, 并不清楚具體的Flash 信息。在嵌入式中, 非易失性數據的種類有多種多樣, 因此分塊管理層本身并不涉及具體類型數據的方法, 只是預留幾個字段用于記錄數據類型等信息[ 9] 。這些字段用于數據類型管理程序初始化時使用。數據類型管理層的主要功能是管理NOR Flash存儲器中不同類型的數據, 向應用程序提供基于數據類型的各種操作, 屏蔽掉具體的分塊管理信息。分塊管理層程序負責資源回收算法、開機Flash 異常恢復算法的實現, 同時向數據類型管理層提供各種類型數據的所在的分塊地址信息。通過這種構架使得每一層的實現都易于采用面向對象的思想實現, 其中從底層至上層的對象分別Flash、分塊、數據類型。

        本文引用地址:http://www.104case.com/article/148242.htm

        6 結語

        通過采用分塊管理與狀態轉換的方法, Flash的存儲性能有了較大的改善, 而且數據的可靠性也有很大提高, 特別適用于無文件系統嵌入式設備中的數據存儲。同時通過合理的軟件構架使得各個分層都易于采用面向對象的思想實現, 這樣有利于軟件的擴展與移植。目前這種方法已經在數字電視機頂盒中采用, 實現效果甚好, 并且為上層軟件的設計帶來很大方便。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜宾市| 元江| 佛冈县| 宝丰县| 安塞县| 嘉峪关市| 碌曲县| 新野县| 平谷区| 柳林县| 珠海市| 黄龙县| 禄丰县| 安国市| 原阳县| 诸暨市| 崇州市| 天全县| 嵩明县| 开阳县| 文山县| 武隆县| 江阴市| 邢台市| 抚顺县| 融水| 佛冈县| 平泉县| 浠水县| 云和县| 华蓥市| 舒兰市| 乐山市| 健康| 天水市| 沂水县| 华坪县| 潞西市| 洪洞县| 浙江省| 石阡县|