一种基于字写的智能卡掉电备份方法和数据结构技术

技术编号:20176456 阅读:24 留言:0更新日期:2019-01-23 00:19
本发明专利技术公开一种基于字写的智能卡掉电备份方法和数据结构,消除NVM页擦写掉电后出现读不稳定的安全风险,并可减少掉电备份中NVM擦写次数,提升掉电备份的速度。本发明专利技术提供的数据结构为:NVM一页中同时含有数据和两个标记。本发明专利技术提供的方法为:NVM页擦写时,页擦除后,通过硬件字写方式,依次顺序写入数据、标记1、标记2;后续读写该页时,基于数据和两个标记的写入顺序判断两个标记的有效状态,来确定该页数据的有效性,并确定是否先进行掉电恢复,通过掉电恢复消除不稳定状态,再进行数据读写。

A Power-off Backup Method and Data Structure of Smart Card Based on Writing

The invention discloses a power-off backup method and data structure of a smart card based on handwriting, eliminates the security risk of unstable reading after power-off of NVM pages, reduces the number of NVM erases in power-off backup, and improves the speed of power-off backup. The data structure provided by the invention is that the NVM page contains both data and two markers. The method provided by the invention is as follows: when NVM page is erased, the data, marker 1 and marker 2 are written sequentially by means of hardware handwriting; when subsequently reading and writing the page, the effective state of the two markers is judged based on the data and the writing order of the two markers to determine the validity of the page data, and to determine whether the power-off recovery is carried out first, and the instability is eliminated by power-off recovery. State, then read and write data.

【技术实现步骤摘要】
一种基于字写的智能卡掉电备份方法和数据结构
本专利技术涉及智能卡
,尤其涉及一种基于字写的智能卡掉电备份方法和数据结构。
技术介绍
根据智能卡芯片NVM擦写特性,可以整页擦除后,进行硬件字写操作,当硬件字写时出现掉电,主要影响当前字的读稳定性。并且全页只擦加全页硬件字写的性能与整页擦写一次的性能基本一致,且本文中的字写方式均为硬件字写。NVM页擦写掉电后,掉电页会出现读不稳定问题。即NVM页擦写掉电后,前期数据读取正确,因无法识别掉电引起的不稳态,后续使用中页内数据可能出现跳变或读不稳定,会造成智能卡的未知异常,甚至交易余额的变化,存在很大安全风险。目前智能卡中已有的掉电备份方法,通常以传统备份为主。一般传统备份进行掉电保护时,需要先擦写备份区数据,然后擦写备份区有效标记为有效,然后再写目标数据,最后擦写备份区有效标记为无效。根据传统备份的处理流程,1次NVM数据更新至少需要4次NVM擦写操作,擦写性能较差。目前除了传统备份,为了提升速度,还存在一种多扇区备份,数据区分为两个或多个扇区,多个扇区互为备份,并为每个扇区设置1个扇区标记。此种备份方法在更新数据时需要更新整个目标扇区,并计算整个目标扇区的CRC,同时要擦写扇区标记。此种备份方法仅使用1个备份标记存在的问题有:1次目标页的擦写要进行2次以上存储器擦写操作,且要计算整个扇区CRC,额外开销大;用CRC做数据校验存在碰撞概率,无法消除NVM页擦写掉电后读不稳定问题;每次擦写目标扇区都会进行目标扇区标记页的擦写,扇区标记页成为擦写寿命瓶颈(即每次更新只擦写扇区内一页情况下,扇区内每页的累计擦写总次数等于扇区标记页擦写总次数,大大降低了整个扇区内每页的擦写总寿命)。目前智能卡掉电备份方法中NVM擦写次数较多,影响智能卡的整体性能,尤其是影响交易性能;并且有些方法中无法消除NVM页擦写掉电后读不稳定问题,存在很大的安全风险,在安全领域无法进行实用推广。
技术实现思路
针对目前智能卡掉电备份方法中的种种缺陷,本专利技术提供一种基于字写的智能卡掉电备份方法和数据结构,可以消除NVM页擦写掉电后出现读不稳定的安全风险,并可以减少掉电备份中NVM擦写次数,提升掉电备份的速度。本专利技术中,每个逻辑页对应多个物理页,且多个物理页互为镜像页。每次读写逻辑页时,均识别一个镜像页作为逻辑页的有效数据进行读写。本专利技术的掉电备份数据结构,为每页NVM中包含页内数据、标记1、标记2三部分,其中页内数据包含用户数据和1个字的计数器,标记1和标记2分别为1个字,NVM的每个逻辑页对应多个(含两个)镜像页且互为备份。在基于字写的智能卡芯片中,该专利技术通过字写方式将页内数据、标记1、标记2分3次顺序写入目标页,可以避免擦写NVM掉电后出现读不稳定,也可以避免使用CRC算法存在的碰撞概率,大大增强智能卡掉电备份的安全性和稳定性;并且将带有掉电备份功能的1次数据更新,降低到仅需1次NVM的擦写时间,可显著提升掉电备份性能,尤其是提升智能卡的交易性能。本专利技术提供的处理方式为首创,尚未发现有同类技术存在。为实现上述专利技术目的,本专利技术采用的技术方法步骤如下:步骤一、启动单页擦写。步骤二、在NVM逻辑页的多个镜像页中,读取全部镜像页的标记1和标记2,根据其有效状态判断是否进行掉电恢复,当所有页都稳定有效后,找到计数器最小(最旧)的目标页,根据NVM擦写操作的特性,进行整页的只擦操作,先使用整页擦除方式对目标页进行单擦操作。步骤三、组织好要写入目标页的数据,使用字写方式,从页首开始逐字编程写入目标页,其中计数器放在数据的一个字中,和其他数据一起写入,并保证该页计数器是更新前所有页中最大计数器加1。步骤四、通过字写方式,将标记1写为有效值,标记1放在一个字中,如每页的倒数第二个字。步骤五、通过字写方式,将标记2写为有效值,标记2放在一个字中,如每页的倒数第一个字。步骤六、结束单页擦写。NVM单页擦写后,后续读写该页时,在NVM逻辑页的多个镜像页中,先读取各页的标记1和标记2的有效状态,判断是否进行掉电恢复。当所有页标记1和标记2均有效时,这些页均为有效页,无需进行掉电恢复,直接使用;当某页标记1有效且标记2无效时,识别该页为无效页,可能之前写入标记1或写入标记2时掉电,为了消除标记1或标记2可能存在的不稳定状态,进行掉电恢复;当某页标记1无效时,该页为无效页,可能之前擦除、写入数据或写入标记1时掉电,为了消除该页数据可能存在的不稳定状态,进行掉电恢复。掉电恢复后,所有镜像页均变为有效页,如果为读取操作,则选择计数器最大的页(最新页)进行读取;如果为擦写操作,则选择计数器最小的页(最旧页)进行擦写,擦写前将目标页计数器改为当前所有页中最大计数器加1。掉电恢复流程:在无效页的掉电恢复中,根据标记1和标记2的有效状态判断该页中数据有效性,并根据数据有效性的不同,进行不同的恢复流程。若标记1有效且标记2无效,说明该页在写入标记1或写入标记2时发生了掉电,或者因为之前写标记2掉电后出现了读不稳定,但该页数据已经正确写入且稳定,所以该页数据有效,若多页数据有效且标记2不稳定,则先恢复计数器最大的,则对有效数据进行断电恢复。操作如下:1)如果是读取操作,使用字写方式将该页数据恢复到所有页中计数器最小的页,并用字写方式将该掉电页数据擦写无效、标记1和标记2写有效;2)如果是擦写操作,使用字写方式将该页数据恢复到所有页中计数器最小的页,并使用字写方式将擦写操作的目标数据写入该掉电页,擦写前将目标页计数器改为当前所有页中最大计数器加1。标记1无效时,该页在之前擦除、写入数据或者写入标记1时发生了掉电,无法判断数据的有效性,该页数据无效,则对无效数据进行断电恢复处理。操作如下:1)如果是读操作,使用字写方式将该页擦写数据无效,字写标记1、标记2有效;2)如果是擦写操作,则将该页作为目标页,使用字写方式将目标数据写入该页,并写标记1、标记2有效。附图说明图1为本专利技术单页NVM数据结构图;图2为本专利技术单页擦写流程图;图3为本专利技术有两组数据镜像段的数据结构图;图4为本专利技术读取数据流程图;图5为本专利技术擦写数据流程图;图6为本专利技术擦写某目标页前的数据状态;图7为本专利技术擦写某目标页后的数据状态。具体实施方式以下结合附图和实例对本专利技术所提供的一种基于字写的智能卡掉电备份方法和数据结构做进一步说明。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。一、一种基于字写的智能卡掉电备份单页NVM数据结构图,如附图1所示,包含有页内数据、标记1、标记2三部分,并且页内数据包含计数器,通常情况下标记1在整页倒数第二个字,标记2在整页倒数第一个字,便于字写时从前往后顺序编程。二、一种基于字写的智能卡掉电备份方法单页擦写流程,如附图2所示,该方法步骤包括:S2001、启动单页擦写操作。S2002、在NVM逻辑页对应的多个镜像页中,读取全部镜像页的标记1和标记2,根据其有效状态,找到目标页,使用整页擦除方式对目标页进行单擦操作,此时标记1和标记2均变为无效(0xFFFFFFFF)。S2003、组织好要写入目标页的数据,使用字写方式,从页首开始逐字编程写入目标页,其中计数器放在数据的一个字本文档来自技高网
...

