(57)【要約】  【課題】フラッシュメモリを用いたＩＣカードは、データ処理中に電源断が発生するとメモリ領域の不整合が生じる問題があった。しかし、従来の対策法においては電源断発生時の参照元ユニットを特定方法が明確でなく、このためメモリの不整合を確実に解消することが困難であった。本発明においては、この問題を解決する方法とそれを可能にするＩＣカードおよびＩＣカードメモリアクセス制御装置の提供を目的とした。  【解決手段】ＩＣカードのメモリ部分をユニット単位で管理し、このユニットを先頭ユニットとデータユニットとで構成する。先頭ユニットはアドレス管理用とし、データユニットには、先頭ユニットの論理アドレス、後続データユニットの物理アドレス、状態情報、実データを記録することにより、障害発生ユニットを特定可能とし、メモリの不整合の問題を解消している。【選択図】図１
2006059204.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理を行うための、前記メモリ部をユニット単位で管理してデータ読み込み・書き換えおよび電源断に対する復旧処理を行うメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成のＩＣカードにおいて、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスを記録するデータユニットの物理アドレス部と、自ユニットに対応する先頭ユニットの論理アドレスを記録する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態か否かの状態情報を記録する状態管理部と、実データを記録する実データ部とを有するフォーマット構成とし、
前記メモリ管理部の復旧処理は、前記先頭ユニットと前記データユニットとによってメモリ部の論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、前記状態管理部が書き換え状態である前記データユニットに対してデータの書き換え処理をすることを特徴とするＩＣカード。
【請求項２】
フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、
前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたＩＣカードのメモリアクセス制御方法において、
電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、
次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとすることを特徴とするＩＣカードのメモリアクセス制御方法。
【請求項３】
請求項２に記載のＩＣカードのメモリアクセス制御方法において、
データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除することを特徴とするＩＣカードのメモリアクセス制御方法。
【請求項４】
請求項２または請求項３の何れかに記載のＩＣカードのメモリアクセス制御方法において、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとすることを特徴とするＩＣカードのメモリアクセス制御方法。
【請求項５】
請求項２から請求項４の何れかに記載のＩＣカードのメモリアクセス制御方法において、
ＩＣカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、
さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、
候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
１．次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
２．次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をすることを特徴とするＩＣカードのメモリアクセス制御方法。
【請求項６】
フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、
前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたＩＣカードのメモリアクセス制御装置において、
電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、
次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとすることを特徴とするＩＣカードのメモリアクセス制御装置。
【請求項７】
請求項６に記載のＩＣカードのメモリアクセス制御装置において、
データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除することを特徴とするＩＣカードのメモリアクセス制御装置。
【請求項８】
請求項６または請求項７の何れかに記載のＩＣカードのメモリアクセス制御装置において、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとすることを特徴とするＩＣカードのメモリアクセス制御装置。
【請求項９】
請求項６から請求項8の何れかに記載のＩＣカードのメモリアクセス制御装置において、
ＩＣカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、
さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、
候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
１．次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
２．次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をすることを特徴とするＩＣカードのメモリアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを搭載したＩＣカード、およびＩＣカードのメモリアクセス制御方法および制御装置に関する。
【背景技術】
【０００２】
ＩＣカードは、一般的に高セキュリティかつ持ち運びが容易であるため、電子マネーや電子チケットなどの価値情報を記録する媒体として利用されている。この価値情報をカード内で処理するとき、処理中の電源断などによる情報の障害対策として、例えば、下記特許文献１に記載された手法が挙げられる。下記特許文献１においては、フラッシュメモリを用いたＩＣカードのメモリをユニット単位で管理し、データの読み込み、書き換えおよび電源断に関する復旧処理等はメモリ管理部で行う構成としている。
【０００３】
この構成において、データの書き換え等メモリ内容の処理を実行中に電源が遮断された場合に生じるメモリの不整合を解消するために、上記ユニットは論理アドレス管理用の先頭ユニットと、データ書き換え管理用のデータユニットとで構成している。ここで、先頭ユニットは、データユニットの論理アドレスと、データユニットにおける先頭ユニットの物理アドレスとを有している。ここで、論理アドレスとは、プログラムの命令で使用されるアドレスで、物理アドレスとは、そのプログラムがアクセスするデータが格納され、読み込みあるいは書き換えられる時の記録媒体上でのアドレスを指す。データユニットは自ユニットの次に来るデータユニットデータユニットの物理アドレスと、自ユニットが書き換え状態か否かの状態情報と、リンク元ユニットの論理アドレス部と、実データを有するフォーマットとしている。
【０００４】
このフォーマットにおいて、先頭ユニットとデータユニットとによってメモリの論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、上記の状態情報が書き換え状態のままであるデータユニットに対してはデータの追記処理等を実行することにより、上記電源断により生じたメモリの不整合を修正復旧している。
【０００５】
【特許文献１】特開２００３−１２２６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この従来技術では、ＩＣカード上のアプリケーション（以後、カードＡＰと呼称する）から見てメモリの物理アドレスを隠蔽しており、カードＡＰに対して論理アドレスのみを見せるようなメモリ処理方式をとっている。また、ユニットという単位でデータを管理しており、このユニット毎に電源断が発生したか否かの状態を検知するための状態管理部を持っている。このように、データをユニット単位で管理し、状態管理部によって、電源断の発生を検知することによって、処理中に電源断が発生したときのメモリ領域の不整合を解消するものであった。
【０００７】
その具体的な方法は、ＩＣカードの起動時に、ユニットの状態管理部を検証し、電源断が発生していた場合は、電源断が発生したユニットの参照元、すなわち電源断が生じたユニットの直前のユニットを特定し、参照元ユニットの次の物理アドレス部がＮＵＬＬでない場合に、そのユニットの次の物理アドレス部に電源断が発生したものとして当該ユニットの物理アドレスを上記参照元の次の物理アドレス部に書き込むことによって、データの復旧処理を実現していた。この従来技術では、電源断が発生していた場合は電源断の発生したユニットの参照元ユニットを特定し、データの復旧方法が開示されていたが、参照元ユニットの具体的な特定方法については示されていなかった。  
本発明は、上記の問題を解決し、実際に書き換え状態中に電源断が生じた場合でも上記の参照元ユニットを特定し、メモリ領域の不整合を確実に解消する方法およびそれを実行する装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明は、フラッシュメモリを利用したＩＣカードで、データの書き換えに際して処理状態を管理することにより、処理中に電源が遮断されたときに生じるメモリ領域の不整合を解消するようにしたもので、以下の構成および方法を特徴とする。すなわち、メモリ管理部は、メモリを論理アドレス管理用の先頭ユニットとデータ書き換え処理用のデータユニットとで管理し、先頭ユニットはデータユニットの論理アドレスとチェーン構造を持つユニット群で構成されたデータユニットの先頭ユニットの物理アドレスを有する構成とし、データユニットは自ユニットの次に来るデータユニットの物理アドレスと自ユニットに対応する先頭ユニットの論理アドレスと自ユニットが書き換え状態か否かの状態情報と実データを有する構成とし、復旧処理は、先頭ユニットとデータユニットによってメモリの論理アドレスと物理アドレスを対応させて処理の進行状況を検知し、状態情報が書き換え状態であるデータユニットについてのみデータの上書き処理をする。
【０００９】
具体的には、特許請求の範囲に記載するごとく、
１）フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理を行うための、前記メモリ部をユニット単位で管理してデータ読み込み・書き換えおよび電源断に対する復旧処理を行うメモリ管理部を備え、前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成のＩＣカードにおいて、前記データユニットは、自ユニットの次のデータユニットの物理アドレスを記録するデータユニットの物理アドレス部と、自ユニットに対応する先頭ユニットの論理アドレスを記録する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態か否かの状態情報を記録する状態管理部と、実データを記録する実データ部とを有するフォーマット構成とし、前記メモリ管理部の復旧処理は、前記先頭ユニットと前記データユニットとによってメモリ部の論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、前記状態管理部が書き換え状態である前記データユニットに対してデータの書き換え処理をするＩＣカードについて規定している。
２）フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたＩＣカードのメモリアクセス制御方法において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするＩＣカードのメモリアクセス制御方法について規定している。
３）請求項２に記載のＩＣカードのメモリアクセス制御方法において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するＩＣカードのメモリアクセス制御方法について規定している。
４）請求項２または請求項３の何れかに記載のＩＣカードのメモリアクセス制御方法において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするＩＣカードのメモリアクセス制御方法について規定している。
５）請求項２から請求項４の何れかに記載のＩＣカードのメモリアクセス制御方法において、ＩＣカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
１．次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
２．次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするＩＣカードのメモリアクセス制御方法について規定している。
６）フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の１つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたＩＣカードのメモリアクセス制御装置において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするＩＣカードのメモリアクセス制御装置について規定している。
７）請求項６に記載のＩＣカードのメモリアクセス制御装置において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するＩＣカードのメモリアクセス制御装置について規定している。
８）請求項２または請求項３の何れかに記載のＩＣカードのメモリアクセス制御装置において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするＩＣカードのメモリアクセス制御装置について規定している。
９）請求項２から４の何れかに記載のＩＣカードのメモリアクセス制御装置において、ＩＣカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
１．次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
２．次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするＩＣカードのメモリアクセス制御装置について規定している。
【発明の効果】
【００１０】
本発明によれば、メモリ書き換えを追記処理にマッピングし、且つ、この追記処理に際し、自ユニットの次のデータユニットの物理アドレスと、自ユニットに対応する先頭ユニットの論理アドレスとを記録する領域を設けることにより、書き換え処理状態でのアドレス管理を適切に行うことができるため、書き換え処理中に電源断が起きてメモリ上の情報に不整合が起こっても容易に復旧できるという効果がある。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施形態を示すＩＣカードの構成図であり、主にメモリアクセス制御ブロックを示す。なお、以下の説明ではメモリとしてフラッシュメモリを使用した場合について述べる。  
図１において、制御部１は、ＩＣカード内の全体機能を制御すると共に外部装置との間で制御情報およびデータの授受を制御する。  
フラッシュメモリを使用したメモリ２は、電子マネー等の価値情報を保存する領域の他、処理中の電源断が起こったか否かを判断するための電源断管理情報部２Ａを保存する領域を有する。  
メモリ管理部３は、メモリ２に対するデータ書き換え手段３Ａとデータ読み出し手段３Ｂを有する他、論理メモリ空間と物理メモリ空間の対応関係を管理するメモリ管理機能を利用した障害復旧処理手段３Ｃを有する。
【００１２】
図２に、メモリ管理部３で管理する管理用データのフォーマットを示す。ここで、メモリ管理部３においてはユニットを管理単位としてメモリ領域を管理している。この、管理単位であるユニットは、図２のように先頭ユニットとデータユニットとに分けられる。
【００１３】
先頭ユニットは、論理アドレス管理用に使用し、データユニットの論理アドレスを保存管理するための論理アドレス部と、データユニットの物理アドレスを保存管理するための物理アドレス部とで構成する。  
データユニットは、或るユニットのデータに追記したデータが他のユニットとして存在する場合に、他のユニットの物理アドレスを指す「次の物理アドレス」を保存するための次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニット、すなわち自ユニットに対応する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態（書き換え中の状態）か否かの状態を保持する状態管理部と、自ユニットの実データを記録する実データ部との組み合わせで構成する。なお、図２下部の電源断管理情報は電源断の管理情報として論理アドレス単位で管理されている。これら先頭ユニット、データユニット、および電源断管理情報の各フォーマットは、図１におけるメモリ部２内に設けられた電源断管理情報の領域２Ａに格納されている。
【００１４】
図３は、メモリ２の使用例を示す。論理アドレス管理用データとして、論理アドレス部が＃１で、その先頭ユニット物理アドレス部が％１とした場合、物理アドレス％１に先頭のデータユニットが割り当てられ、この物理アドレス％１にはデータ書き換え管理用のデータ（すなわち、次の物理アドレス、リンク元ユニットの論理アドレス、状態管理データ、実データ）が書き込まれる。この各データのうち、次の物理アドレス部に物理アドレス％３が書き込まれた場合、物理アドレス％３に次のデータユニットが割り当てられ、当該物理アドレス％３にはデータ書き換え管理用の、すなわちデータユニットの内容である実データが書き込まれる。この物理アドレス％３の次の物理アドレス部に図３に示すようにＮＵＬＬが書き込まれている場合、または物理アドレスでない特殊な値の場合、当該物理アドレス％３が物理アドレス％１に追記された最新のユニットとなる。ユニットの論理アドレス＃２ではそれが示す先頭ユニットの物理アドレス％２には次の物理アドレス部にはＮＵＬＬが書き込まれているため、当該ユニットには追記ユニットが無いことになる。以上述べた構成になるＩＣカードにおけるデータの読み出し処理・書き換え処理および障害発生時の復旧処理を以下に詳細に説明する。  
図４は、図１におけるメモリ管理部３のデータ読み出し手段３Ａによるデータの読み出し手順を示す。まず、論理アドレス管理用データの論理アドレス部の値を基に先頭ユニットを検索し（Ｓｌ）、先頭ユニット物理アドレス部の値を基に当該ユニットの物理アドレスを検索する（Ｓ２）。次に、検索された先頭ユニットの次の物理アドレス部の値がＮＵＬＬか否かをチェックし、ＮＵＬＬでない場合（Ｓ３−Ｎｏ）には次の物理アドレス部で示される物理アドレスを検索する（Ｓ４）。
【００１５】
この次の物理アドレス部がＮＵＬＬか否かのチェックと物理アドレスの検索とをＮＵＬＬが発生するまで繰り返すことで、最新の追記ユニットに至るまでその物理アドレスの検索を続行する。最後に、最新の追記ユニットが検索されたとき（Ｓ３−Ｙｅｓ）、その実データ部から実データを読み出して処理を終了する（Ｓ５）。
【００１６】
図５は、メモリ管理部３のデータ書き換え手段３Ａによるデータの書き換え手順を示す。まず、書き換え用のデータを書き込むために新しいユニットを作成する（Ｓ１ｌ）。次に、この新しいユニットにおけるデータユニットの状態管理部にデータ書き換え状態であることを示す情報を保特する（Ｓ１２）。次に、この新しいユニットにおけるデータユニットの実データ部に実データを書き込む（Ｓ１３）。次に、この新しいデータユニットの「リンク元ユニットの論理アドレス部」に、新しいユニットの先頭ユニットの論理アドレスを書き込む（Ｓ１４）、次に、現在のユニットの「次の物理アドレス部」に新しいユニットの物理アドレスを書き込む（Ｓ１５）。最後に、新しいデータユニットの状態管理部にＳ１２で書きこまれたデータ書き換え状態を解除する（Ｓ１６）。
【００１７】
図６および図７は、メモリ管理部３の復旧処理手段３Ｃによる、データ書き換え状態の障害発生に対するデータ復旧手順を示す。まず、ＩＣカードが活性化（電源投入）されたときに処理を開始し、状態管理部が書き換え状態完了でないユニットがあるか否かを検索する。書き換え状態完了でないユニットが存在しない場合（Ｓ２１−Ｎｏ）は処理を終了する。状態管理部が書き換え開始の状態にあり、かつ、リンク元ユニットの論理アドレスがＮＵＬＬ（空）でない場合（Ｓ２２−Ｙｅｓ）、電源断が発生したユニットには実データの書き込みが開始しておらず、復旧処理を実施する必要がないので、処理を終了する。
【００１８】
データ書き換え状態、すなわち書き換え状態が完了していないユニットがある場合（Ｓ２２−Ｎｏ）、リンク元の論理アドレス部から候補となるユニットが複数個存在すればその数だけの先頭ユニットを検索する（Ｓ２３）。ここで、候補の先頭ユニットを複数個検索するのは、リンク元の論理アドレス部から電源断が発生したユニットの先頭ユニットが一意に識別できないときのためである。たとえば、論理アドレスが２バイトであり、リンク元ユニットの論理アドレス部も２バイトであり、しかしながら、リンク元ユニットの論理アドレス部の下位２ビットが別の処理情報などに利用せざるを得ない場合、リンク元ユニットの論理アドレス部から先頭ユニットを検索すると、電源断が発生したユニットの先頭ユニットとして、４つの候補のユニットが存在し得ることになる。もちろん、リンク元の論理アドレス部から、先頭ユニットを一意に識別してもよい。
【００１９】
次に、ステップＳ２５、Ｓ２６を実行するための初期設定をステップＳ２４で行う。ここにおいては、先頭ユニットの先頭ユニット物理アドレス部の値を、変数である“物理アドレス”に代入する。また、先頭ユニットは状態管理部を持たないので、変数“書き換え状態”にＮＵＬＬを代入する。このことにより、先頭ユニットの始点を明確に出来るため先頭ユニットからユニットのパスを辿ることが出来るようになる。
【００２０】
また、変数である物理アドレスの値で指定される物理アドレスを持つユニットの状態管理部の値を変数である書き換え状態に代入する（Ｓ２５）。変数である物理アドレスの値がＮＵＬＬでなく、かつ、変数である物理アドレスの値が、書き換え状態のユニットの物理アドレスの値以下である場合は（Ｓ２６−Ｙｅｓ）、ステップＳ２５に戻る。そうでない場合（Ｓ２６−Ｎｏ）はステップＳ２７に移る（Ｓ２６）。
【００２１】
変数である物理アドレスの値がＮＵＬＬでなければ（Ｓ２７−Ｙｅｓ）ステップＳ２９にて、復旧処理１を実行する。そうでない場合は（Ｓ２７−Ｎｏ）、処理ステップＳ２８に移る。  
変数である物理アドレスがＮＵＬＬであり、かつ、変数である書き換え状態の値が書き換え状態である場合は（Ｓ２８−Ｙｅｓ）、ステップＳ３０にて復旧処理２を実行する。そうでない場合（Ｓ２８−Ｎｏ）、または、Ｓ２９，Ｓ３０を実行の後、Ｓ２３で得られた候補の先頭ユニット全てについて、Ｓ２４〜Ｓ２９、またはＳ２４〜Ｓ３０、またはＳ２４〜Ｓ２８（Ｎｏ）を実施したかどうかをチェックする。実行していれば、本復旧処理過程を終了する。
【図面の簡単な説明】
【００２２】
【図１】本発明に関する基本構成を示すブロック図。
【図２】データ管理用フォーマット図。
【図３】メモリ内のデータ配列を示すメモリマップ図。
【図４】データ読み出し手順を示すフロー図。
【図５】データ書き換え手順を示すフロー図。
【図６】障害発生に対するデータ復旧手順の一部を示すフロー図。
【図７】障害発生に対するデータ復旧手順の他の一部を示すフロー図。
【符号の説明】
【００２３】
１：制御部                      ２：メモリ
２Ａ：電源断管理情報              ３：メモリ管理部
３Ａ：データ読み出し手段        ３Ｂ：データ書き換え手段
３Ｃ：復旧処理手段
【図１】
2006059204.tif 000003
【図２】
2006059204.tif 000004
【図３】
2006059204.tif 000005
【図４】
2006059204.tif 000006
【図５】
2006059204.tif 000007
【図６】
2006059204.tif 000008
【図７】
2006059204.tif 000009