一种基于norflash文件系统fat分区表的管理方法

文档序号:6380739阅读:1198来源:国知局
专利名称:一种基于nor flash文件系统fat分区表的管理方法
技术领域
本发明涉及嵌入式终端领域,具体涉及一种基于NOR Flash文件系统FAT分区表的管理方法。
背景技术
随着嵌入式终端技术的发展,多样化的应用不断出现,而大多应用都伴随着大量数据的处理和存储,嵌入式存储一般会采用NOR Flash作为存储介质,传统的数据存储方式是指定Flash起始地址和长度,而指定的长度必须是Flash擦写块大小的倍数,避免出现多种数据出现在一个Flash的擦写块上,从而能够避免数据被破坏的危险。指定Flash起始地址和长度的方法,有两个缺点第一,数据扩展不灵活,如果有新应用出现,需要保存新应用的数据,必须在程序中重新为新数据分配一块区域;第二,浪费Flash空间,NOR Flash擦写块一般为64K,对于一类只有很少字节的数据,也需要分配64K的空间,这样会造成Flash 空间的浪费。文件系统管理数据存储,可以灵活扩展,有了新的应用,只需要读写文件即可,另外文件系统以簇为最小单位,一簇一般为4K或者8K,大大减少了 Flash空间的浪费。因此,使用文件系统来管理NOR FLASH存储介质势在必行。然而传统的文件系统只有单一一个FAT分区表,分区表修改在原有分区表基础上直接进行修改,这种方式不适用于NOR FLASH存储介质,因为NOR FLASH的特性需要首先擦除整个块,然后再写入,如果在擦除过程中系统掉电,整个分区表数据丢失并且不可恢复。考虑到NOR FLASH的特性,对于文件系统也提出了更高的要求,主要包括文件系统的安全性,可靠性和擦写平衡。鉴于传统的文件系统FAT分区表管理方法在NOR FLASH存储介质应用上的缺点,亟需提出一种新的基于NOR FLASH存储介质的FAT分区表的管理方法,以满足文件系统的安全性,可靠性和擦写平衡,因此本发明提出一种基于NOR FLASH文件系统FAT分区表的管理方法就很有必要了。

发明内容
本发明的目的是提供一种基于NOR FLASH文件系统FAT分区表的管理方法。本发明中的目的是按以下方式实现的,在NOR FLASH中分配一块区域FAT分区表管理区,此区域中又分为两部分FAT分区表索引区和FAT分区表区,其中FAT分区表区可以存放多个FAT分区表,首先在NOR FLASH闪存中分配一块区域FAT分区表管理区,FAT分区表管理区包括FAT分区表索引区和多个FAT分区表,当前有效的FAT分区表根据FAT分区表索引区中的索引号得到,当有文件操作,需要修改FAT分区表时,只需要擦写当前有效FAT分区表的下一个FAT分区表,同时,FAT分区表索引区中索引号循环递增;
FAT分区表的管理步骤如下
使用一个FAT分区表索引区和多个FAT分区表,考虑到NOR FLASH的擦写寿命,索引区存放多个索引号,采用增量存储的方法进行管理,每个索引号占用4个字节存储空间,其中
2字节有效标识,2字节索引号,索引号以Oxaaaa标识为有效,在索引区中顺序查找,发现最后一个Oxaaaa标识的索引号为当前有效的索引号,整个索引区满,擦除整个索引区,并把当前索引号重新写入到索引区的第一个位置,重新开始增量存储,采用多个FAT分区表设计,能够起到备份的作用,在FAT分区表修改时只擦除一个FAT分区表并写入,其他分区表不做改动,增强了文件系统的安全性和可靠性,同时多个FAT分区表循环擦写,最大限度的做到了文件系统FAT分区表的擦写平衡,延长了 NOR FLASH的使用寿命,多个FAT分区表使用FAT分区表索引号进行管理,能够方便灵活的定位到当前有效的FAT分区表位置。本发明的有益效果是基于嵌入式终端NOR FLASH文件系统的应用,可以增强文件系统的安全性和可靠性,在嵌入式终端突然掉电情况下,避免出现文件系统被破坏的情况,另外也有效的实现了文件系统的擦写平衡,延长了 NOR FLASH的使用寿命,使其更适用于多样化的嵌入式终端产品,因而具有非常广阔的发展空间。使用FAT分区表索引号管理多个FAT分区表,可以起到FAT分区表备份的作用,在FAT分区表修改时只擦写一个FAT分区表,其他分区表不做改动,增强了文件系统的安全性和可靠性,同时多个FAT分区表循环擦写,最大限度的做到了文件系统FAT分区表的擦写平衡,延长了 NOR FLASH的使用寿命。


