JP6758910B2 - IC card - Google Patents

IC card Download PDF

Info

Publication number
JP6758910B2
JP6758910B2 JP2016098848A JP2016098848A JP6758910B2 JP 6758910 B2 JP6758910 B2 JP 6758910B2 JP 2016098848 A JP2016098848 A JP 2016098848A JP 2016098848 A JP2016098848 A JP 2016098848A JP 6758910 B2 JP6758910 B2 JP 6758910B2
Authority
JP
Japan
Prior art keywords
data
area
management
written
management data
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.)
Active
Application number
JP2016098848A
Other languages
Japanese (ja)
Other versions
JP2017207863A (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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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
Application filed by Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2016098848A priority Critical patent/JP6758910B2/en
Publication of JP2017207863A publication Critical patent/JP2017207863A/en
Application granted granted Critical
Publication of JP6758910B2 publication Critical patent/JP6758910B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明の実施形態は、IC(Integrated Circuit)カードに関する。 An embodiment of the present invention relates to an IC (Integrated Circuit) card.

IC(Integrated Circuit)カードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使われるようになってきている。これは、従来の磁気カードに比べ、ICとしてCPU、ROM、RAM、EEPROM(登録商標)などを持つため様々な機能が行えるようになっただけでなく、偽造が難しいためセキュリティの面でも大きく向上したことが要因である。 IC (Integrated Circuit) cards are used not only for payment of credit cards, commuter passes, and other commercial transactions, but also as ID cards for employee ID cards, membership cards, health insurance cards, etc. in various fields. ing. Compared to conventional magnetic cards, this has not only been able to perform various functions because it has a CPU, ROM, RAM, EEPROM (registered trademark), etc. as an IC, but it is also difficult to forge, which greatly improves security. That is the factor.

ICカードの構成は、ISO/IEC 7816-1part1,2にその詳細が規定されている。ICカードは、ICチップを備え、ICチップは、CPU、ROM、RAM、EEPROM、I/O port、及びデータバスを備える。I/O portは、外部のリーダライタからコマンドを受け取り、また処理結果をレスポンスとして出力する。データバスは、各部間のデータ転送を行うバスである。またICチップは、コプロセッサのように暗号処理を高速に行うための補助的な回路を備えることもある。 The details of the IC card configuration are specified in ISO / IEC 7816-1 part1 and 2. The IC card includes an IC chip, and the IC chip includes a CPU, ROM, RAM, EEPROM, I / O port, and a data bus. The I / O port receives a command from an external reader / writer and outputs the processing result as a response. The data bus is a bus that transfers data between each unit. In addition, the IC chip may be provided with an auxiliary circuit for performing cryptographic processing at high speed like a coprocessor.

特開2005−235028号公報Japanese Unexamined Patent Publication No. 2005-235028

ICカードとして接触式タイプ、非接触式タイプが知られている。例えば、非接触タイプのICカードは、リーダライタからの磁界による電磁誘導で動作するため、状況によっては電源が不安定になることも想定される。ICカードの処理の中には不揮発性メモリに書込みを行う処理もあるが、その書込み時に電源が不安定になった場合、書き換え箇所のデータの完全性(原子性)を維持できないことが想定される。近年メモリの大容量化、Flashメモリの活用などにより、書き換え単位がページ単位(256byteや512byteなど)になってきており、書き換え対象以外のデータの完全性(原子性)をどう確保するかが検討されている。 Contact type and non-contact type are known as IC cards. For example, a non-contact type IC card operates by electromagnetic induction due to a magnetic field from a reader / writer, so it is expected that the power supply will become unstable depending on the situation. Some IC card processing involves writing to non-volatile memory, but if the power supply becomes unstable during the writing, it is assumed that the integrity (atomic nature) of the data at the rewritten location cannot be maintained. To. In recent years, due to the increase in memory capacity and the utilization of Flash memory, the rewriting unit has become page units (256 bytes, 512 bytes, etc.), and how to ensure the integrity (atomic nature) of data other than the rewriting target is examined. Has been done.

例えば、不揮発性メモリの本来書きたい場所に書く前に、不揮発性メモリ上の別の場所(バッファ)へ一時書込みを行うことで、本来の書込み先へ書込んでいる最中に電源が不安定になったとしても、データの完全性(原子性)を確保する対策等も存在する。しかしながら、メモリの耐久性及び書込み回数増加による処理時間増加など改善点が挙げられている。 For example, by temporarily writing to another location (buffer) on the non-volatile memory before writing to the original location of the non-volatile memory, the power supply becomes unstable while writing to the original write destination. Even if it becomes, there are measures to ensure the completeness (atomic nature) of the data. However, improvements such as memory durability and an increase in processing time due to an increase in the number of writes are mentioned.

本発明の目的は、不揮発性メモリへの書込みにおけるデータの完全性(原子性)確保に優れたICカードを提供することである。 An object of the present invention is to provide an IC card excellent in ensuring data integrity (atomic nature) when writing to a non-volatile memory.

実施形態のICカードは、不揮発性メモリと、揮発性メモリと、及びデータ処理部とを備える。前記不揮発性メモリは、第1及び第2の領域を含む。前記データ処理部は、前記第1及び第2の領域で多重化されたデータの書き換え指示に対応して、前記第1の領域に書き込まれた第1の管理データ、及び前記第2の領域に書き込まれた前記第1の管理データに対応する第2の管理データに基づき、前記第1及び第2の領域のうちの一方を読み出し元として選択する。また、前記データ処理部は、前記第1の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第3の管理データと第3のデータを保持し、前記第2の領域のデータを消去し、前記第2の領域に前記第3の管理データと前記第3のデータを書き込む。また、前記データ処理部は、前記第2の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第3の管理データと第3のデータを保持し、前記第1の領域のデータを消去し、前記第1の領域に前記第3の管理データと前記第3のデータを書き込む。 The IC card of the embodiment includes a non-volatile memory, a volatile memory, and a data processing unit. The non-volatile memory includes first and second areas. The data processing unit responds to the data rewriting instruction multiplexed in the first and second regions by the first management data written in the first region and the second region. One of the first and second areas is selected as the read source based on the second management data corresponding to the written first management data. Further, when the first area is selected, the data processing unit writes the first management data and the first data written in the first area to the volatile memory, and the volatile memory. Rewrite at least a part of the first management data and the first data written in the volatile memory to hold the third management data and the third data, and the data in the second area. Is erased, and the third management data and the third data are written in the second area. When the second area is selected, the data processing unit writes the second management data and the second data written in the second area to the volatile memory, and writes the volatile memory. The second management data and at least a part of the second data written in the data are rewritten to hold the third management data and the third data on the volatile memory, and the data in the first area. Is erased, and the third management data and the third data are written in the first area.

実施形態に係るICカードの概略構成の一例を示すブロック図である。It is a block diagram which shows an example of the schematic structure of the IC card which concerns on embodiment. 実施形態に係るデータの読み出し元と書込先が同じ場合の書き換え処理の一例について説明する。An example of the rewriting process when the data read source and write destination according to the embodiment are the same will be described. 実施形態に係るデータの読み出し元と書込先が異なる場合の書き換え処理の一例について説明する。An example of the rewriting process when the data read source and write destination according to the embodiment are different will be described. 実施形態に係る管理データの一例を示す図である。It is a figure which shows an example of the management data which concerns on embodiment. 実施形態に係る書き換え処理の一例を示すフローチャートである。It is a flowchart which shows an example of the rewriting process which concerns on embodiment.

図1は、実施形態に係るICカード1の概略構成の一例を示すブロック図である。 FIG. 1 is a block diagram showing an example of a schematic configuration of an IC card 1 according to an embodiment.

例えば、ICカード1は接触式タイプ又は非接触式タイプのICカードである。接触式タイプの場合、ICカード1は、リーダライタ2と接触して通信し、非接触式タイプの場合、ICカード1は、リーダライタ2と非接触で通信する。なお、ICカード1は、接触式と非接触式の両タイプをサポートするコンビ型であってもよい。この場合、ICカード1は、接触式のリーダライタ2に対しては接触して通信し、非接触式のリーダライタ2に対しては非接触で通信することができる。 For example, the IC card 1 is a contact type or non-contact type IC card. In the case of the contact type, the IC card 1 communicates in contact with the reader / writer 2, and in the case of the non-contact type, the IC card 1 communicates with the reader / writer 2 in a non-contact manner. The IC card 1 may be a combination type that supports both contact type and non-contact type. In this case, the IC card 1 can communicate with the contact-type reader / writer 2 in contact with the contact-type reader / writer 2, and can communicate with the non-contact type reader / writer 2 without contact.

図1に示すように、ICカード1は、例えばプラスティックカード(基材)1aにより構成され、ICモジュール10(ICチップ)を備え、ICモジュール10は、通信部101、CPU102(データ処理部)、不揮発性メモリ(EEPROM(登録商標)、FRAM(登録商標)、FLASH等)103、RAM(Random Access Memory)104(揮発性メモリ)、ROM(Read Only Memory)105を備えている。 As shown in FIG. 1, the IC card 1 is composed of, for example, a plastic card (base material) 1a, includes an IC module 10 (IC chip), and the IC module 10 includes a communication unit 101, a CPU 102 (data processing unit), and the like. It includes a non-volatile memory (EEPROM (registered trademark), FRAM (registered trademark), FLASH, etc.) 103, RAM (Random Access Memory) 104 (volatile memory), and ROM (Read Only Memory) 105.

通信部101は、外部装置(リーダライタ2)とCPU102の間の通信を可能とする。例えば、通信部101は、接触又は非接触で外部装置と通信する。 The communication unit 101 enables communication between the external device (reader / writer 2) and the CPU 102. For example, the communication unit 101 communicates with an external device in contact or non-contact.

RAM104は、ワーキングメモリとして機能する。ROM105は、CPU102により実行されるICカードプログラムを保持する。CPU102は、ROM107に記憶されたICカードプログラム等に基づき動作する。また、CPU102は、通信部101を介して受信したコマンド(リーダライタ2から送信されたコマンド)を解釈し実行する。例えば、CPU102は、受信したコマンドに基づき、不揮発性メモリ103又はRAM104に記憶されたデータを読み出したり、不揮発性メモリ103又はRAM104に対してデータを書き込んだり、さらには、通信部101を介してコマンド実行結果を返信(リーダライタ2へコマンド実行結果を送信)したりする。 The RAM 104 functions as a working memory. The ROM 105 holds an IC card program executed by the CPU 102. The CPU 102 operates based on an IC card program or the like stored in the ROM 107. Further, the CPU 102 interprets and executes a command (a command transmitted from the reader / writer 2) received via the communication unit 101. For example, the CPU 102 reads the data stored in the non-volatile memory 103 or the RAM 104 based on the received command, writes the data to the non-volatile memory 103 or the RAM 104, and further, commands via the communication unit 101. The execution result is returned (the command execution result is sent to the reader / writer 2).

ICカードの不揮発性メモリへデータを書き込む際に、書き換えたいデータの箇所だけ書き換えられる(バイト単位)場合と、ある一定の単位(ページ単位:256バイトや512バイトなど)での書き換えが必要な場合がある。その際、書き換え対象範囲を一旦消去(erase)してから書き込む(write)という処理が必要となる。例えば、消去した直後や書き込み中にICカードの電力が途切れてしまった場合、RAMに一時的に保持している、書き換え前のデータもしくは書き換えたい最新のデータは消えてしまう。このため、次にICカードを起動した際に、前の状態にも、最新の状態にも戻すことができない。このような不足の事態を回避するため、一旦、不揮発性メモリの別の場所に一時的に書き換えたいデータを書き込み、その処理が確実に実行できたことを確認後、本来書き換えたい場所にデータを書くという対策が考えられる。ただしこの場合、常に同じ場所をバッファとして利用すると、メモリのエンデュランスに影響が出るため、複数のバッファを持ち、それを交互に使っていくことが考えられるが、その際のどのバッファを使うかどうかの管理情報も別の領域に保持する必要があるなど、かなりのリソースと書き込みに関する処理時間を要する。 When writing data to the non-volatile memory of an IC card, there are cases where only the part of the data to be rewritten is rewritten (byte unit) and cases where rewriting is required in a certain unit (page unit: 256 bytes, 512 bytes, etc.). There is. At that time, it is necessary to erase (erase) the range to be rewritten and then write (write). For example, if the power of the IC card is interrupted immediately after erasing or during writing, the data temporarily held in RAM before rewriting or the latest data to be rewritten will be erased. Therefore, the next time the IC card is started, it cannot be returned to the previous state or the latest state. In order to avoid such a shortage, temporarily write the data you want to rewrite to another location in the non-volatile memory, and after confirming that the process has been executed reliably, write the data to the location you originally wanted to rewrite. A measure of writing is conceivable. However, in this case, if you always use the same location as a buffer, the memory endurance will be affected, so it is possible to have multiple buffers and use them alternately, but which buffer to use at that time It takes a considerable amount of resources and processing time for writing, such as the need to keep the management information of the above in another area.

本実施形態では、これらを解消するためのICカード1について説明する。即ち、本実施形態のICカード1によれば、処理時間の削減が可能となる。以下、ICカード1によるデータの多重化処理、多重化されたデータの読み出し処理、書き込み処理について説明する。なお、多重化処理の一例として、また説明を分かり易くするために二重化処理について説明するが、本実施形態は、二重化処理だけに限定されるものではない。 In the present embodiment, the IC card 1 for solving these problems will be described. That is, according to the IC card 1 of the present embodiment, the processing time can be reduced. Hereinafter, data multiplexing processing, multiplexing data reading processing, and writing processing by the IC card 1 will be described. The duplication process will be described as an example of the multiplexing process and for the sake of clarity, but the present embodiment is not limited to the duplication process.

まず、CPU102は、運用中に書き換えが発生するユーザ領域をページ毎に二重化する。例えば、書き換え単位が1ページ(256バイト)と仮定すると、先頭の16バイトを管理領域として使い、残り240バイトをデータ領域として使う。 First, the CPU 102 duplicates the user area where rewriting occurs during operation for each page. For example, assuming that the rewriting unit is one page (256 bytes), the first 16 bytes are used as the management area and the remaining 240 bytes are used as the data area.

一例を挙げると、不揮発性メモリ103は、第1の領域(第1のページ)と第2の領域(第2のページ)を含み、第1の領域と第2の領域はページ毎にデータを二重化するために使用される。また、不揮発性メモリ103は、第3の領域(第3のページ)と第4の領域(第4のページ)を含み、第3の領域と第4の領域はページ毎にデータを二重化するために使用される。 As an example, the non-volatile memory 103 includes a first area (first page) and a second area (second page), and the first area and the second area store data page by page. Used for duplication. Further, the non-volatile memory 103 includes a third area (third page) and a fourth area (fourth page), and the third area and the fourth area duplicate data for each page. Used for.

図4に示すように、第1の領域は第1の管理領域と第1のデータ領域を備え、第1の管理領域には第1の管理データが書き込まれ、第1のデータ領域には第1のデータ(ユーザデータ)が書き込まれる。例えば、第1の管理データは、書き込み回数カウンタ、管理領域チェックサム、データ領域チェックサム、及び最新フラグを含む。書込回数カウンタは、二重化された領域のどちらに最新データが含まれているかを示す。データ領域チェックサムは、データ領域全体のデータの完全性を確認するためのチェックサムである。管理領域チェックサムは、管理領域全体のデータの完全性を確認するためのチェックサムである。 As shown in FIG. 4, the first area includes a first management area and a first data area, the first management data is written in the first management area, and the first data area is the first. Data of 1 (user data) is written. For example, the first management data includes a write count counter, a management area check sum, a data area check sum, and the latest flag. The write count counter indicates which of the duplicated areas contains the latest data. The data area checksum is a checksum for confirming the integrity of data in the entire data area. The management area checksum is a checksum for confirming the integrity of data in the entire management area.

同様に、第2の領域は第2の管理領域と第2のデータ領域を備え、第2の管理領域には第2の管理データが書き込まれ、第2のデータ領域には第2のデータ(ユーザデータ)が書き込まれる。例えば、第2の管理データは、書き込み回数カウンタ、管理領域チェックサム、データ領域チェックサム、及び最新フラグを含む。書き込み回数カウンタ又は最新フラグは、前記第1及び第2の領域に書き込まれたデータの何れが最新か判定可能な情報である。 Similarly, the second area includes a second management area and a second data area, the second management data is written in the second management area, and the second data (2nd data area) is written in the second data area. User data) is written. For example, the second management data includes a write count counter, a management area checksum, a data area checksum, and the latest flag. The write count counter or the latest flag is information that can determine which of the data written in the first and second areas is the latest.

