发明名称 增强基于NAND Flash的FAT文件系统稳定性的方法
摘要 本发明涉及一种增强基于NAND Flash的FAT文件系统稳定性的方法,其特征在于:通过在系统中增加EEROM并使之与FAT缓存配合工作来防止掉电时写入数据的大量丢失,该方法包含以下步骤:1)从FAT区中读取文件分配表到FAT缓存;2)从FAT缓存的文件分配表中寻找空的簇号;3)找到后在FAT缓存中修改簇链关系,并将文件分配表改动的位置和数据信息写入EEROM;4)修改目录区中指示文件大小的标签;5)往数据区写数据;6)写完后,如果还有新的待写入数据,则返回步骤(2),直至FAT缓存中所有空的FAT簇号都被修改完,再将FAT缓存中的数据写回存储介质。该方法有利于在减少文件分配表频繁写入次数的同时,防止掉电时写入数据的大量丢失。
申请公布号 CN101634997B 申请公布日期 2011.10.05
申请号 CN200910111899.3 申请日期 2009.06.02
申请人 福州思迈特数码科技有限公司 发明人 林伟鹏;帅文;俞育海
分类号 G06F17/30(2006.01)I;G06F11/14(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 福州元创专利商标代理有限公司 35100 代理人 蔡学俊
主权项 一种增强基于NAND Flash的FAT文件系统稳定性的方法,其特征在于:通过在系统中增加EEROM并使之与FAT缓存配合工作来防止掉电时写入数据的大量丢失,该方法包含以下步骤:(1)从NAND Flash的FAT区中读取文件分配表到FAT缓存;(2)从FAT缓存的文件分配表中为待写入数据寻找空的FAT簇号;(3)找到后在FAT缓存中修改簇链关系,并将文件分配表改动的位置和数据信息写入EEROM;(4)修改NAND Flash的目录区中指示文件大小的标签;(5)往NAND Flash的数据区写数据;(6)上个数据写完后,如果还有新的待写入数据,则返回步骤(2),直至FAT缓存中所有空的FAT簇号都被修改完,再将FAT缓存中的数据写回NAND Flash;如果没有新的数据需要写入,则直接将FAT缓存中的数据写回NAND Flash;如果正在进行步骤(2)、(3)或(4)的操作时掉电,则在重新上电后,判断是否存在下述的情况:掉电前上个数据已完整写入,但由于FAT缓存中所有空的簇号未被全部修改完,故对应修改的簇链关系还未写回NAND Flash,如果是,则读出EEROM中的数据,恢复已写入数据对应的簇链关系,以恢复之前写入数据区的数据,否则不进行相应的操作;如果正在进行步骤(5)的操作时掉电,则在重新上电后,读出EEROM中的数据,恢复所有已写入数据对应的簇链关系,并修改目录区中指示掉电时正在写入数据大小的标签,以恢复之前写入数据区的数据。
地址 350002 福建省福州市洪山园路68号实达科技城D座4楼