嵌入式系統中基于閃存平臺的存儲管理策略
由于嵌入式系統軟硬件的限制,在應用于通用計算機系統的標準文件系統(例如用于Win32/DOS的FAT和用于Linux的EXT)時,必須進行相應修改以適應嵌入式環境。在通用的文件系統趨向于簡單化和專業化的進程中,研究主要集中在以下幾個方面[2,3]:在一個小的高速存儲器上實現嵌入式系統處理速度和有限資源的平衡;實現特定性能,如用于滿足不同的嵌入式應用環境的數據加密和運行的可靠性的功能;提高嵌入式系統的實時性能。事實上,不少嵌入式系統是根據客戶的特殊要求定做的。針對這種情況,開發了具有高可靠性的簡化嵌入式閃存文件系統,與復雜的商用文件系統相比,這個嵌入式計算機數值控制系統更實用。
1 FFS存儲結構和框架
嵌入式系統中閃存有以下特點:(1)閃存以扇區為單位執行,如果修改扇區內1 B的數據,則整個扇區的數據都將被重寫;(2)通常任一扇區可重寫大約0.1~1萬次;(3)損壞扇區難免。在計算機數控系統中應用了閃存特性和局部處理程序訪問特征,在邏輯上非結構化的數據流模式被應用到FFS,在物理上存儲空間以扇區為基礎分成不同的塊[4]。閃存文件系統(FFS)不僅提供了根據文件名查找和訪問文件,使得有限的存儲空間得到合理和充分利用,而且還提供基于存儲內容的擦寫策略損壞扇區的適應性管理,因此,在某種程度上FFS的可靠性有所提高。
為了使閃存文件系統在不同的平臺上更易于進行維護、升級和移植,基于Madnick分層模型設計了一個文件系統分層結構。圖1所示的文件系統包括2個主要部分:文件管理單元和存儲空間管理單元。較低層為上層部分提供服務。每一層僅涉及接口,而不是更低或上層內部結構。
2 存儲空間管理
作為嵌入式系統的一部分,閃存存儲管理的主要功能包括提高使用效率、加快執行速度和根據其物理特性使用特殊算法管理閃存內存單元的使用頻率[5]。存儲空間管理單元在邏輯上由3個層次組成:文件物理層、存儲設備分配層和閃存驅動層[6]。閃存驅動層為上層提供最基本的驅動程序,如下:
評論