首页 / 专利库 / 生物计算 / 力反馈 / 具有数据修改记忆能力的Flash数据存储方法

具有数据修改记忆能的Flash数据存储方法

阅读:731发布:2024-02-12

专利汇可以提供具有数据修改记忆能的Flash数据存储方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种具有数据 修改 记忆能 力 的Flash数据存储方法,属于Flash数据存储的技术领域;根据用户需要记忆的参数组数,设置一个独立的自循环存储区,用于存储每一次用户设置参数,通过每组参数独立的ID号、累积擦写次数、写入状态标识,在Flash 存储器 内存储数据异常或用户需要恢复以前某次写入的历史设置参数时,可以根据ID号,实现历史设置参数的恢复操作。本发明操作方便,能实现用户设置参数的记忆能力,可在数据存储发生异常或用户需要时,进行历史数据的选择性恢复,适应范围广,安全可靠。,下面是具有数据修改记忆能的Flash数据存储方法专利的具体信息内容。

1.一种具有数据修改记忆能的Flash数据存储方法,其特征是,所述Flash数据存储方法包括如下步骤:
步骤1、提供所需的Flash存储器,并对所述Flash存储器进行完整的格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;
步骤2、确定用户期望记忆的参数组数n,并在Flash存储器内设置独立的自循环存储区,所述自循环存储区内存储单元的个数不小于用户期望记忆的参数组数n,自循环存储区内的存储单元相互独立,根据确定的参数组数n确定自循环存储区内n个连续的存储单元的ID编号,将具有ID编号的存储单元设置具有相同的数据存储格式,存储单元的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区;
步骤3、上电工作时,批量读取上述具有ID编号存储单元内的存储数据,并对读取存储单元内存储数据的有效性进行判断;在判定有效的存储数据中,确定一组用户设置参数作为当前使用的有效用户设置参数以及存储所述当前使用有效用户设置参数的存储单元的ID编号,且根据所述当前使用有效用户设置参数存储单元的ID编号,确定用于存储新用户设置参数的存储单元的ID编号;
步骤4、若存在新用户设置参数存储请求时,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所请求写入的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内,否则,跳转至步骤5;
步骤5、若存在用户参数恢复选择指令时,将步骤3中所有判定有效的存储数据反馈输出,并在选定待恢复的用户设置参数后,将选定的用户设置参数作为新用户设置参数,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所述的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内。
2.根据权利要求1所述的具有数据修改记忆能力的Flash数据存储方法,其特征是,所述步骤3中,具体包括如下步骤:
步骤3.1、所述自循环存储区内n个连续存储单元的ID编号分别与数字1 n一一对应,读~
取具有ID编号存储单元的存储数据后,根据每个标识位存储区内存储的写入状态标识判断所在存储单元内用户设置参数的有效性;若n个存储单元中有至少一个存储单元内的用户设置参数判定为有效时,则跳转至步骤3.2,否则,反馈输出Falsh存储器存储异常信息;
步骤3.2、对上述判定有效的用户设置参数的存储单元,读取每个存储单元内擦写次数存储区内的累积擦写次数,并对所有累积擦写次数进行排序,以确定最大的累积擦写次数以及与所述最大累积擦写次数对应存储单元的ID编号m,1≤m≤n;
步骤3.3、读取存储单元m内的用户设置参数,并将所述用户设置参数作为当前使用的有效用户设置参数;
步骤3.4、设定用于存储新用户设置参数的存储单元x,并将存储单元x内的累积擦写次数进行累加;x=m+1,若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。
3.根据权利要求2所述的具有数据修改记忆能力的Flash数据存储方法,其特征是,所述步骤4中,具体包括如下步骤:
步骤4.1、对存储单元进行擦除操作;
步骤4.2、将新的用户设置参数以及累加后的累积擦写次数存储在存储单元x内;
步骤4.3、读取存储单元x内的存储数据,并将所读取的存储数据与步骤4.2期望写入的存储数据进行比对;若比对一致时,则在存储单元x内标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在存储单元A的标识位存储区写入表示写入错误的标识“0xEEEE”;
步骤4.4、将存储单元x内标识位存储区存储的写入状态标识反馈输出,当存储单元x内标识位存储区的写入状态标识为标识“0xAAAA”时,并确定下一次用于存储新用户设置参数的存储单元为存储单元(x+1),并将存储单元(x+1)内的累积擦写次数进行累加;若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。

