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