(57)【要約】【課題】不揮発性メモリへの向上されたデータ貯蔵方法を提供すること。【解決手段】データの書込み要請に対し、貯蔵すべきデータの値及び不揮発性メモリのアドレスを含むログを生成して貯蔵する段階、及びログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階を含むデータ貯蔵方法。よって、ページ単位の書込み方式及び遅延書込みを通じて応答時間の遅延を低減できると共に、不揮発性メモリへの書込みアクセスの回数を減らして不揮発性メモリの空間を均一に使用することによりデータ貯蔵装置の寿命の短縮を防止できる。【選択図】　　　　図６
2004127205.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリにデータを貯蔵する方法において、
（ａ）データの書込み要請に対し、貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成して貯蔵する段階と、
（ｂ）前記ログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階と
を含むことを特徴とする不揮発性メモリへのデータ貯蔵方法。
【請求項２】
前記方法は、揮発性メモリをさらに含む装置において行われ、
前記（ｂ）段階は、
（ｂ１）前記ログが指定するアドレスを互いに比較して同じページに該当するログを探す段階と、
（ｂ２）前記同じページに該当するログに対して前記不揮発性メモリの該当ページの内容を前記揮発性メモリにコピーする段階と、
（ｂ３）前記同じページに該当するログの内容を反映して前記揮発性メモリのページ領域に該当データを貯蔵する段階と、
（ｂ４）前記揮発性メモリのページの内容を前記不揮発性メモリの該当ページ領域にコピーする段階と、
（ｂ５）前記同じページに該当するログを削除する段階と
を含むことを特徴とする請求項１に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項３】
不揮発性メモリにデータを貯蔵する方法において、
（ａ）トランザクション処理の要請を受ければ、トランザクション完了の要請を受けるまで、各データの書込み要請に対して貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成する段階と、
（ｂ）トランザクション完了の要請を受ければ、前記ログを前記不揮発性メモリのトランザクションバッファに貯蔵する段階と、
（ｃ）前記トランザクションバッファ内のログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階と
を含むことを特徴とする不揮発性メモリへのデータ貯蔵方法。
【請求項４】
前記方法は、揮発性メモリをさらに含む装置において行われ、
前記（ｃ）段階は、
（ｃ１）前記トランザクションバッファ内のログが指定するアドレスを互いに比較して同じページに該当するログを探す段階と、
（ｃ２）前記同じページに該当するログに対して前記不揮発性メモリの該当ページの内容を前記揮発性メモリにコピーする段階と、
（ｃ３）前記同じページに該当するログの内容を反映して前記揮発性メモリのページ領域に該当データを貯蔵する段階と、
（ｃ４）前記揮発性メモリのページの内容を前記不揮発性メモリの該当ページ領域にコピーする段階と、
（ｃ５）前記同じページに該当するログをトランザクションバッファにおいて削除する段階と
を含むことを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項５】
前記（ｃ）段階は、
（ｃ）データの書込み要請を受ければ、該当書込み要請が要求する前記不揮発性メモリのアドレスと前記トランザクションバッファ内のログが指定するアドレスとを比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階であることを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項６】
前記（ｃ）段階は、
（ｃ１）前記ログのうち前記書込み要請がなされたアドレスと同じページ内のアドレスを要求するものがあるかを探す段階と、
（ｃ２）前記該当するログがある場合、該当ログの内容及び前記書込み要請の内容を反映して前記不揮発性メモリの該当ページにデータを貯蔵する段階と、
（ｃ３）前記該当するログがない場合、前記書込み要請に応じて前記不揮発性メモリの該当ページにデータを貯蔵する段階と
を含むことを特徴とする請求項５に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項７】
前記方法は、揮発性メモリをさらに含む装置において行われ、
前記（ｃ２）段階は、
（ｃ２１）前記書込み要請がなされた前記不揮発性メモリの該当ページを前記揮発性メモリにコピーする段階と、
（ｃ２２）前記該当ログの内容及び前記書込み要請の内容を反映して前記揮発性メモリの領域にデータを貯蔵する段階と、
（ｃ２３）前記揮発性メモリの領域を前記不揮発性メモリの該当ページ領域にコピーする段階と、
（ｃ２４）前記該当ログを削除する段階と
を含むことを特徴とする請求項６に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項８】
前記（ａ）段階の最中にトランザクション中止要請を受ければ、前記生成されたログを全て削除し、次のトランザクションに対して段階（ａ）から再び行うことを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項９】
前記（ｂ）段階の最中に、前記ログが全て前記トランザクションバッファに貯蔵される前にトランザクション中止要請を受ければ、前記トランザクションバッファのログを全て削除し、次のトランザクションに対して段階（ａ）から再び行うことを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項１０】
前記（ｂ）段階は、
前記ログを該当不揮発性メモリのページ別に分類して貯蔵する段階であることを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項１１】
前記（ａ）ないし（ｃ）段階は、連続するトランザクションに対して行われ、
先に行われるトランザクションに対する前記（ｃ）段階とその次に行われるトランザクションに対する前記（ａ）段階とは、並行して行われることを特徴とする請求項３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項１２】
前記トランザクションバッファにログを貯蔵するに当たって、キュー、円形キュー、またはリンクドリストの形で貯蔵することを特徴とする請求項１または３に記載の不揮発性メモリへのデータ貯蔵方法。
【請求項１３】
不揮発性メモリと、
データの書込み要請に対し、貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成して貯蔵するログ生成部と、
前記ログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵するデータ貯蔵部と
を含むことを特徴とするデータ貯蔵装置。
【請求項１４】
（ａ）データの書込み要請に対し、貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成して貯蔵する段階と、
（ｂ）前記ログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階と
をコンピュータにて実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ貯蔵装置及び方法に係り、特に、不揮発性メモリにデータを貯蔵する方法に関する。
【０００２】
【従来の技術】
データ貯蔵装置に使われる不揮発性メモリ、特にスマートカードの不揮発性メモリとして主に使われるＥＥＰＲＯＭは、一回につき書込み及び読出し可能な最大単位としてページがある。１ページを超える書込みが必要な場合、次のページに書込みが移る時に必然的に３ないし１０ミリ秒ほどの遅延が生じる。そして、１ページ内において書込みを行う場合にも、各書込み間の時間間隔が１５０マイクロ秒ほどを超えれば遅延が生じる。これらブロックタイム（ｂｌｏｃｋｅｄ　ｔｉｍｅ）はスマートカードの応答時間を遅らせる原因となる。
【０００３】
さらに、ＥＥＰＲＯＭの寿命は書込み回数によって定まるが、１個所に１０万回以上の書込みをすれば、この部分がゆえに全体ＥＥＰＲＯＭの寿命が尽きて使えなくなるため、ＥＥＰＲＯＭの全体に亘って均一に書込みを行うことが望ましい。
【０００４】
従来の技術として、トランザクションの処理に当たってのロギング方法に関するものと、スマートカード内のデータとこれに対する外部のバックアップ本との間の同期化問題及びトランザクション処理時のコスト下げに関するものとがあるが、これらの具体的な具現については取り扱われておらず、ログ単位のトランザクション処理に基づいてＥＥＰＲＯＭに頻繁に書込みを行うがゆえに時間が遅延され、しかもメモリの寿命が短縮されるといった問題点がある。
【０００５】
さらに、メモリの管理についても具体的な提案がなく、特に、トランザクションバッファなどかなり頻繁に使われる空間は前部及び後部の使用頻度に違いがあって、後部があまり使われなくてもメモリ前部の寿命が尽きて使えなくなるといった問題点がある。
【０００６】
【発明が解決しようとする課題】
本発明が解決しようとする技術的課題は、データの貯蔵に当たって遅延時間を短縮させ、不揮発性メモリへのアクセス回数を減らすほか、メモリ全体に亘って均一な書込みが行えるメモリ管理方法を提供することにより応答時間が短縮できてメモリの寿命が伸ばせる不揮発性メモリへのデータ貯蔵装置及び方法を提供するところにある。
【０００７】
本発明が解決しようとする他の技術的課題は、前記データ貯蔵方法をコンピュータにて実行させるためのプログラムを記録したコンピュータにて読取り可能な記録媒体を提供するところにある。
【０００８】
【課題を解決するための手段】
前記技術的課題を達成するために、本発明による不揮発性メモリへのデータ貯蔵装置は、不揮発性メモリと、データの書込み要請に対し、貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成して貯蔵するログ生成部と、前記ログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵するデータ貯蔵部とを含むことが望ましい。
【０００９】
前記技術的課題を達成するために、本発明による不揮発性メモリへのデータ貯蔵方法は、データの書込み要請に対し、貯蔵すべきデータの値及び前記不揮発性メモリのアドレスを含むログを生成して貯蔵する段階と、前記ログが指定するアドレスを互いに比較して同じページに該当するデータを前記不揮発性メモリの該当領域にページ単位に貯蔵する段階とを含むことが望ましい。
【００１０】
【発明の実施の形態】
以下、添付した図面に基づき、本発明による不揮発性メモリへのデータ貯蔵方法及び装置について詳細に説明する。
【００１１】
図１は、スマートカードの構造及びこれを用いるシステムの概念図である。ホストあるいはターミナル１０は、スマートカードの動作を活性化させるカードアプリケーションプログラムのクライアントの演算要請が生じる所である。スマートカード２０には、不揮発性メモリであるＥＥＰＲＯＭと揮発性メモリであるＲＡＭとが組み付けられる。スマートカード２０には、ホストからの要請を処理できるサーバーとしての役割を果たすようにアプリケーションプログラムが搭載されている。
【００１２】
図２は、スマートカードにおいて行われる応用サービスソフトウェアの概念図である。カードに搭載された応用サービスはアプレット３０であり、これらがジャバ（登録商標）で作られたため、これらが行えるプラットホームとしてのスマートカードはジャバ（登録商標）カードと呼ばれる。この実施の形態において、ジャバ（登録商標）スマートカードあるいはジャバ（登録商標）カードとは、スマートカードのうちジャバ（登録商標）で作られた応用サービスをカードから提供可能にしたジャバ（登録商標）カードアプリケーションプログラム実行プラットホームを有したカードを言う。ジャバ（登録商標）スマートカードは、普通、トランザクション処理を司るモジュール部分が属するカードのオペレーティングシステムまでジャバ（登録商標）プラットホームであるのではなく、単にジャバ（登録商標）仮想マシンを搭載してジャバ（登録商標）アプリケーションプログラムを運営（ｏｐｅｒａｔｅ）可能にした場合がほとんどであるため、カードのオペレーティングシステムに属するトランザクション管理モジュールにおけるトランザクション管理を言う時、ジャバ（登録商標）カードにおけるトランザクション処理にのみ限定されることなく、他の種類のスマートカードにおけるトランザクション処理に対しても適用可能である。
【００１３】
ジャバ（登録商標）アプレットを行うためにジャバ（登録商標）仮想マシン４０が搭載され、ジャバ（登録商標）仮想マシンによりその下のカードオペレーティングシステムがいかなるランゲージで作られても関係なくなるため、この上位のものと下のカードオペレーティングシステムとの連結機能をするネイティブインタフェース５０が存在する。そして、本発明に関わるトランザクション処理を司るトランザクション管理モジュール６１がカードオペレーティングシステム６０に含まれており、このほかにも、前記カードオペレーティングシステム６０には、メモリの使用を管理するメモリ管理モジュール６２、カードハードウェア７０との接触部分のためのデバイスドライバ及びユーティリティ６３、及び暗号化及び復号化のための暗証復号化モジュール６４がある。
【００１４】
ホストからスマートカードへのデータの書込み要請がある時、電源の遮断により不揮発性メモリへの書込み時の原子性及びプログラム実行の一貫性が破れることを防止するために、特に保護すべき処理単位を生成してトランザクションを行う。
【００１５】
不揮発性メモリへのデータの書込み要請は、ほとんど原子性を保障するためにトランザクション内において処理されるが、トランザクション処理により保護しなくても良い書込み部分もある。ログは、トランザクション内の書込み要請に対して生成されることが普通であるが、本発明では、トランザクション外部の書込み要請に対してもトランザクション時に生成されるログに同形式のログを生成して遅延書込み（ｄｅｌａｙｅｄ　ｗｒｉｔｉｎｇ）を適用する。
【００１６】
以下、本発明につき、トランザクション内の書込みを中心として説明する。しかし、本発明はこれに限定されることなく、トランザクション外部の書込みに対してもその同期性を満足するのであれば、同様に適用可能である。
【００１７】
図３は、図２のトランザクション管理モジュール６１が処理するスマートカードにおけるトランザクションのフローチャートである。
【００１８】
トランザクションの開始をカードオペレーティングシステムに要請するビギン（ｂｅｇｉｎ）トランザクション８０を受ければ、トランザクション管理モジュール６２では、トランザクション完了要請であるコミット（ｃｏｍｍｉｔ）トランザクション１１０の要求が入るまでロギング９０を行う。ロギングは、トランザクション時に更新すべきデータに対するログをいかなる順番に処理するかに応じてオールドバリュー（ｏｌｄ−ｖａｌｕｅ）ロギングとニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギングとに分けられる。
【００１９】
オールドバリュー（ｏｌｄ−ｖａｌｕｅ）ロギングの場合には、更新すべき部分にあったデータ及び該当アドレスのバックアップ本を使ってログを生成するのに対し、ニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギングの場合には、更新すべきデータ及び該当アドレスをログとして生成する。この２種の方法はコミット（ｃｏｍｍｉｔ）時及びアボート時のコストが相異なるために使用環境に応じて適当なものを選択するが、スマートカードの場合にはトランザクションの最中にカードテア（ｃａｒｄ　ｔｅａｒ）が起こる確率が高いため、アボート処理時のコストが相対的に低いニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギングを使用する。
【００２０】
ロギングの最中にカードへの電源供給が切れるか、あるいはそれ以上トランザクション処理が行われ難いと判断される時、トランザクション中止要請であるアボートトランザクション１００を呼び出す。これは、ビギン（ｂｅｇｉｎ）トランザクション前の状態に戻す役割を果たす。
【００２１】
図４及び図５は、既存のニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギング方法であるログ単位のデータ貯蔵方法のフローチャートであり、図６及び図７は、本発明の実施の形態によるページ単位のデータ貯蔵方法のフローチャートである。本発明はニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギングに基づいているため、図４乃至図７を比較しながら本発明の特徴であるページ単位のデータ更新及び遅延書込みについて詳細に説明する。
【００２２】
図４及び図６は、トランザクションがビギン（ｂｅｇｉｎ）トランザクションからコミット（ｃｏｍｍｉｔ）トランザクションまで正常に処理される場合を示すフローチャートであり、図５及び図７は、トランザクション処理の最中に電源の供給が暫くの間遮断されてから再供給された時、すなわち、カードテア（ｃａｒｄ　ｔｅａｒ）が起こった場合の処理メカニズムを示すものである。しかし、これは、電源の遮断が起こらずにトランザクションが正常に行われる最中にアボートトランザクションを呼び出すような処理にも適用可能である。
【００２３】
トランザクション処理要請であるビギン（ｂｅｇｉｎ）トランザクションが入れば（８０段階）、カードの内部の状態はトランザクション処理中である旨を知らせるフラグをセットしてトランザクション処理の開始の状態に遷移する（１２０段階及び１５０段階）。そして、ビギン（ｂｅｇｉｎ）トランザクションを呼び出したカードオペレーティングシステムの上位に応答を送る（１２１段階及び１５１段階）。次に、各々のデータの書込み要請に対してＲＡＭへのロギングを始める（１２２段階及び１５２段階）。
【００２４】
ロギングは、データの書込み要請を受けてデータを貯蔵すべき不揮発性メモリのアドレス及び貯蔵すべきデータの内容を揮発性メモリであるＲＡＭに貯蔵することによりなされる。
【００２５】
トランザクション中止要請であるアボートトランザクションが入っているか否かを確認し（１００段階）、この部分の要求が入っているならば、ビギン（ｂｅｇｉｎ）トランザクション前の状態に戻す。ロギングの最中にコミット（ｃｏｍｍｉｔ）トランザクション１１０が呼び出されれば、ＲＡＭに書き込まれたログをＥＥＰＲＯＭのトランザクションバッファに移す（１２４段階及び１５４段階）。
【００２６】
図４の従来のニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギングの処理方式では、ＥＥＰＲＯＭ上に移されたログに対してＥＥＰＲＯＭ上の更新すべき位置を探してログ単位の書込みを行い（１５５段階）、ＥＥＰＲＯＭのトランザクションバッファに含まれたログの内容が反映されてメモリの内容が全て更新された後にコミット（ｃｏｍｍｉｔ）サイン（トランザクション完了応答）を上位に送る。すなわち、ログによりメモリの内容が全て更新される間に中断（ｂｌｏｃｋｉｎｇ）が起こってこの間に遅延が生じる。処理が終わった後、内部の状態をトランザクション完了に戻し（１５６段階）、コミット（ｃｏｍｍｉｔ）トランザクションの呼び出しに対する応答を送る（１５７段階）。
【００２７】
これに対し、図６の本発明の場合には、ＲＡＭのログをＥＥＰＲＯＭのトランザクションバッファに移した直後（１２４段階）に、コミット（ｃｏｍｍｉｔ）トランザクションに対するトランザクション完了の応答を送る（１２５段階）。これにより、トランザクション完了応答を受けた上位はトランザクション完了の状態となり、その下段はまだトランザクション中である状態となる。すなわち、２元化状態となるのである。
【００２８】
次に、ＥＥＰＲＯＭへの書込み要請が入る場合、ＥＥＰＲＯＭのトランザクションバッファにまだ更新されていないデータに対するログが残っているか否かを確認し（１２６段階）、残っているログのうち更新すべきアドレスが今書込み命令が入ったＥＥＰＲＯＭ内のアドレスの属するページと同じページにあるか否かを確認する（１２７段階）。この時、書込み要請のアドレスと同じページに該当するログを全て探し、このページの内容を一括に更新する（１２８段階）。もし、該当するログがなければ、書込み要請が入った部分に対してのみ書込みを行う（１３０段階）。
【００２９】
ページ単位の更新とは、一回のアクセスにより書込みを解決するために、一応更新すべき不揮発性メモリのページを揮発性メモリ（ＲＡＭ）に読み込んでこのＲＡＭの部分にデータを貯蔵する更新を行った後、このページの内容をページ単位に一括に不揮発性メモリの元のところに書き込むことを言う。トランザクションのログが全て元のところに更新された時、カードの内部状態はトランザクション処理完了の状態となる（１３１段階）。
【００３０】
トランザクションバッファが全て空きになる前に次トランザクションの処理のためにトランザクションバッファを使用すべき場合が生じれば、この時に残っているログをページ単位に更新する。
【００３１】
図５は、従来のニューバリュー（ｎｅｗ−ｖａｌｕｅ）ロギング方式において、ロギングの最中に電源が切れた場合の処理を示している。これを参照すれば、電源が再び供給されれば以前に行われていたトランザクションがあるか否かを確認し（１６０段階）、以前に中断されたトランザクションがあるならば、ログ単位にＥＥＰＲＯＭへの書込み作業を行う（１６１段階）。次に、トランザクション完了の応答を送り（１６２段階）、内部の状態をトランザクション完了の状態に戻す（１５６段階）。
【００３２】
これに対し、図７は、本発明によるページ単位のデータ貯蔵方式において、ロギングの最中に電源が切れた場合の処理を示している。これを参照すれば、まず、以前に行われていたトランザクションがあるか否かを確認し（１４０段階）、以前に中断されたトランザクションがないならば、トランザクションバッファに残っているログを処理する。しかし、この作業は必ずしもこの段階で行われるとは限らず、以降の段階で行っても良いといった処理の柔軟性を有する。
【００３３】
図５の場合には、アボートトランザクションを呼び出してトランザクションバッファに更新されていない部分があればこれらを処理するが、更新の最中にカードテア（ｃａｒｄ　ｔｅａｒ）が起こった場合、既に更新された部分を無視してトランザクションバッファの最初から全てのログのデータに対する更新を再び行うが、これもログ単位に行われる（１６１段階）。
【００３４】
これに対し、図７の場合には、アボートトランザクションが呼び出される場合であっても、ＥＥＰＲＯＭのトランザクションバッファにログが移された状態ではなければ、いかなる処理もしなくても以前の状態に戻り、ＥＥＰＲＯＭ上のトランザクションバッファにログが移されてからは、ページ単位に更新された部分は再び更新されず、以降に残っている更新さるべきページに対してのみ適宜な瞬間に更新がなされる。従って、多くのカードテア（ｃａｒｄ　ｔｅａｒ）が生じうる非接触カードの場合には、アボート処理時の負担を考えるとき、本発明によった方がそのコストがはるかに低い。トランザクションバッファが空きになったならば（１４４段階）、内部の状態もトランザクション完了の状態１３１に遷移する。アボートトランザクションの呼び出しに対する完了の応答は、外部の状態を中断されたトランザクション開始前の状態に戻した時に送るが（段階１４２）、図５の場合には、ＥＥＰＲＯＭのトランザクションバッファが空きになった時に送る（１６２段階）。本発明による方式においては、従来の方式とは異なってトランザクションバッファを直ちに空きにしないが、これは、トランザクションが終わってから次のトランザクションが始まるまでの時間間隔があり、次のトランザクションにおいてＲＡＭにロギングする間にもトランザクションバッファに残っている以前のログに対して処理が可能であるからである。これを通じて、中間にＥＥＰＲＯＭへの書込み要請が入る時に書込みへの負担を減らすことができる。
【００３５】
図８は、トランザクションバッファの概念図であって、トランザクションバッファの運営（ｏｐｅｒａｔｅ）に関するものである。従来のトランザクションバッファ管理方式では、トランザクションバッファの始まり及び終わりを使用の基準としており、常にバッファの始まりから使用するため、トランザクションバッファ内の空間使用の頻度がこのバッファの前部に偏るといった非効率性があった。本発明では、これを改善するために、使用済みのページ１７１と使用していないページとをリンクドリスト１７２の形にして管理している。この時、基本的な運営（ｏｐｅｒａｔｅ）は、円形キュー１７０の形でなされるが、必ずしも連続的なページの使用になるとは限られないため、リンクドリストの形で運営（ｏｐｅｒａｔｅ）し、使用に当たって前後関係を表示してできる限り使用されていないページを次回に優先的に使用するようにする。しかし、円形キューの形をそのまま使っても構わない。これはまた、ＥＥＰＲＯＭの全体メモリの管理に際しても適用可能である。
【００３６】
以上述べたように、本発明による不揮発性メモリへのデータ貯蔵方法によれば、ＥＥＰＲＯＭへの書込みアクセスの回数が低減できると共に、遅延書込みによるブロックタイムを短縮させて応答時間の遅延を低減できる。すなわち、書込み要請により生じるログに対して実際に反映すべきアドレスが属するページ単位にログを分類してこれらを一括に更新させることにより、１ページ当り一回の書込みアクセスが図れる。このようなページ単位の取り扱いは、ＥＥＰＲＯＭの特性からみたとき、一回の書込みアクセスにつき基本的に短縮できないブロックタイムが存在するため、効率的であると言える。そして、ＥＥＰＲＯＭのトランザクションバッファは、空間の均一な使用のために、円形キューまたはリンクドリストで運営（ｏｐｅｒａｔｅ）される。しかし、ＥＥＰＲＯＭのページ単位の書込み更新またはメモリ空間の運営（ｏｐｅｒａｔｅ）はトランザクション処理にのみ限定されず、スマートカードの全体的なメモリ運営（ｏｐｅｒａｔｅ）にも拡大して適用可能である。
【００３７】
何もせずに待たなければならない時間がある書込みの分割は、カードオペレーティングシステムにおいてＣＰＵの休止時間を分割して書込み更新をすることができる。
【００３８】
また、リンクドリスト方式のトランザクションバッファの管理は、スマートカードにおける重畳トランザクション及びマルチトランザクションを可能ならしめ、一つのリストにつき一つのトランザクションのログが記録されるとすれば、多数のリストが存在可能になる。重畳トランザクションは、一つのリストあるいは下位トランザクションのログを含んでなる。
【００３９】
不揮発性メモリを含むためにメモリの容量に制約を受ける他の装置に対するトランザクションの具現に当たっても、メモリのハードウェア的な特性をよく考えていかなる部分を優先視すべきであるかを考えなければならない。性能を優先視する時、この装置の応答時間、メモリ要求量及び装置の寿命を考慮しなければならない。ユーザにサービスを直接的に提供する装置であり、このサービスが応答時間に敏感であるならば、この点に焦点を合わせてメモリ要求量及び装置の寿命を適宜に調節しなければならない。装置において行われるアプリケーションプログラムの特性が把握されたならば、より適切なトランザクションが具現できる。トランザクションの最中に生成されるログが常に少数であれば，オールドバリュー（ｏｌｄ−ｖａｌｕｅ）ロギング方法を変えずにそのまま使っても良いが、ログが少数であってもこれらがＥＥＰＲＯＭの１ないし２ページに当たるアドレスのデータを修正する内容であれば、既に述べたように、本発明によるデータ貯蔵方法の具現を通じて一層良好な応答時間が保障可能になる。
【００４０】
本発明はコンピュータにて読取り可能な記録媒体にコンピュータ（情報処理機能を有する装置をいずれも含む。）にて読取り可能なコードとして具現できる。コンピュータにて読取り可能な記録媒体は、コンピュータシステムにより読み込まれるデータが格納されるあらゆる種類の記録装置を含む。コンピュータにて読取り可能な記録装置の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク及び光ディスク貯蔵装置などがある。
【００４１】
本発明は図面に示された実施の形態を参考として説明されたが、これは単なる例示的なものに過ぎず、この技術分野における当業者であれば、これより各種の変形及び均等な他の実施の形態が可能であるという点は理解できるであろう。よって、本発明の真の技術的な保護範囲は、特許請求の範囲上の技術的な思想によって定まるべきである。
【００４２】
【発明の効果】
以上述べたように、本発明による不揮発性メモリへのデータ貯蔵方法によれば、ページ単位の書込み方式及び遅延書込みを通じて応答時間の遅延を低減できると共に、不揮発性メモリへの書込みアクセスの回数を減らして不揮発性メモリの空間を均一に使用することによりデータ貯蔵装置の寿命の短縮を防止できる。
【図面の簡単な説明】
【図１】スマートカードの構造及びこれを用いるシステムを示す概念図である。
【図２】スマートカードにおいて行われる応用サービスソフトウェアを示す概念図である。
【図３】スマートカードにおいて行われるトランザクション処理のフローチャートである。
【図４】従来のスマートカードにおいて行われるログ単位のデータ貯蔵方法のフローチャートである。
【図５】従来のスマートカードにおいて行われるログ単位のデータ貯蔵方法のフローチャートである。
【図６】本発明の実施の形態によるスマートカードにおいて行われるページ単位のデータ貯蔵方法のフローチャートである。
【図７】本発明の実施の形態によるスマートカードにおいて行われるページ単位のデータ貯蔵方法のフローチャートである。
【図８】トランザクションバッファの概念図である。
【符号の説明】
１０　ホストあるいはターミナル
２０　スマートカード
３０　カードアプレット
４０　ジャバ仮想マシン
５０　ネイティブインタフェース
６０　カードオペレーティングシステム
６１　トランザクション管理モジュール
６２　メモリ管理モジュール
６３　デバイスドライバ及びユーティリティ
６４　暗証復号化モジュール
７０　カードハードウェア
１７０　円形キュー
１７１　使用済みのページ
１７２　リンクドリスト
【図１】
2004127205.tif 000003
【図２】
2004127205.tif 000004
【図３】
2004127205.tif 000005
【図４】
2004127205.tif 000006
【図５】
2004127205.tif 000007
【図６】
2004127205.tif 000008
【図７】
2004127205.tif 000009
【図８】
2004127205.tif 000010