なお、第3及び第4の領域は、上記説明した第1及び第2の領域と同様であり、詳細説明は省略する。 The third and fourth regions are the same as the first and second regions described above, and detailed description thereof will be omitted.

CPU102は、二重化の指示に対応して、第1の領域の第1の管理領域と第1のデータ領域から第1の管理データと第1のデータを読み出し、これら第1の管理データと第1のデータをRAM104に展開し(書き込み)、第1の管理データを第2の管理データへ書き換え、第2の領域の第2の管理領域と第2のデータ領域に対して第2の管理データと第2のデータ(=第1のデータ)を書き込む。例えば、第1の管理データは書き換え回数に関する第1の情報(書き換え回数カウンタ値:0)を含み、第2の管理データは書き換え回数に関する第2の情報(書き換え回数カウンタ値:1)を含む。 The CPU 102 reads the first management data and the first data from the first management area and the first data area of the first area in response to the duplication instruction, and these first management data and the first data. Data is expanded (written) in RAM 104, the first management data is rewritten to the second management data, and the second management area in the second area and the second management data for the second data area are used. Write the second data (= first data). For example, the first management data includes the first information regarding the number of rewrites (rewrite count counter value: 0), and the second management data includes the second information regarding the number of rewrites (rewrite count counter value: 1).