说明书全文

具有数据修改记忆能的Flash数据存储方法

技术领域

[0001] 本发明涉及一种存储方法,尤其是一种具有数据修改记忆能力的Flash数据存储方法,属于Flash数据存储的技术领域。

背景技术

[0002] 在工业控制中,Flash数据存储通常用来将用户相关的设置参数保存在Flash存储器上,避免在断电的情况下出现数据丢失,当控制系统重新上电之后,能够按照先前的设置参数进行工作,无需进行参数的重新设置。在用户设置参数频繁变更的系统中,需要对用户设置参数进行记忆,方便用户能够在发现参数设置不匹配时,可以进行历史设置参数的选择,以恢复参数匹配。所以需要考虑具有数据修改记忆能力的Flash数据存储。

发明内容

[0003] 本发明的目的是克服现有技术中存在的不足,提供一种具有数据修改记忆能力的Flash数据存储方法,其操作方便,能实现用户设置参数的记忆能力,可在数据存储发生异常或用户需要时,进行历史数据的选择性恢复,适应范围广,安全可靠。
[0004] 按照本发明提供的技术方案,一种具有数据修改记忆能力的Flash数据存储方法,所述Flash数据存储方法包括如下步骤:
[0005] 步骤1、提供所需的Flash存储器,并对所述Flash存储器进行完整的格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;
[0006] 步骤2、确定用户期望记忆的参数组数n,并在Flash存储器内设置独立的自循环存储区,所述自循环存储区内存储单元的个数不小于用户期望记忆的参数组数n,自循环存储区内的存储单元相互独立,根据确定的参数组数n确定自循环存储区内n个连续的存储单元的ID编号,将具有ID编号的存储单元设置具有相同的数据存储格式,存储单元的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区;
[0007] 步骤3、上电工作时,批量读取上述具有ID编号存储单元内的存储数据,并对读取存储单元内存储数据的有效性进行判断;在判定有效的存储数据中,确定一组用户设置参数作为当前使用的有效用户设置参数以及存储所述当前使用有效用户设置参数的存储单元的ID编号,且根据所述当前使用有效用户设置参数存储单元的ID编号,确定用于存储新用户设置参数的存储单元的ID编号;
[0008] 步骤4、若存在新用户设置参数存储请求时,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所请求写入的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内,否则,跳转至步骤5;
[0009] 步骤5、若存在用户参数恢复选择指令时,将步骤3中所有判定有效的存储数据反馈输出,并在选定待恢复的用户设置参数后,将选定的用户设置参数作为新用户设置参数,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所述的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内。
[0010] 所述步骤3中,具体包括如下步骤:
[0011] 步骤3.1、所述自循环存储区内n个连续存储单元的ID编号分别与数字1 n一一对~应,读取具有ID编号存储单元的存储数据后,根据每个标识位存储区内存储的写入状态标识判断所在存储单元内用户设置参数的有效性;若n个存储单元中有至少一个存储单元内的用户设置参数判定为有效时,则跳转至步骤3.2,否则,反馈输出Falsh存储器存储异常信息;
[0012] 步骤3.2、对上述判定有效的用户设置参数的存储单元,读取每个存储单元内擦写次数存储区内的累积擦写次数,并对所有累积擦写次数进行排序,以确定最大的累积擦写次数以及与所述最大累积擦写次数对应存储单元的ID编号m,所述1≤m≤n;
[0013] 步骤3.3、读取存储单元m内的用户设置参数,并将所述用户设置参数作为当前使用的有效用户设置参数;
[0014] 步骤3.4、设定用于存储新用户设置参数的存储单元x,并将存储单元x内的累积擦写次数进行累加;x=m+1,若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。
[0015] 所述步骤4中,具体包括如下步骤:
[0016] 步骤4.1、对存储单元进行擦除操作;
[0017] 步骤4.2、将新的用户设置参数以及累加后的累积擦写次数存储在存储单元x内;
[0018] 步骤4.3、读取存储单元x内的存储数据,并将所读取的存储数据与步骤4.2期望写入的存储数据进行比对;若比对一致时,则在存储单元x内标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在存储单元A的标识位存储区写入表示写入错误的标识“0xEEEE”;
[0019] 步骤4.4、将存储单元x内标识位存储区存储的写入状态标识反馈输出,当存储单元x内标识位存储区的写入状态标识为标识“0xAAAA”时,并确定下一次用于存储新用户设置参数的存储单元为存储单元(x+1),并将存储单元(x+1)内的累积擦写次数进行累加;若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。
[0020] 本发明的优点:能在Flash存储器完好的情况下,根据用户期望记忆的参数个数n,设置由n个独立的存储单元组成的自循环存储区,通过对用户设置参数的循环存储、累积擦写次数和标识“0xAAAA”的设置、存储,实现了用户设置参数的记忆功能,可以在数据存储发生异常或用户需要时,进行历史数据的选择性恢复,可以恢复多次修改前的用户设置参数,适应范围广,安全可靠。附图说明
[0021] 图1为本发明存储单元的数据存储格式的示意图。