图I是FAT分区表管理区示意 图2是FAT分区表索引区增量存储示意图。
具体实施例方式参照附图对本发明的方法做一下详细的的描述
正如发明内容中所描述的,本发明中提到的NOR FLASH文件系统FAT分区表的管理方法,是在NOR FLASH中分配一块区域FAT分区表管理区,此区域中又分为两部分FAT分区表索引区和FAT分区表区,其中FAT分区表区可以存放多个FAT分区表,参看附图I和附图
2。首先,在FAT分区表O位置上创建初始文件系统分区表,同时索引区开始位置写入4字节OxaaaaOOOO标识FAT分区表O是有效的分区表。其次,当有文件操作时,FAT分区表内容发生变化,需要写入NOR FLASH存储介质,发生变化的FAT分区表不再写入FAT分区表O位置,而是写入FAT分区表I位置,写入完成以后,在FAT分区表索引区的第5字节位置开始写入4字节OxaaaaOOOl标识FAT分区表I是有效的分区表。以此类推。再次,假如当前FAT分区表η是FAT分区表区最后一个分区表,则下一个FAT分区表写入FAT分区表O位置,同时索引区写入4字节OxaaaaOOOO,循环存放。最后,如果索引区已经增量写满,则下一次存放索引号,需要首先擦除整个索引区,然后在索引区开始位置写入当前有效索引号。传统的文件系统FAT分区表管理方法不适用于NOR FLASH存储介质,本发明中基于NOR FLASH文件系统FAT分区表的管理方法,充分考虑NOR FALSH存储介质擦写特性,可以有效满足NOR FLASH文件系统安全性,可靠性和擦写平衡的需要。
权利要求
1.一种基于NOR Flash的文件系统FAT分区表的管理方法,其特征在于,在NOR FLASH中分配一块区域FAT分区表管理区,此区域中又分为两部分FAT分区表索引区和FAT分区表区,其中FAT分区表区可以存放多个FAT分区表,首先在NOR FLASH闪存中分配一块区域FAT分区表管理区,FAT分区表管理区包括FAT分区表索引区和多个FAT分区表,当前有效的FAT分区表根据FAT分区表索引区中的索引号得到,当有文件操作,需要修改FAT分区表时,只需要擦写当前有效FAT分区表的下一个FAT分区表,同时,FAT分区表索引区中索引号循环递增; FAT分区表的管理步骤如下 使用一个FAT分区表索引区和多个FAT分区表,考虑到NOR FLASH的擦写寿命,索引区存放多个索引号,采用增量存储的方法进行管理,每个索引号占用4个字节存储空间,其中2字节有效标识,2字节索引号,索引号以Oxaaaa标识为有效,在索引区中顺序查找,发现最后一个Oxaaaa标识的索引号为当前有效的索引号,整个索引区满,擦除整个索引区,并把当前索引号重新写入到索引区的第一个位置,重新开始增量存储,采用多个FAT分区表设计,能够起到备份的作用,在FAT分区表修改时只擦除一个FAT分区表并写入,其他分区表不做改动,增强了文件系统的安全性和可靠性,同时多个FAT分区表循环擦写,最大限度的做到了文件系统FAT分区表的擦写平衡,延长了 NOR FLASH的使用寿命,多个FAT分区表使用FAT分区表索引号进行管理,能够方便灵活的定位到当前有效的FAT分区表位置。
全文摘要
本发明提供一种基于NOR FLASH的文件系统FAT分区表的管理方法,该方法是在NORFLASH中分配一块区域FAT分区表管理区,此区域中又分为两部分FAT分区表索引区和FAT分区表区,其中FAT分区表区可以存放多个FAT分区表,首先在NOR FLASH闪存中分配一块区域FAT分区表管理区,FAT分区表管理区包括FAT分区表索引区和多个FAT分区表,当前有效的FAT分区表根据FAT分区表索引区中的索引号得到,当有文件操作,需要修改FAT分区表时,只需要擦写当前有效FAT分区表的下一个FAT分区表,同时,FAT分区表索引区中索引号循环递增。
文档编号G06F17/30GK102945274SQ20121043994
公开日2013年2月27日 申请日期2012年11月7日 优先权日2012年11月7日
发明者刘宝阳, 班华堂 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1