同様に、CPU102は、二重化の指示に対応して、第3の領域の第3の管理領域と第3のデータ領域から第3の管理データと第3のデータ(ユーザデータ)を読み出し、これら第3の管理データと第3のデータをRAM104に展開し(書き込み)、第3の管理データを第4の管理データへ書き換え、第4の領域の第4の管理領域と第4のデータ領域に対して第4の管理データと第4のデータ(=第3のデータ)を書き込む。例えば、第3の管理データは書き換え回数に関する第1の情報(書き換え回数カウンタ値:0)を含み、第4の管理データは書き換え回数に関する第2の情報(書き換え回数カウンタ値:1)を含む。 Similarly, the CPU 102 reads the third management data and the third data (user data) from the third management area and the third data area of the third area in response to the duplication instruction, and these third Expand (write) the 3rd management data and the 3rd data to the RAM 104, rewrite the 3rd management data to the 4th management data, and for the 4th management area and the 4th data area of the 4th area. Then, the fourth management data and the fourth data (= third data) are written. For example, the third management data includes the first information regarding the number of rewrites (rewrite count counter value: 0), and the fourth management data includes the second information regarding the number of rewrites (rewrite count counter value: 1).

(1)データの読み出し元と書込先が同じ場合の書き換え処理
図2を参照して、データの読み出し元と書込先が同じ場合の書き換え処理の一例について説明する。
(1) Rewriting process when the data read source and the write destination are the same With reference to FIG. 2, an example of the rewrite process when the data read source and the write destination are the same will be described.

CPU102は、書き換え指示(第1及び第2の領域で多重化されたデータの書き換え指示)に対応して、データの書き換えを実行する。 The CPU 102 rewrites the data in response to the rewrite instruction (the rewrite instruction of the data multiplexed in the first and second regions).

まず、CPU102は、第1の領域の第1の管理領域に書き込まれた第1の管理データ、及び第2の領域の第2の管理領域に書き込まれた第1の管理データに対応する第2の管理データを読み出す。第1の管理データは、書き込み回数に関する第1の情報を含み、第2の管理データは、書き込み回数に関する第2の情報を含む。CPU102は、第1の情報と第2の情報とを比較(確認)することにより、第1及び第2の領域のうちのどちらの領域のデータが最新のデータかを判定する。CPU102は、判定結果に基づき、最新のデータを選択する。つまり、CPU102は、第1及び第2の領域のうちの最新のデータが書き込まれている領域を読み出し元として選択する。なお、CPU102が、第1及び第2の管理データに含まれる管理領域チェックサム及びデータ領域チェックサムに基づき、管理領域のデータとデータ領域のデータをチェックするようにしてもよい。 First, the CPU 102 has a second management data corresponding to the first management data written in the first management area of the first area and the first management data written in the second management area of the second area. Read the management data of. The first management data includes the first information regarding the number of writes, and the second management data includes the second information regarding the number of writes. The CPU 102 determines which of the first and second regions is the latest data by comparing (confirming) the first information and the second information. The CPU 102 selects the latest data based on the determination result. That is, the CPU 102 selects the area in which the latest data is written from the first and second areas as the read source. The CPU 102 may check the data in the management area and the data in the data area based on the management area checksum and the data area checksum included in the first and second management data.

なお、図2では、第1の領域のデータ(第1の管理データと第1のデータ)を「A」と定義し、第2の領域のデータ(第2の管理データと第2のデータ)を「A’」と定義する。 In FIG. 2, the data in the first region (first management data and the first data) is defined as "A", and the data in the second region (second management data and the second data). Is defined as "A'".

CPU102が、第1の領域を選択した場合、第1の領域の第1の管理領域に書き込まれた第1の管理データと第1の領域の第1のデータ領域に書き込まれた第1のデータをRAM104に書き込み、RAM104に書き込まれた第1の管理データと第1のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、選択されなかった第2の領域のデータを消去し、第2の領域の第2の管理領域に書き換え済み管理データを書き込み、第2の領域の第2のデータ領域に書き換え済みデータを書き込む。 When the CPU 102 selects the first area, the first management data written in the first management area of the first area and the first data written in the first data area of the first area. Is written to the RAM 104, and at least a part of the first management data and the first data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the data in the second area that has not been selected, writes the rewritten management data in the second management area in the second area, and writes the rewritten data in the second data area in the second area. Write.

一方、CPU102が、第2の領域を選択した場合、第2の領域の第2の管理領域に書き込まれた第2の管理データと第2の領域の第2のデータ領域に書き込まれた第2のデータをRAM104に書き込み、RAM104に書き込まれた第2の管理データと第2のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、選択されなかった第1の領域のデータを消去し、第1の領域の第1の管理領域に書き換え済み管理データを書き込み、第1の領域の第1のデータ領域に書き換え済みデータを書き込む。 On the other hand, when the CPU 102 selects the second area, the second management data written in the second management area of the second area and the second data written in the second data area of the second area are written. Data is written to the RAM 104, and at least a part of the second management data and the second data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the unselected data in the first area, writes the rewritten management data to the first management area in the first area, and writes the rewritten data in the first data area in the first area. Write.

(2)データの読み出し元と書込先が異なる場合の書き換え処理
図3を参照して、データの読み出し元と書込先が異なる場合の書き換え処理の一例について説明する。
(2) Rewriting process when the data read source and the write destination are different An example of the rewrite process when the data read source and the write destination are different will be described with reference to FIG.

CPU102は、書き換え指示(第1及び第2の領域で多重化されたデータを読み出し元として、第3及び第4の領域で多重化されたデータを書き込み先とするデータの書き換え指示)に対応して、データの書き換えを実行する。 The CPU 102 corresponds to a rewrite instruction (a data rewrite instruction with the data multiplexed in the first and second areas as the read source and the data multiplexed in the third and fourth areas as the write destination). And rewrite the data.

まず、CPU102は、第1の領域の第1の管理領域に書き込まれた第1の管理データ、及び第2の領域の第2の管理領域に書き込まれた第1の管理データに対応する第2の管理データを読み出す。第1の管理データは、書き込み回数に関する第1の情報を含み、第2の管理データは、書き込み回数に関する第2の情報を含む。CPU102は、第1の情報と第2の情報とを比較(確認)することにより、第1及び第2の領域のうちのどちらの領域のデータが最新のデータかを判定する。CPU102は、判定結果に基づき、最新のデータを選択する。つまり、CPU102は、第1及び第2の領域のうちの最新のデータが書き込まれている領域を読み出し元として選択する。なお、CPU102が、第1及び第2の管理データに含まれる管理領域チェックサム及びデータ領域チェックサムに基づき、管理領域のデータとデータ領域のデータをチェックするようにしてもよい。 First, the CPU 102 has a second management data corresponding to the first management data written in the first management area of the first area and the first management data written in the second management area of the second area. Read the management data of. The first management data includes the first information regarding the number of writes, and the second management data includes the second information regarding the number of writes. The CPU 102 determines which of the first and second regions is the latest data by comparing (confirming) the first information and the second information. The CPU 102 selects the latest data based on the determination result. That is, the CPU 102 selects the area in which the latest data is written from the first and second areas as the read source. The CPU 102 may check the data in the management area and the data in the data area based on the management area checksum and the data area checksum included in the first and second management data.

さらに、CPU102は、第3の領域の第3の管理領域に書き込まれた第3の管理データ、及び第4の領域の第4の管理領域に書き込まれた第3の管理データに対応する第4の管理データを読み出す。第3の管理データは、書き込み回数に関する第3の情報を含み、第4の管理データは、書き込み回数に関する第4の情報を含む。CPU102は、第3の情報と第4の情報とを比較(確認)することにより、第3及び第4の領域のうちのどちらの領域のデータが最新のデータかを判定する。CPU102は、判定結果に基づき、最新のデータを選択する。つまり、CPU102は、第3及び第4の領域のうちの最新のデータが書き込まれている領域を書き込み先として選択する。なお、CPU102が、第3及び第4の管理データに含まれる管理領域チェックサム及びデータ領域チェックサムに基づき、管理領域のデータとデータ領域のデータをチェックするようにしてもよい。 Further, the CPU 102 has a fourth management data corresponding to the third management data written in the third management area of the third area and the third management data written in the fourth management area of the fourth area. Read the management data of. The third management data includes a third information regarding the number of writes, and the fourth management data includes a fourth information regarding the number of writes. The CPU 102 determines which of the third and fourth regions the data is the latest data by comparing (confirming) the third information and the fourth information. The CPU 102 selects the latest data based on the determination result. That is, the CPU 102 selects the area in which the latest data is written among the third and fourth areas as the writing destination. The CPU 102 may check the data in the management area and the data in the data area based on the management area checksum and the data area checksum included in the third and fourth management data.

