(57)【要約】      （修正有）【課題】半導体デバイスの別個の機能部分を試験する際に、並行性の程度を単純に指定可能にする試験システムを構成するための技術を提供する。【解決手段】複数のサブフローを有する試験フローに関して、各サブフローに関連してアクセスされるピンを特定することにより、フロードメインを定義する。それぞれが１つのフロードメインと関連付けられるサイト領域を定義する。試験器サイトを、これらのフロードメイン特有サイト領域のそれぞれと関連付け、別個に動作するリソースをこれらの試験器サイトに割り当てる。定義されるサイト領域の第２部分もまた、試験器サイトと関連付け、これらのサイト領域に割り当てられるリソースは複数のフロードメインからアクセスする。試験ブロックは、並行して実行のために開発されていない場合であっても、フロードメイン特有サイト領域内のリソースを使用して、並行して実行することができる。【選択図】図１
2018049018.tif 000002
【特許請求の範囲】
【請求項１】
複数個のコアを有するデバイスを試験するための試験システムであって、各コアが複数個のピンを含み、前記試験システムが複数の試験器サイトと関連付けることができるがハードウェアリソースを有し、前記試験システムが前記コアのそれぞれと関連付けられる警報条件を別個に検出するハードウェア構成要素を有するところの試験システムを作動する方法であって、
各試験器サイトと関連付けられた前記ハードウェアリソースが、前記複数個のコアのうち関連するコアの前記ピンにアクセスできるように、前記複数の試験器サイトのそれぞれを、前記関連するコアにマッピングする工程と、
前記試験器サイトに関連付けられたハードウェアリソースを制御することによって、前記複数個のコアのそれぞれをそれぞれが試験する複数個の試験ブロックを有する試験フローを実行し、前記試験ブロックの一部を並行して実行する工程と、を含み、
前記複数個の試験ブロックを有する試験フローを実行し、前記試験ブロックの一部を並行して実行する工程は、
第１の時間に、前記複数個の試験ブロックの第１部分を並行して実行する工程と、
第２の時間に、前記複数個の試験ブロックの第２部分を順次に実行する工程と、を含み、
前記試験ブロックの前記第２部分の順次実行の間、一回に一つの試験ブロックが実行され、
前記第１部分のうちの一部の試験ブロックが、第１のサブフロー及び第２のサブフローを与えるために並行して実行され、
前記第１部分のうちの一部の試験ブロックを実行する工程は、前記第１のサブフロー及び第２のサブフローのそれぞれで、個別に動作を実施する工程を含み、
前記個別に動作を実施する工程は、前記第２のサブフロー内の警報の検出に基づいて、かつ前記第１のサブフロー内の警報の検出とは無関係に試験ブロックを実行する工程を含む、方法。
【請求項２】
前記複数個のコアが、複数のタイプのコアを含み、
前記方法が、前記試験器サイトをグループへと分割する工程を更に含み、前記グループのそれぞれが、前記複数のタイプのコアのうちの１つのタイプにマッピングされる、請求項１に記載の方法。
【請求項３】
前記複数個の試験器サイトが、フロードメイン特有リソース、グローバルリソース、及び順次的リソースを含む、請求項１に記載の方法。
【請求項４】
複数個の試験器サイトのうちの少なくとも１つの試験器サイトと関連付けることができるハードウェアリソースを有するタイプの試験システムであって、試験器サイトと関連付けられた前記試験システムのハードウェアリソースが、前記試験器サイトへと指示されたコマンドを処理するように、各試験器サイトがサイト識別子を有するところの試験システムを作動する方法であって、
複数個のピン及び複数個のコアを備え、各コアが前記複数個のピンのサブセットを備える、少なくとも１つの半導体構成要素を試験する工程であって、前記複数個のコアのそれぞれに関して、前記複数個の試験器サイトのうちの１つの試験器サイトを、前記コアと関連付けることを含むところの工程と、
複数個の試験ブロックを有する試験フローを実行し、前記複数個の試験ブロックの一部を並行して実行する工程と、を含み、
前記試験器サイトに関連付けられたハードウェアリソースは、試験の間、前記関連するコアの対応するピンにアクセスし、
前記試験ブロックのそれぞれは、対応する少なくとも１つの関連するコアを試験し、前記複数個の試験ブロックのそれぞれが、前記対応する少なくとも１つの関連するコアと関連付けられた試験器サイト内のハードウェアリソースの動作を制御し、
前記複数個の試験ブロックを有する試験フローを実行し、前記試験ブロックの一部を並行して実行する工程は、
第１の時間に、前記複数個の試験ブロックの第１部分を並行して実行する工程と、
第２の時間に、前記複数個の試験ブロックの第２部分を順次に実行する工程と、を含み、
前記試験ブロックの前記第２部分の順次実行の間、一回に一つの試験ブロックが実行され、
前記第１部分のうちの一部の試験ブロックが、複数のサブフローを与えるために並行して実行される、方法。
【請求項５】
ピンをグループ化するフロードメインを定義する、ユーザー入力を受け取る工程と、
前記フロードメインに試験器サイトを割り当てる工程と、を更に含み、
前記各フロードメインは、試験器サイトによってアクセス可能なコアの前記ピンを含む、請求項４に記載の方法。
【請求項６】
前記複数個のピンのグループであって、それぞれが前記複数個のコアのうちの１つのコアの試験の間にアクセスされるピンを示すところのグループを特定するユーザー入力を、コンピューティングデバイスで、受け取る工程と、
前記コンピューティングデバイスを使用して、前記複数個の試験器サイトの、前記特定されたグループへの試験器サイトの割り当てを決定する工程と、によって、前記試験システムを構成するための情報を生成する工程を更に含む、請求項４に記載の方法。
【請求項７】
前記特定されたグループと関連付けられる前記試験器サイト間に、重複が存在しない、請求項６に記載の方法。
【請求項８】
前記特定されたグループのうちの異なるグループと関連付けられるハードウェアリソースが、互いに孤立する、請求項６に記載の方法。
【請求項９】
フロードメイン特有処理が実行される、請求項６に記載の方法。
【請求項１０】
前記フロードメイン特有処理が、サイトループ及び／又は局所的警報を含む、請求項９に記載の方法。
【請求項１１】
前記特定されたピンのグループが、関連する試験ブロックが実行されるサブフロー内部でアクセスされ、
前記複数個の試験ブロックを実行する工程が、前記試験ブロックのそれぞれに関して、前記試験ブロックの制御下で、前記関連するサブフローに関する前記グループ内のピンにアクセスする工程を含む、請求項６に記載の方法。
【請求項１２】
各試験ブロックが、１つのフロードメイン内のピンのみにアクセスする、請求項１１に記載の方法。
【請求項１３】
少なくとも１つのコアが、複数の試験器サイトにマッピングされる、請求項１１に記載の方法。
【請求項１４】
前記特定されたピンのグループのそれぞれが、フロードメインを備える、請求項４に記載の方法。
【請求項１５】
前記方法が、前記第１の時間に、並行実行のための、前記試験ブロックの前記部分を指定する入力を受け取る工程と、
前記第２の時間に、前記試験ブロックの前記第２部分の順次実行を指定するユーザー入力を受け取る工程と、
前記ユーザー入力に応答して、前記試験ブロックの前記第２部分を順次に実行する工程と、を更に含む、請求項４に記載の方法。
【請求項１６】
前記少なくとも１つの半導体構成要素が、複数個の同様の半導体デバイスを含み、前記同様の半導体バイスのそれぞれが、同様の複数個のコアを備え、前記複数個の半導体デバイスのそれぞれの前記複数個のコアが、複数のタイプのコアを含み、
前記試験器サイトが複数個のサイト領域へと分割され、各サイト領域が１つのタイプのコアと関連付けられることにより、前記グループ内の各試験器サイトが、前記半導体デバイスのグループのうちの１つの半導体デバイス上の前記タイプのコアと関連付けられる、請求項４に記載の方法。
【請求項１７】
フロードメイン及び前記複数個の同様の半導体デバイスの数を指定するユーザー入力に基づいて、前記複数個のサイト領域を決定する工程を更に含む、請求項１６に記載の方法。
【請求項１８】
前記フロードメイン及び複数個の同様の半導体デバイスについてのユーザー入力に基づいて、試験器サイトとフロードメインとのマッピングを決定する工程を更に含む、請求項１６に記載の方法。
【請求項１９】
前記複数個の試験ブロックを有する試験フローを実行し、前記試験ブロックの一部を並行して実行する工程が、複数個の試験ブロックインスタンス内の第１の試験ブロックを実行する工程を含み、各試験ブロックインスタンスが、前記複数個の半導体デバイスのうちの１つの半導体デバイスの同様のコアを試験し、前記第１の試験ブロックを実行する工程が、前記複数個の試験ブロックインスタンスのそれぞれで、別個に動作を実施する工程を含む、請求項１６に記載の方法。
【請求項２０】
指定された試験ブロックによって試験されている前記半導体デバイスのグループの各半導体デバイス内の前記複数個のコアのそれぞれに対して、前記別個に動作を実行する工程が、前記グループの半導体デバイスのコアに関して、前記半導体デバイス内の前記複数個のコアのうちの１つ以上に対する試験の結果に基づいて、条件付きで動作を実行する工程を含む、請求項１９に記載の方法。
【請求項２１】
前記半導体デバイス内の前記複数個のコアのうちの１つ以上に対する試験の結果に基づいて、条件付きで動作を実行する工程が、半導体デバイスの第１のコアに対する試験の実行の間、前記半導体デバイス内の第２のコアの並行試験の結果に基づいて、条件付きで動作を実行する工程を含む、請求項２０に記載の方法。
【請求項２２】
前記複数個のサイト領域が第１のタイプのサイト領域を含み、前記第１のタイプのサイト領域のそれぞれが、サブフローの間にアクセスされる複数個のピンを表すユーザー指定フロードメインと、１対１の関係で関連付けられ、
前記試験器サイトが、少なくとも１つの更なるタイプのサイト領域へと更に分割される、請求項１６に記載の方法。
【請求項２３】
前記少なくとも１つの更なるタイプのサイト領域がシステムサイト領域を含み、前記システムサイト領域が、前記複数個の試験ブロックを実行するために利用可能な、それらと関連付けられた全ての試験器リソースを含む、請求項２２に記載の方法。
【請求項２４】
前記少なくとも１つの更なるタイプのサイト領域がグローバルサイト領域を含み、前記グローバルサイト領域が、前記第１のタイプのいずれのサイト領域とも関連付けられない前記複数の試験ブロックを実行するために利用可能な、それらと関連付けられた試験器リソースを含む、請求項２２に記載の方法。
【請求項２５】
複数個のピンのグループが指定され、各グループが、前記複数個のサブフローのうちの１つのサブフローの試験の間にアクセスされるピンに対応し、
前記試験システムが、前記複数個のピンのグループのそれぞれに関連する警報条件を別個に検出するハードウェア構成要素を備え、
前記複数個の試験ブロックを有する試験フローを実行する工程が、関連するピンの前記複数個のグループのうちの第１のグループを有する第１のサブフロー内の第１の試験ブロックと、関連するピンの前記複数個のグループのうちの第２のグループを有する第２のサブフロー内の第２の試験ブロックとを、並行して実行する工程を含み、該実行する工程が、前記第１のサブフロー及び前記第２のサブフローのそれぞれで、別個に動作を実施する工程を含み、
前記別個に動作を実施する工程が、前記第２のグループに関連する警報の検出に基づいて、かつ前記第１のグループに関連する警報の検出とは無関係に、前記第２の試験ブロックを実行する工程を含む、請求項４に記載の方法。
【請求項２６】
少なくとも１つの半導体構成要素を製造する方法であって、
請求項４に記載の前記方法に従って、前記少なくとも１つの半導体構成要素の試験を実行する工程と、
前記試験の結果に基づいて、少なくとも１つの製造作業を実行する工程と、を含む方法。
【発明の詳細な説明】
【背景技術】
【０００１】
試験システムが、半導体デバイスを、その製造の間の複数の段階で試験するために広く使用される。試験システムは、様々な条件下でのデバイスの動作状態を確立及び測定することができる信号を、生成並びに測定することができるリソースと呼ばれる構成要素を含む。リソースは、例えば、所望の形状の波形を生成するようにプログラムすることができる、任意波形発生器とすることができる。別のタイプのリソースは、アナログ信号のサンプルのシーケンスを捕捉することができる。更に別のタイプのリソースは、ＤＣ電圧若しくはＤＣ電流、又はデジタル信号を生成あるいは測定することができる。試験は、被試験デバイスの複数の試験ポイントで試験信号を生成及び測定するように、それらのリソースを制御することによって実行される。
【０００２】
試験を実行する前に、その試験システムは、試験されている特定のタイプの半導体デバイス用に構成される。この試験は、その試験を実行するように試験システムを構成するために必要とされる構成情報と併せて、試験計画と見なすことができる。この構成情報は、被試験デバイス上の各試験ポイントに、試験器内の１つ以上のリソースを関連させる、複数レベルのマッピングを伴い得る。例えば、試験システムは、被試験デバイスに試験システムを接続する構成要素によって、リソースへの信号又はリソースからの信号にアクセスすることができる、「チャネル」と呼ばれる場合もあるアクセスポイントを有し得る。
【０００３】
マッピングは、１つ以上のリソースと、それらのリソースへの信号又はリソースからの信号にアクセスすることができる、試験システムの各「チャネル」との間で、指定することができる。試験システムはまた、被試験デバイス上の特定の試験ポイントへの接続を形成することができる、「ピン」と呼ばれる場合もある場所に、各チャネルをマッピングするインターフェースも含み得る。これらのマッピングを使用して、試験システムは、いずれのリソースが、被試験デバイス上の特定の試験ポイントで、特定のタイプの信号を生成又は測定するように制御するかを、決定することができる。
【０００４】
試験システムは、単一の被試験デバイスを試験するために必要とされるリソースよりも、多くのリソースを含み得る。平均試験時間の速度を上げ、またそれゆえ半導体デバイスを製造するコストを低減するために、試験システムは、複数のデバイスを並行して試験するようにプログラムすることができる。各デバイスは、試験の間、ユーザーサイトに位置決めすることができる。複数のデバイスの試験をサポートするために、一部の試験システムは、試験器サイトをサポートする。各試験器サイトが、被試験デバイスのための試験信号を生成又は測定することができるように、各試験器サイトをユーザーサイトに接続することができる。複数の試験器サイトを使用する場合、各試験器サイトは、機能的に等価なリソースを有するように構成することができ、それゆえ、同じタイプの信号が、各試験器サイトで生成又は測定されることにより、ユーザーサイトに結合された複数のデバイスを、並行して試験することができる。
【０００５】
試験器サイトがサポートされる実施形態では、ユーザー入力は、代表的デバイスを試験するために必要とされる試験プログラム及びリソースの構成を指定することができる。別個に、ユーザーは、ユーザーサイトについての情報を指定することができる。自動化ツールは、各ユーザーサイトに関して実行される試験プログラムのインスタンスを、試験器リソースが有するように構成する方法を、ユーザーが決定する手助けをすることができる。試験プログラムの各インスタンスは、関連する試験器サイトを制御することができる。したがって、複数の半導体デバイスを試験するための試験システムを構成する更なる態様は、いずれのリソースが集合的に１つの試験器サイトを形成するかを、指定することを伴い得る。この情報を使用して、試験システムは、次いで、各ユーザーサイトに関する試験プログラムのインスタンスを、並行して実行することができる。
【０００６】
そのような並行試験をサポートするために、試験システムは、試験器サイト特有動作をサポートすることができる。試験システムのハードウェアは、例えば、１つの試験器サイトに割り当てられたリソースを、一斉に制御することを可能にすることができるため、試験器サイトのリソースは、一斉に開始又は停止させることができる。更には、各試験器サイト内のリソースは、他の試験器サイト内のリソースから別個に動作させることができる。この独立性を使用して、各ユーザーサイトに関連するリソースが、そのサイトでの測定を条件とする方式で動作するように、試験システムを制御することができる。結果として、各ユーザーサイト内での試験実行は、被試験デバイスに対して遂行される試験に基づいて、動的に制御することができる。例えば、試験システムは、１つのユーザーサイトのデバイスに関連する誤動作条件を検出することができる。この試験システムは、そのデバイスを不良としてフラグ設定する一方で、他のユーザーサイトのデバイスの試験を継続することができる。それらの他のデバイスの試験は、試験システムが、ユーザーサイトのうちの１つに接続された不良デバイスの試験を停止する場合であっても、継続することができる。
【０００７】
半導体デバイスがより複雑化するにつれて、試験の複雑性もまた増大している。例えば、半導体デバイスは、現在、複数の「コア」を想定して設計される場合があり、各コアが１つの機能を実行する。具体的実施例としては、半導体デバイスは、デジタル計算及び制御機能を実行する、処理コアを有し得る。別個のコアが、音声出力を生成することができ、更に別のコアが、無線インターフェース又は他のネットワークインターフェースを制御することができる。そのような半導体デバイスに関する試験プログラムは、複数の試験ブロックとして開発することができる。各試験ブロックは、コアを試験するための試験信号を生成及び測定するように、リソースを制御することができる。
【０００８】
一部のコアは、機能的に独立し得るため、それらのコアに関する試験ブロックは、１つの試験ブロックが他の試験ブロックの結果に干渉することなく、同時に実行することができる。しかしながら、一部の試験ブロックは、異なる時間に実行する必要があるが、これは、デバイス内部のコアが別個に並行動作することができないためか、又はそれらのコアの全てのインスタンスを並行して試験するための十分なリソースが、試験システムに不足しているためである。
【０００９】
試験システムを構成する更なる態様は、「フロー」を指定することを伴い得る。このフローは、代表的デバイスを試験するために試験ブロックが実行される順序を指示する。複数のユーザーサイトをサポートする試験システムでは、そのフローの複数のインスタンスを、各ユーザーサイトにつき１つ実行することができる。
【００１０】
複数の試験ブロックを並行して実行することができる場合、そのフローは複数のサブフローを有し、各サブフローを並行して実行することができる。各ユーザーサイトが複数のコアを備えるデバイスを有する、複数のユーザーサイトが使用される場合、試験は、各ユーザーサイトでフローインスタンスを伴い、各フローインスタンスは複数のサブフローを含み得る。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
複数の機能領域を有する半導体デバイスに対する試験の実行の改善は、半導体デバイスの一領域を試験する際にアクセスされるピンをそれぞれが含む、フロードメインの定義を通じて、提供することができる。サイト領域へと編成される試験器サイトは、試験プログラムが並行実行のために具体的に準備されていない場合であっても、それらの機能領域を試験する際の、任意の好適な程度の並行性を可能にする方式で、フロードメインを試験するためのリソースを割り当てる際に、使用することができる。そのような並行性は、複数の機能領域の並行試験、又は連続試験、あるいは並行試験と連続試験との任意の好適な混合を可能にすることができる。
【００１２】
半導体デバイスの種々の機能部分に関連する試験ブロックの実行のための試験システムを構成するための、単純な機構もまた提供することができる。これらの試験ブロックは、指定された程度の並行性で実行することができ、この並行性の程度は、試験ブロックを開発した後に指定することができる。
【課題を解決するための手段】
【００１３】
一態様では、本発明は、複数個のコアを有するデバイスを試験するための試験システムを作動する方法に関する。各コアは、複数個のピンを含み、試験システムは、複数の試験器サイトを有し得る。各試験器サイトは、ハードウェアリソースを有し得る。各試験器サイトのハードウェアリソースが、関連するコアのピンにアクセスできるように、複数個の試験器サイトのそれぞれを、複数個のコアのうちの関連するコアにマッピングする工程と、関連する試験器サイト内のハードウェアリソースを制御することによって、各試験ブロックが、複数個のコアのうちの１つのコアをそれぞれが試験する複数個の試験ブロックを有する試験フローを実行し、試験ブロックの一部を並行して実行する工程を含む方法に従って、半導体デバイスを試験することができる。
【００１４】
別の態様では、本発明は、複数個の試験器サイトのうちの少なくとも１つの試験器サイトと関連付けることができるリソースを有するタイプの試験システムであって、試験器サイトに関連付けられた試験システムのハードウェアリソースが試験器サイトに指示されたコマンドを処理するように、各試験器サイトがサイト識別子を有するところに試験システムを作動する方法に関する。複数個のピン及び複数個のコアを備え、各コアが複数個のピンのサブセットを備える、少なくとも１つの半導体構成要素を試験する工程を含む方法に従って、半導体デバイスを試験することができる。複数個のコアのそれぞれに関して、この方法は、  複数個の試験器サイトのうちの１つの試験器サイトを、そのコアと関連付ける工程を含み、その試験器サイトに関連付けられたリソースは、試験の間、関連するコアの対応するピンにアクセスする。次いで、複数個の試験ブロックを、試験フローに従って実行することができ、各試験ブロックは、対応する少なくとも１つの関連するコアを試験する。複数個の試験ブロックの一部分は、複数個のサブフロー内で並行して実行され、複数個の試験ブロックのそれぞれは、対応する少なくとも１つの関連するコアと関連付けられた、試験器サイト内のリソースの動作を制御する。
【００１５】
また更なる態様では、半導体デバイスを製造する方法の一部として、これらの試験方法のいずれかを使用することができる。少なくとも１つの製造作業は、そのような試験の結果に基づいて、条件付きで実行することができる。
【００１６】
一態様では、本発明は、コンピューティングシステム上で実行されると、少なくとも１つの被試験デバイスに関する試験を実行する試験システムのための構成を生成するように、そのコンピューティングシステムを制御する命令を含む、少なくとも１つのコンピュータ記憶媒体に関する。この試験は、指定されたフローに従って実行される複数個の試験ブロックを含むことができ、そのフローは複数個のサブフローを含む。試験システムの構成の生成には、複数個のフロードメインを定義する入力を受け取る工程を含むことができ、ここで各フロードメインは、複数個のサブフローのうちの対応するサブフローの間に、１つ以上の試験ブロックの実行によってアクセスされる、代表的被試験デバイスの複数個の代表的ピンを表す。複数個のサイト領域が定義でき、各サイト領域は、少なくとも１つの試験器サイトを含み、各サイト領域は、フロードメインと関連付けられる。試験システムの構成は、各サイト領域が、関連するフロードメインの試験ブロックのインスタンスの間に、被試験デバイスの少なくとも１つのピンにアクセスするためのリソースを含む、少なくとも１つの試験器サイトを有するように、生成することができる。
【００１７】
別の態様では、本発明は、複数個の同様のデバイスを並行試験するための試験システムをプログラムする方法に関する。各デバイスは、複数個のコアを有し得、複数個のコアのそれぞれは、複数個の試験ポイントを有する。この試験システムは、複数個の試験器サイトを有するように構成可能である。試験システムを構成するために、複数個のフロードメインを定義するユーザー入力を受け取ることができる。フロードメインのそれぞれは、代表的デバイスの試験ポイントのセットによって定義することができ、各フロードメインは、サブフロー内の試験ブロックの実行の間にアクセスされる試験ピンを含む。複数個のサイト領域を定義することができ、各サイト領域は、少なくとも１つの試験器サイトを含み、各サイト領域は、フロードメインと関連付けられる。この試験システムの構成は、各サイト領域が、関連するフロードメインの試験ブロックのインスタンスの間に、被試験デバイスの少なくとも１つのピンにアクセスするためのリソースを含む、少なくとも１つの試験器サイトを有するように、生成することができる。
【００１８】
また更なる態様では、本発明は、少なくとも１つのプロセッサによって実行されると、ユーザーインターフェースをレンダリングする工程を含む方法を実行する、コンピュータ実行可能命令を含む、少なくとも１つのコンピュータ記憶媒体に関し得る。試験計画パラメーターの指定は、このユーザーインターフェースを通じて受け取ることができる。試験計画パラメーターは、少なくとも複数個のフロードメインを含むことができ、各フロードメインは、試験フロー内の１つ以上の試験ブロックの実行の間にアクセスされる、少なくとも１つの被試験デバイスのピンのグループを特定する。この試験システム構成は、試験計画パラメーターに基づいて生成することができる。この試験システム構成の生成には、各フロードメインに関して、試験器サイトと、少なくとも１つの被試験デバイスのそれぞれのピンのグループとを、マッピングする工程が含み得る。
【００１９】
前述のものは、本発明の非限定的な概要であり、本発明は、添付の特許請求の範囲によって定義される。
添付の図面は、一定の縮尺で描かれることを意図されていない。図面中、様々な図で例示される、同一の、又はほぼ同一の各構成要素は、同様の番号によって表される。明確性の目的のために、全ての構成要素が、全ての図面で標識されない場合がある。
【図面の簡単な説明】
【００２０】
【図１】図１は本発明の実施形態を実施することができる、試験システムの模式図である。
【図２】図２は、本発明の一部の実施形態による、並行して試験することができる複数のコアを有する、半導体デバイスの模式図である。
【図３Ａ】図３Ａは順次試験フローの模式図である。
【図３Ｂ】図３Ｂ、は並行して実行することができる複数のサブフローを有するフローの模式図である。
【図４】図４は、それぞれが複数のコアを有する複数の半導体デバイスを並行試験するための試験システムの構成の模式図である。
【図５】図５は、それぞれが複数のコアを有する複数の半導体デバイスを並行試験するための試験システムの代替構成の模式図である。
【図６】図６は、それぞれが複数のコアを有する複数の半導体デバイスを並行試験する試験システムの更なる代替構成の模式図である。
【図７】図７は、フロー特有警報応答を実施することができる、並行して実行される複数のサブフローを有する試験フローの実行を示す流れ図である。
【図８】図８は、１つのサブフロー内での警報応答を、異なるサブフロー内での警報に基づいて実施することができる、並行して実行される複数のサブフローを有する試験フローの実行を示す流れ図である。
【図９】図９は、サイトループにより、リソース制約試験システム内でのサブフローの実行が可能となる複数のサブフローを有するフローの実行を示す、流れ図である。
【図１０】図１０は、本発明の一部の実施形態による、試験システムを構成又は制御するようにプログラムすることができるコンピューティングシステムの模式図である。
【発明を実施するための形態】
【００２１】
並行試験は、有利点を提供するが、試験システムをプログラム及び構成する際の複雑性をもたらすことを、本発明者らは認識し、かつ理解している。本発明者らはまた、それぞれが複数のコアを有する複数のデバイスを並行試験するための試験ブロックの開発の複雑性が、試験器リソースの非効率的な活用をもたらしていることも認識し、かつ理解している。同様に、複数のデバイスを並行して試験するか否かに関わらず、同じデバイス内部の複数のコアの並行試験をサポートするように、試験システムを構成する際の困難さが、試験器リソースの非効率的な活用をもたらしている。
【００２２】
本発明者らは、代表的被試験デバイス上の特定のコアに関連するピンのグループを指示するユーザー入力を受け入れて適用する能力を、試験システムに提供することによって、より効率的な試験器リソースの利用を達成することができる点を、更に認識し、かつ理解している。この場合、「コア」とは、再使用可能な設計を使用して作り出される半導体デバイスの一部分を示し得る。例えば、一部の半導体デバイスは、コアと称される市販の設計に基づいて実装されるプロセッサコアを含む。しかしながら、本発明は、市販のコアを使用して設計されるマルチコアデバイスの試験に限定されるものではないことを理解するべきである。再使用可能又は市販のものであるか否かに関わらず、半導体デバイスの任意の好適な機能部分を、「コア」と見なすことができ、本明細書で説明されるように試験することができる。
【００２３】
それらのグループに関連する被試験半導体デバイス内部の特定の構造に関わりなく、これらのグループのそれぞれは、フロードメインを定義することができ、サブフローに関連するグループ内の全てのピンで試験信号を生成及び測定する際に使用される、ピンを含む。各ユーザーサイトに関して、フロードメインのインスタンスが存在し得る。自動化ツールは、複数個のユーザーサイトのそれぞれに関連するフロードメインの各インスタンス内でリソースを提供するように、試験システムを構成することができる。
【００２４】
そのようなツールは、複数個のサイト領域を定義することによって、試験システムを構成することができる。各サイト領域は、１つ以上の試験器サイトのグループとすることができる。各グループは、１つ以上のフロードメインと関連付けることができる。全てのユーザーサイトにわたって、フロードメインの各インスタンスを試験する際に、各サイト領域に関連するリソースを使用することができるように、サイト領域にリソースを割り当てることができる。
【００２５】
サイト領域の第１部分は、フロードメイン特有サイト領域とすることができ、それにより第１部分内の各サイト領域を、１つのフロードメインと関連付けることができる。フロードメイン特有サイト領域内のリソースは、関連するフロードメインの各インスタンスの試験を提供する。一部の実施形態では、フロードメイン特有サイト領域とフロードメインとの間には、１対１の関係が存在し得る。
【００２６】
一部の実施形態では、独立したサブフローを試験するために設計されていない、既存の試験器アーキテクチャを、そのような試験に適合させることができる。そのような適合は、同じ被試験デバイス内の異なるコアに対して並行して試験を実行する試験ブロックのインスタンス全体にわたって、試験及び／又はデバイス状態情報を共有する必要性を回避する、リソースを割り当てるための機序を提供することを伴い得る。存在するユーザーサイトよりも多くの試験器サイトをサポートする試験システムでは、フロードメイン特有サイト領域は、各サイト領域に、試験器サイトのグループを割り当てることによって形成することができる。各サイト領域内部の試験器サイトは、異なるフロードメインインスタンスと関連付けることができる。サイト領域に割り当てられた各試験器サイトに、別個に動作可能なリソースを割り当てることによって、複数個の試験ブロックインスタンスを並行して実行することができ、それにより各ユーザーサイト内部では、複数のコアに対して並行試験を遂行することができる。
【００２７】
一部の実施形態では、フロードメイン特有サイト領域を有することにより、並行試験のために具体的にコード化されていない試験プログラムに関してさえも、複数のユーザーサイトのそれぞれで並行サブフローをサポートする試験システムの自動化構成が可能となる。例えば、自動化ツールは、各フロードメイン特有サイト領域に割り当てられているリソースと、各ユーザーサイト内のフロードメインの対応する各インスタンスとのマッピングを生成することができる。複数個のユーザーサイトのそれぞれの内部では、並行実行のための試験ブロックの具体的なコード化を使用せずとも、複数の試験ブロックを並行して実行することができる。
【００２８】
サイト領域の第２部分は、フロードメインと１対１の関係で関連付けされないサイト領域を含み得る。このサイト領域の第２部分は、グローバルサイト領域を含み得る。グローバルサイト領域内のリソースは、任意のフロードメインと関連付けることができる。グローバルサイト領域からのリソースの割り当ては、サイト領域の第１部分からの、フロードメイン特有サイト領域からのリソースの割り当ての代わりに、又はそれに加えて実施することができる。
【００２９】
グローバルサイト領域は、全てのサイト領域を作り出す際に使用される試験器サイトの数以上の、可能な試験器サイトのセットのうちの１つへの割り当てをサポートしない、ハードウェア構成要素を通じて提供されるリソースを含み得る。例えば、一部のリソースは、試験器サイトを全くサポートしない場合があり、又はフロードメインの各インスタンスのための個別の試験器サイトを各サイト領域内部に提供するために必要とされる、試験器サイトの数をサポートしない場合がある。グローバルサイト領域を提供することにより、これらのリソースを試験の間に使用することが可能となる。しかしながら、一部の実施形態では、同じリソースが、複数のフロードメイン内で、また恐らくは同じフロードメインの複数のインスタンス内でアクセス可能であるが、異なるフロードメインから、又は同じフロードメインの異なるインスタンスから、一貫性のない方法で同時にアクセスされないことを確実にするように、そのような試験をコード化することができる。あるいは、又は更には、グローバルサイト領域は、複数のフロードメインに適用可能な信号を生成又は測定することを目的とする、リソースを含み得る。例えば、固定出力レベルを供給するリソースを、グローバルサイト領域に割り当てることができるが、これは、固定出力レベルが、試験されている半導体デバイス内部の複数のコア全体にわたって適用可能とすることができるためである。
【００３０】
一部の実施形態では、グローバルサイト領域内のリソースは、いずれのフロードメイン特有サイト領域とも関連付けられない。グローバルサイト領域からのリソースにアクセスする試験ブロックは、異なる試験ブロックインスタンスの実行が、同じグローバルリソースにアクセスすることを試みる際、互いに干渉しないことを確実にするように、コード化するか又は動作させることができる。
【００３１】
第２部分内の更なるサイト領域は、システムサイト領域とすることができる。このシステムサイト領域は、全てのリソースを含み得ることにより、そのような全てのリソースを、フローの間に使用することができる。一部の実施形態では、システムサイト領域は、連続試験のために使用することができる。
【００３２】
代替的に又は更に、この試験システムは、１つのフロードメインインスタンスごとに機能を実行する、試験ブロック内のコマンドを認識することができる。例えば、ユーザーは、１つのフロードメインインスタンス内での試験でエラーを検出すると、そのフロードメインインスタンスに対する試験を停止させることを指定することができる。ユーザーは、１つのフロードメインインスタンス内でエラーに遭遇すると、他の試験を継続するべきか又は停止するべきかのいずれかを指定することができる。同じユーザーサイトに関連する他のフロードメインインスタンス内で、試験を継続することにより、例えば、そのユーザーサイトの特定の被試験デバイスのビニングをサポートすることができる。
【００３３】
別の実施例としては、試験システムは、１つのサイトごとに動作する警報機能をサポートすることができ、試験システムをプログラムするためのツールは、この方式で警報を制御するコマンドをサポートすることができる。これらの警報は、従来の試験システムの場合と同様に機能して、例えば、試験システムのハードウェアが、プログラムされた電流若しくは電圧のレベルを、達成又は維持することが不可能であることを合図することができる。警報コマンドは、例えば、各フロードメインインスタンスに関する警報を、クリア又はチェックすることができる。そのような能力は、１つの試験器サイトごとに警報をクリア及びチェックする能力を有する試験システム内に、提供することができる。試験器サイトに関連する警報（その試験器サイトは同様にフロードメインインスタンスと関連付けられている。）は、そのフロードメインインスタンス内での測定の開始の直前に、クリアすることができる。フロードメインインスタンス内での測定の直後には、その試験器サイトに関連するいずれの警報も、警報条件が発生したか否かを確認するためにチェックされると同時に、フロードメインインスタンス内での測定を実施することができる。各試験器サイトがフロードメインインスタンスと関連付けられる場合、試験器サイトごとに警報のクリア及び読み取りを行うことにより、１つのフロードメインインスタンス内での警報が、他のフロードメインインスタンス内で並行して実行されている試験に干渉することを、防止することができる。
【００３４】
しかしながら、一部のシナリオでは、第１のフロードメインインスタンス内での試験が、第２のフロードメインインスタンス内で検出された条件に応じて決定されることが有利であり得る。したがって、本発明の実施形態は、１つのフロードメインインスタンス内での試験ブロックが、別のフロードメインインスタンス内での警報に基づいて、条件付き実行をサポートすることができる。一部の実施形態では、この試験システムは、同じ試験中の半導体デバイスに、第１及び第２のフロードメインインスタンスが関連付けられるシナリオに、そのような条件付き処理を限定することができる。しかしながら、そのような限定は、本発明の必要条件ではない。
【００３５】
代替的に又は更に、リソースを共有するためのコマンドが、サイト領域内の試験器サイト全体にわたって作動する場合がある。一実施例としては、サイトループと呼ばれる場合がある、並行試験での試験器リソースの使用を連続化するための、試験ブロック内の命令が、サイト領域内の試験器サイト全体にわたって作動する場合があるこの方式で、サイト領域内の試験器サイトは、連続的リソースを使用して、試験動作を順次に実行することができる。
【００３６】
しかしながら、一部の実施形態では、被試験デバイス内部での複数のサブフローの並行試験のために、特殊なプログラミングは必要とされない。試験ブロックは、他の試験ブロックインスタンスが、同じユーザーサイト内で並行して実行されている場合があるという事実を考慮することなく、書き込むことができる。フロードメイン特有サイト領域を通じて、独立した試験器リソースを割り当てることによって、試験ブロックの各インスタンスは、そのような動作のために具体的にコード化されていない場合であっても、他の試験ブロックインスタンスの実行と干渉することのないリソースを使用して、動作することができる。結果として、試験ブロックの開発は、それらの試験ブロックが実行される順序及び組み合わせから切り離すことができる。一部のシナリオでは、ユーザーは、同じ試験ブロックを使用して、試験器ブロックが並行して実行される構成と、試験器ブロックが順次に実行される構成とを、容易に切り替えることができる。そのような能力は、例えば、試験プログラムを開発又は検証する場合に有用とすることができるが、これは、並行試験又はコアによってもたらされる不正確な試験結果を、試験技術者が素早く特定することを可能にするためである。
【００３７】
そのようなツールを使用するために、ユーザーは、直接的又は間接的のいずれかで、入力を提供することができる。一部のユーザー入力は、ユーザーインターフェースを通じて直接提供することができる。他のユーザー入力は、試験システムを構成する際に使用される適用可能データを指定する、ユーザー選択を指示することができる。
【００３８】
ユーザー入力は、試験計画を実行するように試験システムを構成するための、従来より提供される入力を含み得る。例えば、入力は、利用可能な試験システムのリソース、それらのリソースの入力／出力にアクセスすることができる試験器のチャネル、ユーザーサイトの数、及び／又は各サイトで試験される代表的被試験デバイス内のピンの数を指定することができる。ユーザー入力はまた、代表的被試験デバイス内の各ピンに関して、試験プログラムの各試験ブロックの間に、そのデバイスを試験するために必要とされるリソースを特定するピン情報も指定することができる。このピンごとの情報は、一緒に動作するピンのグループの指定を含むこができ、そのグループを試験するための、時間ドメインとして指定される場合もある、タイミング要件を含むことができる。このピンごとの情報は、任意の好適な方式で指定することができ、その方法としては、例えば、各ピンに関して、そのピンが割り当てられるグループ、及びそのピンのタイプを特定する、当該技術分野において既知であるピンマップとしての方式が挙げられる。ピンのタイプは、例えば、そのピンを試験するために必要とされるリソースのタイプを指示することができる。
【００３９】
また、フローに関するサブフローを指定し、各サブフローに関して、試験ブロックが実行される順序、及びいずれのフロー工程で各ブロックの実行を開始するべきかを指定する、フローシートの形態などのフロー情報を指定することもできる。しかしながら、フロー情報はまた、試験計画全体に関連するスクリプト内で捕捉することができるような、コマンドを通じて提供することもできる。このスクリプトは、例えば、各フロー工程に関して、そのフロー工程の間に、いずれの試験ブロックが並行して実行されるかを指定する、順次コマンドを含み得る。
【００４０】
しかしながら、一部の入力は、それらの入力以外のもの又は異なる入力から導き出すことができる点を理解するべきである。具体的実施例としては、ユーザーサイトの数は、利用可能な試験器リソース、及び試験プログラムを実行するために必要とされる試験器リソースに基づいて、並行して試験することができるデバイスの合計数を計算する同じ自動化ツール、あるいは異なる自動化ツールから、決定することができる。別の実施例としては、各ユーザーサイト内の特定のピンへの試験器リソースの割り当ては、入力として指定するか、又は自動的に導き出すことができる。
【００４１】
試験計画を実行するように試験システムを構成する際に使用される、これらの従来の入力に加えて、ユーザーは、１つ以上のフロードメインを指定することができる。この入力は、任意の好適な方式で提供することができる。一部の実施形態では、この入力は、他のピンのグループを特定するのと同じ方式で指定することができ、フロードメインは、特殊なタイプのピングループとしての機能を果たす。一実施例としては、ユーザーは、各フロードメインと関連付けられる、代表的デバイスに関するピンの名称を、ユーザーインターフェース内にタイプすることができる。これに代えて、この入力はまた、各フロードメインに関連するピンを特定することができる情報を含むスプレッドシート又は他のデータソースを特定することによっても、供給することができる。しかしながら、あらゆるピンをフロードメインと関連付けることは、必要条件ではない。一部の実施形態では、例えば、ユーザーは、一部のピンが順次に試験される（すなわち、いずれの他のフロードメインもその間に試験されていない）ことを、指定することができる。
【００４２】
他の入力を、直接的又は間接的のいずれかで、提供することができる。例えば、計器についての情報、及びそれらの計器が所望のレベルの並行試験のために必要とされる試験サイトの数をサポートするか否かを、提供することができる。これらの入力を使用して、グローバルサイト領域にリソースを割り当てることができ、又はそれらのリソースを、フロードメイン特有サイト領域への割り当てのために利用可能とすることができる。
【００４３】
本ツールは、この情報を使用して、試験計画を実行する際の、試験システムに関する適切な構成を決定することができる。この構成は、例えば、試験計画を実行する際に使用される試験器サイトの数、及びいずれのリソースが各試験器サイトに割り当てられるかを、決定することができる。これらの割り当てを実施することにより、サイト領域を実装し、それらのサイト領域を適切なフロードメインと関連付けることができる。次いで、この構成情報を使用して、試験計画に従って試験を実行するための、試験システムを構成することができる。
【００４４】
一部の実施形態では、ピンとフロードメインとの関連付けは、試験計画全体にわたって適用することができる。しかしながら、試験計画内の異なるフロー工程では、各サブフローの一部として試験する際に、異なるピンの組み合わせを使用することができる点を理解するべきである。したがって、フロー全体の間にサブフローが存在することは、必要条件ではない。サブフロー、及び関連するフロードメイン、並びにサイトへの試験器リソースの対応する割り当ては、試験計画の間の異なる時間で、異なるものとすることができる。例えば、サブフローは、１つのフロー工程の間にのみ存在する場合があり、それゆえ、その試験システムの構成は、試験計画の遂行の間、各フロー工程で、又は何らかのより粗い間隔で、変化する場合がある。
【００４５】
図１に戻ると、そのようなツールを使用して構成することができる、例示的な試験システム１００が示される。しかしながら、試験システムに提供される構成情報は、任意の好適な方式で得ることができ、自動化ツールによって生成される必要がないことを認識するべきである。試験システム１００は、当該技術分野において既知であるようなハードウェア構成要素を使用して、構築することができる。この実施例では、試験システム１００は、複数の試験信号を生成及び測定することができる構成要素を取り囲む本体を含む。この場合、本体は試験器１２０として示される。
【００４６】
試験器１２０は、試験プログラムの制御下で試験信号を生成及び測定するための複数の構成要素を収容する。試験信号を生成及び測定する構成要素は、この場合、全般的に「リソース」として表される。図１の実施例では、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎが示される。一部の実施形態では、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎの中には、複数のタイプのリソースが含まれる。各リソースは、試験機能で使用される１種以上の信号を、生成及び／又は測定することができる。例えば、リソースは、それぞれが一連のデジタル値を表す１種以上の信号を、生成又は測定するようにプログラムすることができる。別のリソースは、例えば、プログラムされたパターンに従って変動するアナログ信号を生成するように、プログラムすることができる。更に他のリソースは、試験器１２０によって測定されているアナログ信号を捕捉することができる。更なる実施例としては、他のリソースは、ＲＦ信号を測定することができる。
【００４７】
これらのリソースは、当該技術分野において既知である計器などの、ハードウェア構成要素によって提供することができる。例えば、リソースは、デジタル計器、アナログ計器、ＲＦ計器、及び半導体デバイスの試験の間に信号を生成若しくは測定するための任意の他の好適なタイプの計器の組み合わせによって、提供することができる。一部の計器は、複数のタイプのリソースを提供することができるため、リソースと、それらのリソースを実装するハードウェア構成要素との間には、１対１の関係に対する必要条件が存在しない。例えば、単一の計器が、ＤＣ電圧又はＤＣ電流を測定し、かつまた被試験デバイスの１つ以上のデジタルピンも駆動する能力を、提供する場合がある。しかしながら、リソースの物理的実装は、本発明を決定付けるものではないことを理解するべきである。
【００４８】
試験器１２０内部のリソースの数及びタイプに関わりなく、それらのリソースは、この場合は信号送出インターフェース１２６として模式的に表される、１つ以上の構成要素を通じて、１つ以上の被試験半導体デバイスに接続することができる。そのような信号送出インターフェースは、当該技術分野において既知である技術を使用して、構築することができる。信号送出インターフェース１２６は、リソースの入出力ポートを、被試験デバイスの対応するピンに接続することができる。
【００４９】
一部の実施形態によれば、複数のデバイスを並行して試験することは、必要条件ではない。しかしながら、この実施例では、半導体デバイス１５２Ａ、１５２Ｂ．．．１５２Ｆは、試験器１２０による試験のために提示されているものとして示される。被試験デバイス１５２Ａ、１５２Ｂ．．．１５２Ｆは、基板１５０に結合されているため、グループとして操作することができる。図１の実施例では、被試験デバイス１５２Ａ、１５２Ｂ．．．１５２Ｆは、パッケージ化部品として示される。したがって、基板１５０は、複数のパッケージ化半導体デバイスを保持するように構成された、ハンドラーインターフェースボード又は他の固定具とすることができる。半導体デバイスが、他の製造段階で試験されるシナリオでは、それらの被試験デバイスは、簡便な取り扱いのための、他のタイプの基板に結合することができる。例えば、半導体デバイスは、それらのデバイスが製造される半導体ウェーハとして、一体に接合されたまま試験することができる。そのシナリオでは、基板１５０は、そのウェーハ自体とすることができる。
【００５０】
複数の被試験半導体デバイスを保持するために使用される基板１５０のタイプに関わりなく、基板１５０は、取り扱い装置（図示せず）によって、試験器１２０の一部分に対して押し付けることができる。試験システムによる試験のために半導体デバイスを位置決めすることができる取り扱い装置は、当該技術分野において既知であり、任意の好適な取り扱い装置を使用することができる。
【００５１】
一部の実施形態では、基板１５０は、試験器１２０によって一回に試験することができる半導体デバイスよりも、多くの半導体デバイスを保持することができる。被試験デバイスに対して試験プログラムを実行するために必要とされるリソースと比較した、試験器１２０内部のリソースに対する制限のために、並行して試験することができるデバイスの数に対する制限が生じ得る。基板１５０が、試験器１２０によって並行して試験することができるデバイスよりも、多くのデバイスを保持する場合には、取り扱い装置（図示せず）は、１つのグループのデバイスが試験された後に、基板１５０を位置変更することができる。基板１５０を位置変更することによって、更なる半導体デバイスのグループを試験することができる。１つ以上の半導体デバイスの単一のグループに対して実行される試験プロセスが、本明細書で説明されるが、一回に試験することができる半導体デバイスよりも多くの半導体デバイスが、試験のために利用可能である場合、それらのデバイスのうちの一部又は全ては、試験システムに別のグループのデバイスを提示して、それらの試験プロセスを繰り返すことによって、グループとして試験することができる点を、理解するべきである。
【００５２】
図１の実施例では、試験器１２０に同時に接続された、３つの半導体デバイス１５２Ａ、１５２Ｂ、１５２Ｃが示される。この実施例は、各グループ内に複数のデバイスを示すものであるが、一部の複雑な半導体デバイスに関しては、試験のために提示される半導体デバイスの各グループは、単一の半導体デバイスのみを含み得る。グループ内のデバイスの数に関わりなく、半導体デバイス１５２Ａ、１５２Ｂ、及び半導体デバイス１５２Ｃのそれぞれは、それらの被試験デバイスに結合される、試験信号を生成及び測定する試験器１２０内部のリソースによって、並行して試験することができる。図１の単純化された実施例では、試験器１２０とデバイス１５２Ａ、１５２Ｂ、及びデバイス１５２Ｃのそれぞれとの間に試験信号を結合する、単一の接続が示される。しかしながら、最新の半導体デバイスを完全に試験するために、数百の、又は恐らく数千の試験信号が、生成若しくは測定される場合があることを理解するべきである。試験器１２０と試験されている各半導体デバイスとの間の数多くの接続は、簡略化のために示されないものとする。
【００５３】
並行して試験される半導体デバイスの数に関わりなく、信号送出インターフェース１２６は、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎと、並行して試験される半導体デバイス１５２Ａ、１５２Ｂ、及び半導体デバイス１５２Ｃとの間に、生成又は測定される試験信号を結合することができる。そのような信号送出インターフェースは、当該技術分野において既知である技術を使用して、構築することができる。図１では単一の構成要素として模式的に示されるが、信号送出インターフェース１２６は、リソースと被試験デバイスとの間で信号を経路指示するために接続される、複数の個別の構成要素内に実装された、複数の層を含み得る。それらの層は、例えば、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎの入出力ポートへの接続を形成することができるように、試験器１２０の機器構成によって規定される構成を有する、層を含み得る。信号送出インターフェース１２６の別の部分は、試験される半導体デバイスによって規定される構成を有し得る。このインターフェースのデバイス特有部分は、被試験半導体デバイス上の試験ポイントへの接続を形成するように適合された、複数のプローブ又は他の接触機構を含み得る。これらの試験ポイントは、特定の試験ポイントと位置合わせされるように、被試験デバイスのレイアウトに基づいて構成することができる。
【００５４】
信号送出インターフェース１２６内部には、試験器特有インターフェース層とデバイス特有インターフェース層との間に、１つ以上の経路指示層を提供することができる。これらの経路指示層のうちの１つ以上は、試験計画を遂行するように試験システム１００を構成する工程の一部として、被試験デバイス上の特定の試験ポイントに適用される試験信号を生成又は測定することが可能なリソースが、そのような試験信号を生成又は測定することが可能なリソースから、そのような試験信号が適用又は測定される特定の試験ポイントへと経路指示され得るように、試験器１２０を構成することができるように、プログラム可能とすることができる。
【００５５】
図１の実施例では、試験システム１００は、制御構成要素１１０を含む。制御構成要素１１０は、試験計画に従って、試験システムの他の構成要素に制御信号を生成するようにプログラムすることができる、コンピュータ又は任意の好適なタイプのプロセッサとすることができる。制御構成要素１１０は、当該技術分野において既知である技術を使用して、試験器１２０内部の構成要素の動作を制御することができ、リソースと信号送出インターフェース１２６のデバイス特有側である点との間の所望のマッピングに基づいて、試験器１２０を構成する構成要素を含む。例えば、制御構成要素１１０は、１つ以上の被試験デバイス上の特定の試験ポイントに、特定のリソースを接続するように、信号送出インターフェース１２６に制御信号を生成することができる。
【００５６】
更には、制御構成要素１１０は、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎの動作を制御することができる。それらのリソースを制御することは、１つ以上の動作パラメーターを設定することを伴い得る。制御構成要素１１０によって設定される具体的な動作パラメーターは、本発明を決定付けるものではなく、試験システム１００内に含まれるリソース及び／又は試験計画の一部として指定される試験機能に応じて変化し得る。これらのパラメーターは、当該技術分野において既知であるような技術を使用して、又は任意の好適な方式で、決定することができる。しかしながら、制御することができるパラメーターのタイプの例としては、制御構成要素１１０は、特定のリソースによって生成される試験信号の電圧レベルを指定することができる。代替的に又は更に、制御構成要素１１０は、信号又は信号のパターンが生成されるタイミングを制御する、パラメーターを指定することができる。指定することができる他のパラメーターとしては、試験信号の周波数又は継続時間が挙げられる。
【００５７】
指定される具体的なパラメーター及びパラメーター値は、実行される試験の性質に応じて変化し得る。試験器の構成を指定する入力は、任意の好適なソースから提供することができる。図１の実施例では、試験システムの構成を指定する入力は、ユーザー１３０による行動に応答して提供される。ユーザー１３０は、例えば、設計中の半導体デバイスに関する試験を開発中とすることができる、試験技術者を表し得る。図１では、単一の人間のユーザーが示されるが、ユーザーが１人であることは必要条件ではない。一部のシナリオでは、本明細書で説明される処理の種々の部分は、種々の人々によって制御することができる。例えば、試験計画は、ある時期に試験技術者によって開発することができ、次いで、製造中の半導体デバイスを試験するために、別の時期に、恐らくは更に異なる場所で、異なる装置を使用して、半導体デバイスを試験するように操作者によって実行することができる。更には、人々のグループが、本明細書で説明される操作の一部又は全てを、協力して実行することができるため、「ユーザー」は、１人である必要はない。具体的実施例としては、本明細書で説明されるような技術を運用する試験システムの有利点は、別個に開発される種々のコアと関連付けられ、次いで様々な程度の並行性のフローへと組み合わされる、試験ブロックを可能にする点である。
【００５８】
ユーザーに関連する数及び職務権限に関わりなく、ユーザーは、試験計画の一部として、試験システムに関する構成を生成し、次いで、その試験計画の遂行のために、試験システム内にその構成をロードすることができる。この実施例では、ユーザー１３０は、制御構成要素１１０に結合されるワークステーション１３２を通じて、入力を提供する。図示の実施例では、制御構成要素１１０に結合されたワークステーション１３２が示されるが、その一方でユーザー１３０は、ワークステーション１３２と相互作用している。しかしながら、ユーザー１３０からの入力は、制御構成要素１１０にリアルタイムで提供される必要はないことを、理解するべきである。例えば、ユーザー１３０は、ワークステーション１３２を操作して、制御構成要素１１０を構成するための情報を生成することができる。この構成情報を格納して、その後、制御構成要素１１０内にロードすることができる。更には、試験システムの構成を指定する入力が、ユーザー入力に直接応答して提供されることは、必要条件ではない。この構成情報は、例えば、１つ以上のコンピュータ化されたツールの実行によって、又は任意の他の好適な方式で、生成することができる。
【００５９】
ワークステーション１３２は、任意の好適なコンピューティングデバイスとすることができる。例えば、ワークステーション１３２は、本明細書で説明されるような技術を使用して試験システム１００を構成するためのツールを実行するようにプログラムされる、デスクトップコンピュータ又は任意のコンピューティングデバイスとすることができる。そのようなツールの実行は、制御構成要素１１０に転送することができる、構成コマンド１４０、１４２、及び構成コマンド１４４などの、構成コマンドを生成する結果をもたらし得る。これらの構成コマンドは、１つ以上の被試験半導体デバイスの同時の試験のために、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎ及び信号送出インターフェース１２６を構成するように、制御構成要素１１０を構成することができる。しかしながら、制御構成要素１１０は、ワークステーション１３２と同じコンピューティングデバイスとすることができる点を、理解するべきである。
【００６０】
取り扱い装置（図示せず）は、試験器１２０が試験するように構成される半導体デバイスの数を一回で提示するように、対応する構成情報を使用して構成することができる。図１の実施例では、３つの半導体デバイスである、半導体デバイス１５２Ａ、１５２Ｂ、及び半導体デバイス１５２Ｃに接続している、試験器１２０が示される。これらの半導体デバイスのそれぞれは、同じ構成を有することができ、試験システム１００のユーザーサイト内に設置されると述べることができる。各ユーザーサイトは、被試験半導体デバイスが、試験のために試験器１２０に提示される場所を表し得る。
【００６１】
一般的には、半導体製造施設内では、半導体デバイスの複数のコピーが、一回に製造される。したがって、半導体デバイスの複数のコピーは、その製造プロセスの一部として試験することができる。それゆえ、各ユーザーサイトに提示される半導体デバイスは、同じものとすることができる。
【００６２】
同じタイプの複数のデバイスの試験をサポートするために、従来の試験システムは、試験器サイトをサポートするように設計される。従来の試験動作では、試験のために被試験デバイスが提示される各ユーザーサイトに、試験器サイトが対応するように、試験システムを構成することができる。複数のユーザーサイトでのデバイスの並行試験をサポートするために、試験システムは、各試験器サイトで試験プログラムのインスタンスを実行することをサポートすることができる。この方式で、試験プログラムのインスタンスは、複数のユーザーサイトのそれぞれで、並行して実行することができる。
【００６３】
図１は、試験器サイトを使用して、複数のユーザーサイトで試験インスタンスを並行して実行するための試験システムを構成することができる技術を示す。図示のように、リソース１２２Ａ、１２２Ｂ．．．１２２Ｎのそれぞれは、レジスタ１２４Ａ、１２４Ｂ．．．１２４Ｎなどの、プログラム可能ハードウェアを含む。レジスタ１２４Ａ、１２４Ｂ．．．１２４Ｎ内に書き込まれる値は、各リソースが関連付けられている１つ以上の試験器サイトを指定する。特定の試験器サイトに関連するリソースを、特定のユーザーサイトにマッピングすることによって、被試験半導体デバイスに関する試験プログラムの複数のインスタンスを実行するように、試験システムを動作させることができる。
【００６４】
試験器サイトの動作は、当該技術分野において既知である技術を使用して、制御することができる。しかしながら、手短に言えば、制御構成要素１１０は、複数のプログラム工程のそれぞれの間に実行される、特定の信号の生成又は測定などの必要とされる動作を決定するための、代表的被試験デバイスを試験するために書き込まれたプログラムにアクセスすることができる。次いで、制御構成要素１１０は、試験器１２０に被試験デバイスが提示される、ユーザーサイトにマッピングされる、複数の試験器サイトと関連付けられた、試験器１２０内部のリソースに、コマンドを発行することができる。各コマンドは、リソースをセットアップし、試験信号を生成するようにリソースを制御し、測定を行うか又は任意の他の好適な試験機能をトリガーするように、リソースを制御することができる。
【００６５】
そのようなコマンドは、任意の好適な方式で提供することができる。制御構成要素がリソースにコマンドを提供する具体的な機構は、リソースを提供するハードウェア計器の機器構成、及び／又は試験システムのアーキテクチャを含めた他の因子に応じて決定することができる。一部のシナリオでは、リソースに指示されるコマンドは、そのリソースを具体的に特定するアドレスを組み込むことができる。他のシナリオでは、制御構成要素は、コマンドが適用される試験器サイトを、最初に特定することができる。続いてコマンドが発行されると、特定された試験器サイトに割り当てられている各リソースが、そのコマンドに応答することができる。
【００６６】
一部のシナリオでは、リソースの個別のコピーを、ユーザーサイトで実行されている試験プラグラムの各インスタンスに提供することができる。個別のリソースを使用することにより、試験プログラムの各インスタンスは、特定のユーザーサイトで試験されている半導体デバイスの試験の結果に応じて、異なるフローに従うことが可能となる。例えば、並行して試験されている３つの半導体デバイスに対して実施された測定の結果として、それらの半導体デバイスのうちの１つが不良であると判定された場合には、その半導体デバイスに関する試験インスタンスのフローを変更することができるが、その一方で、他の被試験半導体デバイスに関しては、その試験フローを変更せずに継続することが可能となる。試験フローは、不良デバイスに関する試験を中断することによる方式を含めた、任意の好適な方式で変更することができる。
【００６７】
しかしながら、複数のユーザーサイトで試験する際に使用されるあらゆるリソースが独立していることは、必要条件ではない。一部のシナリオでは、例えば、電源としての役割を果たす電圧レベルを提供するリソースは、複数のユーザーサイトに接続することができる。同様に、いずれの条件付き処理にも関わらず、全てのユーザーサイト内で同じ動作をする他のリソースは、２つ以上のユーザーサイトに結合することができる。
【００６８】
複数の半導体デバイスの並行試験のために、ユーザーサイトにリソースを適合させるように構成することができる、試験システムを提供することは、有用ではあるが、それらの能力を他の試験シナリオで使用することによって、極めて単純な方式で、半導体デバイスを試験する際の実質的な有利点を達成することができる点を、本発明者らは認識し、かつ理解している。そのような１つのシナリオを、図２に示す。
【００６９】
図２は、試験システムによって試験することができる半導体デバイス１５２を、概念的に示す。半導体デバイス１５２は、当該技術分野において既知であるような半導体デバイスとすることができる。この実施例では、半導体デバイス１５２は、パッケージ化半導体デバイスとして示される。しかしながら、上述のように、半導体デバイスは、それらの製造の任意の好適な段階で、任意の好適な形態で試験することができる。例えば、本明細書で説明されるような技術は、依然としてパッケージ化されていない、半導体ウェーハ及び半導体デバイスの一部に、適用することができる。
【００７０】
半導体デバイス１５２が試験される形態に関わりなく、半導体デバイス１５２は、複数の機能部分、すなわち「コア」を含み得る。図２の実施例では、デバイス１５２は、コア２１０Ａ、２１０Ｂ、２１０Ｃ、２１０Ｄ、２１０Ｅ、及びコア２１０Ｆを含むように示される。各コアの具体的な機能は、本発明を決定付けるものではなく、コア２１０Ａ．．．２１０Ｆのそれぞれは、現在既知であるか又は今後開発されるかに関わらず、任意の好適なタイプのコアを表し得る。
【００７１】
各コアに関連する試験ブロックを開発することによって、半導体デバイス１５２に関する試験プログラムを開発する際に、実質的な有利点を達成することができる点を、出願人らは認識し、かつ理解している。更なる有利点は、それらの試験ブロックを実行するように容易にプログラムすることができる、半導体デバイス試験システムを提供することによって、達成することができる。更には、多くのシナリオでは、試験ブロックが試験フロー内に順次に含まれるか、又は並行して含まれるかに関わりなく、それらの試験ブロックから組み立てられる試験に関するフローを、ユーザーが指定することを可能にすることが望ましい点を、本発明者らは認識し、かつ理解している。そのような能力は、例えば、半導体デバイスを開発するエンティティが、１人以上の個人又はグループのプログラマーに、別個に試験ブロックを開発させることによって、その半導体デバイスに関する試験プログラムを開発することを、可能にし得る。次いで、これらの試験ブロックを、試験フローへと組み合わせることができる。更には、異なる時間に異なる目的を達成するために、それらの試験ブロックの組み合わせを変更することができる。
【００７２】
図３Ａ及び図３Ｂは、この技術で提供することができる柔軟性の一実施例を示す。図３Ａは、半導体デバイス１５２を試験することができる試験プログラムに関する、順次フローの一実施例を示す。図３Ａのフローでは、試験ブロック３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄ、３１０Ｅ、及び試験ブロック３１０Ｆが実行される。この実施例では、試験ブロック３１０Ａ．．．３１０Ｆのそれぞれは、コア２１０Ａ．．．２１０Ｆ（図２）のうちの１つのコアを試験するために、別個に開発されている。
【００７３】
図３Ａに示すように、これらの試験ブロックは、順次に実行することができ、他の試験機能に先行し、かつ／又は後に続くことができる。この実施例では、試験ブロック３１０Ａ．．．３１０Ｆは、セットアップブロック３２０に続いて実行される。セットアップブロック３２０は、デバイスに電源投入して、デバイス上のメモリ構成要素をクリア若しくは設定するか、又は他の方法で試験のための条件下にデバイスを置くリソースを、プログラムすることができる。図３Ａに示すフローはまた、全機能試験ブロック３３０も含む。機能ブロック試験３３０は、コア間の相互作用が伴う被試験デバイスの動作を確認する、試験動作を指定することができる。図３Ａに示すフローでは、全機能試験ブロック３３０は、各コアが順次に試験された後に実行される。試験フロー内のこの時点で全機能試験ブロック３３０を含むことにより、１つ以上のコアが不良であると判定される場合には、全機能試験を実行する必要性を回避することができる。試験ブロック３１０Ａ．．．３１０Ｆの全てが成功裏に実行され、コアの動作が確認された場合には、これらのコア間の相互作用を試験するブロック３３０内の全機能試験は、個別のコアのうちのいずれかを使用する可能な誤動作条件を考慮するように、試験ブロック３３０をプログラムする必要がある場合よりも、単純に実装することができる。しかしながら、機能試験ブロック３３０の、試験フロー内部での場所は、本発明を決定付けるものではないことを理解するべきである。
【００７４】
図３Ｂは、被試験デバイス１５２に関する試験を実行するために使用することができる、代替的フローを示す。図３Ａの試験フローの場合と同様に、図３Ｂの試験フローは、セットアップブロック３２０で開始され、全機能試験ブロック３３０で終了する。しかしながら、図３Ａの試験フローとは異なり、図３Ｂの試験フローは、複数のサブフローを含む。
【００７５】
図３Ｂのフローでは、これらのサブフローは、並行して実行される。この実施例では、４つのサブフローである、サブフロー３５０１、３５０２、３５０３、及びサブフロー３５０４が示される。サブフロー３５０１は、試験ブロック３１０Ａ及び試験ブロック３１０Ｆを含む。試験ブロック３１０Ａ及び試験ブロック３１０Ｆは、サブフロー３５０１内で順次に実行される。サブフロー３５０２は、試験ブロック３１０Ｂを含む。サブフロー３５０３は、試験ブロック３１０Ｄを含む。サブフロー３５０４は、試験ブロック３１０Ｅ及び試験ブロック３１０Ｃを含む。図３Ｂに示すように、試験ブロック３１０Ｅ及び試験ブロック３１０Ｃは、サブフロー３５０４内部で順次に実行される。
【００７６】
各サブフローは、図３Ａのフローよりも短い実行時間を有する。同じ量の試験が実行されるが、全体の試験時間は、図３Ａのフローに関する全体の試験時間と比較して低減される。したがって、図３Ａは、デバイスの開発の間に実行される試験を表し得る。対照的に、図３Ｂは、より速い実行時間が所望される、デバイスの製造の間に実行することができる試験を示し得る。デバイス及び／又は試験プログラムの開発の間に、試験技術者は、試験ブロックを順次に実行することを所望する場合がある。順次実行は、例えば、一回に、デバイスのより小さい部分に試験技術者が焦点を合わせることを可能にすることによって、試験プログラムの開発及び／又は被試験デバイスのデバッギングを促進することができる。他方では、製造作業の間は、可能な限り迅速に試験プログラムを実行することが望ましい場合がある。したがって、そのシナリオでは、可能な限り多くのサブフロー内で試験プログラムを実行し、各サブフローを可能な限り短時間で実行することが望ましい場合がある。
【００７７】
図３Ａ及び図３Ｂを併せて考察すると、試験の間に、より多くの並行性又はより少ない並行性が提供されるように、試験ブロックを再配置することが有用であり得るシナリオが存在することが、明らかとなる。図３Ｂは、並行試験フローの一実施例を提供する。様々なサブフロー内の、他の多くの試験ブロックの組み合わせを作り出すことが可能である。可能な具体的組み合わせは、被試験デバイスの特性、及び実行されている試験プログラムによってアクセスされる被試験デバイスの構造の相互依存性の双方に応じて、決定することができる。
【００７８】
様々な因子が、並行サブフロー数を制限し得る。一部の制限は、被試験デバイスの構成から導き出される場合がある。一部のシナリオでは、一部の試験ブロックは、並行して実行することができないが、これは、それらの試験ブロックが試験する関連コアを、完全に別個に動作させることができないためである。例えば、コア２１０Ａは、コア２１０Ｃの入力に結合される出力を有し得る（図２）。このシナリオでは、コア２１０Ａの出力での試験条件を指定すると同時に、コア２１０Ｃの入力での試験条件を指定することは、不可能な場合がある。結果として、試験ブロック３１０Ａは、試験ブロック３１０Ｃと並行して実行することはできない。
【００７９】
図３Ｂは、この動作が達成される並行フローを示す。具体的には、試験ブロック３１０Ａは、サブフロー３５０１内で、第１の時間に実行される。試験ブロック３１０Ｃは、サブフロー３５０１と並行して実行されるサブフロー３５０４内で実行されるが、試験ブロック３１０Ａが実行された後に試験ブロック３１０Ｃが実行されるように、時間内で順序付けされる。しかしながら、図３Ｂに示す試験を６つのサブフローで実行することは、不可能である。
【００８０】
一部の実施形態では、別個に動作可能なリソースの可用性が、サブフローの数を制限し得る。例えば、デジタル試験計器は、８つのデジタル信号をリソースとして提供することができる。この計器は、これらのラインのそれぞれに対して、個別に値を指定することを可能にし得るが、その計器に対する制約により、全ての８つの信号ラインは、共通クロック信号のエッジ上でのみ状態を変化させることが求められる場合がある。したがって、８つのデジタル信号を提供することができるが、異なるクロックに対して信号遷移がタイミング処理される、異なるサブフロー内に、それらの８つの信号を任意に割り当てることはできない。そのシナリオでは、並行性の程度は、各サブフローに割り当てるために利用可能な、別個に動作するリソースの数によって制限され得る。
【００８１】
可能なサブフローの数はまた、試験システム内で利用可能なリソースの量などの、他の因子に応じても変化し得る。一部の実施形態では、各サブフロー内で試験を実行するために割り当てられるリソースが、他の試験フロー内のリソースから独立するように、試験システムを構成することができる。リソースの利用は、複数のデバイスを並行して試験する際、特に注意するべき点とすることができる。
【００８２】
これらの制約、また恐らくは他の制約を考察することにより、試験フロー内の並行サブフローの数を決定することができる。試験技術者又は試験システムの他のユーザーは、任意の好適な方式で、試験フロー内のサブフローの数を決定することができる。同様に、各サブフロー内に含める具体的な試験ブロックは、任意の好適な方式で決定することができる。一部の実施形態では、既知のシミュレーションツール若しくは他のプログラミングツールは、サブフローの数、及び各サブフロー内で実行される試験ブロックを、ユーザーが決定する手助けをすることができる。そのようなツールは、例えば、試験実行時間を最小限に抑える並行試験フローを特定する際に、ユーザーの手助けをすることができる。しかしながら、並行試験フローが開発される具体的な機構は、本発明を決定付けるものではなく、任意の好適な試験フローを実行することができる。
【００８３】
図３Ａ及び図３Ｂは、それぞれ、１つのフローインスタンスを示し、複数のデバイスが複数のユーザーサイトで並行して試験される場合、各ユーザーサイトに関して個別のフローインスタンスが存在でき、各フローインスタンスに関してリソースを割り当てなければならない。
【００８４】
図３Ｂに示す実施形態では、独立したリソースが、サブフロー３５０１．．．３５０４のそれぞれに割り当てられる。複数のユーザーサイトに関連する複数のフローインスタンスが存在する実施形態でも、各サブフローインスタンスに、独立したリソースを割り当てることができる。
【００８５】
したがって、試験フローは、様々な程度の並行性を呈することができる。試験フローは、図３Ａに示すように完全に順次的とするか、又は図３Ｂに示すように完全に並行とするか、あるいは図示されないが、複数のサブフローが並行して実行される区間と、単一のサブフローが実行される他の区間とを伴う、部分的に並行かつ部分的に順次的とすることができる。試験実行の任意の所望の程度の並行性をサポートするように、ユーザーが試験システムを容易に構成することを可能にする方式で、図１に示すような試験システムが動作するように適合させるための、技術を提供する利益を、本発明者らは認識し、かつ理解している。
【００８６】
図４は、試験システム内部の試験器サイトを適用することにより、任意の所望の程度の並行性で試験フローを実行するように、試験システムを構成することができる方式を、模式的に示す。図４は、当該技術分野において既知であるような試験システム内部に存在し得る、リソース４２２Ａ、４２２Ｂ、４２２Ｃ、４２２Ｄ、４２２Ｅ、及びリソース４２２Ｆなどのリソースを、模式的に示す。図４に示すシナリオでは、試験システムは、２つのユーザーサイトにわたって試験を実行するように構成される。したがって、２つの半導体デバイス４５２１及び半導体デバイス４５２２が示される。この実施例では、各被試験半導体デバイスは、独立した試験のために指定される６つのコアを有する。
【００８７】
コア４１０Ａ１、４１０Ｂ１、４１０Ｃ１、４１０Ｅ１、４１０Ｄ１、及びコア４１０Ｆ１のそれぞれは、そのコアと関連付けられる試験ブロックを有し得る。半導体デバイス４５２２内の、対応するコア４１０Ａ２、４１０Ｂ２、４１０Ｃ２、４１０Ｄ２、４１０Ｅ２、及びコア４１０Ｆ２は、同じ試験ブロックと同様に関連付けることができる。しかしながら、デバイス４５２１及びデバイス４５２２のそれぞれを試験する際には、各試験ブロックの異なるインスタンスを実行して、半導体デバイス４５２１及び半導体デバイス４５２２のそれぞれの中のコアを試験することができる。
【００８８】
図４に示す実施例では、３つのサブフローが、並行して実行されている。この実施例では、デバイス４５２１及びデバイス４５２２に対して試験を実行する、試験システムのリソースは、複数のサイト領域へと分割されている。各サイト領域は、試験フロー内のサブフローと関連付けることができる。この実施例では、サイト領域４３０Ａ、４３０Ｆ、及びサイト領域４３０Ｂが示される。サイト領域４３０Ａは、リソース４２２Ａ及びリソース４２２Ｂを含む。模式的に示されるように、リソース４２２Ａは、コア４１０Ａ１に結合され、リソース４２２Ｂは、コア４１０Ａ２に結合される。この結合は、信号送出インターフェース１２６（図１）などの信号送出インターフェース内部に、マッピングをプログラムすることを含めた、当該技術分野において既知の方式で達成することができる。この実施例では、コア４１０Ａ１及びコア４１０Ａ２は、３つのうちの第１のサブフローの間に試験される。したがって、サイト領域４３０Ａは、第１のサブフローの各インスタンスを試験するためのリソースを提供している。
【００８９】
同様に、サイト領域４３０Ｆ内のリソースは、第２のサブフローの間に試験される、各ユーザーサイトのデバイスのコアのインスタンスに結合することができる。この実施例では、第２のサブフローの間に試験されるコアは、コア４１０Ｆ１及びコア４１０Ｆ２を含む。これらのコアのそれぞれは、第２のサブフローの個別のインスタンスの一部として試験され、試験ブロック３１０Ｆ（図３Ａ）などの試験ブロックの、個別のインスタンスを使用して試験することができる。
【００９０】
同様に、サイト領域４３０Ｂは、第３のサブフローの一部としてコアを試験するために使用される、リソースを含む。この実施例では、コア４１０Ｂ１及びコア４１０Ｂ２は、第３のサブフローの個別のインスタンス内で試験される。この実施例では、コア４１０Ｂ１及びコア４１０Ｂ２は、同じコアの異なるインスタンスを表し、同じ試験ブロックの異なるインスタンスを使用して試験することができる。この実施例では、コア４１０Ｂ１に結合されたリソース４２２Ｅが示され、コア４１０Ｂ２に結合されたリソース４２２Ｆが示される。
【００９１】
図４は、試験システムの構成の、単純化された表現であることを理解するべきである。例えば、各リソースと試験されるコアとの間には、単一の接続が示される。１つ以上のリソースと試験のためのコアとの間で、複数の信号が結合されるように、各コアは、複数の試験ポイントを有し得る。更には、４１０Ｃ１、４１０Ｄ１、及び４１０Ｅ１、４１０Ｃ２、４１０Ｄ２、及び４１０Ｅ２などの更なるコアは、いずれかのリソースに接続されるようには示されていない。半導体デバイス４５２１及び半導体デバイス４５２２の完全な試験のためには、これらのコアのそれぞれを、試験のためのリソースに同様に結合することができる。
【００９２】
これらのコアは、これらのコアが試験されるサブフローに基づいて、サイト領域４３０Ａ、４３０Ｆ、又はサイト領域４３０Ｂのうちの１つ以上に割り当てられるリソースに結合することができる。例えば、コア４１０Ｃ１は、コア４１０Ａ１と同じサブフローの一部として試験することができる。そのシナリオでは、コア４１０Ｃ１及びコア４１０Ｃ２は、サイト領域４３０Ａ内のリソースに結合することができる。同様に、コア４１０Ｅ１及びコア４１０Ｅ２は、コア４１０Ｂ１及びコア４１０Ｂ２と同じサブフローの間に試験することができる。したがって、図４では示されないが、コア４１０Ｅ１及びコア４１０Ｅ２は、サイト領域４３０Ｂ内部のリソースに結合することができる。更には、コア４１０Ｄ１及びコア４１０Ｄ２は、コア４１０Ｆ１及びコア４１０Ｆ２と同じサブフローの間に試験することができる。そのシナリオでは、コア４１０Ｄ１及びコア４１０Ｄ２は、サイト領域４３０Ｆ内のリソースに結合することができる。
【００９３】
しかしながら、図４の単純な図からは、各サイト領域が、並行フローのサブフローと関連付けられることを、認めることができる。図４で概念的に示されるようなサイト領域は、当該技術分野において既知である試験システムによってサポートされる、試験器サイト能力を使用することによって、作り出すことができる点を、本発明者らは認識し、かつ理解している。異なるサイト領域内のリソースを、同じユーザーサイト内の同じ半導体デバイスの諸部分を試験する際に使用することができる場合であっても、各サイト領域に、異なる試験器サイトを割り当てることができる。この方式でサイト領域に割り当てられる試験器サイトとリソースを関連付けることにより、試験フローが有するサブフローの数に関わりなく、試験フロー内でリソースが動作するように制御する機構が提供される。
【００９４】
試験器のリソースを試験器サイトと関連付ける能力は、リソースを種々のサブフローインスタンスと関連付けるために、更に使用することができる。例えば、サイト領域４３０Ａは、試験器サイト２及び試験器サイト３にリソースを割り当てることによって、作り出すことができる。この実施例では、リソース４２２Ａなどの、試験器サイト２に割り当てられるリソースは、第１のサブフローの第１のインスタンスの一部としての試験ブロックを実行するために割り当てられる。リソース４２２Ｂなどの、試験器サイト３に割り当てられるリソースは、第１のサブフローの第２のインスタンス内の１つ以上の試験ブロックを実行するために割り当てられる。
【００９５】
同様に、リソース４２２Ｃなどの、試験器サイト４に割り当てられるリソースは、第２のサブフローの第１のインスタンス内の１つ以上の試験ブロックを実行するために割り当てられる。リソース４２２Ｄなどの、試験器サイト５に割り当てられるリソースは、第２のサブフローの第２のインスタンス内の試験ブロックを実行するために割り当てることができる。リソース４２２Ｅなどの、試験器サイト６に割り当てられるリソースは、第３のサブフローの第１のインスタンス内の試験ブロックを実行するために割り当てることができる。リソース４２２Ｆなどの、試験器サイト７に割り当てられるリソースは、第３のサブフローの第２のインスタンス内の試験ブロックを実行するために割り当てることができる。
【００９６】
この方式で、試験器サイトの割り当てを使用することにより、異なるリソースが、また一部の実施形態では独立したリソースが、試験フローの異なるサブフローと関連付けられる。試験器サイトの割り当てはまた、サブフローのインスタンスを識別するためにも使用される。リソースを使用して、同じユーザーサイトのデバイスの諸部分を試験することができる場合であっても、既知のプログラミング技術を使用して、独立したリソースを、各試験器サイトと関連付けることができる。例えば、試験器サイト２、試験器サイト４、及び試験器サイト６は全て、単一のユーザーサイトのデバイス４５２１などのデバイスを試験するために割り当てられる。しかしながら、この方式で試験器サイトを使用することによって、異なるユーザーサイトに独立したリソースを割り当てる、既知の試験システム構成技術を適用することができ、このことにより、試験フロー全体の異なるサブフロー内で試験するための、独立した試験器リソースの割り当てがもたらされる。それぞれが異なるタイプのコアに関連する、異なる試験ブロックが、異なるサブフローの内部で実行される実施形態では、異なる試験器サイト内の独立した試験器リソースの適用により、同じ被試験半導体デバイス上の各コアを試験するための独立した試験器リソースの割り当てがもたらされる。
【００９７】
各試験フローの内部で、他の試験ブロックが実行される場合であっても、各サブフローに関して異なる試験器サイトを使用することにより、異なる試験ブロックの、並行して実行されるいずれのインスタンスにも、独立した試験器リソースが割り当てられる結果が生じ得る。換言すれば、この方式で試験器リソースを割り当てることにより、試験フローに関して指定される並行性の程度に関わりなく、リソースを共有するように具体的にプログラムされない限り、試験ブロックの各インスタンスは、独立したリソースを使用して実行することができる点が確実となる。
【００９８】
この方式での試験器リソースの割り当てを可能にするために、試験システムは、フロードメインを指定するユーザー入力に基づいて構成することができ、このフロードメインは、次いで、図４に示されるタイプのサイト領域と関連付けられる。次いで、この試験システムは、適切なサイト領域内のリソースを選択して、対応するフロードメインでの試験機能を実行することができる。
【００９９】
フロードメインを定義するために、ユーザーから直接的又は間接的に提供することができる入力により、サブフローの間にアクセスされるピンのグループを指定することができる。１つ以上のコアを試験するように設計された、１つ以上の試験ブロックが、サブフロー内で実行される実施形態では、そのサブフローに関するフロードメインは、そのサブフローの間に試験される全てのコアに関連する全てのピンを含み得る。
【０１００】
コア２１０Ａ及びコア２１０Ｃ（図２）が第１のサブフローの間に試験される図４の実施例では、第１のフロードメインは、コア２１０Ａ及びコア２１０Ｃを試験するように設計された試験ブロックの実行の間の試験アクセスのために使用される半導体デバイス１５２のピンを特定する、ユーザー入力によって指定することができる。同様に、コア２１０Ｂ及びコア２１０Ｅが、第２のサブフローの間に試験される場合、コア２１０Ｂ及びコア２１０Ｅを試験するように設計された試験ブロックの実行の間にアクセスされるコア２１０Ｂ及びコア２１０Ｅ内のピンを特定することによって、第２のフロードメインを指定することができる。同様に、コア２１０Ｄ及びコア２１０Ｆを試験するように設計された試験ブロックが、第３のサブフローの間に実行される場合、第３のフロードメインは、第３のフロードメインを無視するように指定することができる。
【０１０１】
各フロードメイン内のピンを指定する入力は、代表的被試験デバイスとの関連で、又は任意の他の好適な方式で、提供することができる。一実施例としては、ピンのグループを指定するように試験システムをプログラムすることが、当該技術分野において既知である。ピンのグループは、グループ内のピンに共通のタイミング又は共通の動作を提供することを含めた、任意の数のシナリオに関して指定することができる。これらのシナリオ又は他のシナリオで、ピンのグループを指定するために使用される技術は、フロードメインを形成するピンのグループを特定するために使用することができる。
【０１０２】
グループを特定する方式に関わりなく、ピンのグループが代表的デバイスに関して特定された後には、そのグループ化を各サイトに適用して、それらの各フロードメインのインスタンスを特定することができる。これらの特定されたフロードメインインスタンスに基づいて、異なる試験器サイトを、各フロードメインインスタンスと関連付けることができる。図４に示す実施例では、単一の試験器サイトが、各フロードメインインスタンスと関連付けられる。しかしながら、フロードメインインスタンスが、単一の試験器サイトと関連付けられるという必要条件は、存在しない。例えば、複数の試験器サイトを、各フロードメインインスタンスと関連付けることができる。いずれにせよ、試験器サイトとフロードメインとの関連付けは、図４に示されるフロードメイン特有サイト領域を通じて実施することができる。
【０１０３】
そのような関連付けにより、異なる試験器サイトに関して独立したリソースを選択する、既知の半導体試験システムプログラミング技術を使用して、独立したリソースを、各サブフローインスタンスに関して自動的に選択することが可能となる。これらの能力を使用することにより、試験プログラムが並行実行のために具体的に書き込まれない場合であっても、複数の異なる試験ブロックを並行して実行することができる試験プログラムを、実行するための機構が提供される。図示のように、サイト領域によってリソースを制御することにより、別個に開発され、別個に動作する試験ブロックを、並行して制御することが可能となる。
【０１０４】
図４の実施例では、サイト領域４３０Ａに関連する試験ブロック３１０Ａは、その試験ブロックを実行する際、サイト領域４３０Ａのサイトに割り当てられているリソースを使用することによって、第１のタイプのコアに対して動作することができる。同様の方式で、試験ブロック３１０Ｆは、その試験ブロックを実行する際、サイト領域４３０Ｆのサイトに割り当てられているリソースを使用することによって、第２のタイプのコアに対して動作することができる。また、試験ブロック３１０Ｂも、その試験ブロックを実行する際、サイト領域４３０Ｂのサイトに割り当てられているリソースを使用することによって、第３のタイプのコアに対して動作することができる。
【０１０５】
上述のように、サイト領域へのリソースの自動化された割り当てが行われることにより、各サイト領域に割り当てられたリソースが独立していることを確実にすることができる。しかしながら、各サブフローインスタンス内のリソースの完全な独立が所望されないシナリオが、存在し得る。例えば、試験機能がコア間の相互作用を必要とするか、又は所望される限界までの高い程度の並行性で試験計画を実行するために十分なリソースが存在しない場合、サブフロー内でのリソース間の、ある程度の依存性が所望される可能性がある。図５に戻ると、サイト領域の第２部分がフロードメインと一意的に関連付けられない、代替的な動作シナリオが示される。図５は、３つのフロードメイン特有サイト領域４３０Ａ、４３０Ｆ、及び４３０Ｂを有する、図４と同様に構成された試験システムを示す。この試験システムは、これらの各サイト領域内部のリソースが、異なるフロードメインに関連する試験ブロックを実行するために割り当てられるように構成される。図５のシナリオが図４のシナリオと異なる点は、図５に示す試験システムが、フロードメインと一意的に関連付けられない追加的サイト領域を含む点である。
【０１０６】
リソース５３０Ａ及びリソース５３０Ｂは、グローバルサイト領域を表す。この実施例では、グローバルサイト領域は、試験器サイト１に、グローバルサイト領域内のリソースを割り当てることによって実装されている。試験器サイト１は、フロードメイン特有サイト領域４３０Ａ、４３０Ｆ、又はフロードメイン特有サイト領域４３０Ｂのいずれかにリソースを割り当てるためには使用されない試験器サイトを表す。図示の実施形態では、グローバルサイト領域内の構成関係は、グローバルフロードメインのユーザーの定義によって定義される。ユーザーは、グローバルフロードメインを、いずれのサブフローとも関連付けることはできない。その使用は、全ての並行サブフローに対する大域的（グローバル）なものであることが示唆され、定義されている。しかしながら、他の実施形態では、グローバルサイト領域は、任意の他の好適な方式で定義することができる点を理解するべきである。
【０１０７】
４３０Ａ、４３０Ｆ、及び４３０Ｂなどのフロードメイン特有サイト領域を通じたリソースの割り当てとは対照的に、グローバルサイト領域内のリソースは、いずれのフロードメインとも１対１の関係で関連付けられない。むしろ、図５でリソース５３０Ａ及びリソース５３０Ｂによって表される、グローバルサイト領域内のリソースは、任意のフロードメインからアクセスすることができる。これらのリソースには、フロードメイン内で実行される試験ブロックから、従来の試験システムプログラミング技術を使用して、アクセスすることができる。しかしながら、試験フローの並行性の程度に関わりなく、独立したリソースが保証されるような方式で、試験システムの構成を援助するツールによって割り当てることができる、フロードメイン特有サイト領域４３０Ａ、４３０Ｆ、及びフロードメイン特有サイト領域４３０Ｂ内のリソースとは対照的に、グローバルサイト領域に割り当てられたリソースが、並行して実行されている２つ以上の試験ブロックのためにアクセスされる場合には、競合が生じる恐れがある。したがって、グローバルサイト領域に割り当てられたリソースにアクセスする試験プログラムは、そのような競合を回避するように書き込むことができる。そのような競合回避は、フロードメイン特有サイト領域を実装しない試験システムをプログラムするために現在使用される技術に従って、実行することができる。
【０１０８】
任意の好適な理由のために、任意の好適なリソースを、グローバルサイト領域に割り当てることができる。それらの理由としては、例えば、リソースの機能性に対する制限を挙げることができる。リソースの制限の例としては、リソースは、試験器サイトの一部として動作するようにプログラムすることができない計器の一部であるか、又は使用中の全てのサイト領域をサポートするために使用されている試験器サイトの数で、動作するようにプログラムすることができない計器の一部である場合がある。例えば、一部の試験システムは、最大５１２の試験器サイトをサポートする場合があるが、一部の計器は、３２の試験器のみをサポートする場合がある。
【０１０９】
グローバルサイト領域にリソースを割り当てることができる別の理由は、リソースの不足である場合があり、それゆえ、好適な数のデバイスを並行して試験するためには、特定の不足リソースを、フロードメイン間で共有しなければならない。不足リソースの例としては、試験器は、異なるユーザーサイト内の１つのデバイス又は複数のデバイス上の異なるコアを試験するために必要なＲＦ信号を生成するための、単一の計器を装備する場合があり、それゆえ、それらのリソースは、異なるフロードメインインスタンス内で必要とされる。このシナリオでは、ユーザーは、その計器からのＲＦ信号を、試験の間の異なる時間に、異なるフロードメインインスタンス内に印加するように、試験プログラムを構築することができる。
【０１１０】
図５は、グローバルサイト領域内のリソースが、同じ試験器サイトに割り当てられるシナリオを示す。そのようなサイト割り当ては、本発明の必要条件ではないことを理解するべきである。一部のシナリオでは、図５に示すような複数のユーザーサイトを試験する場合、グローバルサイト領域内のリソースは、固有の各ユーザーサイトに関して固有の試験器サイトが存在するように、試験器サイトに割り当てることができる。そのような構成は、ユーザーサイトが、別個に、又はある程度の独立性を有して試験されることを可能にし得る。したがって、図５は、グローバルサイト領域の実装の例示であり、限定するものではないことを理解するべきである。
【０１１１】
フロードメイン特有サイト領域及びグローバルサイト領域の双方を提供することによって、試験システムをプログラムする際に、実質的な柔軟性（フレキシビリティ）を達成することができる。しかしながら、本システムは、試験器サイトをフロードメイン特有サイト領域に割り当てる自動化ツールを使用して、任意の程度の並行性で試験プログラムを実行するように、容易に構成することができる。フロードメイン特有サイト領域内のリソースに加えてグローバルサイト領域内のリソースを使用するために、ユーザーは、フロードメイン特有サイト領域内の特定の試験器サイトを、フロードメインインスタンス内のピンと関連付けることができ、それにより、フロードメイン特有サイト領域内の別個に動作するリソースが、それらの対応するフロードメイン内のピンにアクセスするように自動的に選択される。更には、グローバルサイト領域は、試験の間にグローバルサイト領域内のリソースによってアクセスされるピンを含む、任意のフロードメインインスタンスと関連付けることができる。
【０１１２】
図６は、より高い柔軟性を提供するために、試験システム内に実装することができる、更なるタイプのサイト領域を示す。図６は、フロードメイン特有サイト領域及びグローバルサイト領域に加えて、試験システムが、システムサイト領域を有するように構成される場合があることを示す。図６の実施例では、このシステムサイト領域は、試験器サイト０を使用して定義される。図示の実施形態では、全てのリソースは、システムサイト領域内に含まれており、試験器サイト０を通じてアクセスすることができる。しかしながら、システムサイト領域に関する任意の好適な指定を使用することができる点を、理解するべきである。具体的実施例としては、システムサイト領域は、ゼロから、ユーザーサイトの数から１を引いた数に基づき得る上限までの番号を付けられた試験器サイトなどの、複数の試験器サイトと関連付けることができる。システムサイト領域を提供することは、システム内の任意のリソースにアクセスするように、任意の試験ブロックをコード化することができる機構の一実施例である。例えば、コア４１０Ｂ１及びコア４１０Ｂ２が試験される連続試験の間には、コアを試験する一部として、任意の数のリソースにアクセスすることが望ましい場合がある。しかしながら、順次フロー内では、異なる試験ブロック内でのリソース利用の間には、競合のリスクが存在しないため、試験ブロックは、フロードメイン特有サイト領域を使用することなく、フロー内で順次に実行することができる。
【０１１３】
この柔軟性は、説明される実施形態では、リソースの一部又は全てを、複数の試験器サイトの一部として動作するように構成することによって、提供することができる。例えば、システムサイト領域が、試験器サイト０に割り当てられるシナリオでは、あらゆるリソースをサイト０に割り当てることができる。フロードメイン特有サイト領域及び／又はグローバルサイト領域に関連する試験プログラムを実行する一部として使用することができる、各試験器リソースは、追加的試験器サイトに割り当てることができる。この追加的試験器サイトは、グローバルサイト領域を表す場合があり、又はフロードメイン特有サイト領域に割り当てられる試験器サイトを表す場合もある。この方式で、試験プログラムを実行するためのリソースを構成する際に、実質的な柔軟性を達成しつつ、並行試験の間のリソース間の競合を回避するように試験器サイトを使用する利益を、依然として得ることができる。
【０１１４】
図７は、この方式でサイト領域を使用して、異なるコアを試験する異なるサブフローインスタンスにリソースを割り当てることからもたらされる試験能力を示す。図７は、試験システムを運用する方法を示す。図７に示す方法は、定義されたフローを有する特定の試験プログラムが実行されることを指示するユーザー入力に応答して、開始することができる。この実施例では、実行される試験フローは、３つのサブフローを含む。それらのサブフローは、３つのユーザーサイトにわたって実行される。したがって、各サブフローに関して３つのインスタンスが存在する。
【０１１５】
この実施例では、図７の処理は、試験の実行のために試験器が構成されるブロック７１０で開始する。この構成は、各ユーザーサイト内の各コアに、試験器サイトをマッピングする工程を伴い得る。そのようなマッピングは、図１の例示的システム１００では、特定の試験器サイトに割り当てられているリソースを、それらの試験器サイトを使用するフロードメイン内にあるユーザーサイト内の特定のピンに接続するように、信号送出インターフェース１２６を構成することによって、達成することができる。このマッピングは、任意の好適な方式で実施することができる。しかしながら、一部の実施形態では、このマッピングは、本明細書で説明されるようなサイトを使用してリソースを割り当てるコンピュータ化されたツールから提供される構成コマンドに基づいて実施することができる。
【０１１６】
図１の実施例では、構成コマンドは、試験システム内部に含まれる複数のリソースのそれぞれに関して、そのリソースが接続されるピンを特定する、構成コマンド１４０を含み得る。そのような情報を使用して、試験器１２０の信号送出インターフェース構成要素内部のマッピングを制御することができる。別の実施例としては、構成コマンドは、試験プログラムに関するフローを指定することができる。構成コマンド１４２は、各サブフロー内で、いずれの試験ブロックを実行するかについての情報を、提供することができる。構成コマンド１４４は、試験プログラムを実行するために使用される試験システム１２０内部の各リソースに関する試験器サイト割り当てを指定することができる。他の情報は、各サブフローの各インスタンスに関して、いずれの試験器サイトが割り当てられるかを、指定することができる。この構成情報により、制御構成要素１１０は、各試験ブロックの各インスタンスのための適切なリソースを使用して、１つ以上のユーザーサイト内で、１つ以上の試験ブロックの１つ以上のインスタンスを実行することが可能となる。
【０１１７】
ユーザーによって任意の好適な入力を提供することにより、構成情報をツールが生成することを可能にすることができる。例えば、図１は、そのような構成情報を生成するツールを実行することができるワークステーション１３２に入力を提供するユーザー１３０を示す。その入力は、フロードメインを定義することができる。各フロードメインは、試験プログラムのサブフローの間にアクセスされる、代表的被試験デバイスに関するピンのグループとして指定することができる。この情報は、任意の好適な方式で提供することができる。例えば、試験システムをプログラムする際に、ピンのグループを指定することが、当該技術分野において既知であり、フロードメインは、ピンのグループを指定するための当該技術分野において既知の技術を使用して、指定することができる。
【０１１８】
これらのフロードメインは、１つのフローに関連して指定することができる。フローは、スプレッドシートの形態、試験スクリプトの形態、又はコマンドラインの形態などの、任意の好適な方式で指定することができる。フローを定義する情報は、ユーザーによって入力される値として提供することができる。しかしながら、この入力は、そのようなスプレッドシート又はスクリプトを含むファイルを選択することによって、提供することができる。そのような選択は、直接的又は間接的に実施することができる。間接的選択の一実施例としては、ユーザーは、試験計画のフロー、また恐らくは他のパラメーターが既に指定されている、その試験計画に関連するワークスペースを開くことができる。しかしながら、情報を伝達するための任意の好適な機構を採用することができる。どのようにフローが指定されるかに関わらず、そのフローは、サブフローについての情報、及び各サブフロー内部で実行される試験ブロックについての情報を含み得る。
【０１１９】
試験システムを構成するための、当該技術分野において既知のタイプの入力とすることができる、他の入力を指定することにより、ツールがマッピングを決定することを可能にすることができる。例えば、ワークステーション１３２上で実行されるツールは、信号送出インターフェース１２６（図１）のデバイス特有部分に関連して各試験ピンが配置される場所を定義する情報に、アクセスすることができる。同様に、いずれの試験器チャネルが、いずれのリソースと関連付けられるかを定義する情報に、アクセスすることができる。更には、ワークステーション１３２上で実行されるツールは、例えば、並行試験のための、半導体デバイスを保持するユーザーサイトの数についての情報に、アクセスすることができる。
【０１２０】
ワークステーション１３２上のユーザーインターフェースを通じた直接的なユーザー入力によって、又は試験プログラムについての情報の他のソースにアクセスすることによって、ツールがアクセスすることができる他の情報としては、各試験ブロックの実行のためのリソース要件を挙げることができる。
【０１２１】
この情報、及び任意の試験環境内で従来より維持することができるような任意の他の好適な情報は、ツールによってアクセスされることにより、試験システム内の制御構成要素１１０（図１）などの制御構成要素に提供することができる構成コマンドを生成することができる。そのようなツールは、フロードメイン特有サイト領域、グローバルサイト領域、及びシステムサイト領域を含めた、上述のようなサイト領域を作り出すことができる。フロードメイン特有サイト領域の数は、ユーザー入力によって指定されるフロー内のサブフローの数に基づいて、ツールによって決定することができる。サイト領域の数が決定された後、このツールは、これらのサイト領域に試験器サイトを割り当てることができる。
【０１２２】
次いで、このツールは、試験プログラムを構成する試験ブロックの実行の際、どのようにリソースが使用されるかに基づいて、これらの試験器サイトにリソースを割り当てることができる。例えば、システムサイト領域を実装するために使用される試験器サイトに、あらゆるリソースを割り当てることができる。２つ以上のサブフローインスタンス内でアクセスされるリソースは、グローバルサイト領域を実装する試験器サイトに割り当てることができる。
【０１２３】
別個のフロードメインに関連する試験ブロックを実行する際に使用される他のリソースは、それらのフロードメインに関連するサイト領域を実装する、試験器サイトに割り当てることができる。これらのリソースは、異なるサイト領域に割り当てられたリソースが互いに独立するように、割り当てることができる。これらの割り当てが実施されることにより、各サイト領域内に、機能的に独立したリソースをもたらすことができる。機能的独立性は、いずれかの物理的構成要素によって供給される全てのリソースが、同じサイト領域に割り当てられることを確実にすることによって、達成することができる。しかしながら、根底にある物理的構成要素が、別個に動作させることができる複数のリソースをサポートすることにより、これらのリソースのうちの１つに関して生成又は測定することができる信号が、それ以外のリソースの現在若しくは以前のプログラミングのいずれにも依存しない場合には、同じ物理的構成要素からのリソースが異なるサイト領域に割り当てられる場合であっても、サイト領域全体にわたる機能的独立性を達成することができる。
【０１２４】
試験システム内のユーザーサイトへの独立したリソースの割り当てを達成するための、当該技術分野において既知の技術を使用して、フロードメイン特有サイト領域にリソースを割り当てることができる。しかしながら、ユーザーサイト全体のみにわたって独立性を達成するのではなく、この割り当ては、サイト領域全体にわたって独立性が達成されるように実施される。しかしながら、各ユーザーサイトが、同じ試験機能を実行するようにリソースを割り当てられる従来のリソース割り当てタスクとは対照的に、上述のようなサイト領域は、異なるタイプのコアの試験と関連付けることができ、それらのサイト領域に割り当てられたリソースは、異なるサイト領域内で異なる試験機能を実行することができる。それにも関わらず、いずれのリソースが別個に動作することができるか、及び望ましい速度若しくはリソースの活用を達成するために、どのようにしてリソースを選択するかを、特定するための技術などの、当該技術分野において既知であるような技術を適用することができる。しかしながら、任意の好適な技術を使用することができる。
【０１２５】
複数のユーザーサイトが使用されるシナリオでは、リソースを試験器サイトに割り当てることにより、ユーザーサイト全体にわたる独立性もまた達成することができる。これらの割り当ては、当該技術分野において既知であるような技術、又は任意の他の好適な技術を使用して実施することができる。これらのリソース割り当てがどのように実施されるかに関わらず、独立したリソースは、指定されるフローの並行性の程度に関わりなく、各サブフローインスタンスに割り当てることができる。
【０１２６】
一部の実施形態では、フロードメイン特有サイト領域に割り当てられるリソースはまた、グローバルサイト領域に割り当てられるリソースから、機能的に独立したものとすることもできる。任意の好適な機構を使用して、この独立性を達成することができる。例えば、リソースを、最初にグローバルサイト領域に割り当て、次いで、フロードメイン特有サイト領域にリソースを割り当てる際に、考慮から除外することができる。あるいは、フロードメイン特有サイト領域及びグローバルサイト領域を併せて考慮することにより、これらのサイト領域の全てに、独立したリソース割り当てを実施することができる。
【０１２７】
リソースの割り当てがサイト領域に実施された後、次いで、それらのサイト領域に割り当てられている試験器サイトに、それらのリソースを割り当てることができる。適切な割り当てを特定する情報を、試験システムに伝達することができる。例えば、構成情報１４４は、制御構成要素１１０に伝達されているリソースの割り当てを示す。図１は、単一の試験器サイトへの単一のリソースの割り当てを示すことによって、この伝達を模式的に示すものであるが、典型的な試験プログラムに関連して、遙かに多くの情報を伝達することができる点を理解するべきである。例えば、複数のリソースのそれぞれに関して、割り当てを伝達することができる。更には、各リソースを、２つ以上の試験器サイトに割り当てることができる。更には、サブフロー内の異なる試験ブロックに関して、リソース要件が異なる場合には、一部の実施形態では、リソース割り当ては、リソース割り当てが適用されるサブフローの部分を指示する情報を含み得る。
【０１２８】
図１は、試験システム内部の制御構成要素に提供されている構成コマンドを模式的に示すことを、理解するべきである。しかしながら、構成コマンドは、任意の好適なフォーマットで提供することができ、図１に示される特定の構成コマンドの代わりの情報、又は追加の情報を含み得る。更には、数百若しくは恐らくは数千のピンで、複数のタイプの試験信号を生成及び測定することが可能な、複数のリソースを含む試験システムに関しては、制御構成要素に供給される構成情報は、そのような全ての構成要素に関する構成を反映し得ることを認識するべきである。
【０１２９】
単一のツールが構成情報を生成するように説明されるが、この単一のツールによって実行されているように説明される機能は、複数のツールによって実行することが可能である点を認識するべきである。試験プログラムが、このツールに起因する機能を従来より実行していた試験システム上での実行のために、本発明の一部の実施形態に従って準備されている実施形態では、それらの機能は、試験システム内に従来より含まれるツールによって、実行することができる。一実施例としては、既知のツールを使用して、ユーザーサイトのピンにリソースを接続するための、信号送出インターフェースに関する特定の構成コマンドを生成することができる。更には、一部の実施形態では、構成コマンドの一部又は全ては、コンピュータ化されたツールからの支援なしで、人間のユーザーによって指定することができる。
【０１３０】
いずれの構成情報が生成されるか、又はどのように構成情報が生成されるかに関わらず、制御構成要素は、この情報を使用して、試験システム内部の構成要素を制御し、適切な時間に適切なリソースを使用して、サブフローインスタンス内の試験ブロックを実行することができる。試験プログラムの実行のための準備の際、制御構成要素は、その構成情報を使用して、リソースをピンにマッピングすることができる。このマッピングは、試験システムの信号送出インターフェース部分内部のスイッチング要素を構成することによって、又は任意の他の好適な方式で、達成することができる。リソースはまた、１２４Ａ．．．１２４Ｎなどのレジスタ（図１）に書き込むことなどによって、試験器サイトと関連付けることもできる。
【０１３１】
どのように試験システムが構成されるかに関わらず、複数のサブフローを含み得る特定のフローを有する試験計画に関して、試験システムが構成された後に、試験を開始することができる。図７では明示的に示されないが、その試験は、例えば、セットアップ試験ブロック３２０（図３Ｄ）のような試験ブロックを実行することによって達成することができる、セットアップ部分を含み得る。その後、並行サブフロー内で試験を実行することができる。図７の実施例では、３つのサブフローが示される。各サブフローのインスタンスは、半導体デバイスが試験される、各ユーザーサイトに関して実行することができる。一回に単一の半導体デバイスのみが試験されるように、単一のユーザーサイトを使用する場合であっても、サブフローの並行試験を実行することができるが、図７は、３つのユーザーサイトでの並行試験を示す。したがって、サブフローＡは、サブフローインスタンス７２０Ａ１、７２０Ａ２、及びサブフローインスタンス７２０Ａ３を含む。サブフローＢは、同様に、３つのサブフローインスタンス、７２０Ｂ１、７２０Ｂ２、及び７２０Ｂ３内で実行される。サブフローＣは、同様に、３つのサブフローインスタンス、７２０Ｃ１、７２０Ｃ２、及び７２０Ｃ３内で実行される。
【０１３２】
各サブフロー内での処理は、各サブフローインスタンスに関して同じ試験ブロックに従って実行することができる。例えば、サブフローインスタンス７２０Ａ１、７２０Ａ２、及びサブフローインスタンス７２０Ａ３のそれぞれでの処理は、同じ順序の同じ試験ブロックの実行によって、駆動することができる。しかしながら、各サブフローインスタンス内で試験されている異なるデバイスに関連する条件により、サブフローのいずれかの条件付き部分が、各サブフローインスタンス内で異なる方式で実行される結果が生じ得る。この場合、条件付き処理は、「警報」の使用を通じて達成される。
【０１３３】
当該技術分野において既知である技術を使用して、試験システム内部に警報を実装することができる。例えば、警報は、試験システム内部のハードウェア構成要素によって、実装することができる。この構成要素は、試験プログラムの実行の間に条件を検出することができ、その条件が検出されたことを合図する状態を前提とすることができる。一部の実施形態では、各警報は、その条件の検出によって警報がトリガーされる際に、ラッチすることができる。検出される条件は、事前設定されたレベルを超過するか又は下回る、電圧若しくは電流に関連し得る。各警報が検出する具体的な条件は、本発明を決定付けるものではなく、一部の実施形態では、それらの条件は、１つの警報のためにプログラムすることができる。
【０１３４】
従来の試験システムでは、警報は、試験器サイトと関連付けられる。そのような能力により、従来の試験システムでは、条件は、異なるユーザーサイトで並行して試験されているデバイスと関連付けられる。この場合、サイト領域を通じた試験器サイトの割り当てに基づいて、警報は、フロードメインと関連付けられることにより、同じ半導体デバイスに対して、それらのフロードメインが並行して試験ブロックを実行している場合であっても、他のフロードメインに影響を及ぼすことなく、フロードメイン内部で条件付き動作を実行することができる。
【０１３５】
図７は、フローＡに関連して、そのような条件付き処理の一実施例を提供する。図７は、サブフローインスタンス７２０Ａ１などのサブフローインスタンス内部で実施することができる処理の順序を示す。この実施例では、ブロック７３０で、処理を開始することができる。ブロック７３０では、特定のサブフローインスタンスに関連する警報を、クリアすることができる。上述のように、異なる試験器サイトをリソースに割り当てることにより、特定のリソースを、サブフローインスタンスと関連付けることができる。この方式で、実行されている試験プログラム全体の特定のサブフローインスタンスに基づいて、リソースの動作に影響を及ぼすアドレス指定コマンドを、リソースに指示することができる。この方式で、リソースにコマンドを送ることにより、特定の被試験半導体デバイスの特定のコアの試験に一意的に関連する動作を、それらのリソースに実行させることができる。例えば、サブフローインスタンス７２０Ａ１の一部としてのブロック７３０の実行は、試験されている特定の半導体デバイス内の特定のコアの試験に関連する警報をクリアすることができる。
【０１３６】
同様のコマンドを、サブフローインスタンス７２０Ａ２及びサブフローインスタンス７２０Ａ３などの、他のサブフローインスタンス内で実行することができる。しかしながら、それらの他のサブフローインスタンス内では、そのコマンドは、異なる試験器サイトにアドレス指定され、その試験システムに結合された他の半導体デバイス内のコアの試験に特有の、試験システムの動作を、他のユーザーサイトに引き起こすことができる。この実施例では、同じサブフローの各サブフローインスタンスは、並行して試験されている異なるユーザーデバイス内の、同じタイプのコアを試験する。それゆえ、異なる被試験半導体デバイスに関連する場合であっても、同じサブフローの各サブフローインスタンス内で、同じ処理工程を施すことができる。
【０１３７】
この実施例では、ブロック７３０で実行されるコマンドは、警報をクリアする。この実施例では、警報は、その警報がクリアされるまで、条件の検出を指示する出力状態を保持するため、警報は、試験の一部として使用される前に、ブロック７３０でクリアすることができる。
【０１３８】
図７に示す実施形態では、警報は、特定の試験器サイトに割り当てることができる構成要素と、関連付けられる。したがって、ブロック７３０で警報をクリアすることは、サブフローインスタンス７２０Ａ１内で試験されている特定のコアに対して試験を実行するように割り当てられた１つ以上の試験器サイトに割り当てられている構成要素に関連する警報を、クリアすることを伴い得る。試験器サイトは、フロードメイン特有サイト領域に割り当てられるため、ブロック７３０でクリアされる警報は、サブフローＡの他のインスタンス、又は他のサブフローのうちのいずれかを試験する際には使用されないサイト領域と関連付けられる。この方式で、ブロック７３０で警報をクリアすることは、異なるサブフローに関する他のサブフローインスタンス内で実行される試験には、影響を及ぼし得ない。それらの他のサブフローインスタンスは、同じ半導体デバイス上の他のコアの試験と関連付けることができるため、ブロック７３０で警報をクリアすることは、サブフローＢ又はサブフローＣ内での同じデバイス上の他のコアの試験には（それらの他のサブフロー内の試験プログラムが、サブフローＡ又はサブフローインスタンス７２０Ａ１内の警報にアクセス若しくは依存するように、具体的に書き込まれない限り）影響を及ぼす必要がない。
【０１３９】
適切な警報がクリアされた後、次いで、サブフローインスタンス７２０Ａ１内部での処理を、ブロック７３２へと続行することができる。ブロック７３２では、試験器サイト、又はサブフローインスタンス７２０Ａ１内のフロードメイン特有処理のために割り当てられたサイト内のリソースを、起動することができる。起動される具体的なリソースは、サブフローインスタンス７２０Ａ１内で実行されている試験ブロック、及び生成若しくは測定される試験信号のタイプに応じて決定することができる。ブロック７３２で生成及び／又は測定される具体的な信号は、本発明を決定付けるものではなく、起動は、リソースを起動して、半導体デバイス試験の技術分野において既知であるような試験機能を実行することを伴い得る。
【０１４０】
ブロック７３２で起動される具体的なリソース並びに生成及び／又は測定される信号の性質に関わらず、ブロック７３４へと処理を続行して、ブロック７３２で実行されたそれらの試験機能が、サブフローインスタンス７２０Ａ１に関連するいずれかの警報をトリガーしているか否かを、判定することができる。判定ブロック７３４では、このプロセスは、それらの試験機能によっていずれかの警報が起動されているか否かに応じて分岐し得る。ブロック７３４での処理は、ブロック７３０でクリアされた警報を読み取り、ブロック７３２で実行された試験機能によっていずれかが起動されたか否かを判定することによる方式を含めた、任意の好適な方式で実行することができる。
【０１４１】
ブロック７３０に関連して上述されたように、ブロック７３４でチェックされる警報は、サブフローインスタンス７２０Ａ１と一意的に関連付けられる構成要素によって実装することができる。サブフローインスタンス７２０Ａ１は、同様に、ユーザーデバイス上の特定のコアの試験と関連付けることができる。それゆえ、この警報は、同じ半導体デバイス上の他のコアの試験を実行することができる、サブフローＢ及びサブフローＣなどの、いずれかの他のサブフロー内での動作からは、別個に設定することができる。したがって、ブロック７３４で警報が検出される場合には、このプロセスは、ブロック７４０へと分岐することができる。
【０１４２】
ブロック７４０では、コア特有警報応答を実施することができる。この場合には、その警報応答は、サブフローＡ内の試験ブロックの実行によって試験されているコアに、特有のものとすることができる。例えば、一部のコアを試験する際、過電圧条件は、そのコアの試験を中止することが適切な応答であり得る、重大な問題を指示する場合がある。他のコアに関しては、過電圧条件を指示する警報は、望ましくはないが、損傷を与えることのない、過渡的条件を指示する場合がある。そのような警報に対する適切な応答は、異なる条件下でコアを動作させることによって、その過渡的な過電圧条件を回避することができるか否かを判定するために、より低速で試験を継続することであり得る。したがって、サブフローインスタンス７２０Ａ１内部での処理が、サブフローインスタンス７２０Ａ１内部での試験のために割り当てられた試験器サイトに関連する警報の検出により、判定ブロック７３４から７４０へと分岐する場合、その警報は、サブフローインスタンス７２０Ａ１内で試験ブロックが実行されているコアに関連する条件を指示する。したがって、その試験ブロックの一部としてプログラムされている警報応答を、ブロック７４０で実行することによって、その警報に対する応答は、その試験ブロックに書き込まれていたコアに特有のものである。
【０１４３】
試験ブロックの開発者によって、この能力を使用することにより、試験ブロックが、いずれの他の試験ブロックも並行して実行されることなく、試験システム上で実行されるかのように、その試験ブロック内に警報処理コードを書き込むことができる。その試験ブロックの実行の間に、警報が発生した場合には、ブロック７４０で、警報処理コードが実行される。その試験ブロックが、同じ半導体デバイス上の他のコアを試験する、他の試験ブロックと並行して実行される場合であっても、他の試験ブロックの実行の結果として生成される警報は、ブロック７４０で、コアＡの試験の一部として検出された警報を処理するために具体的に書き込まれている、この警報処理コードの実行を引き起こすことはない。この警報条件の独立性により、書き込まれた試験ブロックは、他の試験ブロックが並行して実行されることなく、その試験ブロックが順次に実行されることを前提とするものであっても、並行実行のために、コアＡに関する試験ブロックに具体的に書き込むことを必要とせずに、並行フローの一部として実行することができる。この能力により、試験システムのユーザーは、コアに関する試験ブロックを、それらの試験ブロックが並行フローへと組み合わされる方式とは無関係に、開発することができる。しかしながら、試験ブロックの所望の動作が、それらに関連するコアに対して実行される。
【０１４４】
図７では明示的に示されないが、同様の条件付き処理を、フローＢ及びフローＣ内部で実行することができる。結果として、条件付き処理は、サブフロー７２０Ｂ１、７２０Ｂ２、７２０Ｂ３、７２０Ｃ１、７２０Ｃ２、及びサブフロー７２０Ｃ３のそれぞれで、実行することができる。
【０１４５】
この条件付き処理は、任意の好適な形態とすることができ、各サブフローで異なるものとすることができる。この実施例では、ブロック７４０でのコアＡに特有の警報応答に続いて、サブフローインスタンス７２０Ａ１内部での処理が、終了まで示される。しかしながら、警報条件の検出に応答して処理が終了するという必要条件は、存在しない。一部のシナリオでは、警報応答は、データを記録し、試験条件を変更するか、若しくは他の動作を実施して、次いで、サブフローインスタンス７２０Ａ１内部での試験を継続することを含み得る。
【０１４６】
反対に、判定ブロック７３４で警報が検出されない場合には、判定ブロック７５０へと、プロセスを続行することができる。更に試験が残っている場合には、サブフローインスタンス７２０Ａ１内部での処理は、判定ブロック７５０からループバックすることができる。警報をクリアして、試験機能を実行し、次いで警報をチェックして、警報が検出されるか否かに基づいて条件付き動作を実施するプロセスは、サブフローインスタンス７２０Ａ１内部で試験されるコアの試験に関して、未だ完了されていない試験機能が残らなくなるまで、繰り返すことができる。
【０１４７】
試験が完了すると、そのフローは終了することができる。しかしながら、コアに関連する試験ブロックの実行に続いて、任意の好適な工程を実施することができる。例えば、同じサブフロー内で試験される別のコアに関連する試験ブロックを、開始することができる。代替的に又は更に、サブフローインスタンス内部での試験の完了時に、複数のコア間の相互作用を伴う機能試験を、開始することができる。図７では明示的に示されない、可能な変形形態の別の実施例としては、試験システムに結合された各ユーザーサイトでの、半導体デバイスの試験の完了時に、それらのユーザーサイトの半導体デバイスは、次に試験することができる他の半導体デバイスによって置き換えることができる。したがって、図７に示すフローＡに関する処理は、複数のユーザーデバイスに関して、繰り返し実行することができる。
【０１４８】
図７は、半導体デバイス上のコアを、そのコアの試験の間に検出された警報条件に基づいて試験することに関連して、動作を実施することができるシナリオを示す。一部のシナリオでは、警報条件と特定のコアとを、それらのコアの試験に関連して実施されるように指定された動作を使用して関連付けることは、半導体デバイスの動作を劣化させる、擬似欠陥又は他の欠陥を特定する際に役立ち得る。一部のシナリオでは、試験されている異なる半導体デバイス上の、同じタイプの別のコア内で検出された条件を、１つのコアの試験での動作の条件とすることにより、誤動作条件又は他の劣化動作条件の検出を容易にすることができる。他のシナリオでは、同じ半導体デバイスの別のコア内で検出された条件を、１つのコアの試験での動作の条件とすることにより、誤動作条件又は他の劣化動作条件の検出を容易にすることができる。本明細書で説明されるような処理は、他の半導体デバイス上の同じタイプの他のコア内の条件に基づくか、又は異なる半導体デバイス上の他のタイプの他のコア内の条件に基づいて、条件付き処理をサポートすることができる。
【０１４９】
図８は、同じ半導体デバイスの異なるタイプの別のコア内での試験ブロックの実行に関連して検出されるイベントを、１つのコアに関連する試験の条件とすることができる機構の一実施例を提供する。図８に示す試験は、全般的には、図７に関連して上述されるように実行することができる。例えば、ブロック７１０では、試験される各コアに、少なくとも１つの試験器サイトをマッピングするように、試験システムを構成することができる。各コアは、試験器サイトが割り当てられているサブフローインスタンス内で、そのコアに関連する試験ブロックを実行することによって、試験することができる。
【０１５０】
図７に示す試験と同様に、図８は、並行して実行される、コアＡ、コアＢ、及びコアＣの３つのコアに対する試験を示す。各コアの試験は、個別のフロードメインインスタンス内で実行される。更には、並行して試験されている各半導体デバイスに関して、個別のフロードメインインスタンスが提供される。この実施例では、半導体デバイスは、３つのユーザーサイトに接続されることにより、各サブフローにつき３つのサブフローインスタンスが存在する。したがって、サブフローインスタンス８２０Ａ１、８２０Ａ２、及びサブフローインスタンス８２０Ａ３は、コアＡに関連する試験ブロックの、個別のインスタンスを実行する。サブフローインスタンス８２０Ｂ１、８２０Ｂ２、及びサブフローインスタンス８２０Ｂ３は、コアＢを試験するための試験ブロックの個別のインスタンスを実行する。同様に、サブフローインスタンス８２０Ｃ１、８２０Ｃ２、及びサブフローインスタンス８２０Ｃ３は、コアＣを試験するための試験ブロックが実行される異なるサブフローインスタンスを表す。
【０１５１】
任意の特定の試験動作を、各サブフロー内で実行することができる。この実施例では、コアＡを試験するサブフローに関する特定の工程を示す。この実施例では、コアＡを試験するための試験ブロックでの処理は、ブロック８３０で開始する。ブロック８３０では、コアＡを試験するために割り当てられた１つ以上の試験器サイト内のリソースを、起動することができる。これらのリソースは、任意の好適な試験機能を実行するように、任意の好適な方式で起動することができる。ブロック８３０で実行される具体的な試験機能は、試験されているコアの性質に応じて決定することができ、当該技術分野において既知である技術を使用して、又は任意の他の好適な方式で、定義することができる。
【０１５２】
ブロック８３０で実行される具体的な試験機能に関わりなく、ブロック８３２へと処理を続行することができる。ブロック８３２では、並行して試験されている１つ以上のいずれかのコアの試験の間に、発生している可能性がある警報に関して、チェックを実施することができる。そのようなチェックは、任意の好適な方式で実施することができる。例えば、別のコアを試験するために割り当てられた試験器サイトに関連する警報にアクセスすることによって、チェックを実施することができる。このチェックは、ブロック７１０で実行される試験システム構成の一部として指定された、試験器サイト情報に基づいて、実施することができる。代替的に又は更に、ブロック８３２で実施されるチェックは、任意の他の試験器サイト内の警報に関してチェックすることができる。そのようなチェックは、ブロック７１０で実行されるマッピングの一部としてマッピングされた、全ての試験器サイト内の警報に関してチェックすることによって、実施することができる。しかしながら、全てのリソースを含むシステムサイト領域をサポートするシステムでは、いずれかのサイト内の警報に関するチェックは、システムサイト領域に関連する警報に関してチェックすることによって、実施することができる。ブロック８３２で警報がチェックされる具体的な試験器サイトは、フロードメインインスタンス８２０Ａ１内で実行される試験の性質に応じて、決定することができる。
【０１５３】
ブロック８３２でチェックされる試験器サイトに関わりなく、判定ブロック８３４へと、プロセスを続行することができる。判定ブロック８３４では、警報が検出されたか否かに応じて、処理を分岐させることができる。警報が検出された場合には、ブロック８４０へと、処理を分岐させることができる。ブロック８４０では、検出された警報に対する応答を実行することができる。この応答は、サブフローＡ内で試験されているコアに特有のものとすることができる。この応答は、例えば、フロードメインインスタンス８２０Ａ１の一部として実行されている試験ブロック内に、コード化することができる。しかしながら、フロードメインインスタンス８２０Ａ１内で実行される試験ブロック内に、応答がコード化される場合であっても、その試験ブロックは、警報を生成した試験ブロックに特有の動作を実施するように、コード化することができる。例えば、サブフローＢ内で警報が検出される場合、ブロック８４０内で実行される機能は、サブフローＢ内で試験されるコアＢの構造又は機能に基づいて、選択することができる。
【０１５４】
警報条件の検出に応答して、任意の好適な処理を、ブロック８４０で実行することができる。一実施例としては、メモリ素子を含むコアを試験する間に、過渡電圧又は他の条件を表す警報が、メモリ内に格納された情報を潜在的に破壊する恐れがある場合には、ブロック８４０での処理は、メモリ素子内に格納されたデータが、コアＡ内のフローに無関係な理由によって変更されている可能性があるという前提に基づき得る。そのような決定に応答して、例えば、メモリ素子は、所望のデータを使用して再初期化することができ、又は任意の他の適切な動作を実施することができる。この実施例では、その動作が実施された後、サブフローＡ内部での処理を終了することができる。しかしながら、その処理の完了に続いて、任意の好適な工程を実施することができる。
【０１５５】
反対に、警報が検出されない場合には、判定ブロック８３４から判定ブロック８５０へと処理が分岐し得ることを、図８は示す。このプロセスは、そのサブフロー内部に、更なる試験機能が未だ実行されずに残っているか否かに応じて、判定ブロック８５０で再度分岐し得る。残っている場合には、この処理はループバックすることができ、更なる試験機能を実行することができる。更なる試験機能が残っていない場合には、サブフローインスタンス８２０Ａ１内部での処理を終了することができる。このサブフローの実行に続いて、処理が終了するように示されるが、図７に関連して上述されたように、各試験フロー内の試験ブロックを実行した後に、任意の好適な動作を実施することができる。実行することができる動作の例としては、機能試験の実行、又は半導体デバイスの別のグループの試験が挙げられる。
【０１５６】
図８に示す実施例では、ブロック８３２でチェックされる警報は、サブフローＡ内ではクリアされない。一部のシナリオでは、それらの警報は、それらの警報を使用するサブフロー内での使用の前に、クリアすることができる。しかしながら、並行して実行することができる試験ブロック間の相互作用を伴う試験プログラムを開発する場合、それらの試験ブロックの開発者は、任意の好適な方式で相互作用するように、試験ブロックをコード化することができる。したがって、警報は、その警報を読み取る試験ブロック内で、かつ／又はその警報が関連する試験ブロック内で、クリアすることができる。
【０１５７】
図９は、サイト領域の第１部分が、フロードメイン特有であり、サイト領域の第２部分が、フロードメイン又はフロードメインインスタンス間で潜在的に共有されるサイト領域を通じて、試験器サイトを割り当てることによって達成することができる、柔軟性の更なる実施例を示す。図９は、２つのサブフローを有する試験プログラムを示す。この試験プログラムは、２つの半導体デバイスを並行して試験するように構成された試験システム上で実行されるように示される。したがって、各サブフローは、それぞれが一方の半導体デバイスの試験に関連する、２つのインスタンス内で実行することができる。図示の実施例では、第１のサブフローは、コアＡを試験するように構成された試験ブロックを実行するように、構成することができる。第２のサブフローは、コアＢを試験するための試験ブロックを実行するように構成することができる。
【０１５８】
図示のシナリオでは、試験プログラムは、試験ブロックＢが実行される双方のサブフローインスタンスに対して、リソースを割り当てるために十分なリソースを有する、試験システム上で実行されている。しかしながら、このシステムは、試験ブロックＡの一部の部分の１つのインスタンスのみに関して十分なリソースをシステムが含むようにリソースを制限することができる。
【０１５９】
図示のように、サブフローインスタンス９１０Ｂ１及びサブフローインスタンス９１０Ｂ２は、並行して実行される。サブフローインスタンス９１０Ｂ１内のブロック９１２Ｂでリソースを起動することは、サブフローインスタンス９１０Ｂ１に関連する試験器サイトに割り当てられたリソースに、アクセスすることを伴う。サブフローインスタンス９１０Ｂ２内で実行される、対応するブロックは、サブフローインスタンス９１０Ｂ１内での、コアＢを試験するための同じ試験ブロックを実行することができる。したがって、ブロック９１２Ｂ内に示される機能に対応する機能を、サブフローインスタンス９１０Ｂ２内で実行することができる。しかしながら、それらの機能をサブフローインスタンス９１０Ｂ２内で実行する際には、異なる試験器サイトに割り当てられた独立したリソースを使用することにより、それらのサブフローインスタンスを並行して実行することを可能にすることができる。
【０１６０】
同様に、異なる試験器サイトの使用を通じて、独立したリソースを割り当てることにより、サブフローＡのインスタンス内で、独立したリソースにアクセスすることを可能にすることができる。しかしながら、図９に示されるシナリオでは、サブフローインスタンスの並行実行は、サブフローインスタンスの諸部分でのみ可能である。したがって、図９は、サブフローＡのサブフローインスタンスの一部の部分が、並行して実行される一方で、制限されたリソースを使用する他の部分が、順次に実行される場合があることを示す。
【０１６１】
図９の実施例では、サブフローインスタンス部分９１０Ａ１及びサブフローインスタンス部分９１０Ａ２は、並行して実行される。同様に、サブフロー部分９３０Ａ１及びサブフロー部分９３０Ａ２もまた、並行して実行される。しかしながら、サブフロー部分９２０Ａ１及びサブフロー部分９２０Ａ２は、順次に実行される。
【０１６２】
並行して実行されるサブフロー部分に関しては、フロードメイン特有サイト領域からの独立したリソースが、各サブフローインスタンス内で使用される。この独立性は、独立したリソースを異なる試験器サイトと関連付けることによって達成される。したがって、サブフローインスタンス部分９１０Ａ１内部のブロック９１２Ａでの処理は、サブフローインスタンス９１０Ａ１に関連するサイトに割り当てられたリソースにアクセスすることを伴い得る。サブフローインスタンス部分９１０Ａ２内の対応するブロックは、サブフローインスタンス９１０Ａ２に関連するサイトに割り当てられたリソースにアクセスすることを伴い得る。同様に、サブフローインスタンス部分９３０Ａ１内では、ブロック９３２の実行は、サブフローＡの第１のサブフローインスタンスに関連する試験器サイトに割り当てられたリソースにアクセスすることを、同様に伴い得る。サブフローインスタンス部分９３０Ａ２内で実行される対応するブロックは、サブフローＡの第２のサブフローインスタンスに関連するサイトに割り当てられたリソースにアクセスすることを伴い得る。したがって、これらのサブフローインスタンス部分に関するリソースは、全てのインスタンスが並行して実行される、サブフローＢ内と同様に行うことができる。
【０１６３】
サブフローＡ内では、サブフローインスタンスの諸部分が必要とするリソースは制限されることにより、サブフローＡのサブフローインスタンスのそれらの部分の並行実行のための特定のタイプのリソースは、十分には存在しない。しかしながら、サブフローインスタンス部分９２０Ａ１及びサブフローインスタンス部分９２０Ａ２内では、これらの部分を順次に実行することによって、同じリソースを使用することができる。この実施例では、サブフローインスタンス９２０Ａ１内では、それらの制限されたリソースを起動するブロック９２２Ａ２が実行される。サブフローインスタンス９２０Ａ１内のブロック９２２Ａでは、サブフローＡの第１のサブフローインスタンスが実行されている半導体デバイスを試験するために、それらの制限されたリソースを採用することができる。
【０１６４】
サブフローインスタンス部分９２０Ａ２内では、サブフローＡの第２のインスタンスがコアＡに対する試験を実行している、第２の半導体デバイスの対応する部分に対して試験を実行するために、同じ制限されたリソースを使用することができる。任意の好適な機構を使用して、異なるサブフローインスタンス部分内で、同じリソースにアクセスすることができる。例えば、それらの制限されたリソースを、複数の試験器サイトに割り当てることができる。そのような割り当ては、それらの制限されたリソースを、グローバルサイト領域に割り当てるか、又はシステムサイト領域の一部としてのリソースにアクセスすることからもたらすことができる。しかしながら、任意の好適な機構を使用して、異なるフロードメインインスタンス内で、同じリソースにアクセスすることができる。この方式で、サブフローＡの各インスタンスのために使用される試験器サイトに、制限されたリソースを割り当てることができる。
【０１６５】
制限されたリソースを、同じサブフローの複数のインスタンスからアクセスすることができるように指定する方式に関わりなく、サブフローインスタンスの諸部分を並行して実行するのではなく、順次に実行するように、試験システムを制御するための機構を、提供することができる。そのような機構は、試験システムをプログラムするユーザーによって提供されるか、又は試験ブロックの諸部分が、異なるインスタンスに関して順次に実行されるように指定する、任意の他の好適なソースから提供される、コマンドを含み得る。そのようなコマンドは、順次に実行される各インスタンス内で、一部又は全てのリソースが同じであることを、指定することができる。そのようなコマンドは、試験ブロック自体に組み込むことができ、又はその試験ブロックを使用する試験プログラムの一部として指定することもできる。
【０１６６】
試験プログラムの一部分を連続化する機構の具体的実施例としては、複数の半導体デバイスを並行して試験することを可能にするように、試験器サイトをユーザーサイトと関連付ける試験システムに関連して、サイトループを指定することが既知である。このサイトループは、試験ブロックの一部分を、順次実行のために指定することができる。試験システムの、制御構成要素１１０（図１）などの制御構成要素が、試験プログラムに関連してサイトループの指定を受け取ると、その制御構成要素は、第１のユーザーサイトで実行するように試験システムが構成される第１のインスタンス内で、その試験ブロックの指定された部分を実行するために、試験システムのリソースを最初に構成することができる。第１のユーザーサイトで、試験ブロックのその部分が実行されると、制御構成要素は、試験ブロックの同じ部分を次のユーザーサイトで実行するために、試験システムを構成することができる。制御構成要素は、この方式で試験システムを逐次的に構成することにより、半導体デバイスが並行して試験されている各ユーザーサイト内で、試験ブロックのその部分を実行することができる。このサイトループの逐次反復のそれぞれに、同じリソースを適用することができる。
【０１６７】
既知の技術を使用して実装することができる、このサイトループ機構は、図９に示すように構成された試験システム内に適合させることができる。サイトループ機構を適合させることによって、１つのコアの異なるインスタンスを試験するために、制限されたリソースを容易に共有することができる。結果として、試験技術者、又は試験システムの他のユーザーは、１つのコアの異なるインスタンスを試験するためのリソースを共有するために、そのコアの試験をサイトループ内で実行するように書き込まれる、試験ブロックの一部分を単に指定することによって、試験システムを容易にプログラムすることができる。この方式で試験システムをプログラムすることは、同じ試験ブロックのインスタンス間で、制限されたリソースを共有するために必要とされるプログラミングと比較して、単純なものとすることができる。更には、同じ試験プログラムが、より多くのリソースを有する試験システム上で実行される場合には、このサイトループの指定を削除するか、又は無効化することができ、その試験ブロックの各インスタンスの全ての部分を、並行して実行することが可能となる。この方式で、試験プログラムは、制限されたリソースを有する試験システム上での実行に関して、又はリソースが制限されていない試験システム上での、より迅速な実行に関して、容易に適合させることができる。
【０１６８】
サイト領域にわたってループさせることにより、同じ半導体デバイス上の異なるタイプのコアの試験に関連して、リソースを連続化することが可能となる。図９の実施例では、フローＡ内部のサブフローインスタンスにわたるループではなく、フローＡ及びフローＢにわたるループとすることが可能である。この方式で、ループの第１の反復では、制限されたリソースは、並行して試験されている各半導体デバイス内のコアＡの試験に適用することができる。この反復では、コアＡを試験するように書き込まれた試験ブロックの全て又は一部分を、実行することができる。後続の反復では、コアＢを試験するように書き込まれた試験ブロックの全て又は一部分を、実行することができる。この実行は、サイトループの使用を通じて連続化されるため、このサイトループ内部で実行される試験ブロックの諸部分は、リソースを共有するか、又は他の方式では、完全には独立していないリソースにアクセスすることができる。
【０１６９】
図９には示されないが、サイトループの実装又は使用の、他の変形形態が可能である。例えば、サイトループは、入れ子式にすることができることを理解するべきである。例えば、リソースへのアクセスは、サブフロー全体にわたって、かつ１つ以上のサブフロー内部のサブフローインスタンス全体にわたって、連続化することができる。したがって、本明細書で説明される試験システムプログラミング技術を使用して、実質的な柔軟性が単純に提供されることを理解するべきである。
【０１７０】
図１０は、それらの技術を実行することができる、好適なコンピューティングシステム環境１０００の一実施例を示す。図１０のコンピューティングシステムは、試験システムに接続されている試験システムコンピュータを表すことができ、試験が実行されている間、その試験システムを制御するために使用することができる。しかしながら、フロードメインインスタンスへの試験器サイトの割り当て、及びそれらの試験器サイトへの試験器リソースの割り当てを導き出す計算は、任意の好適なコンピューティングシステムで実行することができる点を理解するべきである。
【０１７１】
したがって、環境１０００は、本明細書で説明されるようなツールが実行される、環境を表すことができる。代替的に又は更に、環境１０００を使用して、試験システム用の制御構成要素を、部分的に、又は完全に実装することができる。コンピューティングシステム環境１０００は、好適なコンピューティング環境の一実施例に過ぎず、本発明の使用又は機能性の範囲についての、いずれの限定も示唆することを意図するものではない。また、コンピューティング環境１０００は、この例示的な動作環境１０００内に示される構成要素の、任意の１つ若しくは組み合わせに関連する、いずれの依存性又は必要条件を有するものとしても、解釈されるべきではない。
【０１７２】
本発明は、数多くの他の汎用又は特定目的のコンピューティングシステム環境若しくは構成と共に、運用可能である。本発明と共に使用するために好適とすることができる、周知のコンピューティングシステム、環境、及び／又は構成としては、パーソナルコンピュータ、サーバコンピュータ、手持ち式若しくはラップトップデバイス、多重プロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのうちのいずれかを含む分散コンピューティング環境などが挙げられるが、これらに限定されない。
【０１７３】
このコンピューティング環境は、プログラムモジュールなどの、コンピュータ実行可能命令を実行することができる。一般的には、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実行される分散コンピューティング環境内でも実践することができる。分散コンピューティング環境内では、プログラムモジュールは、メモリ記憶デバイスを含む、局所コンピュータ記憶媒体及び遠隔コンピュータ記憶媒体の双方内に配置することができる。
【０１７４】
図１０を参照すると、本発明を実装するための例示的システムは、コンピュータ１０１０の形態の、汎用コンピューティングデバイスを含む。コンピュータ１０１０の構成要素としては、処理ユニット１０２０、システムメモリ１０３０、及び処理ユニット１０２０にシステムメモリを含めた様々なシステム構成要素を結合するシステムバス１０２１を挙げることができるが、これらに限定されない。システムバス１０２１は、様々なバスアーキテクチャのいずれかを使用するメモリバス若しくはメモリコントローラ、周辺バス、及びローカルバスを含めた、幾つかのタイプのバス構造のうちのいずれかとすることができる。例としては、限定するものではないが、そのようなアーキテクチャとしては、業界標準化アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダーズアソシエーション（ＶＥＳＡ）ローカルバス、及びメザニンバスとしても既知のペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスが挙げられる。
【０１７５】
コンピュータ１０１０は、典型的には、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１０１０によってアクセスすることができる任意の利用可能な媒体とすることができ、揮発性媒体及び不揮発性媒体、取り外し可能媒体及び固定型媒体の双方を含む。例としては、限定するものではないが、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、若しくは他のデータなどの情報の格納のための、任意の方法又は技術で実装される、揮発性並びに不揮発性、取り外し可能並びに固定型の媒体の双方を含む。コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）、若しくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、若しくは他の磁気記憶デバイス、又は所望の情報を格納するために使用することができ、かつコンピュータ１０１０によってアクセスすることができる任意の他の媒体が挙げられるが、これらに限定されない。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波などの変調データ信号若しくは他の移送機構内に具現化するものであり、任意の情報送出媒体を含む。用語「変調データ信号」とは、その信号内に情報をコード化するような方式で、その特性のうちの１つ以上が設定又は変更される信号を意味する。例としては、限定するものではないが、通信媒体としては、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、ＲＦ、赤外線、及び他の無線媒体などの無線媒体が挙げられる。上記の任意の組み合わせもまた、コンピュータ可読媒体の範囲内に含めるべきである。
【０１７６】
システムメモリ１０３０は、読み取り専用メモリ（ＲＯＭ）１０３１及びランダムアクセスメモリ（ＲＡＭ）１０３２などの、揮発性メモリ及び／又は不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中などにコンピュータ１０１０内部の要素間で情報を転送するために役立つ基本ルーチンを含む、基本入出力システム１０３３（ＢＩＯＳ）は、典型的には、ＲＯＭ１０３１内に格納される。ＲＡＭ１０３２は、典型的には、処理ユニット１０２０に即座にアクセス可能、かつ／又は現時点で処理ユニット１０２０によって操作中である、データ並びに／あるいはプログラムモジュールを含む。例として、限定するものではないが、図１０は、オペレーティングシステム１０３４、アプリケーションプログラム１０３５、他のプログラムモジュール１０３６、及びプログラムデータ１０３７を示す。
【０１７７】
コンピュータ１０１０はまた、他の取り外し可能／固定型、揮発性／不揮発性の、コンピュータ記憶媒体も含み得る。単なる例として、図１０は、固定型の不揮発性磁気媒体の読み取り若しくは書き込みを行う、ハードディスクドライブ１０４１、取り外し可能な不揮発性磁気ディスク１０５２の読み取り若しくは書き込みを行う、磁気ディスクドライブ１０５１、並びにＣＤ−ＲＯＭ又は他の光学媒体などの、取り外し可能な不揮発性光ディスク１０５６の読み取り若しくは書き込みを行う、光ディスクドライブ１０５５を示す。この例示的な動作環境内で使用することができる、他の取り外し可能／固定型、揮発性／不揮発性のコンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル汎用ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが挙げられるが、これらに限定されない。ハードディスクドライブ１０４１は、典型的には、インターフェース１０４０などの固定型メモリインターフェースを通じて、システムバス１０２１に接続され、磁気ディスクドライブ１０５１及び光ディスクドライブ１０５５は、典型的には、インターフェース１０５０などの取り外し可能メモリインターフェースによって、システムバス１０２１に接続される。
【０１７８】
上述の、図１０に示されるドライブ、及びそれらのドライブに関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの格納が、コンピュータ１０１０にもたらされる。図１０では、例えば、ハードディスクドライブ１０４１は、オペレーティングシステム１０４４、アプリケーションプログラム１０４５、他のプログラムモジュール１０４６、及びプログラムデータ１０４７を格納するように示される。これらの構成要素は、オペレーティングシステム１０３４、アプリケーションプログラム１０３５、他のプログラムモジュール１０３６、及びプログラムデータ１０３７と同じものとするか、あるいは異なるものとすることができる点に留意されたい。オペレーティングシステム１０４４、アプリケーションプログラム１０４５、他のプログラムモジュール１０４６、及びプログラムデータ１０４７には、この場合、少なくともそれらが異なるコピーであることを示すために、異なる番号が与えられる。ユーザーは、キーボード１０６２、及びマウス、トラックボール、若しくはタッチパッドと一般に称されるポインティングデバイス１０６１などの、入力デバイスを通じて、コンピュータ１０１０内に、コマンド並びに情報を入力することができる。他の入力デバイス（図示せず）としては、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを挙げることができる。これらの入力デバイス及び他の入力デバイスは、システムバスに結合されるユーザー入力インターフェース１０６０を通じて、処理ユニット１０２０に接続される場合が多いが、パラレルポート、ゲームポート、若しくはユニバーサルシリアルバス（ＵＳＢ）などの、他のインターフェース及びバス構造によって接続することもできる。モニター１０９１又は他のタイプの表示デバイスもまた、ビデオインターフェース１０９０などのインターフェースを介して、システムバス１０２１に接続される。このモニターに加えて、コンピュータはまた、出力周辺インターフェース１０９５を通じて接続することができる、スピーカー１０９７及びプリンター１０９６などの、他の周辺出力デバイスも含み得る。
【０１７９】
コンピュータ１０１０は、遠隔コンピュータ１０８０などの１つ以上の遠隔コンピュータへの論理接続を使用して、ネットワーク環境内で動作することができる。遠隔コンピュータ１０８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、又は他の共通ネットワークノードとすることができ、図１０にはメモリ記憶デバイス１０８１のみが示されているが、典型的には、コンピュータ１０１０に関する、上述の要素の多く又は全てを含む。図１０に示す論理接続としては、ローカルエリアネットワーク（ＬＡＮ）１０７１及び広域ネットワーク（ＷＡＮ）１０７３が挙げられるが、他のネットワークもまた含むことができる。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、及びインターネットでは、一般的なものである。
【０１８０】
ＬＡＮネットワーキング環境内で使用される場合、コンピュータ１０１０は、ネットワークインターフェース又はアダプタ１０７０を通じて、ＬＡＮ１０７１に接続される。ＷＡＮネットワーキング環境内で使用される場合、コンピュータ１０１０は、典型的には、インターネットなどのＷＡＮ１０７３を介して通信を確立するための、モデム１０７２又は他の手段を含む。モデム１０７２は、内部又は外部のものとすることができ、ユーザー入力インターフェース１０６０又は他の適切な機構を介して、システムバス１０２１に接続することができる。ネットワーク化された環境内では、コンピュータ１０１０に関して示されるプログラムモジュール、又はその諸部分は、遠隔のメモリ記憶デバイス内に格納することができる。例として、限定するものではないが、図１０では、遠隔アプリケーションプログラム１０８５が、メモリデバイス１０８１上に存在しているものとして示される。図示のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用することができる点が、理解されるであろう。
【０１８１】
上述のようなシステムは、半導体デバイスを試験する方法で使用することができる点を理解するべきである。そのような試験は、複数個のコアを有し、各コアが複数個のピンを有するデバイスを試験するための試験システムを作動することを含み得るものであり、この試験システムは、複数の試験器サイトを有し、各試験器サイトが、ハードウェアリソースを有し、複数個の試験器サイトのそれぞれを、複数個のコアのうちの関連するコアにマッピングすることによって、試験システムを構成することにより、各試験器サイトのハードウェアリソースが、その関連するコアのピンにアクセスするように構成される工程と、複数個の試験ブロックを有する試験フローを実行する工程によるものであり、各試験ブロックは、関連する試験器サイト内のハードウェアリソースを制御することによって、複数個のコアのうちの１つのコアを試験し、一部の試験ブロックは、並行して実行される。しかしながら、そのような作動は、本明細書で説明されるような、種々の行為又は追加的な行為を含み得る。
【０１８２】
それゆえ、本発明の少なくとも１つの実施形態の幾つかの態様が説明されているが、様々な変更、修正、及び改善が、当業者には容易に想到されることを理解されたい。
【０１８３】
そのような変更、修正、及び改善は、本開示の一部であることが意図され、本発明の趣旨及び範囲内であることが意図される。更には、本発明の有利点が示されるが、本発明の全ての実施形態が、説明される全ての有利点を含むものではないことを理解するべきである。一部の実施形態は、本明細書及び一部の例で有利であるとして説明されるいずれかの特徴を、実装しない場合がある。したがって、前述の説明及び図面は、単なる例であるに過ぎない。
【０１８４】
上述のようなフロードメインを定義する能力は、多くの方法で使用することができる。例えば、決して並行して実行されない複数のフロードメインを、同じサイト領域に割り当てることができる。そのような割り当てを実施することができる理由は、複数のサイト領域により提供される独立性が、決して並行して実行されることがないフロードメインの場合には必要ではないためである。そのような技術により、サポートされる試験器サイトの必要数を低減することができる。
【０１８５】
本発明の上述の実施形態は、数多くの方式のうちのいずれかで実装することができる。例えば、それらの実施形態は、ハードウェア、ソフトウェア、又はこれらの組み合わせを使用して、実装することができる。ソフトウェアとして実装される場合、そのソフトウェアコードは、単一のコンピュータ内に提供されるか、又は複数のコンピュータ間で分散されるかに関わらず、任意の好適なプロセッサ、若しくはプロセッサの集合上で実行することができる。そのようなプロセッサは、集積回路構成要素内の１つ以上のプロセッサと共に、集積回路として実装することができる。しかしながら、プロセッサは、任意の好適なフォーマットの回路機構を使用して、実装することができる。
【０１８６】
更には、コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータなどの、幾つかの形態のうちのいずれかで具現化することができる点を理解するべきである。更には、コンピュータは、携帯情報端末（ＰＤＡ）、スマートフォン、又は任意の他の好適な携帯式若しくは固定式の電子デバイスを含めた、一般的にはコンピュータとして見なされないが、好適な処理能力を有するデバイス内に組み込むことができる。
【０１８７】
また、コンピュータは、１つ以上の入力デバイス及び出力デバイスも有し得る。これらのデバイスは、とりわけ、ユーザーインターフェースを提示するために使用することができる。ユーザーインターフェースを提供するために使用することができる出力デバイスの例としては、出力の視覚的提示のためのプリンター若しくはディスプレイスクリーン、及び出力の可聴な提示のためのスピーカー若しくは他の音発生デバイスが挙げられる。ユーザーインターフェースのために使用することができる入力デバイスの例としては、キーボード、並びにマウス、タッチパッド、及びデジタイズ用タブレットなどの、ポインティングデバイスが挙げられる。別の例としては、コンピュータは、音声認識を通じて、又は他の可聴フォーマットで、入力情報を受け取ることができる。
【０１８８】
そのようなコンピュータは、企業ネットワーク又はインターネットなどの、ローカルエリアネットワーク又は広域ネットワークを含めた、任意の好適な形態の１つ以上のネットワークによって、相互接続することができる。そのようなネットワークは、任意の好適な技術に基づくものとすることができ、任意の好適なプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、又は光ファイバーネットワークを含み得る。
【０１８９】
また、本明細書で概説される様々な方法又はプロセスは、様々なオペレーティングシステム若しくはプラットフォームのうちのいずれか１つを採用する、１つ以上のプロセッサ上で実行可能な、ソフトウェアとしてコード化することもできる。更には、そのようなソフトウェアは、幾つかの好適なプログラミング言語及び／又はプログラミングツール若しくはスクリプトツールのうちのいずれかを使用して書き込むことができ、また、フレームワーク又は仮想マシン上で実行される、実行可能な機械語コード若しくは中間コードとしてコンパイルすることもできる。
【０１９０】
この点では、本発明は、１つ以上のコンピュータ又は他のプロセッサ上で実行される場合に、上述の本発明の様々な実施形態を実装する方法を実行する、１つ以上のプログラムでコード化された、コンピュータ可読記憶媒体（又は複数のコンピュータ可読媒体）（例えば、コンピュータメモリ、１つ以上のフロッピー（登録商標）ディスク、コンパクトディスク（ＣＤ）、光ディスク、デジタルビデオディスク（ＤＶＤ）、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ若しくは他の半導体デバイス内の回路構成、又は他の有形のコンピュータ記憶媒体）として具現化することができる。前述の実施例から明らかであるように、コンピュータ可読記憶媒体は、コンピュータ実行可能命令を提供するための十分な時間にわたって、非一時的形態で情報を保持することができる。そのようなコンピュータ可読記憶媒体は、可搬性とすることができるため、その媒体に格納されたプログラムを、１つ以上の異なるコンピュータ又は他のプロセッサ上にロードして、上述のような本発明の様々な態様を実装することができる。本明細書で使用するとき、用語「コンピュータ可読記憶媒体」は、製造物（すなわち、製品）又は機械であると見なすことができる、コンピュータ可読媒体のみを包含する。代替的に又は更に、本発明は、伝搬信号などの、コンピュータ可読記憶媒体以外のコンピュータ可読媒体として、具現化することができる。
【０１９１】
用語「プログラム」又は「ソフトウェア」は、本明細書では、上述のような本発明の様々な態様を実装するように、コンピュータ若しくは他のプロセッサをプログラムするために採用することができる、任意のタイプのコンピュータコード、又はコンピュータ実行可能命令のセットを指す、一般的な意味で使用される。更には、本実施形態の一態様によれば、実行される場合に、本発明の方法を実行する１つ以上のコンピュータプログラムは、単一のコンピュータ又はプロセッサ上に存在する必要はなく、幾つかの異なるコンピュータ又はプロセッサ間に、モジュール方式で分散させて、本発明の様々な態様を実装することができる点を理解するべきである。
【０１９２】
コンピュータ実行可能命令は、１つ以上コンピュータ又は他のデバイスによって実行される、プログラムモジュールなどの、多くの形態にすることができる。一般的には、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能性は、様々な実施形態で、必要に応じて、組み合わせるか又は分散させることができる。
【０１９３】
また、データ構造は、任意の好適な形態で、コンピュータ可読媒体内に格納することができる。例示の簡略化のために、データ構造は、そのデータ構造内での場所を通じて関連付けられる、フィールドを有するように示すことができる。そのような関連性は、同様に、それらのフィールド間の関連性を伝達するコンピュータ可読媒体内の場所を使用して、それらのフィールドのための格納を割り当てることによって達成することができる。しかしながら、ポインタ、タグ、又はデータ要素間の関連性を確立する他の機構の使用によることを含めた任意の好適な機構を使用して、データ構造のフィールド内の情報間の関連性を確立することができる。
【０１９４】
本発明の様々な態様は、単独で、組み合わせて、又は前述の実施形態で具体的に論じられない様々な配置構成で使用することができ、それゆえ、その適用は、前述の説明に記載されるか又は図面に示される、構成要素の詳細及び配置構成に限定されるものではない。例えば、一実施形態で説明される態様は、他の実施形態で説明される態様と、任意の方式で組み合わせることができる。
【０１９５】
また、本発明は、方法として具現化することができ、その実施例が提供されている。本方法の一部として実行される行為は、任意の好適な方式で順序付けることができる。したがって、例示されるものとは異なる順序で行為が実行される、実施形態を構築することができ、このことは、一部の行為が、例示的実施形態では順次的行為として示される場合であっても、同時に実行されることを含み得る。
【０１９６】
請求項の要素を修飾する、請求項での「第１」、「第２」、「第３」などの順序を示す用語の使用は、それ自体は、いずれの優先度、先行性、すなわち１つの請求項の要素の順序が別のものより上であること、又は方法の行為が実行される時間的順序を暗示するものでもなく、単に、特定の名称を有する１つの請求項の要素を、同じ名称（順序を示す用語の使用以外）を有する他の要素から区別するための指標として使用することにより、それらの請求項の要素を区別するものに過ぎない。
【０１９７】
また、本明細書で使用される語法及び専門用語は、説明目的のためであり、限定するものとして見なされるべきではない。「含む」、「備える」、若しくは「有する」、「含有する」、「伴う」、及びそれらの変化形の本明細書での使用は、それらの後に記載される項目、及びその等価物、並びに更なる項目を包含することを意図するものである。
【図１】
2018049018.tif 000003
【図２】
2018049018.tif 000004
【図３Ａ】
2018049018.tif 000005
【図３Ｂ】
2018049018.tif 000006
【図４】
2018049018.tif 000007
【図５】
2018049018.tif 000008
【図６】
2018049018.tif 000009
【図７】
2018049018.tif 000010
【図８】
2018049018.tif 000011
【図９】
2018049018.tif 000012
【図１０】
2018049018.tif 000013