可恢复的Flash数据存储方法技术

技术编号:14200637 阅读:81 留言:0更新日期:2016-12-17 14:24
本发明专利技术涉及一种可恢复的Flash数据存储方法,其通过利用Flash存储器上两个独立的最小可擦除单元,进行数据的互为备份存储,每次擦写数据时,累积记录擦写次数,并进行存储;在系统上电时,对两个互为备份的存储单元进行数据有效性和累积擦写次数进行检测,当发现其中一个存储单元的数据异常时,能够采用上一次擦写成功的存储单元数据进行数据恢复,从而能够保证系统能够按照最后一次设置成功的参数进行运行;本发明专利技术操作方便,在Flash数据异常时,能够将数据恢复到前一次擦写成功并被系统正确使用的数据,保证了数据的安全性,降低了系统使用错误数据或数据缺省的风险,满足高可靠性高安全性的使用要求。

Recoverable Flash data storage method

The invention relates to a method for recovery of Flash data storage, which uses the Flash memory two independent minimum erasable unit, data storage backup each other, each time erasing data, cumulative record and memory; endurance, in power system, the two mutual backup storage unit the data validity and cumulative write times were detected, when one of the data storage unit is abnormal, can perform data recovery using a rewritable data storage unit successfully, which can guarantee the system according to the last set of successful operation parameters; the invention has the advantages of convenient operation, the abnormal data of Flash when the data can be restored to be successful and correct use of flash data once before, to ensure data security, reduce the use of the wrong system The default risk of incorrect data or data to meet the requirements of high reliability and high security.

【技术实现步骤摘要】

本专利技术涉及一种存储方法,尤其是一种可恢复的Flash数据存储方法,属于Flash数据存储的