なお、図3では、第1の領域のデータ(第1の管理データと第1のデータ)を「A」と定義し、第2の領域のデータ(第2の管理データと第2のデータ)を「A’」と定義し、第3の領域のデータ(第3の管理データと第3のデータ)を「B」と定義し、第4の領域のデータ(第4の管理データと第4のデータ)を「B’」と定義する。 In FIG. 3, the data in the first area (first management data and the first data) is defined as "A", and the data in the second area (second management data and the second data). Is defined as "A'", the data in the third area (third management data and the third data) is defined as "B", and the data in the fourth area (fourth management data and fourth). Data) is defined as "B'".

CPU102が、第1の領域及び第3の領域を選択した場合、第1の領域の第1の管理領域に書き込まれた第1の管理データと第1の領域の第1のデータ領域に書き込まれた第1のデータをRAM104に書き込み、RAM104に書き込まれた第1の管理データと第1のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、第3の領域のデータを消去し、第3の領域の第3の管理領域に書き換え済み管理データを書き込み、第3の領域の第3のデータ領域に書き換え済みデータを書き込む。 When the CPU 102 selects the first area and the third area, the first management data written in the first management area of the first area and the first data area of the first area are written. The first data is written to the RAM 104, and at least a part of the first management data and the first data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the data in the third area, writes the rewritten management data in the third management area in the third area, and writes the rewritten data in the third data area in the third area.

CPU102が、第1の領域及び第4の領域を選択した場合、第1の領域の第1の管理領域に書き込まれた第1の管理データと第1の領域の第1のデータ領域に書き込まれた第1のデータをRAM104に書き込み、RAM104に書き込まれた第1の管理データと第1のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、第4の領域のデータを消去し、第4の領域の第4の管理領域に書き換え済み管理データを書き込み、第4の領域の第4のデータ領域に書き換え済みデータを書き込む。 When the CPU 102 selects the first area and the fourth area, the first management data written in the first management area of the first area and the first data area of the first area are written. The first data is written to the RAM 104, and at least a part of the first management data and the first data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the data in the fourth area, writes the rewritten management data in the fourth management area in the fourth area, and writes the rewritten data in the fourth data area in the fourth area.

CPU102が、第2の領域及び第3の領域を選択した場合、第2の領域の第2の管理領域に書き込まれた第2の管理データと第2の領域の第2のデータ領域に書き込まれた第2のデータをRAM104に書き込み、RAM104に書き込まれた第2の管理データと第2のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、第3の領域のデータを消去し、第3の領域の第3の管理領域に書き換え済み管理データを書き込み、第3の領域の第3のデータ領域に書き換え済みデータを書き込む。 When the CPU 102 selects the second area and the third area, the second management data written in the second management area of the second area and the second data area of the second area are written. The second data is written to the RAM 104, and at least a part of the second management data and the second data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the data in the third area, writes the rewritten management data in the third management area in the third area, and writes the rewritten data in the third data area in the third area.

CPU102が、第2の領域及び第4の領域を選択した場合、第2の領域の第2の管理領域に書き込まれた第2の管理データと第2の領域の第2のデータ領域に書き込まれた第2のデータをRAM104に書き込み、RAM104に書き込まれた第2の管理データと第2のデータの少なくとも一部を書き換えて書き換え済み管理データと書き換え済みデータとしてRAM104に保持する。CPU102は、第4の領域のデータを消去し、第4の領域の第4の管理領域に書き換え済み管理データを書き込み、第4の領域の第4のデータ領域に書き換え済みデータを書き込む。 When the CPU 102 selects the second area and the fourth area, the second management data written in the second management area of the second area and the second data area of the second area are written. The second data is written to the RAM 104, and at least a part of the second management data and the second data written in the RAM 104 is rewritten and held in the RAM 104 as the rewritten management data and the rewritten data. The CPU 102 erases the data in the fourth area, writes the rewritten management data in the fourth management area in the fourth area, and writes the rewritten data in the fourth data area in the fourth area.

以上により、ページの削除中や書き込み中にICカード1における電源が落ちても、もう片方の一つ前のデータ状態は確保されているので、再度書込み処理を実施することで、処理を継続することができる。また、複数バッファの確保やロールフォワードなどの復旧処理も不要であり、処理が簡素化され、不具合の可能性も抑えられる。 As described above, even if the power of the IC card 1 is turned off while the page is being deleted or written, the data state immediately before the other is secured. Therefore, the processing is continued by performing the writing process again. be able to. In addition, recovery processing such as securing multiple buffers and roll forward is not required, the processing is simplified, and the possibility of malfunction is suppressed.

また、二重化対象領域を限定することにより、記憶資源を有効活用することができる。例えば、二重化対象領域を重要なデータエリアに限定するようにしてもよい。 Further, by limiting the duplication target area, the storage resource can be effectively utilized. For example, the duplication target area may be limited to an important data area.

図5は、二重化されたページの書き換え処理の一例を示すフローチャートである。図5を参照して、書き換え処理について説明する。 FIG. 5 is a flowchart showing an example of the rewriting process of the duplicated page. The rewriting process will be described with reference to FIG.

図5に示すように、CPU102は、書き換えたいデータが存在するページの管理データをチェック(二重化されたページの双方の管理データをチェック)し、書き込み回数の多いページを読み出し元として選択する(ST1)。例えば、CPU102は、書き換えたいデータが存在する第1の領域の第1の管理データと第2の領域の第2の管理データをチェックする。つまり、CPU102は、第1の領域の管理データに含まれる書き換え回数に関する第1の情報と、第2の領域の管理データに含まれる書き換え回数に関する第2の情報とを比較し、第1及び第2の領域のうちのどちらの領域の書き込み回数が多いかチェックする。CPU102は、第1及び第2の領域のうちの書き込み回数が多い領域、即ち最新のデータが書き込まれている第1又は第2の領域を読み出し元として選択する。さらに、CPU102は、第1及び第2の領域のうちの書き込み回数が多い領域の管理データに含まれる管理領域チェックサムに基づき管理領域の管理データが正しいか計算する。さらに、CPU102は、第1及び第2の領域のうちの書き込み回数が多い領域の管理データに含まれるデータ領域チェックサムに基づきデータ領域のデータが正しいか計算する。 As shown in FIG. 5, the CPU 102 checks the management data of the page in which the data to be rewritten exists (checks the management data of both of the duplicated pages), and selects the page with a large number of writes as the read source (ST1). ). For example, the CPU 102 checks the first management data in the first area and the second management data in the second area in which the data to be rewritten exists. That is, the CPU 102 compares the first information regarding the number of rewrites included in the management data of the first area with the second information regarding the number of rewrites included in the management data of the second area, and first and first. Check which of the two areas has the highest number of writes. The CPU 102 selects an area having a large number of writes among the first and second areas, that is, a first or second area in which the latest data is written, as a read source. Further, the CPU 102 calculates whether the management data of the management area is correct based on the management area checksum included in the management data of the areas having a large number of writes in the first and second areas. Further, the CPU 102 calculates whether the data in the data area is correct based on the data area checksum included in the management data of the areas of the first and second areas where the number of writes is large.

