CN101140586A - 嵌入式系统中NAND Flash存储器上建立文件系统的方法 - Google Patents

嵌入式系统中NAND Flash存储器上建立文件系统的方法 Download PDF

Info

Publication number
CN101140586A
CN101140586A CNA2007101562078A CN200710156207A CN101140586A CN 101140586 A CN101140586 A CN 101140586A CN A2007101562078 A CNA2007101562078 A CN A2007101562078A CN 200710156207 A CN200710156207 A CN 200710156207A CN 101140586 A CN101140586 A CN 101140586A
Authority
CN
China
Prior art keywords
file
allocation table
document
list
file system
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
CNA2007101562078A
Other languages
English (en)
Other versions
CN100449549C (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2007101562078A priority Critical patent/CN100449549C/zh
Publication of CN101140586A publication Critical patent/CN101140586A/zh
Application granted granted Critical
Publication of CN100449549C publication Critical patent/CN100449549C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种嵌入式系统中NAND Flash存储器上建立文件系统的方法。它是采用链接页方法管理存储空间的单级目录文件系统,系统的文件登记表、文件分配表应用浮动地址方式存储,RAM内存中的FRT和FAT变化,实时在线以增量形式写入Flash存储器增量文件登记表和增量文件分配表;单级目录文件系统中文件登记表和文件分配表的相关信息同时写入相关Flash数据区块页面的冗余字节内,作为单级目录文件系统的备份。本发明将固定存储地址的FRT和FAT改进成可移动的存储地址,建立了一种磨损均衡机制;在Flash存储器的ΔFRT和ΔFAT中,实时记录RAM内存的FRT和FAT变化,提供了文件系统的故障恢复机制;利用Flash存储器每个页面冗余的字节,写入文件系统的相关信息,建立了一种冗余备份机制。

Description

嵌入式系统中NAND Flash存储器上建立文件系统的方法
技术领域
本发明涉及Flash存储器的技术领域,具体涉及嵌入式系统中NAND Flash存储器上建立文件系统的方法。
背景技术
嵌入式系统使用可擦写非易失Flash存储器存储代码和数据。文件系统屏蔽了物理存储器的技术细节,把所管理的信息组织成文件形式,从而增加了程序的可移植性和可维护性,便于用户有效管理大量的数据,所以Flash存储器上建立文件系统具有普遍的实际意义。目前在通用计算机上已有不少成熟的文件系统,如Dos下的FAT文件系统,Windows NT下的NTFS文件系统及Unix、Linux文件系统,但上述文件系统不适合直接用于嵌入式系统,主要问题有:首先嵌入式系统的应用环境远比计算机恶劣,通用文件系统对于可靠性的设计考虑不足;其次通用文件系统基于资源丰富的计算机平台和慢速的磁盘驱动器,经常使用耗费大量资源的缓存等技术,这与嵌入式系统中资源有限的情况完全不同;第三点源自NAND Flash的固有特性,NAND Flash存储器由若干块组成,块由若干页组成,而页则包含一定数量字节的存储单元和若干冗余字节。Flash存储器的读操作与磁盘一致,但写操作与磁盘不同,通用文件系统对此没有相应的专门设计。Flash存储器文件所占用的存储空间基本单位是块,数据写操作必须在空白区块或者擦除后区块中进行,擦除要求以块Block为单位进行(将OXFF写入待擦除的存储器快),写操作按页Page方式进行(一次必须写入一个Page),Flash存储器的擦除次数是有限的(100000次),Flash存储器上建立文件系统时必须考虑Flash存储器的固有特性,要避免某些块过度擦除导致存储介质的磨损失效。
目前,大容量Flash存储器上的文件系统有JFFS2、YAFFS和TyueFFs三种,这三种基于日志结构的文件系统需占用较多的资源。DOS FAT文件系统历史悠久、技术成熟、结构可靠、系统资源开销小,易于在中小型、中低端嵌入式系统的Flash存储器上实现。针对嵌入式系统工作环境的特点,基于Flash存储器的固有特性,本发明对DOS FAT文件系统进行相应的改进,提出一种嵌入式系统中NAND Flash存储器的文件系统,除了提供数据管理功能外,注重提高文件系统的可靠性,并通过FRT、FAT表存储区块的磨损均衡机制延长存储器寿命。
发明内容
本发明的目的是提供一种嵌入式系统中NAND Flash存储器上建立文件系统的方法。
它是采用链接页方法管理存储空间的单级目录文件系统,单级目录文件系统的文件登记表、文件分配表应用浮动地址方式存储,RAM内存中的文件登记表和文件分配表变化,实时在线以增量形式写入Flash存储器增量文件登记表和增量文件分配表;单级目录文件系统中文件登记表和文件分配表的相关信息同时写入相关Flash数据区块页面的冗余字节内,作为单级目录文件系统的备份。
所述的单级目录文件系统由系统信息与引导程序区、指向FRT表的浮动地址指针表、文件登记表、增量文件登记表、文件分配表、增量文件分配表和数据区组成;文件登记表、增量文件登记表、文件分配表、增量文件分配表以可移动的数据形式存储,通过系统信息与引导程序区和指向文件登记表的浮动地址指针表寻址;文件登记表、增量文件登记表、文件分配表、增量文件分配表存储地址变更时,将新地址写入指向文件登记表的浮动地址指针表,根据文件登记表、增量文件登记表、文件分配表、增量文件分配表四表擦除次数,移动上述四表至新的Flash存储块,释放四表的原存储块作为数据存储块,并不再承担四表存储块功能。
所述的单级目录文件系统从Flash复制到RAM中运行时,不仅修改RAM内存中的文件登记表和文件分配表,同时将修改内容以增量形式写入Flash存储器中增量文件登记表和增量文件分配表,故障时以此增量信息恢复Flash存储器中的文件登记表和文件分配表,文件登记表和文件分配表更新时,遵循先写后擦原则。
所述的单级目录文件系统利用Flash存储器每个页面冗余的字节,写入文件系统的文件编号、文件名、生成或最后修改时间、该文件的上一个块地址、下一个块地址的相关信息,作为Flash存储器文件系统文件登记表和文件分配表的冗余备份。
本发明与背景技术相比,具有的有益效果是:
DOS FAT文件系统历史悠久、技术成熟、结构简单、系统资源开销小,改进的DOS FAT文件系统移植至Flash存储器上,较现有的JFFS2、YAFFS和TYUEFFS文件系统具有明显的经济技术优势,在中小型、中低端嵌入式系统中其经济技术优势尤为明显。将固定存储地址的FRT和FAT改进成可移动的存储地址,为Flash存储器建立了一种磨损均衡机制,解决了传统FRT和FAT固定存储地址,因该存储器区块的频繁擦写,导致存储器过早磨损失效的难题。在Flash存储器的增量文件登记表ΔFRT和增量文件分配表ΔFAT中,实时记录RAM内存的FRT和FAT变化,提供了文件系统的故障恢复机制;利用Flash存储器每个页面冗余的字节,写入文件系统的相关信息,作为Flash存储器文件登记表FRT和文件分配表FAT的冗余备份,进一步提高了文件系统的可靠性。
附图说明
图1是本发明的单级目录文件系统结构示意图;
图2是本发明的文件登记表,文件分配表移动存储示意图(图中省略增量文件登记表、增量文件分配表);
图3是K9F6408UOM Flash存储器结构示意图;
图4是本发明的单级目录文件系统运行原理图。
具体实施方式
如图1所示,嵌入式系统中NAND Flash存储器上建立文件系统的方法是采用链接页方法管理存储空间的单级目录文件系统,单级目录文件系统的文件登记表FRT 3、文件分配表FAT 5应用浮动地址方式存储,RAM内存中的文件登记表FRT 3和文件分配表FAT 5变化,实时在线以增量形式写入Flash存储器增量文件登记表ΔFRT 4和增量文件分配表ΔFAT 6;单级目录文件系统中文件登记表FRT 3和文件分配表FAT 5的相关信息同时写入相关Flash数据区块页面的冗余字节内,作为单级目录文件系统的备份。
单级目录文件系统由系统信息和引导程序区、指向FRT的浮动地址指针表PFRT、文件登记表FRT(1-N)、增量文件登记表ΔFRT(1-N)、文件分配表FAT(1-N)、增量文件分配表ΔFAT(1-N)和数据区七部分组成。系统信息和引导程序占据Flash第一区块,记录存储器类型、容量、结构(如包含多少块、每块包含多少页、每页的存储容量和冗余容量)版本号等重要信息;引导程序将FRT、FAT,按需加载到RAM内存;Flash第一区块写入浮动地址指针表PFRT的首地址,浮动地址指针表PFRT逐次写入FRT和ΔFRT的首地址。FRT存放每个文件的文件代号、文件名、文件长度、文件属性以及该文件的存储链在FAT的入口等。FAT存放Flash存储器上所有区块的占用与空闲状况以及每个文件的存储结构。数据区用于存放数据。
如图2所示,所述的单级目录文件系统由系统信息与引导程序区1、指向文件登记表FRT 3的浮动地址指针表PFRT 2、文件登记表FRT 3、增量文件登记表ΔFRT 4、文件分配表FAT 5、增量文件分配表ΔFAT 6和数据区7组成;文件登记表FRT 3、增量文件登记表ΔFRT 4、文件分配表FAT 5、增量文件分配表ΔFAT 6以可移动的数据形式存储,通过系统信息与引导程序区1和指向文件登记表FRT 3的浮动地址指针表PFRT 2寻址;文件登记表FRT 3、增量文件登记表ΔFRT 4、文件分配表FAT 5、增量文件分配表ΔFAT 6存储地址变更时,将新地址写入指向文件登记表FRT 3的浮动地址指针表PFRT 2,根据文件登记表FRT 3、增量文件登记表ΔFRT 4、文件分配表FAT 5、增量文件分配表ΔFAT 6四表擦除次数,移动上述四表至新的Flash存储块,释放四表的原存储块作为数据存储块,并不再承担四表存储块功能。
文件系统运行时需要不断地修改文件登记表FRT(1-N)和文件分配表FAT(1-N)的内容,如果将FRT、FAT固定在一个Flash存储块上,该存储块势必过早磨损失效,并导致文件系统的崩溃。因此,两表所在存储块的擦除次数达到某一阀值时,将FRT和FAT复制到空闲存储块,同时进行数据校验;校验成功后,在浮动地址指针表PFRT预留的文件首址指针页中写入新的FRT和ΔFRT首地址。
如图3所示,K9F6408UOM是三星公司推出的一款NAND Flash存储器芯片。芯片共有1024块,每块分为16页,每页528个字节,其中16个字节冗余,因此容量为1024*16*(512+16)字节=(8M+256K)字节。在数据区存储块每个页面冗余的16个字节中,写入文件编号、文件名,生成或最后修改时间、该文件上一个块的地址、下一个块地址等信息,作为FRT和FAT的冗余备份。一旦Flash存储器的FRT和FAT出现故障时,扫描分散在数据区的FRT和FAT冗余信息恢复文件系统。
如图4所示,所述的单级目录文件系统从Flash复制到RAM中运行时,不仅修改RAM内存中的文件登记表FRT 3和文件分配表FAT 5,同时将修改内容以增量形式写入Flash存储器中增量文件登记表ΔFRT 4和增量文件分配表ΔFAT 6,故障时以此增量信息恢复Flash存储器中的文件登记表FRT 3和文件分配表FAT 5,文件登记表FRT 3和文件分配表FAT 5更新时,遵循先写后擦原则。所述的单级目录文件系统利用Flash存储器每个页面冗余的字节,写入文件系统的文件编号、文件名、生成或最后修改时间、该文件的上一个块地址、下一个块地址的相关信息,作为Flash存储器文件系统文件登记表FRT 3和文件分配表FAT 5的冗余备份。
引导程序将文件系统加载至嵌入式系统的RAM内存。嵌入式系统运行时,RAM内存中的FRT和FAT修改内容实时写入Flash存储器ΔFRT和ΔFAT空白页。意外发生时,根据Flash存储器的增量信息恢复FRT和FAT。系统正常结束时,将RAM内存中的FRT和FAT表写入文件系统保留的FRT和FAT表暂存区块,校验成功后,擦除文件系统的FRT和FAT暂存表,拷贝两表暂存区块的FRT和FAT,并记录FRT和FAT表存储区块擦除次数,最后再擦除暂存区块;最后再将FRT和FAT信息写入数据区存储块每个页面的冗余字节中。

Claims (4)

1.一种嵌入式系统中NAND Flash存储器上建立文件系统的方法,其特征在于它是采用链接页方法管理存储空间的单级目录文件系统,单级目录文件系统的文件登记表(3)、文件分配表(5)应用浮动地址方式存储,RAM内存中的文件登记表(3)和文件分配表(5)的变化,实时在线以增量形式写入Flash存储器增量文件登记表(4)和增量文件分配表(6);单级目录文件系统中文件登记表(3)和文件分配表(5)的相关信息同时写入相关Flash数据区块页面的冗余字节内,作为单级目录文件系统的备份。
2.根据权利要求1所述的一种嵌入式系统中NAND Flash存储器上建立文件系统的方法,其特征在于所述的单级目录文件系统由系统信息与引导程序区(1)、指向FRT表的浮动地址指针表(2)、文件登记表(3)、增量文件登记表(4)、文件分配表(5)、增量文件分配表(6)和数据区(7)组成;文件登记表(3)、增量文件登记表(4)、文件分配表(5)、增量文件分配表(6)以可移动的数据形式存储,通过系统信息与引导程序区(1)和指向文件登记表(3)的浮动地址指针表(2)寻址;文件登记表(3)、增量文件登记表(4)、文件分配表(5)、增量文件分配表(6)存储地址变更时,将新地址写入指向文件登记表(3)的浮动地址指针表(2),根据文件登记表(3)、增量文件登记表(4)、文件分配表(5)、增量文件分配表(6)四表擦除次数,移动上述四表至新的Flash存储块,释放四表的原存储块作为数据存储块,并不再承担四表存储块功能。
3.根据权利要求1所述的一种嵌入式系统中NAND Flash存储器上建立文件系统的方法,其特征在于所述的单级目录文件系统从Flash复制到RAM中运行时,不仅修改RAM内存中的文件登记表(3)和文件分配表(5),同时将修改内容以增量形式写入Flash存储器中增量文件登记表(4)和增量文件分配表(6),故障时以此增量信息恢复Flash存储器中的文件登记表(3)和文件分配表(5),文件登记表(3)和文件分配表(5)更新时,遵循先写后擦原则。
4.根据权利要求1所述的一种嵌入式系统中NAND Flash存储器上建立文件系统的方法,其特征在于所述的单级目录文件系统利用Flash存储器每个页面冗余的字节,写入文件系统的文件编号、文件名、生成或最后修改时间、该文件的上一个块地址、下一个块地址的相关信息,作为Flash存储器文件系统文件登记表(3)和文件分配表(5)的冗余备份。
CNB2007101562078A 2007-09-30 2007-09-30 嵌入式系统中NAND Flash存储器上建立文件系统的方法 Expired - Fee Related CN100449549C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101562078A CN100449549C (zh) 2007-09-30 2007-09-30 嵌入式系统中NAND Flash存储器上建立文件系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101562078A CN100449549C (zh) 2007-09-30 2007-09-30 嵌入式系统中NAND Flash存储器上建立文件系统的方法

Publications (2)

Publication Number Publication Date
CN101140586A true CN101140586A (zh) 2008-03-12
CN100449549C CN100449549C (zh) 2009-01-07

Family

ID=39192538

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101562078A Expired - Fee Related CN100449549C (zh) 2007-09-30 2007-09-30 嵌入式系统中NAND Flash存储器上建立文件系统的方法

Country Status (1)

Country Link
CN (1) CN100449549C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203726A (zh) * 2008-09-10 2011-09-28 茵芬尼特麦默里有限公司 使用otp储存设备的方法
CN102508782A (zh) * 2011-09-29 2012-06-20 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
CN102789425A (zh) * 2012-07-17 2012-11-21 上海晟东电力科技有限公司 基于flash存储介质的文件读写方法
WO2013078870A1 (zh) * 2011-11-29 2013-06-06 华为技术有限公司 一种文件同步方法、装置及系统
CN103412779A (zh) * 2013-08-14 2013-11-27 浙江大学 一种嵌入式实时操作系统的补丁文件系统实现方法
CN103425546A (zh) * 2013-08-14 2013-12-04 江苏林洋电子股份有限公司 一种通用高效高可靠的Nor Flash数据存储管理方法
CN101685675B (zh) * 2008-09-26 2014-01-15 美光科技公司 存储器单元操作
CN103514063A (zh) * 2012-06-21 2014-01-15 浙江大华技术股份有限公司 一种flash数据处理方法以及装置
CN104598260A (zh) * 2013-10-31 2015-05-06 安凯(广州)微电子技术有限公司 一种列表项标识、添加和修改的方法及装置
CN108536554A (zh) * 2018-04-26 2018-09-14 威海海洋职业学院 一种数据文件的备份方法
CN112231244A (zh) * 2020-12-21 2021-01-15 深圳杰睿联科技有限公司 应用于SoftSIM的SIM卡文件擦写系统、方法和可读存储介质
CN113703985A (zh) * 2021-09-23 2021-11-26 瑞芯微电子股份有限公司 内存管理方法、介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395704C (zh) * 2005-08-27 2008-06-18 海信集团有限公司 一种在Nand Flash存储器中直接建立只读文件系统的方法
WO2007066909A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Method for guarantying data storing space using dual journaling
CN100501868C (zh) * 2006-03-02 2009-06-17 浙江大学 基于NAND Flash存储器文件系统的实现方法
CN100481025C (zh) * 2007-02-08 2009-04-22 深圳万利达电子工业有限公司 一种nandflash文件系统实现方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102203726A (zh) * 2008-09-10 2011-09-28 茵芬尼特麦默里有限公司 使用otp储存设备的方法
CN101685675B (zh) * 2008-09-26 2014-01-15 美光科技公司 存储器单元操作
CN102508782A (zh) * 2011-09-29 2012-06-20 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
CN102508782B (zh) * 2011-09-29 2014-09-10 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
WO2013078870A1 (zh) * 2011-11-29 2013-06-06 华为技术有限公司 一种文件同步方法、装置及系统
CN103514063B (zh) * 2012-06-21 2017-02-01 浙江大华技术股份有限公司 一种flash数据处理方法以及装置
CN103514063A (zh) * 2012-06-21 2014-01-15 浙江大华技术股份有限公司 一种flash数据处理方法以及装置
CN102789425B (zh) * 2012-07-17 2016-01-20 上海金智晟东电力科技有限公司 基于flash存储介质的文件读写方法
CN102789425A (zh) * 2012-07-17 2012-11-21 上海晟东电力科技有限公司 基于flash存储介质的文件读写方法
CN103425546A (zh) * 2013-08-14 2013-12-04 江苏林洋电子股份有限公司 一种通用高效高可靠的Nor Flash数据存储管理方法
CN103412779A (zh) * 2013-08-14 2013-11-27 浙江大学 一种嵌入式实时操作系统的补丁文件系统实现方法
CN103412779B (zh) * 2013-08-14 2016-12-28 浙江大学 一种嵌入式实时操作系统的补丁文件系统实现方法
CN104598260A (zh) * 2013-10-31 2015-05-06 安凯(广州)微电子技术有限公司 一种列表项标识、添加和修改的方法及装置
CN108536554A (zh) * 2018-04-26 2018-09-14 威海海洋职业学院 一种数据文件的备份方法
CN112231244A (zh) * 2020-12-21 2021-01-15 深圳杰睿联科技有限公司 应用于SoftSIM的SIM卡文件擦写系统、方法和可读存储介质
CN113703985A (zh) * 2021-09-23 2021-11-26 瑞芯微电子股份有限公司 内存管理方法、介质及电子设备
CN113703985B (zh) * 2021-09-23 2023-10-10 瑞芯微电子股份有限公司 内存管理方法、介质及电子设备

Also Published As

Publication number Publication date
CN100449549C (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
CN100449549C (zh) 嵌入式系统中NAND Flash存储器上建立文件系统的方法
US9547589B2 (en) Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8959280B2 (en) Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8130554B1 (en) Securely erasing flash-based memory
US8301861B2 (en) Startup reconstruction of logical-to-physical address translation data for solid state disks
KR102663661B1 (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
EP2382547B1 (en) Logical address offset
CN101515276B (zh) 一种文件数据写操作的方法、文件数据恢复方法及系统
CN101382918B (zh) 一种基于数据交换区的NAND Flash闪存优化管理方法
EP2389631B1 (en) Solid state memory formatting
CN115461727A (zh) 依序编程的存储器子系统中的异步断电处置
CN100565477C (zh) 一种NAND Flash存储器的动态管理方法
US9009396B2 (en) Physically addressed solid state disk employing magnetic random access memory (MRAM)
CN110806984B (zh) 在存储器系统中搜索有效数据的设备和方法
CN100501868C (zh) 基于NAND Flash存储器文件系统的实现方法
CN114730300B (zh) 对区命名空间存储器的增强型文件系统支持
US20130080687A1 (en) Solid state disk employing flash and magnetic random access memory (mram)
US20150212752A1 (en) Storage system redundant array of solid state disk array
US20090327590A1 (en) Enhanced mlc solid state device
Oh et al. SHARE interface in flash storage for relational and NoSQL databases
CN100533408C (zh) 一种闪存的安全读写方法
US8069299B2 (en) Banded indirection for nonvolatile memory devices
KR20070096429A (ko) 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
CN110895448A (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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Zhejiang Boxsam Electronic Co., Ltd.

Assignor: Zhejiang University

Contract record no.: 2012330000007

Denomination of invention: Method for building file systems on NAND flash memory in embedded system

Granted publication date: 20090107

License type: Exclusive License

Open date: 20080312

Record date: 20120110

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20190930