CN1619533A - 闪存文件管理系统及方法 - Google Patents
闪存文件管理系统及方法 Download PDFInfo
- Publication number
- CN1619533A CN1619533A CN 200310112274 CN200310112274A CN1619533A CN 1619533 A CN1619533 A CN 1619533A CN 200310112274 CN200310112274 CN 200310112274 CN 200310112274 A CN200310112274 A CN 200310112274A CN 1619533 A CN1619533 A CN 1619533A
- Authority
- CN
- China
- Prior art keywords
- node
- unit
- file management
- message
- flash
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种闪存文件管理系统及方法,其可管理对闪存文件的写入及更新操作,并能平衡闪存存储单元的损耗。该方法包括如下步骤:寻找需更新内容的第一节点单元;扫描闪存中可用的第二节点单元并依该第二节点单元的节点版本讯息排序;将第一节点单元的更新后的内容依序写入第二节点单元中;建立已写入内容的第二节点单元之间的节点链接关系;更新已写入内容的第二节点单元的版本讯息;删除第一节点单元数据区中的内容。利用本发明提供的系统与方法,可延长闪存的使用寿命。
Description
【技术领域】
本发明涉及一种闪存文件管理系统及方法,尤指一种可平衡闪存存储单元损耗的闪存文件管理系统及方法。
【背景技术】
目前的个人便携式电子产品主要采用两种方式来储存用户资料,一种是采用随机储存器(Random Access Memory,RAM)存储,另外一种就是采用闪存(Flash Memory)来储存。由于随机储存器存储只能在保持供电的状态下才能保存资料,否则资料将会丢失。故随机储存器一般用于保存临时资料。闪存是最常见的一种非挥发性内存(Non-Volatile Memory,NVM),在使用闪存保存资料时,一般可避免系统在电池没电的情况下发生丢失已存储的用户资料的情形。但是,由于闪存本身随机读、按扇区写和按块删除的特点,在突然掉电的瞬间,如果系统正在执行闪存块的擦除操作,则原来块上的内容也将全部丢失,如果系统是采用FAT的文件系统,在掉电的瞬间系统恰好正在更新文件分配表或ROOT表,则闪存上的资料可能全部丢失。
如中国国家知识产权局于2003年1月29日公开的,公开号为CN1393781A的专利,其专利名称为“闪存文件的管理方法”,该专利即揭示了一种稳定的闪存数据管理的方法,在闪存擦除过程中出现掉电时,其可将资料的损失减少到最低。但该方法不能提供对闪存存储单元的损耗平衡的解决方案,可能会因为对闪存的某一局部擦写过频,而导致闪存的局部坏块过多以致影响其使用寿命。
为此,希望提供了一种存储文件安全,且使用寿命长的闪存文件管理系统及其管理方法,以消除上述的缺失。
【发明内容】
本发明的目的是提供一种能够平衡闪存存储单元的损耗的闪存文件管理系统及方法。
本发明提供一种闪存文件管理系统,是将闪存内部的每一存储块设为一节点单元,每个节点单元设有节点头信息区、数据区及节点状态信息区,其中,节点状态信息区包含有一节点版本讯息,该节点版本讯息用于表征该节点单元被擦除或被写入的次数,其为一数值,每当对该节点进行一次擦除或写入动作时,该节点版本数值即会相应增加一固定权值;每次对闪存进行写入操作之前,会先扫描所有可用的节点单元,选择一节点版本数值最小的节点单元进行写入操作。
其中,该节点状态信息区用于保存节点状态信息,该节点状态信息还包括有节点索引讯息、节点可用标志、节点删除标志、节点链接讯息。
本发明另外提供一种闪存文件管理方法,用于向闪存中写入新文件内容,并可平衡闪存的磨损,其包括有以下步骤:(a)扫描闪存,在闪存中查找可用的节点单元;(b)依节点单元的版本数值对可用的节点单元进行排序;(c)将文件内容依次写入至少一个可用的节点单元中;(d)建立这些已写入文件内容的可用的节点单元间的节点链接关系;(e)更新该已写入文件内容的可用的节点单元的版本讯息。
本发明还提供一种闪存文件管理方法,是用于更新闪存中文件内容并可平衡闪存的磨损,该方法包括如下内容:(a)寻找需更新内容的第一节点单元;(b)扫描闪存中可用的第二节点单元并依该第二节点单元的节点版本讯息排序;(c)将第一节点单元的更新后的内容依序写入第二节点单元中;(d)建立已写入内容的第二节点单元之间的节点链接关系;(e)更新已写入内容的第二节点单元的版本讯息;(f)删除第一节点单元数据区中的内容。
由于本发明在更新节点单元的内容过程中,没有采用覆盖的方法,而是采用擦除操作在写入操作之后进行的方法,这样就很大程度保证了闪存中文件的安全性。另外,在本发明中,每次对节点单元进行写入操作之前,均会先判断该节点单元的节点版本讯息中的数值,优先对低版本数值的节点单元进行操作,这样,会尽可能平均每一节点单元的擦除与写入的次数,从而可平衡闪存存储单元损耗,达到延长闪存整体使用寿命的功效。
【附图说明】
图1是本发明闪存文件管理系统的文件结构设置示意图。
图2是图1中节点头信息区的示意图。
图3是图1中节点状态信息区的示意图。
图4是本发明闪存文件管理方法的向闪存中写入新文件的流程图。
图5是本发明闪存文件管理方法的更新闪存中已有文件的流程图。
【具体实施方式】
请参阅图1所示,是本发明闪存文件管理系统的文件结构设置示意图。在本发明中,是将闪存内部的每一存储块(block)设为一节点单元1,这些节点单元1可以有大小之分,但其中每一个节点单元1都设有节点头信息区10、数据区11和节点状态信息区12。在本发明中的实施例中,闪存文件依其大小存放于一个或多个节点单元1中。其中数据区12用于存放这些闪存文件的具体内容。
请参阅图2所示,是图1中节点头信息区的示意图。该节点头信息区10用于保存该节点单元的基本信息,这些信息包括有节点类型100、节点长度101及一个节点头循环冗余校验讯息102。
请参阅图3所示,是图1中节点状态信息区的示意图。节点状态信息区12用于保存该节点的状态信息,该节点状态信息至少包括有节点版本讯息120、节点索引讯息121、节点可用标志122、节点删除标志123、节点链接讯息124和备用区125。其中,节点版本讯息120是用于表征该节点单元被擦除或被写入的次数的多寡,其为一数值,每当对该节点进行一次擦除或写入动作时,该节点版本数值即会相应增加一固定权值(如1)。节点索引讯息121是用于表征闪存中该节点单元的逻辑位置。节点可用标志122是用于表征该节点单元是否可被使用,即该节点单元是否还有可用的存储空间,如果该节点为可用状态时,则该节点可用标志122会标记一预定的标志(如“1”),相反,如果该节点不可用,则其会标记另外的标志,而节点不可用又包括两种情形,其一为该节点数据区已写满了资料,该种情形下,只能对其进行擦除操作,而不能进行写入操作;其二为该节点单元已损坏,该种情形下,不能对其进行任何擦除与写入的操作;该两种情形(“满”或“坏”状态)又可用相应的标志进行标记(如“F”或“S”)。当节点单元中的文件内容需要擦除时,则删除标志123中会标记一特定标志(如“C”),当删除标志为“C”时,则该节点的文件内容会在一预定的时间间隔后,或在下一次激活该文件时擦除。节点链接讯息124是用于提供记录讯息,以记录该节点单元与其在前节点单元及其在后节点单元之间的逻辑链接关系,其一般记录有在前节点单元的节点索引讯息及其在后节点单元的节点索引讯息,利用节点链接讯息124,可以为写入不同的节点单元的闪存文件建立一逻辑上的链接关系及先后顺序,当某一节点的内容被擦除时,节点链接讯息125中的内容随之取消。备用区125是用于存储该节点的新增或临时的状态讯息。
该闪存文件管理系统中的每一闪存文件存放于至少一个包含上述特征的节点单元中,其是通过该节点链接讯息125来保证这些节点单元逻辑上连结的正确性。另外,每次对节点单元进行写入操作之前,均会先判断该节点单元的节点版本讯息中的数值,优先对低版本数值的节点单元进行写入操作,这样,会尽可能平均每一节点单元的擦写次数,从而达到延长整体闪存使用寿命的功效。
请参阅图4所示,是本发明闪存文件管理方法的向闪存中写入新文件的流程图。系统首先扫描整个闪存,寻找是否有可用的节点单元,即找出节点可用标志122为“1”的所有节点单元(步骤S410)。对这些所找出的节点单元,依照其节点版本讯息120中节点版本数值的大小进行排序,在本实施例中采用升幂排序(步骤S420)。将文件内容最先写入版本数值最小的一节点单元的数据区11中,如果文件大小超过该节点数据区容量的大小,则将剩下的文件内容写入下一低版本数值的节点单元的数据区11中,直至将文件内容全部写入闪存中(步骤S430)。建立这些已写入文件内容的节点单元之间的节点链接关系,举例来说,假设该闪存文件被写入了三个节点单元中,即节点单元一、节点单元二和节点单元三,该三个节点单元在物理位置上可能是离散的而非顺序相连,则需通过节点链接讯息来建立他们之间的逻辑联系和先后顺序,在本实施例中是采用如下方法来实现:即在节点单元一的节点链接讯息中记录其在后节点单元为节点单元二,并记录节点单元二的节点索引讯息(逻辑地址讯息);在节点单元二的节点链接讯息中记录其在前节点单元为节点单元一,并记录节点单元一的索引讯息,记录其在后节点单元为节点单元三,并记录节点单元三的索引讯息;在节点单元三的节点链接讯息中记录其在前节点单元为节点单元二,并记录节点单元二的索引讯息,藉此,可知该闪存文件在逻辑上是顺序存储于节点单元一、二、三中(步骤S440)。更新写入文件内容的节点单元的版本讯息,即在这些节点单元版本数值分别加上一固定的权值,例如,在上例中,可将节点单元一、二、三的节点版本数分别加1(步骤S450),并把上述节点单元的节点可用标志标记为“满”状态。则整个流程结束。
请参阅图5所示,是本发明闪存文件管理方法的更新闪存中已有文件的流程图。该流程是用于实现对闪存中已有的文件进行更新操作,其中有一些步骤与图4中所提及的步骤相类似。当需要对闪存中的某一闪存文件进行更新操作时,首先,找到该闪存文件在闪存中所对应的节点单元,该节点单元可以为多个,为便于叙述,称其为第一节点单元(步骤S510)。接着扫描该闪存,寻找其中的可用的节点单元并依这些节点版本数值升幂排序(步骤S520)。将更新后的内容最先写入版本数值最小的一节点单元的数据区中,所述更新后的内容包括原闪存文件中不需更新的部份及需要更新且已更新的部份,如果更新后的内容大小超过该节点数据区容量的大小,则将剩下的文件内容写入下一最小版本数值的节点单元的数据区11中,直至将文件内容全部写入闪存中,为便于叙述,称这些写入更新内容的节点单元为第二节点单元(步骤S430)。建立第二节点单元之间的链接关系,该步骤与图4中的步骤S440同(步骤S540)。更新第二节点单元的版本讯息,将第二节点单元的节点版本数值分别加上一固定权值,并将第二节点单元的节点可用标志标记为“满”状态(步骤S550)。将第一节点单元的删除标志标记为预定的“C”(步骤S560)。则在一预定的时间间隔后,或在下一次激活该文件时,将该第一节点单元的文件内容删除,并取消这些节点单元间的链接关系(步骤S570)。更新该第一节点单元的版本讯息,将第一节点单元的节点版本数值分别加上一固定权值,并将第一节点单元的节点可用标志标记为“可用”状态(步骤S580)。
由于本发明的更新节点单元的内容过程中,没有采用覆盖的方法,而是采用擦除操作在写入操作之后进行的方法,避免了以往当向闪存更新资料时,出现掉电情形,则导致闪存文件中的新资料和旧资料同时丢失的缺失,这样就很大程度保证了闪存中文件的安全性。另外,在本发明中,每次对节点单元进行写入操作之前,均会先判断该节点单元的节点版本讯息中的数值,优先对低版本数值的节点单元进行操作,这样,会尽可能平均每一节点单元的擦除与写入的次数,从而可平衡闪存存储单元损耗,达到延长整体闪存使用寿命的功效。
Claims (18)
1.一种闪存文件管理系统,其将闪存内部的每一存储块设为一节点单元,每个节点单元设有节点头信息区、数据区及节点状态信息区,其特征在于,其中:
节点状态信息区包含有一节点版本讯息,该节点版本讯息用于表征该节点单元被擦除或被写入的次数,其为一数值,每当对该节点单元进行一次擦除或写入动作时,该节点版本数值即会相应增加一固定权值;
每次对闪存进行写入操作之前,该闪存文件管理系统会先扫描所有可用的节点单元,选择一节点版本数值最小的节点单元进行写入操作。
2.如权利要求1所述的闪存文件管理系统,其特征在于,其中该节点头信息区用于保存节点基本信息,该基本信息至少包括有节点类型、节点长度及一个节点头循环冗余校验信息。
3.如权利要求1所述的闪存文件管理系统,其特征在于,其中该节点状态信息区用于保存节点状态信息,该节点状态信息还包括有节点索引讯息、节点可用标志、节点删除标志、节点链接讯息。
4.如权利要求3所述的闪存文件管理系统,其特征在于,其中,节点删除标志标记节点单元的数据区中的数据处于需删除状态。
5.如权利要求3所述的闪存文件管理系统,其特征在于,其中该节点链接讯息用来为写入不同的节点单元的闪存文件建立一逻辑上的链接关系及先后顺序。
6.一种闪存文件管理方法,用于向闪存中写入新文件内容并可平衡闪存的磨损,其特征在于包括有以下步骤:
(a)扫描闪存,在闪存中查找可用的节点单元;
(b)依节点单元的版本数值对可用的节点单元进行排序;
(c)将文件内容依次写入至少一个可用的节点单元中;
(d)建立这些已写入文件内容的可用的节点单元间的节点链接关系;
(e)更新这些已写入文件内容的可用的节点单元的版本讯息。
7.如权利要求6所述的闪存文件管理方法,其特征在于,其中步骤(c)包括首先向节点版本数值最小的可用节点单元写入文件内容的步骤。
8.如权利要求7所述的闪存文件管理方法,其特征在于,其中步骤(d)还包括在该节点单元的节点链接讯息中记录其在前节点单元的索引讯息及其在后节点单元的索引讯息的步骤。
9.如权利要求8所述的闪存文件管理方法,其特征在于,其中更新版本讯息的步骤(e)包括给所述的节点单元的节点版本数值加上一固定权值的步骤。
10.如权利要求9所述的闪存文件管理方法,其特征在于,其中在步骤(c)之后还包括将这些节点单元的节点可用标志标记为“满”状态的步骤。
11.一种闪存文件管理方法,用于更新闪存中文件内容,并可平衡闪存的磨损,其特征在于包括如下内容:
(a)寻找需更新内容的第一节点单元;
(b)扫描闪存中可用的第二节点单元,并依该第二节点单元的节点版本讯息排序;
(c)将第一节点单元的更新后的内容依序写入第二节点单元中;
(d)建立已写入内容的第二节点单元之间的节点链接关系;
(e)更新已写入内容的第二节点单元的版本讯息;
(f)删除第一节点单元数据区中的内容。
12.如权利要求11所述的闪存文件管理方法,其特征在于,其中步骤(b)中包括依所述第二节点单元的节点版本数值大小进行升幂排序的步骤。
13.如权利要求12所述的闪存文件管理方法,其特征在于,其中步骤(c)包括首先向节点版本数值最小的第二节点单元中写入更新后的文件内容,然后按节点版本数值的升幂顺序依次将文件内容写入第二节点单元中的步骤。
14.如权利要求11所述的闪存文件管理方法,其特征在于,在步骤(c)之后还包括将该第一节点单元中的节点可用标志标记为“满”状态的步骤。
15.如权利要求11所述的闪存文件管理方法,其特征在于,其中步骤(d)还包括在该第二节点单元的节点链接讯息中记录其在前节点单元的索引讯息及其在后节点单元的索引讯息的步骤。
16.如权利要求11所述的闪存文件管理方法,其特征在于,其中步骤(e)包括给所述的第二节点单元的节点版本数值加上一固定权值的步骤。
17.如权利要求11的闪存文件管理方法,其特征在于,其在步骤(c)和步骤(f)之间还包括将第一节点单元标记一预定的删除标志的步骤。
18.如权利要求11的闪存文件管理方法,其特征在于,其中在步骤(f)之后还包括如下步骤:
删除该第一节点单元中的节点链接讯息;
更新该已删除内容的第一节点单元中的版本讯息;
将该第一节点单元中的节点可用标志标记为“可用”状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310112274 CN1619533A (zh) | 2003-11-17 | 2003-11-17 | 闪存文件管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310112274 CN1619533A (zh) | 2003-11-17 | 2003-11-17 | 闪存文件管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1619533A true CN1619533A (zh) | 2005-05-25 |
Family
ID=34759684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310112274 Pending CN1619533A (zh) | 2003-11-17 | 2003-11-17 | 闪存文件管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1619533A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454302C (zh) * | 2005-10-24 | 2009-01-21 | 中兴通讯股份有限公司 | 一种文件管理系统及管理方法 |
CN101923516A (zh) * | 2009-05-15 | 2010-12-22 | 旺宏电子股份有限公司 | 以区块为基础的快闪存储装置及其操作方法 |
CN101419840B (zh) * | 2007-10-23 | 2012-05-30 | 宇瞻科技股份有限公司 | 闪存的数据储存方法 |
CN103430178A (zh) * | 2013-01-30 | 2013-12-04 | 华为技术有限公司 | 数据更新方法及装置和产品 |
CN103455449A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 非易失性存储介质访问方法、数据更新方法及设备 |
WO2019072088A1 (zh) * | 2017-10-13 | 2019-04-18 | 杭州海康威视系统技术有限公司 | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
-
2003
- 2003-11-17 CN CN 200310112274 patent/CN1619533A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454302C (zh) * | 2005-10-24 | 2009-01-21 | 中兴通讯股份有限公司 | 一种文件管理系统及管理方法 |
CN101419840B (zh) * | 2007-10-23 | 2012-05-30 | 宇瞻科技股份有限公司 | 闪存的数据储存方法 |
CN101923516A (zh) * | 2009-05-15 | 2010-12-22 | 旺宏电子股份有限公司 | 以区块为基础的快闪存储装置及其操作方法 |
CN101923516B (zh) * | 2009-05-15 | 2013-02-06 | 旺宏电子股份有限公司 | 以区块为基础的快闪存储装置及其操作方法 |
CN103430178A (zh) * | 2013-01-30 | 2013-12-04 | 华为技术有限公司 | 数据更新方法及装置和产品 |
WO2014117337A1 (zh) * | 2013-01-30 | 2014-08-07 | 华为技术有限公司 | 数据更新方法及装置和产品 |
CN103455449A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 非易失性存储介质访问方法、数据更新方法及设备 |
WO2019072088A1 (zh) * | 2017-10-13 | 2019-04-18 | 杭州海康威视系统技术有限公司 | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
CN109669623A (zh) * | 2017-10-13 | 2019-04-23 | 杭州海康威视系统技术有限公司 | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
CN109669623B (zh) * | 2017-10-13 | 2021-09-03 | 杭州海康威视系统技术有限公司 | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8121994B2 (en) | Partially embedded database and an embedded database manager for a control system | |
US8745316B2 (en) | System and method of managing indexation of flash memory | |
US7610437B2 (en) | Data consolidation and garbage collection in direct data file storage memories | |
US6651075B1 (en) | Support for multiple temporal snapshots of same volume | |
CN101930404B (zh) | 存储装置及其操作方法 | |
KR100260028B1 (ko) | 화일시스템의 정보 복구방법 | |
CN101027651B (zh) | 最佳顺序性簇管理的fat分析 | |
US7401174B2 (en) | File system defragmentation and data processing method and apparatus for an information recording medium | |
CN104063186B (zh) | 一种电子设备的数据访问方法 | |
CN106502587B (zh) | 硬盘数据管理方法和硬盘控制装置 | |
JPH07191892A (ja) | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム | |
CN101673243B (zh) | 数据储存装置与方法 | |
CA2574756A1 (en) | Systems, methods, computer readable medium and apparatus for memory management using nvram | |
CN101976226B (zh) | 一种数据存储方法 | |
CN1619533A (zh) | 闪存文件管理系统及方法 | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
CN110096229A (zh) | 硬盘fat32文件系统分区快速搜索重组与恢复方法 | |
EP0694831A2 (en) | Computer system having storage unit provided with data compression function andmethod of management of storage area thereof | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 | |
US20050108301A1 (en) | Method for balancing wear when writing data in a flash memory | |
CN1567261A (zh) | 闪存文件系统及方法 | |
US20040254961A1 (en) | Method for balancing wear when writing data in a flash memory | |
CN100455081C (zh) | 一种扩展用户卡中记录信息的方法 | |
CN1308836C (zh) | 数据储存的方法及系统 | |
CN114996213B (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 |