CN101634997A - 增强基于NAND Flash的FAT文件系统稳定性的方法 - Google Patents

增强基于NAND Flash的FAT文件系统稳定性的方法 Download PDF

Info

Publication number
CN101634997A
CN101634997A CN200910111899A CN200910111899A CN101634997A CN 101634997 A CN101634997 A CN 101634997A CN 200910111899 A CN200910111899 A CN 200910111899A CN 200910111899 A CN200910111899 A CN 200910111899A CN 101634997 A CN101634997 A CN 101634997A
Authority
CN
China
Prior art keywords
data
fat
nand flash
write
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910111899A
Other languages
English (en)
Other versions
CN101634997B (zh
Inventor
林伟鹏
帅文
俞育海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
The Fujian sub-Information technology of song avionics Co., Ltd
Original Assignee
Fuzhou Smart Digital Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Smart Digital Science & Technology Co Ltd filed Critical Fuzhou Smart Digital Science & Technology Co Ltd
Priority to CN2009101118993A priority Critical patent/CN101634997B/zh
Publication of CN101634997A publication Critical patent/CN101634997A/zh
Application granted granted Critical
Publication of CN101634997B publication Critical patent/CN101634997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种增强基于NAND Flash的FAT文件系统稳定性的方法,其特征在于:通过在系统中增加EEROM并使之与FAT缓存配合工作来防止掉电时写入数据的大量丢失,该方法包含以下步骤:1)从FAT区中读取文件分配表到FAT缓存;2)从FAT缓存的文件分配表中寻找空的簇号;3)找到后在FAT缓存中修改簇链关系,并将文件分配表改动的位置和数据信息写入EEROM;4)修改目录区中指示文件大小的标签;5)往数据区写数据;6)写完后,如果还有新的待写入数据,则返回步骤(2),直至FAT缓存中所有空的FAT簇号都被修改完,再将FAT缓存中的数据写回存储介质。该方法有利于在减少文件分配表频繁写入次数的同时,防止掉电时写入数据的大量丢失。

Description

增强基于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中的数据,即文件分配表改动的位置和数据信息,即可恢复已写入数据对应的簇链关系,从而恢复之前写入数据区的数据,否则由于不存在数据丢失的问题,不进行相应的操作。
如果正在进行步骤(5)的操作时掉电,则在重新上电后,读出EEROM中的数据,恢复所有已写入数据对应的簇链关系,并修改目录区中指示掉电时正在写入数据大小的标签,将数据大小修改为掉电时正在写入数据中已写入NAND Flash这部分数据的大小,以恢复之前写入数据区的所有数据。这样就可以恢复之前已完整写入的数据及掉电时正在写入数据中已写入NAND Flash的这部分数据,使得数据丢失量小于一个簇。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (3)

1、一种增强基于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、根据权利要求1所述的增强基于NAND Flash的FAT文件系统稳定性的方法,其特征在于:如果正在进行步骤(2)、(3)或(4)的操作时掉电,则在重新上电后,判断是否存在下述的情况:掉电前上个数据已完整写入,但由于FAT缓存中所有空的簇号未被全部修改完,故对应修改的簇链关系还未写回NAND Flash,如果是,则读出EEROM中的数据,恢复已写入数据对应的簇链关系,以恢复之前写入数据区的数据,否则不进行相应的操作。
3、根据权利要求1所述的增强基于NAND Flash的FAT文件系统稳定性的方法,其特征在于:如果正在进行步骤(5)的操作时掉电,则在重新上电后,读出EEROM中的数据,恢复所有已写入数据对应的簇链关系,并修改目录区中指示掉电时正在写入数据大小的标签,以恢复之前写入数据区的数据。
CN2009101118993A 2009-06-02 2009-06-02 增强基于NAND Flash的FAT文件系统稳定性的方法 Active CN101634997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101118993A CN101634997B (zh) 2009-06-02 2009-06-02 增强基于NAND Flash的FAT文件系统稳定性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101118993A CN101634997B (zh) 2009-06-02 2009-06-02 增强基于NAND Flash的FAT文件系统稳定性的方法

Publications (2)

Publication Number Publication Date
CN101634997A true CN101634997A (zh) 2010-01-27
CN101634997B CN101634997B (zh) 2011-10-05

Family

ID=41594187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101118993A Active CN101634997B (zh) 2009-06-02 2009-06-02 增强基于NAND Flash的FAT文件系统稳定性的方法