具体实施方式

[0022] 下面结合具体附图和实施例对本发明作进一步说明。
[0023] 如图1所示:为了能实现用户设置参数的记忆能力,可在数据存储发生异常或用户需要是,进行历史数据的选择性恢复,本发明Flash数据存储方法包括如下步骤:
[0024] 步骤1、提供所需的Flash存储器,并对所述Flash存储器进行完整的格式化,以使得所述Flash存储器内所有的存储单元均具备数据可写入状态;
[0025] 具体地,调用Flash存储器的格式化驱动函数format,将Flash存储器上的所有数据进行擦除,所述完整的格式化操作,一般在Flash存储器首次上电使用时执行,可通过数字电子控制器和用户的操作通讯接口进行,由用户进行指令发送式的操作,具体过程为本技术领域人员所熟知,此处不再赘述。
[0026] 步骤2、确定用户期望记忆的参数组数n,并在Flash存储器内设置独立的自循环存储区,所述自循环存储区内存储单元的个数不小于用户期望记忆的参数组数n,自循环存储区内的存储单元相互独立,根据确定的参数组数n确定自循环存储区内n个连续的存储单元的ID编号,将具有ID编号的存储单元设置具有相同的数据存储格式,存储单元的数据存储格式包括用于存储用户设置参数的设置参数存储区、用于存储累积擦写次数的擦写次数存储区以及用于存储写入状态标识的标识位存储区;
[0027] 一般地,用户期望记忆的参数组数n大于等于2,自循环存储区内存储单元的数量与用户期望记忆的参数组束n保持一致。自循环存储器内存储单元相互独立是指每个存储单元都可被独立的数据擦除或数据写入,同时在数据擦除或数据写入时,不会影响其他存储单元内的存储状态。对于自循环存储区内的n个存储单元,每个存储单元的ID编号唯一,即n个连续的存储单元分别为存储单元1、存储单元2、存储单元3,……,存储单元n;使用ID编号将每个存储单元的空间起始地址和结束地址分别进行管理和索引,存储单元的起始地址和结束地址一般采用在程序中设置固定值的方式,具体为本技术领域人员所熟知,此处不再赘述。
[0028] 具体实施时,擦写次数存储区的存储空间为4byte,标识位存储区的存储空间为2byte,设置参数存储区的存储空间可以根据需要进行确定,具体为本技术领域人员所熟知,此处不再赘述。在对每个存储单元进行写入或擦除时,都会更新擦写次数存储区内的累积擦写次数,一次写入或一次擦除时,所述累积擦写次数会累加1,将写入或擦除的结果与期望的结果比较,并根据所述比较结果在标识位存储区存储相应的写入状态标识,具体过程为本技术领域人员所熟知,此处不再赘述。
[0029] 步骤3、上电工作时,批量读取上述具有ID编号存储单元内的存储数据,并对读取存储单元内存储数据的有效性进行判断;在判定有效的存储数据中,确定一组用户设置参数作为当前使用的有效用户设置参数以及存储所述当前使用有效用户设置参数的存储单元的ID编号,且根据所述当前使用有效用户设置参数存储单元的ID编号,确定用于存储新用户设置参数的存储单元的ID编号;
[0030] 本发明实施例中,具体包括如下步骤:
[0031] 步骤3.1、所述自循环存储区内n个连续存储单元的ID编号分别与数字1 n一一对~应,读取具有ID编号存储单元的存储数据后,根据每个标识位存储区内存储的写入状态标识判断所在存储单元内用户设置参数的有效性;若n个存储单元中有至少一个存储单元内的用户设置参数判定为有效时,则跳转至步骤3.2,否则,反馈输出Falsh存储器存储异常信息;
[0032] 具体实施时,对存储单元操作成功时,存储单元内标识位存储区的写入状态标识为标识“0xAAAA”,否则,存储单元内标识位存储区的写入状态标识为标识“0xEEEE”。本发明实施例中,若标识位存储器内的写入状态标识为“0xAAAA”时,则表示所述存储单元内设置参数存储区的用户设置参数为有效用户设置参数,若标识位存储器内的写入状态标识与标识“0xAAAA”不匹配时,则表示所述存储单元内设置参数存储区的用户设置参数为无效用户设置参数。此处不对写入状态标识为标识“0xEEEE”状态下进行数据无效的判断,是考虑到标识“0xEEEE”是在Flash存储器故障的情况下,故障Flash是否还具备写入能力是值得质疑的,所以实例实施中采用对写入状态标识与标识“0xAAAA”不匹配的情况进行数据有效性判断
[0033] 当具有ID编号的n个存储单元内均不存在标识“0xAAAA”时,则能确定所述Flash存储器存在异常,需要更换Flash存储器。而当具有ID编号的n个存储单元中有至少一个存储单元内存在标识“0xAAAA”时,则可以进行后续记忆恢复操作步骤。
[0034] 步骤3.2、对上述判定有效的用户设置参数的存储单元,读取每个存储单元内擦写次数存储区内的累积擦写次数,并对所有累积擦写次数进行排序,以确定最大的累积擦写次数以及与所述最大累积擦写次数对应存储单元的ID编号m,所述1≤m≤n;
[0035] 本发明实施例中,在判定有效的用户设置参数的存储单元后,通过确定最大的累积擦写参数次数,能够找到最近更新的用户设置参数,即具有最大累积擦写次数的存储单元内的用户设置参数为最新的用户设置参数。
[0036] 步骤3.3、读取存储单元m内的用户设置参数,并将所述用户设置参数作为当前使用的有效用户设置参数;
[0037] 本发明实施例中,将最新的用户设置参数确定作为当前使用的有效用户设置参数能满足一般的使用要求,当然,在具体实施时,还可以选定其他所需的有效用户设置参数,具体为本技术领域人员所熟知,此处不再赘述。
[0038] 步骤3.4、设定用于存储新用户设置参数的存储单元x,并将存储单元x内的累积擦写次数进行累加;x=m+1,若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。
[0039] 本发明实施例中,根据存储单元m,能够得到用于存储新用户设置参数的存储单元x,以便进行后续的写入或恢复等操作。
[0040] 步骤4、若存在新用户设置参数存储请求时,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所请求写入的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内,否则,跳转至步骤5;
[0041] 本发明实施例中,步骤4具体包括如下步骤:
[0042] 步骤4.1、对存储单元进行擦除操作;
[0043] 由上述说明可知,对存储单元x进行擦除操作,并对存储单元x内的累积擦写次数进行累加,以更新存储单元x内的累积擦写次数,具体过程为本技术领域人员所熟知,此处不再赘述。
[0044] 步骤4.2、将新的用户设置参数以及累加后的累积擦写次数存储在存储单元x内;
[0045] 具体实施时,新的用户设置参数存储在设置参数存储区,累加后的累积擦写次数存储在存储单元的擦写次数存储区,具体过程为本技术领域人员所熟知,此处不再赘述。
[0046] 步骤4.3、读取存储单元x内的存储数据,并将所读取的存储数据与步骤4.2期望写入的存储数据进行比对;若比对一致时,则在存储单元x内标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在存储单元A的标识位存储区写入表示写入错误的标识“0xEEEE”;
[0047] 本发明实施例中,在将新的用户设置参数、累积擦写次数存储在存储单元x后,通过常用的技术手段读取存储单元x内存储的用户设置参数以及累积擦写次数;将所读取的用户设置参数与步骤4.2期望写入新的用户设置参数比较,将所读取的累积擦写次数与步骤4.2期望写入的累积擦写次数比较,只有两者均相同时,所述比对结果才一致,比对结果一致时,则表明在存储单元x内存储的新用户设置参数、累积擦写次数与期望写入的结果相同,此时,存储单元x内标识位存储区写入表示写入成功的标识“0xAAAA”,否则,在存储单元A的标识位存储区写入表示写入错误的标识“0xEEEE”。
[0048] 步骤4.4、将存储单元x内标识位存储区存储的写入状态标识反馈输出,当存储单元x内标识位存储区的写入状态标识为标识“0xAAAA”时,并确定下一次用于存储新用户设置参数的存储单元为存储单元(x+1),并将存储单元(x+1)内的累积擦写次数进行累加;若m等于n时,则用于存储新用户设置参数的存储单元为存储单元1。
[0049] 本发明实施例中,根据存储单元x内标识位存储器的写入状态标识能确定新的用户设置参数写入状态。在存储单元x内成功写入所需的用户设置参数后,需要确定下一次再有新的用户设置参数时,所述确定下一次用于存储新用户设置参数的存储单元为存储单元(x+1)。
[0050] 步骤5、若存在用户参数恢复选择指令时,将步骤3中所有判定有效的存储数据反馈输出,并在选定待恢复的用户设置参数后,将选定的用户设置参数作为新用户设置参数,根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所述的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内。
[0051] 本发明实施例中,当需要进行用户设置参数恢复时,所述用户设置参数恢复的基础包括步骤3中所有判定有效的存储数据,即所有判定有效的存储数据均能够用户选择。在根据需要选定作为恢复的用户设置参数后,将所选定的用户设置参数作为新用户设置参数。根据步骤3确定用于存储新用户设置参数的存储单元的ID编号,将所述的新用户设置参数存储在与所述步骤3确定ID编号对应的存储单元内的具体过程可以参考上述步骤4,具体不再赘述。
[0052] 本发明能在Flash存储器完好的情况下,根据用户期望记忆的参数个数n,设置由n个独立的存储单元组成的自循环存储区,通过对用户设置参数的循环存储、累积擦写次数和标识“0xAAAA”的设置、存储,实现了用户设置参数的记忆功能,可以在数据存储发生异常或用户需要时,进行历史数据的选择性恢复,可以恢复多次修改前的用户设置参数,适应范围广,安全可靠。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