技术介绍
在工业控制中,Flash数据存储通常用来将用户相关的设置参数保存在Flash存储器上,避免在断电的情况下出现数据丢失,当控制系统重新上电之后,能够按照先前的设置参数进行工作,无需进行参数的重新设置。在将用户设置参数写入Flash存储器的过程中,如果发生断电或其他异常干扰,会破坏原先存储的数据,同时也不能将新的数据写入,从而会导致系统无法读取到正确的设置参数。对于高可靠性高安全性的数字电子控制系统,需要在参数设置错误或参数读取失败的情况下,能够尽可能降低使用错误数据的几率,降低系统运行的安全风险。
技术实现思路
本专利技术的目的是克服现有技术中存在的不足,提供一种可恢复的Flash数据存储方法,其操作方便,在Flash数据异常时,能够将数据恢复到前一次擦写成功并被系统正确使用的数据,保证了数据的安全性,降低了系统使用错误数据或数据缺省的风险,满足高可靠性高安全性的使用要求。按照本专利技术提供的技术方案,一种可恢复的Flash数据存储方法,所述Flash数据存储方法包括如下步骤:步骤1、提供所需的Flash存储器,并对所述Flash存储器进行格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;步骤2、任选上述Flash存储器内的两个存储单元作为相互独立的存储单元A与存储单元B,所述存储单元A的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区,存储单元B的数据存储格式与存储单元A的数据存储格式相同;步骤3、利用上述存储单元A、存储单元B存储所需的系统参数,并根据存储单元A、存储单元B写入系统参数过程,分别得到存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识;步骤4、在上电初始化时,根据存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识分别对存储单元A、存储单元B内存储系统参数的可用性进行判断,当存储单元A、存储单元B均判定为存储数据错误时,则输出Flash存储器故障,否则,跳转至步骤5;步骤5、根据上述对存储单元A、存储单元B内存储系统参数的判定结果,识别可用数据,并根据与识别可用数据对应的存储单元对另一存储单元进行数据恢复,以使得存储单元A、存储单元B内的存储内容完全相同。所述步骤3中,利用存储单元A、存储单元B存储系统参数的过程包括如下步骤:步骤3.1、读取存储单元A内擦写次数存储区的累积擦写次数,并对所述累积擦写次数进行累加,以更新累积擦写次数;步骤3.2、对存储单元A的设置参数存储区进行数据擦除;步骤3.3、将系统参数以及上述更新后的累积擦写次数分别存入存储单元A的设置参数存储区、擦写次数存储区内;步骤3.4、读取上述存储单元A内的系统参数以及累积擦写次数,并将所读取的系统参数、累积擦写次数分别与步骤3.3期望写入的系统参数、累积擦写次数进行比对;当比对一致时,则在存储单元A的标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在存储单元A的标识位存储区写入表示写入错误的标识“0xEEEE”;步骤3.5、当且仅当存储单元A的标识位存储区存储的写入状态标识为标识“0xAAAA”时,重复利用上述步骤,以将系统参数存储在存储单元B内。所述步骤4中,当存储单元A内标识位存储区存储的写入状态标识与标识“0xAAAA”不匹配且当存储单元B内标识位存储区存储的写入状态标识与标识“0xAAAA”也不匹配时,则输出Flash存储器故障。所述步骤5中,当存储单元A内标识位存储区的写入状态标识为标识“0xAAAA”且存储单元B内标识位存储区的写入状态标识也为标识“0xAAAA”时,则读取并比较存储单元A内的累积擦写次数与存储单元B内的累积擦写次数,以确定较大的累积擦写次数,并在确定较大的累积擦写次数后,将与较大累积擦写次数对应存储单元确定为可用存储单元,将与可用存储单元对应的另一存储单元确定为待恢复存储单元;当存储单元A内标识位存储区或存储单元B内标识位存储区只有一个标识“0xAAAA”时,则将标识位存储区存储标识“0xAAAA”的存储单元确定为可用存储单元,将与可用存储单元对应的另一存储单元确定为待恢复存储单元;将可用存储单元内存储的系统参数识别确定为可用数据,并利用可用存储单元对待恢复存储单元进行数据恢复。对待恢复存储单元进行数据恢复的过程包括如下步骤:步骤5.1、将待恢复存储单元进行数据擦除;步骤5.2、提取可用存储单元内存储的系统参数以及累积擦写次数,并分别写入待恢复存储单元的设置参数存储区、擦写次数存储区;步骤5.3、读取上述待恢复存储单元写入的系统参数以及累积擦写次数,并将所读取的系统参数、累积擦写次数与步骤5.2期望写入结果进行比对;当不对一致时,则在待恢复存储单元的标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在待恢复存储单元的标识位存储区写入表示写入错误的标识“0xEEEE”。本专利技术的优点:能在Flash存储器完好的情况下,通过设置两个独立的存储单元进行数据的互为备份存储,通过对存储单元内累积擦写次数、写入状态标识的比较实现了数据存储完好性的判断,从而能够有效避免Flash存储器在数据写入过程中的任意时刻发生断电或其他异常情况时导致的数据无效的情况,能够有效保存并恢复Flash数据存储错误发生前一次成功写入的有效数据,实现控制系统恢复为上一次成功设置的参数进行正常运行,保证了数据的安全性,降低了系统使用错误数据或数据缺省的风险,满足高可靠性高安全性的使用要求。附图说明图1为本专利技术存储单元A、存储单元B的数据存储格式的示意图。具体实施方式下面结合具体附图和实施例对本专利技术作进一步说明。如图1所示:为了在Flash数据异常时,能够将数据恢复到前一次擦写成功并被系统正确使用的数据,保证了数据的安全性,降低了系统使用错误数据或数据缺省的风险,满足高可靠性高安全性的使用要求,本专利技术Flash数据存储方法包括如下步骤:步骤1、提供所需的Flash存储器,并对所述Flash存储器进行格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;具体地,调用Flash存储器的格式化驱动函数format,将Flash存储器上的所有数据进行擦除,此操作一般在Flash存储器首次上电使用时执行,可以通过数字电子控制器和用户的操作通讯接口进行,由用户进行指令发送式的操作,具体对Flash存储器格式化的过程为本
人员所熟知,此处不再赘述。步骤2、任选上述Flash存储器内的两个存储单元作为相互独立的存储单元A与存储单元B,所述存储单元A的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区,存储单元B的数据存储格式与存储单元A的数据存储格式相同;具体地,选择Flash存储器上的两个可独立擦除和修改的存储单元A和存储单元B,使用地址变量对其存储单元A、存储单元B对应空间的起始地址和结束地址分别进行管理,存储单元A、存储单元B的起始地址和结束地址一般采用本文档来自技高网
...
可恢复的Flash数据存储方法

