(57)【特許請求の範囲】
【請求項１】
外部機器から送信されたコマンドを受信する受信手段と、
前記受信手段により受信された前記コマンドに基づいて処理を実行するコマンド処理手段と、
前記コマンド処理手段による処理結果に応じてレスポンスを前記外部機器に送信する送信手段と、
二面化された実データを記憶するデータ領域を有する複数のファイルを備える第１の記憶手段と、
前記データ領域の有効面を前記ファイル毎に示す二面化された管理テーブルを備える第２の記憶手段と、
前記管理テーブルの有効面を示すフラグを記憶する第３の記憶手段と、
を具備するＩＣカード。
【請求項２】
前記コマンド処理手段は、前記受信手段によりデータ更新コマンドを受信した場合、前記フラグ及び前記管理テーブルに基づいて、前記データ領域の無効面及び前記管理テーブルの無効面を認識し、前記データ領域の無効面にコマンドに応じたデータを書き込み、前記管理テーブルの無効面を更新する、請求項１に記載のＩＣカード。
【請求項３】
前記コマンド処理手段は、前記受信手段により一括更新コマンドを受信した場合、前記管理テーブルの無効面を有効面に切り替える、請求項２に記載のＩＣカード。
【請求項４】
前記コマンド処理手段は、前記受信手段により受信したコマンドが、データ更新コマンドであり、且つバイナリコマンドである場合、前記データ領域の有効面のデータを無効面にコピーし、前記データ領域の無効面にコマンドに応じたデータを書き込む、請求項３に記載のＩＣカード。
【請求項５】
更新開始フラグを記憶する第４の記憶手段を具備し、
前記コマンド処理手段は、前記更新開始フラグがＯＦＦの状態で前記データ更新コマンドに応じたコマンド処理を開始した場合、前記更新開始フラグをＯＮに切り替え、前記一括更新コマンドに応じたコマンド処理を完了した場合、前記更新開始フラグをＯＦＦに切り替える、
請求項３に記載のＩＣカード。
【請求項６】
前記コマンド処理手段は、前記更新開始フラグをＯＮに切り替えた場合、前記管理テーブルを有効面から無効面にコピーする、請求項５に記載のＩＣカード。
【請求項７】
前記コマンド処理手段は、前記受信手段により読み出しコマンドを受信した場合、前記フラグ及び前記管理テーブルに基づいて、前記データ領域の有効面を認識し、前記データ領域の有効面のデータを読み出す、請求項１に記載のＩＣカード。
【請求項８】
前記受信手段と、前記コマンド処理手段と、前記送信手段と、前記第１の記憶手段と、前記第２の記憶手段と、前記第３の記憶手段と、を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項９】
外部機器から送信されたコマンドを受信する受信手段と、
前記受信手段により受信された前記コマンドに基づいて処理を実行するコマンド処理手段と、
前記コマンド処理手段による処理結果に応じてレスポンスを前記外部機器に送信する送信手段と、
二面化された実データを記憶するデータ領域を有する複数のファイルを備える第１の記憶手段と、
前記データ領域の有効面を前記ファイル毎に示す二面化された管理テーブルを備える第２の記憶手段と、
前記管理テーブルの有効面を示すフラグを記憶する第３の記憶手段と、
を具備する携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、及び携帯可能電子装置に関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、ＩＣカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【０００４】
ＩＣカードは、リーダライタからの電源供給が途絶えた場合、シャットダウンされる。例えば、ＩＣカードがコマンドの処理の途中でシャットダウンされた場合、ＩＣカード内のデータメモリに不整合が生じる場合がある。
【０００５】
例えば、ＩＣカードは、バッファメモリに更新データを記憶し、一括更新を指示するコマンドを受信した場合に、バッファメモリの更新データをデータメモリに上書きすることにより、データメモリの不整合を防ぐ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−９３２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のようなＩＣカードは、上書き処理の途中で電源が遮断された場合、メモリの不整合が生じる可能性があるという課題がある。また、上記のようなＩＣカードは、１つのデータ更新コマンドにつき書き込み処理を２度行う必要がある。この為、処理時間が長くなるという課題がある。
【０００８】
そこで、より効率的に処理を実行するＩＣカード、及び携帯可能電子装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一実施形態に係るＩＣカードは、外部機器から送信されたコマンドを受信する受信手段と、前記受信部により受信された前記コマンドに基づいて処理を実行するコマンド処理手段と、前記コマンド処理手段による処理結果に応じてレスポンスを前記外部機器に送信する送信手段と、二面化された実データを記憶するデータ領域を有する複数のファイルを備える第１の記憶手段と、前記データ領域の有効面を前記ファイル毎に示す二面化された管理テーブルを備える第２の記憶手段と、前記管理テーブルの有効面を示すフラグを記憶する第３の記憶手段と、を具備する。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係るＩＣカード処理システムの構成例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの構成例について説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図４】図４は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図５】図５は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図６】図６は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図７】図７は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、一実施形態に係るＩＣカード、及び携帯可能電子装置について詳細に説明する。
【００１２】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカード２０を処理する処理装置（端末装置）１０は、例えば、接触通信、及び／または非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１３】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０と、ＩＣカード２０と、を備える。
【００１４】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、ディスプレイ１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、及びディスプレイ１８は、それぞれバスを介して互いに接続されている。
【００１５】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１６】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１７】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭ（登録商標）などを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１８】
カードリーダライタ１５は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１５は、接触通信、または非接触通信によりＩＣカード２０とデータの送受信を行う。
【００１９】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、ＩＣカード２０が装着されるスロットと、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。
【００２０】
スロットにＩＣカード２０が装着される場合、カードリーダライタ１５の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１５は、スロットに装着されるＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２１】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２２】
カードリーダライタ１５は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１５は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００２３】
さらに、カードリーダライタ１５のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１５は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２４】
操作部１７は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部１７は、生成した操作信号をＣＰＵに入力する。これにより、ＣＰＵ１１は、操作者により入力された操作に基づいて処理を実行することができる。
【００２５】
ディスプレイ１８は、ＣＰＵ１１、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
【００２６】
電源部１９は、端末装置１０の各部に電力を供給する。電源部１９は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置１０の各部に供給する。
【００２７】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備える。ＩＣモジュール２２は、ＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２内に形成されている。
【００２８】
なお、本体２１は、少なくとも通信部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００２９】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２などを備える。通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２は、バスを介して互いに接続されている。
【００３０】
通信部２４は、端末装置（外部機器）１０のカードリーダライタ１５と通信を行うためのインターフェースである。通信部２４は、接触通信、または非接触通信により、端末装置１０とデータの送受信を行う。
【００３１】
接触通信のインターフェースとして用いられる場合、通信部２４は、カードリーダライタ１５の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２２の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能に形成されている。
【００３２】
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部２４は、コンタクトパターンを介してカードリーダライタ１５とデータの送受信を行うことができる。
【００３３】
また、非接触通信のインターフェースとして用いられる場合、通信部２４は、信号処理部とアンテナとを備える。
【００３４】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３５】
アンテナは、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３６】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部２４は、２値の論理データを取得する。通信部２４は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３７】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３８】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３９】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、通信部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００４０】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ２８は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００４１】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４２】
電源部３１は、端末装置１０の各部に電力を供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部３１は、通信部２４のコンタクトパターンを介してカードリーダライタ１５から供給される電力をＩＣカード２０の各部に供給する。
【００４３】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１５のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４４】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、相互認証処理に係る演算処理を実行する。
【００４５】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０を発行する発行装置は、一次発行において、ＩＣカード２０にコマンド（初期化コマンド）を送信することにより、ＩＣカード２０の不揮発性メモリ２８の初期化を行う。これにより、端末装置１０は、ＩＣカード２０の不揮発性メモリ２８内にＩＣカード２０の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
【００４６】
発行装置は、例えば、ＩＳＯ／ＩＥＣ７８１６により規定されているファイル構造を不揮発性メモリ２８内に創成する。上記の初期化が行われた不揮発性メモリ２８は、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などを有する。
【００４７】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００４８】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
【００４９】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００５０】
例えば、図３に示されるように、不揮発性メモリ２８は、ＭＦ及び複数のＥＦを記憶する記憶領域２８ａを有する。図３は、記憶領域２８ａが有するファイルの構成（ファイルツリー）の例を示す。なお、記憶領域２８ａは、ＭＦと、ＭＦの下位にＥＦ１、ＥＦ２、及びＥＦ３を有する構成であるとして説明する。
【００５１】
図４は、記憶領域２８ａの具体的な例を示す。  
図４に示されたように、記憶領域２８ａは、システム共通情報、ＭＦファイル管理情報、ＥＦ１のファイル管理情報、ＥＦ２のファイル管理情報、及びＥＦ３のファイル管理情報を有する。また、記憶領域２８ａは、ＥＦ１、ＥＦ２、及びＥＦ３の実データを記憶するためのデータ領域を備える。なお、各ＥＦのデータ領域は、それぞれ二面化されている。即ち、各ＥＦは、第１のデータ領域と第２のデータ領域とを備える。なお、ＥＦの第１のデータ領域と第２のデータ領域とでアクティブな方をアクティブ面と称する。
【００５２】
さらに、システム共通情報は、テーブル切り替えフラグ、管理テーブル１（第１の管理テーブル）、及び管理テーブル２（第２の管理テーブル）を備える。テーブル切り替えフラグは、管理テーブル１と管理テーブル２とでどちらが有効（アクティブ）な状態であるかを示す。また、管理テーブル１及び管理テーブル２は、各ＥＦ毎に第１のデータ領域と第２のデータ領域とでどちらが有効（アクティブ面）であるかを示す。
【００５３】
また、ＩＣカード２０のＲＡＭ２７は、更新開始フラグを記憶する為の記憶領域を備える。更新開始フラグは、更新処理を実行中であるか否かを示すフラグである。
【００５４】
図５は、ＥＦ１のファイル管理情報、ＥＦ２のファイル管理情報、及びＥＦ３のファイル管理情報の例を示す。  
各ＥＦの管理情報は、それぞれファイルＩＤ、ファイル種別、ファイルサイズ、第１のデータ領域のアドレス、及び第２のデータ領域のアドレスを有する。ファイルＩＤは、ＥＦ毎に付与される識別番号である。ファイル種別は、ＥＦの種類を示す。ファイルサイズは、ＥＦのデータ領域のサイズを示す。なお、この場合、ファイルサイズは、ＥＦの第１のデータ領域、または第２のデータ領域のサイズを示す。第１のデータ領域のアドレスは、ＥＦの第１のデータ領域の位置を示す。第２のデータ領域のアドレスは、ＥＦの第２のデータ領域の位置を示す。
【００５５】
ＩＣカード２０のＣＰＵ２５は、ＥＦからデータの読み出しを行う場合、テーブル切り替えフラグが示すアクティブであることが示された管理テーブルを参照する。これにより、ＣＰＵ２５は、参照した管理テーブルの読み出し対象のＥＦの第１のデータ領域と第２のデータ領域とでどちらがアクティブ面であるかを認識する。ＣＰＵ２５は、ＥＦの管理情報を参照し、アクティブ面のデータ領域のアドレスを読み出す。ＣＰＵ２５は、読み出したアドレスにアクセスすることにより、アクティブ面のデータを読み出すことができる。
【００５６】
図６は、記憶領域２８ａに格納されているデータの遷移の具体的な例を示す。また、図７は、ＩＣカード２０の処理の例を示す。なお、ここでは、ＩＣカード２０がデータ更新コマンド１（第１のデータ更新コマンド）、データ更新コマンド２（第２のデータ更新コマンド）、一括更新コマンドの順でコマンドを受信する例を示す。なお、データ更新コマンドは、例えば、書き込みコマンド、上書きコマンド、追記コマンド、削除コマンドなどの、ＥＦのデータ領域のデータが変更されるようなコマンドを示す。
【００５７】
図６に示されるように、処理開始前の記憶領域２８ａは、「更新開始フラグ＝ＯＦＦ」、「データ切り替えフラグ＝管理テーブル１」となっている。また、管理テーブル１は、「ＥＦ１＝データ領域１」、「ＥＦ２＝データ領域２」、「ＥＦ３＝データ領域３」となっている。また、管理テーブル２は、「ＥＦ１＝データ領域１」、「ＥＦ２＝データ領域１」、「ＥＦ３＝データ領域２」となっている。
【００５８】
また、ＥＦ１は、「データ領域１＝００００  ００００」、「データ領域２＝ＦＦＦＦ  ＦＦＦＦ」となっている。また、ＥＦ２は、「データ領域１＝ＦＦ  ＦＦＦＦ  ＦＦＦＦ」、「データ領域２＝ＦＦ  ＦＦＦＦ  ＦＦＦＦ」となっている。また、ＥＦ３は、「データ領域１＝００  ００００」、「データ領域２＝ＦＦ  ＦＦＦＦ」となっている。
【００５９】
このようなデータを記憶領域２８ａが有する場合、アクティブな管理テーブルは、管理テーブル１である。また、ＥＦ１のアクティブ面は、「データ領域１＝００００  ００００」である。また、ＥＦ２のアクティブ面は、「データ領域２＝ＦＦ  ＦＦＦＦ  ＦＦＦＦ」である。また、ＥＦ３のアクティブ面は、「データ領域１＝００  ００００」である。
【００６０】
この状態で上記したようなデータ更新コマンドを受信した場合の処理を図７を用いて説明する。
【００６１】
ＩＣカード２０は、端末装置１０から電源が供給された場合、活性化されてアイドル状態になる。まず、ＩＣカード２０のＣＰＵ２５は、ＲＡＭ２７を初期化する（ステップＳ１１）。即ち、この時点でＲＡＭ２７内の更新開始フラグは、初期状態（ＯＦＦ）になる。
【００６２】
さらに、ＩＣカード２０は、ＡＴＲ（Ａｎｓｗｅｒ  ｔｏ  Ｒｅｓｅｔ）を端末装置１０に送信する（ステップＳ１２）。さらに、ＩＣカード２０は、コマンドの受信を待つ状態になる（ステップＳ１３）。
【００６３】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドが一括更新コマンドであるか否かを判断する（ステップＳ１４）。即ち、ＣＰＵ２５は、受信したコマンドを解析し、受信したコマンドのコマンド種別（ＩＮＳ）が一括更新コマンドを示すか否か判断する。
【００６４】
受信したコマンドが一括更新コマンドではない場合、ＣＰＵ２５は、受信したコマンドがデータ更新コマンドであるか否か判断する（ステップＳ１５）。即ち、ＣＰＵ２５は、受信したコマンドのコマンド種別（ＩＮＳ）がデータ更新コマンドを示すか否か判断する。
【００６５】
受信したコマンドがデータ更新コマンドである場合、ＣＰＵ２５は、ＲＡＭ２７上の更新開始フラグがＯＦＦであるか否か判断する（ステップＳ１６）。更新開始フラグがＯＦＦである場合、ＣＰＵ２５は、ＲＡＭ２７上の更新開始フラグをＯＮに切り替える（ステップＳ１７）。また、更新開始フラグがＯＮである場合、ＣＰＵ２５は、ステップＳ１９の処理に移行する。
【００６６】
さらに、ＣＰＵ２５は、管理テーブルをコピーする（ステップＳ１８）。なお、ＣＰＵ２５は、アクティブな管理テーブルを無効側（パッシブ）の管理テーブルにコピーする。図６に示す例では、管理テーブル１がアクティブである。この場合、ＣＰＵ２５は、管理テーブル１を管理テーブル２にコピーする。これにより、ＣＰＵ２５は、管理テーブル２のＥＦ１のアクティブ面をデータ領域１、ＥＦ２のアクティブ面をデータ領域２、ＥＦ３のアクティブ面をデータ領域１にそれぞれ書き換える。
【００６７】
さらに、ＣＰＵ２５は、受信したデータ更新コマンドに応じたコマンド処理を実行する（ステップＳ１９）。この場合、ＣＰＵ２５は、コマンドにより指定されたＥＦの非アクティブ面（パッシブ面）に対して、データ更新処理を実行する。
【００６８】
なお、ＩＣカード２０が受信したデータ更新コマンド１は、ＥＦ１を「１１１１  １１１１」に書き換えるコマンドであるとして説明する。アクティブなデータ管理テーブルは、管理テーブル１である。また、ＥＦ１のアクティブ面は、データ領域１である。即ち、ＥＦ１のパッシブ面は、データ領域２である。この場合、ＣＰＵ２５は、ＥＦ１のパッシブ面であるデータ領域２を「１１１１  １１１１」に書き換える。
【００６９】
ＣＰＵ２５は、コマンド処理が正常終了したか否か判断する（ステップＳ２０）。正常終了した場合、ＣＰＵ２５は、パッシブ側の管理テーブルを更新する（ステップＳ２１）。即ち、ＣＰＵ２５は、データ更新処理を行ったデータ領域をパッシブ面からアクティブ面に切り替える。即ち、ＣＰＵ２５は、パッシブの管理テーブルのデータ更新処理を行ったＥＦのパッシブ面をアクティブ面に切り替える。図６の例によると、ＣＰＵ２５は、管理テーブル２のＥＦ１のアクティブ面をデータ領域１からデータ領域２に切り替える。
【００７０】
また、ＣＰＵ２５は、ステップＳ２０でコマンド処理が正常終了しなかったと判断した場合，ステップＳ２０からステップＳ２２に移行する。
【００７１】
ＣＰＵ２５は、コマンド処理の結果に応じてステータスワード（ＳＷ）を生成し、ＳＷを含むレスポンスを生成し、端末装置１０に送信し（ステップＳ２２）、処理を終了する。この場合、ＩＣカード２０は、再びコマンドの受信を待つアイドル状態に移行する。
【００７２】
またここで、ＥＦ２を「２２  ２２２２  ２２２２」に書き換えるデータ更新コマンド２を受信した場合、ＣＰＵ２５は、上記のステップＳ１７乃至２２と同様の処理を行う。即ち、ＣＰＵ２５は、アクティブなデータ管理テーブルである管理テーブル１が示す
ＥＦ２のパッシブ面にデータを書き込む。これにより、ＣＰＵ２５は、ＥＦ２のデータ領域１を「２２  ２２２２  ２２２２」に書き換える。さらに、ＣＰＵ２５は、管理テーブル２のＥＦ２のアクティブ面をデータ領域２からデータ領域１に書き換える。
【００７３】
また、ステップＳ１４で、一括更新コマンドを受信したと判断した場合、ＣＰＵ２５は、ＲＡＭ２７上の更新開始フラグがＯＮであるか否か判断する（ステップＳ２３）。ＲＡＭ２７上の更新開始フラグがＯＦＦである場合、ＣＰＵ２５は、ステップＳ２２に移行し、処理を終了する。また、更新開始フラグがＯＮである場合、更新開始フラグは、これまでにデータ更新処理が実行されたことを示す。ＣＰＵ２５は、データ更新処理の結果を全て反映させる処理を行う。
【００７４】
更新開始フラグがＯＮである場合、ＣＰＵ２５は、テーブル切り替えフラグを更新する（ステップＳ２４）。これにより、ＣＰＵ２５は、パッシブな管理テーブル情報をアクティブにする。即ち、ＣＰＵ２５は、管理テーブル２がアクティブになるようにテーブル切り替えフラグを切り替える。
【００７５】
さらに、ＣＰＵ２５は、ＲＡＭ２７上の更新開始フラグをＯＦＦに切り替える（ステップＳ２５）。ＣＰＵ２５は、処理結果に応じてレスポンスを端末装置１０に送信し、処理を終了する。
【００７６】
また、ステップＳ１５で、受信したコマンドがデータ更新コマンドではないと判断した場合、ＣＰＵ２５は、受信したコマンドに応じた処理を実行し（ステップＳ２６）、ステップＳ２２に移行する。
【００７７】
上記したような処理により、記憶領域２８ａは、図６の一番右側の列に示されるような状態になる。この場合、アクティブな管理テーブルは管理テーブル２である。また、管理テーブル２は、ＥＦ１のアクティブ面がデータ領域２、ＥＦ２のアクティブ面がデータ領域１、ＥＦ３のアクティブ面がデータ領域１であることを示す。
【００７８】
上記したように、ＩＣカード２０の不揮発性メモリは、二面化されたファイルと、二面化されたファイルのうちのアクティブな面を示す２つの管理テーブルと、２つの管理テーブルのうちのアクティブな管理テーブルを示すフラグ情報とを有する。ＩＣカード２０は、データ更新コマンドを受信した場合、二面化されたファイルの非アクティブ面にデータを書き込み、非アクティブな管理テーブルを更新する。さらに、ＩＣカード２０は、一括更新コマンドを受信した場合、アクティブな管理テーブルを切り替える。
【００７９】
このような構成によると、例えば、データ更新コマンド１及び２を実行し、一括更新コマンドを受信する前に電源が遮断された場合、アクティブな管理テーブルは、処理前と同じ状態になる。即ち、ＩＣカード２０の不揮発性メモリ２８の記憶領域２８ａのアクティブな情報は、処理前から書き換えられていないロールバック状態になる。この為、再起動時のメモリを修正する為の処理が不要である。
【００８０】
これにより、例えば、大量のＥＦ間のデータの整合性の保証が必要な場合であっても、コミットバッファのサイズの制約などによらず、不揮発性メモリ２８内のファイルの整合性を保証することができる。
【００８１】
これにより、ＩＣカード２０は、一括更新前に書き換え前と書き換え後の両方のデータを保持することができる。この為、ＩＣカード２０は、不揮発性メモリ２８に不整合が生じることを防ぐことができる。
【００８２】
また、上記のような構成によると、ＩＣカード２０は、フラグ情報を切り替えることにより、一括更新処理を完了させることができる。これにより、一括更新処理中に電源遮断などが生じる可能性を抑えることができる。
【００８３】
また、ＩＣカード２０は、データ更新コマンドに応じて書き込んだデータを処理後の不揮発性メモリ２８のアクティブ面としてそのまま用いることができる。この為、書き込みデータの２度書きなどの必要が無い。この結果、処理時間を短縮することができる
この結果、より効率的に処理を実行するＩＣカード、及び携帯可能電子装置を提供することができる。
【００８４】
また、上記した実施形態において、データ更新コマンドがＵＰＤＡＴＥ  ＢＩＮＡＲＹコマンドなどのバイナリコマンドであるとする。ここで、データ更新処理の開始時にＥＦのデータ領域１とデータ領域２とでデータが一致しない場合、処理後のデータに不整合が生じる可能性がある。そこで、ＩＣカード２０は、図７のステップＳ１５で、受信したコマンドがデータ更新コマンドであり、且つバイナリコマンドであると判断した場合、ステップＳ１９でデータの更新を行う前に、アクティブ面のデータ領域のデータをパッシブ面のデータ領域にコピーする構成であってもよい。これにより、処理後にデータが不整合になることを防ぐことができる。
【００８５】
また、上記した実施形態では、ＩＣカード２０は、二面化されたＥＦのデータ領域を備える構成として説明したが、この構成に限定されない。ＩＣカード２０は、二面化されたＤＦのデータ領域、または、二面化されたＭＦのデータ領域を備える構成であってもよい。このような場合、ＩＣカード２０の不揮発性メモリ２８の記憶領域２８ａは、ＤＦまたはＭＦの実データを記憶する為のデータ領域１とデータ領域２とを備える。さらに、記憶領域２８ａは、このデータ領域１とデータ領域２とで有効面を示す管理テーブルを二面化された状態で備える。さらに、記憶領域２８ａは、管理テーブルの有効面を示すフラグをさらに具備する。
【００８６】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００８７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００８８】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２８ａ…記憶領域、３１…電源部、３２…ロジック部、
【図１】
0005832940.tif 000002
【図２】
0005832940.tif 000003
【図３】
0005832940.tif 000004
【図４】
0005832940.tif 000005
【図５】
0005832940.tif 000006
【図６】
0005832940.tif 000007
【図７】
0005832940.tif 000008