用于对eeprom页面进行编程和校验的方法和装置的制作方法

xiaoxiao2020-8-1  11

专利名称:用于对eeprom页面进行编程和校验的方法和装置的制作方法
技术领域
本发明涉及一种用于对EEPROM页面进行编程和校验的方法和装置以及相应的计算机软件产品和相应的计算机可读存储介质,特别用于提高将大量的数据或代码编程到EEPROM中的速度,如当智能卡被个人化时发生的。
背景技术
七十年代微电子的发展使制造信用卡格式的无用户接口的微型计算机成为可能。这种计算机称为智能卡。在智能卡中,可将数据存储器和算术和逻辑单元集成在单独一个芯片中,该芯片的尺寸为几平方毫米。智能卡特别可用作电话卡和GSM SIM卡以及用于银行和卫生保健领域。智能卡因此已经成为我们随处可见的计算平台。
智能卡目前主要作为用于保存机密数据的安全可靠的地方和作为用于执行密码运算的安全可靠的平台。数据和运算在卡中被认为具有相对高的安全性和可靠性的原因在于该卡的硬件结构和与外界的接口。从外看,智能卡看起来像一个“黑匣子”,它的功能(function)只可以通过明确定义的硬件和软件接口来读写,该卡能强制遵循特定的安全原则。一方面,对数据的读写可与特定的环境相联系。例如在公共密钥处理过程中的密钥,从外部对关键数据的读写甚至可以完全被禁止。另一方面,在从外部不可能观察到智能卡的单独操作的执行的情况下,智能卡可执行运算。这些运算自身在卡中被保护,以防止被改变或读出。在定向目标判断中,智能卡可被认为作为一种抽象数据,该数据具有明确定义的接口,该接口可以特定的方式运行,且自身可保证根据其状态观察到特定的综合条件。
基本上,存在有两种不同类型的智能卡。存储卡简单的具有串行接口、寻址电路、安全逻辑电路、ROM和EEPROM存储器。这种卡只执行有限的功能(function),并用于特定的应用。这是为何其制造成本低廉的原因。以微处理器卡的形式制造的智能卡主要包括完整的通用计算机。
制造和供应芯片卡的过程可分为以下几个阶段芯片的制造,芯片的嵌入,该卡的印刷,该卡的个人化,该卡的发行。
该过程的各阶段通常都由一对特定操作专研的公司完成。当该芯片在制造时,必须小心确保固件(firm)内部具有良好安全性,特别是当涉及的卡具有硬件布线安全逻辑电路时。为了使制造商执行合适的最终测试,整个存储器必须可完全自由读写。只有在最终测试完成后,芯片通过传输编码的手段被保护。因此,只有对那些知道传输编码的授权主体才能对卡的存储器进行读写。因此,没有必要偷取新牌子的芯片。授权主体可以是卡个人化者或发行人。在嵌入和印刷操作中不需要其它保护措施。涉及的公司没有必要知道传输编码。
通常不是卡的制造商而是发行人(如银行、电话公司、私人或公共卫生保健单位等)向卡中输入个人数据。该操作作为个人化被执行,需要知道传输编码。
该卡的发行,即从发行人到卡的持有者,造成另一个安全问题。严格起见,对卡的个人持有者的卡的发行必须要返回一个签名和身份证的复印件或其他安全的个人识别。通过邮寄发出通常虽然比较便宜,但不是很安全。其他问题是通知卡持有者的PIN号码,此时必须像对卡一样小心。
由于智能卡控制器的存储器中保存的相关信息的潜在安全危险,因此除了需要采取上述的安全保护措施,还需要提供其它防止黑客的可能行为的保护措施,这些措施可以伴随从智能卡的制造到其流动的各个阶段,并用于已经不可用的卡的处理。
当将大量的数据/编码编程到EEPROM中时(如在个人化过程中),一方面通过SFR总线传输数据,另一方面在数据已经写入EPPROM中每一页面被编程之后需要校验,因此浪费了相对大量的时间。
迄今为止,当如个人化EEPROM时,必须通过软件方式执行各个步骤(RAM的读出、向EEPROM页面寄存器写入页面、从EEPROM中读出编程字节、与从RAM得到的期望值相比较),其意味着用于写入页面寄存器和验证编程页面的时间的绝大部分需要用于总线传输和寄存器指令。
例如,当以用户编码个人化EEPROM时,发现被写入的存储器的大面积区域存在缺陷,对于编程EEPROM的每个页面所花费的时间来说,其无论如何也增加了需要上载页面寄存器和校验编程的页面所必须的附加的时间。
已知有很多种用于在EEPROM、ROM和RAM之间传输数据的方法。
US专利5802268中披露了一种对具有连接有ROM、RAM和EEPROM存储器的控制器执行数据存取的装置。
US专利5778440描述了一种用于校验编程到EEPROM中的数据的装置。其仅与EEPROM存储器自身的控制逻辑相关,因此只与由其页面寄存器形成的存储器、存储矩阵和编程/校验逻辑的元件相关。由此,仅是描述用于EEPROM的校验逻辑,而不是描述传输尤其也涉及RAM的数据的特定方法。
德国专利DF4344379A1涉及一种对设置在微处理器电路中的EPROM模块编程的方法,该模块的存储容量的一部分用作微处理器的程序存储器,其通过总线连接到EEPROM模块,EPROM模块的空闲存储容量用于从微处理器直接到EPROM模块的直接传输的数据,和沿通过停止微处理器的定时而在整个编程操作期间被冻结的地址和数据总线传输数据的数据传输。
因此,这里所出现的仅是用于以控制器结构编程EEPROM的装置。

