一种基于嵌入式系统的数据存储模型及其方法与流程

文档序号:31333718发布日期:2022-08-31 07:58阅读:70来源:国知局
一种基于嵌入式系统的数据存储模型及其方法与流程

1.本发明属于数据安全技术领域,更具体地说,特别涉及一种基于嵌入式系统的数据存储模型及其方法。


背景技术:

2.嵌入式系统通常将关键的系统和用户数据存储在eeprom等非易失性存储器(简称为nvm)中,这些数据通常涉及到系统启动、运行,用户设定的报警值,事件记录等重要数据,一旦这些数据因为受到干扰、误写或掉电等各种原因被损坏时,很可能造成系统无法启动、固件损坏,数据丢失等灾难性后果。本发明提出了一种高可靠性的嵌入式数据存储模型及其方法,能有效减少和防止这些灾难性后果的出现,大大提高了嵌入式系统的安全性和稳定性。


技术实现要素:

3.为了解决上述技术问题,本发明提供一种基于嵌入式系统的数据存储模型及其方法,以解决现在的数据容易被破坏和丢失,无法自动恢复或重建的问题。
4.本发明一种基于嵌入式系统的数据存储模型及其方法的目的与功效,由以下具体技术手段所达成:
5.一种基于嵌入式系统的数据存储模型及其方法,包括嵌入式系统数据存储模型和mcu芯片,所述的模型包括外部主储区、片内影储区、缺省参数储区;所述的外部主储区为外部系统参数的默认存储区,所述的片内影储区为外部主储区的内部备份存储区,所述的缺省参数储区为数据填充区,当外部主储区与片内影储区数据都被损坏时,用缺省参数储区的数据填充外部主储区和片内影储区,从而恢复默认配置。
6.进一步的,所述外部外部主储区是存放在独立于mcu芯片的存储i c里面,片内片内影储区是存放在mcu芯片内部的flash或eeprom里面,所述外部主储区和片内影储区的数据完全相同。
7.进一步的,所述的缺省参数存放在mcu芯片内部的flash里面,所述缺省参数区的数据是出厂的时候就固化不能改写的,当外部主储区和片内影储区的数据都遭到破坏后,mcu会把缺省参数区的数据复制到外部主储区和片内影储区。
8.进一步的,所述的方法包括数据写入方法。
9.进一步的,所述的数据写入方法,在每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,当数据发生改变需要保存时,首先将更改后的mcu数据写入外部主储区,根据对应的校验算法计算出外部主储区的校验值后,将校验值写入外部主储区的最后,然后用同样的方法将mcu里面的数据写入片内影储区。
10.进一步的,所述的方法还包括数据修复方法。
11.进一步的,所述的修复方法为:读取外部主储区的数据及校验值,通过对应的校验算法确定外部主储区数据的正确性,数据正确则作为系统参数加载运行;然后验证片内影
储区的数据,如果片内影储区数据不正确,则将外部主储区的数据复制到片内影储区。
12.进一步的,当所述外部主储区数据不正确的时候,则从片内影储区读取出数据并校验,如果片内影储区数据正确,则将片内影储区数据作为系统参数加载运行,并将片内影储区数据复制到外部主储区。
13.进一步的,所述的外部主储区和片内影储区数据都不正确,则装载缺省参数储区的数据作为系统参数运行。
14.进一步的,所述校验的算法可以是校验和、crc校验或其它检验算法。
15.与现有技术相比,本发明具有如下有益效果:
16.1)增加了一个片内片内影储区作为外部外部主储区数据的备份,外部主储区和片内影储区的数据完全相同,由于数据同时存储在两个存储区中,所以当其中一个存储区中的数据被破坏或丢失时,可以通过另一个存储区来自动修复而不必恢复到默认参数。
17.2)每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,校验的算法可以是校验和、crc校验或其它检验算法。
18.3)由于外部主储区和片内影储区分别位于mcu和外部存储芯片中,即便mcu或外部存储芯片损毁,在更换了新的器件后,系统数据也可以自动修复。
附图说明
19.图1是本发明的模型示意图;
20.图2是本发明的数据写入流程图;
21.图3是本发明的数据读取和修复流程图。
具体实施方式
22.下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例用于说明本发明,但不能用来限制本发明的范围。
23.实施例:
24.如附图1至附图3所示:
25.本发明提供一种基于嵌入式系统的数据存储模型及其方法,包括嵌入式系统数据存储模型和mcu芯片,存储模型在mcu外部分为三个存储区,
26.外部主储区:读取系统参数的默认存储区,外部主储区是存放在独立于mcu芯片的存储i c里面;
27.片内影储区:外部主储区的备份存储区,片内影储区是存放在mcu芯片内部的flash或eeprom里面,当外部主储区数据损坏时,可从片内影储区读取数据并修复外部主储区;
28.缺省参数储区:缺省参数区的数据固化,不可修改;当外部主储区与片内影储区数据都被损坏时,用缺省参数储区的数据填充外部主储区和片内影储区,从而恢复默认配置。
29.外部主储区和片内影储区的数据完全相同;然后在每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,校验的算法可以是校验和、crc校验或其它检验算法。
30.本发明提出的数据存储模型的数据写入方法如图2所示:
31.当数据发生改变需要保存时,mcu首先将更改后的数据写入外部主储区,根据对应的校验算法计算出外部主储区的校验值后,将校验值写入外部主储区的最后;然后mcu再将更改后的数据写入片内影储区,根据对应的校验算法计算出片内影储区的校验值后,将校验值写入片内影储区的最后。
32.本发明提出的数据存储模型的具有数据读取和修复功能,其中数据读取的方法如图3所示:
33.当需要读取数据时,首先读取外部主储区的数据及校验值,通过对应的校验算法确定外部主储区数据的正确性,如果数据正确则作为系统参数加载运行,然后验证片内影储区的数据,如果片内影储区数据不正确,则将外部主储区的数据复制到片内影储区;如果外部主储区数据不正确,则从片内影储区读取出数据并校验,如果片内影储区数据正确,则将片内影储区数据作为系统参数加载运行,并将片内影储区数据复制到外部主储区,如果片内影储区数据也不正确,则装载缺省参数储区的数据作为系统参数运行。
34.这种机制带来的好处是:
35.1)由于数据同时存储在两个存储区中,所以当其中一个存储区中的数据被破坏或丢失时,可以通过另一个存储区来自动修复而不必恢复到默认参数。
36.2)更坏的情况,当其中一个存储区内存在“坏块”,存储区无法被修复时,也可由另一个存储区提供正确的系统数据使系统正常工作。
37.3)由于外部主储区和片内影储区分别位于mcu和外部存储芯片中,即便mcu或外部存储芯片损毁,在更换了新的器件后,系统数据也可以自动修复。
38.本实施例的具体使用方式与作用:
39.本发明中,首先建立三个存储区,先固化缺省参数区的数据,然后把mcu数据写入外部主储区,计算系统数据的校验值,然后把校验值写入外部主储区最底行;然后把系统的数据写入片内影储区,把校验值写入片内影储区最底行当需要读取数据时,首先读取外部主储区的数据及校验值,通过对应的校验算法确定外部主储区数据的正确性,如果数据正确则作为系统参数加载运行,然后验证片内影储区的数据,如果片内影储区数据不正确,则将外部主储区的数据复制到片内影储区;如果外部主储区数据不正确,则从片内影储区读取出数据并校验,如果片内影储区数据正确,则将片内影储区数据作为系统参数加载运行,并将片内影储区数据复制到外部主储区,如果片内影储区数据也不正确,则装载缺省参数储区的数据作为系统参数运行。
40.本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1