CN1049516C - 非易失性存储器的数据写入 - Google Patents

非易失性存储器的数据写入 Download PDF

Info

Publication number
CN1049516C
CN1049516C CN94190333A CN94190333A CN1049516C CN 1049516 C CN1049516 C CN 1049516C CN 94190333 A CN94190333 A CN 94190333A CN 94190333 A CN94190333 A CN 94190333A CN 1049516 C CN1049516 C CN 1049516C
Authority
CN
China
Prior art keywords
data
register
write
nonvolatile memory
area
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
CN94190333A
Other languages
English (en)
Other versions
CN1110488A (zh
Inventor
D·B·艾弗列特
K·M·杰克逊
I·米勒
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.)
Mondex International Ltd
Original Assignee
Mondex International 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 Mondex International Ltd filed Critical Mondex International Ltd
Publication of CN1110488A publication Critical patent/CN1110488A/zh
Application granted granted Critical
Publication of CN1049516C publication Critical patent/CN1049516C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0866Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means by active credit-cards adapted therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Abstract

一种把数据写到诸如在一灵巧插卡的EEPROM的非易失性存储器的方法,该方法提供一个EEPROM的写状态区域,该区域在插卡的每次复位时被测试。如果产生的写操作是成功的,也许因插卡操作不慎而实施一个恢复规程。如果恢复是成功的,则插卡的操作可以运行,否则插卡被废弃。

Description

