(57)【特許請求の範囲】
【請求項１】
フラッシュメモリを搭載し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合にメモリ部のデータを復旧処理する手段を備えたＩＣカードであって、
前記メモリ部をユニット単位で管理してデータ読み込み・書き込みおよび電源断に対する復旧処理をするメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用のデータユニットで構成し、
前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスをもつフォーマット構成とし、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスと、自ユニットが書き込み中か否かの状態情報と、自ユニットの実データをもつフォーマット構成とし、
前記メモリ管理部は、
データを書き込む際に、その論理アドレスに対応する前記先頭ユニットを検索し、最後のデータユニットになるまで次のデータユニットの物理アドレスを追跡し、新しいデータユニットの前記状態管理情報を書き換え中状態とし、データを格納した新しいデータユニットを生成し、そのユニットの物理アドレスを最後のデータユニットの物理アドレスとして格納し、新しいデータユニットの状態管理情報の書き換え中状態を解除するデータ書き換え手段と、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理情報が書き換え中状態でないデータユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のデータユニットの実データをその論理アドレスに対応するデータとするデータ読み出し手段と、
データ書き込み中に電源断が発生したときに、データ書き込み中であったユニットがあるか否かを状態管理情報から検索し、データ書き込み中のユニットがあり、かつ前記データ書き込み中のユニットの参照元ユニットの次の物理アドレス部の内容がＮＵＬＬでない場合、前記データ書き込み中のユニットの物理アドレスを前記参照元ユニットの次の物理アドレス部に上書きし、これら処理を全てのユニットについて繰り返す復旧処理手段とを備えたことを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードにおいて、
前記メモリ部の書き換え時に発生するメモリ上のゴミ領域を処理の進行状況を管理しながら整理するガーベジコレクション処理と、ガーベジコレクション中の電源断に対する復旧処理をするガーベジコレクション管理部を設け、
前記メモリ部はガーベジコレクション中か否かのガーベジコレクション状態管理情報と、各ユニットの論理アドレス毎にガーベジコレクション処理済みか否かのユニット状態管理情報をもつ電源断管理情報を設け、
前記ガーベジコレクション管理部は、
更新処理の回数分だけ発生するゴミとなるユニットを整理し、ゴミとなるユニットのない状態に復元するガーベジコレクション処理で、ガーベジコレクション処理中かそうでないかの状態を保持するガーベジコレクション処理状態管理情報と、前記ユニット毎に処理完了かそうでないかの状態を保持するユニット状態管理情報を持つ電源断管理手段を持ち、処理開始時に電源断管理手段のガーベジコレクション処理状態管理情報を処理中状態とし、論理アドレスに対応する先頭ユニット毎に、先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う処理手段と、
カード起動時に電源断管理手段のガーベジコレクション処理状態管理情報が処理中かどうかを判定し、処理中の場合は、ユニット状態管理情報が処理完了でないユニットについて先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う復旧処理手段とを備えたことを特徴とするＩＣカード。
【請求項３】
フラッシュメモリを搭載し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合にメモリ部のデータを復旧処理する手段を備えたＩＣカードのメモリアクセス制御方法であって、
前記メモリ部をユニット単位で管理してデータ読み込み・書き込みおよび電源断に対する復旧処理をするメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用のデータユニットで構成し、
前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスをもつフォーマット構成とし、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスと、自ユニットが書き込み中か否かの状態管理情報と、自ユニットの実データをもつフォーマット構成とし、
前記メモリ管理部は、
データを書き込む際に、その論理アドレスに対応する前記先頭ユニットを検索し、最後のデータユニットになるまで次のデータユニットの物理アドレスを追跡し、新しいデータユニットの前記状態管理情報を書き換え中状態とし、データを格納した新しいデータユニットを生成し、そのユニットの物理アドレスを最後のデータユニットの物理アドレスとして格納し、新しいデータユニットの状態管理情報の書き換え中状態を解除するデータ書き換え手順と、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理情報が書き換え中状態でないデータユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のデータユニットの実データをその論理アドレスに対応するデータとするデータ読み出し手順と、
データ書き込み中に電源断が発生したときに、データ書き込み中であったユニットがあるか否かを状態管理情報から検索し、データ書き込み中のユニットがあり、かつ前記データ書き込み中のユニットの参照元ユニットの次の物理アドレス部の内容がＮＵＬＬでない場合、前記データ書き込み中のユニットの物理アドレスを前記参照元ユニットの次の物理アドレス部に上書きし、これら処理を全てのユニットについて繰り返す復旧処理手順とを有することを特徴とするＩＣカードのメモリアクセス制御方法。
【請求項４】
請求項３に記載のＩＣカードのメモリアクセス制御方法において、
前記メモリ部の書き換え時に発生するメモリ上のゴミ領域を処理の進行状況を管理しながら整理するガーベジコレクション処理と、ガーベジコレクション中の電源断に対する復旧処理をするガーベジコレクション管理部を設け、
前記メモリ部はガーベジコレクション中か否かのガーベジコレクション状態管理情報と、各ユニットの論理アドレス毎にガーベジコレクション処理済みか否かのユニット状態管理情報をもつ電源断管理情報を設け、
前記ガーベジコレクション管理部は、
更新処理の回数分だけ発生するゴミとなるユニットを整理し、ゴミとなるユニットのない状態に復元するガーベジコレクション処理で、ガーベジコレクション処理中かそうでないかの状態を保持するガーベジコレクション処理状態管理情報と、前記ユニット毎に処理完了かそうでないかの状態を保持するユニット状態管理情報を持つ電源断管理手段を持ち、処理開始時に電源断管理手段のガーベジコレクション処理状態管理情報を処理中状態とし、論理アドレスに対応する先頭ユニット毎に、先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う処理手順と、
カード起動時に電源断管理手段のガーベジコレクション処理状態管理情報が処理中かどうかを判定し、処理中の場合は、ユニット状態管理情報が処理完了でないユニットについて先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う復旧処理手順とを有することを特徴とするＩＣカードのメモリアクセス制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリを搭載したＩＣカード、およびＩＣカードのメモリアクセス制御方法に関する
【０００２】
【従来の技術】
ＩＣカードは、一般的に高セキュリティかつ持ち運びが容易であるため、電子マネーや電子チケットなどの価値情報を記録する媒体として利用されている。この価値情報をカード内で処理するとき、処理中の電源断などによる情報の障害対策として、メモリ領域を多重化して、データ書き込みの確実性を上げる手法が取られる。
【０００３】
また、ＩＣカードへの要求も高まり、大容量・高密度なフラッシュメモリを用いたＩＣカードが利用されている。
【０００４】
フラッシュメモリは、その特性上、書き換え処理が遅い。そのため、フラッシュメモリを使用したＩＣカードのメモリ管理方式として、論理アドレスでメモリにアクセスし、論理メモリ上のデータの書き換え処理を、物理メモリにデータを追記した上で論理アドレスと物理アドレスの対応関係の変更を行うことで、処理を高速化する方法がある。
【０００５】
【発明が解決しようとする課題】
しかし、メモリ領域の多重化の手法は、フラッシュメモリは書き換え処理が遅いため、フラッシュメモリを搭載したＩＣカードにおける障害対策には向かない。
【０００６】
また、論理アドレスと物理アドレスを分離するようなメモリ管理方式をとった場合に、メモリの多重化を行うことは、ＩＣカードというメモリ容量の少ない媒体では現実的ではない。そのため、フラッシュメモリを搭載したＩＣカードにおける、高速性と障害への耐性を併せ持ったメモリ管理方式はなかった。
【０００７】
本方式の目的は、上記の課題を解決したＩＣカードおよびＩＣカードのメモリアクセス制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、フラッシュメモリを利用したＩＣカードで、データの書き換えおよびガーベジコレクションに際して処理状態および更新アドレスを管理することにより、処理中に電源が遮断されたときに、メモリ領域の不整合を解消するようにしたもので、以下の構成および方法を特徴とする。
【０００９】
（１）フラッシュメモリを搭載し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合にメモリ部のデータを復旧処理する手段を備えたＩＣカードであって、
前記メモリ部をユニット単位で管理してデータ読み込み・書き込みおよび電源断に対する復旧処理をするメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用のデータユニットで構成し、
前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスをもつフォーマット構成とし、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスと、自ユニットが書き込み中か否かの状態情報と、自ユニットの実データをもつフォーマット構成とし、
前記メモリ管理部は、
データを書き込む際に、その論理アドレスに対応する前記先頭ユニットを検索し、最後のデータユニットになるまで次のデータユニットの物理アドレスを追跡し、新しいデータユニットの前記状態管理情報を書き換え中状態とし、データを格納した新しいデータユニットを生成し、そのユニットの物理アドレスを最後のデータユニットの物理アドレスとして格納し、新しいデータユニットの状態管理情報の書き換え中状態を解除するデータ書き換え手段と、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理情報が書き換え中状態でないデータユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のデータユニットの実データをその論理アドレスに対応するデータとするデータ読み出し手段と、
データ書き込み中に電源断が発生したときに、データ書き込み中であったユニットがあるか否かを状態管理情報から検索し、データ書き込み中のユニットがあり、かつ前記データ書き込み中のユニットの参照元ユニットの次の物理アドレス部の内容がＮＵＬＬでない場合、前記データ書き込み中のユニットの物理アドレスを前記参照元ユニットの次の物理アドレス部に上書きし、これら処理を全てのユニットについて繰り返す復旧処理手段とを備えたことを特徴とする。
【００１０】
（２）上記（１）に記載のＩＣカードにおいて、
前記メモリ部の書き換え時に発生するメモリ上のゴミ領域を処理の進行状況を管理しながら整理するガーベジコレクション処理と、ガーベジコレクション中の電源断に対する復旧処理をするガーベジコレクション管理部を設け、
前記メモリ部はガーベジコレクション中か否かのガーベジコレクション状態管理情報と、各ユニットの論理アドレス毎にガーベジコレクション処理済みか否かのユニット状態管理情報をもつ電源断管理情報を設け、
前記ガーベジコレクション管理部は、
更新処理の回数分だけ発生するゴミとなるユニットを整理し、ゴミとなるユニットのない状態に復元するガーベジコレクション処理で、ガーベジコレクション処理中かそうでないかの状態を保持するガーベジコレクション処理状態管理情報と、前記ユニット毎に処理完了かそうでないかの状態を保持するユニット状態管理情報を持つ電源断管理手段を持ち、処理開始時に電源断管理手段のガーベジコレクション処理状態管理情報を処理中状態とし、論理アドレスに対応する先頭ユニット毎に、先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う処理手段と、
カード起動時に電源断管理手段のガーベジコレクション処理状態管理情報が処理中かどうかを判定し、処理中の場合は、ユニット状態管理情報が処理完了でないユニットについて先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う復旧処理手段とを備えたことを特徴とする。
【００１１】
（３）フラッシュメモリを搭載し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合にメモリ部のデータを復旧処理する手段を備えたＩＣカードのメモリアクセス制御方法であって、
前記メモリ部をユニット単位で管理してデータ読み込み・書き込みおよび電源断に対する復旧処理をするメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用のデータユニットで構成し、
前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスをもつフォーマット構成とし、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスと、自ユニットが書き込み中か否かの状態管理情報と、自ユニットの実データをもつフォーマット構成とし、
前記メモリ管理部は、
データを書き込む際に、その論理アドレスに対応する前記先頭ユニットを検索し、最後のデータユニットになるまで次のデータユニットの物理アドレスを追跡し、新しいデータユニットの前記状態管理情報を書き換え中状態とし、データを格納した新しいデータユニットを生成し、そのユニットの物理アドレスを最後のデータユニットの物理アドレスとして格納し、新しいデータユニットの状態管理情報の書き換え中状態を解除するデータ書き換え手順と、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理情報が書き換え中状態でないデータユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のデータユニットの実データをその論理アドレスに対応するデータとするデータ読み出し手順と、
データ書き込み中に電源断が発生したときに、データ書き込み中であったユニットがあるか否かを状態管理情報から検索し、データ書き込み中のユニットがあり、かつ前記データ書き込み中のユニットの参照元ユニットの次の物理アドレス部の内容がＮＵＬＬでない場合、前記データ書き込み中のユニットの物理アドレスを前記参照元ユニットの次の物理アドレス部に上書きし、これら処理を全てのユニットについて繰り返す復旧処理手順とを有することを特徴とする。
【００１２】
（４）上記（３）に記載のＩＣカードのメモリアクセス制御方法において、
前記メモリ部の書き換え時に発生するメモリ上のゴミ領域を処理の進行状況を管理しながら整理するガーベジコレクション処理と、ガーベジコレクション中の電源断に対する復旧処理をするガーベジコレクション管理部を設け、
前記メモリ部はガーベジコレクション中か否かのガーベジコレクション状態管理情報と、各ユニットの論理アドレス毎にガーベジコレクション処理済みか否かのユニット状態管理情報をもつ電源断管理情報を設け、
前記ガーベジコレクション管理部は、
更新処理の回数分だけ発生するゴミとなるユニットを整理し、ゴミとなるユニットのない状態に復元するガーベジコレクション処理で、ガーベジコレクション処理中かそうでないかの状態を保持するガーベジコレクション処理状態管理情報と、前記ユニット毎に処理完了かそうでないかの状態を保持するユニット状態管理情報を持つ電源断管理手段を持ち、処理開始時に電源断管理手段のガーベジコレクション処理状態管理情報を処理中状態とし、論理アドレスに対応する先頭ユニット毎に、先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う処理手順と、
カード起動時に電源断管理手段のガーベジコレクション処理状態管理情報が処理中かどうかを判定し、処理中の場合は、ユニット状態管理情報が処理完了でないユニットについて先頭ユニットと追跡した最後のユニットだけをつなげて単純なユニットを生成し、そのユニットに対応するガーベジコレクション処理状態管理情報の処理中状態を解除する処理を行い、すべてのユニットが処理完了になったら、すべてのゴミとなるユニットを消去し、電源断管理手段のガーベジコレクション処理状態管理情報の処理中状態を解除する手順でガーベジコレクションを行う復旧処理手順とを有することを特徴とする。
【００１７】
【発明の実施の形態】
図１は、本発明の実施形態を示すＩＣカードの構成図であり、主にメモリアクセス制御ブロックを示す。
【００１８】
図１において、制御部１は、ＩＣカード内の全体機能を制御すると共に外部装置との間で制御情報とデータの授受を制御する。
【００１９】
フラッシュメモリ２は、電子マネー等の価値情報を保存する領域の他、処理中の電源断が起こったか否かを判断するための電源断管理情報２Ａを保存する領域を有する。
【００２０】
メモリ管理部３は、メモリ２に対するデータ書き換え手段３Ａとデータ読み出し手段３Ｂを有する他、論理メモリ空間と物理メモリ空間の対応関係を管理するメモリ管理機能を利用した障害復旧処理手段３Ｃを有する。
【００２１】
ガーベジコレクション（ゴミ集め）管理部４は、メモリ２に対する情報の書き換え時に発生するメモリ上のゴミ領域を、処理の進行状況を管理しながら整理するガーベジコレクション処理手段４Ａの他、メモリ部の障害復旧処理を行う手段４Ｂとを有する。この障害復旧処理にはメモリ２の電源断管理情報２Ａを参照しながら実行する。
【００２２】
図２は、メモリ管理部３およびガーベジコレクション管理部４で管理する管理用データのフォーマットを示す。メモリ管理部３による管理単位であるユニットは、先頭ユニットとデータユニットに分けられる。先頭ユニットは論理アドレス管理用にされ、データユニットの論理アドレスを保存管理するための論理アドレス部と、データユニットの物理アドレスを保存管理するための物理アドレス部で構成する。
【００２３】
データユニットは、あるユニットのデータに追記したデータが他のユニットとして存在する場合に他のユニットの物理アドレスを指す「次の物理アドレス」を保存するための次の物理アドレス部と、自ユニットが書き換え中かどうかの状態を保持する状態管理部と、自ユニットの実データ部の組み合わせで構成する。
【００２４】
図３は、メモリ２の使用例を示す。論理アドレス管理用データとして、論理アドレス部が♯１でその先頭ユニット物理アドレス部が％１にされる場合、物理アドレス％１に先頭のデータユニットが割り当てられ、当該物理アドレス％１にはデータ書き換え管理用のデータ（次の物理アドレスと状態管理データと実データ）が書き込まれる。このデータのうち、「次の物理アドレス部」に物理アドレス％３が書き込まれた場合、物理アドレス％３に次のデータユニットが割り当てられ、当該物理アドレス％３にはデータ書き換え管理用のデータが書き込まれる。この物理アドレス％３の「次の物理アドレス部」にはＮＵＬＬが書き込まれている場合、または物理アドレスでない特殊な値の場合、当該物理アドレス％３が追記された最新のユニットとなる。ユニットの論理アドレス♯２ではそれが示す先頭ユニットの物理アドレス％２には次の物理アドレス部にはＮＵＬＬが書き込まれているため、当該ユニットには追記ユニットが無いことになる。
【００２５】
次に、ガーベジコレクション管理部４が電源断管理情報２Ａで管理する管理用データのフォーマットは、図２に併記するように、ガーベジコレクション中に電源断等の障害が発生したか否かのデータを保存するための状態管理部と、各メモリユニット毎に電源断が発生したか否かの状態データを論理アドレスで保存する状態管理部で構成する。
【００２６】
以上までの構成になるＩＣカードにおけるデータの読み出し処理・書き換え処理および障害発生時の復旧処理を以下に詳細に説明する。
【００２７】
図４は、メモリ管理部３のデータ読み出し手段３Ａによるデータ読み出し手順を示す。まず、論理アドレス管理用データの論理アドレス部の値を基に先頭ユニットを検索し（Ｓ１）、先頭ユニット物理アドレス部の値を基に物理アドレスを検索する（Ｓ２）。次に、検索された先頭ユニットの「次の物理アドレス部」の値がＮＵＬＬか否かをチェックし（Ｓ３）、ＮＵＬＬでない場合には「次の物理アドレス部」で示される物理アドレスを検索する（Ｓ４）。この「次の物理アドレス部」がＮＵＬＬか否かのチェックと物理アドレスの検索をＮＵＬＬが発生するまで繰り返すことで、最新の追記ユニットまでその物理アドレスの検索を行う。最後に、最新の追記ユニットが検索されたとき、その実データ部から実データを読み出して処理を終了する。
【００２８】
図５は、メモリ管理部３のデータ書き換え手段３Ｂによるデータ書き込み手順を示す。まず、データ書き込み用に新しいユニットを作成する（Ｓ１１）。次に、新しいユニットの状態管理部にデータ書き換え中であることを示す情報を保持する（Ｓ１２）。次に、新しいユニットのデータ部にデータを書き込む（Ｓ１３）。次に、現在のユニット（新しいユニットの参照元ユニット）の「次の物理アドレス部」に新しいユニットの物理アドレスを書き込む（Ｓ１４）。最後に、新しいユニットの状態管理部のデータ書き込み中である状態を解除する（Ｓ１５）。
【００２９】
図６は、メモリ管理部３の復旧処理手段３Ｃによる、データ書き込み中の障害発生に対するデータ復旧手順を示す。まず、ＩＣカードが活性化（電源投入）されたときに処理を開始し、データ書き込み中であるユニットがあるか否かを検索する（Ｓ２１）。データ書き込み中のユニットがあり、かつ現在のユニット（データ書き込み中のユニット）の参照元ユニットの次の物理アドレス部の内容がＮＵＬＬであるか否かを確認する（Ｓ２２）。ＮＵＬＬの場合は、更新はされていないがデータも壊れていないため、復旧処理は行わない。このＮＵＬＬを次の物理アドレスとするユニットは最後に作成したユニットになる。ＮＵＬＬでない場合には現在のユニット（データ書き込み中のユニット）の物理アドレスを参照元ユニットの物理アドレス部に上書きする（Ｓ２３）。これら処理を全てのユニットについて処理を繰り返す（Ｓ２４）。
【００３０】
したがって、データユニットの状態管理部が書き込み中であるユニットについてのみ上書き処理することで復旧処理ができる。
【００３１】
図７は、ガーベジコレクション管理部４の処理手段４Ａの処理手順を示す。まず、電源断管理情報２Ａのガーベジコレクション状態管理部を処理中状態とする（Ｓ３１）。
【００３２】
次に、メモリ領域のユニットサイズ分だけ以下を繰り返す（Ｓ３２〜Ｓ４３）。
【００３３】
（Ｓ３２〜Ｓ３７）ユニットの「次の物理アドレス」情報をたどり、最新の情報を検索する。
【００３４】
（Ｓ３８、Ｓ３９）新しいメモリユニットを作成し、先頭ユニットに対応する論理アドレスと新しいユニットの物理アドレスの組みを登録する。
【００３５】
（Ｓ４０〜Ｓ４２）新しいユニットのデータ部に現在のユニットのデータを格納し、現在のユニットをイレースおよび論理アドレスに対応するもとの組みをイレースする。
【００３６】
（Ｓ４３）現在のユニットに対応する状態管理部にそのユニットの更新が完了した状態を格納する。
【００３７】
（Ｓ４４）参照されなくなったメモリユニットを削除する。
【００３８】
（Ｓ４５）ガーベジコレクション処理中状態を解除する。
【００３９】
図８は、図７によるガーベジコレクション処理中に、電源断が発生した場合の復旧処理手段４Ｂによる復旧処理手順を示す。ＩＣカードの電源投入時に、電源断管理情報２Ａのガーベジコレクション状態管理部が処理中か否かのチェックでガーベジコレクション処理が中断したか否かを判定し（Ｓ５１）、処理中断の場合に各ユニット毎のユニット状態管理部が処理終了か否かをチェックし（Ｓ５２）、処理終了していないユニットについてのみ図７中のユニット毎の処理Ｓ３８〜Ｓ４３を実行し、当該ユニットの状態管理部を処理完了状態にする（Ｓ５３）。すべてのユニットについて処理完了でないユニットに対して処理完了状態にしたとき（Ｓ５４）、ガーベジコレクション状態管理部の処理中を解除して復旧処理を終える（Ｓ５５）。
【００４０】
したがって、データの書き換え処理を追記処理にマッピングするように構成されているため、書き換え前の状態のままデータを保持でき、処理状態を管理することにより、復旧処理が簡単になる。
【００４１】
【発明の効果】
以上のとおり、本発明によれば、以下の効果がある。
【００４２】
（１）処理中に電源断が起きてメモリ上の情報に不整合が起こっても復旧できる。その理由は、メモリ書き換えを追記処理にマッピングし、かつ書き込み処理状態を適切に管理できるためである。
【００４３】
（２）追記処理によって発生するメモリ上のゴミを削除するガーベジコレクション処理中に電源断が発生しても復旧できる。その理由は、ガーベジコレクション処理の中で状態遷移を定義し、適切に管理できるためである。
【００４４】
（３）通常のフラッシュメモリ書き換え処理よりもメモリ書き換え処理を高速化できる。その理由は、書き換え処理を追記処理にマッピングする方式をとるためである。
【図面の簡単な説明】
【図１】本発明の実施形態を示すＩＣカードの構成図。
【図２】実施形態における管理用データのフォーマット。
【図３】実施形態におけるメモリの使用例。
【図４】実施形態におけるメモリ管理部のデータ読み込み処理手順。
【図５】実施形態におけるメモリ管理部のデータ書き込み処理手順。
【図６】実施形態におけるメモリ管理部の復旧処理手順。
【図７】実施形態におけるガーベジコレクション処理手順。
【図８】実施形態におけるガーベジコレクション復旧処理手順。
【符号の説明】
１…制御部
２…メモリ部
２Ａ…電源断管理情報
３…メモリ管理部
３Ａ…データ書き換え手段
３Ｂ…データ読み出し手段
３Ｃ…復旧処理手段
４…ガーベジコレクション管理部
４Ａ…ガーベジコレクション処理手段
４Ｂ…復旧処理手段
【図１】
0003950316.tif 000002
【図２】
0003950316.tif 000003
【図３】
0003950316.tif 000004
【図４】
0003950316.tif 000005
【図５】
0003950316.tif 000006
【図６】
0003950316.tif 000007
【図７】
0003950316.tif 000008
【図８】
0003950316.tif 000009