(57)【特許請求の範囲】
【請求項１】
プロセッサ、揮発性メモリ、不揮発性メモリ、及び外部電力が供給されることを可能にする電源結合手段を含む集積回路カードにして、更に、
電源障害の場合、短い期間の間電力を維持する障害保護手段と、
電源障害を感知する電源障害検出手段と、
前記電源障害検出手段により電源障害が感知された場合に、電源障害が生じたことを示す電源障害インディケータ（ＰＦ）を前記不揮発性メモリにセットする手段と、
を含み、
前記電源障害検出手段は、電源障害が感知された場合に前記揮発性メモリから前記不揮発性メモリへの情報の転送をトリガし、前記障害保護手段は前記転送のため、及び前記電源障害インディケータのセットのための電力を供給することを特徴とする集積回路カード。
【請求項２】
前記集積回路カードは無接点カードである、請求項１に記載の集積回路カード。
【請求項３】
前記電源結合手段は、低周波の電磁放射変換によって電力が前記集積回路カードに供給されるように、誘導性ループが外部電源によって確立されることを可能にする、請求項２に記載の集積回路カード。
【請求項４】
前記電源障害検出手段は前記誘導性ループの中断及び／又は前記誘導性ループの結合効率の減少を感知するための手段を含む、請求項３に記載の集積回路カード。
【請求項５】
前記電源結合手段は、電力が前記集積回路カードに供給されるように、外部電源への機械的接続のための接点パッドを含む、請求項１に記載の集積回路カード。
【請求項６】
前記電源障害検出手段は前記外部電源によって供給される電力の中断及び／又は前記供給される電力の電圧ドロップを感知する、請求項５に記載の集積回路カード。
【請求項７】
前記揮発性メモリから前記不揮発性メモリに転送されるべき情報は、電源障害が終了した時に使用可能にされなければならないクリティカルな情報である、請求項１乃至請求項６のいずれかに記載の集積回路カード。
【請求項８】
前記障害保護手段は前記情報の転送の期間の間電力を維持するために十分なキャパシタンスを持ったキャパシタを含む、請求項１に記載の集積回路カード。
【請求項９】
前記キャパシタはＨｉＣａｐ又はＳｕｐｅｒＣａｐキャパシタである、請求項８に記載の集積回路カード。
【請求項１０】
前記障害保護手段は前記集積回路カードのコンポーネントにクロック信号を供給するクロック発生器を含む、請求項１に記載の集積回路カード。
【請求項１１】
前記障害保護手段は前記情報の転送を処理する電源障害ハンドラを含む、請求項１に記載の集積回路カード。
【請求項１２】
前記電源障害ハンドラは不揮発性メモリに記憶され且つ前記プロセッサによって実行されるソフトウエアである、請求項１１に記載の集積回路カード。
【請求項１３】
前記電源障害ハンドラはハードウエア及びソフトウエアの組み合わせとしてインプリメントされる、請求項１１に記載の集積回路カード。
【請求項１４】
前記電源障害ハンドラはＡＳＩＣにおいてインプリメントされる、請求項１１に記載の集積回路カード。
【請求項１５】
プロセッサ、揮発性メモリ、不揮発性メモリ、及び外部電力が供給されることを可能にする電源結合手段を含む集積回路カードにおいて使用するための回復装置にして、更に、
電源障害の場合、短い期間の間前記集積回路カードに電力を供給する障害保護手段と、
前記集積回路カードに供給される外部電力の異常を感知する電源障害検出手段と、
前記電源障害検出手段により電源障害が感知された場合に、電源障害が生じたことを示す電源障害インディケータ（ＰＦ）を前記不揮発性メモリにセットする手段と、
を含み、
前記電源障害検出手段は、前記外部電力の異常が感知された場合、前記揮発性メモリから前記不揮発性メモリへの情報の転送をトリガし、前記障害保護手段は前記転送のため、及び前記電源障害インディケータのセットのための電力を前記集積回路カードに供給することを特徴とする回復装置。
【請求項１６】
ハードウエア・コンポーネント及びソフトウエア・コンポーネントを含む、請求項１５に記載の回復装置。
【請求項１７】
前記回復装置の機能の少なくとも一部分はＡＳＩＣにおいて実現される、請求項１５に記載の回復装置。
【請求項１８】
前記ソフトウエア・コンポーネントは不揮発性メモリ、望ましくは、ＲＯＭにロードされる、請求項１６に記載の回復装置。
【請求項１９】
集積回路カードの揮発性メモリに記憶された情報を保護するための方法にして、前記集積回路カードは更にプロセッサ、不揮発性メモリ、及び外部電力が前記カードに供給されることを可能にする電源結合手段を含み、
（ａ）前記集積回路カードに供給される前記外部電力の異常を検出するステップと、
（ｂ）前記揮発性メモリから情報を読み取り、それを前記不揮発性メモリに転送するステップと、
（ｃ）前記情報を前記不揮発性メモリに書き込むステップと、
（ｄ）電源障害が生じたことを示す電源障害インディケータ（ＰＦ）を前記不揮発性メモリにセットするステップと、
（ｅ）前記集積回路カードの一部分である障害検出手段に与えられた電力を少なくとも前記（ａ）−（ｄ）のステップの実行の間供給するステップと、
を含む方法。
【請求項２０】
電源障害が検出された後に不揮発性の電源障害インディケータ（ＰＦビット）がセットされる、請求項１９に記載の方法。
【請求項２１】
前記不揮発性メモリにはクリティカルな情報のみが書き込まれる、請求項１９に記載の方法。
【請求項２２】
外部から供給された電力の異常が生じた後、集積回路カードの不揮発性メモリに記憶された情報を回復させるための方法にして、前記集積回路カードは更にプロセッサ、揮発性メモリ、及び外部電力が前記カードに供給されることを可能にする電源結合手段を含み、
（ａ）前記集積回路カードをパワーアップするステップと、
（ｂ）外部から供給された電力の異常が生じたことを示す電源障害インディケータ（ＰＦ）を前記不揮発性メモリにセットされているかどうかチェックすることによって、外部から供給された電力の異常が前記パワーアップの前に生じたかどうかを決定するステップと、
（ｃ）前記不揮発性メモリから前記情報を読み取り、それを前記揮発性メモリに転送するステップと、
（ｄ）前記外部から供給された電力の異常の前の前記集積回路カードの状態が再確立されるように前記情報を前記揮発性メモリに書き込むステップと、
を含む方法。
【請求項２３】
外部から供給された電力の異常が生じたかどうかを決定するために電源障害インディケータがチェックされる、請求項２２に記載の方法。
【請求項２４】
前記外部から供給された電力の異常の前の前記集積回路カードの状態がアプリケーション・プログラムの介入なしに再確立されるされる、請求項２２に記載の方法。
【請求項２５】
プロセッサと、
揮発性メモリと、
不揮発性メモリと、
外部電力が前記カードに供給されることを可能にする電源結合手段と、
電源障害の場合、短い期間の間電力を維持する障害保護手段と、
電源障害を感知する電源障害検出手段と、
を含む集積回路カードと関連して使用するためのカード端末にして、
前記電源障害検出手段は、電源障害が感知された場合に前記揮発性メモリから前記不揮発性メモリへの情報の転送をトリガし、
前記障害保護手段は前記転送のための電力を供給し、
前記カード端末は、前記集積回路カードから情報を受け取って電源障害をリモート・システムに報告する事象報告手段を含む、
前記事象報告手段は、前記集積回路カードから不揮発性の電源障害インディケータ（ＰＦビット）を読み取ることによって前記集積回路カードから情報を受け取り、
前記電源障害インディケータ（ＰＦビット）は電源障害が検出され後に前記集積回路カードによってセットされる、
カード端末。
【請求項２６】
前記事象報告手段は前記集積回路カードから接点パッドを介して情報を受け取る、請求項２５に記載のカード端末。
【請求項２７】
前記リモート・システムはオペレータ・コンソール又は制御ステーションである、請求項２５に記載のカード端末。
【発明の詳細な説明】
【０００１】
本発明は、概していえば、スマートカードのような集積回路カードに関し、詳しくいえば、自動回復方法に関するものである。
【０００２】
スマートカードとして広範に知られている集積回路カード（ＩＣＣ）は、エレクトロニクスを含む小型のクレジットカード・サイズの担体である。スマートカードの概念は１９８５年以前にヨーロッパで始まり、今日では、幾つかの応用分野を挙げるまでもなく、電話システム、有料道路、ゲーム・センタ、及びパーソナル・コンピュータにおいて使用されつつある。
【０００３】
以下では、その集積回路カードという用語が使用される。それは、集積回路がカード・サイズのプラスティック片のようなものに含まれるすべての装置を包含するように、ＩＳＯがその用語を使用しているためである。
【０００４】
今のところ、ＩＣＣは２つの方法において使用されているだけである。ＩＣＣは、少量のデータのための単純な、しかも多少の改竄の恐れもない記憶装置を提供する第１の方法か、或いは、データ・シグニチャ（ｄａｔａ  ｓｉｇｎａｔｕｒｅ）のような又はチャレンジ・レスポンス・プロトコルを使用する暗号化ベースの認証のようなセキュリティ関連のオペレーションを実行する第２の方法である。プリペイド式のテレフォン・カード又はシネマ・カード及び個人データを記憶する健康管理カードのようなアプリケーションは第１の方法を利用する。第２の方法におけるＩＣＣは、例えば、コンピュータ・システムのログオン時に又は制限区域への立ち入りのために特別仕掛けされたドアを開く時に認証手順を実行するセキュア・トークンとして使用される。
【０００５】
上記の２つの方法（オペレーション・モード又は使用モード）をサポートする代表的なＩＣＣは、マイクロ・プロセッサ（中央処理装置、ＣＰＵ）、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、又はＥＥＰＲＯＭ（電気的消去型プログラム可能読み出し専用記憶素子）のような或るタイプの不揮発性プログラマブル・メモリより成る。更に、ＩＣＣは、通常、ある種のバス（シリアル・バスのような）、或いはカード端末に相互接続するための及び外界とのコミュニケーションのためのＩ／Ｏポートより成る。そのようなカード端末は、必要な電力、ハードウエア・レベルにおける電気的信号発生、及びＩＣＣと相互接続するためのソフトウエア・レベルにおける基本的な通信プロトコルを提供する。２つのタイプのカード端末が利用可能である。それらのうちの高価なモデルの方はＩＣＣを一体的に物理的にロックする。それとは別に、カード端末のコストを下げるためには、ユーザがＩＣＣを挿入することができ且つユーザが随意にＩＣＣを引き抜くことができるスロットを設けるだけであることも極めて一般的である。
【０００６】
ほとんどのＩＣＣは、フレキシブル・カード（例えば、ＰＶＣ又はＡＢＳ）上に一体的にモールドされた集積回路の形をしたコンポーネントより成る。これらの集積回路（ＩＣ）の大きさは精々２５mm2（シリコン・ダイの大きさ）である。代表的なＩＣＣは、８５.６mmｘ５３.９８mmｘ０.７６mmのサイズを有する。ＩＣＣの集積回路は寸法が小さくなること及びこれらのＩＣＣは先進半導体技術を利用して更に強力なものになることが期待されている。
【０００７】
ＲＯＭタイプのメモリの内容は固定されるし、一旦半導体会社によって製造されると変更されることはあり得ない。これは、それが基板上の最小スペースを占めるという点で低コストのメモリである。ＲＯＭの欠点は、それが変更され得ないこと及び製造するのに数ヶ月を要することである。これとは対照的に、ＥＥＰＲＯＭはユーザによる消去が可能であり、何回も再書き込みが可能である。ＲＯＭ及びＥＥＰＲＯＭは不揮発性である。換言すれば、電力が除去された時も、それらは依然としてそれらの内容を保持する。ＲＡＭは揮発性メモリであり、電力が除去されると直ちにデータ内容が失われる。しかし、ＲＡＭは、それがＲＯＭ及びＥＥＰＲＯＭよりもずっと高速であるという利点を有する。一方、ＲＡＭはダイ・サイズに関してはずっと高価である。
【０００８】
ＩＣＣは２つの形式、接点形式及び無接点形式をとる。前者は、それが金のコネクタＩ／Ｏポートであるために、識別するのが容易である。ＩＳＯ標準（７８１６−２）は８つの接点を定義しているけれども、実際には、外界とコミュニケートするためには６つしか使用されない。無接点カードは、特に、内蔵キーボード及びＬＣＤディスプレイを有する「スーパ・スマート・カード（Super Smart Card）」の場合、それ自身のバッテリを含むことがある。しかし、一般には、低周波の電磁放射を使用する誘導性ループによって、操作電力が無接点カードの電子回路に供給される。コミュニケーション信号は同様の方法で伝送されてもよく、或いは容量結合又は光学的接続を使用することも可能である。
【０００９】
チップ設計分野における最近の先進技術は、同じシリコン基板上に不揮発性メモリ用のフラッシュＲＡＭ（FlashＲＡＭ）及び３２ビット・マイクロプロセッサの導入を可能にした。従って、ＩＣＣは、上で概説したような単純な読み取り／書き込みの暗号化／暗号化解除ルーチンを遥かに超越することによって、単純な、しかし、それにも関わらず十分に機能的なアプリケーションを処理するに足る強力なものになりつつある。例えば、本格的な暗号プロトコル又は電子商取引プロトコルのような複雑なセキュリティ関連のオペレーションがカード自体の上で実行され得るし、最早、更に不安のあるパーソナル・コンピュータ上に常駐する必要はない。
【００１０】
上で概説した単純な読み取り／書き込み、暗号化／暗号化解除シナリオにおけるほとんどのアプリケーションに対して、任意の時間におけるカードの引き抜きによる電力損失は深刻な問題を引き起こす程のものではない。第１のシナリオに対する例として、テレフォン・カードのクレジット／デビット金額は、アクション（即ち、コール）が取られる前に、常にＩＣＣにおける永続的メモリに記憶される。認証が完結し得なかった場合、カードは、単にそれのサービスを提供しないだけである。いずれの場合も、ユーザがカード端末からＩＣＣを引き抜くのが早過ぎる場合、カードの機能に対する損傷が生じない方法を見つけることが可能である。
【００１１】
しかし、早すぎるカードの取り出し、或いは、電磁放射を使用して無接点ＩＣＣに電力を供給する誘導性ループの中断は、それが供給電圧の即時喪失を導くので、深刻な問題を引き起こすことがあるという他の種類の重要なアプリケーションが存在する。この供給電圧の喪失のために、ＩＣＣのＲＡＭにおけるすべての内容、更に、一時的なアプリケーション状態が直ちに、しかも不可逆的に失われる。このようなアプリケーション状態の喪失は、恐らく、このタイプの事象を処理するように準備されてないシステムにとっては大きい混乱をもたらすことがある。
【００１２】
現在、この問題に対処するための２つの主要な方法が知られているか、又はＩＣＣに関して開発中である。第１の方法によれば、恒久的に且つ整合性をもって保持されるべきデータに関連した任意のタイプのオペレーションに対して、ＲＡＭは全く使用されない。残念なことに、常に不揮発性メモリを使用するということは２つの深刻な欠点を持つことになる。１つは、いずれのメモリ書き込みアクセスも、ＲＡＭの代わりにＥＥＰＲＯＭ又はフラッシュＲＡＭを使用する場合にはおよそ５００乃至１０００倍も遅くなるという時に払われるべき過度なパフォーマンス・ペナルティである。更に深刻な問題は、保証された書き込みサイクルの総量に関する制限（ＥＥＰＲＯＭに対しては１００,０００倍、フラッシュＲＡＭに対しては１,０００,０００倍）である。暗号プロトコルのようなメモリ集中的なアプリケーションがこのメモリを連続してアクセスするという新しい設定では、これらの数字は２分以内に容易に到達可能である。この時以後は、ＩＣＣが単に動作するのをやめるか又はそれの信頼性が徹底的に低下するであろう。
【００１３】
この問題に対処するために、データベース開発からの周知のトランザクション概念を使用するという第２の方法が採用された。この概念は、アプリケーションがＩＣＣのＲＡＭを使用することを可能にするが、アプリケーション開発者は、クリティカルなデータ構造がトランザクション「ブラケット」によって常に保護されることを保証しなければならない。トランザクション・ブラケットは、開始時にソース・コード・ステートメント "transaction begin"でもってマークされ、終了時に "transaction commit"（成功）又は "transaction abort"（失敗）でもってマークされるコード・セグメントである。これらのルーチンのセマンティックスはデータベース・プログラミングから周知であり、ＩＣＣの基礎的なランタイム・システムによって提供される。しかし、セマンティック整合性のチェックは自動的に行うことが難しく、従って、常にアプリケーション・プログラマがトランザクション機能を使用することに依存する。
【００１４】
そのトランザクション概念に関する詳細は、Proc 7th International Conference on Very Large Database Systems, 1981誌の第１４４乃至１５４ページにおける J.N.Gray 氏による「トランザクション概念：効力と限界（The transaction concept: Virtues and limitations）」と題した論文において与えられる。この方法による主要な問題は２つの面を持っている。その第１は、このタイプのプログラミングが極めてエラーを生じやすいということである。非常重要なデータ構造に関する１つのトランザクションだけを省くことによって、アプリケーション全体が不可解に振る舞うことがあり、更に悪いことに、ＩＣＣ上で今や可能であるようなアプリケーション対話の場合、他のプログラムは、それらが正しくプログラムされていたとしても、更にクラッシュすることがある。第２に、トランザクションは、任意のタイプのＩＣＣに関する新しいアプリケーション毎に新たにプログラムされなければならない。極めて多数の納入されたユニットと組み合わせた場合、コーディング及びテスティングは全く完全なものでなければならず、従って、高価である。
【００１５】
本発明の目的は、外部電源の障害後に、情報が自動的に回復されることを可能にする集積回路カードを提供することにある。
【００１６】
本発明のもう１つの目的は、外部から集積回路カードに供給される電力に異常があった場合、情報を記憶及び／又は回復するためのスキームを提供することにある。
【００１７】
本発明のもう１つの目的は、改良されたカード端末を提供することにある。
【００１８】
本発明は、マイクロプロセッサ、揮発性メモリ（ＲＡＭ）、不揮発性メモリ（ＲＯＭ、ＥＥＰＲＯＭ）、及び電源結合手段を含む集積回路カードに関するものである。なお、電源結合手段は、外部電力がそのカードに供給されることを可能にするものである。本発明によるカードは、電源障害の場合に或る短い期間の間電力を維持する障害保護手段及び電源障害を感知する電源障害検出器を含む。この電源障害検出器は、電源障害が感知された場合、揮発性メモリから不揮発性メモリへの情報の転送をトリガする。障害保護手段はこの転送の間電力を供給する。
【００１９】
本発明は、更に、外部から供給された電力が異常を生じた場合、情報を永続的メモリに記憶するための方法及びそのような異常の後に自動的に回復するための方法にも関連するものである。
【００２０】
本発明の方法は、アプリケーションの介入なしに電源障害後にＩＣＣが完全に回復することを可能にする。電源障害の期間に関係なく、計算は再開することができる。本発明は、現在及び将来のＩＣＣにおいて容易に実施可能である。更に、詳細な説明に関連して、利点を述べることにする。
【００２１】
発明を実施するための最良の形態
第１図に示された第１実施例に関連して、本発明の基本的な概念を説明することにする。この図には、集積回路カード（ＩＣＣ）１０が示される。このカードは、ほとんどの一般的なＩＣＣのように、マイクロプロセッサ（ＣＰＵ）１２、静的メモリ（ＲＯＭ）１１、永続的メモリ（ＥＥＰＲＯＭ）１３、揮発性メモリ（ＲＡＭ）１４を有する。ＩＣＣ１０は、更に、これらのＩＣＣコンポーネント相互間の情報交換及び信号伝達を可能にする内部バス１９を含む。この内部バス１９は、通常、黒の接点パッドとして示された入出力（Ｉ／Ｏ）ポートには接続されない。
【００２２】
ＩＣＣの改竄を防止するために、通常は、データ・ストリームに対する非常に限定されたアクセスしか与えられない。プロセッサ１２は、Ｉ／Ｏポートを介してカード端末（第１図には示されていない）とコミュニケートする。このコミュニケーションは暗号化される。
【００２３】
ＩＣＣ１０は接点付きカードである。Ｉ／Ｏポートが、カード端末の対応する手段に接続する。第１図に示されるように、電力が、ポート１７（接地ＧＮＲ）及びポート１８（正電圧Ｖcc）を介して供給される。これらの２つのポート１７及び１８の間の電圧がＩＣＣ１０のコンポーネント１１、１２、１３及び１４に印加される。カード１０にはバッテリが組み込まれていないので、これらのコンポーネントは完全に外部電源に依存する。トランザクションが遂行される時又はカード１０の操作時にこの電源が中断する場合（例えば、カードがカード端末から取り外されたために）、又は電源の障害が存在する（例えば、電圧が低下する）場合、ＲＡＭ１４のすべての内容及びプロセッサのレジスタにおける内容が失われ、処理は直ちに停止する。換言すれば、現在のアプリケーション状態が失われる。
【００２４】
ほとんどのアプリケーションにとって受け入れがたいこの状況を防止するために、第１実施例は、短い期間の間電力を維持するように設計された障害保護手段を含む。第１図に示されるように、この実施例では特別のキャパシタ１５が使用される。このキャパシタ１５は、ＧＮＲ線２０及びＶcc線２１の間の電圧が短い期間の間維持されるように配置される。このキャパシタは単に供給電圧の低下を遅らせるだけなので、このキャパシタを設けるだけでは不十分である。ＲＡＭ１４及びプロセッサのレジスタにおけるクリティカルな情報は依然として失われるであろう。キャパシタ１５に加えて、障害保護手段は、後述するように、揮発性メモリから不揮発性メモリに情報を転送させる手段を含む。
【００２５】
本発明によれば、外部電力の喪失を感知し、それを報告する電源障害検出器１６が設けられる。このインプリメンテーションでは、適切なダイオード（図示されてない）と共に電圧比較器が電源障害検出器１６として働く。この電圧比較器は電源の障害（例えば、電源遮断状態、又は電圧低下状態）を検出し、電源の障害が生じたことを障害保護手段１６に（電源障害として）信号する。本実施例では、障害保護手段の一部分がプロセッサ１２において実現される。図１に示されるように、プロセッサ１２は信号線２２を介して電源障害を知らされる。プロセッサ１２における障害保護手段は、ＲＡＭ及び／又はプロセッサのレジスタから不揮発性メモリに情報を転送するための短いステップ・シーケンスを開始する。ＩＣＣ１０は、ＲＡＭ１４及びプロセッサのレジスタから転送された情報を受け取りそして記憶する不揮発性メモリ１３（例えば、低電圧フラッシュＲＡＭ）を有する。電源障害検出器１６が電源障害を感知した場合、それは次のようなステップを実行させる：
・  ＲＡＭ１４及び／又はプロセッサのレジスタに記憶された情報を読み取るステップ、
・  この情報を不揮発性メモリ（本実施例ではＥＥＰＲＯＭ１３）に転送するステップ、及び
・  この情報を不揮発性メモリに書き込むステップ。
【００２６】
その後のパワーアップ時に、或いは、障害が解消した場合、計算が継続され得るように、ＲＡＭ及び／又はレジスタ状態が、特定のインプリメンテーションに依存して全体的に又は部分的に回復される。電力が、例えば、カード端末への次のカード挿入時に再び使用可能となる場合、キャパシタ１５は自動的に再充電される。
【００２７】
本発明のもう１つの実施例によれば、その後のイベント再構成を可能にするために、記録がＩＣＣに保持される。この記録保持は、電源障害事象の数をカウントする簡単なカウンタによって容易にされるであろう。
【００２８】
電源障害の後にプロセッサ１２をパワー・アップし得る２つの異なる方法がある。第１の方法は、外部電源が再び十分に使用可能になると直ちにそれをパワー・アップすることである。この場合、キャパシタ１５を再充電するには数秒が必要である。キャパシタ１５が完全に再充電される前に外部電源が障害を生じた場合、プロセッサのレジスタ及び／又はＲＡＭ１４における情報の喪失が再び生じるというリスクが存在する。もっと安全な第２の方法は、キャパシタ１５が再充電されてしまうまで、プロセッサ１２のパワー・アップを遅らせることである。この方法は、より信頼性の高い方法である。それは、その後の如何なる電源障害もキャパシタのエネルギによって再びバッファされ、情報が全く喪失されないためである。
【００２９】
上記のキャパシタ１５をＩＣＣ１０においてインプリメントすることは難しいことである。それは、回路のための領域が制限されること及びカードが薄くてフレキシブルであり、低コストであり、非常に信頼性が高くなければならないためである。更に、キャパシタ１５は、所定の期間の間電圧維持のための十分なエネルギ（高いキャパシタンス）を保持できなければならない。
【００３０】
情報が不揮発性メモリに転送される間十分なエネルギを供給するに必要なキャパシタンスを予測するるために、標準的なキャパシタ放電モデルを使用することが可能である。その放電モデルは、抵抗ＲがキャパシタＣを放電することに基づいている。Ｃにおける電圧に対する微分方程式は、放電状態になってからの任意所定の時間においては次のようになる。
【００３１】
【数１】
Ｕｃ（ｔ）＋Ｒ・Ｃ・ｄＵｃ（ｔ）／ｄｔ＝０
【００３２】
この方程式は、放電中の任意の時間におけるキャパシタの電圧[Uc(t)］に対して次のように解かれる。
【００３３】
【数２】
Ｕｃ（ｔ）＝Ｕ0・ｅ-t/(R・C)
【００３４】
放電状態になってｔ秒後にＵの電圧を維持するために必要な容量は次のような結果になる。
【００３５】
【数３】
Ｃ＝ｔ／（Ｒ・Ｉｎ Ｕ／Ｕ0）
【００３６】
Ｕccが不揮発性メモリ１３の供給電圧（例えば、"Am29LV002 Specifications"ＡＭＤ Ｃｏｒｐ．Publication No.21191, January 1998 誌に開示されているようなＡＭＤフラッシュＲＡＭ Am29LV002 のＵcc＝３Ｖ）であり、Ｉcc が不揮発性メモリ１３に情報を書き込むために必要な電流（本実施例におけるＡＭＤフラッシュＲＡＭ Am29LV002 のＩcc＝３０mA）である場合にＵcc／Ｉcc としてＲを設定すると、シングル・バイトを記憶するために必要な時間の量に基づいてＣが計算され得る。本実施例では、この時間は１０マイクロ秒よりも小さい。１Ｋバイトの代表的な（予想される）ＩＣＣ−ＲＡＭサイズの場合、ｔは１０ミリ秒よりも小さいことがわかっている。カード端末において見られる代表的な５Ｖ（Ｕ0）のキャパシタ・オーバチャージの場合、Ｃは２００マイクロファラッドに算定される。
【００３７】
必要なキャパシタンスを得るために、ＩＣＣに組み合わせ可能な高キャパシタンスをもった特別のキャパシタが必要とされる。本発明に関連して使用するに適したキャパシタは、数ファラッド／cm2 程度の極めて高いキャパシタンスを持たなければならない。本コンテキストでは、所謂 HiCap キャパシタ、又はスーパ・キャパシタ（SuperCap）が使用される。SuperCap は高キャパシタンス値の多層セラミック・キャパシタ（ＭＬＣとも呼ばれる）であり、それは、セラミック・テープを使用して形成された複数セラミック層のスタックより成る。これらのテープは数ミクロンの厚さである。
【００３８】
最近、これらの２種類のキャパシタが完成したばかりである。それらは、米国ニュージャージ州ペニングストン、サウス・メイン・ストリート１０番地の The Electrochemical Society, Inc. の１９９７年発行の Electrochemical Capacitors II, Proceedings 誌、第９６-２５巻、１９２−２０１ページにおける  M.G. Sullivan 氏他による「変性グラッシ・カーボン電極を使用した電気化学的キャパシタ（An Electrochemical Capacitor Using Modified Glassy Carbon Electrodes）」によって開示され、報告されたような、適切に指定された場合のＩＣＣ環境において使用可能である。
【００３９】
情報が揮発性メモリ（例えば、ＲＡＭ１４）から不揮発性メモリ（例えば、フラッシュＲＡＭ１３）に転送されることを保証するために、ソフトウエア・コンポーネントが使用されてもよい。このソフトウエア・コンポーネントは本発明の障害保護手段の一部であり、少なくとも次のような２つの方法でインプリメント可能である。図２に示されたステップをプロセッサ１２に実行させる固定の電源障害ハンドラがＲＯＭに設けられるか、又はソフトウエア・コンポーネントと同じ方法で中断を処理するためのカスタム電源障害回路が使用されてもよい。そのようなカスタム電源障害回路は第２実施例に関連して示される（図４参照）。
【００４０】
次に図２に説明を転ずると、例えば、外部電源がダウンしたために電源障害が存在する場合、電源障害ハンドラ又はカスタム電源障害回路によって実行されるステップが処理される。先ず、ボックス３０において示されるように、電源障害が適当な電源障害検出器１６、例えば、コンパレータによって感知される。次のステップ（ボックス３１）において、揮発性メモリ（例えば、ＲＡＭ１４）の内容及び／又はプロセッサのレジスタの内容が、例えば、不揮発性フラッシュＲＡＭ１３のような永続的メモリに転送される。そこで、ボックス３２において示されるように、電源障害ビット（ＰＦビット）がセットされてもよい。このＰＦビットはパワーアップ・プロセスによって使用されるので、それも不揮発性メモリに記憶することが必要である。すべてのクリティカルな情報が保存されたので、これらのステップの終了後、障害保護手段によって与えられる電力は最早必要ない。
【００４１】
プロセッサが中断モードに入り、そして障害保護手段がエネルギを使い尽くす前に、所定のプロセスを終了させるか又は電力を消費するＩＣＣ内のコンポーネントをシャットダウンするように、ソフトウエア・コンポーネント（固定の電源障害ハンドラ）がプログラムされてもよい。しかる後、ＩＣＣ電力の最終的な喪失が、ＩＣＣ内部の如何なるアプリケーションを損なうことなく生じ得る（ボックス３３）。
【００４２】
将来のＩＣＣ（例えば、JavaCard）は、部分的にブランクに、即ち、そこにアプリケーション・プログラムを記憶されることなく製造されるであろうし、或るアプリケーション・プログラムは交換可能なメモリに、即ち、それをコンピュータにダウンロードすることによってロードされるであろう。このように、ＩＣＣにおけるアプリケーション・プログラムは権限のあるパーティによって交換されることが可能である。本発明の固定の電源障害ハンドラを構成するソフトウエア・コンポーネントもＩＣＣにロード可能であるが、本発明によるハードウエアが存在することが必要である。
【００４３】
ＩＣＣが再びパワーアップされる場合、あたかも中断が生じなかったかのようにＩＣＣがオペレーションを再開することができるように、数ステップが実行される。図３には、それぞれのプロセス・ステップが実行される。電力が再び使用可能になる場合（ボックス４０）、ＰＦビットがセットされているかどうかを決定するためにチェックが行われる（ボックス４１）。電源障害が生じた場合、このビットがセットされ、電源障害前の状態が再確立される。これは、不揮発性メモリの内容をそれらのオリジナル・メモリ・ロケーションにコピー又は転送することによって行われる（ボックス４２）。即ち、ＲＡＭにおける前者の内容が不揮発性メモリから読み出され、ＲＡＭに書き込まれる。すべてのレジスタ情報が保存されてしまった場合、この情報もレジスタに書き戻される。一旦これが行われると、正規のオペレーションが再開可能である（ボックス４３）。ＩＣＣの使用中に電源障害が生じなかった場合、即ち、ＰＦビットがセットされてない場合、本発明によるＩＣＣは通常のように動作を開始する（ボックス４４）。
【００４４】
ＩＣＣ上で走っているアプリケーションに関する限り、アプリケーション・プログラム開発者が電源障害を全く考慮しなかった場合のいくつかのシナリオがあり得る。ほとんどの場合、本発明を使用する時、次のパワーアップ時に又は電源障害が終了すると直ちに計算が再開されるので、これはこれ以上問題にならない。しかし、アプリケーションが保留のＩ／Ｏオペレーションを有する場合、再接続後に新しい外部環境が見つかることがある時には、恐らくこれらはタイム・アウトするであろう。これは、たとえ電源障害が問題なかったとしても、如何なる場合でもアプリケーションが考慮しなければならないコミュニケーション・エラーである。今や、例えば、明示的な例外通知によって、電源障害をアプリケーションに知らせることが可能である。従って、アプリケーションは、長く走るかもしれないオペレーションを打ち切らずにショートカットすることによって反応することができる。今や、トランザクションは、電源障害を最早保護する必要がないけれども、依然として、それらは、必要な場合にそれらが適切なアクションを取ることを可能にするためにこの事態をアプリケーションに通知するために使用可能である。
【００４５】
或るＩＣＣは、外部クロック信号がカード端末によって供給されることを必要とする。そのようなＩＣＣがその端末から取り出されるのが早過ぎる場合、又はその端末の電源がダウンしている場合、その電源は中断されるのみならず、その後はＩＣＣはクロック信号を得ることができない。これは、ＩＣＣがクロック信号なしで駆動される回路を含む場合、不定形式状態のような問題を導くことがある。以下では、本発明の第２実施例を説明する。第２実施例の障害保護手段は、クロック信号を供給する特別の手段より成る。この実施例を図４に関連して概説することにする。
【００４６】
ＩＣＣ５０は、ＩＳＯ標準７８１６によって定義されるように構成された代表的な電源結合手段５２より成る。接点パッド５７（ＧＮＲ）及び５８（Ｖcc）によって外部電力がＩＣＣ５０に加えられる。外部電力は、揮発性メモリ１４及び他のコンポーネントに接続された電力線２０及び２１に印加され正規電圧及び／又は待機電圧を供給する。障害保護手段は、キャパシタ１５（同様の複数のキャパシタが並列に配列されたものでもよい）、クロック発生器５１、及びカスタム電源障害回路５３を含む。図４に示されるように、この電源障害回路５３は、それがＩＣＣ５０の所定のコンポーネントとコミュニケートできるように内部バス１９に接続されてもよい。電源障害検出器１６は、電源障害が生じたことを電源障害回路５３に信号する。この目的のために、電源障害回路５３及び電源障害検出器１６は信号線２２によって相互接続される。ＩＣＣ５０は、図２及び図３に示されたステップをソフトウエア・コンポーネントからなる電源障害ハンドラにより実行されるのではなく、カストマ電源障害回路５３によって制御されることを除けば、ＩＣＣ３０と同様に動作する。
【００４７】
このような電源障害回路を実現するための種々の方法が存在する。キャパシタを除けば、適切なソフトウエア・コンポーネントと共に既製のコンポーネント（例えば、プロセッサ及び不揮発性メモリ）又は別個のハードウエアを使用することが可能である。ＡＳＩＣ（application specific integrated circuits、即ち、特定用途向け集積回路）がＩＣＣカード上に組み込み可能であれば、それが十分に適している。
【００４８】
本発明のＩＣＣは、ＩＣＣのためのソフトウエアの必要な開発努力をかなり少なくするのに加えて、２つの更なる利点を有する。いくつかの本質的に不揮発性のメモリ・エリアをＲＡＭスペースと関連づけることによって、それぞれの使用されるＲＡＭ内容が電源障害の場合に不揮発性メモリに保存されることを保証されるので、通常は永続的記憶装置上で動作するメモリ・インテンシブなアプリケーションの速度をかなり上げることができる。この種の効率の向上は、一般的なＩＣＣ及びそれが実行するアプリケーションに対してかなりの競争上の有効性を提供することができる。
【００４９】
第２に、キャパシタを必要以上に大きくすることによって、ＲＡＭ及びレジスタの内容が永続的メモリに書き込まれた後でも、何らかの電流が保持されることがあり得る。この電流は、本願と同じ日に出願され且つ本願の譲受人に譲渡された「集積回路カードに含まれたセンシティブな情報の保護（PROTECTION OF SENSITIVE INFORMATION CONTAINED IN INTEGRATED CIRCUIT CARDS）」と題した未決の米国特許出願において扱われているようなセキュリティ機構を提供するために使用可能である。
【００５０】
電源結合手段は、外部電力がＩＣＣに供給されることを可能にする。一般的な接点パッド（ポート）又は無接点の電源結合手段が使用可能である。接点パッドが使用される場合、ＩＣＣがカード端末に入れられる時、そのカード端末の電源がこれらのパッドに接続される。無接点電源の場合、誘導性のループがカード端末の電源によって確立されることを可能にするように電源結合手段が設計される。この場合、低周波の電磁放射変換によって、電力がその集積回路カード供給される。
【００５１】
電源障害事象を制御ステーション又はオペレータ・コンソールのような他のシステムに報告することを可能にするフィーチャを加えることによって、カード端末を改良することが可能である。その事象報告フィーチャは、ダウン問題を追跡するために、事象を監視するために、及び記録保持を目的として使用されることも可能である。ＩＣＣの電源障害検出器（例えば、図１における検出器１６）は、本発明によれば、電源障害をＩＣＣの障害保護手段に報告する。或る改良されたカード端末は、電源障害がＩＣＣの電源障害検出器によって検出された場合にそのＩＣＣから入力を受け取る事象報告手段を含む。これは、それぞれの信号がＩＣＣポートの１つにおいて得られるようにされること、又は障害の場合にセットされるＰＦビットをカード端末が読み出すことを可能にされることで実現可能である。カード端末は、標準的な事象報告プロトコルを使用して又は特別に設計された手段によって電源障害を報告することができる。
【００５２】
本発明と関連して説明されたＩＣＣ及び本発明のコンポーネントを加えることによって改良された他のＩＣＣは、多くの種々の目的で及び種々のアプリケーションと関連して使用されることも可能である。
【００５３】
電源障害に関しては種々の理由が存在するが、そのうちの幾つかを上で説明した。
【００５４】
たとえ、ＩＣＣを完全に閉じ込め且つ連動ラッチによってそれを確保するという「安全な」カード端末と関連してそのＩＣＣが使用されたとしても、電源障害は生じ得るものである。これは、例えば、端末の電源がダウンする場合、又は電源プラグが抜かれる場合である。すべての想定し得る電源障害状況において、本発明のＩＣＣは、情報が安全に永続的メモリに書き込まれることを可能にする。インプリメンテーション及び使用し得る資源次第で、すべての情報を揮発的メモリから永続的メモリに転送するように決めてしまってもよいし、或いはクリティカルな情報だけを転送してもよい。
【００５５】
本発明は、一般的なＩＣＣが必須のコンポーネントをハードウエアとして又はハードウエア及びソフトウエアの組み合わせとして単に統合することによって修正されることを可能にする。本発明は、電源障害後に回復を必要とする種々のアプリケーションを使用可能にする。
【００５６】
上記のフィーチャ及びコンポーネントに加えて、ＩＣＣは、フォト・イメージ、ミニ・ディスプレイ、キーボード等を含むことも可能である。将来、ＩＣＣは無線通信のための手段を含むことも可能であろう。
【図面の簡単な説明】
【図１】  本発明による第１実施例の概略的な平面図である。
【図２】  電源遮断が生じた場合、本発明に従って、システムにおいて実行されるプロセス・ステップを説明するために使用される概略的な流れ図である。
【図３】  電源が再び使用可能になった場合、本発明に従って、システムにおいて実行されるプロセス・ステップを説明するために使用される概略的な流れ図である。
【図４】  本発明による第２実施例の概略的な平面図である。
【符号の説明】
１０    集積回路カード
１５    キャパシタ
１６    電源障害検出器
１７    ポート（接地）
１８    ポート（正電圧）
１９    内部バス
【図１】
0003639533.tif 000002
【図２】
0003639533.tif 000003
【図３】
0003639533.tif 000004
【図４】
0003639533.tif 000005