智能卡非易失性存储器的管理方法技术

技术编号:9865710 阅读:151 留言:0更新日期:2014-04-03 00:25
本发明专利技术公开了一种智能卡非易失性存储器的管理方法,包括以下步骤:接收应用提交的空间申请指令,根据存储状态表中的空闲空间将合适的空闲空间分配给该应用,并更新存储状态表和逻辑分配表;接收应用提交的空间释放请求指令,根据该空间释放请求指令执行空间释放操作,将对应存储空间的状态修改为空闲空间,并删除对应的逻辑分配表中的表项;将释放操作所产生的碎片归集在一起形成一个连续的空闲区间,以便于后期的分配利用。本发明专利技术根据应用的申请分配和释放空间,通过对释放空间的紧凑处理,实现了释放空间的再利用。

【技术实现步骤摘要】

本专利技术涉及智能卡系统非易失性存储器的空间管理,尤其涉及一种已释放后所产生的空闲碎片的快速、高效和充分再利用的。
技术介绍
在智能卡系统中,存储器(如EEPROM、FLASH、RAM等)空间是有限的,如何有效地标识、分配和释放存储单元,特别是如何有效利用释放后所产生的空闲碎片,是衡量COS性能的一个关键性指标。而且,与写RAM操作比较,写非易失性存储器(如EEPR0M、FLASH等,以下简称NVM)的操作是相当费时的,并且卡片硬件本身不保证写操作的完整性。通常智能卡RAM容量为几KB到十几KB,NVM容量为几十KB到几百KB ;而普通PC的内存为几GB到几十GB,硬盘容量为几百GB到几TB,其存储器容量是智能卡存储器容量的IO6倍以上。与PC机相比,智能卡存储器的充分利用更显得尤为重要。目前市面上的智能卡大多可以实现NVM的分配和释放,但通常释放后的存储空间再分配后而产生的大量碎片不能再被使用而被浪费掉。从一种系统状态到另一种状态的转换可能包括NVM几个存储单元的更新。这些更新操作必须是原子性的执行,即要么完整更新,要么保持原样,不得出现中间状态。事务提交操作完成之前,如果发生掉电或其它系统故障,则全部更新操作作废,恢复到初始状态。与读操作相比,NVM的写操作是相当费时的。所以为了提高智能卡的执行效率,应尽量减少事务处理中NVM的写操作次数。智能卡COS掩膜后可能因遗留有BUG或功能扩展等原因而需要打补丁处理,补丁代码是要写入到NVM中的;但是是否需要打补丁及补丁代码的大小是“动态”的,不能开始设计时就预留固定空间给补丁区,这样不仅造成NVM空间的浪费,而且可能会由于预留空间不足导致补丁功能无法实现。
技术实现思路
本专利技术的一个目标就是要提供一种高效的智能卡NVM存储空间(单元)的标识、分配、释放及空闲空间紧凑的方法和机制。本专利技术的另一个目标就是要提供一种在智能卡系统中使用的NVM管理方法和机制,以避免事务缓存中的空间浪费和操作时间浪费,并保障事务写操作的一致性。本专利技术的再一个目标就是实现NVM空间的动态分配及补丁地址的动态管理。本专利技术要解决的技术问题在于针对现有技术中智能卡系统已释放空间碎片的浪费问题,以及写NVM操作效力低下的缺陷,提供一种可有效利用已释放空间,提高智能卡操作效率的。本专利技术解决其技术问题所采用的技术方案是: 提供一种,包括以下步骤: 接收应用提交的空间申请指令,根据存储状态表中的空闲空间将合适的空闲空间分配给该应用,并更新存储状态表和逻辑分配表; 接收应用提交的空间释放请求指令,根据该空间释放请求指令执行空间释放操作,将对应存储空间的状态修改为空闲空间,并删除对应的逻辑分配表中的表项; 将释放操作所产生的碎片归集在一起形成一个连续的空闲区间,以便于后期的分配利用。本专利技术所述的方法中, 在分配空闲空间状态前,预先将逻辑分配表和存储状态表分别进行备份,产生各自的工作表; 在分配空间时,将备份的工作表分别复制到各自的缓存表中;更新逻辑分配表的缓存表中对应的物理块序号及逻辑表链接信息,并更新存储状态表的缓存表中对应存储空间的使用状态;然后将更新后的缓存表复制到各自的工作表中,并以工作表替换相应的原始表。本专利技术所述的方法中,步骤根据存储状态表中的空闲空间分配合适的空间给该应用具体为: 从存储状态表中查找与所申请的空间长度相等的空闲空间,若有,则将其分配给该应用;若没有,则将长度大于所申请的空间长度的空闲空间中长度最小的空闲空间分配给该应用; 如果所有空闲空间长度均小于所申请的空间长度,则检查存储器用户区空间底部的剩余空间是否大于或等于所申请的空间长度,若是,则从已分配空间的底部分配所申请的空间长度给该应用;否则,空间申请失败。本专利技术所述的方法中,执行空间释放操作时,修改逻辑分配表和存储状态表的缓存表,以最终更新存储状态表中的状态,并清除逻辑分配表中的记录。本专利技术所述的方法中,存储空间紧凑操作的步骤具体为:将所有已使用的空间内容都移动到存储器用户区的顶部,而将释放操作所产生的空闲空间都移动到存储器用户区的底部。本专利技术所述的方法中,在进行存储空间紧凑操作时,生成紧凑防拔信息原始表的备份工作表,在存储空间紧凑操作完成后,将紧凑防拔信息的备份工作表替换紧凑防拔信息原始表。本专利技术所述的方法中,还包括步骤:预先将存储器的空间划分为多个物理块,物理块的长度设置为128字节或者其整数倍。本专利技术所述的方法中,还包括步骤: 进一步将存储块划分为多个存储片,存储片为存储器的最小存储单元,存储状态表中的表项记录存储块以及存储片的使用状态。本专利技术所述的方法中,在逻辑分配表或存储状态表的工作表完成更新后,相应原始表被替换前,若发生意外掉电,则重新上电后自动进行原始表的替换; 在逻辑分配表或存储状态表的工作表完成更新前,若发生意外掉电,且用于备份的相应工作表不完整,则重新上电后,自动清除不完整的事务,回到事务开始前的状态。本专利技术所述的方法中,在执行空间分配和空间释放操作时,若逻辑分配表或存储状态表的缓存表的更新超过一页,则先将更新后的缓存表复制到各自的工作表中。本专利技术产生的有益效果是:本专利技术根据应用的申请分配和释放空间,通过对释放空间的紧凑处理,实现了释放空间的再利用。_【附图说明】下面将结合附图及实施例对本专利技术作进一步说明,附图中: 图1为本专利技术实施例的流程图; 图2为本专利技术实施例逻辑表、状态表及存储块结构示意图; 图3为本专利技术实施例用户存储器区、逻辑分配表及存储器状态表布局示意图; 图4为本专利技术实施例空闲空间查找示意图; 图5为本专利技术实施例紧凑操作防掉电信息结构示意图; 图6为本专利技术实施例紧凑流程示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术的可实现空闲碎片有效管理和利用的实现方案,本专利技术管理的NVM是由用户存储器区、逻辑分配表、存储器状态表及紧凑防拔信息表等组成,逻辑分配表及存储器状态表表项的数量等同于用户存储区的存储块数量,紧凑防拔信息表占用两页NVM空间。本专利技术实施例,如图1所示,包括以下步骤: 51、接收应用提交的空间申请指令; 52、根据存储状态表中的空闲空间将合适的空闲空间分配给该应用,并更新存储状态表和逻辑分配表; 53、接收应用提交的空间释放请求指令; 54、根据该空间释放请求指令执行空间释放操作,将对应存储空间的状态修改为空闲空间,并删除对应的逻辑分配表中的表项; 55、将释放操作所产生的碎片归集在一起形成一个连续的空闲区间,以便于后期的分配利用。由于NVM的写操作不能跨页,且页内写操作的时间与每次写入的字节数无关,SP写一个字节和写一整页的时间是相同的,因此设置块长度与卡片中NVM的物理页长度相匹配。兼顾NVM的利用率及写操作不跨页的物理特性,对于NVM物理页为128字节或256字节的情况,定义块长度等于物理页长度;对于NVM物理页为64字节、32字节或更小的情况,定义块长度为128字节,即一个块由多个物理页组成,且更新时按物理页分页操作。逻辑分配表(eep_logic_table)为本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201310619963.html" title="智能卡非易失性存储器的管理方法原文来自X技术">智能卡非易失性存储器的管理方法</a>

【技术保护点】
一种智能卡非易失性存储器的管理方法,其特征在于,包括以下步骤:接收应用提交的空间申请指令,根据存储状态表中的空闲空间将合适的空闲空间分配给该应用,并更新存储状态表和逻辑分配表;接收应用提交的空间释放请求指令,根据该空间释放请求指令执行空间释放操作,将对应存储空间的状态修改为空闲空间,并删除对应的逻辑分配表中的表项;将释放操作所产生的碎片归集在一起形成一个连续的空闲区间,以便于后期的分配利用。

【技术特征摘要】
1.一种智能卡非易失性存储器的管理方法,其特征在于,包括以下步骤: 接收应用提交的空间申请指令,根据存储状态表中的空闲空间将合适的空闲空间分配给该应用,并更新存储状态表和逻辑分配表; 接收应用提交的空间释放请求指令,根据该空间释放请求指令执行空间释放操作,将对应存储空间的状态修改为空闲空间,并删除对应的逻辑分配表中的表项; 将释放操作所产生的碎片归集在一起形成一个连续的空闲区间,以便于后期的分配利用。2.根据权利要求1所述的方法,其特征在于, 在分配空闲空间状态前,预先将逻辑分配表和存储状态表分别进行备份,产生各自的工作表; 在分配空间时,将备份的工作表分别复制到各自的缓存表中;更新逻辑分配表的缓存表中对应的物理块序号及逻辑表链接信息,并更新存储状态表的缓存表中对应存储空间的使用状态;然后将更新后的缓存表复制到各自的工作表中,并以工作表替换相应的原始表。3.根据权利要求2所述的方法,其特征在于,步骤根据存储状态表中的空闲空间分配合适的空间给该应用具体为: 从存储状态表中查找与所申请的空间长度相等的空闲空间,若有,则将其分配给该应用;若没有,则将长度大于所申请的空间长度的空闲空间中长度最小的空闲空间分配给该应用; 如果所有空闲空间长度均小于所申请的空间长度,则检查存储器用户区空间底部的剩余空间是否大于或等于所申请的空间长度,若是,则从已分配空间的底部分配所申请的空间长度给该应用;否则,空间申请失败。4.根据权利要求2所述的方法,其特征在...

【专利技术属性】
技术研发人员:程诗猛丁峰
申请(专利权)人:武汉天喻信息产业股份有限公司
类型:发明
国别省市:

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

1