[发明专利]增强基于NAND Flash的FAT文件系统稳定性的方法有效
申请号: | 200910111899.3 | 申请日: | 2009-06-02 |
公开(公告)号: | CN101634997A | 公开(公告)日: | 2010-01-27 |
发明(设计)人: | 林伟鹏;帅文;俞育海 | 申请(专利权)人: | 福州思迈特数码科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/14 |
代理公司: | 福州元创专利商标代理有限公司 | 代理人: | 蔡学俊 |
地址: | 350002福建省福州*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 增强 基于 nand flash fat 文件系统 稳定性 方法 | ||
技术领域
本发明涉及一种增强基于NAND Flash的FAT文件系统稳定性的方法。
背景技术
FAT文件系统主要包括FAT区、目录区和数据区三个部分,其中FAT区和目录区为重要的数据区,一旦损毁就会导致文件或整个磁盘数据损坏。由于NAND Flash的特性,造成了NAND Flash特定区域的读写寿命非常有限,而FAT文件系统的原理决定了文件分配表(FAT表)写入次数非常频繁,进而导致FAT区容易损毁造成存储介质中所有数据丢失。一种解决方法式对FAT表在内存中进行缓冲,以减少FAT表写入次数。但该方法的缺点是如果在没有后备电源的系统上,掉电后缓冲数据来不及写入磁盘的数据簇部分仍然会丢失,范围为0~128簇或更多。
发明内容
本发明的目的在于克服现有技术的不足,提供一种增强基于NAND Flash的FAT文件系统稳定性的方法,该方法有利于在减少文件分配表频繁写入次数的同时,防止掉电时写入数据的大量丢失。
为实现上述之目的,本发明的技术方案是:一种增强基于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。
本发明的有益效果是通过将FAT表中的缓冲数据放到EEROM中,解决了缓冲数据单纯放置到FAT缓存中掉电丢失数据量过大的问题,可以将掉电丢失数据减少到最多0~1个簇,提高了数据完整性和FAT文件系统的稳定性。
下面结合附图及具体实施例对本发明作进一步的详细说明。
附图说明
图1是现有技术的工作原理框图。
图2是本发明的工作原理框图。
具体实施方式
本发明的增强基于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。
文章中提到的FAT为FAT12、FAT16和FAT32总称。
如果正在进行步骤(2)、(3)或(4)的操作时掉电,则此时会出现两种情况,一种是之前未往数据区写入过数据,则读到FAT缓存中的文件分配表中的簇链关系尚未经过修改,还有一种情况是之前已完整写入过数据,故FAT缓存中的部分簇链关系已经过修改,但由于FAT缓存中所有空的FAT簇号未被全部修改完,使得修改过的簇链关系还未被从FAT缓存写回NAND Flash的FAT区。因此,在重新上电后,判断是否存在上个数据已完整写入,但对应修改的簇链关系还未写回NAND Flash的情况,如果是,则读出EEROM中的数据,即文件分配表改动的位置和数据信息,即可恢复已写入数据对应的簇链关系,从而恢复之前写入数据区的数据,否则由于不存在数据丢失的问题,不进行相应的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州思迈特数码科技有限公司,未经福州思迈特数码科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910111899.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电极隔离方法及具有隔离电极对的基于纳米线的器件
- 下一篇:空心热源