【技术保护点】
1.一种基于字写的智能卡掉电备份数据结构,其特征在于,每页NVM中包含页内数据、标记1、标记2三部分,其中页内数据包含用户数据和1个字的计数器,标记1和标记2分别为1个字,NVM的每个逻辑页对应多个(含两个)镜像页且互为备份。

【技术特征摘要】
1.一种基于字写的智能卡掉电备份数据结构,其特征在于,每页NVM中包含页内数据、标记1、标记2三部分,其中页内数据包含用户数据和1个字的计数器,标记1和标记2分别为1个字,NVM的每个逻辑页对应多个(含两个)镜像页且互为备份。2.一种基于字写的智能卡掉电备份方法,基于权利要求1所述的智能卡掉电备份数据结构,NVM页擦写时,在页擦除后通过硬件字写方式依次顺序写入数据、标记1、标记2,并在后续使用中根据每个镜像页的标记1和标记2的有效状态,判断出有效页,其特征在于,包括步骤:步骤一、启动单页擦写;步骤二、在NVM逻辑页的多个镜像页中,根据标记1和标记2的有效状态找到目标页,将整页擦除;步骤三、使用硬件字写方式将组织好的数据写入目标页,其中计数器放在数据的一个字中,并且保证最后写入的页计数器在所有镜像页中最大;步骤四、使用硬件字写方式写入标记1有效,标记1为该页中一个字;步骤五、使用硬件字写方式写入标记2有效,标记2为该页中一个字;步骤六、结束单页擦写。3.根据权利...

【专利技术属性】
技术研发人员:葛浩
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京,11

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

1