(57)【特許請求の範囲】
【請求項１】
少なくとも演算処理部，読出し専用不揮発性メモリ，及び読出し書込み可能不揮発性メモリを備えると共に、通信対象となる端末との間でデータ交換を行うインタフェース部を具備するＩＣカードにおいて、前記読出し書込み可能不揮発性メモリは、所定の大きさを持つ領域を示すブロックで分割されていると共に、データを格納する複数のブロック、該ブロックと１対１に対応するブロック管理部、及びファイルが使用するブロック開始位置，ブロック数，ファイルを特定するためのファイル識別情報を格納するブロック割当情報から構成されるファイルを格納しており、前記ブロック管理部には、有効状態，無効状態，及び未使用状態を前記演算処理部により判別させるための情報がブロックステータス情報として記憶されており、前記ブロック割当情報は、ファイルの追加又はファイルへの書込み毎に前記読出し書込み可能不揮発性メモリに追記され、且つ該追記されたものが時系列上で最新であることが前記演算処理部により判断されると共に、該演算処理部により判断される前記ファイル識別情報の同じものを持つものの追記が可能であり、前記演算処理部は、最新の追記された前記同じファイル識別情報を持つ前記ファイル割当情報を上位装置がアクセスできるファイルと判断するための制御、並びに前記読出し書込み可能不揮発性メモリのファイルに対して書込みデータを記憶する際、既に該読出し書込み可能不揮発性メモリにおいて書き込み対象のファイルが存在すれば、該読出し書込み可能不揮発性メモリの空き領域に同じファイル識別情報を持つファイル領域を確保すると共に、該ファイル領域に対して書込みデータを記憶して該ファイル領域を最新ファイルとして扱うように制御し、前記空き領域に領域確保されたファイルに対して書込みデータを記憶する際、既に該読出し書込み可能不揮発性メモリにおいて書込み対象のファイルが存在すれば、該存在する書込み対象のファイルを上位装置がアクセスできない無効状態にするように該ファイルに関連付けられたフラグを書換え、更に該読出し書込み可能不揮発性メモリの該空き領域に確保された該ファイルに関連付けられたフラグを無効状態に書換えた後、該ファイルに対して書込みデータを書込んでから該書込んだファイルを上位装置がアクセスできる有効状態にするように該フラグを書換える制御を行うことにより、カード再起動時に該読出し書込み可能不揮発性メモリ内のファイルを検索して該最新ファイルに関連付けられたフラグの無効状態を示すファイルが存在する場合には該読出し書込み可能不揮発性メモリ内のファイル検索を継続した結果、該同じファイル識別情報を持つ古いファイルが存在すれば、該古いファイルに関連付けられたフラグを有効状態として書換えることでファイル及び該ファイルのデータを復元する機能と、該同じファイル識別情報を持つ古いファイルが存在しなければ、該無効状態の該最新ファイルを該読出し書込み可能不揮発性メモリから削除することで該読出し書込み可能不揮発性メモリのファイル及びデータを復元する機能とを有することを特徴するＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主としてＩＣカード及びその情報処理に関し、特に具備される読出し書込み可能不揮発性メモリに対するデータ書込み処理におけるデータ保護機能を持たせたＩＣカードに関する。
【０００２】
【従来の技術】
近年、ＩＣカードでは、内蔵される読出し書込み可能不揮発性メモリに対するデータ書込処理時間が３ｍｓ〜５ｍｓ程度必要とされている。この書込み処理中にＩＣカードに供給される電流が低下又は遮断したり、或いはそれらの双方が生じた場合、書込み処理が完了せずに書込み処理未完了となり、書込み対象となる読出し書込み可能な不揮発性メモリの書込み対象領域のデータが破壊されるという問題があった。
【０００３】
そこで、こうした問題を回避するため、現状では書込み処理未完了の場合、書込みデータをＩＣカードに送った上位装置に対し、書込み対象領域のデータ破壊を示すデータ又は上位装置がＩＣカードの書き戻し処理を再実行するように要求するデータ列（或いはそれらの双方）をＩＣカードのインタフェースを介して通知している。
【０００４】
【発明が解決しようとする課題】
上述した書込み対象領域のデータ破壊を回避するための書込み処理未完了時における動作の場合、書込み処理を失敗したときの上位装置と、再書込みを行おうとしている上位装置とが必ずしも一致しないことがあり、こうした場合に上位装置による再書込み処理に用いるデータが異なってしまうという危険性がある。
【０００５】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、誤ったデータを書いてしまう可能性のある上位装置による再書込み処理を必要としないデータ保護機能を備えたＩＣカードを提供することにある。
【０００６】
【課題を解決するための手段】
本発明によれば、少なくとも演算処理部，読出し専用不揮発性メモリ，及び読出し書込み可能不揮発性メモリを備えると共に、通信対象となる端末との間でデータ交換を行うインタフェース部を具備するＩＣカードにおいて、読出し書込み可能不揮発性メモリは、所定の大きさを持つ領域を示すブロックで分割されていると共に、データを格納する複数のブロック、該ブロックと１対１に対応するブロック管理部、及びファイルが使用するブロック開始位置，ブロック数，ファイルを特定するためのファイル識別情報を格納するブロック割当情報から構成されるファイルを格納しており、ブロック管理部には、有効状態，無効状態，及び未使用状態を演算処理部により判別させるための情報がブロックステータス情報として記憶されており、ブロック割当情報は、ファイルの追加又はファイルへの書込み毎に読出し書込み可能不揮発性メモリに追記され、且つ該追記されたものが時系列上で最新であることが演算処理部により判断されると共に、該演算処理部により判断されるファイル識別情報の同じものを持つものの追記が可能であり、演算処理部は、最新の追記された同じファイル識別情報を持つファイル割当情報を上位装置がアクセスできるファイルと判断するための制御、並びに読出し書込み可能不揮発性メモリのファイルに対して書込みデータを記憶する際、既に該読出し書込み可能不揮発性メモリにおいて書き込み対象のファイルが存在すれば、該読出し書込み可能不揮発性メモリの空き領域に同じファイル識別情報を持つファイル領域を確保すると共に、該ファイル領域に対して書込みデータを記憶して該ファイル領域を最新ファイルとして扱うように制御し、空き領域に領域確保されたファイルに対して書込みデータを記憶する際、既に該読出し書込み可能不揮発性メモリにおいて書込み対象のファイルが存在すれば、該存在する書込み対象のファイルを上位装置がアクセスできない無効状態にするように該ファイルに関連付けられたフラグを書換え、更に該読出し書込み可能不揮発性メモリの該空き領域に確保された該ファイルに関連付けられたフラグを無効状態に書換えた後、該ファイルに対して書込みデータを書込んでから該書込んだファイルを上位装置がアクセスできる有効状態にするように該フラグを書換える制御を行うことにより、カード再起動時に該読出し書込み可能不揮発性メモリ内のファイルを検索して該最新ファイルに関連付けられたフラグの無効状態を示すファイルが存在する場合には該読出し書込み可能不揮発性メモリ内のファイル検索を継続した結果、該同じファイル識別情報を持つ古いファイルが存在すれば、該古いファイルに関連付けられたフラグを有効状態として書換えることでファイル及び該ファイルのデータを復元する機能と、該同じファイル識別情報を持つ古いファイルが存在しなければ、該無効状態の該最新ファイルを該読出し書込み可能不揮発性メモリから削除することで該読出し書込み可能不揮発性メモリのファイル及びデータを復元する機能とを有するＩＣカードが得られる。
【０００７】
【発明の実施の形態】
以下に本発明の実施の形態について、図面を参照して詳細に説明する。最初に、本発明のＩＣカードの技術的概要を簡単に説明する。本発明のＩＣカードは、少なくとも演算処理部，読出し専用不揮発性メモリ，及び読出し書込み可能不揮発性メモリを備えると共に、通信対象となる端末との間でデータ交換を行うインタフェース部を具備している。
【０００８】
但し、本発明のＩＣカードの場合、読出し書込み可能不揮発性メモリについては、所定の大きさを持つ領域を示すブロックで分割されていると共に、データを格納する複数のブロック、これらのブロックと１対１に対応するブロック管理部、及びファイルが使用するブロック開始位置，ブロック数，ファイルを特定するためのファイル識別情報を格納するブロック割当情報から構成されるファイルを格納している。ここでのブロック管理部には、有効状態，無効状態，及び未使用状態を演算処理部により判別させるための情報がブロックステータス情報として記憶されており、ブロック割当情報については、ファイルの追加又はファイルへの書込み毎に読出し書込み可能不揮発性メモリに追記され、且つこの追記されたものが時系列上で最新であることが演算処理部により判断されると共に、演算処理部により判断されるファイル識別情報の同じものを持つものの追記が可能となっている。
【０００９】
演算処理部については、最新の追記された同じファイル識別情報を持つファイル割当情報を上位装置がアクセスできるファイルと判断するための制御、並びに読出し書込み可能不揮発性メモリのファイルに対して書込みデータを記憶する際、既に読出し書込み可能不揮発性メモリにおいて書き込み対象のファイルが存在すれば、読出し書込み可能不揮発性メモリの空き領域に同じファイル識別情報を持つファイル領域を確保すると共に、ファイル領域に対して書込みデータを記憶してファイル領域を最新ファイルとして扱うように制御し、空き領域に領域確保されたファイルに対して書込みデータを記憶する際、既に読出し書込み可能不揮発性メモリにおいて書込み対象のファイルが存在すれば、存在する書込み対象のファイルを上位装置がアクセスできない無効状態にするようにファイルに関連付けられたフラグを書換え、更に読出し書込み可能不揮発性メモリの空き領域に確保されたファイルに関連付けられたフラグを無効状態に書換えた後、ファイルに対して書込みデータを書込んでから書込んだファイルを上位装置がアクセスできる有効状態にするようにフラグを書換える制御を行うものである。
【００１０】
これにより、演算処理部は、カード再起動時に読出し書込み可能不揮発性メモリ内のファイルを検索して最新ファイルに関連付けられたフラグの無効状態を示すファイルが存在する場合には読出し書込み可能不揮発性メモリ内のファイル検索を継続した結果、同じファイル識別情報を持つ古いファイルが存在すれば、古いファイルに関連付けられたフラグを有効状態として書換えることでファイル及びファイルのデータを復元する機能と、同じファイル識別情報を持つ古いファイルが存在しなければ、無効状態の最新ファイルを読出し書込み可能不揮発性メモリから削除することで読出し書込み可能不揮発性メモリのファイル及びデータを復元する機能とを有する。
【００１１】
このような構成のＩＣカードによれば、最新の書込みデータが正常に書込まれていない場合であっても、正常に書込まれている古いデータを使用するか、或いは古いデータがない場合は未使用とすることで、正常に書込まれていないデータは存在しなくなるため、上位装置による再書込み処理は必要なくなる。
【００１２】
図１は、本発明の一つの実施の形態に係るＩＣカードの基本構成を示したブロック図である。このＩＣカードは、カード内に搭載されたＩＣチップ１上には、通信対象となる上位装置７との間でデータ交換を行うインタフェース６と、制御プログラムに従って演算処理を行って各部を動作制御する演算処理部５と、揮発性メモリ（ＲＡＭ）２と、制御プログラムが格納された読出し専用不揮発性メモリ（ＲＯＭ）３と、書込み又は書き換えされるデータを格納する読出し書込み可能不揮発性メモリ（ＥＥＰＲＯＭ）４とが具備されている。
【００１３】
このうち、読出し書込み可能不揮発性メモリ４は、電気的に書込み及び消去ができる読出し専用メモリ（ＥＥＰＲＯＭ）であるが、この他に強誘電体不揮発性メモリを代用することも可能である。又、読出し専用不揮発性メモリ３内には、上述した技術的概要で説明した諸機能を得るための動作処理を行う制御プログラムが格納されているものとするが、こうした制御プログラムは揮発性メモリ２や読出し書込み可能不揮発性メモリ４に格納することも可能である。
【００１４】
図２は、このＩＣカードに備えられる読出し書込み可能不揮発性メモリ４の内部構造を例示した模式図である。この読出し書込み可能不揮発性メモリ４は、データを記憶するためのブロック１〜ブロック６と、これらの各ブロック１〜６のそれぞれについてのブロック管理部１〜６を含むと共に、ブロック割当情報を有している。
【００１５】
ここでは、読出し書込み可能不揮発性メモリに２つのファイルを格納した様子を示しており、ブロック割当情報として、ブロック１及びブロック２を使用したファイル１と、ブロック３及びブロック４を使用したファイル２とが記憶されている。尚、ファイル２の方がファイル１よりも新しいファイルであり、ファイル１及びファイル２のブロックステータス情報は何れも有効を示している。
【００１６】
図３は、このＩＣカードの演算処理部５による読出し書込み可能不揮発性メモリ４にブロック１を使用してファイル１を上書き処理する場合の正常状態での書込み動作処理の前半部分を示したフローチャートであり、図４はその後半部分を示したフローチャートである。但し、ここでは読出し書込み可能不揮発性メモリ４の初期状態における内容は図２に示した状態であるとする。
【００１７】
こうした条件下において、書込み処理がスタートすると、先ずブロック割当情報を検索（図３上段のステップＳ１）し、ファイル１が既に存在しているか否かを判別する。ここではファイル１が存在しているため、ブロック管理部１及びブロック管理部２のブロックステータス情報を有効から無効に変更（図３上段のステップＳ２）する。
【００１８】
次に、空き領域であるブロック管理部５を選択（図３上段のステップＳ３）した後、ブロック管理部５のブロックステータス情報を未使用から無効に変更（図３下段のステップＳ４）する。
【００１９】
引き続き、ブロック割当情報に新しいファイル１の情報を３番目（＃３）に追記（図４上段のステップＳ５）し、ブロック５に新しいファイル１のデータを書込み（図４下段のステップＳ６）、この後にブロック管理部５のブロックステータス情報を無効から有効に変更（図４下段のステップＳ７）することにより、ファイル１の書込みを終了する。
【００２０】
図５は、このＩＣカードの演算処理部５による起動時の動作処理の概略を示したフローチャートである。
【００２１】
上述したＩＣカードでは、起動時にブロック割当情報にある最も新しいファイルを選択（ステップＳ１）し、その最も新しいファイルに対応する一つ以上の各ブロック管理部のブロックステータス情報参照（ステップＳ２）した後、各ブロック管理部のブロックステータス情報を検証して有効であるか否かを判定（ステップＳ３）する。この結果、少なくとも一つのブロック管理部のブロックステータス情報が無効を示せば、ブロック割当情報に同じファイル識別情報を持つファイルを選択（ステップＳ４）した後、同じファイル識別情報を持つファイルが有るか否かを判定（ステップＳ５）する。
【００２２】
この結果、同じファイル識別情報を持つファイルが有り、しかも使用したブロック割当情報に同じファイル識別情報を持つファイルについての古い情報がある場合には、古いブロック割当情報のファイルを有効に変更（ステップＳ６／即ち、そのブロック割当情報に対応するブロック管理部のブロックステータス情報を有効に変更するもので、詳細は図６に示すフローチャートを参照）するが、ブロック割当情報に同じファイルについてのファイル識別情報が無ければ、無効なブロックを含むファイルに対応するブロックステータス情報を未使用に変更（ステップＳ７）してからそのブロック割当情報にある検出した無効なブロックを含むファイルに関するブロック割当情報を削除（詳細は図７に示すフローチャートを参照）した後、各ブロック管理部のブロックステータス情報を検証して有効であるか否かの判定（ステップＳ３）において有効であった場合と同様に、異なる識別子（上述したフラグを含むものである）を持つ全てのファイルに対して処理が完了したか否かを判定（ステップＳ８）する。
【００２３】
この結果、全てのファイルに対して処理が完了していれば、動作処理を終了して受信待ち状態とするが、全てのファイルに対して処理が完了していなければ、ブロック割当情報にある最も新しいファイルを選択（ステップＳ１）する処理に戻って上述した各処理（ステップＳ１〜Ｓ８）を繰り返すようにする。
【００２４】
図６は、図３及び図４に示したフローチャートで書き込み動作処理を行ったときに新しいファイル１のブロックステータス情報が無効を示していた場合のＩＣカード起動時の演算処理部５による動作処理を示したフローチャートである。
【００２５】
ここでは、先ずＩＣカードの起動時に際して演算処理部５がブロック割当情報を検索（図６上段のステップＳ８）して同一のファイル１を見つけた後、新しいファイル１のブロック管理部５のブロックステータス情報を参照（図６上段のステップＳ９）するが、ここではブロックステータス情報が無効を示しているため、古いファイル１のデータを正常なデータとして扱うための処理を実行する。
【００２６】
そこで、先ずブロック割当情報により古いファイル１のブロック番号を入手（図６下段のステップＳ１０）し、そのブロック管理部１及びブロック管理部２のブロックステータス情報を有効に変更（図６下段のステップＳ１１）する。この後、ブロックステータス情報が無効を示す新しいファイル１に関する情報として、ブロック５のデータ，ブロック管理部５のブロックステータス情報，及びブロック割当情報の新しいファイル１を削除（図６下段のステップＳ１２及びステップＳ１３）してからブロック管理部５のブロックステータス情報を未使用に変更（図６下段のステップＳ１４）する。
【００２７】
図７は、図３及び図４のフローチャートで書き込み動作処理を行ったときに古いファイルが存在しないファイル３の書き込みを行ったブロックステータス情報が無効を示していた場合のＩＣカード起動時の演算処理部５による動作処理を示したフローチャートである。
【００２８】
ここでは、先ずＩＣカードの起動時に演算処理部５がブロック割当情報を検索（図７上段のステップＳ１５）して単独のファイル３を見つけた後、ブロック管理部５のブロックステータス情報を参照（図７上段のステップＳ１６）するが、ここではブロックステータス情報が無効を示しているため、ファイル３に関する情報として、ブロック５のデータ，ブロック管理部５のブロックステータス情報，及びブロック割当情報のファイル３を削除（図７下段のステップＳ１７及びステップＳ１８）してからブロック管理部５のブロックステータス情報を未使用に変更（図７下段のステップＳ１９）する。
【００２９】
図８は、読出し書込み可能不揮発性メモリ４にある無効を示すファイルを未使用とする場合の動作処理を示したフローチャートである。
【００３０】
即ち、ここではブロック割当情報のうち、一定回数以前に追記した情報に対応する各ブロック管理部における一つ以上のデータステータス情報を無効から未使用に書き換えた上、ブロック割当情報一覧から該当する一つ以上のファイル割当情報を削除する場合の動作処理を示しており、具体的には、ブロック管理部５のブロックステータス情報の無効を示す状態（図８上段のステップＳ２０）にあってブロック割当情報一覧に一定回数の追記を行った時点でブロックステータス情報が無効を示すブロック５のデータ，ブロック管理部５の情報，及びブロック割当情報のファイル１を削除（図８下段のステップＳ２１，ステップＳ２２）し、ブロック管理部５のブロックステータス情報を未使用に変更（図８下段のステップＳ２３）ことにより、無効ブロックを再利用する処理が可能となる。
【００３１】
【発明の効果】
以上に述べた通り、本発明のＩＣカードによれば、最新の書込みデータが正常に書込まれていない場合であっても、正常に書込まれている古いデータを使用するか、古いデータがない場合は未使用とすることで、上位装置による誤った書き込みデータを使用する危険を回避できる（誤ったデータを書いてしまう可能性のある上位装置による再書込み処理を不要にすることができる）データ保護機能を構築しているため、結果としてＩＣカード利用の信頼性を向上することができるようになる。
【図面の簡単な説明】
【図１】  本発明の一つの実施の形態に係るＩＣカードの基本構成を示したブロック図である。
【図２】  図１に示すＩＣカードに備えられる読出し書込み可能不揮発性メモリに２つのファイルを格納した様子を示した模式図である。
【図３】  図２に示した読出し書込み可能不揮発性メモリにファイル１を上書き処理する場合の書込み動作処理の前半部分を示したフローチャートである。
【図４】  図２に示した読出し書込み可能不揮発性メモリにファイル１を上書き処理する場合の書込み動作処理の後半部分を示したフローチャートである。
【図５】  図１に示すＩＣカードの演算処理部による起動時の動作処理の概略を示したフローチャートである。
【図６】  図２に示した読出し書込み可能不揮発性メモリに古いファイル１が存在し、新しいファイル１のデータが無効を示した場合のＩＣカードの起動時の動作処理を示したフローチャートである。
【図７】  図２に示した読出し書込み可能不揮発性メモリに古いファイル３が存在せず、新しいファイル３のデータが無効を示した場合のＩＣカードの起動時の動作処理を示したフローチャートである。
【図８】  図２に示した読出し書込み可能不揮発性メモリにある無効を示すファイルを未使用とする場合の動作処理を示したフローチャートである。
【符号の説明】
１  ＩＣチップ
２  揮発性メモリ（ＲＡＭ）
３  読出し専用不揮発性メモリ（ＲＯＭ）
４  読出し書込み可能不揮発性メモリ（ＥＥＰＲＯＭ）
５  演算処理部
６  インタフェース
７  上位装置（端末）
【図１】
0003863479.tif 000002
【図２】
0003863479.tif 000003
【図３】
0003863479.tif 000004
【図４】
0003863479.tif 000005
【図５】
0003863479.tif 000006
【図６】
0003863479.tif 000007
【図７】
0003863479.tif 000008
【図８】
0003863479.tif 000009