您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

适宜于嵌入式多媒体应用的Flash文件系统

时间:2007-1-20栏目:电子通信论文

摘要:嵌入式多媒体应用中大量数据存储在Flash上,本文以文件系统的方案解决数据存储的管理问题。对嵌入式多媒体应用中Flash文件系统的应用特点与关键设计进行了分析,设计实现了一个功能完整的文件代号管理、文件指针存取以及对应用透明的自动坏损管理的文件系统。针对嵌入式系统应用的需要,改进了本Flash文件系统的应用可靠性,降低了其系统资源开销。针对多媒体应用的数据特点,提出了存储内容自适应的环境管理策略。仿真与实用的效果表明,本Flash文件系统适宜于嵌入式多媒体应用。

    关键词:嵌入式系统 多媒体Flash存储器 文件系统

随着电子技术的不断发展,嵌入式系统越来越多地在控制类、消费类、通讯类等电子产品广泛应用,并且随着数字信号处理与人机交互界面等相关技术的不断成熟,嵌入式多媒体应用数量也逐渐上升。多媒体业务的数据量大,数据内容复杂,在多媒体应用中数据的存储与管理是不容回避的问题。Flash存储器制造成本低廉、存储容量大、数据非易失、无机械故障,在目前的嵌入式系统中被广泛用作外存储器件。然而Flash存储器却是一种数据正确性非理想的器件,应用中可能会出现坏损数据单元,这又给应用Flash存储器嵌入式系统进行数据存储管理增添了新的难度[1]。

在嵌入式系统中应用Flash存储器最好的办法是在其上构造一个文件系统,对Flash存储器中的数据内容进行基于文件代号的存储管理,同时对于Flash存储器本身的坏损单元自动进行应用透明的坏损管理。目前在通用计算机上已经有很多成熟的文件系统,如DOS下的FAT文件系统、Windows NT下的NTFS文件系统及UNIX文件系统等[2]。但是这些文件系统并不适合直接用到嵌入式系统中进行多媒体数据内容的存储:第一,嵌入式系统的应用条件远比计算机恶劣,电源电压的不稳定以及突发性断电将对Flash的存储造成灾难性的影响,通用文件系统对于可靠性的设计考虑不足;第二,通用文件系统是针对系统资源非常丰富的计算机平台并基于速度较慢的磁盘驱动器,它们常常大量使用缓存技术,如注重文件系统的速度特性,要耗费比较多的系统资源。这与嵌入式系统中系统资源十分有限,Flash存储器又相对于磁盘驱动器较快的应用情况不用;第三,嵌入式系统中存储于Flash上的内容很多是多媒体数据资料,这些数据内容往往鸡一定程度的误码损伤,未必需要如通用文件系统那样严格保证存储的正确性。通过灵活的校验机制与坏损管理,达到更优化的存储速度与更高效的存储空间利用,这对成本敏感的嵌入式系统来说尤其具有帮助。

基于上述考虑,设计了一个适合嵌入式多媒体应用的Flash文件系统。它不仅支持文件代号管理、文件指针存取以及应用透明的自动坏损管理这些通用文件系统所具有的功能,并且在文件系统的可靠性以及文件系统的额外资源消耗方面进行了改善;此外还引入了基于存储内容自适应的坏损管理策略,从而使该Flash文件系统更加适合嵌入式多媒体应用。

1 Flash存储器的操作特点

Flash存储器在读取方面与普通的SRAM存储器类似,一般可以实现完全随机的读取。Flash存储器最大的不同在于写操作方面。Flash存储器的写操作需要经过“擦除—写入”两个操作过程。当希望对Flash存储器的某一个单元进行写入时,首先必须对这个存储单元所在的区块(Block)执行擦除操作,擦除操作成功完成后,整个区块的数据内容都被清空(一般被设置成0xFF);然后对目的单元所在的页面(Page)执行写入操作,需要一次写入整个页面的全部数据内容(也有一次Flash存储器支持部分页的写入,这样可以分多次写完一个页面,但是一旦写过的存储单元数据就不能再被更改),操作成功后要进行数据正确性的校验。

一个区域(Block)包含一个或多个页面(Page),一个页面包含多个数据存储单元(字节或字)。

为了增强所设计Flash文件系统在不同Flash存储器上的移植能力,选取了3个最基本的操作作为本Flash文件系统与Flash存储器设备的应用接口:区块擦除(Block_Erase)、页面写入(Page_Write)、页面读出(Page_Read)。这样虽然可能会忽略某些Flash存储器产品的独有特性,但却增加了所设计的Flash文件系统对同Flash存储器产生的适应能力。另外,Flash存储器写入的时间瓶不在于数据传递,而是Flash存储器内部的擦除和写操作等;Flash存储器读出的速度和微处理器处理数据的速度都很快,因此虽然将读和写的基本单位扩大到了页面,但额外增加的操作时间是很短的。

2 Flash文件系统的基本结构

本Flash文件系统在基本结构上与MS-DOS的FAT文件系统类似[3]。MS-DOS是一个应用于几十年的商业化软件产品,其FAT文件系统技术成熟、结构简单、系统资源开销小,易于在嵌入式系统的硬件平台上实现。本Flash文件系统的基本结构如图1所示,整个文件系统包括如下几个部分:
(

[1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页