一种基于嵌入式系统的数据存储模型及其方法技术方案

技术编号:34723737 阅读:15 留言:0更新日期:2022-08-31 18:10
本发明专利技术提供一种基于嵌入式系统的数据存储模型及其方法,涉及数据安全技术领域,包括嵌入式系统数据存储模型和MCU芯片,所述的模型包括外部主储区、片内影储区、缺省参数储区;然后每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验;该发明专利技术解决了数据损坏或丢失后,无法自动恢复或重建的问题,对数据存储模型对于因误操作、电源异常等造成的系统数据丢失能够自动修复,同时也有一定的抗存储区“坏块”和芯片损坏的功能,极大地提高系统的安全性和可靠性。统的安全性和可靠性。统的安全性和可靠性。

【技术实现步骤摘要】
一种基于嵌入式系统的数据存储模型及其方法


[0001]本专利技术属于数据安全
,更具体地说,特别涉及一种基于嵌入式系统的数据存储模型及其方法。

技术介绍

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

技术实现思路

[0003]为了解决上述技术问题,本专利技术提供一种基于嵌入式系统的数据存储模型及其方法,以解决现在的数据容易被破坏和丢失,无法自动恢复或重建的问题。
[0004]本专利技术一种基于嵌入式系统的数据存储模型及其方法的目的与功效,由以下具体技术手段所达成:
[0005]一种基于嵌入式系统的数据存储模型及其方法,包括嵌入式系统数据存储模型和MCU芯片,所述的模型包括外部主储区、片内影储区、缺省参数储区;所述的外部主储区为外部系统参数的默认存储区,所述的片内影储区为外部主储区的内部备份存储区,所述的缺省参数储区为数据填充区,当外部主储区与片内影储区数据都被损坏时,用缺省参数储区的数据填充外部主储区和片内影储区,从而恢复默认配置。
[0006]进一步的,所述外部外部主储区是存放在独立于MCU芯片的存储I C里面,片内片内影储区是存放在MCU芯片内部的FLASH或EEPROM里面,所述外部主储区和片内影储区的数据完全相同。
[0007]进一步的,所述的缺省参数存放在MCU芯片内部的FLASH里面,所述缺省参数区的数据是出厂的时候就固化不能改写的,当外部主储区和片内影储区的数据都遭到破坏后,MCU会把缺省参数区的数据复制到外部主储区和片内影储区。
[0008]进一步的,所述的方法包括数据写入方法。
[0009]进一步的,所述的数据写入方法,在每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,当数据发生改变需要保存时,首先将更改后的MCU数据写入外部主储区,根据对应的校验算法计算出外部主储区的校验值后,将校验值写入外部主储区的最后,然后用同样的方法将MCU里面的数据写入片内影储区。
[0010]进一步的,所述的方法还包括数据修复方法。
[0011]进一步的,所述的修复方法为:读取外部主储区的数据及校验值,通过对应的校验算法确定外部主储区数据的正确性,数据正确则作为系统参数加载运行;然后验证片内影
储区的数据,如果片内影储区数据不正确,则将外部主储区的数据复制到片内影储区。
[0012]进一步的,当所述外部主储区数据不正确的时候,则从片内影储区读取出数据并校验,如果片内影储区数据正确,则将片内影储区数据作为系统参数加载运行,并将片内影储区数据复制到外部主储区。
[0013]进一步的,所述的外部主储区和片内影储区数据都不正确,则装载缺省参数储区的数据作为系统参数运行。
[0014]进一步的,所述校验的算法可以是校验和、CRC校验或其它检验算法。
[0015]与现有技术相比,本专利技术具有如下有益效果:
[0016]1)增加了一个片内片内影储区作为外部外部主储区数据的备份,外部主储区和片内影储区的数据完全相同,由于数据同时存储在两个存储区中,所以当其中一个存储区中的数据被破坏或丢失时,可以通过另一个存储区来自动修复而不必恢复到默认参数。
[0017]2)每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,校验的算法可以是校验和、CRC校验或其它检验算法。
[0018]3)由于外部主储区和片内影储区分别位于MCU和外部存储芯片中,即便MCU或外部存储芯片损毁,在更换了新的器件后,系统数据也可以自动修复。
附图说明
[0019]图1是本专利技术的模型示意图;
[0020]图2是本专利技术的数据写入流程图;
[0021]图3是本专利技术的数据读取和修复流程图。
具体实施方式
[0022]下面结合附图和实施例对本专利技术的实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不能用来限制本专利技术的范围。
[0023]实施例:
[0024]如附图1至附图3所示:
[0025]本专利技术提供一种基于嵌入式系统的数据存储模型及其方法,包括嵌入式系统数据存储模型和MCU芯片,存储模型在MCU外部分为三个存储区,
[0026]外部主储区:读取系统参数的默认存储区,外部主储区是存放在独立于MCU芯片的存储I C里面;
[0027]片内影储区:外部主储区的备份存储区,片内影储区是存放在MCU芯片内部的FLASH或EEPROM里面,当外部主储区数据损坏时,可从片内影储区读取数据并修复外部主储区;
[0028]缺省参数储区:缺省参数区的数据固化,不可修改;当外部主储区与片内影储区数据都被损坏时,用缺省参数储区的数据填充外部主储区和片内影储区,从而恢复默认配置。
[0029]外部主储区和片内影储区的数据完全相同;然后在每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,校验的算法可以是校验和、CRC校验或其它检验算法。
[0030]本专利技术提出的数据存储模型的数据写入方法如图2所示:
[0031]当数据发生改变需要保存时,MCU首先将更改后的数据写入外部主储区,根据对应的校验算法计算出外部主储区的校验值后,将校验值写入外部主储区的最后;然后MCU再将更改后的数据写入片内影储区,根据对应的校验算法计算出片内影储区的校验值后,将校验值写入片内影储区的最后。
[0032]本专利技术提出的数据存储模型的具有数据读取和修复功能,其中数据读取的方法如图3所示:
[0033]当需要读取数据时,首先读取外部主储区的数据及校验值,通过对应的校验算法确定外部主储区数据的正确性,如果数据正确则作为系统参数加载运行,然后验证片内影储区的数据,如果片内影储区数据不正确,则将外部主储区的数据复制到片内影储区;如果外部主储区数据不正确,则从片内影储区读取出数据并校验,如果片内影储区数据正确,则将片内影储区数据作为系统参数加载运行,并将片内影储区数据复制到外部主储区,如果片内影储区数据也不正确,则装载缺省参数储区的数据作为系统参数运行。
[0034]这种机制带来的好处是:
[0035]1)由于数据同时存储在两个存储区中,所以当其中一个存储区中的数据被破坏或丢失时,可以通过另一个存储区来自动修复而不必恢复到默认参数。
[0036]2)更坏的情况,当其中一个存储区内存在“坏块”,存储区无法被修复时,也可由另一个存储区提供正确的系统数据使系统正常工作。
[0037]3)由于外部主储区和片内影储区分别位于MCU和外部存储芯片中,即便MCU或外部存储芯片损本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式系统的数据存储模型及其方法,包括嵌入式系统数据存储模型和MCU芯片,其特征在于:所述的模型包括外部主储区、片内影储区、缺省参数储区;所述的外部主储区为外部系统参数的默认存储区,所述的片内影储区为外部主储区的内部备份存储区,所述的缺省参数储区为数据填充区,当外部主储区与片内影储区数据都被损坏时,用缺省参数储区的数据填充外部主储区和片内影储区,从而恢复默认配置;所述的方法包括数据写入方法和数据修复方法。2.如权利要求1所述的一种基于嵌入式系统的数据存储模型及其方法,其特征在于:所述的数据写入方法,在每个存储区的最后增加一个校验值,用于对整个存储区的数据进行校验,当数据发生改变需要保存时,首先将更改后的数据写入外部主储区,根据对应的校验算法计算出外部主储区的校验值后,将校验值写入外部主储区的最后,然后用同样的方法将数据从数据从MCU写入写入片内影储区。3.如权利要求1所述的一种基于嵌入式系统的数据存储模型及其方法,其特征在于:所述外部主储区是存放在独立于MCU芯片的存储IC里面,片内影储区是存放在MCU芯片内部的FLASH或EEPROM里面,所述外部主储区和片内影储区的数据完全相同。4.如权利要求1所述一种基于嵌入式系统的数据存储...

【专利技术属性】
技术研发人员:曾光辉
申请(专利权)人:珠海黑石电气自动化科技有限公司
类型:发明
国别省市:

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

1