CN107609427A - 一种eeprom数据的存储方法及系统 - Google Patents
一种eeprom数据的存储方法及系统 Download PDFInfo
- Publication number
- CN107609427A CN107609427A CN201710840774.9A CN201710840774A CN107609427A CN 107609427 A CN107609427 A CN 107609427A CN 201710840774 A CN201710840774 A CN 201710840774A CN 107609427 A CN107609427 A CN 107609427A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- storage area
- data storage
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种EEPROM数据的存储方法及系统,该方法包括:获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据;读取待回读数据,判断待回读数据与待存储数据是否相同;若是,则待存储数据完成存储;若否,则将待存储数据再次存储至数据存储区,直至相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至数据存储区,将存储至数据存储区的数据进行回读,确定回读数据与待存储数据是否相同,来确定数据是否存储成功,以确保EEPROM数据存储的可靠性和安全性。
Description
技术领域
本发明涉及信息安全技术领域,特别是涉及一种EEPROM数据的存储方法及系统。
背景技术
随着社会的快速发展,智能仪表设备需求激增,基于内部控制资源少,先进的安全的低成本的外部非易失性存储器需求越来越大。基于成本、使用简单、可通过高于普通电压的作用来擦除和重编程等多方面因素,智能仪表通常采用EEPROM(英文全称:ElectricallyErasable Programmable Read-Only Memory,中文全称:带电可擦可编程只读存储器)来存储着一切关于仪表正常运行的重要参数。由于EEPROM中所存储的数据对于仪表的安全十分重要,因此,必须保证EEPROM中数据存取的安全准确。
目前,EEPROM一般多采用I2C串行总线接口来负责数据信息的传输,串行I2CEEPROM使用两线总线接口,其信号受干扰的可能性较小,电路占用的电路板面积较小,同时单片机可利用的引脚相对增多。因此,串行I2C EEPROM越来越受到人们的重视。I2C总线在实际进行数据传输过程中,一般会对时序波形有着更高的要求,一旦时序波形不能达到预期要求则将造成所传输数据的错误。通常通过SDA(英文全称:SerialData,中文全称:数据线)负责传输一切数据,而且凭借控制命令来达到数据与字节的传输,然而数据传输过程中可能遭到外界的干扰,而出现变化与波动,从而导致数据存取的错误,如不加以判断直接使用错误数据,将带来仪表的不安全。同时,大多数EEPROM存储的数据都是明码,没有进行加密处理,数据很容易遭到窃取甚至篡改,导致严重的安全和隐私问题。因此,在仪表出现存储单元数据丢失、损坏、篡改等情况下,将无法保证数据的可靠性和安全性。
发明内容
本发明的目的在于提出一种EEPROM数据的存储方法及系统,以确保EEPROM数据存储的可靠性和安全性。
为达到上述目的,本发明提供了以下技术方案:
一种EEPROM数据的存储方法,包括:
获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据;
将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据;
读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
优选的,所述获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据,包括:
获取所述原始数据和所述数据存储区,采用加密算法对所述原始数据进行加密处理得到加密数据;
对所述加密数据进行逻辑运算得到原始校验码,将所述原始校验码和所述加密数据作为所述待存储数据。
优选的,当所述数据存储区为一个数据存储区时,将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据,则所述读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较,包括:
读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
优选的,当所述数据存储区为多个数据存储区时,将所述待存储数据存储至所述多个数据存储区,将所述数据存储区中存储的数据作为多个待回读数据,则所述读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较,包括:
读取所述多个待回读数据,将所述多个待回读数据分别与所述待存储数据进行比较;
若所述多个待回读数据与所述待存储数据均相同,则所述待存储数据完成存储;
若所述多个待回读数据与所述待存储数据存在不相同,则将所述待存储数据再次存储至所述多个数据存储区,直至所述多个待回读数据与所述待存储数据均相同。
优选的,当所述数据存储区为多个数据存储区时,则所述读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较,包括:
选取未存储数据的任一数据存储区作为待验证数据存储区;
将所述待存储数据存储至所述待验证数据存储区,将所述待验证数据存储区中存储的数据作为待回读数据;
验证所述待回读数据与所述待存储数据是否相同;
若否,则将所述待存储数据存储至所述待验证数据存储区,将所述待验证数据存储区中存储的数据作为待回读数据;
若是,则判断所述多个数据存储区是否均已被存储;
若否,则选取未存储数据的任一存储区作为待验证数据存储。
优选的,所述将所述待存储数据存储至所述数据存储区之前,还包括:
判断所述数据存储区的存储次数是否超过预设存储次数;
若是,则读取所述数据存储区的下一个数据存储区,并将所述待存储数据存储至所述下一个数据存储区;
若否,则将所述待存储数据再次存储至所述数据存储区。
优选的,所述将所述待存储数据存储至所述待验证数据存储区之前,还包括:
判断所述待验证数据存储区的存储次数是否超过预设存储次数;
若是,则读取所述待验证数据存储区的下一个数据存储区,并将所述待存储数据存储至所述下一个数据存储区;
若否,则将所述待存储数据再次存储至所述待验证数据存储区。
优选的,还包括:
获取所述多个数据存储区,并提取所述数据存储区中存储的多个待读取数据,所述待读取数据为所述待存储数据;
对所述待读取数据进行数据校验得到校验码,将所述校验码与所述待读取数据的原始校验码进行比较;
若所述校验码与所述原始校验码相等,则读取所述待读取数据;
当所述多个待读取数据至少有两个相同时,则读取所述加密数据并进行数据解密,读取所述原始数据。
一种EEPROM数据的存储系统,包括:
预处理模块,用于获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据;
存储模块,用于将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据;
比较模块,用于读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
优选的,所述预处理模块包括:
加密单元,用于获取所述原始数据和所述数据存储区,采用加密算法对所述原始数据进行加密处理得到加密数据;
校验单元,用于对所述加密数据进行逻辑运算得到原始校验码,将所述原始校验码和所述加密数据作为所述待存储数据。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种EEPROM数据的存储方法及系统,该方法包括:获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据;读取待回读数据,判断待回读数据与待存储数据是否相同;若是,则待存储数据完成存储;若否,则将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至数据存储区,为了确保存储数据的正确性,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,通过本发明提供的存储方法以确保EEPROM数据存储的可靠性和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一提供的一种EEPROM数据的存储方法流程示意图;
图2为本发明实施例二提供的一种EEPROM数据的存储方法流程示意图;
图3为本发明实施例二中提供的多个存储区设计的三个数据存储空间的结构示意图;
图4为本发明实施例三提供的一种EEPROM数据的存储方法流程示意图;
图5为本发明实施例四提供的一种EEPROM数据的存储方法流程示意图;
图6为本发明实施例五提供的一种EEPROM数据的存储方法流程示意图;
图7为本发明实施例六提供的一种EEPROM数据的存储系统结构示意图;
图8为本发明实施例七提供的一种EEPROM数据的存储系统结构示意图;
图9为本发明实施例八提供的一种EEPROM数据的存储系统结构示意图;
图10为本发明实施例九提供的一种EEPROM数据的存储系统结构示意图;
图11为本发明实施例十提供的一种EEPROM数据的存储系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虽然关于智能仪表中EEPROM存取数据的技术处理方法很多,但是大多数都是停留在简单的数据存取方面,对数据的安全存储和安全读取涉及的不多,数据传输过程中可能遭到外界的干扰、存储单元损坏、存储数据丢失,从而导致数据存取的错误不加以判断,带来仪表的不安全。而且对存储的信息也不进行加密处理,很容易窃取甚至篡改。具体表现包括:1、在存储数据过程中,将待存储数据不进行加密直接写入EEPROM;2、存取EEPROM中的数据不加验证;3、存储在EEPROM存储单元的数据可能发生错误,使得读取的数据无法使用;4、存储单元损坏或超过存储寿命而引起的数据保存不准确;5、在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知回读存储的数据,比较存储的数据和回读的数据是否相同来确保存储成功;6、在读取数据过程中可能遭到外界的干扰、存储单元损坏、存储数据丢失,没有数据备份。因此,在仪表出现存储单元数据丢失、损坏、篡改等情况下,将无法保证数据的可靠性和安全性;本发明提出的EEPROM数据的存储方法及系统能够保证数据读写的可靠性,同时能降低信息安全问题。
实施例一
请参阅附图1,图1为本发明实施例一提供的一种EEPROM数据的存储方法流程示意图。如图1所示,本实施例公开了一种EEPROM数据的存储方法,该方法具体包括如下步骤:
S101、获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据。
需要说明的是,在本实施例中,获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据,具体包括如下步骤:
获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
在数据进行存储之前,需要先对所要存储的数据进行加密处理,即可以通过DES加密算法进行数据的加密,这是对智能仪表的数据进行安全防护的一个最为基本的安全技术,其也是保证数据安全的重要组成部分,通过加密即使数据通过非法手段被不法分子获取,由于其通过加密算法将数据转换成加密数据,数据无法直接被不法分子获取。为了更进一步的保证数据的安全,需要将加密后的加密数据按照一定的规则进行逻辑运算,得到对应原始校验码,并将该原始校验码和加密数据作为待存储数据进行存储,后续进行数据读取时,只要按照相同的规则进行逻辑运算,并将校验结果与读取的数据中的校验码进行比较,如果校验数据相等,则表明读取的数据正确,否则重新读取。
S102、当数据存储区为一个数据存储区时,将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据。
S103、读取待回读数据,判断待回读数据与待存储数据是否相同,若是,则待存储数据完成存储;若否,则进入步骤104。
S104、将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。
需要说明的是,本实施例中,在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知。因此,为了确保数据正确地写入EEPROM,程序在存储操作完成后,应随即进行一次回读操作,并将读回的数据与存储的数据进行比较,判断EEPROM中的数据是否正确。如果读取数据与存储的数据不同则应重新进行存储操作,直到存储和读回的数据完全一致。
本实施例提供了一种EEPROM数据的存储方法,该方法包括:获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据;当数据存储区为一个数据存储区时,读取待回读数据,判断待回读数据与待存储数据是否相同;若是,则待存储数据完成存储;若否,则将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,通过本发明提供的存储方法以确保EEPROM数据存储的可靠性和安全性。
实施例二
请参阅附图2,图2为本发明实施例二提供的一种EEPROM数据的存储方法流程示意图。如图2所示,本实施例公开了一种EEPROM数据的存储方法,该方法具体包括如下步骤:
S201、获取原始数据和多个数据存储区,对原始数据进行预处理得到待存储数据。
需要说明的是,在本实施例中,获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据,具体包括如下步骤:
获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
在数据进行存储之前,需要先对所要存储的数据进行加密处理,即可以通过DES加密算法进行数据的加密,这是对智能仪表的数据进行安全防护的一个最为基本的安全技术,其也是保证数据安全的重要组成部分,通过加密即使数据通过非法手段被不法分子获取,由于其通过加密算法将数据转换成加密数据,数据无法直接被不法分子获取。为了更进一步的保证数据的安全,需要将加密后的加密数据按照一定的规则进行逻辑运算,得到对应原始校验码,并将该原始校验码和加密数据作为待存储数据进行存储,后续进行数据读取时,只要按照相同的规则进行逻辑运算,并将校验结果与读取的数据中的校验码进行比较,如果校验数据相等,则表明读取的数据正确,否则重新读取。
S202、当数据存储区为多个数据存储区时,将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据。
S203、读取多个待回读数据,判断多个待回读数据与待存储数据是否均相同,若是,则待存储数据完成存储;若否,则进入步骤S204。
S204、将待存储数据再次存储至数据存储区,直至多个待回读数据与待存储数据均相同。
需要说明的是,本实施例中,在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知。因此,为了确保数据正确地写入EEPROM,程序在存储操作完成后,应随即进行一次回读操作,并将读回的数据与存储的数据进行比较,判断EEPROM中的数据是否正确。如果读取数据与存储的数据不同则应重新进行存储操作,直到存储和读回的数据完全一致。
为了进一步的保证数据的安全性,避免在程序跑飞或者存储单元损坏的情况下,存储在EEPROM存储单元的数据可能发生错误,使得读取的数据无法使用,因此在进行数据存储的时进行多个数据备份,分别存储至多个不同的EEPROM的数据存储区。为保证数据的安全,降低数据的受影响概率,将多个不同的EEPROM的数据存储区分散分布在存储空间,数据地址区存放数据的地址。如图3所示,存储空间可分为数据区1、数据区2、数据区3、数据地址和其他数据。
本实施例提供了一种EEPROM数据的存储方法,该方法包括:获取原始数据和多个数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据;当数据存储区为多个数据存储区时,读取多个待回读数据,判断多个待回读数据与待存储数据是否均相同;若是,则待存储数据完成存储;若否,则将待存储数据再次存储至数据存储区,直至多个待回读数据与待存储数据均相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,通过本发明提供的存储方法将存储数据备份在多个存储区域,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,进一步确保EEPROM数据存储的可靠性和安全性。
实施例三
请参阅附图4,图4为本发明实施例三提供的一种EEPROM数据的存储方法流程示意图。如图4所示,本实施例公开了一种EEPROM数据的存储方法,该方法具体包括如下步骤:
S401、获取原始数据和多个数据存储区,对原始数据进行预处理得到待存储数据。
需要说明的是,在本实施例中,获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据,具体包括如下步骤:
获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
在数据进行存储之前,需要先对所要存储的数据进行加密处理,即可以通过DES加密算法进行数据的加密,这是对智能仪表的数据进行安全防护的一个最为基本的安全技术,其也是保证数据安全的重要组成部分,通过加密即使数据通过非法手段被不法分子获取,由于其通过加密算法将数据转换成加密数据,数据无法直接被不法分子获取。为了更进一步的保证数据的安全,需要将加密后的加密数据按照一定的规则进行逻辑运算,得到对应原始校验码,并将该原始校验码和加密数据作为待存储数据进行存储,后续进行数据读取时,只要按照相同的规则进行逻辑运算,并将校验结果与读取的数据中的校验码进行比较,如果校验数据相等,则表明读取的数据正确,否则重新读取。
S402、当数据存储区为多个数据存储区时,将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据。
S403、选取未存储数据的任一数据存储区作为待验证数据存储区;
S404、将待存储数据存储至待验证数据存储区,将待验证数据存储区中存储的数据作为待回读数据;
S405、验证待回读数据与待存储数据是否相同,若否,则返回步骤S404,若是,则进入步骤S406;
S406、判断多个数据存储区是否均已被存储,若是,则结束;若否,则返回步骤S403。
需要说明的是,本实施例中,在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知。因此,为了确保数据正确地写入EEPROM,程序在存储操作完成后,应随即进行一次回读操作,并将读回的数据与存储的数据进行比较,判断EEPROM中的数据是否正确。如果读取数据与存储的数据不同则应重新进行存储操作,直到存储和读回的数据完全一致。
为了进一步的保证数据的安全性,避免在程序跑飞或者存储单元损坏的情况下,存储在EEPROM存储单元的数据可能发生错误,使得读取的数据无法使用,因此在进行数据存储的时进行多个数据备份,分别存储至多个不同的EEPROM的数据存储区。为保证数据的安全,降低数据的受影响概率,将多个不同的EEPROM的数据存储区分散分布在存储空间,数据地址区存放数据的地址。例如,如图3所示,存储空间可分为数据区1、数据区2、数据区3、数据地址和其他数据。
本实施例提供了一种EEPROM数据的存储方法,本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至数据存储区,为了确保存储数据的正确性,通过本发明提供的存储方法将存储数据备份在多个存储区域,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,进一步确保EEPROM数据存储的可靠性和安全性。
实施例四
请参阅附图5,图5为本发明实施例四提供的一种EEPROM数据的存储方法流程示意图。如图5所示,在实施例一的基础上,本发明公开了一种EEPROM数据的存储方法,该方法具体包括如下步骤:
S501、获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据。
需要说明的是,在本实施例中,获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据,具体包括如下步骤:
获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
在数据进行存储之前,需要先对所要存储的数据进行加密处理,即可以通过DES加密算法进行数据的加密,这是对智能仪表的数据进行安全防护的一个最为基本的安全技术,其也是保证数据安全的重要组成部分,通过加密即使数据通过非法手段被不法分子获取,由于其通过加密算法将数据转换成加密数据,数据无法直接被不法分子获取。为了更进一步的保证数据的安全,需要将加密后的加密数据按照一定的规则进行逻辑运算,得到对应原始校验码,并将该原始校验码和加密数据作为待存储数据进行存储,后续进行数据读取时,只要按照相同的规则进行逻辑运算,并将校验结果与读取的数据中的校验码进行比较,如果校验数据相等,则表明读取的数据正确,否则重新读取。
S502、当数据存储区为一个数据存储区时,将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据。
S503、读取待回读数据,将待回读数据与待存储数据进行比较,若待回读数据与待存储数据相同,则待存储数据完成存储,若待回读数据与待存储数据不相同时,进入步骤S504。
S504、判断数据存储区的存储次数是否超过预设存储次数,若是,则进入步骤S505,若否,则进入步骤S506。
S505、读取数据存储区的下一个数据存储区,并将待存储数据存储至下一个数据存储区;
S506、将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。
需要说明的是,本实施例中,在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知。因此,为了确保数据正确地写入EEPROM,程序在存储操作完成后,应随即进行一次回读操作,并将读回的数据与存储的数据进行比较,判断EEPROM中的数据是否正确。如果读取数据与存储的数据不同则应重新进行存储操作,直到存储和读回的数据完全一致。
本实施例提供了一种EEPROM数据的存储方法,该方法包括:获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据;当数据存储区为一个数据存储区时,读取待回读数据,判断待回读数据与待存储数据是否相同;若是,则待存储数据完成存储;若否,判断数据存储区的存储次数是否超过预设存储次数,若是,则将待存储数据存储至下一个数据存储区,若否则将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,通过本发明提供的存储方法以确保EEPROM数据存储的可靠性和安全性。
实施例五
请参阅附图6,图6为本发明实施例五提供的一种EEPROM数据的存储方法流程示意图。如图6所示,在实施例二或实施例三的基础上,再此以实施例二来说明,本发明公开了一种EEPROM数据的存储方法,该方法具体包括如下步骤:
S601、获取原始数据和多个数据存储区,对原始数据进行预处理得到待存储数据。
需要说明的是,在本实施例中,获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据,具体包括如下步骤:
获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
在数据进行存储之前,需要先对所要存储的数据进行加密处理,即可以通过DES加密算法进行数据的加密,这是对智能仪表的数据进行安全防护的一个最为基本的安全技术,其也是保证数据安全的重要组成部分,通过加密即使数据通过非法手段被不法分子获取,由于其通过加密算法将数据转换成加密数据,数据无法直接被不法分子获取。为了更进一步的保证数据的安全,需要将加密后的加密数据按照一定的规则进行逻辑运算,得到对应原始校验码,并将该原始校验码和加密数据作为待存储数据进行存储,后续进行数据读取时,只要按照相同的规则进行逻辑运算,并将校验结果与读取的数据中的校验码进行比较,如果校验数据相等,则表明读取的数据正确,否则重新读取。
S602、当数据存储区为多个数据存储区时,将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据。
S603、读取多个待回读数据,判断多个待回读数据与待存储数据是否均相同,若是,则待存储数据完成存储;若否,则进入步骤S604。
S604、将待存储数据再次存储至数据存储区,直至多个待回读数据与待存储数据均相同。
需要说明的是,本实施例中,在存储数据的过程中如果数据传输线路串入干扰或者存储单元损坏,可能会导致错误的数据被写入EEPROM,而这种异常情况微控制器往往无法得知。因此,为了确保数据正确地写入EEPROM,程序在存储操作完成后,应随即进行一次回读操作,并将读回的数据与存储的数据进行比较,判断EEPROM中的数据是否正确。如果读取数据与存储的数据不同则应重新进行存储操作,直到存储和读回的数据完全一致。
为了进一步的保证数据的安全性,避免在程序跑飞或者存储单元损坏的情况下,存储在EEPROM存储单元的数据可能发生错误,使得读取的数据无法使用,因此在进行数据存储的时进行多个数据备份,分别存储至多个不同的EEPROM的数据存储区。为保证数据的安全,降低数据的受影响概率,将多个不同的EEPROM的数据存储区分散分布在存储空间,数据地址区存放数据的地址。如图3所示,存储空间可分为数据区1、数据区2、数据区3、数据地址和其他数据。
S605、获取多个数据存储区,并提取数据存储区中存储的多个待读取数据,待读取数据为待存储数据;
S606、对待读取数据进行数据校验得到校验码,将校验码与待读取数据的原始校验码进行比较;
S607、若校验码与原始校验码相等,则读取待读取数据;
S608、若多个待读取数据至少有两个相同时,则读取加密数据并进行数据解密,读取原始数据。
本实施例提供了一种EEPROM数据的存储方法,该方法包括:获取原始数据和多个数据存储区,对原始数据进行预处理得到待存储数据;将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据;当数据存储区为多个数据存储区时,读取多个待回读数据,判断多个待回读数据与待存储数据是否均相同;若是,则待存储数据完成存储;若否,则将待存储数据再次存储至数据存储区,直至多个待回读数据与待存储数据均相同。本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,通过本发明提供的存储方法将存储数据备份在多个存储区域,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,进一步确保EEPROM数据存储的可靠性和安全性。
本发明在上述公开的方法的基础上,还公开了对应的系统。
下面对本发明实施例提供的一种EEPROM数据的存储系统进行介绍,需要说明的是,有关该EEPROM数据的存储系统的说明可参照上文提供的EEPROM数据的存储方法,以下并不做赘述。
实施例六
请参阅附图7,图7为本发明实施例六提供的一种EEPROM数据的存储系统结构示意图。如图7所示,本发明实施例公开了一种EEPROM数据的存储系统,该系统具体包括如下:
预处理模块701,用于获取原始数据和数据存储区,对原始数据进行预处理得到待存储数据;
存储模块702,用于将待存储数据存储至数据存储区,将数据存储区中存储的数据作为待回读数据;
判断模块703,用于读取所述待回读数据,判断待回读数据与待存储数据是否均相同;
若待回读数据与待存储数据相同,则待存储数据完成存储;
若待回读数据与待存储数据不相同时,则将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。
优选的,上述预处理模块701包括:
加密单元7011,用于获取原始数据和数据存储区,采用加密算法对原始数据进行加密处理得到加密数据;
校验单元7012,用于对加密数据进行逻辑运算得到原始校验码,将原始校验码和加密数据作为待存储数据。
优选的,判断模块703包括:
第一比较单元,用于读取待回读数据,将待回读数据与待存储数据进行比较;
若待回读数据与待存储数据相同,则待存储数据完成存储;
若待回读数据与待存储数据不相同时,则将待存储数据再次存储至数据存储区,直至待回读数据与待存储数据相同。
优选的,在实施例六的基础上,当数据存储区为多个数据存储区时,将待存储数据存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据,则比较模块703包括:
第二比较单元,用于读取多个待回读数据,将多个待回读数据分别与待存储数据进行比较;
若多个待回读数据与待存储数据均相同,则待存储数据完成存储;
若多个待回读数据与待存储数据存在不相同,则将待存储数据再次存储至多个数据存储区,直至多个待回读数据与待存储数据均相同。
本实施例提供了一种EEPROM数据的存储系统,本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至数据存储区,为了确保存储数据的正确性,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,通过本发明提供的存储方法以确保EEPROM数据存储的可靠性和安全性。
实施例七
请参阅附图8,图8为本发明实施例七提供的一种EEPROM数据的存储系统结构示意图。如图8所示,在实施例六的基础上,当数据存储区为多个数据存储区时,将待存储数据依次存储至多个数据存储区,将数据存储区中存储的数据作为多个待回读数据,则比较模块703包括:
选取单元801,用于选取未存储数据的任一数据存储区作为待验证数据存储区;
存储单元802,用于将待存储数据存储至待验证数据存储区,将待验证数据存储区中存储的数据作为待回读数据;
验证单元803,用于验证待回读数据与待存储数据是否相同;
若否,则将待存储数据存储至待验证数据存储区,将待验证数据存储区中存储的数据作为待回读数据;
判断单元804,用于判断多个数据存储区是否均已被存储;
若否,则选取未存储数据的任一存储区作为待验证数据存储。
本实施例提供了一种EEPROM数据的存储系统,本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,通过本发明提供的存储方法以确保EEPROM数据存储的可靠性和安全性。
实施例八
请参阅附图9,图9为本发明实施例八提供的一种EEPROM数据的存储系统结构示意图。如图9所示,在实施例六的基础上,该系统还包括:
第一判断模块901,用于判断所述数据存储区的存储次数是否超过预设存储次数;
若是,则读取所述数据存储区的下一个数据存储区,并将所述待存储数据存储至所述下一个数据存储区;
若否,则将所述待存储数据再次存储至所述数据存储区。
实施例九
请参阅附图10,图10为本发明实施例九提供的一种EEPROM数据的存储系统结构示意图。如图10所示,在实施例七的基础上,该系统还包括:
第二判断模块1001,用于判断待验证数据存储区的存储次数是否超过预设存储次数;
若是,则读取待验证数据存储区的下一个数据存储区,并将待存储数据存储至下一个数据存储区;
若否,则将待存储数据再次存储至待验证数据存储区。
本实施例提供了一种EEPROM数据的存储系统,本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,通过本发明提供的存储方法将存储数据备份在多个存储区域,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,进一步确保EEPROM数据存储的可靠性和安全性。
实施例十
请参阅附图11,图11为本发明实施例十提供的一种EEPROM数据的存储系统结构示意图。如图11所示,在上述实施例八和实施例九的基础上,在此以实施例八为例说明,该系统还包括:
提取单元1101,用于获取多个数据存储区,并提取数据存储区中存储的多个待读取数据,待读取数据为所述待存储数据;
第三比较单元1102,用于对待读取数据进行数据校验得到校验码,将校验码与待读取数据的原始校验码进行比较;
读取单元1103,用于若校验码与原始校验码相等,则读取待读取数据;
解密单元1104,用于当多个待读取数据至少有两个相同时,则读取加密数据并进行数据解密,读取原始数据。
本实施例提供了一种EEPROM数据的存储系统,本发明通过在数据存储时,对数据先进行预处理得到包含校验码以及加密数据的待存储数据,然后读取数据存储区,将待存储数据存储至所述数据存储区,为了确保存储数据的正确性,通过本发明提供的存储方法将存储数据备份在多个存储区域,将存储至数据存储区的数据进行回读,然后确定回读数据与待存储数据是否相同,来确定数据是否存储成功,最后,在读取存储的数据时,读取所有备份数据进行验证,进一步确保EEPROM数据存储的可靠性和安全性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种EEPROM数据的存储方法,其特征在于,包括:
获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据;
将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据;
读取所述待回读数据,判断所述待回读数据与所述待存储数据是否相同;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
2.根据权利要求1所述的存储方法,其特征在于,所述获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据,包括:
获取所述原始数据和所述数据存储区,采用加密算法对所述原始数据进行加密处理得到加密数据;
对所述加密数据进行逻辑运算得到原始校验码,将所述原始校验码和所述加密数据作为所述待存储数据。
3.根据权利要求2所述的存储方法,其特征在于,当所述数据存储区为一个数据存储区时,将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据,则所述读取所述待回读数据,判断所述待回读数据与所述待存储数据进行是否相同,包括:
读取所述待回读数据,将所述待回读数据与所述待存储数据进行比较;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
4.根据权利要求2所述的存储方法,其特征在于,当所述数据存储区为多个数据存储区时,将所述待存储数据存储至所述多个数据存储区,将所述数据存储区中存储的数据作为多个待回读数据,则所述读取所述待回读数据,判断所述待回读数据与所述待存储数据是否相同,包括:
读取所述多个待回读数据,将所述多个待回读数据分别与所述待存储数据进行比较;
若所述多个待回读数据与所述待存储数据均相同,则所述待存储数据完成存储;
若所述多个待回读数据与所述待存储数据存在不相同,则将所述待存储数据再次存储至所述多个数据存储区,直至所述多个待回读数据与所述待存储数据均相同。
5.根据权利要求2所述的存储方法,其特征在于,当所述数据存储区为多个数据存储区时,则所述读取所述待回读数据,判断所述待回读数据与所述待存储数据是否相同,包括:
选取未存储数据的任一数据存储区作为待验证数据存储区;
将所述待存储数据存储至所述待验证数据存储区,将所述待验证数据存储区中存储的数据作为待回读数据;
验证所述待回读数据与所述待存储数据是否相同;
若否,则将所述待存储数据存储至所述待验证数据存储区,将所述待验证数据存储区中存储的数据作为待回读数据;
若是,则判断所述多个数据存储区是否均已被存储;
若否,则选取未存储数据的任一存储区作为待验证数据存储。
6.根据权利要求3或4所述的存储方法,其特征在于,所述将所述待存储数据存储至所述数据存储区之前,还包括:
判断所述数据存储区的存储次数是否超过预设存储次数;
若是,则读取所述数据存储区的下一个数据存储区,并将所述待存储数据存储至所述下一个数据存储区;
若否,则将所述待存储数据再次存储至所述数据存储区。
7.根据权利要求5所述的存储方法,其特征在于,所述将所述待存储数据存储至所述待验证数据存储区之前,还包括:
判断所述待验证数据存储区的存储次数是否超过预设存储次数;
若是,则读取所述待验证数据存储区的下一个数据存储区,并将所述待存储数据存储至所述下一个数据存储区;
若否,则将所述待存储数据再次存储至所述待验证数据存储区。
8.根据权利要求4或5所述的存储方法,其特征在于,还包括:
获取所述多个数据存储区,并提取所述数据存储区中存储的多个待读取数据,所述待读取数据为所述待存储数据;
对所述待读取数据进行数据校验得到校验码,将所述校验码与所述待读取数据的原始校验码进行比较;
若所述校验码与所述原始校验码相等,则读取所述待读取数据;
当所述多个待读取数据至少有两个相同时,则读取所述加密数据并进行数据解密,读取所述原始数据。
9.一种EEPROM数据的存储系统,其特征在于,包括:
预处理模块,用于获取原始数据和数据存储区,对所述原始数据进行预处理得到待存储数据;
存储模块,用于将所述待存储数据存储至所述数据存储区,将所述数据存储区中存储的数据作为待回读数据;
判断模块,用于读取所述待回读数据,判断所述待回读数据与所述待存储数据是否相同;
若所述待回读数据与所述待存储数据相同,则所述待存储数据完成存储;
若所述待回读数据与所述待存储数据不相同时,则将所述待存储数据再次存储至所述数据存储区,直至所述待回读数据与所述待存储数据相同。
10.根据权利要求9所述的存储系统,其特征在于,所述预处理模块包括:
加密单元,用于获取所述原始数据和所述数据存储区,采用加密算法对所述原始数据进行加密处理得到加密数据;
校验单元,用于对所述加密数据进行逻辑运算得到原始校验码,将所述原始校验码和所述加密数据作为所述待存储数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710840774.9A CN107609427A (zh) | 2017-09-18 | 2017-09-18 | 一种eeprom数据的存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710840774.9A CN107609427A (zh) | 2017-09-18 | 2017-09-18 | 一种eeprom数据的存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107609427A true CN107609427A (zh) | 2018-01-19 |
Family
ID=61060484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710840774.9A Pending CN107609427A (zh) | 2017-09-18 | 2017-09-18 | 一种eeprom数据的存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609427A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376031A (zh) * | 2018-09-27 | 2019-02-22 | 潍柴动力股份有限公司 | 一种防止eeprom存储区校验误判发生的方法及装置 |
CN110069217A (zh) * | 2019-04-10 | 2019-07-30 | 新华三信息安全技术有限公司 | 一种数据存储方法及装置 |
CN113282244A (zh) * | 2021-06-10 | 2021-08-20 | 辽宁警察学院 | 一种数据存储方法及装置 |
CN113992324A (zh) * | 2021-09-16 | 2022-01-28 | 深圳市有方科技股份有限公司 | 对IoT设备的硬件加密模块的配置方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914667A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种安全读写eeprom的方法及其系统 |
CN103985410A (zh) * | 2014-04-30 | 2014-08-13 | 北京世纪东方国铁科技股份有限公司 | 一种存储装置及用于存储装置的数据访问方法 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN106021002A (zh) * | 2016-04-29 | 2016-10-12 | 上海庆科信息技术有限公司 | 一种嵌入式设备数据读写方法及装置 |
-
2017
- 2017-09-18 CN CN201710840774.9A patent/CN107609427A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914667A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种安全读写eeprom的方法及其系统 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN103985410A (zh) * | 2014-04-30 | 2014-08-13 | 北京世纪东方国铁科技股份有限公司 | 一种存储装置及用于存储装置的数据访问方法 |
CN106021002A (zh) * | 2016-04-29 | 2016-10-12 | 上海庆科信息技术有限公司 | 一种嵌入式设备数据读写方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376031A (zh) * | 2018-09-27 | 2019-02-22 | 潍柴动力股份有限公司 | 一种防止eeprom存储区校验误判发生的方法及装置 |
CN109376031B (zh) * | 2018-09-27 | 2022-10-25 | 潍柴动力股份有限公司 | 一种防止eeprom存储区校验误判发生的方法及装置 |
CN110069217A (zh) * | 2019-04-10 | 2019-07-30 | 新华三信息安全技术有限公司 | 一种数据存储方法及装置 |
CN113282244A (zh) * | 2021-06-10 | 2021-08-20 | 辽宁警察学院 | 一种数据存储方法及装置 |
CN113992324A (zh) * | 2021-09-16 | 2022-01-28 | 深圳市有方科技股份有限公司 | 对IoT设备的硬件加密模块的配置方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609427A (zh) | 一种eeprom数据的存储方法及系统 | |
CN103580872B (zh) | 一种用于密钥生成与管理的系统及方法 | |
CN102567245B (zh) | 用于soc芯片系统的存储控制器及其实现方法 | |
US9454663B2 (en) | Data processing method and device | |
CN105678191A (zh) | 利用SoC内部存储提高系统安全性的方法、终端与系统 | |
CN107229881A (zh) | 以sram为基础的认证电路 | |
US20080215955A1 (en) | Semiconductor storage device | |
CN103559435A (zh) | 终端设备的调试端口控制方法和装置 | |
CN106650464A (zh) | 一种安全检测方法及终端 | |
CN106845261A (zh) | 一种销毁ssd硬盘数据的方法及装置 | |
CN107092838A (zh) | 一种硬盘的安全访问控制方法及一种硬盘 | |
CN109686389B (zh) | 存储器装置和用于验证存储器访问的方法 | |
US9471413B2 (en) | Memory device with secure test mode | |
CN109472172B (zh) | 用于防止来自存储器的未授权数据访问的方法 | |
CN101425896B (zh) | 网络账户加密方法 | |
CN106203100A (zh) | 一种完整性校验方法和装置 | |
CN108959912A (zh) | 一种bios和操作系统复用密码的方法、装置及设备 | |
CN105512560A (zh) | 一种一次性可编程存储器芯片和及其的控制方法 | |
CN107678879A (zh) | 一种用于总线及存储单元数据块实时校验的装置与方法 | |
US20150135335A1 (en) | Computer system and method for protecting data from external threats | |
US9652232B2 (en) | Data processing arrangement and method for data processing | |
CN108491735A (zh) | Nor Flash安全存储方法、装置和设备 | |
US20140082372A1 (en) | Secure spin torque transfer magnetic random access memory (sttmram) | |
CN106484477B (zh) | 安全的软件下载与启动方法 | |
CN110443070A (zh) | 多主机共享存储系统及数据完整性保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |
|
RJ01 | Rejection of invention patent application after publication |