非易失性存储器的数据写入
本发明涉及非易失性存储器的数据写入。所谓非易失性存储器是一种无需维持电源而能保持数据的存储器。具体地说,本发明涉及把数据写入到便携式集成电路装置内的存储器中,此时,所述集成电路装置通过与其配接的终端设备临时相连来输入和输出数据。这种便携式集成电路的一个例子是称之为“灵巧插卡”的集成电路卡(ICC)。
灵巧插卡经接口与终端设备相连,由此将电源、时钟信号、复位信号及串行数据信号加到灵巧插卡上。通常,该接口与一组电触点相结合,以实现临时电连接。然而,现已有人建议采用电磁感应技术来施加电源。按照这种方案,可通过电磁或红外,或超声技术来实行对时钟、复位和数据信号的耦合。便携式集成电路装置并非一定做成卡片形的。不管其形状如何,我们均称这种装置为集成电路卡(ICCs)。使用ICCs遇到的困难之处是:在写数据的过程中,由于电源的瞬态响应或失效而影响接口工作,从而会干扰对ICC的数据写入操作,而复位或时钟信号可能造成错误的写入。
特别适合于本发明的灵巧插卡的应用场合是财务金额或“电子现款”转帐系统。此时,灵巧插卡中的数据代表了可以与银行联机和在插卡之间脱机进行转帐的金额。这种系统在专利Wo91/16691和Wo93/08545中曾有介绍。此时,至为重要的是不会由于是意外的或人为拨动电源线或数据线而发生错误的数据写入。本发明可提供对这问题的解决方案。
本发明提出了一种向在集成电路装置中的非易失性存储器写入数据的方法。该电路装置有一个用于与终端单元,微处理机,随机存储器和非易失性存储器临时连接的接口;该方法包括分配一个非易失性存储器第一区域,用以写入数据;分配一个非易失性存储器第二区域,用于写入写状态信息;实行把数据写到所述第一区域的数据写入操作;及如果且只是如果数据写入操作在满意实行时向所述第二区域写入表明有效数据写入的写状态信息。
在微处理机环境下,例如在RAM的各区之间及从RAM至EEPROM有许多用于传送数据和程序信息的复制和写步骤。在操作系统级别或更高级别的情况下,通常用到可用来验证复制或写操作是否有效的验证技术。这可能包含将复制的或写入的材料与原来的材料自动进行比较,或者更为常见的是,配有一个校验和例行程序,该程序在数据上加上一个或多个校验和比特,按照特定的算法,与数据建立一种关联,可以证实确没有发生过写或复制讹误。如果被检查出讹误,则重复操作,直至运行满意为止。本发明并不在乎有无这种技术,如果使用了这种技术,本发明也可与其一起应用。但是,这种自备的技术可以用作为判别写操作是否被满意进行的基础,以便在所述存储器的第二区域写入适当的信息。于是,例如,如果利用提供的已自备的写验证技术成功地将数据写入到了ICC中,那未写过程的结论可看作代表了可允许把适当的数据写入到存储器的第二区域的满意写入。
近来用于大多数灵巧插卡的非易性存储器是一种电可擦可编程只读存储器(EEPROM),本发明特别适用于它但不限于它。就读写步骤而言,EEPROM通常被分成页,而读或写每次只在一页上进行。可以预料,瞬态写错误可能会污损某一页上的内容,但不会污损其它页的内容。因此,所述第一和第二区域最好是在不同的页面上。
本发明可使非易失性存储器记录是否在装置上有显著的写错误并当装置再次使用时对一个复位信号作出反应。通常,采用ISO7816协议来支配:复位的性质,对请求的答复,电源与时钟信号写。如果错误是瞬时的,则可以立刻施加复位信号,以使中断的事务处理再继续。如果不是那样,下次施加复位信号,以试图使用该装置。根据本发明的一个优选实施例,提供了一种应用数据已如前所述被写入的集成电路装置的方法,在该装置的非易失性存储器中包括一个用来控制微处理机在正常环境下运行一个特定应用程序,该应用方法包括如下步骤:起动读非易失性存储器的所述第二部分以从中取出写状态信息,且如果写状态信息表明为一个不完整的写操作,则绕过该应用程序。
于是,当在灵巧插卡,例如,发生显著的写错误时,相应的措施可以是通过不运行该应用程序而使插卡无效,这称为插卡的软件无效法,还可能采用硬件无效法,即向插卡的熔丝链路提供一过载电流而熔断熔丝而使插卡无效。然而,使插卡无效是很浪费的,比较好的方法是:当检测出不完整写操作时,实行数据恢复步骤以使装置复原到如存储器的第二区域所反映的最后数据写入是正确的状况。如果数据恢复步骤失败,则再实行如前所述的软件或硬件失效步骤。
作为一个实现本发明非局限性的例子,下面提出三种具体的方法。方法1
根据本方法,给非易失性存储器配置如下的各独立的区域:
(a)一个序列寄存器,即上述的存储器的第二区域;
(b)一个数据复制缓冲器;
(c)一个长度寄存器;及
(d)一个地址寄存器。
并且把RAM或非易失存储器的一个区域分配为数据增量缓冲区,所述非易失存储器的第一区域是用来写入存储器区域(c)和(d)的数据的长度和地址标识的,所述写的方法包括:
1.保证缓冲区(e)包含一个有效数据增量;
2.把待修改的数据的副本放入缓冲器(b);
3.增量寄存器(a);
4.以缓冲区(e)的数量增量在存储器第一区的数据,并把该增量写入到存储器的第一区;及
5.增量序列寄存器(a)。
用此方法,当寄存器(a)表明恢复是必要时,其恢复的步骤包括由缓冲器(b)将原来的(未修改的)的数据复制到存储器的第一区域。这将状态复原到错误操作发生前的状态。方法2
本方法将非易失性存储器的各个区域作如下分配。
(f)一个写当前标志寄存器,它是存储器的所述第二区域;
(g)一个工作空间指示字寄存器;
(h)一个长度寄存器;及
(i)一个数据指示字寄存器。
还有将RAM或非易失存储器的一个区域分配为(j)一个新数据指示字寄存器,所述非易失性存储器的第一区域是以写入到存储器(g)和(h)的数据的长度和位置来进行识别,所述写的方法包括:
(1)将寄存器(g)的工作空间指示字设定到足以容纳相应于寄存器(h)中的长度组的一组邻接的数据组的非易失存储器工作空间的地址;
(2)给工作空间复制由在(j)的新数据指示字所指地址和由在(h)的长度数据的长度标识的新数据副本;
(3)在(f)设定写进行标志;
(4)工作空间地址设定数据指示字寄存器地址;
(5)清除寄存器(f)的写进行标志。
这里,恢复步骤包括重复最后两个步骤(4与5),因为一个错误表示了数据指示字寄存器已被适当地写入了。方法3
该方法以下列方式分配非易失性寄存器的各个区域:
(k)一状态标志寄存器,即所述存储器的第二区域;
(l)一长度寄存器;
(m)一个地址寄存器;及
(n)一个更新复制缓冲器。
所述的非易失存储器的第一区域是以写在寄存器(l)和(m)的长度和位置来标识的,所述写的方法包括:
1.把要写入的数据复制到缓冲器(n)中;
2.在寄存器中设定状态数据;
3.把要写入的新数据写入到所述非易失性存储器的第一区域;
4.清除寄存器(k)的状态标志。
这里,新数据通常是直接由RAM写入的,并给更新复制缓冲器取得副本。如果要求恢复,则因为它是在(n)保存的新数据,所以恢复步骤给在EEPROM(例如)中的所要求的地址复制此新地址。
下面参考附图对本发明作进一步描述。
图1是具有用以实现本发明的数据写和恢复的第一方法的EEPROM的灵巧插卡的示意图;
图2是用于图1的插卡的方法的流程图;
图3是类似于图1但对应于本发明的数据写和恢复的第二方法的示意图;
图4是一个对应于第二方法的流程图;
图5是类似于图1和3但对应于本发明的第三方法的数据写与恢复的示意图;及
图6是相应于第三方法的流程图。
参阅图1,它示出了一个具有包括一组用来与终端4相触连的触点的接口2的灵巧插卡1。按照ISO7816协议,由终端单元向插卡提供电源,时钟信号,复位信号及串行数据,插卡是一个包括一个微处理机5,RAM6及EEPROM7的ICC装置。
EEPROM7分成一页面组8,并装有操作系统程序US,应用程序AP和有一个容纳可能被读写的数据的数据寄存器DR。
所称的方法1是本发明的第一实施例,它用于EEPROM中进行数据的增量更新。按该方法,数据区DR的相应各区如下分配:
(a)一个序列寄存器;
(b)一个数据复制缓冲器;
(c)一个长度寄存器;及
(d)一个地址寄存器。
RAM的一个区域e分配为数据增量缓冲区,虽然此区亦可放在EEPROM中。
现参阅图2(a),它示出了一个用于按方法1,进行数据写的流程图。其步骤包括:
1.确保缓冲器(e)包含有效数据增量(在框9);
2.根据长度和地址寄存器(c),(d)识别要更新(原数据)的EEPROM的数据,给出原位置(在框10);
3.给缓冲器(b)复制原数据(在框11);
4.增量序列寄存器(a)(在框12);
5.参考原数据和在数据增量缓冲器(e)中的数据计算RAM的的新数据,并将新的数据写回到EEPROM的原位置中(在框13);及
6.增量寄存器(a)(在框14)。
EEPROM是这样一种存储器,如果在EEPROM内容被修改的同时,电源线,或时钟信号受被中断,则其所存储的数据会被污损。采用上述的方案,利用数据复制缓冲器与序列寄存器可以提供数据的安全性。利用内部写确证步骤,可以确定如果操作系统指示完成写步骤13,则写信是正常的,而序列寄存器(a)可作适当的修改,如果写操作被例如电源线或时钟信号中断而中断时,则顺序寄存器保持其前先的对所尝试写是不合适的状态。
根据本发明的一个方面,当插卡在任何时候接收到复位信号时,可提供一个校验恢复规程。图2(b)示出了这些规程。当在框15复位后,在框16检验顺序寄存器以确定是否指示一个写失败。若否,则在框17实施应用程序Ap(图1)。如果指示写失败,则将在数据复制缓冲器(b)中的在最后所尝试写的原数据复制到原数据地址(c),(d)。该步如框18所示。如此恢复了所尝试的写操作前的局面。
此方法适用于多级操作规程,而实践中,用一个串行接口来回传送数据。序列寄存器依次保持发生中断的级的信息。如果与终端的原来的互连相称且操作顺序可恢复,则在框19作一个检验,以确定是否已成功地进行了复制/再同步。如果是,则运行应用程序AP。如果不是,则必须由软件根据序列寄存器的状态确定如何再同步插卡应用软件及通过串行线与灵巧插卡通信的软件。如果不能从数据复制缓冲器检索到数据,且序列寄存器指示无该数据可提供,则如在框20所示,该灵巧插卡不能使用。
这可使其连续失败去执行应用程序来达到,或可采取积极步骤,例如烧毁内装熔丝,来报废该插卡。
数据复制缓冲器(b)和数据增量缓冲器(e)必须都有足够的容量来容纳用此方法写到EEPROM的最大可能的数据块。也需要额外与字节(长度=2字节,地址=2字节,序列寄存器=1字节[至少])如果长度决不能比255大,则它可被以单字节储。
因为插卡每次写只在一个页面8(图1)操作,因此其安全性由于确保各个EEPROM页(总共3页)用于数据复制缓冲器,数据增量缓冲器及其余的附加数据而得到加强。
用该方法来写EEPROM,其实际写到EEPROM的字节数增加了一倍,即使没有实行恢复也如此(因为原来数据的副本在EEPROM写进行以前必须存在数据复制缓冲器。总的开锁实际要比此稍大,因长度地址,及序列寄存器信息也必须写到EEPROM中。
现在来参阅图3。该图示出了用于采用本发明方法2的一个灵巧插卡(类似于图1)的EEPROM构型。EEPROM的多相应区域(在相应页8上)分配如下:
(f)一个写进行标志寄存器;
(g)一个工作空间指示字寄存器;
(h)一个长度寄存器;及
(i)一个数据指针寄存器。
在RAM中,把一个区域(j)分配为新数据指针寄存器。也可以分配给EEPROM。
方法2中的写规程的流程图如图4(a)所示。该流程包括如下步骤:
1.将寄存器(a)的工作空间指针设定到EEPROM中工作空间的地址上,EEPROM的长度要是以容纳相应于寄存器(h)的长度组的相邻数据组(在框21);
2.给该工作空间复制在RAM或EEPROM中由寄存器(b)以长度识别和由寄存器(i)以位置识别的一个新数据副本(在框22);
3.设置写进行标志(j)(在框23);
4.在寄存器(i)中给工作空间地址设置地址(在框24);及
5.在寄存器(f)中清除写进行标志;
图4(b)示出了方法2的校验和恢复规程。在框25插卡复位后,在框26立即检查写进行标志。如已清除,则在框27运行应用程序。如果没有,则重复写规程的最后两步(4与5)。于是,在框28将数据指示字(i)置到工作空间指针(g)并将进行标志(f)清除掉。如果该写规程成功(在框30检验),则执行程序AP。如果不成功,则是23插卡被废弃(在框31)。
如果发现到EEPROM写不能完成的一个EEPROM区域,则该方法便立即让灵巧插卡应用软件给此区域打上永久废弃不用的标志,并选择另一区域用作数据存贮。这样可大大延长灵巧插卡的寿命(插卡寿命很可能被插卡能执行的EEPROM写的最大可能数限制),然而,其代价是要给存储在EEPROM的每个数据结构维持一个指示字(2字节开销)。
在正常条件下,写进行标态仅仅在需要修改EEPROM中的指示字时才设立。这是最小可能的理论修改时间,它有助于保证只稀罕地实行恢复机制。这样可使对EEPROM作尝试的数量减主最低,从而延长了插卡的寿命。
用该方法要求每个写到EEPROM的数据结构扩增两字节,因为对数据的指示字必须连续保持。对每次EEPROM的读多了一个小的开销,因为使用该方法要求对所有数据必须经过一个指示字才能取得。
由工作空间指示字所指向的EEPROM必须有足够的容量去容纳利用本方法要写入到EEPROM的最大可能的数据结构。此空间只要求EEPROM写已成功地完成为止,在此点上,将一个写效的EEPROM存贮长度(用于包容原数据)予以释放。还需要额外的7个存储字节(写进行标志=1字节,新数据指示字=2字节,工作空间指示字=2字节,长度=2字节)。如果长度比255大,则它应以单字节存储。
用此方法写EEROM,写入EEPROM的数据结构只一次,但是必须以下写次序修改三个指示字:新数据指示字,工作空间指示字及数据指示字。同时,地址和序列寄存器信息也必须写入到EEPROM。
现来参阅图5。图中示出了实施本发明的方法3所实行的EEPROM分配。应该指出,图5的EEPROM是被结合到类似于图1的灵巧插卡中。在图5中,各EEPROM区域如下分配:
(k)一个状态标志寄存器;
(l)一个长度寄存器;
(m)一个地址寄存器;及
(n)一个更新复制缓冲器。
图6示出了方法3的写规程。其步骤包括:
1.复制新数据到缓冲器(n)(在框32);
2.设立状态标志(k)(在框33);
3.将新数据复制到由长度(L)和地址(m)标识的EEPROM区域(在框34);及
4.清除状态标志(k)(在框35)。
在图6(b)中所示的校验和恢复规程在框36中复位,在框37复位一个对状态标志(k)的设定的检验。如果标志未设定,则在框38运行应用程序AP。否则,在框39将在缓冲器(n)中寄存的新数据耦到区域(L),(m),并在框40清除状态标志(k)。如果成功,运行应用程序。否则在框(41)认为插卡是废弃的。
附加数据区(缓冲器n)必须大到足以存储写到EEPROM中的数据外加5字节(长度=2字节,地址=2字节,状态标志=1字节)的容量。如果长度不能大于255,则它以单字节存储。
用该方法写EEPROM,实际写到EEPROM中的字节数是扩大了一倍,即使不实行一个恢复规程(因为数据的副本必须写到EEPROM)。总开销则实际比此大一点,因为长度,地址也须写入到EEPROM。
为了能告知数据未被改变,必须实行错误检测技术。错误检测通常包括每当数据被修改时计算校验和,存储该校验和,并证实在每次连续的数据该出期间定是正确的。用于实际计算此错误检测较验和的实际方法与本文目的无关,事实上有些灵巧插卡已将错误检测程序制成EEPROM硬件,而其具体的操作方法也不得而知。
只有当错误检测系统已经过适当修改并被证实为正确时,EEPROM写才被认为已完成。
EEPROM在终止正常功能以前只能修改有限次数,通常为105到106写周期。因此,在EEPROM中的数据有一有限的机会被修改,而如果错误检测系统证实数据已被修改,则EEPROM读才必须接受为有效。如果在EEPROM读期间检测到错误,则可能意味着,在灵巧插卡中的一个或更多字节已达到其活动寿命的末了。
采用如上所述的写EEPROM的方法保证错误校正(与错误检测相反)不再需要,无论EEPROM操作是否成功进行,或者是巧插卡是不能再使用的。没有需要错误纠正的情形。这就简化了软件和减少了数据存贮的要求。因为纠错需要深入计算,因而需要比错误检测更多的专用的存贮的字节。
前面所述写数据到EEPROM的方法之一要直接保持一个计数器(序列寄存器),该计数器存贮着在写EEPROM期间所执行的一系列操作的最后成功的操作的知识。但方法2和3则可不直接要求此种类型的计数器,因为它们根据标志作答覆,而标志中已包含显示对EEPROM的写是否成功的信息。
即使写EEPROM的方法不总是要求一个数字计数器,但因注意到:在许多系统中,仍然要求必须保留这样一个计数器,以便任何类型的中断的过程可重新开始当然,此时,至为重要的是将此计数器安全地写到EEPROM中,因为如果是不正确的话,我们不能信赖灵巧插卡的应用程序来尝试重新开始被中断的过程。

Claims (14)

1.一种利用一个集成电路装置的方法,该装置具有一个用来临时与终端相连的接口,一个微处理机,一个随机存储器,该利用方法包括一个将数据写到所述非易失性存储器的方法,该方法包括给要写的数据分配一个非易失性存储器的第一区域,分配用于写状态信息的非易失性存储器的第二区域,实行一个数据写操作,把数据写到所述第一区域,而且,只在如果数据写操作是满意地实行时,写信息到所述第二区域作为一个预先数据;所述方法其特征在于:
包括如下步骤:通过最初读该非易失性存储器的所述第二区域来响应于该装置的复位,以便从中获取写状态信息,并且如果写状态信息指示一个不完整写操作,则使集成电路装置失效。
2.根据权利要求1或2所述的集成电路的利用方法,其特征在于:包括如下步骤:对非易失性存储器恢复数据,只当所述恢复失败时才使集成电路装置失效。
3.根据权利要求1或2所述的利用集成电路的方法,其特征在于:非易失性存储器包括一个用来控制微处理机在正常环境下运行一个特定程序的应用程序,并且如果集成电路装置的失效是软件失效,则绕过所述应用程序。
4.根据权利要求1或2所述的利用集成电路装置的方法,其特征在于:集成电路装置的失效是由装置的硬件实现的。
5.根据权利要求1-4中任一权利要求所述的向非易失性存储器写数据的方法,其特征在于:所述非易失性存储器被分成页,而写操作每次只在一页上进行,并且存储器的所述第一和第二区域是在不同的页面上。
6.根据上述任一权利要求所述的向非易失性存储器写数据的方法,其特征在于:所述的非易失性存储器是电可檫可编程只读存储器(EEPROM)。
7.根据上述任一权利要求所述的利用集成电装置的方法,其特征在于:所述存储器的第二区域是一个状态寄存器,所述状态信息代表了多步操作序列的最后满意地进行的那步操作,并且如状态寄存器指示的由其失败的那步开始实行所述数据恢复规程以恢复多步操作序列。
8.一种如权利要求7所述的应用集成电路的方法,其中非易失存储器的各个区域分配如下:
a)一个序列寄存器,即所述存储器的第二区域;
b)一个数据复制缓冲器;
c)一个长度寄存器;及
d)一个地址寄存器;
并指定RAM或非易失性存储器的一个区域作为(e)一个数据增量缓冲区,所述非易失存储器的第一区域以长度和以由写入存储器(c)和(d)的数据的地址识别,所述写方法包括:
1.确保缓冲器(e)包含一有效数据增量;
2.把要修改的数据副本置于缓冲器(b)中;
3.增量寄存器(a);
4.以在缓冲器(e)的量增益存储器第一区域的数据并将此增量写入到存储器的第一区域;及
5.增量序列寄存器(a)。
9.一种如权利要求8所述的应用集成电路装置的方法,恢复规程包括将数据缓冲器(b)的数据复制到存储器的所述第一区域。
10.一种如权利要求1至6的任一权利要求中所述的应用集成电路装置的方法,其中所述存储器是一个标志区,而所述状态信息是一个当写操作被证实为满意时设置而不满意时不设置的标态。
11.一种如权利要求所述的应用集成电路的方法,其中所述非易失性存储器的各区域如下指定:
(f)一个写进行标志寄存器,它是所述存储器的第二区域;
(g)一个工作空间的指示字寄存器;
(h)一个长度寄存器;及
(i)一个数据指示寄存器;
并将RAM或非易失寄存器指定为新数据指示字寄存器,非易失性存储器的所述第一区域是以长度和写入到存储器区域(g)和(h)的数据的位置标识的,所述写方法包括:
1.将寄存器(g)的工作空间指示设到非易失性存储器的地址上,而存储器的工作空间足以容纳相应于设在寄存器(h)的长度的相邻数据;
2.将以由新数据指示字在(j)所指的地址和以由在(h)的长度数据识别的新数据的副本复制到工作空间;
3.在(h)设立写进行标志;
4.将在数据指示字寄存器(i)的地址设定到工作空间的地址;及
5.在寄存器(f)中清除写进行标专。
12.如权利要求11所述的应用集成电路装置的方法,其中恢复步骤包括步骤:将在数据指示字寄存器(i)的地址设立到工作空间地址并清除在寄存器(f)中的写进行标志。
13.如权利要求10所述的应用集成电路装置的方法,其中非易失性存储器的指定如下各区域:
(k)一个状态标志寄存器,它是存储器的第二区域;
(l)一个地址寄存器;及
(n)一个修改复制缓冲器,
所述非易失性存储器第一区域是长度和以写在寄存器(l)和(m)的数据标识的,所述写方法包括:
1.把待写入的数据复制到缓冲器(n)中;
2.在寄存器(k)中设立状态标成;
3.将使写入的数据写入到非易失性存储器的所述第一区域;及
4.清除在寄存器(k)中的状态标志。
14.如权利要求13所述的应用集成电路装置的方法,其中恢复规程包括步骤:把修改复制缓冲器(n)的内容复制到由寄存器(l)和(m)的内容标识的非易失性存储器的所述第一区域,并清除在寄存器(k)中的状态。
CN94190333A 1993-04-13 1994-04-13 非易失性存储器的数据写入 Expired - Lifetime CN1049516C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB939307623A GB9307623D0 (en) 1993-04-13 1993-04-13 Data writing to eeprom
GB9307623.0 1993-04-13

