(57)【要約】【課題】  不揮発性メモリに書き込む回数を減らすことで、不揮発性メモリの故障を低減するとともに、データの書込み時間を短縮することができるＩＣカードを提供する。【解決手段】  ＩＣカード１がＥＥＰＲＯＭに記憶されたファイル２４０にデータを書き込む際は、揮発性メモリであるＲＡＭにファイル２４０のテンポラリーファイル２２０を生成し、テンポラリーファイル２２０に対してデータの書込み処理を行う。テンポラリーファイル２２０の内容は、トランザクションの終了時に、ファイル保存コマンドによってファイル２４０に保存される。本発明によれば、一連のトランザクション中に複数回の書込み処理を行った場合でも、ＥＥＰＲＯＭにアクセスする回数は１回で済み、ＥＥＰＲＯＭにに書き込む回数を減らすことができ、かつ、データの書込み時間を短縮することができる。【選択図】      図３
2007034434.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣカードの不揮発性メモリに記憶されたファイルにデータを書き込む方法であって、（ａ）データを書き込む対象となる前記ファイルが選択されるステップ、
（ｂ）前記ステップ（ａ）で選択された前記ファイルの内容を前記ＩＣカードの前記揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するステップ、
（ｃ）前記揮発性メモリの前記テンポラリーファイルに対し、一回以上のデータの書込み処理を実行するステップ、
（ｄ）前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むステップ、
を含むことを特徴とするＩＣカードへのデータ書込み方法。
【請求項２】
データを書き込む対象となる前記ファイルを選択するファイル選択手段と、前記ファイル選択手段が選択した前記ファイルの内容を揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するテンポラリーファイル生成手段、前記テンポラリーファイル手段が生成した前記テンポラリーファイルに対してデータの書込み処理を行うデータ書込み手段、前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むファイル保存手段とを備えていることを特徴とするＩＣカード。
【請求項３】
ＩＣカードに実装されたＩＣチップを、データを書き込む対象となる前記ファイルを選択するファイル選択手段と、前記ファイル選択手段が選択した前記ファイルの内容を揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するテンポラリーファイル生成手段、前記テンポラリーファイル手段が生成した前記テンポラリーファイルに対してデータの書込み処理を行うデータ書込み手段、前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むファイル保存手段として機能させるためのＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣチップを実装したカード媒体であるＩＣカードに関する技術で、詳しくは、ＩＣカードの不揮発性メモリにデータを書き込む技術に関する。
【背景技術】
【０００２】
ＩＣカードの不揮発性メモリ（例えば、ＥＥＰＲＯＭ）に記憶されたファイルにデータを書き込んでいる途中で、ＩＣカードがリーダライタから引抜かれたり、または、ＩＣカードに供給されている電源が遮断した場合は、ファイルが破損してしまうことがあるため、特許文献１で開示されているような書込み保証の機能をＩＣカードは備えていることが一般的である。
【０００３】
しかし、書込み保証の機能を備えたＩＣカードでは、ＩＣカードのファイルにデータを書き込むごとに、不揮発性メモリに設けられたバッファ領域にもデータが書き込まれるため、バッファ領域に対応する不揮発性メモリへの書込み回数が増加してしまい、バッファ領域に対応する不揮発性メモリに故障が発生しやすくなる問題がある。更には、ファイルとは別な領域であるバッファ領域にもデータを書き込むため、データの書込み時間が増加してしまう問題もある。
【特許文献１】特開２００３−８５５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の問題を鑑みて、本発明は、ＩＣカードの不揮発性メモリに記憶されたファイルにデータを書き込む際に、不揮発性メモリにアクセスする回数を減らすことで、不揮発性メモリの故障を低減するとともに、データの書込み時間を短縮することができるＩＣカード、ＩＣカードのデータ書込み方法、および、ＩＣカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述の課題を解決する第１の発明は、ＩＣカードの不揮発性メモリに記憶されたファイルにデータを書き込む方法であって、（ａ）データを書き込む対象となる前記ファイルが選択されるステップ、（ｂ）前記ステップ（ａ）で選択された前記ファイルの内容を前記ＩＣカードの前記揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するステップ、（ｃ）前記揮発性メモリの前記テンポラリーファイルに対し、一回以上のデータの書込み処理を実行するステップ、（ｄ）前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むステップ、を含むことを特徴とするＩＣカードへのデータ書込み方法である。
【０００６】
更に、上述の課題を解決する第２の発明は、データを書き込む対象となる前記ファイルを選択するファイル選択手段と、前記ファイル選択手段が選択した前記ファイルの内容を揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するテンポラリーファイル生成手段、前記テンポラリーファイル手段が生成した前記テンポラリーファイルに対してデータの書込み処理を行うデータ書込み手段、前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むファイル保存手段とを備えていることを特徴とするＩＣカードである。
【０００７】
更に、第３の発明は、ＩＣカードに実装されたＩＣチップを、データを書き込む対象となる前記ファイルを選択するファイル選択手段と、前記ファイル選択手段が選択した前記ファイルの内容を揮発性メモリにロードし、前記揮発性メモリに前記ファイルのテンポラリーファイルを生成するテンポラリーファイル生成手段、前記テンポラリーファイル手段が生成した前記テンポラリーファイルに対してデータの書込み処理を行うデータ書込み手段、前記揮発性メモリの前記テンポラリーファイルの内容を前記不揮発性メモリの前記ファイルに書き込むファイル保存手段として機能させるためのＩＣカード用プログラムである。
【発明の効果】
【０００８】
上述した本発明によれば、一連のトランザクション中には、前記揮発性メモリに生成された前記テンポラリーファイルに書込み処理を行い、一連のトランザクション終了時に、前記テンポラリーファイルの内容を前記ファイルに書き込むことで、一連のトランザクション中に、同じファイルに複数回の書込み処理を行っても、不揮発性メモリに書き込む回数は１回だけで済むため、不揮発性メモリへのアクセスする回数が減り、不揮発性メモリの故障を防止できる。また、揮発性メモリに対するデータの書込み時間は、不揮発性メモリに対するデータの書込み時間よりも短いので、ＩＣカードへのデータの書込み時間を短縮することができる。
【発明を実施するための最良の形態】
【０００９】
ここから、本発明に係るＩＣカードについて、図を参照しながら詳細に説明する。
【００１０】
図１は、本発明に係るＩＣカード１の外観図である。図１で示したように、ＩＣカード１はキャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ＩＣカード１には、ＩＣチップ２０がモールドされたＩＣモジュール１ａが実装されている。
【００１１】
図１においては、ＩＣカード１を接触ＩＣカードとして図示しているが、本発明は何らＩＣカード１の通信方式に依存するものではなく、無線でデータ通信する非接触ＩＣカード、または、接触データ通信と非接触データ通信の２つの通信機能を備えたデュアルインターフェースＩＣカードであってもよい。加えて、ＩＣカード１は、ＩＣモジュール１ａの近辺を短冊状に切り取った形状をしているＳＩＭ（Subscriber Identity Module）であってもよい。
【００１２】
図２は、ＩＣカード１に埋め込まれるＩＣチップ２０のハードウェア構成図である。ＩＣチップ２０には、演算機能およびＩＣチップ２０が具備するデバイスを制御する機能を備えた中央演算装置２１（CPU：Central Processing Unit）、読み出し専用の不揮発性メモリ２３（ROＭ：Read Only Memory、）、電気的に書換え可能な不揮発性メモリとしてＥＥＰＲＯＭ２４（EEPROM：Electrically Erasable Programmable Read-Only Memoryの略）、揮発性メモリとしてランダムアクセスメモリ２２（RAM：Random Access Memory）、および、外部の端末装置とデータ通信するためのＩ／Ｏ回路２５を少なくとも備なえている。
【００１３】
本発明は、ＩＣカード１に実装されるＩＣチップ２０の仕様をなんら限定するものではなく、ＩＣカード１の用途に適した仕様のＩＣチップ２０を選択することができる。例えばＲＯＭ２３およびＥＥＰＲＯＭ２４の容量については限定しないし、書換え可能な不揮発性メモリはフラッシュメモリ等のＥＥＰＲＯＭ以外のメモリであっても構わない。またＩＣチップ２０は乱数を生成する乱数生成回路、ある暗号アルゴリズムに特化した暗号演算回路等の図示していない他のデバイスを備えていても構わない。
【００１４】
ＩＣカード１が有する本発明に係る機能は、ＩＣカード１に実装されたＩＣカード用プログラムで実現され、このＩＣカード用プログラムは、図２に示したハードウェア資源を利用し、ＣＰＵ２１を動作させるプログラムで、このプログラムコードはＲＯＭ２３に記憶される。また、ＩＣチップ２０のＥＥＰＲＯＭ２４にはファイル２４０が記憶され、ＩＣチップ２０のＲＡＭ２２には、ＥＥＰＲＯＭ２４に記憶されたファイル２４０の内容がロードされ、ファイル２４０の一時的な作業ファイルとなるテンポラリーファイル２２０が生成される。
【００１５】
図３は、本発明を説明するために必要なソフトウェアのブロック図である。図３に示したように、ＩＣカード１にはソフトウェアとして、Ｉ／Ｏ回路２５を制御し、図外のリーダライタと所定の伝送制御プロトコルでデータ通信するためのプログラムである伝送制御モジュール１０と、複数のコマンドを備えたコマンドモジュール１１と、コマンドモジュール１１に備えられたコマンドから呼出され、ＲＡＭ２２のテンポラリーファイル２２０に対してデータ書き処理を行うプログラムである書込みモジュール１２とを、少なくとも備えている。
【００１６】
伝送制御モジュール１０とは、ＩＣチップ２０のＩ／Ｏ回路２５を制御し、例えばＩＳＯ／ＩＥＣ７８１６規格に記述されたＴ＝１などの伝送制御プロトコルに従い、図外のリーダライタとデータの送受信を行うプログラムで、図外のリーダライタからＩＣカード１が受信したコマンドＡＰＤＵは、伝送制御モジュール１０によってＲＡＭ２２に格納される。
【００１７】
複数のコマンドを備えたコマンドモジュール１１には、図外のリーダライタから送信されるコマンドＡＰＤＵを処理するプログラムとして、データの書込み対象となるファイル２４０を選択する手段となるファイル選択コマンド１１０と、ファイル選択コマンド１１０で選択されたファイル２４０の内容を上書きするアップデートコマンド１１１と、ＲＡＭ２２のテンポラリーファイル２２０の内容を、ＥＥＰＲＯＭ２４のファイル２４０に書き込むファイル保存コマンド１１２を少なくとも備えている。
【００１８】
ＩＣカード１が受信するファイル選択コマンド１１のコマンドＡＰＤＵには、選択するファイル２４０を示すファイル番号が含まれ、ファイル選択コマンド１１がファイル番号をＲＡＭ２２にセットすることで、データの書込み処理の対象となるファイル２４０が選択される。
【００１９】
アップデートコマンド１１１とは、ファイルの内容を上書き処理するコマンドで、ＩＣカード１はアップデートコマンド１１１のコマンドＡＰＤＵを受信すると、後述する書込みモジュール１１２を呼出し、ファイル２４０の内容をコマンドＡＰＤＵに含まれるデータに上書きする処理を行う。
【００２０】
ただし、アップデートコマンド１１１がファイル２４０の内容を上書き処理する際は、ＥＥＰＲＯＭ２４に記憶されたファイル２４０は直接操作されず、ＲＡＭ２２のテンポラリーファイル２２０に対してデータを上書き処理が行われる
【００２１】
書込みモジュール１２とは、ファイル２４０のデータを上書き処理するアップデートコマンド１１１や、ファイル２４０にデータを追加するアペンドコマンド（図示はしていない）などの、ファイル２４０にデータを書き込むコマンドによって呼び出されるプログラムで、ＲＡＭ２２にテンポラリーファイル２２０を生成し、生成したテンポラリーファイル２２０に対してデータの書込み処理を行うプログラムである。
【００２２】
書込みモジュール１２がアップデートコマンド１１１から呼出される際は、引数として、データの上書き処理の対象となるファイル２４０のファイル番号と、上書き処理するデータのバイト数と、伝送制御モジュール１０が図外のリーダライタから受信し、ファイル２４０に上書きするデータが格納されたＲＡＭ２２のアドレスが含まれる。
【００２３】
書込みモジュール１２がアップデートコマンド１１１から呼出されると、アップデートコマンド１１１から引渡されたファイル番号で示されるファイル２４０の内容をＲＡＭ２２にロードし、ＲＡＭ２２に、ファイル２４０のテンポラリーファイル２２０を生成する。
【００２４】
テンポラリーファイル２２０とは、一連のトランザクション中に、一時的に使用される作業ファイルである。ファイル２４０のテンポラリーファイル２２０が生成されているときは、ファイル２４０には書込み処理が行われず、テンポラリーファイル２２０に書込み処理が行われる。
【００２５】
なお、書込みモジュール１２がＲＡＭ２２にテンポラリーファイル２２０を生成する際は、書込みモジュール１２は、ＲＡＭ２２に、テンポラリーファイル２２０を生成したファイル２４０のファイル番号に関連付けて、生成したテンポラリーファイル２２０のＲＡＭ２２のアドレスを記憶する。
【００２６】
ＲＡＭ２２にこれらのデータを記憶することで、ファイル２４０のテンポラリーファイル２２０を重複して生成することを防止するとともに、複数のファイル２４０に対するテンポラリーファイル２２０をＲＡＭ２２に生成できる。
【００２７】
ＲＡＭ２２にテンポラリーファイル２２０を生成した後、もしくは、上書きの対象となるファイル２４０のテンポラリーファイル２２０が既にＲＡＭ２２に生成されていた場合、書込みモジュール１２は、アップデートコマンド１１１から引渡された引数を参照し、ＲＡＭ２２から上書きするデータを取得し、テンポラリーファイル２２０にコピーすることで、テンポラリーファイル２２０の内容を上書き処理する。
【００２８】
図３のデータ保存コマンド１１２とは、ＲＡＭ２２のテンポラリーファイル２２０の内容をＥＥＰＲＯＭ２４のファイル２４０に書込むことで、ＥＥＰＲＯＭ２４に記憶しているファイル２４０の内容を更新するコマンドである。
【００２９】
ＩＣカード１がデータ保存コマンド１１２のコマンドＡＰＤＵを受信すると、データ保存コマンド１１２は、ファイル番号の整合性をとりながら、ＲＡＭ２２に生成されたテンポラリーファイル２２０の内容をＥＥＰＲＯＭ２４のファイル２４０に書き込む。
【００３０】
なお、データ保存コマンド１１２がＲＡＭ２２に生成されたテンポラリーファイル２２０の内容をＥＥＰＲＯＭ２４のファイル２４０に書き込む際には、特許文献１で開示されているような書込み保証の機能を用いることが望ましい。
【００３１】
ここから、これまで説明したＩＣカード１を参照しながら、本発明に係るデータ書込み方法について説明する。図５は、本発明に係るＩＣカードのデータ書込み方法の手順を示したフロー図である。
【００３２】
この手順の最初のステップＳ１０は、データ書込み対象となるファイル２４０が選択されるステップである。ＩＣカード１においては、ＩＣカード１がファイル選択コマンド１１０のコマンドＡＰＤＵを受信することで、データ書込み対象となるファイル２４０は選択される。
【００３３】
次のステップＳ１１は、選択されたファイル２４０にデータを書き込むコマンドを、ＩＣカード１が受信するステップである。ＩＣカード１においては、ＩＣカード１はファイル２４０に上書き処理するアップデートコマンド１１１を備えている。なお、アップデートコマンド１１１のコマンドＡＰＤＵのパラメータによって、データ書込み対象となるファイル２４０を選択することができる場合は、ステップＳ１０は省略される。
【００３４】
次のステップＳ１２は、データ書込み対象となるファイル２４０のテンポラリーファイル２２０が揮発性メモリであるＲＡＭ２２に生成されているか確認するステップである。ＩＣカード１においては、書込みモジュール１２が、ＲＡＭ２２に生成済みのテンポラリーファイル２２０を確認し、データ書込み対象となるファイル２４０のテンポラリーファイル２２０が生成されているか確認する。
【００３５】
データ書込み対象となるファイル２４０のテンポラリーファイルがＲＡＭ２２に生成されていないときは、ステップＳ１３で、書込みモジュール１２は、データ書込み対象となるファイル２４０のテンポラリーファイル２２０をＲＡＭ２２に生成した後、ステップＳ１４に進む。
【００３６】
また、既に、データ書込み対象となるファイル２４０のテンポラリーファイル２２０がＲＡＭ２２に生成されているときは、テンポラリーファイル２２０をＲＡＭ２２に生成することなく、ステップＳ１４に進む。
【００３７】
ステップＳ１４は、ＲＡＭ２２のテンポラリーファイル２２０の内容を、書込みモジュール１２が上書き処理するステップである。ＩＣカード１においては、図外のリーダライタから送信されたデータを、テンポラリーファイル２２０にコピーすることで、テンポラリーファイル２２０の内容はを上書き処理される。
【００３８】
次のステップＳ１５は、揮発性メモリ（ＲＡＭ２２）に格納されているテンポラリーファイル２２０の内容をＥＥＰＲＯＭ２４のファイル２４０に記憶するステップである。ＩＣカード１においては、ＩＣカード１がファイル保存コマンド１１２を受信することで、揮発性メモリ（ＲＡＭ２２）に格納されているテンポラリーファイル２２０の内容はＥＥＰＲＯＭ２４のファイル２４０に記憶される。
【図面の簡単な説明】
【００３９】
【図１】ＩＣカードの外観図。
【図２】ＩＣチップのハードウェア構成図。
【図３】ＩＣカードに実装されたソフトウェアのブロック図。
【図４】ＩＣカードのデータ書込み方法の手順を示したフロー図。
【符号の説明】
【００４０】
１  ＩＣカード
１０  伝送制御モジュール
１１  コマンドモジュール
１１０  ファイル選択コマンド
１１１  アップデートコマンド
１１２  ファイル保存コマンド
１２  書込みモジュール
２０  ＩＣチップ、２２  ＲＡＭ、２４  ＥＥＰＲＯＭ
２２０  テンポラリーファイル
２４０  ファイル
【図１】
2007034434.tif 000003
【図２】
2007034434.tif 000004
【図３】
2007034434.tif 000005
【図４】
2007034434.tif 000006