CN109947594B - 一种数据备份方法及装置、数据恢复方法及装置 - Google Patents
一种数据备份方法及装置、数据恢复方法及装置 Download PDFInfo
- Publication number
- CN109947594B CN109947594B CN201910143955.5A CN201910143955A CN109947594B CN 109947594 B CN109947594 B CN 109947594B CN 201910143955 A CN201910143955 A CN 201910143955A CN 109947594 B CN109947594 B CN 109947594B
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- backed
- area
- value
- 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.)
- Active
Links
Images
Abstract
本发明提供了一种数据备份方法及装置、数据恢复方法及装置,数据备份方法应用于安全芯片,数据备份方法包括:获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和第二有效值。应用本发明实施例,提高了数据备份的可靠性和安全性。
Description
技术领域
本发明涉及掉电保护领域,尤其涉及一种数据备份方法及装置、数据恢复方法及装置。
背景技术
对于安全芯片相关的产品,例如智能卡、安全元件(Secure Element,简称SE)、微控制单元(Microcontroller Unit,MCU)、非易失性存储器(如EEPROM、FLAHS)、POS(pointof sale,销售终端)终端等,在商场或公交车等自助场所等多采用读卡器设备在操作安全芯片的过程中,存在使用过程中对安全芯片进行直接下电的风险,因此,安全芯片容易出现反复掉电的情况,例如,用POS终端刷卡、用公交卡刷公交或者非接刷卡的过程中,由于场强不稳定或者用户拿卡不稳定,导致卡片交易过程中反复掉电。
对于反复掉电造成的数据丢失问题,目前普遍采取的方案是对当前数据进行备份,并在安全芯片上电后再对数据进行恢复。但是如果在备份过程中出现掉电,可能导致安全芯片无法确定待备份数据是否被成功备份,从而导致产品无法继续使用等问题,因此安全性和可靠性不高,而对于这类使用了安全芯片的产品而言,安全是极其重要的一个评价指标,因此有必要设计一种新的数据备份方法,以克服上述问题。
发明内容
本发明的目的在于克服现有技术之缺陷,提供了一种数据备份方法及装置、数据恢复方法及装置,以实现可以确定待备份数据是否被成功备份,提高数据备份的可靠性和安全性。
本发明是这样实现的:
第一方面,本发明提供一种数据备份方法,应用于安全芯片,所述方法包括:
获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值。
可选的,所述方法还包括:
对所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
可选的,所述方法还包括:
获得待写入的实际数据,将所述实际数据写入所述目标区域;
擦除所述备份区中的备份标记位和预留标记位的值。
第二方面,本发明提供一种数据恢复方法,应用于安全芯片,所述安全芯片是采用上述任一所述的数据备份方法进行数据备份的,所述方法包括:
在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
可选的,所述安全芯片的备份区存储有第一校验值,在擦除目标区域的数据之前,所述方法还包括:
对所读取待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第二校验值;并读取备份区所存储的第一校验值;
比较第二校验值是否等于第一校验值;
若等于,则执行擦除目标区域的数据。
可选的,若第二校验值不等于第一校验值,所述方法还包括:
按照预设的异常处理算法,对所述待备份数据进行异常处理。
可选的,在将待备份数据恢复至擦除数据后的目标区域后,所述方法还包括:
擦除备份区中的备份标记位和预留标记位的值。
第三方面,本发明提供一种数据备份装置,应用于安全芯片,所述装置包括:
获得模块,用于获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
擦除模块,用于擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
存储模块,用于将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值。
可选的,所述装置还包括计算模块,用于:
对所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
可选的,所述装置还包括写入模块,用于:
获得待写入的实际数据,将所述实际数据写入所述目标区域;
擦除所述备份区中的备份标记位和预留标记位的值。
第四方面,本发明提供一种数据恢复装置,应用于安全芯片,所述安全芯片是采用上述的数据备份方法进行数据备份的,所述装置包括:
设置模块,在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
恢复模块,用于读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
可选的,所述安全芯片的备份区存储有第一校验值,在擦除目标区域的数据之前,所述装置还包括比较模块,用于:
对所读取待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第二校验值;并读取备份区所存储的第一校验值;
比较第二校验值是否等于第一校验值;
若等于,则执行擦除目标区域的数据。
可选的,所述装置还包括异常处理模块,用于:
若第二校验值不等于第一校验值,按照预设的异常处理算法,对所述待备份数据进行异常处理。
可选的,所述装置还包括擦除模块,用于:
在将待备份数据恢复至擦除数据后的目标区域后,擦除备份区中的备份标记位和预留标记位的值。
本发明具有以下有益效果:应用本发明实施例提供的技术方案,在将待备份数据存储至所述备份区的数据区后,可以将备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和第二有效值,从而可以通过备份标记位和预留标记位的值确认数据备份的有效性,避免了掉电后无法确定待备份数据是否被成功备份的情况。提高了数据备份的可靠性和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的数据备份方法的一种流程示意图;
图2为本发明实施例提供的数据恢复方法的一种流程示意图;
图3为本发明实施例提供的数据备份装置的一种结构示意图;
图4为本发明实施例提供的数据恢复装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了解决现有技术中掉电后无法确定待备份数据是否被成功备份的问题,本发明实施例公开了一种数据备份方法及装置。下面对本发明实施例提供的一种数据备份方法进行详细说明。
参见图1,本发明实施例提供一种数据备份方法,应用于安全芯片,所述方法包括:
S101、获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
安全芯片可以是智能卡、安全元件(Secure Element,简称SE)、微控制单元(Microcontroller Unit,MCU)或者其他非易失性存储器(如EEPROM、FLAHS)、POS终端等。
安全芯片的存储区可以包括用户区和备份区,用户区用于存储应用中涉及到的数据,备份区可以存储待备份的数据。当用户区的数据需要更新时,可以先将用户区的数据作为待备份数据,在待备份数据在备份区成功备份后,可以在用户区写入新的数据。
用户区存储的数据可以看作是原始数据,在使用安全芯片的过程中,可以对原始数据进行操作而产生新的实际数据,实际数据需要重新写入安全芯片以更新用户区的原始数据。例如,应用智能卡进行公交消费,每刷一次智能卡,都会在原有金额的基础上扣除公交乘车费,从而产生新的余额,新的余额就是所产生的实际数据,也是智能卡待写入的数据。若对实际数据进行存储的过程中发生掉电,可能导致实际数据无法成功存储,为了重新恢复得到实际数据,可以对原始数据进行备份,从而重新对原始数据进行操作而产生实际数据。用户区中的目标区域可以存储待备份的原始数据。
S102、擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
备份区的数据结构可以根据需求事先设定,例如,备份区可以包括备份标记位、预留标记位和数据区等等。
擦除备份区后,备份标记位、预留标记位和数据区的值均被清除,可以看作是处于擦除状态,备份标记位用于表征所备份的数据是否有效,例如,若备份标记位的值为预设的第一有效值,则表明所备份的数据是有效的;否则,表明所备份的数据是无效的。
预留标记位可以有一个或多个,预留标记位越多容错率越高,但是预留标记位过多会使得备份区占位大。优选地,可以设置2-4个预留标记位。在备份标记位因弱写而产生二义性时,可以通过第一个预留标记位来进一步判断所备份的数据是否有效,同样的,在备份标记位或第一个预留标记位因弱写而产生二义性时,可以通过第二个预留标记位可以确保来进一步判断所备份的数据是否有效,依次类推。对于安全芯片而言,可以通过二进制来表征数据并进行存储,比如,若数值处于低电平,则认为是0;若数值处于高电平,则认为是1;但是高低电平切换的过程中(也就是写数据的过程中),如果发生异常(如突然掉电,或安全芯片受到攻击等异常终止),则数值所处的电平有可能达到某种不饱和状态,那么该数值可能被写成0-1之间的某个值,这种情况可以看作是弱写;由于数值可能被写成0-1之间的某个值,使得后续可能被读成0,也有可能被读成1,造成读出来的值不稳定,这种情况可以看作是因弱写而产生二义性。
数据区可以用来存储待备份数据、目标区域的起始地址以及待备份数据的数据长度。
不同的安全芯片,最小编程单元字节数不同,最小编程单元字节数是指安全芯片每次进行读/写的最少可操作的字节数。为了加快安全芯片的读写效率,可以设置备份区的数据结构的长度为最小编程单元字节数的整数倍,备份区的起始地址为最小编程单元字节数的整数倍。另外,还可以设置标记区(包括备份标记位和预留标记位)的长度为最小编程单元字节数的整数倍,标记区的起始地址与最小编程单元字节数的整数倍。
在擦除过程中,为了避免标记区(包括备份标记位和预留标记位)与数据区之间相互的影响,对于包含FLASH存储器的产品,可以设置标记区和数据区处于不同的页中。
S103、将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值。
第一有效值和第二有效值可以事先设定,二者的值可以相同,也可以不同。为了简化读写过程,可以设置二者的值相同,例如,均为A55AC369。若备份标记位的值为第一有效值,可以认为备份标记位有效;否则,可以认为备份标记位无效;同样的,若预留标记位的值为第二有效值,可以认为预留标记位有效;否则,可以认为预留标记位无效;
当备份区中的备份标记位和预留标记位的值分别成功的被设置为预设的第一有效值和第二有效值后,可以表明待备份数据已成功被存储至备份区的数据区,可以认为待备份数据已被成功备份;若备份标记位处于擦除状态或不为第一有效值,则可以表明待备份数据的备份过程未成功完成,可以认为待备份数据未被成功备份。
在将待备份数据、目标区域的起始地址以及待备份数据的数据长度所述存储至所述备份区的数据区的过程中,若发生掉电,则备份标记位仍会处于擦除状态,可以表明待备份数据的备份过程未成功完成;
在写备份标记位的过程中,若发生掉电,备份标记位可能发生弱写,则再次上电后,备份标记位可能被判定为有效,也可能被判定为无效;安全芯片若检测到备份标记位有效,还可以将预留标记位的值设置为第二有效值,若随后再次发生掉电,在下次再上电后,就算检测到备份标记位无效,还可以通过预留标记位判定待备份数据已成功被存储至备份区的数据区,极大程度减低了掉电带来的无法判定备份区的数据区是否已写入待备份数据的风险。
应用本发明实施例提供的技术方案,在将待备份数据存储至备份区的数据区后,将备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和第二有效值,从而可以通过备份标记位和预留标记位的值确认数据备份的有效性,避免了掉电后无法确定待备份数据是否被成功备份的情况。提高了数据备份的可靠性和安全性。
为了进一步提高方法的可靠性,所述方法还包括:
对所述待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
本发明对具体采用的校验和计算方式不做限定,例如,可以将待备份数据、目标区域的起始地址以及待备份数据的数据长度合并成一个字符串,进而可以用MD5(MessageDigest Algorithm MD5,消息摘要算法)计算得到该字符串的MD5值,作为第一校验值。
在后续过程中,通过第一校验值可以对读取到的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行验证,从而避免待备份数据被篡改或损坏而导致的所获取的数据不准确的情况。
为了实现分段存储,以提高数据读写效率,数据区可以分为头信息段、数据段和校验和段,目标区域的起始地址以及待备份数据的数据长度可以存储至头信息段,待备份数据可以存储至数据段,第一校验值可以存储至校验和段。
一种实现方式中,所述方法还包括:
获得待写入的实际数据,将所述实际数据写入所述目标区域;
擦除所述备份区中的备份标记位和预留标记位的值。
在将实际数据写入目标区域后,可以擦除备份区中的备份标记位和预留标记位的值,还可以擦除备份区中数据区的值,从而,可以在下次减少下次备份所需耗费的擦除时间,提高备份效率。
为了解决现有技术中因为掉电后无法确定待备份数据是否被成功备份而导致数据无法正常恢复的问题,本发明实施例还公开了一种数据恢复方法及装置。
需要说明的是,本发明实施例所提供的一种数据恢复方法应用于安全芯片,其中,在具体应用中,该安全芯片可以为智能卡,也可以为非易失性存储器,这都是合理的。另外,实现本发明实施例所提供的一种数据恢复方法的功能软件可以为专门的数据恢复软件,也可以为现有数据恢复软件或其他具有数据恢复功能的软件中的插件。
参见图2,图2为本发明实施例提供的一种数据恢复方法的流程示意图,应用于安全芯片,所述安全芯片是采用上述的数据备份方法进行数据备份的,所述方法包括如下步骤:
S201、在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
在备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,表明待备份数据已被成功备份,进而可以将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值。预留标记位可以有多个,若备份标记位是弱写的,那么其后的预留标记位可能均处于擦除状态,在备份标记位的值被读取为第一有效值后,可以将其后的处于擦除状态的预留标记位(也就是目标预留标记位)的值设置为预设的第二有效值,因此,若在此之后发生掉电,则在下次上电后,就算备份标记位的值被读取为非第一有效值,仍能根据其后的预留标记位,确定待备份数据已被成功备份,进而执行S202。
S202、读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
若备份标记位的值未被弱写,则备份标记位的值是稳定的,每次读出的结果都是一样的,就算在恢复过程中发生掉电,也不会影响待备份数据的恢复,即,若备份标记位的值不为第一有效值,则不进行数据恢复;若备份标记位的值为第一有效值,则进行数据恢复。
若备份标记位的值被弱写,假设没有设置预留标记位,且在上电恢复过程中,如果又发送多次掉电,则有极大可能导致数据无法被正常恢复,例如以下场景:在第一次上电后,由于备份标记位的值被弱写,每次读出的结果可能不一样的,如果安全芯片所读出的备份标记位是有效的,进而可以执行S202,若在执行S202中的擦除目标区域的数据后发生掉电,那么再次上电后,可以重新读取备份标记位的值,如果这次安全芯片所读取的备份标记位是无效的,那么安全芯片不会执行S202,故数据将不会被恢复,且由于目标区域的数据已经被擦除,导致再也无法获得安全芯片中的原始数据,使得安全芯片最终可能出现紊乱。
通过设置备份标记位和预留标记位,在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值,就算备份标记位是弱写的,备份标记位的值不具有稳定性,但是还能够通过预留标记位进一步判断待备份数据是否有效,若无效,则不必进行数据恢复,从而不会擦除目标区域的数据;若有效,则执行S202以将待备份数据恢复至擦除数据后的目标区域。
应用本发明实施例,通过在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值,进而读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,实现了对待备份数据的恢复,避免了因掉电后无法确定待备份数据是否被成功备份而导致待备份数据没有被恢复或者被恢复成不正确的数据的情况,减少了安全芯片所存储的数据出现紊乱的情况,提高了数据恢复的稳定性和正确性。
一种实现方式中,所述安全芯片的备份区存储有第一校验值,在擦除目标区域的数据之前,所述方法还包括:
对所读取待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第二校验值;并读取备份区所存储的第一校验值;
比较第二校验值是否等于第一校验值;
若等于,则执行擦除目标区域的数据。
得到第二校验值的方式与得到第一校验值的方式相同,若二者的值不相等,表明所读取的待备份数据、目标区域的起始地址以及待备份数据的数据长度中的至少一者与所存储的不一致,则表明数据可能损坏或被篡改,则可以不执行擦除目标区域的数据;若二者的值相等,表明所读取的值是可靠的,进行可以执行擦除目标区域的数据。应用本发明实施例,进一步提高了方法的可靠性。
在又一种实现方式中,若第二校验值不等于第一校验值,所述方法还可以包括:
按照预设的异常处理算法,对所述待备份数据进行异常处理。
异常处理算法可以是设计人员预先编写的一段代码,该代码可以用于在第二校验值不等于第一校验值后,对待备份数据或安全芯片进行异常处理。例如删除待备份数据或锁定安全芯片,从而避免因所读取的待备份数据不正确而带来的安全芯片运行异常,进一步提高了方法的可靠性。
在将待备份数据恢复至擦除数据后的目标区域后,可以擦除备份区中的备份标记位和预留标记位的值,还可以擦除备份区中数据区的值,从而,可以表明备份区没有待备份数据,并且还可以减少下次备份所需耗费的擦除时间,提高备份效率。
与上述的数据备份方法实施例相对应,本发明实施例还提供一种数据备份装置。
参见图3,图3为本发明实施例提供的一种数据备份装置的结构示意图,应用于安全芯片,装置包括:
获得模块301,用于获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
擦除模块302,用于擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
存储模块303,用于将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值。
应用本发明实施例提供的技术方案,在将待备份数据存储至备份区的数据区后,将备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和第二有效值,从而可以通过备份标记位和预留标记位的值确认数据备份的有效性,避免了掉电后无法确定待备份数据是否被成功备份的情况。提高了数据备份的可靠性和安全性。
可选的,所述装置还包括计算模块,用于:
对所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
可选的,所述装置还包括写入模块,用于:
获得待写入的实际数据,将所述实际数据写入所述目标区域;
擦除所述备份区中的备份标记位和预留标记位的值。
与上述的数据恢复方法实施例相对应,本发明实施例还提供一种数据恢复装置,应用于安全芯片,安全芯片是采用上述的数据备份方法进行数据备份的。
参见图4,图4为本发明实施例提供的一种数据恢复装置的结构示意图,该装置包括:
设置模块401,在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
恢复模块402,用于读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
应用本发明实施例,通过在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值,进而读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,实现了对待备份数据的恢复,避免了因掉电后无法确定待备份数据是否被成功备份而导致待备份数据没有被恢复或者被恢复成不正确的数据的情况,减少了安全芯片所存储的数据出现紊乱的情况,提高了数据恢复的稳定性和正确性。
可选的,所述安全芯片的备份区存储有第一校验值,在擦除目标区域的数据之前,所述装置还包括比较模块,用于:
对所读取待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第二校验值;并读取备份区所存储的第一校验值;
比较第二校验值是否等于第一校验值;
若等于,则执行擦除目标区域的数据。
可选的,所述装置还包括异常处理模块,用于:
若第二校验值不等于第一校验值,按照预设的异常处理算法,对所述待备份数据进行异常处理。
可选的,所述装置还包括擦除模块,用于:
在将待备份数据恢复至擦除数据后的目标区域后,擦除备份区中的备份标记位和预留标记位的值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据备份方法,其特征在于,应用于安全芯片,所述方法包括:
获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值;
备份标记位用于表征所备份的数据是否有效,若备份标记位的值为预设的第一有效值,则表明所备份的数据是有效的;否则,表明所备份的数据是无效的;
预留标记位可以有一个或多个,预留标记位越多容错率越高;在备份标记位因弱写而产生二义性时,可以通过第一个预留标记位来进一步判断所备份的数据是否有效,同样的,在备份标记位或第一个预留标记位因弱写而产生二义性时,可以通过第二个预留标记位可以确保来进一步判断所备份的数据是否有效,依次类推。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得待写入的实际数据,将所述实际数据写入所述目标区域;
擦除所述备份区中的备份标记位和预留标记位的值。
4.一种数据恢复方法,其特征在于,应用于安全芯片,所述安全芯片是采用权利要求1-3任一所述的方法进行数据备份的,所述方法包括:
在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
5.根据权利要求4所述的方法,其特征在于,所述安全芯片是采用权利要求2所述的方法进行数据备份的,在擦除目标区域的数据之前,所述方法还包括:
对所读取待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第二校验值;并读取备份区所存储的第一校验值;
比较第二校验值是否等于第一校验值;
若等于,则执行擦除目标区域的数据。
6.根据权利要求5所述的方法,其特征在于,若第二校验值不等于第一校验值,所述方法还包括:
按照预设的异常处理算法,对所述待备份数据进行异常处理。
7.根据权利要求4所述的方法,其特征在于,在将待备份数据恢复至擦除数据后的目标区域后,所述方法还包括:
擦除备份区中的备份标记位和预留标记位的值。
8.一种数据备份装置,其特征在于,应用于安全芯片,所述装置包括:
获得模块,用于获得待备份数据;将用户区中存储所述待备份数据的区域作为目标区域;
擦除模块,用于擦除备份区;所述备份区包括备份标记位、预留标记位和数据区;
存储模块,用于将所述待备份数据、目标区域的起始地址以及待备份数据的数据长度存储至所述备份区的数据区;将所述备份区中的备份标记位和预留标记位的值分别设置为预设的第一有效值和预设的第二有效值;
备份标记位用于表征所备份的数据是否有效,若备份标记位的值为预设的第一有效值,则表明所备份的数据是有效的;否则,表明所备份的数据是无效的;
预留标记位可以有一个或多个,预留标记位越多容错率越高;在备份标记位因弱写而产生二义性时,可以通过第一个预留标记位来进一步判断所备份的数据是否有效,同样的,在备份标记位或第一个预留标记位因弱写而产生二义性时,可以通过第二个预留标记位可以确保来进一步判断所备份的数据是否有效,依次类推。
9.根据权利要求8所述的装置,其特征在于,所述装置包括计算模块,用于:
对所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度进行校验和计算,得到第一校验值;
将所述第一校验值存储至所述备份区的数据区。
10.一种数据恢复装置,其特征在于,应用于安全芯片,所述安全芯片是采用权利要求1-3任一所述的方法进行数据备份的,所述装置包括:
设置模块,在检测到备份标记位的值为预设的第一有效值或预留标记位的值为预设的第二有效值后,将预留标记位中处于擦除状态的目标预留标记位的值设置为预设的第二有效值;
恢复模块,用于读取备份区所存储的待备份数据、目标区域的起始地址以及待备份数据的数据长度;擦除目标区域的数据,并将待备份数据恢复至擦除数据后的目标区域,所述目标区域为以目标区域的起始地址开始且偏移量为所述数据长度的区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910143955.5A CN109947594B (zh) | 2019-02-27 | 2019-02-27 | 一种数据备份方法及装置、数据恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910143955.5A CN109947594B (zh) | 2019-02-27 | 2019-02-27 | 一种数据备份方法及装置、数据恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947594A CN109947594A (zh) | 2019-06-28 |
CN109947594B true CN109947594B (zh) | 2021-04-09 |
Family
ID=67007763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910143955.5A Active CN109947594B (zh) | 2019-02-27 | 2019-02-27 | 一种数据备份方法及装置、数据恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947594B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928159B (zh) * | 2019-12-23 | 2022-11-18 | 广州众诺电子技术有限公司 | 感光鼓芯片数据的方法、耗材盒和激光成像设备 |
CN111045870B (zh) * | 2019-12-27 | 2022-06-10 | 北京浪潮数据技术有限公司 | 一种保存与恢复元数据的方法、装置和介质 |
CN113538754B (zh) * | 2021-06-08 | 2023-04-07 | 福建新大陆通信科技股份有限公司 | 一种ctid智能门锁授权数据管理方法及系统 |
CN114237493A (zh) * | 2021-11-23 | 2022-03-25 | 北京谊安医疗系统股份有限公司 | 一种嵌入式系统中模块化存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0778527A1 (en) * | 1995-12-04 | 1997-06-11 | International Business Machines Corporation | System and method for backing up and restoring groupware documents |
CN101082796A (zh) * | 2006-06-01 | 2007-12-05 | 珠海天威技术开发有限公司 | 智能芯片及其信息处理方法 |
CN101382907A (zh) * | 2008-10-24 | 2009-03-11 | 普天信息技术研究院有限公司 | 一种智能卡操作方法以及一种智能卡 |
CN101763295A (zh) * | 2009-12-28 | 2010-06-30 | 北京握奇数据系统有限公司 | 一种数据备份、备份项擦除及数据恢复方法和装置 |
CN102662799A (zh) * | 2012-04-13 | 2012-09-12 | 华为技术有限公司 | 数据备份的方法、服务器及热备份系统 |
CN106227680A (zh) * | 2016-07-26 | 2016-12-14 | 成都三零嘉微电子有限公司 | 一种数据处理及防掉电数据保护方法 |
CN107066346A (zh) * | 2016-09-27 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种数据备份方法、数据恢复方法及装置 |
-
2019
- 2019-02-27 CN CN201910143955.5A patent/CN109947594B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0778527A1 (en) * | 1995-12-04 | 1997-06-11 | International Business Machines Corporation | System and method for backing up and restoring groupware documents |
CN101082796A (zh) * | 2006-06-01 | 2007-12-05 | 珠海天威技术开发有限公司 | 智能芯片及其信息处理方法 |
CN101382907A (zh) * | 2008-10-24 | 2009-03-11 | 普天信息技术研究院有限公司 | 一种智能卡操作方法以及一种智能卡 |
CN101763295A (zh) * | 2009-12-28 | 2010-06-30 | 北京握奇数据系统有限公司 | 一种数据备份、备份项擦除及数据恢复方法和装置 |
CN102662799A (zh) * | 2012-04-13 | 2012-09-12 | 华为技术有限公司 | 数据备份的方法、服务器及热备份系统 |
CN106227680A (zh) * | 2016-07-26 | 2016-12-14 | 成都三零嘉微电子有限公司 | 一种数据处理及防掉电数据保护方法 |
CN107066346A (zh) * | 2016-09-27 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种数据备份方法、数据恢复方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109947594A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947594B (zh) | 一种数据备份方法及装置、数据恢复方法及装置 | |
KR100343377B1 (ko) | 비-휘발성메모리에의데이타기입 | |
ES2824830T3 (es) | Procedimiento de actualización de software para un dispositivo integrado | |
CN109582216B (zh) | 数据储存装置与存储器装置的数据处理方法 | |
JP2002351685A (ja) | 不揮発性メモリのデータ更新方法及び制御装置 | |
CN111045870B (zh) | 一种保存与恢复元数据的方法、装置和介质 | |
CN106227680A (zh) | 一种数据处理及防掉电数据保护方法 | |
CN109685190B (zh) | 一种ic卡掉电保护方法及装置 | |
CN111427726B (zh) | Ic卡及其防掉电数据备份方法或数据恢复方法 | |
JP5104653B2 (ja) | Icカード及びicカードプログラム | |
CN114721602B (zh) | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 | |
EP3226141B1 (en) | Method for performing data updates | |
CN111124739A (zh) | 用于非易失性存储器的防撕除保护系统 | |
JP6233134B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
US7849279B2 (en) | Method for the secure updating data areas in non volatile memory, device to perform such a method | |
JP2004265275A (ja) | Icカード及びicカードプログラム | |
CN103824101A (zh) | 逻辑卡读写方法和系统 | |
Zhou et al. | A verification method for power-off protection mechanism of embedded chip non-volatile memory | |
JP2005056144A (ja) | フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム | |
JP7322923B2 (ja) | セキュアエレメント,トランザクション制御方法およびデバイス | |
CN114237493A (zh) | 一种嵌入式系统中模块化存储方法及系统 | |
US20180366200A1 (en) | Atomicity management in an eeprom | |
CN116302681A (zh) | 体外诊断设备的文件管理方法、装置、设备及介质 | |
JP6252341B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP2013003831A (ja) | Icチップ、icチップ用処理プログラム、及びicチップにおける書き込み処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |