[发明专利]利用空间冗余减少事务处理过程中对EEPROM页擦写次数的方法有效
申请号: | 201210112010.5 | 申请日: | 2012-04-17 |
公开(公告)号: | CN103377133A | 公开(公告)日: | 2013-10-30 |
发明(设计)人: | 邬佳希;王元彪;陈安新;李清;张纲;谢懿 | 申请(专利权)人: | 上海复旦微电子集团股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 张妍 |
地址: | 200433 上海市杨*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 空间 冗余 减少 事务处理 过程 eeprom 擦写 次数 方法 | ||
技术领域
本发明涉及嵌入式系统,尤其涉及一种利用空间冗余减少事务处理过程中对EEPROM(电可擦只读存储器)页擦写次数的方法。
背景技术
在对敏感信息诸如交易金额、密码的操作过程中发生中断时,关键是如何保证事务处理机制的完善性,即该事务要么更新成功,要么保持原值。因此对于要求高安全性的设备来说,尤其是智能卡,完善的事务处理尤为重要。
传统的事务处理方法一般分为两种,保存旧数据方法和保存新数据方法:A.保存旧数据方法:
将目标地址的旧值保存在事务处理区里,置事务处理区中数据有效标记,将新数据写入目标地址;清事务处理区中数据有效标记;
需要恢复时将旧数据写回,清事务处理区中数据标志有效标记;
这种方法在发生主动丢弃事务处理数据(abort 处理)逻辑或意外断电后的数据恢复时开销最大(write penalty);
B.保存新数据方法:
将目标地址的新值保存在RAM(随机存储器)中,当发生提交事务处理(commit 处理)逻辑时将RAM中的新数据集复制到事务处理区里,置事务处理区中数据有效标记;将事务处理区中的新数据复制到目标地址;清事务处理区中数据有效标记;需要恢复时将事务处理中的新数据集写回,清事务处理区中数据标志有效标记;
这种方法,新数据被缓存在RAM中,当发生任意EEPROM读操作时,都需要到RAM缓存中进行过滤以不错过其“最新值”(read penalty);
且该方法需要额外的RAM缓存,只适合较小的,应用场景相对固定的环境,否则RAM缓存的大小,任意读操作的缓存搜索过程都会受到挑战。
发明内容
本发明提供一种利用空间冗余减少事务处理过程中对EEPROM页擦写次数的方法,该方法以空间上的冗余为代价,在事务处理过程中减少不必要的写EEPROM次数,克服了在事务处理过程中对EEPROM的频繁修改造成的运行速度和对EEPROM寿命的影响,从而提升了事务处理效率。
为了达到上述目的,本发明提供一种利用空间冗余减少事务处理过程中对EEPROM页擦写次数的方法,该方法包含以下步骤:
步骤1、使EEPROM中需要受事务处理机制保护的空间中的每一页在物理上对应两个页,其中一页作为当前页PA,另外一页作为影子页PB;
步骤2、分别在RAM中开辟页状态区TR_RAM、在EEPROM中开辟当前页状态区TR_EEPROM和页状态影子区TR_EEPROM_SHADOW,用于存放页状态信息;
步骤3、当发生EEPROM写操作时,CPU根据TR_RAM中的页状态信息将新数据写入影子页中,并修改页状态区TR_RAM的信息,将低位设置为1,当发生EEPROM读操作时,CPU根据TR_RAM中的页状态信息将“最新”的数据返回;
步骤4、判断 逻辑是否需要提交所有事务处理数据,若是,转到步骤5,若否,转到步骤12;
步骤5、对TR_RAM中的页状态信息做相应变换,并保存在页状态区TR_RAM:
步骤6、计算TR_RAM中高字节数据的CRC16值,并将该值写入TR_RAM中低字节开始处;
步骤7、将TR_RAM中的数据复制入TR_EEPROM_SHADOW;
步骤8、设置一寄存器R用来表征新的TR_EEPROM,使TR_EEPROM与TR_EEPROM_SHADOW的地位互换;
步骤9、将TR_RAM中的CRC清零;
步骤10、擦除TR_EEPROM_SHADOW中的页数据;
步骤11、将TR_EEPROM的高字节信息复制入TR_RAM的高字节,TR_RAM的低字节置零;
步骤12、判断 逻辑是否需要丢弃所有事务处理数据,若是,转到步骤13;
步骤13、将TR_EEPROM的高字节数据复制入TR_RAM,TR_RAM的低字节清零。
所述的步骤2中,每个页的状态由对应页状态区TR_RAM中的两位标记,“高位”表示当前页,“低位”表示影子页中是否有被处理的数据:
00:当前页为PA,影子页PB中无被处理的“新数据”;
01:当前页为PA,影子页PB中有被处理的“新数据”;
10:当前页为PB,影子页PA中无被处理的“新数据”;
11:当前页为PB,影子页PA中有被处理的“新数据”。
所述的步骤5中,对TR_RAM中数据做如下变换:
00à00 (不变);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海复旦微电子集团股份有限公司,未经上海复旦微电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210112010.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种导轨式电缆线收卷支架底座
- 下一篇:一种具有移动功能的放线架