一种智能卡内优化非易失性存储器编程的方法技术

技术编号:9853345 阅读:198 留言:1更新日期:2014-04-02 17:38
本发明专利技术提供了一种智能卡内优化非易失性存储器编程的方法,能够减少智能卡命令处理中擦写存储器的次数,从而提升智能卡命令处理速度,优化卡片性能。

【技术实现步骤摘要】

:本专利技术涉及到智能卡内对非易失性存储器编程的优化方面。
技术介绍
:智能卡在日常使用中,会做很多交易,在一次命令处理的过程中,包含多个数据源更新到存储器中的操作,所以会不停的对存储器进行擦写,以前的做法如下:在更新数据源的时候,每一个数据源都要启动一次编程操作对存储器进行擦写,这样就会不停的访问存储器,从而减慢了命令处理速度,降低了卡片的性能。提出本专利技术就是为了解决对存储器频繁访问的问题,优化了对存储器的编程效率,进而优化了卡片的性能,增加了卡片命令的处理速度。
技术实现思路
:本专利技术提供了在数据编程过程中的优化算法,将数据按数据块格式先进行整理,然后将所有同一页的数据一起启动编程写入到存储器中。本专利技术的主要点在于:1、将一个命令流程中待更新的数据按照如下格式整理到RAM缓冲区中,RAM缓冲区数据结构和数据块格式如下:地址1+长度1+数据I (N字节)+地址2+长度2+数据2 (N字节)+....+地址η+长度η+数据η (N字节)+结束标志;其中,定义一组“地址+长度+数据”为一个数据块2、将RAM缓冲区中的数据块写入到存储器实际地址I)获得数据块的信息,包括目的地址、长度和数据;2)检查目的地址是否为全OxFF,如果是则继续获得下一个数据块信息,转到步骤3),否则转到步骤4);3)检查目的地址和长度是否为结束标记,如果是则证明数据块写入完成,正确返回,否则转到步骤2);4)将数据块中的数据写入到存储器缓冲区中,继续检查是否存在同一页的数据块,如果不存在则转到步骤5),如果存在则同样写入到存储器缓冲区中,继续查找直到不再存在同一页的数据块,转到步骤5);5)启动编程,将该页数据写入到存储器实际地址中;6)读出比较存储器中的数据是否正确,如果正确则完成一次擦写存储器操作,同时将这一页内RAM缓冲区中的数据块的目的地址都置为全OxFF ;7)继续查找在同一页的数据块,转到步骤I)。3、对数据块进行准备的处理流程,包括如下步骤:I)计算得到当前页的剩余空间长度len,判断数据长度为DataLen的数据是否跨页;2)如果未跨页,将目的地址、数据长度和数据组成数据块写入到RAM缓冲区中;3)如果跨页,先将目的地址、Ien和Ien长的数据组成数据块写入到RAM缓冲区中,然后计算得到剩余数据长度DataLen,新的目的地址为下一页的起始地址;转到步骤I)。【附图说明】:图1是数据块准备的处理流程图2是数据块写入到存储器中的流程图3是数据块在RAM区的数据结构【具体实施方式】为使本专利技术上述的特征和优点能够更加清晰明了,下面结合附图和【具体实施方式】对本专利技术进行进一步的阐述。如图1所示,对数据块进行准备的处理流程,包括如下步骤:4)计算得到当前页的剩余空间长度len,判断数据长度为DataLen的数据是否跨页;5)如果未跨页,将目的地址、数据长度和数据组成数据块写入到RAM缓冲区中;6)如果跨页,先将目的地址、Ien和Ien长的数据组成数据块写入到RAM缓冲区中,然后计算得到剩余数据长度DataLen,新的目的地址为下一页的起始地址;7)转到步骤I)如图2所示,将RAM缓冲区中的块写入到存储器实际地址I)获得块的信息,包括目的地址、长度和数据;2)检查目的地址是否为全OxFF,如果是则继续获得下一个数据块信息,转到步骤3),否则直接转到步骤4);3)检查目的地址和长度的值是否为结束标记,如果是则证明块写入完成,否则转到步骤2);4)将数据块中的数据写入到存储器缓冲区中,继续检查是否存在同一页的数据块,如果不存在则转到步骤5),如果存在则同样写入到存储器缓冲区中,继续查找直到不再存在同一页的数据块,转到步骤5);5)启动编程,将该页数据写入到存储器实际地址中;6)读出比较存储器中的数据是否正确,如果正确则完成一次擦写存储器操作,同时将这一页内RAM缓冲区中的数据块的目的地址都置为全OxFF ;7)继续查找在同一页的数据块,转到步骤I)。如图3所示,RAM缓冲区的数据结构图,每一个数据块由目的地址、数据长度及数据组成,在数据块最后附加一个结束标志。本文档来自技高网...

【技术保护点】
一种智能卡内优化非易失性存储器编程的方法,其特征在于一次命令处理流程中所有数据并不是马上启动更新操作,而是先在RAM缓冲区中将数据按数据块格式进行整理;在RAM缓冲区中查找在同一页的数据块,将找到的数据块写入到存储器缓冲区中,查找完毕后,一次启动编程写入到存储器实际地址;在RAM缓冲区中查找在同一页的数据块,找到后将这些数据块与存储器中本次写入的同一页的数据块进行比较,保证数据的可靠性。

【技术特征摘要】
1.一种智能卡内优化非易失性存储器编程的方法,其特征在于一次命令处理流程中所有数据并不是马上启动更新操作,而是先在RAM缓冲区中将数据按数据块格式进行整理;在RAM缓冲区中查找在同一页的数据块,将找到的数据块写入到存储器缓冲区中,查找完毕后,一次启动编程写入到存储器实际地址;在RAM缓冲区中查找在同一页的数据块,找到后将这些数据块与存储器中本次写入的同一页的数据块进行比较,保证数据的可靠性。2.如权利要求1所述的方法,其特征在于将RAM缓冲区中的数据块写入到存储器实际地址步骤如下: 1)获得数据块的信息,包括目的地址、长度和数据; 2)检查目的地址是否为全OxFF,如果是则继续获得下一个数据块信息,转到步骤3),否则转到步骤4); 3)检查目的地址和长度是否为结束标记,如果是则证明数据块写入完成,正确返回,否则转到步骤2); 4)将数据块中的数据写入到存储器缓冲区中,继续检查是否存在同一页的数据块,如果不存在则转到步骤5),如果存在则同样写入到存储器缓冲区中,继续查找直到不再存在同一页的数据块,转到步骤5); 5)将该页数据写入到存储器实际地址中; 6)读出比较存储器中的数据是否正确,如果正确则完成一次擦写存储器操作,同时将这一页内RAM缓冲区中的数 据块的目的地址都置为全OxFF ; 7)继续查找在同一页的数据块,转到步骤I)。3.如权利要求1所述的方法,其特征在于,所述步骤I)中的RAM缓冲区需要在每次使用时初始化为全0x00,初始化当前所有数据块的总长度为0x00。4.如权利要求1所述的方法,其特征在于,对数据的整理操...

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

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月04日 18:37
    编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码并最终得到相应结果的过程为了使计算机能够理解人的意图人类就必须要将需解决的问题的思路方法和手段通过计算机能够理解的形式告诉计算机使得计算机能够根据人的指令一步一步去工作完成某种特定的任务这种人和计算机之间交流的过程就是编程
    0
1