发明内容
本发明的目的在于提供一种通用的方法、装置和相应的计算机软件产品以及相应的计算机可读的存储介质,其可以克服传统产生过程的缺点,并且可以使以尽可能短的时间执行将数据从RAM写入EEPROM的页面寄存器,以及编程操作之后自动校验成为可能。同时,EEPROM接口中所需要的硬件最小。
根据本发明,该目的由权利要求1、10、12和13的特征部分的特征以及前序部分中的特征的组合实现。本发明的优选实施方式在从属权利要求中被详细描述。
编程和校验EEPROM页面的方法的一个特别的优点在于在第一步骤中,预置长度的数据字被从RAM中读取出来,并写入到页面寄存器中,在第二步骤中,执行用于这些数据字的编程操作,以及在第三步骤中,数据字被再次从RAM中读取出来,和编程的数据字被从EEPROM中读取出来并校验,步骤一到三被反复执行,直到EEPROM的编程完成。
用于编程和校验EEPROM页面的装置被有利的设置为其具有以下述方式设定的处理器EEPROM页面的编程和校验可以以下述步骤执行在第一步骤中,从RAM中读取预置长度的数据字,并将其写入到页面寄存器中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM中读取数据字,和从EEPROM读取编程的数据字并校验他们,步骤一到三被反复执行,直到EEPROM的编程完成。
用于编程和校验EEPROM页面的计算机软件产品具有计算机可读存储介质,其上存储以下程序当它被装载到计算机或智能卡控制器中的存储器时,可以以以下步骤执行EEPROM页面的编程和校验在第一步骤中,从RAM中读取预置长度的数据字,并将其写入到页面寄存器中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM中读取数据字,和从EEPROM读取编程的数据字并校验他们,步骤一到三反复执行,直到EEPROM的编程完成。
为了执行EEPROM页面的编程和校验,有利地使用了计算机可读存储介质,其上存储有当其被装载到计算机或智能卡控制器的存储器中时以下述步骤执行EEPROM页面的编程和校验的程序在第一步骤中,从RAM中读取预置长度的数据字,并将其写入到页面寄存器中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM中读取数据字,和从EEPROM读取编程的数据字并校验他们,步骤一到三反复执行,直到EEPROM的编程完成。其特别有利于以编程和校验单元电路装置(PVU)执行作为硬件功能的编程/校验功能和从而代替将必需的程序部分。
在根据本发明的方法中,在编程和校验操作的循环过程中,有利地提供给EEPROM接口对RAM、地址控制寄存器和数据字长度寄存器的直接存储器存取。
已经证明,RAM地址数据最好在编程和校验操作循环开始之前载入到PVU的起始地址SFR7,并且,编程和校验序列最好通过通告PVU的控制/状态SFR开始。
在根据本发明方法的优选实施方式中,对RAM中的数据字的起始地址做了规定,其在第一步骤中读取,以由编程和校验单元的SFR定义。根据本发明方法的另一优选实施方式为其中在第二步骤中要被编程在EEPROM中的数据字的起始地址由EADRX SFR定义的一个实施方式。在对EEPROM页面编程和校验的方法中,已经证明,在第一步骤中要被读取的数据字的预置长度最好由PVU的控制/状态SFR6确定。并且已经发现,编程数据字的校验最好由PVU的控制/状态SFR执行。
根据本发明的方法的另一优点在于编程数据字的校验一个字接一个字的发生。并且已经发现RAM接口最好具有优先逻辑,其检验,并且如果必要,延迟或拒绝编程和校验操作循环期间CPU对RAM的存取。
同样,根据本发明的方法的优选实施方式规定了处理器为智能卡控制器的一部分,并且该装置为智能卡。
本发明涉及一种装置,其与数据存储器(RAM)一体形成,EEPROM的页面寄存器作为装置的一部分被从RAM装载,为此引入作为RAM和EEPROM之间的发明的主要部分的EEPROM逻辑控制下的DMA(直接存储器存取)连接,从而使得即使从RAM中得到的很多倍超出于EEPROM页面寄存器的存储容量的大量的数据块也可以在EEPROM逻辑的控制下被编程和校验。由此,本发明的功能超出了在过去实现的方法。
本发明提供了一种装置,其建立了EEPROM和RAM之间的DMA连接一不包括所涉及的微控制器的核心—并执行从RAM到EEPROM的随机长度的数据块的可能的自动编程,包括EEPROM逻辑控制下的对RAM中原始数据的编程操作的校验。
与已经存在的个人化功能相比较,该方法主要在速度上具有优势,因为最大读取/写入速度仅依赖于EEPROM的存取定时。没有由SFR总线交接处理或比较命令而引起的附加的延迟。
通过两次读取RAM区域对编程字节进行校验消除了在EEPROM接口复制页面寄存器的需要,从而最小化了所需硬件的数量。


