一种Flash文件系统的快速启动方法及装置制造方法及图纸

技术编号:3916981 阅读:268 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种Flash文件系统的快速启动方法及装置,该方法包括:日志记录步骤,用于在所述Flash文件系统中以块为单位进行日志记录;快照存放步骤,用于将快照数据存放在独立的块中,以使快照数据与文件系统数据分离;启动步骤,用于当所述文件系统中存在有效快照时,直接读取快照,在系统内存中构建文件系统的相关信息;当文件系统中不存在有效快照时,从各块中读取日志,在系统内存中构建所述文件系统的相关信息。

【技术实现步骤摘要】

本专利技术涉及Flash存储系统领域,特别是涉及一种Flash文件系统的快速启动方法及装置。
技术介绍
Flash,也称闪存,是一种电子式可擦除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。自问世以来,Flash以其低功耗、非易失性和抗震动性等特点,得到广泛关注,并被大量地应用到嵌入式和移动式设备中。再者,由于工艺进步、成本下降,Flash在很多场合下大有取代传统磁盘的趋势。很多采用Flash构建高性能存储系统的方案以及文件系统设计和优化的方法相应被提出来。 较磁盘而言,Flash有以下几个显著的特点。第一,Flash由若干个块组成,每个块中又有若干个页;第二, Flash有读、写及擦除三种基本操作,并且在重写之前必须先擦除,另外写是以页为单位,擦除则是以块为单位;第三,Flash的寿命是由其块的最大可擦除次数所决定,擦除超过该次数的块将不可再用,所以需考虑到损耗平衡问题,即尽量将擦除操作均衡到各个块中。 由于Flash自身的这些特点,使得现有基于磁盘的文件系统不能很好地发挥Flash的优势。当前Flash文件系统解决方案一般有两种采用转换层将Flash模拟成块设备,再配用以传统文件系统;另一种方案是设计专用Flash文件系统。在以Flash为二级存储设备的系统中,通常使用专用Flash文件系统。本文中Flash文件系统无特殊声明,均指专用Flash文件系统。Flash文件系统通常采用日志结构文件系统,实现异地更新策略。系统启动时,须扫描Flash上的内容,在内存中建立元数据索引信息。随着Flash容量的增大,内容扫描过程成为系统启动性能的主要因素。由此,快照和日志两种解决方案被提出来,这两种策略的单独应用均能加速系统启动,但仍存在一些局限性。 如图1所示,Flash中有若干个块(block),每个块又由若干个页(page)组成;由于重写之前必须先擦除,且写是以页为单位,擦除是以块为单位,所以对Flash专用文件系统一般实现异地更新策略,即当有数据需要更新时先不擦除要更新的页而是另外分配一个空页写入数据,并将原来对应的页标志为失效(Invalid),即图1中页之前所记的I标志。 日志和快照是用于系统恢复的常用策略,这些数据不属于文件系统本身,只是有助于在系统启动时在内存中快速建立文件信息,称之为启动信息。其中快照是指将文件系统组织结构信息直接存放在存储设备上,当文件系统正常卸载,存在有效快照时,能够只通过1/0操作读取快照便可有效地加载文件系统。但是当系统由于意外断电,不存在有效快照时,系统重新启动时须扫描整个Flash空间来建立文件信息。已有的日志策略虽然能够有效解决意外断电问题,但日志跟踪记录系统中的所有更新信息,在任何情况下启动都需要先读取日志并经过运算处理才能建立文件系统的组织信息。因此对于系统正常卸载的情况,日志策略的性能稍逊于快照策略。 进一步的,在已有的策略中启动信息大多是集中存放在某些特定的块中,这会导致损耗不均衡。即使现有的有些算法可以将启动信息存放在Flash中的任意页上,但由于在同一个块中这些启动信息与所存的文件系统数据不具有一致的有效性,便容易因需要实现块擦除导致了多次无效的搬移。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种Flash文件系统的快速启动方法及装置,既能加快Flash文件系统的启动速度,又可以实现Flash的损耗平衡。 为达到上述目的,本专利技术的Flash文件系统的快速启动方法,包括 日志记录步骤,用于在所述Flash文件系统中以块为单位进行日志记录; 快照存放步骤,用于将快照数据存放在独立的块中,以使快照数据与文件系统数据分离; 启动步骤,用于当所述文件系统中存在有效快照时,直接读取快照,在系统内存中构建文件系统的相关信息;当文件系统中不存在有效快照时,从各块中读取日志,在系统内存中构建所述文件系统的相关信息。 上述Flash文件系统的快速启动方法,其特征在于,所述日志记录步骤中,以块为单位进行日志记录是通过取一个块中的若干页存放所述文件系统数据,其余的若干页存放该块中本页的文件系统数据的更新信息。 上述Flash文件系统的快速启动方法,其特征在于,还包括一在对块进行写操作时,在系统内存中分配一块缓存的步骤,用于在对所述块进行写操作时,先将其日志记录缓存在内存中,当更新完后,再将缓存中的日志写回到该块中。 上述Flash文件系统的快速启动方法,其特征在于,所述以块为单位进行日志记录时,存放日志的页在该块中所在的比例由该块的大小决定。 上述Flash文件系统的快速启动方法,其特征在于,当块中有数据更新,需要擦除一个块时,该块中的日志记录将成为无效页面,不进行拷贝操作;该块中的有效页面搬移到新数据块后,将生成新的日志记录文件系统的更新信息。 上述Flash文件系统的快速启动方法,其特征在于,所述快照独立存放步骤中,快照数据所占的块是Flash中的任意位置。 上述Flash文件系统的快速启动方法,其特征在于,当所述文件系统正常卸载时,保存该文件系统的快照数据。 进一步的,本专利技术还提供了一种实现上述Flash文件系统的快速启动方法的启动装置,包括 日志记录模块,用于在所述Flash文件系统中以块为单位进行日志记录; 快照存放模块,用于将快照数据存放在独立的块中,以使快照数据与文件系统数据分离; 启动模块,用于当所述文件系统中存在有效快照时,直接读取快照,在系统内存中构建文件系统的相关信息;当文件系统中不存在有效快照时,从各块中读取日志,在系统内存中构建所述文件系统的相关信息。 上述Flash文件系统的快速启动装置,其特征在于,所述日志记录模块中,以块为单位进行日志记录是通过取一个块中的若干页存放所述文件系统数据,其余的若干页存放该块中本页的文件系统数据的更新信息。 上述Flash文件系统的快速启动装置,其特征在于,将快照数据存放在独立的块中时,快照数据所占的块是Flash中的任意位置。 与现有技术相比,本专利技术的策略可在现有的多种Flash文件系统基础上得到应用,不仅能够快速启动Flash文件系统,且能有效实现损耗平衡。其相对于现有技术具有以下特点 1)在文件系统中保存快照,保证正常卸载后的快速启动; 2)在文件系统中应用日志机制,实现系统意外断电后的快速启动; 3)尽量使每个块均衡存储启动数据,以实现Flash的损耗平衡。附图说明 图1为Flash的基本存储模型; 图2为本专利技术Flash文件系统的快速启动方法的流程图; 图3为实现本专利技术的Flash文件系统的存储模型; 图4为本专利技术中以块为单位的日志记录方法示意图; 图5为本专利技术中快照的存放方法示意图; 图6为本专利技术Flash文件系统的快速启动装置的结构框图。具体实施例方式以下结合附图和具体实施例对本专利技术进行详细描述,以进一步了解本专利技术之目的、方案及功效,但不作为对本专利技术的限定。 本专利技术的Flash文件系统的快速启动方法结合了已有日志策略与快照策略的优点,实现文件系统正常卸载或意外断电等情况下,均能有效加速系统的启动过程。 图2为本专利技术Flash文件系统的快速启动方法的流程图,参考图2,本专利技术的Flash文件系统的快速启动方法,包括 步骤S10 :在Flash文件系统中以块为单位进行日志本文档来自技高网
...

【技术保护点】
一种Flash文件系统的快速启动方法,其特征在于,包括:日志记录步骤,用于在所述Flash文件系统中以块为单位进行日志记录;快照存放步骤,用于将快照数据存放在独立的块中,以使快照数据与文件系统数据分离;启动步骤,用于当所述文件系统中存在有效快照时,直接读取快照,在系统内存中构建文件系统的相关信息;当文件系统中不存在有效快照时,从各块中读取日志,在系统内存中构建所述文件系统的相关信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:程旭管雪涛苏永刚刘姝
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1