CPU102は、読み出し元として選択された第1又は第2の領域のデータ(管理領域及びデータ領域のデータ)をRAMに展開する(ST2)。CPU102は、RAMに展開したページデータのうち、データ領域のデータを書き換える(ST3)。 The CPU 102 expands the data in the first or second area (data in the management area and the data area) selected as the read source into the RAM (ST2). The CPU 102 rewrites the data in the data area among the page data expanded in the RAM (ST3).

例えば、データの読み出し元と書込先が異なる場合、CPU102は、書き込み先のページの管理データをチェック(二重化されたページの双方の管理データをチェック)し、書き込み回数の少ないページを書き込み先として選択する(ST4)。例えば、CPU102は、書込先としての第3の領域の第3の管理データと第4の領域の第4の管理データをチェックする。つまり、CPU102は、第3の領域の管理データに含まれる書き換え回数に関する第3の情報と、第4の領域の管理データに含まれる書き換え回数に関する第4の情報とを比較し、第3及び第4の領域のうちのどちらの領域の書き込み回数が少ないかチェックする。CPU102は、第3及び第4の領域のうちの書き込み回数が少ない領域、即ち最新のデータが書き込まれていない領域を書込先として選択する。 For example, when the data read source and the write destination are different, the CPU 102 checks the management data of the write destination page (checks the management data of both of the duplicated pages), and sets the page with a small number of writes as the write destination. Select (ST4). For example, the CPU 102 checks the third management data in the third area and the fourth management data in the fourth area as the writing destination. That is, the CPU 102 compares the third information regarding the number of rewrites included in the management data of the third area with the fourth information regarding the number of rewrites included in the management data of the fourth area, and the third and third Check which of the four areas has the least number of writes. The CPU 102 selects an area in the third and fourth areas where the number of writes is small, that is, an area in which the latest data is not written, as a write destination.

CPU102は、RAMに展開したページデータのうち、管理データを変更する(ST5)。CPU102は、管理データに含まれる書き換え回数に関する情報を更新する(第3の情報又は第4の情報のうちの書き換え回数カウンタ値が大きい値に1を加算した値を管理データにセットする)。また、CPU102は、ST3で書き換えられたデータ領域全体のデータ領域チェックサムを計算し、計算した値を管理データにセットする。さらに、CPU102は、管理領域全体(更新された回数カウンタ値及びデータ領域チェックサムを含む)の管理領域チェックサムを計算し、計算した値を管理データにセットする。 The CPU 102 changes the management data among the page data expanded in the RAM (ST5). The CPU 102 updates the information regarding the number of rewrites included in the management data (the value obtained by adding 1 to the value of the third information or the fourth information having a large rewrite count counter value is set in the management data). Further, the CPU 102 calculates the data area checksum of the entire data area rewritten in ST3, and sets the calculated value in the management data. Further, the CPU 102 calculates the management area checksum of the entire management area (including the updated count counter value and the data area checksum), and sets the calculated value in the management data.

また、CPU102は、書き込み先として選択された第3又は第4の領域のデータを削除する(ST6)。CPU102は、書き込み先として選択されデータが削除された第3又は第4の領域にRAMのデータを書き込む(ST7)。 Further, the CPU 102 deletes the data in the third or fourth area selected as the writing destination (ST6). The CPU 102 writes the RAM data to the third or fourth area selected as the write destination and the data is deleted (ST7).

