CN100390817C - 动态逻辑分区并控制访问权限的ic智能卡及其实现方法 - Google Patents

动态逻辑分区并控制访问权限的ic智能卡及其实现方法 Download PDF

Info

Publication number
CN100390817C
CN100390817C CNB031375111A CN03137511A CN100390817C CN 100390817 C CN100390817 C CN 100390817C CN B031375111 A CNB031375111 A CN B031375111A CN 03137511 A CN03137511 A CN 03137511A CN 100390817 C CN100390817 C CN 100390817C
Authority
CN
China
Prior art keywords
memory
storer
microprocessor
dynamically
address
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 - Lifetime
Application number
CNB031375111A
Other languages
English (en)
Other versions
CN1567362A (zh
Inventor
孙东昱
龚宗跃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Microelectronics Technology Co Ltd
Original Assignee
Datang Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Microelectronics Technology Co Ltd filed Critical Datang Microelectronics Technology Co Ltd
Priority to CNB031375111A priority Critical patent/CN100390817C/zh
Publication of CN1567362A publication Critical patent/CN1567362A/zh
Application granted granted Critical
Publication of CN100390817C publication Critical patent/CN100390817C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

公开了一种具有动态划分多逻辑分区及存储器访问控制功能的IC智能卡及其实现方法。该IC智能卡包括微处理器、存储器组和串行I/O接口电路。其中存储器组采用混合存储器结构,包括可编程非易失性存储器,其中可编程非易失性存储器作为动态划分存储器,在逻辑上可划分为多个逻辑分区。在微处理器内增加存储器动态划分寄存器MAR,用于在其中动态设置可编程非易失性存储器中各逻辑分区的大小;在微处理器与存储器组之间加入存储器管理模块,用于将可编程非易失性存储器动态划分为多个逻辑分区并且进行相应的存储器访问权限控制。

Description

动态逻辑分区并控制访问权限的IC智能卡及其实现方法
技术领域
本发明涉及IC智能卡领域,特别是涉及一种能将IC智能卡中的一个物理存储器动态划分为多个逻辑分区、并且控制存储器访问权限的IC智能卡及其实现方法。
背景技术
在信息社会,人们对信息载体的安全性、可靠性、易用性等方面提出了更高的要求。具有存储、加密及数据处理能力的IC智能卡,以其严密的数据安全性,广泛的应用灵活性和强大的功能扩展性,为现代信息的处理和传递提供了一种便捷可靠的手段。
在IC智能卡芯片中常用到的存储器有随机存储器(RAM)、只读存储器(ROM)、可编程非易失性存储器(EEPROM或FLASH MEMORY)。RAM一般用于存放运算过程中的中间数据或变量,具有高速存取数据能力,但是掉电后存储的数据会丢失,而且面积较大;ROM可用于存放IC智能卡的操作系统(COS)、常数、与安全和认证相关的加密算法或其它通用应用程序,它的存储容量大、集成度高、性能稳定可靠,但数据只能读出,无法改写;EEPROM(或FLASH MOMORY)可用于存放IC智能卡的操作系统、用户数据和管理数据,能进行读写操作,面积适中,但写入速度较慢。
根据半导体存储器的存储容量、存取时间、功耗、面积和使用寿命等特性,合理分配存储器空间,采用不同的半导体存储器组合作为系统存储器具有极重要的意义,因为它对芯片的功耗,工作频率和成本等方面具有很大影响。
IC智能卡芯片的存储器分区结构有两种:一种是物理分区结构;另一种是逻辑分区结构。对于物理分区结构来说,是将几种不同的存储器(如ROM,RAM,EEPROM等)集成在一个IC卡芯片中,由控制电路统一进行管理;而对于逻辑分区结构来说,是人为规定存储器中存储单元的应用属性,以达到可控访问的目的。
传统的IC智能卡芯片由微处理器、存储器和I/O接口电路组成,一般采用ROM作为程序存储区,EEPROM(或FLASH MEMORY)作为数据存储区使用,这种存储器结构组合很适合于大批量定型产品,其成本和安全性均能得到有效保证,但它最大的缺陷是它缺乏灵活性,固化在ROM中的COS无法根据新业务需求进行修改或补充。在竞争日益激烈的今天,如何提供高质量、多样化、个性化的增值服务,成为了各服务商不懈努力的方向,而原有的芯片结构是无法满足这种需求的。因此出现了EEPROM(或FLASH MEMORY)既作为数据存储器,也作为程序存储器的IC智能卡(参见中国专利申请00136740.4),使物理地址连续完整的一个物理存储器,在逻辑上能够按照不同应用划分为不同的存储区域,各存储区域分别完成不同功能。这种划分,为服务商推出新业务提供了较强的灵活性,如电子商务动态菜单下载、增值业务空中下载等,但是这种结构的数据存储器和程序存储器等逻辑分区的划分在芯片设计完成后,其大小就无法改变,并且只能进行应用数据下载。
另一种IC智能卡存储器管理是通过在COS中增加存储器管理功能来实现的(参见公开号为WO 01/16759 A1的PCT专利申请),如图4A所示,是以软件实现存储器管理的IC智能卡的系统框图。在这种方式下,对存储器的管理完全由操作系统(OS)来完成。应用程序产生的存储器访问请求被传送到操作系统(OS),操作系统(OS)根据预先设定的访问权限来判断应用程序对存储器的访问是否合法,以判决是否产生相应的操作。
发明内容
本发明的一个目的是在硬件电路上提供一种具有动态划分多逻辑分区功能和存储器访问控制功能的IC智能卡。程序员可以根据实际需要,将IC智能卡芯片内的物理存储器动态划分为多逻辑分区,并且进行存储器访问控制管理,从而适应不同应用对存储区大小和访问权限的需求。
本发明的另一目的是提供了一种将上述IC智能卡中的一个物理存储器动态划分为多个逻辑分区、并对卡内存储器进行访问权限控制的方法。
本发明适用于具有如下体系结构的IC智能卡芯片:
●程序存储器和数据存储器分开编址;
●指令由操作码和地址码组成;
●I/O接口与存储器的数据交换通过微处理器协助完成。
依据本发明的第一个方面,提供了一种具有动态划分多逻辑分区和存储器访问控制功能的IC智能卡芯片,它包括微处理器、存储器组和串行I/O接口电路等,其中存储器组采用混合存储器结构,包括可编程非易失性存储器(如EEPROM或FLASH MEMORY)。在微处理器内增加存储器动态划分寄存器MAR(memoryallocationregister),在微处理器与存储器组之间有一个存储器管理模块。如图4B所示为改进了存储器管理的IC智能卡的系统框图。存储器动态划分寄存器MAR是程序员可访问的特殊功能寄存器,可由程序员根据需要在其中动态设置可编程非易失性存储器中各逻辑分区的大小。
存储器管理模块用于根据存储器动态划分寄存器MAR中的值,将非易失性存储器动态划分为多个逻辑分区,并控制所有微处理器访问存储器组的操作。
存储器管理模块包含以下模块:可动态划分存储器逻辑分区地址生成模块,根据MAR的值,生成可编程非易失性存储器中各逻辑分区的地址范围;
地址译码模块,在COS通过微处理器对存储器进行访问时对系统输入地址ADDR_IN进行译码;
存储器选择模块,依据由地址译码模块译码后产生的地址选择微处理器访问的存储器;
指令译码模块,对微处理器内指令寄存器中存储的指令进行译码从而判断操作类型;
读写权限控制模块,根据PC指针和存储器访问权限决定是否能对存储器选择模块选取的存储器进行读写操作;
存储器接口控制信号生成模块,依据是否对存储器选择模块所选取的存储器进行读/写操作和指令操作类型的判断结果,如果可以对所选存储器进行访问操作,则产生相应的存储器控制信号,如果禁止进行操作,即使微处理器产生了存储器访问控制信号,也将会被存储器管理模块屏蔽,不进行读写操作,从而硬件实现了在一个物理存储器内动态划分多逻辑分区及存储器访问权限控制。
依据本发明的另一方面,还提供了一种将上述IC智能卡中的一个物理存储器动态划分为多个逻辑分区,并对卡内存储器进行访问权限控制的方法。该方法包含以下步骤:在微处理器内增加存储器动态划分寄存器MAR,在其中设置可编程非易失性存储器中各逻辑分区的大小;根据存储器动态划分寄存器MAR中的值,生成可动态划分存储器中各逻辑分区的地址范围,根据地址划分界限将可动态划分存储器划分成不同逻辑分区;根据逻辑分区结果,对CPU当前工作状态进行判断,完成对各个存储器模块的访问权限控制。
其中所述完成对各个存储器模块的访问权限控制的步骤包括:在COS通过微处理器对存储器进行访问时,微处理器将产生系统地址信号ADDR_IN、以及存储器访问控制信号,如果是写入操作,数据总线上还将加载欲写入数据信息;对系统输入地址ADDR_IN进行译码;依据译码后产生的地址选择微处理器访问的存储器;对微处理器内指令寄存器中存储的指令进行译码从而判断操作类型;根据PC指针和存储器访问权限决定是否能对存储器选择模块选取的存储器进行读写操作;依据上述判断结果,如果可以对所选存储器进行访问操作,则产生相应的存储器控制信号,如果禁止进行操作,即使微处理器产生了存储器访问控制信号,也将会被存储器管理模块屏蔽,不进行读写操作,从而实现了在一个物理存储器内动态划分多逻辑分区及存储器访问权限控制。
在微处理器和存储器组之间设置存储器管理模块,由其控制微处理器对存储器组的所有操作,并且该存储器管理模块和存储器动态划分寄存器MAR结合后,可以动态调整EEPROM等非易失性存储器中数据存储区和程序存储区两个分区的大小。逻辑分区动态调整后,可以满足不同应用对存储区大小的需求,或是通过修改EEPROM等非易失性存储器中程序存储区的代码,即可增加新的应用或对固化在ROM中的程序进行修正,不会因为应用的不同,而必须重新进行芯片设计和芯片制造,节省了开发时间与成本,为基于智能卡的增值业务的升级和扩展提供了高效、灵活的硬件平台。
附图说明
图1为动态逻辑分区并控制访问权限的IC智能卡芯片逻辑框图;
图2为存储器动态划分寄存器示意图;
图3为存储器管理模块逻辑结构框图;
图4A为现有技术中以软件实现存储器管理的IC智能卡的系统框图,图4B为依据本发明改进了存储器管理的IC智能卡系统框图;
图5为存储器动态划分和访问控制流程图
图6为一个物理存储器逻辑划分前后的存储区分布图;
图7为IC智能卡芯片内的存储器空间分布图;
图8为ROM存储器访问控制流程图;
图9为RAM存储器访问控制流程图;
图10为EEPROM存储器动态划分及访问控制流程图;
图11为IC智能卡芯片内存储器空间动态划分后的存储区分布图。
具体实施方式
下面将结合附图对本发明的具体实施方式进行进一步的详细说明。
以INTEL 8051兼容微处理器为例,介绍本发明的具体实现。对于本领域技术人员来说显然本发明也可以适用于其它类型的微处理器。
图1所示为本发明采用的在一个物理存储器内动态划分多逻辑分区并实现存储器访问控制的IC智能卡芯片框图,该IC智能卡芯片由微处理器1及其外围电路2组成,外围电路2包括存储器组3,存储器管理模块4和串行I/O接口电路8。
该IC智能卡芯片内采用混合存储器结构,存储器组3包括EEPROM存储器5、ROM存储器6和RAM存储器7。其中ROM存储器6作为程序存储器,RAM存储器7作为数据存储器,而EEPROM存储器5在逻辑上划分为两部分:一部分作数据存储区,另一部分作程序存储区。
此处所说的EEPROM存储器5和ROM存储器6也可用其它非易失存储器代替。
本发明是通过在芯片微处理器1中增加存储器动态划分寄存器MAR,并在微处理器1与存储器组3之间加入存储器管理模块4,来实现在一个物理存储器内动态划分多逻辑分区以及对存储器组3的访问权限进行控制的。
在图2中显示了存储器动态划分寄存器MAR的示意图,为8比特字节。它是一个特殊功能寄存器,可由程序员根据需要对其进行设置。在IC智能卡上电复位后,由COS对存储器动态划分寄存器MAR赋值,如果不进行赋值,则缺省情况下MAR为全0。
可以根据应用特点,选取存储器动态划分寄存器8位中的n位(1≤n≤8)来决定划分的颗粒度:
Figure C0313751100111
例如存储器可动态划分区间容量为31K,取n=5,则存储器划分的颗粒度,即划分的最小区间为1K。
存储器管理模块4位于微处理器1与存储器组3之间,微处理器1访问存储器组3的所有操作均受其控制。存储器管理模块4和存储器动态划分寄存器MAR结合,可以动态调整EEPROM存储器5中数据存储区和程序存储区两个分区的大小,满足不同应用对存储区大小的需求。
图3为存储器管理模块4的结构框图,它由可动态划分存储器逻辑分区地址生成模块31、地址译码模块32、存储器选择模块33、读写权限控制模块34、指令译码模块35、及存储器接口控制信号生成模块36、37、38组成。
现将图3中的各个信号说明如下:
其中输入信号为:
ADDR_IN:系统地址信号,标识微处理器访问的存储器地址
PC指针:程序指针寄存器输入,标识当前程序执行的位置
MAR输入:存储器动态划分寄存器输入,用于存储器多逻辑分区地址生成
IR输入:指令寄存器输入,标识当前执行的操作
ALE:系统地址锁存信号
PSEN:程序存储器访问选通信号
RD:数据存储器读信号
WR:数据存储器写信号
输出信号为:
可编程非易失存储器EEPROM读写控制信号:控制对EEPROM进行读写操作
只读存储器ROM读控制信号:控制对ROM进行读操作
随机存储器RAM读写控制信号:控制对RAM进行读写操作
存储器动态划分是由程序员通过系统命令修改存储器动态划分寄存器MAR的值来实现的,存储器管理模块4中可动态划分存储器逻辑分区地址生成模块31根据MAR值生成可编程非易失性存储器5中各逻辑分区的地址范围,方法为:MAR中的n位有效值与地址信号组合形成新的地址信号,例如将MAR中的低5位与地址信号ADDR[15],ADDR[9...0]组合,形成′1′&MAR[4...0]&″0000000000″地址划分界限,高于此地址划分界限的存储区域设定为程序存储区,低于此地址划分界限的存储区域设定为数据存储区,当MAR的值变化后,逻辑分区的地址范围也会相应变动,从而在可编程非易失性存储器5中形成32种可选划分方案,实现了存储器动态划分。
在INTEL 8051兼容微处理器指令系统中,MOVC和MOVX指令将控制微处理器1对存储器组3进行访问操作,存储器管理模块4就是要对MOVC和M0VX指令,以及程序取指令操作进行控制。
当COS通过微处理器1对存储器组3进行访问时,微处理器1将产生系统地址信号ADDR_IN,存储器访问控制信号ALE,PSEN,RD和WR,如果进行写入操作,数据总线上还会加载欲写入数据信息。
系统输入地址ADDR_IN通过存储器管理模块4中的地址译码模块32译码,并结合可动态划分存储器逻辑分区地址生成模块31生成的逻辑分区地址,来选择微处理器1将访问的存储器,同时微处理器内IR寄存器存储的指令经指令译码模块35译码判断操作类型,由读写权限控制模块34根据PC指针和存储器访问权限决定是否对存储器选择模块33选取的存储器进行读写操作,其中PC指针用于判断程序目前在存储器中所处位置,如是合法的访问操作,则由存储器接口控制信号生成模块36、37、38产生相应的存储器读写控制信号;如果禁止进行操作,即使微处理器1产生了存储器访问控制信号,也将会被存储器管理模块4屏蔽,无法进行读写操作。
存储器动态划分和访问控制的流程如图5所示。
在图6中显示了EEPROM 5在逻辑划分前后的存储区分布。EEPROM 5可以划分为两个或两个以上的逻辑分区,其划分前如图6左侧所示,其中逻辑分区61用作存储IC智能卡COS的程序存储区;逻辑分区63用作存储用户数据的数据存储区;第三个分区62作为程序/数据动态划分区。EEPROM存储器5的一种划分结果如图6右侧所示,程序存储区64包括逻辑分区61全部和逻辑分区62中划分为程序存储区的部分;数据存储区65包括逻辑分区63全部和逻辑分区62中划分为数据存储区的部分。
在软件升级和新业务增加时,可以通过设置存储器动态划分寄存器MAR的内容调整EEPROM 5的逻辑划分,重新分配EEPROM 5中程序存储器和数据存储器的容量。例如把空闲的部分数据存储区转变为程序存储区使用,以增加新的应用,或通过修改EEPROM存储器5中程序存储区的代码,对固化在ROM中的程序进行修正,或反之,把空闲的程序存储区转变为数据存储区使用,以提供更大的用户存储空间,不会因为应用略有不同,而必须重新进行芯片设计。
为了方便程序员编程,保证程序存储区或数据存储区的起始地址都从0000H开始,存储器管理模块4还要对逻辑地址进行变换,以映射到物理存储器的不同物理地址,从而可以根据应用把物理地址连续完整的一个物理存储器划分为大小可灵活调整的多逻辑分区。
以图7所示的存储器划分结构为例,假如32K ROM存储器74作为程序存储器,1K RAM存储器72作为数据存储器,64K EEPROM存储器76(逻辑上由EEPROM存储器71,73,75组成)动态划分为程序存储器和数据存储器。可以设定存储器读写控制权限参见表1:
表1
表1所示存储器读写控制权限表仅为示例,可以根据需要设置为其它权限。
下面举例说明如何实现动态划分多逻辑分区以及存储器访问控制权限。
如图7所示,32K ROM存储器74作为程序存储器,1K RAM存储器72作为数据存储器,64K EEPROM存储器76分为3个区,其中1K EEPROM存储器71固定作为程序存储器,位于程序区高端,地址范围为:FC00H-FFFFH,32K EEPROM存储器75固定作为数据存储器,位于数据区低端,地址范围为:0000H-7FFFH,31KEEPROM存储器73作为程序/数据可动态划分存储器,为了保证数据区连续,其低端作为数据存储器,高端作为程序存储器,划分界限由存储器动态划分寄存器MAR决定。
假设存储器动态划分寄存器MAR有效位设为5位(在设计阶段确定),则划分的最小区间为1K,由存储器动态划分寄存器MAR的低5位决定程序存储区的起始地址,共32种选择。如要调整存储器划分区间,可以通过改变存储器动态划分寄存器MAR的值完成。
现假设存储器动态划分寄存器MAR设为10000,从而把31K EEPROM存储器73划分为两个区间:从8000H-BFFFH为数据存储区,C000H-FBFFH为程序存储区,存储器空间动态划分后分布图如图11所示:
程序存储区为48K,地址范围为:32K ROM存储器113(0000H-7FFFH),16KEEPROM存储器111和115(C000H-FFFFH);
数据存储区为49K,地址范围为:48K EEPROM存储器114和116(0000H-BFFFH),1K RAM存储器112(FC00H-FFFFH)。
根据读写控制权限表1,当程序运行于ROM存储器113时,可对ROM存储器113和EEPROM存储器111,115程序区进行MOVC读操作,对1K RAM存储器112和EEPROM存储器114,116数据区进行MOVX读写操作;当程序运行于EEPROM存储器固定划分程序区111时,可读EEPROM存储器111,115的内容,禁止读ROM存储器113,对1K RAM存储器112和EEPROM存储器114,116数据区仍可进行MOVX读写操作;当程序运行于EEPROM存储器动态划分程序区115时,可读EEPROM存储器动态划分程序区115的内容,对EEPROM存储器动态划分数据区116可进行MOVX读写操作,禁止访问其它存储区。
以上的EEPROM动态划分多逻辑分区仅仅是作为例子给出的,也可以采用其它的划分方案,例如:
如果存储器分配寄存器信号MAR设为00000时,31K动态划分区间73全部作为程序存储区,EEPROM存储器76动态划分后的分区情况为:
程序存储区为32K,地址范围为:8000H~FFFFH
数据存储区为32K,地址范围为:0000H~7FFFH
如果存储器分配寄存器信号MAR设为00011时,31K动态划分区间73中3K空间作为数据存储区,其它28K空间作为程序存储区,EEPROM存储器76动态划分后的分区情况为:
程序存储区为29K,地址范围为:8400H~FFFFH
数据存储区为3K,地址范围为:8000H~83FFH
上述各个存储器的读写信号可通过以下方法产生:
参照图8ROM存储器访问控制流程图,32K ROM存储器74的操作如下:
当系统地址ADDR_IN[15]=′0′,PC指针PC[15]=′O′时,通过读写权限控制模块32可知道程序位于ROM存储器74,如此时IR输入经指令译码模块35判断为MOVX指令,经读写权限控制模块34判决,属于非法操作,ROM存储器74控制信号无效;否则ROM存储器74时钟信号由ALE信号产生,进行取指令操作或MOVC指令操作。
其它情况,ROM存储器74时钟信号无效。
ROM存储器74片选信号由上述时钟信号生成。
参照图9RAM存储器访问控制流程图,1K RAM存储器72的操作如下:
如果系统地址ADDR_IN[15...10]=″111111″,通过地址译码模块32,选择RAM存储器72,如此时IR输入是MOVX指令,且指令运行于ROM区或EEPROM固定程序区(由PC指针判定),则经指令译码模块35和读写权限控制模块34判决,存储器读写信号分别由数据存储器读信号RD和写信号WR产生;否则读写控制信号无效。
参照图10 EEPROM存储器动态划分及访问控制流程图,64K EEPROM存储器76的操作如下:
如前所述,假定逻辑分区75固定划分为32K,逻辑分区71固定划分为1K,逻辑分区73为31K可动态划分区间。现取n=5,划分的颗粒度为1K。
可动态划分存储器逻辑分区地址生成模块31划分的逻辑分区为:
如果″FBFF″≥ADDR_IN[15...0]≥′1′&MAR[4...0]&″0000000000″,则对应空间为动态划分程序存储区115;
如果″7FFF″<ADDR_IN[15...0]<′1′&MAR[4...0]&″0000000000″,则对应空间为动态划分数据存储区116;
当系统地址ADDR_IN经地址译码模块32判定为数据存储区114或动态划分数据存储区116地址后,且IR输入经指令译码模块35发现是MOVX指令时:
●当指令运行于ROM区113或EEPROM固定程序区111时(由PC指针判定),经读写权限控制模块34判决,EEPROM存储器76片选信号有效,读写信号分别由数据存储器读信号RD和写信号WR产生;
●当指令运行于EEPROM动态划分程序存储区115(由PC指针判定),则只有对动态划分数据存储区116进行读写操作时,EEPROM存储器76片选信号有效,读写信号分别由数据存储器读信号RD和写信号WR产生,对数据存储区114禁止进行操作。
当系统地址线ADDR_IN经地址译码模块32判定为固定程序存储区111地址,IR输入经指令译码模块35发现是MOVX指令,经读写权限控制模块34判决,EEPROM存储器76所有控制信号无效;如IR输入经指令译码模块35发现是MOVC指令且程序运行于ROM区113或EEPROM固定程序区111,或者进行加载指令操作,经读写权限控制模块34判决,EEPROM存储器76片选信号有效,读信号由地址锁存信号ALE产生,写信号无效。
当系统地址线ADDR_IN经地址译码模块32判定为动态划分程序存储区115地址,IR输入经指令译码模块35发现是MOVX指令,经读写权限控制模块34判决,EEPROM存储器76所有控制信号无效;如IR输入经指令译码模块35发现是MOVC指令,或者进行加载指令操作,经读写权限控制模块34判决,EEPROM存储器76片选信号有效,读信号由地址锁存信号ALE产生,写信号无效。
这样通过动态设置存储器动态划分寄存器MAR的值,并结合存储器管理模块4,可以动态调整非易失性存储器中各个逻辑分区的大小,以适应不同应用对存储区大小的需求;另外,修改非易失性存储器中程序存储区的代码,即可增加新的应用或是对固化在ROM中的程序进行修正,不会因为应用略有不同而必须重新进行芯片设计和芯片制造,从而节省了开发时间与成本,为基于智能卡的增值业务的升级和扩展提供了高效、灵活的硬件平台。
以上结合本发明的一种实施方式对本发明的实现原理进行了说明,并不用于限制本发明,本发明的保护范围由附加的权利要求进行限定。对本领域普通技术人员来说,可以在不背离本发明保护范围的情况下对上述实施方式进行各种变化和修改,这些都在本发明的保护范围之内。

Claims (13)

1.一种动态逻辑分区并控制访问权限的IC智能卡芯片,包括微处理器、存储器组和串行I/O接口电路,其中存储器组中包括可编程非易失性存储器,其特征在于:
所述微处理器包括一个存储器动态划分寄存器MAR,用于在其中设置可编程非易失性存储器中各逻辑分区的大小;
在微处理器与存储器组之间有一个存储器管理模块,用于根据存储器动态划分寄存器MAR中的值,将可编程非易失性存储器动态划分为多个逻辑分区,并控制所有微处理器访问存储器组的操作。
2.如权利要求1所述的IC智能卡芯片,其特征在于:所述的存储器管理模块包括:
可动态划分存储器逻辑分区地址生成模块,用于根据存储器动态划分寄存器MAR的值生成可动态划分存储器中各逻辑分区的地址;
地址译码模块,用于在IC智能卡操作系统通过微处理器对存储器进行访问时对系统输入地址进行译码,完成地址映射;
存储器选择模块,用于根据地址译码模块译码后产生的映射地址,选择微处理器要访问的存储器。
3.如权利要求1或2所述的IC智能卡芯片,其特征在于所述的存储器管理模块还包括:
读/写权限控制模块,用于根据PC指针和存储器访问权限决定是否对存储器选择模块所选取的存储器进行读/写操作;
指令译码模块,用于对微处理器内指令寄存器IR进行译码,以判断指令操作的类型;以及
存储器接口控制模块,用于依据是否对存储器选择模块所选取的存储器进行读/写操作和指令操作类型的判断结果,如果可以对所选存储器进行访问操作,则产生相应的存储器控制信号,如果禁止进行操作,则不进行读写操作。
4.如权利要求1或2所述的IC智能卡芯片,其特征在于:所述的微处理器是INTEL8051兼容微处理器。
5.一种在IC智能卡芯片内实现动态划分多逻辑分区和存储器访问权限控制的方法,该IC智能卡包括微处理器、存储器组和串行I/O接口电路,所述微处理器包括一个设置有初始值的存储器动态划分寄存器MAR,所述存储器组包括可编程非易失性存储器,其特征在于所述方法包括以下步骤:
修改所述存储器动态划分寄存器MAR的所述初始值,以便设置所述可编程非易失性存储器中各逻辑分区的大小;
根据所述存储器动态划分寄存器MAR的值,生成可动态划分存储器中各逻辑分区的地址范围,并根据地址划分界限将可动态划分存储器划分成不同的逻辑分区;
根据逻辑分区结果,对CPU当前工作状态进行判断,完成对各个存储器模块的访问权限控制。
6.如权利要求5所述的方法,其特征在于所述完成对各个存储器模块的访问权限控制的步骤进一步包括:
在IC智能卡操作系统通过微处理器对存储器进行访问时,由微处理器产生系统地址信号,以及存储器访问控制信号,如果是写入操作,数据总线上还将加载欲写入的数据信息;
对系统输入地址进行译码;
依据译码后产生的映射地址选择微处理器要访问的存储器;
对微处理器内指令寄存器中存储的指令进行译码从而判断操作类型;
根据PC指针和存储器访问权限确定是否能对存储器选择模块选取的存储器进行读/写操作;
依据上述判断结果,如果可以对所选存储器进行访问操作,则产生相应的存储器控制信号,如果禁止进行操作,则不进行读写操作。
7.如权利要求5所述的方法,其特征在于:所述的可编程非易失存储器可以被划分为程序存储区和数据存储区。
8.如权利要求5所述的方法,其特征在于:所述的微处理器是INTEL8051兼容微处理器。
9.如权利要求8所述的方法,其特征在于:对MOVC和MOVX指令以及程序取指令操作进行控制。
10.如权利要求5所述的方法,其特征在于:可以根据应用的特点,选取所述存储器动态划分寄存器MAR中的N位来决定划分的颗粒度。
11.如权利要求5所述的方法,其特征在于:所述的可动态划分存储器中各逻辑分区的地址范围的生成方法为:将所述存储器动态划分寄存器MAR中的N位有效值与地址信号组合形成逻辑分区划分界限,此划分界限决定逻辑分区的地址范围,当寄存器中的值变化后,各逻辑分区的地址范围会相应变动。
12.如权利要求5或6所述的方法,其特征在于:所述的存储器访问权限控制是指在程序运行时,根据设定的读写控制权限,控制程序能否访问存储器组。
13.如权利要求5所述的方法,其特征在于所述的可动态划分存储器可以划分为两个或两个以上的逻辑分区。
CNB031375111A 2003-06-10 2003-06-10 动态逻辑分区并控制访问权限的ic智能卡及其实现方法 Expired - Lifetime CN100390817C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031375111A CN100390817C (zh) 2003-06-10 2003-06-10 动态逻辑分区并控制访问权限的ic智能卡及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031375111A CN100390817C (zh) 2003-06-10 2003-06-10 动态逻辑分区并控制访问权限的ic智能卡及其实现方法

Publications (2)

Publication Number Publication Date
CN1567362A CN1567362A (zh) 2005-01-19
CN100390817C true CN100390817C (zh) 2008-05-28

Family

ID=34470444

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031375111A Expired - Lifetime CN100390817C (zh) 2003-06-10 2003-06-10 动态逻辑分区并控制访问权限的ic智能卡及其实现方法

Country Status (1)

Country Link
CN (1) CN100390817C (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
CN100338589C (zh) * 2005-07-29 2007-09-19 大唐微电子技术有限公司 对存储器逻辑分区访问权限进行控制的方法和ic卡
CN100440172C (zh) * 2006-03-29 2008-12-03 群联电子股份有限公司 闪存及其使用方法
US8028166B2 (en) 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US7539890B2 (en) 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
CN101640883B (zh) * 2008-07-29 2012-07-04 中国移动通信集团公司 一种用户卡存储器空间管理方法、系统及装置
EP2535846A4 (en) * 2010-02-10 2013-04-17 Huawei Device Co Ltd METHOD AND APPARATUS FOR PARTITIONING AN SD CARD, SD CARD AND TERMINAL DEVICES
CN103164731A (zh) * 2011-12-12 2013-06-19 国民技术股份有限公司 一种数据卡的访问控制方法及数据卡
WO2014059578A1 (zh) * 2012-10-15 2014-04-24 华为终端有限公司 嵌入式多媒体卡分区存储空间调整方法和终端
CN102969026B (zh) * 2012-10-25 2015-09-30 北京奇虎科技有限公司 基于数据处理系统的移动存储设备检测方法和装置
US9639476B2 (en) * 2013-09-26 2017-05-02 Cavium, Inc. Merged TLB structure for multiple sequential address translations
US9645941B2 (en) 2013-09-26 2017-05-09 Cavium, Inc. Collapsed address translation with multiple page sizes
CN103679062B (zh) * 2013-12-23 2017-02-08 上海贝岭股份有限公司 智能电表主控芯片和安全加密方法
US20190258812A1 (en) * 2018-02-20 2019-08-22 Sensata Technologies, Inc. Memory security for automotive functional safety compliance with independent downstream processes
CN109697174B (zh) * 2018-12-14 2023-06-23 中国航空工业集团公司西安航空计算技术研究所 一种机载计算机存储系统敏感分区防护方法
CN110058815B (zh) * 2019-03-26 2022-04-22 广东安朴电力技术有限公司 一种控制系统及其数据动态分区储存与检索方法
CN112596678B (zh) * 2020-12-24 2024-01-16 得一微电子股份有限公司 一种存储设备及其固件设置方法、重新分区方法
CN112732308A (zh) * 2020-12-31 2021-04-30 广州万协通信息技术有限公司 一种模块细粒度化的固件升级方法、设备及存储介质
CN113055025B (zh) * 2021-03-12 2022-11-22 上海大学 可重构的极化码与低密度奇偶校验码译码器
CN113111017A (zh) * 2021-03-24 2021-07-13 联想(北京)有限公司 一种信息处理方法和电子设备
CN113311997B (zh) * 2021-05-28 2024-03-08 上海阵量智能科技有限公司 一种存储器选择方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000036021A (ja) * 1998-07-16 2000-02-02 Sony Corp データ記憶装置およびデータ記憶方法
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
JP2001306384A (ja) * 2000-04-26 2001-11-02 Dainippon Printing Co Ltd 情報記憶領域の管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
JP2000036021A (ja) * 1998-07-16 2000-02-02 Sony Corp データ記憶装置およびデータ記憶方法
JP2001306384A (ja) * 2000-04-26 2001-11-02 Dainippon Printing Co Ltd 情報記憶領域の管理方法

Also Published As

Publication number Publication date
CN1567362A (zh) 2005-01-19

Similar Documents

Publication Publication Date Title
CN100390817C (zh) 动态逻辑分区并控制访问权限的ic智能卡及其实现方法
US9465753B2 (en) Memory management unit that applies rules based on privilege identifier
CN101095122A (zh) 具有存储保护单元的数据处理设备
CN112602060A (zh) 计算机处理器中的虚拟机寄存器
US20040177266A1 (en) Data processing system with peripheral access protection and method therefor
CN103383667A (zh) 存储器保护电路、处理单元和存储器保护方法
CN112639779A (zh) 用于存储器地址从对象特定虚拟地址空间转换成物理地址空间的安全性配置
CN112639732A (zh) 基于超管理器的存在的计算机处理器的动态配置
US20040230801A1 (en) Data processing device and method and program of same
CN100424659C (zh) 用基于物理地址的安全配置确定对象安全的方法及装置
US6868505B2 (en) Memory exchange
WO2015008112A1 (en) System on chip and method therefor
US7664953B2 (en) Data processing device, method of same, and program of same
WO2004109754A2 (en) Method and apparatus for multi-mode operation in a semiconductor circuit
JPH0916462A (ja) データ処理装置および処理方法
JP2004005679A (ja) コンピュータシステム、メモリ構造、および、プログラムを実行する方法
GB2356469A (en) Portable data carrier memory management system and method
JP3771904B2 (ja) 補助レジスタバンクを有するマイクロプロセッサ回路
US20080184258A1 (en) Data processing system
US20060129710A1 (en) Programmable transaction initiator architecture for systems with secure and non-secure modes
CN109783145B (zh) 一种创建基于多映像的多功能嵌入式系统的方法
US20080155188A1 (en) Memory area protection circuit
US20210232327A1 (en) Memory access
US20020016890A1 (en) Secured microprocessor comprising a system for allocating rights to libraries
US8402410B2 (en) Method and apparatus for managing configuration memory of reconfigurable hardware

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180208

Address after: 300100 middle grain square, 990 South Road, Nankai District, Tianjin, room 25, room 2502

Patentee after: Xinjin Leasing (Tianjin) Co.,Ltd.

Address before: 100083 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee before: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201020

Address after: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Patentee after: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: 300100 middle grain square, 990 South Road, Nankai District, Tianjin, room 25, room 2502

Patentee before: Xinjin Leasing (Tianjin) Co.,Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080528