一种智能卡RAM的动态分配方法和数据结构组成比例

技术编号:19821520 阅读:26 留言:0更新日期:2018-12-19 14:36
本发明专利技术公开一种智能卡RAM的动态分配方法和数据结构,充分利用智能卡有限的RAM资源,减少NVM擦写次数,提升智能卡的寿命和整体性能。该方法分为两种RAM分配状态:状态1,Native运行状态,RAM开销根据Native应用的需要进行动态调整;状态2,Java运行状态,RAM开销根据Java应用和虚拟机运行状态动态调整。本方法在Native应用和Java应用两种执行状态下动态分配RAM资源,在保证OS RAM分配情况下,将更多的RAM资源用于数据Cache,来减少应用发卡和交易中写NVM次数,提升智能卡寿命和整体性能。

【技术实现步骤摘要】
一种智能卡RAM的动态分配方法和数据结构
本专利技术涉及智能卡
,尤其涉及一种智能卡RAM的动态分配方法和数据结构。
技术介绍
智能卡在生产中,需要将用户数据通过个人化流程预置到智能卡的NVM存储中,个人化时间直接影响到生产效率,大批量发卡时个人化时间过长直接导致生产成本的提高。在智能卡使用中,交易性能直接影响到卡片兼容性和产品竞争力,尤其是在交通应用场景中,终端设备复杂多样,交易环境苛刻,智能卡非接界面交易速度过慢会导致刷卡失败,或有明显的停顿感,造成较差的用户体验。因此,提升智能卡的整体性能,尤其是个人化性能和交易性能成为智能卡领域的重要课题。在智能卡中的DataCache,是一种通过RAM进行NVM数据读写缓存的方式,通过RAM缓存减少NVM的读写操作,以提升智能卡的整体性能。因为RAM的擦写速度远远快于NVM擦写速度,所以尽量多的复用RAM资源,以减少NVM擦写次数,便成了提升智能卡整体性能的重要途径。在智能卡中有一种Java+Native架构智能卡,应用分为Java应用和Native应用两种。Java应用依赖于卡上的JCVM,JCVM依赖于底层的NativeOS;而Native应用直接依赖于NativeOS。并且,在这种智能卡中Java应用和Native应用有自己对应的AppRAM、AppDate,NativeOS拥有独立的OSRAM、OSDate。在这种智能卡中,Java应用和Native应用的RAM、NVM资源是采用静态分配方式,在Java应用和Native应用运行前,卡片中的资源已经完成分配,因此,Java应用和Native应用对应的RAM、NVM资源是分离不可复用的。在智能卡中RAM资源极其有限的情况下,RAM静态分配会造成大量RAM资源的闲置,从而不能充分发挥出RAM相对于NVM擦写的性能优势。智能卡RAM的动态分配方法,能通过运行环境的切换,在Java应用和Native应用下充分复用RAM资源,增强DataCache承载能力,减少NVM擦写次数,从而提升智能卡的整体性能。智能卡RAM的动态分配方法相比于RAM静态分配方法,充分利用了智能卡有限的RAM资源,提升了智能卡整体性能,有明显的技术优势,尤其在个人化性能和交易性能上的提升更具有实用价值。
技术实现思路
本专利技术提供一种智能卡RAM的动态分配方法和数据结构,用于提高智能卡的整体性能,尤其是提高个人化性能和交易性能。在这种智能卡中,根据执行Java应用和Native应用的不同,动态调整运行环境,并最大化的动态分配RAM资源,以减少NVM擦写次数,达到提高智能卡性能的目的;其RAM分配的数据结构中,OSRAM部分是固定分配,而其他部分是根据运行环境不同复用分配。本专利技术提供的处理方式为首创,尚未发现有同类技术存在。为实现上述专利技术目的,本专利技术采用的技术方案步骤如下:步骤一、芯片启动。步骤二、芯片初始化,初始化芯片上电参数、RAM空间大小、NVM空间大小、系统补丁、平台配置区默认配置。步骤三、默认运行环境初始化,根据平台配置区写入的默认配置,进行相应默认运行环境的初始化。根据默认配置对应的Native应用或Java应用的资源需求,计算OSRAM大小、DataCache大小、AppRAM大小,并将空间相关管理信息写入NVM配置中。步骤四、执行默认运行环境下的应用。步骤五、运行环境切换。当应用运行环境发生变化时,进行Native运行环境和Java运行环境的切换,并最大化的复用RAM资源和系统NVM存储。由Native运行环境切换至Java运行环境。首先,启动Java虚拟机初始化,先将DataCache中的数据刷入目标地址,保证数据一致性,达到交叉资源的安全防护的目的;初始化Java运行环境,根据Java应用RAM资源需要,最大化分配系统中DataCache和AppRAM资源及其管理信息;根据分配的DataCache大小,初始化DataCache对应的NVM备份区管理信息。完成Java运行环境初始化,运行Java虚拟机和Java应用。由Java运行环境切换至Native运行环境。首先,主动退出Java虚拟机或选择Native应用后,先将DataCache中的数据刷入目标地址,保证数据一致性,达到交叉资源的安全防护的目的;初始化Native运行环境,并根据Native应用RAM资源需要,最大化分配系统中DataCache和AppRAM资源及其管理信息;根据分配的DataCache大小,初始化DataCache对应的NVM备份区管理信息。完成Native运行环境的初始化,运行Native应用。当运行环境切换时,为实现快速安全的运行环境切换,实现如下功能:1)资源隔离,Java应用和Native应用的RAM管理信息分别存储;Java应用的数据和Native应用的NVM数据分别存储在不同的运行环境和上下文。2)交叉资源的安全防护,Native运行环境和Java运行环境需要对交叉资源进行防护,在运行环境切换时,RAM和系统区NVM会最大化复用,并根据目标运行环境需要的大小重新初始化。3)更新存储器管理信息,运行环境切换时DataCache会根据应用需要动态分配,DataCache备份区大小也随着DataCache的大小动态分配;当DataCache备份区大小缩小时,向上移动堆头,以回收DataCache备份区释放的NVM空间,并更新NVM管理信息和堆管理信息;当DataCache备份区大小变大时,在堆剩余空间足够满足DataCache备份区扩大的情况下,向下移动堆头,以释放堆空间分配给DataCache备份区,并更新NVM管理信息和堆管理信息。在更新存储器管理信息时,为了保证运行环境的切换速度,提供一种加速方法,如下:DataCache备份区缩小时,在缩小DataCache备份区后剩余的NVM空间不回收,则无需更新NVM管理信息和堆管理信息,只更新RAM管理信息即可,避免NVM擦写操作以提速。DataCache备份区变大时,在初始化默认配置时DataCache备份区预留出卡片预期使用到的最大值,运行环境切换时无需NVM管理信息和堆管理信息动态调整,只更新RAM管理信息即可,避免NVM擦写操作以提速。4)应用运行环境切换的原子性保护,在运行环境切换过程中,通过事务备份机制保护写入NVM的资源管理信息原子性,保证运行环境切换过程中断电后仍然有一个可靠的运行环境,不会出现预期外的第三态。步骤六、执行切换后运行环境下的应用。步骤七、结束运行环境,释放运行环境资源。附图说明图1为本专利技术一种智能卡RAM的动态分配方法主流程;图2为本专利技术整体RAM资源分配图;图3为本专利技术整体NVM数据分布;图4为本专利技术由Native运行环境切换至Java运行环境;图5为本专利技术由Java运行环境切换至Native运行环境。具体实施方式以下结合附图和实例对本专利技术所提供的一种智能卡RAM的动态分配过程做进一步说明。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。一、智能卡RAM动态分配主流程,如附图1所示,该方法步骤包括:S1001、芯片启动。S1002、上电初始化,初始化芯片中断向量表、时钟频率、通信波特率、本文档来自技高网
...

