CN101930551A - 数据处理装置和方法 - Google Patents

数据处理装置和方法 Download PDF

Info

Publication number
CN101930551A
CN101930551A CN2010101445273A CN201010144527A CN101930551A CN 101930551 A CN101930551 A CN 101930551A CN 2010101445273 A CN2010101445273 A CN 2010101445273A CN 201010144527 A CN201010144527 A CN 201010144527A CN 101930551 A CN101930551 A CN 101930551A
Authority
CN
China
Prior art keywords
data
piece
area
renewal
zone
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.)
Pending
Application number
CN2010101445273A
Other languages
English (en)
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.)
Sony Corp
Original Assignee
Sony Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=13203232&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101930551(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101930551A publication Critical patent/CN101930551A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

即使是在多个相关数据被写入的过程中出现故障也能够保持多个数据的兼容性,第一区域存储分别与逻辑块号%00H到%03H一致的构成数据区域的物理块的物理块号#00H到#03H,例如,当具有一个对逻辑块%00H和%02H的数据写请求时,数据被分别写到例如是更新块的物理块#04H和#05H中,以便更新构成数据区域物理块中的数据,并且物理块的块号#04H和#05H被存储到分别与逻辑块%00H和%02H对应的第二区域中。

Description

数据处理装置和方法
本申请是以下专利申请的分案申请:
申请号:98107381.6
申请日:1998年2月28日
发明名称:数据处理装置和方法
技术领域
本发明涉及一种数据处理方法和数据处理装置,特别是涉及最好用于例如IC(集成电路)卡等在非接触状态下执行数据的发送和接收的数据处理方法和数据处理装置。
背景技术
现已开发出了一种IC卡(智能卡),该卡准备用于电子货币系统或保密系统中。
IC卡与用于完成各种处理功能的CPU(中央处理单元)、用于存储数据的存储器或用于类似处理所需的装置共同使用,所述处理包括在所述IC卡与预定读/写器(R/W)接触状态下执行数据的发送和接收。
同时,还存在一种无电池型IC卡,其本身不带电池,电源由R/W施加到该无电池型IC卡上。
另外还存在一种IC卡,这种IC卡使用电磁波在非接触状态下在所述IC卡和R/W之间执行数据的发送和接收,并通过电磁波获得所需的电源。
但是,于非接触状态下,在IC卡和R/W之间执行数据的发送和接收存在一个问题,即:当对包含在IC卡中的存储器进行访问的过程中电磁波的接收状态衰减时,则不能提供足够的功率,并由此引起存储器中数据一致性问题(引起存储器出错)。
另外,当通过使所述IC卡与R/W接触而执行数据的发送和接收时,在用户能够自由地将所述IC卡插入到R/W上或从中拆下的情况下,如果当所述IC卡在对存储器进行访问的中间将其从R/W上拆下,也可能引起存储器出错。
在这种情况下,当数据被保持在例如MS-DOS(微软磁盘操作系统)(已经进行了商标登记)FAT(文件分配表)中的用于存储数据的每个单元(在MS-DOS系统情况下的扇区)处时,在FAT中存储器已经出错的情况下,数据(文件)的所有位置信息都将丢失且无法再对数据进行有效访问。
因此,当存储器出错时,在最坏的情况下,所述IC卡不能使用,因此,针对存储器出错问题,需要某些对策。
另外,对于所述IC卡,利用预定块的一个单元读出和写入数据,因此多个相关数据可以被分别写入到多个块中,即:例如,当所述IC卡被用做电子货币或类似物以用于交付火车费时,可能会出现希望存储有关记录(使用史)的情况。另外,例如登车站和登车时间、下车站和下车时间、登车站和下车站之间的费用等的相关信息被作为记录加以存储时,可以通过将所述信息分成多个块写入。因此,在这种情况下,不仅涉及单个块方面的存储器出错,而且涉及由已经写入相关数据的多个块中的任何一个块引起的存储器出错。
发明内容
就是鉴于这种情况提出了本发明,本发明能够有效地处理存储器出错。
根据本发明信息处理方法的第一方面,根据存储到第一或第二区域中任一个区域中的块号,将被写入到所述数据区域中一个或多个块中的数据写入到一个或多个更新块中,以便更新构成数据区域的块中的数据和所述块的块号,所述块是已经被更新的块,已经被写入到这些块中的数据被存储到第一和第二存储区域的其它位置处。
根据本发明信息处理装置的第二方面,提供了一种数据写入装置,用于根据被存储到第一和第二区域中任一个区域内的块号将需要被写入到一个或多个所述数据区域块中的数据写入到一个或多个更新块中,以便更新构成所述数据区域的块中的数据,并提供了一个块号写入装置,用于将已经是被写入数据的更新块的块号存入到第一和第二区域的一个区域中。
根据本发明信息处理方法和信息处理装置的第一和第二方面,需要根据被存储到第一和第二区域中任一个区域中的块号,将被写入到所述数据区域中一个或多个块内数据写入到一个或多个更新块中,以便更新构成所述数据区域的块中的数据并将已经是被写入数据的更新块的块号存储到第一和第二区域中的另一个区域中。因此,不仅在将数据写入到一个块的情况下、而且在将块写入到多个块的情况下,也能够对存储器出错进行有效处理。
根据信息处理方法的第三个方面,需要被写入到与存储在块号区的块中的块号相对应的数据区的一个或多个块中的数据,被写入到更新块的一个或多个更新块中,以便更新构成数据区的块中的数据,所述块号区的块与存储在第一和第二区中任一区的块号相对应。已经成为数据区的更新块的块号被写入更新块,以便更新构成块号区的块中的块号,其中所述数据区已写入了数据。同时,已经成为块号区中更新块的块的块号被存入第一和第二区中的另一个当中,其中所述块号区中已写入了块号。
根据信息处理装置的第四方面,提供有一个数据写入装置,用于将写入到与存储在块号区域的块中的块号相对应的数据区的一个或多个块中,以便更新构成数据区的块中数据,所述块号区的块与存储在第一和第二区中任一区的块号相对应;第一块号写入装置,用于将已被写入数据的数据区域更新块的块的块号写到更新块中,以用于更新构成块号区的块中的块号;和第二块号写入装置,用于使第一和第二区域中的另一个区域存储已经成为块号区的更新块的块的块号,其中所述块号已被写入到所述块号区中。
根据数据处理方法的第三方面以及数据处理装置的第四方面,写入到与存储到块号区的块的块号相对应的数据区的一个或多个块中的数据,被写入到一个或多个更新块中,以更新构成数据区域的块中的数据,其中所述块号区的块与第一和第二区中任一个中存储的块号相对应。已经成为数据区更新块的块的块号被写入到更新块中,以便更新构成块号区的块中的块号,其中,数据区已写入数据;同时已经成为块号区更新块的块的块号被存入到第一和第二区域中的另一个当中,其中所述块号已经写入到所述块号区中。因此,即使当数据被写入到更多的块中时,也可以解决存储器出错的问题。
附图说明
图1的方框图示出了应用了本发明的无触点卡系统的一个实施例的构成实例;
图2的方框图示出了图1所示读/写器1的构成实例;
图3的方框图示出了图1所示IC卡2的构成实例;
图4A和4B是用于解释本发明的基本原理的框图;
图5的流程图用于解释具有图4所示结构存储器的读出处理;
图6的流程图用于解释具有图4所示结构的存储器的写入处理;
图7示出了应用了单指针系统的存储器结构实例;
图8示出了应用了单指针系统的存储器结构实例;
图9的流程图用于解释由单指针系统执行的读出处理;
图10的流程图用于解释由单指针系统执行的写入处理;
图11示出了应用了双指针系统的存储器结构实例;
图12示出了应用了双指针系统的存储器结构实例;
图13的流程图用于解释由双指针系统执行的读出处理;
图14的流程图用于解释由双指针系统执行的写入处理;
图15示出了当数据由双指针系统读出和写入时,图3所示EEPROM66的结构实例;
图16(A),16(B)示出了用于构成一个有效确定块的物理块的结构实例;
图17(A),17(B)示出了用于构成指针区域的物理块的结构实例;
图18的流程图用于解释初始化处理,该初始化处理在执行对EEPROM66读出和写入之前执行;
图19示出了RAM67的存储内容;
图20的流程图用于解释图18所示步骤S81处的详细处理;
图21的流程图用于解释对EEPROM66的读出处理;
图22的流程图用于解释在图21步骤S103处的详细处理;
图23的流程图用于解释对EEPROM66的写入处理;
图24的流程图用于进一步解释在图23步骤S123处的详细处理;
图25用于解释图24步骤S143和S144的处理;
图26的流程图用于进一步解释图23步骤S130处的详细处理;
图27用于解释图26步骤S152和S153的处理;和
图28用于解释图23步骤S135处的处理。
具体实施方式
图1示出了应用了本发明的一个无触点卡系统的实施例的结构实例。
所述无触点卡系统由读/写器R/W1、IC卡2和控制器3组成,使用电磁波在无触点状态下在R/W1和IC卡2之间执行数据的发送和接收。
即:R/W1发送预定命令给IC卡2,IC卡2接收该命令并根据这个命令执行处理。另外,IC卡2根据处理结果发送一个应答数据给R/W1。
R/W1经过一个预定接口(例如,与RS-485A等规定相符)连接到控制器3,且控制器3通过向R/W1提供预定控制信号使R/W1执行预定处理。
图2示出了图1所示R/W1的结构实例。
在IC21中,用于处理数据的DPU(数据处理单元)31、用于处理发送给IC卡2的数据和从IC卡2接收的数据的SPU(信号处理单元)32、用于执行与控制器3通信的SCC(串行通信控制器)33和预先存有处理数据所需信息的ROM41及暂存处理过程中间数据的RAM42构成的存储单元34被经过总线连接。
另外,连接到所述总线上的还有一个闪速存储器22。
DPU31输出一个向IC卡2发送的命令给SPU32并从SPU32接收IC卡2所接收到的应答数据。
SPU32根据向IC卡2发送的命令执行一个预定处理(例如:BPSK(双相移键入)调制(对一个相位码编码)等),然后将其输出给一个调制电路23并从解调电路25接收由IC卡2发送的一个应答数据并根据所述数据执行一个预定处理。
调制电路23利用由SPU32提供的数据并以ASK(幅值移位键入方式)调制由震荡器26提供的预定频率(例如:13.56MHz)对载波进行调制,并经过天线27输出作为电磁波的调制波给IC卡2。在这种情况下,调制电路23以调制度1或更少地执行ASK调制。即:即使是在数据处于低电平的情况下,也可以避免调制波的最大幅值被废除。
解调电路25解调经过天线27接收的调制波(ASK-调制波)并输出解调数据给SPU32。
图3示出了图1所示IC卡2的结构实例。根据IC卡2,IC51接收从R/W1发送的调制波。另外,电容器52与天线53一起构成了LC电路并与具有预定频率(载波频率)的电磁波同步(谐振)。
在RF接口单元61中,ASK解调单元81检测和解调经过天线53接收的调制波(ASK调制波),向BPSK解调电路62输出解调信号;PLL(相位锁定环)单元63和电压调节器82稳定由ASK解调单元81检测的信号并将该信号作为直流电源提供给各电路。
另外,在RF接口单元61中,震荡电路83使具有和数据时钟频率相同频率的信号产生震荡并将该信号输出给PLL单元63。
RF接口单元61的ASK调制单元84根据计算单元64提供的数据改变作为IC卡2电源的天线53的负载。例如,可以通过一个过程来实现,在该过程中,根据所述数据使一个预定开关元件导通/截止(ON/OFF),并且只有当所述开关元件处于导通状态时才可以将一个预定负载并联到天线53上。
ASK调制单元84利用ASK调制方法调制经过天线53接收的调制波并将调制后的成分经过天线53发送给R/W1。
PLL单元63根据由ASK解调单元81提供的数据与所述数据同步地形成一个时钟信号并输出该时钟信号给BPSK解调电路62和BPSK调制电路68。
当利用BPSK调制方式对由ASK解调单元81解调的数据进行调制时,BPSK解调电路62根据从PLL单元63提供的时钟信号执行数据的解调(译码一个chester码)并输出解调数据给计算单元64。
当从BPSK解调电路62提供的数据被加密时,计算单元64在编码/译码单元92中译码所述数据并在定序器91(数据写装置)(块号写装置)处处理所述数据。另外,当数据没有被加密时,BPSK解调电路62提供的数据不经过编码/译码单元92的处理而直接提供给定序器91。
定序器91根据作为命令提供给它的数据执行处理。即:例如,定序器91向EEPROM 66(存储装置)写入或从EEPROM 66读出数据。
计算单元64的奇偶计算单元93计算Reed-Solomon码作为来自数据的奇偶性,所述数据是向ROM 65存储或是存储在EEPROM 66中的数据。
另外,在定序器91中执行预定处理之后,计算单元64根据处理输出应答数据(用于向R/W1发送的数据)给BPSK调制电路68。
BPSK调制电路68对计算单元64提供的数据以BPSK方式调制并输出数据给RF接口单元61的ASK调制单元84。
ROM 65存储由定序器91执行的处理程序或其它所需数据。当定序器91执行处理时,RAM 67暂存处理过程当中的数据。
EEPROM(电可擦可编程ROM)66是一个非易失存储器,用于在IC卡2结束与R/W1的通信和停止提供电能之后继续存储数据。
下面解释在R/W1和IC卡2之间数据的发送和接收处理。
R/W1/(图2)从天线27辐射一个预定电磁波,监视天线27的负载状态并进行等待,直到由于一个IC卡2介入而检测到负载状态发生变化为止。在这种情况下,R/W1可以重复执行处理(轮询)以辐射一个被具有预定短模式的数据进行ASK调制的电磁波,并以固定的时间间隔呼叫IC卡2直到被提供来自IC卡2的应答为止。
就R/W1而言,当检测到一个IC卡介入时,R/W1的SPU 32利用作为载波的具有预定频率(例如可以是数据时钟频率的两倍或更多)矩形波的数据(根据处理过程,使IC卡2工作的命令或是写入IC卡2的数据等等)执行BPSK调制并输出所形成的调制波给调制电路23。
顺带提到,在BPSK调制中,使用不同的转换可以使数据响应调制波的相位变化。在这种情况下,由于即使是在BPSK调制信号被反相时,信号也将被解调成原始数据,所以,不需要考虑在解调操作中调制波的极性问题。
调制电路23利用小于1(例如是0.1)的调制度(=数字信号的最大幅值/载波的最大幅值)根据预定载波进行ASK调制并经过天线27向IC卡2发送所形成的调制波(ASK调制波)。
另外,当没有执行所述发送时,调制电路23被构成以利用由例如数字信号的两个电平(高电平和低电平中)的高电平形成一个调制波。
就IC卡2而言(图3),由R/W1的天线27辐射的部分电磁波在由天线53和电容器52构成的LC电路中被转换成电信号,所述电信号(调制波)被输出给IC51的RF接口61。另外,通过整流和平滑调制波,RF接口61的ASK解调单元81执行包络检测,将如此形成的信号提供给电压调节器82,通过抑制信号中的直流分量提取数据信号并输出数据信号给BPSK解调电路62和PLL单元63。
电压调节器82稳定从ASK解调单元81提供的信号,形成直流电源并将它提供给各电路。
另外,在这种情况下,由例如下述等式表示天线53的端电压V0:
V0=V10(1+kxVs(t))cos(ωt)
其中,V10cos(ωt)表示载波,符号k指定调制度和Vs(t)表示从SPU 32输出的数据。
另外,在已经被ASK解调单元81整流的电压低电平值VLR例如可用下式表示:
VLR=V10(1+kx(-1))-Vf
在这个等式中,符号Vf指定在一个二极管处的压降,该二极管构成一个整流电路,用于在ASK解调单元81中执行整流和平滑操作,且电压大约0.7伏。
在接收已经被ASK解调单元81整流和平滑的信号的基础上,电压调节器82稳定所述信号并将该信号作为直流电源提供给从计算单元64开始的各电路。另外,由于解调波的解调度(k)小于1,所以整流之后的电压变化(高电平和低电平之间的差)很小。因此,电压调节器82很容易形成一个直流电源。
例如,当利用3V或更高的V10接收具有5%调制度“k”的调制波时,整流后的低电平电压VLR是2.15(=3×(1-0.05)-0.7)V或更高,因此,电压调节器82能够提供作为电源的足够电压给各种电路。另外,在这种情况下,整流后电压V1的交流分量(数据分量)的幅值2×k×V10(峰-峰值)是0.3(=2×0.05×3)V或更高,因此,ASK解调单元81能够利用足够高的S/N比对数据解调。
在这种方式下,使用具有小于1或更小调制度“k”的ASK调制波可以执行低误差比(在高S/N比状态下)的通信,并且足以作为电源的直流电压可以被提供给IC卡2。
在从ASK解调单元81接收数据信号(BPSK调制信号)的基础上,BPSK解调电路62根据由PLL单元63提供的时钟信号解调数据信号并输出被调制的数据给计算单元64。
当由BPSK解调电路62提供的数据被加密时,计算单元64译码在编码/译码单元92处的数据并将所述数据(命令)提供给定序器91。另外,在这个周期期间,即在已经向IC卡2发送了数据之后,R/W1等待一个时间周期直到接收到应答为止,同时传送值为1的数据。因此,在这个周期内,IC卡2接收具有固定最大值的调制波。
在处理结束之后,定序器91向BPSK调制电路68输出关于处理结果的数据(用于向R/W1发送的数据)。与R/W1的SPU 32类似,BPSK调制电路68对数据以BPSK方式调制(编码成一个chester码)。此后,电路输出数据给RF接口单元61的ASK调制单元84。
另外,ASK调制单元84根据通过利用开关元件改变连接到天线53两端负载的方法而发送的数据对所接收的调制波进行ASK调制,借此,R/W1天线27的端电压被改变并将数据发送给R/W1。
同时,R/W1的调制电路23继续发送来自IC卡2的接收数据中的具有值1(高电平)的数据。另外,由IC卡2传送的数据根据天线27电磁耦合到IC卡2的天线53端电压的微小变化(例如几十毫伏),在解调电路25中被检测。
再有,通过利用具有高增益的放大器进行放大而对检测到的信号(ASK调制波)进行调制并且作为解调结果而获得的数字数据被输出给解调电路25中的SPU 32。SPU 32解调该数据(BPSK解调信号)并将其输出给DPU 31。DPU 31处理来自SPU 32的数据和根据处理结果确定通信是否已经结束。另外,当确定通信将被再此执行时,与上述情况类似,在R/W1和IC卡2之间执行通信。同时,当它确定通信即将结束时,R/W1结束与IC卡2的通信处理。
如上所述,R/W1利用具有小于1调制度“k”的ASK调制方式将数据传至IC卡2以及将数据发送给IC卡2,并且IC卡2接收所述数据,根据所述数据执行处理并根据处理结果将数据返回给R/W1。
下面解释由IC卡的定序器91(图3)对EEPROM 66的读写处理,在此之前,首先解释作为在前级准备的本发明处理存储器出错的方法。
首先解释处理存储器出错方法的基本原理。
现在,例如就存储器而言,假定由预定块单元执行读和写信息并考虑存储到某个块B1的数据被更新的情况。
当新的数据被写入(对已经存储的数据重写)到块B1时,在提供给IC卡的电能在写操作中间变得不足的情况下,所述新数据不能被完全写入。存储在块B1中的数据被破坏从而引起存储器出错。因此,当在需要被写到块B1的新数据实际被写到存储器B1的情况下引起存储器出错时,系统不能对其中的内容进行处理。例如,当数据存储于相当于电子货币的块B1,进行新的交易时,所划的帐利用上述方法作为新数据被写入,当产生存储器出错时,所述IC卡不能使用。
因此,将要被写到B1块中的新数据被写到与块B1不同的块B2中。在这种方式下,虽然在向块B2写入新数据的过程中间,在产生存储器出错的情况下,一个新数据不能够被完全写入且不能保证有效,但是,至少存储在块B1中的数据能够避免被破坏。
另外,当进一步提供新数据时,数据被写到不同于块B2的一个块中(例如块B1)。在这种方式下,在提供新数据的场合下,该新数据被写到除已经存储了在先写入数据的一个块之外的一个块中,借此,通过写入所述新数据使至少是在先已经写入的数据不被破坏,从而即使是在最坏的情况下也能够避免所述IC卡不能使用。
下面参考图4A和4B解释向应用本发明原理的存储器写入数据和从该存贮器读取数据的方法。
根据图4A和4B,一个块是由11个字节构成的,其中,1个8位最新信息字节,8个数据字节和2个有效信息字节被从前端连续配置。但是,一个块的位数和分配给最新信息的位数、以及数据和有效信息不局限于上述。
最新信息指出块存储的新内容(最新特性)以及可以使用的例如绝对数据和时间以及顺序号等。即:当使用绝对数据和时间时,在数据和存储数据的时间被作为最新信息存储处,可以通过该最新信息检测存储数据的最新块。另外,当使用顺序数时,在例如每次写数据时被增加的顺序号被作为最新信息存储时,具有最大值的值是最新的一个写数据。
在这种情况下,如果能够识别至少两个块中的哪一个是新的就足够了。所述最新的信息能够表示至少三种状态。例如,现在,当0、1和2的三个值被假定是能够表示所述三种状态的最新信息,在每次向两个块之一的一个块写数据时,0、1、2、0、a′a′a′可以被作为已经写入数据的一个块的最新信息。在这种情况下,当两个块的最新信息是数据0和1时,具有数据1的块较新,当它们是1和2时,具有数据2的块较新,和当它们是数据2和0时,具有数据0的块较新。当0、1和2的三个值以这种方式用做最新信息时,数据位数为2就足够了。反之,例如,作为最新信息,可以使用其中的每一个都是一位的三个标记,且每次向所述块写数据时,用于所述位的标记都可以连续改变。
在这种情况下,在下面的描述中,将使用0、1和2的三个值作为最新信息。
下面,有效性信息指出了最新信息和涉及是否写入最新信息的数据的有效性(有效或无效)以及所述块的数据是否被正常完成,以及是否使用例如RS(Reed-Solomon))码等。
另外,所述有效性信息不局限于RS码等的误差校正码。例如,所述有效性信息可以是在写最新信息和数据的同时所计算出的奇偶性,也可以是写入最新信息和数据之后加入的一位标记。
在图4A和4B中,存储器被提供有第一和第二区域的两个块。图4A示出了其中数据01H到08H(H表示十六进制数)已经被存储到第一区域的块内和8个数据FFH已经被存储到第二区域块内的情况。
例如,假定11H到18H被提供作为需要写入的数据,首先,根据所述信息的有效性确定第一和第二区域两个块的有效性。在这种情况下,假定其中的一个块是有效的。
当两个块都是有效的时,根据最新信息确定哪一个是比较新的块。在图4A中,利用01H或00H指定第一或第二区域块的最新信息,因此,第一区域的块是新的。
在写新数据的情况下,如上所述,为了避免在前已经写入的数据被破坏,新数据被写到一个不是最新块的块中。因此,在这种情况下,例如如图3B所示,数据11H到18H被写到第二区域的块中。在完成写数据11H到18H之后,首先,更新已经被写入数据的块的最新信息。即:利用01H指定已经是最新块的第一区域块的最新信息,因此,利用通过使01H加1产生的02H指定现在被写入数据的第二区域块的最新信息。
最后,表示数据11H到18H的有效性信息和最新信息02H被写入到第二区域的块中。
下面参考图5和图6进一步解释向具有图4所示结构的存储器写入数据和从该存贮器读取数据的处理。首先参照图5流程解释读处理。
首先,在步骤S1,参照第一和第二区域的有效性信息确定所述有效性。当在步骤S1确定只有第一区域的块是有效的时,即当第一区域的块有效和第二区域的块无效时,操作前进到步骤S2。在步骤S2,从是有效块的第一区域读出数据并且处理结束。另外,当在步骤1确定只有第二区域的块是有效时,即当第一区域的块无效和第二区域的块有效时,操作前进到步骤S3。从是有效块的第二区域读出数据和处理结束。
同时,当第一和第二区域的块在步骤S1都被确定为有效时,操作前进到步骤S4,在这里,参照第一和第二区域块的最新信息确定最新特性。当在步骤S4确定第一区域比第二区域新时,操作前进到步骤S2,从是最新一个的第一区域的块中读出数据并且处理结束。另外,当在步骤S3确定第二区域比第一区域新时,从是最新一个的第二区域的块中读出数据并且处理结束。
下面参照图6的流程解释所述的读出处理。
在这种情况下,在步骤S11以类似于在图5步骤S1的方式确定有效性。当仅第一区域的块被确定为有效时,操作前进到步骤S12,已经被更新的数据、最新信息和有效性信息被写入做为无效块的第二区域并且处理结束。另外,当在步骤S11确定只有第二区域的块是有效的时,已经被更新的数据、最新信息和有效性信息被写入做为无效块的第一区域并且处理结束。
同时,当在步骤S11确定第一和第二区域的块都是有效时,操作前进到步骤S16并且第一和第二区域的块的最新特性以类似于图5所示步骤S4的方式确定。当在步骤S16确定第一区域比第二区域新时,操作前进到步骤S12且数据、最新信息和有效性信息被写入第二区域中较老的一个块中,以便如上所述地保持较新一个的第一区域。另外,当在步骤S16确定第二区域比第一区域新时,操作前进到步骤S14且数据、最新信息和有效性信息被写入到一个较老的一个第一区域的块中,以便如上所述地保持较新一个的第二区域的块。
另外,第一和第二区域的两个块被从外部识别成相同逻辑块的逻辑块。即第一和第二区域的块是物理块,这些物理块客观存在并被分配有用于识别它们的唯一物理块号。另外,第一和第二区域的物理块的物理块号与用于识别逻辑块的逻辑块号对应相同。借此,第一和第二区域的物理块被从外部识别为单一的逻辑块。
即在图4A和4B中,尽管第一和第二区域物理块的物理块号彼此不同,但相同的逻辑块号被分配给它们中的一个。请求一个访问以从外部使所述逻辑块具有一个逻辑块号。另外,在存储器一侧,当产生一个对逻辑块的访问请求时,分别执行已经参照图5或图6解释的读或写处理,以用于具有与逻辑块一致的物理块号的块,即第一和第二区域。
另外,在下面的描述中,假定物理块号和逻辑块号中任一都由一字节表示。
另外,在上述情况下,在结束向一个物理块写数据之后,物理块的最新信息和有效性信息被更新。因此,当多个相关数据被写入到多个物理块时,可能引起新老数据的混合。即当在向多个逻辑块写多个数据过程当中引起存储器出错时,从外部看,虽然在存储器出错之前已经被写入新数据的逻辑块中存在新数据,但是,在引起存储器出错时,旧数据存在于一个范围之中,该范围从存在存储器变化的逻辑块到写入新数据的逻辑块。
当多个相关数据作为整体是有意义的时,其整体是有用的。如上所述,当在多个相关数据中新数据和旧数据被混合时,不能够建立兼容性。即,例如,在如上所述多个相关数据是车站和上火车的时间、车站和下火车的时间和上、下火车站之间的费用等的情况下,当根据下火车的站写新数据和根据上火车的时间保留老数据时,兼容性不能够被建立且数据变得无用。
当在多个数据写入结束之前在相关数据被写入到多个逻辑块的情况下引起存储器出错时,从外部看,需要使多个相关数据的所有老数据保持在所述逻辑块中。
因此,存储器的构成例如如图7所示。
即:存储器由作为数据区域的物理块构成,用于存储数据和第一和第二区域的物理块,所述第一和第二区域用于存储构成所述物理块的物理块号。
另外,还是在图7中,与图4类似,一个物理块由11个字节构成。
构成数据区域的各种物理块被构成以存储11字节的一个单元的数据并且在图7中,利用8个被分配有从#00H到#07H作为物理块号(注意#表示物理块号)的物理块构成所述数据区域。
另外,在这种情况下,从外部看,可以看到4个逻辑块,标号%00H到%03H被分配给四个逻辑块以用做逻辑块号。另外,在图7所示的状态下,使逻辑块号%00H到%03H分别对应于物理块号#00H到#03H。从前一个字节被分配给所述最新信息以及后两个字节被分配给有效性信息的观点来看,第一和第二区域的物理块具有与图4所示情况相同这些特性。但是,数据区域中物理块的物理块号,即用于构成所述数据区的物理块的指针被配置在最新信息和有效性信息之间的8个字节处。
在第一和第二区域中最新信息和有效性信息之间的8个字节中,数据区域目标块的物理块号被配置在4个字节的前半部分且所述数据区域更新块的物理块号被配置在4个字节的后半部分。
在这种情况下,目标块表示一个物理块将变成写信息过程中的写目标。即例如如上所述,当存储在块B1中的数据被改写成一个新数据时,根据本发明,所述新数据被写到块B2中,在这种情况下,在传统情况下最初被写入新数据的块对应于目标块。
再有,更新块表示一物理块,当信息被写到物理块且其存储内容被更新时使用之。即,例如当存储到块B1的数据被改写成新数据时,该块B2实际被写入相应于该更新块的新数据。
按第一和第二区域中的最新信息和有效性信息之间的8个字节的前半部分的4个字节配置的物理块号与逻辑块号对应。例如,在第一到第四字节处安排的物理块号分别与逻辑块号%00H到%03H对应。
在图7中,第一或第二区域的物理块号分别由标号#FE或#FF指定。
根据上述的存储器结构,在图7中,4个相关数据被存储到物理块#00(具有物理块号#00H的物理块)到#03H和在第一区域的最新信息和有效性信息之间8个字节中前半部分4个字节(此后称之为用于数据区域中目标块的一个指针列)处以这个顺序安排#00H到#03H的物理数据块号。
例如,当注意第一区域时,物理块号#00H到#03H分别与逻辑块号%00H到%03H对应。
在这种情况下,当注意第一区域时,与逻辑块%00H到%03H对应的物理块#00H到#03H中的任何一个构成将被作为访问目标的块,即目标块。
更新块可以是在所述时间点处不构成目标块的物理块,或者说是空区域。因此,在图7中,当注意第一区域时,物理块#04H到#07H可以是更新块。更新块的物理块号#04H到#07H被安排在第一区域最新信息和有效性信息之间8个字节中后半部分4个字节处(此后称之为用于数据区域更新块的一个指针列)。
例如,假设只有作为第一和第二区域的一个区域的第一区域是有效的,并假设从外部发出一个向与逻辑块号%00到%02相应的逻辑块写入相关两个数据的请求。
在这种情况下,通过参考用于有效第一区域中数据区域目标块的列指针,与逻辑块号%00H到%02H相对应的物理块号#00H到#02H被识别并且物理块#00H到#02H被识别为需要写入两个相关数据的目标块。
另外,通过参考用于第一区域中数据区域更新块的列指针,具有与目标块号相同号的更新块的物理块号#04H到#05H被识别。另外,更新块的物理块号例如被从根据安排在用于数据区域更新块的列指针左侧的一个开始陆续识别。
再有,最初被写到作为目标块的物理块#00H到#02H的两个数据被写到作为更新块的物理块#04H到#05H中。
在这种情况下,图8表示一种状态,在该状态下,假设将被写入到与逻辑块号%00H到%02H对应的物理块号#00H到#02H的两个数据分别是40H到4AH和50H到5AH,并且这些数据被分别写入到作为更新块的物理块#04H和#05H。
然后,已经被写入新数据物理块的块号#04H和#05H被写入到所述列指针中,以用于无效的第二块中数据区域的目标块。即用于第一区域中数据区域目标块的所述列指针被拷贝到第二区域,并且如图8所示,目标块的物理块号#00H到#02H被分别改写成物理已经被写入数据的更新块的物理块号04H和#05H。结果是当注意第二区域时,物理块号#04H和#05H分别对应于物理块号#00H和#02H对应的逻辑块号%00H和%02H。
另外,已经被写入数据的物理块#00H和#02H被改变成更新块,并且物理块号#00H和#02H被写到所述列指针以用于更新在处于无效状态下的第二区域中的块。即,用于第一区域中数据区更新块的列指针被拷贝到第二区域,并且如图8所示,其中已经被写入数据的物理块的物理块号#04H和#05H被分别改写成目标块的物理块号#00H和#02H。结果是,当注意第二区域时,物理块#00H和#02H构成所述更新块。
在如上所述对第二区域更新之后,与图4所示情况相似,第二区域中最新信息和有效性信息被陆续写入(改写)。
因此,在这种情况下,除非用于所述数据区域目标块的列指针结束有关第二区域的写操作,否则不必写入表示有效性的有效性信息。即在上述的情况下,除非向两个逻辑块%00H和%02H的数据写入结束,否则用于表示有效性的有效性信息不必写入到第二区域。
因此,当在数据被写入到两个逻辑块%00H和%02H的周期期间内引起存储器出错时,只有第一区域处于有效状态。通过参考有效的第一区域,存储到分别与逻辑块%00H和%02H对应的物理块#00H和#02H的旧数据被从逻辑块%00H和%02H中读出。
同时,当向两个逻辑块%00H和%02H写数据过程已经结束且第二区域中最新信息和有效性信息已经被更新时,通过参考处于有效并且最新状态的第二区域,存储到分别与逻辑块%00H和%02H对应的物理块#04H和#05H的新数据被从逻辑块%00H和%02H中读出。
在这种情况下,当作为存储在逻辑块%00H和%02H中的多个数据的两个数据彼此相关时,即使是在引起存储器出错的情况下,不仅是个别数据的兼容性、而且是两个数据间的兼容性都可以得到保持。
下面参照图9和10的流程进一步解释具有图7和图8所示结构的存储器的读/写操作。
首先,参照图9的流程解释读处理。
在这种情况下,首先在步骤S21或S26,执行类似于图5所示步骤S1或S4的确定处理。
接着,当只有第一区域有效和虽然当第一和第二区域这两个区域都有效但第一区域较新时,处理前进到步骤S22并且当只有第二区域有效和当虽然第一和第二两个区域都有效,但第二区域较新时,操作前进到步骤S24。
在步骤S22,通过参考用于第一区域中数据区域的目标块的指针列,与需要读出数据的逻辑块号(所述逻辑块号例如是由外部提供的)一致的物理块号、即作为指向目标块的指针的物理块号被识别并且操作前进到步骤S23。在步骤S23,根据在步骤S22识别的物理块号从所述物理块中读出数据,处理结束。
同时,在步骤S24,通过参考用于第二区域中数据区域目标块的指针列,与需要读出数据的逻辑块号一致的物理块号,即,作为指向目标块的指针的物理块号被识别且操作前进到步骤S25。在步骤S25,根据在步骤S24识别的物理块号从所述物理块中读出数据,处理结束。
下面参照图10的流程解释读操作。
在这种情况下,在步骤S31或40,执行与图5所示步骤S1或S4类似的确定处理。
另外,当只有第一区域有效和当第一和第二两个区域都有效,但第一区域较新时,操作前进到步骤S32。在步骤S32,通过参考在第一区域中数据区域更新块的指针列识别能够构成更新块的物理块的块号且处理前进到步骤S33。在步骤S33,由外部提供的待写数据被写入更新块中。
另外,当从外部提供需要写到多个逻辑块的数据时,在步骤S32,具有与所述多个逻辑块号相同号的更新块的物理块号可以例如通过在用于第一区域中数据区域的更新块的指针列从左到右方向上连续搜索加以识别。另外在这种情况下,在步骤S33,可以将数据写到分别与所识别的多个物理块号一致的更新块中。
然后,操作前进到步骤S34,用于数据区域目标块的指针列和用于第一区域中数据区域更新块的指针列被更新,且最新信息以及有效性信息被更新,这些都被拷贝到第二区域中。
即:就用于数据区域的目标块的指针列而言,将被写入的与从外部被提供有数据的逻辑块的逻辑块号对应的物理块号(在图7和图8的例子中是#00H和#02H)被更新成实际已被写入数据的更新块的物理块号(在图7和8的例子中是#04H和#05H)。另外,就用于数据区域更新块的指针而言,已经被写入数据的物理块(已经是被更新块的物理块)的物理块号(在图7和8的例子中是#04H和#05H)被更新成具有与已经被写入数据的物理块的物理块号(在图7和8中是#00H和#02H)对应的物理块号。另外,最新信息和有效性信息被更新且上述的更新结果被写入到第二区域中之后处理结束。
同时,当只有第二区域有效和当虽第一和第二两个区域都有效但第二区域较新时,操作连续前进到步骤S36到S38,并且除了就第一或第二区域的处理被分别与就第二或第一区域的处理相反地执行之外,执行分别类似于步骤S32到S34的操作。
另外,参照图7到图10解释了存储器的读/写系统使用了关于数据区域的一级指针,因此,在下面的描述中,所述系统被称之为单指针系统。
同时,在单指针系统的情况下,如图7和8所示,4个物理块号可以被存储到用于数据区域目标块的所述指针列中,因此,最大可以保持4个块的兼容性。
在这种情况下,在图7和8中,由于在是能够保持兼容性的最大块数的4个块的写数据过程中也需要4个更新块,所以,4个块号可以被存储到与用于数据区域目标块方面的所述列指针类似的用于数据区域更新块的所述指针列中。
当所述单指针系统被应用于图7和8所示的结构时,如上所述,最大可以保持4个块数据的兼容性,相反,要保持数量大于4的块的兼容性是困难的。即,当只有构成数据区域的物理块的物理块号被存储到第一和第二区域的物理块中并由它们加以控制时,能够保持数据兼容性的块的数量受能够将物理块号存储到第一和第二区域物理块中的数量的限制。
因此,存储器的构成例如可以如图11所示。
即,在这种情况下,存储器可以由用于存储数据的数据区域物理块、用于存储用于构成数据区域物理块的指针的块号的指针区域的物理块以及用于存储构成指针区域区域的物理块的块号的物理块构成。
另外,在图11中,从空间的角度看,一个物理块是由8个字节构成的。
构成数据区域的各个物理块利用一个单元共8个字节存储数据并且在图11中,由24个分别被分配有物理块号#00H和#17H的物理块构成所述数据区域。
另外,在这种情况下,从外部可以看到16个逻辑块并且这16个逻辑块分别被分配有块号#00H和#0FH。但是,在这种情况下,为方便解释起见,假设逻辑块的数量与构成数据区域的物理块的数量相同,且除从外部看作为逻辑块的物理块以外的8个物理块分别被分配有逻辑块号%10到%17。在图11所示的状态下,逻辑块号%10到%17分别与物理块号#00H到#17H对应。
包括指针区域的各个物理块被构成以存储用于包括用于由一个单元共8个字节构成数据区的物理块的指针的物理块号,并且在图11中,所述指针区域由6个分别被分配有物理块号#18到#1D的物理块构成。在这种情况下,构成指针区域的物理块利用一个单元共8个字节存储物理块号并且所述物理块号由一个字节表示,因此,8个物理块号被存储到一个物理块中。
再有,被安排在指针区域每一个物理块中的8个物理块号与相应的逻辑块号对应。即,被安排在第一到第八字节处的物理块号与以某个逻辑块号(如下所述是%00H、%08H或%10H)为基准偏移(移位)0到7的逻辑块号对应。
就第一和第二区域的块而言,其第一个字节被分配给最新信息且最后一个字节被分配给有效性信息。另外,指针区域物理块的物理块号作为指针被安排在最新信息和有效性信息之间的6个字节处。
在第一和第二区域中的最新信息和有效性信息之间的6个字节当中,指针区域目标块的物理块号被安排在3个字节的前半部分处(下面特别称之为用于指针区域目标块的指针列)并且指针区域的更新块的物理块号被安排在3个字节的后半部分处(下面特别称之为用于指针区域更新块的指针列)。
存储到与指针区域目标块的指针列处的3个物理块号一致的指针区域物理块的物理块号与逻辑块号对应。
即,存储到与第一到第三字节处的物理块号相对应的指针区域的物理块的物理块号分别与逻辑块号%00H到%07H、%08H到%0FH和%10H到%17H对应。
例如,在图11中,当注意第一区域时,在由用于指针区域目标块指针列中物理块号#18H的第一字节指出的指针区域物理块的第一到第八字节处的物理块号#00H到#07H分别与用于第一区域指针区域中目标块的指针列中第一字节对应的逻辑块号%00H到%07H对应。即,在由用于指针区域目标块的指针列中的物理块号指出的指针区域物理块的第一到第八字节处的物理块号分别与从基准物理块号%00H偏移0到7的物理块号%00H到%07H对应。
另外,在由用于指针区域目标块的指针列中的物理块号#19H的第二字节指出的指针区域中的物理块第一到第八字节处的物理块号#08H到#0FH分别与对应于用于第一区域中指针区域目标块的指针列中的第二字节的逻辑块号%08H到%0FH对应。即,在由用于指针区域目标块的指针列中的物理块号的第二字节指出的指针区域物理块的第一到第八字节处的物理块号分别对应于从基准逻辑块号%08H偏移0到7的逻辑块号%08H到%0FH。
类似的,在由用于指针区域指针列中物理块号的第三字节指出的指针区域中物理块第一到第八字节处的物理块号分别对应于从基准逻辑块号%10H偏移0到7的逻辑块号%10H到%17H。
另外,在图11中,利用标记#1E和#1F指定第一或第二区域的物理块号。
根据如上所述构成的存储器,例如,当注意第一区域时,与在用于指针区域目标块的指针列中指定的物理块号一致的物理块构成指针区域的目标块。因此,在图11中,物理块#18H到#1AH构成指针区域的目标块。另外,在图11中,指针区域中剩余的物理块#1BH到#1DH构成用于更新指针区域的更新块。借此,物理块号#1BH到1DH被指定为用于第一区域中指针区域更新块的指针列。
另外,在图11中,例如,在与在指针区域目标块处所述物理块对应的数据区域物理块中逻辑块%00H到%0FH一致的物理块构成数据区域的目标块。因此,在图11中,数据区域剩余物理块(与逻辑块%10到%17H相对应的物理块)构成用于更新数据区域的更新块。
在用于指针区域的更新块的指针列中描述了指针区域更新块的物理块号并因此可以参考指针列识别所述更新块。同时,数据区域的更新块是与逻辑块号%10H到%17H相对应的物理块,因此,通过参考与用于指针区域目标块的列指针中第三字节处描述的物理块号一致的指针区域的物理块,可以根据这里所描述的物理块号识别所述更新块。
现在,只有第一和第二区域中的一个区域是有效的,例如,仅第一区域被假定为有效并且从外部向例如与逻辑块号%00H到%02H一致的逻辑块请求两个相关数据的写入。
在这种情况下,通过参考用于处于有效状态第一区域中指针区域的目标块的列指针和通过参考与这里所述与物理块号一致的物理块,将被写入两个相关数据的数据区域的物理块的目标块被识别。即,通过参考用于第一区域中指针区域目标块指针列的第一个字节,在数据区域中物理块的物理块号与逻辑块%00H和%02H一致的指针区域的物理块#18H可以被识别。另外,通过参考物理块#18H的第一字节和第三字节,可以分别识别与逻辑块%00H的%02H一致的数据区域目标块的物理块号#00H和#02H。
然后识别数据区域的更新块。通过参考用于第一区域中指针区域目标块的指针列的第三字节,其中物理块的物理块号与所描述构成数据区域更新块的逻辑块%10H到%17H一致的指针区域物理块#1AH能够被识别。另外,通过参考物理块#1AH,用于构成数据区域更新块的物理块的物理块号#10H到#17H可以被识别。通过连续参考例如从左边开始的物理块#1AH,可以识别作为数据区域更新块的具有与数据写入目标的数据区域目标块号同样号的物理块。因此,在这种情况下,与物理块号#10H和#11H对应的数据区域的物理块构成更新块。
另外,如图12所示,最初应被写入到作为数据区域目标块的物理块#00H和#02H的两个数据被分别写入到作为数据区域更新块的物理块#10H和#11H。
在这种情况下,图12示出了一个状态,在该状态下,需要被写入到与逻辑块号%00H和%02H一致的物理块号#00H和#02H的两个数据分别由8个字节的00H标记和8个字节的02H标记指定并且这些数据被分别写入到作为数据区域更新块的物理块#10H和#11H中。
如上所述,在需要写入到与存储到与存储在第一区域指针区域物理块号#18H一致的物理块数据区域块号#00H和#02H一致的物理块的两个数据被分别写入到数据区域的更新块#10H和#11H中,已经是数据区域更新块的物理块的块号#10H和#11H被写入到指针区域更新块,另外,最初已经被写入数据的数据区域物理块的物理块号#00H和#02H被写入到指针区域的其它更新块中。
即,首先,通过参考用于第一区域中指针区域的更新块的指针列,可以识别指针区域的更新块。在这种情况下,指针区域的更新块包括其号与需要根据上述写操作改变(更新)到数据区域的指针区域目标块号相同的物理块。通过例如从左边开始连续参考用于指针区域更新块的指针列,可以识别指针区域的更新块。因此,在上述情况下,通过从左边开始连续参考用于第一区域中指针区域更新块的指针列,两个其号与其中已经存储有最初被写入数据的数据区域目标块的物理块号#00H和#02H的指针区域的物理块#18H的两个物理块号相同的指针区域的更新块#1BH和1CH以及其中实际已经被写入数据的物理块的物理块号#10H和#11H的指针区域的物理块#1AH被识别。
另外,例如,在指针区域被识别更新块#1BH和1CH的更新块#1BH中,其中存储有数据区域目标块物理块号#00H和#02H的指针区域的物理块#18H的存储内容被拷贝并且存储内容中数据区域目标块的物理块号#00H或#02H被分别写入到实际已经被写入数据的数据区域的更新块的物理块号#10H或#11H中,如图12所示。
另外,在指针区域被识别的更新块#1BH或#1CH的剩余更新块#1CH中,其中存储有实际已经被写入数据的物理块号为#10H和#11H的指针区域物理块#1AH的存储内容被拷贝,且如图12所示,物理块号#10H和#11H被分别写入到最初已经被写入数据的物理块号(数据区域的目标块)#00H和#02H中。
然后,已经是物理块号被更新的指针区域的更新块的物理块的块号#1BH和#1CH被写入到处于无效状态下第二区域中用于指针区域目标块的指针列中。即,第一区域中指针区域的目标块的指针列被拷贝到第二区域,与逻辑地址%00H和%07H一致的第一区域的第一个字节被重写到指针区域物理块的物理块号#1BH且与逻辑地址%10H到%17H一致的第三字节被重写到指针区域物理块号#1CH(见图12)。
结果是,当注意第二区域时,物理块#1BH、#19H和#1CH变成指针区域的目标块,利用这些目标块,已经是数据区域更新块的物理块#10H或#11H被处理得对应于逻辑块号%00H或%02H,并且,已经是数据区域目标块的物理块#00H或#02H也被处理得与逻辑块号%00H或%02H对应,和通过被分别处理得与逻辑块%10H或%11H对应,已经是目标块的物理块#00H或#02H构成更新块。
即,当参考第二区域中指针区域目标块指针列的第一个字节时,其中描述了与逻辑块号%00H和%02H一致的数据区域物理块的物理块号的指针区域物理块构成了物理块#1BH并且当参考物理块#1BH的第一和第三字节时,与逻辑块%00H和%02H一致的数据区域物理块分别构成了物理块#10H和#11H。另外,当参考第二区域中指针区域目标块的指针列的第三字节时,其中描述了与逻辑块%10H和%11H一致的数据区域物理块的物理块号的指针区域物理块构成了物理块#1CH,且当参考物理块#1CH的第一和第二字节时,与逻辑块%10H和%11H一致的数据区域的物理块、即数据区域的更新块构成了物理块#00H和#02H。
另外,指针区中的物理块的块号#18H(其中,先前存有数据的物理块的物理块号#00H和#02H被存储)以及物理块的物理块号#1AH(其中,已存有数据的物理块号#10H和#11H被存储)被写入到用于第二区指针区的更新块的指针列中。即,用于第一区域中指针区域更新块的指针列被拷贝到第二区域,和如图12所示,其中存储内容已经被更新的指针区域物理块的物理块号#1BH或#1CH被分别重写为其中已经存储了与逻辑地址%00H到%07H对应的物理块号#18H或其中已经存储了与逻辑地址%10H到%17H对应的物理块号#1AH中。
结果是,当注意第二区域时,物理块#18H、#1AH和#1DH构成了指针区域的更新块。
在如上所述更新第二区域之后,与单指针系统相似,第二区域的最新信息和有效性信息被陆续写入。
因此,在这种状态下,除非针对数据区域和指针区域的写操作结束,否则规定有效性的有效性信息不能写入。即,在上述情况下,除非向两个逻辑块%00H和%02H的数据写操作已经结束,否则用于规定有效性的有效性信息不能被写到第二区域中。
结果是,当在数据被写到两个逻辑块%00H和%02H的时间周期内引起存储器出错时,只有第一区域处于有效状态并且通过参考处于有效状态的第一区域,存储到分别被处理得与逻辑块%00H和%02H一致的物理块#00H和#02H的旧数据被从逻辑块%00H和%02H中读出。
同时,当向两个逻辑块%00H和%02H写数据操作结束和第二区域中的最新信息和有效性信息被更新时,通过参考处于有效状态的第二区域和最新信息,存储在被处理得与逻辑块%00H和%02H对应的物理块#10H和#11H的新数据被从逻辑块%00H和%02H读出。
因此,当作为多个存储到逻辑块%00H和%02H的数据中的两个数据彼此相关时,即使是在引起存储器出错的情况下,与单指针系统相似,也能够保持两个数据之间的兼容性。
再有,指针区域中三个物理块的物理块号可以被存储到所指针列中,以便第一和第二区域中指针区域的目标块,和数据区域物理块的8个物理块号可以被存储到指针区域中的一个单一的物理块中。因此,可以控制最大为数据区域的24(=3×8)个物理块。因此,是24个块一半的12个块可以构成最多的数据区域更新块;并且一定数量块的兼容性、即,大于单指针系统一定数量逻辑块的一定数量的逻辑块的兼容性可以被保持。另外,在图11和图12中,所述24个块中的8个块构成更新块并且这8个块数据的兼容性可以最大程度地被保持。
在这种情况下,结合图11和12进行如上所述解释的针对存储器的读/写系统使用关于数据区域的两级指针,并因此在下面被称为双指针系统。
下面结合图13和14的流程进一步解释根据双指针系统的数据读/写操作。
首先,参看图13的流程解释读处理。
在这种情况下,首先,在步骤S51或S58,执行与图5所示步骤S1或S4类似的确定处理。
接着,当只有第一区域有效和虽然第一和第二两个区域都有效但第一区域较新时,操作前进到步骤S52,且当只有第二区域有效和虽然第一和第二两个区域都有效但第二区域较新时,操作前进到步骤S55。
在步骤S52,通过参考用于第一区域中指针区域目标块的的指针列,识别需要读出与逻辑块号一致的物理块号的数据的指针区域物理块的物理块号(指针),且操作前进到步骤S53。即,例如,当存储器的构成如图11所示时,在逻辑块号落入%00H到%07H或%08H到%0FH的范围中的情况下,存储到用于指针区域目标块的指针列第一或第二字节的物理块号被分别识别。
在步骤S53,通过参考在步骤S52识别的与物理块号一致的指针区域物理块,与待被读出数据的逻辑块号一致的物理块号被识别,且处理前进到步骤S54。即,当待被读出数据的逻辑块号是从某个基准值(在图11所示情况下是%00H或%08H)偏移0到7的值时,存储到从与在步骤S52被识别的物理块号一致的物理块左侧移位的位置的物理块号被识别为与待被读出逻辑块号一致的物理块号。
在步骤S54中,从与在步骤S53识别的物理块号一致的物理块中读出数据,并且处理结束。
同时,在步骤S55,通过参考用于第二区域中指针区域目标块的指针列,其中已经存储了与数据将被从中读出的逻辑块号一致的物理块号的指针区域物理块的物理块号被识别,然后,操作连续前进到步骤S56和S57,在这里,执行分别对应于步骤S53和S54的处理,并且处理结束。
下面参照图14的流程解释写处理。
在这种情况下,在步骤S61或步骤S74,分别执行与图5步骤S1或S4类似的确定处理。
此外,当只有第一区域有效或虽然第一和第二两个区域都有效但第一区域较新时,操作进行到步骤S62,通过参考用于第一区域中指针区域目标块的指针列,其中存储了能够构成更新块的数据区域物理块的物理块号被识别且操作前进到步骤S63。即,例如,当存储器的构成如图11所示时,存储到用于第一区域中指针区域目标块的指针列第三字节的物理块号#1AH被识别。
在步骤S63,通过参考存储到与在步骤S62所识别的物理块号一致的数据区域更新块的物理块号,数据区域的更新块被识别,操作前进到步骤S64,并且由外部提供的待被写入数据被写到数据区域的更新块中。
另外,当在步骤S63从外部提供向多个逻辑块写入的数据时,通过连续搜索与在步骤S62所识别的物理块号一致的物理块(指针区域中的物理块),其号与多个逻辑块号相同的数据区域更新块的的物理块号被例如从左向右地识别。另外,在这种情况下,在步骤S64,从外部提供的数据被陆续写入分别与以这种方式识别的多个物理块号一致的数据区域更新块中。
然后,处理前进到步骤S65,其中存储有已经被处理得与写数据目标逻辑块的逻辑块号对应并且已经被更新的物理块号的物理块被拷贝到指针区域的更新块中。即,例如,在已经参照图11和图12进行解释的情况下,存储被处理得与构成写数据目标的逻辑块的逻辑块号%00H和%02H对应的物理块号#00H和#02H的物理块#18H被更新并且物理块号#00H和#02H被分别变成#10H和#11H并被拷贝到指针区域的更新块#1BH中。
另外,在步骤S65,就数据区域更新块而言,用于存储指针的已经被更新的物理块被拷贝到指针区域的更新块中。即,例如,在已经参照图11和图12进行解释的情况下,用于存储数据区域更新块物理块号#10H到#17H的物理块#1AH被更新且物理块号#10H和#11H被分别变成#00H和#02H并被拷贝到指针区域的更新块#1CH中。
然后,操作前进到步骤S66,在第一区域中用于指针区域目标块的指针列和用于指针区域更新块的指针列被更新同时最新信息和有效性信息被更新并被拷贝到第二区域中。
即,例如,根据图11和12所示的例子,就用于第一区域中指针区域目标块的指针列而言,存储到构成已经被处理得与用于写从外部提供数据的逻辑块对应的数据区域物理块#00H和#02H的指针的第一字节的物理块号#18H被更新成构成用于其中实际已经被写入数据的数据区域的物理块#10H和#11H的指针的物理块号#1BH,且构成用于实际已经被写入数据的数据区域物理块#10H和#11H指针的物理块号#1AH被更新成用于已经被处理得与已经被写入数据的逻辑块对应的数据区域物理块#00H和#02H的指针的物理块号#1CH。
另外,就用于第一区域中指针区域更新块的指针列而言,具有其中物理块号已经被更新的指针区域物理块(已经是更新块的物理块)的物理块号#1BH和#1CH被更新成已经变成指针区域更新块的物理块的物理块号#18H和#1AH。
另外,第一区域中的最新信息和有效性信息被更新,上述更新的结果被写入到第二区域和处理结束。
同时,当只有第二区域有效或虽然第一和第二两个区域都有效但第二区域较新时,操作连续前进到步骤S68到步骤S72,除了分别在第二或第一区域方面有关第一或第二区域的处理被相反执行以外,这里的处理分别类似于步骤S62到步骤S66的处理。
另外,在双指针系统的情况下,与单指针系统类似,能够保持兼容性的物理块的数量受到限制,但是,当在与单指针被扩展成双指针类似情况下扩展双指针系统和有关数据区域的指针由3级、4级、aaa构成时,能够保持兼容性的物理块的数量可以被进一步增加。因此,通过考虑一个块的长度和部分地设定用于数据区域的指针级数,能够得到所期望的可保持兼容性的物理块的上限数量。
接着,根据上述双指针系统,利用图3所示IC卡2的定序器91执行对EEPROM 66的读/写处理,并且图15示出了这种情况下EEPROM分配存储器的一个例子。
在图15中,EEPROM 66被提供有256个物理块。每个物理块由总数为40个字节的32个数据单元字节(D00到D1F)和8个奇偶单元字节(P0到P5)构成。
另外,在图15中,物理块号#00H到#FFH被分别分配给256个物理块,其中,物理块#00H到#EFH构成数据区域,物理块#F0H到#FDH分别构成指针区域且物理块#FFH和#FFH分别构成第一和第二区域。
另外,关于数据区域,在240个物理块#00H到#EFH中,224个物理块构成目标块(下面也称之为数据块)和其余的16个物理块构成更新块。因此,最大可以保持16个块数据的兼容性。另外,在图15所示的状态下,物理块#00H到#DFH构成数据块且物理块#EOH到#EFH构成更新块。
关于指针区域,14个物理块#F0H到#FDH中的7个物理块构成目标块(下面也称之为指针块)和14个物理块的7个物理块构成更新块。另外,在图15所示状态下,物理块#F01到#F6H构成指针块和物理块#F7H到#FDH构成更新块。
另外,在图15中,第一和第二区域被表示为有效性确定块。
图16A和16B示出了(第一和第二区域)有效性确定块的一个例子。
如图16A所示,最新信息(最新确定性信息)被安排在有效性块的数据单元的第一字节(D00)处且指针区域(指针块)的目标块的物理块号被安排在第二到第八字节(D01到D07)处。
数据区域中更新块的物理块号被安排在有效性确定块数据单元的第九到第二十四字节(D08到D17)处。即,在上述情况下,在第一和第二区域中,其中已经存储了数据区域更新块的物理块号的指针区域的物理块的物理块号(与用于数据区域更新块的指针相关的指针)和数据区域更新块的物理块号(用于数据区域更新块的指针)被直接存储在有效性确定块中。
因此,在这种情况下,在指针区域中没有其中存储了数据区域更新块物理块号的物理块。
指针区域更新块的物理块号被安排在有效性确定块数据单元的第25到31字节(D18到D1E)处同时它的第32个字节(D1F)备用。
另外,根据上述有效性决定信息利用例如RS码等安排有效性确定块的奇偶单元。
这里,图16B示出了在构成EEPROM 66的情况下在有效性确定块中数据单元的初始值。
图17A和图17B示出了构成指针区域物理块(指针块和它的更新块)的一个例子。
如图17A所示,利用32个单元安排数据区域物理块的物理块号。另外,构成指针区域的物理块的奇偶单元不被用做上述有效性信息而是用做一般的奇偶性,因此,安排给奇偶单元的信息最好被提供有误差校正能力。这是由于在双指针系统中,表示安排给构成指针区域物理块数据单元的信息是否错误的有效性最后不是由安排给奇偶单元的信息确定的,而是在作为有效性确定块的有效性信息的奇偶单元的基础上确定的。
这里,图17B示出了在如图15所示在构成EEPROM 66的情况下构成指针区域物理块的数据单元的初始值的例子。
另外,除了安排在数据单元中的非物理块号而是用于读/写的数据以外,构成数据区域的物理块(数据块和它的更新块)类似于构成指针区域的物理块,因此,省略其解释。
下面解释当所述EEPROM 66被如上构成时,EEPROM 66的读/写处理。
当IC卡2介入R/W1和如上所述开始对构成IC卡2的各个块提供电源时,在定序器91处执行根据图18的流程所示的初始化处理。
即,在这种情况下,首先,在步骤S81,定序器91通过参考EEPROM66选择一个有效和最新的有效性确定块,操作前进到步骤S82,并且被选择的有效性确定块被拷贝到RAM 67。然后,操作前进到步骤S83,定序器91参考安排在所选择有效性确定块处的指针区域处的指针块的物理块号读出与来自EEPROM 66的物理块号一致的指针块,并将它们拷贝到RAM 67中,且结束初始化处理。
通过上述初始化处理,在RAM 67处如图19所示,存储到7指针块的数据区域的数据块的有效性和最新有效性确定块以及物理块号(如图15所示,当是EEPROM 66时物理块号为#00H到#DFH)被存储。
下面,图20的流程示出了图18所示步骤S81处理的详细过程。
在这种情况下,首先,在步骤S91,定序器91参考用做与物理块号#FEH和#FFH一致的有效性确定块的有效性信息的奇偶单元。
当在步骤S91确定只有与物理块号#FEH一致的有效性确定块是有效的时,操作前进到步骤S92,定序器91将物理块号#FEH设置成变量Bn,以用于存储将被选择的有效性确定块的物理块号并且操作返回。另外,当在步骤S91确定只有与物理块号#FFH一致的有效性确定块是有效的时,操作前进到步骤S93,定序器91将物理块号#FFH设置成变量Bn并且操作返回。
同时,当它在步骤S91确定与物理块号#FEH和#FFH一致的两个有效性确定块都是有效的时,操作前进到步骤S94,定序器91通过将数据单元的第一字节做为每个有效性确定块的最新信息加以参考,确定哪个有效性确定块是新的。当它在步骤S94确定与物理块号#FEH或#FFH一致的有效性确定块是新的时,操作前进到步骤S92或步骤S93,并执行与上述情况类似的处理并且操作返回。
下面,解释在初始化结束之后,当来自EEPROM 66的写数据请求被提供给定序器91时所述定序器91的读处理。另外,在这种状态下,存储读出数据逻辑块的逻辑块号被与所述读数据请求一起提供给定序器91。
在这种情况下,如图21的流程所示,首先,在步骤S101,定序器91将需要读出的数据的块号设置成变量“n”并例如将1赋给i以作为计算块号的初始值。这里,定序器91被提供有如上所述存储了需要从中读出的数据的逻辑块的逻辑块号,并且定序器91根据所述逻辑块号的号将逻辑块号“n”识别为需要被读出的数据。
此后,在步骤S102,定序器91将第i个逻辑块的逻辑块号设置成变量B1,操作前进到步骤S103,和如上所述,通过参考RAM 67,识别被处理得与逻辑块号B1对应的物理块号Bp。
然后,定序器91从与EEPROM 66物理块号Bp对应的物理块中读出数据并在步骤S104将传输该数据给RAM 67的传输缓冲器。即,用于构成传输缓冲器的区域被提供给除用于存储参照图18所述初始化处理结果的区域以外的RAM 67和从EEPROM 66读出的数据被传输给传输缓冲器。
然后,在步骤S105,定序器91将变量“i”加1,操作前进到步骤S106,并确定变量“i”是“n”或更低。当它在步骤S106确定变量“i”等于或小于“n”,即当被请求块号的数据没有被读出时,操作返回到步骤S 102并在以下执行上述的类似处理。另外,当它在步骤S106确定变量“i”大于“n”,即当被请求逻辑块的数据读出操作已经结束时,操作前进到步骤S107,存储到RAM67传输缓冲器中的数据被如上所述传输给R/W1,且读处理结束。
图22的流程进一步详细地描述了在图21中的步骤S103的处理。
在这种情况下,首先在步骤S111,定序器91确定所述逻辑块B1是%00H或更高还是%DFH或更低范围中的值。
这里,EEPROM 66准备了在%00H或更高和%DFH或更低范围内的224(等于数据块数)个逻辑块号并执行在步骤S111的确定处理,以确认逻辑块号B1是否是一个可用的值。
当它在步骤S111确定逻辑块号B1不是位于%00H或更高和%DFH或更低范围内的值时,操作前进到步骤S112,执行确定误差处理和结束读处理。即,在这种情况下,逻辑块号B1不是一个可用的值,因此,此后的处理不再执行。
同时,当它在步骤S111确定所述逻辑块号B1是一个位于范围%00H或更高和%DFH或更低内的值,操作前进到步骤S113,通过参考RAM 67识别与逻辑块号B1一致的物理块号Bp,且操作返回。
下面,解释当在执行结合图18所述初始化处理之后,当向定序器91提出对EEPROM 66的写数据请求时的写处理(更新存储到EEPROM 66中的数据)。
这种情况下,与写数据请求一起,数据和需要被写入数据的逻辑块的块号被提供给定序器91。另外,除上述区域以外,用于存储由定序器91接收的写数据的接收缓冲器的区域在RAM 67中是安全的且需要被写入的数据被存储在接收缓冲器中。
在这种情况下,首先如图23流程所示,在步骤S121,定序器91将需要被写入的数据的块号设置成变量“n”并例如将1赋给变量“i”,设置成用于块号计数的初始值。在这种情况下,如上所述,定序器91根据提供给它的逻辑块号的号识别需要被写入数据的块号“n”。
此后,在步骤S122,定序器91将第i个逻辑块的逻辑块号(待被写入第i个数据的逻辑块)设置成变量B1,操作前进到步骤S123,且通过如上所述地参考RAM 67,计算实际被写入需要被写到与逻辑块号B1一致的逻辑块的数据的数据区域更新块的物理块号Br并与此同时执行使所述更新块变成数据块的处理。
即,在步骤S123,首先在图24流程的步骤S141处,通过参考RAM 67,定序器91计算需要将数据写入与实际已经写入逻辑块号B1一致的逻辑块的更新块的物理块号Br。特别是,对从存储到已经被写入数据区域更新块的物理块号的RAM 67的有效性确定块的左侧开始的第i部分加以参考且这里所描述的逻辑块号被设置成变量Br。
然后,操作前进到步骤S142且定序器91如在图21所示步骤S103的情况一样参考RAM 67,以识别被处理得与逻辑块号B1对应的物理块号Bp。
此后,在步骤S143,物理块号Bp被写到其中已经描述了数据区域更新块的物理块号Br的RAM 67的一个位置处,操作前进到步骤S144,物理块号Br被写到其中已经描述了被处理得与逻辑块号B1对应的物理块号Bp的RAM 67的一个位置处,操作返回。
即,如图25所示,在步骤S143和S144处,物理块号Br和Bp的存储位置相互交换,借此,使已经是数据区域更新块的物理块Br改变成与逻辑块B1一致的数据块,且使被处理得与逻辑块B1对应的物理块Bp变成数据区域的更新块。
参看图23,在步骤S123处理结束之后,操作前进到步骤S124,存储到接收缓冲器的第i个数据被写到数据区域的更新块Br(精确地说,是经过图24所述处理已经是数据区域更新块和现在被改变成数据块的物理块Br)且操作前进到步骤S125。
在步骤S125,定序器91使变量“i”加1,操作前进到步骤S126,定序器91确定变量“i ”是否等于或小于“n”。当它在步骤S126确定变量“i”等于或小于“n”时,即,当被请求块号的数据还没有被写入时,操作返回到步骤S122并在后面的步骤中执行与上述情况类似的处理。另外,当在步骤S126确定变量“i”大于“n”时,即,被请求块的写入已经结束时,操作前进到步骤S128,定序器91通过执行步骤S122到S126的处理将存储到其中存储内容已经改变(更新)的RAM 67的指针区域号设置成变量“m”,并例如将1设置给变量“j”以用做被改变的指针区域的初始值。
在这种情况下,虽然通过步骤S123的处理(结合于图4解释的处理)改变了存储到RAM 67的指针块的存储内容,但是,当所述指针块的存储内容被以这种方式改变时,规定所述改变的一个标记被存储到存有指针块的RAM 67的区域中,且在步骤S128中,通过参考该标记识别存储内容已经改变的指针块的号。
然后,操作前进到步骤S129,在定序器91中,例如来自被改变的指针块中RAM 67顶部的第j个物理块号被设置成变量Bn。另外,在步骤S130,定序器91通过参考RAM 67执行一个处理以识别存储最初需要被写入数据的物理块物理块号的指针块的物理块号Bn,并将所述指针块Bn改变成指针区域的更新块。
即,如图26的流程所示,在步骤S130,首先定序器91通过参考RAM67计算指针区域更新块的物理块号Bt,以便改变成一个新的指针块。特别是,参考来自存储到其中已经描述了指针区域更新块的物理块号的RAM 67中存贮的有效性确定块的自左侧的第j部分,且这里所述的物理块号被设置成变量Bt。
然后,在步骤S152,定序器91将物理块号Bt写到其中已经描述了指针块的物理块号Bn的RAM 67的一个位置中,并且操作前进到步骤S153,物理块号Bn被写到已经描述了指针区域更新块的物理块号Bt的RAM 67的一个位置中,且操作返回。
即,如图27所示,在步骤S152和S153,物理块号Bn和Bt的存储位置相互交换,借此,已经是指针区域更新块的物理块Bt被变成指针块,且已经是指针块的物理块Bn被变成指针区域的更新块。
再参考图23,在步骤S130的处理之后,操作前进到步骤S131,定序器91将来自RAM 67更新指针块顶部的第j个指针拷贝到存储在EEPROM67中的指针区域更新块Bt和操作前进到步骤S132。在步骤S132,定序器91使变量“j”加1,操作前进到步骤133,确定变量“j”是否等于或小于“m”。当在步骤S133确定变量“j”等于或小于“m”时,即,当有关所有更新指针块的处理还没有结束时,操作返回到步骤S129并在后面的步骤中执行类似于上述的处理。另外,当它在步骤S133确定变量“j”大于“m”时,即当有关所有被改变的指针块的处理都已经结束时,操作前进到步骤S134且定序器91使数据单元的最后一个字节加1作为存储到RAM 67的有效性确定块的最新信息。
另外,根据这个实施例,如上所述,作为最新信息,可以分别使用0、1和2三个值,同时当作为最新信息在前增加的结果所获得的值是2时,在步骤S124,所述最新信息被变成零。
在步骤S134的处理之后,操作前进到步骤S135,定序器91使奇偶计算单元93计算需要被写到存储到RAM 67有效性确定块奇偶单元的RS代码且操作前进到步骤S136。在步骤S136,定序器91改写RAM67中一有效块确定块位置上的有效块确定块,该块位于EEPROM66上且在初始化处理(图18)的步骤S81处未被选择,操作前进到步骤S137。在步骤S137,在定序器91中,执行表明结束向R/W1的正常数据写入的写结束信息的控制且写处理结束。
如上所述,在完成向数据区域写处理结束之后和向其中存储有用于构成数据区域的物理块的指针的指针区域的写操作结束之后,用于存储有关构成指针区域物理块的指针的有效性确定块(第一和第二区域)的存储内容被更新和因此,在一个或更多物理块中实际存储器出错能够被处理。即,不仅是构成数据区域的一个物理块的存储器出错能够被处理,而且是多个物理块的存储器出错也能够被处理。
另外,如上所述,存储到指针区域有效性确定块和信息被作为一个转换表,用于将数据区域中的逻辑块号转换成物理块号,因此,当在有关有效性确定块或指针区域的写操作过程中产生故障时,虽然引起存储器出错,但这种逻辑存储器出错能够被处理。
结果是,即使是在多个相关数据的写过程中出现故障和存储器产生出错时,存储器出错能够被有效处理,其中,可以保持多个数据的兼容性。
如上所述,虽然上述解释是在本发明被应用到非接触卡系统的情况下作出的,但是,本发明也可以应用于具有一存储器的存储装置或用于写入数据的所有装置。但是,本发明特别适用于在例如如上所述非接触系统的非稳定状态中执行数据传输和接收,也可以是用户能够自由插入或取出IC卡等的接触型系统。
另外,根据这个实施例,虽然指针区域更新块的物理块号或数据区域更新块的物理块号分别被存储到有效性确定块或指针区域被作为所谓的指针区域的空区域或数据区域,但更新块的物理块号并不必须进行存储。但是,当更新块的物理块号没有被存储时,在写过程中,用于构成更新块的物理块必须通过搜索EEPROM 66的存储内容进行检测并因此从高速格式化或处理的角度看,最好存储更新块的物理块号。
另外,根据这个实施例,虽然用于存储有效性确定块、指针区域和数据区域的区域被分配给EEPROM 66上的预定位置,但用于分配这些区域的位置没有特殊限制。再有,这些区域不是非要成为EEPROM上一个连续区域。即,用于存储有效性确定块、指针区域或数据区域的各个区域在EEPROM 66的可以是非连续区域。
另外,根据本实施例,只有在先时间处的存储内容可以保持在EEPROM66中,另外情况下,例如,在一个在先时间处和在超前于该在先时间处的存储内容可以被保持。但是,在这种情况下,还需要进一步的存储容量。

Claims (14)

1.一种数据处理方法,使用在块单元中存储原始信息和更新信息的存储器,所述存储器包括数据区域以及第一指针区域和第二指针区域,所述数据区域用于存储多个数据块和多个更新块,所述第一和第二指针区域用于存储分配给所述数据块和所述更新块的多个块号,所述数据处理方法包括如下步骤:
将对应于所述更新信息的数据写入多个更新块中,所述多个更新块对应于分配给多个更新块并存储在所述第一和第二指针区域的一个区域中的多个更新块号;以及
将分配给多个更新块的多个更新块号存储到所述第一和第二指针区域的另一个区域中,使得存储在所述第一和第二指针区域的另一个区域中的所述多个更新块号指向多个数据块,将存储在所述第一和第二指针区域的所述一个区域中、并对应于其中写入所述原始信息的多个数据块的多个数据块号写入所述第一和第二指针区域的另一个区域中,使得存储在所述第一和第二指针区域的另一个区域中的所述多个数据块号指向多个更新块。
2.根据权利要求1所述的数据处理方法,其中所述第一和第二指针区域还存储关于存储内容的新颖程度的最新信息或关于存储内容有效性的有效性信息,所述数据处理方法还包括:
根据所述最新信息或有效性信息选择所述第一和第二指针区域中的一个区域,
其中写入步骤包括将数据写入多个更新块中,所述数据原来要被写入与存储在所选择的一个区域中的块号相对应的多个数据块中。
3.根据权利要求2所述的数据处理方法,还包括如下步骤:
将已经写入数据的多个更新块的块号存储到第一和第二指针区域的另一个区域中;和
更新所述第一和第二指针区域的所述另一个区域中的最新信息和有效性信息。
4.根据权利要求3所述的数据处理方法,还包括如下步骤:
读出存储到数据块中的数据,所述数据块与存储到所选择的区域的块号对应。
5.根据权利要求1所述的数据处理方法,还包括如下步骤:
将原来要被写入数据的数据块的块号存储到第一和第二指针区域的另一个区域。
6.根据权利要求5所述的数据处理方法,其中写入步骤包括:将原来要被写入到与存储到第一指针区域和第二指针区域的一个区域中的块号对应的多个数据块中的数据,写入到与存储到该区域中的块号对应的多个更新块中。
7.一种数据处理设备,通过使用用于在块单元中存储原始信息和更新信息的存储器执行数据处理,所述存储器包括数据区域以及第一和第二指针区域,所述数据区域用于存储多个数据块和多个更新块,所述第一和第二指针区域用于存储分配给所述数据块和所述更新块的块号,所述的数据处理设备包括:
数据写入装置,将对应于所述更新信息的数据写入多个更新块中,所述多个更新块对应于分配给多个更新块并存储在所述第一和第二指针区域的一个区域中的多个更新块号;和
块号写入装置,用于将分配给多个更新块的多个更新块号存储到所述第一和第二指针区域的另一个区域中,使得存储在所述第一和第二指针区域的另一个区域中的多个更新块号指向多个数据块,将存储在所述第一和第二指针区域的所述一个区域中、并对应于其中写入所述原始信息的多个数据块的多个数据块号写入所述第一和第二指针区域的另一个区域中,使得存储在所述第一和第二指针区域的另一个区域中的所述多个数据块号指向多个更新块。
8.一种信息处理方法,使用由预定块单元存储信息的存储装置,所述存储装置至少包括数据区域、块号区域以及第一区域和第二区域,所述数据区域用于由预定块单元存储数据,该数据区域包括多个数据块和多个更新块,所述块号区域用于由块单元存储分配给数据块和更新块的块号,所述第一区域和第二区域用于存储构成块号区域的各块的多个块号,所述的信息处理方法包括如下步骤:
将更新数据写入多个更新块,所述数据对应于在与所述第一区域和第二区域中的一个区域中存储的块号对应的多个数据块中的原始写入的数据;
将已写入更新数据的更新块的块号写入到块号区域的更新块中;
将块号区域的更新块的块号存储到第一区域和第二区域中的另一个区域中;以及
在每次将数据写入数据区域的更新块中之后,紧接着将已写入数据的更新块改变为数据块,并将原来写有对应于已写入更新块中的数据的数据的数据块改变为更新块。
9.根据权利要求8所述的信息处理方法,其中所述第一区域和第二区域还存储关于存储内容的新颖程度的最新信息或关于存储内容有效性的有效性信息,所述信息处理方法还包括步骤:
根据最新信息或有效性信息,选择第一区域和第二区域中的一个区域,
其中写入数据步骤包括将数据写入数据区域的多个更新块中,所述数据原来要被写入与存储在第一区域和第二区域中所选择的一个区域中的块号相对应的数据区域的多个数据块中。
10.根据权利要求9所述的信息处理方法,还包括如下步骤:
更新第一区域和第二区域的另一个区域中的最新信息和有效性信息。
11.根据权利要求9所述的信息处理方法,还包括如下步骤:
读出存储到数据区域的数据块中的数据,所述数据块与存储于所选择区域的块号相对应。
12.根据权利要求8所述的信息处理方法,还包括如下步骤:
将原来要被写入数据的数据区域的数据块改变成数据区域的更新块,并将其块号写到块号区域的更新块中;和
将已经写入数据区域的更新块的块号的块号区域中的更新块的块号存储到第一和第二区域的另一个区域中。
13.根据权利要求12所述的信息处理方法,其中写入数据的步骤包括:
将数据写入多个更新块中,所述更新块与存储到第一区域和第二区域的另一个区域中的块号对应,所述数据原来要被写入与存储在第一区域和第二区域的一个区域中的块号相对应的多个数据块中。
14.一种信息处理设备,用于使用由预定块单元存储信息的存储装置执行数据处理,所述存储装置至少包括数据区域、块号区域以及第一区域和第二区域,所述数据区域用于由预定块单元存储数据,该数据区域包括多个数据块和多个更新块,所述块号区域用于由块单元存储分配给数据块和更新块的块号,所述第一区域和第二区域用于存储构成块号区域的各块的多个块号,所述的信息处理设备包括:
数据写入装置,将更新数据写入多个更新块,其中所述更新数据对应于原来被写入到与第一区域和第二区域中的一个区域中存储的块号对应的多个数据块中的数据;
第一块号写入装置,用于在每次将数据写入到更新块中之后,接着将已被写入数据的更新块的块号写入所述块号区域的更新块中;和
第二块号写入装置,用于使第一区域和第二区域中的另一个区域存储块号区域的更新块的块号,在该块号区域中,已经作为块号区域中的数据块写入了更新块的块号。
CN2010101445273A 1997-02-28 1998-02-28 数据处理装置和方法 Pending CN101930551A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP062542/97 1997-02-28
JP06254297A JP3702923B2 (ja) 1997-02-28 1997-02-28 情報処理方法および情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN 98107381 Division CN1204819A (zh) 1997-02-28 1998-02-28 数据处理装置和方法

Publications (1)

Publication Number Publication Date
CN101930551A true CN101930551A (zh) 2010-12-29

Family

ID=13203232

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2010101445273A Pending CN101930551A (zh) 1997-02-28 1998-02-28 数据处理装置和方法
CN201010144553.6A Expired - Lifetime CN101807262B (zh) 1997-02-28 1998-02-28 数据处理装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201010144553.6A Expired - Lifetime CN101807262B (zh) 1997-02-28 1998-02-28 数据处理装置和方法

Country Status (8)

Country Link
US (1) US6363455B2 (zh)
EP (2) EP2293219A3 (zh)
JP (1) JP3702923B2 (zh)
KR (1) KR100498520B1 (zh)
CN (2) CN101930551A (zh)
MY (1) MY138670A (zh)
SG (1) SG71759A1 (zh)
TW (1) TW362197B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3721725B2 (ja) 1997-07-09 2005-11-30 ソニー株式会社 情報処理方法および情報処理装置
EP1324207B1 (en) 2001-12-11 2007-02-14 Matsushita Electric Industrial Co., Ltd. Ic card and data processing method therefor
JP3820999B2 (ja) * 2002-01-25 2006-09-13 ソニー株式会社 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム
JP2005518033A (ja) * 2002-02-18 2005-06-16 アクサルト ソシエテ アノニム スマートカードのデータ編成
KR20060121270A (ko) * 2003-12-30 2006-11-28 쌘디스크 코포레이션 페이즈된 프로그램 실패 핸들링을 구비한 비휘발성 메모리 및 방법
JP4701618B2 (ja) * 2004-02-23 2011-06-15 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2005338926A (ja) * 2004-05-24 2005-12-08 Toshiba Corp 携帯可能電子装置
US7986480B2 (en) * 2005-11-03 2011-07-26 Hitachi Global Storage Technologies Netherlands B.V. Micro-journaling of data on a storage device
US7725666B2 (en) * 2005-11-03 2010-05-25 Hitachi Global Storage Technologies Netherlands B.V. Micro-journaling of data on a storage device
US8060703B1 (en) * 2007-03-30 2011-11-15 Symantec Corporation Techniques for allocating/reducing storage required for one or more virtual machines
JP2009258860A (ja) * 2008-04-14 2009-11-05 Sony Corp 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム
JP5101378B2 (ja) 2008-04-16 2012-12-19 ソニー株式会社 リーダライタ、通信処理装置、通信処理方法、データ管理システム及び通信システム
EP2270758B1 (en) * 2009-06-30 2013-11-27 Kabushiki Kaisha Toshiba Portable electronic apparatus, processing apparatus for portable electronic apparatus, and data processing method in portable electronic apparatus
JP5633125B2 (ja) * 2009-07-29 2014-12-03 ソニー株式会社 情報処理方法、情報処理装置、およびプログラム
JP5464066B2 (ja) 2010-06-10 2014-04-09 ソニー株式会社 通信装置、及び、通信方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR565389A (fr) 1922-06-02 1924-01-25 Procédé pour l'utilisation de la vapeur et particulièrement de la vapeur d'échappement au réchauffage de l'eau
KR910002448B1 (ko) 1987-03-20 1991-04-22 가부시키가이샤 도시바 휴대가능 전자장치
JPH02293950A (ja) * 1989-05-08 1990-12-05 Mitsubishi Electric Corp メモリバックアップ方式
JPH03189786A (ja) 1989-12-19 1991-08-19 Sony Corp 情報カード装置
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
JPH04139544A (ja) 1990-10-01 1992-05-13 Fujitsu Ltd データ復元方法
US5418353A (en) 1991-07-23 1995-05-23 Hitachi Maxell, Ltd. Non-contact, electromagnetically coupled transmission and receiving system for IC cards
DE69232627T2 (de) 1991-11-12 2002-12-12 Dainippon Printing Co Ltd Verfahren zur kontaktfreien Kommunikation zwischen einem Halbleiter- Datenaufzeichnungsträger und einer Lese-/Schreibvorrichtung
CA2072728A1 (en) 1991-11-20 1993-05-21 Michael Howard Hartung Dual data buffering in separately powered memory modules
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
FR2687816B1 (fr) * 1992-02-24 1994-04-08 Gemplus Card International Procede de personnalisation d'une carte a puce.
JP2775549B2 (ja) * 1992-05-08 1998-07-16 三菱電機株式会社 連想メモリセルおよび連想メモリ回路
GB2276961B (en) * 1993-03-30 1997-03-26 Int Computers Ltd Set-associative memory
US5566314A (en) * 1993-08-30 1996-10-15 Lucent Technologies Inc. Flash memory device employing unused cell arrays to update files
EP0690386A1 (en) * 1994-04-04 1996-01-03 International Business Machines Corporation Address translator and method of operation
JPH0877050A (ja) * 1994-09-02 1996-03-22 Nippon Telegr & Teleph Corp <Ntt> データベース再構成装置及びデータベース再構成方法
KR0119195B1 (ko) * 1994-11-07 1997-10-04 구자홍 공중전화기의 카드 데이타 백업 방법
JPH08221333A (ja) * 1995-02-10 1996-08-30 Nec Home Electron Ltd Icカード装置
FR2730833B1 (fr) 1995-02-16 1997-03-28 Gemplus Card Int Procede de mise a jour securisee de memoire eeprom
JPH08286979A (ja) * 1995-04-10 1996-11-01 Nec Corp Sramカードのバックアップ方式
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage

Also Published As

Publication number Publication date
JPH10240631A (ja) 1998-09-11
US6363455B2 (en) 2002-03-26
EP0862129B1 (en) 2017-07-26
KR19980071776A (ko) 1998-10-26
US20020007433A1 (en) 2002-01-17
KR100498520B1 (ko) 2005-11-22
EP2293219A3 (en) 2015-02-25
MY138670A (en) 2009-07-31
EP0862129A3 (en) 2001-05-30
JP3702923B2 (ja) 2005-10-05
EP0862129A2 (en) 1998-09-02
SG71759A1 (en) 2000-04-18
CN101807262B (zh) 2014-10-29
CN101807262A (zh) 2010-08-18
EP2293219A2 (en) 2011-03-09
TW362197B (en) 1999-06-21

Similar Documents

Publication Publication Date Title
CN1773559B (zh) 数据处理方法和设备
CN101807262B (zh) 数据处理装置和方法
CN100367236C (zh) 存储系统和对非易失性存储器进行管理的方法
US7752406B2 (en) Information processing method and information processing apparatus having data locations accessible by different devices in accordance with different permissions
KR100273614B1 (ko) 아이씨 카드
JP4245959B2 (ja) Icカードにおけるメモリ管理方法、及びicカード
JP5633125B2 (ja) 情報処理方法、情報処理装置、およびプログラム
CN102279933B (zh) 通信设备和通信方法
US20020158122A1 (en) Method and system to interpret and manage different smart card data architectures
JP2004185244A (ja) リーダライタ通信方式切換方法及びリーダライタ
JPH10105661A (ja) 情報処理方法および情報処理装置、並びに伝送媒体
JPH09330383A (ja) 非接触型データキャリアシステム
JP3890603B2 (ja) 情報処理装置および情報処理方法、リーダ/ライタおよびアクセス方法、並びに記録媒体
JP2004342123A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20101229