なお、上記説明したデータの多重化処理、多重化されたデータの読み出し処理、書き込み処理はソフトウェアによって実行することが可能である。このため、上記処理の手順を実行するプログラムを記憶したROM105を備えたICカード1により、上記処理を実現することができる。或いは、上記処理の手順を実行するプログラムをリーダライタ2からICカード1へ送信し、ICカード1が送信されるプログラムを記憶することにより、上記処理を実現することができる。 The data multiplexing process, the multiplexed data reading process, and the writing process described above can be executed by software. Therefore, the above process can be realized by the IC card 1 provided with the ROM 105 that stores the program that executes the procedure of the above process. Alternatively, the above processing can be realized by transmitting a program for executing the procedure of the above processing from the reader / writer 2 to the IC card 1 and storing the program to which the IC card 1 is transmitted.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
第1及び第2の領域を含む不揮発性メモリと、
揮発性メモリと、
データ処理部と、を備え、
前記データ処理部は、
前記第1及び第2の領域で多重化されたデータの書き換え指示に対応して、前記第1の領域に書き込まれた第1の管理データ、及び前記第2の領域に書き込まれた前記第1の管理データに対応する第2の管理データに基づき、前記第1及び第2の領域のうちの一方を読み出し元として選択し、
前記第1の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第3の管理データと第3のデータを保持し、前記第2の領域のデータを消去し、前記第2の領域に前記第3の管理データと前記第3のデータを書き込み、
前記第2の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第3の管理データと第3のデータを保持し、前記第1の領域のデータを消去し、前記第1の領域に前記第3の管理データと前記第3のデータを書き込むICカード。
[C2]
前記データ処理部は、前記書き換え指示に対応して、前記第1及び第2の管理データに基づき、前記第1及び第2の領域のうちの一方から最新のデータを読み出す[C1]のICカード。
[C3]
前記第1及び第2の管理データは、前記第1及び第2の領域に書き込まれたデータの何れが最新か判定可能な情報を含む[C1]又は[C2]のICカード。
[C4]
前記第1及び第2の管理データは、書き換え回数に関する情報を含む[C1]乃至[C3]の何れか1つのICカード。
[C5]
前記データ処理部は、
前記第1の領域を選択した場合、前記揮発性メモリに書き込まれた前記第1の管理データに含まれる書き換え回数に関する第1の情報を書き換え回数に関する第3の情報へ書き換え、
前記第2の領域を選択した場合、前記揮発性メモリに書き込まれた前記第2の管理データに含まれる書き換え回数に関する第2の情報を書き換え回数に関する第3の情報へ書き換え、
前記第3の情報は前記第1及び第2の情報の何れよりも書き換えが進んだことを示す[C1]乃至[C4]の何れかに1つのICカード。
[C6]
第1、第2、第3、及び第4の領域を含む不揮発性メモリと、
揮発性メモリと、
データ処理部と、を備え、
前記データ処理部は、
前記第1及び第2の領域で多重化されたデータを読み出し元として、前記第3及び第4の領域で多重化されたデータを書き込み先とするデータの書き換え指示に対応して、前記第1の領域に書き込まれた第1の管理データ、及び前記第2の領域に書き込まれた前記第1の管理データに対応する第2の管理データに基づき、前記第1及び第2の領域のうちの一方を読み出し元として選択し、また、前記第3の領域に書き込まれた第3の管理データ、及び前記第4の領域に書き込まれた前記第3の管理データに対応する第4の管理データに基づき、前記第3及び第4の領域のうちの一方を書き込み先として選択し、
前記第1及び第3の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第3の領域のデータを消去し、前記第3の領域に前記第5の管理データと前記第5のデータを書き込み、
前記第1及び第4の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第4の領域のデータを消去し、前記第4の領域に前記第5の管理データと前記第5のデータを書き込み、
前記第2及び第3の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第3の領域のデータを消去し、前記第3の領域に前記第5の管理データと前記第5のデータを書き込み、
前記第2及び第4の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第4の領域のデータを消去し、前記第4の領域に前記第5の管理データと前記第5のデータを書き込むICカード。
Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention as well as the invention described in the claims and the equivalent scope thereof.
Hereinafter, the inventions described in the claims at the time of filing the application of the present application will be added.
[C1]
A non-volatile memory containing the first and second areas,
With volatile memory
With a data processing unit
The data processing unit
The first management data written in the first area and the first management data written in the second area in response to the instruction to rewrite the data multiplexed in the first and second areas. Based on the second management data corresponding to the management data of, one of the first and second areas is selected as the read source, and the data is selected.
When the first area is selected, the first management data and the first data written in the first area are written to the volatile memory, and the first data written to the volatile memory is written. The management data and at least a part of the first data are rewritten to hold the third management data and the third data in the volatile memory, the data in the second area is erased, and the second Write the third management data and the third data in the area,
When the second area is selected, the second management data and the second data written in the second area are written in the volatile memory, and the second data written in the volatile memory is written. The management data and at least a part of the second data are rewritten to hold the third management data and the third data in the volatile memory, the data in the first area is erased, and the first An IC card for writing the third management data and the third data in the area.
[C2]
The data processing unit reads out the latest data from one of the first and second areas based on the first and second management data in response to the rewriting instruction [C1] IC card. ..
[C3]
The first and second management data are IC cards of [C1] or [C2] including information that can determine which of the data written in the first and second areas is the latest.
[C4]
The first and second management data is an IC card according to any one of [C1] to [C3] including information on the number of rewrites.
[C5]
The data processing unit
When the first area is selected, the first information regarding the number of rewrites included in the first management data written in the volatile memory is rewritten to the third information regarding the number of rewrites.
When the second area is selected, the second information regarding the number of rewrites included in the second management data written in the volatile memory is rewritten to the third information regarding the number of rewrites.
The third information is one IC card in any one of [C1] to [C4] indicating that the rewriting is more advanced than any of the first and second information.
[C6]
A non-volatile memory containing the first, second, third, and fourth areas, and
With volatile memory
With a data processing unit
The data processing unit
In response to a data rewriting instruction in which the data multiplexed in the first and second regions is the read source and the data multiplexed in the third and fourth regions is the write destination, the first Of the first and second areas, based on the first management data written in the area and the second management data corresponding to the first management data written in the second area. One is selected as the read source, and the third management data written in the third area and the fourth management data corresponding to the third management data written in the fourth area are used. Based on this, one of the third and fourth areas is selected as the writing destination, and the writing destination is selected.
When the first and third areas are selected, the first management data and the first data written in the first area are written in the volatile memory, and the data written in the volatile memory. The first management data and at least a part of the first data are rewritten to hold the fifth management data and the fifth data in the volatile memory, the data in the third area is erased, and the above. The fifth management data and the fifth data are written in the third area,
When the first and fourth areas are selected, the first management data and the first data written in the first area are written in the volatile memory, and the data written in the volatile memory. The first management data and at least a part of the first data are rewritten to hold the fifth management data and the fifth data in the volatile memory, and the data in the fourth area is erased. The fifth management data and the fifth data are written in the fourth area,
When the second and third areas are selected, the second management data and the second data written in the second area are written in the volatile memory, and the data written in the volatile memory. The second management data and at least a part of the second data are rewritten to hold the fifth management data and the fifth data in the volatile memory, the data in the third area is erased, and the above. The fifth management data and the fifth data are written in the third area,
When the second and fourth areas are selected, the second management data and the second data written in the second area are written in the volatile memory, and the data written in the volatile memory. The second management data and at least a part of the second data are rewritten to hold the fifth management data and the fifth data in the volatile memory, the data in the fourth area is erased, and the above. An IC card for writing the fifth management data and the fifth data in the fourth area.

1…ICカード、1a…プラスティックカード(基材)、10…ICモジュール、101…通信部、102…CPU、103…不揮発性メモリ、104…RAM、105…ROM。 1 ... IC card, 1a ... Plastic card (base material), 10 ... IC module, 101 ... Communication unit, 102 ... CPU, 103 ... Non-volatile memory, 104 ... RAM, 105 ... ROM.

Claims (5)

