(57)【特許請求の範囲】
【請求項１】
システムであって、
コンピュータ実行可能コンポーネントを記憶するメモリと、
前記メモリに記憶された下記の前記コンピュータ実行可能コンポーネント、すなわち、
１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するとともに、前記候補プロセスモデルのセットの中から、目標出力値と予測出力値との間の最低の誤差と関連付けられた特定のプロセスモデルを選択する学習コンポーネントであって、前記候補プロセスモデルのセットのうちの第１の候補プロセスモデルは、前記プロセスデータの関数として、第１の出力のための第１の数学的モデルであり、前記候補プロセスモデルのセットのうちの第２の候補プロセスモデルは、前記プロセスデータの関数として、第２の出力のための第２の数学的モデルであって、前記第１の候補プロセスモデルは第１の数のパラメータと関連付けられ、前記第２の候補プロセスモデルは、前記第１の数とは異なる第２の数のパラメータと関連付けられている、学習コンポーネント及び、
前記特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するとともに、前記候補ソリューションのセットの中から、特定のソリューションを特定目標出力値及び前記特定のソリューションと関連付けられたウェハのための特定出力値に基づいて選択する最適化コンポーネントであって、前記候補ソリューションのセットのうちの候補ソリューションは、前記特定のプロセスモデルに関連付けられた入力パラメータのための値のセットを含む、最適化コンポーネント
を実行するように構成されるプロセッサとを備える、システム。
【請求項２】
前記プロセスデータが、センサ測定データ、スペクトルデータ、デバイス測定データ及びメンテナンスデータのうちの少なくとも１つを含むデータマトリクスと関連付けられる、請求項１に記載のシステム。
【請求項３】
前記学習コンポーネントが、前記候補プロセスモデルのセットからの前記特定のプロセスモデルの選択を容易にするために、前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する、予測される性能を示す品質値を生成する、請求項１に記載のシステム。
【請求項４】
前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する前記品質値が、平均二乗誤差計算に基づいて生成される、請求項３に記載のシステム。
【請求項５】
前記学習コンポーネントが、前記特定のソリューションに関して、前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する特異性の指標と関連付けられた多様性値を更に生成する、請求項３に記載のシステム。
【請求項６】
前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する前記多様性値が、余弦関数計算に基づいて生成される、請求項５に記載のシステム。
【請求項７】
前記学習コンポーネントが、前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する前記品質値及び前記多様性値に応じて前記候補プロセスモデルのセットの順位付けを生成する、請求項５に記載のシステム。
【請求項８】
前記学習コンポーネントが、前記候補プロセスモデルのセットの中から、１つ又は複数の他のプロセスモデルを前記順位付けに基づいて更に選択するとともに、前記特定のプロセスモデル及び前記１つ又は複数の他のプロセスモデルを短期間モデルメモリに記憶する、請求項７に記載のシステム。
【請求項９】
前記最適化コンポーネントが、前記候補ソリューションのセットからの前記特定のソリューションの選択を容易にするために、前記候補ソリューションのセットにおける各候補ソリューションに対する、予測される性能を示す品質値を生成する、請求項１に記載のシステム。
【請求項１０】
前記候補ソリューションのセットにおける各候補ソリューションに対する前記品質値が、平均二乗誤差計算に基づいて生成される、請求項９に記載のシステム。
【請求項１１】
前記最適化コンポーネントが、前記特定のソリューションに関して、前記候補ソリューションのセットにおける各候補ソリューションに対する特異性の指標と関連付けられた多様性値を更に生成する、請求項９に記載のシステム。
【請求項１２】
前記候補ソリューションのセットにおける各候補ソリューションに対する前記多様性値が、余弦関数計算に基づいて生成される、請求項１１に記載のシステム。
【請求項１３】
前記最適化コンポーネントが、前記候補ソリューションのセットにおける各候補ソリューションに対する前記品質値及び前記多様性値に応じて前記候補ソリューションのセットの順位付けを生成する、請求項１１に記載のシステム。
【請求項１４】
前記最適化コンポーネントが、前記候補ソリューションのセットの中から、１つ又は複数の他のソリューションを前記順位付けに基づいて更に選択するとともに、前記特定のソリューション及び前記１つ又は複数の他のソリューションを短期間最適化メモリに記憶する、請求項１３に記載のシステム。
【請求項１５】
方法であって、
１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するステップであって、前記候補プロセスモデルのセットのうちの第１の候補プロセスモデルは、前記プロセスデータの関数として、第１の出力のための第１の数学的モデルであり、前記候補プロセスモデルのセットのうちの第２の候補プロセスモデルは、前記プロセスデータの関数として、第２の出力のための第２の数学的モデルであって、前記第１の候補プロセスモデルは第１の数のパラメータと関連付けられ、前記第２の候補プロセスモデルは、前記第１の数とは第２の数のパラメータと関連付けられている、生成するステップと、
前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する、予測される性能を示す品質値を生成するステップと、
前記候補プロセスモデルのセットの中から、特定のプロセスモデルを前記候補プロセスモデルのセットにおける各候補プロセスモデルと関連付けられた前記品質値に基づいて選択するステップと、
前記特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するステップと、
前記候補ソリューションのセットの中から、特定のソリューションを特定目標出力値及び前記特定のソリューションと関連付けられたウェハのための特定出力値に基づいて選択するステップであって、前記候補ソリューションのセットのうちの候補ソリューションは、前記特定のプロセスモデルに関連付けられた入力パラメータのための値のセットを含む、選択するステップと
を含む動作を実施するために、非一時的なコンピュータ読み取り可能な媒体に記憶されたコンピュータ実行可能な命令の実行を促進するプロセッサを使用する段階を含む、方法。
【請求項１６】
前記特定のソリューションに関して、前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する特異性の指標を示す多様性値を生成するステップを更に含む、請求項１５に記載の方法。
【請求項１７】
前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する前記品質値及び前記多様性値に基づいて前記候補プロセスモデルのセットを順位付けするステップと、
候補プロセスモデルのサブセットを前記候補プロセスモデルのセットの前記順位付けに基づいて選択するステップと、
前記候補プロセスモデルのサブセットを短期間モデルメモリに記憶するステップとを更に含む、請求項１６に記載の方法。
【請求項１８】
前記候補ソリューションのセットにおける各候補ソリューションに対する、予測される性能を示す品質値及び特異性の指標を示す多様性値を生成するステップを更に含む、請求項１５に記載の方法。
【請求項１９】
前記候補ソリューションのセットにおける各候補ソリューションに対する前記品質値及び前記多様性値に基づいて前記候補ソリューションのセットを順位付けするステップと、
候補ソリューションのサブセットを前記候補ソリューションのセットの前記順位付けに基づいて選択するステップと、
前記候補ソリューションのサブセットを短期間最適化メモリに記憶するステップを更に含む、請求項１８に記載の方法。
【請求項２０】
プロセッサを含むシステムによる実行に応答して前記システムに動作を実行させるコンピュータ実行可能な命令が記憶されたコンピュータ読み取り可能な媒体であって、前記動作が、
１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するステップであって、前記候補プロセスモデルのセットのうちの第１の候補プロセスモデルは、前記プロセスデータの関数として、第１の出力のための第１の数学的モデルであり、前記候補プロセスモデルのセットのうちの第２の候補プロセスモデルは、前記プロセスデータの関数として、第２の出力のための第２の数学的モデルであって、前記第１の候補プロセスモデルは第１の数のパラメータと関連付けられ、前記第２の候補プロセスモデルは、前記第１の数とは異なる第２の数のパラメータと関連付けられている、生成するステップと、
前記候補プロセスモデルのセットにおける各候補プロセスモデルに対する、予測される性能を示す品質値を生成するステップと、
前記候補プロセスモデルのセットの中から、特定のプロセスモデルを前記候補プロセスモデルのセットにおける各候補プロセスモデルと関連付けられた前記品質値に基づいて選択するステップと、
前記特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するステップと、
前記候補ソリューションのセットの中から、特定のソリューションを特定目標出力値及び前記特定のソリューションと関連付けられたウェハのための特定出力値に基づいて選択するステップであって、前記候補ソリューションのセットのうちの候補ソリューションは、前記特定のプロセスモデルに関連付けられた入力パラメータのための値のセットを含む、選択するステップとを含む、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１３年１２月５日に出願されるとともに、“SYSTEM  AND  METHOD  FOR  LEARNING  AND/OR  OPTIMIZING  MANUFACTURING  PROCESSES”と表題が付けられた米国特許出願第14/097,907号に対する優先権を主張するとともに、その全体は参照によりここに組み込まれている。
【０００２】
説明されるとともに権利請求された主題は、一般に、製造プロセスを学習及び／又は最適化するための技術に関する。
【背景技術】
【０００３】
技術の進歩は、ますます複雑になるプロセス駆動型の自動化装置をもたらす。特定の目標を達成するか、又は特定の非常に技術的なプロセスを実行するツールシステムは、目標に到達するか、首尾良くプロセスを実行するための複数の機能要素と、装置の動作を監視するためにデータを収集する様々なセンサとを一般に組み込むことができる。そのような自動化装置は、大量のデータを生成することができる。データは、特定のタスクの一部として実行された製品若しくはサービスに関連する情報、及び／又は、プロセスに関連するかなりのログ情報を含むことができる。例えば、プロセスデータ及び／又は計測データは、製造プロセス中に収集されることができ、及び／又は、１つ以上のデータセットに記憶されることができる。
【０００４】
現代の電子ストレージ技術は、絶えず増加している量のデータを保持することを提供することができる一方、蓄積されたデータの利用は、決して最高の状態を維持しない。収集された情報の検査と解釈は、一般に人間の介入を必要とする。さらに、収集された情報は、取得することが制限されるか、及び／又は費用がかかることがあり得る。例えば、半導体製造ツールのプロセスは、１７時間（例えば、６１、２００秒）の間動作し得る。処理中、半導体製造ツールは、例えば数百のセンサによって、毎秒センサ測定値を出力し得る。それにより、出力されたセンサ測定値を含む多数のデータセットは、その後、プロセス開発及び／又はトラブルシューティングの活動中に、（例えば、プロセスエンジニアにより）手動で検討される必要がある。さらに、半導体製造ツールに関連するプロセスが終了する場合に、半導体製造ツールにより生成されたいくらかのウエハについての品質（例えば、厚さ、粒子数）は、（例えば、製造エンジニアにより）手動で測定されなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
今日の製造システムの上述の欠点は、単に従来のシステムの問題のいくつかの概要を提供することを意図するものであり、網羅的であることを意図するものではない。従来のシステムについての他の問題、及びここで説明された様々な非限定的な実施例の対応する利点は、下記の説明を検討することにより更に明らかになるであろう。
【課題を解決するための手段】
【０００６】
下記は、本明細書のいくつかの態様の基本的理解を提供するために、明細書の簡略化した概要を提示する。この要約は、本明細書の広範な概要ではない。それは、本明細書の主要若しくは重要な要素を特定すること、又は、明細書の特定の実装例のあらゆる範囲若しくは請求項のあらゆる範囲を線引きすることも意図していない。その唯一の目的は、あとで提示される更に詳細な説明の前置きとして、簡略化した形で本明細書のいくつかの概念を提示することである。
【０００７】
一実装例によれば、システムは、学習コンポーネントと、最適化コンポーネントとを含む。学習コンポーネントは、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するとともに、候補プロセスモデルのセットの中から、最低の誤差と関連付けられた特定のプロセスモデルを選択する。最適化コンポーネントは、特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するとともに、候補ソリューションのセットの中から、特定のソリューションを目標出力値及び特定のソリューションと関連付けられた出力値に基づいて選択する。
【０００８】
別の実装例によれば、方法は、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するステップと、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値を生成するステップと、候補プロセスモデルのセットの中から、特定のプロセスモデルを候補プロセスモデルのセットにおける各候補プロセスモデルと関連付けられた品質値に基づいて選択するステップと、特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するステップと、候補ソリューションのセットの中から、特定のソリューションを目標出力値及び特定のソリューションと関連付けられた出力値に基づいて選択するステップとを提供する。
【０００９】
さらに別の実装例によれば、プロセッサを含むシステムによる実行に応答してシステムに動作を実行させるコンピュータ実行可能な命令が記憶されたコンピュータ読み取り可能な媒体であって、動作は、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成するステップと、候補プロセスモデルのセットにおけるそれぞれの候補プロセスモデルに対する品質値を生成するステップと、候補プロセスモデルのセットの中から、特定のプロセスモデルを候補プロセスモデルのセットにおけるそれぞれの候補プロセスモデルと関連付けられた品質値に基づいて選択するステップと、特定のプロセスモデルと関連付けられた候補ソリューションのセットを生成するステップと、候補ソリューションのセットの中から、特定のソリューションを目標出力値及び特定のソリューションと関連付けられた出力値に基づいて選択するステップとを含む。
【００１０】
下記の説明及び添付の図面は、本明細書のいくつかの例示的な態様を説明する。しかしながら、これらの態様は、本明細書の原理が使用され得る様々な方法のうちのほんのいくつかを表している。本明細書の他の利点及び新規な特徴は、図面とともに考慮される場合に、本明細書の下記の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】ここで説明された様々な態様及び実装例による、半導体生産に関するプロセスを学習及び／又は最適化するための代表的なシステムを例示する構成図である。
【図２】ここで説明された様々な態様及び実装例による、代表的な学習コンポーネントを例示する構成図である。
【図３】ここで説明された様々な態様及び実装例による、代表的な最適化コンポーネントを例示する構成図である。
【図４】ここで説明された様々な態様及び実装例による、短期間メモリを含む半導体の生産に関するプロセスを学習及び／又は最適化するための代表的なシステムを例示する構成図である。
【図５】ここで説明された様々な態様及び実装例による、ユーザ入力に基づいて半導体生産に関するプロセスを学習及び／又は最適化するための代表的なシステムを例示する構成図である。
【図６】ここで説明された様々な態様及び実装例による、代表的なデータマトリクスを例示する。
【図７】ここで説明された様々な態様及び実装例による、候補プロセスモデルの代表的な順位付けを例示する。
【図８】ここで説明された様々な態様及び実装例による、候補ソリューションの代表的な順位付けを例示する。
【図９】ここで説明された様々な態様及び実装例による、半導体製造システムにおいてプロセスを学習、制御及び／又は最適化するための一例の方法論のフローチャートである。
【図１０】ここで説明された様々な態様及び実装例による、半導体製造システムにおいてプロセスを学習するための一例の方法論のフローチャートである。
【図１１】ここで説明された様々な態様及び実装例による、半導体製造システムにおいてプロセスを制御及び／又は最適化するための一例の方法論のフローチャートである。
【図１２】適切な動作環境を例示する概要の構成図である。
【図１３】サンプルのコンピューティング環境の概要の構成図である。
【発明を実施するための形態】
【００１２】
本開示の様々な態様が、ここで、全体を通して同様の参照番号が同様の要素を指すために使用される図面を参照して説明される。下記の説明では、説明の目的のために、多数の特定の詳細が、１つ又は複数の態様の完全な理解を提供するために説明される。しかしながら、本開示の特定の態様は、これらの特定の詳細なしで、又は、他の方法、コンポーネント、材料などによって、実施され得る、ということが理解されるべきである。他の場合において、周知の構造及びデバイスは、１つ又は複数の態様を説明することを容易にするために、ブロック図形式で示される。
【００１３】
技術の進歩は、ますます複雑になるプロセス駆動型の自動化装置をもたらす。特定の目標を達成するか、又は特定の非常に技術的なプロセスを実行するツールシステムは、目標に到達するか、首尾良くプロセスを実行するための複数の機能要素と、装置の動作を監視するためにデータを収集する様々なセンサとを一般に組み込むことができる。そのような自動化装置は、大量のデータを生成することができる。データは、特定のタスクの一部として実行された製品若しくはサービスに関連するかなりの量の情報、及び／又は、１つ若しくは複数のプロセスに関連するかなりのログ情報を含むことができる。現代の電子ストレージ技術は、絶えず増加している量のデータを保持することを提供することができる一方、蓄積されたデータの利用は、決して最高の状態を維持しない。収集された情報の検査と解釈は、一般に人間の介入を必要とする。さらに、収集された情報は、取得することが制限されるか、及び／又は費用がかかることがあり得る。
【００１４】
これを受けて、製造（例えば、半導体製造）に関連するプロセスを学習及び／又は最適化するための技術が開示される。例えば、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて候補プロセスモデルのセットが生成されることができる。さらに、候補プロセスモデルのセットの中から、最低の誤差と関連付けられた特定のプロセスモデルが選択されることができる。つまり、特定のプロセスモデルと関連付けられた候補ソリューションのセットが生成されることができる。さらに、候補ソリューションのセットの中から、特定のソリューションが目標出力値及び特定のソリューションと関連付けられた出力値に基づいて選択されることができる。それにより、プロセスデータの量及び／又はプロセスデータの品質は、漸進的な学習及び／又は漸進的な最適化を継続的に提供することにより、改善されることができる。さらに、プロセスデータを取得するためのコストは削減されることができる。したがって、製造ツールの出力結果は、経時的に絶えず改善されることができる。一態様において、短期間メモリ（例えば、短期間モデルメモリ）は、１つ又は複数のプロセスモデルを記憶するために実装されることができる。その上又はその代わりに、別の短期間メモリ（例えば、短期間最適化メモリ）が、１つ又は複数のソリューション（例えば、１つ又は複数のプロセス設定値）を記憶するために実装されることができる。
【００１５】
図１を最初に参照すると、対象の開示の一態様による、製造（例えば、半導体生産）に関連するプロセスを学習及び／又は最適化するための一例のシステム１００が例示される。システム１００は、（複数の）製造ツール１１０、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０、メンテナンス監視装置１５０、報告コンポーネント１６０及び分析コンポーネント１７０を含むことができる。分析コンポーネント１７０は、学習コンポーネント１８０、及び最適化コンポーネント１９０を含むことができる。（複数の）製造ツール１１０は、製造（例えば、半導体製造）のための１つ若しくは複数のツール及び／又は１つ若しくは複数のチャンバーを含むことができる。一態様において、（複数の）製造ツール１１０は、半導体製造システムと関連付けられることができる。例えば、図１において示されたように、（複数の）製造ツール１１０は、入力されたウエハ１０２を受け取ることができ、そして処理されたウエハ１０４を出力することができる。しかしながら、（複数の）製造ツール１１０は、異なるタイプのアセット（asset）を受け取ることができるか、及び／又は生成することができる、ということが認識されるべきである。代表的な非限定的な実施例において、（複数の）製造ツール１１０は、キャビティ及びフィーチャが形成された処理されたウエハ１０４を生成するために、エッチングプロセス（例えば、ウェットエッチング、ドライエッチング、プラズマエッチングなど）によって入力されたウエハ１０２からマスクされていない材料を除去するエッチングツールであり得る。（複数の）製造ツール１１０は、同様に、処理されたウエハ１０４を生成するために材料を入力されたウエハ１０２に蒸着する蒸着ツール（例えば、原子層蒸着、化学蒸着など）であり得る。しかしながら、（複数の）製造ツール１１０は、異なるタイプの製造システムと関連付けられることができる、ということが認識されるべきである。
【００１６】
分光器１２０、ツールセンサ１３０、デバイス測定装置１４０及び／又はメンテナンス監視装置１５０のようないろいろな測定デバイスは、プロセスの様々な態様、状態又は結果に関する本質的に異なる情報を獲得するために、（複数の）製造ツール１１０により実行される１つ又は複数のプロセスを監視することができる。一例として、分光器１２０は、スペクトルデータ（例えば、スペクトル強度情報）を獲得することができる。例えば、スペクトルデータは、分光器１２０により認識可能なそれぞれの波長又はスペクトル線に対する強度のセットを含むことができる。一例において、スペクトルデータは、時系列データを含むことができ、その結果、分光器１２０は、定期的な間隔（例えば、毎秒、２秒毎、１００ミリ秒毎など）でそれぞれの波長に対する強度を測定する。分光器１２０は、同様に、スペクトルデータを、（複数の）製造ツール１１０により処理された特定のウエハと関連付けられたウエハＩＤと互いに関係づけることができる。それにより、分光器１２０は、（複数の）製造ツール１１０により処理された各ウエハに対するスペクトルデータを個別に獲得することができる。
【００１７】
ツールセンサ１３０は、（複数の）製造ツール１１０が入力されたウエハ１０２を処理する間、ツール動作特性を監視及び／又は測定することができる。さらに、ツールセンサ１３０は、対応するセンサ測定データを生成することができる。分光器１２０で測定されたスペクトルデータと同様のセンサ測定データは、ウエハ毎に相関性がある時系列データであり得る。センサ測定データは、様々なセンサからの測定値を含むことができる。そのような測定値は、下記には限定されないが、（複数の）製造ツール１１０の１つ又は複数のチャンバーの中の圧力、１つ又は複数の識別可能なガスについてのガスフロー、温度、上部高周波（ＲＦ）電力、最後の水洗いからの経過時間、工具部品の年数などを含むことができる。一態様において、センサ測定データは、物理量と関連付けられることができる。別の態様において、センサ測定データは、仮想量と関連付けられることができる。
【００１８】
デバイス測定装置１４０は、デバイス測定データを生成することができる。例えば、デバイス測定装置１４０は、ウエハ、及び／又はウエハ上に製造されたフィーチャの物理的及び幾何学的な特性を測定することができる。例えば、デバイス測定装置１４０は、ウエハの所定の場所又は領域における現像検査限界寸法（development  inspection  critical  dimension：ＤＩ−ＣＤ）、最終検査限界寸法（final  inspection  critical  dimension：ＦＩ−ＣＤ）、エッチバイアス、厚さなどを測定することができる。測定された特性は、場所毎、ウエハ毎に集計されるとともに、デバイス測定情報として出力されることができる。ウエハの特性は、概して、処理のまえに、又は処理のあとで測定される。それにより、デバイス測定データは、スペクトルデータ及びセンサデータと比較すると、異なる間隔で獲得された時系列データであることができる。
【００１９】
メンテナンス監視装置１５０は、（複数の）製造ツール１１０と関連付けられたメンテナンスデータを獲得するか、及び／又は生成するために実装されることができる。例えば、メンテナンスデータは、下記には限定されないが、最後の予防メンテナンスからの経過時間、（複数の）製造ツール１１０と関連付けられた１つ又は複数のコンポーネントの年数（例えば、コンポーネントと関連付けられた生産時間）などを含むことができる。
【００２０】
報告コンポーネント１６０及び／又は分析コンポーネント１７０は、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０及び／若しくはメンテナンス監視装置１５０により獲得されたか、並びに／又は生成されたデータ（例えばプロセスデータ）を受け取ることができる。一態様において、報告コンポーネント１６０及び／又は分析コンポーネント１７０は、（例えば、オンラインモードの間）プロセスデータが生成されるので、プロセスデータを受け取ることができる。別の態様において、報告コンポーネント１６０及び／又は分析コンポーネント１７０は、（複数の）製造ツール１１０と関連付けられた１つ又は複数のプロセスの完了時に、プロセスデータを受け取ることができる。一態様において、プロセスデータは、データマトリクスに統合されることができる。例えば、データマトリクスは、センサ測定データ、スペクトルデータ、デバイス測定データ及び／又はメンテナンスデータを含むことができる。別の態様において、データマトリクス（例えば、新しいデータマトリクス）は、新しい学習サイクルを開始するために追加的に生成されることができる。
【００２１】
一態様において、報告コンポーネント１６０は、プロセスデータを正規化することができる。例えば、報告コンポーネント１６０は、（複数の）製造ツール１１０と関連付けられた誤差を明らかにするために、プロセスデータを正規化することができる。例えば、報告コンポーネント１６０は、（複数の）製造ツール１１０に含まれる異なるツール及び／又はチャンバーにおけるスペクトル線の強度の測定誤差を明らかにするために、スペクトルデータ（例えば、測定された強度）を正規化することができる。非限定的な実例において、報告コンポーネントは、プロセスデータを正規化するために、（複数の）製造ツール１１０に含まれる任意に選択された参照チャンバー又は参照ツールと関連付けられた変数（例えば、合計の光強度）を計算することができる。
【００２２】
１つ又は複数の実施例において、プロセスデータは、（複数の）製造ツール１１０のそれぞれの実行の間に測定されたパラメータデータ及び／又は性能データを記録するツールプロセスログから導出されることができる。ツールプロセスログは、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０及び／又はメンテナンス監視装置１５０からの測定データを含むことができる。そのようなツールプロセスログにおいて記録された測定値は、下記には限定されないが、センサ読み取り値（例えば、圧力、温度、電力など）、メンテナンス関連読み取り値（例えば、フォーカスリングの年数、マスフローコントローラの年数、最後に行われたメンテナンスからの時間、レジストがロードされた最後のバッチ処理からの時間など）、及び／又は、ツール及び性能統計値（例えば、ウエハを処理するための時間、化学薬品消費量、ガス消費量など）を含むことができる。
【００２３】
代表的なシナリオにおいて、ツールプロセスログは、（複数の）製造ツール１１０の各プロセス実行の終りに報告コンポーネント１６０により生成されることができる。プロセス実行の終わりにおいて、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０又はメンテナンス監視装置１５０のうちの１つ若しくは複数のデータは、報告コンポーネント１６０に提供されることができ、報告コンポーネント１６０は、収集されたデータを実行のためのツールプロセスログに集計することができる。ツールプロセスログは、実行の間に処理された単一の半導体ウエハ、又は実行の間に製造された半導体のバッチ処理に対応することができる。その場合に、ツールプロセスログは、報告のために、又はアーカイブ目的のために、記憶されることができる。一態様において、プロセスデータは、報告コンポーネント１６０、又は関連のデバイスにより自動的に提供されることができる。別の態様において、プロセスデータは、オペレータにより手動で分析コンポーネント１７０に提供されることができる。
【００２４】
前述の実例は、プロセスデータを、ツールプロセスログから検索又は抽出されるものとして説明するが、プロセスデータは、他の方法により分析コンポーネント１７０に同様に提供され得る、ということが認識されるべきである。例えば、いくつかの実施例において、プロセスデータの全て又はサブセットが、デバイス１２０、１３０、１４０及び／又は１５０から分析コンポーネント１７０に直接的に提供され得る。
【００２５】
学習コンポーネント１８０は、（複数の）製造ツール１１０と関連付けられたプロセスデータに基づいて候補プロセスモデルのセットを生成することができる。候補プロセスモデルのセットにおける各候補プロセスモデルは、数学的なプロセスモデル（例えば、候補関数）であることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルは、プロセスデータ（例えば、調整可能な入力、入力パラメータなど）に応じて出力に対する数学的なプロセスモデルを学習するために実装されることができる。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルは、１つ又は複数の遺伝的アルゴリズム（例えば、遺伝的プログラミング）を用いて生成されることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルは、曲線近似手法を用いて生成されることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルは、線形近似、多段線形近似、多項式曲線近似、ニューラルネットワークなどを用いて生成されることができる。しかしながら、候補プロセスモデルのセットにおける各候補プロセスモデルは、異なるタイプの手法を用いて生成されることができる、ということが認識されるべきである。さらに別の態様において、学習コンポーネントは、新しいプロセスデータ（例えば、（複数の）製造ツール１１０と関連付けられた新しい実行に関連する新しいプロセスデータ、（複数の）製造ツール１１０と関連付けられた新しい実行に関連する新しいステップと関係がある新しいプロセスデータなど）を受け取ることに応答して候補プロセスモデルの新しいセットを生成することができる。
【００２６】
一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルは、異なる量のプロセスデータと関連付けられることができる。例えば、第１の候補プロセスモデルは第１の量のプロセスデータと関連付けられることができ、第２の候補プロセスモデルは第２の量のプロセスデータと関連付けられることができる。その上又はその代わりに、候補プロセスモデルのセットにおける候補プロセスモデルのうちの１つ又は複数は、異なる数のパラメータ（例えば、入力パラメータ、調整可能な入力など）と関連付けられることができる。例えば、第１の候補プロセスモデルは第１の数のパラメータと関連付けられることができ、第２の候補プロセスモデルは第２の数のパラメータと関連付けられることができる、などになる。別の態様において、ユーザは、各々のパラメータ（例えば、入力パラメータ、調整可能な入力など）に対する範囲（例えば、最小値、最大値、平均値、標準偏差値など）を指定することができる。
【００２７】
学習コンポーネント１８０は、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値（例えば、予測される性能値）を生成することができる。品質値は、対応する候補プロセスモデルに対する予測される性能の指標であることができる。例えば、品質値は、候補プロセスモデルの予測される出力を候補プロセスモデルの測定された出力と比較する指標であることができる。一態様において、品質値は、平均二乗誤差（ＭＳＥ）に基づいて生成されることができる。例えば、品質値は、ＭＳＥの平方根に基づいて生成されることができる。別の態様において、品質値は、相関に基づいて生成されることができる。さらに別の態様において、品質値は、決定係数（Ｒ２）に基づいて生成されることができる。しかしながら、別のタイプの品質測定値が品質値を生成するために実装されることができる、ということが認識されるべきである。一態様において、学習コンポーネント１８０は、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質測定値を正規化することができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、１／（１−ＭＳＥ）に等しくすることができる。
【００２８】
さらに、学習コンポーネント１８０は、多様性値（例えば、類似性の値（similarity  value）、特異性の値（uniqueness  value）など）を生成することができる。多様性値は、候補プロセスモデルのセットにおける別の候補プロセスモデルに対する候補プロセスモデルの特異性の指標であることができる。例えば、候補プロセスモデルのセットにおける候補プロセスモデルにより生成される出力値は、候補プロセスモデルのセットにおける他の候補プロセスモデルにより生成される他の出力値と比較されることができる。一例において、候補プロセスモデルの出力が別の候補プロセスモデルの出力に等しい場合に、多様性値はゼロに等しくすることができる。一態様において、多様性値は、余弦関数（例えば、候補プロセスモデルと関連付けられた第１の出力ベクトル及び別の候補プロセスモデルと関連付けられた第２の出力ベクトル）に基づいて生成されることができる。別の態様において、多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）に基づいて生成されることができる。別の態様において、多様性値は、類似性測定値の逆数に基づいて生成されることができる。しかしながら、別のタイプの多様性測定値（例えば、類似性測定値）が多様性値を生成するために実装されることができる、ということが認識されるべきである。
【００２９】
学習コンポーネント１８０は、最高品質を有する特定の候補プロセスモデル（例えば、最高品質のプロセスモデル）を判定するために、候補プロセスモデルのセットにおける各候補プロセスモデルを比較することができる。例えば、学習コンポーネント１８０は、最低のＭＳＥ値を有する特定の候補プロセスモデルを判定するために、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値を比較することができる。別の実例において、学習コンポーネント１８０は、最高の性能値（例えば、１／（１−ＭＳＥ））を有する特定の候補プロセスモデルを判定するために、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値を比較することができる。つまり、学習コンポーネント１８０は、候補プロセスモデルのセットの中から、最低の誤差と関連付けられた特定のプロセスモデルを選択することができる。さらに、候補プロセスモデルのセットにおける各候補プロセスモデル対して生成された品質値は、候補プロセスモデルのセットからの特定のプロセスモデルの選択を容易にすることができる。
【００３０】
さらに、学習コンポーネント１８０は、候補プロセスモデルのセットにおける各候補プロセスモデルを順位付けすることができる。例えば、学習コンポーネント１８０は、対応する品質値及び対応する多様性値に基づいて、（例えば、最高品質のプロセスモデルに対して）候補プロセスモデルのセットにおける各残りの候補プロセスモデルを順位付けすることができる。つまり、候補プロセスモデルの順位付けは、品質に基づいて、そして多様性に基づいて、最初に記憶されることができる。例えば、最高品質のプロセスモデルは、１位に順位付けされることができる。候補プロセスモデルのセットにおける残りの候補プロセスモデルは、各残りの候補プロセスモデルと関連付けられた品質値に基づいて、最高品質のプロセスモデルに対して順位付けされることができる。その場合に、候補プロセスモデルのセットにおける残りの候補プロセスモデルは、各残りの候補プロセスモデルと関連付けられた多様性値に基づいて、最高品質のプロセスモデルに対して更に順位付けされることができる。より高い多様性値（例えば、より大きい特異性に対応する）は、より高い順位と関連付けられることができる。つまり、最高品質のプロセスモデルに対してより特異であると同時に、品質においてより高い候補プロセスモデルは、より高く順位付けされることができる。一態様において、学習コンポーネント１８０は、加重平均に基づいて、最高品質のプロセスモデルに対して、候補プロセスモデルのセットにおける各残りの候補プロセスモデルを順位付けすることができる。しかしながら、学習コンポーネント１８０は、異なる順位付け手法に基づいて、最高品質のプロセスモデルに対して、候補プロセスモデルのセットにおける各残りの候補プロセスモデルを順位付けすることができる、ということが認識されるべきである。
【００３１】
一態様において、学習コンポーネント１８０は、候補プロセスモデルのセットのサブセットを選択することができる。例えば、学習コンポーネント１８０は、候補プロセスモデルの順位付けに基づいて、候補プロセスモデルのサブセットを選択することができる。非限定的な実例において、学習コンポーネント１８０は、３つの最も高く順付けされた候補プロセスモデル（例えば、最高品質のプロセスモデル、及び最高品質のプロセスモデルのあとに順位付けされた２つの他の候補プロセスモデル）を選択することができる。それにより、学習コンポーネント１８０は、候補プロセスモデルのセットと関連付けられた品質値及び多様性値の順位付けに基づいて、候補プロセスモデルのセットの中から１つ又は複数のプロセスモデルを選択することができる。一態様において、学習コンポーネント１８０は、順位付け、及びメモリ（例えば、短期間モデルメモリ）と関連付けられた利用可能なサイズに基づいて、候補プロセスモデルのサブセットを選択することができる。例えば、学習コンポーネント１８０は、メモリ（例えば、短期間モデルメモリ）と関連付けられた使用可能な記憶場所を満たすように、順位付けに基づいて、候補プロセスモデルのサブセットを選択することができる。
【００３２】
最適化コンポーネント１９０は、目標出力値を受け取ることができる。さらに、最適化コンポーネント１９０は、候補ソリューションのセットを生成することができる。各ソリューションは、最高品質のプロセスモデル（例えば、学習コンポーネント１８０により選択されたプロセスモデル）と関連付けられた入力に対する値のセットであることができる。例えば、最高品質のプロセスモデルは、複数の入力（例えば、入力パラメータ）と関連付けられることができる。各候補ソリューションは、最高品質のプロセスモデルと関連付けられた各入力に対する値を含むことができる（例えば、各候補ソリューションは入力値のセットを含むことができる）。一態様において、最適化コンポーネント１９０は、１つ又は複数の遺伝的アルゴリズム（例えば、最適化のための遺伝的アルゴリズム）に基づいて、候補ソリューションのセットを生成することができる。別の態様において、最適化コンポーネント１９０は、シミュレーテッドアニーリングに基づいて、候補ソリューションのセットを生成することができる。さらに別の態様において、最適化コンポーネント１９０は、山登り最適化手法に基づいて、候補ソリューションのセットを生成することができる。しかしながら、最適化コンポーネント１９０は、異なるタイプの最適化手法に基づいて、候補ソリューションのセットを生成することができる、ということが認識されるべきである。
【００３３】
最適化コンポーネント１９０は、候補ソリューションのセットにおける各候補ソリューションに対する出力値（例えば、結果値）を予測するために、最高品質のプロセスモデル（例えば、学習コンポーネント１８０により選択されたプロセスモデル）を利用することができる。それにより、最適化コンポーネント１９０は、最高品質のプロセスモデル（例えば、学習コンポーネント１８０により選択されたプロセスモデル）に基づいて、候補プロセスパラメータのセットを生成することができる。
【００３４】
最適化コンポーネント１９０は、候補ソリューションのセットにおける各候補ソリューションに対する品質値（例えば、予測される性能値）を生成することができる。品質値は、対応する候補ソリューションに対する予測される性能の指標あることができる。例えば、品質値は、目標出力値と、候補ソリューションと関連付けられた出力値（例えば、予測される出力値）との間の誤差の指標であることができる。一態様において、品質値は、ＭＳＥに基づいて生成されることができる。例えば、品質値は、正規化されたＭＳＥに基づいて生成されることができる。別の態様において、品質値は、相関に基づいて生成されることができる。さらに別の態様において、品質値は、決定係数（Ｒ２）に基づいて生成されることができる。しかしながら、別のタイプの品質測定値が品質値を生成するために実装されることができる、ということが認識されるべきである。
【００３５】
最適化コンポーネント１９０は、対応する品質値及び目標出力値に基づいて、候補ソリューションのセットにおける各候補ソリューションを順位付けすることができる。例えば、最適化コンポーネント１９０は、最高品質を有する候補ソリューション（例えば、目標出力値と、候補ソリューションと関連付けられた予測される出力値との間で最低の誤差を有する候補ソリューション）を選択するために、候補ソリューションのセットにおける候補ソリューションのそれぞれを順位付けすることができる。つまり、最適化コンポーネント１９０は、最高品質を有する候補ソリューション（例えば、最高品質のソリューション）を判定することができる。したがって、候補ソリューションのセットにおける各候補ソリューションに対する品質値は、最高品質のソリューションの選択を容易にすることができる。それにより、最適化コンポーネント１９０は、目標出力値、及び最高品質のソリューションと関連付けられた出力値（例えば、予測される出力値）に基づいて、最高品質のソリューションを選択することができる。
【００３６】
さらに、最適化コンポーネント１９０は、候補ソリューションのセットにおける各候補ソリューションに対する多様性値を生成することができる。多様性値は、最高品質のソリューション（例えば、最高品質を有する候補ソリューション）に対する特定の候補ソリューションの特異性の指標であることができる。一態様において、多様性値は、余弦関数（例えば、特定の候補ソリューションと関連付けられた第１の出力ベクトル及び最高品質のソリューションと関連付けられた第２の出力ベクトル）に基づいて生成されることができる。別の態様において、多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）に基づいて生成されることができる。別の態様において、多様性値は、類似性測定値の逆数に基づいて生成されることができる。しかしながら、別のタイプの多様性測定値が多様性値を生成するために実装されることができる、ということが認識されるべきである。
【００３７】
最適化コンポーネント１９０は、最高品質のソリューションを候補ソリューションのセットにおける他の候補ソリューションと比較することができる。例えば、最適化コンポーネント１９０は、品質及び多様性に基づいて、最高品質のソリューションに対して、候補ソリューションのセットにおける各残りの候補ソリューションを順位付けすることができる。例えば、最高品質のソリューションは、１位に順位付けされることができる。したがって、候補ソリューションのセットにおける残りの候補ソリューションは、残りの候補ソリューションのそれぞれと関連付けられた品質値に基づいて、最高品質のソリューションに対して順位付けされることができる。その場合に、候補ソリューションのセットにおける残りの候補ソリューションは、残りの候補ソリューションのそれぞれと関連付けられた多様性値に基づいて、最高品質のソリューションに対して更に順位付けされることができる。つまり、最高品質のソリューションに対してより特異であると同時に、品質においてより高い候補ソリューションは、より高く順位付けされることができる。一態様において、最適化コンポーネント１９０は、加重平均に基づいて、最高品質のソリューションに対して、候補ソリューションのセットにおける各残りの候補ソリューションを順位付けすることができる。しかしながら、最適化コンポーネント１９０は、異なる順位付け手法に基づいて、最高品質のソリューションに対して、候補ソリューションのセットにおける各残りの候補ソリューションを順位付けすることができる、ということが認識されるべきである。
【００３８】
一態様において、最適化コンポーネント１９０は、候補ソリューションのセットのサブセットを選択することができる。例えば、最適化コンポーネント１９０は、候補ソリューションの順位付けに基づいて、候補ソリューションのサブセットを選択することができる。非限定的な実例において、最適化コンポーネント１９０は、３つの最も高く順位付けされた候補ソリューション（例えば、最高品質のソリューション、及び最高品質のソリューションのあとに順位付けされた２つの他の候補ソリューション）を選択することができる。それにより、最適化コンポーネント１９０は、候補ソリューションのセットと関連付けられた品質値及び多様性値の順位付けに基づいて、候補ソリューションのセットの中から１つ又は複数のソリューションを選択することができる。一態様において、最適化コンポーネント１９０は、順位付け、及びメモリ（例えば、短期間最適化メモリ）と関連付けられた利用可能なサイズに基づいて、候補ソリューションのサブセットを選択することができる。例えば、最適化コンポーネント１９０は、メモリ（例えば、短期間最適化メモリ）と関連付けられた使用可能な記憶場所を満たすように、順位付けに基づいて、候補ソリューションのサブセットを選択することができる。
【００３９】
一態様において、学習コンポーネント１８０は、異なる選択されたプロセスモデル（例えば、新しいプロセスモデル）を最適化コンポーネント１９０に更に送信することができる。最適化コンポーネント１９０は、異なる選択されたプロセスモデルの出力値（例えば、予測される出力値）と、異なる選択されたプロセスモデルと関連付けられた入力パラメータの差を計算するために、数値微分法を利用することができる（例えば、数値導関数が異なる選択されたプロセスモデルと関連付けられた各利用可能な入力パラメータに対して計算されることができる）。つまり、最適化コンポーネント１９０は、ゼロでない一次導関数を有する入力パラメータに対する修正をただ単に判定するように構成されることができる。それにより、最適化コンポーネント１９０は、新しいプロセスモデルに関しての出力値に影響を与える入力パラメータに対する修正についての検索を制限することができる。
【００４０】
したがって、学習コンポーネント１８０により選択されたプロセスモデルは、所望の目標出力値を達成するために、入力パラメータを調整することにより、製造プロセスを制御するか、及び／又は最適化するために利用されることができる。例えば、入力パラメータは、学習コンポーネントにより選択されたプロセスモデルの出力値（例えば、予測される出力値）が目標出力値と関連付けられた所望の範囲内にあるように、調整されることができる（例えば、実行毎に調整される、ステップ毎に調整されるなど）。（複数の）製造ツール１１０と関連付けられたプロセスは、その場合に、最適化コンポーネント１９０により識別されたパラメータ値（例えば、ソリューション）によって実行されることができる。プロセスの終了と同時に、実際の出力が測定されることができ、そして測定された出力と予測される出力との間の差が誤差として計算されることができる。したがって、プロセスの最適化は、（複数の）製造ツール１０８と関連付けられた製造プロセスの間に誤差をゼロに至らせること（例えば、（複数の）製造ツール１０８と関連付けられた製造プロセスが最適に制御されることができる）と認識されることができる。
【００４１】
図２は、本開示の様々な態様及び実装例による、システム２００の非限定的な実装例を例示する。システム２００は、学習コンポーネント１８０を含む。学習コンポーネント１８０は、候補コンポーネント２０２、品質コンポーネント２０４、多様性コンポーネント２０６、識別コンポーネント２０８、順位付けコンポーネント２１０及び／又は選択コンポーネント２１２を含むことができる。例えば、システム２００の態様は、（複数の）機械の中に統合される、例えば１つ又は複数の機械と関連付けられた１つ又は複数のコンピュータ読み取り可能な媒体（又はメディア）に統合される機械実行可能なコンポーネントを構成することができる。そのようなコンポーネントは、１つ又は複数の機械、例えば（複数の）コンピュータ、（複数の）コンピューティングデバイス、（複数の）仮想マシンなどにより実行される場合に、説明された動作を（複数の）機械に実行させることができる。システム２００は、コンピュータ実行可能なコンポーネント及び命令を記憶するためのメモリ２１６を含むことができる。システム２００は、システム２００による命令（例えば、コンピュータ実行可能なコンポーネント及び命令）の動作を促進するために、プロセッサ２１４を更に含むことができる。
【００４２】
学習コンポーネント１８０（例えば、候補コンポーネント２０２、品質コンポーネント２０４、多様性コンポーネント２０６、識別コンポーネント２０８、順位付けコンポーネント２１０及び／又は選択コンポーネント２１２）は、（複数の）製造ツール１１０と関連付けられた１つ又は複数の製造プロセスに対するプロセスモデルの品質及び多様性を最大限にする（例えば、誤差を最小限にするとともに特異性を最大限にする）ために、自律学習を促進することができる。それにより、学習コンポーネント１８０は、（複数の）製造ツール１１０と関連付けられた変更条件及び／又は製造状態に適応することができる。さらに、学習コンポーネント１８０は、（例えば、プロセスモデルのより大きいサンプルセットを生成及び／又は選択することにより）（複数の）製造ツール１１０と関連付けられたプロセスモデルの浅慮の（myopic）生成及び／又は選択を防止することができる。したがって、学習コンポーネント１８０は、生成された及び／又は選択されたプロセスモデルの過剰適合を最小限にすることができる。
【００４３】
候補コンポーネント２０２は、（複数の）製造ツール１１０と関連付けられた１つ又は複数の製造プロセスに対する１つ又は複数の候補プロセスモデル（例えば、１つ又は複数の潜在的なプロセスモデル）を生成することができる。例えば、候補コンポーネント２０２は、１つ又は複数のツール（例えば、（複数の）製造ツール１１０）と関連付けられたプロセスデータ（例えば、図２において示されたプロセスデータ）に基づいて、候補プロセスモデルのセットを生成することができる。候補プロセスモデルのセットにおける各候補プロセスモデルは、数学的なプロセスモデル（例えば、候補関数）であることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルは、プロセスデータに応じて出力に対する数学的なプロセスモデルを学習するために実装されることができる。一態様において、候補コンポーネント２０２は、候補プロセスモデルのセットにおける候補プロセスモデルのそれぞれを生成するために、１つ又は複数の遺伝的アルゴリズムを実施することができる。別の態様において、候補コンポーネント２０２は、候補プロセスモデルのセットにおける候補プロセスモデルのそれぞれを生成するために、曲線近似手法を実施することができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルは、線形近似、多段線形近似、多項式曲線近似、ニューラルネットワークなどを用いて生成されることができる。しかしながら、候補コンポーネント２０２は、候補プロセスモデルのセットにおける候補プロセスモデルのそれぞれを生成するために、異なるタイプの手法を実施することができる、ということが認識されるべきである。
【００４４】
品質コンポーネント２０４は、候補コンポーネント２０２により生成された１つ又は複数のプロセスモデルの選択を容易にすることができる。例えば、品質コンポーネント２０４は、候補プロセスモデルのセットからの最低の誤差を有するプロセスモデル（例えば、及び／又は誤差に基づく１つ又は複数の他のプロセスモデル）の選択を容易にすることができる。品質コンポーネント２０４は、候補プロセスモデルのセットにおける候補プロセスモデルのそれぞれに対する品質値（例えば、予測される性能値）を生成することができる。品質値は、対応する候補プロセスモデルに対する予測される性能の指標であることができる。例えば、品質値は、候補プロセスモデルの予測される出力を候補プロセスモデルの測定された出力と比較する指標であることができる。一態様において、品質値は、ＭＳＥ値と関連付けられることができる。例えば、品質値は、ＭＳＥ値の平方根と関連付けられることができる。別の態様において、品質値は、相関値と関連付けられることができる。さらに別の態様において、品質値は、決定係数値と関連付けられることができる。しかしながら、別のタイプの品質測定値が品質値と関連付けられることができる、ということが認識されるべきである。一態様において、品質値は、正規化数と関連付けられることができる。例えば、品質値は、１／（１−ＭＳＥ）に等しくすることができる。
【００４５】
多様性コンポーネント２０６は、候補コンポーネント２０２により生成された１つ又は複数のプロセスモデルの選択を更に容易にすることができる。例えば、多様性コンポーネント２０６は、候補プロセスモデルのセットからの候補プロセスモデルの多様なサブセットの選択を容易にすることができる。多様性コンポーネント２０６は、多様性値（例えば、類似性の値、特異性の値など）を生成することができる。多様性値は、別の候補プロセスモデルに対する候補プロセスモデルの特異性の指標であることができる。例えば、候補プロセスモデルのセットにおける候補プロセスモデルにより生成される出力値（例えば、予測される出力値）は、候補プロセスモデルのセットにおける他の候補プロセスモデルにより生成される他の出力値（例えば、他の予測される出力値）と比較されることができる。一例において、候補プロセスモデルのセットにおける候補プロセスモデルにより生成される出力値（例えば、予測される出力値）は、候補プロセスモデルのセットにおける他の候補プロセスモデルにより生成される他の出力値（例えば、他の予測される出力値）と比較されることができる。一態様において、多様性値は、余弦関数（例えば、候補プロセスモデルと関連付けられた第１の出力ベクトル及び別の候補プロセスモデルと関連付けられた第２の出力ベクトル）と関連付けられることができる。別の態様において、多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）と関連付けられることができる。さらに別の態様において、多様性値は、類似性測定値の逆数と関連付けられることができる。しかしながら、別のタイプの多様性測定値が多様性値と関連付けられることができる、ということが認識されるべきである。
【００４６】
識別コンポーネント２０８は、（例えば、品質コンポーネント２０４により生成された品質値を比較することによって）候補プロセスモデルのセットにおける最高品質を有する候補プロセスモデルを識別することができる。例えば、識別コンポーネント２０８は、候補プロセスモデルのセットにおける最低のＭＳＥ値と関連付けられた候補プロセスモデルを識別することができる（例えば、識別コンポーネント２０８は、最低のＭＳＥ値と関連付けられた品質値を識別することができる）。つまり、識別コンポーネント２０８は、（例えば、候補プロセスモデルのセットの中から）最低の誤差を有するプロセスモデルを識別することができる。さらに、識別コンポーネント２０８は、候補プロセスモデルのセットにおける最低のＭＳＥ値と関連付けられた候補プロセスモデルに、最高品質を有する候補プロセスモデル（例えば、最高品質のプロセスモデル）としてタグ（例えば、ラベル、マークなど）を付けることができる。つまり、識別コンポーネント２０８は、候補プロセスモデルのセットの中から最低の誤差と関連付けられた特定のプロセスモデルを識別することができる。さらに、候補プロセスモデルのセットにおける各候補プロセスモデルに対して生成された品質値は、最高品質のプロセスモデルの識別を容易にすることができる。
【００４７】
順位付けコンポーネント２１０は、品質コンポーネント２０４により生成された品質値に基づいて、候補プロセスモデルのセットにおける候補プロセスモデルを順位付けすることができる。例えば、最高品質のプロセスモデルとして識別されなかった候補プロセスモデルは、最高品質のプロセスモデルに対して順位付けされることができる。つまり、最高品質（例えば、最低のＭＳＥ）を有する候補プロセスモデルが１位に順位付けされることができ、２番目に高い品質（例えば、２番目に低いＭＳＥ）を有する候補プロセスモデルが２位に順位付けされることができる、などになる。その上、順位付けコンポーネント２１０は、多様性コンポーネント２０６により生成された多様性値に基づいて、候補プロセスモデルのセットにおける候補プロセスモデルを順位付けすることができる。例えば、品質値に基づく候補プロセスモデルの順位付けは、多様性コンポーネント２０６により生成された多様性値に基づいて更に分類されることができる。つまり、同じ品質値を有する候補プロセスモデルの順位付けは、同じ品質値を有する候補プロセスモデルと関連付けられた多様性値に基づいて判定されることができる。例えば、より高い多様性値（例えば、最高品質のプロセスモデルに対するより大きい特異性に対応している多様性値）がより高い順位付けに対応することができる。したがって、より高い順位付けを有する候補プロセスモデルは、最高品質のプロセスモデルに対して、より高い品質、及びより大きい多様性に対応することができる。一態様において、順位付けコンポーネント２１０は、その上又はその代わりに、加重平均に基づいて、候補プロセスモデルのセットにおける候補プロセスモデルを順位付けすることができる。しかしながら、順位付けコンポーネント２１０は、その上又はその代わりに、異なる順位付け手法に基づいて、候補プロセスモデルのセットにおける候補プロセスモデルを順位付けすることができる、ということが認識されるべきである。つまり、順位付けコンポーネント２１０は、最大限に多様でありながら最低の誤差と関連付けられた候補プロセスモデルのサブセットの選択を容易にするために、候補プロセスモデルのセットを分類することができる。
【００４８】
選択コンポーネント２１２は、順位付けコンポーネント２１０により生成された順位付けに基づいて、候補プロセスモデル（例えば、候補プロセスモデルのセットにおける最高品質のプロセスモデル及び／又は１つ若しくは複数の他のプロセスモデル）のサブセットを選択することができる。例えば、選択コンポーネント２１２は、高い順位付けを有する特定の数の候補プロセスモデル（例えば、最も高く順位付けされたトップ３、最も高く順位付けされたトップ５など）を選択することができる。つまり、選択コンポーネント２１２は、最大限に多様でありながら最低の誤差と関連付けられた候補プロセスモデルのサブセットを選択することができる（例えば、選択コンポーネント２１２は、過度に同様のプロセスモデルに制限されることを防止するために、多様でありながら高品質に強い相関関係を有する候補プロセスモデルのサブセットを選択することができる）。例えば、選択コンポーネント２１２は、（複数の）製造ツール１１０により生成される処理されたウエハ１０４の品質を改善するように、（複数の）製造ツール１１０と関連付けられた異なる条件及び／又は製造状態（例えば、プロセスサイクル）を考慮しながら、候補プロセスモデルのサンプルセットを選択することができる。したがって、選択コンポーネント２１２により選択される候補プロセスモデルのサンプルセットは、ほとんど同じプロセスモデルのグループに制限されない。
【００４９】
一態様において、選択コンポーネント２１２は、その上、メモリの利用可能なサイズに基づいて、候補プロセスモデルのサブセットを選択することができる。例えば、選択コンポーネント２１２は、メモリ（例えば、短期間モデルメモリ）の利用可能なサイズに基づいて、高い順位付けを有する特定の数の候補プロセスモデルを選択することができる。つまり、学習コンポーネント１８０は、１つ又は複数のプロセスモデル（例えば、図２において示された（複数の）プロセスモデル）を生成することができる。一態様において、学習コンポーネント１８０は、最高品質を有する候補プロセスモデル（例えば、識別コンポーネント２０８により識別された最高品質のプロセスモデル）を最適化コンポーネント１９０に送信することができる。別の態様において、学習コンポーネント１８０は、最高品質を有する候補プロセスモデル（例えば、識別コンポーネント２０８により識別された最高品質のプロセスモデル）、及び／又は、１つ若しくは複数の他の候補プロセスモデルを、メモリ（例えば、短期間モデルメモリ）に記憶することができる。
【００５０】
図３は、本開示の様々な態様及び実装例による、システム３００の非限定的な実装例を例示する。システム３００は、最適化コンポーネント１９０を含む。最適化コンポーネント１９０は、候補コンポーネント３０２、予測コンポーネント３０４、品質コンポーネント３０６、順位付けコンポーネント３０８、多様性コンポーネント３１０及び／又は選択コンポーネント３１２を含むことができる。例えば、システム３００の態様は、（複数の）機械の中に統合される、例えば１つ又は複数の機械と関連付けられた１つ又は複数のコンピュータ読み取り可能な媒体（又はメディア）に統合される機械実行可能なコンポーネントを構成することができる。そのようなコンポーネントは、１つ又は複数の機械、例えば（複数の）コンピュータ、（複数の）コンピューティングデバイス、（複数の）仮想マシンなどにより実行される場合に、説明された動作を（複数の）機械に実行させることができる。システム３００は、コンピュータ実行可能なコンポーネント及び命令を記憶するためのメモリ３１６を含むことができる。システム３００は、システム３００による命令（例えば、コンピュータ実行可能なコンポーネント及び命令）の動作を促進するために、プロセッサ３１４を更に含むことができる。一態様において、最適化コンポーネント１９０は、（例えば、学習コンポーネント１８０により提供されるプロセス学習を制御するか、及び／又は最適化するために）学習コンポーネント１８０に関連して実施されることができる。
【００５１】
最適化コンポーネント１９０（例えば、候補コンポーネント３０２、予測コンポーネント３０４、品質コンポーネント３０６、順位付けコンポーネント３０８、多様性コンポーネント３１０及び／又は選択コンポーネント３１２）は、（複数の）製造ツール１１０と関連付けられたプロセスモデルに対するソリューションの品質及び多様性を最大限にする（例えば、誤差を最小限にするとともに特異性を最大限にする）ために、改善された制御及び／又は最適化を促進することができる。最適化コンポーネント１９０は、（複数の）製造ツール１１０と関連付けられた変更条件及び／又は製造状態に適応することができる。さらに、最適化コンポーネント１９０は、（例えば、ソリューションのより大きいサンプルセットを生成及び／又は選択することにより）（複数の）製造ツール１１０と関連付けられたプロセスモデルに対するソリューションの浅慮の（myopic）生成及び／又は選択を防止することができる。したがって、最適化コンポーネント１９０は、プロセスモデルに対する生成された及び／又は選択されたソリューションの過剰適合を最小限にすることができる。
【００５２】
候補コンポーネント３０２は、（複数の）製造ツール１１０と関連付けられたプロセスモデルに対する１つ又は複数の候補ソリューション（例えば、１つ又は複数の潜在的なソリューション）を生成することができる。候補コンポーネント３０２は、最高品質を有する候補プロセスモデル（例えば、識別コンポーネント２０８により識別された最高品質のプロセスモデル）及び／又は目標出力値に基づいて、候補ソリューションのセットを生成することができる。各ソリューションは、識別コンポーネント２０８により識別された最高品質のプロセスモデルと関連付けられた入力に対する値のセットであることができる。例えば、識別コンポーネント２０８により識別された最高品質のプロセスモデルは、複数の入力（例えば、入力パラメータ）と関連付けられることができる。つまり、各候補ソリューションは、識別コンポーネント２０８により識別された最高品質のプロセスモデルと関連付けられた各入力に対する値を含むことができる。一態様において、候補コンポーネント３０２は、１つ又は複数の遺伝的アルゴリズムに基づいて、候補ソリューションのセットを生成することができる。別の態様において、候補コンポーネント３０２は、シミュレーテッドアニーリングに基づいて、候補ソリューションのセットを生成することができる。さらに別の態様において、候補コンポーネント３０２は、山登り最適化手法に基づいて、候補ソリューションのセットを生成することができる。しかしながら、候補コンポーネント３０２は、異なるタイプの最適化手法に基づいて、候補ソリューションのセットを生成することができる、ということが認識されるべきである。候補コンポーネント３０２は、識別コンポーネント２０８により識別された最高品質のプロセスモデル（最高品質を有する候補プロセスモデル）に基づいて、候補プロセスパラメータのセットを生成することができる。
【００５３】
予測コンポーネント３０４は、候補コンポーネント３０２により生成された１つ又は複数のソリューションの選択を容易にすることができる。例えば、予測コンポーネント３０４は、候補ソリューションのセットにおける各候補ソリューションに対する出力値（例えば、結果値）を予測するために、識別コンポーネント２０８により識別された最高品質のプロセスモデルを利用することができる。例えば、第１の出力値（例えば、第１の予測される出力値）は、識別コンポーネント２０８により識別された最高品質のプロセスモデル及び第１の候補ソリューションに基づいて生成されることができ、第２の出力値（例えば、第２の予測される出力値）は、識別コンポーネント２０８により識別された最高品質のプロセスモデル及び第２の候補ソリューションに基づいて生成されることができる、などになる。つまり、予測コンポーネント３０４は、識別コンポーネント２０８により識別された最高品質のプロセスモデル及び候補ソリューションのセットに基づいて出力値のセット（例えば、予測される出力値のセット）を生成することができる。
【００５４】
品質コンポーネント３０６は、候補コンポーネント３０２により生成された１つ又は複数のソリューションの選択を更に容易にすることができる。例えば、品質コンポーネント３０６は、候補ソリューションのセットからの最低の誤差を有するソリューション（例えば、及び／又は誤差に基づく１つ又は複数の他のソリューション）の選択を容易にすることができる。品質コンポーネント３０６は、候補ソリューションのセットにおける候補ソリューションのそれぞれに対する品質値（例えば、分散値、予測される性能値など）を生成することができる。品質値は、対応する候補ソリューションに対する予測される性能の指標であることができる。例えば、品質値は、目標出力値と、候補ソリューションと関連付けられた出力値（例えば、予測される出力値）との間の誤差の指標（例えば、分散）であることができる。一態様において、品質値は、ＭＳＥ値と関連付けられることができる。例えば、品質値は、正規化されたＭＳＥ値と関連付けられることができる。別の態様において、品質値は、相関値と関連付けられることができる。さらに別の態様において、品質値は、決定係数値と関連付けられることができる。しかしながら、別のタイプの品質測定値が品質値を生成するために実装されることができる、ということが認識されるべきである。
【００５５】
順位付けコンポーネント３０８は、対応する品質値及び目標出力値に基づいて、候補ソリューションのセットにおける候補ソリューションのそれぞれを順位付けすることができる。つまり、順位付けコンポーネント３０８は、最高品質を有する候補ソリューション（例えば、目標出力値と、候補ソリューションと関連付けられた出力値との間で最低の誤差を有する候補ソリューション）を選択する（例えば、識別する）ために、候補ソリューションのそれぞれを順位付けすることができる。それにより、順位付けコンポーネント３０８は、最高品質を有する候補ソリューション（例えば、最高品質のソリューション）を判定することができる。したがって、順位付けコンポーネント３０８は、最高品質のソリューションの選択を容易にするために、候補ソリューションのセットにおける各候補ソリューションに対する品質値を利用することができる。
【００５６】
多様性コンポーネント３１０は、候補コンポーネント３０２により生成された１つ又は複数のソリューションの選択を更に容易にすることができる。例えば、多様性コンポーネント３１０は、候補ソリューションのセットからの候補ソリューションの多様なサブセットの選択を容易にすることができる。多様性コンポーネント３１０は、候補ソリューションのセットにおける候補ソリューションのそれぞれに対する多様性値を生成することができる。多様性値は、最高品質のソリューション（例えば、順位付けコンポーネント３０８により判定された最高品質のソリューション）に対する特定の候補ソリューションの特異性の指標であることができる。一態様において、多様性値は、余弦関数（例えば、特定の候補ソリューションと関連付けられた第１の出力ベクトル及び最高品質のソリューションと関連付けられた第２の出力ベクトル）と関連付けられることができる。別の態様において、多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）と関連付けられることができる。別の態様において、多様性値は、類似性測定値の逆数と関連付けられることができる。しかしながら、別のタイプの多様性測定値が多様性値を生成するために実装されることができる、ということが認識されるべきである。
【００５７】
その上、順位付けコンポーネント３０８は、品質コンポーネント３０６により生成された品質値に基づいて、候補ソリューションのセットにおける候補ソリューションを順位付けすることができる。例えば、最高品質のソリューションとして識別されなかった候補ソリューションは、最高品質のソリューションに対して順位付けされることができる。つまり、最高品質（例えば、最低のＭＳＥ）を有する候補ソリューションが１位に順位付けされることができ、２番目に高い品質（例えば、２番目に低いＭＳＥ）を有する候補ソリューションが２位に順位付けされることができる、などになる。その上、順位付けコンポーネント３０８は、多様性コンポーネント３１０により生成された多様性値に基づいて、候補ソリューションのセットにおける候補ソリューションを順位付けすることができる。例えば、品質値に基づく候補ソリューションの順位付けは、多様性コンポーネント３１０により生成された多様性値に基づいて更に分類されることができる。つまり、同じ品質値を有する候補ソリューションの順位付けは、同じ品質値を有する候補ソリューションと関連付けられた多様性値に基づいて判定されることができる。例えば、より高い多様性値（例えば、最高品質のソリューションに対するより大きい特異性に対応している多様性値）がより高い順位付けに対応することができる。したがって、より高い順位付けを有する候補ソリューションは、最高品質のソリューションに対して、より高い品質、及びより大きい多様性に対応することができる。一態様において、順位付けコンポーネント３０８は、その上又はその代わりに、加重平均に基づいて、候補ソリューションのセットにおける候補ソリューションを順位付けすることができる。しかしながら、順位付けコンポーネント３０８は、その上又はその代わりに、異なる順位付け手法に基づいて、候補ソリューションのセットにおける候補ソリューションを順位付けすることができる、ということが認識されるべきである。つまり、順位付けコンポーネント３０８は、最大限に多様でありながら最低の誤差と関連付けられた候補ソリューションのサブセットの選択を容易にするために、候補ソリューションのセットを分類することができる。
【００５８】
選択コンポーネント３１２は、順位付けコンポーネント３０８により生成された順位付けに基づいて、候補ソリューション（例えば、候補ソリューションのセットにおける最高品質のソリューション及び／又は１つ若しくは複数の他のソリューション）のサブセットを選択することができる。例えば、選択コンポーネント３１２は、高い順位付けを有する特定の数の候補ソリューション（例えば、最も高く順位付けされたトップ３、最も高く順位付けされたトップ５など）を選択することができる。つまり、選択コンポーネント３１２は、最大限に多様でありながら最低の誤差と関連付けられた候補ソリューションのサブセットを選択することができる（例えば、選択コンポーネント３１２は、過度に同様のソリューションに制限されることを防止するために、多様でありながら高品質に強い相関関係を有する候補ソリューションのサブセットを選択することができる）。例えば、選択コンポーネント３１２は、（複数の）製造ツール１１０により生成される処理されたウエハ１０４の品質を改善するように、（複数の）製造ツール１１０と関連付けられた異なる条件及び／又は製造状態（例えば、プロセスサイクル）を考慮しながら、候補ソリューションのサンプルセットを選択することができる。したがって、選択コンポーネント３１２により選択される候補ソリューションのサンプルセットは、ほとんど同じソリューションのグループに制限されない。
【００５９】
一態様において、選択コンポーネント３１２は、その上、メモリの利用可能なサイズに基づいて、候補ソリューションのサブセットを選択することができる。例えば、選択コンポーネント３１２は、メモリ（例えば、短期間最適化メモリ）の利用可能なサイズに基づいて、高い順位付けを有する特定の数の候補ソリューションを選択することができる。つまり、最適化コンポーネント１９０は、１つ又は複数のソリューション（例えば、図３において示された（複数の）ソリューション）を生成することができる。一態様において、最適化コンポーネント１９０は、最高品質のソリューション、及び／又は、１つ若しくは複数の他の候補ソリューションを、メモリ（例えば、短期間最適化メモリ）に記憶することができる。
【００６０】
図４は、製造プロセスの学習及び／又は最適化を促進するための代表的なシステム４００を例示する構成図である。システム４００は、（複数の）製造ツール１１０、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０、メンテナンス監視装置１５０、報告コンポーネント１６０及び分析コンポーネント１７０を含むことができる。分析コンポーネント１７０は、学習コンポーネント１８０、最適化コンポーネント１９０、短期間モデルメモリ（ＳＴＭＭ）４０２及び短期間最適化メモリ（ＳＴＯＭ）４０４を含むことができる。
【００６１】
ＳＴＭＭ４０２は、学習コンポーネント１８０と関連付けられることができる。さらに、ＳＴＭＭ４０２は、１つ又は複数のプロセスモデルを記憶することができる。例えば、ＳＴＭＭ４０２は、選択コンポーネント２１２（例えば、学習コンポーネント１８０）により選択された候補プロセスモデルを記憶することができる。一態様において、選択コンポーネント２１２（例えば、学習コンポーネント１８０）により選択される候補プロセスモデルの数は、ＳＴＭＭ４０２を完全に満たすために必要な候補プロセスモデルの数に対応することができる。つまり、ＳＴＭＭ４０２は、（複数の）製造ツール１１０と関連付けられた製造プロセスに対するプロセスモデルのより速い生成を促進することができる。さらに、ＳＴＭＭ４０２は、（複数の）製造ツール１１０と関連付けられた製造プロセスに対するプロセスモデルの品質及び多様性を最大限にするための漸進的な学習を促進することができる。例えば、ＳＴＭＭ４０２は、追加のプロセスデータが（複数の）製造ツール１１０と関連付けられた製造プロセスの間に生成されるように、経時的に漸進的な学習を促進することができる。
【００６２】
ＳＴＯＭ４０４は、最適化コンポーネント１９０と関連付けられることができる。さらに、ＳＴＯＭ４０４は、１つ又は複数のソリューションを記憶することができる。例えば、ＳＴＯＭ４０４は、選択コンポーネント３１２（例えば、最適化コンポーネント１９０）により選択された候補ソリューションを記憶することができる。一態様において、選択コンポーネント３１２（例えば、最適化コンポーネント１９０）により選択される候補ソリューションの数は、ＳＴＯＭ４０４を完全に満たすために必要な候補ソリューションの数に対応することができる。つまり、ＳＴＯＭ４０４は、（複数の）製造ツール１１０と関連付けられた製造プロセスに対するプロセスモデルのためのソリューションのより速い生成を促進することができる。さらに、ＳＴＯＭ４０４は、ソリューションの多様なセットを保持することにより、過剰適合を削減しながらソリューションの品質を最大限にするための最適化を促進することができる。
【００６３】
一態様において、学習コンポーネント１８０は、ここで更に十分に開示されたように、ＳＴＭＭ４０２に記憶される１つ若しくは複数の候補プロセスモデルを検索するか、ＳＴＭＭ４０２に記憶される１つ若しくは複数の候補プロセスモデルに対する品質値を計算するか、及び／又は、１つ若しくは複数の他の候補プロセスモデルを生成することができる。つまり、ＳＴＭＭ４０２は、１つ又は複数の製造ツールと関連付けられたプロセスデータが経時的に絶えず改善されることができるように、漸進的な学習を促進することができる。さらに、ＳＴＭＭ４０２は、半導体製造システムにおけるプロセスモデル化のための高品質の候補プロセスモデルの多様なセットを保持しながらより速いプロセスモデル開発を促進することができる。その上、過剰適合の可能性が、ＳＴＭＭ４０２を実装することにより、半導体製造システムにおけるプロセスモデル化のための多様な高品質モデルのセットを保持することにより製造状態を変更することに対する適応を容易にしながら削減されることができる。
【００６４】
別の態様において、最適化コンポーネント１９０は、ここで更に十分に開示されたように、ＳＴＯＭ４０４に記憶される１つ若しくは複数の候補ソリューションを検索するか、ＳＴＯＭ４０４に記憶される１つ若しくは複数の候補ソリューションに対する品質値を計算するか、及び／又は、１つ若しくは複数の他の候補ソリューションを生成することができる。つまり、ＳＴＯＭ４０４は、１つ又は複数の製造ツールと関連付けられたプロセスデータが経時的に絶えず改善されることができるように、漸進的な学習を促進することができる。さらに、ＳＴＯＭ４０４は、半導体製造システムにおけるプロセス最適化のための高品質の候補ソリューションの多様なセットを保持しながらより速いプロセス最適化を促進することができる。その上、過剰適合の可能性が、ＳＴＯＭ４０４を実装することにより、半導体製造システムにおけるプロセス制御及び／又はプロセス最適化のための多様な高品質のソリューションのセットを保持することにより製造状態を変更することに対する適応を容易にしながら削減されることができる。
【００６５】
さらに別の態様において、学習コンポーネント１８０により実施される学習プロセスは、新しいプロセスデータが利用可能になるたびに、再実行されることができる。しかしながら、データの最初の投入は、ＳＴＭＭ４０２に記憶されたデータによって最初にシードされることができる。つまり、再学習の結果は、ＳＴＭＭ４０２に記憶されたデータを修正することができる。それにより、ますます多くのプロセスデータが取得されるか、及び／又は利用可能にされるので、学習コンポーネント１８０は、多様な製造の状況にわたって存続する最高品質を有するプロセスモデルを検討することができる。したがって、改善されたプロセスモデルが経時的に取得されることができる。さらに、ＳＴＭＭ４０２を実装することにより、学習コンポーネント１８０により実施される学習プロセスは、スタートライン（scratch）から始まることを必要とされない（例えば、学習時間が削減されることができる）か、及び／又は、過剰適合が回避されることができる（例えば、利用されるプロセスモデルの正確度が改善されることができる）。同様に、新しいプロセスデータが利用可能になるので、最適化コンポーネント１９０により実施された最適化プロセスは、ＳＴＯＭ４０４に記憶されたデータによってデータの最初の投入をシードすることにより、再実行されることができる。それにより、ＳＴＯＭ４０４においてソリューションの多様なセットを保持することにより、ソリューションのより迅速な生成が実現されることができるか、及び／又は利用されるソリューションの品質が改善されることができる。さらに、ＳＴＯＭ４０４においてソリューションの多様なセットを保持することにより、過剰適合の可能性が削減されることができるか、及び／又はソリューションの正確度が改善されることができる。さらに、ＳＴＭＭ４０２及び／又はＳＴＯＭ４０４を実装することにより、予測値と測定値との間の誤差が削減されることができる。
【００６６】
図５は、ユーザ入力に基づいて製造プロセスの学習及び／又は最適化を促進するための代表的なシステム５００を例示する構成図である。システム５００は、（複数の）製造ツール１１０、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０、メンテナンス監視装置１５０、報告コンポーネント１６０、分析コンポーネント１７０及びユーザ入力コンポーネント５０２を含むことができる。分析コンポーネント１７０は、学習コンポーネント１８０、最適化コンポーネント１９０、ＳＴＭＭ４０２及びＳＴＯＭ４０４を含むことができる。
【００６７】
ユーザ入力コンポーネント５０２は、システム５００のユーザから入力を受け取るとともに、システム５００のユーザに出力を提供するように構成されることができる。例えば、ユーザ入力コンポーネント５０２は、ユーザに対してユーザの指定を促す入力表示画面を描画するとともに、あらゆる適切な入力機構（例えば、キーボード、タッチスクリーンなど）を介してユーザからそのような指定を受け取ることができる。一態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）の能力が、１／１０秒毎の電力、毎秒毎の圧力、実行毎の計測値のような異なる頻度における測定値を含むことを可能にすることができる。別の態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、データの複製（例えば、比較的少ない頻度の読み取り値はデータの次の読み取りまで複製されることができる）及び／又はデータの削減（例えば、最低頻度の測定値に対するデータの行を維持するか、及び／又は他の比較的少ない頻度のサンプルの値の統計的な要約を使用する）を指定することを可能にすることができる。統計的な要約は、下記には限定されないが、平均値、最小値、最大値、値の範囲、標準偏差値などのような演算を含むことができる。さらに別の態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、選択された出力としてデータマトリクスの列を示すか、及び／又は調整可能なプロセスパラメータ（すなわち、入力）としてデータマトリクスの他の列を示すことを可能にすることができる。
【００６８】
さらに別の態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、プロセスモデルと関連付けられた各調整可能なプロセスパラメータ（例えば、各入力パラメータ）に対して認められた値の許容範囲を指定することを可能にすることができる。例えば、ユーザ入力コンポーネント５０２は、ユーザが、各々のパラメータ（例えば、入力パラメータ、調整可能な入力など）に対する範囲（例えば、最小値、最大値、平均値、標準偏差値など）を指定することを可能にすることができる。さらに別の態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、メモリ（例えば、ＳＴＭＭ４０２及び／又はＳＴＯＭ４０４）の利用可能なサイズ（例えば、プロセスモデル及び／又はソリューションに対するスロットの数）を指定することを可能にすることができる。さらに別の態様において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、プロセスモデルに対する目標出力値を指定することを可能にすることができる。さらに別の実例において、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、統計的な品質指標のライブラリから品質値を生成するために品質指標を指定すること、及び／又は、品質値に対するカスタムの品質指標を指定することを可能にすることができる。さらに、ユーザ入力コンポーネント５０２は、ユーザ（例えば、外部のエージェント）が、統計的な特異性指標のライブラリから多様性値を生成するために特異性指標を指定すること、及び／又は、多様性値に対するカスタムの特異性指標を指定することを可能にすることができる。しかしながら、ユーザ入力コンポーネント５０２は、ユーザが、製造プロセスの学習及び／又は最適化を促進するために他のタイプの情報及び／又はデータを指定する（例えば、入力する）ことを可能にするように実装されることができる、ということが認識されるべきである。
【００６９】
図６は、本開示の様々な態様及び実装例による、代表的なデータマトリクス６００である。データマトリクス６００は、製造プロセスの学習及び／又は最適化を促進することができる。（複数の）製造ツール１１０と関連付けられたプロセスデータは、データマトリクス６００に統合されることができる。例えば、データマトリクス６００に含まれるプロセスデータは、分光器１２０、ツールセンサ１３０、デバイス測定装置１４０及び／又はメンテナンス監視装置１５０により生成されるか、及び／又は獲得されることができる。一態様において、データマトリクス６００は、報告コンポーネント１６０により生成されることができる。
【００７０】
データマトリクス６００は、センサ測定データ、スペクトルデータ、デバイス測定データ及び／又はメンテナンスデータを含むことができる。センサ測定データは、下記には限定されないが、燃焼室圧力、ガスフロー、電力データ、プロセスの秒における経過時間などを含むことができる。スペクトルデータは、下記には限定されないが、スペクトル強度（例えば、全ての測定された波長に対する瞬間毎のスペクトル測定値）などを含むことができる。デバイス測定データは、下記には限定されないが、ウエハ上の１つ又は複数の測定対象における寸法データ、厚さなどを含むことができる。メンテナンスデータは、下記には限定されないが、最後の予防メンテナンスからの経過時間、コンポーネントの年数（例えば、コンポーネントと関連付けられた生産時間）などを含むことができる。一態様において、データマトリクス６００に含まれるデータの少なくとも一部分は、ユーザ入力コンポーネント５０２を通して提供されることができる、ユーザ入力コンポーネント５０２を通して修正されることができる、ユーザ入力コンポーネント５０２を通して選択されることができる、などになる。
【００７１】
図６において示される非限定的な実例において、データマトリクス６００は、フィールド６０２、フィールド６０４、フィールド６０６、フィールド６０８及びフィールド６１０を含むことができる。例えば、フィールド６０２（例えば、ウエハＩＤフィールド）は、処理するユニット（例えば、ウエハ）を記録する（capture）ことができる。フィールド６０４（例えば、時間フィールド）は、処理するユニット（例えば、ウエハ）と関連付けられたプロセスに対する経過時間（例えば、経過した秒）を報告することができる。一態様において、プロセスは、１つ又は複数のステップに分割され得る。つまり、データマトリクス６００は、その上ステップＩＤフィールド（図示せず）を含むことができる。フィールド６０６は、センサ測定データを含むことができる。例えば、時間フィールドのあとの１つ又は複数のフィールドは、ツールセンサ測定データを含むことができる。図６において、フィールド６０６は圧力を示す。しかしながら、他のタイプのセンサ測定データ（例えば、下記には限定されないが、ガスフロー、電力データなどのような）が、その上又はその代わりに、データマトリクス６００に含まれることができる、ということが認識されるべきである。フィールド６０８は、スペクトルデータを含むことができる。例えば、フィールド６０８は、スペクトル強度測定値（例えば、波長‘Ｗ２６０’）を含むことができる。しかしながら、他のスペクトルデータ（例えば、他の波長など）が、その上又はその代わりに、データマトリクス６００に含まれることができる、ということが認識されるべきである。一態様において、任意の数のスペクトルデータ（例えば、波長）が、データマトリクス６００に含まれることができる。フィールド６１０は、デバイス測定データ（例えば、ＦＩ−ＣＤ）を含むことができる。しかしながら、データマトリクス６００は、その上又はその代わりに、他のデバイス測定データ（例えば、エッチバイアスなど）を含むことができる、ということが認識されるべきである。一態様において、フィールド６１０は、デバイス測定データと関連付けられた位置番号（例えば、ツール番号）を含むことができる。例えば、括弧内の数字（例えば、‘（１）’）は、位置番号（例えば、ツール番号）を特定することができる。データマトリクス６００は、その上又はその代わりに、他のタイプのデータ（例えば、メンテナンスデータなど）を含むことができる、ということが認識されるべきである。
【００７２】
一態様において、データマトリクス６００に含まれるデータを獲得するための計測測定は、処理のまえに行われることができる。別の態様において、データマトリクス６００に含まれるデータを獲得するための計測測定は、処理のあとに行われることができる。単一の計測測定又は元の計測は、処理するユニット毎（例えば、ウエハ毎）に実施されることができる、ということが認識されるべきである。さらに、下記には限定されないが、スループット、効率などのような他のタイプのデータがデータマトリクス６００に含まれることができる、ということが認識されるべきである。
【００７３】
図７は、本開示の様々な態様及び実装例による、候補プロセスモデルの代表的な順位付け７００である。一態様において、順位付け７００は、順位付けコンポーネント２１０（例えば、学習コンポーネント１８０）と関連付けられることができる。列７０２は、順位付け７００と関連付けられたプロセスモデル（例えば、候補プロセスモデル）を含む。例えば、列７０２は、候補プロセスモデルのセットに含まれる候補プロセスモデルを表すことができる。列７０４は、列７０２に含まれる候補プロセスモデルのセットと関連付けられた品質値を含むことができる。図７において示される非限定的な実例において、列７０４における品質値は、正規化されたＭＳＥ（例えば、１／（１−ＭＳＥ））と関連付けられる。つまり、より高い品質値は、より低い誤差測定値に対応する。列７０６は、列７０２に含まれる候補プロセスモデルのセットと関連付けられた多様性値を表すことができる。図７において示される非限定的な実例において、列７０６における多様性値は、余弦関数と関連付けられる。つまり、より高い多様性値は、より大きい多様性に対応する（例えば、ゼロに等しい多様性値は、多様性なしに対応する）。
【００７４】
選択された候補（例えば、候補＿２）は、候補プロセスモデルのセットにおける最高品質を有する候補プロセスモデルであることができる（選択された候補（例えば、候補＿２）は１位に順位付けされる）。例えば、選択された候補（例えば、候補＿２）は、識別コンポーネント２０８により識別されることができる。図７において示された候補プロセスモデルのセットは、７個の候補プロセスモデルを含む。しかしながら、候補プロセスモデルのセットは、異なる数の候補プロセスモデルを含むことができる、ということが認識されるべきである。図７において示される非限定的な実例において、候補＿１は２位に順位付けされ、候補＿５は３位に順位付けされ、候補＿７は４位に順位付けされ、候補＿４は５位に順位付けされ、候補＿３は６位に順位付けされ、そして候補＿６は７位に順位付けされる。
【００７５】
順位付け７００は、候補＿１から候補＿７と関連付けられた品質値に基づいて、最初に順位付けされる。図７において示される非限定的な実例において、選択された候補（例えば、候補＿２）は、０．９１に等しい品質値と関連付けられることができ、したがって１位に順位付けされる。選択された候補（例えば、候補＿２）は、各々の他の候補プロセスモデルが多様性（例えば、特異性、類似性など）を判定するために選択された候補（例えば、候補＿２）と比較されるので、多様性値と関連付けられない。候補＿１は、候補＿１が０．９０（例えば、２番目に高い品質値）に等しい品質値と関連付けられるので、２位に順位付けされる。しかしながら、候補＿５及び候補＿７は、両方とも０．８６（例えば、３番目に高い品質値）に等しい品質値と関連付けられる。しかしながら、候補＿５が０．７９に等しい多様性値と関連付けられるとともに、候補＿７が０．７６に等しい多様性値と関連付けられる（例えば、候補＿５は選択された候補と比較するとより特異である）ので、候補＿５は３位に順位付けされるとともに、候補＿７は４位に順位付けされる。一態様において、１つ又は複数の候補プロセスモデルは、順位付け７００に基づいて、ＳＴＭＭ４０２に記憶するために選択されることができる。つまり、最大限に多様でありながら最低の誤差と関連付けられた候補プロセスモデルの選択は、順位付け７００によって、容易に、迅速に及び／又は最適に選択されることができる。さらに、順位付け７００は、過度に同様のプロセスモデルに制限されることを防止するために（例えば、過剰適合を防止するために）、多様でありながら高品質に強い相関関係を有する候補プロセスモデルのサブセットの選択を容易にすることができる。したがって、（複数の）製造ツール１１０により生成される処理されたウエハ１０４の品質は、（複数の）製造ツール１１０と関連付けられた異なる条件及び／又は製造状態（例えば、プロセスサイクル）を考慮しながら、改善されることができる。
【００７６】
順位付け７００は、その代わりに、本開示の様々な態様及び実装例による、候補ソリューションの順位付けであることができる、ということが認識されるべきである。例えば、順位付け７００は、順位付けコンポーネント３０８（例えば、最適化コンポーネント１９０）と関連付けられることができる。つまり、候補プロセスモデルに関して上記で論じられたように、候補ソリューションは、同様に、品質値及び多様性値に基づいて順位付けされることができる。それにより、一態様において、１つ又は複数の候補ソリューションは、順位付け７００に基づいて、ＳＴＯＭ４０４に記憶するために選択されることができる。さらに、最大限に多様でありながら最低の誤差と関連付けられた候補ソリューションの選択は、順位付け７００によって、容易に、迅速に及び／又は最適に選択されることができる。さらに、順位付け７００は、過度に同様のソリューションに制限されることを防止するために（例えば、過剰適合を防止するために）、多様でありながら高品質に強い相関関係を有する候補ソリューションのサブセットの選択を容易にすることができる。したがって、（複数の）製造ツール１１０により生成される処理されたウエハ１０４の品質は、（複数の）製造ツール１１０と関連付けられた異なる条件及び／又は製造状態（例えば、プロセスサイクル）を考慮しながら、改善されることができる。
【００７７】
図８は、本開示の様々な態様及び実装例による、候補ソリューションの代表的な順位付け８００である。一態様において、順位付け８００は、順位付けコンポーネント３０８（例えば、最適化コンポーネント１９０）と関連付けられることができる。例えば、順位付け８００は、最高品質を有する候補ソリューションを判定するために、候補ソリューションの順位付けと関連付けられることができる。列８０２は、順位付け８００と関連付けられたソリューション（例えば、候補ソリューション）を含む。候補ソリューションは、選択された候補プロセスモデル（例えば、図７において示された選択された候補（例えば、候補＿２））に基づいて順位付けされることができる。例えば、候補ソリューションは、図７において示された選択された候補（例えば、候補＿２）と関連付けられた目標出力値に関して順位付けされることができる。図８において示される非限定的な実例において、選択された候補プロセスモデル（例えば、図７において示された選択された候補（例えば、候補＿２））は、３つの入力パラメータと関連付けられることができる。つまり、列８０２に含まれる候補ソリューションは、列８０６に含まれる第１の入力パラメータ、列８０８に含まれる第２の入力パラメータ、そして列８１０に含まれる第３の入力パラメータと関連付けられることができる。列８１２は、列８０２に含まれる候補ソリューションのセットと関連付けられた品質値を含むことができる。列８１４は、列８０２に含まれる候補ソリューションのセットと関連付けられた多様性値を表すことができる。
【００７８】
さらに、図８において示される非限定的な実例において、選択された候補プロセスモデル（例えば、図７において示された選択された候補（例えば、候補＿２））に対する目標出力値は、１３００である。選択された候補プロセスモデル（例えば、図７において示された選択された候補（例えば、候補＿２））は、列８０２に含まれる各々の候補ソリューションに対する出力値を予測するために利用されることができる。各々の候補ソリューションに対する予測される出力値は、列８０４に含まれることができる。品質値は、候補ソリューションの出力値（例えば、予測される出力値）と目標出力値との間の誤差測定値に対応することができる。図８において示される非限定的な実例において、列８１２における品質値は、正規化されたＭＳＥ（、例えば、１／（１−ＭＳＥ））と関連付けられる。つまり、より高い品質値は、より低い誤差測定値に対応する。多様性値は、候補ソリューションの間の多様性（例えば、候補ソリューションの入力パラメータの間の多様性）に対応することができる。図８において示される非限定的な実例において、列８１４における多様性値は、余弦関数と関連付けられる。つまり、より高い多様性値は、より大きい多様性に対応する（例えば、ゼロに等しい多様性値は、多様性なしに対応する）。
【００７９】
つまり、順位付け８００は、列８０４（例えば、列８０２に含まれる候補ソリューションと関連付けられた出力値）、列８１２（例えば、列８０２に含まれる候補ソリューションと関連付けられた品質値）、及び／又は、列８１４（例えば、列８０２に含まれる候補ソリューションと関連付けられた多様性値）に基づいて、順位付けされることができる。それにより、図８において示される非限定的な実例において、候補＿３は、１２９９の出力値が最も１３００の目標出力値に近い（例えば、候補＿３の出力値は目標出力値に関して最低の分散を含む）ので、１位に順位付けされる。さらに、対応する出力値、品質値及び／又は多様性値に関して順位付けされる場合に、候補＿１は２位に順位付けされ、候補＿４は３位に順位付けされ、そして候補＿２は４位に順位付けされる。図８において示される非限定的な実例において、候補＿３は、各々の他の候補ソリューション（例えば、各々の他の候補ソリューションに対する入力パラメータ）は、多様性（例えば、特異性、類似性など）を判定するために候補＿３（例えば、候補＿３に対する入力パラメータ）と比較されるので、多様性値と関連付けられない。
【００８０】
図９〜１１は、対象の出願の１つ又は複数の実施例による、様々な方法論を例示する。説明の簡素化の目的のために、ここで示された１つ又は複数の方法論は、一連の動作として示されて説明される一方、対象の革新は、いくつかの動作が、それに応じて、ここで示されて説明された順序から離れて、他の動作と異なる順序で発生し得るか、及び／又は同時に発生し得るように、動作の順序により限定されない、ということが理解されるとともに認識されるべきである。例えば、当業者は、方法論は、その代わりに、状態図にあるような一連の相互関係のある状態又は事象として表されるであろう、ということを理解するとともに認識することになる。その上、必ずしも全ての例示された動作が、革新に従って方法論を実行するのに必要とされるとは限らないかもしれない。さらに、本質的に異なるエンティティが方法論の本質的に異なる部分を規定する場合に、（複数の）相互作用図は、対象の開示による方法論又は方法を表すことができる。さらに、それにもかかわらず、開示された実例の方法のうちの２つ以上が、ここで説明された１つ若しくは複数の特徴又は利点を達成するために、相互に共同して実施されることができる。
【００８１】
図９は、半導体製造システムにおいてプロセスを学習、制御及び／又は最適化するための一例の方法論９００を例示する。最初に、９０２において、候補プロセスモデルのセットが、（例えば、学習コンポーネント１８０により）１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて生成される。例えば、１つ又は複数の製造ツールに対する潜在的なプロセスモデルのセットが、センサ測定データ、スペクトルデータ、デバイス測定データ及び／又はメンテナンスデータに基づいて生成されることができる。
【００８２】
９０４において、最低の誤差と関連付けられた特定のプロセスモデルが、（例えば、学習コンポーネント１８０により）候補プロセスのセットの中から選択される。例えば、最低のＭＳＥ値と関連付けられた特定のプロセスモデルが、候補プロセスモデルのセットの中から選択される。
【００８３】
９０６において、（例えば、最適化コンポーネント１９０により）特定のプロセスモデルと関連付けられた候補ソリューションのセットが生成される。例えば、各候補ソリューションは、特定のプロセスモデルと関連付けられた入力に対する値のセットであることができる。
【００８４】
９０８において、（例えば、最適化コンポーネント１９０により）候補ソリューションのセットの中から、特定のソリューションが目標出力値及び特定のソリューションと関連付けられた出力値に基づいて選択される。例えば、候補ソリューションのセットの中から、（例えば、目標出力値及び特定のソリューションと関連付けられた出力値に基づいて）最低の分散と関連付けられた特定のソリューションが選択されることができる。
【００８５】
図１０は、半導体製造システムにおいてプロセスを学習するための一例の方法論１０００を例示する。最初に、１００２において、（例えば、学習コンポーネント１８０により）１つ又は複数の製造ツールと関連付けられたプロセスデータが受け取られる。例えば、プロセスデータは、下記には限定されないが、センサ測定データ、スペクトルデータ、デバイス測定データ及び／又はメンテナンスデータを含むことができる。一態様において、プロセスデータは、データマトリクスと関連付けられることができる。
【００８６】
１００４において、候補プロセスモデルのセットが、（例えば、候補コンポーネント２０２により）プロセスデータに基づいて生成される。例えば、数学的なプロセスモデル（例えば、候補関数のセット）が、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づいて生成されることができる。一態様において、１つ又は複数の遺伝的アルゴリズムが、候補プロセスモデルのセットにおける各候補プロセスモデルを生成するために実施されることができる。別の態様において、曲線近似手法が、候補プロセスモデルのセットにおける各候補プロセスモデルを生成するために実施されることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルは、線形近似、多段線形近似、多項式曲線近似、ニューラルネットワークなどを用いて生成されることができる。しかしながら、異なるタイプの技術が候補プロセスモデルのセットにおける各候補プロセスモデルを生成するために実施されることができる、ということが認識されるべきである。
【００８７】
１００６において、品質値が、（例えば、品質コンポーネント２０４により）候補プロセスモデルのセットにおける各候補プロセスモデルに対して生成される。例えば、予測される性能インジケータが、候補プロセスモデルのセットにおける各候補プロセスモデルに対して生成されることができる。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、ＭＳＥ値と関連付けられることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、ＭＳＥ値の平方根と関連付けられることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、相関値と関連付けられることができる。さらに別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、決定係数値と関連付けられることができる。しかしながら、別のタイプの品質測定値が候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値と関連付けられることができる、ということが認識されるべきである。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、正規化数であることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、１／（１−ＭＳＥ）に等しくすることができる。
【００８８】
１００８において、多様性値が、（例えば、多様性コンポーネント２０６により）候補プロセスモデルのセットにおける各候補プロセスモデルに対して生成される。例えば、類似性のインジケータ（例えば、特異性のインジケータ）が候補プロセスモデルのセットにおける各候補プロセスモデルに対して生成されることができる。一例において、候補プロセスモデルのセットにおける候補プロセスモデルにより生成される出力値は、候補プロセスモデルのセットにおける他の候補プロセスモデルにより生成される他の出力値と比較されることができる。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、余弦関数（例えば、候補プロセスモデルと関連付けられた第１の出力ベクトル及び別の候補プロセスモデルと関連付けられた第２の出力ベクトル）と関連付けられることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）と関連付けられることができる。さらに別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、類似性測定値の逆数と関連付けられることができる。しかしながら、別のタイプの多様性測定値が候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値と関連付けられることができる、ということが認識されるべきである。
【００８９】
１０１０において、（例えば、識別コンポーネント２０８により）候補プロセスモデルのセットにおける最高品質を有する候補プロセスモデルが識別される。例えば、候補プロセスモデルに対して生成された品質値が比較されることができる。一態様において、候補プロセスモデルのセットにおける最低の誤差（例えば、最低のＭＳＥ値）と関連付けられた候補プロセスモデルが識別されることができる。
【００９０】
１０１２において、候補プロセスモデルのセットにおける候補プロセスモデルが、（例えば、順位付けコンポーネント２１０により）候補プロセスモデルのセットに対する生成された品質値及び／又は生成された多様性値に基づいて順位付けされる。例えば、候補プロセスモデルのセットは、最初に対応する品質値に基づいて順位付けされることができる（例えば、最高品質を有する識別された候補プロセスモデルが１位に順位付けされ、２番目に高い品質を有する候補プロセスモデルが２位に順位付けされる、などになる）。さらに、候補プロセスモデルのセットは、対応する多様性値に基づいて順位付けされることができる。例えば、同じ品質値を有する候補プロセスモデルの順位付けは、対応する多様性値に基づいて判定されることができる（例えば、より高い多様性値を有する候補プロセスモデルがより高く順位付けされる）。つまり、より高い順位付けは、より高い品質（例えば、より低い誤差値）及びより大きい多様性（例えば、他の候補プロセスモデルと比較したより大きい特異性）に対応することができる。
【００９１】
１０１４において、候補プロセスモデルのセットのサブセットが、（例えば、選択コンポーネント２１２により）順位付けに基づいて選択される。例えば、最も高い順位付けを有する特定の数の候補プロセスモデル（例えば、最も高く順位付けされたトップ３、最も高く順位付けされたトップ５など）が選択されることができる。一態様において、候補プロセスモデルのサブセットは、メモリの利用可能なサイズに基づいて選択されることができる。例えば、高い順位付けを有する特定の数の候補プロセスモデルが、メモリ（例えば、短期間モデルメモリ）の利用可能なサイズに基づいて選択されることができる。
【００９２】
１０１６において、候補プロセスモデルのセットのサブセットが、短期間モデルメモリ（例えば、ＳＴＭＭ４０２）に記憶される。つまり、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づく漸進的な学習は、経時的に絶えず改善されることができる。さらに、より速いプロセスモデル開発が、短期間メモリにおいて高品質の候補プロセスモデルの多様なセットを保持しながら使用されることができる。その上、短期間メモリにおいてプロセスモデル化のための多様な高品質モデルのセットを保持することにより製造状態を変更することに対して適応しながら、過剰適合の可能性が削減されることができる。
【００９３】
図１１は、半導体製造システムにおいてプロセスを制御及び／又は最適化するための一例の方法論１１００を例示する。一態様において、方法論１１００は、方法論１０００に関連して実施されることができる。最初に、１１０２において、（例えば、最適化コンポーネント１９０により）１つ又は複数の製造ツールに対するプロセスデータと関連付けられたプロセスモデルが受け取られる。例えば、候補プロセスモデルのセットの間で最高品質によって選択されたプロセスモデルが受け取られることができる。一態様において、受け取られたプロセスモデルは、方法論１０００の１０１０において識別されたプロセスモデルであることができる。
【００９４】
１１０４において、（例えば、最適化コンポーネント１９０により）プロセスモデルに対する目標出力値が受け取られる。例えば、受け取られたプロセスモデルに対する目標出力値（例えば、所望の出力値）が受け取られることができる。
【００９５】
１１０６において、候補ソリューションのセットが、（例えば、候補コンポーネント３０２により）プロセスモデルに基づいて生成される。例えば、候補ソリューションのセットにおける各ソリューションは、プロセスモデルと関連付けられた入力（例えば、入力パラメータ）に対する値のセットであることができる。一態様において、候補ソリューションのセットにおける各ソリューションは、１つ又は複数の遺伝的アルゴリズムに基づいて生成されることができる。別の態様において、候補ソリューションのセットにおける各ソリューションは、シミュレーテッドアニーリングに基づいて生成されることができる。さらに別の態様において、候補ソリューションのセットにおける各ソリューションは、山登り最適化手法に基づいて生成されることができる。しかしながら、候補ソリューションのセットにおける各ソリューションは、異なるタイプの最適化手法に基づいて生成されることができる、ということが認識されるべきである。
【００９６】
１１０８において、候補ソリューションのセットにおける各候補ソリューションに対する出力値が、（例えば、予測コンポーネント３０４により）プロセスモデルを利用することにより予測される。例えば、第１の候補ソリューションに対する第１の出力値は、プロセスモデルを利用することによって生成されることができ、第２の候補ソリューションに対する第２の出力値は、プロセスモデルを利用することにより生成されることができる、などになる。つまり、出力値のセットは、プロセスモデルと、候補ソリューションのセットとに基づいて生成されることができる。
【００９７】
１１１０において、品質値が、（例えば、品質コンポーネント３０６により）候補ソリューションのセットの各候補ソリューションに対して生成される。品質値は、目標出力値と比較した候補ソリューションの出力値に対する品質インジケータであることができる。例えば、品質値は、候補ソリューションの出力値と目標出力値との間の分散を示すことができる。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、ＭＳＥ値と関連付けられることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、ＭＳＥ値の平方根と関連付けられることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、相関値と関連付けられることができる。さらに別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、決定係数値と関連付けられることができる。しかしながら、別のタイプの品質測定値が候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値と関連付けられることができる、ということが認識されるべきである。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、正規化数であることができる。例えば、候補プロセスモデルのセットにおける各候補プロセスモデルに対する品質値は、１／（１−ＭＳＥ）に等しくすることができる。
【００９８】
１１１２において、候補ソリューションのセットにおける最高品質を有する候補ソリューションが、（例えば、順位付けコンポーネント３０８により）候補ソリューションのセットにおける各候補ソリューションに対して生成された品質値に基づいて判定される。例えば、候補ソリューションに対する出力値と目標出力値との間の最低の誤差に対応する目標値（例えば、最低のＭＳＥに対応する品質値）を有する候補ソリューションが、最高品質を有する候補ソリューションとして選択されることができる。
【００９９】
１１１４において、多様性値が、（例えば、多様性コンポーネント３１０により）候補ソリューションのセットにおける各候補ソリューションに対して生成される。多様性値は、最高品質（例えば、１０１２において判定された）を有する候補ソリューションに対する特定の候補ソリューションの特異性の指標であることができる。一態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、余弦関数（例えば、特定の候補ソリューションと関連付けられた第１の出力ベクトル及び最高品質を有する候補ソリューションと関連付けられた第２の出力ベクトル）と関連付けられることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、Ｈａｌｓｔｅａｄメトリック（Ｈａｌｓｔｅａｄ複雑度指標）と関連付けられることができる。別の態様において、候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値は、類似性測定値の逆数と関連付けられることができる。しかしながら、別のタイプの多様性測定値が候補プロセスモデルのセットにおける各候補プロセスモデルに対する多様性値を生成するために実装されることができる、ということが認識されるべきである。
【０１００】
１１１６において、候補ソリューションのセットにおける候補ソリューションが、（例えば、順位付けコンポーネント３０８により）候補ソリューションのセットに対する生成された品質値及び／又は生成された多様性値に基づいて順位付けされる。例えば、ソリューションのセットは、最初に対応する品質値に基づいて順位付けされることができる（例えば、最高品質を有する候補ソリューションが１位に順位付けされ、２番目に高い品質を有する候補ソリューションが２位に順位付けされる、などになる）。さらに、候補ソリューションのセットは、対応する多様性値に基づいて順位付けされることができる。例えば、同じ品質値を有する候補ソリューションの順位付けは、対応する多様性値に基づいて判定されることができる（例えば、より高い多様性値を有する候補ソリューションがより高く順位付けされる）。つまり、より高い順位付けは、より高い品質（例えば、より低い誤差値）及びより大きい多様性（例えば、最高品質を有する候補ソリューションと比較したより大きい特異性）に対応することができる。
【０１０１】
１１１８において、候補ソリューションのセットのサブセットが、（例えば、選択コンポーネント３１２により）順位付けに基づいて選択される。例えば、最も高い順位付けを有する特定の数の候補ソリューション（例えば、最も高く順位付けされたトップ３、最も高く順位付けされたトップ５など）が選択されることができる。一態様において、ソリューションのサブセットは、メモリの利用可能なサイズに基づいて選択されることができる。例えば、高い順位付けを有する特定の数の候補ソリューションが、メモリ（例えば、短期間最適化メモリ）の利用可能なサイズに基づいて選択されることができる。
【０１０２】
１１２０において、候補ソリューションのセットのサブセットが短期間最適化メモリ（例えば、ＳＴＯＭ４０４）に記憶される。つまり、１つ又は複数の製造ツールと関連付けられたプロセスデータに基づく漸進的な最適化は、経時的に絶えず改善されることができる。さらに、より速いプロセス最適化が、短期間メモリにおいてプロセス最適化のための高品質の候補ソリューションの多様なセットを保持しながら使用されることができる。その上、短期間メモリにおいてプロセス制御及び／又はプロセス最適化のための多様な高品質ソリューションのセットを保持することにより製造状態を変更することに対して適応しながら、過剰適合の可能性が削減されることができる。
【０１０３】
開示された主題の様々な態様に対する背景を提供するために、図１２及び図１３、並びに下記の議論は、開示された主題の様々な態様を実装することができる適切な環境の簡潔で概略の説明を提供することを意図している。
【０１０４】
図１２を参照すると、本開示の様々な態様を実施するための適切な環境１２００は、コンピュータ１２１２を含む。コンピュータ１２１２は、演算処理装置１２１４、システムメモリ１２１６及びシステムバス１２１８を含む。システムバス１２１８は、演算処理装置１２１４に、下記には限定されないがシステムメモリ１２１６を含むシステムコンポーネントを連結する。演算処理装置１２１４は、様々な利用可能なプロセッサのうちのいずれかであることができる。デュアルマイクロプロセッサ及び他のマルチプロセッサ構造が、同様に、演算処理装置１２１４として使用されることができる。
【０１０５】
システムバス１２１８は、メモリバス若しくはメモリ制御器、周辺バス若しくは外部バス、及び／又は、下記には限定されないが、インダストリスタンダードアーキテクチャ（Industrial  Standard  Architecture：ＩＳＡ）、マイクロチャネルアーキテクチャ（Micro-Channel  Architecture：ＭＣＡ）、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（Intelligent  Drive  Electronics：ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、ペリフェラルコンポーネントインターコネクト（Peripheral  Component  Interconnect：ＰＣＩ）、カードバス、ユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）、アクセラレーテッドグラフィックスポート（Advanced  Graphics  Port：ＡＧＰ）、パーソナルコンピュータメモリカードインターナショナルアソシエーションバス（Personal  Computer  Memory  Card  International  Association  bus：ＰＣＭＣＩＡ）、ファイヤワイヤ（ＩＥＥＥ１３９４）、そしてスモールコンピュータシステムインターフェイス（Small  Computer  Systems  Interface：ＳＣＳＩ）を含むあらゆる種類の利用可能なバス構造を使用するローカルバスを含むいくらかのタイプの（複数の）バス構造のうちのいずれかであることができる。
【０１０６】
システムメモリ１２１６は、揮発性メモリ１２２０及び不揮発性メモリ１２２２を含む。例えば起動時の間などにコンピュータ１２１２内の要素間で情報を転送するための基礎的ルーチンを含む基本入出力システム（ＢＩＯＳ）は、不揮発性メモリ１２２２に記憶される。例示として、そして限定ではなく、不揮発性メモリ１２２２は、読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、又は不揮発性ランダムアクセスメモリ（ＲＡＭ）（例えば、強誘電体ＲＡＭ（ＦｅＲＡＭ））を含むことができる。揮発性メモリ１２２０は、外部キャッシュメモリとして動作するランダムアクセスメモリ（ＲＡＭ）を含む。例示として、そして限定ではなく、ＲＡＭは、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ダイレクトラムバスＲＡＭ（ＤＲＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、及びラムバスダイナミックＲＡＭのような多くの形式において利用可能である。
【０１０７】
コンピュータ１２１２は、同様に、取り外し可能／取り外し不可能、揮発性／不揮発性のコンピュータ記憶媒体を含む。例えば、図１２は、ディスク記憶装置１２２４を例示する。ディスク記憶装置１２２４は、下記には限定されないが、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、又はメモリスティックのようなデバイスを含む。ディスク記憶装置１２２４は、同様に、別々に記憶媒体を含むことができるか、又は、下記には限定されないが、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）のような光ディスクドライブ、ＣＤレコーダブルドライブ（ＣＤ−Ｒドライブ）、ＣＤリライタブルドライブ（ＣＤ−ＲＷドライブ）、又はデジタル多目的ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）を含む他の記憶媒体と組み合わせて記憶媒体を含むことができる。システムバス１２１８に対するディスク記憶装置１２２４の接続を容易にするために、インタフェース１２２６のような取り外し可能又は取り外し不可能インタフェースが、概して使用される。
【０１０８】
図１２は、同様に、ユーザと適切な動作環境１２００において説明された基礎的なコンピュータリソースとの間の媒介として働くソフトウェアを描写する。例えば、そのようなソフトウェアは、オペレーティングシステム１２２８を含む。ディスク記憶装置１２２４に記憶されることができるオペレーティングシステム１２２８は、コンピュータシステム１２１２のリソースを制御して割り当てる働きをする。システムアプリケーション１２３０は、例えばシステムメモリ１２１６又はディスク記憶装置１２２４のいずれかに記憶されているプログラムモジュール１２３２及びプログラムデータ１２３４を通して、オペレーティングシステム１２２８によるリソースの管理を活用する。本開示は、様々なオペレーティングシステムによって、又はオペレーティングシステムの組み合わせによって実施されることができる、ということが認識されるべきである。
【０１０９】
ユーザは、（複数の）入力デバイス１２３６を通して、命令又は情報をコンピュータ１２１２に入力する。入力デバイス１２３６は、下記には限定されないが、例えばマウス、トラックボール、スタイラス、タッチパッドのようなポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、テレビチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどを含む。これら及び他の入力デバイスは、（複数の）インタフェースポート１２３８を介してシステムバス１２１８を通り演算処理装置１２１４につながる。例えば、（複数の）インタフェースポート１２３８は、シリアルポート、パラレルポート、ゲームポート、及びユニバーサルシリアルバス（ＵＳＢ）を含む。（複数の）出力デバイス１２４０は、（複数の）入力デバイス１２３６と同じタイプのいくつかのポートを使用する。したがって、例えば、ＵＳＢポートは、コンピュータ１２１２に入力を提供するために、そしてコンピュータ１２１２から出力デバイス１２４０に情報を出力するために使用され得る。出力アダプタ１２４２は、特別なアダプタを必要とする他の出力デバイス１２４０の中に、モニタ、スピーカ及びプリンタのようないくつかの出力デバイス１２４０があることを例示するために提供される。出力アダプタ１２４２は、例示として、そして限定ではなく、出力デバイス１２４０とシステムバス１２１８との間の接続の手段を提供するビデオ及びサウンドカードを含む。他のデバイス及び／又はデバイスのシステムは、（複数の）リモートコンピュータ１２４４のように、入力機能及び出力機能の両方を提供する、ということに注意するべきである。
【０１１０】
コンピュータ１２１２は、（複数の）リモートコンピュータ１２４４のような１つ又は複数のリモートコンピュータに対する論理結合を使用して、ネットワーク化された環境において動作することができる。（複数の）リモートコンピュータ１２４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの装置、ピアデバイス又は他の共通ネットワークノードなどであることができ、そして一般的に、コンピュータ１２１２に関連して説明された要素のうちの多数又は全てを含む。簡潔にする目的のために、メモリ記憶装置１２４６のみが（複数の）リモートコンピュータ１２４４とともに例示される。（複数の）リモートコンピュータ１２４４は、ネットワークインタフェース１２４８を通してコンピュータ１２１２に論理的に接続され、そして通信接続部１２５０を介して物理的に接続されている。ネットワークインタフェース１２４８は、例えばローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、セルラネットワークなどのような有線及び／又は無線通信ネットワークを網羅する。ＬＡＮ技術は、ファイバディストリビューテッドデータインタフェース（Fiber  Distributed  Data  Interface：ＦＤＤＩ）、イーサネット（登録商標）、トークンリングなどを含む。ＷＡＮ技術は、下記には限定されないが、ポイントツーポイントリンク（point-to-point  link）、総合デジタル通信網（Integrated  Services  Digital  Network：ＩＳＤＮ）及びその変形物のような回線交換網、パケット交換網、及びデジタル加入者回線（ＤＳＬ）を含む。
【０１１１】
（複数の）通信接続部１２５０は、ネットワークインタフェース１２４８をバス１２１８と接続するために使用されるハードウェア／ソフトウェアのことを指す。説明の明確化のために通信接続部１２５０がコンピュータ１２１２の内部に示される一方、それは同様にコンピュータ１２１２の外部に存在することができる。ネットワークインタフェース１２４８に対する接続にとって必要なハードウェア／ソフトウェアは、例示の目的のみに対して、例えば通常の電話グレードのモデム、ケーブルモデム及びＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、そしてイーサネット（登録商標）カードなどの内部技術及び外部技術を含む。
【０１１２】
図１３は、本開示の主題が相互に作用することができるサンプルのコンピュータ環境１３００の概要の構成図である。システム１３００は、１つ又は複数のクライアント１３１０を含む。（複数の）クライアント１３１０は、ハードウェア及び／又はソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）であることができる。システム１３００は、同様に、１つ又は複数のサーバ１３３０を含む。したがって、システム１３００は、他のモデルの中で２層のクライアントサーバモデル又は多層のクライアントサーバモデル（例えば、クライアント、中間層のサーバ、データサーバ）に対応することができる。（複数の）サーバ１３３０は、同様に、ハードウェア及び／又はソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）であることができる。サーバ１３３０は、例えば、本開示を使用することにより変換を実行するスレッドを収容することができる。クライアント１３１０とサーバ１３３０との間の１つの可能な通信は、２つ以上のコンピュータプロセスの間で送信されたデータパケットの形式であり得る。
【０１１３】
システム１３００は、（複数の）クライアント１３１０と（複数の）サーバ１３３０との間の通信を容易にするために使用されることができる通信フレームワーク１３５０を含む。（複数の）クライアント１３１０は、（複数の）クライアント１３１０にローカルな情報を記憶するために使用されることができる１つ又は複数のクライアントデータストア１３２０に動作可能なように接続されている。同様に、（複数の）サーバ１３３０は、（複数の）サーバ１３３０にローカルな情報を記憶するために使用されることができる１つ又は複数のサーバデータストア１３４０に動作可能なように接続されている。
【０１１４】
本開示の態様又は機能は、実質的にあらゆる無線電気通信又はラジオ技術、例えば、ワイファイ、ブルートゥース（登録商標）、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（Worldwide  Interoperability  for  Microwave  Access：ＷｉＭＡＸ（ワイマックス））、拡張汎用パケット無線サービス（拡張ＧＰＲＳ）、第３世代パートナシッププロジェクト（３ＧＰＰ）ロングタームエボリューション（ＬＴＥ）、第３世代パートナシッププロジェクト２（３ＧＰＰ２）ウルトラモバイルブロードバンド（ＵＭＢ）、３ＧＰＰユニバーサル移動体通信システム（ＵＭＴＳ）、高速パケットアクセス（ＨＳＰＡ）、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）、高速アップリンクパケットアクセス（ＨＳＵＰＡ）、ＧＳＭ（登録商標）（グローバルシステムフォーモバイルコミュニケーションズ）ＥＤＧＥ（ＧＳＭ（登録商標）進化型高速データレート）無線アクセスネットワーク（ＧＥＲＡＮ）、ＵＭＴＳ地上波無線アクセスネットワーク（ＵＴＲＡＮ）、ＬＴＥアドバンスト（ＬＴＥ−Ａ）などにおいて利用されることができる、ということが注意されるべきである。その上、ここで説明された態様のいくつか又は全ては、レガシー電気通信技術、例えばＧＳＭ（登録商標）において利用されることができる。さらに、モバイルネットワーク並びに非モバイルネットワーク（例えば、インターネット、インターネットプロトコルテレビ（ＩＰＴＶ）のようなデータサービスネットワークなど）は、ここで説明された態様又は特徴を利用することができる。
【０１１５】
主題が、上記で、コンピュータ及び／又は複数のコンピュータ上で動作するコンピュータプログラムのコンピュータ実行可能命令の一般的な文脈で説明された一方、当業者は、本開示が、同様に、他のプログラムモジュールと組み合わせて実施されることができるか、又は実施されてもよい、ということを認識することになる。一般に、プログラムモジュールは、特定のタスクを実行するか、及び／又は特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、当業者は、創意に富んだ方法は、シングルプロセッサ若しくはマルチプロセッサコンピュータシステム、ミニコンピューティングデバイス、メインフレームコンピュータ、並びに、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス（例えば、ＰＤＡ、電話機）、マイクロプロセッサベースの若しくはプログラム可能なコンシューマエレクトロニクス又は産業エレクトロニクスなどを含む他のコンピュータシステム構成によって実践され得る、ということを認識することになる。例示された態様は、同様に、通信ネットワークを通して連結されるリモート処理デバイスによりタスクが実行される分散コンピューティング環境において実践され得る。しかしながら、本開示の態様のいくつか、もしそうでないならば全ては、スタンドアロンコンピュータ上で実践されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカル及びリモートのメモリ記憶装置の両方に配置されることができる。
【０１１６】
本出願で使用されるように、用語“コンポーネント”、“システム”、“プラットフォーム”、“インタフェース”などは、コンピュータ関連のエンティティ、及び／若しくは１つ以上の特定の機能を有する演算機械に関連するエンティティを指すことができるか、並びに／又は含むことができる。ここで開示されたエンティティは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかであることができる。例えば、コンポーネントは、下記には限定されないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、及び／又はコンピュータであり得る。実例として、サーバ上で動作するアプリケーション及びサーバは、コンポーネントであることができる。１つ又は複数のコンポーネントは、プロセス及び／又は実行のスレッドの中に存在し得るとともに、コンポーネントは、１つのコンピュータに集中され得るか、及び／又は２つ以上のコンピュータの間に分散され得る。
【０１１７】
別の実例において、それぞれのコンポーネントは、その上に記憶される様々なデータ構造を有する様々なコンピュータ読み取り可能な媒体から実行することができる。コンポーネントは、１つ又は複数のデータパケット（例えば、ローカルシステムにおいて、分散処理システムにおいて、及び／又は他のシステムを有するインターネットのようなネットワークを横断して、信号を介して別のコンポーネントと対話する１つのコンポーネントからのデータ）を有する信号に従うように、ローカルプロセス及び／又はリモートプロセスを介して通信し得る。別の実例として、コンポーネントは、電気又は電子回路により操作された機械部品により提供される特定の機能を有する装置であることができ、それは、プロセッサにより実行されたソフトウェア又はファームウェアアプリケーションにより操作される。そのような場合において、プロセッサは、装置の内部又は外部にあることができ、ソフトウェア又はファームウェアアプリケーションの一部分を少なくとも実行することができる。さらに別の実例として、コンポーネントは、機械部品なしで電子部品を通して特定の機能を提供する装置であることができ、ここで、電子部品は、電子部品の機能を少なくとも一部与えるソフトウェア又はファームウェアを実行するためのプロセッサ又は他の手段を含むことができる。一態様において、コンポーネントは、例えばクラウドコンピューティングシステム内のバーチャルマシンによって電子部品をエミュレートすることができる。
【０１１８】
さらに、用語“又は”は、排他的な“又は”よりむしろ包括的な“又は”を意味することを意図している。すなわち、別の方法で指定されるか、又は文脈から明確でない限り、“ＸはＡ又はＢを使用する”は、自然な包括的な順列のうちのいずれかを意味することを意図している。すなわち、もしＸはＡを使用する、ＸはＢを使用する、又は、ＸはＡ及びＢの両方を使用するならば、“ＸはＡ又はＢを使用する”は、前述の事例のうちのいずれの場合も満たされる。さらに、本明細書及び添付の図面で使用される冠詞“ａ”及び“ａｎ”は、一般に、単数形に向けられることが別の方法で指定されるか又は文脈から明確でない限り、“１つ又は複数”を意味すると解釈されるべきである。
【０１１９】
一例として、ここで使用されるように、用語“実例”及び／又は“代表的”は、例、事例、又は例示としての機能を果たすことを意味するために使用される。誤解を避けるため、ここで開示される主題は、そのような実例に限定されるものではない。さらに、“実例”及び／又は“代表的”としてここで説明されたあらゆる態様若しくは設計は、必ずしも、他の態様若しくは設計より好ましいか又は有利であるように解釈されるべきではなく、そしてまた、それは当業者に知られている同等の代表的な構造及び技術を排除することを意味しない。
【０１２０】
ここで説明された様々な態様又は特徴は、標準のプログラミング又はエンジニアリング手法を使用して、方法、装置、システム又は工業製品として実施されることができる。さらに、本開示で開示された様々な態様又は特徴は、ここで開示された方法のうちの少なくとも１つ又は複数を実施するプログラムモジュールを通して実現されることができ、プログラムモジュールは、メモリに記憶され、そして少なくともプロセッサにより実行される。ハードウェアとソフトウェアの他の組み合わせ、又はハードウェアとファームウェアの他の組み合わせは、開示された（複数の）方法を含むここで説明された態様を可能にするか、又は実施することができる。ここで使用された用語“工業製品”は、あらゆるコンピュータ読み取り可能なデバイス、キャリア、又は記憶媒体からアクセス可能なコンピュータプログラムを網羅することができる。例えば、コンピュータ読み取り可能な記憶媒体は、下記には限定されないが、磁気記憶装置（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ・・・）、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク（ＢＤ）・・・）、スマートカード、及びフラッシュメモリデバイス（例えば、カード、スティック、キードライブ）、又は同様のものを含むことができる。
【０１２１】
本明細書で使用されるように、用語“プロセッサ”は、実質的に、下記には限定されないが、シングルコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するシングルプロセッサ、マルチコアプロセッサ、ソフトウェアマルチスレッド実行能力を有するマルチコアプロセッサ、ハードウェアマルチスレッド技術を有するマルチコアプロセッサ、並列プラットフォーム、及び分散共有メモリを有する並列プラットフォームを含むあらゆるコンピューティング処理装置又はデバイスのことを指すことができる。その上、プロセッサは、集積回路、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックコントローラ（ＰＬＣ）、複合プログラマブル論理デバイス（ＣＰＬＤ）、別個のゲート若しくはトランジスタロジック、別個のハードウェアコンポーネント、又はここで説明された機能を実行するように設計されたそのあらゆる組み合わせのことを指すことができる。さらに、プロセッサは、ユーザ装置の空間使用を最適化するか、又は性能を高めるために、下記には限定されないが、分子及び量子ドットベースのトランジスタ、スイッチ及びゲートのようなナノスケール構造を利用することができる。プロセッサは、同様に、コンピューティング処理装置の組み合わせとして実装され得る。
【０１２２】
本開示において、例えば、“記憶する”、“記憶装置”、“データストア”、“データ記憶装置”、“データベース”のような用語、そしてコンポーネントの動作及び機能に関連する実質的にあらゆる他の情報記憶コンポーネントは、“メモリコンポーネント”、“メモリ”内に具現化されるエンティティ、又は、メモリを含むコンポーネントのことを指すために利用される。ここで説明されたメモリ及び／又はメモリコンポーネントは、揮発性メモリ若しくは不揮発性メモリのいずれかであることができるか、又は、揮発性メモリ若しくは不揮発性メモリの両方を含むことができる、ということが認識されるべきである。
【０１２３】
例示として、そして限定ではなく、不揮発性メモリは、読み取り専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、又は不揮発性ランダムアクセスメモリ（ＲＡＭ）（例えば、強誘電体ＲＡＭ（ＦｅＲＡＭ））を含むことができる。揮発性メモリは、例えば、外部キャッシュメモリとして動作することができるＲＡＭを含むことができる。例示として、そして限定ではなく、ＲＡＭは、シンクロナスＤＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ダイレクトラムバスＲＡＭ（ＤＲＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、及びラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）のような多くの形式において利用可能である。その上、本明細書におけるシステム又は方法の開示されたメモリコンポーネントは、これら及びあらゆる他の適切なタイプのメモリを含むことを意図しているが、含むことに限定されない。
【０１２４】
コンポーネントは、特定のシステム又は方法に関連して説明されるように、ここで開示された他のシステム又は方法に関連して説明されたそれぞれのコンポーネント（例えば、それぞれ名前を付けられたコンポーネント又は同じように名前を付けられたコンポーネント）と同じであるか又は同様の機能を含むことができる、ということが認識されるとともに理解されるべきである。
【０１２５】
上記は、本開示の利点を提供するシステムと方法の実例を含む。本開示を説明するためにコンポーネント又は方法のあらゆる考えられる組み合わせを説明することは、もちろん可能ではないが、しかし、当業者は、本開示の多くのさらなる組み合わせ及び並べ換えが可能であることを認識し得る。さらに、用語“含む”、“有する”、“保有する”などが、詳細な説明、請求項、付録及び図面で使用されるかぎり、そのような用語は、用語“備える”と同様の方法で、“備える”が暫定語として請求項において使用される場合に解釈されるように、包括的であることを意図している。
【図１】
0006731341.tif 000002
【図２】
0006731341.tif 000003
【図３】
0006731341.tif 000004
【図４】
0006731341.tif 000005
【図５】
0006731341.tif 000006
【図６】
0006731341.tif 000007
【図７】
0006731341.tif 000008
【図８】
0006731341.tif 000009
【図９】
0006731341.tif 000010
【図１０】
0006731341.tif 000011
【図１１】
0006731341.tif 000012
【図１２】
0006731341.tif 000013
【図１３】
0006731341.tif 000014