CN112181728B - 一种高安全性cpu智能卡芯片数据防掉电处理方法 - Google Patents

一种高安全性cpu智能卡芯片数据防掉电处理方法 Download PDF

Info

Publication number
CN112181728B
CN112181728B CN202011057949.7A CN202011057949A CN112181728B CN 112181728 B CN112181728 B CN 112181728B CN 202011057949 A CN202011057949 A CN 202011057949A CN 112181728 B CN112181728 B CN 112181728B
Authority
CN
China
Prior art keywords
data
backup
ram
nvm
area
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
Application number
CN202011057949.7A
Other languages
English (en)
Other versions
CN112181728A (zh
Inventor
孙善海
曾为民
李向宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huayi Microelectronic Material Co Ltd
Original Assignee
Shanghai Huayi Microelectronic Material Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huayi Microelectronic Material Co Ltd filed Critical Shanghai Huayi Microelectronic Material Co Ltd
Priority to CN202011057949.7A priority Critical patent/CN112181728B/zh
Publication of CN112181728A publication Critical patent/CN112181728A/zh
Application granted granted Critical
Publication of CN112181728B publication Critical patent/CN112181728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种高安全性CPU智能卡芯片数据防掉电处理方法,包括数据写入流程、数据读取流程以及数据原子操作流程;本发明使用多级备份以及多Page数据备份的方式,本发明将CPU智能卡数据的安全完整存储、防掉电以及多数据原子化操作统一为完整功能模块,使用简单,效率高,数据安全性以及可靠性能够得到充分保障。

Description

一种高安全性CPU智能卡芯片数据防掉电处理方法
技术领域
本发明属于CPU智能卡嵌入式软件领域,具体涉及一种高安全性CPU智能卡芯片数据防掉电处理方法。
背景技术
CPU智能卡属于无源可移动设备,在工作时需要在智能卡终端获取能量,容易存在工作时突然掉电情况。
由于智能卡芯片在工作时需要花费一定的时间操作非易失性存储器(以下称为NVM),如果在该过程中突然失去能量,会造成操作数据处于不可控状态,对于高安全性芯片,因为存储器安全机制的存在,将造成存储器不可用;对于FLASH存储器,由于其特定存储器操作方式,即页(Page)擦页(Page)写方式,会造成数据丢失且不可恢复。
另外,智能卡的很多应用场景下需要将多次存储器的操作“原子化”,所谓原子操作,即:多组NVM数据操作需要全部执行完成或全部不执行,不能存在部分执行的情况。例如:电子钱包的一次消费过程,需要更新的信息包括但不限于:余额信息、交易记录信息、交易其他信息,任何突然掉电的状况下,都要求全部的信息原子性操作全部完成或操作完全不执行,不能存在部分执行情况,例如:余额已更新,但是其他信息未更新的情况。
基于以上情况,在设计开发CPU智能卡嵌入式软件时,需要一种高效率、高可靠性、高安全性的数据防掉电方法,确保在任何突发的掉电情况下的数据完整性以及确保多组NVM数据操作的原子化操作。
发明内容
本发明旨在提供CPU智能卡嵌入式软件系统可实现的高效率、高可靠性、高安全性的数据防掉电以及数据原子操作方法,确保智能卡在任何突发掉电情况下的数据完整性。
为解决上述问题,本发明采取的技术方案为:一种高安全性CPU智能卡芯片数据防掉电处理方法,包括数据写入流程、数据读取流程以及数据原子操作流程;
数据写入流程具体为:
1.1使用数据update操作,将需要写入的数据存储到RAM中;
1.2使用数据submit操作,将需要写入的数据存储到备份用存储器中;
1.3使用数据restore操作,将需要写入的数据存储于目标存储器中;所有在submit操作完成之前掉电的情况下,均视为无效数据,其他情况下发生的掉电,均在再次上电时,进行数据恢复,保证数据的完整性以及有效性。
数据读取流程具体为:
2.1在RAM备份区寻找数据,若找到则读取RAM备份数据,若否则进入2.2;
2.2在备份用存储器中寻找数据,若找到则进行读取备份用存储器中备份数据,若否则进入2.3;
2.3读取最原始存储区数据即normal数据区中的数据;数据从新到旧的存放顺序为:RAM->备份NVM->Normal NVM
读取最原始存储区数据;
数据原子操作流程具体为:多数据操作时,每一步的操作数据均先使用数据update操作将数据存储到RAM,数据在submit操作过程中,全部写入备份NVM,并设置数据可靠标志,最后将备份数据写入到目标存储器。
本发明使用多级备份以及多Page数据备份的方式,本发明将CPU智能卡数据的安全完整存储、防掉电以及多数据原子化操作统一为完整功能模块,使用简单,效率高,数据安全性以及可靠性能够得到充分保障。
附图说明
图1为数据update操作流程图;
图2为数据submit操作流程图;
图3为数据restore操作流程图;
图4为在NVM中数据读取流程图。
具体实施方式
一种高安全性CPU智能卡芯片数据防掉电处理方法,包括数据写入流程、数据读取流程以及数据原子操作流程;数据写入流程具体为:
1.1使用数据update操作,将需要写入的数据存储到RAM中;
1.2使用数据submit操作,将需要写入的数据存储到备份用存储器中;
1.3使用数据restore操作,将需要写入的数据存储于目标存储器中;
所有在submit操作完成之前掉电的情况下,均视为无效数据,其他情况下发生的掉电,均在再次上电时,进行数据恢复,保证数据的完整性以及有效性。
数据读取流程具体为:
2.1在RAM备份区寻找数据,若找到则读取RAM备份数据,若否则进入2.2;
2.2在备份用存储器中寻找数据,若找到则进行读取备份用存储器中备份数据,若否则进入2.3;
2.3读取最原始存储区数据即normal数据区中的数据;
数据原子操作流程具体为:多数据操作时,每一步的操作数据均先使用数据update操作将数据存储到RAM或备份NVM用存储器中,数据在submit操作过程中,全部写入备份NVM,并设置数据可靠标志,最后将备份数据写入到目标存储器。
如图1所示,所述的数据update操作具体为:
1.11计算数据所属的页,判断是否在RAM中有备份,若有则转至1.15,若无则转至1.12;
1.12判断有无可用的备份页,若有,申请新RAM页并转至1.14,若无则转至1.13;
1.13检查是否有可写NVM备份页,若有,将最老的页存储到NVM备份区,占用其RAM页,并转至1.14,若无则转至1.16;
1.14判断是否在NVM备份区中有备份NVM,若是,则读取备份NVM到RAM页,并转至1.15,若否,则读取原始数据到RAM页,并转至1.15;
1.15更新RAM备份区,结束数据update操作;
1.16报错,退出数据update操作。
如图2所示,所述的数据submit操作具体为:
1.21将RAM中备份的数据内容写入NVM备份区的数据区中;
1.22将RAM中的备份标识信息写入NVM备份区的备份标识区中;
1.23将备份状态信息写入NVM备份区的状态区中;
1.24清除RAM中的备份标识信息。
如图3所示,所述的数据restore操作具体为:
1.31检查备份的状态信息是否满足,若满足,转至1.32;若不满足转至1.33;
1.32根据备份信息,将备份页写入目的页;
1.33清除备份区域信息。
如图4所示,在NVM中数据读取流程具体为:首先判断备份RAM中是否有页数据,若有,则读取RAM备份数据;若无,则判断备份NVM中是否有页数据,若有,则读取NVM备份数据,若无,则读取原始NVM数据。
数据完整性保证办法:操作NVM时,首先使用update流程,先读取原始NVM数据到RAM备份的Page中,然后使用新的数据,更新备份RAM数据,保证原始数据的完整性以及新的数据的有效性,然后使用submit过程,将经过更新的数据存放于备份NVM中,最后使用restore过程,将经过完整性以及有效性保证的数据写入目标FLASH区域。如果CPU智能卡在上述过程中发生掉电情况,所有sumbit操作提交前的数据,均不会对最终目标区数据造成影响,submit后的数据,将会在下一次上电过程中,使用restore操作恢复到目标区,能够保证数据的有效性。改过程能够有效的保证数据在写入NVM操作时,数据目标区数据不会应为掉电发生非预期更改。
数据原子性操作办法:在多次操作NVM时,每一次的操作均使用update流程,该发明设置多个备份RAM以及备份NVM区域,多次NVM操作均在update时被记录到RAM,在全部的NVM进行update操作之后,使用submit操作,将备份RAM中的数据以及数据有效性标志进行提交,然后使用restore操作,将所有提交的有效数据恢复到目标NVM区域中。在数据submit之前,所有的update操作均不会对目标数据造成影响,如果此时发生掉电,目标区数据不会改变,再次上电时,系统清除备份区状态信息;数据在submit之后,如果发生掉电,再次上电时,系统根据数据有效性标志以及数据信息,恢复备份NVM数据到最终目标区域,保证了数据更新的有效性。
数据高效管理办法:数据进行更新操作时,如果一次流程中,有多次操作同一NVM目标区的操作时,由于备份机制的存在,多次操作每次只需要更新RAM数据即可,不需要更新目标NVM,由于更新RAM的时间远远小于更新NVM的时间,该操作能够提升数据更新的效率。
高安全性数据保证办法:如果在目标区操作时发生掉电操作数据不完整、非安全状态时,由于备份机制的存在,系统在上电时,能够使用备份的数据对非安全数据进行恢复操作,确保目标区域数据的完整性以及安全性。

Claims (4)

1.一种高安全性CPU智能卡芯片数据防掉电处理方法,其特征在于:包括数据写入流程、数据读取流程以及数据原子操作流程;
数据写入流程具体为:
1.1使用数据update操作,将需要写入的数据存储到RAM中;
1.2使用数据submit操作,将需要写入的数据存储到备份用存储器中;
1.3使用数据restore操作,将需要写入的数据存储于目标存储器中;
数据读取流程具体为:
2.1在RAM备份区寻找数据,若找到则读取RAM备份数据,若否则进入2.2;
2.2在备份用存储器中寻找数据,若找到,则读取备份用存储器中备份数据,若否则进入2.3;
2.3读取最原始存储区数据即normal数据区中的数据;
数据原子操作流程具体为:多数据操作时,每一步的操作数据均先使用数据update操作将数据存储到RAM,数据在submit操作过程中,全部写入备份用存储器,并设置数据可靠标志,最后将备份数据写入到目标存储器;
所述的数据update操作具体为:
1.11计算数据所属的页,判断是否在RAM中有备份,若有则转至1.15,若无则转至1.12;
1.12判断有无可用的备份页,若有,申请新RAM页并转至1.14,若无则转至1.13;
1.13检查是否有可写备份NVM页,若有,将最老的页存储到备份NVM区,占用其RAM页,并转至1.14,若无则转至1.16;
1.14判断是否在备份NVM区中有备份NVM,若是,则读取备份NVM到RAM页,并转至1.15,若否,则读取原始数据到RAM页,并转至1.15;
1.15更新RAM备份区,结束数据update操作;
1.16报错,退出数据update操作。
2.根据权利要求1所述的高安全性CPU智能卡芯片数据防掉电处理方法,其特征在于:所述的数据submit操作具体为:
1.21将RAM中备份的数据内容写入NVM备份区的数据区中;
1.22将RAM中的备份标识信息写入NVM备份区的备份标识区中;
1.23将备份状态信息写入NVM备份区的状态区中;
1.24清除RAM中的备份标识信息。
3.根据权利要求1所述的高安全性CPU智能卡芯片数据防掉电处理方法,其特征在于:所述的数据restore操作具体为:
1.31检查备份的状态信息是否满足,若满足,转至1.32;若不满足转至1.33;
1.32根据备份信息,将备份页写入目的页;
1.33清除NVM备份区状态信息。
4.根据权利要求1所述的高安全性CPU智能卡芯片数据防掉电处理方法,其特征在于:在NVM中数据读取流程具体为:首先判断备份RAM中是否有页数据,若有,则读取RAM备份数据;若无,则判断备份NVM中是否有页数据,若有,则读取NVM备份数据,若无,则读取原始NVM数据。
CN202011057949.7A 2020-09-29 2020-09-29 一种高安全性cpu智能卡芯片数据防掉电处理方法 Active CN112181728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011057949.7A CN112181728B (zh) 2020-09-29 2020-09-29 一种高安全性cpu智能卡芯片数据防掉电处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011057949.7A CN112181728B (zh) 2020-09-29 2020-09-29 一种高安全性cpu智能卡芯片数据防掉电处理方法

Publications (2)

Publication Number Publication Date
CN112181728A CN112181728A (zh) 2021-01-05
CN112181728B true CN112181728B (zh) 2022-07-22

Family

ID=73945540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011057949.7A Active CN112181728B (zh) 2020-09-29 2020-09-29 一种高安全性cpu智能卡芯片数据防掉电处理方法

Country Status (1)

Country Link
CN (1) CN112181728B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729972A (zh) * 2017-09-01 2018-02-23 捷德(中国)信息科技有限公司 一种智能ic卡的数据保护方法
CN110427285A (zh) * 2019-08-06 2019-11-08 北京中电华大电子设计有限责任公司 一种高性能的智能卡镜像保护方法和数据结构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03132891A (ja) * 1989-10-19 1991-06-06 Fuji Electric Co Ltd 停電保障機能付カードリーダ・ライタ
CN101656106B (zh) * 2009-08-27 2012-07-25 北京握奇数据系统有限公司 一种向eeprom写入数据的方法及装置
CN102609332A (zh) * 2011-01-19 2012-07-25 上海华虹集成电路有限责任公司 智能ic卡数据防掉电保护方法
CN103914407B (zh) * 2012-12-30 2016-09-14 航天信息股份有限公司 一种sd卡掉电保护、恢复方法以及带有掉电保护的sd卡
CN103996412A (zh) * 2013-02-19 2014-08-20 北京同方微电子有限公司 一种用于智能卡非易失性存储器的掉电保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729972A (zh) * 2017-09-01 2018-02-23 捷德(中国)信息科技有限公司 一种智能ic卡的数据保护方法
CN110427285A (zh) * 2019-08-06 2019-11-08 北京中电华大电子设计有限责任公司 一种高性能的智能卡镜像保护方法和数据结构

Also Published As

Publication number Publication date
CN112181728A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
US6535997B1 (en) Data integrity in smartcard transactions
CN102043727B (zh) 恢复固态硬盘映射表的方法及其装置
CN100576243C (zh) 智能卡的数据写入方法
EP1208434B1 (en) Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory
CN102567146B (zh) 一种实现日志备份的方法及其装置、智能卡
CN101944386B (zh) 识别闪速存储器中错误数据的控制电路及存储系统与方法
CN112632643B (zh) 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘
CN106227680A (zh) 一种数据处理及防掉电数据保护方法
CN101251826A (zh) 闪速存储器、用于闪速存储器的数据管理方法及设备
PL173398B1 (pl) Sposób zapisu danych do pamięci nieulotnej w urządzeniu stanowiącym układ scalony oraz urządzenie stanowiące układ scalony
CN102541690B (zh) 一种智能卡及其恢复数据方法
CN109947594B (zh) 一种数据备份方法及装置、数据恢复方法及装置
CN104899114A (zh) 一种固态硬盘上的连续时间数据保护方法
CN103135735A (zh) 一种掉电保护的控制方法及系统
CN100454269C (zh) 基本输入输出系统自动修复方法及系统
CN112181728B (zh) 一种高安全性cpu智能卡芯片数据防掉电处理方法
CN103064800A (zh) 一种掉电保护系统及其实现方法
CN109426582A (zh) 用于存储装置为错误处置进行数据处理的方法及控制器
CN111984462B (zh) 无预警断电复原管理方法、记忆装置、控制器及电子装置
CN103744746B (zh) 一种基于索引的智能卡记录备份与恢复方法
CN111427726B (zh) Ic卡及其防掉电数据备份方法或数据恢复方法
KR102680511B1 (ko) 데이터 저장 장치 및 그 동작 방법
CN111581024A (zh) Ssd日志的动态备份恢复方法、装置和计算机设备
US20070274302A1 (en) Data Storage Device, Memory Managing Method, and Program
CN110134322B (zh) 运用dram的储存装置及其相关数据处理方法

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A High Security CPU Smart Card Chip Data Anti Power Loss Processing Method

Granted publication date: 20220722

Pledgee: Huaxia Bank Co.,Ltd. Jinan Branch

Pledgor: SHANDONG HUAYI MICRO-ELECTRONICS Co.,Ltd.

Registration number: Y2024980024862

PE01 Entry into force of the registration of the contract for pledge of patent right