CN101840373B - 数据操作方法及装置 - Google Patents
数据操作方法及装置 Download PDFInfo
- Publication number
- CN101840373B CN101840373B CN2010101029526A CN201010102952A CN101840373B CN 101840373 B CN101840373 B CN 101840373B CN 2010101029526 A CN2010101029526 A CN 2010101029526A CN 201010102952 A CN201010102952 A CN 201010102952A CN 101840373 B CN101840373 B CN 101840373B
- Authority
- CN
- China
- Prior art keywords
- physical address
- address
- data
- byte
- actual physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种数据操作方法,对存储器的每个堆存储的数据进行如下操作:接收混合地址,混合地址包括逻辑地址和第一物理地址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,根据第二物理地址确定实际物理地址的高位字节;根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址;利用实际物理地址链接到对应的存储空间,对存储空间内存储的数据进行操作。本发明还公开了数据操作装置、寻址方法及寻址装置。采用本发明可以解决现有技术中对进行操作的数据的查找及操作需要对EEPROM进行多次读取,耗费大量时间的问题。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种数据操作方法、一种数据操作装置,一种寻址方法及一种寻址装置。
背景技术
在现有的智能卡存储体系中,主要包括ROM(Read Only Memory,只读存储器)、RAM(RAM-random access memory,读写存储器)和EEPROM(Electronically Erasable Programmable Read-Only Memory,电可擦写编程存储器)。对于智能卡而言,出厂后的大部分时间都是对EEPROM进行读写操作,尤其对于JavaCard(一种运行使用Java语言编写的应用程序的智能卡)而言,更是经常会涉及到应用程序的下载、安装、运行、删除等操作。应用程序的代码及数据大部都是放在EEPROM中的,因此,EEPROM寻址方式直接影响整张智能卡的运行效率。
目前的智能卡的EEPROM空间大都超过64k,超过了2字节指针能够达到的直接寻址范围(0xFFFF)。因此,要精确表示一个EEPROM地址,至少需要3个字节。为了方便EEPROM空间的分配、回收等管理性操作,常用的方法是对EEPROM进行分块管理或FAT(File Allocation Table,文件分配表)管理。
以分块管理为例,在该例中,需要一个块链表指明块的分配关系,即,以EEPROM中的某一块为起始块,EEPROM中的哪些块是和起始块作为整体同属于某一个应用程序。如此,要指定一个EEPROM地址,需要使用3字节表示,一个字节用来表示起始块号,另外两个字节表示块内偏移。要获取一个实际的EEPROM地址,步骤如下:
1、通过起始块号和偏移量在块链表中搜索并计算,找到其对应的实际块号 和块内偏移;
2、利用实际块号×块大小+块内偏移得到实际地址。
在现有技术中,块链表通常被存储在EEPROM中,每次寻址时,需要多次从EEPROM中读取块链表,由于EEPROM中内容较多,每次都需要进行较长时间的搜索才能搜索到块链表,而之后在块链表中根据起始块号和偏移量进行实际块号与块内偏移的搜索也需要较长的时间,并且,搜索到实际块号与偏移量后还需要经过多次计算和判断才能够得到实际地址,上述操作会耗费大量时间。
另外,对于JavaCard而言,应用程序的表现形式是CAP(Converted Applet,已转换应用)格式的文件。例如,表一为一种CAP标准格式:
表一
COMPONENT_Header |
COMPONENT_Directory |
COMPONENT_Applet |
COMPONENT_Import |
COMPONENT_ConstantPool |
COMPONENT_Class |
COMPONENT_Method |
COMPONENT_StaticField |
COMPONENT_ReferenceLocation |
COMPONENT_Export |
COMPONENT_Descriptor |
COMPONENT_Debug |
如表一所示的CAP文件中,类class组件保存本应用声明的所有类和接口的信息;方法method组件保存本应用声明的所有方法和接口,method中利用2字节索引index引用类、方法和域;常数池constant pool组件保存method组 件引用的所有类、方法和域信息,分为类、实例域、虚方法、父方法、静态域和静态方法6类,每组信息为4个字节;相关地址reference location组件保存method组件中索引的偏移。
对于JavaCard而言,应用程序的下载过程是即CAP文件写入到EEPROM的过程,换句话说,是对CAP文件的下载过程。在CAP文件的下载过程中,需要将一部分组件进行解析,同时对reference location中指定的位置进行链接,能够链接到method组件中的一个索引号,并根据索引号查找constant pool中保存的、与该索引号对应的类、方法或域在EEPROM中的实际地址,调用实际地址中存储的数据,由于实际地址是3字节地址,因此,无法直接写入method组件。也就是说,方法的调用其实是需要两个步骤来实现的:
1、根据reference location中指定的位置进行链接,获取method组件中的索引号;
2、根据索引号查找constant pool中保存的、与该索引号对应的类、方法或域在EEPROM中的实际地址,调用实际地址中存储的数据。
在运行过程中时,取出索引号、根据索引号查找实际地址、调用实际地址中存储的数据,这些都是对EEPROM进行的操作,会消耗大量时间。
发明内容
本发明实施例提供了一种数据操作方法,用于解决现有技术中对进行操作的数据的查找及操作需要对EEPROM进行多次读取,耗费大量时间的问题,该方法包括:
接收输入的混合地址,所述混合地址中包括逻辑地址和第一物理地址,所述第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
根据存储的逻辑地址与物理地址的映射关系,获取所述逻辑地址对应的物理地址作为第二物理地址,并根据所述第二物理地址确定所述实际物理地址的高位字节;
根据所述实际物理地址的低位字节、以及所述实际物理地址的高位字节,生成所述实际物理地址;
利用所述实际物理地址链接到对应的存储空间,对所述存储空间内存储的数据进行操作;
对当前堆存储的数据进行操作,需要调用除所述当前堆外的其他堆存储的数据时,在所述映射关系中存储默认堆的逻辑地址,以及所述默认堆的逻辑地址与其他各堆的逻辑地址的映射关系;
根据所述映射关系,利用所述默认堆的指针链接到存储有调用数据的堆,对需要调用的数据进行读取及操作。
本发明实施例提供了一种数据操作装置,用于解决现有技术中对进行操作的数据的查找及操作需要对EEPROM进行多次读取,耗费大量时间的问题,该装置包括:
第一接收单元,用于对存储器的每个堆中存储的数据执行:接收输入的混合地址,所述混合地址中包括逻辑地址和第一物理地址,所述第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
第一确定单元,用于根据存储的逻辑地址与物理地址的映射关系,获取所述逻辑地址对应的物理地址作为第二物理地址,并根据所述第二物理地址确定所述实际物理地址的高位字节;
第一生成单元,用于根据所述实际物理地址的低位字节、以及所述实际物理地址的高位字节,生成所述实际物理地址;
第一链接单元,用于利用所述实际物理地址链接到其对应的存储空间,对所述存储空间内存储的数据进行操作;
存储单元,用于对当前堆存储的数据进行操作,需要调用除所述当前堆外的其他堆存储的数据时,在所述映射关系中存储默认堆的逻辑地址,以及所述默认堆的逻辑地址与其他各堆的逻辑地址的映射关系;
第二链接单元,用于根据所述存储单元存储的映射关系,利用所述默认堆的指针链接到存储有调用数据的堆,对需要调用的数据进行读取及操作。
在本发明实施例中,接收包括逻辑地址和第一物理地址的混合地址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节,并根据逻辑地址获取对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节,结合低位字节与高位字节生成实际物理地址,并利用实际物理地址链接到对应的存储空间,对存储空间内存储的数据进行操作。在本例中,由于逻辑地址与物理地址的映射关系已经存储在存储器中,并能够减少对数据寻址时,对存储器的读取次数及计算次数。另外,在输入的地址中利用逻辑地址查找对应的实际物理地址的高位字节,可以利用较少位的逻辑地址对应查找较多位的高位字节,能够缩短输入的地址长度,节省资源,提高用户的体验感受。
附图说明
图1是本发明实施例提供的数据操作方法的具体流程图;
图2是本发明实施例提供的数据操作方法应用在EEPROM上的具体流程图;
图3是本发明实施例提供一种较优的实际物理地址确定方法的实施方式的流程图;
图4是本发明实施例提供的默认堆的逻辑地址与EEPROM中各堆的逻辑地址的具体链接关系图;
图5是本发明实施例提供的寻址方法的实施例一的空间申请示意图;
图6是本发明实施例提供的寻址方法的实施例二的映射表的第一种示意图;
图7是本发明实施例提供的寻址方法的实施例三的映射表的第二种示意图;
图8是本发明实施例提供的寻址方法的具体流程图;
图9是本发明实施例提供的数据操作装置的第一种结构示意图;
图10是本发明实施例提供的第一确定单元的结构示意图;
图11是本发明实施例提供的数据操作装置的第二种结构示意图;
图12是本发明实施例提供的数据操作装置的第三种结构示意图;
图13是本发明实施例提供的数据操作装置的第四种结构示意图;
图14是本发明实施例提供的第一链接单元的结构示意图;
图15是本发明实施例提供的寻址装置的结构示意图。
具体实施方式
为解决现有技术中对进行操作的数据的查找及操作需要对EEPROM进行多次读取,耗费大量时间的问题,本发明实施例提供了一种数据操作方法,将存储器分为至少一个堆,对每个堆中存储的数据都进行相同的操作,具体处理流程如图1所示,包括:
步骤101、接收输入的混合地址,混合地址中包括逻辑地址和第一物理地 址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
步骤102、根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节;
步骤103、根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址;
步骤104、利用实际物理地址链接到对应的存储空间,对存储空间内存储的数据进行操作。
如图1所示流程,其涉及的存储器包括但不限于ROM、RAM以及EEPROM,还包括其他能够存储数据的器件或设备。
如图1所示流程,步骤102在实施时,根据第二物理地址确定实际物理地址的高位字节,可以有多种实施方式,一种较优的实施方式为,将第二物理地址直接确定为实际物理地址的高位字节,另一种较优的实施方式为,第二物理地址为块号,根据块号确定实际物理地址的高位字节。
现以EEPROM为例进行说明,本例中,EEPROM中的每个堆均不大于64k,相应的,其混合地址可以用2字节表示,对应的数据操作方法如图2所示:
步骤201、接收输入的2字节的混合地址,混合地址中包括单字节的逻辑地址和单字节的第一物理地址;
步骤202、根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节;
步骤203、根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址;
步骤204、利用实际物理地址链接到对应的存储空间,对存储空间内存储的数据进行操作。
步骤202在实施时,可以将映射关系存储在一个映射表中,以方便集中管 理,节省网络资源,此时,根据逻辑地址确定对应的第二物理地址,可以有多种实施方式,例如,一种较优的实施方式为,在映射表中,根据单字节的逻辑地址确定与其对应的表项的索引号index,进一步,根据索引号index在映射表中查找,获取对应原表项内存储的2字节的第二物理地址,则该第二物理地址为实际物理地址的高位字节,具体如图3所示。另外一种较优的实施方式为,在映射表中,根据单字节的逻辑地址确定与其对应的表项的索引号index后,根据索引号index在映射表中查找,获取对应表项内存储的单字节的块号,并根据块号确定对应的实际物理地址的高位字节,例如,用块号×块的大小获取高位字节,具体地,实施时,可以根据块号和块内偏移,确定出需要进行操作的数据的实际物理地址,采用0块对应地址+块号×块大小+块内偏移,就可以计算出实际物理地址。
当然,还可以采用其他实施方式,能够获取第二物理地址以及确定需要进行操作的数据的实际物理地址的低位字节即可。在实施时,较优的方法是采用第一种实施方式,通常从高字节开始进行操作,采用第一种实施方式能够节省时间,当映射表所在存储空间的空间不足时,第二种实施方式可以作为较优实施例,能够节省存储空间。
如图2所示流程,步骤201在实施时,在接收混合地址之前,可以将映射表从EEPROM导入到RAM中,因为映射表存储在RAM中,相对于映射表存储在EEPROM中而言,读取速度大大加快,对当前堆存储的数据进行操作时,仅仅需要读取一次EEPROM,之后的读取操作均在RAM中进行,在获取混合地址中的逻辑地址与第二物理地址之后,仅做一次计算即可确定出需要进行操作的数据的实际物理地址,省去了多次在EEPROM中进行读取以及多次判断及计算的过程,节省了大量时间,能够达到高速寻址及数据链接的目的。
如图2所示流程,步骤201在实施时,将EEPROM分成多个堆,每个堆均不大于64k,未超过2字节指针能够达到的直接寻址范围(0xFFFF),因此,可以利用2字节精确表示当前堆内的地址。
如图1或图2所示流程,步骤104及步骤204均提到对存储空间内存储的数据进行操作,主要包括:对存储空间内存储的数据进行读写操作,和/或对存储空间内存储的数据进行查找操作。当然,在实施时还可能对存储空间内存储的数据进行其他操作,不仅限于读写或查找操作。
上述实例仅仅用于说明本发明实施例提供的数据操作方法,对于在其他存储器如ROM、RAM等,也同样适用,每个堆的分类方法及堆的大小根据具体情况而定,并不仅限于64k。
在具体实施时,还可以采用其他较优的实施方式,并不仅限于本发明实施例提供的具体实例,采用的实施方式能够确定出需要进行操作的数据的实际物理地址,并根据实际物理地址链接到进行操作的数据即可。
另外,如图2所示流程,可以获知,只采用2字节的混合地址就可以确定出需要进行操作的数据的实际物理地址,因此,对于存储在EEPROM中的CAP文件而言,在对CAP文件的预链接过程中,可以将2字节的混合地址直接写入method组件中,并不需要根据索引号查找实际地址,减少了对EEPROM的操作,缩短了操作时间,实现CAP文件下载过程中的高度预链接,进而实现了JavaCard智能卡的高度运行。另外,由于可以将2字节的混合地址直接写入method组件中,在对EEPROM中的当前堆存储的数据进行操作时,不需要存储constantPool组件的内容,节省了EEPROM空间。
在实施时,对EEPROM中的当前堆存储的数据进行操作,可能存在需要调用除当前堆外的其他堆存储的数据,为实现当前堆与其他堆间的链接,可以构建一个默认堆,在映射关系中存储默认堆的逻辑地址,以及默认堆的逻辑地址与EEPROM中各堆的逻辑地址的映射关系,也可以将存储了默认堆的逻辑地址、以及默认堆的逻辑地址与EEPROM中各堆的逻辑地址的映射关系构建成一个映射表,较优的是将默认堆的逻辑地址,以及默认堆的逻辑地址与EEPROM中各堆的逻辑地址的映射关系存储在映射表的第一项中,具体链接关系请参见图4,默认堆Bank 0xFF位于映射表的最前端,将选用的各堆的逻辑 地址堆Bank 0x01、Bank 0x02、Bank 0x03等等排列在Bank 0xFF的后面,构成完成的逻辑地址映射表。
在实施时,对EEPROM中的当前堆存储的数据进行操作,需要调用除当前堆外的其他堆存储的数据时,可以利用默认堆调用其他堆中存储的数据,并将调用的数据转给当前堆,也称为堆切换。例如,如果对堆A存储的数据进行操作时,需要调用堆B存储的数据,堆A向默认堆发送指令,通知默认堆调用堆B存储的数据,默认堆接收指令,调用堆B存储的数据后,通知堆A已调用到,堆A对调用到的数据进行操作。
现以几个具体实施进行说明,在本例中,0块对应的实际地址为0xFA0700,每块的大小为256字节(0x100):
实施例一
参见图5,可以得知,本例在EEPROM中申请了4组空间,分别是0x11、0x12,0x13、0x15、0x16、0x17,0x1B,0x19,当前输入的第一地址中存储的起始块号为0x13,偏移为0x234,该地址在0x13开头的空间,根据偏移0x234/0x100=2得出该地址的实际块号即第二地址为0x16,计算获得0x16块对应的起始地址为0xFA1D00,加上块内偏移0x34,得到需要进行操作的数据的实际物理地址0xFA1D34,可以看出,实施例一中需要进行大量的计算及比较操作,这些都是对EEPROM进行的操作,会消耗大量时间;
实施例二
参见图6,若当前输入的第一地址为0x1534,寻址过程为:根据高字节0x15直接跳转到映射表的相应位置,取出第二地址0xFA1D,结合低字节0x34,得到需要进行操作的数据的实际物理地址0xFA1D34;
实施例三
参见图7,若当前输入的第一地址为0x1534,寻址过程为:根据高字节0x15直接跳转到映射表的相应位置,取出第二地址对应的块号0x16,计算获取第二地址对应的起始地址为0xFA1D00,加上块内偏移0x34,得到需要进行操作的 数据的实际物理地址0xFA1D34。
与实施例一相比较,实施例二及实施例三并不需要进行大量的比较及计算操作,降低了对时间的消耗,并且减少了对EEPROM空间的占用。
除EEPROM外,本发明实施例提供的数据操作方法在ROM、RAM等其他存储器中,同样也不需要进行大量的比较及计算,能够降低对时间的消耗,减少对存储器空间的占用。
基于同一发明构思,本发明实施例还提供了一种寻址方法,按图8所示流程确定存储器的每个堆中进行操作的数据的实际物理地址:
步骤801、接收输入的混合地址,混合地址中包括逻辑地址和第一物理地址,第一物理地址为该堆中进行操作的数据的实际物理地址的低位字节;
步骤802、根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节;
步骤803、根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址。
基于同一发明构思,本发明实施例还提供了一种数据操作装置,具体结构如图9所示,包括:
第一接收单元901,用于对存储器的每个堆中存储的数据执行:接收输入的混合地址,混合地址中包括逻辑地址和第一物理地址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
第一确定单元902,用于根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节;
第一生成单元903,用于根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址;
第一链接单元904,用于利用实际物理地址链接到其对应的存储空间,对 存储空间内存储的数据进行操作。
在一个实施例中,如图9所示结构,第一确定单元902可以具体用于:确定第二物理地址为实际物理地址的高位字节;或
确定第二物理地址为块号,并根据块号确定实际物理地址的高位字节。
在一个实施例中,如图9所示结构,第一接收单元901,可以具体用于:在每个堆均不大于64k时,接收输入的2字节的混合地址,混合地址中包括单字节的逻辑地址和单字节的第一物理地址。
在一个实施例中,如图10所示结构,第一确定单元902可以包括:
第一确定子单元1001,用于在存储有映射关系的映射表中,根据所单字节的逻辑地址确定与其对应的表项的索引号;
第一获取子单元1002,用于根据索引号获取对应的表项内存储的2字节的第二物理地址,2字节的第二物理地址为实际物理地址的高位字节;
第二确定子单元1003,用于在存储有映射关系的映射表中,根据单字节的逻辑地址确定与其对应的表项的索引号;
第二获取子单元1004,用于根据索引号获取对应的表项内存储的单字节的块号,并根据块号确定对应的实际物理地址的高位字节。
在一个实施例中,如图11所示结构,数据操作装置还可以包括:
导入单元1101,用于当存储器为可擦写编程存储器EEPROM时,在接收混合地址之前,将映射表由EEPROM导入到读写存储器RAM中。
在一个实施例中,如图12所示结构,数据操作装置还可以包括:
写入单元,用于在已转换应用CAP文件的预链接过程中,将2字节的混合地址直接写入方法method组件中。
在一个实施例中,如图13所示结构,数据操作装置还可以包括:
存储单元1301,用于对当前堆存储的数据进行操作,需要调用除当前堆外的其他堆存储的数据时,在映射关系中存储默认堆的逻辑地址,以及默认堆的逻辑地址与其他各堆的逻辑地址的映射关系;
第二链接单元1302,用于根据存储单元1301存储的映射关系,利用默认堆的指针链接到存储有调用数据的堆,对需要调用的数据进行读取及操作。
在一个实施例中,如图14所示结构,第一链接单元904可以包括:
读写子单元1401,用于对存储空间内存储的数据进行读写操作;
查找子单元1402,用于对存储空间内存储的数据进行查找操作。
基于同一发明构思,本发明实施例还提供了一种寻址装置,具体结构如图15所示,包括:
第二接收单元1501,用于在确定存储器的每个堆中进行操作的数据的实际物理地址时,接收输入的混合地址,混合地址中包括逻辑地址和第一物理地址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
第二确定单元1502,用于根据存储的逻辑地址与物理地址的映射关系,获取逻辑地址对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节;
第二生成单元1503,用于根据实际物理地址的低位字节、以及实际物理地址的高位字节,生成实际物理地址。
在本发明实施例中,接收包括逻辑地址和第一物理地址的混合地址,第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节,并根据逻辑地址获取对应的物理地址作为第二物理地址,并根据第二物理地址确定实际物理地址的高位字节,结合低位字节与高位字节生成实际物理地址,并利用实际物理地址链接到对应的存储空间,对存储空间内存储的数据进行操作。在本例中,由于逻辑地址与物理地址的映射关系已经存储在存储器中,并能够减少对数据寻址时,对存储器的读取次数及计算次数。另外,在输入的地址中利用逻辑地址查找对应的实际物理地址的高位字节,可以利用较少位的逻辑地址对应查找较多位的高位字节,能够缩短输入的地址长度,节省资源,提高用户的体验感受。
进一步,对EEPROM中的当前堆存储的数据进行操作时,限定每个堆不 大于64k,因此,只采用2字节的混合地址就可以确定出需要进行操作的数据的实际物理地址。进而在CAP文件的预链接过程中,可以将2字节的混合地址直接写入method组件中,并不需要根据索引号查找实际地址,减少了对EEPROM的操作,缩短了操作时间,实现CAP文件下载过程中的高度预链接,进而实现了JavaCard智能卡的高度运行。另外,由于可以将2字节的混合地址直接写入method组件中,在对EEPROM中的当前堆存储的数据进行操作时,不需要存储constantPool组件的内容,节省了EEPROM空间。
进一步,在接收输入的混合地址之前,将映射表从EEPROM导入到RAM中,因为映射表存储在RAM中,相对于映射表存储在EEPROM中而言,读取速度大大加快,对当前堆存储的数据进行操作时,仅仅需要读取一次EEPROM,之后的读取操作均在RAM中进行,在获取实际物理地址的高位及低位地址之后,仅做一次计算即可确定出需要进行操作的数据的实际物理地址,省去了多次在EEPROM中进行读取以及多次判断及计算的过程,节省了大量时间,能够达到高速寻址的目的。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变形属于本发明权利要求及其等同技术范围之内,则本发明也意图包含这些改动和变形在内。
Claims (14)
1.一种数据操作方法,其特征在于,对存储器的每个堆中存储的数据进行如下操作:
接收输入的混合地址,所述混合地址中包括逻辑地址和第一物理地址,所述第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
根据存储的逻辑地址与物理地址的映射关系,获取所述逻辑地址对应的物理地址作为第二物理地址,并根据所述第二物理地址确定所述实际物理地址的高位字节;
根据所述实际物理地址的低位字节、以及所述实际物理地址的高位字节,生成所述实际物理地址;
利用所述实际物理地址链接到对应的存储空间,对所述存储空间内存储的数据进行操作;
对当前堆存储的数据进行操作,需要调用除所述当前堆外的其他堆存储的数据时,在所述映射关系中存储默认堆的逻辑地址,以及所述默认堆的逻辑地址与其他各堆的逻辑地址的映射关系;
根据所述映射关系,利用所述默认堆的指针链接到存储有调用数据的堆,对需要调用的数据进行读取及操作。
2.如权利要求1所述的方法,其特征在于,根据所述第二物理地址确定所述实际物理地址的高位字节,包括:
确定所述第二物理地址为所述实际物理地址的高位字节;或
确定所述第二物理地址为块号,并根据所述块号确定所述实际物理地址的高位字节。
3.如权利要求1所述的方法,其特征在于,所述每个堆的存储空间均不大于64k;
所述混合地址为2字节的混合地址,包括单字节的逻辑地址和单字节的第一物理地址。
4.如权利要求3所述的方法,其特征在于,所述映射关系存储在映射表中时,获取所述逻辑地址对应的物理地址作为第二物理地址,并根据所述第二物理地址确定所述实际物理地址的高位字节,包括:
在所述映射表中,根据所述单字节的逻辑地址确定与其对应的表项的索引号;
根据所述索引号获取所述对应的表项内存储的2字节的第二物理地址,所述2字节的第二物理地址为所述实际物理地址的高位字节;或
在所述映射表中,根据所述单字节的逻辑地址确定与其对应的表项的索引号;
根据所述索引号获取所述对应的表项内存储的单字节的块号,并根据所述块号确定对应的实际物理地址的高位字节。
5.如权利要求4所述的方法,其特征在于,当所述存储器为电可擦写编程存储器EEPROM时,在接收混合地址之前,还包括将所述映射表由EEPROM导入到读写存储器RAM中。
6.如权利要求3所述的方法,其特征在于,还包括:在已转换应用CAP文件的预链接过程中,将2字节的混合地址直接写入方法method组件中。
7.如权利要求1或3所述的方法,其特征在于,对所述存储空间内存储的数据进行操作包括:
对所述存储空间内存储的数据进行读写操作;和/或
对所述存储空间内存储的数据进行查找操作。
8.一种数据操作装置,其特征在于,包括:
第一接收单元,用于对存储器的每个堆中存储的数据执行:接收输入的混合地址,所述混合地址中包括逻辑地址和第一物理地址,所述第一物理地址为当前堆中进行操作的数据的实际物理地址的低位字节;
第一确定单元,用于根据存储的逻辑地址与物理地址的映射关系,获取所述逻辑地址对应的物理地址作为第二物理地址,并根据所述第二物理地址确定所述实际物理地址的高位字节;
第一生成单元,用于根据所述实际物理地址的低位字节、以及所述实际物理地址的高位字节,生成所述实际物理地址;
第一链接单元,用于利用所述实际物理地址链接到其对应的存储空间,对所述存储空间内存储的数据进行操作;
存储单元,用于对当前堆存储的数据进行操作,需要调用除所述当前堆外的其他堆存储的数据时,在所述映射关系中存储默认堆的逻辑地址,以及所述默认堆的逻辑地址与其他各堆的逻辑地址的映射关系;
第二链接单元,用于根据所述存储单元存储的映射关系,利用所述默认堆的指针链接到存储有调用数据的堆,对需要调用的数据进行读取及操作。
9.如权利要求8所述的装置,其特征在于,所述第一确定单元具体用于:确定所述第二物理地址为所述实际物理地址的高位字节;或
确定所述第二物理地址为块号,并根据所述块号确定所述实际物理地址的高位字节。
10.如权利要求8所述的装置,其特征在于,
所述第一接收单元具体用于:在所述每个堆均不大于64k时,接收输入的2字节的混合地址,所述混合地址中包括单字节的逻辑地址和单字节的第一物理地址。
11.如权利要求10所述的装置,其特征在于,所述第一确定单元包括:
第一确定子单元,用于在存储有所述映射关系的映射表中,根据所述单字节的逻辑地址确定与其对应的表项的索引号;
第一获取子单元,用于根据所述索引号获取所述对应的表项内存储的2字节的第二物理地址,所述2字节的第二物理地址为所述实际物理地址的高位字节;
第二确定子单元,用于在存储有所述映射关系的映射表中,根据所述单字节的逻辑地址确定与其对应的表项的索引号;
第二获取子单元,用于根据所述索引号获取所述对应的表项内存储的单字节的块号,并根据所述块号确定对应的实际物理地址的高位字节。
12.如权利要求11所述的装置,其特征在于,还包括:
导入单元,用于当所述存储器为可擦写编程存储器EEPROM时,在接收混合地址之前,将所述映射表由EEPROM导入到读写存储器RAM中。
13.如权利要求10所述的装置,其特征在于,还包括:
写入单元,用于在已转换应用CAP文件的预链接过程中,将2字节的混合地址直接写入方法method组件中。
14.如权利要求8或11所述的装置,其特征在于,所述第一链接单元包括:
读写子单元,用于对所述存储空间内存储的数据进行读写操作;
查找子单元,用于对所述存储空间内存储的数据进行查找操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101029526A CN101840373B (zh) | 2010-01-28 | 2010-01-28 | 数据操作方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101029526A CN101840373B (zh) | 2010-01-28 | 2010-01-28 | 数据操作方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101840373A CN101840373A (zh) | 2010-09-22 |
CN101840373B true CN101840373B (zh) | 2012-02-22 |
Family
ID=42743755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101029526A Expired - Fee Related CN101840373B (zh) | 2010-01-28 | 2010-01-28 | 数据操作方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101840373B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10067864B2 (en) | 2013-11-27 | 2018-09-04 | Abbott Diabetes Care Inc. | Systems and methods for revising permanent ROM-based programming |
CA2967396A1 (en) | 2014-11-19 | 2016-05-26 | Abbott Diabetes Care Inc. | Systems, devices, and methods for revising or supplementing rom-based rf commands |
CN105528233B (zh) * | 2015-07-10 | 2018-09-18 | 北京中电华大电子设计有限责任公司 | 一种Java Card中用于CAP文件比较的方法及装置 |
CN105955893B (zh) * | 2016-05-05 | 2019-07-26 | 捷开通讯(深圳)有限公司 | 存储数据的写入方法、读取方法以及智能终端 |
CN107391388B (zh) * | 2016-05-17 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 一种基于即时通信进行数据存储的方法和设备 |
CN109254930B (zh) * | 2017-07-13 | 2020-06-26 | 华为技术有限公司 | 数据访问方法及装置 |
CN110597741B (zh) * | 2019-08-23 | 2021-09-10 | 苏州浪潮智能科技有限公司 | 一种l2p表的读写、更新方法及l2p表 |
CN112035379B (zh) * | 2020-09-09 | 2022-06-14 | 浙江大华技术股份有限公司 | 存储空间的使用方法、装置、存储介质以及电子装置 |
CN115017063B (zh) * | 2022-08-08 | 2022-11-08 | 北京紫光芯能科技有限公司 | 一种先进先出的数据缓存器及数据缓存系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1285549A (zh) * | 2000-10-23 | 2001-02-28 | 大唐电信科技股份有限公司微电子分公司 | 采用逻辑区间链表寻址的智能卡嵌入式软件的实现方法 |
CN1794209A (zh) * | 2006-01-17 | 2006-06-28 | 浙江大学 | Java操作系统中段页式虚拟存储系统的实现方法 |
EP1939750A1 (en) * | 2005-09-25 | 2008-07-02 | Netac Technology Co., Ltd. | Data management method in flash memory medium |
-
2010
- 2010-01-28 CN CN2010101029526A patent/CN101840373B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1285549A (zh) * | 2000-10-23 | 2001-02-28 | 大唐电信科技股份有限公司微电子分公司 | 采用逻辑区间链表寻址的智能卡嵌入式软件的实现方法 |
EP1939750A1 (en) * | 2005-09-25 | 2008-07-02 | Netac Technology Co., Ltd. | Data management method in flash memory medium |
CN1794209A (zh) * | 2006-01-17 | 2006-06-28 | 浙江大学 | Java操作系统中段页式虚拟存储系统的实现方法 |
Non-Patent Citations (1)
Title |
---|
ARM公司.ARM926EJ-S技术参考手册.《ARM926EJ-S技术参考手册》.2008,28-36. * |
Also Published As
Publication number | Publication date |
---|---|
CN101840373A (zh) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101840373B (zh) | 数据操作方法及装置 | |
CN102521145B (zh) | Java卡系统及其空间分配处理方法 | |
CN108388598A (zh) | 电子装置、数据存储方法及存储介质 | |
CN102841780B (zh) | 一种创建并调用通用组件的方法及设备 | |
CN103699585A (zh) | 文件的元数据存储以及文件恢复的方法、装置和系统 | |
CN100507921C (zh) | 一种嵌入式系统中的文字显示方法及系统 | |
CN102591787B (zh) | Java卡的数据处理方法及装置 | |
CN102110102A (zh) | 数据处理方法及装置、文件识别方法及工具 | |
CN101777061A (zh) | 一种java卡对象管理方法及java卡 | |
CN101246440B (zh) | Java卡系统垃圾回收方法 | |
CN108021621A (zh) | 数据库数据采集方法、应用服务器及计算机可读存储介质 | |
CN109597979A (zh) | 清单表格生成方法、装置、计算机设备和存储介质 | |
CN104679495A (zh) | 软件识别方法及装置 | |
CN105513115A (zh) | 将SWF转化为Canvas动画的方法和装置 | |
CN103778067A (zh) | Java卡的对象处理方法、装置和Java卡 | |
CN102436380A (zh) | 一种stk菜单处理系统及其对菜单的处理方法 | |
CN104298671A (zh) | 数据统计分析方法及装置 | |
CN102867023A (zh) | 一种栅格数据的存储、读取方法及装置 | |
CN110134398A (zh) | 表格数据的解析方法、系统及设备 | |
CN101794240A (zh) | 一种聚合数据内容的方法和系统 | |
CN114741144B (zh) | 一种web端复杂表格显示方法、装置及系统 | |
CN102799423A (zh) | Jsf中执行动态方法的方法及装置 | |
CN104978221A (zh) | 实现程序的下载删除的方法及系统 | |
CN101187926B (zh) | 一种多类型资源的管理方法 | |
CN106980685A (zh) | 数据处理方法及数据处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: BEIJING WATCHDATA Co.,Ltd. Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120222 Termination date: 20220128 |