《一种用于IC卡更新数据时防掉电数据存储的方法.pdf》由会员分享,可在线阅读,更多相关《一种用于IC卡更新数据时防掉电数据存储的方法.pdf(6页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102789404 A (43)申请公布日 2012.11.21 C N 1 0 2 7 8 9 4 0 4 A *CN102789404A* (21)申请号 201110131094.2 (22)申请日 2011.05.20 G06F 11/14(2006.01) (71)申请人北京同方微电子有限公司 地址 100083 北京市海淀区清华同方科技广 场A座29层 (72)发明人杨帆 张廷晅 丁义民 苏垚昀 王庆林 王强 杨征军 路倩 (54) 发明名称 一种用于IC卡更新数据时防掉电数据存储 的方法 (57) 摘要 一种用于IC卡更新数据时防掉电数据存储 的方法,涉。
2、及IC卡技术领域。本发明的方法步 骤为:1)创建数据时,将数据写入主扇区中,备份 扇区为空,同时计算出整个扇区数据的CRC校验 值,将主扇区的新旧比较值置为0,将这两项连同 数据一起写入主扇区中;2)读取数据时,根据主 扇区和备份扇区中的扇区标识判断哪个为有效扇 区,读取有效扇区;3)更新数据时,根据主扇区和 备份扇区中的扇区标识判断哪个为有效扇区,将 有效扇区的数据整页读出,修改需要更新位置的 内容后,计算出整个扇区数据的CRC校验值,将新 旧比较值加一,将这两项连同数据一起写入无效 扇区中。同现有技术相比,本发明能大大减少擦写 存储区的操作次数,有效降低更新数据所用的时 间。 (51)In。
3、t.Cl. 权利要求书1页 说明书2页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 2 页 附图 2 页 1/1页 2 1.一种用于IC卡更新数据时防掉电数据存储的方法,它包括使用多个主扇区(A)和分 别与各主扇区(A)相连的一个至多个备份扇区(B)的数据存储区,其步骤为: 1)创建数据时,将数据写入主扇区(A)中,备份扇区(B)为空,同时计算出整个扇区数 据的CRC校验值,将主扇区(A)的新旧比较值置为0,将这两项连同数据一起写入主扇区(A) 中; 2)读取数据时,根据主扇区(A)和备份扇区(B)中的扇区标识判断哪个为有效扇区,读 取有效。
4、扇区; 3)更新数据时,根据主扇区(A)和备份扇区(B)中的扇区标识判断哪个为有效扇区,将 有效扇区的数据整页读出,修改需要更新位置的内容后,计算出整个扇区数据的CRC校验 值,将新旧比较值加一,将这两项连同数据一起写入无效扇区中。 权 利 要 求 书CN 102789404 A 1/2页 3 一种用于 IC 卡更新数据时防掉电数据存储的方法 技术领域 0001 本发明涉及IC卡技术领域,特别是用于IC卡在更新数据时可实现防掉电备份的 数据存储的方法。 背景技术 0002 现有技术中,IC卡的数据备份方法是:在数据存储区选择一片空白存储区作为备 份区,在更新数据前,先要将更新扇区的原有数据写入。
5、备份区;成功更新数据之后,将备份 区全部清空。利用这种方法,能够实现数据更新时的掉电恢复功能。但因为这种方法先要将 更新数据写入备份区,再更新目的扇区,更新后还要擦除备份区,势必会多次擦写存储区。 现实中,由于一些应用场合中要求更新数据的时间尽可能短,如果能减少擦写存储区的操 作次数,就可以有效降低更新数据所用的时间。 发明内容 0003 针对上述现有技术中存在的不足,本发明的目的是提供一种用于IC卡更新数据 时防掉电数据存储的方法。它能大大减少擦写存储区的操作次数,有效降低更新数据所用 的时间。 0004 为了达到上述发明目的,本发明的技术方案以如下方式实现: 一种用于IC卡更新数据时防掉电。
6、数据存储的方法,它包括使用多个主扇区和分别与 各主扇区相连的一个至多个备份扇区的数据存储区,其步骤为: 1)创建数据时,将数据写入主扇区中,备份扇区为空,同时计算出整个扇区数 据的CRC校验值,将主扇区的新旧比较值置为0,将这两项连同数据一起写入主扇区中; 2)读取数据时,根据主扇区和备份扇区中的扇区标识判断哪个为有效扇区,读 取有效扇区; 3)更新数据时,根据主扇区和备份扇区中的扇区标识判断哪个为有效扇区,将有效扇 区的数据整页读出,修改需要更新位置的内容后,计算出整个扇区数据的CRC校验值,将新 旧比较值加一,将这两项连同数据一起写入无效扇区中。 0005 本发明由于采用了上述实现方法,使。
7、用多个相连的扇区互为数据备份,利用扇区 标识判断有效页面,读取时选择有效扇区的数据,更新时选择无效扇区,这样更新过程中写 备份扇区的同时也就是在写目的扇区,更新一页数据只写一个扇区。而不像传统方式,备份 扇区和目的扇区是分开的,更新一页数据要写两个扇区。因此可以大大减少擦写存储区的 操作次数,有效降低更新数据所用的时间。当更新数据量较大时,基本接近成倍减少擦写存 储区的操作次数,更新数据所用的时间也是明显降低。 0006 下面结合附图和具体实施方式对本发明作进一步说明。 附图说明 0007 图1为本发明一种实施例的数据存储区示意图; 说 明 书CN 102789404 A 2/2页 4 图2为。
8、本发明单扇区数据读取示意图; 图3为本发明单扇区数据更新示意图; 图4为本发明数据更新前掉电的数据存储区示意图; 图5为本发明数据更新中前掉电的数据存储区示意图; 图6为本发明数据更新后掉电的数据存储区示意图。 0008 具体实施方式: 参看图1,本发明包括多个主扇区和分别与各主扇区相连的一个至多个备份扇区。各扇 区都设置扇区标识,扇区标识包括扇区新旧比较值和整个扇区数据的CRC校验值。 0009 本发明中的备份扇区可以是N个,N为自然数,备份扇区标志中的新旧比较值可以 是0-n,n为自然数;扇区校验值可以是CRC或者其它方式。 0010 下面以两个互为备份的扇区,且校验值是CRC为例,说明本。
9、发明数据存储区的实 现方法: 1)创建数据时,将数据写入主扇区A中,备份扇区B此时为空。同时计算出整个扇区 数据的CRC校验值,将主扇区A的新旧比较值置为0,将这两项连同数据一起写入主扇区A 中。 0011 2)读取数据时,参见图2,先分别读出主扇区A和备份扇区B的扇区标识,计算两 个扇区数据的CRC校验值。对比计算出的CRC和扇区标识中的CRC,如果只有一个扇区相 同,则该扇区为有效扇区。如果两个CRC都相同,则判断新旧比较值(2102),取值大的 扇区为有效扇区(最后一次成功写入的扇区),读取有效扇区的内容。图2中,如果两个扇区 的CRC均计算正确,根据新旧比较值可知B扇区为有效扇区,读取。
10、B扇区的内容。 0012 3)更新数据时,参见图3,根据上述方法判断出需要更新的有效扇区,将有效扇区 的数据整页读出,修改需要更新位置的内容后,计算出整个扇区数据的CRC校验值,将新旧 比较值加一(2 + 1变成0),将这两项连同数据一起写入无效扇区中。 0013 本发明使用中如果出现更新数据时掉电的情况,根据掉电时间可以分为三种情 况: 一是在更新之前掉电,参见图4,这时主扇区A和备份扇区B都保持的是前一次更新后 的状况。两个扇区的CRC均计算正确,通过新旧比较值可知当前主扇区A是有效页面。 0014 二是在更新之中掉电,参见图5,这时主扇区A的CRC计算正确,备份扇区B的CRC 计算错误。可知当前主扇区A是有效页面。 0015 三是在更新之后掉电,参见图6,这时备份扇区B已经写好了这次更新的内容。两 个扇区的CRC均计算正确,通过新旧比较值可知当前备份扇区B是有效页面。 说 明 书CN 102789404 A 1/2页 5 图1 图2 图3 说 明 书 附 图CN 102789404 A 2/2页 6 图4 图5 图6 说 明 书 附 图CN 102789404 A 。