(57)【要約】【課題】  テスト性能を向上させたスマートカード用の集積回路及びそれに関連する方法を提供する。【解決手段】  本発明によれば、スマートカード用の集積回路が、ホスト装置と通信をするトランシーバ、及び少なくとも１個のテスト操作を実施するためのジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器を包含している。更に、該集積回路は、又、該トランシーバを介してホスト装置から少なくとも１個のテスト要求を受取ることに基づいて、該ＪＴＡＧテスト制御器をして該少なくとも１個のテスト動作を開始させるプロセッサを包含することが可能である。より詳細には、該プロセッサは、該少なくとも１個のテスト要求を該ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換することが可能である。即ち、本集積回路は、典型的にＪＴＡＧ制御器へアクセスするために必要とされる専用のＪＴＡＧテストアクセスポート（ＴＡＰ）に対する必要性無しに、システムバスを介してホスト装置とＪＴＡＧ制御器との間で通信を行うことを可能とする。【選択図】      図１
2005004765.tif 000002
【特許請求の範囲】
【請求項１】
スマートカード用の集積回路において、
ホスト装置と通信を行うトランシーバ、
少なくとも１個のテスト動作を実施するジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器、
前記トランシーバを介して前記ホスト装置から少なくとも１個のテスト要求を受取ることに基づいて前記ＪＴＡＧテスト制御器をして少なくとも１個のテスト動作を開始させるプロセッサ、
を有していることを特徴とする集積回路。
【請求項２】
請求項１において、前記プロセッサが、前記少なくとも１個のテスト要求を前記ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換することを特徴とする集積回路。
【請求項３】
請求項１において、前記少なくとも１個のテスト動作がバウンダリースキャンテストを有していることを特徴とする集積回路。
【請求項４】
請求項１において、前記少なくとも１個のテスト動作がシリアルシフトループスキャンテストを有していることを特徴とする集積回路。
【請求項５】
請求項１において、前記少なくとも１個のテスト動作がビルトインセルフテストを有していることを特徴とする集積回路。
【請求項６】
請求項１において、更に、前記テスト制御器へ接続されている少なくとも１個のレジスタを有しており、前記少なくとも１個のテスト動作が前記少なくとも１個のレジスタからデータを読取り且つそれへデータを書込むことの少なくとも１つを有していることを特徴とする集積回路。
【請求項７】
請求項１において、前記少なくとも１個のテスト動作が電流漏洩テストを有していることを特徴とする集積回路。
【請求項８】
請求項１において、前記少なくとも１個のテスト動作が少なくとも１個の自動化テストパターンを発生することを包含していることを特徴とする集積回路。
【請求項９】
請求項１において、前記プロセッサが、前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させる前に、前記少なくとも１個のテスト要求を認証することを特徴とする集積回路。
【請求項１０】
請求項１において、更に、前記ＪＴＡＧテスト制御器に対して基準クロック信号を供給するクロック回路を有していることを特徴とする集積回路。
【請求項１１】
請求項１において、前記少なくとも１個のテスト要求が少なくとも１個のテストベンダー特定要求（ＶＳＲ）を有していることを特徴とする集積回路。
【請求項１２】
請求項１において、前記トランシーバがユニバーサルシリアルバス（ＵＳＢ）トランシーバを有しており、且つ前記プロセッサがＵＳＢモードにおいて動作することを特徴とする集積回路。
【請求項１３】
スマートカードにおいて、
スマートカード本体、
前記スマートカード本体により担持されている集積回路、
を有しており、前記集積回路が、
ホスト装置と通信を行うトランシーバ、
少なくとも１個のテスト動作を実施するためのジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器、
前記トランシーバを介して前記ホスト装置から少なくとも１個のテスト要求を受取ることに基づいて前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させるプロセッサ、
を有していることを特徴とするスマートカード。
【請求項１４】
請求項１３において、前記プロセッサが、前記少なくとも１個のテスト要求を前記ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換させることを特徴とするスマートカード。
【請求項１５】
請求項１３において、前記少なくとも１個のテスト要求がバウンダリースキャンテストを有していることを特徴とするスマートカード。
【請求項１６】
請求項１３において、前記少なくとも１個のテスト動作がシリアルシフトループスキャンテストを有していることを特徴とするスマートカード。
【請求項１７】
請求項１３において、前記少なくとも１個のテスト動作がビルトインセルフテストを有していることを特徴とするスマートカード。
【請求項１８】
請求項１３において、前記集積回路が、更に、前記テスト制御器へ接続されている少なくとも１個のレジスタを有しており、且つ前記少なくとも１個のテスト動作が、前記少なくとも１個のレジスタからデータを読取り且つそれへデータを書込むことの少なくとも１つを有していることを特徴とするスマートカード。
【請求項１９】
請求項１３において、前記少なくとも１個のテスト動作が電流漏洩テストを有していることを特徴とするスマートカード。
【請求項２０】
請求項１３において、前記少なくとも１個のテスト動作が少なくとも１個の自動化テストパターンを発生することを包含していることを特徴とするスマートカード。
【請求項２１】
請求項１３において、前記プロセッサが、前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させる前に、前記少なくとも１個のテスト要求を認証することを特徴とするスマートカード。
【請求項２２】
請求項１３において、前記集積回路が、更に、前記ＪＴＡＧテスト制御器に対して基準クロック信号を供給するクロック回路を有していることを特徴とするスマートカード。
【請求項２３】
請求項１３において、前記少なくとも１個のテスト要求が少なくとも１個のテストベンダー特定要求（ＶＳＲ）を有していることを特徴とするスマートカード。
【請求項２４】
請求項１３において、前記トランシーバがユニバーサルシリアルバス（ＵＳＢ）トランシーバを有しており、且つプロセッサがＵＳＢモードにおいて動作することを特徴とするスマートカード。
【請求項２５】
スマートカードシステムにおいて、
ホスト装置、
前記ホスト装置へ接続されているスマートカードアダプタ、
前記スマートカードアダプタにより読取られ且つスマートカード本体と前記スマートカード本体により担持される集積回路とを有しているスマートカード、
を有しており、前記集積回路が、
ホスト装置と通信を行うトランシーバ、
少なくとも１個のテスト動作を実施するジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器、
前記トランシーバを介して前記ホスト装置から少なくとも１個のテスト要求を受取ることに基づいて前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させるプロセッサ、
を有していることを特徴とするスマートカードシステム。
【請求項２６】
請求項２５において、前記プロセッサが、前記少なくとも１個のテスト要求を前記ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換することを特徴とするスマートカードシステム。
【請求項２７】
請求項２５において、前記少なくとも１個のテスト動作がバウンダリースキャンテストを有していることを特徴とするスマートカードシステム。
【請求項２８】
請求項２５において、前記少なくとも１個のテスト動作がシリアルシフトループスキャンテストを有していることを特徴とするスマートカードシステム。
【請求項２９】
請求項２５において、前記少なくとも１個のテスト動作がビルトインセルフテストを有していることを特徴とするスマートカードシステム。
【請求項３０】
請求項２５において、前記集積回路が、更に、前記テスト制御器へ接続されている少なくとも１個のレジスタを有しており、且つ前記少なくとも１個のテスト動作が、前記少なくとも１個のレジスタからのデータの読取及びそれへのデータの書込のうちの少なくとも１つを有していることを特徴とするスマートカードシステム。
【請求項３１】
請求項２５において、前記少なくとも１個のテスト動作が電流漏洩テストを有していることを特徴とするスマートカードシステム。
【請求項３２】
請求項２５において、前記少なくとも１個のテスト動作が少なくとも１個の自動化テストパターンを発生することを包含していることを特徴とするスマートカードシステム。
【請求項３３】
請求項２５において、前記プロセッサが、前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させる前に、前記少なくとも１個のテスト要求を認証することを特徴とするスマートカードシステム。
【請求項３４】
請求項２５において、前記集積回路が、更に、前記ＪＴＡＧテスト制御器に対して基準クロック信号を供給するクロック回路を有していることを特徴とするスマートカードシステム。
【請求項３５】
請求項２５において、前記少なくとも１個のテスト要求が少なくとも１個のテストベンダー特定要求（ＶＳＲ）を有していることを特徴とするスマートカードシステム。
【請求項３６】
請求項２５において、前記トランシーバがユニバーサルシリアルバス（ＵＳＢ）トランシーバを有しており、且つ前記プロセッサがＵＳＢモードにおいて動作することを特徴とするスマートカードシステム。
【請求項３７】
ジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器を有するスマートカード用の集積回路をテストする方法において、
ホスト装置から少なくとも１個のテスト要求を受取り、
前記少なくとも１個のテスト要求に応答して、ＪＴＡＧテスト制御器をして少なくとも１個のテスト動作を開始させる、
ことを特徴とする方法。
【請求項３８】
請求項３７において、更に、前記少なくとも１個のテスト要求を前記ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換させることを特徴とする方法。
【請求項３９】
請求項３７において、前記少なくとも１個のテスト動作がバウンダリースキャンテストを有していることを特徴とする方法。
【請求項４０】
請求項３７において、前記少なくとも１個のテスト動作がシリアルシフトループスキャンテストを有していることを特徴とする方法。
【請求項４１】
請求項３７において、前記少なくとも１個のテスト動作がビルトインセルフテストを有していることを特徴とする方法。
【請求項４２】
請求項３７において、前記集積回路が、更に、前記テスト制御器へ接続されている少なくとも１個のレジスタを有しており、且つ前記少なくとも１個のテスト動作が前記少なくとも１個のレジスタからのデータの読取及びそれへのデータの書込のうちの少なくとも１つを有していることを特徴とする方法。
【請求項４３】
請求項３７において、前記少なくとも１個のテスト動作が電流漏洩テストを有していることを特徴とする方法。
【請求項４４】
請求項３７において、前記少なくとも１個のテスト動作が少なくとも１個の自動化テストパターンを発生することを包含していることを特徴とする方法。
【請求項４５】
請求項３７において、更に、前記ＪＴＡＧテスト制御器をして前記少なくとも１個のテスト動作を開始させる前に前記少なくとも１個のテスト要求を認証することを特徴とする方法。
【請求項４６】
請求項３７において、更に、前記ＪＴＡＧテスト制御器に対して基準クロック信号を供給することを特徴とする方法。
【請求項４７】
請求項３７において、前記少なくとも１個のテスト要求が少なくとも１個のテストベンダー特定要求（ＶＳＲ）を有していることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理及び格納の分野に関するものであって、更に詳細には、スマートカードシステム及び関連方法に関するものである。
【背景技術】
【０００２】
スマートカードは、セキュリティ及び個人識別アプリケーションにとってますますポピュラーなものとなっている。例えば、スマートカードは、現在、医学的記録、バンキング情報等のセンシティブデータ即ち機微データを格納するために使用されている。多分、それらの最も一般的な形態において、スマートカードは、寸法、形状及び厚さにおいてクレジットカードに類似するカード本体を有しており、且つそれらは、例えばプラスチック等の同様の物質から構成される場合がある。更に、標準のクレジットカードが行っているようにセンシティブ情報（例えば、口座番号、ユーザ識別等）を格納するために単純に磁気ストライプを有するのではなく、スマートカードは、通常、集積回路（ＩＣ）を包含している。このＩＣは、センシティブ情報等を格納するための非揮発性メモリを包含するばかりではなく、それは、又、この情報を処理し且つ例えばカード読取器を介してホスト装置と通信を行うマイクロプロセッサを包含している場合もある。従って、スマートカードは磁気ストライプカードよりもより多くの情報を格納することが可能であるばかりか、それは、又、より大きな機能性を有している。
【０００３】
スマートカード等の装置の動作及び通信を標準化するために種々のプロトコルが出現している。これらのうちの最も早いものの１つは国際標準化機構（ＩＳＯ）により開発されており且つＩＳＯ７８１６−Ｘプロトコルとして知られている。特に、このプロトコルはＩＳＯ文書、特に、ＩＳＯ７８１６−１（物理的特性）、ＩＳＯ７８１６−２（寸法及びコンタクトの位置）、ＩＳＯ７８１６−３（電子的信号及び送信プロトコル）、ＩＳＯ７８１６−１０（電子的信号及び同期的カード用のリセットに対する回答）、ＩＳＯ７８１６−１２（ＵＳＢインターフェース）に記載されており、尚、それらの全てを引用により本明細書に取込む。
【０００４】
更に、ユニバーサルシリアルバス（ＵＳＢ）アーキテクチャの人気が増加することに応答して、ＵＳＢプロトコルに従って動作するより多くの数のスマートカードが継続して開発されている。このプロトコルはユニバーサルシリアルバス仕様、改定２．０、２０００年４月２７日、ＵＳＢインプリメンターズフォーラム、インコーポレイテッド発行において記載されており、その全体を引用により本明細書に取込む。ＵＳＢアーキテクチャは、例えば、コンピュータ外部の装置に対して標準の「プラグアンドプレイ」インターフェースを与えるという点において、特に有益的である。即ち、外部周辺装置を比較的迅速且つ容易にインストールすることが可能であり且つコンピュータを開くか又はパワーダウンすることの必要性なしにコンピュータから取り外すことが可能である。
【０００５】
ＩＳＯ７８１６−Ｘ及びＵＳＢプロトコルはスマートカードシステムを開発するためのある基本的なツール及び規約を与えるものであるが、スマートカードの実現に対し未だに多くの実際的な問題が残存している。このような問題のうちの１つは、スマートカードＩＣ設計のテストである。即ち、マイクロプロセッサ及び非揮発性メモリに加えて、ホスト装置と通信を行い且つスマートカード動作を実施するためにスマートカードＩＣ内には、典型的に、その他の多数のコンポーネントが包含されている。例えば、これらの付加的なコンポーネントは、トランシーバ、送信バッファ、インターフェース回路、マイクロプロセッサ用のランダムアクセスメモリ（ＲＡＭ）、内部クロック、状態マシン等を包含することが可能である。従って、異なる動作条件下において又は異なるデータセットと共にこれらのコンポーネントの各々が意図した通りに動作することを確保するために比較的多数のテストを実施することが必要な場合がある。
【０００６】
多分、ＩＣコンポーネントの動作をテストするための最も一般的なアプローチは、製造段階で使用されるＩＣテスト装置を使用することである。このようなテスト装置は上述した回路コンポーネントの多くをテストすることが可能なものであるが、これらの装置は購入し且つ動作させるために数十万又は数百万ドルのコストがかかる場合がある。従って、典型的には、非常に限れた数のこのようなテスト装置を有することが実際的である。更に、製造された各ＩＣに対する上述したＩＣコンポーネントの殆ど又は全てをテストすることは、コスト的に採算が合わない場合がある。何故ならば、このことは、各ＩＣがテスター上において比較的長い時間滞在することを必要とするからである。このことは、生産を遅滞化させ、従ってコストを増加させる。そうであるから、基本的なコンポーネントが正しく動作していることを確保するために最小組の動作テストが定義される場合があるが、このことはその他の多くの機能がテストされないままとなることを意味する場合がある。
【０００７】
スマートカードＩＣのマイクロプロセッサにおいて存在する計算能力のために、あるテスト動作は、スマートカード内部で実施される場合がある。１例として、Ｍｏｎｔｇｏｍｅｒｙ  ｅｔ  ａｌ．の米国特許第６，１５７，９６６号は、ＩＳＯ７８１６タイプのスマートカードに関するものであり、それはスマートカードプログラムの開発を助けるためにカード上に存在するデバッグ用アプリケーションを使用する。このデバッグ用アプリケーションは、メモリテストに対するもののような内部状態及びランタイム情報を提供することが可能である。次いで、このテストからの結果が出力され且つそのテストを合格したメモリユニットの多数の行又は列を包含する場合がある。
【０００８】
上述したアプローチにより提供される進展にも拘わらず、スマートカードのテストにおける改良があるエリアにおいて必要とされている。このようなエリアの１つは、例えば、ＵＳＢスマートカードであり、それは継続して人気を博しており且つ更に増加する量製造することを必要とする蓋然性がある。
【０００９】
【特許文献１】米国特許第６，１５７，９６６号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、向上させたテスト特徴を有するスマートカード用の集積回路及びそれに関連する方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によれば、スマートカード用の集積回路が提供され、それはホスト装置と通信を行うトランシーバ及び少なくとも１個のテスト動作を実施するためのジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器を包含することが可能である。更に、該集積回路は、又、該トランシーバを介してホスト装置から少なくとも１個のテスト要求を受け取ることに基づいて該ＪＴＡＧテスト制御器をして該少なくとも１個のテスト動作を開始させるプロセッサを包含することが可能である。
【００１２】
より特定的には、該プロセッサは、該少なくとも１個のテスト要求をＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換することが可能である。即ち、本集積回路は、埋込型ＪＴＡＧ制御器へアクセスするために典型的に必要とされる専用の埋込型（即ち、内部に集積化された）ＪＴＡＧテストアクセスポート（ＴＡＰ）に対する必要性なしに、例えば、システムバスを介してホスト装置と埋込型ＪＴＡＧ制御器との間の通信を可能とさせる。スマートカード集積回路チップの寸法が比較的小さいものであるから、このようなＪＴＡＧポートをスマートカード上に設けることは多くの適用例において実際的でない場合がある。
【００１３】
本発明の１実施例によれば、本集積回路はＵＳＢトランシーバを包含することが可能であり、該プロセッサはＵＳＢモードで動作することが可能である。そうであるから、該少なくとも１個のテスト要求は、例えば、ＵＳＢ仕様により提供されるように、少なくとも１個のテストベンダー特定要求（ＶＳＲ）を使用して有益的に実現することが可能である。スマートカード適用例に関連してセキュリティ条件が向上したために、プロセッサは、又、ＪＴＡＧテスト制御器をして該少なくとも１個のテスト動作を開始させる前に、該少なくとも１個のテスト要求を認証することが可能である。
【００１４】
１例として、該少なくとも１個のテスト動作は、以下のうちの１つ又はそれ以上を包含することが可能である。即ち、バウンダリースキャンテスト、シリアルシフトループスキャンテスト、ビルトインセルフテスト（ＢＩＳＴ）、電流漏洩テスト（即ち、ＩDDQテスト）、及び少なくとも１個の自動化テストパターンの発生等である。更に、本集積回路は、更に、テスト制御器へ接続した少なくとも１個のレジスタを包含することが可能である。そうであるから、該少なくとも１個のテスト動作は、該少なくとも１個のレジスタからのデータの読取及びそれへのデータの書込のうちの少なくとも１つを包含することが可能である。更に、本集積回路は、又、ＪＴＡＧテスト制御器に対して基準クロック信号を供給するためのクロック回路を包含することが可能である。
【００１５】
本発明に基づくスマートカードは、スマートカード本体及び簡単に上述したものであってスマートカード本体により担持される集積回路を包含することが可能である。このようなスマートカードは、又、ホスト装置及びスマートカードを読取るために該ホスト装置で接続しているスマートカードアダプタを包含するスマートカードシステム内に包含させることも可能である。
【００１６】
本発明の方法の側面は、ジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器を包含するスマートカード用の集積回路をテストするためのものである。本方法は、ホスト装置から少なくとも１個のテスト要求を受取り、且つ、該少なくとも１個のテスト要求に応答して、ＪＴＡＧテスト制御器をして少なくとも１個のテスト動作を開始させる、ことを包含することが可能である。
【発明を実施するための最良の形態】
【００１７】
本発明を、本発明の好適実施例が示されている添付の図面を参照して以下に更に詳細に説明する。然しながら、本発明は、多くの異なる形態で実現することが可能であり、従って本明細書に記載する実施例に制限されるものとして解釈されるべきではない。そうではなく、これらの実施例は、本開示が完全なものであって且つ当業者に対して本発明の範囲を完全に伝達するために提供されるものである。尚、同様の参照番号は本明細書にわたって同様の要素を意味しており、且つダッシュ記号は変形実施例における同様の要素を表わすために使用されている。
【００１８】
最初に、図１を参照すると、本発明に基づくスマートカードシステム２０が、通信ポート２２を具備するホスト装置２１と、該通信ポートへ接続しているスマートカード読取器又はアダプタ２３と、該スマートカード読取器により読取られるべきスマートカード２４とを包含している。一般的に言えば、ホスト装置２１は何等かのタイプのコンピュータであり、それは、例えば、パソコン（ＰＣ）、ラップトップ等とすることが可能である。勿論、スマートカードシステムは多くの形態をとることが可能であり、従ってホスト装置２１は例えばケーブル又は衛星テレビ受信器／デコーダー、自動入出金装置（ＡＴＭ）又はその他のバンキング装置、ポイントオブセール（ＰＯＳ）装置（例えば、キャッシュレジスタ）、等の与えられたアプリケーションに依存してスマートカードとインターフェースを行うことが可能な任意の数のコンピュータ装置とすることが可能である。別の例はパーソナルデータアシスタント（ＰＤＡ）又はその他のＵＳＢ装置であって、それは、通常、ＵＳＢバスマスター（即ち、ホスト装置）に対するスレーブであるが、ＵＳＢオンザゴー（ＯＴＧ）モードにおいて使用される場合には、それ自身限定されたＵＳＢバスマスターとして動作することが可能である。
【００１９】
ＩＳＯ７８１６タイプスマートカードシステムの場合には、ポート２２はホスト装置２１（不図示）の内部バスへ接続されているシリアル通信ポートとすることが可能である。ＵＳＢタイプスマートカードシステムの場合には、ポート２２はＵＳＢポートであり、それも当業者により理解されるように、ホスト装置２１の内部バスへ接続されている。本発明のスマートカードシステム２０は、ＩＳＯ７８１６タイプシステム、ＵＳＢシステム、又は例えば、本願出願人に譲渡されているＦｒｕｈａｕｆ  ｅｔ  ａｌ．の米国特許第６，４３９，４６４号に記載されているシステムに類似した両方のモードで動作するデュアルモードシステムとして実現することが可能であり、尚上記米国特許はその記載内容全体を引用により本明細書に取込む。勿論、その他の適宜のスマートカードフォーマットを使用することも可能であり、そのことは当業者にとって自明である。
【００２０】
スマートカードアダプタ２３はシステム２０において実現されている特定の動作プロトコルと適合性のあるタイプのものである（例えば、ＩＳＯ７８１６タイプカード読取器、ＵＳＢタイプカード読取器等）。勿論、１つを超えるタイプのマルチスマートカード又はマルチモードスマートカードを読取る多目的読取器のみならず複数個の読取器２３を使用することが可能である。更に、カード読取器２３はホスト装置２１に関して遠隔的に位置させることが可能であるが、そうすることが必要なわけではない。即ち、幾つかの実施例においては、カード読取器２３はホスト装置２１内に組込むことが可能であり、又は当業者により理解されるように、そのハウジングにより担持させることが可能である。更に、幾つかの実施例においては、スマートカードアダプタ２３をスマートカード集積化チップ内に組込むことが可能であり、「読取器」を「パススルー」コネクタと殆ど違いのないものとさせる。
【００２１】
スマートカード２４は、類似的に、カード本体２５と該カード本体により担持されている集積回路（ＩＣ）２６を包含している。更に、スマートカード２４は、又、例示的に、スマートカードアダプタ２３とＩＣ２６との間に電気的接続を与えるためのコンタクト２７を包含している。勿論、理解されるように、幾つかの実施例においては、スマートカード２４は、実際に、ワイヤレスとすることが可能であり、従ってコンタクト２７を必要としない場合がある。このような場合には、例えば、コンタクト２７の代わりにアンテナを使用することが可能である。然しながら、説明の便宜上、本発明は、特に、ＩＳＯ７８１６及びＵＳＢタイプのスマートカードの例について説明し、それらの各々は上述した種々のプロトコル文書により定義されている夫々のコネクタ形態を使用する。従って、カード本体２５上の物理的コンタクト２７の使用（及びカードアダプタ２３における対応するコンタクト）は本発明の説明をするために採用される。
【００２２】
注意すべきことであるが、スマートカード本体２５は種々のタイプの物質から構成することが可能であり且つ種々の形状を取ることが可能である。多分、スマートカードに使用される最も一般的な物質はプラスチックであるが、その他の適宜の物質を使用することも可能である。更に、スマートカードは、又、通常、矩形状の形状であり且つ財布にしまうのに充分に薄いものであって、クレジットカードに類似しているものであるが、その他の形状及び厚さを使用することも可能である。ＩＣ２６は例示的に示したようにカード本体２５内に収容することが可能であり、又は、それをカード本体内に凹設させるが尚且つ露出させることが可能である。当業者により理解されるように、その他の装着形態とすることが可能であり、そのことは本発明により自明なことである。更に注意すべきことであるが、スマートカード２４は、例えば、トークン又は識別回路として別の装置内に組込むか又は内蔵させることが可能である。
【００２３】
ＩＣ２６は、例示的にトランシーバ３０を包含しており、それはコンタクト２７へ接続しており且つ当業者により理解されるように、スマートカードアダプタ２３を介してホスト装置２１へ信号を送り且つホスト装置２１から信号を受取る。トランシーバ３０はプロセッサ３１により制御され、プロセッサ３１は、又、スマートカード２４によりサポートされている種々のスマートカード動作を実施する。本発明によれば、スマートカード２４は、例示的に、例えば以下に更に詳細に説明するように、プロセッサ３１により開始されると１つ又はそれ以上のテスト動作を実施するためのジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器２８を包含している。
【００２４】
当業者により理解されるように、ＪＴＡＧテスト制御器は、電気電子技術社協会（ＩＥＥＥ）テストアクセスポート及びバウンダリースキャンアーキテクチャ標準ＩＥＥＥ−１１４９．１−２００１に準拠したものであって、その記載内容全体を引用により本明細書に取込む。一般的には、ＩＥＥＥ−１１４９．１標準は、半導体装置の動作及び／又は物理的相互接続をテストするために使用することが可能なプロトコルを提供している。本明細書において説明すること以外のＪＴＡＧ装置の動作、機能性及び利点に関する更なる一般的な情報はテキサスインストルメンツ、インコーポレイテッドからの「ＩＥＥＥ  Ｓｔｄ  １４４９．１  （ＪＴＡＧ）  検査可能性入門書（Ｔｅｓａｂｉｌｉｔｙ  Ｐｒｉｍｅｒ）」、１９９７に記載されており、尚その記載内容全体を引用により本明細書に取込む。
【００２５】
集積回路２６内に埋め込まれているＪＴＡＧテスト制御器２８の実現例は、このようなテストを内部的に実施することを可能とし、そのことは、上述した高価なＩＣテスト装置に関して必要とされるテスト時間の量を著しく減少させることが可能であり（幾つかの環境においては除去するものではないが）、且つそうでなければ安全でない条件下で実施する場合がある。
【００２６】
ＵＳＢモードで動作する図２に例示したＩＣ２６′の例示的実施例を参照して、本発明の種々の例示的なテスト動作及びその他の特徴について説明する。例示した実施例においては、ＩＣ２６′はＵＳＢトランシーバ３０′を包含しており、それはＵＳＢ仕様において記載されるような第一及び第二データ入力／出力（Ｉ／Ｏ）Ｄ＋及びＤ−を包含している。更に、例示した実施例においては、プロセッサ３１′は、当業者により理解されるように、制御論理３４′及び種々のスマートカード動作を実施する場合に該制御論理により使用するための１個又はそれ以上のレジスタ３５′を包含している。更に、ＩＣとホスト装置２１との間で送信される信号をバッファするためにＩＣ２６′内に１個又はそれ以上のバッファ３２′を包含させることが望ましい。
【００２７】
更に、ＩＣ２６′は、例示的に、ランダムアクセスメモリ（ＲＡＭ）３３ａ′、及び非揮発性メモリ３３ｂ′（例えば、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）等）を包含している。ＲＡＭ３３ａ′は、例えば、処理すべきデータを一次的に格納するために使用することが可能であり、一方非揮発性メモリ３３ｂ′はスマートカードアダプタ２３へ接続されておらず（且つそれにより電力が供給される）場合に、ＩＣ２６′により維持されることが必要な永久的及び／又は半永久的な情報を格納するために使用することが可能である（例えば、装置記述子、形態記述子、インターフェース記述子、端点記述子、ストリング記述子、サポートされるＵＳＢ要求等）。
【００２８】
幾つかの実施例においては、ＩＣ２６′は、オプションとして、当業者により理解されるように、ある専用の処理機能を実施するための状態マシン３６′を包含することが可能である。更に、ＪＴＡＧテスト制御器２８′に対する動作クロック信号を供給するためにクロック回路３７′をＩＣ２６′内に包含させることが可能である。勿論、クロック信号は、プロセッサ３１′によって使用することも可能である。１例として、内部初期化又は列挙の一部として最初にスマートカードアダプタ２３へ接続されると、ＩＣ２６′はホスト装置２１から現在のシステム時間を受取ることが可能であり、それは、制御論理３４′及びＪＴＡＧテスト制御器２８′に対する現在のシステム時間を維持するためにクロック回路３７′に対する開始値として使用することが可能である。
【００２９】
ＩＣ２６′は、例示的に、ＵＳＢトランシーバ３０′とマイクロプロセッサ３１′との間に接続されているＵＳＢシリアルインターフェース（ＳＩＥ）エンジン３９′を包含しており、それはホスト装置２１から受取ったＵＳＢエンコードデータを制御論理３４′用のシリアルデータストリームへ変換させるためであり、且つホスト装置へ上流側へ送られるデータに対してはその逆も又真である。更に、ＶＳＲエンコーダー／デコーダー４０′も、オプションとして、ベンダー特定要求（ＶＳＲ）のような標準のＵＳＢシリアルインターフェースエンジンによって通常取扱われることのない「非標準」のＵＳＢデータをエンコード／デコードするためにＵＳＢトランシーバ３０′とマイクロプロセッサ３１′との間に接続させることが可能である。ＶＳＲは、後に更に詳細に説明する。勿論、注意すべきことであるが、幾つかの実施例においては、ＵＳＢ  ＳＩＥ３９′及び／又はＶＳＲエンコーダー／デコーダー４０′の機能性は、所望により、マイクロプロセッサ３１′内において、又は同一のインターフェース装置内において実現することが可能である。
【００３０】
ＵＳＢ仕様はＵＳＢシステムにおける通信のための基本的な組のＵＳＢ要求を定義しており、そのうちの幾つか又は全ては与えられた製品に対する特定のベンダーにより使用され且つ非揮発性メモリ３３ｂ′内に格納することが可能である。更に、この基本的な組のＵＳＢ要求に加えて、ＵＳＢ仕様は、又、それにより、製品のベンダーがホスト装置２１とスマートカード２４との間のＵＳＢ通信を向上させ且つ個人化させることを可能とするメカニズムを提供している。即ち、ＵＳＢ仕様は、与えられたスマートカード装置又はアプリケーションにとって適切である付加的な動作を定義するためにＶＳＲの使用を提供している。ＶＳＲのフォーマット及び使用に関しての更なる情報は本願出願人に譲渡されている２００３年５月９日付けで出願した米国特許出願第１０／４３５，１２４号に記載されている。
【００３１】
典型的な従来のＪＴＡＧ制御器実現例においては、ＩＥＥＥ−１１４９．１標準は専用の物理的ＪＴＡＧテストアクセスポート（ＴＡＰ）及び該制御器とインターフェースするための関連するＩ／Ｏピンを使用することを必要としている。このことは、外部パッド及びピンの機能的挙動を管理することにより、テストモードの一部として、内部ＪＴＡＧポートへのアクセスを与えるための共用型パッケージピンの使用を介して時折行われる。別のアプローチは製造及びテスト期間中に付加的なチップパッドを使用することであり、それは、次いで、最終的なパッケージングの後にはアクセス不可能となる。これらのアプローチは、コンピュータ又は回路基板上におけるような比較的大型の適用例におけるＪＴＡＧ制御器を実現する場合には許容可能なものであるかもしれないが、スマートカードは、通常、寸法が著しく小さく、その結果、Ｉ／Ｏの使用可能性に関して高度に制限されている。
【００３２】
本発明によれば、プロセッサ３１′は、ＵＳＢトランシーバ３０′を介してホスト装置２１からテストＶＳＲ等の１つ又はそれ以上のテスト要求を受取ることに基づいて、ＪＴＡＧテスト制御器２８′をしてテスト動作を開始させることが可能である。即ち、コマンドとデータとを包含するＪＴＡＧシリアルスキャンテストプロトコルデータが、好適には、ホスト装置２１とＪＴＡＧテスト制御器２８′との間で送信されるＶＳＲ内に組込まれている。このことは、当業者により理解されるように、例えば、ＩＳＯ７８１６標準のシリアル送信プロトコルがどのようにしてＵＳＢスマートカード装置に関して管理されるかと同様に、使用可能なＵＳＢ転送モードを使用することにより行うことが可能である。
【００３３】
制御論理３４′及び状態マシン３６′は、ＶＳＲエンコーダー／デコーダー４０′と共同して密閉されたＪＴＡＧデータを解釈し且つ、あたかも専用の外部ＪＴＡＧ装置がスマートカード２４上のＴＡＰポートへ物理的に取付けられているのと同一の態様でＪＴＡＧテスト制御器２８′を管理することが可能である。このように、制御論理３４′（及び／又は状態マシン３６′／ＶＳＲエンコーダー／デコーダー４０′）は「バーチャル」ＴＰＴ即ちホスト装置２１とＪＴＡＧテスト制御器２８′との間のインターフェースを実現する。従って、当業者により理解されるように、バス上のその他のＵＳＢトラフィックと干渉すること無しに且つ同一のＵＳＢシステムバスを介してスマートカード２４の通常の機能と共に広範なスキャンを基礎としたアクセス及びテストを実施することが可能である。
【００３４】
バーチャルＴＡＰは、ＪＴＡＧアドレス可能ＴＡＰ（又は同様の機能性）マクロセル、又は、例えば、制御論理３４′による同一のもののＨＤＬモデルとして実現することが可能である。幾つかの実施例においては、ＪＴＡＧテスト制御器２８′へアクセスするためにユーザが定義したデータレジスタ等のオプションの特徴を包含させることが可能である。バーチャルＴＡＰの実現は、好適には、テスト機能性がＩＣ２６′のＩ／Ｏパッドから物理的に、機能的に且つ電気的に分離されており且つ、その代わりに、スマートカード２４上の物理的なＴＡＰに対する必要性を開示するためにＵＳＢシステムバス及び埋込型シリアルスキャン構成体へインターフェースするようなものである。勿論、幾つかの実施例においては、物理的なＴＡＰコネクタを、所望により、スマートカード装置上に実現することが可能であり、且つこのような実施例も本発明の技術的範囲内のものである。
【００３５】
当業者により理解されるように、バーチャルＴＡＰはＪＴＡＧテスト制御器２８′用の所要のＴＡＰ制御信号（例えば、ＴＣＬＫ、ＴＲＳＴ、ＴＭＳ、ＴＤＩ、ＴＤＯ等）を管理する。状態マシン３６′の機能性は、例えば、ＪＴＡＧ命令の入力ストリームにより指示することが可能である。更に、幾つかの制御及びステータス信号を、所望により、幾つかの実施例においてスマートカード２４により実現される「プライマリー」機能又はアプリケーションにより供給することが可能である。又、バーチャルＴＡＰはバッファ３２と共同して１つ又はそれ以上のＪＴＡＧ入力ベクトル（例えば、励起、マスク、比較等）及び／又は出力ベクトル又はデータ（例えば、応答、結果ベクトル等）に対するバッファ機能を与えることが可能である。
【００３６】
更に、与えられた装置又は環境に対して必要とされる場合に、バーチャルＴＡＰの実現のために１つ又はそれ以上のスキャンチェーン又はその他のテスト構成体をＩＣ２６′内に包含させることが可能である。１例として、該スキャンチェーンは、これらに制限するものではないが、当業者により理解されるように、埋込型ＢＩＳＴ、ＬＢＩＳＴ、ＭＢＩＳＴ、ＬＳＦＲ又はその他のテストの結果へのアクセス、オンボード診断レジスタ及び制御への読取及び／又は書込アクセス、装置電流漏洩（即ち、ＩDDQ）テストモードの制御、ＩＣ２６′の種々の「ブロック」の間のバウンダリースキャンテストの実施、自動化テストパターン発生（ＡＴＰＧ）の実施等の任意のタイプのＪＴＡＧアクセス可能テストを実施するために使用することが可能である。ＪＴＡＧシリアルスキャンループ方法に関する更なる情報はＩＥＥＥ１１４９．１標準において見出すことが可能である。
【００３７】
多くのスマートカード適用例に関連する向上させたセキュリティ条件のために、幾つかの実施例においては、特権型アクセスメカニズムを使用してＪＴＡＧテスト制御器２８′へのアクセスを制限することが望ましい場合がある。即ち、ＪＴＡＧテスト制御器２８′がテスト動作を開始させるか又は許容する前に、プロセッサ３１′がテスト要求を認証することが望ましい場合がある。従って、制御論理３４′は、オプションとして、当業者により理解されるように、例えば、チャレンジ−アンサー又は暗号化したパスワード等の適宜の安全な認証記述に基づいてＪＴＡＧテスト制御器２８′へのアクセスが許可されるべきか否かを決定することが可能である。勿論、ＶＳＲのフォーマットが製品製造業者にとって私有物である場合には、ＪＴＡＧデータが有効なＶＳＲ内に組込まれるという単なる事実が幾つかの実施例においては適切なセキュリティを与える場合がある。
【００３８】
ホスト装置２１上にインストールされるＪＴＡＧソフトウエアパッケージと共に使用するための適宜構成したソフトウエアモジュールをホスト装置２１上にインストールしてＪＴＡＧソフトウエアパッケージを完成させることも可能である。即ち、該ソフトウエアモジュールは、通常物理的にテスト中の装置のＪＴＡＧ  ＴＡＰへ接続し、それがパラレル、シリアル、又は何等かのその他のアクセスポートによってコンピュータへ接続する専用のハードウエアを使用する代わりに、ＪＴＡＧソフトウエアパッケージがＵＳＢ通信ライブラリー、従ってＵＳＢバスへアクセスし且つそれを利用することを可能とする。与えれた実現例に依存して、該ソフトウエアモジュールは、ソフトウエアプラグイン、ＵＳＢドライバ、スタンドアローンアプリケーション等の形態をとることが可能である。
【００３９】
いずれの場合においても、ＪＴＡＧデータは当業者により理解されるように、ＵＳＢ転送モード及びエンドポイント（端点）の１つ又はそれ以上を使用してホスト装置２１とスマートカード２４との間の転送のために適切に管理される。これらの転送モードの構成は混合させることが可能である。例えば、ＪＴＡＧコマンドはＵＳＢ制御モードパイプを使用して送信することが可能であり、励起データはバルクＯＵＴタイプを使用して送信することが可能であり、且つ励起ベクトル（即ち、全体的なスキャンアウト「生」ベクトル又は内部的に発生された「比較」結果のいずれか）を使用することからの結果はバルクＩＮパイプを使用して検索することが可能である。
【００４０】
上述したシステム２０の典型的な使用の１例は以下の如くである。ホスト装置２１として動作しているコンピュータが、テストすべきスマートカード２４が導入されるＵＳＢバス階層を制御する。スマートカード２４（又は本発明に基づいてＪＴＡＧテスト制御器２８を実現する任意のその他のＵＳＢ装置）がコンピュータのＵＳＢバス上のどこかでＵＳＢポート内に挿入される。ＪＴＡＧを基礎としたテストプログラムが、任意のその他の所望の開発ツールと共にコンピュータ上で稼動される。ＪＴＡＧプログラム自身は標準の「既製」のソフトウエアパッケージとすることが可能であり、唯一の例外は、それがＪＴＡＧテスト制御器２８と通信を行うために何等かのポート（例えば、シリアル、パラレル、ＳＣＳＩ等）ではなくＵＳＢバスを利用することである。ユーザは、与えられた適用例に対して開発又は使用のどのような性質が適したものであるかに拘わらず進行する。ＪＴＡＧソフトウエアパッケージは、ＪＴＡＧテスト制御器２８を介しての情報を検索するため、又は任意のＪＴＡＧアクセス可能制御、レジスタ等を操作するために使用することが可能である。このような操作は、スマートカード２４の通常の機能的動作と共に行うことが可能である。
【００４１】
スマートカード集積回路２６をテストするための本発明の方法の側面について図３を参照して説明する。本方法は、ホスト装置２１から少なくとも１個のテスト要求を受取ることで開始する（ブロック５０）。この少なくとも１個のテスト要求は、オプションとして、所望により認証させることが可能である（ブロック５２）。そのテスト要求が認証されると、該少なくとも１個のテスト要求は、ブロック５３において、ＪＴＡＧテスト制御器用のＪＴＡＧデータへ変換され、且つ前述した如く、該少なくとも１個のテスト動作がブロック５４において開始され、従って例示した方法が完了する（ブロック５５）。認証されない場合には、そのテスト要求は無視することが可能であり、且つ当業者にとって明らかなように、その他の適宜のセキュリティ又は報告手段をとることが可能である。
【００４２】
前述した説明に基づいて、本発明の多数の利点を当業者が理解することが可能である。例えば、本発明は、スマートカード内の埋め込まれており且つ内部的に分離されたＪＴＡＧテスト制御器、及びそれと関連する任意の相互接続されたシリアルシフトループアーキテクチャへアクセスことを可能とする。更に、バーチャルＴＡＰの使用を介してバス上のその他のＵＳＢトラフィックと干渉すること無しに且つ同一のシステムバスを介してスマートカードの通常の機能と共に、多様なスキャンに基づいたアクセス及びテスト構成を実現することが可能である（例えば、ＢＩＳＴ、ＬＦＳＲ等）。
【００４３】
バーチャルＴＡＰの使用は、ＪＴＡＧ機能性をスマートカード装置においてのみならず空間の使用可能性、従って使用可能なＩ／Ｏが高度に制限されているその他の装置においてもＪＴＡＧ機能性を実現することを可能とする。従って、本発明によれば、製品上に機能多重型Ｉ／Ｏピンを設けることの必要性はなく、そのことはＩ／Ｏ実現の付加的な複雑性を節約している。更に、本発明は、専用のＪＴＡＧ  ＴＡＰを排除することを可能としているので、このことは、装置コストの点で節約を与えており、且つ専用の外部ＪＴＡＧハードウエアテスト装置に対する必要性を減少させ、それによりコストを更に減少させることを可能としている。
【００４４】
更に、本発明は、デバッグ及び開発のために開発者が埋込型アプリケーションへアクセスすることを可能とし、そのことはＪＴＡＧポートが存在しない場合には通常可能なことではない。更に、それは、スマートカード装置及び同様のセキュリティに敏感な製品のベンダーに対して彼等の私有のＵＳＢを基礎とした製品内の埋込型診断及び解析構成体への安全なアクセスを与えている。更に、本発明は、又、ＵＳＢ装置に関してフィールドにおける診断を実施することを可能とし、そのことは、そうでなければ、可能なことではない。更に注意すべきことであるが、本発明は、ＵＳＢ（又はその他の）装置のバス速度（例えば、ＵＳＢの場合においては低速、全速、又は高速）に拘わらず、実現することが可能である。１例として、本発明は、又、ファイヤワイヤ、イーサーネット、ブルートース、ワイヤレス（８０２．１１ｘｘ）、ＰＣＭＣＩＡ、ＩＳＯ７８１６（拡張として）等のその他の技術と共に使用することも可能である。
【００４５】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【００４６】
【図１】本発明に基づくスマートカードシステムの概略ブロック図。
【図２】図１のスマートカード集積回路をより詳細に例示した概略ブロック図。
【図３】本発明に基づく方法を例示したフローチャート。
【符号の説明】
【００４７】
２０  スマートカードシステム
２１  ホスト装置
２２  通信ポート
２３  スマートカード読取器又はアダプタ
２４  スマートカード
２５  カード本体
２６  集積回路（ＩＣ）
２７  コンタクト
２８  ジョイントテストアクショングループ（ＪＴＡＧ）テスト制御器
３０  トランシーバ
３１  プロセッサ
３２  バッファ
【図１】
2005004765.tif 000003
【図２】
2005004765.tif 000004
【図３】
2005004765.tif 000005