第1、第2、第3、及び第4の領域を含む不揮発性メモリと、 A non-volatile memory containing the first, second, third, and fourth areas, and
揮発性メモリと、 With volatile memory
データ処理部と、を備え、 With a data processing unit
前記データ処理部は、 The data processing unit
前記第1及び第2の領域で多重化されたデータを読み出し元として、前記第3及び第4の領域で多重化されたデータを書き込み先とするデータの書き換え指示に対応して、前記第1の領域に書き込まれた第1の管理データ、及び前記第2の領域に書き込まれた前記第1の管理データに対応する第2の管理データに基づき、前記第1及び第2の領域のうちの一方を読み出し元として選択し、また、前記第3の領域に書き込まれた第3の管理データ、及び前記第4の領域に書き込まれた前記第3の管理データに対応する第4の管理データに基づき、前記第3及び第4の領域のうちの一方を書き込み先として選択し、 In response to a data rewriting instruction in which the data multiplexed in the first and second regions is the read source and the data multiplexed in the third and fourth regions is the write destination, the first Of the first and second areas, based on the first management data written in the area and the second management data corresponding to the first management data written in the second area. One is selected as the read source, and the third management data written in the third area and the fourth management data corresponding to the third management data written in the fourth area are used. Based on this, one of the third and fourth areas is selected as the writing destination, and the writing destination is selected.
前記第1及び第3の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第3の領域のデータを消去し、前記第3の領域に前記第5の管理データと前記第5のデータを書き込み、 When the first and third areas are selected, the first management data and the first data written in the first area are written in the volatile memory, and the data written in the volatile memory. The first management data and at least a part of the first data are rewritten to hold the fifth management data and the fifth data in the volatile memory, and the data in the third area is erased. The fifth management data and the fifth data are written in the third area,
前記第1及び第4の領域を選択した場合、前記第1の領域に書き込まれた前記第1の管理データと第1のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第1の管理データと前記第1のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第4の領域のデータを消去し、前記第4の領域に前記第5の管理データと前記第5のデータを書き込み、 When the first and fourth areas are selected, the first management data and the first data written in the first area are written in the volatile memory, and the data written in the volatile memory. The first management data and at least a part of the first data are rewritten to hold the fifth management data and the fifth data in the volatile memory, and the data in the fourth area is erased. The fifth management data and the fifth data are written in the fourth area,
前記第2及び第3の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第3の領域のデータを消去し、前記第3の領域に前記第5の管理データと前記第5のデータを書き込み、 When the second and third areas are selected, the second management data and the second data written in the second area are written in the volatile memory, and the data written in the volatile memory. The second management data and at least a part of the second data are rewritten to hold the fifth management data and the fifth data in the volatile memory, the data in the third area is erased, and the above. The fifth management data and the fifth data are written in the third area,
前記第2及び第4の領域を選択した場合、前記第2の領域に書き込まれた前記第2の管理データと第2のデータを前記揮発性メモリに書き込み、前記揮発性メモリに書き込まれた前記第2の管理データと前記第2のデータの少なくとも一部を書き換えて前記揮発性メモリ上に第5の管理データと第5のデータを保持し、前記第4の領域のデータを消去し、前記第4の領域に前記第5の管理データと前記第5のデータを書き込むICカード。 When the second and fourth areas are selected, the second management data and the second data written in the second area are written in the volatile memory, and the data written in the volatile memory. The second management data and at least a part of the second data are rewritten to hold the fifth management data and the fifth data in the volatile memory, the data in the fourth area is erased, and the above. An IC card for writing the fifth management data and the fifth data in the fourth area.
前記データ処理部は、前記書き換え指示に対応して、前記第1及び第2の管理データに基づき、前記第1及び第2の領域のうちの一方から最新のデータを読み出す請求項1のICカード。 The IC card according to claim 1, wherein the data processing unit reads the latest data from one of the first and second areas based on the first and second management data in response to the rewriting instruction. .. 前記第1及び第2の管理データは、前記第1及び第2の領域に書き込まれたデータの何れが最新か判定可能な情報を含む請求項1又は2のICカード。 The IC card according to claim 1 or 2, wherein the first and second management data include information capable of determining which of the data written in the first and second areas is the latest. 前記第1及び第2の管理データは、書き換え回数に関する情報を含む請求項1乃至3の何れか1つのICカード。 The first and second management data is an IC card according to any one of claims 1 to 3, which includes information on the number of rewrites. 前記データ処理部は、
前記第1の領域を選択した場合、前記揮発性メモリに書き込まれた前記第1の管理データに含まれる書き換え回数に関する第1の情報を書き換え回数に関する更新情報へ書き換え、
前記第2の領域を選択した場合、前記揮発性メモリに書き込まれた前記第2の管理データに含まれる書き換え回数に関する第2の情報を書き換え回数に関する更新情報へ書き換え、
前記更新情報は前記第1及び第2の情報の何れよりも書き換えが進んだことを示す請求項1乃至4の何れかに1つのICカード。
The data processing unit
When the first area is selected, the first information regarding the number of rewrites included in the first management data written in the volatile memory is rewritten with the update information regarding the number of rewrites.
When the second area is selected, the second information regarding the number of rewrites included in the second management data written in the volatile memory is rewritten with the update information regarding the number of rewrites.
The IC card according to any one of claims 1 to 4, indicating that the update information has been rewritten more than any of the first and second information.
JP2016098848A 2016-05-17 2016-05-17 IC card Active JP6758910B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016098848A JP6758910B2 (en) 2016-05-17 2016-05-17 IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016098848A JP6758910B2 (en) 2016-05-17 2016-05-17 IC card

Publications (2)

Publication Number Publication Date
JP2017207863A JP2017207863A (en) 2017-11-24
JP6758910B2 true JP6758910B2 (en) 2020-09-23

Family

ID=60417051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016098848A Active JP6758910B2 (en) 2016-05-17 2016-05-17 IC card

Country Status (1)

Country Link
JP (1) JP6758910B2 (en)

Also Published As

Publication number Publication date
JP2017207863A (en) 2017-11-24

Similar Documents

Publication Publication Date Title
JP5329884B2 (en) Portable electronic device and data processing method in portable electronic device
JP4806639B2 (en) Secure device and IC card issuing system
US9183400B2 (en) IC card and IC card control method
KR20070037311A (en) Portable electronic device and ic card
CN107341049B (en) Transaction optimization processing method and device
JP6758910B2 (en) IC card
EP2102748B1 (en) System and method for recovery of memory transactions
JP7322923B2 (en) Secure element, transaction control method and device
JP4318494B2 (en) IC card and IC card program
JP6984328B2 (en) Electronic information storage medium, IC card, external device, data writing method and data writing program
JP2004348342A (en) Ic card and method for processing ic card
CN107402887B (en) Counter in flash memory
JP7021465B2 (en) Electronic information storage device, IC card, data recovery method, and data recovery program
JP7468757B1 (en) ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, RESPONSE TRANSMISSION METHOD, AND PROGRAM
US20120234925A1 (en) Ic card, portable electronic device, ic card issuing apparatus, and command execution method
JP7468765B1 (en) ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, ALL-IN-ONE DATA UPDATE METHOD, AND PROGRAM
JP2002504730A (en) How to load computer program blocks
JP7040053B2 (en) Information processing method and OS using electronic information storage medium, IC card, electronic information storage medium
US7346730B2 (en) Mobile electronic device
JP2024139134A (en) Electronic information storage medium, IC chip, method for writing issuance data, and program
JP2022187935A (en) Secure element, electronic information storage medium, and method for updating data
JP2006293706A (en) Multi-application ic card with application updating function
KR101149539B1 (en) Smart card and method for processing transaction of smart card
JP2022184327A (en) Secure element, device and nonvolatile memory managing method
JP2004334744A (en) Issue system and method of portable electronic medium and portable electronic medium

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170904

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200902

R150 Certificate of patent or registration of utility model

Ref document number: 6758910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150