【技术保护点】
1.一种智能卡RAM的动态分配数据结构,其特征在于,在不同的应用运行环境下,RAM进行动态分配以达到充分复用,从而减少NVM的擦写次数,提高智能卡的寿命和整体性能;RAM的动态分配数据结构包括OS RAM、Data cache、App RAM,其中OS RAM是固定分配的系统资源,而Data cache、App RAM是根据运行环境不同进行动态分配的资源。

【技术特征摘要】
1.一种智能卡RAM的动态分配数据结构,其特征在于,在不同的应用运行环境下,RAM进行动态分配以达到充分复用,从而减少NVM的擦写次数,提高智能卡的寿命和整体性能;RAM的动态分配数据结构包括OSRAM、Datacache、AppRAM,其中OSRAM是固定分配的系统资源,而Datacache、AppRAM是根据运行环境不同进行动态分配的资源。2.一种智能卡RAM的动态分配方法,基于权利要求1所述的动态分配数据结构,其特征在于,主要包括步骤:步骤一:芯片启动;步骤二:上电初始化;步骤三:默认运行环境初始化;步骤四:执行默认运行环境下的应用;步骤五:运行环境切换;步骤六:执行切换后运行环境下的应用;步骤七:结束运行环境。3.根据权利要求2所述的方法,其特征在于:所述步骤二,芯片上电初始化,初始化芯片上电参数、RAM空间大小、NVM空间大小、系统补丁、系统默认配置。4.根据权利要求2所述的方法,其特征在于:所述步骤三,根据平台配置区写入的默认配置,进行默认运行环境初始化,包括:计算DataCache大小、AppRAM大小,并将DataCache、AppRAM空间相关管理信息更新到OSRAM中;计算DataCache备份区(NVM)大小,并将空间相关管理信息写入OSRAM和OSNVM中记录。5.根据权利要求2所述的方法,其特征在于:所述步骤五,当运行环境切换时,进行Native运行环境和Java运行环境的切换,并最大化复用RAM资源以减少NVM擦写次数,提高智能卡寿命和整体性能,运行环境切换包括:1]资源隔离,分为RAM资源隔离和NVM资源隔离;2]交叉资源防护;3]更新存储器管理信息;4]应用运行环境切换的原子性保护。6.根据权利要求5所述的资源隔离,其特...

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

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

1