ここで、本開示の様々な実施形態が詳細に参照されることになり、これらの実施形態の実施例が添付図面に示されている。実施例がこれらの実施形態と共に説明されるが、それによって、本開示がこれらの実施形態に限定されることは意図していないことが理解されるであろう。それどころか、本開示は、代替例、修正例、及び均等例をカバーすることが意図されており、これらの例は、添付された特許請求の範囲によって定められる本開示の精神及び範囲の中に含まれ得る。さらに、本開示の以下の詳細な説明では、本開示の十分な理解を提供するために、数多くの具体的な詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を用いずに実施され得ることが理解されるであろう。他の例では、よく知られた方法、手順、コンポーネント、及び回路が、本開示の態様をむだに不明瞭にしないように、詳細に説明されてはいない。
続く詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対するオペレーションの手順、論理ブロック、処理、及び他の記号を用いた表現の観点で示されている。これらの説明及び表現は、データ処理技術の当業者が自分の研究の主旨を他の当業者に最も効果的に伝達するために用いる手段である。本出願では、手順、論理ブロック、プロセスなどが、必要な結果をもたらす筋の通った一連の段階又は命令であると考えられている。これらの段階は、物理量の物理的操作を利用するものである。これらの量は、必ずではないがたいてい、コンピュータシステムにおいて、格納され、転送され、組み合わされ、比較され、あるいは操作されることが可能な、電気信号又は磁気信号の形態を取る。これらの信号を、トランザクション、ビット、値、要素、記号、文字、サンプル、ピクセルなどと呼ぶことが、主に一般的に用いられているという理由で、場合によっては簡便であると分かっている。
しかしながら、これらの用語及び同様の用語の全ては、適切な物理量と関連付けられることになり、これらの量に適用される単に簡便な名称であることに留意されたい。特に記述されない限り、以下の説明から明らかであるように、本開示の全体にわたって、「構成する(configuring)」、「提供する(providing)」、「実行する(executing)」、「伝送する(transmitting)」、「取得する(obtaining)」、「実装する(implementing)」、「プログラムする(programming)」、「割り当てする(allocating)」、「関連付ける(associating)」、「設定する(setting)」、「アクセスする(accessing)」、「制御する(controlling)」、「決定する(determining)」、「識別する(identifying)」、「キャッシュする(caching)」、「維持する(maintaining)」、「比較する(comparing)」、「除去する(removing)」、「読み出す(reading)」、「書き込む(writing)」などの用語を利用する説明が、コンピュータシステム又は同様の電子コンピュータ処理装置又はプロセッサ(例えば、図1Aのシステム110)の動作及びプロセス(例えば、図8のフローチャート800)を指すことが理解される。コンピュータシステム又は同様の電子コンピュータ処理装置は、コンピュータシステムメモリ、レジスタ又は他のそのような情報の記憶装置、伝送装置又は表示装置内の、物理(電子)量として表されるデータを操作し変換する。
本明細書において説明される実施形態が、1つ又は複数のコンピュータ又は他の装置によって実行されるプログラムモジュールなどの、何らかの形態のコンピュータ可読記憶媒体上に存在するコンピュータ実行可能命令の一般的文脈で論じられることがある。限定目的ではなく例として、コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体及び通信媒体を含んでよく、非一時的コンピュータ可読媒体は、一時的な伝播信号を除く、全てのコンピュータ可読媒体を含む。概して、プログラムモジュールには、特定のタスクを行うか、又は特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において必要なように、組み合わされても分散されてもよい。
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するためのあらゆる方法又は技術で実装される、揮発性及び不揮発性の、着脱可能及び着脱不可能な媒体が含まれる。コンピュータ記憶媒体には、限定されないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリなどのメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)などの光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は必要な情報を格納するのに用いられ得る、且つその情報を引き出すためにアクセスされ得る任意の他の媒体が含まれる。
通信媒体は、コンピュータ実行可能命令、データ構造、及びプログラムモジュールを具現化することができ、あらゆる情報送達媒体を含む。限定目的ではなく例として、通信媒体には、有線ネットワーク又は有線による直接接続などの有線媒体、並びに音響媒体、無線周波数(RF)媒体、赤外線媒体、及び他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれ得る。
図1Aは、異なるアプリケーションを有する複数のユーザをサポートすることが可能なテスタ制御システム110の一例に関するブロック図である。例えば、システム110は、(図5に示されるように)サーバ525の機能を実行することができる。テスタ制御システム110は概して、コンピュータ可読命令を実行することが可能な、あらゆる単一又は複数のプロセッサコンピュータ処理装置又はシステムを表す。制御システム110の例には、限定されないが、ワークステーション、ラップトップ、クライアント側の端末、サーバ、分散演算処理システム、ハンドヘルド型装置、又は任意の他の演算処理システム若しくは装置が含まれる。最も基本的な構成において、制御システム110は、少なくとも1つのプロセッサ114と、システムメモリ116とを含んでよい。
プロセッサ114は概して、データを処理することが可能な、又は命令を解釈して実行することが可能な、あらゆる種類又は形態の処理ユニットを表す。特定の実施形態において、プロセッサ114は、ソフトウェアアプリケーション又はモジュールから命令を受信してよい。これらの命令は、本明細書において説明される及び/又は示される例示的な実施形態のうち1つ又は複数の機能を、プロセッサ114に実行させてよい。
システムメモリ116は概して、データ及び/又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の揮発性又は不揮発性の記憶装置若しくは媒体を表す。システムメモリ116の例には、限定されないが、RAM、ROM、フラッシュメモリ、又は任意の他の適切な記憶装置が含まれる。必須ではないが、特定の実施形態において、制御システム110は、揮発性記憶装置(例えば、システムメモリ116など)及び不揮発性記憶装置(例えば、主記憶装置132など)の両方を含んでよい。
テスタ制御システム110は、プロセッサ114及びシステムメモリ116に加えて、1つ又は複数のコンポーネント又は要素も含んでよい。例えば、図1Aの実施形態において、制御システム110は、メモリ制御装置118、入力/出力(I/O)制御装置120、及び通信インタフェース122を含み、これらはそれぞれ、通信インフラストラクチャ112を介して相互接続されてよい。通信インフラストラクチャ112は概して、コンピュータ処理装置の1つ又は複数のコンポーネント間の通信を容易にすることが可能な、あらゆる種類又は形態のインフラストラクチャを表す。通信インフラストラクチャ112の例には、限定されないが、通信バス(業界標準アーキテクチャ(ISA)、ペリフェラルコンポーネントインターコネクト(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)及びネットワークが含まれる。
メモリ制御装置118は概して、メモリ若しくはデータを扱うことが可能な、又は制御システム110の1つ若しくは複数のコンポーネント間の通信を制御することが可能な、あらゆる種類又は形態の装置を表す。例えば、メモリ制御装置118は、通信インフラストラクチャ112を介して、プロセッサ114、システムメモリ116、及びI/O制御装置120の間の通信を制御してよい。
I/O制御装置120は概して、コンピュータ処理装置の入力及び出力機能を調整及び/又は制御することが可能な、あらゆる種類又は形態のモジュールを表す。例えば、I/O制御装置120は、プロセッサ114、システムメモリ116、通信インタフェース122、ディスプレイアダプタ126、入力インタフェース130、及び記憶装置インタフェース134などの、制御システム110の1つ又は複数の要素間のデータ転送を制御してよく又は容易にしてよい。
通信インタフェース122は概して、例示的な制御システム110と1つ又は複数の追加の装置との間の通信を容易にすることが可能な、あらゆる種類又は形態の通信装置又はアダプタを表す。例えば、通信インタフェース122は、制御システム110と、追加の制御システムを含むプライベートネットワーク又はパブリックネットワークとの間の通信を容易にしてよい。通信インタフェース122の例には、限定されないが、有線ネットワークインタフェース(ネットワークインタフェースカードなど)、無線ネットワークインタフェース(無線ネットワークインタフェースカードなど)、モデム、及び任意の他の適切なインタフェースが含まれる。1つの実施形態において、通信インタフェース122は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供する。通信インタフェース122は、任意の他の適切な接続を通じて、そのような接続を間接的に提供してもよい。
通信インタフェース122は、外部バス又は通信チャネルを介して、制御システム110と1つ又は複数の追加のネットワーク装置若しくは記憶装置との間の通信を容易にするように構成された、ホストアダプタを表してもよい。ホストアダプタの例には、限定されないが、スモールコンピュータシステムインタフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、IEEE(米国電気電子技術者協会)1394ホストアダプタ、シリアルアドバンスドテクノロジアタッチメント(SATA)及び外部SATA(eSATA)ホストアダプタ、アドバンスドテクノロジアタッチメント(ATA)及びパラレルATA(PATA)ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネット(登録商標)アダプタなどが含まれる。通信インタフェース122は、制御システム110が、分散演算処理又はリモート演算処理を行うことも可能にしてよい。例えば、通信インタフェース122は、命令をリモート装置から受信してよく、又は命令を実行のためにリモート装置へ送信してもよい。
図1Aに示されるように、制御システム110は、ディスプレイアダプタ126を介して通信インフラストラクチャ112に接続された少なくとも1つの表示装置124を含んでもよい。表示装置124は概して、ディスプレイアダプタ126によって転送された情報を視覚的に表示することが可能な、あらゆる種類又は形態の装置を表す。同様に、ディスプレイアダプタ126は概して、表示装置124に表示するために、グラフィック、テキスト、及び他のデータを転送するように構成された、あらゆる種類又は形態の装置を表す。
図1Aに示されるように、制御システム110は、入力インタフェース130を介して通信インフラストラクチャ112に接続された、少なくとも1つの入力装置128を含んでもよい。入力装置128は概して、コンピュータ又は人が生成する入力を制御システム110に提供することが可能な、あらゆる種類又は形態の入力装置を表す。入力装置128の例には、限定されないが、キーボード、ポインティングデバイス、音声認識装置、又は任意の他の入力装置が含まれる。
図1Aに示されるように、制御システム110は、記憶装置インタフェース134を介して通信インフラストラクチャ112に接続された、主記憶装置132及びバックアップ記憶装置133を含んでもよい。記憶装置132及び133は概して、データ及び/又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の記憶装置又は媒体を表す。例えば、記憶装置132及び133は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってよい。記憶装置インタフェース134は概して、記憶装置132及び133と制御システム110の他のコンポーネントとの間でデータを転送するための、あらゆる種類又は形態のインタフェース又は装置を表す。
1つの例において、データベース140が、主記憶装置132に格納されてよい。データベース140は、単一のデータベース又はコンピュータ処理装置の一部を表してよく、複数のデータベース又はコンピュータ処理装置を表してもよい。例えば、データベース140は、制御システム110の一部、及び/又は図1Bの例示的なネットワークアーキテクチャ100の一部(下記)を表してよい(そこに格納されてよい)。あるいは、データベース140は、制御システム110及び/又はネットワークアーキテクチャ100の一部などのコンピュータ処理装置によってアクセスされることが可能な、1つ又は複数の物理的に別個の装置を表してよい(そこに格納されてよい)。
続いて図1Aを参照すると、記憶装置132及び133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された着脱可能な記憶装置との間で、読み出し及び/又は書き込みを行うように構成されてよい。好適な着脱可能な記憶装置の例には、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが含まれる。記憶装置132及び133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令を制御システム110にロードすることを可能にするための、他の類似の構造又は装置を含んでもよい。例えば、記憶装置132及び133は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み出し、書き込むように構成されてよい。記憶装置132及び133は、制御システム110の一部であってもよく、又は他のインタフェースシステムを通じてアクセスされる別個の装置であってもよい。
多くの他の装置又はサブシステムが、制御システム110に接続されてよい。反対に、図1Aに示されるコンポーネント及び装置の全てが、本明細書において説明される実施形態を実施するために存在する必要はない。上述されたこれらの装置及びサブシステムは、図1Aに示されるのと異なる方法で相互接続されてもよい。制御システム110は、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を利用してもよい。例えば、本明細書において開示される例示的な実施形態は、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも呼ばれる)として、コンピュータ可読媒体上に符号化されてよい。
コンピュータプログラムを含むコンピュータ可読媒体は、制御システム110にロードされてよい。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、その後、システムメモリ116並びに/又は記憶装置132及び133の様々な部分に格納されてよい。制御システム110にロードされるコンピュータプログラムは、プロセッサ114によって実行される場合、本明細書において説明される及び/又は示される例示的な実施形態の機能をプロセッサ114に実行させてよく、及び/又はこれらの機能を実行する手段であってもよい。追加的に又は代替的に、本明細書において説明される及び/又は示される例示的な実施形態は、ファームウェア及び/又はハードウェアにより実装されてよい。
図1Bは、クライアントシステム151、152、及び153、並びにサーバ141及び145がネットワーク150に接続され得る、ネットワークアーキテクチャ100の一例のブロック図である。クライアントシステム151、152、及び153は概して、図1Aのテスタ制御システム110などの、あらゆる種類又は形態のコンピュータ処理装置又はシステムを表す。
同様に、サーバ141及び145は概して、様々なデータベースサービスを提供する及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピュータ処理装置又はシステムを表す。ネットワーク150は概して、例えば、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、又はインターネットを含む、あらゆる電気通信ネットワーク又はコンピュータネットワークを表す。
図1Aの制御システム110を参照すると、通信インタフェース122などの通信インタフェースが、各クライアントシステム151、152、及び153とネットワーク150との間の接続を提供するのに用いられてよい。クライアントシステム151、152、及び153は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを用いて、サーバ141又は145上の情報にアクセスすることが可能であってよい。そのようなソフトウェアによって、クライアントシステム151、152、及び153は、サーバ140、サーバ145、記憶装置160(1)〜(L)、記憶装置170(1)〜(N)、記憶装置190(1)〜(M)、又はインテリジェント記憶装置アレイ195によってホストされるデータにアクセスすることが可能であってよい。図1Bは、データを交換するためにネットワーク(インターネットなど)を用いることを示しているが、本明細書において説明される実施形態は、インターネット又はあらゆる特定のネットワークベースの環境に限定されない。
1つの実施形態において、本明細書に開示される例示的な実施形態のうち1つ又は複数の全て又は一部は、コンピュータプログラムとして符号化され、サーバ141、サーバ145、記憶装置160(1)〜(L)、記憶装置170(1)〜(N)、記憶装置190(1)〜(M)、インテリジェント記憶装置アレイ195、又はこれらのあらゆる組み合わせにロードされ、これらによって実行される。本明細書に開示される例示的な実施形態のうち1つ又は複数の全て又は一部はまた、コンピュータプログラムとして符号化され、サーバ141に格納され、サーバ145によって実行され、ネットワーク150を介してクライアントシステム151、152、及び153に分散されてもよい。
[異なるアプリケーションを用いる複数のユーザをサポートするテストシステム]
図2は、制御された環境チャンバ10又は「オーブン」にDUTが配置される典型的なテスト環境を示す。これらのDUTは、テストヘッド20のテスタスライスに接続される。単一のテスタスライス40に、多くのDUTが接続され得る。テスタスライス(図3に関連して、さらに詳細に論じられる)は、テストプランに従ってDUTに対してテストを行うテスト回路を含む。テストヘッド20ごとに、多くのテスタスライスが存在し得る、DUTは、オーブン10に挿入されるときに、トレイ30に配置される。DUTは、オーブン10の中にあるとき、通常、チャンバ10の制御された環境を乱さないように、ユーザが手を触れることはできない。典型的な環境チャンバにおいて、複数のテスタスライスは、複数のDUTに対して同じテストプランを実行するロックステップで動作する。さらに、テストヘッドは通常、テストヘッドに直接に接続される単一の制御装置のコンピュータシステム(不図示)によって制御され、この方式で、テストヘッド20の全てのスライスを制御する。制御装置のコンピュータは通常、DUTに対して単一のテストプランを実行する単一のユーザによって操作される。
このテスト環境の課題は、各テスト中に、所与のテストヘッドのテスタスライスを完全に満たすのに十分なDUTがないことが多いということである。したがって、そのような状態でテスト中に使用されていないスライスは、何も有益な仕事を行っていないという点でむだである。これにより、テスト全体のスループットが低下し得、非常に高価な電子機器がアイドル状態に置かれる。これらのアイドル状態にあるスライスは、1)チャンバの内側にはテスト中にアクセスできない、2)制御コンピュータはいつでも1人のユーザしかサポートしない、及び3)これらのスライス(全てのスライス)は、一度に1つのテストプランだけに基づいて動作するという理由で、異なる用途に供されることができない。
テストチャンバはまた、通常、大型であり高価でもある。このテスト環境の別の欠点は、テストチャンバを十分に利用するために、例えば、生産や技術などのいくつかの異なるユーザグループの間で、テストチャンバを同時に共有することを望む典型的な顧客が、そうすることができないという点である。テストスライスは、典型的なテスト環境において、一度に単一のテストプランでしか動作できず、単一のユーザの体験したことしかサポートできないので、顧客はテストチャンバをいつでも十分に利用することができず、したがって、追加の装置を購入するか、又は効率を犠牲にするかを強いられている。
図3は、テスタスライスの例示的な実施形態、及びシステム制御装置及びDUTとの相互接続を示す詳細な概略ブロック図である。
図3を参照すると、各テスタスライスは、サイトモジュールを含む。サイトモジュールは、1つの実施形態において、テスタスライス340A〜340N上に機械的に配置されてよく、各テスタスライスは、少なくとも1つのサイトモジュールを含む。いくつかの典型的な実施形態において、各テスタスライスは、2つのサイトモジュール及び2つのデバイス電源ボードを含んでよい。他の実施形態において、テスタスライスは、より多くの又はより少ないサイトモジュール及び/又は電源ボードを含んでよい。図3のテスタスライス340Aは、例えば、サイトモジュール310A及び310B、並びにデバイス電源ボード332A及び332Bを含む。しかしながら、テスタスライス上に配置され得るデバイス電源ボード又はサイトモジュールの数には、何も限定はない。テスタスライス340は、ネットワークスイッチ302を通じてシステム制御装置301に接続される。ネットワークスイッチ302は、32ビット幅のバスで、これらのサイトモジュールのそれぞれに接続されてよい。
1つの実施形態において、システム制御装置301はコンピュータシステムであってよく、例えば、テストプログラムをロードしてATE300に接続されたDUTのテストを実行するために、ユーザインタフェースをATEのユーザに提供するパーソナルコンピュータ(PC)であってよい。Advantest Stylusオペレーティングシステムは、デバイステスト中に通常用いられるテストソフトウェアの1つの例である。これにより、テストを構成し制御するグラフィカルユーザインタフェースがユーザに提供される。また、テストフローを制御し、テストプログラムのステータスを制御し、どのテストプログラムが実行されているかを判定し、テスト結果及びテストフローに関連する他のデータを記録するための機能も含まれてよい。1つの実施形態において、システム制御装置は、512個ものDUTに接続され、これらを制御することができる。
1つの実施形態において、システム制御装置301は、イーサネット(登録商標)スイッチなどのネットワークスイッチを通じて、サイトモジュールボード310A〜310Bに接続されてよい。他の実施形態において、ネットワークスイッチは、例えば、ファイバチャネル、802.11、又はATMなどの異なるプロトコルと互換性があってよい。
デバイス電源ボード332A〜332Bのそれぞれは、サイトモジュール310A〜310Bのうち一方から制御されてよい。テスタプロセッサ304上で実行されるソフトウェアは、デバイス電源を特定のサイトモジュールに割り当てるように構成されてよい。1つの実施形態において、サイトモジュール310A〜310B及びデバイス電源332A〜332Bは、例えば、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)、シリアルATアタッチメント(SATA)、又はシリアルアタッチドSCSI(SAS)といった高速シリアルプロトコルを用いて、互いに通信するように構成される。
1つの実施形態において、各サイトモジュールは、図3に示されるように2つのFPGAで構成される。図3の実施形態におけるFPGA316及び318のそれぞれは、テスタプロセッサ304によって制御される。テスタプロセッサ304は、図3のシステムバス330及び332で示されるように、PCIeなどの8レーン高速シリアルプロトコルインタフェースを用いて各FPGAと通信することができる。他の実施形態において、テスタプロセッサ304はまた、例えば、シリアルATアタッチメント(SATA)又はシリアルアタッチドSCSI(SAS)といった異なる高速シリアルプロトコルを用いてFPGAと通信してもよい。
FPGA316及び318はそれぞれ、メモリモジュール308及び304に接続される。メモリモジュールは、FPGAデバイス及びテスタプロセッサ304の両方と接続されてよく、これらの両方によって制御されてよい。
FPGA316及び318はそれぞれ、バス352及び354を通じて、ロードボード380上のDUT372A〜372Mに接続されてよい。ロードボード380は、ライン352及び354でDUTへ通信するのに用いられるプロトコルに依存しない汎用高速接続を、サイトモジュールエンドで可能にする物理ハーネスである。しかしながら、DUTエンドにおいてロードボードは、DUTによって用いられているプロトコルに固有のコネクタを有するように設計される必要がある。
図3は、テスタスライスの例示的な実施形態のみを示していることに留意されたい。さらに、本発明の実施形態は、図3に示されるテスタスライスの種類だけに限定されないことに留意されたい。本発明の実施形態は、さらに下記で論じられることになるが、異なる種類のテスタスライス及びプリミティブを含んでよい。
DUT372A〜372Mは、本発明の1つの実施形態において、テスト用のサーマルチャンバ390の内側に配置されるロードボード380上に搭載される。DUT372A〜372M及びロードボード380は、デバイス電源332A及び332Bから電力を得ている。
各FPGAに接続され得るDUTの数は、FPGA内の送受信機の数と、各DUTが必要とするI/Oレーンの数とに依存する。1つの実施形態において、FPGA316及び318はそれぞれ、32個の高速送受信機を含んでよく、バス352及び354はそれぞれ、32ビット幅であってよい。しかしながら、用途に応じて、より多くの又はより少ない数量で実装されてよい。例えば、各DUTが8個のI/Oレーンを必要とする場合、そのようなシステムでは、4個のDUTだけが各FPGAに接続され得る。
図4Aは、本発明の一実施形態によるDUTインタフェースボード(DIB)400とインタフェースで接続されたプリミティブ410を示す。図2に示されるテスタスライス40と同様に、図4Aのプリミティブは、テストヘッド20に収まるディスクリートテストモジュールの一種であり、テストプランに従ってDUTに対してテストを行うテスト回路を備える。プリミティブは筐体450を有し、その中に、例えば、サイトモジュール、電源などの様々な電子機器が全て収納されている。DIB400は、DUT420の大きさに合わせた特注のコネクタを用いて、複数のDUT420を含み得る。DIB400は、筐体470も含み得る。DIB400は、図3に示されるロードボード380と同様のロードボード(不図示)を通じて、プリミティブ410の汎用バックプレーン(不図示)にインタフェースで接続されている。プリミティブ410は、DUT420に対してテストプランを実行するための(図3に示されるテスタスライス340Aと同様の)テスト回路を含む。プリミティブ410は、任意の他のプリミティブから独立して動作することができ、(図3に示されるシステム制御装置301と同様の)制御サーバに接続されている。
図4Bは、複数のプリミティブ491を含むワークセルを示す。本発明の実施形態は、(図4Bに示されるプリミティブと同様の)複数のプリミティブ及び関連するDIBとを利用して、DUTをテストする。本発明の実施形態は、(図2のテスタスライス40と同様の)テスタスライスを用いて、DUTをテストすることもできる。各プリミティブ(又はテスタスライス)は、他のプリミティブ(又はテスタスライス)から独立して動作することが可能であることを意味するモジュール方式である。したがって、(図4Bに示されるように)ラック内に配置された複数のプリミティブはそれぞれ、異なるテストプランに従って動作することができる。これらのプリミティブは、命令、制御、管理などのために、制御サーバと通信する。制御サーバは、制御サーバがサポートする様々なプリミティブ用の複数のアプリケーションプログラム又はテストプランをホストすることが可能である。プリミティブは、標準的なIPネットワークを介してサーバと通信することができる。遠く離れて位置する可能性がある様々なコンピュータシステムは、標準的なIPネットワーク接続を介してサーバにアクセスすることができる。
したがって、このテストプラットフォームの下では、1)プリミティブのモジュール性、及び2)標準的なIPネットワーク接続の使用によって、複数のプリミティブ又はテスタスライスが、1人のユーザによる所与のテストプランに従って複数のDUTをテストすることが可能であり、一方、同じラックの第2の複数のプリミティブが、第2のユーザによって管理される全く異なるアプリケーション(又は異なるテストプラン)を実行するといった具合である。したがって、アイドル状態のテスト回路と関連した、従来のテストシステムのこれまでの課題は取り除かれる。例えば、6つのプリミティブを含むテストヘッドにおいて、これらのプリミティブのうち2つが、SATA型の装置をデバッグするために技術部署専用とすることが可能であってよく、これらのプリミティブのうち4つが生産部署によるSSDドライブの大量テスト専用としてよい。
1つの実施形態において、本テストシステムが図4Aに示されるプリミティブを用いる場合、プリミティブは効率的な方法で区切られるように設計されているので、環境チャンバは、プリミティブのラックと関連付けられたDUTをテストするときには、もはや必要とされない。本実施形態において、プリミティブの筐体450は、DUTからの熱が筐体の内側に保持されることを可能にし、したがって、別個の加熱チャンバが必要とされない。結果として、DUT及びプリミティブに対して、ユーザが直接に操作することがいつでも可能になる。換言すれば、DUTは、(筐体内で長時間電源が投入されると)DUTを高温でテストするのに必要な熱を供給する。さらに、プリミティブ筐体450は、DUTを冷却し、その意結果としてプリミティブの内部温度を下げるために、空気がプリミティブ内を循環できるようにするファン及び/又は通気孔を含んでよい。
異なる実施形態において、本テストシステムが図2に示されるテスタスライスを用いる場合、環境チャンバが依然として必要とされるが、本システムがモジュール方式であることによって、異なるユーザが環境チャンバの個々の区分を排他的に制御することが可能になる。したがって、DUT及びテスタスライスに対して、ユーザが直接に操作することがいつでも可能になる。例えば、第1のユーザが、テスタスライスの第1のセットを用いて環境チャンバ内でテストを実行してよく、一方、第2のユーザが、自分の排他的な制御下にあるテスタスライスの第2のセット内のDUTを操作してよい。
図5は、異なるアプリケーションを用いる複数のユーザをサポートする、本発明の一実施形態によるテストシステム500を示す。図5に示されるように、制御サーバ525が異なるプリミティブ540a及び540bと通信状態にある。これら2つのプリミティブは、(図4Bに示されるように)単一のラック内に配置されてよい。図5の例示的なテストシステムはプリミティブを用いるが、本発明の原理は、テスタスライスを用いるテストシステムにも同様に適用できることに留意されたい。
プリミティブ540aは、テストプラン「TP1」を用い、(DIBを介して)複数のDUT550aをテストすることが示されている。プリミティブ540bは、テストプラン「TP2」と呼ばれる別個のアプリケーションを用い、(DIBを介して)複数のDUT550bをテストすることが示されている。2つの異なる標準的なIPネットワーク接続を介して、第1のユーザコンピュータ510及び第2のユーザコンピュータ520が両方とも、制御サーバ525に接続される。
例えば、第1のユーザコンピュータは、ある顧客の技術部署専用としてよく、第2のユーザコンピュータは、生産部署専用としてよい。これらのユーザコンピュータは、互いに遠く離れていてよく、且つサーバ525から遠く離れていてもよい。さらに多くのプリミティブ及び/又はテスタスライスが、サーバ525と通信状態にあってよく、説明のために2つだけが示されていることが理解される。
図5に示される例において、第2のユーザコンピュータ520は、プリミティブ540bによる実行を介して複数のDUT550bに対する生産テストプランを制御している。この生産テストプランは、制御サーバ525へロードされ、次に、DUT550bに対して実行するために、プリミティブ540bにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ520は、DUT550bの大量生産テストの間、生産従事者の管理下にあってよい。
このように、本発明の実施形態は、同じテスタを用いて、全く異なる機能をサポートすることができる。例えば、生産テスト中に、テスタは、テストヘッド内のプリミティブのサブセットを用いて、一定のワークフローを実行してよい。例として、生産ワークフローには、SSDドライブにバーコードを付けること、これらのSSDドライブをテストすること、及び各SSDドライブを「合格」又は「不良」として分類することが含まれてよい。同時に、技術チームの一員が、テストヘッド内の異なるセットのプリミティブを用いて、SATAドライブの不良結果をデバッグするなどの全く異なる機能を実行してよい。
上記テストと同時に、第1のユーザコンピュータ510は、プリミティブ540aを介して、複数のDUT550aに適用する技術テストプランを制御することができる。技術テストプランは、まだ完成していない開発中のテストプランであってよい。あるいは、技術テストプランは、異なるプロトコルを用いて異なるDUTをテストするための、単に異なる種類の生産テストプラン、例えば、DUTタイプxに対してDUTタイプyであってもよい。この技術テストプランは、制御サーバ525へロードされ、次に、DUT550aに対して実行するために、プリミティブ540aにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ510は、今後使うために現在試作中のテストプランを開発するテストエンジニアの管理下にあってよい。
1つの実施形態において、ユーザコンピュータ510及び520は、テストソフトウェア、例えば、Advantest Stylusを実行するシステム制御装置であってよい。異なる実施形態において、ユーザコンピュータ510及び520は、通信ネットワーク、例えばIPネットワークを通じてサーバ525に接続されたユーザ端末であってよく、サーバ525は、テストソフトウェア、例えば、Advantest Stylusを実行するシステム制御装置であってよい。
1つの実施形態において、サーバ525は、接続されたプリミティブ(又はテスタスライス)全てのテストを監視する制御装置であり、ユーザにGUIも提供する。他の実施形態において、図5に示されるように、ユーザはIP接続を通じてサーバに接続し、サーバに接続されたユーザコンピュータのそれぞれは、別個のGUIを関連するユーザに提供し、関連するプリミティブのセットを制御する。
サーバ525は、1つの実施形態において、ユーザ間にリソースを割り当てる割り当てスキームを実行することができる。例えば、サーバは、ユーザの用途に応じて、ユーザにプリミティブ及び/又はテスタスライスを割り当てることができる。1つの実施形態において、サーバは、異なる目的の異なるプリミティブ及び/又はテスタスライスを異なるユーザに動的に割り当て、且つ管理することができる。サーバは、ユーザコンピュータのそれぞれと、サーバ525に接続された様々なプリミティブ(及び、それらの関連DUT)との間の双方向通信も可能にする。サーバはまた、接続された様々なプリミティブ上で同時に実行されるワークフローを管理し、接続されたプリミティブ及び/又はテスタスライス上で、様々なワークフローを追跡することができる。
本発明の実施形態は、有利には、異なる種類のデバイス(異なるサイズ、種類、及び形状の要因を含む)を同じテストヘッド20を用いて同時にテストするのに用いられ得ることに留意されたい。例えば、同じテスタが、異なるプリミティブ又はテスタスライスを用いて、SATAドライブ及びSSDドライブを同時にテストするのに用いられ得る。
さらに、異なるテストプランが、テストされている異なる種類のデバイスごとに、又はテストヘッド内のプリミティブ又はテスタスライスごとに実行されてよい。これにより、有利には、単一の顧客が単一のテスタを複数の機能に合わせて並行して用いることが可能になり、各機能に合わせた専用テスタが不要になる。本発明の実施形態をサポートするために、1つの実施形態において、テスタソフトウェアが複数のテストプログラムを同時にロードする能力を有することになり、各テストプログラムは、異なるプリミティブ上で同時に実行されてよい。例えば、ユーザがグループごとに1つのテストプログラムをロードすることが可能であってよく、1つのグループが、1つのトレイスロット上の全てのDUTと定められる。テスタソフトウェアは、1つの実施形態において、テスタシステムに存在するプリミティブと同数のテストプログラムを同時に実行することをサポートする能力を有することができる。
したがって、プリミティブ540aが複数のDUTをテストする複数のプリミティブを表すと仮定すると、同じラックの第2の複数のプリミティブ540bが異なるユーザによって異なる目的に用いられることが可能であり、これにより、あらゆるアイドル状態のコンポーネントを無くすことができる。より具体的には、第1のテストが技術チームによってDUT550aで行われている間、生産チームは並行して、後で使用する次のテストを準備するためにプリミティブ550bを用いてよいことは有利である。
標準的なIPネットワーク通信が、制御サーバ525とユーザコンピュータとの間で用いられるので、複数のユーザコンピュータがいつでも制御サーバ525にアクセスすることができ、これらのユーザコンピュータは遠く離れていてもよい。これにより、複数の異なるテストプランが、異なるユーザによるサーバ制御を介して、ラックの様々なプリミティブにロードされ、互いから独立して実行されることが可能になる。
環境チャンバがプリミティブの設計を理由に取り除かれる実施形態において、プリミティブ540bのテストプランが動作している間に、プリミティブ540aは直接に手動でインタラクトされてよく、逆の場合も同じである。
同様に、環境チャンバが依然として用いられる、テスタスライスを用いた実施形態であっても、これらのテスタスライスが互いから独立して用いられ得るので、異なるユーザが環境チャンバの個々の区分を排他的に制御することができる。
本発明の利点には、各プリミティブが独立して動作できるという点で、より大きなテスタ適応性が含まれる。本発明の別の利点は、アイドル状態のテスト回路を無くすことによってテスタ効率が上がることである。本発明の別の利点は、プリミティブの所与のラック内で、複数のユーザが異なるDUTに対して異なるテストプランを同時に実行できることである。
[テストプログラムフロー制御]
1つの実施形態において、ユーザは、プリミティブ又はテスタスライスに接続された各DUTに対して、異なるテストフローを実行することができる。図6は、従来のテスタより優れた、本発明の実施形態が提供する今までにない改善を示す上位概要である。
図6に示され上述されたように、従来のテスタは、テストヘッド内に含まれる全てのテスタスライスで単一のテストプラン(又はテストプログラム)しか実行できないので、限定されていた。
さらに、上述されたように、本発明の実施形態は、1)プリミティブのモジュール性、及び2)標準的なIPネットワーク接続の使用の結果として、従来のテスタを部分的に改善する。したがって、図6に示されるように、複数のプリミティブ又はテスタスライスが、1人のユーザによる所与のテストプランに従って複数のDUTをテストすることが可能であり、一方、同じラックの第2の複数のプリミティブが、第2のユーザによって管理される全く異なるアプリケーション(又は異なるテストプラン)を実行するといった具合である。例えば、テスタ620が8個のプリミティブを含む場合、各プリミティブは、異なるテストプログラム(TP0、TP1、…、TP7)を実行することが可能である。さらに、各プリミティブは、異なるプロトコルを実行するDUTをテストすることができる。例えば、1つのプリミティブ又はプリミティブのセットがSSDドライブをテストすることができ、別のプリミティブ又はプリミティブのセットがSATAドライブをテストすることができる。
本発明の実施形態はまた、プリミティブ(又はテスタスライス)に接続された各DUTに対して、ユーザが異なるテストフローを実行することを可能にすることで、従来のテスタを改善する。同じプリミティブに接続された全てのDUTは同じプロトコルを実行し得るが、本発明の実施形態は、各プリミティブのDUTが異なるテストフローを実行することを可能にする。図6のテスタ630に示されるように、テストプログラムTP0を実行するプリミティブに接続されたDUT0がフローAを実行し、DUT2がフローBを実行し、DUT7がフローCを実行する。換言すれば、プリミティブ内の各DUTは、独自のテストフローを実行することができ、プリミティブ内のその他の全てのDUTと同じテストフローを実行する必要はない。
図7は、本発明の一実施形態によるテストプログラムの様々なコンポーネントを示す。テストプログラムは通常、2つのファイル、すなわち、標準テストインタフェース言語(STIL)ファイル及びテストメソッド(.so)ファイルから構成される。テストメソッド(.so)ファイルは通常、DUTを直接にテストするためにテスタのサイトモジュール上で実行することになるコンピュータコードを含む。一方、STILファイルは、(いくつかある構成情報の中でも特に)テストプログラムを作成するために、テストメソッドがどのように構成されるかに関する情報を含む。
テストメソッドは、テストプログラムの基本的構成要素を含む。例えば、図7に示されるように、テストメソッド710は、デバイスを開き、DUTに対してリセットを行うオペレーション、又は任意の他のテスト関連オペレーションを含み得る。テストメソッドは、DUTと直接に通信する。テストメソッドは、図7を用いて下記に詳述されることになる階層構造のSTILファイルで構成される。
本発明の1つの実施形態において、テストメソッドは、テストパラメータ730で起動する。テストパラメータ730は、特定の順序で実行されるテストメソッドのセットである。テストパラメータは通常、テストメソッドのリストを含む。
テストセグメント740は通常、単一のテストパラメータ730と関連付けられる。テストパラメータ730は、テストセグメントで起動し得る。同じテストパラメータが、複数のセグメントに用いられ得ることに留意されたい。また、テストセグメントは、DUTのビン情報及びテストパラメータを含むことにさらに留意されたい。ビン番号は、DUTが属する物理ビンに関連してよい。したがって、テストセグメントは、テストパラメータ内のテストメソッドを、テストパラメータからのテストメソッドが実行されるはずの物理DUTに関連付ける。プログラムシーケンスを作成するために、複数のテストセグメントが組み合わされてよい。
プログラムシーケンス760は、特定の順序で実行されるセグメントのセットである。次の4つの異なるプログラムシーケンスが存在する。すなわち、(a)開始(Start):前処理段階、(b)主(Main):実際のテスト段階、(c)終了(Finish):後処理段階、例えばデバイスの電源を切る、後片付けなど、及び(d)デバッグ(Debug):デバッグ目的のために手動で実行され得るセグメント(任意でよい)の4つである。全てのテストプログラムには、開始プログラムシーケンス、主プログラムシーケンス、終了プログラムシーケンスがある。デバッグ目的に利用可能な任意のデバッグプログラムシーケンスも存在する。
従来のテスタは通常、STILファイルごとに1セットのプログラムシーケンスだけを許可する。本発明の1つの実施形態において、テストフロー構成体が、4つのプログラムシーケンスのセットを含むテスタソフトウェア(例えば、Advantest Stylus)内に定義されている。例えば、図7に示されるように、テストフローABCは、4つのプログラムシーケンスとして、開始、主、終了、及びデバッグを含む。同様に、テストフローDEFも、4つのプログラムシーケンスとして、開始、主、終了、及びデバッグを含む。さらに、テストスイート構成体が作成される。テストスイート720は、テストフローの集合体として定義される。
本発明の1つの実施形態において、ユーザが複数のテストフローを1つのSTILファイルに定義することが可能なのは有利である。本発明の実施形態は、ユーザが複数のテストフローを1つのSTILファイル内に定義することを可能にして、プリミティブ(又はテスタスライス)に接続された各DUTに対して異なるテストフローを実行することで、従来のテスタを改善する。プリミティブ内の各DUTは、STILファイルに定義された複数のテストフローのうち1つを実行することができる。同じプリミティブに接続された全てのDUTが同じプロトコルを実行し、且つ同じユーザの管理下にあってよいが、本発明の実施形態は、各プリミティブのDUTが異なるテストフローを実行することを可能にする。したがって、本発明の実施形態は(上述したプリミティブごとの適応性に加えて)DUTごとの適応性を可能にする。さらに、本発明の実施形態は、各デバイスが複数のインサーションを有することが可能であり、全てのインサーションは、異なテストフローを必要とする。STILファイルは、全てのインサーションを処理するように構成される。
本発明の実施形態は有利には、プリミティブ内の各DUTがテストプロセス中に異なるポイント又は段階にあることを可能にすることで、1つのテストプログラムにおいて単一のテストフローしか許可しなかった従来のテスタに比べて、テストをより効率的にする。従来のテスタは、テスタ内の全てにDUTに対して同じテストフローを実行するように制限されていた。複数のテストフローへのサポートがなく、リソースを効率的に用いることができないので、生産プロセス及び技術プロセスの両方は概して、より複雑になる。
したがって、本発明の実施形態は、異なるテストメソッドが異なるDUTに対していつでも実行されることを可能にし、これにより、ユーザがテスタリソースを十分に利用することが可能になる。複数のテストフローをサポートする能力がなければ、テストプロセスの異なる段階にあるDUTは、いくつかのテスタの間で分離される必要があるであろう。例として、テスタ内の各DUTが3つの異なるテストプログラムを実行する必要があるとしてみよう。従来、顧客は、1番目のテストプログラムをロードし、2番目のテストプログラムを開始する前に、テスタ内の全てのDUTのテストを終了させる必要があった。1番目のテストプログラムが完了した後、ユーザは次に、2番目のテストプログラムをロードして、全てのデバイスの測定を完了させる必要があるといった具合になるであろう。
本発明の実施形態を用いると、顧客は、3つのテストプログラムのそれぞれを、マルチフローSTILファイルで単一のテストフローに統合することができる。次に、DUT12がDUT0よりずっと前に終了した場合、顧客はDUT12に対して2番目のテストフローを実行することができ、一方、DUT0は依然として1番目のテストフローを実行している途中である。こうして、本発明の実施形態は、顧客が各プリミティブで異なるテストプログラムを実行することを可能にするだけでなく、顧客が各DUTに対して異なるテストプログラムを実行することも可能にする。したがって、本発明の実施形態は、ユーザに十分な適応性を提供し、システムリソースの使用をより効率的にするのに役立つ。
1つの実施形態において、ユーザは、2つの既存のSTILファイルを結合することが可能であってよい。STILファイルに定義された全てのテストフローは、同じテストメソッドのセット(例えば、テストメソッド710)に依存するので、ユーザは、個々のテストプログラムごとのテストメソッド(.so)ファイルで利用可能なテストメソッドの全てが、結合されたテストプログラムのテストメソッドファイルでも利用可能であることを保証する必要があるであろう。
本発明の実施形態はまた、テストフローを編集するグラフィカルユーザインタフェース(GUI)も可能にする。例えば、図7に示されるように、GUIは様々なテストフロー用のタブ、例えば、Primary、ABC、DEF、GHIなどを有する。さらに、各フローは、当該フロー内のプログラムシーケンスごとに、例えば、図7に示されるように、開始、主、終了、デバッグなどの別個のタブを有する。図7の例では、テストフローウィンドウ795がテストフローPrimaryの主シーケンスを示している。主シーケンスは、テストフローPrimaryの実際のテスト段階を含む。本発明の実施形態は、図7の例に示されるGUIを用いてテストフローの編集を可能にする。テストフローPrimaryの主シーケンスを編集するために、例えば、ユーザは、テストフローウィンドウ795に示されるセグメントを、図を使って編集することができる。
本発明の実施形態はまた、テストフローを実行するGUIも可能にする。ユーザは、GUIからテストプログラムを実行する場合、1つのテストフロー又はテストスイート全体を実行することを選択することができる。特定のテストフローを実行するために、ユーザは、実行したいテストフローを選択する。次にユーザは、そのテストプログラムの実行を開始することができる。選択されたフローは、DUTツールで選択された全てのDUTに対して実行されることになる。テストスイートを実行するために、ユーザは、プログラムを実行したいDUTを選択し、次に、GUIのDUTツールにある実行ボタンを押してよい。テストスイートを実行すると、何か故障があった場合に、テストスイートは実行を停止することができ、GUIはその故障を報告することになる(その後のフローが故障時に実行されることはない)。
本発明の実施形態はまた、実行命令番号付けも可能にする。各テストフローは、上述されたように基本的なセグメントに基づいている。本発明の実施形態は、各セグメントに識別番号を割り当てる。これにより、ユーザは、テスト進捗について、より優れた可視性を提供される。実行時に、ユーザは、テストがどの段階にあるかを、識別番号を用いて判断することが可能である。図7に示されるように、実行番号761は、ユーザによって編集可能である。さらに、この実行番号は任意であり、必ずしも全てのセグメントが実行番号を必要とするとは限らない。実行番号が定められていない場合、実行番号が表示されることはない。
1つの実施形態において、テスタソフトウェアは特定の実行時段階をサポートする。例えば、デバイスごとに、テスタソフトウェアは、DUTに対してどのテストフローを実行するかを自動的に判定することができる。テストフローが終了すると、自動システムはまた、関連DUTに対して、次のテストフローを続けるか又はテストプロセスを終了するかを決定することができる。
図8は、本発明の1つの実施形態による、同じテスタ上で複数のテストプログラムを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。しかしながら、本発明は、フローチャート800で提供される説明に限定されない。むしろ、本明細書において提供される教示から、他の機能フローが本発明の範囲及び精神に含まれることが当業者には明らかであろう。フローチャート800は、上述された例示的な実施形態を引き続き参照しながら説明されることになるが、本方法は、これらの実施形態に限定されない。
段階802で、第1のテストプランが制御サーバ、例えばサーバ525に第1のユーザコンピュータ、例えばユーザコンピュータ510からロードされ、制御サーバは、テスタ内の複数のプリミティブと通信状態にある。上述されたように、本発明の実施形態は、テスタスライスにも適用される。制御サーバは通常、制御サーバがプリミティブと通信して、プリミティブ内のDUTに対してテストプランを実行することを可能にするテスタソフトウェア、例えばAdvantest Stylusオペレーティングシステムを実行することになる。
段階804で、第1のテストプランは、複数のプリミティブからプリミティブの第1のセットにダウンロードされ、プリミティブの第1のセットと関連付けられたDUTに対して実行される。図5と関連した例において言及されたように、第1のユーザコンピュータは、技術グループによって制御されてよく、プリミティブの第1のセットは、技術グループのテストプランを実行してよい。
段階806で、第2のテストプランが第2のユーザコンピュータ、例えばユーザコンピュータ520から制御サーバへロードされる。第2のユーザコンピュータは、例えば、顧客サイトにおいて生産グループの管理下にあってよい。
段階808で、第2のテストプランは、複数のプリミティブからプリミティブの第2のセットにダウンロードされ、プリミティブの第2のセットと関連付けられたDUTに対して実行される。
段階810で、サーバは、プリミティブの第1のサブセットに対して第1のテストプランを、プリミティブの第2のサブセットに対して第2のテストプランを、同時に実行する。
図9は、本発明の1つの実施形態による、同じテスタの単一のプリミティブ内で複数のテストフローを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。しかしながら、本発明は、フローチャート900で提供される説明に限定されない。むしろ、本明細書において提供される教示から、他の機能フローが本発明の範囲及び精神に含まれることが当業者には明らかであろう。フローチャート900は、上述された例示的な実施形態を引き続き参照しながら説明されることになるが、本方法は、これらの実施形態に限定されない。
段階902で、テストプランが制御サーバ、例えばサーバ525にユーザコンピュータ、例えばコンピュータ510からロードされ、制御サーバは、テスタ内の複数のプリミティブ、例えばプリミティブ540a〜bと通信状態にある。制御サーバは通常、制御サーバがプリミティブと通信して、プリミティブ内のDUTに対してテストプランを実行することを可能にするテスタソフトウェア、例えばAdvantest Stylusオペレーティングシステムを実行することになる。
段階904で、テストプランは、複数のプリミティブから1つのプリミティブにダウンロードされ、そのプリミティブと関連付けられたDUTに対して実行される。上述されたように、本発明の1つの実施形態において、ユーザが複数のテストフローをテストプランの1つのSTILファイルに定義することが可能である。
段階906で、複数のテストフローからの第1のテストフローが、プリミティブ内の第1のDUTに対して実行される。段階908、複数のテストフローからの第2のテストフローが、プリミティブ内の第2のDUTに対して実行され、第1のテストフロー及び第2のテストフローは同時に実行される。上述されたように、本発明の実施形態は、ユーザが複数のテストフローを1つのSTILファイル内に定義することを可能にして、プリミティブ(又はテスタスライス)に接続された各DUTに対して異なるテストフローを実行することで、従来のテスタを改善する。プリミティブ内の各DUTは、STILファイルに定義された複数のテストフローのうち1つを実行することができる。同じプリミティブに接続された全てのDUTが同じプロトコルを実行し、且つ同じユーザの管理下にあってよいが、本発明の実施形態は、各プリミティブのDUTが異なるテストフローを実行することを可能にする。
上述の説明は、説明を目的に、特定の実施形態を参照して説明されている。しかしながら、上記の実例となる説明は、包括的であることも、本発明を開示されたまさにその形態に限定することも意図していない。上記の教示を考慮すると、多くの修正及び変形があり得る。本発明の原理及びその現実的な応用を最も適切に説明し、それによって、本発明及び企図される特定の使用に適しているかもしれない様々な修正を伴った様々な実施形態を当業者が最も適切に利用することを可能にするために、これらの実施形態が選択され、説明された。