结合附图,参考下文对实施例的详细描述,本发明的这些和其他方面将更加明显,其示出了EEPROM编程和校验单元(PVU)。
具体实施例方式
为了执行编程和校验操作,给于EEPROM接口2对RAM1和两个附加的控制寄存器的DMA(直接存储器存取),该寄存器提供RAM1内的基本地址Baddr和要被编程的数据区域的长度PagLen(页面寄存器8的最大长度)。
EEPROM接口2中的页面编程和校验单元(FSM)以三个阶段控制执行页面编程阶段1从RAM1读取PagLen数据字,并将这些字写入页面寄存器8。EEPROM中的页面地址由SFR的EADR2......0确定。阶段2开始编程操作。阶段3从RAM1更新相同数据字的读出,同时从EEPROM读出编程字,并一个字接一个字的校验编程的数据。
必须给RAM接口提供优先逻辑,其降低了EEPROM编程和校验循环期间CPU对RAM1的存取速度或禁止了EEPROM编程和校验循环期间CPU对RAM1的存取。
在编程和校验操作开始之前,PVU的起始地址SFR被装载有RAM地址数据,通过通告PVU的控制/状态SFR6开始编程和校验操作。
本发明并不局限于上述的实施例。通过合并或修改所述的装置和特征,在不脱离本发明范围的情况下,可能实现其它不同的实施例。
附图标记列表1、RAM2、EEPROM接口3、控制器4、地址发生器5、RAM/EEPROM数据比较器6、编程和校验单元(PVU)的控制/状态SFR7、PVU的RAM起始地址指针SFR8、(128字节)页面寄存器9、EEPROM矩阵
权利要求
1.一种编程和校验EEPROM页面的方法,其特征在于,在第一步骤中,从RAM(1)读取预置长度的数据字,并将其写入页面寄存器(8),在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM(1)中读取数据字,和从EEPROM中读取编程的数据字并校验,步骤一到三反复执行,直到EEPROM的编程完成。
2.根据权利要求1所述的方法,其特征在于,在编程和校验操作循环期间,提供EEPROM接口(2)向RAM(1)、地址控制寄存器和数据字长度寄存器的直接存储器存取(DMA)。
3.根据前述权利要求之一所述的方法,其特征在于,在编程和校验操作循环开始之前,RAM地址数据被载入到PVU的起始地址SFR(7)中,通过告知PVU的控制/状态SFR(6)开始编程和校验序列。
4.根据前述权利要求之一所述的方法,其特征在于,在第一步骤中要被读取的RAM(1)中的数据字的起始地址由编程和校验单元的SFR确定。
5.根据前述权利要求之一所述的方法,其特征在于,在第二步骤中EEPROM内的要被编程的数据字的起始地址由EADRX SFR确定。
6.根据前述权利要求之一所述的方法,其特征在于,在第一步骤中要被读取的数据字的预置长度由PVU的控制/状态SFR(6)确定。
7.根据前述权利要求之一所述的方法,其特征在于,编程数据字的校验由PVU的控制/状态SFR(6)执行。
8.根据前述权利要求之一所述的方法,其特征在于,编程数据字的校验是一个字接一个字的发生。
9.根据前述权利要求之一所述的方法,其特征在于,RAM接口(2)具有优先逻辑,其检验并且如果必要的话延迟或拒绝在编程和校验操作循环期间CPU对RAM(1)的存取。
10.一种装置,其具有以下述方式设定的处理器EEPROM页面的编程和校验可以以下述步骤执行在第一步骤中,从RAM(1)中读取预置长度的数据字,并将其写入到页面存储器(8)中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM(1)中读取数据字,和从EEPROM读取编程的数据字并校验它们,步骤一到三反复执行,直到EEPROM的编程完成。
11.根据权利要求10所述的具有处理器的装置,其特征在于,所述处理器是智能卡控制器的一部分,该装置为智能卡。
12.一种计算机软件产品,包括计算机可读存储介质,其上存储以下程序当已经被装载到计算机或智能卡控制器的存储器中时,可以以以下步骤执行EEPROM页面的编程和校验在第一步骤中,从RAM(1)中读取预置长度的数据字,并将其写入到页面寄存器(8)中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM(1)中读取数据字,和从EEPROM读取编程的数据字并校验它们,步骤一到三反复执行,直到EEPROM的编程完成。
13.一种计算机可读存储介质,其上存储有当其已经被装载到计算机或智能卡控制器的存储器中时可以下述步骤执行EEPROM页面的编程和校验的程序在第一步骤中,从RAM(1)中读取预置长度的数据字,并将其写入到页面寄存器(8)中,在第二步骤中,执行这些数据字的编程操作,以及在第三步骤中,再次从RAM(1)中读取数据字,和从EEPROM读取编程的数据字并校验它们,步骤一到三反复执行,直到EEPROM的编程完成。
全文摘要
本发明涉及一种用于编程和校验EEPROM页面的方法和装置以及相应的计算机软件产品和相应的计算机可读存储介质,特别是,其可以用于提高将大量的数据或编码编程到EEPROM中的速度,如当智能卡被个人化时发生的。本发明涉及一种装置,其在EEPROM和RAM之间建立DMA连接—不包括所涉及的微控制器的核心—并执行从RAM到EEPROM的随机长度的数据块的可能的自动编程,包括EEPROM逻辑控制下的对RAM中原始数据的编程操作的校验。
文档编号G11C16/02GK1430147SQ0215422
公开日2003年7月16日 申请日期2002年12月24日 优先权日2001年12月29日
发明者W·布尔 申请人:皇家菲利浦电子有限公司

最新回复(0)