一种基于NOR FLASH文件系统FAT分区表的管理方法技术方案

技术编号:8366811 阅读:464 留言:1更新日期:2013-02-28 05:27
本发明专利技术提供一种基于NOR?FLASH的文件系统FAT分区表的管理方法,该方法是在NORFLASH中分配一块区域FAT分区表管理区,此区域中又分为两部分:FAT分区表索引区和FAT分区表区,其中FAT分区表区可以存放多个FAT分区表,首先在NOR?FLASH闪存中分配一块区域FAT分区表管理区,FAT分区表管理区包括FAT分区表索引区和多个FAT分区表,当前有效的FAT分区表根据FAT分区表索引区中的索引号得到,当有文件操作,需要修改FAT分区表时,只需要擦写当前有效FAT分区表的下一个FAT分区表,同时,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分区表并写入,其他分区表不做改动,增强了文件系统的安全性和可靠本文档来自技高网
...

【技术保护点】
一种基于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字节索引号,索引号以0xaaaa标识为有效,在索引区中顺序查找,发现最后一个0xaaaa标识的索引号为当前有效的索引号,整个索引区满,擦除整个索引区,并把当前索引号重新写入到索引区的第一个位置,重新开始增量存储,采用多个FAT分区表设计,能够起到备份的作用,在FAT分区表修改时只擦除一个FAT分区表并写入,其他分区表不做改动,增强了文件系统的安全性和可靠性,同时多个FAT分区表循环擦写,最大限度的做到了文件系统FAT分区表的擦写平衡,延长了NOR?FLASH的使用寿命,多个FAT分区表使用FAT分区表索引号进行管理,能够方便灵活的定位到当前有效的FAT分区表位置。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘宝阳班华堂
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2015年01月03日 00:14
    分区表是将大表的数据分成称为分区的许多小的子集倘若硬盘丢失了分区表数据就无法按顺序读取和写入导致无法操作[1]
    0
1