JP2006059204A - Icカードおよびicカードのメモリアクセス制御方法および制御装置 - Google Patents
Icカードおよびicカードのメモリアクセス制御方法および制御装置 Download PDFInfo
- Publication number
- JP2006059204A JP2006059204A JP2004241724A JP2004241724A JP2006059204A JP 2006059204 A JP2006059204 A JP 2006059204A JP 2004241724 A JP2004241724 A JP 2004241724A JP 2004241724 A JP2004241724 A JP 2004241724A JP 2006059204 A JP2006059204 A JP 2006059204A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- memory
- physical address
- card
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】フラッシュメモリを用いたICカードは、データ処理中に電源断が発生するとメモリ領域の不整合が生じる問題があった。しかし、従来の対策法においては電源断発生時の参照元ユニットを特定方法が明確でなく、このためメモリの不整合を確実に解消することが困難であった。本発明においては、この問題を解決する方法とそれを可能にするICカードおよびICカードメモリアクセス制御装置の提供を目的とした。
【解決手段】ICカードのメモリ部分をユニット単位で管理し、このユニットを先頭ユニットとデータユニットとで構成する。先頭ユニットはアドレス管理用とし、データユニットには、先頭ユニットの論理アドレス、後続データユニットの物理アドレス、状態情報、実データを記録することにより、障害発生ユニットを特定可能とし、メモリの不整合の問題を解消している。
【選択図】図1
【解決手段】ICカードのメモリ部分をユニット単位で管理し、このユニットを先頭ユニットとデータユニットとで構成する。先頭ユニットはアドレス管理用とし、データユニットには、先頭ユニットの論理アドレス、後続データユニットの物理アドレス、状態情報、実データを記録することにより、障害発生ユニットを特定可能とし、メモリの不整合の問題を解消している。
【選択図】図1
Description
本発明は、フラッシュメモリを搭載したICカード、およびICカードのメモリアクセス制御方法および制御装置に関する。
ICカードは、一般的に高セキュリティかつ持ち運びが容易であるため、電子マネーや電子チケットなどの価値情報を記録する媒体として利用されている。この価値情報をカード内で処理するとき、処理中の電源断などによる情報の障害対策として、例えば、下記特許文献1に記載された手法が挙げられる。下記特許文献1においては、フラッシュメモリを用いたICカードのメモリをユニット単位で管理し、データの読み込み、書き換えおよび電源断に関する復旧処理等はメモリ管理部で行う構成としている。
この構成において、データの書き換え等メモリ内容の処理を実行中に電源が遮断された場合に生じるメモリの不整合を解消するために、上記ユニットは論理アドレス管理用の先頭ユニットと、データ書き換え管理用のデータユニットとで構成している。ここで、先頭ユニットは、データユニットの論理アドレスと、データユニットにおける先頭ユニットの物理アドレスとを有している。ここで、論理アドレスとは、プログラムの命令で使用されるアドレスで、物理アドレスとは、そのプログラムがアクセスするデータが格納され、読み込みあるいは書き換えられる時の記録媒体上でのアドレスを指す。データユニットは自ユニットの次に来るデータユニットデータユニットの物理アドレスと、自ユニットが書き換え状態か否かの状態情報と、リンク元ユニットの論理アドレス部と、実データを有するフォーマットとしている。
このフォーマットにおいて、先頭ユニットとデータユニットとによってメモリの論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、上記の状態情報が書き換え状態のままであるデータユニットに対してはデータの追記処理等を実行することにより、上記電源断により生じたメモリの不整合を修正復旧している。
この従来技術では、ICカード上のアプリケーション(以後、カードAPと呼称する)から見てメモリの物理アドレスを隠蔽しており、カードAPに対して論理アドレスのみを見せるようなメモリ処理方式をとっている。また、ユニットという単位でデータを管理しており、このユニット毎に電源断が発生したか否かの状態を検知するための状態管理部を持っている。このように、データをユニット単位で管理し、状態管理部によって、電源断の発生を検知することによって、処理中に電源断が発生したときのメモリ領域の不整合を解消するものであった。
その具体的な方法は、ICカードの起動時に、ユニットの状態管理部を検証し、電源断が発生していた場合は、電源断が発生したユニットの参照元、すなわち電源断が生じたユニットの直前のユニットを特定し、参照元ユニットの次の物理アドレス部がNULLでない場合に、そのユニットの次の物理アドレス部に電源断が発生したものとして当該ユニットの物理アドレスを上記参照元の次の物理アドレス部に書き込むことによって、データの復旧処理を実現していた。この従来技術では、電源断が発生していた場合は電源断の発生したユニットの参照元ユニットを特定し、データの復旧方法が開示されていたが、参照元ユニットの具体的な特定方法については示されていなかった。
本発明は、上記の問題を解決し、実際に書き換え状態中に電源断が生じた場合でも上記の参照元ユニットを特定し、メモリ領域の不整合を確実に解消する方法およびそれを実行する装置の提供を目的とする。
本発明は、上記の問題を解決し、実際に書き換え状態中に電源断が生じた場合でも上記の参照元ユニットを特定し、メモリ領域の不整合を確実に解消する方法およびそれを実行する装置の提供を目的とする。
本発明は、フラッシュメモリを利用したICカードで、データの書き換えに際して処理状態を管理することにより、処理中に電源が遮断されたときに生じるメモリ領域の不整合を解消するようにしたもので、以下の構成および方法を特徴とする。すなわち、メモリ管理部は、メモリを論理アドレス管理用の先頭ユニットとデータ書き換え処理用のデータユニットとで管理し、先頭ユニットはデータユニットの論理アドレスとチェーン構造を持つユニット群で構成されたデータユニットの先頭ユニットの物理アドレスを有する構成とし、データユニットは自ユニットの次に来るデータユニットの物理アドレスと自ユニットに対応する先頭ユニットの論理アドレスと自ユニットが書き換え状態か否かの状態情報と実データを有する構成とし、復旧処理は、先頭ユニットとデータユニットによってメモリの論理アドレスと物理アドレスを対応させて処理の進行状況を検知し、状態情報が書き換え状態であるデータユニットについてのみデータの上書き処理をする。
具体的には、特許請求の範囲に記載するごとく、
1)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理を行うための、前記メモリ部をユニット単位で管理してデータ読み込み・書き換えおよび電源断に対する復旧処理を行うメモリ管理部を備え、前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成のICカードにおいて、前記データユニットは、自ユニットの次のデータユニットの物理アドレスを記録するデータユニットの物理アドレス部と、自ユニットに対応する先頭ユニットの論理アドレスを記録する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態か否かの状態情報を記録する状態管理部と、実データを記録する実データ部とを有するフォーマット構成とし、前記メモリ管理部の復旧処理は、前記先頭ユニットと前記データユニットとによってメモリ部の論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、前記状態管理部が書き換え状態である前記データユニットに対してデータの書き換え処理をするICカードについて規定している。
2)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御方法において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするICカードのメモリアクセス制御方法について規定している。
3)請求項2に記載のICカードのメモリアクセス制御方法において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するICカードのメモリアクセス制御方法について規定している。
4)請求項2または請求項3の何れかに記載のICカードのメモリアクセス制御方法において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするICカードのメモリアクセス制御方法について規定している。
5)請求項2から請求項4の何れかに記載のICカードのメモリアクセス制御方法において、ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするICカードのメモリアクセス制御方法について規定している。
6)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御装置において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするICカードのメモリアクセス制御装置について規定している。
7)請求項6に記載のICカードのメモリアクセス制御装置において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するICカードのメモリアクセス制御装置について規定している。
8)請求項2または請求項3の何れかに記載のICカードのメモリアクセス制御装置において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするICカードのメモリアクセス制御装置について規定している。
9)請求項2から4の何れかに記載のICカードのメモリアクセス制御装置において、ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするICカードのメモリアクセス制御装置について規定している。
1)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理を行うための、前記メモリ部をユニット単位で管理してデータ読み込み・書き換えおよび電源断に対する復旧処理を行うメモリ管理部を備え、前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成のICカードにおいて、前記データユニットは、自ユニットの次のデータユニットの物理アドレスを記録するデータユニットの物理アドレス部と、自ユニットに対応する先頭ユニットの論理アドレスを記録する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態か否かの状態情報を記録する状態管理部と、実データを記録する実データ部とを有するフォーマット構成とし、前記メモリ管理部の復旧処理は、前記先頭ユニットと前記データユニットとによってメモリ部の論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、前記状態管理部が書き換え状態である前記データユニットに対してデータの書き換え処理をするICカードについて規定している。
2)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御方法において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするICカードのメモリアクセス制御方法について規定している。
3)請求項2に記載のICカードのメモリアクセス制御方法において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するICカードのメモリアクセス制御方法について規定している。
4)請求項2または請求項3の何れかに記載のICカードのメモリアクセス制御方法において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするICカードのメモリアクセス制御方法について規定している。
5)請求項2から請求項4の何れかに記載のICカードのメモリアクセス制御方法において、ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするICカードのメモリアクセス制御方法について規定している。
6)フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御装置において、電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとするICカードのメモリアクセス制御装置について規定している。
7)請求項6に記載のICカードのメモリアクセス制御装置において、データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除するICカードのメモリアクセス制御装置について規定している。
8)請求項2または請求項3の何れかに記載のICカードのメモリアクセス制御装置において、データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとするICカードのメモリアクセス制御装置について規定している。
9)請求項2から4の何れかに記載のICカードのメモリアクセス制御装置において、ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をするICカードのメモリアクセス制御装置について規定している。
本発明によれば、メモリ書き換えを追記処理にマッピングし、且つ、この追記処理に際し、自ユニットの次のデータユニットの物理アドレスと、自ユニットに対応する先頭ユニットの論理アドレスとを記録する領域を設けることにより、書き換え処理状態でのアドレス管理を適切に行うことができるため、書き換え処理中に電源断が起きてメモリ上の情報に不整合が起こっても容易に復旧できるという効果がある。
図1は、本発明の実施形態を示すICカードの構成図であり、主にメモリアクセス制御ブロックを示す。なお、以下の説明ではメモリとしてフラッシュメモリを使用した場合について述べる。
図1において、制御部1は、ICカード内の全体機能を制御すると共に外部装置との間で制御情報およびデータの授受を制御する。
フラッシュメモリを使用したメモリ2は、電子マネー等の価値情報を保存する領域の他、処理中の電源断が起こったか否かを判断するための電源断管理情報部2Aを保存する領域を有する。
メモリ管理部3は、メモリ2に対するデータ書き換え手段3Aとデータ読み出し手段3Bを有する他、論理メモリ空間と物理メモリ空間の対応関係を管理するメモリ管理機能を利用した障害復旧処理手段3Cを有する。
図1において、制御部1は、ICカード内の全体機能を制御すると共に外部装置との間で制御情報およびデータの授受を制御する。
フラッシュメモリを使用したメモリ2は、電子マネー等の価値情報を保存する領域の他、処理中の電源断が起こったか否かを判断するための電源断管理情報部2Aを保存する領域を有する。
メモリ管理部3は、メモリ2に対するデータ書き換え手段3Aとデータ読み出し手段3Bを有する他、論理メモリ空間と物理メモリ空間の対応関係を管理するメモリ管理機能を利用した障害復旧処理手段3Cを有する。
図2に、メモリ管理部3で管理する管理用データのフォーマットを示す。ここで、メモリ管理部3においてはユニットを管理単位としてメモリ領域を管理している。この、管理単位であるユニットは、図2のように先頭ユニットとデータユニットとに分けられる。
先頭ユニットは、論理アドレス管理用に使用し、データユニットの論理アドレスを保存管理するための論理アドレス部と、データユニットの物理アドレスを保存管理するための物理アドレス部とで構成する。
データユニットは、或るユニットのデータに追記したデータが他のユニットとして存在する場合に、他のユニットの物理アドレスを指す「次の物理アドレス」を保存するための次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニット、すなわち自ユニットに対応する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態(書き換え中の状態)か否かの状態を保持する状態管理部と、自ユニットの実データを記録する実データ部との組み合わせで構成する。なお、図2下部の電源断管理情報は電源断の管理情報として論理アドレス単位で管理されている。これら先頭ユニット、データユニット、および電源断管理情報の各フォーマットは、図1におけるメモリ部2内に設けられた電源断管理情報の領域2Aに格納されている。
データユニットは、或るユニットのデータに追記したデータが他のユニットとして存在する場合に、他のユニットの物理アドレスを指す「次の物理アドレス」を保存するための次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニット、すなわち自ユニットに対応する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態(書き換え中の状態)か否かの状態を保持する状態管理部と、自ユニットの実データを記録する実データ部との組み合わせで構成する。なお、図2下部の電源断管理情報は電源断の管理情報として論理アドレス単位で管理されている。これら先頭ユニット、データユニット、および電源断管理情報の各フォーマットは、図1におけるメモリ部2内に設けられた電源断管理情報の領域2Aに格納されている。
図3は、メモリ2の使用例を示す。論理アドレス管理用データとして、論理アドレス部が#1で、その先頭ユニット物理アドレス部が%1とした場合、物理アドレス%1に先頭のデータユニットが割り当てられ、この物理アドレス%1にはデータ書き換え管理用のデータ(すなわち、次の物理アドレス、リンク元ユニットの論理アドレス、状態管理データ、実データ)が書き込まれる。この各データのうち、次の物理アドレス部に物理アドレス%3が書き込まれた場合、物理アドレス%3に次のデータユニットが割り当てられ、当該物理アドレス%3にはデータ書き換え管理用の、すなわちデータユニットの内容である実データが書き込まれる。この物理アドレス%3の次の物理アドレス部に図3に示すようにNULLが書き込まれている場合、または物理アドレスでない特殊な値の場合、当該物理アドレス%3が物理アドレス%1に追記された最新のユニットとなる。ユニットの論理アドレス#2ではそれが示す先頭ユニットの物理アドレス%2には次の物理アドレス部にはNULLが書き込まれているため、当該ユニットには追記ユニットが無いことになる。以上述べた構成になるICカードにおけるデータの読み出し処理・書き換え処理および障害発生時の復旧処理を以下に詳細に説明する。
図4は、図1におけるメモリ管理部3のデータ読み出し手段3Aによるデータの読み出し手順を示す。まず、論理アドレス管理用データの論理アドレス部の値を基に先頭ユニットを検索し(Sl)、先頭ユニット物理アドレス部の値を基に当該ユニットの物理アドレスを検索する(S2)。次に、検索された先頭ユニットの次の物理アドレス部の値がNULLか否かをチェックし、NULLでない場合(S3−No)には次の物理アドレス部で示される物理アドレスを検索する(S4)。
図4は、図1におけるメモリ管理部3のデータ読み出し手段3Aによるデータの読み出し手順を示す。まず、論理アドレス管理用データの論理アドレス部の値を基に先頭ユニットを検索し(Sl)、先頭ユニット物理アドレス部の値を基に当該ユニットの物理アドレスを検索する(S2)。次に、検索された先頭ユニットの次の物理アドレス部の値がNULLか否かをチェックし、NULLでない場合(S3−No)には次の物理アドレス部で示される物理アドレスを検索する(S4)。
この次の物理アドレス部がNULLか否かのチェックと物理アドレスの検索とをNULLが発生するまで繰り返すことで、最新の追記ユニットに至るまでその物理アドレスの検索を続行する。最後に、最新の追記ユニットが検索されたとき(S3−Yes)、その実データ部から実データを読み出して処理を終了する(S5)。
図5は、メモリ管理部3のデータ書き換え手段3Aによるデータの書き換え手順を示す。まず、書き換え用のデータを書き込むために新しいユニットを作成する(S1l)。次に、この新しいユニットにおけるデータユニットの状態管理部にデータ書き換え状態であることを示す情報を保特する(S12)。次に、この新しいユニットにおけるデータユニットの実データ部に実データを書き込む(S13)。次に、この新しいデータユニットの「リンク元ユニットの論理アドレス部」に、新しいユニットの先頭ユニットの論理アドレスを書き込む(S14)、次に、現在のユニットの「次の物理アドレス部」に新しいユニットの物理アドレスを書き込む(S15)。最後に、新しいデータユニットの状態管理部にS12で書きこまれたデータ書き換え状態を解除する(S16)。
図6および図7は、メモリ管理部3の復旧処理手段3Cによる、データ書き換え状態の障害発生に対するデータ復旧手順を示す。まず、ICカードが活性化(電源投入)されたときに処理を開始し、状態管理部が書き換え状態完了でないユニットがあるか否かを検索する。書き換え状態完了でないユニットが存在しない場合(S21−No)は処理を終了する。状態管理部が書き換え開始の状態にあり、かつ、リンク元ユニットの論理アドレスがNULL(空)でない場合(S22−Yes)、電源断が発生したユニットには実データの書き込みが開始しておらず、復旧処理を実施する必要がないので、処理を終了する。
データ書き換え状態、すなわち書き換え状態が完了していないユニットがある場合(S22−No)、リンク元の論理アドレス部から候補となるユニットが複数個存在すればその数だけの先頭ユニットを検索する(S23)。ここで、候補の先頭ユニットを複数個検索するのは、リンク元の論理アドレス部から電源断が発生したユニットの先頭ユニットが一意に識別できないときのためである。たとえば、論理アドレスが2バイトであり、リンク元ユニットの論理アドレス部も2バイトであり、しかしながら、リンク元ユニットの論理アドレス部の下位2ビットが別の処理情報などに利用せざるを得ない場合、リンク元ユニットの論理アドレス部から先頭ユニットを検索すると、電源断が発生したユニットの先頭ユニットとして、4つの候補のユニットが存在し得ることになる。もちろん、リンク元の論理アドレス部から、先頭ユニットを一意に識別してもよい。
次に、ステップS25、S26を実行するための初期設定をステップS24で行う。ここにおいては、先頭ユニットの先頭ユニット物理アドレス部の値を、変数である“物理アドレス”に代入する。また、先頭ユニットは状態管理部を持たないので、変数“書き換え状態”にNULLを代入する。このことにより、先頭ユニットの始点を明確に出来るため先頭ユニットからユニットのパスを辿ることが出来るようになる。
また、変数である物理アドレスの値で指定される物理アドレスを持つユニットの状態管理部の値を変数である書き換え状態に代入する(S25)。変数である物理アドレスの値がNULLでなく、かつ、変数である物理アドレスの値が、書き換え状態のユニットの物理アドレスの値以下である場合は(S26−Yes)、ステップS25に戻る。そうでない場合(S26−No)はステップS27に移る(S26)。
変数である物理アドレスの値がNULLでなければ(S27−Yes)ステップS29にて、復旧処理1を実行する。そうでない場合は(S27−No)、処理ステップS28に移る。
変数である物理アドレスがNULLであり、かつ、変数である書き換え状態の値が書き換え状態である場合は(S28−Yes)、ステップS30にて復旧処理2を実行する。そうでない場合(S28−No)、または、S29,S30を実行の後、S23で得られた候補の先頭ユニット全てについて、S24〜S29、またはS24〜S30、またはS24〜S28(No)を実施したかどうかをチェックする。実行していれば、本復旧処理過程を終了する。
変数である物理アドレスがNULLであり、かつ、変数である書き換え状態の値が書き換え状態である場合は(S28−Yes)、ステップS30にて復旧処理2を実行する。そうでない場合(S28−No)、または、S29,S30を実行の後、S23で得られた候補の先頭ユニット全てについて、S24〜S29、またはS24〜S30、またはS24〜S28(No)を実施したかどうかをチェックする。実行していれば、本復旧処理過程を終了する。
1:制御部 2:メモリ
2A:電源断管理情報 3:メモリ管理部
3A:データ読み出し手段 3B:データ書き換え手段
3C:復旧処理手段
2A:電源断管理情報 3:メモリ管理部
3A:データ読み出し手段 3B:データ書き換え手段
3C:復旧処理手段
Claims (9)
- フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理を行うための、前記メモリ部をユニット単位で管理してデータ読み込み・書き換えおよび電源断に対する復旧処理を行うメモリ管理部を備え、
前記ユニットは、論理アドレス管理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成のICカードにおいて、
前記データユニットは、自ユニットの次のデータユニットの物理アドレスを記録するデータユニットの物理アドレス部と、自ユニットに対応する先頭ユニットの論理アドレスを記録する先頭ユニットの論理アドレス部と、自ユニットが書き換え状態か否かの状態情報を記録する状態管理部と、実データを記録する実データ部とを有するフォーマット構成とし、
前記メモリ管理部の復旧処理は、前記先頭ユニットと前記データユニットとによってメモリ部の論理アドレスと物理アドレスとを対応させて処理の進行状況を検知し、前記状態管理部が書き換え状態である前記データユニットに対してデータの書き換え処理をすることを特徴とするICカード。 - フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、
前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御方法において、
電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、
次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとすることを特徴とするICカードのメモリアクセス制御方法。 - 請求項2に記載のICカードのメモリアクセス制御方法において、
データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除することを特徴とするICカードのメモリアクセス制御方法。 - 請求項2または請求項3の何れかに記載のICカードのメモリアクセス制御方法において、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとすることを特徴とするICカードのメモリアクセス制御方法。 - 請求項2から請求項4の何れかに記載のICカードのメモリアクセス制御方法において、
ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、
さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、
候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をすることを特徴とするICカードのメモリアクセス制御方法。 - フラッシュメモリからなるメモリ部を有し、活性化されたときに前回の処理中に電源断があったか否かを検知し、電源断が発生していた場合に、データおよびアドレスを記録する前記メモリ部のデータの復旧処理をユニット単位で実行する手段を備え、
前記ユニットは、論理アドレス処理用の先頭ユニットとデータ書き換え管理用の1つ以上のデータユニットとで構成され、前記先頭ユニットは、前記データユニットの論理アドレスと、データユニットの先頭ユニットの物理アドレスとを有するフォーマット構成を用いたICカードのメモリアクセス制御装置において、
電源断が発生したか否かを検知するために、前記データユニットのフォーマットを、
次のユニットを指す物理アドレスである次の物理アドレス部と、自ユニットの先頭ユニットの論理アドレスを保存するためのリンク元ユニットの論理アドレス部と、ユニットが書き換え状態か否かの状態を保特する状態管理部と、実データを格納する実データ部とで構成されたフォーマットとすることを特徴とするICカードのメモリアクセス制御装置。 - 請求項6に記載のICカードのメモリアクセス制御装置において、
データを書き込む際に、その論理アドレスに対応する先頭ユニットを検索し、最後のユニットになるまで物理アドレス部を追跡し、新しいユニットの状態管理部を書き換え中状態とし、実データ部に書き込むデータを格納した新しいユニットを生成し、そのユニットの物理アドレスを最後のユニットの物理アドレス部に格納し、新しいユニットの状態管理部の書き換え中状態を解除することを特徴とするICカードのメモリアクセス制御装置。 - 請求項6または請求項7の何れかに記載のICカードのメモリアクセス制御装置において、
データを読み出す際に、その論理アドレスに対応する先頭ユニットを検索し、状態管理部が書き換え中状態でないユニットについて、最後のユニットになるまで次の物理アドレスを追跡し、最後のユニットの実データ部をその論理アドレスに対応するデータとすることを特徴とするICカードのメモリアクセス制御装置。 - 請求項6から請求項8の何れかに記載のICカードのメモリアクセス制御装置において、
ICカードの起動時に状態管理部が書き込み完了状態でないメモリユニットがあるかどうかを検索し、
さらに、状態管理部が書き込み完了状態でないメモリユニットのうち、その状態管理部が書き換え中であるメモリユニットに対応する先頭ユニットをいくつか検索し、
候補の先頭ユニットから次の物理アドレス部を元にメモリユニットのリンクを辿り、
1.次の物理アドレスが空でない、かつ、つぎの物理アドレス部が書き換え中であるメモリユニットの物理アドレスより大きい、または、
2.次の物理アドレス部が空であり、かつ、状態管理部がデータ書き込み中である場合に、メモリユニットのリンクを辿ることを終了し、このときのメモリユニットの復旧処理をすることを特徴とするICカードのメモリアクセス制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241724A JP2006059204A (ja) | 2004-08-20 | 2004-08-20 | Icカードおよびicカードのメモリアクセス制御方法および制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241724A JP2006059204A (ja) | 2004-08-20 | 2004-08-20 | Icカードおよびicカードのメモリアクセス制御方法および制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006059204A true JP2006059204A (ja) | 2006-03-02 |
Family
ID=36106615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004241724A Pending JP2006059204A (ja) | 2004-08-20 | 2004-08-20 | Icカードおよびicカードのメモリアクセス制御方法および制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006059204A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012198655A (ja) * | 2011-03-18 | 2012-10-18 | Dainippon Printing Co Ltd | 内部状態に応じたフォーマット処理を実行できる半導体記憶装置及び半導体記憶装置のフォーマット処理方法 |
KR101335047B1 (ko) | 2009-01-06 | 2013-11-29 | 주식회사 엘지유플러스 | 스마트카드 연동을 통한 단말 어플리케이션의 서비스 거래 복구 장치 및 방법 |
JP2015191567A (ja) * | 2014-03-28 | 2015-11-02 | 株式会社メガチップス | 半導体記憶装置 |
-
2004
- 2004-08-20 JP JP2004241724A patent/JP2006059204A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101335047B1 (ko) | 2009-01-06 | 2013-11-29 | 주식회사 엘지유플러스 | 스마트카드 연동을 통한 단말 어플리케이션의 서비스 거래 복구 장치 및 방법 |
JP2012198655A (ja) * | 2011-03-18 | 2012-10-18 | Dainippon Printing Co Ltd | 内部状態に応じたフォーマット処理を実行できる半導体記憶装置及び半導体記憶装置のフォーマット処理方法 |
JP2015191567A (ja) * | 2014-03-28 | 2015-11-02 | 株式会社メガチップス | 半導体記憶装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101613678B1 (ko) | 전력 손실 이후의 비-휘발성 메모리에 대한 복원 | |
US7240178B2 (en) | Non-volatile memory and non-volatile memory data rewriting method | |
JP4722839B2 (ja) | メモリ制御回路、不揮発性記憶装置及びメモリ制御方法 | |
CN100377120C (zh) | 非易失性存储器装置的控制方法 | |
US7441085B2 (en) | Memory control method for restoring data in a cache memory | |
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
JP2846739B2 (ja) | Eepromメモリの安全更新方法 | |
JP2002351685A (ja) | 不揮発性メモリのデータ更新方法及び制御装置 | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
JP2012128643A (ja) | メモリシステム | |
US8984218B2 (en) | Drive indicating mechanism for removable media | |
JP3675375B2 (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
JP2005222202A (ja) | 不揮発性記憶装置のデータ保護方法 | |
JP6009290B2 (ja) | 車両の電子制御装置 | |
JP2002062956A (ja) | 停電処理方法及び停電処理装置 | |
JP3950316B2 (ja) | Icカードおよびicカードのメモリアクセス制御方法 | |
JP2006048911A (ja) | 取り外し可能な記憶媒体を収容することができる記憶ドライブ | |
JP2003196165A (ja) | 不揮発性メモリ及びそのデータ更新方法 | |
JP2006059204A (ja) | Icカードおよびicカードのメモリアクセス制御方法および制御装置 | |
JP2010536112A (ja) | 中断された書込みの回復のためのデータ記憶方法、機器およびシステム | |
US20070274302A1 (en) | Data Storage Device, Memory Managing Method, and Program | |
JP3620478B2 (ja) | 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法 | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
JP6040895B2 (ja) | マイクロコンピュータ及び不揮発性メモリのブロック管理方法 |