(57)【特許請求の範囲】
【請求項１】
処理装置により実行される方法であって、
レシピの実行に関連するパラメータ内で機能している第１のツールに関する基準データと、前記基準データから決定された複数の最近傍値とを用いて、前記レシピを実行している前記第１のツールの基準フィンガープリントを作成することであって、前記基準フィンガープリントは、ターゲットベースラインと、前記ターゲットベースラインに基づいた一又は複数の許容可能な範囲とを含む、作成すること、
前記レシピを実行している第２のツールに関連するサンプルデータが、前記パラメータ内で機能しているか否かを、前記サンプルデータと前記基準フィンガープリントとの比較に基づいて決定することであって、前記第２のツールは、前記第１のツールであるか又は前記第１のツールと同じタイプの別のツールであり、前記サンプルデータは前記第２のツールのセンサのためのセンサデータを含む、決定すること、
前記サンプルデータと前記基準フィンガープリントとの前記比較に基づいて、前記第２のツールの分類を、システム又はユーザのうちの少なくとも一方に供給することであって、前記分類は、前記第２のツールが前記パラメータ内で機能しているか否かを示す、供給すること、並びに
前記基準フィンガープリントの前記パラメータ内にないサンプルデータに寄与しているセンサ（６１１、６１３）を特定することと、
を含む、方法。
【請求項２】
前記サンプルデータと前記基準フィンガープリントとの間の一又は複数の偏差を特定すること、
前記一又は複数の偏差に基づいて、前記第２のツールが前記パラメータ内で機能していないと決定すること、並びに
前記第２のツールが前記パラメータ内で機能していないことの原因を特定するための追加のデータを供給すること
を更に含む、請求項１に記載の方法。
【請求項３】
前記追加のデータは、前記第２のツールの複数のセンサの寄与を表す寄与データを含む、請求項２に記載の方法。
【請求項４】
前記サンプルデータが前記基準フィンガープリント内にある場合、前記分類がノーマルであり、前記サンプルデータが前記基準フィンガープリント内にない場合、前記分類がアブノーマルである、請求項１に記載の方法。
【請求項５】
前記基準フィンガープリントを作成することが、
前記基準データを用いて前記複数の最近傍値のベクトルを作成することであって、前記ベクトルは、前記レシピについての前記第１のツールの複数のセンサのパフォーマンスを示す、作成すること、
前記ベクトルからターゲット値を決定することであって、前記ターゲット値は、前記複数のセンサの期待されているパフォーマンスを表す、決定すること、
前記ターゲット値に基づいて、前記複数のセンサの前記期待されているパフォーマンスの一又は複数の許容可能な範囲を決定すること、並びに
前記ターゲット値及び前記一又は複数の許容可能な範囲として、前記基準フィンガープリントを規定すること
を含む、請求項１に記載の方法。
【請求項６】
前記ターゲット値を決定することが、
前記ベクトル中の前記複数の最近傍値の平均を決定すること
を含む、請求項５に記載の方法。
【請求項７】
前記一又は複数の許容可能な範囲を決定することが、
前記ターゲット値から、一又は複数の標準偏差を決定すること
を含む、請求項５に記載の方法。
【請求項８】
メモリ、並びに
前記メモリに連結された処理装置であって、
レシピの実行に関連するパラメータ内で機能している第１のツールに関する基準データと、前記基準データから決定された複数の最近傍値とを用いて、前記レシピを実行している前記第１のツールの基準フィンガープリントを作成することであって、前記基準フィンガープリントは、ターゲットベースラインと、前記ターゲットベースラインに基づく一又は複数の許容可能な範囲とを含む、作成すること、
前記レシピを実行している第２のツールに関連するサンプルデータが、前記パラメータ内で機能しているか否かを、前記サンプルデータと前記基準フィンガープリントとの比較に基づいて決定することであって、前記第２のツールは、前記第１のツールであるか又は前記第１のツールと同じタイプの別のツールであり、前記サンプルデータは前記第２のツールのセンサのためのセンサデータを含む、決定すること、
前記サンプルデータと前記基準フィンガープリントとの前記比較に基づいて、前記第２のツールの分類を、システム又はユーザのうちの少なくとも一方に供給することであって、前記分類は、前記第２のツールが前記パラメータ内で機能しているか否かを示す、供給すること、並びに
前記基準フィンガープリントの前記パラメータ内にないサンプルデータに寄与しているセンサ（６１１、６１３）を特定すること、
のための処理装置
を含む、システム。
【請求項９】
前記処理装置が、更に
前記サンプルデータと前記基準フィンガープリントとの間の一又は複数の偏差を特定すること、
前記一又は複数の偏差に基づいて、前記第２のツールが前記パラメータ内で機能していないと決定すること、並びに
前記第２のツールが前記パラメータ内で機能していないことの原因を特定するための追加のデータを供給することであって、前記追加のデータは、前記第２のツールの複数のセンサの寄与を表す寄与データを含む、供給すること
のためのものである、請求項８に記載のシステム。
【請求項１０】
前記サンプルデータが前記基準フィンガープリント内にある場合、前記分類はノーマルであり、前記サンプルデータが前記基準フィンガープリント内にない場合、前記分類がアブノーマルである、請求項８に記載のシステム。
【請求項１１】
前記基準フィンガープリントを作成することは、前記処理装置が、
前記基準データを用いて前記複数の最近傍値のベクトルを作成することであって、前記ベクトルは、前記レシピについての前記第１のツールの複数のセンサのパフォーマンスを示す、作成すること、
前記ベクトルからターゲット値を決定することであって、前記ターゲット値は、前記複数のセンサの期待されているパフォーマンスを表す、決定すること、
前記ターゲット値に基づいて、前記複数のセンサの前記期待されているパフォーマンスの一又は複数の許容可能な範囲を決定すること、並びに
前記ターゲット値及び前記一又は複数の許容可能な範囲として、前記基準フィンガープリントを規定すること
を含む、請求項８に記載のシステム。
【請求項１２】
処理装置によって実行されると、前記処理装置に、下記：
レシピの実行に関連するパラメータ内で機能している第１のツールに関する基準データと、前記基準データから決定された複数の最近傍値とを用いて、前記レシピを実行している前記第１のツールの基準フィンガープリントを、前記処理装置によって作成することであって、前記基準フィンガープリントは、ターゲットベースラインと、前記ターゲットベースラインに基づく一又は複数の許容可能な範囲とを含む、作成すること、
前記レシピを実行している第２のツールに関連するサンプルデータが、前記パラメータ内で機能しているか否かを、前記サンプルデータと前記基準フィンガープリントとの比較に基づいて決定することであって、前記第２のツールは、前記第１のツールであるか又は前記第１のツールと同じタイプの別のツールであり、前記サンプルデータは前記第２のツールのセンサのためのセンサデータを含む、決定すること、
前記サンプルデータと前記基準フィンガープリントとの前記比較に基づいて、前記第２のツールの分類を、システム又はユーザのうちの少なくとも一方に供給することであって、前記分類は、前記第２のツールが前記パラメータ内で機能しているか否かを示す、供給すること、並びに
前記基準フィンガープリントの前記パラメータ内にないサンプルデータに寄与しているセンサ（６１１、６１３）を特定すること、
を含む動作を実施させる命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記動作が、
前記サンプルデータと前記基準フィンガープリントとの間の一又は複数の偏差を特定すること、
前記一又は複数の偏差に基づいて、前記第２のツールが前記パラメータ内で機能していないと決定すること、並びに
前記第２のツールが前記パラメータ内で機能していないことの原因を特定するための追加のデータを供給すること
を更に含む、請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記サンプルデータが前記基準フィンガープリント内にある場合、前記分類がノーマルであり、前記サンプルデータが前記基準フィンガープリント内にない場合、前記分類がアブノーマルである、請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記基準フィンガープリントを作成することが、
前記基準データを用いて前記複数の最近傍値のベクトルを作成することであって、前記ベクトルは、前記レシピについての前記第１のツールの複数のセンサのパフォーマンスを示す、作成すること、
前記ベクトルからターゲット値を決定することであって、前記ターゲット値は、前記複数のセンサの期待されているパフォーマンスを表す、決定すること、
前記ターゲット値に基づいて、前記複数のセンサの前記期待されているパフォーマンスの一又は複数の許容可能な範囲を決定すること、並びに
前記ターゲット値及び前記一又は複数の許容可能な範囲として、前記基準フィンガープリントを規定すること、
を含む、請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実装形態はツールプロセスデータの解析に関し、より詳細には、ｋ近傍法に基づく方法を用いてツールプロセスデータの多変量解析を提供することに関する。
【背景技術】
【０００２】
半導体産業において、レシピ（方策）を実行（ｒｕｎ）する様々なツールについて大量のセンサデータが存在する。典型的に、センサ情報は生データであり、プロセス技術者などのユーザにとっては一般的には有用でない場合がある。大量のデータは管理が難しいことが多い。生データをユーザにとって意味のあるデータに変換すべく、ＰＣＡ（主成分解析）などの統計的アプローチをとるソリューションもある。しかしながら、バッチ処理における非線形性、持続期間が変動する処理ステップなどのユニークな特性を半導体プロセスが有することにより、ＰＣＡに基づくソリューションには何らかの困難が生じる。
【０００３】
本開示は、添付図面を用い、非限定的な例としてのみ記載されており、図面においては同様の要素が類似の参照符号で示されている。本開示における「ある（ａｎ）」又は「一（ｏｎｅ）」実装に対する言及は必ずしも同じ実装に対してではなく、そのような言及は、少なくとも一の、を意味することに留意されたい。
【図面の簡単な説明】
【０００４】
【図１】ツール解析モジュールを用いたシステムを示すブロック図である。
【図２】ツール解析モジュールの一実装のブロック図である。
【図３】様々な実装による、基準フィンガープリントを含むグラフィカルユーザインターフェースの一例である。
【図４】様々な実装による、複数のラン（ｒｕｎ）のプロセスインデックスと基準フィンガープリントとの比較を含むグラフィカルユーザインターフェースの一例である。
【図５】ｋ近傍法に基づく解析を用いて基準フィンガープリントを作成する方法の一実装を示す。
【図６】様々な実装による、距離行列の一例及び近傍ベクトルの一例を示す。
【図７】ｋ近傍法に基づく解析をツールプロセスデータに対して実行する方法の一実装を示す。
【図８】様々な実装による、チャンバにおけるレシピのランのセンサの寄与データを含むグラフィカルユーザインターフェースの一例を示す。
【図９】様々な実装による、本開示に記載のツール解析モジュールの動作のうちの一又は複数を実行し得るコンピューティングデバイスの一例のブロック図である。
【発明を実施するための形態】
【０００５】
本開示の実装は、ツールプロセスデータに対してｋ近傍法に基づく解析を実行する方法及びシステムを対象とする。簡潔さと単純さを期して、本開示の全体に亘り、ツールの一例としてチャンバが用いられている。本開示の実装は、ｋ最近傍（ｋＮＮ）アルゴリズムを改変して、例えばチャンバのマッチング及び処理チャンバの制御のためのデータ解析を支援する。サーバコンピュータシステムが、チャンバにおけるレシピの複数のランのデータ、及びそれらランの複数のセンサのデータを収集し、各ランを表す単一の値（以下「プロセスインデックス」という）を作成することができる。プロセスインデックスは、チャンバにおけるレシピのランが、同じチャンバにおける及び／又は同じタイプのチャンバにおける既知の良好なレシピのランに対してどのように比較（ｃｏｍｐａｒｅ）されるかという指標である。プロセスインデックスはまた、既知の良好なランにセンサがどのように関連しているかも表す。プロセスインデックスを用いて、何れのセンサがチャンバマッチングの問題を引き起こしているかを決定できる。
【０００６】
サーバコンピュータシステムは、レシピを実行しているツール（例えば、チャンバ）についての基準フィンガープリントを作成することができる。サーバは、期待通りに（例えば、そのレシピの実行に関連するパラメータ内で）機能しているツールに関する基準データを用いて、ターゲットベースラインと、基準データからのターゲットベースラインに基づいた一又は複数の許容可能な範囲とを作成することができる。ターゲットベースラインと、一又は複数の許容可能な範囲とが、基準フィンガープリントを構成することができる。サーバコンピュータシステムは、サンプルデータと基準フィンガープリントとの比較に基づき、同じツール又は同じタイプの他のツールであって同じレシピを実行しているツールに関連するサンプルデータが、ツールが期待通りに（例えば、パラメータ内で）機能していることを示すか否かを、決定することができる。サーバコンピュータシステムは、サンプルデータと基準フィンガープリントとの比較に基づき、解析されているツールの分類をシステム又はユーザに供給することができる。分類は、解析されているツール／レシピの組み合わせが平常どおりに動作しているか否かを示すことができる。
【０００７】
図１は、製造システムデータソース（例えば、製造実行システム（ＭＥＳ）１０１）、一又は複数のツール（例えば、チャンバ１０９）、及び、例えば、ネットワーク１２０を介して通信する解析サーバ１０５を含む、製造システム１００を示すブロック図である。ネットワーク１２０は、ローカルエリアネットワーク（ＬＡＮ）、無線ネットワーク、モバイル通信ネットワーク、インターネットなどの広域ネットワーク（ＷＡＮ）、又は類似の通信システムであり得る。
【０００８】
ＭＥＳ１０１、解析サーバ１０５、及びツール解析モジュール１０７は、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブックコンピュータ、ＰＤＡ（携帯情報端末）、モバイル通信デバイス、携帯電話、スマートフォン、ハンドヘルドコンピュータ、又は類似のコンピューティングデバイスを含む任意のタイプのコンピューティングデバイスによって個別にホストされ得る。代替的に、ＭＥＳ１０１、解析サーバ１０５、及びツール解析モジュール１０７の任意の組み合わせが、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブックコンピュータ、ＰＤＡ（携帯情報端末）、モバイル通信デバイス、携帯電話、スマートフォン、ハンドヘルドコンピュータ、又は類似のコンピューティングデバイスを含む単一のコンピューティングデバイスにホストされてもよい。
【０００９】
解析サーバ１０５は、チャンバ１０９に関するデータを収集及び解析することができる。一実装で、解析サーバ１０５はファクトリシステムデータソース（例えば、ＭＥＳ１０１、ＥＲＰ（企業資源計画）システムなど）に連結されて、ロットデータ及び設備（例えば、チャンバ）データなどを受信する。一実装では、解析サーバ１０５がチャンバ１０９からデータをダイレクトに受信する。期待通りに機能しているチャンバ１０９を表す基準データ、及び、チャンバ１０９のレシピの実行のリアルタイムデータを用いて、チャンバ１０９が特定のレシピの実行について期待されているパフォーマンスから偏移しているか否かを決定するために、解析サーバ１０５はツール解析モジュール１０７を含み得る。
【００１０】
ツール解析モジュール１０７は、所与のレシピについて期待通りに機能しているチャンバからのデータを用いて、当該所与のレシピについての当該チャンバの基準フィンガープリントを作成することができる。ツール解析モジュール１０７は、当該レシピを実行しているチャンバにおけるサンプルデータ、及び、当該レシピを実行している他のチャンバにおけるサンプルデータを、基準フィンガープリントと比較して、当該チャンバのパフォーマンス及び／又はその健全性を評価することができる。基準フィンガープリントと比較して、当該所与のレシピを実行しているチャンバが期待通りに機能していない場合、ツール解析モジュール１０７は、当該チャンバの、当該チャンバにおけるランの及び／又は当該チャンバのセンサの、何れのセンサ及び／又はレシピ属性が、任意の偏移に寄与しているかを示す追加のデータを供給することができる。一実装では、ツール解析モジュール１０７が、基準フィンガープリントのパラメータから偏移しているチャンバ１０９を「ノーマルでない（ｎｏｔ  ｎｏｒｍａｌ）」又は「アブノーマル」として分類し、基準フィンガープリントのパラメータ内にあるチャンバ１０９を「ノーマル」と分類する。一実装では、ツール解析モジュール１０７が、分類の度合を決定する。例えば、ツール解析モジュール１０７が、アブノーマルであるチャンバを、チャンバのサンプルデータの基準フィンガープリントからの偏移の大きさに依存して、「高」「中」「低」と更に分類してもよい。ツール解析モジュール１０７は、チャンバ分類（例えば、ノーマル、ノーマルでない、高、中、低など）を、ユーザ（例えば、プロセス技術者、システム技術者、生産技術者、システム管理者など）及び／又はシステム（例えば、維持管理システムなど）に供給することができる。
【００１１】
図２は、ツール解析モジュール２００の一実装のブロック図である。ツール解析モジュール２００は、図１のツール解析モジュール１０７と同じであり得る。ツール解析モジュール２００は、フィンガープリントサブモジュール２０５、解析サブモジュール２１０、通知サブモジュール２１５、及びユーザインターフェース（ＵＩ）サブモジュール２２０を含み得る。
【００１２】
ツール解析モジュール２００は、一又は複数のデータストア２５０に連結され得る。データストア２５０は固定記憶装置であり得る。固定記憶装置は、ローカル記憶装置又はリモート記憶装置であり得る。固定記憶装置は、磁気記憶装置、光学記憶装置、ソリッドステート記憶装置、電子記憶装置（メインメモリ）、又は類似の記憶装置であり得る。固定記憶装置はモノリシックデバイス、又は分散されたデバイスのセットであり得る。本明細書で使用する「セット」の語は、任意の正の整数のアイテムを表す。
【００１３】
データストア２５０は、一又は複数のツール（例えば、チャンバ）についてのツールデータ２５１を記憶することができる。ツールデータ２５１は、対応するツールにおいて実行されているレシピ、及び、対応するツールのセンサを表すデータを含み得る。ツールデータ２５１は、当該ツール（例えば、チャンバ）及び／又は製造所内のシステム（例えば、ＭＥＳ）によって提供され得る。
【００１４】
フィンガープリントサブモジュール２０５は、改変されたｋ近傍アルゴリズムを用いて、チャンバ及び／又は特定のレシピを実行しているチャンバタイプに対応する基準フィンガープリント２５５を作成することができる。フィンガープリントサブモジュール２０５は、同じタイプのチャンバにおける特定のレシピの実行の「良好な」ランに対応するツールデータ２５１のサブセットを特定することができる。以下、「良好な」ラン又は「ノーマルな」ランとは、チャンバにおいて期待通りに（例えば、期待されたパラメータ内で）機能する特定のレシピのランを表す。以下、「悪い」ラン又は「アブノーマルな」ランは、チャンバにおいて期待通りに機能しない（例えば、期待されたパラメータ内にない）特定のレシピのランを表す。フィンガープリントサブモジュール２０５は、良好なランのツールデータ２５１を、基準データ２５３として用いることができる。基準データ２５３は、チャンバ識別子、チャンバタイプ、レシピ識別子、チャンバにおけるランの数、ラン識別子、センサ識別子、センサのセンサデータなどを含み得るが、これらに限定されない。基準データ２５３はデータストア２５０内に記憶され得る。データストア２５０は、フィンガープリントサブモジュール２０５が基準フィンガープリント２５５の作成に用いるべき良好なランの数を特定するコンフィギュレーションデータ２６１を記憶し得る。例えば、コンフィギュレーションデータ２６１は、５０の良好なランからのデータが、基準フィンガープリント２５５の作成に用いられるべきであると指定し得る。コンフィギュレーションデータ２６１は、コンフィギュラブルであり得、ユーザ（例えば、システム管理者、プロセス技術者など）により設定され得る。
【００１５】
フィンガープリントサブモジュール２０５は、ターゲットベースライン、及び、基準データ２５３からのターゲットベースラインに関する一又は複数の範囲を計算し得る。ターゲットベースラインと、ターゲットベースラインに関する一又は複数の範囲とが、基準フィンガープリント２５５を構成し得る。基準フィンガープリント２５５は、同じタイプのチャンバに使用され得る。基準フィンガープリントの作成の一実装を、図５との組み合わせでより詳細に後述する。
【００１６】
図３は、様々な実装による、基準フィンガープリント３１０を含むグラフィカルユーザインターフェース（ＧＵＩ）３００の一例を示す。基準フィンガープリント３１０は、ターゲットベースライン３２５の値（例えば、値２．８）と、一又は複数の許容可能な範囲（例えば、範囲１（３２０）及び範囲２（３１５））とを含む。ターゲットベースライン及び範囲の決定の一実装は、図５との組み合わせでより詳細に後述される。一実装では、サンプルがターゲットベースライン３２５の範囲（例えば、範囲１（３２０）及び範囲２（３１５））内にある場合、当該サンプルはノーマルであると分類される。以下、「サンプル」又は「サンプルラン」はチャンバにおける特定のレシピのランを表す。ここで、期待されているパフォーマンスに関連して当該ランがノーマルランであるか又はアブノーマルランであるかは未知である。一実装では、範囲１（３２０）はターゲットベースライン３２５について３シグマ（３標準偏差）であり、範囲２（３１５）はターゲットベースライン３２５について６シグマ（６標準偏差）である。ＧＵＩ３００は、基準フィンガープリント３１０の作成に用いられるラン３３０を表すｘ軸を含むことができる。例えば、基準データ２５３は５０の良好なランについてのデータを含み得る。ＧＵＩ３００は、解析されるデータと基準フィンガープリントとの間の距離を（例えば、基準までの距離を単位３０５で）表すｙ軸を含むことができる。
【００１７】
図２に戻ると、データストア２５０は、一又は複数のサンプル（サンプルラン）についてのサンプルデータ２５７を記憶することができる。サンプルデータ２５７は、チャンバ識別子、チャンバタイプ、レシピ識別子、ラン識別子、センサ識別子、センサのセンサデータなどを含み得るが、これらに限定されない。
【００１８】
解析サブモジュール２１０は、特定のランのサンプルデータ２５７を用いて、対応するランのセンサの示度を表すサンプルベクトルＳを作成することができる。サンプルベクトルＳは、ｍ個の要素を有する行ベクトルであり得、ここで、各要素は特定のランのセンサ示度に対応する。解析サブモジュール２１０は、サンプルベクトルＳを用いてサンプルランのプロセスインデックスを決定することができる。サンプルランのプロセスインデックス決定の一実装は、図７との組み合わせでより詳細に後述される。解析サブモジュール２１０は、サンプルランのプロセスインデックスをターゲットベースライン及び基準フィンガープリント２５５の範囲と比較し、当該サンプルについてのサンプルデータ２５７が、サンプルデータ２５７に対応する特定のチャンバ／レシピの組み合わせを、ノーマルとして分類するか又はアブノーマルとして分類するかを、決定することができる。特定のチャンバ／レシピの組み合わせについてのサンプルランをノーマルとして分類するか又はアブノーマルとして分類するかを決定する一実装は、図７との組み合わせで後述される。
【００１９】
ユーザインターフェース（ＵＩ）サブモジュール２２０は、複数のランのプロセスインデックスと基準フィンガープリント２５５との比較を含むユーザインターフェース２０２を提供することができる。ユーザインターフェース２０２は、グラフィカルユーザインターフェース（ＧＵＩ）であり得る。
【００２０】
図４は、様々な実装による、複数のランのプロセスインデックスと基準フィンガープリントとの比較を含むグラフィカルユーザインターフェースの一例である。基準フィンガープリントは、ターゲットベースライン４２０の値（例えば、７）、第１の範囲４１５（例えば、３シグマ帯）、及び第２の範囲４１０（例えば、６シグマ帯）を含み得る。ＧＵＩ４００は、サンプルランのプロセスインデックスを表すデータ点４０６を含み得る。一実装では、あるサンプルが、対応するプロセスインデックス（例えば、データ点）がターゲットベースライン４２０の範囲４１０、４１５内にある場合にはノーマルであると分類され、対応するプロセスインデックス（例えば、データ点）がターゲットベースライン４２０の範囲４１０、４１５内にない場合にはアブノーマルであると分類される。例えば、サンプルラン４８のプロセスインデックスを表すデータ点４０５が基準フィンガープリントについての許容可能な範囲４１０、４１５の外にある場合、ラン４８はアブノーマルであると分類され得る。ラン４８についてのデータが更に解析され、許容可能な範囲４１０、４１５の外にあるラン４８に、何れのセンサが寄与しているかを決定することができる。別の例では、サンプルラン４９についてのプロセスインデックスを表すデータ点４０７が基準フィンガープリントについての許容可能な範囲４１０、４１５内にあるが、６シグマ帯内にある。ラン４９についてのデータが更に解析されて、６シグマ帯内にあるラン４９に、何れのセンサが寄与しているかが決定され得る。
【００２１】
図２に戻ると、通知サブモジュール２１５は、対応するチャンバ／レシピ組み合わせについてのサンプルデータ２５７がノーマルであるかアブノーマルであるかを示す分類通知を供給することができる。通知サブモジュール２１５は、ユーザインターフェース２０２を介して、メッセージを介して、及びネットワークなどを介して、分類通知を供給することができる。通知サブモジュール２１５は、例えば、ユーザ（例えば、プロセス技術者，生産技術者，システム技術者，システム管理者）に、及び／又はシステム（例えば、レポートシステム，スケジューラなど）に、分類通知を供給することができる。
【００２２】
一実装では、ツール解析モジュール２００が、センサ及び／又は処理ステップによるデータをグループ化する。例えば、ツール解析モジュール２００は、センサによって及び／又は処理ステップによって、ツールデータ２５１をグループ化し得る。別の例では、ツール解析モジュール２００が、センサによって及び／又は処理ステップによって、基準データ２５３をグループ化し得る。別の例では、ツール解析モジュール２００が、センサによって及び／又は処理ステップによって、サンプルデータ２５７をグループ化し得る。別の例では、ツール解析モジュール２００が、センサによって及び／又は処理ステップによって、任意のデータの組み合わせをグループ化し得る。データをグループ化することにより、ツール解析モジュール２００は、アブノーマルであるとの分類が、すべての処理ステップの１つのセンサに起因するのか、１つのステップのみに起因するのか、又は種々のステップの種々のセンサに起因するのかを決定することができる。一実装では、ツール解析モジュール２００がデータのパレート分布を決定する。例えば、基準フィンガープリントのパラメータから外れたデータを有する多くのラン及び／又はセンサが存在する場合、ツール解析モジュール２００は、基準フィンガープリントのパラメータから外れたデータを有するラン及び／又はセンサのサブセット（例えば、上位１０、上位２０など）を特定することができる。パレート分布は、当該サブセットが、１つのセンサが原因で基準フィンガープリントのパラメータから外れていることを特定し得る。
【００２３】
図５は、ｋ近傍法に基づく解析を用いて基準フィンガープリントを作成する方法の一実装を示す。方法００は、ハードウェア（例えば、電気回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理装置上で実行される命令）、又はこれらの組み合わせを備え得る処理論理によって実施され得る。一実装では、方法５００が、図１のサーバ１０５中のツール解析モジュール１０７によって実行される。
【００２４】
ブロック５０１で、サーバは、所与のレシピを実行しているツール（例えば、チャンバ）についての基準行列Ｒを作成する。基準行列Ｒは、複数の良好なランについてのデータを含む基準データから作成され得る。基準行列Ｒはｎ個の行×ｍ個の列を含み得、ｎは基準データ中の良好なランの数であり、ｍは対応するランについてセンサの数である。
0006629204.tif 000002
【００２５】
基準行列Ｒ中の各行（ラン）について、サーバは、対応するランのセンサ示度を表すよう、行がベクトルＳを表すようにすることができる。ベクトルＳはｍ個の要素を含む行ベクトルであり得、各要素は特定のランのセンサ示度に対応している。
ベクトルＳ＝［ｒｚ，１  …  ｒｚ，ｍ］    ステートメント２
式中、ｚはランの数であり、ｚは１〜ｎであり、ｍ＝センサであり、Ｓは基準行列Ｒ中の行である。
【００２６】
ブロック５０３で、基準行列Ｒ中の各行について、サーバは、基準セット中の各センサの基準データの平均及び標準偏差に基づいて、正規化されたＳベクトル及び正規化された基準行列Ｒを計算する。
【００２７】
ブロック５０５で、正規化されたＲ行列中の各行について、サーバは、正規化されたＳベクトルを用いて距離行列Ｄを作成し、ブロック５０７で、距離行列Ｄを用いて近傍ベクトルＮを作成する。
0006629204.tif 000003
【００２８】
図６は、様々な実装による距離行列Ｄ６０９の一例及び近傍ベクトルＮ６１５の一例を示す。距離行列Ｄ６０９は、ｎ個の行×ｍ個の列の行列であり得る。距離行列Ｄ６０９中の各行は、ラン（例えば、ラン１（６０１）、ラン２（６０３）、ラン３（６０５）、ラン４（６０７）を表すことができ、距離行列Ｄ６０９中の各列は、センサ（例えば、センサ１（６１１）、センサ２（６１３））を表すことができる。距離行列Ｄ６０９中の各要素は、ベクトルＳ中の対応する要素と基準行列Ｒとの間の距離を示す距離単位（例えば、距離単位６１７、距離単位６１９）を表すことができる。一実装では、距離行列Ｄ６０９中の各要素（例えば、距離単位６１７、距離単位６１９）が、ベクトルＳ中の対応する要素と基準行列Ｒとの間の二乗距離である。例えば、ラン１（６０１）のセンサ１（６１１）の距離単位６１７が、ゼロの値を有し得、これはラン１中のセンサ１が基準行列Ｒ中の対応する要素からゼロ単位離れていることを示す。別の例では、ラン１（６０１）のセンサ２（６１３）の距離単位６１９が１の値を有し得、これはラン１中のセンサ２が基準行列Ｒ中の対応する要素から１単位離れていることを示す。近傍ベクトルＮはｎ要素の列ベクトルであり得、ここで、各要素は対応する距離行列Ｄ中の行の和である。
【００２９】
図５に戻ると、ブロック５０９で、サーバはｋ最近傍値（例えば、ｋ＝３）を用いて、Ｎベクトル中のｋ番目に小さい値（最近傍値）を特定し、基準データ中の各サンプルについての値のｋベクトルを作成する。サーバは、特定された最近傍値をｋベクトルとしてデータストア中に記憶することができる。サーバは、近傍ベクトルＮ中の要素を最小値から最大値までソートすることにより、最近傍値を特定できる。例えば、図６中の近傍ベクトルＮ６１５［１，２，１，３］は、［１，１，２，３］として記憶され得る。サーバは、ソートされた近傍ベクトルＮ中のｋの位置に対応する値を、ｋ番目に小さい値（最近傍値）として決定できる。例えば、ｋ＝３について、サーバは、「２」が第３の位置（例えば、ｋ＝３）にあり、ｋ番目に小さい値（最近傍値）であることを決定する。サーバは基準データ中の各サンプルについての値のｋベクトルを作成する。ｋベクトルは、基準データ中のその他のランの対応するセンサに、すべてのセンサがどのように関連しているかを表すことができる。サーバによって用いられるべきｋ値（例えば、ｋ＝３）は、コンフィギュレーションデータ内で指定され得る。
【００３０】
ブロック５１１で、サーバは、ｋベクトルの平均を、センサのｍ次元分布にマッチさせるよう、任意のサンプルのターゲットベースラインとして決定する。基準フィンガープリントの定義にターゲットベースラインが用いられる。ブロック５１３で、サーバは、基準フィンガープリントの一又は複数の許容可能な範囲を規定するために、ｋベクトルの一又は複数の閾値（例えば、一又は複数の標準偏差）を決定する。ブロック５１５で、サーバは、基準フィンガープリントをターゲットベースライン及び閾値として規定する。
【００３１】
図７は、ｋ近傍法に基づく解析をツールプロセスデータに対して実行する方法７００の一実装のフロー図である。方法７００は、ハードウェア（例えば、電気回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理装置上で実行される命令）、又はこれらの組み合わせを備え得る処理論理によって実施され得る。一実装では、方法７００が、図１のサーバ１０５中のツール解析モジュール１０７によって実行される。
【００３２】
ブロック７０１で、サーバは、チャンバにおけるレシピの複数のサンプルランのサンプルデータを特定する。サンプルランはチャンバにおける特定のレシピのランであって、当該ランがノーマルランであるか又はアブノーマルランであるかは未知である。サンプルデータは、ＧＵＩを介したユーザセレクションの入力に基づくことができる。例えば、ユーザが、解析されるべきレシピＸＹＺの、チャンバＸにおける最後の５０のラン（例えば、ラン１〜ラン５０）を選択し得る。サンプルデータは、ツール解析モジュールに連結されたデータストア内に記憶され得る。方法７００、又は方法７００の一もしくは複数の部分が反復性であり得る。反復の数は、解析されるべきサンプルランの数に基づき得る。
【００３３】
ブロック７０３で、サーバは、サンプルデータのプロセスインデックスを決定する。サーバは、対応するサンプルランのセンサ示度を表すためのサンプルベクトルＳを作成するために、サンプルデータを用いることができる。サンプルベクトルＳは、ｍ個の要素を含む行ベクトルであり得、各要素は、特定のサンプルランのセンサ示度に対応している。
サンプルベクトルＳ＝［ｓ１  …  ｓｍ］    ステートメント４
式中、ｍ＝センサであり、Ｓは解析対称のサンプルランである。
【００３４】
サーバは、基準行列Ｒに対して、正規化されたサンプルベクトルＳを計算することができる。サーバは、サンプルランの距離行列Ｄを作成するために、正規化されたサンプルベクトルＳを用いすることができる。距離行列Ｄはｎ行×ｍ列の行列であり得、ここで、各要素は、サンプルベクトルＳ中の対応する要素と基準行列Ｒとの間の二乗距離である。距離行列Ｄ中の各行がサンプルランである。距離行列Ｄ中の各列はセンサである。サーバは、近傍ベクトルＮを計算するために距離行列Ｄを用いることができる。近傍ベクトルＮはｎ要素の列ベクトルであり得、各要素は対応する距離行列Ｄ中の行の和である。サーバは、Ｎベクトル中のｋ番目に小さい値（最近傍値）を特定するためにｋ値（例えば、ｋ＝３）を用いることができる。Ｎベクトル中のｋ番目に小さい値（最近傍値）は、当該所与のレシピのチャンバのプロセスインデックスである。サーバによって用いられるべきｋ値（例えば、ｋ＝３）は、ツール解析モジュールに連結されたデータストア内に記憶されているコンフィギュレーションデータ中で指定され得る。
【００３５】
ブロック７０５で、サーバは、チャンバ／レシピの組み合わせについてのサンプルデータのプロセスインデックスが基準フィンガープリントのパラメータ内にあるか否かを決定する。ブロック７０７で、プロセスインデックスが基準フィンガープリントのパラメータ内にある場合、サーバは、当該チャンバ／レシピの組み合わせについてのサンプルデータをノーマルとして分類し、ブロック７１１で当該分類を、例えば、ユーザ（例えば、プロセス技術者、生産技術者、システム技術者、システム管理者）及び／又はシステム（例えば、報告システム、スケジューラなど）に供給する。
【００３６】
プロセスインデックスが基準フィンガープリントのパラメータ内にない場合（ブロック７０５）、ブロック７０９で、サーバは当該チャンバ／レシピの組み合わせについてのサンプルデータをアブノーマルとして分類し、ブロック７１１で当該分類を、例えば、システム及び／又はユーザに供給する。サーバは当該分類を、ＧＵＩを通じて、メッセージ及びネットワークなどを介して供給し得る。システム及び／又はユーザは当該分類を、例えば、チャンバの維持管理、チャンバマッチング、処理チャンバ制御などに用いることができる。
【００３７】
ブロック７１３で、サーバは、プロセスインデックスが基準フィンガープリントのパラメータ内にない理由を特定するための追加のデータを供給するか否かを決定する。サーバが追加のデータを供給するべきである場合、サーバはブロック７１５で、追加のデータを供給する。例えば、サーバは、チャンバにおける特定のランについての追加の情報を受信するためにグラフィカルユーザインターフェース（ＧＵＩ）を介してユーザ入力を受信し得、サーバは、当該ランに関連するセンサ及び処理ステップについてのデータをＧＵＩ中で供給し得る。追加のデータは、例えば、特定のランについてのセンサの寄与データを含み得るがこれに限定されない。
【００３８】
図８は、様々な実装による、チャンバにおけるレシピのランのセンサの寄与データを含むグラフィカルユーザインターフェースの一例を示す。ツール解析モジュールは、チャンバにおけるレシピのランのセンサの寄与ベクトルＣを作成することができる。ＧＵＩ８００は、棒グラフとして示されている、特定のチャンバ／レシピの組み合わせについてのラン４８の寄与ベクトルＣを含む。寄与ベクトルＣはｍ要素の行ベクトルであり得、各ランの各要素は各センサの寄与因子である。
Ｃ＝［ｃ１  …  ｃｍ］
式中、ｍ＝センサ      ステートメント５
【００３９】
例えば、センサ１（例えば、図６のセンサ１（６１１））についての４つの基準ラン（例えば、図６のラン６０１、６０３、６０５、６０７）が存在し得る。一実施例で、図６は、正規化された基準行列Ｒに対する、未知の正規化されたサンプルベクトルＳについての距離行列Ｄ６０９を含み得る。寄与ベクトルは、距離行列Ｄ６０９中の各列を考慮しｋ番目に小さい値を見つけることにより、計算され得る。列１中のセンサ１の寄与ベクトルＣ＝［ｃ１  …  ｃｍ］はｃ１＝［０，１，１，２］であり得、ｃ２＝［０，１，１，１］であり得る。ツール解析モジュールは、寄与ベクトルＣ中の要素を最小値から最大値までソートすることができる。ｋ＝３であると仮定すると、Ｃ＝［１，１］であり、これは未知のサンプル中のセンサ１（６１１）が基準セットから１単位離れており、センサ２（６１３）が基準セットから１単位離れていることを示している。近傍ベクトルＮはあるサンプルが基準フィンガープリントから何単位であるかを表すことができ、寄与ベクトルＣは、近傍ベクトルＮの基準フィンガープリントからの任意の偏移を引き起こしている因子を表すことができる。
【００４０】
図８に戻ると、ＧＵＩ８００は、特定のランのセンサを表すｘ軸を含み得る。例えば、ｘ軸は、ラン４８のセンサデータ８１５を表し得る。ＧＵＩ８００は、解析されるべきデータと基準フィンガープリントとの間の距離を表すｙ軸８１０を含み得る。ツール解析モジュールは、寄与ベクトルＣを計算するために距離行列Ｄを用いることができる。例えば、最大寄与タイプ、要素寄与タイプ、及びｋ番目要素寄与タイプを含むがこれらに限定されない複数のタイプの寄与ベクトルＣが存在し得る。
【００４１】
ｋ番目要素寄与タイプについて、ベクトルＣ中の各要素は、対応するセンサの寄与である。１以下である距離値は、当該センサが、基準フィンガープリント内にあるサンプルデータに寄与していることを示し得る。１よりも大きいが２以下である距離値は、当該センサを更に検査及び／又は監視するよう警告をトリガし得る。２よりも大きい距離値は、当該センサが基準フィンガープリント内にないサンプルデータに寄与している可能性があることを示し得る。例えば、距離値８０５が２よりも大きく、対応するセンサが、基準フィンガープリントのパラメータ内にないサンプルデータに寄与していることを示すことができる。一実装では、値が大きくなればなるほど、センサと基準フィンガープリントとの間の差が大きくなる。
【００４２】
図９は、様々な実装による本開示に記載のツール解析モジュールの動作のうちの一又は複数を実行し得るコンピューティングデバイスの一例のブロック図である。一実装では、コンピューティングデバイスが、図２のツール解析モジュール２００をホスティングしているコンピューティングデバイスに相当する。計算装置９００には、本明細書に記載される一又は複数の任意の方法を当該マシンに実施させるための命令セットが含まれる。代替的な実装では、当該マシンがＬＡＮ、イントラネット、エクストラネット、又はインターネット中の他のマシンに接続され（例えば、ネットワーク接続され）得る。当該マシンは、クライアントとサーバ間のネットワーク環境において、サーバマシンとして動作し得る。当該マシンは、パーソナルコンピュータ（ＰＣ）、セットトップボックス（ＳＴＢ）、サーバ、ネットワークルータ、スイッチ又はブリッジ、又は当該マシンによって行われるべき動作を指定する（順次の又はその他の）命令セットを実行することができるいかなるマシンであってもよい。更に、単一のマシンのみを示したが、「マシン」という語はまた、本明細書に記載される一又は複数の任意の方法を実施するために、命令セット（又は複数の命令セット）を独立して、又は連帯して実行するマシンの任意の集合体を含むと理解すべきである。
【００４３】
例示のコンピュータデバイス９００には、バス９３０を介して互いに通信し合う、処理システム（例えば、処理装置９０２）、メインメモリ９０４（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ、例えば同期ＤＲＡＭ（ＳＤＲＡＭ）等のダイナミックランダムアクセスメモリ（ＤＲＡＭ））、スタティックメモリ９０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）等）、及びデータストレージ装置９１８が含まれる。
【００４４】
処理装置９０２は、マイクロプロセッサ、中央処理装置等の一又は複数の汎用処理装置を表している。更に具体的には、処理装置９０２は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ又は命令セットの組み合わせを実行するプロセッサであってよい。処理装置９０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ等の一又は複数の特殊用途処理装置であってもよい。処理装置９０２は、本明細書に記載される動作及びステップを実施するためのツール解析モジュール２００を実行するように構成される。
【００４５】
コンピューティングデバイス９００は更に、ネットワークインターフェース装置９０８を含み得る。コンピューティングデバイス９００は、ビデオディスプレイ装置９１０（例えば、液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、英数字入力装置９１２（例えば、キーボード）、カーソル制御装置９１４（例えば、マウス）、及び信号生成装置９１６（例えば、スピーカー）を含むこともできる。
【００４６】
データストレージ装置９１８は、本明細書に記載される一又は複数の任意の方法又は機能を具現化する一又は複数の命令セット（例えば、ツール解析モジュール２００の命令）が記憶される、コンピュータ可読記憶媒体９２８を含み得る。ツール解析モジュール２００はまた、完全に又は少なくとも部分的に、コンピューティングデバイス９００によって実行される間、メインメモリ９０４内、及び／又は処理装置９０２内に存在してもよく、メインメモリ９０４と処理装置９０２は、コンピュータ可読媒体も構成する。ツール解析モジュール２００は更に、ネットワークインターフェース装置９０８を介して、ネットワーク９２０上で送信又は受信され得る。
【００４７】
実装例において、コンピュータ可読記憶媒体９２８を単一の媒体として示したが、「コンピュータ可読記憶媒体」という語は、一又は複数の命令セットを記憶する単一の媒体、又は複数の媒体（例えば、集中データベース、又は分散データベース、及び／又は関連キャッシュ及びサーバ）を含むと理解すべきである。「コンピュータ可読記憶媒体」という語は、マシンによって実行される命令セットを記憶する、符号化する、又は伝達することができ、本開示の一又は複数の方法をマシンに実施させる任意の媒体を含むとも理解すべきである。「コンピュータ可読記憶媒体」という語は従って、非限定的に、固体メモリ、光媒体、及び磁気媒体を含むと理解すべきである。
【００４８】
上述の記載では多くの詳細事項が述べられている。しかしながら、そのような具体的な詳細事項なしに本開示の実装が実施され得ることは、本開示からの利益を享受する当業者には明らかであろう。本開示を不明瞭にしないよう、周知の構造やデバイスが、詳細にではなくブロック図の形態で示されている場合もある。
【００４９】
詳細な記載のうちのある部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズム及び表象という観点から表されている。これらのアルゴリズム的記述と表現は、本発明の内容を他の当業者に最も効果的に伝えるために、データ処理分野の当業者によって使用される手段である。本明細書の、また一般的なアルゴリズムは、結果に至る複数のオペレーションの一連の自己無撞着シーケンスとして考慮される。これらのオペレーションは、物量の物理的操作を用いるオペレーションである。必ずしもではないが通常は、これらの物量は、記憶、転送、組み合わせ、比較、又はその他の方法で操作され得る電気又は磁気信号の形態である。これらの信号は、ビット、値、要素、記号、文字、用語、数字等で表されることが、主に共通使用の理由で便利であることが証明されている。
【００５０】
しかしながら、これら全ての用語、及び類似の用語は、適切な物量に関連付けられており、これらの物量に適用された単なる便宜上のラベルであることを留意しておくべきである。上記の説明で明らかであるように、特段の指示のない限り、本明細書全体において、「作成する」、「決定する」、「供給する」、「特定する」、「規定する」等の用語を用いた説明は、コンピュータシステムのレジスタ及びメモリ内の物量（例えば、電気量）として表されるデータを操作して、コンピュータシステムのメモリ又はレジスタ、又はその他の上記情報の記憶、送信、又はディスプレイ装置内の物量として同様に表される他のデータに変換するコンピュータシステム、又は同様の電子計算装置の動作及び処理を表すと認識される。
【００５１】
本開示の実装はまた、本開示に記載の動作を実施するための装置にも関連している。この装置は、要求される目的のために特別に構築され得、又はコンピュータに記憶されたコンピュータプログラムによって、選択的に作動する又は再構成される汎用コンピュータを備え得る。上記コンピュータプログラムは、コンピュータ可読記憶媒体、例えば非限定的に、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、または電子命令を記憶するのに適切な任意の種類の媒体に記憶され得る。
【００５２】
上記の説明は、限定ではなく例示を意図するものであることを理解されたい。上記記載を読み理解することで、多くの他の実装が当業者にとって明らかであろう。従って、本開示の範囲は、添付の特許請求の範囲が権利付与される均等物の完全な範囲と共に、それら特許請求の範囲を参照して決定されるべきである。
【図１】
0006629204.tif 000004
【図２】
0006629204.tif 000005
【図３】
0006629204.tif 000006
【図４】
0006629204.tif 000007
【図５】
0006629204.tif 000008
【図６】
0006629204.tif 000009
【図７】
0006629204.tif 000010
【図８】
0006629204.tif 000011
【図９】
0006629204.tif 000012