(57)【要約】【課題】デバイス等のテスト中に生成されたユーザ定義イベントの処理方法および処理装置を提供する。【解決手段】  少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンスに応答して、１）Ａ）イベントに示されるテスト結果の論理グループに対応するいくつかのデータオブジェクトと、Ｂ）ユーザ定義イベントに対応する包括的データオブジェクトとを含む、複数のデータオブジェクトを生成し、２）順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、包括的データオブジェクトが他のデータオブジェクト関連付けられるよう、データオブジェクトを階層的ツリー構造中の他のデータオブジェクトと関連付け、３）イベントに対応するデータを階層的ツリー構造中のデータオブジェクトと関連付ける。複数のデータフォーマッタに、階層的ツリー構造と関連付けられるデータおよび複数のデータオブジェクトへのアクセスを与える。他の実施例も開示される。【選択図】図１
2007207244.tif 000002
【特許請求の範囲】
【請求項１】
１）少なくともひとつの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントのシーケンスを受け取り、２）イベントにより示されるテスト結果の論理グループに対応するデータオブジェクトと、ユーザ定義イベントに対応する包括的データオブジェクトとを含む、複数のデータオブジェクトを生成し、３）順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、包括的データオブジェクトが他のデータオブジェクトと関連付けられるように、階層的ツリー構造内でデータオブジェクトを他のデータオブジェクトと関連付け、４）階層的ツリー構造内のデータオブジェクトに、イベントに対応するデータを関連付けるデータポピュレータと、
包括的データオブジェクトと関連付けられたデータを取り出すように、階層的ツリー構造と関連付けられたデータを取り出しフォーマットするデータフォーマッタとを備える装置。
【請求項２】
前記データフォーマッタは、包括的記録タイプにしたがい、包括的データオブジェクトと関連付けられたデータをフォーマットする請求項１に記載の装置。
【請求項３】
前記データフォーマッタは、前記ユーザ定義イベントに対応するユーザ定義データ記録タイプにしたがい、包括的データオブジェクトと関連付けられる請求項１に記載の装置。
【請求項４】
前記データフォーマッタは、前記包括的データオブジェクトと関連付けられるラベルを読み取り、前記包括的データオブジェクトと関連付けられたデータをフォーマットする際に使用するフォーマットの種類を決定する請求項１に記載の装置。
【請求項５】
前記データフォーマッタは、包括的データオブジェクトと関連付けられたラベルを読み取り、前記包括的データオブジェクトと関連付けられたデータがデバッグデータかどうかを決定する請求項１に記載の装置。
【請求項６】
前記データフォーマッタは、前記包括的データオブジェクトと関連付けられたラベルを読み取り、前記包括的データオブジェクトと関連付けられたデータが、前記包括的データオブジェクトと関連付けられたデータと関連づけられているかどうかを決定する請求項１に記載の装置。
【請求項７】
少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントのシーケンスに応答して、
１）前記イベントにより示されるテスト結果の論理グループに対応するいくつかのデータオブジェクトと、２）ユーザ定義イベントに対応する包括的データオブジェクトとを含む、複数のデータオブジェクトを生成し、
前記順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、前記包括的データオブジェクトが他のデータオブジェクトに関連付けられるように、階層的ツリー構造中のデータオブジェクトを他のデータオブジェクトと関連付け、
イベントに対応するデータを、前記階層的ツリー構造中のデータオブジェクトと関連付け、
前記階層的ツリー構造と関連付けられたデータおよび複数のデータオブジェクトへのアクセスを複数のデータフォーマッタに与えることを含む方法。
【請求項８】
コンピュータ読取可能媒体と、
コンピュータ読取可能媒体に記憶された、コンピュータ読取コードであって、
少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンスを受け取ったのに応答して、
１）前記イベントに示されるテスト結果の論理グループに対応するいくつかのデータオブジェクトと、２）ユーザ定義イベントに対応する包括的データオブジェクトとを含む複数のデータオブジェクトを生成し、
前記順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、前記包括的データオブジェクトが他のデータオブジェクトと関連付けられるように、データオブジェクトを階層的ツリー構造中の他のデータオブジェクトと関連付け、
イベントに対応するデータを、前記階層的ツリー構造中のデータオブジェクトと関連付け、
複数のデータフォーマッタに、前記階層的ツリー構造と関連付けられたデータおよび複数のデータオブジェクトへのアクセスを提供するためのコードを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス等のテスト中に生成されたユーザ定義イベントの処理方法および処理装置に関する。
【背景技術】
【０００２】
デバイス、特に回路のテスト中、デバイスをテストするためのテストプログラムの実行の結果、複数のテストイベントおよびテストイベントのアトリビュート（テスト結果および他のデータ項目等）が生成されることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
通常、ユーザは、複数の予め定義されたテストイベントおよびアトリビュートを使用してテストプログラムを作成しなければならない。しかしながら、予め定義されたテストイベントおよびアトリビュートでは、ユーザが得たいと思う種類のデータを生成することができない場合がある。
【０００４】
本発明は、このような点に鑑みてなされたものであって、テストプログラムの作成におけるユーザの設計自由度を高めるように、デバイスのテスト中に生成されたユーザ定義イベントを処理するための方法および装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明の１局面に係る装置は、データポピュレータとデータフォーマッタとを備える。データポピュレータは、１）少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンスを受け取り、２）イベントによって示されるテスト結果の論理的グループに対応するデータオブジェクト、および、ユーザ定義イベントに対応する包括的データオブジェクトを含む、複数のデータオブジェクトを生成し、３）順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、包括的データオブジェクトが他のデータオブジェクトと関連付けられるように、階層的ツリー構造においてデータオブジェクトを他のデータオブジェクトと関連付け、４）イベントに対応するデータを、階層的ツリー構造中のデータオブジェクトと関連づけるように構成される。データフォーマッタは、階層的ツリー構造と関連付けられたデータを取り出しフォーマットするように構成され、包括的データオブジェクトと関連付けられたデータを取り出す。
【０００６】
本発明の他の局面に係る方法は、少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンスに応答して、１）Ａ）イベントにより示されるテスト結果の論理グループに対応するデータオブジェクト、および、Ｂ）ユーザ定義イベントに対応する包括的データオブジェクトを含む複数のデータオブジェクトを生成し、２）順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、包括的データオブジェクトが他のデータオブジェクトと関連付けられるように、階層的ツリー構造において、データオブジェクトを他のデータオブジェクトに関連付け、３）イベントに対応するデータを、階層的ツリー構造中のデータオブジェクトと関連付けることを含む。当該方法は、さらに、複数のデータフォーマッタに対して、階層的ツリー構造と関連付けられたデータおよび複数のデータオブジェクトへのアクセスを与えることを含む。
【０００７】
本発明のさらに他の局面に係る装置は、コンピュータ読取可能媒体に記憶されたコンピュータ読取可能コードを含む。当該コードは、実行に対応する順序付けられたイベントシーケンスの受取に応答して、１）Ａ）イベントにより示されるテスト結果の論理グループに対応するデータオブジェクト、および、Ｂ）ユーザ定義イベントに対応する包括的データオブジェクトを含む複数のデータオブジェクトを生成し、２）順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、包括的データオブジェクトが他のデータオブジェクトと関連付けられるように、階層的ツリー構造において、データオブジェクトを他のデータオブジェクトに関連付け、３）イベントに対応するデータを、階層的ツリー構造中のデータオブジェクトと関連付けるためのコードを含む。当該コードはさらに、複数のデータフォーマッタに対して、階層的ツリー構造と関連付けられたデータおよび複数のデータオブジェクトへのアクセスを与えるためのコードを含む。
【０００８】
他の実施例も開示する。
【発明を実施するための最良の形態】
【０００９】
以下に添付図面を参照して、本発明に係るユーザ定義イベント処理方法および処理装置の好適な実施の形態を説明する。
【００１０】
以下の説明においては、異なる図面において同様の参照番号を使用するときは、同様の要素・特徴を示すものとする。したがって、異なる図面中に同様の要素・特徴が示される場合には、図面ごとにこれらを詳細に説明することはしない。
【００１１】
複数のデータフォーマッタがデータをフォーマットする態様を改良するための一例として、複数のデータフォーマッタがアクセスするデータを記憶する方法１００を図１に示す。方法１００は、以下のように実行される。少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンスに応答して、ステップ１０２において、複数のデータオブジェクトが生成される。例えば、回路テストにおいては、かかるイベントには、新しいウェハの装填・取り外しをシグナルするイベント、ウェハ上の特定のデバイスに対するテストの開始または終了をシグナルするイベント、異なるテストおよびサブテストの開始および終了をシグナルするイベント等がある。
【００１２】
方法１００により生成されたデータオブジェクトのうち少なくともいくつかは、イベントにより示されるテスト結果の論理グループに対応する（例えば、ロットオブジェクト、ウェハオブジェクト、ＤＵＴオブジェクト、テストおよび／またはサブテストオブジェクト等）。以下の説明においては、「示される」グループは、具体的に言及されるものでも、単に推測されるだけのものでもありうる。いずれにせよ、論理グループは、データフォーマットを行う（または、データをフォーマットするデータフォーマッタを作成する）エンジニアやユーザが理解することのできる現実世界のグループに対応する論理グループであることが好ましい。
【００１３】
方法１００により生成される他のデータオブジェクトは、イベントシーケンス中の１または２以上のユーザ定義イベントに対応する包括的データオブジェクトでありうる。ユーザ定義イベントは、様々な形式をとり得るため、包括的データオブジェクトは様々な態様で構成されうる。これについては、後にさらに詳細に説明する。
【００１４】
１または２以上のデータオブジェクトを生成した後、データオブジェクトは、ステップ１０４において、階層的ツリー構造中の他のデータオブジェクトと関連付けられる。包括的データオブジェクトは、順序付けられたイベントシーケンス中のユーザ定義イベントの位置に基づいて、他のデータオブジェクトと関連付けられる。
【００１５】
ステップ１０６において、テスト結果を含む、イベントに対応するデータは、階層的ツリー構造中のデータオブジェクトと関連付けられる。
【００１６】
階層的ツリー構造は、メモリ内に記憶する必要はないが、多くの場合、メモリ内に記憶するとデータ作成・取り出しの処理が著しく高速化するので有利である。
【００１７】
データオブジェクトの作成中または作成後、いくつかのデータフォーマッタ（すなわち、１または２以上のデータフォーマッタ）に、階層的ツリー構造中の複数のデータオブジェクトおよびデータに対するアクセスが与えられる。ステップ１０８を参照。
【００１８】
一実施例では、データフォーマッタのうちアクティブなものが各々、階層的ツリー構造と関連付けられたデータおよびデータオブジェクトにアクセスし、データフォーマッタが維持する規則にしたがってデータをフォーマットし、フォーマットされたデータをファイルに書き込む。この明細書では、「アクティブ」なデータフォーマッタとは、ユーザが特定のデータセットをフォーマットするために選択した「利用可能な」データフォーマッタの一つを指す。方法１００が回路テストに応用される場合、１または２以上のデータフォーマッタがデータを複数のテスト記録として書き込むだろう。
【００１９】
図１に示す方法ステップの順序は重要ではなく、ステップを並列的に処理することも含めて他の順序でステップを実行することができる。
【００２０】
図１に示す方法１００は、コンピュータ読取可能媒体に記憶されたコンピュータ読取可能コードを用いて実現できる。コンピュータ読取可能媒体には、たとえば、単一の場所にあるか、またはネットワーク上に分散された、任意の数の固定媒体または取り出し可能媒体（例えば、１または２以上の固定ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、コンパクトディスク等）またはその組み合わせでありうる。コンピュータ読取可能コードは通常、ソフトウェアを含むが、ファームウェアまたはプログラムド回路を含んでも良い。
【００２１】
一実施例においては、方法１００を実現するコンピュータ読取可能コードによって、図２に示す機能部（またはプロセス）がインスタンス化されるかまたは実行される。機能部には、データポピュレータ２００、複数のデータフォーマッタ２０２、２０４、２０６、２０８、その他の任意の構成要素等が含まれる。しかし、様々な機能部の間の境界はやや流動的なものであり、以下に説明する機能は、別の機能部で実行することもでき、または、２または３以上の機能部の機能を単一の機能部（またはプロセス）内にまとめることもできる。
【００２２】
データポピュレータ２００は、１）複数のイベント２１０を受け取り、２）メモリ２１２中に複数のデータオブジェクトを生成し、３）イベントに対応するデータを、データオブジェクトに関連付け、４）データをメモリ２１２に記憶する。データポピュレータ２００が生成したデータオブジェクトのうち少なくともいくつかは、データポピュレータ２００が受け取ったイベントにより示されるデータの論理グループに対応する。本明細書では、「示される」グループには、具体的に「明示される」ものも含む。
【００２３】
複数のデータフォーマッタ２０２、２０４、２０６、２０８は、データオブジェクトにアクセスし、データオブジェクトに関連付けられたデータを取り出しフォーマットする。
【００２４】
一実施例では、コンピュータ読取可能コードはさらに、通知マネージャ２１４をインスタンス化または実行することができる。通知マネージャ２１４は、データポピュレータ２００からイベントの指示を受け取り、これらの指示に応答して、イベントの通知を１または２以上のデータフォーマッタ２０２、２０４、２０６、２０８に送る。データフォーマッタ２０２、２０４、２０６、２０８は、通知に応答して、データオブジェクトへのアクセス（およびデータの取り出し）を開始するよう構成されうる。場合によっては、通知マネージャ２１４が受け取るイベントの指示は、データポピュレータ２００が受け取ったイベントよりも少ない数のイベントまたは異なるイベントに対応することがある。例えば、回路テストの場合には、データポピュレータ２００は、テストセットアップイベントの指示を受け取るが、これは通知マネージャ２１４に渡すほど重要なものとはみなされず、データオブジェクトの生成の基礎としては使用されない。また、受け取ったイベントから、データポピュレータ２００が推測するイベントもあるだろう。例えば、パートナンバー他のしるし（インディシウム）の変化に基づいて、データポピュレータ２００は、新しいデバイス「ロット」がテストされていると推測し（すなわち、データポピュレータ２００自体は新しい「ロット」イベントを受け取っていないとしても）、かかるイベントの指示を通知マネージャ２１４に与えるかもしれない。
【００２５】
上に開示される方法１００および装置は多くの応用例で使用できる。１つの具体的応用例としては、方法１００および装置は、アジレント・テクノロジーズ・インクの９３０００ＳＯＣシリーズテスタが生成したテスト結果をフォーマットするために使用される。
【００２６】
９３０００ＳＯＣシリーズテスタ（以下、「９３０００テスタ」と称する）は、ＳＯＣ（システム・オン・チップ）テスタであり、テスト結果およびイベントを、ＥＤＬ（イベント・データ・ロギング）ファイルとして知られるバイナリ・データファイルにログする。このＥＤＬファイル中のイベントは、少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応し、順序付けられたシーケンスとして記憶される。しかし、ＥＤＬファイル中に記憶されるイベントは、他のプロセスには「投げられ」ず、ただＥＤＬファイルにログされるだけである。かかる応用例においては、図１に示す方法１００はさらに、１）複数のイベントに対応するデータファイル（ＥＤＬファイル等）を解析し、複数のイベントを取り出すステップと、２）データファイルから取り出されたイベントを、複数のデータオブジェクトを生成しメモリ２１２内にデータを記憶した（図２に示すデータポピュレータ２００等の）プロセスに送るステップとを含む。
【００２７】
一実施例においては、ＥＤＬファイルは、イベントマネージャの方法コールに応じて解析される。図３に示すように、イベントマネージャ３００は、シェアライブラリ３０２に対して、方法コール（例えば、イベント取得、イベントアトリビュート取得等）をすることができ、シェアライブラリ３０２は、これに対して、ＥＤＬファイル３０４からイベントを取り出し、取り出したイベントをイベントマネージャ３００に「投げる」。イベントマネージャ３００は、イベントをデータポピュレータ２００に渡す。
【００２８】
シェアライブラリ３０２は、イベントマネージャ３００によってコールされると、方法または複数の方法を実行する、データ検索ライブラリ（ＤＲＬ）等のコンパイルされたコードの形式をとることができる。
【００２９】
メモリ２１２中に生成されたデータオブジェクトは、階層的ツリー構造において互いに関連付けられる。他のデータオブジェクトの子であるデータオブジェクトは、親データオブジェクトに対するポインタを維持することができるが、親オブジェクトは、全ての子に対するポインタのリストを維持する必要はない。後述するように、子供から親に向けられるこれらのポインタは、もはや不要となったデータオブジェクトを削除するプロセスの補助となりうる。
【００３０】
複数の回路テストの実行に基づいたデータオブジェクトの場合、イベントにより示されるデータの論理グループ（例えば、テスト結果のグループ）は、ロットグループ、ウェハグループ、ＤＵＴグループ等の１または２以上のハードウェアグループと、テストおよびサブテストに対応するテスト結果のグループ等の、１または２以上のテストグループとを含みうる。
【００３１】
データとデータオブジェクトとは様々な態様で関連付けることができる。たとえば、１）データオブジェクト内に直接データを記憶する、または２）（例えばポインタ等の手段によって）データオブジェクトと関連付けられたデータ構造内にデータを記憶することによって、データとデータオブジェクトとを関連付けることができる。
【００３２】
ＥＤＬファイル３０４において、データはイベントのアトリビュートとして記憶される。したがって、データポピュレータ２００がＥＤLファイル３０４から引き出されたイベントを取り出す場合、データポピュレータ２００は、イベントのアトリビュートからデータを抽出することによって、イベントに対応するデータを抽出することができる。回路テストの場合には、抽出されるデータは、テスト結果を含みうる。
【００３３】
例として、図４に、ＥＤＬファイル３０４のコンテンツの一例を示す。図４の例では、いくつかのデータはテスト結果を含み、ログされたイベントと関連付けられたいくつかのデータはユーザ定義データを含んでいる。図５は、図４に示すＥＤＬファイル３０４のコンテンツからデータポピュレータ２００が生成する可能性のある階層的ツリー構造の一例５００を示す。ツリー構造５００は、二つのロットオブジェクト５０２、５０４（各々、親「ウェハオブジェクト」５０６に対するポインタを維持する）と、六つのデバイスオブジェクト５０８、５１０、５１２、５１４、５１６、５１８（各々、ロットオブジェクト５０２、５０４それぞれ一つへのポインタを維持する）を含む。図示するように、利用可能なテスト結果は、デバイスオブジェクト５０８、５１０、５１２、５１４、５１６、５１８各々と関連付けられている。ツリー構造５００はさらに、二つの包括的オブジェクト５２０、５２２を含み、包括的オブジェクト５２０、５２２は各々、ＥＤＬファイル３０４（図４）中のユーザ定義イベントの位置に基づいて、デバイスオブジェクト５０８、５１４のうち特定の一つと関連付けられている。
【００３４】
個別データ項目をメモリ２１２内に記憶することに加えて、データポピュレータ２００は、テストデータ統計等のデータ統計を蓄積し、（例えば、データオブジェクト内にデータ統計を記憶することによって、または、データオブジェクトと関連付けられたデータ構造内にデータ統計を記憶することによって）データ統計をデータオブジェクトに関連付けることができる。一実施例においては、データ統計は、データポピュレータ２００により蓄積され、完全にコンパイルされるとデータオブジェクトと関連付けられる。代替的実施例においては、不完全なデータ統計は、データオブジェクトと関連付けられ、更新される。データ統計と同様に、データポピュレータ２００は、テストデータ補間等のデータ解釈も蓄積でき、これらをデータオブジェクトと関連付けることができる。
【００３５】
統計のコンパイル、および／またはデータ解釈を、データポピュレータ２００にさせるか、または個別のデータフォーマッタ２０２、２０４、２０６、２０８にさせるかという選択は、異なるデータフォーマットでの統計または解釈の有用性に基づくであろう。すなわち、統計または解釈が、複数のデータフォーマッタ２０２、２０４、２０６、２０８で必要になる可能性が高い場合には、データポピュレータ２００で一度に統計または解釈をコンパイルさせるのが最良であろう。他方、フォーマット特有の統計および解釈については、特定のデータフォーマッタ２０２、２０４、２０６、２０８にコンパイルさせるのが最良であろう。
【００３６】
データフォーマッタ２０２、２０４、２０６、２０８が、データポピュレータ２００により生成されたデータオブジェクトおよびデータにアクセスする態様は様々である。一実施例では、データフォーマッタ２０２、２０４、２０６、２０８は、単純にデータオブジェクトをモニタすることができる。しかし、そのためには、多量のメモリ帯域が必要となることがあり、あまり効率的でないことが多い。好ましい実施例では、データポピュレータ２００は、自分で生成したデータオブジェクトへのポインタを生成し、生成したポインタを通知マネージャ２１４に渡す。通知マネージャ２１４は、ポインタをデータフォーマッタ２０２、２０４、２０６、２０８へ分配する。
【００３７】
通知マネージャ２１４は、各データオブジェクトにつき一つのポインタを受け取るだけでよいことが注意される。通知マネージャ２１４は、それによって、データフォーマッタ２０２、２０４、２０６、２０８各々に対して、ポインタを複製する、またはブロードキャストすることができる。また、通知マネージャ２１４は、データフォーマッタ２０２、２０４、２０６、２０８各々のために／各々に対して、ポインタを複製またはブロードキャストせず、当該データオブジェクトに代表される種類のデータに対して申し込みをしたデータフォーマッタ２０２、２０４、２０６、２０８のうちの特定のいくつかのために／に対してのみ、ポインタを複製またはブロードキャストすることもできる。
【００３８】
通常、データポピュレータ２００の動作は、データフォーマッタ２０２、２０４、２０６、２０８の動作よりも高い優先度を与えられる。データオブジェクトおよびデータが記憶されたメモリ２１２に対するアクセスをさらに制御するためには、データポピュレータ２００（または複数のデータオブジェクトを生成し、データをメモリ２１２内に記憶した他のプロセス）には、データオブジェクトおよびデータに対するダイレクトアクセスが与えられてもよい。しかし、データフォーマッタ２０２、２０４、２０６、２０８には、データオブジェクトおよびデータへのデータフォーマッタのアクセスを調整／仲裁する構造化インターフェースを通じて、複数のデータオブジェクトへのアクセスが与えられてもよい。
【００３９】
メモリ２１２内に維持されるデータオブジェクトの数を減じるために、データポピュレータ２００は、データオブジェクトの予約をモニタして、もはやデータオブジェクトを参照したりデータオブジェクトにアクセスしたりするいずれのオブジェクトまたはプロセスによっても予約されていないデータオブジェクトを削除できる。一実施例においては、当該データオブジェクトを参照するポインタが生成されたとき、そのデータオブジェクトは予約されているものとみなされる。データポピュレータ２００は、データオブジェクトの生成に際してかかるポインタを一つ生成でき、通知マネージャ２１４は、かかるポインタの追加コピーを生成し、データフォーマッタ２０２、２０４、２０６、２０８に分配できる。データポピュレータ２００はまた、データオブジェクトの子オブジェクトが生成されたとき、そのオブジェクトに対するポインタを生成できる。ポインタが生成されると、特定のデータオブジェクトを参照するポインタの数の計数が（できればデータオブジェクト自体の中に）維持される。データフォーマッタ２０２、２０４、２０６、２０８その他のプロセスは、そのデータオブジェクトへのアクセスを完了したときに、そのデータオブジェクトに対するポインタを廃棄するようプログラミングでき、データポピュレータ２００は、かかるポインタが全て放棄されたときデータオブジェクトを削除することができる。親を参照する子オブジェクトがあると、まず、子が全て削除されてしまわなければ、親オブジェクトを削除することはできない。
【００４０】
図３に示すデータフォーマッタは、例えば、ＡＳＣＩＩ（情報交換用米国標準コード）フォーマッタ２０２、ＸＭＬ（拡張マークアップ言語）フォーマッタ２０４、ＥＤＬフォーマッタ２０６および／またはＳＴＤＦ（標準テスト定義フォーマット:Standard Test Definition Format）フォーマッタ２０８等様々な形をとりうる。
【００４１】
メモリ２１２から包括的データオブジェクトを取り出す際には、１または２以上のデータフォーマッタ２０２、２０４、２０６、２０８が、ユーザ定義イベントに対応するユーザ定義記録タイプにしたがって、包括的データオブジェクトと関連付けられたデータをフォーマットできる。あるいは、１または２以上のデータフォーマッタ２０２、２０４、２０６、２０８は、包括的記録タイプにしたがって、包括的データオブジェクトと関連付けられたデータをフォーマットできる。例えば、ＳＴＤＦフォーマッタ２０８は、ＳＴＤＦ仕様により定義される包括的データ記録（ＧＤＲ：Generic Data Record）にしたがって、包括的データオブジェクトと関連付けられたデータをフォーマットすることができる。
【００４２】
場合によっては、包括的データオブジェクトは、ユーザ定義オブジェクトのタイプを規定するラベルと関連付けることもできる。このタイプは、包括的データオブジェクトと関連付けられたデータをフォーマットする際に使用するフォーマットの種類を決定するために、１または２以上のデータフォーマッタ２０２、２０４、２０６、２０８が使用することができる。例えば、ラベルは、包括的データオブジェクトがデバッグデータ、または特定の種類のテストデータを含むことを規定することができる。
【００４３】
一実施例において、ユーザ定義イベントおよび包括的データオブジェクトは、一つにまとめられるデータの「細片（ピース）」を記憶するために使用されうる。例えば、ＳＴＤＦ仕様は、データ記録を６４キロバイトのデータに限定する。「イベント」と関連付けられるデータがこの限界を超えるような場合には、データセットをさらに小さな細片に分けるために、ユーザ定義イベントを定義することができる。このような「細片」と関連付けられたラベルは、データのどの部分が、特定のユーザ定義イベントと関連付けられるデータであるかを指定することができ、かかるデータの「細片」を全て記憶するために包括的データオブジェクトを使用できる。例えばＳＴＤＦ  ＧＤＲ記録を使用して、いったんデータの細片をフォーマットしてしまうと、ダウンストリーム解析ソフトウェア他のプロセスによって、こうした記録のラベル部分を読み取り、記録データをどのように一つにまとめるか決定することができる。
【００４４】
実現の態様によっては、ここに開示したデータモデル（すなわち、データの論理グループに基づいてデータオブジェクトが生成され、および／またはデータオブジェクトが相互に階層的ツリー構造に関係付けられる場所）には、特に回路テストに関して、多くの利点がある。例えば、データをメモリ中に構造化するための別個のプロセスを設け、複数のデータフォーマッタがデータを利用できるようにすることで、データの読み出し・組織化にかかるオーバーヘッドの大部分をデータフォーマッタから取り除くことができる。さらに、データオブジェクトを「メモリ中」に生成することで、ディスク上に記憶されるデータに比べてより早いアクセスが可能になる。このため、データフォーマッタのコードが軽くなり、また、新しいデータフォーマッタが利用できる標準データモデルを提供することができる。さらに、１）データポピュレータおよび個々のデータフォーマッタの見直しおよびパッチが容易になり、２）これら機能部各々のコーディングを並列にしより迅速にすることができ、３）（例えば各機能部が軽くなるため、各部のテストするコードが少なくなるので）各機能部のコーディングにおけるエラーの可能性が減じられる。さらに、ランタイム環境下でより効率的に生成できる形で、テスタがデータを生成することができ、よりユーザフレンドリーで論理的に構造化された形のテストデータをデータフォーマッタ（およびその作者）が利用できるようになる。
【００４５】
ここで開示されたデータモデル、およびそこにデータをポピュレートしデータをそこから取り除く態様はまた、１）複数のデータフォーマッタが共通のデータセットをフォーマットできる速度（すなわち、各々がデータセットのデータを並列にフォーマットできる速度）と、２）メモリ、記憶装置、および／または処理資源についての現実の限界とのバランスをとる助けとなる。回路テストの分野では、特にＳＯＣテスタを使用してパラメータテストを行うときには、生成されるデータがあまりに多いため、充分に準備のできたコンピュータシステムであっても、１０〜２０個程度のチップをテストしただけで資源限界に達してしまう。しかし、ここに開示されるデータモデルを使用して、もはや必要とされないデータオブジェクトを取り除くと、通常、資源限界に達することを回避できる。
【００４６】
本願の付記を以下説明する。
【００４７】
（付記１）
１）少なくともひとつの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントのシーケンス（２１０）を受け取り、２）イベント（２１０）により示されるテスト結果の論理グループに対応するデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と、ユーザ定義イベント（２１０）に対応する包括的データオブジェクト（５２０）とを含む、複数のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を生成し、３）順序付けられたイベントシーケンス（２１０）中のユーザ定義イベントの位置に基づいて、包括的データオブジェクト（５２０）が他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付けられるように、階層的ツリー構造（５００）内でデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付け、４）階層的ツリー構造（５００）内のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）に、イベント（２１０）に対応するデータを関連付けるデータポピュレータ（２００）と、
包括的データオブジェクト（５２０）と関連付けられたデータを取り出すように、階層的ツリー構造（５００）と関連付けられたデータを取り出しフォーマットするデータフォーマッタとを備える装置。
【００４８】
（付記２）
前記データフォーマッタは、包括的記録タイプにしたがい、包括的データオブジェクト（５２０）と関連付けられたデータをフォーマットする請求項１に記載の装置。
【００４９】
（付記３）
前記データフォーマッタは、前記ユーザ定義イベントに対応するユーザ定義データ記録タイプにしたがい、包括的データオブジェクト（５２０）と関連付けられる請求項１に記載の装置。
【００５０】
（付記４）
前記データフォーマッタは、前記包括的データオブジェクト（５２０）と関連付けられるラベルを読み取り、前記包括的データオブジェクト（５２０）と関連付けられたデータをフォーマットする際に使用するフォーマットの種類を決定する請求項１に記載の装置。
【００５１】
（付記５）
前記データフォーマッタは、包括的データオブジェクト（５２０）と関連付けられたラベルを読み取り、前記包括的データオブジェクト（５２０）と関連付けられたデータがデバッグデータかどうかを決定する請求項１に記載の装置。
【００５２】
（付記６）
前記データフォーマッタは、前記包括的データオブジェクト（５２０）と関連付けられたラベルを読み取り、前記包括的データオブジェクト（５２０）と関連付けられたデータ（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）が、前記包括的データオブジェクト（５２０）と関連付けられたデータと関連づけられているかどうかを決定する請求項１に記載の装置。
【００５３】
（付記７）
少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントのシーケンス（２１０）に応答して、
１）前記イベント（２１０）により示されるテスト結果の論理グループに対応するいくつかのデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と、２）ユーザ定義イベント（２１０）に対応する包括的データオブジェクト（５２０）とを含む、複数のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を生成し（１０２）、
前記順序付けられたイベントシーケンス（２１０）中のユーザ定義イベントの位置に基づいて、前記包括的データオブジェクト（５２０）が他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）に関連付けられるように、階層的ツリー構造（５００）中のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付け（１０４）、
イベント（２１０）に対応するデータを、前記階層的ツリー構造（５００）中のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付け（１０６）、
前記階層的ツリー構造と関連付けられたデータおよび複数のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）へのアクセスを複数のデータフォーマッタ（２０２、２０４、２０６、２０８）に与える（１０８）ことを含む方法（１００）。
【００５４】
（付記８）
コンピュータ読取可能媒体と、
コンピュータ読取可能媒体に記憶された、コンピュータ読取コードであって、
少なくとも一つの被検査装置（ＤＵＴ）に対する複数のテストの実行に対応する順序付けられたイベントシーケンス（２１０）を受け取ったのに応答して、
１）前記イベント（２１０）に示されるテスト結果の論理グループに対応するいくつかのデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と、２）ユーザ定義イベント（２１０）に対応する包括的データオブジェクト（５２０）とを含む複数のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を生成し、
前記順序付けられたイベントシーケンス（２１０）中のユーザ定義イベントの位置に基づいて、前記包括的データオブジェクト（５２０）が他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付けられるように、データオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）を階層的ツリー構造（５００）中の他のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付け、
イベント（２１０）に対応するデータを、前記階層的ツリー構造（５００）中のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）と関連付け、
複数のデータフォーマッタ（２０２、２０４、２０６、２０８）に、前記階層的ツリー構造（５００）と関連付けられたデータおよび複数のデータオブジェクト（５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８）へのアクセスを提供するためのコードを含む装置。
【産業上の利用可能性】
【００５５】
本発明のユーザ定義イベント処理方法および処理装置は、デバイス等のテスト中に生成されたユーザ定義イベントの処理方法および処理装置に有用である。
【図面の簡単な説明】
【００５６】
【図１】図１は、データを記憶しフォーマットするための方法の一例を示す図である。
【図２】図２は、図１に示す方法を実行した結果、インスタンス化されるかまたは実行されるであろう様々な機能部（またはプロセス）を示す図である。
【図３】図３は、図２に示すシステムの変形例の図であり、テスト環境での使用に特に適したシステムを示す図である。
【図４】図４は、図３に示すシステムにおいて使用されるＥＤＬファイルのコンテンツの一例を示す図である。
【図５】図５は、図４に示すＥＤＬファイルのコンテンツを記憶するための階層的ツリー構造の一例を示す図である。
【符号の説明】
【００５７】
２００  データポピュレータ
２０２、２０４、２０６、２０８  フォーマッタ
２１２  データオブジェクトおよびデータのメモリ
２１４  通知マネージャ
３００  イベントマネージャ
３０２  シェア・ライブラリ
３０４  ＥＤＬファイル
５００  階層的ツリー構造
５０２、５０４  ロットオブジェクト
５０８、５１０、５１２、５１４、５１６、５１８  デバイスオブジェクト
５２０、５２２  包括的オブジェクト
【図１】
2007207244.tif 000003
【図２】
2007207244.tif 000004
【図３】
2007207244.tif 000005
【図４】
2007207244.tif 000006
【図５】
2007207244.tif 000007
【外国語明細書】
2007207244000001.pdf