Publications (2)

Publication Number Publication Date
CN1110488A CN1110488A (zh) 1995-10-18
CN1049516C true CN1049516C (zh) 2000-02-16

Family

ID=10733749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94190333A Expired - Lifetime CN1049516C (zh) 1993-04-13 1994-04-13 非易失性存储器的数据写入

Country Status (17)

Country Link
US (1) US5715431A (zh)
EP (1) EP0645046B1 (zh)
JP (1) JP3918195B2 (zh)
KR (1) KR100343377B1 (zh)
CN (1) CN1049516C (zh)
AT (1) ATE219857T1 (zh)
AU (1) AU676731B2 (zh)
BR (1) BR9404989A (zh)
CA (1) CA2137683C (zh)
CR (1) CR5712A (zh)
DE (1) DE69430859D1 (zh)
GB (1) GB9307623D0 (zh)
MD (1) MD960344A (zh)
PL (1) PL173398B1 (zh)
RU (1) RU2146399C1 (zh)
WO (1) WO1994024673A1 (zh)
ZA (1) ZA942553B (zh)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176209B2 (ja) * 1994-02-25 2001-06-11 富士通株式会社 カード型記憶媒体およびカード型記憶媒体発行装置
FR2730833B1 (fr) * 1995-02-16 1997-03-28 Gemplus Card Int Procede de mise a jour securisee de memoire eeprom
US5734894A (en) * 1995-04-25 1998-03-31 Honeywell Inc. Methods and apparatus for protecting the integrity of process data stored on a removable storage medium
GB2314663B (en) * 1995-05-15 1998-10-07 Mondex Int Ltd Transaction recovery in a value transfer system
RU2182726C2 (ru) * 1995-05-15 2002-05-20 Мондекс Интернэшнл Лимитед Восстановление операции в системе переноса денежных средств
US5559957A (en) * 1995-05-31 1996-09-24 Lucent Technologies Inc. File system for a data storage device having a power fail recovery mechanism for write/replace operations
FR2740237B1 (fr) * 1995-10-18 1997-11-14 Schlumberger Ind Sa Composant electronique a memoire synchronisee
EP0831433A1 (en) * 1996-09-24 1998-03-25 Koninklijke KPN N.V. Method of making recoverable smart card transactions, a method of recovering such a transaction, as well as a smart card allowing recoverable transactions
FR2757978B1 (fr) * 1996-12-27 1999-01-29 Schlumberger Ind Sa Procede de securisation d'une donnee dans une memoire reinscriptible
JP3667920B2 (ja) * 1997-02-21 2005-07-06 ローム株式会社 Icカード
ATE281680T1 (de) * 1997-03-24 2004-11-15 Visa Int Service Ass System und verfahren für eine mehrzweckchipkarte die eine nachträgliche speicherung einer anwendung auf dieser karte ermöglicht
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
JP3056131B2 (ja) * 1997-06-25 2000-06-26 日本電気アイシーマイコンシステム株式会社 システムのリセット方式
FR2775375A1 (fr) 1998-02-23 1999-08-27 Solaic Sa Chargement de programmes informatiques en blocs
EP1082710A1 (en) 1998-06-05 2001-03-14 Landis & Gyr Communications S.A. Preloaded ic-card and method for authenticating the same
JP4029234B2 (ja) * 1998-07-16 2008-01-09 ソニー株式会社 情報処理装置および情報処理方法
JP4146006B2 (ja) * 1998-09-28 2008-09-03 富士通株式会社 フラッシュメモリを有する電子機器
FR2784483B1 (fr) * 1998-10-13 2000-12-29 Innovatron Electronique Procede d'echange de donnees entre un automate et un objet portatif, notamment une carte a microcircuit, susceptible d'etre debite par l'automate en contrepartie de la delivrance d'un bien ou d'un service
JP4314702B2 (ja) * 1998-11-26 2009-08-19 セイコーエプソン株式会社 印刷装置、書込方法およびプリンタ
DE19858840A1 (de) * 1998-12-19 2000-06-21 Orga Kartensysteme Gmbh Verfahren zum bidirektionalen Datentransfer zwischen einem Terminal und einer Chipkarte sowie Chipkarte
FR2790324B1 (fr) * 1999-02-25 2001-12-28 St Microelectronics Sa Dispositif d'acces securise a des applications d'une carte a puce
US7549056B2 (en) 1999-03-19 2009-06-16 Broadcom Corporation System and method for processing and protecting content
US6789159B1 (en) * 2002-05-08 2004-09-07 Broadcom Corporation System and method for programming non-volatile memory
US7810152B2 (en) * 2002-05-08 2010-10-05 Broadcom Corporation System and method for securely controlling access to device functions
DE19928939A1 (de) * 1999-06-24 2001-01-11 Giesecke & Devrient Gmbh Datenträger sowie Verfahren zur Datenübertragung und zur Speicherverwaltung
FR2795835B1 (fr) * 1999-07-01 2001-10-05 Bull Cp8 Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
DE19931184A1 (de) * 1999-07-07 2001-01-11 Bosch Gmbh Robert Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
JP3822768B2 (ja) * 1999-12-03 2006-09-20 株式会社ルネサステクノロジ Icカードの製造方法
JP2002123806A (ja) * 2000-10-17 2002-04-26 Fujitsu Ltd Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体
DE10060912A1 (de) * 2000-12-07 2002-06-27 Infineon Technologies Ag Datenträger und Verfahren zu dessen Entwertung
DE10143142A1 (de) * 2001-09-04 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
US7043493B2 (en) * 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
FR2833093A1 (fr) * 2001-12-03 2003-06-06 Schlumberger Systems & Service Procede d'echange de blocs de donnees, procede d'echange et de traitement de blocs de donnees, objet portatif, et automate pour la mise en oeuvre de procede
EP1331600B1 (en) * 2002-01-24 2006-06-07 Matsushita Electric Industrial Co., Ltd. Memory card
FR2835628A1 (fr) * 2002-02-01 2003-08-08 Schlumberger Systems & Service Gestion de la mise a jour d'informations encodees en memoire
US6996802B2 (en) 2002-03-18 2006-02-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using initialization order and calling order constraints
US7181737B2 (en) 2002-03-18 2007-02-20 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using static procedure return addresses
US7010783B2 (en) 2002-03-18 2006-03-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
US6912633B2 (en) 2002-03-18 2005-06-28 Sun Microsystems, Inc. Enhanced memory management for portable devices
EP1392052A1 (en) * 2002-05-08 2004-02-25 Broadcom Corporation System and method for secure controlling the configuration of device functions
EP1435576B1 (en) * 2003-01-03 2013-03-20 Austria Card Plastikkarten und Ausweissysteme GmbH Method and apparatus for block-oriented memory management provided in smart card controllers
DE10322723B3 (de) * 2003-05-20 2004-10-14 Infineon Technologies Ag Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers
WO2005103975A1 (ja) * 2004-04-27 2005-11-03 Bitwallet, Inc. 貨幣端末処理サーバ、貨幣端末処理方法、貨幣端末、演算命令入力装置、及び金額変更情報入力装置
JP2006024012A (ja) 2004-07-08 2006-01-26 Fujitsu Ltd 非接触ic記録媒体、記録媒体管理プログラムおよび記録媒体管理方法
US7366436B2 (en) * 2004-07-12 2008-04-29 Kyocera Mita Corporation Processing unit having a panel supported movably with respect to a unit main body
FR2875080B1 (fr) * 2004-09-09 2006-10-27 Gemplus Sa Mise a jour optimisee d'une valeur deterministe dans un dispositif de communication
EP1670000A1 (fr) * 2004-12-13 2006-06-14 Axalto S.A. Procédé de sécurisation de l'écriture en mémoire contre des attaques par rayonnement ou autres.
KR100649882B1 (ko) * 2005-07-19 2006-11-27 삼성전자주식회사 비정상 조건 검출회로, 집적회로 카드, 및 cpu 작동방법
WO2007042533A1 (fr) * 2005-10-14 2007-04-19 Gemplus Personnalisation de carte a puce
FR2924262B1 (fr) * 2007-11-26 2009-12-11 Sagem Securite Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
JP2009211870A (ja) * 2008-03-03 2009-09-17 Ushio Inc 紫外線照射用光源
US8055936B2 (en) * 2008-12-31 2011-11-08 Pitney Bowes Inc. System and method for data recovery in a disabled integrated circuit
US8060453B2 (en) * 2008-12-31 2011-11-15 Pitney Bowes Inc. System and method for funds recovery from an integrated postal security device
US9230259B1 (en) 2009-03-20 2016-01-05 Jpmorgan Chase Bank, N.A. Systems and methods for mobile ordering and payment
FR2959586B1 (fr) * 2010-04-30 2012-06-22 Proton World Int Nv Procede d'ecriture et de lecture dans une memoire d'atomicite
EP2386958A1 (en) 2010-05-13 2011-11-16 Assa Abloy AB Method for incremental anti-tear garbage collection
EP2495690B1 (en) * 2011-03-01 2015-05-13 Nxp B.V. Transponder and method for monitoring access to application data in the transponder
US9135970B2 (en) 2013-02-08 2015-09-15 Everspin Technologies, Inc. Tamper detection and response in a memory device
US9218509B2 (en) 2013-02-08 2015-12-22 Everspin Technologies, Inc. Response to tamper detection in a memory device
EP3079065B1 (en) 2015-04-08 2019-06-12 Huawei Technologies Co., Ltd. Redo-logging for partitioned in-memory datasets
US10146644B2 (en) 2016-06-16 2018-12-04 Oracle International Corporation Integrity of transactional memory of card computing devices in case of card tear events
US11099949B2 (en) * 2018-08-03 2021-08-24 Cirrus Logic, Inc. Method apparatus for resuming and recovery checking from interrupted programming of one-time programmable memory device
JP6871411B2 (ja) 2019-03-29 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 暗号動作のセキュアな実行
CN114115755B (zh) * 2022-01-28 2022-04-01 北京紫光青藤微系统有限公司 用于数据写入的方法及装置、存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5637883A (en) * 1979-09-04 1981-04-11 Fanuc Ltd Information rewrite system
JPS63226752A (ja) * 1987-03-16 1988-09-21 Omron Tateisi Electronics Co Idシステムのデ−タ書込み方式
US4922456A (en) * 1988-04-29 1990-05-01 Scientific-Atlanta, Inc. Method of reducing wearout in a non-volatile memory with double buffer
US5200600A (en) * 1988-08-29 1993-04-06 Hitachi Maxell, Ltd. IC card and method for writing information therein
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
JP2941361B2 (ja) * 1990-06-07 1999-08-25 株式会社東芝 携帯可能電子装置
FR2666425A1 (fr) * 1990-08-31 1992-03-06 Gemplus Card Int Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire.
JPH04137081A (ja) * 1990-09-28 1992-05-12 Fuji Photo Film Co Ltd Eepromを有するicメモリカード
EP0489204B1 (en) * 1990-12-04 1995-08-16 Hewlett-Packard Limited Reprogrammable data storage device
JPH05233464A (ja) * 1992-02-25 1993-09-10 Fuji Photo Film Co Ltd Eepromのデータ書換方法およびeepromカード

