(57)【要約】【課題】効率のよいデータを格納及びフォーマットする方法及び装置を提供すること。【解決手段】一実施形態において、複数のイベントに応じて、１）メモリに複数のデータオブジェクトを作成し、２）イベントに関連するデータをデータオブジェクトに関連付け、３）データをメモリに格納する。データオブジェクトの少なくとも一部はイベントによって暗示されるデータの論理的分類に対応する。データオブジェクトの作成中又は作成後に、多数のデータフォーマッタに対してメモリ内の複数のデータオブジェクト及びデータへのアクセスを提供する。【選択図】図２
2007207241.tif 000002
【特許請求の範囲】
【請求項１】
複数のイベントに応じて、
メモリに複数のデータオブジェクトを作成するステップであって、前記データオブジェクトのうちの少なくとも一部がイベントによって暗示されるデータの論理的分類に対応する、前記ステップと、
前記イベントに対応するデータを前記データオブジェクトに関連づけ、前記データを前記メモリに格納するステップと、
多数のデータフォーマッタに前記メモリ内の前記複数のデータオブジェクト及び前記データへのアクセスを提供するステップを含むこと、
を特徴とする方法。
【請求項２】
前記複数のイベントに対応するデータファイルを解析して前記複数のイベントを読み出すステップと、
前記データファイルから読み出した前記イベントを、前記メモリにおいて前記複数のデータオブジェクトを作成して前記データを格納するプロセスに送るステップと、をさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項３】
前記データファイルがバイナリデータファイルであること、
を特徴とする請求項２に記載の方法。
【請求項４】
データ統計を蓄積して前記データオブジェクトに関連付けるステップをさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項５】
前記メモリにおいて前記複数のデータオブジェクトを作成して前記データを格納するプロセスに対して、前記データオブジェクト及び前記データへの直接のアクセスを提供するステップと、
前記多数のデータフォーマッタに対して、構造化したインタフェースを介した前記複数のデータオブジェクトへのアクセスを提供するステップをさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項６】
前記多数のデータフォーマッタのうちの能動的な各データフォーマッタに対して及び能動的な各データフォーマッタを介して、
前記メモリ内の前記データオブジェクト及び前記データにアクセスするステップと、
前記データフォーマッタの保持するルールによって前記データをフォーマットするステップと、
前記フォーマットしたデータをファイルに書き込むステップをさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項７】
前記データオブジェクトへのポインタを生成するステップと、
前記多数のデータフォーマッタのうちの１つ以上に対して前記ポインタを分配するステップをさらに含むこと、
を特徴とする請求項１に記載の方法。
【請求項８】
複数のイベントに応じて、前記イベントによって暗示されるデータの論理的分類にその少なくとも一部が対応する複数のデータオブジェクトをメモリにおいて作成し、前記イベントに対応するデータを前記データオブジェクトに関連付けて、前記メモリに前記データを格納するコードと、
前記メモリ内の前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するコードと、
を含むコンピュータ可読媒体に格納されたコンピュータ可読コードを含むこと、
を特徴とする装置。
【請求項９】
前記複数のイベントに対応するデータファイルを解析して前記複数のイベントを読み出すコードと、
前記メモリにおいて前記複数のデータオブジェクトを作成して前記データを格納するプロセスに、前記データファイルから読み出した前記イベントを送るコードをさらに含むこと、
を特徴とする請求項８に記載の装置。
【請求項１０】
データ統計を蓄積して前記データオブジェクトに関連付けるコードをさらに含むこと、
を特徴とする請求項８に記載の装置。
【請求項１１】
前記データオブジェクトへのポインタを生成するコードと、
前記多数のデータフォーマッタのうちの１つ以上に前記ポインタを分配するコードと、
をさらに含むこと、
を特徴とする請求項８に記載の装置。
【請求項１２】
少なくとも１つの被試験デバイス（ＤＵＴ）に複数の試験を実行することに対応する一連のイベントに応じて、
複数のデータオブジェクトを生成して、前記データオブジェクト同士を階層ツリー構造において関連付けるステップであって、前記データオブジェクトのうちの少なくとも一部が、前記イベントによって暗示される試験結果の論理的分類に対応する、前記ステップと、
試験結果を含む前記イベントに対応するデータを、前記階層ツリー構造における前記データオブジェクトに関連付けるステップと、
前記階層ツリー構造における前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するステップを含むこと、
を特徴とする方法。
【請求項１３】
少なくとも１つのＤＵＴに前記複数の試験を実行することに対応するデータファイルを解析して前記一連のイベントを読み出すステップと、
前記データファイルから読み出した前記一連のイベントを、前記複数のデータオブジェクトを作成して前記階層ツリー構造において前記データを格納するプロセスに送るステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項１４】
前記データファイルがバイナリデータファイルであること、
を特徴とする請求項１３に記載の方法。
【請求項１５】
試験データを蓄積して前記階層ツリー構造における前記データオブジェクトに関連付けるステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項１６】
試験データ解釈をコンパイルして前記階層ツリー構造に書き込むステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項１７】
前記イベントによって暗示される試験結果の前記論理的分類がロット、ウェハ、及びＤＵＴを含むこと、
を特徴とする請求項１２に記載の方法。
【請求項１８】
試験結果の前記論理的分類が試験及び補助試験をさらに含むこと、
を特徴とする請求項１７に記載の方法。
【請求項１９】
前記階層ツリー構造をメモリに格納するステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項２０】
前記複数のデータオブジェクトを作成して前記階層ツリー構造において前記データを蓄積するプロセスに、前記データオブジェクト及び前記データへの直接のアクセスを提供するステップと、
前記多数のデータフォーマッタに、構造化したインタフェースを介した前記複数のデータオブジェクトへのアクセスを提供するステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項２１】
前記多数のデータフォーマッタのうちの能動的な各データフォーマッタに対して及び能動的な各データフォーマッタを介して、
前記階層ツリー構造内の前記データオブジェクト及び前記データにアクセスするステップと、
前記データフォーマッタの保持するルールによって前記データをフォーマットするステップと、
前記フォーマットしたデータをファイルに書き込むステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項２２】
前記能動的なデータフォーマッタのうちの少なくとも１つがフォーマットしたデータを記録として書き込むこと、
を特徴とする請求項２１に記載の方法。
【請求項２３】
前記データオブジェクトへのポインタを生成するステップと、
前記多数のデータフォーマッタのうちの１つ以上に対して前記ポインタを分配するステップをさらに含むこと、
を特徴とする請求項１２に記載の方法。
【請求項２４】
少なくとも１つの被試験デバイス（ＤＵＴ）に複数の試験を実行することに対応する一連のイベントに応じて、前記イベントによって暗示される試験結果の論理的分類にその少なくとも一部が対応する複数のデータオブジェクトを作成して、階層ツリー構造において前記データオブジェクト同士を関連付け、試験結果を含む前記イベントに対応したデータを、前記階層ツリー構造における前記データオブジェクトに関連付けるコードと、
前記階層ツリー構造における前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するコードと、を含むコンピュータ可読媒体に格納されたコンピュータ可読コードを含むこと、
を特徴とする装置。
【請求項２５】
前記少なくとも１つのＤＵＴに前記複数の試験を実行することに対応するデータファイルを解析して前記一連のイベントを読み出すコードと、
前記複数のデータオブジェクトを作成して前記階層ツリー構造において前記データを格納するプロセスに、前記データファイルから読み出した前記一連のイベントを送るコードをさらに含むこと、
を特徴とする請求項２４に記載の装置。
【請求項２６】
前記階層ツリー構造における前記データオブジェクトにおいて試験データ統計を蓄積するコードをさらに含むこと、
を特徴とする請求項２４に記載の装置。
【請求項２７】
試験データ解釈をコンパイルして前記階層ツリー構造に書き込むコードをさらに含むこと、
を特徴とする請求項２４に記載の装置。
【請求項２８】
前記イベントによって暗示される試験結果の前記論理的分類がロット、ウェハ、及びＤＵＴを含むこと、
を特徴とする請求項２４に記載の装置。
【請求項２９】
試験結果の前記論理的分類が試験及び補助試験をさらに含むこと、
を特徴とする請求項２８に記載の装置。
【請求項３０】
前記コードが前記階層ツリー構造をメモリに格納すること、
を特徴とする請求項２４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを格納及びフォーマットする方法及び装置に関する。
【背景技術】
【０００２】
電子データは時として多様にフォーマットすることが必要となる。データセットを多様にフォーマットする方法の１つに、複数のデータフォーマッタを使用するものがあるが、データフォーマッタはそれぞれ異なる方法でデータセットをフォーマットするように構成されると共に、データセットに順次アクセスする（即ち、データフォーマッタのうちの１つがデータをフォーマットしている時に、別のデータフォーマッタがデータにアクセスする）。代替的に、各データフォーマッタが並行してデータセットにアクセスする場合や、データセットを複製することにより、複製されたデータセットに各データフォーマッタがそれぞれアクセスする場合もある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
複数のデータフォーマッタがデータセットに順次アクセスする場合は、複数のデータフォーマッタがデータセットに並行してアクセスする場合に比べてデータセットのフォーマットに長い時間がかかる。しかし、データフォーマッタがデータセットに並行してアクセスする場合（又はデータセットを複製したものに並行してアクセスする場合）には、メモリ、保存領域、及び処理リソースのうちの少なくとも１つの使用効率が非効率になることが多く、それらの限界近く又は限界に達してしまうおそれがある。
【課題を解決するための手段】
【０００４】
一実施の形態において、１）複数のイベントに応じて、メモリに複数のデータオブジェクトを作成するステップと、２）前記イベントに対応するデータを前記データオブジェクトに関連づけるステップと、３）前記データを前記メモリに格納するステップとを含む。前記データオブジェクトのうちの少なくとも一部は、イベントによって暗示されるデータの論理的分類に対応する。データオブジェクトの生成中または生成後に、多数のデータフォーマッタに前記メモリ内の前記複数のデータオブジェクト及び前記データへのアクセスを提供する。
【０００５】
他の実施の形態において、装置は、コンピュータ可読媒体に格納されたコンピュータ可読コードを含む。コンピュータ可読コードは、１）複数のイベントに応じて、複数のデータオブジェクトをメモリにおいて作成するコードと、２）前記イベントに対応するデータを前記データオブジェクトに関連付けるコードと、３）前記メモリに前記データを格納するコードとを含む。複数のデータオブジェクトの少なくとも一部は、前記イベントによって暗示されるデータの論理的分類に対応する。コンピュータ可読媒体はさらに、前記メモリ内の前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するコードを含む。
【０００６】
さらに他の実施の形態において、少なくとも１つの被試験デバイス（ＤＵＴ）に複数の試験を実行することに対応する一連のイベントに応じて、複数のデータオブジェクトを生成して、前記データオブジェクト同士を階層ツリー構造において関連付ける。前記データオブジェクトのうちの少なくとも一部は、前記イベントによって暗示される試験結果の論理的分類に対応する。この方法はさらに、１）試験結果を含む前記イベントに対応するデータを、前記階層ツリー構造における前記データオブジェクトに関連付けるステップと、２）前記階層ツリー構造における前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するステップを含む。
【０００７】
さらに他の実施の形態において、装置は、コンピュータ可読媒体に格納されたコンピュータ可読コードを含む。コンピュータ可読コードは、少なくとも１つの被試験デバイス（ＤＵＴ）に複数の試験を実行することに対応する一連のイベントに応じて、１）複数のデータオブジェクトを作成し、２）階層ツリー構造において前記データオブジェクト同士を関連付け、３）試験結果を含む前記イベントに対応したデータを、前記階層ツリー構造における前記データオブジェクトに関連付ける。前記複数のデータオブジェクトの少なくとも一部が、前記イベントによって暗示される試験結果の論理的分類に対応する。コンピュータ可読コードは、さらに、前記階層ツリー構造における前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するコードを含む。
【発明を実施するための最良の形態】
【０００８】
本発明を例示する実施形態を図面に示す。
【０００９】
説明に先立ち、複数の図面を通じて同様の要素又は特徴を表すものについては、以下の記載において同じ参照番号を付して示すことに留意されたい。従って、複数の図面にわたって示されている同様の要素又は特徴については、それらについて図面毎に詳細に説明することはない。
【００１０】
複数のデータフォーマッタがデータをフォーマットする方法を改良するべく、複数のデータフォーマッタがアクセスするデータを格納する一例の方法１００を図1に示す。方法１００は以下のように進行する。複数のイベントに応じて、ステップ１０２では複数のデータオブジェクトをメモリに作成する。一例として回路試験の領域では、上記のようなイベントとして、新たなウェハ試験をロード又はアンロードする信号を送信するイベント、ウェハ上の特定のデバイスに関する試験を開始又は終了する信号を送信するイベント、及び異なる試験及び補助試験を開始及び終了する信号を送信するイベント等を挙げることができる。
【００１１】
方法１００によって作成されたデータオブジェクトの少なくとも一部は、上記イベントによって暗示されるデータの論理的分類に対応する（例えばウェハオブジェクト、デバイスオブジェクト等がある）。この記載中に使用するように、「暗示される」分類については、特定できる場合や、単に予想されるものである場合がある。いずれにしても論理的分類は、データをフォーマットする作業を行う（又はデータをフォーマットするデータフォーマッタを作製する作業を行う）技術者又はユーザが理解できる実際的な分類に対応していることが好ましい。
【００１２】
１つ以上のデータオブジェクトを作成した後、イベントに対応するデータをデータオブジェクトに関連付け、メモリに格納する（ステップ１０４）。データオブジェクトの作成中又は作成後に、多数のデータフォーマッタ（即ち１つ以上のデータフォーマッタ）にメモリ内の複数のデータオブジェクト及びデータへのアクセスを提供する。ステップ１０６を参照されたい。
【００１３】
一実施形態において、方法１００はデータをフォーマットするステップを含み得る。かかるステップには、多数の能動的なデータフォーマッタの各々に対して及びそれらの各々を介して、メモリに格納されたデータオブジェクト及びデータにアクセスするステップ（ステップ１０８）と、データフォーマッタによって保持されるルールによってデータをフォーマットするステップ（ステップ１１０）と、フォーマットしたデータをファイルに書き込むステップ（ステップ１１２）と、が含まれる。明細書を記載するにあたり、「能動的な」データフォーマッタとは、多数の「利用可能な」データフォーマッタのうち、特定のデータセットをフォーマットするようにユーザが選択したものであるとする。方法１００を回路試験に適用する場合には、１つ以上のデータフォーマッタは多数の試験記録としてデータを書き込むことができる。
【００１４】
なお、図１に示す方法ステップの順序は重要ではないため、それらステップを並行して行うなど、他の順序で行ってもよい。
【００１５】
図１で示す方法１００は、コンピュータ可読媒体に格納されたコンピュータ可読コードによって実行することができる。コンピュータ可読媒体としては、例えば固定媒体やリムーバブルメディア（１つ以上の固定ディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、コンパクトディスク等）があり、それらを任意の数で又は任意に組み合わせてネットワーク上の１つの位置に又はネットワーク上に分散させて使用することができる。典型的にコンピュータ可読コードはソフトウェアを含むが、ファームウェア又はプログラムした回路も含み得る。
【００１６】
一実施形態において、方法１００を実行するコンピュータ可読コードにより、図２に示す機能ユニット（又は機能プロセス）のインスタンスを作成又は機能ユニットを実行することができる。機能ユニットはデータ投入部２００と多数のデータフォーマッタ２０２、２０４、２０６、２０８の他、多数の他の任意の構成要素を含む。ただし、種々の機能ユニット間の境界はいくぶん無定形であるため、以下に記載する特定の機能を異なる機能ユニットによって実行させてもよく、また２つ以上のユニットの機能を組み合わせて１つの機能ユニット（又は機能プロセス）としてもよい。
【００１７】
データ投入部２００は、１）複数のイベント２１０を受信し、２）メモリ２１２内に複数のデータオブジェクトを作成し、３）イベントに対応するデータをデータオブジェクトに関連させて、４）メモリ２１２にデータを格納する。データ投入部２００が作成するデータオブジェクトの少なくとも一部は、データ投入部２００が受信するイベントによって暗示されるデータの論理的分類に対応する。発明を開示するにあたり、「暗示される」分類とは、特定的に「表される」分類という意味合いを含むものとする。
【００１８】
多数のデータフォーマッタ２０２、２０４、２０６、２０８はデータオブジェクトにアクセスし、データオブジェクトに関連するデータを読み出してフォーマットする。
【００１９】
一実施形態では、さらにコンピュータ可読コードによって通知管理部２１４のインスタンスを作成又は通知管理部２１４を実行することができる。通知管理部２１４はデータ投入部２００からイベントの表示を受信し、これに応じて１つ以上のデータフォーマッタ２０２、２０４、２０６、２０８にイベントを通知し得る。データフォーマッタ２０２、２０４、２０６、２０８は、この通知に応じてデータオブジェクトのアクセス（及びデータの読出し）を開始するように構成され得る。なお、通知管理部２１４が受信するイベントの表示は、データ投入部２００が受信するイベントに比べて数が少ない場合や、或いはデータ投入部２００が受信するイベントとは異なるイベントである場合がある。例えば回路の試験の場合には、データ投入部２００が受信する試験セットアップイベントの表示の中には、通知管理部２１４に送信する程には重要でないと思われるものが含まれる場合があり、そのようなイベントの表示を元にデータオブジェクトが作成されることはない。また、データ投入部２００が受信するイベントから推定するイベントもある。例えば、パーツ番号の変更やその他の兆候に基づいて、データ投入部２００は新たな「ロット」のデバイスが試験されていることを推測し、通信マネージャ２１４にかかるイベントの表示を提供する（即ち、データ投入部２００自体は新「ロット」イベントを受信しない）。
【００２０】
上述の方法１００及び装置は多くの用途で使用することができるが、用途としては例えば、回路試験結果等の試験結果を格納及びフォーマットするというものがある。ある特定の用途では、アジレントテクノロジーズ社（Ａｇｉｌｅｎｔ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，  Ｉｎｃ．)の９３０００ＳＯＣシリーズテスタが試験結果を生成し得る。
【００２１】
９３０００ＳＯＣシリーズテスタ（以下、「９３０００テスタ」と称する）は、試験結果とイベントをＥＤＬ（イベントデータログ）ファイルとして知られるバイナリデータファイルに記録するＳＯＣ（システムオンチップ）試験装置である。このＥＤＬファイル中のイベントは、少なくとも１つの被試験デバイス（ＤＵＴ)に関して複数の試験を実行することに対応し、順番に格納されている。ただし、ＥＤＬファイルに格納されたイベントは他のどのプロセスにも「投入される」ことはなく、ＥＤＬファイルにログされるだけである。かかる用途では、図１に示す方法１００は、１）複数のイベントに対応するデータファイル(例えばＥＤＬファイル）を解析して、複数のイベントを読み出すステップ１１４と、２）データファイルから読み出したイベントを、メモリ２１２において複数のデータオブジェクトを作成してデータを格納するプロセスに送るステップ１１６（例えば、図２に示すデータ投入部２００）と、をさらに含む。
【００２２】
一実施形態では、ＥＤＬファイルはイベントマネージャによるメソッド呼出しに応じて解析される。図３に示すように、イベントマネージャ３００がメソッド呼出し（例えばイベント獲得やイベント属性獲得）を共有ライブラリ３０２に対して行うと、共有ライブラリ３０２はＥＤＬファイル３０４からイベントを読み出して、イベントマネージャ３００にイベントを「投入する」。その後イベントマネージャ３００はデータ投入部２００にイベントを送る。
【００２３】
共有ライブラリ３０２は、例えばデータ検索ライブラリ（ＤＲＬ）等の編集コードの形態であり得、イベントマネージャ３００に呼び出されると１つ又は複数のメソッドを実行する。
【００２４】
メモリ２１２において作成されたデータオブジェクト同士は種々の方法で関連付けられ得る。一実施形態では、データオブジェクト同士を階層ツリー構造において関連付ける。他のデータオブジェクトの子であるデータオブジェクトは、それらの親データオブジェクトへのポインタを保持し得るが、親オブジェクトは全ての子へのポインタのリストを保持する必要はない。本明細書で後述するように、子から親へのこのようなポインタは、必要でなくなったデータオブジェクトを消去するプロセスに役立つ。
【００２５】
複数の回路試験を実行することに基づくデータオブジェクトの場合には、イベントによって暗示されるデータの論理的分類（例えば、試験結果の分類）として、例えばロット、ウェハ、及びＤＵＴに対する分類のような１つ以上のハードウェアに対する分類と、例えば試験と補助試験に対応する試験結果の分類のような１つ以上の試験に対する分類を挙げることができる。
【００２６】
データはデータオブジェクトに対して種々の方法で関連付けることができるが、かかる方法としては、１）データオブジェクト内にデータを直接格納すること、又は２）データオブジェクトに関連するデータ構造にデータを格納すること（例えばポインタや他の手段による関連付け）等がある。
【００２７】
ＥＤＬファイル３０４において、データはイベントの属性として格納される。よって、データ投入部２００がＥＤＬファイル３０４からのイベントを受信すると、データ投入部２００はイベントの属性からデータを抽出することによって、イベントに対応するデータを抽出し得る。回路試験の場合には、抽出データは試験結果を含み得る。
【００２８】
図４はＥＤＬファイル３０４のコンテンツの一例を示す実施形態を示しており、ログされるイベントに関連するデータの一部は試験結果を含む。図５は、図４に示すＥＤＬファイル３０４のコンテンツからデータ投入部２００が生成し得る一例の階層ツリー構造５００を示す。ツリー構造５００は２つのロットオブジェクト５０２、５０４（各々は親「ウェハオブジェクト」５０６へのポインタを保持し得る）と、６つのデバイスオブジェクト５０８、５１０、５１２、５１４、５１６、５１８（各々はロットオブジェクト５０２、５０４のうちの１つへのポインタを保持する）を含む。図示されるように、利用できる試験結果は、デバイスオブジェクト５０８、５１０、５１２、５１４、５１６、５１８の各々に関連している。
【００２９】
個々のデータ項目をメモリ２１２に格納することに加えて、データ投入部２００は例えば試験データの統計のようなデータ統計を蓄積し、（例えばデータオブジェクト内にデータ統計を格納することによって、又はデータオブジェクトに関連するデータ構造にデータ統計を格納することによって）データオブジェクトにデータ統計を関連付けることができる。一実施形態では、データ統計はデータ投入部２００によって蓄積され、完全にコンパイルされた時にデータオブジェクトに関連付けられる。代替実施形態では、データ統計を不完全なままデータオブジェクトに関連付け、その後更新することができる。データ統計と同様に、データ投入部２００は試験データ補間等のデータ解釈を蓄積し、それらをデータオブジェクトに関連付けることもできる。
【００３０】
データ投入部２００又は個々のデータフォーマッタ２０２、２０４、２０６、２０８のどちらによって統計のコンパイル又はデータ解釈のうちの少なくとも一方を行うかという選択は、様々なデータフォーマットでの統計又は解釈の利便性に基づいて行うことができる。すなわち、多数のデータフォーマッタ２０２、２０４、２０６、２０８が統計又は解釈を必要としている可能性のある場合には、データ投入部２００によって一度コンパイルされた統計又は解釈を用いることが最良であることが多い。一方、統計及び解釈がフォーマット特有のものである場合には、データフォーマッタ２０２、２０４、２０６、２０８のうちの特定のデータフォーマッタによってコンパイルされるのが最良であり得る。
【００３１】
データフォーマッタ２０２、２０４、２０６、２０８が、データ投入部２００の作成するデータオブジェクト及びデータにアクセスする方法は多数ある。一実施形態では、データフォーマッタ２０２、２０４、２０６、２０８はデータオブジェクトを監視するだけでよいが、この場合には多くのメモリ帯域幅が必要となり、さほど効率的でないことが多い。好適な実施形態では、データ投入部２００は作成したデータオブジェクトへのポインタを生成し、その後これらポインタを通知管理部２１４に送る。通知管理部２１４は、データフォーマッタ２０２、２０４、２０６、２０８にポインタを分配する。
【００３２】
なお、通知管理部２１４は各データオブジェクトへのポインタを１つ受信するだけでよい。通知管理部２１４はその後各データフォーマッタ２０２、２０４、２０６、２０８に対してポインタを複製するか、あるいは各データフォーマッタ２０２、２０４、２０６、２０８に対してポインタをブロードキャストする。代替的に、通知管理部２１４は各データフォーマッタ２０２、２０４、２０６、２０８に対してポインタを複製又はブロードキャストするのではなく、データオブジェクトの示すデータの種類に対して承認された特定のデータフォーマッタ２０２、２０４、２０６、２０８に対して複製又はブロードキャストするだけでよい。
【００３３】
典型的に、データ投入部２００の動作はデータフォーマッタ２０２、２０４、２０６、２０８の動作より優先度が高い。データオブジェクト及びデータが格納されているメモリ２１２へのアクセスをさらに制御するために、データ投入部２００（又は、複数のデータオブジェクトを作成してメモリ２１２にデータを格納するその他のプロセス）には、データオブジェクト及びデータに対する直接のアクセスを提供され得る。一方多数のデータフォーマッタ２０２、２０４、２０６、２０８には、データフォーマッタのデータオブジェクト及びデータへのアクセスを調整／調停するように構成されたインタフェースを介した複数のデータオブジェクトへのアクセスが提供され得る。
【００３４】
メモリ２１２に保持するデータオブジェクトの数を減らすために、データ投入部２００はデータオブジェクトの留保状況を監視し、データオブジェクトを参照又はデータオブジェクトにアクセスする、どのオブジェクト又はプロセスによっても留保されていないデータオブジェクトを消去し得る。一実施形態では、データオブジェクトを参照するポインタが生成された時点で当該データオブジェクトは留保されたと考える。データ投入部２００がデータオブジェクトの作成時にかかるポインタを１つ生成すると、通知管理部２１４がデータフォーマッタ２０２、２０４、２０６、２０８に対してこのポインタのコピーを生成し、分配し得る。データ投入部２０２はまた、データオブジェクトの子オブジェクトが生成された時にオブジェクトへのポインタを生成し得る。ポインタが生成されると、特定のデータオブジェクトを参照するポインタの数のカウントが保持され得る（データオブジェクト自体の中に保持されることも可能である）。データフォーマッタ２０２、２０４、２０６、２０８、及びその他のプロセスはそれらがデータオブジェクトへのアクセスを終了した時点でデータオブジェクトへのポインタを放棄するようにプログラムすることができ、データ投入部２００はかかるポインタの全てが放棄された時点でそのデータオブジェクトを消去することができる。 子オブジェクトは親オブジェクトを参照するため、親オブジェクトは子オブジェクトの全てが先に消去されるまでは消去できない。
【００３５】
上記の教示を踏まえて、図１に示す方法と多くの点で類似した方法６００を図６に示すが、この方法は試験環境での使用に特に適している。方法６００は以下のように進行する。少なくとも１つのＤＵＴに複数の試験を実行することに対応した一連のイベントに応じて、ステップ６０２において複数のデータオブジェクトを作成し、階層ツリー構造において互いに関連付ける。データオブジェクトの少なくとも一部は、イベントによって暗示される試験結果の論理的分類に対応する（いくつか例を挙げると、ロット、ウェハ、ＤＵＴ、及び試験又は補助試験等がある）。１つ以上のデータオブジェクトを作成した後、ステップ６０４において、試験結果を含むイベントに対応するデータを、階層ツリー構造においてデータオブジェクトに関連付ける。データオブジェクトの作成中又は作成後に、多数のデータフォーマッタ（すなわち、１つ以上のデータフォーマッタ）に対して、階層ツリー構造における複数のデータオブジェクト及びデータへのアクセスを提供する。ステップ６０６を参照されたい。
【００３６】
図３で示すデータフォーマッタは、ＡＳＣＩＩ（情報交換用米国標準コード）フォーマッタ２０２、ＸＭＬ（拡張マークアップ言語）フォーマッタ２０４、ＥＤＬフォーマッタ２０６、及びＳＴＤＦ（標準試験定義フォーマット）フォーマッタ２０８等の形態を含む種々の形態をとり得る。
【００３７】
方法６００によって作成した階層ツリー構造はメモリ２１２に格納しなくてもよいが、メモリ２１２に格納しておけばデータの作成又は読出しプロセスを大幅に高速化できるため、大抵の場合有利である。
【００３８】
本明細書で開示するデータモデル（データモデルでは、データの論理的分類に基づくデータオブジェクトの生成、又は階層ツリー構造におけるデータオブジェクト同士の関連付けのうちの少なくとも一方が行われる）は、実行次第で特に回路の試験という状況において多くの利点をもたらすことができる。例えば、データ編成を行う独立したプロセスをメモリ内に備え、複数のデータフォーマッタが利用できるデータを作成することによって、データの読取りと編成を行うオーバヘッドのほとんどをデータフォーマッタから省くことができ、またデータオブジェクトを「メモリ内」で生成することで、データオブジェクトをディスクに格納する場合に比べて、アクセスする速度が一層速くなる。このことにより、データフォーマッタのコードを軽くすることができると共に、新たなデータフォーマッタが利用できる標準的なデータモデルが提供される。また、１）データ投入部及び個々のデータフォーマッタに対する更新及びパッチの適用を容易に行うことができると共に、２）これら各機能ユニットのコード化を並行して高速に行うことが可能となり、３）各機能ユニットをコード化する際のエラー発生の可能性を低減することができる（この理由としては、例えば各機能ユニットを軽くすることで、各ユニットを試験するコードが少なくてすむことが挙げられる）。さらに、試験装置はランタイム試験環境での生成がより効率的な形式でデータを生成することができ、またその一方でデータフォーマッタ（及びその製作者）は、ユーザの使い勝手が良く論理的に分類された形式で試験データを利用することができる。
【００３９】
本明細書で開示したデータモデルと、データを投入及び削除する方法により、１）複数のデータフォーマッタが共通のデータセットをフォーマットする（即ち、複数のデータフォーマッタの各々がデータセットのデータを並行してフォーマットできる）速度と、２）メモリ、保存領域、又は処理リソースのうちの少なくとも１つの実効限界との均衡を保つことに役立つ。回路試験の領域において、そして特にＳＯＣテスタを用いてパラメトリック試験を行う場合には、１０から２０個程度のチップの試験を行った後には、十分な容量を有するコンピュータシステムでさえ、そのリソースの限界に達するほど多量のデータが生成されるが、ここで開示したデータモデルを使用して、必要でないデータオブジェクトを削除することにより、通常はリソースの限界に達する事態を回避できる。
【００４０】
本願の付記を以下に説明する。
【００４１】
（付記１）
複数のイベントに応じて、
メモリに複数のデータオブジェクトを作成するステップであって、前記データオブジェクトのうちの少なくとも一部がイベントによって暗示されるデータの論理的分類に対応する、前記ステップと、
前記イベントに対応するデータを前記データオブジェクトに関連づけ、前記データを前記メモリに格納するステップと、
多数のデータフォーマッタに前記メモリ内の前記複数のデータオブジェクト及び前記データへのアクセスを提供するステップを含むこと、
を特徴とする方法。
【００４２】
（付記２）
データ統計を蓄積して前記データオブジェクトに関連付けるステップをさらに含むこと、
を特徴とする付記１に記載の方法。
【００４３】
（付記３）
前記データオブジェクトへのポインタを生成するステップと、
前記多数のデータフォーマッタのうちの１つ以上に対して前記ポインタを分配するステップをさらに含むこと、
を特徴とする付記１に記載の方法。
【００４４】
（付記４）
コンピュータ可読媒体に格納されたコンピュータ可読コードを含む装置であって、コンピュータ可読コードは付記１から３のいずれかの方法を実行するためのコードである。
【００４５】
（付記５）
少なくとも１つの被試験デバイス（ＤＵＴ）に複数の試験を実行することに対応する一連のイベントに応じて、
複数のデータオブジェクトを生成して、前記データオブジェクト同士を階層ツリー構造において関連付けるステップであって、前記データオブジェクトのうちの少なくとも一部が、前記イベントによって暗示される試験結果の論理的分類に対応する、前記ステップと、
試験結果を含む前記イベントに対応するデータを、前記階層ツリー構造における前記データオブジェクトに関連付けるステップと、
前記階層ツリー構造における前記複数のデータオブジェクト及び前記データへのアクセスを多数のデータフォーマッタに提供するステップを含むこと、
を特徴とする方法。
【００４６】
（付記６）
少なくとも１つのＤＵＴに前記複数の試験を実行することに対応するデータファイルを解析して前記一連のイベントを読み出すステップと、
前記データファイルから読み出した前記一連のイベントを、前記複数のデータオブジェクトを作成して前記階層ツリー構造において前記データを格納するプロセスに送るステップをさらに含むこと、
を特徴とする付記５に記載の方法。
【００４７】
（付記７）
試験データを蓄積して前記階層ツリー構造における前記データオブジェクトに関連付けるステップをさらに含むこと、
を特徴とする付記５に記載の方法。
【００４８】
（付記８）
試験データ解釈をコンパイルして前記階層ツリー構造に書き込むステップをさらに含むこと、
を特徴とする付記５に記載の方法。
【００４９】
（付記９）
前記イベントによって暗示される試験結果の前記論理的分類がロット、ウェハ、及びＤＵＴを含むこと、
を特徴とする付記５に記載の方法。
【００５０】
（付記１０）
コンピュータ可読媒体に格納されたコンピュータ可読コードを含む装置であって、付記５から９のいずれかに記載の方法を実行するためのコードを含む装置。
【図面の簡単な説明】
【００５１】
【図１】データを格納及びフォーマットする一例の方法を示す図である。
【図２】図１に示す方法を実行した結果インスタンスが作成され得る又は実行され得る種々の機能ユニット（又は機能プロセス）を示す図である。
【図３】図２に示すシステムの変形であり、特に試験環境での使用に適したシステムを示す図である。
【図４】図３に示すシステムで使用するＥＤＬファイルのコンテンツの一例を示す図である。
【図５】図４に示すＥＤＬファイルのコンテンツを格納する階層ツリー構造の一例を示す図である。
【図６】図１に示す方法に類似しているが、試験環境での使用に特に適した方法を示す図である。
【符号の説明】
【００５２】
２００  データ投入部
２０２、２０４、２０６、２０８  フォーマッタ
２１０  イベント
２１２  データオブジェクト及びデータを有するメモリ
２１４  通知管理部
３００  イベント管理部
３０２  共有ライブラリ３０２
３０４  ＥＤＬファイル
【図１】
2007207241.tif 000003
【図２】
2007207241.tif 000004
【図３】
2007207241.tif 000005
【図４】
2007207241.tif 000006
【図５】
2007207241.tif 000007
【図６】
2007207241.tif 000008
【外国語明細書】
2007207241000001.pdf