CN1567261A - 闪存文件系统及方法 - Google Patents
闪存文件系统及方法 Download PDFInfo
- Publication number
- CN1567261A CN1567261A CN 03126878 CN03126878A CN1567261A CN 1567261 A CN1567261 A CN 1567261A CN 03126878 CN03126878 CN 03126878 CN 03126878 A CN03126878 A CN 03126878A CN 1567261 A CN1567261 A CN 1567261A
- Authority
- CN
- China
- Prior art keywords
- node
- flash memory
- file
- mentioned
- 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.)
- Pending
Links
Images
Abstract
一种闪存文件系统及方法,上述闪存文件系统的文件构成为一文件节点列表,其由一个文件节点链接信息来保证这些文件节点逻辑上连结的正确性,且所有的文件节点还包括一个节点版本次数信息,每对上述文件节点进行一次写入或擦除,系统就会将其版本次数加一,系统在写入新数据前,首先会扫描和编排那些离散的空白文件节点,然后将新数据写入到那些版本次数较小的空白文件节点上,存储旧文件数据的文件节点会被标上垃圾收集标志信息,一段适当时间之后这些文件节点上的旧数据将会被系统删除。由于系统都是从版本次数较小的文件节点开始写入数据,故可以保证每一文件节点的写入或擦除操作次数基本相当,从而延长了整个闪存的使用寿命。
Description
【技术领域】
本发明涉及一种闪存文件系统及方法,特别是一种可平衡闪存存储单元损耗的闪存文件系统及方法。
【背景技术】
目前的个人便携式电子产品主要采用两种方式来储存用户数据,一种是用随机储存器(Random Access Memory,RAM)存储,另外一种就是使用闪存(Flash Memory)来储存。使用随机储存器存储数据的优点在于其价格便宜,使用方便且读取速度快。但是,随机储存器的最大不便之处在于它只能在保持供电的状态下才能保存数据,否则数据将会丢失,由于再好的系统也无法保证供电系统永远正常,因此,在电池没电的时候,随机储存器中的数据将全部丢失,无法保证用户数据的安全。
闪存是最常见的一种非挥发性内存(Non-Volatile Memory,NVM),其组件集成度高,在使用闪存保存数据时,可避免系统在电池没电的情况下已存储的用户数据丢失。但是,由于闪存本身随机读、按扇区写和按块删除的特点,在突然掉电的瞬间,如果系统正在执行闪存块的擦除操作,则原来块上的内容也将全部丢失,如果系统是采用FAT的文件系统,在掉电的瞬间系统恰好正在更新文件分配表或ROOT表,则闪存上的数据可能全部丢失。
如中国专利申请第01119887.7号,其将闪存中的每一个物理块设置为一个管理单元,每个管理单元设有文件块首控信息区、数据区和文件块状态信息区,每一个文件由一个或一个以上的管理单元组成。由于其存储文件的方法中没有对闪存存储单元的损耗平衡解决方案,可能会导致闪存的局部坏块过多而影响其使用寿命。
因此,如何提供一种存储文件安全,且使用寿命长的闪存文件系统及其管理方法,即为本发明所要解决的课题。
【发明内容】
本发明的目的在于提供一种能够平衡闪存存储单元的损耗,且提供闪存文件掉电保护的闪存文件系统及方法。
本发明的目的是通过以下技术方案实现的:本发明提供一种闪存文件系统,其文件构成为一文件节点列表,上述文件节点列表中的每一节点都设有节点头信息区、数据区和节点状态信息区。其中上述节点头信息区用于保存节点头信息,上述节点头信息至少包括有节点类型、节点长度及一个节点头循环冗余校验信息,上述数据区用于保存文件数据,上述节点状态信息区用于保存节点状态信息,上述节点状态信息至少包括有节点版本次数、损坏标志、可用标志、垃圾收集标志、节点链接信息和备用区信息,其中上述节点链接信息用来保证上述等文件节点逻辑上连结的正确性,而系统每对一文件节点进行一次写入或擦除操作,上述节点的节点版本次数就会被加一,且系统都是从版本次数较小的文件节点开始向闪存写入数据。
本发明另提供一种闪存文件系统管理方法,系统在重组文件时,首先扫描整个闪存,找到需要修改的文件节点所在的区域,然后计算需要修改处的文件节点位置偏移量,而后利用上述位置偏移量来截断文件,再通过系统指令在上述处进行修改或删除文件数据。所有对文件的重组只是逻辑上截断文件而对文件进行修改或删除,使得对文件修改的逻辑上的位置是对的,实际上新数据在写入前,系统会首先扫描和编排那些离散的空白文件节点,然后将新数据写入到那些版本次数较小的空白文件节点上,存储旧文件数据的文件节点会被标上垃圾收集标志信息,一段适当时间之后这些文件节点上的旧数据将会被系统删除,所有经写入或擦除过的文件节点的节点版本次数加一。因此,当系统正在往闪存芯片中写入数据时掉电,闪存文件中的新数据和旧数据将都不会丢失,这样就保证了闪存中文件的安全性。由于系统都是从版本次数较小的文件节点开始写入数据,故可以保证每一文件节点的写入或擦除操作次数基本相当,从而延长了整个闪存的使用寿命。
由于采用了上述技术方案,本发明闪存文件系统具有存储文件安全,且使用寿命长的功效。
下面参照附图,结合实施例对本发明作进一步描述。
【附图说明】
图1是本发明闪存文件系统的文件结构设置示意图。
图2是第一图中节点头信息的结构设置示意图。
图3是第一图中节点状态信息的结构设置示意图。
图4是本发明闪存文件系统及方法的文件重组流程图。
图5是本发明闪存文件系统及方法的文件重组过程中向闪存写入新数据的流程图。
【具体实施方式】
请参阅图1至图3,其为本发明闪存文件系统的文件结构设置与文件节点设置示意图。上述闪存文件系统中的文件构成为一文件节点列表,其中,每一个节点都设有节点头信息区10、数据区20和节点状态信息区30。上述节点头信息区10用于保存节点头信息,上述节点头信息至少包括有节点类型11、节点长度12及一个节点头循环冗余校验信息13,数据区20用于保存文件数据,节点状态信息区30用于保存节点状态信息,上述节点状态信息至少包括有节点版本次数31、损坏标志32、可用标志33、垃圾收集标志34、节点链接信息35和备用区信息36。
上述闪存文件系统中的每一文件都是由包含上述特征的文件节点的列表构成,其由上述文件节点链接信息35来保证这些文件节点逻辑上连结的正确性,所有的文件节点还包括一个节点版本次数信息,每对上述文件节点进行一次写入或擦除,系统就会将其版本次数加一。请参阅图4,为本发明闪存文件系统及方法的文件重组流程图。重组文件时,系统首先扫描整个闪存(步骤110),找到需要修改的文件节点所在的区域(步骤120),然后计算需要修改处的文件节点位置偏移量(步骤130),而后利用上述位置偏移量来截断文件(步骤140),再通过系统指令在上述处进行修改或删除文件数据(步骤150)。
所有对文件的重组只是逻辑上截断文件而对文件进行修改或删除,使得对文件修改的逻辑上的位置是对的,请参阅图5,为本发明闪存文件系统及方法的文件重组过程中向闪存写入新数据的流程图。实际上新数据在写入前,系统会首先扫描和编排那些离散的空白文件节点(步骤210),然后将新数据写入到那些版本次数较小的空白文件节点上(步骤220),存储旧文件数据的文件节点会被标上垃圾收集标志信息(步骤230),一段适当时间之后这些文件节点上的旧数据将会被系统删除(步骤240),所有经写入或擦除过的文件节点的节点版本次数加一(步骤250)。因此,当系统正在往闪存芯片中写入数据时掉电,闪存文件中的新数据和旧数据将都不会丢失,这样就保证了闪存中文件的安全性。由于系统都是从版本次数较小的文件节点开始写入数据,故可以保证每一文件节点的写入或擦除操作次数基本相当,从而延长了整个闪存的使用寿命。
Claims (11)
1.一种闪存文件系统,其特征在于:上述闪存文件系统的文件构成为一文件节点列表,上述文件节点列表中的每一节点都设有节点头信息区、数据区和节点状态信息区。
2.如权利要求1所述的闪存文件系统,其特征在于:上述节点头信息区用于保存节点头信息,上述节点头信息至少包括有节点类型、节点长度及一个节点头循环冗余校验信息。
3.如权利要求1所述的闪存文件系统,其特征在于:上述数据区用于保存文件数据。
4.如权利要求1所述的闪存文件系统,其特征在于:上述其中上述节点状态信息区用于保存节点状态信息,上述节点状态信息至少包括有节点版本次数、损坏标志、可用标志、垃圾收集标志、节点链接信息和备用区信息。
5.如权利要求4所述的闪存文件系统,其特征在于:上述节点链接信息用来保证这些文件节点逻辑上连结的正确性。
6.如权利要求1或4所述的闪存文件系统,其特征在于:上述闪存文件系统每对一文件节点进行一次写入或擦除操作,上述节点的节点版本次数就会加一。
7.如权利要求1或4所述的闪存文件系统,其特征在于:上述闪存文件系统都是从版本次数较小的文件节点开始向闪存写入数据。
8.一种闪存文件系统管理方法,其特征在于其包括有以下步骤:
(a)扫描和编排离散的空白文件节点;
(b)将新数据写入到版本次数较小的空白文件节点上;
(c)将存储旧文件数据的文件节点标上垃圾收集标志信息;
(d)一段适当时间之后将这些存储旧文件数据的文件节点上的旧数据删除。
9.如权利要求8所述的闪存文件系统管理方法,其特征在于:上述闪存文件系统都是从版本次数较小的文件节点开始向闪存写入数据。
10.如权利要求8所述的闪存文件系统管理方法,其特征在于:上述闪存文件系统将经写入或擦除过的文件节点的节点版本次数加一。
11.如权利要求8所述的闪存文件系统管理方法,其特征在于:步骤(a)进一步包括以下步骤:
(a1)扫描整个闪存;
(a2)找到需要修改处的文件节点区域;
(a3)计算需要修改的文件节点位置偏移量;
(a4)确定位置截断文件;
(a5)利用文件节点的节点版本次数信息来编排离散的空白文件节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03126878 CN1567261A (zh) | 2003-06-13 | 2003-06-13 | 闪存文件系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03126878 CN1567261A (zh) | 2003-06-13 | 2003-06-13 | 闪存文件系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1567261A true CN1567261A (zh) | 2005-01-19 |
Family
ID=34469098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03126878 Pending CN1567261A (zh) | 2003-06-13 | 2003-06-13 | 闪存文件系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1567261A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100481025C (zh) * | 2007-02-08 | 2009-04-22 | 深圳万利达电子工业有限公司 | 一种nandflash文件系统实现方法 |
CN102122236A (zh) * | 2011-03-21 | 2011-07-13 | 成都市华为赛门铁克科技有限公司 | 写请求的处理方法及装置 |
CN103295632A (zh) * | 2013-05-28 | 2013-09-11 | 中国电子科技集团公司第十研究所 | 防止意外掉电引起线性累计数据突变的方法 |
WO2021129048A1 (zh) * | 2019-12-27 | 2021-07-01 | 中兴通讯股份有限公司 | 一种文件数据写入方法、装置、设备及存储介质 |
-
2003
- 2003-06-13 CN CN 03126878 patent/CN1567261A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100481025C (zh) * | 2007-02-08 | 2009-04-22 | 深圳万利达电子工业有限公司 | 一种nandflash文件系统实现方法 |
CN102122236A (zh) * | 2011-03-21 | 2011-07-13 | 成都市华为赛门铁克科技有限公司 | 写请求的处理方法及装置 |
CN103295632A (zh) * | 2013-05-28 | 2013-09-11 | 中国电子科技集团公司第十研究所 | 防止意外掉电引起线性累计数据突变的方法 |
WO2021129048A1 (zh) * | 2019-12-27 | 2021-07-01 | 中兴通讯股份有限公司 | 一种文件数据写入方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186350B (zh) | 混合存储系统及热点数据块的迁移方法 | |
CN101930404B (zh) | 存储装置及其操作方法 | |
CN101493794B (zh) | 一种闪存数据处理方法及装置 | |
US7610437B2 (en) | Data consolidation and garbage collection in direct data file storage memories | |
CN104063186B (zh) | 一种电子设备的数据访问方法 | |
CN100481025C (zh) | 一种nandflash文件系统实现方法 | |
CN102508787B (zh) | 混合结构内存的内存分配系统及方法 | |
CN101436158B (zh) | 一种基于嵌入式设备闪存的参数管理方法和系统 | |
CN100456264C (zh) | 一种磁盘空间管理方法及系统 | |
DE102013106242A1 (de) | Halbleiterlaufwerk mit Konvertierungsschicht (ETL) und Umleitung von temporären Dateien zur Verschleissminderung von Flashspeichern | |
CN101620572B (zh) | 非易失性内存及控制方法 | |
CN103246609B (zh) | 一种闪存存储设备中冷热数据区分管理的方法及装置 | |
CN102135942A (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN103365786A (zh) | 数据存储方法、装置和系统 | |
US8788784B2 (en) | Method and device for storing and reading/writing composite document | |
CN112882650A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN108628542A (zh) | 一种文件合并方法及控制器 | |
CN101425342B (zh) | 针对NAND Flash冗余码的存取方法 | |
CN112882649A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN100507873C (zh) | 一种闪存中的flash文件的管理方法及系统 | |
CN1849590A (zh) | 管理闪存内被擦除的块 | |
CN103309619A (zh) | 一种闪存数据存储方法 | |
CN101324899B (zh) | 一种快速写nand型flash的方法 | |
CN102999441A (zh) | 一种细粒度内存访问的方法 | |
CN1567261A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |