发明名称 一种NAND FLASH数据存储方法
摘要 本发明提供了一种在航空机载电子领域应用的NAND FLASH数据存储管理方法,首先根据NAND FLASH的最小擦除单位为块,块由页组成的特征,采用顺序存储的方式进行数据存储,当存储容量达到数据容量的最后一块时,自动擦除第一块存储的数据。该方法能有效解决航空机载设备领域数据存储管理的问题。该方法解决了当数据循环记录是无法读取未被完全覆盖的数据的问题,同时解决了掉电时刻数据不能有效恢复和有效判断掉电时刻的问题,还提高了数据履历下载的速率。
申请公布号 CN106354662A 申请公布日期 2017.01.25
申请号 CN201510424133.6 申请日期 2015.07.17
申请人 陕西千山航空电子有限责任公司 发明人 王勇;屠晓涛
分类号 G06F12/06(2006.01)I 主分类号 G06F12/06(2006.01)I
代理机构 中国航空专利中心 11008 代理人 杜永保
主权项 一种NAND FLASH数据存储方法,首先根据NAND FLASH的最小擦除单位为块,块由页组成的特征,采用顺序存储的方式进行数据存储,当存储容量达到数据容量的最后一块时,自动擦除第一块存储的数据,同时在进行数据存储时,每个数据由若干个数据块组成,每个数据块均包括数据索引区和有效数据区,数据索引信息包括偏移地址、数据类型、数据块类型、履历信息和数据记录状态,其特征在于,方法包括以下步骤:1)获取最新的记录位置的步骤:1.1)按顺序读取每一个块的数据索引信息;1.2)当数据块的数据索引区指示当前块为空块时,停止搜索;记录当前地址,即为最新的记录位置;2)存储的步骤:2.1)每个数据块的第0页固定写入数据索引信息,第1页开始为有效数据区;2.2)首先在当前块的第0页写入数据索引信息,说明当前数据索引信息中的数据块类型为文件起始块,同时擦除下一数据块,如果当前块为当前存储空间的最后一个块,则下一数据块为当前存储空间的第0块;2.3)当数据超过一个块时,在下一个数据块的第0页继续写入数据索引信息,并标明当前数据索引信息中的数据块类型为有效数据块;2.4)当在写入过程中发现写入不正确时,自动将数据搬移到下一块,同时将数据索引信息中的数据块类型标识标为坏块;3)数据循环存储的步骤:当数据写入存储空间的最后一个数据块时,自动擦除存储空间的第0个数据块,同时标注该数据块的数据索引信息;4)按履历信息搜索并下载的步骤:4.1)根据步骤2)所存储的数据索引信息,得到当前存储数据的数据类型、数据块类型、履历信息,进入步骤4.2);4.2)如果数据索引信息中的数据块类型是文件起始块,则进入步骤4.3),否则继续搜索下一个数据块是否为文件起始块;4.3)判断当前块存储的数据索引信息中的履历信息是否与要搜索并下载的履历信息一致,如果一致则从当前块的第1页开始下载当前存储的数据,当下载到下一个数据块时,进入步骤4.4);如果不一致,继续在数据索引信息中的数据块类型为数据起始块的数据块中查找与下载的履历信息一致的数据块位置,直到找到位置,找到后从当前块的第1页开始下载当前存储的数据,当下载到下一个数据块时,进入步骤4.4);如果当前存储空间的所有文件起始块中的数据索引信息中的履历信息均与下载的不一致,则进行步骤4.5);4.4)判断下一个数据块据索引信息的数据块类型是否为有效数据块,如果为有效数据块,则重复4.3);4.5)从第0块开始判断当前块存储的数据索引信息中的履历信息是否与要搜索并下载的履历信息一致,并且数据索引信息中的数据块类型为有效数据块,直到找到一个有效数据块并且履历信息与需下载的履历信息一致的数据块,找到该数据块块后,则从当前块的第1页开始下载当前存储的数据,当下载到下一个数据块时,进入步骤4.4);5)NAND FLASH掉电时存储的步骤:掉电时,在当前数据块的数据索引信息中的数据记录状态位置写入掉电状态信息,便于数据恢复;6)循环存储后数据块中剩余数据的恢复步骤:通过读取每个数据块的数据索引信息,虽然部分数据因为循环存储被覆盖,但是由于每个数据块均有履历信息,按步骤4.1)、4.3)和4.5)恢复一部分未被覆盖的剩余的数据。
地址 710065 陕西省西安市高新区南三环辅道G16号