【技术保护点】
一种可恢复的Flash数据存储方法,其特征是,所述Flash数据存储方法包括如下步骤:步骤1、提供所需的Flash存储器,并对所述Flash存储器进行格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;步骤2、任选上述Flash存储器内的两个存储单元作为相互独立的存储单元A与存储单元B,所述存储单元A的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区,存储单元B的数据存储格式与存储单元A的数据存储格式相同;步骤3、利用上述存储单元A、存储单元B存储所需的系统参数,并根据存储单元A、存储单元B写入系统参数过程,分别得到存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识;步骤4、在上电初始化时,根据存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识分别对存储单元A、存储单元B内存储系统参数的可用性进行判断,当存储单元A、存储单元B均判定为存储数据错误时,则输出Flash存储器故障,否则,跳转至步骤5;步骤5、根据上述对存储单元A、存储单元B内存储系统参数的判定结果,识别可用数据,并根据与识别可用数据对应的存储单元对另一存储单元进行数据恢复,以使得存储单元A、存储单元B内的存储内容完全相同。...

【技术特征摘要】
1.一种可恢复的Flash数据存储方法,其特征是,所述Flash数据存储方法包括如下步骤:步骤1、提供所需的Flash存储器,并对所述Flash存储器进行格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;步骤2、任选上述Flash存储器内的两个存储单元作为相互独立的存储单元A与存储单元B,所述存储单元A的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区,存储单元B的数据存储格式与存储单元A的数据存储格式相同;步骤3、利用上述存储单元A、存储单元B存储所需的系统参数,并根据存储单元A、存储单元B写入系统参数过程,分别得到存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识;步骤4、在上电初始化时,根据存储单元A内标识位存储区的写入状态标识以及存储单元B内标识位存储区的写入状态标识分别对存储单元A、存储单元B内存储系统参数的可用性进行判断,当存储单元A、存储单元B均判定为存储数据错误时,则输出Flash存储器故障,否则,跳转至步骤5;步骤5、根据上述对存储单元A、存储单元B内存储系统参数的判定结果,识别可用数据,并根据与识别可用数据对应的存储单元对另一存储单元进行数据恢复,以使得存储单元A、存储单元B内的存储内容完全相同。2.根据权利要求1所述的可恢复的Flash数据存储方法,其特征是,所述步骤3中,利用存储单元A、存储单元B存储系统参数的过程包括如下步骤:步骤3.1、读取存储单元A内擦写次数存储区的累积擦写次数,并对所述累积擦写次数进行累加,以更新累积擦写次数;步骤3.2、对存储单元A的设置参数存储区进行数据擦除;步骤3.3、将系统参数以及上述更新后的累积擦写次数分别存入存储单元A的设置参数存储区、擦写次数存储区内;步骤3.4、读取上述存储单元A内的系统参数以及累积擦写次数,并将所读取的系统参数、累积擦写次数分别与步骤3.3期望写入的系统参数、累积擦写次数进行比对;当比对一致时,则在存储单元A的标识位存储区写入表示写入成功的标识“0xAAA...

【专利技术属性】
技术研发人员:徐凯健张星星郜龙胜
申请(专利权)人:中国航空工业集团公司航空动力控制系统研究所
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1