掌桥专利:专业的专利平台
掌桥专利
首页

一种flash存储器数据管理方法

文献发布时间:2023-06-19 11:45:49


一种flash存储器数据管理方法

技术领域

本发明涉及数据存储领域,特别涉及一种flash存储器数据管理方法。

背景技术

随着科学技术的发展,flash存储器的应用越来越广泛,在存储资源较少的嵌入式平台,无法植入文件系统,重要数据需要掉电保存,并不能存储在RAM当中,对这类数据读取和更新过程中会降低系统效率、影响系统稳定性并且容易发生操作错误。

发明内容

为解决上述问题,本发明提供一种flash存储器数据管理方法,解决了在数据读取的过程中,系统对flash存储器内数据内容检索复杂与慢的问题。

为实现上述的目的,本发明采用的技术方案为:一种flash存储器数据管理方法,包括步骤:

A、将flash划分为多个区域,其中包括表头区、数据区;

B、写入数据,将数据存储在所述数据区并将数据信息存储在所述表头区;

C、将所述表头区数据拷贝到RAM中;

D、读取数据,系统读取所述RAM中的所述数据信息。

进一步地,A步骤中,对所述表头区包括以下步骤:

a1、在所述表头区建立数据索引信息节点,所述数据索引信息节点包括是否为有效数据、数据ID、数据地址、数据长度、表头区索引信息节点地址。

进一步地,B步骤中,对写入数据包括以下步骤:

b1、判断所述数据索引信息节点中是否有写入相同的所述数据ID;

b2、若是,将相同所述数据ID的所述数据索引信息节点中有效数据标志位改写为无效数据标志写入数据,并保留所述数据ID在空白的所述数据索引信息节点存储所述数据信息;

b3、若否,所述数据索引信息节点存储所述数据信息。

进一步地,C步骤中,对所述数据索引信息节点拷贝到RAM包括以下步骤:

c1、检测所述表头区为有效数据的所述数据索引信息节点;

c2、将是有效数据的所述数据索引信息节点以链表的形式拷贝到RAM中。

进一步地,D步骤中,对RAM数据读取包括以下步骤:

d1、RAM查询链表中所述数据ID以及对应所述数据索引信息节点;

d2、查询所述数据索引信息节点中所述数据地址、数据长度,并读取数据。

进一步地,其中还包括E步骤:

e1、将flash划分为多个区域,还包括备份区,检测所述表头区或所述数据区数据是否满载;

e2、若所述表头区满载,将满载的所述表头区的数据拷贝至所述备份区,擦除满载的所述表头区形成空白所述表头区,将备份区数据拷贝至空白所述表头区,擦除所述备份区数据:

e3、若所述数据区满载,将满载的所述数据区的数据备份至所述备份区,擦除满载的所述数据区形成空白所述数据区,将备份区数据拷贝至空白所述数据区,擦除所述备份区数据。

进一步地,e2步骤中,还包括以下步骤:

e21、检测所述表头区数据中有效的所述数据索引信息节点;

e22、将所述数据索引信息节点拷贝至所述备份区,擦除满载的所述表头区;

e23.形成空白所述表头区将备份区数据拷贝至空白所述表头区,擦除所述备份区数据;

e24、更新所述数据索引信息节点中所述表头区索引信息节点地址。

进一步地,e3步骤中,还包括以下步骤:

e31、将所述数据区数据中拷贝至所述备份区,擦除满载的所述数据区;

e32、形成空白所述数据区将备份区数据拷贝至空白所述数据区,擦除所述备份区数据;

e33、更新表头区索引信息节点地址中数据ID相对应的所述数据地址。

本发明的有益效果:本发明提供了一种flash存储器数据管理方法,解决了系统对flash存储器内数据内容检索复杂与慢的问题,通过将数据信息拷贝在RAM中,在系统读取数据时,通过直接在RAM中的链表中检索数据地址与长度,达到快速定位数据地址的目的提高了系统的稳定性,同时在flash存储器操作过程中,每个扇区存满之后,再擦除本扇区或者使用下一块扇区,达到提高了flash存储器的利用率以及减少了flash存储器擦写次数,延长了flash存储器的使用寿命。

附图说明

图1是本发明提供的一种flash存储器数据管理方法的数据读取的流程图;

图2是本发明提供的一种flash存储器数据管理方法的数据擦除的流程图。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

请参阅图1,本发明提供的一种flash存储器数据管理方法,包括步骤:

A、将flash划分为多个区域,其中包括表头区、数据区;

B、写入数据,将数据存储在所述数据区并将数据信息存储在所述表头区;

C、将所述表头区数据拷贝到RAM中;

D、读取数据,系统读取所述RAM中的所述数据信息。

下面通过具体的实施例对本发明作进一步说明;

A步骤中,将flash划分为多个区域,包括表头区、数据区,其中划分出表头区可以是4kb,8kb等,可以被4kb整除的区域,在表头区建立数据索引信息节点,数据索引信息节点包括是否为有效数据、数据ID、数据地址、数据长度、表头区索引信息节点地址等。

B步骤中,对写入数据检测数据ID,判断数据索引信息节点中是否有写入相同的数据ID;若是有相同数据ID,根据数据索引信息节点中对应的数据ID对应的有效数据标志位改写为无效数据标志位,并在表头区中找出未被写过的区域将新的数据信息写入;若否没有相同数据ID,将数据信息存储在空白的数据索引信息节点中。

C步骤中,检测表头区内数据信息,其中数据索引信息节点中为有效数据的数据索引信息节点标记,将是有效数据的数据索引信息节点以链表形式拷贝到RAM中,其中需要注意,在拷贝到RAM的数据在设备断电后会擦除,通电后需要重新将数据信息拷贝至RAM。

D步骤中,在系统对RAM数据读取过程中,系统需要读取数据ID信息,通过在RAM查询链表中数据ID找到对应数据索引信息节点,并在查询数据索引信息节点中数据地址、数据长度,并读取数据,可以实现快速读取所需数据。

其中还包括E步骤,请参阅图2,将flash划分为多个区域,还包括备份区,检测表头区或数据区数据是否满载;若表头区满载,将满载的表头区的数据拷贝至备份区,擦除满载的表头区形成空白表头区,将备份区数据拷贝至空白表头区,擦除备份区数据;若数据区满载,将满载的数据区的数据拷贝至备份区,擦除满载的数据区形成空白数据区,将备份区数据拷贝至空白数据区,擦除备份区数据。通过该步骤可以减少flash存储器非必要的擦除,同时也增加擦写次数,延长flash存储器的使用寿命,增加flash存储器使用效率;

若是表头区满载,还包括以下:检测表头区数据中有效的数据索引信息节点,将数据索引信息节点拷贝至备份区,擦除原满载的表头区形成空白表头区,将备份区的数据索引信息节点在拷贝至空白表头区,擦除备份区内的数据索引信息节点;同时在更新数据索引信息节点中数据ID对应数据的表头区索引信息节点地址;

若是表头区满载,还包括以下:将数据区数据中拷贝至备份区,擦除满载的数据区形成空白数据区,将备份区的数据拷贝至空白数据区,擦除备份区数据;更新表头区内数据索引信息节点中数据ID相对应的数据地址。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 一种flash存储器数据管理方法
  • 一种FLASH存储器管理方法
技术分类

06120113047654