基于falsh的自恢复实时文件系统的制作方法

文档序号:6338825阅读:437来源:国知局
专利名称:基于falsh的自恢复实时文件系统的制作方法
技术领域
本发明涉及一种实时自恢复文件系统,适用于使用FLASH作为存储信息介质的嵌 入式系统,通过实时存储数据及自行恢复文件系统来避免突发情况导致的对文件系统或文 件的破坏。
背景技术
在嵌入式系统中,尤其是电力系统装置中,不仅要求文件系统能够快速完成文件 操作,提高文件操作实时性;同时还要求文件系统具有较高的安全性,能够在掉电等突发情 况下恢复FLASH中存储的文件系统。目前,嵌入式系统标准的磁盘文件系统有Ext2、FAT。将这种标准的磁盘文件系统 运行在FLASH上,需要将FLASH模拟成一个具有512字节扇区大小的标准块设备。当上层 文件系统要对一个设备扇区进行写操作时,其操作顺序是1、将这个扇区所在FLASH块数据读到内存(BUFFER)中;2、将BUFFER中数据与写操作的数据合并成新的数据放入BUFFER中;3、将FLASH块进行擦除操作;4、将BUFFER中的数据写回该FLASH块。这种方式虽然能完成正常操作,但是存在下面几个缺点1、效率低,对一个扇区的更新需擦写整个FLASH块的数据;2、安全性低,很容易引起数据丢失。如果在上面第三步与第四步间发生设备掉电, 将会导致整个FLASH块数据丢失,可能造成文件系统处于不一致的状态,甚至不可恢复。嵌入式系统提供的日志文件系统jffs2、jffs3能够解决上述问题。日志式文件系 统通过详细记录文件系统中的每个操作及其数据内容,来保证文件系统的安全性。但是日 志式文件系统存在下面缺点1、对每个文件需记录前面多个操作,这样不仅浪费空间(jffs2浪费内存空间、 jffs3浪费FLASH空间),而且在掉电或突发情况后,自恢复文件系统过程缓慢;2、由于操作系统对写操作不是直接将数据写入到FLASH物理空间,日志式文件系 统很难满足嵌入式系统中对读写文件的实时性要求。由此可见,目前几种常用文件系统很难满足嵌入式系统对文件操作实时性及自恢 复性能要求。

发明内容
本发明针对上述问题,克服现有技术上述缺点,提出一种基于FALSH的自恢复实 时文件系统,通过实时存储数据及自行恢复文件系统来避免突发情况导致的对文件系统或 文件的破坏。为了解决以上技术问题,本发明提供的基于FALSH的自恢复实时文件系统,以 FLASH块为单位来存储文件,其特征在于一个文件存储于一个FLASH块中(每个文件必须占有一个FLASH块且不允许多个文件共享一个FLASH块),文件的特征信息存储于所 在FLASH块的指定页,文件的内容存储于所在FLASH块的其余页中,系统启动后扫描所有 FLASH块的所述指定页,将所有文件的特征信息读入内存,并据此在内存中自行重新构建系 统文件列表,当系统文件列表发生变化时,将变化信息同步至相应文件所在FLASH块的所 述指定页中,若新增文件,则在空白FLASH块的指定页写入新增中写入新增文件的特征信 息,新增文件的内容写入该空白FLASH块的其余页,若删除文件,则擦除该待删除文件对应 FLASH块指定页上的文件特征信息。进一步的,本发明将文件的特征信息存储于所在FLASH块的第一页。本发明文件系统以FLASH块为单位来存储文件,将文件特征信息记录在存储文件 数据的每个FLASH块的第一页,利用FLASH掉电不丢失特性,在系统重新上电时,扫描FLASH 每块信息,根据存储的文件特征信息自行恢复文件系统。更进一步的,本发明具有用于对FLASH块进行读写的文件操作接口模块,所述文 件操作接口模块直接调用FLASH操作接口来对FLASH块进行读写操作,实现文件操作的读 写实时性。传统文件系统的文件读写都需要经过BUFFER缓冲,本发明文件系统直接对FLASH 块进行读写操作,实时性更强,确保电力数据能够实时、完整的被记录。本发明的有益效果如下1.提高了读写操作速度,10-15%。2.文件写过程中设备掉电,能够保存写入部分,并能够在设备重新上电后正确读 出已经写入部分。3.能够移植到多种嵌入式操作系统,也可不依赖操作系统使用。


