(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
例示的な実施形態の以下の詳細な説明では、その一部を形成する、添付の図に対する参照が行われる。いくつかの図では、同様の参照番号は同様の要素を識別する。詳細な説明および図は、例示的な実施形態を示す。本明細書で提示される主題の精神または範囲から逸脱することなく、他の実施形態が利用され得、他の変更が行われ得る。以下の詳細な説明は、それ故、限定する意味で理解されるのではなく、請求される主題の範囲は添付の特許請求の範囲によって定義される。
【0014】
大容量の光学対象コンポーネントデータファイルの転送を最小限にするため、かかるファイルは、中央処理装置の外部のデータストア内で保持され得、中央処理装置の指示で、ピアツーピアネットワークを通じてオンデマンド方式で転送され得る。
【0015】
これから、添付の図に示されている、開示する主題に対する詳細な参照が行われる。
【0016】
図1を参照すると、光学検査対象レシピ配信システム(RDS)100が示されている。RDS 100は、少なくとも検査ツールノード101A、検査ツールノード101B、検査ツールノード101Cおよび検査ツールノード101Dを含み得る。本説明は、検査ツールノードの追加または削除を通じて、任意の数の検査ツールノード101に及び得ることが理解されるであろう。検査ツールノード101は、少なくとも1つの検査ツール102(例えば、光波散乱計測装置、明視野顕微鏡、暗視野顕微鏡、電子ビーム装置および同様のもの)を含み得る。検査ツールノード101は、様々な検査操作(例えば、パターンまたはベアウエハマイクロ欠陥検査、パターンまたはベアウエハマクロ欠陥検査、レチクル欠陥検査、高解像度ウエハレビュー、膜厚測定、太陽電池欠陥検査、LED欠陥検査、および同様のもの)を実行するように構成され得る。
【0017】
検査ツールノード101は、様々な対象構造(例えば、半導体ウエハサンプル)の検査を実行するためにレシピを利用し得る。レシピは、特定の対象および/または検査ツール102に関連する特定の操作のための設定パラメータを定義し得る。ホストシステムは、特定のレシピを利用する検査を実行するために、コマンドを検査ツールノード101に送信し得る。レシピは、様々な設定パラメータ(例えば、検査ツール102パラメータ、プロセス設定パラメータ、光学パラメータ、感度調整、画像処理アルゴリズムパラメータ、結果分析設定および同様のもの)を定義し得る。検査ツールノード101は、レシピの最新バージョンをRDS 100から要求し得、そのレシピは(以下で詳述するように)検査ツールノード101に提供され得る。所与のレシピを受信すると、検査ツールノード101は、レシピを解析し得、所望の検査操作に関連する設定パラメータを取得して、それらのパラメータを検査ツール102にロードし得る。設定に続いて、検査ツール102は、提供されたレシピパラメータに従って、初期化を実行し、ルーチンを実行して、レシピパラメータに従って検査操作を実行し得る。配置、検出および他のアルゴリズムは、検査プロセス中に、それらのタスクを実行するために、入力としてパラメータを使用する。
【0018】
検査ツールノード101Aおよび検査ツールノード101Bは、外部レシピコンポーネント(ERC)データストア103を含み得る。ERCデータストア103は、光学対象の様々な構造コンポーネントに関するデータを格納し得る。ERCデータストア103は、光学対象形成するそれらの構造コンポーネントの組合せを詳述するレシピデータ(例えば、レシピ
1.x、レシピ
2.x)をのみならず、様々な構造コンポーネントのためのERCデータ(例えば、ERC
1.x、ERC
2.x、ERC
3.x、ERC
4.x)を含み得る。ERCデータは、複数のウエハ帯画像を含み得る。これらのERCのサイズは、記録される総ウエハ領域および記録する画素サイズによって、数GB〜数TBの範囲であり得る。検査ツールノードは、様々な光学対象の検査を指示するための、手動(例えば、人間のユーザーから)または自動(例えば、制御システムから)入力を受信するように構成されたインタフェース104をさらに含み得る。
【0019】
ERCは、そのERC内に含まれているデータの容量のために、中央サーバーデータベースに保存できないことがあり得る。代わりに、大容量データを参照する小さいプロキシコンポーネントが組み込まれ得る。このプロキシコンポーネントは、そのERCを記述するメタデータを含むXMLファイルを含み得る。特定のERCに関連するレシピは、そのプロキシへの参照を含み得る。
図2を参照すると、光学対象レシピ(例えば、レシピ
1.2)は、小さいプロキシコンポーネント(例えば、プロキシ
1.2、プロキシ
3.0)への参照を含み得る。例えば、各プロキシコンポーネントは、特定の大容量ERCへのマッピングを提供し得る。例えば、レシピ
1.2は、2つの光学対象コンポーネントERC
1.xおよびERC
3.xを利用し得る。ERC
1.xおよびERC
3.xの必要なバージョン(例えば、ERC
1.2およびERC
3.0)は、別個の検査ツールノード101(例えば、検査ツールノード101Aおよび検査ツールノード101B)に関連するストレージ上で保持されていることがあり得る。
【0020】
プロキシコンポーネント(例えば、プロキシ
1.2)は、その関連するERC(例えば、ERC
1.2)の格納場所へマッピングする別個の識別子を含み得る。例えば、レシピの各バージョンおよびそれらに関連するERC、RDS 100は、ERCの特定のバージョン(例えば、ERC
1.0、ERC
1.1、ERC
1.2)に一意に割り当てられたグローバル一意識別子(GUID)(例えば、GUID
1、GUID
2およびGUID
3)を保持し得る。同様に、GUID(例えば、GUID
4、GUID
5およびGUID
5)は、レシピの特定のバージョン(例えば、レシピ
1.0、レシピ
1.1およびレシピ
1.2)に一意に割り当てられ得る。
【0021】
検査ツールが、そのローカルのデータストアに含まれていない1つまたは複数のERCを必要とするレシピを利用しようとする状況では、それらのERCをその検査ツールに提供する必要があり得る。再度
図1を参照すると、検査ツールノード101間でのERCの転送を容易にするため、RDS 100は、レシピのデータベースおよびそれらのレシピのERCに関連するプロキシコンポーネントを保持することにより、様々なERCの場所をモニタリングすることによって検査ツールノード101間でのレシピおよびERCの配信を管理するように構成されたRDSサーバー105を含み得る。
【0022】
図1および
図3を参照すると、RDSサーバー105は、検査ツールノード101によって使用されるレシピのコピー、ならびにそれらのレシピによって採用されるERCに関連する基礎となるプロキシコンポーネントを格納するためのRDSデータストア106を含み得る。RDSデータストア106は、レシピの様々なバージョン(例えば、レシピ
1.x、レシピ
2.x)のコピーを含むレシピデータベース(例えば、レシピデータベース107)を含み得る。レシピの各バージョン(例えば、レシピ
1.xのバージョンのレシピ
1.0、レシピ
1.1およびレシピ
1.2)は、それらが採用するプロキシのバージョン(例えば、レシピ
1.2はプロキシ
1.2(すなわち、ERC
1.xの第3のバージョンに関連するプロキシ)およびプロキシ
2.0(すなわち、ERC
2.xの第1のバージョンに関連するプロキシ)を使用する)への参照を保持し得る。さらに、RDSデータストア106は、ERCのバージョンに関連する各プロキシのコピーを含むプロキシデータベース108を含み得る。例えば、プロキシデータベース108は、プロキシ
1.xの様々なバージョン(例えば、アーカイブストレージ109で格納されたERC
1.xの第1のバージョンに関連するプロキシ
1.0、検査ツールノード101Bで格納されたERC
1.xの第2のバージョンに関連するプロキシ
1.1および検査ツールノード101Aで格納されたERC
1.xの第3のバージョンに関連するプロキシ
1.2)を保持し得る。
【0023】
様々なERCの場所のRDS 100によるかかる認識は、RDS 100が、設定のためにERCが必要とされる検査ツールノード101間でのERCの転送を管理し、光学対象検査に関連する操作を実行およびレビューできるようにし得る。
【0024】
図4〜
図10を参照すると、プロセスの実施態様を示す一連の図が示されている。理解を容易にするため、ある図は、初期説明が大局的見地から実施態様を提示するように構成され、それ以後、以降の説明が初期説明の代替の実施態様および/または展開を、1つまたは複数の初期に提示された説明の上に構築されたサブステップまたは追加のステップとして提示する。本明細書で利用するこの提示スタイル(例えば、大局的見地を示す図の提示で始まり、その後、以降の図で追加および/またはさらなる詳細を提供する)は、通常、様々なプロセス実施態様の迅速かつ容易な理解を可能にする。
【0025】
図4および以降の図では、検査ツールノード101間でのERCの配信および管理のための様々な例示的方法を示す。操作フロー、議論および説明は、
図1〜
図3の前述した例に関して、ならびに/または他の例およびコンテキストに関して提供され得る。しかし、操作フローは、いくつかの他の環境およびコンテキストで、ならびに/または
図1〜
図3の変更されたバージョンで実行され得ることが理解されるべきである。さらに、様々な操作フローが例示された順序で提示されているが、その様々な操作は、例示された以外の順序および組合せで実行され得ることが理解されるべきである。例えば、操作ステップは、任意の順序で、任意の他の操作ステップと組み合わされ得る。
【0026】
配信されたレシピおよびそれらの関連するERCのネットワークを確立するため、RDS 100は様々な管理操作を実行し得る。
【0027】
図4を参照すると、外部レシピコンポーネント管理のための方法400が示されている。操作410は、少なくとも1つの外部レシピコンポーネントを検査ツールノードで格納することを示す。
図1〜
図3に示すように、ERCのパラメータ(例えば、検査装置パラメータ、プロセス設定パラメータ、光学パラメータ、感度調整、画像処理アルゴリズムパラメータ、結果分析設定および同様のもの)を定義し、かつ/または1つもしくは複数のデータレコード(例えば、画像装置からのウエハ帯画像、ERC ID、ERCバージョンID、メタデータ、チェックサム、格納場所参照、修正日付/タイムスタンプ、レシピサイズおよび同様のもの)をERCと関連付けるために、インタフェース(例えば、インタフェース104)がユーザー(例えば、人間のユーザーまたは周辺システム)によってアクセスされ得る。ERCは、検査ツールノード101BのERCデータストア103に新規に作成されたERC
1.0として保存され得る。
【0028】
操作420は、少なくとも1つのプロキシコンポーネントを少なくとも1つの外部レシピコンポーネントと関連付けることを示す。例えば、
図1〜
図3に示すように、ERCファイルは、そのERC内に含まれているデータの容量のために、中央サーバーデータベースに保存できないことがあり得る。かかる状況では、プロキシコンポーネント要素(例えば、プロキシ
1.2およびプロキシ
3.0)は、対応するERC(例えば、ERC
1.2およびERC
3.0)の格納場所と関連付けられ得る。例えば、検査ツールノード(例えば、検査ツールノード101A)は、特定のERCの格納場所(例えば、ネットワークアドレス)を参照するメタデータならびにそのERCの他の特性(例えば、チェックサム値)を含むプロキシコンポーネントファイルを作成し得る。
【0029】
操作430は、少なくとも1つの外部レシピコンポーネントを少なくとも1つの光学検査対象レシピと関連付けることを示す。ERCの作成後、ERCは、1つまたは複数の光学検査対象レシピと関連付けられ得る。例えば、
図1〜
図3に示すように、1つまたは複数のERC(例えば、ERC
1.1およびERC
3.0)によって定義された様々なコンポーネント構造を組み合わせるレシピ(例えば、レシピ
1.1)を定義するために、インタフェース(例えば、インタフェース104)がユーザー(例えば、人間のユーザーまたは周辺システム)によってアクセスされ得る。
【0030】
操作440は、少なくとも1つのプロキシコンポーネントを含む少なくとも1つの光学検査対象レシピをレシピ配信サーバーに格納することを示す。例えば、
図1〜
図3に示すように、1つまたは複数のプロキシコンポーネントをそれらの対応するERCと関連付けた後、それらのERCに関連するレシピが、集中型レシピサーバーに提供され得る。例えば、検査ツールノード101Aで定義され、任意の必要なERCに関連するプロキシコンポーネントを含むレシピが、ERCデータストア103のレシピデータベース107への格納のため、RDSサーバー105に送信され得る。
【0031】
図5を参照すると、
図4の方法400は、1つまたは複数の追加の操作を含み得る。方法400は、操作510および/または操作520を含み得る。
【0032】
操作510は、少なくとも1つの外部レシピコンポーネントを変更することを示す。例えば、
図1〜
図3に示すように、ユーザー(例えば、人間のユーザーまたは周辺システム)が検査ツールノード101Bのインタフェース104をアクセスし得、ERC
1.0をERCデータストア103からロードし得る。ERC
1.0の特性が変更され得、ERCの新しいバージョン(例えば、ERC
1.1)が検査ツールノード101BのERCデータストア103に保存され得る。
【0033】
操作520は、少なくとも1つの変更された外部レシピコンポーネントに関連する少なくとも1つのプロキシコンポーネントを更新することを示す。例えば、
図1〜
図3に示すように、ERCの変更(例えば、ERC
1.0が検査ツールノード101BによってERC
1.1に変更される)の後、そのERCに関連するプロキシコンポーネントが、その変更されたERCに対応するように更新され得る(例えば、新しいバージョンERC
1.1を参照するプロキシ
1.1が作成され得る)。更新されたプロキシコンポーネントは、RDSサーバー105に提供され得、そこで、更新されたERC(例えば、ERC
1.1)を参照する新しいプロキシコンポーネント(例えば、プロキシ
1.1)を含む、ERC
1.xを利用する1つまたは複数のレシピの更新されたバージョン(例えば、レシピ
1.1)が作成され得る。更新されたプロキシコンポーネントは、ERC
1.xまたはそのサブセットを利用する全てのレシピに組み込まれ得る。
【0034】
各ERCのバージョン(例えば、ERC
1.x)、レシピのバージョン(例えば、レシピ
1.x)またはプロキシコンポーネントのバージョン(例えば、プロキシ
1.x)は、RDS 100内に保存されている各要素を一意に識別するためのGUIDを含み得る。また、各ERCのバージョン(例えば、ERC
1.x)、レシピのバージョン(例えば、レシピ
1.x)またはプロキシコンポーネントのバージョン(例えば、プロキシ
1.x)は、ERCが破損しているか否かを判断するため、RDS 100に保存されているERCの妥当性を検証するためのチェックサム機構を含み得る。RDS 100がそのGUIDに従って特定のERC、レシピまたはプロキシコンポーネントを見つけると、RDS 100は、ERC、レシピまたはプロキシコンポーネントが変わっているか否かを判断するために、チェックサムを使用し得る。これは、重複するバージョンの回避を可能にし得、異なるツール/データストア上に存在する同一のコンポーネントの識別を可能にし得る。
【0035】
図6を参照すると、
図4の方法400は、1つまたは複数の追加の操作を含み得る。方法400は、操作610を含み得る。
【0036】
操作610は、格納スペースを少なくとも1つの検査ツールノード上に再割り当てすることを示す。例えば、
図1〜
図3に示すように、複数のERCの作成および/またはERCの新しく作成されたバージョンの結果としてそれらのERCに対する変更の後、検査ツールノード101に関連するERCデータストア103がその記憶容量に達し得ることがあり得る。この時点で、RDS 100は、あるERCに関連する格納スペースを再割り当て(例えば、削除またはアーカイブ)し得る。かかる操作を容易にするため、RDS 100はERCの使用を追跡し得る。RDS 100は、ERCに対する格納測定基準(storage metrics)を追跡し得、それは、最も使用されていないERC,最後に使用されたタイムスタンプ、所与のERCに関連するレシピのリスト、関連付けられていない(orphaned)ERCおよび/またはERCの単一バージョンのコピー数を含む。RDS 100は、ERCデータストア103がその容量に近づくと、ユーザーに(例えば、インタフェース104、RDSサーバーダッシュボードおよび/または電子メール通知を介して)通知を提供し得る。
【0037】
この時点で、特定の検査ツールノード101に関連するERCデータストア103に対するERCが、ユーザーによって手動で削除されるか、または、RDSサーバー105に関連するアーカイブストレージ109にアーカイブされ得る。代替として、RDS サーバー105は、ERCに関連する様々な格納測定基準に従って必要とされる場合に、ERCを自動的にアーカイブまたはパージするために、ERC保持規則を実行するように構成され得る。このようにして、格納スペースが、個々の検査ツールノード101に関してよりも、RDS 100全体で調整され得る。検査ツールノード101AのためのERCデータストア103がほぼ満杯の場合、検査ツールノード101Aは、特定のERCバージョンがERCデータストア103から削除され得るか否かを判断するために、RDSサーバー105に問い合わせを行い得る。RDSサーバー105は、レシピおよびRDSデータストア106の関連するプロキシコンポーネントを分析して、ERCの削除/アーカイブのための優先順位を確立し得る。例えば、RDS 100内に複数のコピーが存在する(例えば、重複する)ERCが、RDS 100内に1つのコピーのみが存在するERCよりも高い削除/アーカイブの優先順位を割り当てられ得る。同様に、検査ツールノードによって現在使用されているどのレシピによっても参照されていない(例えば、関連付けられていない)ERCが、より高い削除/アーカイブの優先順位を割り当てられ得る。検査ツールノード101で追加の格納スペースが必要な場合、RDSサーバー105は、その優先順位に従って1つまたは複数のERCを自動的に削除/アーカイブし得るか、またはユーザーによる削除/アーカイブの判断を容易にするため、優先順位情報を検査ツールノード101に提供し得る。
【0038】
アーカイブの後、RDSサーバー105は、たとえ、レシピおよび/またはERCが、将来、そのレシピおよび/またはERCの検査ツールノード101への復元が容易になるように、以前にアーカイブされていても、レシピ(例えば、レシピ
1.0)および/または関連するERC(例えば、ERC
1.0)間の関連を保持し得る。
【0039】
RDSサーバー105は、ERC管理を容易にする追加の機能を提供し得る。例えば、RDSサーバー105は、RDS 100上に存在する全てのERCのリストを提供し得る。そのリストは、検査ツールノード(例えば、どのERCが特定のノード上に存在しているか)、ERC(例えば、どのレシピが特定のERCにリンクしているか、このERCのいくつのコピーがこのネットワーク上に存在しているか、どの検査ツールノードがこのERCのコピーを含んでいるか)によって、または各レシピ(例えば、ERCの数がリンクされているレシピ、検査ツールノード101がそのレシピのコピーを含む)によって分類され得る。さらに、RDSサーバー105は、ERCに関するメタデータ情報(例えば、ERCの内容を検証するために使用されるレシピパラメータ、ERCの使用情報、そのERCにリンクされたレシピ、RDS 100上のERCの場所、および/または主題のERCにリンクされたERCのリスト)を提供し得る。さらにまた、RDSサーバー105は、RDSデータストア106内で保持されているプロキシコンポーネントおよびレシピデータを検査ツールノード101のERCデータストア103の現在の状態と同期させるために、定期的に、または要求に応じて、検査ツールノード101と通信し得る。
【0040】
検査ツールが、そのローカルのデータストア内に含まれていない1つまたは複数のERCを必要とするレシピを利用しようとする場合、それらのERCをその検査ツールに配信する必要があり得る。
【0041】
図7を参照すると、光学検査対象コンポーネントレシピ配信のための方法700が示されている。操作710は、第1の検査ツールノードで検査される光学検査対象に関連する少なくとも1つのレシピの選択を受信することを示す。例えば、
図1〜
図3に示すように、ユーザーまたは自動化エージェント(例えば、検査処理スケジューリングシステム)が、特定の光学検査対象が検査されることを決定し得る。検査ツールノードに入力(例えば、検査ツールノード101Aのインタフェース104を介したユーザー入力)が提供されて、所望の光学検査対象を参照する。最初は、光学検査ツールは、レシピおよびそのレシピのプロキシコンポーネントに関連するERCをそのローカルのキャッシュからフェッチして検査操作を開始しようとし得る。しかし、必要なレシピおよび/またはそのERCコンポーネントの1つがキャッシュに存在しないことがあり得る。かかる場合、検査ツールノード101Aは、RDSサーバー105に問い合わせをして、検査ツールノード101Aがレシピ(例えば、レシピ
1.1)の使用を必要とすることを示し得る。
【0042】
操作720は、そのレシピに関連する1つまたは複数の外部レシピコンポーネントが、第1の検査ツールノードおよび第2のノードのうちの少なくとも1つに格納されているか否かを判断することを示す。例えば、
図1〜
図3に示すように、検査ツールが、それが要求されたレシピを保有していないと判断し、RDSサーバー105に問い合わせをしている場合、RDSサーバー105は、要求されたレシピ(例えば、レシピ
1.1)を求めて、そのRDSデータストア106をアクセスし得る。レシピ(例えば、レシピ
1.1)は、1つまたは複数のERC(例えば、検査ツールノード101AのERCデータストア103に存在するERC
1.1および検査ツールノード101BのERCデータストア103に存在するERC
3.0)を利用し得る。レシピを返す前に、RDSサーバー105は、そのレシピのERCが要求している検査ツールノード(例えば、検査ツールノード101A)にローカルか、またはリモートの検査ツールノード(例えば、検査ツールノード101B)上に格納されているかを判断し得る。主題のレシピの全ての必要なERCが要求している検査ツールノードに存在していると判断されると、RDSサーバー105は、そのレシピをさらなる処理のために検査ツールノード101Aに送信し得る。1つまたは複数のERCがリモートの検査ツールノードに存在すると判断されると、RDSサーバー105は、システム構成に従って、ERCフェッチ操作を開始し得るか、または要求している検査ツールノードに「レシピ取得」エラーコードを返し得る。
【0043】
図8を参照すると、
図7の方法700は、1つまたは複数の追加の操作を含み得る。操作720は、操作810を含み得る。
【0044】
操作810は、1つまたは複数の外部レシピコンポーネントの1つまたは複数の場所を定義する1つまたは複数のプロキシコンポーネントに従って、1つまたは複数の外部レシピコンポーネントの場所を判断することを示す。例えば、
図1〜
図3に示すように、レシピ(例えば、レシピ
1.1)に関する問い合わせを検査ツールノード101Aから受信すると、特定のERCが要求している検査ツールノード上にあるか否かを判断するため、RDSサーバー105は、そのレシピに関連するプロキシコンポーネント(例えば、プロキシ
1.1およびプロキシ
3.0)を検索し得る。RDSサーバー105は、必要なERCの全てが検査ツールノード101Aに存在するか否か、またはある必要なERCがリモートの検査ツールノード101(例えば、検査ツールノード101B)に格納されているか否かを確認するため、レシピのプロキシコンポーネントによって参照されるERCの場所を判断し得る。
【0045】
前述のように、1つまたは複数のERCが、要求している検査ツールノードにリモートの検査ツールノード上に存在すると判断されると、RDSサーバー105は、その要求されたERCを提供するために、ERCフェッチ操作を開始し得る。
図9を参照すると、
図7の方法700は、1つまたは複数の追加の操作を含み得る。方法700は、操作910、および/または操作920を含み得る。
【0046】
操作910は、1つまたは複数のプロキシコンポーネントに従って、1つまたは複数の外部レシピコンポーネントの少なくとも一部を第1の検査ツールノードへ第2のノードから提供することを示す。例えば、
図1〜
図3に示すように、特定のレシピに対するERCが、レシピのプロキシコンポーネントから判断されるように、リモートの検査ツールノード(例えば、検査ツールノード101B)上に存在すると判断されるならば、RDSサーバー105は、そのERCの、そのレシピを要求している検査ツールノードへの転送を開始し得る。例えば、RDSサーバー105の処理装置110は、転送元の検査ツールノード101Bに問い合わせをして、要求されたERCがそのERCデータストア103内で見つかり得ることを確認し得る。RDSサーバー105は、転送先の検査ツールノード101Aに問い合わせをして、十分な格納スペースがそのERCデータストア103内で利用可能であることを確認し得る。RDSサーバー105は、ERCの転送を開始するために、コマンドを検査ツールノード101A(例えば、「プル(pull)」モデルにおけるように)および検査ツールノード101B(例えば、「プッシュ(push)」モデルにおけるように)のうちの少なくとも1つに送信し得る。ERCは、複数の検査ツールノード101を接続するネットワーク111を介して送信され得る。検査ツールノード101は、ユーザーがERC配信を手動でスケジューリングできるようにするインタフェースを提供し得る。RDSサーバー105は、ユーザーが、1つまたは複数の対象の検査ツールノード101に配信されるERCのリストを指定できるようにし得る。ユーザーは、ウェブインタフェース112を介して、システム全体でのERC配信の進捗を任意の時点でモニタリングすることが可能であり得る。
【0047】
さらに、複数の検査ツールノード101が、要求している検査ツールノードへのERCのそれぞれの部分の並列転送のために使用され得る。操作920は、1つまたは複数のプロキシコンポーネントに従って、1つまたは複数の外部レシピコンポーネントの少なくとも一部を、第1の検査ツールノードへ少なくとも第3のノードから提供することを示す。例えば、
図1〜
図3に示すように、複数の検査ツールノード101がERCの特定のバージョン(例えば、検査ツールノード101Bおよび検査ツールノード101Cが共にERC
3.0のコピーを保持し得る)のコピーを有することがあり得る。この場合、RDSサーバー105は、検査ツールノード101Aによって使用されるレシピに対応するERCの一部(例えば、レシピ
1.1で使用されるERC
3.0)を各々転送するために、コマンドを検査ツールノード101Bおよび検査ツールノード101Cの両方に送信し得る。ERCのそれぞれの部分の並列転送は、要求している検査ツールノードが要求されたERCを取得するために必要な時間を削減するのに役立ち得る。
【0048】
並列転送は、様々な検査ツールノード101の可用性に従って、任意の時に開始され得る。例えば、第1の転送元の検査ツールノードからのERCの転送が進行中であって、かつERCを含む第2の転送元の検査ツールノードが利用可能になる場合、RDSサーバー105は、ERCのどの部分がまだ転送先の検査ツールノードに提供されていないかを判断し得、RDSサーバー105は、それらの部分の第2の検査ツールノードからの転送を開始し得る。
【0049】
前述のように、1つまたは複数のERCが、要求している検査ツールノードにリモートの検査ツールノード上に存在していると判断されると、RDSサーバー105は、要求されたERCを提供するために、ERCフェッチ操作を開始し得る。
図10を参照すると、
図9の方法700は、1つまたは複数の追加の操作を含み得る。操作910は操作1010を含み得る。
【0050】
操作1010は、1つまたは複数の外部レシピコンポーネントを、第1の検査ツールノードへ第2のノードからコピーを行うこと、および1つまたは複数の外部レシピコンポーネントを、第1の検査ツールノードへ第2のノードから転送することのうちの少なくとも1つを示す。例えば、
図1〜
図3に示すように、RDSサーバー105からのコマンドに応答して、検査ツールノード101Bは、レシピ
1.1に関連するERC
3.0を検査ツールノード101Aに提供し得る。一例では、ERC
3.0が、検査ツールノード101AのERCデータストア103にコピーされ得、ERC
3.0のコピーが、検査ツールノード101BのERCデータストア103上に保持され得る。別の例では、ERC
3.0が、検査ツールノード101AのERCデータストア103にコピーされ得、ERC
3.0のコピーが、検査ツールノード101BのERCデータストア103から削除され得る。ERCが検査ツールノード101間でコピーされるか、または転送されるかの判断は、RDSサーバー105によって保持されているERC使用データに基づきRDSサーバー105によって行われ得る。例えば、検査ツールノードで保持されている特定のERCが現在のところ、その検査ツールノードで格納されているいずれかのレシピと関連付けられていない場合、そのERCは、要求している検査ツールノードに転送され得、そのERCがローカルの検査ツールノードから削除され得る。代替として、検査ツールノードで保持されているERCが、その検査ツールノードで格納されているレシピと関連付けられている場合、そのERCが、要求している検査ツールに転送され得、ERCのコピーがローカルの検査ツールノードで保持され得る。
【0051】
前述の説明は光学検査レシピの配信および管理に関して提供されているが、かかるシステムおよび操作は光学検査に関連する任意の数のデータ処理活動に適用され得ることが認識されるであろう。例えば、特定の検査実行の後、検査ツールノードは、その検査に関するデータを生成し得る。前述のERCと同様に、これら多くの結果は、それらを生成した検査ツールノード上に保持され得る。多くの結果データは、ERCと同じ方法でプロキシコンポーネントと関連付けられ得る。これらのプロキシコンポーネントは、多くの識別子、レシピ識別子、タイムスタンプ、および同様のものを含み得る。その多くの結果に関連するプロキシコンポーネントの使用は、多くの結果データの識別および配置を容易にして、分析のために、RDSサーバー105によって他の検査ツールノードにルーティングされ得るようにする。
【0052】
前述の詳細な説明は、ブロック図、流れ図および/または例の使用を通じて、装置および/またはプロセスの様々な実施形態を説明している。かかるブロック図、流れ図および/または例が1つまたは複数の機能および/または操作を含む限りにおいて、かかるブロック図、流れ図または例内の各機能および/または操作は、様々なハードウェア、ソフトウェア、ファームウェアまたは実質的にそれらの任意の組合せによって、個別におよび/または全体として、実施できることが当業者によって理解されるであろう。一実施形態では、本明細書に記載される主題のいくつかの部分が、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、または他の統合形式を用いて実施され得る。しかし、当業者は、本明細書で開示される実施形態のいくつかの態様は、全体または一部において、1つまたは複数のコンピュータ上で実行する1つまたは複数のコンピュータプログラムとして(例えば、1つまたは複数のコンピュータシステム上で実行する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で実行する1つまたは複数のプログラムとして(例えば、1つまたは複数のマイクロプロセッサ上で実行する1つまたは複数のプログラムとして)、ファームウェアとして、または実質的にそれらの任意の組合せとして集積回路内で同等に実装できること、ならびに回路の設計および/またはソフトウェアおよびまたはファームウェアに対するコードの記述は、本開示の観点から十分に当業者の技術の範囲内であることを認識するであろう。さらに、当業者は、本明細書に記載される主題の機構が、様々な形式のプログラム製品として配信されることが可能であること、および実際に配信を実行するために使用される媒体を有する特定タイプの信号にかかわらず、本明細書に記載される主題の例示的な実施形態が適用されることを理解されよう。媒体を有する信号の例は、以下を含むがそれらに限定されない:すなわち、フロッピィディスク、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリなどの記録可能なタイプの媒体;ならびにデジタルおよび/またはアナログ通信媒体(例えば、光ファイバーケーブル、導波管、有線通信リンク、無線通信リンク(例えば、送信器、受信器、送信ロジック、受信ロジックなど)など)などの伝送タイプの媒体。
【0053】
一般的な意味では、様々なハードウェア、ソフトウェア、ファームウェア、またなそれらの任意の組合せによって、個別におよび/または全体として、実施できる、本明細書に記載される様々な態様は、様々なタイプの「電気回路」から構成されていると見なすことができることを当業者は認識するであろう。それ故に、本明細書では「電気回路」は、少なくとも1つの離散(discrete)電気回路を有する電気回路、少なくとも1つ集積回路を有する電気回路、少なくとも1つの特定用途向け集積回路を有する電気回路、コンピュータプログラムによって構成される汎用コンピューティング装置を形成する電気回路(例えば、本明細書に記載されるプロセスおよび/もしくは装置の少なくとも一部を実行するコンピュータプログラムによって構成される汎用コンピュータ、または本明細書に記載されるプロセスおよび/もしくは装置の少なくとも一部を実行するコンピュータプログラムによって構成されるマイクロプロセッサ)、メモリ装置を形成する電気回路(例えば、ランダムアクセスメモリの形式)、ならびに/または通信装置を形成する電気回路(例えば、モデム、通信スイッチ、または光学電気機器)を含むが、それらに限定されない。当業者は、本明細書に記載される主題は、アナログもしくはデジタル形式またはそれらの何らかの組合せで実施され得ることを認識するであろう。
【0054】
本明細書に記載される主題は、時々、異なる他のコンポーネント内に含まれているか、またはそれらに接続されている異なるコンポーネントを説明する。かかる示されたアーキテクチャは、例示にすぎないこと、および実際には、同じ機能性を達成する多くの他のアーキテクチャが実施され得ることが理解される。概念的な意味において、所望の機能性が達成されるように、同じ機能性を達成するためのコンポーネントの任意の配置が有効に「結合(associated)」される。従って、特定の機能性を達成するために本明細書において結合された任意の2つのコンポーネントは、アーキテクチャまたは中間コンポーネントにかかわらず、所望の機能性が達成されるように、互いに「関連付けられている」と見なすことができる。同様に、そのように結合された任意の2つのコンポーネントは、所望の機能性を達成するために、互いに「稼働可能に接続されている」、または「稼働可能に結合されている」とも見なすことができ、かつ、そのように結合されることが可能な任意の2つのコンポーネントは、所望の機能性を達成するために、互いに「稼働可能に結合可能」であるとも見なすことができる。稼働可能に結合可能な特定例は、物理的に係合可能な(mateble)および/もしくは物理的に通信するコンポーネント、ならびに/または無線で通信可能なおよび/もしくは無線で通信するコンポーネント、ならびに/または論理的に通信する、および/もしくは論理的に通信可能なコンポーネントを含むが、それらに限定されない。
【0055】
いくつかの場合には、1つまたは複数のコンポーネントは、本明細書では「〜するように構成された(configured to)」、「〜するように構成可能な(configurable to)」、「〜するように稼働可能な/稼働する(operable/operative to)」、「適合された/適合可能な(adapted/adaptable)」、「〜することができる(able to)」、「〜するために適合可能な/適合された(conformable/conformed to)」などと参照され得る。当業者は、「〜するように構成された」は、コンテキストで別に要求していない限り、通常、アクティブ状態のコンポーネントおよび/または非アクティブ状態のコンポーネントおよび/またはスタンバイ状態のコンポーネントを包含できることを認識するであろう。本明細書に記載される本主題の特定の態様を示しかつ説明してきたが、本明細書の教示に基づいて、本明細書に記載される主題およびそのより広い態様から逸脱することなく、変更および修正が行われ得、従って、添付の特許請求の範囲は、本明細書に記載される主題の本当の精神および範囲内にあるような、かかる変更および修正の全てをそれらの範囲内に包含することが当業者には明らかであろう。一般に、本明細書で使用される用語は、特に添付の特許請求の範囲(例えば、添付の請求項の本文)では、通常、「開いている(open)」用語(例えば、「〜を含む(including)」という用語は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、「有する(having)」という用語は、「少なくとも有する(having at least)」と解釈されるべきであり、「含む(includes)」という用語は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)として意図されることが当業者によって理解されるであろう。導入された請求項記載の特定数が意図される場合、かかる意図はその請求項に明示的に記載され、かかる記載がなければ、かかる意図は存在しないことが当業者によってさらに理解されるであろう。例えば、理解の補助として、以下の添付の特許請求の範囲は、請求項記載を導入するために、「少なくとも1つの」および「1つまたは複数の」という導入句の使用を含み得る。しかし、かかる句の使用は、不定冠詞「1つの(a)」または「1つの(an)」による請求項記載の導入が、同じ請求項が「1つまたは複数の」または「少なくとも1つの」という導入句および「1つの(a)」または「1つの(an)」などの不定冠詞を含む(例えば、「1つの(a)」および/または「1つの(an)」は、通常、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)場合でさえ、かかる導入された請求項記載を含む任意の特定の請求項を、ただ一つのかかる記載を含む請求項に制限することを意味すると解釈されるべきでなく;請求項記載を導入するために使用された定冠詞の使用についても同じことが言える。さらに、たとえ導入された請求項記載の特定数が明示的に記載されている場合でさえ、当業者は、かかる記載は、通常、少なくとも記載された数を意味する(例えば、「2つの記載」の最小限の記載は、他の修飾語句なしで、通常、少なくとも2つの記載、または2つ以上の記載を意味する)と解釈されるべきであることを認識するであろう。さらに、「A、B、およびCのうちの少なくとも1つ、など」に類似した記法が使用される状況では、一般に、当業者がその記法を理解するであろう(例えば、「A、B、およびCのうちの少なくとも1つを有するシステム」は、Aだけ、Bだけ、Cだけ、AとBを共に、AとCを共に、BとCを共に、ならびに/またはA、B、およびCを共に、などを含むがそれらに限定されないであろう)という意味においてかかる構造が意図される。「A、B、またはCのうちの少なくとも1つ、など」に類似した記法が使用される状況では、一般に、当業者がその記法を理解するであろう(例えば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、Aだけ、Bだけ、Cだけ、AとBを共に、AとCを共に、BとCを共に、ならびに/またはA、B、およびCを共に、などを含むがそれらに限定されないであろう)という意味においてかかる構造が意図される。通常、2つ以上の択一的用語を示す離接語および/または離接句は、説明、特許請求の範囲、または図のどこにあっても、用語の1つ、用語のいずれか、または両方の用語を含む可能性を検討するように理解されるべきことが当業者によってさらに理解されるであろう。例えば、「AまたはB」という句は、通常、「A」または「B」または「AおよびB」の可能性を含むと理解されるであろう。
【0056】
添付の特許請求の範囲に関して、当業者は、本明細書に記載されている操作は一般に任意の順序で実行され得ることが理解されるであろう。また、様々な操作の流れが順番に提示されているが、様々な操作は、示されている以外の順序で実行され得るか、または同時に実行され得ることが理解されるべきである。かかる代替順序付けの例は、コンテキストが別に指示していない限り、重複した、交互の、中断した、再順序付けの、増加した、予備の、補足の、同時の、逆転した、または他の異なる順序付けを含み得る。コンテキストに関して、「〜に応答して(responsive to)」、「〜に関連して(related to)」または他の過去時制の形容詞のような用語さえ、コンテキストが別に指示していない限り、通常、かかる変形を除外することを意図していない。
【0057】
特許請求の範囲では特定の依存が識別されているが、特許請求の範囲の特徴のすべての可能な組合せが、本出願において予測され、それ故、特許請求の範囲が全ての可能な複数の依存を含むと解釈されることに留意されたい。本開示およびその付随の利点の多くは、前述の説明によって理解されるであろうと考えられ、開示された主題から逸脱することなく、またはその材料の優位性の全てを犠牲にすることなく、様々な変更が、コンポーネントの形式、構成、および配置において行われ得ることが明らかであろう。説明された形式は例示に過ぎず、以下の特許請求の範囲がかかる変更を包含し、含むことが意図される。本開示には、以下の事項が含まれることを付言する。
(1)外部レシピコンポーネント配信のためのシステムであって、
第1の外部レシピコンポーネントを保持するデータストアを含む第1の光学検査ノードと、
第2の外部レシピコンポーネントを保持するデータストアを含む第2の光学検査ノードと、
前記第1の外部レシピコンポーネントおよび前記第2の外部レシピコンポーネントに関連する少なくとも1つの光学検査対象レシピを保持するデータストアを含むレシピ配信サーバーと、
を備えるシステム。
(2)前記レシピ配信サーバーが、
前記第1の光学検査ノードから前記光学検査対象レシピを採用する光学検査対象の検査を実行する要求を受信し、かつ
前記第2の光学検査ノードから前記第1の光学検査ノードへの前記第2の外部レシピコンポーネントの前記転送を開始するように構成された、
前記(1)に記載のシステム。
(3)前記少なくとも1つの光学検査対象レシピが、
前記第1の外部レシピコンポーネントおよび前記第2の外部レシピコンポーネントのうちの少なくとも1つに関連する少なくとも1つのプロキシコンポーネントを含む、
前記(1)に記載のシステム。
(4)前記レシピ配信サーバーが、
前記第2の外部レシピコンポーネントに関連する前記プロキシコンポーネントに従って、前記第2の光学検査ノードから前記第1の光学検査ノードへの前記第2の外部レシピコンポーネントの前記転送を開始するように構成された、
前記(2)に記載のシステム。