(57)【特許請求の範囲】
【請求項１】
ＣＰＵとこのＣＰＵによってアクセスされるＲＡＭおよびＥＥＰＲＯＭとを内蔵し、外部装置からリセット信号を与えると、ＣＰＵが所定のメモリチェックルーチンを実行した後に外部装置に対してリセット応答信号を送信し、外部装置から所定のコマンドを与えると、ＣＰＵがこのコマンド処理ルーチンを実行した後に外部装置に対して所定のレスポンスを送信する機能をもった情報記録媒体において、
前記ＣＰＵが、前記リセット信号を受信した後、前記ＲＡＭに対するメモリチェックルーチンを実行した後に前記リセット応答信号の送信を開始する処理を行い、その後、前記ＥＥＰＲＯＭに対するメモリチェックルーチンを実行するように構成したことを特徴とするメモリチェック機能をもった情報記録媒体。
【請求項２】
請求項１に記載の情報記録媒体において、
リセット応答信号を１バイト単位で送信するようにし、所定の１バイトの送信を行った後に、後続する次の１バイトの送信を行うまでの空き時間に、ＥＥＰＲＯＭに対するメモリチェックルーチンを実行するようにしたことを特徴とするメモリチェック機能をもった情報記録媒体。
【請求項３】
請求項１または２に記載の情報記録媒体において、
ＣＰＵが、メモリチェックルーチンによるチェック結果を内蔵メモリの所定領域に記録し、外部装置から最初のコマンドを受信したときには、前記チェック結果が正常を示すものか、あるいは異常を示すものかを判断し、正常を示すものである場合には前記最初のコマンドについてのコマンド処理ルーチンを実行して所定のレスポンスを送信し、異常を示すものである場合には異常を示すエラーレスポンスを前記最初のコマンドに対する所定のレスポンスの代わりに送信することを特徴とするメモリチェック機能をもった情報記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、メモリチェック機能をもった情報記録媒体、特に、ＲＡＭなどの内蔵メモリに対するチェックを、内蔵ＣＰＵによって実行する機能をもったＩＣカードなどの情報記録媒体に関する。
【０００２】
【従来の技術】
ＩＣカードに代表される携帯可能な情報記録媒体は、種々の分野に広く適用できる製品として注目を集めている。特に、ＣＰＵを内蔵したＩＣカードは、高度なセキュリティを実現できるため、重要なデータを記録する分野における実用化が図られている。現在普及している一般的なＣＰＵ内蔵型のＩＣカードは、ＲＯＭ，ＲＡＭ，ＥＥＰＲＯＭの３種類のメモリを内蔵している。ＲＯＭには、ＣＰＵが実行すべきプログラムが予め書き込まれ、ＲＡＭは、このプログラム実行のためのワークエリアとして利用される。また、ＥＥＰＲＯＭには、このＩＣカードに記録すべきユーザデータが書き込まれることになる。各メモリに対するアクセスは、内蔵ＣＰＵによってのみ行われ、外部からの直接アクセスは禁止されている。したがって、ＩＣカード内に記録されたデータに対しては、高度なセキュリティが確保されることになる。ＩＣカード内のメモリに対するアクセスを含めて、内蔵ＣＰＵに何らかの作業を行わせる場合には、外部装置からＣＰＵに対して所定のコマンドが与える必要がある。内蔵ＣＰＵは、このコマンドを受信して、所定のコマンド処理ルーチン（通常は、ＲＯＭ内に格納されている）を実行し、実行結果をレスポンスとして外部装置へ送信する。
【０００３】
ＩＣカードをはじめとする携帯用の情報記録媒体は、財布やポケットなどに入れて携帯されるため、一般的な電子機器に比べて過酷な使用環境におかれることが多い。そのため、内蔵メモリに異常が生じる可能性も、一般的な電子機器に比べて高くなる。したがって、使用にあたっては定期的にメモリチェックを行うことが非常に重要である。
【０００４】
従来の一般的なＩＣカードでは、内蔵ＣＰＵのリセットルーチンにおいてメモリチェックを行っている。すなわち、ＩＣカードを外部装置に接続すると、外部装置からＩＣカードに対してリセット信号が与えられる。ＩＣカード内のＣＰＵは、このリセット信号にトリガーされて、所定のリセットルーチン（通常は、ＲＯＭ内に格納されている）を実行した後、リセット応答信号を外部装置に対して送信する。外部装置は、このリセット応答信号を受けてから、所定のコマンドをＩＣカードに送信することになる。以下、外部装置とＩＣカードとの間で、コマンド／レスポンスがやりとりされることになる。そこで、従来は、リセットルーチンの中で内蔵ＲＡＭなどに対するメモリチェックを行い、正常な場合にのみ、外部装置に対してリセット応答信号を送信するようにしている。外部装置は、リセット信号を与えたのに、リセット応答信号が戻ってこない場合には、ＩＣカード内部に何らかの異常が生じているものと認識することができる。
【０００５】
【発明が解決しようとする課題】
上述した従来の情報記録媒体におけるメモリチェック機能には、次のような問題がある。まず、第１の問題は、十分なメモリチェックを行うだけの時間的な余裕が確保できないという点である。ＩＣカードなどは、種々の製品の互換性を確保するために規格化が図られており、リセット信号を与えてからリセット応答信号が戻ってくるまでの時間を無制限に確保することはできない。したがって、リセット信号を受信した後、リセット応答信号の送信を開始するまでのリセットルーチンの間に、必要なメモリチェックを行おうとしても、十分な時間が確保できないため、実際には、メモリの一部についての簡単なチェックしかできないのが現状である。
【０００６】
また、第２の問題は、「リセット信号を与えたのに、リセット応答信号が戻ってこない」という事実により、外部装置としては、「ＩＣカード内部に何らかの異常が生じている」ということは認識できても、「内蔵メモリのどの部分に、どのような異常が生じているか」といった詳しい情報を得ることはできない。したがって、リセット応答信号が戻ってこない場合は、そのＩＣカードに対するアクセスを中断するしかなく、発生した異常の状態に応じた適切な対応策を採ることはできない。
【０００７】
そこで、本発明の第１の目的は、十分な時間をかけて十分なチェックを行う機能をもった情報記録媒体を提供することにあり、本発明の第２の目的は、チェックの結果として異常が検出されたら、外部装置に対してこの異常内容を報知する機能をもった情報記録媒体を提供することにある。
【０００８】
【課題を解決するための手段】
(1)   本発明の第１の態様は、ＣＰＵとこのＣＰＵによってアクセスされるＲＡＭおよびＥＥＰＲＯＭとを内蔵し、外部装置からリセット信号を与えると、ＣＰＵが所定のメモリチェックルーチンを実行した後に外部装置に対してリセット応答信号を送信し、外部装置から所定のコマンドを与えると、ＣＰＵがこのコマンド処理ルーチンを実行した後に外部装置に対して所定のレスポンスを送信する機能をもった情報記録媒体において、
ＣＰＵが、リセット信号を受信した後、ＲＡＭに対するメモリチェックルーチンを実行した後にリセット応答信号の送信を開始する処理を行い、その後、ＥＥＰＲＯＭに対するメモリチェックルーチンを実行するように構成したものである。
【０００９】
(2)   本発明の第２の態様は、上述の第１の態様に係る情報記録媒体において、
リセット応答信号を１バイト単位で送信するようにし、所定の１バイトの送信を行った後に、後続する次の１バイトの送信を行うまでの空き時間に、ＥＥＰＲＯＭに対するメモリチェックルーチンを実行するようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述の第１または第２の態様に係る情報記録媒体において、
ＣＰＵが、メモリチェックルーチンによるチェック結果を内蔵メモリの所定領域に記録し、外部装置から最初のコマンドを受信したときには、チェック結果が正常を示すものか、あるいは異常を示すものかを判断し、正常を示すものである場合には最初のコマンドについてのコマンド処理ルーチンを実行して所定のレスポンスを送信し、異常を示すものである場合には異常を示すエラーレスポンスを最初のコマンドに対する所定のレスポンスの代わりに送信するようにしたものである。
【００１１】
【作  用】
本発明に係る情報記録媒体では、内蔵ＣＰＵは、従来のメモリチェックルーチンにおいてメモリチェック作業を行うとともに、リセット応答信号の送信中にも所定のメモリに対するチェック作業を行う。通常、リセット応答信号は、数バイトの情報から構成されており、外部装置に対する１バイト分の情報転送速度は、ＣＰＵのマシンサイクルに比べてかなり長いものとなる。したがって、リセット応答信号の各バイトを送信する間の空き時間を利用して、メモリチェックを行えば、従来に比べてより長い時間をメモリチェックにあてることが可能になる。
【００１２】
また、本発明に係る情報記録媒体では、メモリチェックの結果、何ら異常が検出されなかったときには、最初のコマンドに対して正規のレスポンスを送信するが、何らかの異常が検出されたときには、最初のコマンドに対して、正規のレスポンスの代わりに、検出された異常を示すエラーレスポンスが送信される。したがって、外部装置は、このエラーレスポンスによって、発生した異常内容を認識することができるようになる。
【００１３】
【実施例】
以下、本発明を図示する実施例に基づいて説明する。図１は、ＣＰＵ内蔵型の一般的なＩＣカード１０を、外部装置２０（リーダライタ装置）に接続した状態を示すブロック図である。ＩＣカード１０には、ＣＰＵ１１の他に、ＲＯＭ１２，ＲＡＭ１３，ＥＥＰＲＯＭ１４なる３種類のメモリが内蔵されており、これらのメモリは、いずれもＣＰＵ１１によってアクセスされる。ＩＣカード１０は、電源やクロック発生源を内蔵しておらず、外部装置２０から供給される電源およびクロックを用いて動作する。すなわち、図示のように、ＩＣカード１０と外部装置２０との間には、電源ラインＶｃｃ，クロックラインＣＬＫ，リセットラインＲＳＴ，入出力ラインＩ／Ｏ，接地ラインＧＮＤが接続されている。電源は電源ラインＶｃｃおよび接地ラインＧＮＤによって、クロックはクロックラインＣＬＫによって、それぞれ外部装置２０からＩＣカード１０に供給される。また、リセットラインＲＳＴによって、外部装置２０からＣＰＵ１１に対してリセット信号が与えられる。ＩＣカード１０および外部装置２０相互間のコマンドやデータ伝送は、入出力ラインＩ／Ｏを介して行われる。
【００１４】
ＲＯＭ１２内には、ＣＰＵ１１が実行すべきプログラムが格納されている。ＲＡＭ１３は、主として、このプログラムを実行する上でのワーク領域および外部装置２０との間の送受信バッファ領域として利用される。ＥＥＰＲＯＭ１４は、情報記録媒体としての本来の機能を果たすメモリであり、ここには、用途に応じたユーザデータが記録される。これらの各メモリに対するアクセスは、すべてＣＰＵ１１によって行われ、外部から直接アクセスすることはできない。ＣＰＵ１１に何らかの作業を行わせる場合には、外部装置２０から入出力ラインＩ／Ｏを通じて、ＣＰＵ１１に所定のコマンドを与えればよい。ＣＰＵ１１は、与えられたコマンドに応じて、ＲＯＭ１２内に用意された所定ルーチンを実行し、実行後に何らかのレスポンスを、入出力ラインＩ／Ｏを通じて外部装置２０に送信することになる。
【００１５】
たとえば、ＥＥＰＲＯＭ１４内に所定のデータを書込む場合には、外部装置２０からＣＰＵ１１に対して、書込アドレスや書込対象データを含んだ書込コマンドを送信する。ＣＰＵ１１は、この書込コマンドに応じた書込処理を実行し、これを検証した後、正しく書込みが行われたか否かを示すレスポンスを外部装置２０に対して送信することになる。
【００１６】
前述したように、ＩＣカード１０は、外部装置２０から供給される電源およびクロックを用いて動作する。ＩＣカード１０を外部装置２０に接続すると、電源ラインＶｃｃおよび接地ラインＧＮＤを通じて電源が供給され、クロックラインＣＬＫを通じてクロックが供給される。また、リセットラインＲＳＴを通じてリセット信号が供給される。ＣＰＵ１１は、このリセット信号を受信すると、ＲＯＭ１２内に格納されている所定のメモリチェックルーチンに従ってメモリチェックを行い、異常がなければ、リセット応答信号（Ａｎｓｗｅｒ  Ｔｏ  Ｒｅｓｅｔ  ）を入出力ラインＩ／Ｏを通じて外部装置２０に送信する。
【００１７】
図２は、従来の一般的なメモリチェック機能をもったＩＣカードにおけるリセット後の処理動作を示す流れ図である。この処理動作を行うためのプログラムは、ＲＯＭ１２内に格納されている。この処理動作は、外部装置２０からリセットラインＲＳＴを通じて与えられたリセット信号を受信することによりスタートする。まず、ステップＳ１においてメモリチェックが行われ、このメモリチェックにより異常が発見されないと、ステップＳ２からステップＳ３へ進み、入出力ラインＩ／Ｏを通じて外部装置２０に対してリセット応答信号を送信する。外部装置２０側では、このリセット応答信号を受けることにより、ＩＣカード１０側の準備が整ったものと判断し、入出力ラインＩ／Ｏを通じて所定のコマンドをＣＰＵ１１に与える。ＣＰＵ１１は、ステップＳ４において、このコマンドを受信し、以下、受信したコマンドに応じた処理を行うことになる。なお、メモリチェックにより異常が発見されると、ステップＳ２からステップＳ５へと進み、無応答の状態で処理が中断される。外部装置２０は、リセット信号に対する応答が得られないので、ＩＣカード１０内において何らかの異常が発生したものと認識し、アクセスを中断することになる。
【００１８】
しかしながら、既に述べたように、このような従来のＩＣカードには、次のような問題がある。第１の問題は、十分なメモリチェックを行うだけの時間的な余裕が確保できないという点である。図２の処理動作において、ステップＳ１のメモリチェックは、リセット信号を受信した後、ステップＳ３においてリセット応答信号を送信するまでの所定時間内に行う必要があるが、ＩＣカードの規格上、この所定時間には制限がある。このため、メモリチェックのために十分な時間を確保することができず、たとえば、ＲＡＭ１３についてのチェックのみしか行えない、というような制約が課されることになる。また、第２の問題は、メモリチェックの結果、異常が発見された場合には、ステップＳ５において無応答の状態になってしまうため、「リセット信号を与えたのに、リセット応答信号が戻ってこない」という事実により、外部装置２０としては、「ＩＣカード１０内部に何らかの異常が生じている」という情報しか得ることができない点である。
【００１９】
本発明は、このような従来の問題を解決するためのものである。本発明に係るＩＣカードでは、リセット信号を受信したときに、ＣＰＵ１１は図３に示すような処理動作を実行することになる。別言すれば、ＲＯＭ１２内には、図３に示す処理動作を行うためのプログラムが格納されていることになる。
【００２０】
外部装置２０からリセットラインＲＳＴを通じてリセット信号が与えられると、まず、ステップＳ１１においてメモリチェックが行われる。この実施例では、この段階でＲＡＭ１３の全領域に対するメモリチェックを行っている。ＲＡＭに対するメモリチェックの方法としては、種々の方法が知られているが、この実施例では、電荷保持特性を確認できるように、１６進データ「００」と「ＦＦ」、あるいは「ＡＡ」と「５５」、のように、ビットの組み合わせが対称的なテストデータパターンを各アドレスに書込み、これを読出すテストを行っている。
【００２１】
続くステップＳ１２において、ＲＡＭ１３に対するメモリチェックの結果を判断し、もし何らかの異常が生じていた場合には、ステップＳ１３において、ＲＡＭ１３内の所定領域に、メモリ異常フラグをセットする。このとき、ＲＡＭ１３のどのアドレスに異常が生じているかを示すエラー情報もＲＡＭ１３内に書込むようにする。もちろん、メモリ異常フラグやエラー情報の書込みは、チェックにより正常と判断された領域に行うようにする。ＲＡＭ１３に何ら異常が生じていない場合には、ステップＳ１３の処理は行われない。
【００２２】
こうして、ＲＡＭ１３についてのメモリチェックが完了したら、ステップＳ１４においてカード初期化が行われる。これは、たとえばＲＡＭ１３内に所定の初期値をもったパラメータを設定したり、所定のアドレス値を設定したりして、ＩＣカード１０を外部装置２０によってアクセスするための環境を整える処理である。
【００２３】
こうして、ＩＣカード１０側のアクセス環境が整ったら、ステップＳ１５において、リセット応答信号の第１バイトの送信を行う。通常、リセット応答信号は、数バイトのデータから構成されているが、そのうちの第１バイトの送信だけを行うことになる。図１には示されていないが、入出力ラインＩ／ＯのＩＣカード１０側および外部装置２０側には、それぞれインターフェイス回路が設けられており、入出力ラインＩ／Ｏを通じてのデータ転送は、このインターフェイス回路の動作によって行われる。ところが、入出力ラインＩ／Ｏを介してのデータ転送速度は、ＣＰＵ１１のマシンサイクルに比べてかなり遅いため、ステップＳ１５においてＣＰＵ１１がインターフェイス回路に対して１バイトのデータ送信を指示した後、実際に、この１バイトのデータ転送が完了するまでの間に、ＣＰＵ１１は別な処理を行う時間的余裕がある。以下のステップＳ１６〜Ｓ１８の処理は、この余裕時間を利用して行う処理である。
【００２４】
まず、ステップＳ１６において、ＥＥＰＲＯＭ１４の全領域に対するメモリチェックを行う。ＥＥＰＲＯＭ１４に対するメモリチェックの方法としては、上述したＲＡＭ１３に対するメモリチェックと同様に、電荷保持特性の確認のための書込み／読出しを行う方法を行ってもよいが、一般に、ＥＥＰＲＯＭに対する書込み処理は比較的時間を要する処理であるので、この実施例では、所定領域からのデータ読出しを行うことにより、ＥＥＰＲＯＭ１４に対するメモリチェックを行っている。たとえば、ＥＥＰＲＯＭ１４内の所定領域に、何らかのシステムデータが格納されているのであれば、このシステムデータを読出して、整合性のチェックを行えばよい。続くステップＳ１７では、このＥＥＰＲＯＭ１４に対するメモリチェックの結果を判断し、もし何らかの異常が生じていた場合には、ステップＳ１８において、ＲＡＭ１３内の所定領域に、メモリ異常フラグをセットする。このメモリ異常フラグは、ステップＳ１３においてセットしたフラグと同一のものであっても、別のものであってもかまわない。また、ＥＥＰＲＯＭ１４にどのような異常が生じているかを示すエラー情報もＲＡＭ１３内に書込むようにするとよい。ＥＥＰＲＯＭ１４に何ら異常が生じていない場合には、ステップＳ１８の処理は行われない。
【００２５】
こうして、ＥＥＰＲＯＭ１４についてのメモリチェックが完了したら、ステップＳ１９において、リセット応答信号の残りバイトの送信を行う。たとえば、リセット応答信号が８バイトから構成される場合には、このステップＳ１９において、２バイト目〜８バイト目までの送信が行われる。なお、この実施例では、この２バイト目〜８バイト目の送信処理中には、メモリチェック処理を行っていないが、前述したように、入出力ラインＩ／Ｏを介してのデータ転送速度は、ＣＰＵ１１のマシンサイクルに比べてかなり遅いため、２バイト目〜８バイト目の送信処理中の余裕時間を用いて、メモリチェック処理を行うことも可能である。要するに、本発明の特徴は、リセット応答信号の送信中の余裕時間を用いてメモリチェックを行うようにした点にあり、リセット応答信号の送信中であれば、どのタイミングを用いてメモリチェックを行ってもかまわない。
【００２６】
こうして、リセット応答信号の送信が完了すると、外部装置２０は、ＩＣカード１０の準備が整ったことを認識する。そして、入出力ラインＩ／Ｏを通じて所定のコマンドが送られてくる。ＣＰＵ１１は、ステップＳ２０において、第１コマンドを受信すると、ステップＳ２１において、ＲＡＭ１３内のメモリ異常フラグがセットされているか否かを判断する。メモリ異常フラグがセットされていなければ、ステップＳ１１，Ｓ１６のメモリチェックで異常は発見されなかったことを示しているので、ステップＳ２２において、通常どおり、与えられた第１コマンドに対する処理を行い、その処理結果を第１レスポンスとして、入出力ラインＩ／Ｏを通じて外部装置２０へ送信する。
【００２７】
一方、メモリ異常フラグがセットされていた場合には、ステップＳ２３において、メモリチェック異常を示すエラーレスポンスを、第１レスポンスの代わりに、入出力ラインＩ／Ｏを通じて外部装置２０へ送信する。このエラーレスポンスは、何らかのメモリ異常があったことだけを示すものであってもよいが、どのメモリ領域にどのような異常があったかを示す情報をもたせるのが好ましい。上述のように、ステップＳ１１，Ｓ１６のメモリチェックで異常が発見された場合に、どのメモリ領域にどのような異常が生じているかを示すエラー情報をＲＡＭ１３内に書込んでおくようにすれば、このエラー情報に基づいて、種々のエラーレスポンスを送信することが可能である。エラーレスポンスのフォーマットを、コマンドに対する通常のレスポンスとは識別し得るように定義しておけば、外部装置２０は、第１コマンドに対して、通常のレスポンスの代わりにエラーレスポンスが得られたことを認識できる。
【００２８】
こうして、第１コマンドに対して、第１レスポンスもしくはエラーレスポンスを送信したら、ステップＳ２４において、外部装置２０側から与えられる第２コマンドを受信する。以下、この第２コマンドの内容に応じた処理が実行され、必要に応じて、更に第３コマンド、第４コマンド、…に対する処理が続行される。
【００２９】
エラーレスポンスとして、どのメモリのどの領域にどのような異常が生じているかを示す情報を付与しておけば、外部装置２０側では、異常の状態に応じた処置を講じることができる。たとえば、以後のアクセスが困難なような重大なメモリ異常が発生している場合には、第２コマンドとして、アクセスを終了する旨のコマンドをＣＰＵ１１に与えることにより、アクセスを中断することができるであろうし、ＥＥＰＲＯＭ１４の特定の領域にのみ異常が生じているのであれば、この異常領域に対しての書込み／読出しを行わないような態様で、第２コマンド以下のアクセスを行うこともできる。あるいは、異常箇所を更に特定するためのテストを行うコマンドを与えることもできる。
【００３０】
このように、本発明に係るＩＣカードによれば、従来のＩＣカードに比べてメモリチェックのための時間を十分に確保することができ、しかも、異常が生じていた場合には、その異常の内容を、第１コマンドに対するレスポンスの代わりに得ることができる。
【００３１】
以上、本発明を図示する実施例に基づいて説明したが、本発明はこの実施例に限定されるものではなく、この他にも種々の態様で実施可能である。特に、図３に示した流れ図は、本発明の一態様を示すものであり、必ずしもこのような順番による処理を必要とするものではない。また、上述の実施例では、ＩＣカードを例にとって説明したが、本発明はＩＣカード以外の情報記録媒体にも広く適用しうるものである。
【００３２】
【発明の効果】
以上のとおり本発明に係る情報記録媒体によれば、リセット応答信号の送信中にもメモリチェックを行うようにしたため、十分な時間をかけて十分なチェックを行うことが可能になる。また、チェックにより検出された異常の内容を、第１コマンドに対するレスポンスの代わりにエラーレスポンスとして送信するようにしたため、外部装置に対してこの異常内容を報知することが可能になる。
【図面の簡単な説明】
【図１】ＣＰＵ内蔵型の一般的なＩＣカード１０を、外部装置２０（リーダライタ装置）に接続した状態を示すブロック図である。
【図２】従来の一般的なＩＣカードにおいて実行されているメモリチェックの手順を示す流れ図である。
【図３】本発明の一実施例に係るＩＣカードにおいて実行されるメモリチェックの手順を示す流れ図である。
【符号の説明】
１０…ＩＣカード
１１…ＣＰＵ
１２…ＲＯＭ
１３…ＲＡＭ
１４…ＥＥＰＲＯＭ
２０…外部装置
【図１】
0003625879.tif 000002
【図２】
0003625879.tif 000003
【図３】
0003625879.tif 000004