下面结合附图对本发明作进一步的说明。图1为本发明实施例1构架框图。
具体实施例方式下面参照附图并结合实施例对本发明作进一步详细描述。但是本发明不限于所给 出的例子。本发明基于FALSH的自恢复实时文件系统,以FLASH块为单位来存储文件,其改进 之处在于一个文件存储于一个FLASH块中(每个文件必须占有一个FLASH块且不允许多 个文件共享一个FLASH块),文件的特征信息存储于所在FLASH块的第一页(也可为最后一 页,根据需要自定义),文件的内容存储于所在FLASH块的其余页中,系统启动后扫描所有 FLASH块的所述第一页,将所有文件的特征信息读入内存,并据此在内存中自行重新构建系 统文件列表,当系统文件列表发生变化时,将变化信息同步至相应文件所在FLASH块的所 述第一页中,若新增文件,则在空白FLASH块的指定页写入新增中写入新增文件的特征信 息,新增文件的内容写入该空白FLASH块的其余页,若删除文件,则擦除该待删除文件对应 FLASH块指定页上的文件特征信息。文件的特征信息包括有文件名、文件属性、文件所属 目录,文件大小、文件创建日期、最近修改时间、文件在FLASH中所占的起始块号及当前块号。本发明文件系统具有用于对FLASH块进行读写的文件操作接口模块,所述文件操 作接口模块直接调用FLASH操作接口来对FLASH块进行读写操作,实现文件操作的读写实 时性。当处理器处于空闲时,对无用FLASH块执行擦除操作,将其变为空白FLASH块。避免 FLASH被写满后,需要临时先擦除再写数据所带来的延时,确保数据写入的实时性。如图1所示,为本发明文件系统的构架框图。本发明文件系统(以下简称ARPFS)的功能包括两部分1、FLASH存储管理功能。该模块包括四个子模块a)FLASH块管理模块。ARPFS使用单向链表分布管理FLASH中空闲块、已使用块、 擦除块、坏块。b) FLASH块更新模块。该模块用来擦除文件系统释放使用过的块,并将擦除完成的 块插入到空闲块链中。C)地址映射模块。地址映射功能完成将文件系统中使用的块地址及块内偏移转换 成对FLASH物理地址。起转换公式为物理地址=FLASH基地址+块地址*块长度+块内偏移d) FLASH操作接口模块。包括实际操作FLASH物理介质的接口函数,主要提供给上 层的模块提供直接访问FLASH的接口。2、文件管理及操作。包括三个子模块a)文件系统自恢复模块。在系统重新上电时,通过扫描所有FLASH块第一页存储 的文件特征信息,重新在内存中构建一张系统文件列表,从而恢复文件系统。b)文件表管理模块。ARPFS使用一张线性文件表来管理FLASH中所有文件,文件 表可以保存IOM个文件项(包括目录),每个文件项记录了该文件的文件名、文件属性、文 件所属目录,文件大小、文件创建的日期和最近修改时间以及文件在FLASH中所占的起始 块号、当前块号等文件特征信息,同时这些信息也同步到该文件起始块的第一个页中。c)文件操作接口模块。ARPFS文件系统还提供文件及目录的打开、删除、关闭,文 件的读写、查找等基本的功能。通过ARPFS文件系统对文件的操作进行管理后,应用程序 使用该文件系统接口与使用其它文件系统的接口完全一致。为了保证文件操作的实时性, ARPFS提供的文件系统操作接口都是直接调用FLASH操作接口来操作FLASH物理介质,加快 文件访问速度。除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形 成的技术方案,均落在本发明要求的保护范围。
权利要求
1.基于FALSH的自恢复实时文件系统,以FLASH块为单位来存储文件,其特征在于一 个文件存储于一个FLASH块中,文件的特征信息存储于所在FLASH块的指定页,文件的内 容存储于所在FLASH块的其余页中,系统启动后扫描所有FLASH块的所述指定页,将所有 文件的特征信息读入内存,并据此在内存中自行重新构建系统文件列表,当系统文件列表 发生变化时,将变化信息同步至相应文件所在FLASH块的所述指定页中,若新增文件,则在 空白FLASH块的指定页写入新增中写入新增文件的特征信息,新增文件的内容写入该空白 FLASH块的其余页,若删除文件,则擦除该待删除文件对应FLASH块指定页上的文件特征信 肩、ο
2.根据权利要求1所述基于FALSH的自恢复实时文件系统,其特征在于具有用于对 FLASH块进行读写的文件操作接口模块,所述文件操作接口模块直接调用FLASH操作接口 来对FLASH块进行读写操作,实现文件操作的读写实时性。
3.根据权利要求1所述基于FALSH的自恢复实时文件系统,其特征在于当处理器处 于空闲时,对无用FLASH块执行擦除操作,将其变为空白FLASH块。
4.根据权利要求1-3任一项所述基于FALSH的自恢复实时文件系统,其特征在于所 述的指定页为第一页。
5.根据权利要求1-3任一项所述基于FALSH的自恢复实时文件系统,其特征在于所 述的指定页为最后一页。
6.根据权利要求1-3任一项所述基于FALSH的自恢复实时文件系统,其特征在于文 件的特征信息包括有文件名、文件属性、文件所属目录,文件大小、文件创建日期、最近修 改时间、文件在FLASH中所占的起始块号及当前块号。
全文摘要
基于FALSH的自恢复实时文件系统,一个文件存储于一个FLASH块中,文件的特征信息存储于所在FLASH块的第一页,文件的内容存储于其余页中,系统启动后扫描所有FLASH块的第一页,将所有文件的特征信息读入内存,并据此在内存中自行重新构建系统文件列表,当系统文件列表发生变化时,将变化信息同步至相应文件所在FLASH块的所述指定页中。本发明利用FLASH掉电不丢失特性,在系统重新上电时,扫描FLASH每块信息,根据存储的文件特征信息自行恢复文件系统。并且本文件系统还具有用于对FLASH块进行读写的文件操作接口模块,文件操作接口模块直接调用FLASH操作接口来对FLASH块进行读写操作,实现文件操作的读写实时性。
文档编号G06F11/14GK102053879SQ201010590868
公开日2011年5月11日 申请日期2010年12月16日 优先权日2010年12月16日
发明者张少波, 徐广辉, 朱捷, 田小锋, 赵峰荣, 郑玉平 申请人:国网电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1