Also Published As

Publication number Publication date
CR5712A (es) 1998-08-31
AU6507794A (en) 1994-11-08
JPH07508120A (ja) 1995-09-07
RU2146399C1 (ru) 2000-03-10
CA2137683A1 (en) 1994-10-27
ATE219857T1 (de) 2002-07-15
CN1110488A (zh) 1995-10-18
BR9404989A (pt) 1999-06-15
ZA942553B (en) 1995-06-05
PL306763A1 (en) 1995-04-18
EP0645046B1 (en) 2002-06-26
DE69430859D1 (de) 2002-08-01
EP0645046A1 (en) 1995-03-29
GB9307623D0 (en) 1993-06-02
MD960344A (ro) 1997-06-30
AU676731B2 (en) 1997-03-20
KR100343377B1 (ko) 2002-12-18
WO1994024673A1 (en) 1994-10-27
KR950702061A (ko) 1995-05-17
JP3918195B2 (ja) 2007-05-23
US5715431A (en) 1998-02-03
PL173398B1 (pl) 1998-02-27
CA2137683C (en) 1999-02-23

Similar Documents

Publication Publication Date Title
CN1049516C (zh) 非易失性存储器的数据写入
US6879528B2 (en) Control method of nonvolatile memory
TW466448B (en) Method and apparatus for data backup and restoration in a portable data device
CN100377120C (zh) 非易失性存储器装置的控制方法
US4800520A (en) Portable electronic device with garbage collection function
CN102163133B (zh) 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置
TWI312464B (zh)
JP4596715B2 (ja) 別個のメモリ領域におけるデータの組の種々のバージョンを記憶する配列及びメモリ内のデータの組を更新する方法
JP2004234052A (ja) 記憶装置
CN101118783A (zh) 带有闪存坏块控制系统的电子数据闪存卡
WO2005111812A1 (ja) 不揮発性記憶装置のためのエラー訂正方法
TWI273604B (en) Memory card and semiconductor device
JP2010157216A (ja) 停電後の不揮発性メモリの回復
CN1650267A (zh) 增强数据完整性的检验装置
JP3576625B2 (ja) フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
JPWO2006075576A1 (ja) セキュアデバイス及びicカード発行システム
CN109947594B (zh) 一种数据备份方法及装置、数据恢复方法及装置
JP2005235028A (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
CN101089878B (zh) 数据读取方法和数据写入方法
JP3928724B2 (ja) 記録媒体の記録制御方法および記録媒体の記録制御装置
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP2004265275A (ja) Icカード及びicカードプログラム
US20220343034A1 (en) System on a chip and method guaranteeing the freshness of the data stored in an external memory
EP1600900A1 (en) Mobile electronic device
JP4413351B2 (ja) 紙葉類処理システムと紙葉類処理システムの処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: London, England

Applicant after: Mondex International Ltd.

Address before: London, England

Applicant before: Jonhig Limited

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: JONHIG LIMITED TO: MONDEX INTERNATIONAL LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20140413

Granted publication date: 20000216