(57)【特許請求の範囲】
【請求項１】
端末ユニット（４）への一時的な接続のためのインタフェース（２）と、マイクロプロセッサ（５）と、ランダムアクセスメモリ（６）と、不揮発性メモリ（７）とを備えた集積回路装置（１）の利用方法において、
書込まれるべきデータに対して前記不揮発性メモリ（７）の第１の領域を割り当て、さらに、書込み状態情報に対して該不揮発性メモリの第２の領域を割り当て、該第１の領域にデータを書込むためにデータ書込み動作を実行し、該データ書込み動作が有効に実行された場合に、有効なデータの書込みであることを表す情報を該第２の領域に書込むことからなる、該不揮発性メモリ（７）へのデータの書込み方法を含む集積回路装置の利用方法であって、
前記書込み状態情報をそこから引き出すために、最初に、前記不揮発性メモリ（７）の前記第２の領域を読み出し、該書込み状態情報が不完全な書込み動作を示す場合に、前記集積回路装置（１）の無効をイネーブルにすることによって該集積回路装置（１）のリセットに応答するステップをさらに含み、
前記第２の領域が状態レジスタであって、前記書込み状態情報が、マルチステージ動作シーケンスにおける有効に実行されたすぐ前のステージを示しており、データのリカバリ処理が、該状態レジスタによって示されるように、失敗したステージから該マルチステージ動作シーケンスをリカバリするために有効となり、
前記不揮発性メモリ（７）の個々の分離した領域が、
（ａ）  前記第２のメモリ領域であるシーケンスレジスタ、
（ｂ）  データコピーバッファ、
（ｃ）  サイズレジスタ、及び
（ｄ）  アドレスレジスタ
として割り当てられており、さらに、
（ｅ）  データ増分バッファ
として前記ランダムアクセスメモリ（６）又は該不揮発性メモリ（７）の領域が割り当てられていて、該不揮発性メモリ（７）の前記第１の領域が、メモリ領域（ｃ）及び（ｄ）に書込まれたデータによってサイズ及びアドレスを識別されており、
前記書込み方法が、
１．前記データ増分バッファ（ｅ）が有効なデータ増分を含むことを確認し、
２．更新されるべきデータのコピーを前記データコピーバッファ（ｂ）に配置し、
３．前記シーケンスレジスタ（ａ）を増分し、
４．前記第１のメモリ領域のデータを該データ増分バッファ（ｅ）における量だけ増分して、該第１のメモリ領域にその増分した量を書込み、
５．該シーケンスレジスタ（ａ）を増分する
ことからなることを特徴とする集積回路装置の利用方法。
【請求項２】
前記リカバリ処理が、前記データバッファ（ｂ）から前記第１のメモリ領域にデータをコピーすることを含むことを特徴とする請求項１に記載の集積回路装置の利用方法。
【請求項３】
前記不揮発性メモリ（７）にデータのリカバリを行い、前記集積回路装置（１）の無効が、該リカバリの失敗においてのみもたらされるステップを含むことを特徴とする請求項１又は２に記載の集積回路装置の利用方法。
【請求項４】
前記不揮発性メモリ（７）が、正常な環境下において特定のアプリケーションを実行するために前記マイクロプロセッサ（５）を制御するアプリケーションプログラム（ＡＰ）を含んでおり、前記集積回路装置の無効が、該アプリケーションプログラムが迂回されることになるソフトウエアの無効であることを特徴とする請求項１から３のいずれか１項に記載の集積回路装置の利用方法。
【請求項５】
前記集積回路装置（１）の無効が、該装置のハードウエアを無能にすることによってもたらされることを特徴とする請求項項１から３のいずれか１項に記載の集積回路装置の利用方法。
【請求項６】
前記不揮発性メモリ（７）がページ（８）に分割されており、書込み動作が一度に１つのページ上のみで実行され、前記第１及び第２のメモリ領域が異なったページ上に存在することを特徴とする請求項１から５のいずれか１項に記載の集積回路装置の利用方法。
【請求項７】
前記不揮発性メモリ（７）が、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）であることを特徴とする請求項１から６のいずれか１項に記載の集積回路装置の利用方法。
【請求項８】
端末ユニット（４）への一時的な接続のためのインタフェース（２）と、マイクロプロセッサ（５）と、ランダムアクセスメモリ（６）と、不揮発性メモリ（７）とを備えた集積回路装置（１）であって、該不揮発性メモリが、マイクロプロセッサを制御して請求項１から７のいずれか１項に記載の集積回路装置の利用方法をもたらすプログラムを含むことを特徴とする集積回路装置。
【発明の詳細な説明】
本発明は不揮発性メモリへのデータ書込みに関するものである。不揮発性メモリは供給電力が維持されていないでデータを保持するメモリである。特に、本発明はデータの入力及び出力に一時的に結合されると共に端末装置に接続することで使用される伝送用集積回路装置でのメモリへのデータ書込みに関する。
そのような伝送装置の一例では周知の「スマートカード」のような集積回路カード（ＩＣＣ）がある。スマートカードは電力、クロック信号、リセット信号及びシリアルデータ信号がカードに供給する端末装置にインタフェースの手段によって接続される。一般にインタフェースは直接に一時的な電気的な結合における電気的な接続の設定を組み入れている。しかし、電磁誘電技術を使用する誘導非導電性インタフェースが提案される。そのような配列のクロック信号、リセット信号及びデータ信号が電磁的に又は赤外線あるいは超音波技術によって結合される。伝送集積回路装置はカード形状より他の印として含まれる。形状にかかわらず、そのような装置は集積回路カード（ＩＣＣｓ）に起因する。ＩＣＣｓの困難さは、電力、リセット信号又はクロック信号の過渡現象又は停止によって誤った書込みがもたらされることになる書込み中のインタフェースの攪乱によって、ＩＣＣにデータを書込むことが干渉され得ることである。
本発明に係るスマートカードは特に金融金額又は「電子的現金」システムでの提案である。ここでのスマートカードでのデータは銀行とオンラインで、かつカード間のオフラインで伝送され得る値を示す。そのようなシステムは特許出願番号ＷＯ９１／１６６９１及びＷＯ９３／０８５４５に開示されている。電力又はデータラインの取扱いによって誘発された偶然又はたぶん故意に誤ったデータの書込みの影響を防ぐためことはそのような提案に示されているように明らかに重要である。本発明はそれを解決する方法を提案する。
本発明における集積回路装置における不揮発性メモリにデータを書込む方法において、装置は端末ユニットに一時的な接続するためのインタフェース、マイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）及び不揮発性メモリを有し、書込みデータに対して不揮発性メモリの第１の領域を割り当て、書込み状態情報に対して不揮発性メモリの第２の領域を割り当て、前記第１の領域にデータを書込むためにデータ書込み動作を実行し、有効なデータ書込みに重要な前記第２の領域に情報を書込み、データ書込み動作は有効に実行される。
マイクロプロセッサ環境において、ＲＡＭ領域間での、及びＲＡＭからＥＥＰＲＯＭへのデータやプログラム情報を伝送するための多くのコピーと書込み処理がある。オペレーティングシステムレベル又はそれより高いレベルにおいて、通常、コピー又は書込み動作の有効性を確かめるために利用可能な照合技術がある。これはコピーされた、又は書込まれたものをオリジナル、又はより通常には、チェックサムルーチンの値と自動的に比較することを伴っていてもよい。ここで、チェックサムルーチンは、データに１又は１以上のチェックサムビットを付加し、特別なアルゴリズムにしたがって、書込み又はコピー計算が実行されなかったことを確認するために照合可能なデータへのリンクを形成する。破損が検出されたならば動作は良好になるまで繰り返される。本発明はそのような技術に関するものではなく、それに付加され、提供するものである。しかし、そのような固有の技術は書込み動作がメモリの前記第２の領域の中に適切な情報を書込むために確実に行われるか否かを検出するための基本として使用される。そして、例えばもしデータが固有の書込み照合技術をもってＩＣＣに確実に書込まれるならば書込み処理の結果がメモリの第２の領域に書込まれる適切なデータを実現するために確実な書込みの表示として得られる。
もっともスマートカードに一般に使用される不揮発性メモリのタイプは電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）であり、本発明は特に提案され得るがこれに主として提案する。読出し及び書込み処理に関するかぎり、ＥＥＰＲＯＭは一般的にページに分割されており、読出し又は書込みは一度に１ページ実行される。一時的な書込みエラーが、他のページではなく１ページの内容を破損させることが予期され得る。よって、前記第１及び第２の領域は異なるページ上であることが好ましい。
本発明によれば、不揮発性メモリが、装置の顕著な書込みエラーがあるか否かを記録し、さらにリセット信号の適用において、装置が再び使用される場合に対応して処理を行うことが可能となる。一般的には、リセット、リセットに対する回答、電力及びクロック信号などを規定するプロトコルＩＳＯ７８１６が使用されている。もし失敗が一時的である場合、中断された処理が再開されるようにリセット信号が直ちに供給される。一方、一時的ではない場合、次に装置を使用する試みがなされる時に、リセット信号が供給される。好ましくは、本発明の見地に従って前述したように書込まれるデータに対する集積回路装置の利用の方法であって、通常の環境下で特定のアプリケーションを実行するためにマイクロプロセッサを制御するアプリケーションプログラムを不揮発性メモリに含む装置を利用する方法において、まず、書込み状態情報を引き出すために不揮発性メモリの第２の領域を読み出し、書込み状態情報が不完全な書込み動作を示す場合に、このアプリケーションプログラムを迂回するステップを含む。
このように、顕著な書込みエラーが（例えば）スマートカードに現れる場合に有効な動作は、アプリケーションプログラムの実行を継続的に失敗させることによってカードを使用不能にすることである。これはカードのソフトウエアの無効である。変更態様として、ハードウエアの無効は、カード内のヒューズリンクに過電流を供給することによって可能となり、そしてヒューズが飛びかつカードを無効にする。しかし、カードの無効は無駄であり、好ましくは、本利用方法が、不完全な書込み動作の検出において、直前のデータの書込みが正常であってメモリの第２の領域での状態情報がこれを反映している状態に装置を復元するのに有効なデータリカバリ処理を含む。データのリカバリ処理が失敗した場合、カードを無効とする前述したソフトウエア又はハードウエアステップがなされる。
発明における方法の不徹底な例として、３つの特別な方法が提供される。
方法１
この方法を用いることにおいて不揮発性メモリの各々及び分離された領域が、
（ａ）  第２のメモリ領域であるシーケンスレジスタ、
（ｂ）  データコピーバッファ、
（ｃ）  サイズレジスタ、及び
（ｄ）  アドレスレジスタ
として割り当てられており、
（ｅ）  データ増分バッファ
としてＲＡＭ又は不揮発性メモリの領域を割り当てており、不揮発性メモリ（７）の第１の領域が、メモリ領域（ｃ）及び（ｄ）に書込まれたデータによってサイズ及びアドレスを識別され、書込み方法が、
１．バッファ（ｅ）が有効なデータ増分を含むことを確認し、
２．更新されるべきデータのコピーをバッファ（ｂ）に配置し、
３．レジスタ（ａ）を増分し、
４．第１のメモリ領域のデータをバッファ（ｅ）における量だけ増分して、第１のメモリ領域にその増分した量を書込み、
５．シーケンスレジスタ（ａ）を増分する
ことからなる。
この方法を用いてリカバリ動作はレジスタ（ａ）が必要とされるリカバリを示す時メモリの前記第１の領域にバッファ（ｂ）からオリジナル（非変造された）データをコピーすることを含む。これは不完全な書込み動作前の位置に状態を復元する。
方法２
この方法を用いることにおいて不揮発性メモリの各々及び分離された領域が、
（ｆ）  第２のメモリ領域であるライトインプログレスフラグレジスタ、
（ｇ）  作業領域ポインタレジスタ、
（ｈ）  サイズレジスタ、及び
（ｉ）  データポインタレジスタ
として割り当てられており、
（ｊ）  新規データポインタレジスタ
としてＲＡＭ又は不揮発性メモリの領域を割り当てており、不揮発性メモリ（７）の第１の領域が、メモリ領域（ｇ）及び（ｈ）に書込まれたデータによってサイズ及び位置を識別され、書込み方法が、
１．レジスタ（ｇ）内の作業領域ポインタを、レジスタ（ｈ）内のサイズセットに対応する連続したデータセットを保持するのに十分である不揮発性メモリの作業領域のアドレスにセットし、
２．レジスタ（ｊ）の新規データポインタによってアドレスを、さらにレジスタ（ｈ）のサイズデータによってサイズを識別された新規データのコピーを作業領域にコピーし、
３．レジスタ（ｆ）のライトインプログレスフラグをセットし、
４．データポインタレジスタ（ｉ）内のアドレスを作業領域のアドレスにセットし、
５．レジスタ（ｆ）内のライトインプログレスフラグをクリアする
ことからなる。
ここで、エラーは、データポインタレジスタが好ましく書込まれなかったことを示すので、リカバリ動作は直前の２つのステップ（４及び５）の繰り返しを含む。
方法３
この方法を用いることにおいて不揮発性メモリの各々及び分離された領域が、
（ｋ）  第２のメモリ領域である状態フラグレジスタ、
（ｌ）  サイズレジスタ、
（ｍ）  アドレスレジスタ、及び
（ｎ）  更新コピーバッファ
として割り当てられており、
第１の領域が、レジスタ領域（１）及び（ｍ）に書込まれたデータによってサイズ及び位置を識別され、書込み方法が、
１．書込まれるべき新規データをバッファ（ｎ）にコピーし、
２．レジスタ（ｋ）内の状態フラグをセットし、
３．この書込まれるべき新規データを不揮発性メモリの第１の領域に書込み、
４．レジスタ（ｋ）内の状態フラグをクリアすることからなる。
ここで、新規のデータは一般的にＲＡＭから直接に書込まれ、コピーは更新コピーバッファ（ｎ）に取り込まれる。新規のデータが蓄積されてもしリカバリが必要となるならばリカバリ動作はＥＥＰＲＯＭ（例えば）に要求されたアドレスにこれをコピーする。
本発明は次の図に基づいて説明される。
図１は本発明におけるデータ書込み及びリカバリの第１の方法を構成するＥＥＰＲＯＭを有するスマートカードを示す図であり、
図２は図１のカードに使用される方法に関するフローチャートであり、
図３は図１に類似した図であって本発明におけるデータ書込み及びリカバリの第２の方法に関する図であり、
図４は第２の方法に関するフローチャートであり、
図５は図１及び図３に類似した図であって本発明におけるデータ書込み及びリカバリの第３の方法に関する図であり、
図６は第３の方法に関するフローチャートである。
以下、本発明の実施例を図面に基づいて説明する。
図１において、端末装置４に接続されるために接点３のセットを含むインタフェース２を有するスマートカード１が示されている。プロトコルＩＳＯ７８１６に従って、端末ユニットは電力、クロック信号、リセット信号及びシリアルデータ信号をカードに供給する。カードはマイクロプロセッサ５、ＲＡＭ６及びＥＥＰＲＯＭ７を含むＩＣＣ装置である。
ＥＥＰＲＯＭ７はページ８のセットに分割され、オペレーティングシステムプログラムＯＳ、アプリケーションプログラムＡＰに実行され、読出されかつ再度書込まれるデータを保持するデータ領域ＤＲを有する。
本発明の第１の実施例はＥＥＰＲＯＭでデータの更新を増やすためである方法１に示される。ＥＥＰＲＯＭのデータ領域ＤＲの各々及び個々の領域は、
（ａ）シーケンスレジスタ、
（ｂ）データコピーバッファ、
（ｃ）サイズレジスタ、
（ｄ）アドレスレジスタ、
として割り当てられている。
ＲＡＭの領域は（ｅ）データ増分バッファとして割り当てられるが、これは変更態様としてＥＥＰＲＯＭにおいても可能である。
図２（ａ）に参照して方法１に従ってデータの書込みにプログラムをフローすることが示されている。そのステップは、
１．バッファ（ｅ）が有効なデータ増分を含むことを確認し（ステップ９）、
２．オリジナル位置を付与するサイズ及びアドレスレジスタ（ｃ），（ｄ）を参照して更新されるＥＥＰＲＯＭデータ（オリジナルデータ）を識別し（ステップ１０）、
３．バッファ（ｂ）にオリジナルデータをコピーし（ステップ１１）、
４．シーケンスレジスタ（ａ）を増分し（ステップ１２）、
５．オリジナルデータ及びデータ増分バッファ（ｅ）内のデータを参照してＲＡＭにおいて新規のデータを計算し、この新規データをＥＥＰＲＯＭ内のオリジナル位置に書込み戻し（ステップ１３）、
６．レジスタ（ａ）を増分する（ステップ１４）。
ＥＥＰＲＯＭは蓄積されたデータが不正化され得、ＥＥＰＲＯＭの内容が電力ラインを変えられ、又はクロック信号が割り込まれる。配列の前述された説明をもって、データの保全は照合処理に接続でのデータコピーバッファの使用によって供給される。書込み照合処理に基づいて、もし動作システムが書込み処理１３の完了を示すならば書込まれる情報が適切でシーケンスレジスタ（ａ）が適切に更新され得ることが事実だとされ得る。もし書込み動作が供給ライン又はクロック信号の分裂によって割り込まれたならば、例えばシーケンスレジスタが試みられた書込みに適切された前の状態に保持される。
本発明の見地に関して、カードが任意の時間にリセット信号を受信するとチェック及びリカバリ処理に利用できる。図２（ｂ）にはこれが開示されている。ステップ１５にリセット上でシーケンスレジスタが書込み失敗が示されたかどうかを検出するステップ１６にチェックされる。もしチェックされないならば、アプリケーションプログラムＡＰ（図１）はステップ１７を実行する。もし失敗が最後に試みられる書込み動作の前にオリジナルのデータを示されたならばオリジナルのデータアドレス（ｃ），（ｄ）にコピーされるデータコピーバッファ（ｂ）に保持される。このステップはステップ１８に示される。試みられた書込み動作前の状態が復元される。
この方法はマルチステージ動作処理に適応され、実際のデータでマルチステージでシリアルインタフェースによって端末にフィードバック及び前に戻す。シーケンスレジスタは中断が行うシーケンスでのステージに情報を保持する。もし端末にオリジナルな内部結合が属しているならば動作シーケンスが再び始められ、再度の同期処理が置き換えられ、ステップ１９にコピー／再度の同期は成功されるか否かを検出するためのチェックがある。もし成功されたときにはアプリケーションプログラムＡＰが実行される。もし成功しないときにはソフトウエアがシーケンスレジスタの状態からオンカードに提供のソフトウエアとシリアルラインを介してスマートカードに伝達するソフトウエアを再度同期するかどうかを決めなければならない。ステップ２０に示されているようにもしデータがデータコピーバッファから検索されることができないならばシーケンスレジスタはこのデータが利用でき、そしてスマートカードが使用されないことが示されている。
これはアプリケーションプログラムを実行することを続く失敗によって、又はポジティブなステップが固有のヒューズを飛ばすことによって例えばカードを無効にする。
データコピーバッファ（ｂ）とデータ増分バッファ（ｅ）がこの方法を使用するＥＥＰＲＯＭに書込まれる大きな可能なデータブロックに保持するために十分に大きさである。蓄積の余分の５バイトは要求される（サイズ＝２バイト、アドレス＝２バイト、シーケンスレジスタ＝１バイト（少なくとも））。もしサイズが２５５より大きくないならば単一のバイトに蓄積され得る。
カードが書込みで１時間当たりページ８（図１）の１つのみに動作し、保全はＥＥＰＲＯＭページ（合計での３つ）がデータコピーバッファ、データ増分バッファを使用され、付加データのリセットのために使用される。
ＥＥＰＲＯＭに書込むこの方法を使用することで、ＥＥＰＲＯＭに実際に書込まれるバイトの数はもしリカバリが生じない（オリジナルデータがＥＥＰＲＯＭ書込みを開始する前にデータコピーバッファに蓄積されなければならない）。総オーバーヘッドはＥＥＰＲＯＭに書込まれなければならないサイズ、アドレス及びシーケンスレジスタ情報としてこれより明らかに多い。
図３に示すようにスマートカード（図１のものと類似する）が本発明に係る方法２を用いるために構成のＥＥＰＲＯＭを示されている。ＥＥＰＲＯＭの各々及び個々の領域（各々ページ８での）は次のように割り当てられている。
（ｆ）ライトインプログレスフラグレジスタ、
（ｇ）作業領域ポインタレジスタ、
（ｈ）サイズレジスタ、及び
（ｉ）データポインタレジスタ。
ＲＡＭにおいて、新規のデータポインタレジスタとして領域（ｊ）が割り当てられる。変更態様として、ＥＥＰＲＯＭにおいてであってもよい。
方法２での書込み処理のためのフローチャートが図４（ａ）に示される。これは次のステップを含む。
１．レジスタ（ｇ）内の作業領域ポインタを、レジスタ（ｈ）でサイズセットに相当する連続したデータセットを保持するのに十分なサイズを有するＥＥＰＲＯＭでの作業領域のアドレスにセットし（ステップ２１）、
２．レジスタ（ｈ）によってサイズを、さらにレジスタ（ｉ）によって位置を識別されたＲＡＭ又はＥＥＰＲＯＭ内の領域の新規データのコピーを作業領域にコピーし（ステップ２２）、
３．ライトインプログレスフラグ（ｆ）をセットし（ステップ２３）、
４．レジスタ（ｉ）内のアドレスをこの作業領域のアドレスにセットし（ステップ２４）、
５．レジスタ（ｆ）内のライトインプログレスフラグをクリアする。
方法２におけるチェック及びリカバリ処理が図４（ｂ）に示される。ステップ２５でのリセットでプログレスフラグでの書込みはステップ２６でチェックされる。もしクリアであればアプリケーションプログラムＡＰはステップ２７で実行される。もし実行されないならば書込み処理の最後の２つのステージ（４及び５）が繰り返される。そして、ワークスペースポインタ（ｇ）に等しいデータポインタ（ｉ）がステップ２８でセットされ、プログレスフラグ（ｆ）での書込みがステップ２９でクリアされる。もしこの書込み処理が正しい（ステップ３０でチェック）ならばプログラムＡＰが実行される。正しくなければスマートカードは使用され得ない（ステップ３１）。
ＥＥＰＲＯＭの領域がわかるのでＥＥＰＲＯＭ書込みは、この方法は使用されないとするこの領域をマークするためのスマートカード供給ソフトウエアを簡単に実現され、データ蓄積のための他の領域を選択する。これは一般にスマートカードの寿命（スマートカードが形成されることを伸ばすことができるが、これはＥＥＰＲＯＭに最大可能数によって限定される）を伸ばすが、これはＥＥＰＲＯＭに蓄積された各データ構成にポインタ（２バイトのオーバーヘッド）を保持することを失うことである。
通常の状態下で、プログレスフラグでの書込みがＥＥＰＲＯＭにポインタを更新することを要求する時間にセットのみである。これは最小の可能な論理上更新時間であり、リカバリメカニズムが大変めったに実際にされないことを確実にすることを補助する。これはＥＥＰＲＯＭに試みられた書込み数を最小にし、スマートカードの寿命を伸ばすこととなる。
この方法を使用してＥＥＰＲＯＭに書込まれた各データの構成がデータに対するポインタが連続して保持されたので２バイトによって拡大される。ポインタを介してアクセスされるべきであるこの方法を使用してのすべてのデータとして読出す各ＥＥＰＲＯＭ上で小さいオーバーヘッドがある。
ワークスペースポインタによってポイントされたＥＥＰＲＯＭはこの方法を使用するＥＥＰＲＯＭに書込まれる最も可能なデータの構成を保持するために十分大きくなければならない。このスペースは離れるＥＥＰＲＯＭの蓄積の等価な長さ（オリジナルデータを保持するために使用される）にＥＥＰＲＯＭの書込みが完全に組み込まれるまで要求される。また、蓄積の余分な７バイトが要求される（プログレスフラグでの書込み＝１バイト、新規データのポインタ＝２バイト、ワークスペースポインタ＝２バイト、サイズ＝２バイト）。もしサイズが２５５以上となることができないならば、単一バイトで蓄積され得る。
３つのポインタは更新されなければならない（新規データポインタ、ワークスペースポインタ及びデータポインタの値）がＥＥＰＲＯＭに書込むこの方法を使用してデータの構成はＥＥＰＲＯＭに書込まれる。サイズ、アドレス及びシーケンスレジスタ情報がＥＥＰＲＯＭに書込まれなければならない。
図５を参照して、本発明を実行する方法３のためのＥＥＰＲＯＭの配分が示されている。図５のＥＥＰＲＯＭは図１のスマートカードに類似した他のスマートカードに組み込まれていることがわかる。図５において、ＥＥＰＲＯＭ（分離されたページ８上）の分離された領域が次のように割り当てられている。
（ｋ）状態フラグレジスタ、
（ｌ）サイズレジスタ、
（ｍ）アドレスレジスタ、
（ｎ）更新コピーバッファ。
方法３での書込み処理は図６（ａ）に示されている。次のようなステップが実行される。
１．新規データをバッファ（ｎ）にコピーし（ステップ３２）、
２．状態フラグ（ｋ）をセットし（ステップ３３）、
３．この新規のデータを、サイズ（１）とアドレス（ｍ）とによって識別されるＥＥＰＲＯＭの領域にコピーし（ステップ３４）、
４．状態フラグ（ｋ）をクリアする（ステップ３５）。
図６（ｂ）に示されるチェック及びリカバリ処理はステップ３６でのチェックとステップ３７での状態フラグ（ｋ）のセッティングのためのチェックを有する。もしフラグがセットされないならばアプリケーションプログラムＡＰはステップ３８で実行される。一方、バッファ（ｎ）に具備する新規データはステップ３９で領域（ｌ），（ｍ）にコピーされ、状態フラグ（ｋ）はステップ４０でクリアされる。もし有効となるならば、アプリケーションプログラムは実行される。もし有効でないならば、カードは不使用となる（ステップ４１）。
付加されるデータ領域（バッファｎ）は５バイト（サイズ＝２バイト、アドレス＝２バイト、状態フラグ＝１バイト）をＥＥＰＲＯＭに書込まれるデータの最大の量を蓄積するために大きな十分でなければならない。もしサイズは２５５より大きいならば単一バイトで蓄積され得る。
このＥＥＰＲＯＭへの書込み方法を使用すると、リカバリが有効とならない場合においてさえ、実際にＥＥＰＲＯＭに書込まれるバイトの数は倍となる（なぜならデータのコピーがＥＥＰＲＯＭに書込まれなければならないからである）。すべての付加されたものはＥＥＰＲＯＭに書込まれなければならないサイズ、アドレスとして実際にわずかに多い。
変更されないデータを表すことができるためにエラー検知技術は実行されなければならない。通常のエラー検知はデータが更新される否かのチェックの和を算出することから構成され、連続のデータ読出し中に修正されることを確実にする。エラー検知のチェックを算出するために使用される実行方法はこの処理の目的のために重要でなく、真のスマートカードはＥＥＰＲＯＭのハードウエアの中に組み立てられたエラー検知工程を有し、動作のそれらの特別な方法は知られていない。
エラー検知システムが適切に更新され、正確に確実にするときのみ、ＥＥＰＲＯＭ書込みは組み込まれることとみなされる。
正確に機能することを停止する前にＥＥＰＲＯＭの各バイトは時間の有限個に変更され得る。これは有限の１０5〜１０6の書込みサイクルである。よって、ＥＥＰＲＯＭに備わっている一方で変更されたデータの有限数を有し、エラー検知システムがデータが変更されないことを確実にするならばＥＥＰＲＯＭは確かに容認されなければならない。もしエラーがＥＥＰＲＯＭ読出し中に検出されたならばスマートカードのＥＥＰＲＯＭで１又はそれ以上のバイトが寿命の終わりに達することを意味する。
前述したＥＥＰＲＯＭに書込む方法の１つを使用して、エラー修正（エラー検知に反対して）が要求されていないことを確実にする。ＥＥＰＲＯＭの動作が有効に起動し、又はスマートカードは不使用となる。エラーが修正される必要があることにあまり重要でない。これはソフトウエアを簡易化し、データ蓄積要求を減らし、エラー修正は計算上増大し、エラー検知より蓄積の要するバイトを多く要求する。
前述したＥＥＰＲＯＭに書込むデータの３つの方法の１つ（方法番号１）はＥＥＰＲＯＭに書込み中に形成された動作の一連で最後の有効な動作の認識を蓄積するカウンタ（シーケンスレジスタ）を明瞭に保つ。方法２及び方法３は有効な組み立てられたＥＥＰＲＯＭに書込まれないか否かに示す情報を保持するフラグを応答するのでこのタイプのカウンタをあまり要求されない。
ＥＥＰＲＯＭに書込まれる方法がカウンタを常に明らかに要求されないように任意の種類の割り込む動作が再起動され得るのでそのようなカウンタを保持する必要があることが明らかに記されている。もし修正されないならば割り込み動作を再起動するために試みるスマートカードアプリケーションのソフトウエアによって応答されないこととなる。
【図１】
0003918195.tif 000002
【図２（ａ）】
0003918195.tif 000003
【図２（ｂ）】
0003918195.tif 000004
【図３】
0003918195.tif 000005
【図５】
0003918195.tif 000006
【図４（ａ）】
0003918195.tif 000007
【図４（ｂ）】
0003918195.tif 000008
【図６（ａ）】
0003918195.tif 000009
【図６（ｂ）】
0003918195.tif 000010