Country Status (1)

Country Link
CN (1) CN101634997B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912267A (zh) * 2016-04-05 2016-08-31 深圳市四季宏胜科技有限公司 一种文件分配表处理方法和装置
CN107992763A (zh) * 2017-11-06 2018-05-04 北京东土科技股份有限公司 一种文件系统的掉电保护方法及装置
CN109739683A (zh) * 2018-12-31 2019-05-10 河南思维自动化设备股份有限公司 基于掉电防护介质的lkj文件写入方法、存储介质
CN109976678A (zh) * 2019-04-08 2019-07-05 武汉海阔科技有限公司 存储方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007034706A1 (ja) * 2005-09-22 2007-03-29 Matsushita Electric Industrial Co., Ltd. 情報記録媒体アクセス装置、及びデータ記録方法
CN100580669C (zh) * 2005-11-09 2010-01-13 康佳集团股份有限公司 在Flash存储介质上的关于文件分配表的缓存实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912267A (zh) * 2016-04-05 2016-08-31 深圳市四季宏胜科技有限公司 一种文件分配表处理方法和装置
CN105912267B (zh) * 2016-04-05 2019-01-18 深圳市四季宏胜科技有限公司 一种文件分配表处理方法和装置
CN107992763A (zh) * 2017-11-06 2018-05-04 北京东土科技股份有限公司 一种文件系统的掉电保护方法及装置
CN109739683A (zh) * 2018-12-31 2019-05-10 河南思维自动化设备股份有限公司 基于掉电防护介质的lkj文件写入方法、存储介质
CN109739683B (zh) * 2018-12-31 2022-08-05 河南思维自动化设备股份有限公司 基于掉电防护介质的lkj文件写入方法、存储介质
CN109976678A (zh) * 2019-04-08 2019-07-05 武汉海阔科技有限公司 存储方法及设备
CN109976678B (zh) * 2019-04-08 2022-05-13 武汉海阔科技有限公司 存储方法及设备

Also Published As

Publication number Publication date
CN101634997B (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
CN103577121B (zh) 一种基于Nand Flash的高可靠线性文件存取方法
CN102081577B (zh) 对Flash存储器的数据存储结构进行数据操作的方法
CN102737715B (zh) 用于nor闪存的数据掉电保护方法
TWI584122B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN103631536B (zh) 一种利用ssd的无效数据优化raid5/6写性能的方法
CN101567220B (zh) 闪存的损坏区块辨识方法、储存系统及其控制器
US9652330B2 (en) Method for data management and memory storage device and memory control circuit unit
US9524212B2 (en) Method, device and operating system for processing and using burn data of NAND flash
CN1936853B (zh) 嵌入式设备的数据掉电保护和修复方法
TWI459202B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
CN101634997B (zh) 增强基于NAND Flash的FAT文件系统稳定性的方法
CN103544110A (zh) 一种基于固态盘的块级连续数据保护方法
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
CN103996412A (zh) 一种用于智能卡非易失性存储器的掉电保护方法
CN102053796A (zh) 闪存储存系统、闪存控制器与数据处理方法
TWI774388B (zh) 資料同步方法
CN102981975B (zh) 闪存数据的管理方法和系统
CN113190180A (zh) 一种基于混合介质的存储装置及分布式存储系统
CN104376099A (zh) 一种基于闪存的文件系统的实现方法和实现装置
CN101324899B (zh) 一种快速写nand型flash的方法
CN105205008A (zh) 降低混合映射算法中日志块映射表内存资源占用的方法
US11467970B1 (en) Metadata management in non-volatile memory devices using in-memory journal
TWI416524B (zh) 記憶體裝置和資料儲存方法
CN110262980B (zh) 基于有限寿命存储介质的高速存储系统
CN105653466A (zh) 数据储存装置以及快闪存储器控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: FUJIAN SONG AIRLINES ELECTRONIC INFORMATION TECHNO

Free format text: FORMER NAME: FUZHOU SMART DIGITAL SCIENCE + TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 350002 Fujian city in Fuzhou Province, Hongshan Road No. 68 building 4 Shida Technology City D

Patentee after: The Fujian sub-Information technology of song avionics Co., Ltd

Address before: 350002 Fujian city in Fuzhou Province, Hongshan Road No. 68 building 4 Shida Technology City D

Patentee before: Fuzhou Smart Digital Science & Technology Co., Ltd.