関連出願の相互参照
本出願は、2010年1月29日に出願された「半導体製造ツールを自己学習及び自己改善するための方法及びシステム」という名称の米国特許出願第12/697,121号への優先権を主張し、その全体は参照によりここに組み込まれる。さらに、本出願は、2008年3月8日に出願された「自律的な生物学に基づく学習ツール」という名称の米国特許出願第12/044,958号の一部継続である。主題の出願は、また、2008年3月8日に出願された「自律的に適応する半導体製造」という名称の米国特許出願第12/044,959号に関連する。
背景
技術的進歩はますます複雑なプロセス駆動自動装置へ導いている。特定の目標(ゴール)を達成するか、又は、特定の技術的に高度なプロセスを実行するツールシステムは、一般に、目標を達成するか、又は、成功裡にプロセスを実行する複数の機能要素と、データを集めて装置の動作を監視する各種のセンサと、を組み込み得る。そのような自動装置は、大量のデータを生成し得る。データは、製品又は特定のタスクの一部として実行されるサービスに関する本質的な情報を含み得るが、さらにプロセス自体の実行に関するかなり大きいログ情報も含み得る。
現代の電子記憶技術は絶えず増加する多量のデータを保持することを提供できるが、蓄積されたデータの利用は断じて最適に維持されない。収集された情報の検討及び解釈は、一般に、人間の介在を必要とし、マルチコアプロセッサ、大規模並列プラットフォーム及びプロセッサグリッドのように、計算パワーが進歩し、さらに、オブジェクト指向プログラミング、モジュラーコードの再使用、ウェブに基づくアプリケーション、及びより近年の量子コンピューティングのように計算パラダイムが進歩する一方で、収集されたデータの処理は、非自律的な、静的プログラムの企画のままであり、その中でデータは操作される。より重要なことに、非自律的なデータプロセッシングにおいて、データは分析プロセス自体を駆動しない。そのようなデータ処理パラダイムの結果として、もし特定の分析が、設計されておらず、特定のタイプの関係に注目されなければ、技術的に高度なプロセス中に自動装置において生成されたデータの間に存在し得る豊富な関係の多くは、気かれない場合がある。より重要なことに、装置中の異なるユニットによって生成される異なるデータの間の多重相関から発生することができ、複雑な自動ツール又はマシンの最適な性能を決定することができる新生の現象は、気付かれないままであり得る。
加えて、マシン内で実行されたプロセスに関するデータ及び変数の間の各種の相関は、ツール又はマシンのセットの実際の動作性能と関係する本質的な情報を伝え得る。特定の較正相関はツールのセットの合成動作中に発展し得ることは認識されるべきであり、異なる生産相関は生産モードにおける動作の結果として発展し得る。相関における不均衡は、ツールの進化又は調整から発生し得る(例えば、命令された条件外の器具の利用のような動作における消耗、裂け、欠陥、など)。プロセスにおける1以上の器具の性能を監視する従来のシステム及びアプローチは、典型的に、そのような生産相関を捕らえ、及び、活かさないデータを利用する。
概要
本発明のいくつかの態様の基本的な理解を提供するために、本発明の簡素化した概要を次に提示する。この概要は、本発明の外延的な概観ではない。これは、本発明の重要又は重大な要素を特定することも、又は、本発明の範囲を定めることも意図していない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、本発明のいくつかの概念を簡略化した形式で提示することである。
製造ツールの性能を最適化するためのシステム及び方法が提供される。最適化は、レシピドリフティングと、製品出力メトリックと入力材料測定値とレシピパラメータとの間の関係を捕獲する知識の生成とを頼る。製造ツールの特定の処理又はサブシステムに対する最適化されたレシピパラメータは、製造ツールの現在の状態に対する出力メトリックと入力材料の測定値とを予測する学習された関数の基礎から抽出される;最適な又はほぼ最適なレシピパラメータは、逆問題アプローチを通じて決定されることができる;ドリフティングと学習とは、ツールの性能の動的な最適化に関連し及び導き、動的な最適化は、ツールの動作条件を変更する場合に、製造ツールからの最適化された出力を可能にする。レシピドリフティングと関連する学習との特徴は、自律的に、又は、適切なユーザインタフェースを通じて外部から設定され、エンドユーザの相互作用を最適化するようにドリフトされることもできる。
1つの態様において、レシピドリフトコンポーネントは、インクリメンタルに調節されたレシピのセットを生成する。自律的な生物学に基づく学習ツールシステムは、入力測定値とレシピパラメータを出力メトリックに関連付ける学習された予測関数のセットを生成する。自律最適化コンポーネントは、逆問題を解決し、入力材料測定値と、製造された製品に対するアセットターゲットメトリックのセットとを提供されるレシピパラメータのセットを抽出する。
自律的な生物学に基づく学習ツールシステムは、(i)個別のシステム、又は、階層的に展開されたグループ又はコングロマリットのシステムのいずれでもある1つ以上のツールシステム。このツールシステムは、例えば半導体製造タスクのような特定のタスク、又は、酸化エッチング又はイオン注入のようなプロセスを実行し、プロセス及びツール性能を反映するデータを生成する、(ii)データを受け取り、さらなる使用のためにデータをパッケージ化する相互作用マネージャ、(iii)学習の生物学の原理に基づく自律学習システム、を含む;学習は、意味ネットワークのセットにおける概念の広げる活性化を通じて実行される。自律的な学習システムは、3つの機能ブロックのグループから再帰的に定義されることができる機能的な構造を具備する:3つの機能ブロックは、メモリプラットフォーム、処理プラットフォーム、及び、知識通信ネットワークであり、これを通じて、情報は、ツールシステム及び外部のアクタ(例えば、コンピュータ又は人間エージェント)と同様に、メモリプラットフォームと処理プラットフォームとの間で通信される。メモリプラットフォームは、メモリの階層を含み、データの印象(impression)及び関連する学習命令に対するエピソードメモリ、知識発展のために使用される短期メモリ、知識を記憶する長期メモリを含み、知識を意味(semantic)ネットワークにキャストする。処理プラットフォームにおける機能ユニットは、メモリプラットフォームに記憶されている情報を動作し、学習を促す。そのようなブロックと関連する機能の構築は、人間の脳の生物学上の構造及び振る舞いによって励起されます。
上述の関連する目的を達成するために、以下の詳細な説明及び添付の図面は、主題開示の詳細ないくらかの例示の態様を説明する。しかしながら、これらの態様は、請求項の主題の開示の原理を利用することができる様々なやり方のうちのほんのいくつかを示しているだけであり、請求項の主題は、そのような態様及びそれらと同等のものを全て含むことを意図している。主題開示の次の詳細な説明を、図面とともに検討することにより、主題開示の他の効果と新規の特徴とが明らかになるであろう。
図1は、ここで説明される態様に係る自律的な生物学に基づく学習ツールの高レベルのブロック図を示す。
図2は、ここで説明される態様に係るコンテキストの目標の適応を表す図である。
図3は、ここで説明される態様に係る例示の自律的な生物学に基づく学習ツールの高レベルのブロック図を示す。
図4は、ここでの態様に係る自律的な生物学に基づく学習システムを活用することができる半導体製造のための例示のツールシステムの図である。
図5は、主題開示の態様に係る自律的な生物学に基づく学習システムの例示のアーキテクチャの高レベルのブロック図を示す。
図6Aは、ここで説明される態様に係る例示のオートボットコンポーネントを示す。
図6Bは、ここで説明される態様に係る例示のオートボットアーキテクチャを示す。
図7は、主題開示の態様に係る自律的な生物学に基づく学習システムの自己認識コンポーネントの例示のアーキテクチャを示す。
図8は、ここで説明される態様に係る認識ワーキングメモリ内で動作する例示のオートボットの図である。
図9は、ここで説明される態様に係る自律的な生物学に基づく学習システムの自己概念化コンポーネントの例示の実施形態を示す。
図10は、ここで説明される態様に係る自律的な生物学に基づく学習システムの自己最適化コンポーネントの例示の実施形態を示す。
図11Aは、ここで説明される態様に係る例示の進化ツールシステムのブロック図である。
図11Bは、ここで説明される態様に係る例示の進化ツールシステムのブロック図である。
図12は、主題開示の態様に係る自律最適化コンポーネントの例示の実施形態のブロック図である。
図13は、ここで説明される態様に係るレシピドリフトコンポーネントの例示の実施形態のブロック図である。
図14は、ここで説明される態様に係るドリフトを通じたレシピ適応の図を表示する。
図15は、主題開示の態様に係る相互作用マネージャの例示の実施形態を表示する。
図16は、ここで説明される態様に係るツールシステムのドリフティング、及び、関連する知識生成の少なくとも一部を調節するために与えられることができる例示のユーザインタフェースである。
図17は、ここで説明される態様に係る生物学に基づく自律学習のための例示の方法のフローチャートを与える。
図18は、ここで説明される態様に係る知識を生成するための例示の方法のフローチャートを与える。
図19は、ここで説明される態様に係る推論を通じて知識を生成するための例示の方法のフローチャートを与える。
図20は、ここで説明される態様に係る、アセットを生産、例えば製造する1つ以上のツールによって生成される製造データに関する変数のセットの間の関係を学習するための例示の方法のフローチャートを与える。
図21は、ここで説明される態様に係る製造レシピをドリフトするための例示の方法のフローチャートである。
図22は、ここで説明される態様に係る、製品出力のための目標の仕様を備える製品を製作するための進化レシピを生成するための例示の方法のフローチャートである。
図23は、ここで説明される態様に係る、製造レシピにおける入力変数及びパラメータと製品出力との間の予測の関数の関係を自律的に生成するための例示の方法フローチャートを表示する。
詳細な説明
ここで主題革新は、図面を参照して説明され、全体を通して同じ要素を指すために同じ参照番号を使用する。次の説明において、説明の目的のために、多くの具体的な詳細が、本発明の完全な理解を提供するために示される。しかしながら、これらの具体的な詳細がなくても本発明を実行できることは明らかであり得る。他の例では、本発明の説明を促進するために、周知の構造とデバイスとが、ブロック図の形で示されている。
主題の明細書及び図面で使用されるように、「オブジェクト」、「モジュール」、「インターフェイス」、「コンポーネント」、「システム」、「プラットフォーム」、「エンジン」、「セレクタ」、「マネージャ」、「ユニット」、「ストア」、「ネットワーク」、「ジェネレータ」などの用語は、コンピュータに関連するエンティティ、又は特定の機能を備える動作マシン又は装置に関連するエンティティ又はその一部を指すことを意図している;そのようなエンティティは、ハードウェア、ハードウェアとファームウェアとの組合せ、ファームウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、又は実行中のソフトウェアの何れかであり得る。さらに、上記の用語を通じて明らかになるエンティティは、ここで機能要素として一般的に呼ばれる。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、エグゼキュータブル、実行スレッド、プログラム、及び/又はコンピュータであり得るが、これらに制限されない。例として、サーバで実行されるアプリケーションとサーバとの両者が、コンポーネントであり得る。1以上のコンポーネントが、1つのプロセス及び/又は実行スレッド内に存在してもよく、1つのコンポーネントが、1つのコンピュータに配置されていても及び/又は2つ以上のコンピュータの間で分散されてもよい。さらに、これらのコンポーネントは、記憶される様々なデータ構造を備える様々なコンピュータ可読記憶媒体から実行されう得る。コンポーネントは、例えば1つ以上のデータパケットを持つ信号にしたがって、ローカル及び/又はリモートプロセスによって通信し得る(例えば、1つのコンポーネントからのデータは、ローカルシステム、分散システムにおいて別のコンポーネントと、及び/又はインターネットのようなネットワークを渡って他のシステムと、信号によって交換する)。一例として、コンポーネントは、電気又は電子回路によって動作される機械的パーツによって提供される特定の機能性を備える装置であってもよく、この電気又は電子回路は、プロセッサによって実行されたソフトウェアまたはファームウェアアプリケーションによって動作され、プロセッサは、装置の内部又は外部にあるとしてもよく、少なくとも目標を追求する間実行する。エピソードを識別するアクタは、プロセスエンジニアのような、人間のジェント、機械部分を除く電気コンポーネントを通じた特定の機能性であってもよく、電気コンポーネントは、そこの中に、電気コンポーネントの機能性の少なくとも一部を与えるソフトウェア又はファームウェアを実行するためのプロセッサを含み得る。インタフェースは、関連するプロセッサ、アプリケーション、又は、API(アプリケーション・プログラム・インタフェース)と同様に、入力/出力(I/O)コンポーネントを含み得る。このように先に与えられた例はコンポーネントで指示されるが、例示の特徴又は態様は、オブジェクト、モジュール、インタフェース、システム、プラットフォーム、エンジン、セレクタ、マネージャ、ユニット、ストア、ネットワークなどにも適用する。
さらに、用語「又は」は、排他的な「又は」ではなく、包括的な「又は」を意味することを意図している。すなわち、特に指定されている場合を除いて、又は文脈から明らかである場合を除いて、「XはA又はBを用いる」は、通常の包括的な置換の何れかを意味することを意図している。すなわち、XはAを用いる、XはBを用いる、又は、XはA及びBの両者を用いる、である場合に、「XはA又はBを用いる」は、上述の例の何れにおいても満たされる。さらに、この出願と添付された請求項とにおいて使用されている冠詞「a」と「an」は、特に指定されている場合を除いて、又は単数を指すことが文脈から明らかである場合を除いて、通常は、「1つ以上」を意味すると解釈されるべきである。
さらに、ここで使用されるような用語「セット」は、例えば、その中に要素を持たないセットのような、空セットを含む。したがって、主題開示における「セット」は、1つ以上の要素又はエンティティを含む。例として、コンポーネントのセットは、1つ以上のコンポーネントを含む;変数のセットは、1つ以上の変数を含む;など。
様々な態様又は特徴は、多数のデバイス、コンポーネント、モジュールなどを含むとしてもよいシステムによって提供されるだろう。様々なシステムは、付加的なデバイス、コンポーネント、モジュールなどを含むとしてもよく、及び/又は、図に関連して議論されるデバイス、コンポーネント、モジュールなどのすべてを含まなくてもよい。これらのアプローチの組み合わせは、また、使用されることができる。
図面を参照すると、図1は、ここに記述される態様に係る例示の自律的な生物学に基づく学習システム100を示す。適応推論エンジン110は、目標コンポーネント120に接続される。有線又は無線の通信リンク115はそのようなコンポーネントに連結する。目標コンポーネント120によって設定又は遂行される特定の目標のために、適応推論コンポーネント110は、目標を達成するために用いられることができる入力130を受け取り、遂行又は達成される目標の態様を表わす又は記録することができる出力140を送る。さらに、適応推論エンジン110は、データストア150からリンク155を通してデータを受け取ることができ、かつ、このようなデータ記憶装置にデータ又は情報を記憶することができ、例えば、記憶される情報は、有線又は無線のリンク165を通して送られる出力140の一部であり得る。(i)入力130と、出力140と、データストア150中のデータ(同様に、入力と、出力と、データストア中のデータ、の履歴)とが、適応推論エンジン110の動作に対するコンテキストを含み、(ii)リンク115,155,165を介する適応推論エンジンへのそのコンテキストのフィードバックが、コンテキストに基づく適応を促進する、と理解されるべきである。特に、目標コンポーネント120は、フィードバックコンテキストを活用して、特定の最初の目標を適応し、適応させた目標を設定及び遂行することができる。
入力130は、外部からのデータ又は情報と見なすことができ、外部からのデータ又は情報は、(1)音、例えば、音声コマンド、周囲の雑音又は音声、アラーム;(2)静的又は移動可能な地上に基づくカメラ、空中(例えば、飛行機、衛星)のカメラによって捕らえられる画像、ここでカメラは放射線スペクトルの複数の間隔で動作することができる;(3)バイオメトリックインジケータ;(4)トークン、例えば、製造された製品のバッチ、材料のサンプル;命令、記録、測定結果を含み得るデータ;などを含むことができる。出力140は、入力130と性質上ほぼ同じであり得る。出力140は、内部からのデータと見なすことができる。入力と出力140は、入力と出力のインタフェースによって、それぞれ、受け取ることと、送ることができる。入力と出力のインターフェイスは、例えば、カメラ、入力パッド、メディアドック(例えば、ユニバース・シリアル・バス(USB)ポート、赤外線(IR)ワイヤレス入力)である。入力と出力のインターフェイスは、適応推論コンポーネント110中に存在し得る。既に記載したように、入力130と出力140は、適応推論エンジン110に対するコンテキストの一部であり得る。さらに、適応推論コンポーネント110は、目標を遂行するために、入力130を要求することができる。
自律的な生物学に基づくシステム100中のコンポーネントは、再帰的に定義され得る。コンポーネントは、基礎の初等のコンポーネントのコンポーネント学習複雑さの実質的な程度を、自律システム100に与えることができる。
各リンク115,155,又は,165は、通信インタフェースを含むことができる。通信インタフェースは、送信又は受信されるデータ又は情報の操作を促すことができ;データの保存とデータマニングとのためにデータベースを利用することができ;アクタから情報を受信することと、アクタに情報を送ることができる。リンク115,155,又は,165の有線の実施形態は、撚り対線と、T1/E1電話回線と、AC線と、光ファイバ線と、対応する回線とを含むことができる。一方で、無線の実施形態は、ウルトラモバイル広帯域リンク、ロングタームエボリューション(LTE)リンク、又はIEEE 802.11リンクと、関連する電子機器とを含むことができる。データストア150に関して、データストア150は、単一の要素として示されているが、分散型データウェアハウスであってもよく、この分散型データウェアハウスにおいて、データメモリのセットは異なる物理的又は論理的位置に配置される。
例示的なシステム100において、適応推論エンジン110と目標コンポーネント320は、別々のコンポーネントとして示されているが、このようなコンポーネントのうちの一方が、他方の中に存在する場合があると理解されるべきである。
目標コンポーネント120は、1つ以上の分野(例えば、科学的分野、商業的分野、芸術的分野、文化的分野、など)、又は事業部門(例えば、市場部門、産業部門、研究部門、エネルギー部門、公共政策部門、など)に属し得る。さらに、目標は、通常、多くの分野にわたり、複数の市場に焦点を当てる場合があるので、目標コンポーネントは、1つ以上の特定の分野又はセクター内に、複数の異なる目標を設定することができる。目標を遂行するために、目標コンポーネントは、機能コンポーネントと、監視コンポーネントとを含むことができる。目標を達成するための特定の動作は、機能コンポーネントによって行なわれる。一方で、目標の達成に関する変数の条件は、監視コンポーネントによって決定される。さらに、機能コンポーネントは、目標コンポーネント120によって達成され得る目標空間を決定することができる。目標空間は、特定の機能を用いて到達できる目標を実質的に全て含む。機能コンポーネントによって与えられるこのような特定の機能に対して、特定の目標のコンテキストに即した適応は、目標空間内で第1の目標を第2の目標に適応させることができると理解されるべきである。目標空間内の最初の目標は、1以上のアクタによって決定され得る;アクタは、機械又は人間のエージェント(例えば、エンドユーザ)であり得る。適応推論エンジン110は、目標のドリフティング(drifting)によって、目標コンポーネント120を、細かくて複雑な対象へ向かわせることができるので、最初の目標は、包括的な高レベルの対象であり得ることに留意すべきである。目標と、目標コンポーネントと、目標適応とについて次に説明する。
例示のシステム100において、様々なコンポーネントの記述された機能性を与えるように構成され、及び、少なくとも部分で与える、1つ以上のプロセッサ(図示せず)が含まれ得る。このような機能性を与えるために、1つ以上のプロセッサ(図示せず)は、データ又は任意の他の情報交換のためのリンク155,115,及び,165を活用し得る。1つ以上のプロセッサ(図示せず)は、データストア150、又はそれの中のメモリコンポーネント又は要素に記憶されているコード命令(図示せず)を実行することができ、例のシステム100及びその中のコンポーネントの記述された機能性を提供する。
図2は、ここでの態様に係るコンテキストに即した目標適応を表した図200である。通常、目標(例えば、目標2101又は目標2103)は、目標コンポーネント(例えば、コンポーネント120)の機能に関連する抽象的概念であり得る。目標は、高レベルの抽象的概念であり得る:「退職後の生活のために貯蓄する」、「利益を確保する」、「楽しむ」、「料理を学ぶ」、「現地に行く」、「データベースを開発する」、「製品を製造する」など。さらに、目標は、例えば、例えば、「60,000−80,000ドルの範囲内の年収で貯金をして、早く退職する」、「オフシーズンに、宿を含む旅行費用を5,000ドル以下にして、アメリカから日本に旅行する」、又は、「就職面接会場に着いたら、将来の雇用者である経営者たちのグループに35分のプレゼンテーションをする」のように、より具体的に絞り込んだものであってもよい。さらに、目標(例えば、2101)は、関連するコンテキスト(例えば、2201)を所有する。既に記載したように、適応推論エンジン110に連結された目標コンポーネント120は、通常、設定目標(例えば、目標2101、又は目標2103)に適合性を持つ。例えば、「製品を製造する」という目標(例えば、目標2101)は、製造ツールシステムに任せることができる。製造ツールシステムは、例えば、分子線エピタキシーリアクタ(例示的な目標コンポーネント120)であって、標準仕様又はカスタム仕様を採用して、製品を製造する。このような目標(例えば、目標2101)を達成している間、出力140は、製造された製品を含み得る。さらに、適応推論コンポーネント(例えば、コンポーネント110)は、「製品を製造する」という目標(例えば目標2101)を、コンテキスト(例えば、コンテキスト2201)に基づいて適応させる(例えば、適応2301)ことができる。例えば、コンテキストは、ツールシステムの仕様によって、又は、目標コンポーネント中の監視コンポーネントによって収集されたデータによって、生成され得る。具体的には、最初の高レベルの目標(例えば、目標2101)を、「半導体デバイスを製造する」(例えば、目標2102)に適応させることができる。既に記載したように、目標コンポーネント120は、目標を達成するために複数の機能コンポーネントから構成されてもよい。さらに、目標コンポーネント120は、モジュール式であってもよい。この場合に、目標が適応されるように、目標サブコンポーネントが組み込まれ得る。一例として、「製品を製造する」という目標を遂行する目標コンポーネントは、複数市場を評定して予見する、コンポーネントを具備し得る。複数市場を評定して予見するコンポーネントは、超並列インテリジェントコンピューティングプラットフォームに連結される。この超並列インテリジェントコンピューティングプラットフォームは、「分子エレクトロニクスコンポーネントを利用するマルチコアプロセッサを製造する」という目標(例えば、目標210N)に適応させる(例えば、230N)ために、様々な市場の市場条件を分析することができる。このような適応は、幾つかの中間適応2301−230N-1と、中間適応された目標2101−210N-1とを含み得ることに留意すべきである。中間適応は、前に遂行された目標から生成された中間コンテキスト2201−220N-1に基づく。
目標と、目標コンポーネントと、目標適応との別の例において、目標は、「映画AのDVDを店Bで購入する」ことであり得る。目標コンポーネント120は、ナビゲーションシステムを備えた車であって、適応推論エンジン110を具備する。(この例では、適応推論エンジン110が目標コンポーネント120の中にあることに留意すべきである)。アクタ(例えば、車の運転者)は、店Bの場所を入力又は選択することができ、目標コンポーネントは、目標を達成するための指示を生成することができる。アクタが店に向かっている間に、店Bが在庫の映画Aの搬入を止めたという入力130を、適応推論エンジン110が受信した(例えば、RFIDリーダが在庫のデータベースを更新して、更新メッセージがコンポーネント110に同報通信された)場合に、適応推論エンジン110は、(i)映画Aの在庫がある店Cを特定する追加の入力330を要求して、(ii)店Cに着くためにアクタが利用できる資源を評定して、(iii)目標の達成におけるアクタの関心レベルを評価することができる。(i)−(iii)に示されているように、入力130を通して開発された修正コンテキストに基づいて、目標コンポーネントは、「映画AのDVDを店Cで購入する」という目標に適応させる指示を受け取ることができる。
適応推論エンジン110は、目標コンポーネント120によって決定された目標に関連する副目標(サブゴール)を設定できると理解されるべきである。適応推論エンジンが、補完的なタスクの達成を可能にするか、又は目標に関連する概念の学習を可能にすることによって、副目標は目標の達成を促すことができる。
以上をまとめると、自律的な生物学に基づくシステム100は、コンテキストに即した目標適応を備えた、目標駆動システム(goal-driven system)である。受け取られたコンテキストに基づく目標適応は、入力情報を分析して、アクション可能な情報の出力140を生成するために、適応の追加層を取り入れると理解されるべきである。(a)情報の処理又はデータ分析を適応させて、(b)コンテキストに基づいて最初の目標を適応させる能力は、システムを、非常に適応性又は自律性のあるものにする。
図3は、主題開示の態様に係る例示の自律的な生物学に基づく学習ツール300の高レベルのブロック図を示す。実施形態300において、自律学習システムは、ツールシステム310(例えば、製造ツール又は処理ツール)を含み、ツールシステム310は、機能コンポーネント315と、センサコンポーネント325とを具備する。機能コンポーネント315は、ツールシステム310に特定の機能を与え、1つの機能ツールコンポーネントか、又は実質的に同じ又は異なる機能ツールコンポーネントの集まりを具備し得る。センサコンポーネント325は、ツールシステム310によって行なわれるプロセスに関する幾つかの観測可能な大きさを調べることができる。ツールによって行なわれるプロセスは、例えば、半導体ウェーハの熱処理である。ツールシステム310は、プロセスに関連するアセット328を生成する。主題開示におけるアセットは複雑さの程度を変化させる製品又はデバイスを含むことができ;例えば、アセット328は、半導体基板所有の集積回路(IC)、プラズマ放電に基づくフラットパネルディスプレイ(FPD)、有機発光ダイオード(OLED)に基づくFPD、液晶ディスプレイ(LCD)に基づくFPD、又は、例えば薄膜トランジスタ・アクティブ・マトリクス・アレイ、カラーフィルタ、又は、偏光子(ポラライザ)などのようなそれらの要素を含む。集められたアセット328は、生産プロセスデータ又はテスト実行データのようなデータアセットを含む;このようなデータアセットは、相互作用コンポーネント330に送られ得る。相互作用コンポーネント330は、1つ以上のアセット328を受け取るインタフェースとしての役割を果たすことができるアダプタコンポーネント335と;受け取られた1つ以上のアセット328を処理できる相互作用マネージャ345としても呼ばれる、相互作用マネージャコンポーネント345と;受け取られた及び処理されたデータを記憶することができるデータベース355とを含む。1つ以上のアセット328の一部であり得るデータアセットは、SECS(Semiconductor Equipment and Materials International Equipment Communication Standards)/GEM(Generic Equipment Model)、ハイパーテキスト転送プロトコル(HTTP)などのような、様々な通信プロトコルにしたがって相互作用コンポーネント330へ運ばれ得る。相互作用コンポーネント330は、ツールシステム310と自律的な生物学に基づく学習システム360との相互作用を促す。ツールシステム310によって行なわれるプロセスにおいて生成されたデータに関連する情報は受信されて、自律的な生物学に基づく学習システム360にインクリメンタルに供給され得る。
自律的な生物学に基づく学習システム360は、メモリプラットフォーム365を含む。メモリプラットフォーム365は、受信された情報358(例えば、データ、変数、関連する関係、因果グラフ、テンプレート、など)を記憶する。受信された情報358は、知識ネットワーク375を介して、処理プラットフォーム385に通信され得る。処理プラットフォーム385は、受信された情報を操作することができ、処理された情報を、知識ネットワーク375を通してメモリプラットフォーム365に通信することができる。一つの態様において、自律的な生物学に基づく学習システム360の構成コンポーネントは、概して、脳の生物学的な態様に似ているかもしれない。生物学的なメモリは、情報を操作して知識を生成する処理コンポーネントとネットワーク化されている。そのような比較、又は類比は、メモリプラットフォーム365も処理プラットフォーム385も生物学的エンティティに割り当てないことを意図しないことは注目される。さらに、知識ネットワーク375は、相互作用コンポーネント330から情報を受け取ることと、相互作用コンポーネント330に情報を送ることができる。相互作用コンポーネント330は、ツールシステム310に、又は、相互作用マネージャ345を介して、アクタ390に、情報を通信することができる。情報358が自律学習システム360によって受け取られ、記憶され、処理され、運ばれると、それに依存するツールシステム310とアクタとに、複数の改善をもたらすことができる。すなわち、改善は、(a)時間の進行に伴って自律学習システム360とツールシステム310とが次第に独立し、アクタの介入(例えば、デバイスによって供給される人間の指示と管理)の必要が低減することと、(b)自律システムが、アクタへの出力の品質を改善すること(例えば、故障の根本原因をより良く識別すること、又は、システムの故障をその発生前に予測すること)と、(c)自律的な学習システム360が、時間の経過と共に、その性能を改善することと、を含み、自律システム360は、より高速に、より少ない消費資源で、改善された結果を与える。
メモリプラットフォーム365は、機能メモリコンポーネントの階層を具備する。機能メモリコンポーネントの階層は、ツールシステム310の初期設定又は構成中に受け取られた知識(例えば、情報358)(例えば、先験的知識)を記憶するように構成され得る。先験的知識は、相互作用コンポーネント330を通して、情報入力358として送られ得る。さらに、メモリプラットフォーム365は、(a)ツールシステム310の初期設定/構成後に、自律学習システム360をトレーニングするために用いられるトレーニングデータ(例えば、情報入力358)と、(b)自律学習システム360によって生成された知識と、を記憶することができる;知識は、相互作用コンポーネント330を通して、相互作用マネージャ345を介して、ツールシステム310又はアクタ390に送られ得る。
例えば人間のエージェントである、アクタ390によって供給される情報入力358(例えばデータ)は、プロセスに関連する変数を識別するデータ、2つ以上の変数の関係、因果グラフ(例えば、依存+関係グラフ)、又は、エピソード情報を含むことができる。このような情報は、学習プロセスにおいて、自律的な生物学に基づくシステム360を導くことを促し得る。さらに、1つの態様において、このような情報入力358は、アクタ390によって重要であると考えられ、その重要さは、ツールシステム310によって行なわれる特定のプロセスに対する情報の適切性(relevance)に関連付けられる。例えば、酸化物エッチングシステムのオペレータ(例えば、アクタ390は人間のエージェントである)は、製造プロセスの成果にとって、エッチングレートは重大であると判断し得る;したがって、エッチングレートは、自律学習システム360に通信される属性であり得る。別の態様において、アクタ390によって供給される情報入力358は、ヒントになる場合があり、それによって、プロセスの変数間の特定の関係を学習する指示が生成される。一例として、ヒントは、特定の蒸着ステップ内において、チャンバの容積と、排気圧と、入って来るガスフローとの関数として、ツールシステム310の蒸着チャンバ中の圧力の振る舞いを学習するための提案を送り得る。別の例として、ヒントは、チャンバの圧力に対する詳細な時間関係を学習するように指示し得る。このような例示のヒントは、複数のプロセスの変数に対する圧力の関数従属性を学習することができる、自律的な学習システム中の1つ以上の機能処理ユニットをアクティブにし得る。さらに、このようなヒントは、アクタ390に利用可能な経験に基づく関数又はモデルに対して、学習された関数を適用して比較する1つ以上の機能ユニットも、アクティブにし得る。
プラズマ増殖型気相成成長(PECVD)システム、スパッタシステム、又は、有機金属化学気相成長法(MOCVD)システムのような例えば半導体製造ツールである、ツールシステム310は、複雑であり得るので、異なるアクタは、異なるタイプの特定の、十分又は不十分な知識を通して、ツールシステムの操作又は動作を専門に行い得る。一例として、人間のエージェント、例えばツールエンジニアは、異なるガスが異なる分子量を有するので、異なる圧力を生成し得ることを知っており、一方で、プロセス/ツールエンジニアは、第1のガスから得られる圧力の読み取り値を、第2のガスから得られる等価な圧力に、どのように変換するかについて知っている;このような知識の基本的な例は、1つの単位(例えば、Pa)から別の単位(例えば、lb/in2、又はPSI)に、圧力の読み取り値を変換することであり得る。自律的な生物学に基づく学習システムで与えられる、別のタイプの一般的でより複雑な知識は、ツールシステムの特性(例えば、チャンバの容積)と、ツールシステムで行なわれた測定(例えば、チャンバで測定された圧力)との関数の関係であり得る。例えば、エッチングのエンジニアは、エッチングレートがエッチングチャンバの温度によって決まることを知っている。知識の多様性と、このような知識が不十分であり得るという事実とを考慮に入れて、アクタ(例えば、エンドユーザのような人間のエージェント)は、複数の程度の伝達される知識によって、自律学習システム360を導くことができる:(i)特定の知識がない。アクタは、自律学習システムにガイダンスを与えない。(ii)基礎知識。アクタは、ツールシステムの特性とツールシステムにおける測定値との有効な関係を伝達することができる;例えば、アクタは、エッチングレート(кE)と処理温度(T)との関係(例えば、関係(例えば関係(кE,T))を伝達する。さらなる詳細は備えていない。(iii)識別された出力を備えた基礎知識。ツールシステムの特性とツールシステムの測定値との関係に加えて、アクタは、従属変数に対する特定の出力を、関係(例えば、関係(出力(кE),T)において提供することができる。(iv)関係に関する部分的な知識。アクタは、関連する従属変数及び独立変数とともに、ツールシステムの特性と測定値との間における数式の構造(例えば、кE=k1e-k2/T、k1又はk2に対する具体的な値はない)を知る。しかしながら、アクタは、その関係の1つ以上の関連する定数の正確な値を知らない。(v)完全な知識。アクタは、機能の関係の完全な数学的記述を有する。自律学習システム360が進化して、ツールの関数の関係を自律的に学習することを試みると、このようなガイダンスは、時間の経過に伴って、インクリメンタルに提供され得ることに留意すべきである。
知識ネットワーク375は、知識のバスである。知識のバスは、設定された優先度にしたがって、情報(例えば、データ)を通信するか、又は電力を供給する。優先度は、情報ソースと、情報の宛先コンポーネント又はプラットフォームとの対によって設定され得る;例えば、認識(awareness)ワーキングメモリ710から認識知識メモリ730までの通信は、概念化知識メモリ910から概念化ワーキングメモリ940までの通信よりもより高い優先度を割り当てられ得る。さらに、ソースから宛先までの通信は、自己認識コンポーネント550のようなグローバルな機能コンポーネント内で発生することができ、例えばイントラ通信であり、又は、ネットワークコンポーネント375によって可能な通信は、自己認識コンポーネント550と自己最適化コンポーネント570との間で発生することができ、例えばインター通信である。さらに、優先度は、送信される情報に基づき得る(例えば、特定の情報はリアルタイムで発送されなければならない);通信の優先度は、送信又は受信通信に対する通信緊急の少なくとも一部の程度を決定する。優先度は、静的ではなく動的であって、自律学習システム360における学習の進歩の機能として、及び、自律的な生物学に基づく学習ツール300中に存在する1つ以上のコンポーネントにおける1つ以上の要求を考慮して、変わり得ることに留意すべきである−例えば、問題の状況が認識されて、通信が認められて、それに応じて実行され得る。知識ネットワーク375を介しての通信と電力供給は、有線リンク(例えば、撚り対線、T1/E1電話回線、AC線、光ファイバ線、同軸ケーブル)及びインターネットプロトコル(IP)パケットに基づく通信のような関連するプロトコル、又は、無線リンク(例えば、ウルトラ・モバイル・ブロードバンド(UMB)、ロング・ターム・エボリューション(LTE)、IEEE 802.11)により行なうことができ、1つの機能プラットフォーム(例えば、メモリプラットフォーム365及び処理プラットフォーム385)内のコンポーネント(図示せず)の間、又は、異なるプラットフォームのコンポーネントの間で発生し得る(例えば、自己認識コンポーネントのメモリプラットフォーム中のコンポーネントは、自己認識コンポーネントの他のサブコンポーネントと通信する)。又は、通信は、コンポーネント間にあり得る(例えば、自己認識コンポーネントの1つのコンポーネントは、自己概念化コンポーネント中のコンポーネントと通信する)。
処理プラットフォーム385は、情報を操作する機能処理ユニットを具備する:特定のタイプ(例えば、数字、シーケンス、時系列、関数、クラス、因果グラフ、などのような、特定のデータ型)の入力情報は、受信又は検索され、計算は処理ユニットによって行われ、特定のタイプの出力情報を生成する。出力情報は、知識ネットワーク375を介して、メモリプラットフォーム365中の1つ以上のコンポーネントに送られ得る。1つの態様において、機能処理ユニットは、メモリプラットフォーム335に記憶されているデータ型のインスタンス又はデータ構造を読み出して修正して、新たなデータ構造をその中に入れることができる。別の態様において、機能処理ユニットは、適切性と、重要性と、活性化/抑制エネルギーと、通信の優先度とのような、様々な数値属性に対する調節を提供することができる。各機能処理ユニットは、動的な優先度を持つ。動的な優先度は、情報を操作する階層を決定する;優先度の高いユニットは、優先度の低いユニットよりも先にデータを操作する。特定の情報を操作した機能処理ユニットが、新たな知識の生成(例えば、学習)をしなかった場合は、その機能処理ユニットに関連する優先度を下げることができる。新たな知識の生成は、例えば、ランクキング順位又はランキング関数の生成であり、ツールシステム310の動作に関連する良い実行と悪い実行とを区別する。逆に、新たな知識が生成されると、処理ユニットの優先度は上がる。
処理プラットフォーム385は、優先度を付けられた機能処理ユニットを通して、特定の状況(例えば、特定のデータ型)において第1の動作を試みる人間の傾向をエミュレートし、その動作が新たな知識を生成する場合は、後の実質的に同じ状況において、その動作が活用されると理解されるべきである。逆に、第1の動作が新たな知識を生成しない場合は、その状況に対処するために第1の動作を用いる傾向が弱められ、第2の動作が利用される(例えば、活性化を伝播する)。第2の動作が新たな知識を生成しない場合は、その優先度が下げられて、第3の動作が用いられる。処理プラットフォーム385は、新たな知識が生成されて、別の動作がより高い優先度を獲得するまで1つの動作を用い続ける。
1つの態様において、アクタ390は、プロセスレシピ(recipe)パラメータと、命令(例えば、イオン注入されたウェーハのアニーリングサイクルに対する温度のプロファイル、半導体の蒸着におけるシャッタの一連の開/閉シーケンス、イオン注入プロセスにおけるイオンビームのエネルギー、又は、スパッタリング蒸着における電界の大きさ)を、初期設定パラメータと同様に、自律学習システム360に対して提供することができる。別の態様において、アクタは、ツールシステム310のメンテナンスに関連するデータを供給することができる。さらに別の態様において、アクタ390は、ツールシステム310によって行なわれたプロセスのコンピュータシミュレーションの結果を生成して提供することができる。このようなシミュレーションにおいて生成された結果は、自律的な生物学に基づく学習システムをトレーニングするためのトレーニングデータとして用いることができる。さらに、シミュレーション又はエンドユーザは、プロセスに関連する最適化データを、ツールシステム370に送ることができる。
自律学習システム360は、1つ以上のトレーニングサイクルを通して、トレーニングされ得る。各トレーニングサイクルが利用され、自律的な生物学に基づく学習ツール300を発展させて、(i)外部からの介入なしに、多数の機能を行なうことを可能にし;(ii)製造システムの調子(health)の根本原因のうちの根本原因を診断する場合に、より良い応答、例えば改善された精度又は正確さを提供し;及び(iii)例えば、応答時間を速めること、メモリ消費量を低減すること、又は、製品の品質を改善すること、のように性能を向上させる。トレーニングデータは、アダプタコンポーネント335を介して、又は、相互作用マネージャ345を通して、自律学習システムに供給され得る。ツールシステム310で実行されたプロセスの較正又は標準に関連するデータ328から、トレーニングデータが集められる場合に;このようなデータは、内部にあると見なされ得る。データベース355(例えば、外部のプローブによって行われた外部での測定に関するデータ、又は、ツールシステム310における修復の介入の記録)から、トレーニングデータが取り出される場合に、このようなトレーニングデータは、外部と見なされ得る。アクタによって、トレーニングデータが供給される場合に、データは、相互作用マネージャ345を通して送られ、外部と見なされ得る。内部からの又は外部からのトレーニングデータに基づくトレーニングサイクルは、自律学習システム360がツールシステム310の予想される振る舞いを学習することを促す。
既に記載したように、機能コンポーネント315は、複数の機能ツールコンポーネント(図示せず)を具備し得る。機能ツールコンポーネントは、ツール別の半導体製造能力に関わり、機能ツールコンポーネントが使用されて、(a)様々な複雑度を持つ半導体基板(例えば、ウェーハ、フラットパネルディスプレイ及び関連するTFTアクティブマトリクスアレイ、液晶ディスプレイ(LCD)、OLED、など)を製造すること、(b)気相エピタキシャル成長又は非気相エピタキシャル成長を行なうこと、(c)イオン注入又はガスクラスタイオンインフュージョンを促すこと、(d)プラズマ又は非プラズマ(ドライ又はウェット)の酸化物エッチング処理を行なうこと、(e)リソグラフィ処理(例えば、フォトリソグラフィ、電子ビームリソグラフィ、など)を実施すること、などができる。さらに、ツールシステム310は、また、炉と;制御された電気化学的環境で動作する露光ツールと;平坦化デバイスと;電気めっきシステムと;光学的、電気的、及び熱的特性に対するテストデバイスであって、(動作サイクルによる)寿命の測定に含まれ得るテストデバイスと;計測ツールと、ウェーハ洗浄装置、などにおいて具現され得る。
ツールシステム310によって行われるプロセスにおいて、センサコンポーネント325を含むセンサとプローブは、様々な変換器及び技術を通して、異なる物理的性質(例えば、圧力、温度、湿度、質量密度、蒸着速度、層の厚さ、表面の粗さ、結晶配向、ドーピング濃度、欠陥密度、エレクトロフォトルミネセンス・イールド、など)と、機械的性質(バルブの開口部又はバルブの角度、シャッタのオン/オフ動作、ガスフラックス、基板の角速度、基板の配向、など)とに関するデータ(例えば、データアセット)を、集められたデータの意図された利用に依存する様々な複雑度で集めることができる。このような技術は、X線回折、透過型電子顕微鏡(transmission electron microscopy, TEM)、走査型電子顕微鏡(scanning electron microscopy, SEM)、質量分析、露光量評価、磁気電気伝導測定(例えば、ホール測定)、光学的特性の測定(例えば、フォトルミネセンス・スペクトル、光吸収スペクトル、時間分解フォトルミネセンス、時間分解光吸収)などを含むことができるが、これらに制限されない。製品(例えば、半導体基板)に関連する追加のデータアセットは、開発検査(development inspection, DI)の限界寸法(critical dimension, CD)と、最終検査(final inspection, FI)のCDとを含む。プローブは、ツールシステム310の外部にあり、インターフェイスコンポーネント(図示せず)を通してアクセスすることができると理解されるべきである。例えば、このような外部のプローブは、DI CDとFI CDとを提供することができる。このようなデータアセットは、1つ以上のアセット328の一部であり、例えば、ツールシステム310によって製造又は製作された物理的な製品である、出力アセットを効果的に特徴付けると理解されるべきである。
1つの態様において、センサコンポーネント325中のデータソースは、アダプタコンポーネント335に機能的に連結されることができ、アダプタコンポーネント335は、アナログ又はデジタル形式で1つ以上のアセット328内のデータアセットを集め、又は、集めるように構成し得る。アセット328内のデータアセットは、SECS/GEMプロトコル、HTTPなどのような様々な通信プロトコルにしたがってアダプタコンポーネント335へ運ばれ得る。アダプタコンポーネント335は、データがメモリプラットフォーム365に置かれ又は保持される前に、自律的な生物学に基づく学習システム360におけるデータの意図的な利用にしたがって構成又は分解される、ツールシステム310によって行われるプロセス実行で集められたデータ、例えば情報入力/出力(I/O)358、を使用可能である。アダプタコンポーネント335におけるアダプタは、センサコンポーネント325における1つ以上に関連付けられることができ、特定の頻度又は他の特定の条件で1つ以上のセンサを読み出す(例えばポーリングする)ことができる。外部データソースのアダプタ(図示せず)は、ツールシステム310の外から送り込まれたデータを通す能力と、データを取り出す能力とを持つとしてもよい。例えば、MES/履歴データベースアダプタは、MESデータベースを調べて(例えばアクセス及びリクエスト)、情報を抽出し、自律的な生物学に基づく学習システム360の1つのコンポーネントに対するワーキングメモリ内へ抽出されたデータをまとめ、又は、置く。特に、例として、アダプタコンポーネント335は、ツールシステム310(例えば製造ツール)がウェーハを処理するときに、ウェーハレベル実行データを、1ウェーハずつ収集することができる。次に、アダプタコンポーネント335は、個々の実行を1つのバッチに統合して、「ロットレベルデータ」、「メンテナンス間隔データ」、などを形成することができる。その代わりに、ツールシステム310が、ロットレベルデータに対する1つのファイル(又は、コンピュータ製品アセット)を出力すると、アダプタコンポーネント335は、ウェーハレベルデータ、ステップレベルデータ、などを抽出することができる。さらに、分解されたデータ要素は、ツールシステム310の1つ以上のコンポーネントに関係付けることができる;例えば、センサコンポーネント325中の圧力制御装置が動作する時間の変数。既に記載したように、受信されたデータ328を処理又はパッケージ化した後で、アダプタコンポーネント335は、処理されたデータをデータベース355に記憶することができる。
データベース355は、(i)センサコンポーネント325中のセンサによって行なわれる測定を経た、ツールシステム310(例えば、製造ツール);(ii)製造実行システム(manufacturing execution system, MES)データベース又は履歴データベース;又は(iii)ツールシステム310のコンピュータシミュレーション、例えばアクタ390によって行なわれた半導体ウェーハを製造するシミュレーション、で生成されたデータ、に生じるデータを含むことができる。1つの態様において、MESは、製造プロセスを測定及び制御することと、装置の可用性と状態とを追跡することと、在庫を制御することと、危険を知らせるために監視することができるシステムである。
ツールシステム310によって製作された製品又は製品アセットは、相互作用コンポーネント330を通して、アクタ390に運び、又は、送られ得ると理解されるべきである。製品アセットは、1つ以上のアセット338の一部であり得る。製品アセットは、アクタ390(例えば、品質保証装置、又は、品質保証装置及びそのオペレータ)によって分析されることができ、結果として得られた情報又はデータアセットは、自律的な生物学に基づく学習システム360に送られる、と理解されるべきである。1つ以上のシナリオにおいて、そのようなデータアセットは、相互作用コンポーネント330、及びその中の1つ以上のコンポーネントを通じて、又は、情報I/O358を転送できる1つ以上のささげられた通信リンク(図示せず)を通じて直接的に、自律的な生物学に基づく学習システム360へ通信されることができる。他の態様において、相互作用コンポーネント330は、アダプタコンポーネント335を経由して製品アセット328の分析を実行することができる。
さらに、例の実施形態300において、相互作用コンポーネント330及び自律学習システム360は、ツールシステム310に関して外部に配備されることに留意すべきである。自律的な生物学に基づく学習ツール300の代替的又は追加的な配備コンフィグレーションは、例えば組み込み配備(embedded deployment)を実現することができ、相互作用コンポーネント330と自律的な生物学に基づく学習システム310は、例えばシングル組み込みモードである、1つの特定のツールコンポーネントにおいて、又は、例えばマルチ組み込みモードである、ツールコンポーネントのクラスタにおいて、ツールシステム310内に存在することができる。このような配備代替は、階層仕様で実現されることができ、自律学習システムは、自律学習ツールのセットをサポートし、自律学習ツールのセットは、グループツール又はツール複合体を形成する。1つ以上の追加又は代替の実施形態において、相互作用コンポーネント330と自律的な生物学に基づく学習エンジン360が単一の機能要素(コンポーネント、システム、プラットフォーム、など)に統合されることができることは、ただちに認識されるべきである。
次に、例示のツールシステム310は、図4に関して議論されており、自律的な生物学に基づく学習エンジン360に対する例のアーキテクチャは、図5−10に関して詳細に与えられ、議論される。
図4は、主題開示の態様に係る、モニタ、分析、及び改善オペレーションへ自律的な生物学に基づく学習エンジン360を利用できる例の半導体製造システム400の図である。特に、例のシステム400は、図3で上述されたツールシステム310を示す熱現像及びコーティングシステムである。システム400は、ロード/アンロードセクション405と、プロセスセクション410と、インタフェースセクション415とを含む。1つの態様において、ロード/アンロードセクション405は、カセットテーブル420を持ち、複数の半導体基板をそれぞれ保管するカセット425がシステム400にロードされ、及び、システム400からアンロードされるカセットテーブル420を持つ。カセットテーブル420は、また、フラットパネルディスプレイ製造のためのガラス又はプラスティックの基板のローディング/アンローディング可能である。プロセスセクション410は、基板を1つずつ連続的に処理するために、様々なシングル基板処理ユニットを持つ。インタフェースセクション415は、品質確認、プロセスの開発、その場(in situ)の根本原因の分析のために、複数のプローブ及びセンサへのアクセスを促すことができる。集められたデータ(例えば、データ368)は、インタフェースコンポーネントを通して、自律的な生物学に基づく学習システムに送られ得る。
1つの態様において、プロセスユニット410は、第1のプロセスユニットグループ430を含む。第1のプロセスユニットグループ430は、冷却ユニット(cooling unit, COL)435と、配列ユニット(alignment unit, ALIM)440と、接着ユニット(adhesion unit, AD)445と、引き伸ばしユニット(extension unit, EXT)450と、2つのプリベーキングユニット(prebaking unit, PREBAKE)455と、2つのポストベーキングユニット(postbaking unit, POBAKE)460とを具備し、これらは下から順番に積み重ねられる。さらに、第2のプロセスユニットグループ465は、冷却ユニット(cooling unit, COL)435と、引き伸ばし−冷却ユニット(extension-cooling unit, EXTCOL)470と、引き伸ばしユニット(extension unit, EXT)475と、第2の冷却ユニット(COL)35と、2つのプリベーキングユニット(prebaking unit, PREBAKE)455と、2つのポストベーキングユニット(postbaking unit ,POBAKE)460とを含む。冷却ユニット(COL)435と、引き伸ばし−冷却ユニット(EXTCOL)470は、低い処理温度で動作し、下方段に配置され得る。プリベーキングユニット(PREBAKE)455と、ポストベーキングユニット(POBAKE)460と、接着ユニット(AD)445は、高温で動作され、上方段に配置される。この配置により、ユニット間の熱干渉を低減することができる。その代わりに、これらのユニットは、代替の又は追加の配置であってもよい。プリベーキングユニット(PREBAKE)455と、ポストベーキングユニット(POBAKE)460と、接着ユニット(AD)445は、各々、熱処理装置を具備する。熱処理装置の中で、基板は、室温よりも高い温度に加熱される。ポストベーキングユニット460は、TFTのようなデバイスを備えるためのフォトリソグラフィック・メイキングに使用されるキュアリングフォトレジスト材料に対して用いられることができる。1つの態様では、温度及び圧力データは、プリベーキングユニット455と、ポストベーキングユニット460と、接着ユニット445とから、インタフェースコンポーネント340を通して、自律的な生物学に基づく学習システム360に供給されることができる。基板に対する回転速度と位置のデータは、配列ユニット440から送られ得る。
図5は、主題開示の態様に係る自律的な生物学に基づく学習エンジンの例のアーキテクチャ500高レベルのブロック図を示す。実施形態500において、自律的な生物学に基づく学習エンジン360は、機能メモリコンポーネントの階層を具備する。機能メモリコンポーネントの階層は、長期メモリ(long term memory, LTM)510と、短期メモリ(short term memory, STM)520と、エピソードメモリ(EM)530とを含む。このような機能メモリコンポーネントのそれぞれは、知識ネットワーク375を通して通信することができる。知識ネットワーク375は、図3に関連する記載に説明されているように動作する。さらに、自律学習システム360は、オートボットコンポーネント540を含むことができる。オートボットコンポーネント540は、プロセッサを含むことができる、オートボットとして識別される機能処理ユニットを含み、処理プラットフォーム385に関して記載されたそれらの機能ユニットと実質的に同じ特性を有する。オートボットコンポーネント540は、処理プラットフォーム385の一部であり得ることに留意すべきである。
さらに、自律学習システム360は、1つ以上の主要な機能ユニットを具備することができる。1つ以上の主要な機能ユニットは、自己認識コンポーネント(self-awareness component)550と、自己概念化コンポーネント(self-conceptualization component)560と、自己最適化コンポーネント(self-optimization component)570とを含む。第1のフィードフォワード(feed forward, FF)ループ552は、正方向リンクとしての役割を果たすことができ、自己認識コンポーネント550と自己概念化560との間でデータを通信することができる。さらに、第1のフィードバック(feed back, FB)ループ558は、逆方向リンクとしての役割を果たすことができ、自己概念化コンポーネント560と自己認識コンポーネント550との間でデータを通信することができる。同様に、自己概念化コンポーネント560と自己最適化コンポーネント570との間における、正方向リンクと逆方向リンクのデータ通信は、それぞれ、第2のFFループ562と第2のFBループ568とを通して達成することができる。FFリンクでは、そのデータを受信し、さらにそれを処理するコンポーネントへの通信の前に、データが変換される。一方で、FBリンクでは、次のデータ要素が、それを処理する前に、そのデータを受け取るコンポーネントによって変換される、と理解されるべきである。例えば、FFリンク552を通して転送されるデータは、自己認識コンポーネント550によって、自己概念化コンポーネント560へのそのデータの通信の前に、変換され得る。FFリンク552と562は、コンポーネント550とコンポーネント570との間におけるデータの間接的な通信を促すことができ、一方で、FBリンク568と558は、コンポーネント570と550との間におけるデータの間接的な通信を促すことができる。さらに、データは、コンポーネント550と、360と、370との間において、知識ネットワーク375を通して、直接的に送られ得る。
長期メモリ510は、初期設定/構成後に自律学習ツールシステム300をトレーニングするために、ツールシステムの初期設定又は構成中に相互作用コンポーネント330を通して供給された知識(例えば、先験的知識)を記憶することができる。さらに、自律学習システム360によって生成された知識は、長期メモリ510に記憶され得る。LTM510は、メモリプラットフォーム365の一部であり得るので、メモリプラットフォーム365の特性と実質的に同じ特性を示し得ると理解されるべきである。一般に、長期メモリ510は、知識ベースを含むことができる。知識ベースは、ツールシステムコンポーネント(例えば、製造コンポーネント、プローブコンポーネント、など)に関する情報と、関係と、手続きとを含む。知識ベースの少なくとも一部分は、意味ネットワークであって、データ型(例えば、数列、平均、又は標準偏差)と、データ型間の関係と、第1のセットのデータ型を第2のセットのデータ型に変換する手続きとを記述又は分類する。
知識ベースは、知識要素又は概念を含み得る。1つの態様において、各知識要素は、2つの数値属性に関連し得る:2つの数値属性は、知識要素又は概念の、適切性(suitability)(ξ)と慣性(inertia)(ι)とである;このような属性は、共同で、概念の優先度を決定する。これらの2つの数値属性の十分に定義された関数、例えば、加重和、幾何平均は、概念の状況スコア(situation score)(σ)であり得る。例えば、σ=ξ+ιである。知識要素の適切性は、特定時における、ツールシステム又は目標コンポーネントの状況に対する知識要素(例えば、概念)の関連性、として定義され得る。1つの態様において、第1の要素又は概念は、第2の要素よりも高い適切性スコアを有し、より低い適切性スコアを有する第2の要素よりも、自律学習システム360の現在の状態とツールシステム310の現在の状態とに、より関連性があり得る。知識要素又は概念の慣性は、知識要素の利用に関連する難しさとして定義され得る。例えば、低い第1の慣性値は、数の要素(element)に与られ得る。第1の値よりも高い第2の慣性値は、数のリスト(list)に属し得る。数の数列(sequence)は、第2の値よりも高い第3の慣性値を持ち得る。数の行列(matrix)は、第4の慣性値を持ち得る。第4の慣性値は、第3の値よりも大きい。慣性は、他の知識又は情報構造に適用され得ることに留意すべきである。他の知識又は情報構造は、例えば、グラフ、データベース中のテーブル、オーディオファイル、ビデオフレーム、コードの断片(snippet)、コードスクリプト、などである;後者のアイテムは、実質的に全て、入力130の一部であり得る。主題発明は、適切性と慣性との十分に定義された機能を提供する。この機能は、知識要素が検索されて適用される可能性に影響を及ぼし得る。最高の状況スコアを持つ概念は、処理ユニットによる処理のために短期メモリ520に与えられる最も可能性の高い概念である。
短期メモリ520は、一時記憶域であって、ワーキングメモリ(例えば、作業域又はキャッシュ)として、又は、特定のアルゴリズム又は手続きに関連する、協働/競合する動作又はオートボットが、データ型を操作できる位置として、利用され得る。STM520に含まれるデータは、1又は複数のデータ構造を持ち得る。STM520におけるこのようなデータ構造は、オートボットとプランナユーバボット(例えば、計画専用のオートボット)とによって行なわれるデータ変換の結果として、変更することができる。短期メモリ305は、データ、相互作用マネージャ345によって提供される学習命令、長期メモリ310からの知識、1つ以上のオートボット又はユーバボットによって提供及び/又は生成されるデータ、及び/又は、アクタ390によって提供される初期設定/構成コマンド、を含み得る。短期メモリ520は、その中に記憶されているデータを変換するために使用される、1つ以上のオートボット及び/又はユーバボットの状態を追跡することができる。
エピソードメモリ530は、エピソードを記憶する。エピソードは、プロセスに関連し得る概念とパラメータとの、アクタに識別されたセットを含み得る。1つの態様において、エピソードは、外部からのデータ又は入力130を含み、それは、特定のコンテキストを自律学習システム300に提供することができる。一般に、エピソードは、目標を遂行しているときに(例えば、ツールシステム310、目標コンポーネント120、又は自律学習システム360によって)識別又は生成された特定のシナリオに関連付けられ得ることに留意すべきである。エピソードを識別するアクタは、プロセスエンジニア、ツールエンジニア、フィールドサポートエンジニア、などのような人間のエージェントであり得るか、又は機械であり得る。エピソードメモリ530は、人間のエピソード記憶に似ていると理解されるべきである。特定のシナリオに関連付けられた知識、例えばエピソードは、エピソードを生成した学習プロセスを思い起こすことなく与えられ及びアクセス可能であり得る。エピソードの紹介又は定義は、典型的に、トレーニングサイクルの一部か、又は、実質的に任意の入力の外部供給である。エピソードの紹介又は定義により、自律的な生物学に基づく学習システム360は、エピソードに関連するデータ中に存在し得るデータパターン又は入力パターンを特徴付けるように学習することを試み得る。エピソードに関連する特徴付けられたデータパターンは、エピソードと、エピソードの名前と共に、エピソードメモリ530に記憶され得る。エピソードをエピソードメモリ530に加えると、エピソード別のオートボットを生成することになり得る。ツールシステム310又は一般に目標コンポーネント120によって行われるプロセスのパラメータのセットが、エピソードにおいて定義されている動作範囲に入ると、エピソード別のオートボットがアクティブになる;遂行されている目標又はプロセスに関連する第1の特徴が認識されると、エピソード別のオートボットは、十分な活性化エネルギーを受け取る。受け取ったエピソードによって設定されている基準を、パラメータが満たしている場合に、エピソード別のオートボットは、エピソード中のデータパターンと、利用可能な現在のデータとを比較する。ツールシステム310又は目標コンポーネントの(認識されたデータパターンによって定義されている)現在の状況が、記憶されているエピソードと一致する場合は、アラームが発生されて、ツールメンテナンスエンジニアがその状況に確実に気付いて、予防処置をとって、機能コンポーネント315、センサコンポーネント325、又はツールプロセスで利用されている物質、に対する更なる損傷を軽減できるようにする。
オートボットコンポーネント540は、入力データ型(例えば、行列、ベクトル、数列、など)に対して特定の動作を行なうオートボットのライブラリを備える。1つの態様において、オートボットは、オートボットの意味ネット中に存在し、各オートボットは、関連する優先度を持ち得る;オートボットの優先度は、その活性化エネルギー(EA;例えば6171)とその抑制エネルギー(EI;例えば6191)との関数である。オートボットコンポーネント540は、オートボットの有機的に構成されたリポジトリであり、自己認識コンポーネント550に対するオートボットと、自己概念化コンポーネント560に対するオートボットと、自己最適化コンポーネント570に対するオートボットと、別のオートボットとを含むことができる。別のオートボットは、コンポーネント間及び様々なメモリユニット間において、データを転送する及び渡すことに関与し得る。オートボットが行うことができる特定の動作は、数列の平均;数列の順序付け;第1のベクトルと第2のベクトルとのスカラ積;第1の行列と第2の行列との乗算;時間に関する時系列の導関数;数列の自己相関の計算;第1の数列と第2の数列との相互相関演算;全ての基底関数中の1つの関数の分解;時系列の数値データストリームのウェーブレット分解、又は時系列のフーリエ分解を含み得る。入力データに応じて、更なる動作が行なわれ得ると理解されるべきである;すなわち、更なる動作は、画像か、録音された音か、又はバイオメトリックインジケータの中の特徴の抽出、ビデオフレームの圧縮、周囲の音又は音声コマンドのデジタル化、などである。オートボットによって行なわれる動作の各々は、1つ以上の入力データ型を変換して、1つ以上の出力データ型を生成する、指定された機能(named function)であり得る。オートボットコンポーネント540中のオートボットに存在する各機能は、LTM中の要素を持ち得る。したがって、ユーバボットは、合計の「注意期間(attention span)」と、自律学習システム360の要求とに基づいて、オートボットの活性化/抑制エネルギーを決定することができる。自律学習システム360に類似して、オートボットコンポーネント540中のオートボットは、時間の経過に伴って、性能を改善することができる。オートボットにおける改善は、生成された結果(例えば、出力)のより良い品質、より良い実行性能(例えば、より短い実行時間、より多数の計算を行なう能力、など)、又は特定のオートボットに対する入力ドメインの拡張された範囲(例えば、オートボットが操作できる追加のデータ型を含むこと)を含み得る。
LTM510と、STM520と、EM530とに記憶される知識−概念とデータ−は、主要な機能ユニットによって用いられ得る。主要な機能ユニットは、その機能の一部を、自律的な生物学に基づく学習システム360に与える。
自己認識コンポーネント550は、ツールシステム310の最初の許容動作状態と、その後にツールシステムが劣化したときの状態との間における、ツールシステムの劣化レベルを決定し得る。1つの態様において、自律学習システム360は、許容動作状態を特徴付けるデータと、このような許容動作状態で製作された製品アセットに関連するデータとを受信することができる;このようなデータアセットは、規準データ(canonical data)として識別され得る。自律的な生物学に基づく学習システム360は、規準データを処理することができ、関連する結果(例えば、重要なパラメータに関する統計、1つ以上のパラメータの観測されたドリフト、ツールパラメータに関する予測関数、など)は、自己認識コンポーネント550によって記憶され、情報入力358として供給されたデータと比較するために用いられ得る;情報入力358として供給されるデータは、例えば、生産プロセスデータ又はテスト実行データである。規準データの生成された学習結果と、デバイスプロセスの実行データとの差が小さい場合に、製造システムの劣化は小さいと見なされ得る。その代わりに、規準データの記憶されている学習結果と、サンプルのプロセスデータとの差が大きい場合に、ツールシステム(例えば、半導体製造システム)の劣化は相当なレベルであり得る。相当なレベルの劣化のときは、プロセス又は目標に対して、コンテキストに即した調節をすることになり得る。ここに記載されている劣化は、劣化ベクトル(Q1,Q2,・・・QU)から計算することができる。なお、劣化ベクトルの各成分Qλ(λ=1,2,・・・U)は、異なる観点の利用可能なデータセットである−例えば、Q1は、多変量平均であってもよく、Q2は、関連する多変量偏差であってもよく、Q3は、プロセスステップにおける特定の変数に対するウェーブレット係数のセットであってもよく、Q4は、予測圧力と測定圧力との平均差などでもよい。正常なトレーニングの実行により、コンポーネントごとに、値の特定のセット(例えば、トレーニングデータアセット)が生成される。これらの値は、各コンポーネントからの実行データ(例えば、実行データアセット)を用いて生成された成分Q1−QUと比較され得る。劣化を評価するために、適切な距離メトリックを用いて、{Q}の空間中の「正常な位置」から実行劣化ベクトルまでの(例えば、ユークリッド)距離を比較する;このようなユークリッド距離が大きい場合に、ツールシステムはより劣化していると言われる。さらに、第2のメトリックは、2つのベクトル間のコサイン類似度メトリックを計算することで存在し得る。
自己概念化コンポーネント560は、重要なツールシステム310の、関係(例えば、1つ以上のツールの振る舞いの関数(behavior function))と、記述(例えば、要求及び測定されたパラメータに関する統計、劣化に対するパラメータの影響、など)との理解を構築するために構成され得る。関係と記述は、データアセット又はソフトアセットでもあると理解されるべきである。理解は、ガイダンスを供給されたアクタ390(例えば、人間のエージェント)を通して、又は自律学習システム360によって、(例えば、入力データに基づく、コンテキストに即した目標適応と推論とによって;推論は、例えば、遺伝的アルゴリズムのような進化的プログラミング、又は多変量回帰によって達成され得る)自律的に確立される。自己概念化コンポーネント560は、ツールシステム310、又は一般にコンポーネント120のような目標コンポーネントの、1つのパラメータの振る舞いの関数の記述を構築することができる。例えば、半導体製造システムにおける蒸着チャンバ中の圧力を、特定の蒸着ステップ中における時間の関数として記述する。さらに、自己概念化コンポーネント560は、ツールシステムに関連する振る舞い、例えば、入力情報358の特定のセットの従属変数の関数の関係、を学習することができる。1つの態様において、自己概念化コンポーネント560は、特定のガスフロー、温度、排気バルブの角度、時間、などから、定められた容積の蒸着チャンバ中の圧力の振る舞いを学習することができる。さらに、自己概念化コンポーネント560は、予測の目的に使用され得る、システムの関係と特性とを生成することができる。学習した振る舞いの中から、自己概念化コンポーネントは、正常な状態を特徴付ける、関係と記述とを学習することができる。通常、このような正常な状態は、自律学習システム360によって、観測ツールの振る舞いの変化が比較されることに関する基準状態として用いられる。
自律学習システム360によって収集された情報に基づいて、(a)ツールシステム360の潜在的な故障原因、又は(b)ツールシステムの劣化の根本原因の1つ以上の源、を識別するために、自己最適化コンポーネント570は、予測値(例えば、自己概念化コンポーネント560によって学習された関数従属性又は関係と、測定値とに基づく予測)の間におけるツールシステム310の偏差レベルに基づいて、自律的な生物学に基づく学習システム300の現在の調子又は性能を分析することができる。自己最適化コンポーネント570は、自律学習システム360が故障の間違った根本原因を最初に誤って識別したかどうかを、時間の経過と共に、学習することができる。学習システム300は、メンテナンスログ又はユーザガイダンスの入力により、実際の根本原因を正確に識別することができる。1つの態様において、自律学習システム360は、将来の診断の精度を改善するために、学習と共に、ベイズ推論を利用して、その診断の基準(basis)を更新する。その代わりに、最適化計画が適応されてもよく、そのような適応させた計画は、後で検索して、採用して、実行するために、最適化事例の履歴に記憶され得る。さらに、ツールシステム310によって行われるプロセス、又は一般に目標コンポーネント120によって遂行されている目標、に対する1組の適応化は、最適化計画を通して実現されることができる。プロセス又は目標の最適化を助け得る適応計画を立てるために、自己最適化コンポーネント570は、データのフィードバック(例えば、リンク565と、555と、515とを通して実行されるループ)を活用することができる。
実施形態500において、自律的な生物学に基づく学習システム360は、プランナコンポーネント580と、システムコンテキストコンポーネント590とをさらに備えることができる。機能メモリコンポーネント510,520,530の階層と、主要な機能ユニット550,560,570とは、知識ネットワーク375を通して、プランナコンポーネント580及びシステムコンテキストコンポーネント590と通信することができる。
プランナコンポーネント580は、オートボットコンポーネント540中のより高レベルのオートボットを具備し活用することができる。このようなオートボットは、プランナユーバボットとして識別され、適切性と、重要性と、活性化/抑制エネルギーと、通信の優先度とのような、様々な数値属性を調節することができる。プランナユーバボットのセットを生成することによって、プランナコンポーネント580は、固定の、直接的で包括的な方式を実施することができる。プランナユーバボットのセットは、特定のデータ型又はデータ構造を、短期メモリ520中の利用可能な特定の知識と、特定のオートボットとを通して、短期メモリ520中で強制的に操作することができる。1つの態様では、プランナコンポーネント580によって生成されたオートボットを、オートボットコンポーネント540の中に置いて、知識ネットワーク375を通じて利用する。その代わりに又はさらに、プランナコンポーネント580は、自律学習システム360の現在のコンテキストと、ツールシステム310の現在の条件と、短期メモリ520の内容(その内容で動作することができる関連するオートボットを含み得る)と、様々なオートボットの利用のコスト/利益の分析と、の関数として、間接的で包括的な方式を実施することができる。主題の自律的な生物学に基づく学習ツール300は、プランナコンポーネントの動的な拡張を与えることが理解されるべきである。
プランナコンポーネント580は、調整コンポーネントの役割を果たすことができる。調整コンポーネントは、自律的な生物学に基づくツール300におけるプロセス又は目標、適応がそれの劣化を生じないことを、確実にすることができる。1つの態様において、計画されたプロセス又は目標、適応に基づいて動作条件を推論する調整ユーバボットを生成することによって直接的な包括的方式を通して調整する特徴を実施することができる。このような推論は、調整ユーバボットが作用するデータ型の意味ネットワークを通して行なわれる。この推論は、コスト/利益を分析することによって、サポート又は補完され得る。プランナコンポーネント580は、目標のドリフティングを、目標コンポーネント例えばツールシステム310に対する特定の損傷を軽減することができる目標空間の特定区域内に維持することができると理解されるべきである。
システムコンテキストコンポーネント590は、自律学習システム360を活用する自室的な生物学に基づく学習ツール300の現在の能力を捕らえることができる。システムコンテキストコンポーネント590は、状態識別子を含むことができる。状態識別子は、(i)内部の能力の程度に関連する値(例えば、プロセスを行なう(又は、目標を遂行する)ツールシステム310の効果の程度、プロセスを行なう間に用いられる資源のセット、最終的な製品又はサービスの品質評価(又は、遂行されている目標の成果)、デバイスの配送時間、など)と、(ii)自律学習ツール300の状態を示す標示又は識別子と、を含む。例えば、標示は、「初期状態」、「トレーニング状態」、「監視状態」、「学習状態」、又は「適用する知識」のような、状態を示すことができる。能力の程度は、決定された範囲における、数値又はメトリックによって特徴付けられ得る。能力は、自律システム(例えば、例示のシステム300)のすべての年の測定、又は、例えばコンテキストの現在状態の開始からの年である、関係する年の測定、であり得る。したがって、システムコンテキストコンポーネント590によって供給されるコンテキストは、年又は経験に対するプロキシとして与えることができる。さらに、システムコンテキストコンポーネント590は、特定の期間に自律学習システム360によって行なわれる学習の要約と、行なわれた学習を考慮して実施することができる可能なプロセス又は目標適応の要約とを含むことができる。
図6Aは、主題発明の態様に係る例示のオートボットコンポーネント540を示す。オートボット6151−615Nは、オートボットとユーバボットとのライブラリを表わす。各オートボット6151−615Nは、特定の動的な優先度6251−625Nを持ち、Nは自然数である。オートボット6151−615Nは、メモリ(例えば、長期メモリ、短期メモリ、又はエピソードメモリ)と通信することができる。既に示したように、オートボットの優先度は、オートボットの活性化エネルギーと抑制エネルギーとによって決定される。オートボット(例えば、オートボット6151又は615N)によって処理できるデータがSTMの中にある場合、オートボットは、(ユーバボットを通して)活性化エネルギーを取得する。オートボット(例えば、オートボット6152)の活性化エネルギーと抑制エネルギーとの加重和、例えばΣ=wAEA+wIEIによって、オートボットがその機能タスクを行なうために自分自身をいつアクティブにできるか、を決定することができる:Σ>ψである場合に、オートボットは、自分自身をアクティブにし、ここで、文字ψは、所定の組込まれた閾値(inbuilt threshold)である。主題の自律的な生物学に基づく学習ツール300は、オートボットを動的に増加できると理解されるべきである。
図6Bは、主題開示の態様に係るオートボットの例示的なアーキテクチャ650を示す。実質的に、オートボット660は、オートボットコンポーネント540に含まれているオートボットの何れかであり得る。機能コンポーネント663は、オートボット660が入力データに対して行なうことができる動作の少なくとも一部を決定して実行する。プロセッサ666は、オートボット660によって行なわれる動作の少なくとも一部を実行することができる。1つの態様において、プロセッサ666は、機能コンポーネント663のコプロセッサとして動作することができる。さらに、オートボット660は、内部メモリ669を具備することができる。内部メモリ669の中には、以前に行なわれた動作結果のセットがある。1つの態様において、内部メモリは、キャッシュメモリとして動作し、動作に関連する入力データ、EAとEIの現在の値と前の値、オートボットの動作履歴のログ、などを記憶する。さらに、例えば、エラー訂正コンポーネント672を通じて確立されたような、エラーの特定のタイプと量とがオートボット660にフィードバック又は逆伝搬された場合に、内部メモリ669は、次の結果の品質をどのように改善するかについて学習することを促すことができる。したがって、オートボット660は、特定のやり方で特定の入力データを操作するトレーニングサイクルのセットによって、トレーニングされることができる。メモリ669は、、また、プロセッサ666で実行されると、主題開示において説明されるオートボット660の機能性の少なくとも一部を実装する、コード命令を含むことができる。
オートボット(例えば、オートボット660)は、また、自己記述(self-describing)をすることができる。自己記述の中で、オートボットは、(a)オートボットが操作又は要求できる、入力データの1つ以上のタイプと、(b)オートボットが生成できる、データのタイプと、(c)入力情報と出力情報とに対する1つ以上の制約と、を特定することができる;操作と生成は、少なくとも一部でプロセッサ666を通じて達成される。1つの態様において、オートボット660が自己記述をして、オートボットの利用可能性と能力とをユーバボットに示すのを、インタフェース675が促すことができ、その結果、ユーバボットは、特定のツールのシナリオにしたがって活性化/抑制エネルギーをオートボットに供給することができる。インタフェース675は、プロセッサ666を含む、オートボット660内の1つ以上のコンポーネントと機能的に結合されることができる。さらに、インタフェース675は、また、自律的な生物学に基づく学習エンジン360における、又は、自律的な生物学に基づく学習エンジン360の外部の他のコンポーネント又は他の機能要素又は各種メモリに、オートボット660を機能的に連結することができる。
図7は、ここに記述される態様に係る自律的な生物学に基づく学習エンジンにおける自己認識コンポーネント550の例示のアーキテクチャ700を示す。自己認識コンポーネント550は、ツールシステム(例えば、ツールシステム310)における、学習された正常状態に対する現在の劣化レベルを決定することができる。劣化は、多数の源から発生し得る。源は、例えば、ツールシステム中の機械部品の磨耗及び断裂;ツールシステムに1つ以上の最適範囲外で動作させ得るレシピ(例えば、データアセット)又はプロセスを開発する開発動作又は不適当な動作;ツールシステムの不適当なカスタマイゼーション;又は、メンテナンススケジュールに対する不適切な固執、である。自己認識コンポーネント550は、(i)メモリの階層と、(ii)機能動作ユニットと、(iii)1つ以上の認識プランナ750のセットとを通して、再帰的にアセンブル又は定義され得る。メモリは、例えば、認識メモリ(710−740)である。認識メモリは、メモリプラットフォーム365の一部であり得る。機能動作ユニットは、例えば、認識オートボットである。認識オートボットは、オートボットコンポーネント540の中にあり、処理プラットフォーム385の一部であり得る。認識プランナ750は、また、1つ以上の認識プランナコンポーネント750としてここで呼ばれる。自律学習システム360は、劣化のレベルに基づいて、情報358と利用可能なデータアセット328とを分析して、可能性のある障害をランク付けすることができる。1つの態様において、極端なレベルの劣化、例えばツールシステムの障害、に応じて、アクタ(例えば、フィールドエンジニア)は、1つ以上のメンテナンス動作を行なうことができる。メンテナンス動作は、例えば、チャンバの洗浄、フォーカスリングの交換、などである。例えば、システム障害前の劣化に一致する劣化レベルを回復することによって確認されるような、ツールシステムの修復が成功した場合、自律学習システム360は、メンテナンス動作に先立つ関連する徴候(例えば、データアセット及びパターンと、関係と、このような組み合わせから抽出される他の実質的にあらゆるタイプの理解)を保存することができる。したがって、次の例おいて、データアセットから自律的に探り出した新たな理解と、劣化の分析とを通して、学習した徴候が識別された場合に、記憶されている修復計画を再び行って、コストを低減して、平均修復時間(mean time to repair, MTTR)を改善することができる。
認識ワーキングメモリ(awareness working memory, AWM)710は、STMである。STMは、認識センサメモリ(awareness sensory memory, ASM)720として識別されるメモリの特定区域を含み得る。ASM720は、データを記憶するのに利用され得る。このデータは、例えば、情報入力358であって、センサコンポーネント325中のセンサ又はアクタ390から得られ、アダプタコンポーネント335中の1つ以上のアダプタによってパッケージ化され、知識ネットワーク375によって受信され得る。さらに、自己認識コンポーネント550は、また、複数の特定の機能オートボットを具備することができる。複数の特定の機能オートボットは、オートボットコンポーネント540中に存在し、認識プランナユーバボット(AP)を含むことができる。
さらに、自己認識コンポーネント550は、認識知識メモリ(awareness knowledge memory, AKM)730を具備することができる。AKM730は、LTMの一部であり、自己認識コンポーネント550の動作に関連する複数の概念を含むことができる。概念は、例えば、属性(attribute);例えばクラス(class)又は因果グラフ(casual graph)のようなエンティティ(entity);関係(relationship);或いは手続き(procedure)である。1つの態様において、半導体製造ツールに対する自己認識コンポーネント550は、ドメイン別の概念、例えば、ステップ(step)、実行(run)、バッチ(batch)、メンテナンス間隔(maintenance-interval)、ウェット洗浄サイクル(wet-clean-cycle)、などと、一般的な目的の概念、例えば、数(number)、リスト(list)、シーケンス(sequence)、集合(set)、行列(matrix)、リンク(link)、などとを含むことができる。このような概念は、より高レベルの抽象的概念を入れることができる;例えば、ウェーハの実行(run)は、ステップ(step)の順序付けられたシーケンス(sequence)として定義することができる。ステップは、レシピパラメータ(例えば、所望の値)の設定と、1つ以上のステップの測定との両者を含むことができる。さらに、AKM730は、2つ以上の概念をリンクすることができる関数の関係、例えば、平均(average)、標準偏差(standard-deviation)、範囲(range)、相関(correlation)、主成分分析(principal component analysis, PCA)、マルチスケール主成分分析(multi-scale principal component analysis, MSPCA)、ウェーブレット(wavelet)、又は実質的にあらゆる基底関数、などを含むことができる。複数の関数の関係が、同じ1つの概念に適用され、したがって関係付けられることができることに留意すべきである;例えば、(関数の)関係である平均(average)、標準偏差(standard-deviation)の関係、最大値(maximum)の関係、などによって、数(number)のリスト(list)が実数のインスタンスにマップされる。1つ以上のエンティティから別の1つのエンティティへの関係が、関数又は汎関数(例えば、関数の関数)である場合に、その関数を実行するためのユーバボットによって実行されることができる関連する手続きが存在し得る。概念の正確な定義は、UML、OMGL、などのような適切なデータスキーマ定義言語で表現されることができる。さらに、システムを停止することなく、(ツールシステムの)実行時に、AKM730の内容が、動的に増加できることに留意すべきである。
ここに記載される知識ベース中の任意の概念のような、AKM730中の各概念を、適切性の属性と慣性の属性とに関連付けて、概念別の状況スコアを生成することができる。最初に、自律システムがデータを提供される前は、AKM730中の全ての要素に対する適切性の値は、ゼロであるが、全ての概念に対する慣性は、ツールによって決まり、アクタによって割り当てられるか、又は履歴データ(例えば、データベース355中のデータ)に基づき得る。1つの態様において、数(numbers)の集合(set)から平均(average)を生成する手続き(procedure)の慣性は、かなり低くなり得る(例えば、ι=1)。その理由は、平均の計算は、コンピュータシミュレーションから得られるか、又は実質的に全ての状況に関与する集められたデータセットに適用可能な、相当に単純な演算として見なすことができるからである。同様に、数(numbers)の集合(set)を1つの数に変換する、最大値及び最小値の手続き(procedure)は、相当に低い慣性値を与えられ得る。その代わりに、範囲の計算(compute a range)と、標準偏差の計算(compute a standard deviation)は、このような知識要素を適用するのがより難いので、より高い慣性値(例えば、ι=2)を与えられ得る。PCAの算出(calculate a PCA)は、より高いレベルの慣性を示し、MSPCAの計算(calculate a MSPCA)は、さらにより高い慣性値を有し得る。
状況スコアを用いて、AKM730及びAWM710から、どの概念を通信するかを決定することができる(以下を参照)。状況スコアの閾値を超えた知識要素又は概念は、AWM710に送ることができる。このような概念は、概念を保持するのに十分に利用可能な記憶域がAWM710にあって、かつ、AWM710へ送られていないより高い状況スコアを持つ異なる概念がない場合に、送られることができる。AWM710中の概念の適切性、さらに、概念の状況スコアは、時間の進行と共に古くなり得る。既にメモリの中にある1つ以上の概念が、もはや不要であるか、又はもはや適用できない場合に、より高い適切性を有する新たな概念を、認識ワーキングメモリ710に入れることができる。概念の慣性がより大きくなると、概念をAWM710に送るのと、AWM710から取り出すのとに、より長い時間がかかることに留意すべきである。
例えば、スパッタターゲットを替える、電子ビーム銃を加える、蒸着プロセスが終了する、その場のプローブ(in situ probe)を開始する、アニーリング段階が完了する、などのように、ツールシステムの状態が変化する場合に、認識プランナ550のユーバボットは、AKM730の中の各概念のうちのどの概念(例えば、知識要素)が、新たな状態に適用されて、適切性の値、例えば状況スコア、を増加できるかを示すことができる。同様に、特定のオートボットの活性化エネルギーを低減して、新たな状況に適したオートボットのEAを増加するために、ユーバボットは、オートボット6151−615Nの活性化エネルギーを調節することができる。プランナユーバボットは、適切性(及び状況スコア)のインクリメントを、それらの概念に対する第1の隣接、それとともに第2の隣接、などに広げることができる。AKM730中の第1の概念の隣接は、選択された測度、例えば、ホップ数、ユークリッド距離、などにしたがって、位相的な方向で、第1の概念から特定の距離内に存在する第2の概念であると理解されるべきである。適切性における最初のインクリメントを受け取った第1の概念から第2の概念までの距離が長くなると、第2の概念の適切性のインクリメントは小さくなることに留意すべきである。したがって、適切性(及び、状況スコア)のインクリメントは、「概念上の距離」の関数として、抑えられた広がり(dampened spread)を示す。
アーキテクチャ500において、自己認識コンポーネント550は、認識スケジュールアダプタ(awareness schedule adapter, ASA)760を具備する。ASA760は、認識プランナコンポーネント750の拡張である。ASA760は、(例えば、センサコンポーネント325を経て相互作用コンポーネント330を通った、入力130を経た、又は(フィードバック)リンク115を経た)外部からのデータ又は内部からのデータをまとめて要求及び変更することができる。1つの態様において、認識スケジュールアダプタ760は、データのサンプリング周波数の調節を取り入れることができる。例えば、認識スケジュールアダプタ760は、アダプタコンポーネント335中の異なるアダプタが、データ(例えば、情報入力358)を、ASM720を宛先として知識ネットワーク375に送るレートを調整することができる。さらに、認識スケジュールアダプタ760は、正常なデータパターンの記述に含まれていないプロセスの変数か、又は適応推論エンジンで受信されたデータから推論されるように目標の達成を進めない変数、に関連するデータの集まりを、低い周波数でサンプリングするか、又は実質的に削除することができる。逆に、ASA760は、正常なデータパターンの中で広範囲に使用されている変数のセット、又は、目標を積極的に進めることができる変数のセットを、より高い周波数でサンプリングすることができる。さらに、自律学習システム360が、ツールシステム310の状態の変化(又は、特定の目標に関連する状況の変化)を認知して、製品の品質又はプロセスの信頼度が正常なデータパターンから次第にずれていること(又は、目標がドリフトした結果、目標空間中の最初の目標から相当に外れたこと)を、データが示している場合に、自律学習システムは、ASA760を介して、より迅速なデータサンプリングを要求して、より多くの量の役に立つ情報(例えば、入力130)を集めて、劣化を効率的に検証して、したがって適切にアラームを発することができる。1つの態様では、目標コンポーネントは、最初の目標を入力したアクタに、目標のドリフトの要約を表示することができる;例えば、家庭用娯楽システムを購入するときに、電器店が最初の支出目標から相当に逸脱している場合に、予算を適応させた後の支出の見積りを変更したログが、顧客に表示され得る;又は、データウェアハウスを最適化するように目標に適応させるときに、メモリ空間と、関連するインフラストラクチャとに関連付けられたコストのデータベースアーキテクチャが示され得る。
アクタ390(例えば、人間のエージェント、又は、人間のエージェントをによって使用されるデバイス)は、自己認識コンポーネント550を複数のやり方でトレーニングすることができる。複数のやり方は、1つ以上のエピソード(例えば、適応させるのに成功した目標の例を含む)を定義することを含み得る。エピソードに対する、自己認識コンポーネント550を通しての、自律的な生物学に基づく学習システム360のトレーニングは、次のように行われ得る。アクタ390は、エピソードを作成して、一意の名前をエピソードに提供する。次に、新たに作成されたエピソードのデータを、自律学習システム360に与え得る。データは、ツールシステムの1つの特定の動作ステップ中の特定のセンサのデータ、1つの特定のステップ中のパラメータのセット、実行に対する1つのパラメータの平均、などであり得る。
その代わりに又はさらに、アクタ390は、より基本的なガイダンスを提供してもよい。例えば、フィールドサポートエンジニアは、ツールシステム310に、予防のツールメンテナンス(preventive tool maintenance, PM)を行なうことができる。PMは、計画されて周期的に行われても、計画されていなくても、又は非同期であってもよい。予防のツールメンテナンスが、自律学習システム360による要求に応じて、定期的な予防のメンテナンスに応じて、又はスケジュールされていないメンテナンスに応じて、製造システム上で行われることができると理解されるべきである。連続するPMの間にある期間が経過し、このような期間中に、ツールシステムにおいて、1つ以上のプロセス(例えば、ウェーハ/ロット製造)が生じることができる。データと、製品アセット(例えば、データアセット、フラットパネルディスプレイデバイス、ウェーハ…)と、関連する情報、例えば、行なわれた計画及び計画外のメンテナンス、とを通して、自律学習システムは、「故障のサイクル」を推論することができる。したがって、自律学習システムは、アセット328を利用して、平均故障間隔(mean time between failure, MTBF)を推論することができる。このような推論は、故障時間のモデルを通して、重大なデータ及び製品アセットの機能としてサポートされる。さらに、自律学習システム360は、情報I/O358として受信された異なるアセット間の関係を通して、又は、エキスパートアクタによって送られた管理下でのトレーニングセッションから得た履歴データを通して、モデルを開発することができる。エキスパートアクタは、トレーニングされる異なる自律学習システムと相互作用する異なるアクタであってもよいと理解されるべきである。
アクタ390(例えば、エンドユーザ又はエンドユーザに使用されるデバイス)は、ウェーハレベルの実行データを平均して、PM間の期間における重大なパラメータのドリフトを評価できることを、自律システムに知らせることによって、自律システムを導くことができる。より困難な課題がまた、自律システムによって行われることができる。アクタ390は、学習命令によって、計画外の各PMの前に、ウェーハの平均レベルにおけるデータパターンを特徴付けるように学習することを、自律学習システム360に指示する。このような命令は、自律学習システム360に、計画外のPMの前にデータパターンを学習することを促すことができ、もしデータパターンが認識オートボットによって識別され得る場合、自己認識コンポーネント550は、時間の進行と共に、このようなパターンを学習することができる。パターンの学習中に、認識コンポーネント550は、オートボットコンポーネント540中に存在する認識オートボットからの、又は自己概念化コンポーネント560からの支援(又は、サービス)を要求することができる。ツールシステムのパターンが、高い信頼度で学習される場合に、自律的な生物学に基づく学習システム360は、ツールのメンテナンスを必要とし得る機能不全に関連する参照エピソードを作成することができる(信頼度は、例えば、パターンの再現性の程度によって測定され、パターンの再現性の程度は、PCA分解係数、K−クラスタアルゴリズムにおける主要なクラスタのサイズ、又は異なるパラメータのセットと時間との関数としての第1のパラメータの大きさの予測、などに反映される)。したがって、参照エピソードが生じる前に、アラームを発することができる。オートボットコンポーネント540中に存在し得る認識オートボットは、機能不全の参照エピソードに対するデータパターン、又は、計画外のメンテナンスを必要とし得る実質的にあらゆる具体的な状況を、それが必要になる前に、完全に特徴付けることはできないことに留意すべきである。しかしながら、このようなツールシステム310の予防的な調子の管理は、難しい(deep)振る舞いと予測の関数の分析を含むことがあり、自己概念化コンポーネント560中のオートボットによって行われることができることが理解されるべきである。
図8は、ここに記述される態様に係る認識ワーキングメモリ520において動作することができるオートボットの図800である。図示されているオートボット−定量化器(quantifier)815と、予想エンジン825と、予想外スコア生成器835と、要約生成器845−は、認識エンジンを構成し得る;認識エンジンは、仮想の新生(emergent)コンポーネントである。その新生の性質は、基本構成、例えば、オートボット815、825、835、845の協調的な動作から生じる。認識エンジンは、高度な動作をするために、1つ以上の計画ユーバボットが協働するオートボットの集まりをどのように使用することができるかの一例であると理解されるべきである。計画ユーバボットは、様々なオートボット(例えば、平均、標準偏差、PCA、ウェーブレット、導関数、など)又は、自己概念化コンポーネント560のサービスを用いて、自律的な生物学に基づく学習システムにおいて受信されたデータパターンを特徴付ける。各ステップ、実行、ロット、などに対するデータは、外部のエンティティによって、トレーニング中に正常又は異常として標示される。正常なデータを利用して、典型的な正常なプロセスのデータパターンを学習するために、定量化器815は、計画ユーバボットによって使用されることができる。定量化器815は、ASM720に配置されている非標示(unlabeled)のデータセット(例えば、情報入力358)を評価し、正常なデータパターンと非表示データのデータパターンとを比較することができる。正常なデータに対する予想パターン、又は正常なデータについてのパラメータを予測する式は、予想エンジン825によって、記憶されて操作され得る。非標示のデータパターンと、正常なデータパターンとは、幾つかのメトリックに基づいて、様々な点で異なり得ることに留意すべきである;例えば、(PCAとMS−PCAとに適用され、トレーニングを実行することにより導き出される)ホテリングT2統計量に対する閾値を超える;非標示のデータセットのうちのデータのサブセットの平均は、正常なトレーニング実行データを用いて計算された平均から、3σ(又は、他の所定の偏差間隔)よりも大きく異なる;測定されたパラメータのドリフトが、正常な実行に関連するデータにおいて観測されたドリフトと、相当に異なる;などである。それとともに、要約生成器845は、正常なデータに対する成分のベクトルを生成する。一方で、予想外スコア生成器835は、ベクトル中の成分におけるこのような差を実質的に全て取り込んで、ランク付け又は重み付けして、ツールシステムに対する正味の劣化の予想外スコアを計算することができる。ツールシステムに対する正味の劣化の予想外スコアは、ツールシステムの調子の状態を反映し、ツールシステムがどのくらい「正常から離れている」かを反映する。正常なメトリックと非標示のメトリックとの不一致は、時間の関数として変化し得ると理解されるべきである。したがって、正常なデータをより多く集めることによって、自律学習システム360は、時間の経過と共に、より高レベルの統計的信頼度で、様々な動作制限を学習することができ、それに応じて製造プロセスレシピ(例えば、目標)を調節することができる。例えば、予想外スコアを通して測定された劣化条件は、要約生成器845を介して、アクタに報告されることができる。
図9は、ここに記述される態様に係る自律的な生物学に基づく学習システムの自己概念化コンポーネントの例示的な実施形態900を示す。自己概念化コンポーネントの機能は、重要な半導体製造ツールの関係と記述の理解を構築することである。このような理解は、製造プロセス(例えば、目標)を調節するために用いられ得る。この獲得される理解は、ガイダンス(手引き)を供給するエンドユーザ(例えば、アクタ390)と協力して、又は自律的に、構築される。他の主要な機能コンポーネント550及び570と同様に、自己概念化コンポーネント570は、メモリの階層、動作ユニット、又はオートボット及びプランナ、に関して再帰的にアセンブル又は定義される;このようなコンポーネントは、優先度の使用可能とされた知識ネットワークと通信することができる。
実施形態900は、概念化知識メモリ(conceptualization knowledge memory, CKM)910を示す。CKM910は、自己概念化コンポーネント570の動作に必要な概念(例えば、属性(attribute)、エンティティ(entity)、関係(relationship)、手続き(procedure))を含む。CKM910中の概念は、(i)ドメイン別の概念、例えば、ステップ(step)、実行(run)、ロット(lot)、メンテナンス間隔(maintenance-interval)、ウェット洗浄サイクル(wet-clean-interval)、ステップ測定(step-measurement)、ウェーハ測定(wafer-measurement)、ロット測定(lot-measurement)、ウェーハ上の位置(location-on-wafer)、ウェーハ領域(wafer-region)、ウェーハの中心(wafer-center)、ウェーハのエッジ(wafer-edge)、最初のウェーハ(first-wafer)、最後のウェーハ(last-wafer)、などと、(ii)一般的な目的の、ドメインから独立した概念、例えば、数(number)、定数(constant)(例えば、e、π)、変数(variable)、数列(sequence)、時系列(time-sequence)、行列(matrix)、時間−行列(time-matrix)、細粒度の振る舞い(fine-grained-behavior)、粗粒度の振る舞い(coarse-grained-behavior)、などと、を含む。さらに、自己概念化コンポーネントは、一般的な目的の関数の関係、例えば、加算(add)、減算(subtract)、乗算(multiply)、除算(divide)、2乗(square)、3乗(cube)、累乗(power)、指数関数(exponential)、対数(log)、正弦(sine)、余弦(cosine)、正接(tangent)、誤差関数(erf)、などとともに、他のドメイン別の関数の関係の多くの配列を含む。他のドメイン別の関数の関係は、様々なレベルの詳細を示すことができ、適応概念化テンプレートメモリ(adaptive conceptualization template memory, ACTM)920中にある。
ACTM920は、関数の関係を保持するCKM910の拡張である。関数の関係は、ツールシステム310(例えば、半導体製造ツール)と相互作用するアクタ(例えば、エンドユーザ)に完全に又は部分的に知られている。ACTMは、CKMの論理的な拡張であるが、実際のメモリ記憶装置は自己概念化コンポーネント560内の1つの記憶ユニットに見え得るので、このような分離によって、オートボットと、プランナと、他の機能コンポーネントは影響を受けないことに留意すべきである。さらに、自己概念化コンポーネント560は、概念化目標メモリ(conceptualization goal memory, CGM)930を含むことができる。CGM930は、概念化ワーキングメモリ(conceptualization working memory, CWM)940の拡張である。CGM930は、現在の目標のオートボットを促進することができる。現在の目標は、例えば、学習(f,圧力,時間,ステップ)(learn(f, pressure, time, step))である;特定のプロセスステップに対して、圧力(pressure)の関数fであって、時間に依存する関数fを学習する。関数fの学習は、副目標を表わすことに留意すべきである。副目標は、ツールシステム310を利用して半導体デバイスを製造するという目標の達成を促進することができる。
さらに、ACTM920中の概念は、適切性の数値属性と、慣性の数値属性とを持ち、状況スコアをもたらすことができる。慣性値は、概念が学習される可能性を示し得る。例えば、行列(matrix)の概念に対する慣性値がより高く、時系列(time-sequence)の概念に対する慣性がより低い場合、自己概念化コンポーネント560は、行列(matrix)のデータの関数の振る舞いではなく、時系列(time-sequence)の関数の振る舞いを学習することができるという状況をも導くことができる。自己認識コンポーネント550と同様に、より低い慣性を持つ概念が、CKM910からCWM940に送られる可能性がより高い。
現在のコンテキスト、ツールシステム310(又は、通常、目標コンポーネント120)の現在の状態、CWM940の内容、又は、CWM940においてアクティブな1又は複数の現在のオートボットの関数として、概念プランナ(conceptual planner, CP)は、活性化エネルギーを様々なオートボットに提供し、状況エネルギーをCKM910及びACTM920中の様々な概念に提供する。適応推論エンジンによる推論は、伝搬される概念の態様に基づくことができるので−活性化エネルギーと状況エネルギーとの変化は、CWM940又はCKM910中の概念に対する変化された意味ネットワークの結果として(例えば、学習に基づいて)生成された知識に基づいて目標適用が導かれることができると理解されるべきである。
CTM920の内容は、上述の知識を記述することができる概念であり、したがって、これらの概念は、適切性と慣性との数値属性を持ち得る。CTM920の内容は、ツールシステム310の関数の振る舞いを学習するためにオートボットによって使用されることができる(より低い慣性を持つ概念が、より高い慣性を持つ概念よりも、活性化される可能性が高いという制約を受けて)。全てのガイダンス(手引き)が、同じ慣性を持つ必要はない;例えば、第1の完全な関数(complete function)と第2の完全な関数との両者の概念が、完全な関数を表わしていても、第1の完全な関数は、第2の完全な関数よりも、低い慣性を与えられることがある。
部分的に定義された式のような部分的な知識が、CWM940においてアップロードされると、例えば、既存の知識を用いて、部分的な知識を完成させることができる−CPは、オートボットを協働させて、利用可能なデータを用いて、最初に、未知の係数値を識別する。したがって、暫定的な係数のセットが、部分的に定義された式の概念を、完全な関数の概念に完成させることができる。次に、完全な式の概念は、加算(add)、乗算(multiply)、などのような、予め構築された関数の関係の概念において利用され得る。出力を備えた基礎知識(例えば、関係(出力(кE),T)(relationship(output(кE),T)))は、CWM940中のオートボットが様々な関数の記述を構築して評価することを促進することができる。関数の記述は、кEとTとの関係を記述することができる最良の関数を特定するために、кEに対するデータとTに対するデータとを含む。代替的に、出力を備えていない基礎知識は、CPの援助のあるオートボットが、出力変数又は独立変数として変数を指定して、残りの変数の関数としてそれを表現することを試みることを促進することができる。良い関数の記述が見付からない場合には、別の変数が独立変数として指定され、適切な関数の関係に収束するまで、プロセスを繰り返すか、又は、適切な関数の関係が見付からないことを、自律学習システム360が、例えばアクタ390に知らせる。識別された良い関数の関係は、CKM910に提示され、自律学習システム360中のオートボットによって、慣性のレベルと共に、利用されることができる。慣性のレベルは、CPによって割り当てられる。例えば、割り当てられた慣性は、識別された関係の数学上の複雑さの関数であり得る−複数の変数と、パラメータと、オペレータ(例えば、グラディエント、ラプラシアン、偏導関数、など)とを含む非線形の関係に割り当てられる慣性値よりも、2つの変数間の線形の関係は、より低い慣性値を割り当てられ得る。
概念化エンジン945は、「仮想のコンポーネント」であって、認識オートボットと概念化オートボットとの協働する動作をもたらすことができる。1つの態様において、自己認識コンポーネント550は、変数のグループ(例えば、グループ中の変数は、良い対の相関特性を示す変数であり得る)を、自己概念化コンポーネント560に、(FFループ552によって)フィードフォワードすることができる。フィードフォワードされた情報は、自己概念化コンポーネント560が、関数の関係のテンプレートに対してCKM910とACTM920とをチェックすることを促進することができる。テンプレートが利用可能であると、概念化エンジン945中に存在し得る概念化学習者(conceptualization learner, CL)のオートボットは、フォワードされたグループ中の変数間の関数の振る舞いを、より迅速に学習することができる。このような関数の振る舞いの学習は、主要な目標のうちの副目標であり得ると理解されるべきである。CPのオートボットの支援を受けるCLのオートボットは、概念化検証器(conceptualization validator, CV)のオートボットも使用することができる。CVのオートボットは、提案された関数の関係の品質を(例えば、予測値と測定値との平均誤差は、機器が解決する範囲内であると)評価することができる。CLのオートボットは、自律的に、又はアクタが供給したガイダンスを通して、関数の関係を独立して学習することができる;このようなアクタが供給したガイダンスは、外部からのデータとして見なすことができる。CLによって学習された関数は、目的の変数のグループとして、(例えば、FBリンク558を介して)自己認識コンポーネント550にフィードバックされることができる。例えば、к0(例えば、漸近エッチングレート)とU(例えば、活性化バリア)とが、CLに既知の特定値を含む場合に、関数кE=к0exp(−U/T)を学習した後で、自己概念化コンポーネント560は、ガイダンスのグループ(出力(кE),T)を、自己認識コンポーネント550にフィードバックすることができる。このようなフィードバック通信により、自己認識コンポーネント550は、このような変数のグループに関するパターンを学習することができ、したがって、変数のグループに対する劣化を迅速に認識し、必要であれば、アラーム(例えば、アラームの要約、検証されたアラーム受信者リスト)を生成して発することができる。メモリ960は、概念化エピソードメモリである。
CLとCVとに関する次の2つの態様に留意すべきである。第1に、CLは、(例えば、符号を操作して)式を単純化できるオートボットを含み得る。これは、関数の関係を簡潔な数式として記憶することを促す。一例として、関係P=((2+3)Φ)((1+0)÷θ)は、P=3Φ÷θに単純化される。なお、Pと、Φと、θとは、それぞれ、圧力と、フローと、排気バルブの角度とを示す。第2に、CVは、関数の関係の品質を決定する場合に、式の構造の複雑さを考慮することができる−例えば、予測値対測定値の平均誤差のような、実質的に同じ特性を持つパラメータの場合に、より複雑な式ではなく、より単純な式が好ましい(例えば、より単純な式は、より低い概念の慣性を持ち得る)。
さらに、自己認識コンポーネント550から自己概念化コンポーネント560への情報の重要なFF552の通信と、自己概念化コンポーネント560から自己認識コンポーネント550へのFB558の通信とは、エピソードに対するデータパターンを特徴付けるために、認識オートボットと概念化オートボットとの協働を含むことができる。図5に関連して既に記載したように、自己認識コンポーネント550がエピソードを学習しない場合に、自己概念化コンポーネント560は、適切な関数の関係のセットを提供することによって、自己認識コンポーネント550を支援することができる。例えば、ツールシステム310で実行されるプロセスの安定化ステップにおける圧力の時間依存性についての細かい記述が、エピソードを特徴付けるに必要である。自己概念化コンポーネント560は、安定化ステップにおける圧力のこのような詳しい(例えば、1秒ごとの)時間依存性を構築することができる。したがって、FBループ558によって、自己認識コンポーネント550は、正常なツールの状況における安定化ステップの間の圧力のパターンを特徴付け、学習した圧力の時間依存性と、特定のエピソードデータにおける圧力のパターンとを比較して、学習することができる。一例として、自律的な生物学に基づく学習ツール300中のエピソードの発生を識別するデータパターンとして、エピソード中のデータに対する安定化ステップ前の測定された圧力におけるスパイクの存在と、正常なツール動作中の圧力データにおけるスパイクの不存在とが検出される。
同様に、スケジュールされていないPMの予測は、、ツールシステムのデータの重大な測定値の経時的な変動についての知識と、自己概念化コンポーネント560によって送られる予測関数のセットを利用できることとをあてにする。予測関数は、自己認識コンポーネント(例えば、コンポーネント550)が、スケジュールされていないPMの新生状況を予測することを支援することができ、この場合に、予測は、時間の関数としての、変数の推定値(projected value)のセットに依存する。
図10は、主題開示に係る自律的な生物学に基づく学習システムにおける自己最適化コンポーネントの例示的な実施形態1000を示す。既に記載されたように、自己最適化コンポーネントの機能は、ツールシステム310の現在の調子(例えば、性能)を分析して、現在の調子の分析結果に基づいて、ツールシステム310の調子の劣化に対する実質的に全ての潜在的な原因を診断又はランク付けして、自律学習システム360によって獲得された学習に基づいて、根本原因を識別することである。他の主要な機能コンポーネント550及び560に類似して、自己最適化コンポーネント570は、メモリプラットフォーム365に属し得るメモリの階層と、処理プラットフォーム385の一部であり得るオートボット及びプランナとから再帰的に構築される。
最適化知識メモリ(optimization knowledge memory, OKM)1010は、ツールシステム310の振る舞いの診断と最適化とに関する概念(例えば、知識)を含む。振る舞いは、目標又は副目標を含み得ると理解されるべきである。したがって、OKM1010は、ドメイン又は目標の特別の概念、例えば、ステップ(step)、ステップデータ(step-data)、実行(run)、実行データ(run-data)、ロット(lot)、ロットデータ(lot-data)、PMの時間間隔(PM-time-interval)、ウェット洗浄サイクル(wet-clean-cycle)、プロセスレシピ(process-recipe)、センサ(sensor)、制御装置(controller)、などを含む。後の方の概念は、半導体デバイスを製造するツールシステム310に関連する。さらに、OKM1010は、ドメインから独立した概念を含む。ドメインから独立した概念は、読み出し(reading)(例えば、センサコンポーネント325における圧力センサからの読み出し)、シーケンス(sequence)、比較器(comparator)、ケース(case)、ケースインデックス(case-index)、ケースパラメータ(case-parameter)、原因(cause)、影響(influence)、因果依存関係(causal-dependency)、証拠(evidence)、因果グラフ(causal-graph)、などを含む。さらに、OKM1010は、比較(compare)、伝搬(propagate)、ランク付け(rank)、解答(solve)、などのような、関数の関係のセットを含み得る。このような関数の関係は、オートボットコンポーネント540中に存在し得るオートボットによって活用され、手続の実行によって、その機能の少なくとも一部をOKM1010に与えることができる。OKM1010に記憶されている概念は、適切性の数値属性と、慣性の数値属性と、そこから導き出される状況スコアとを持つ。適切性と、慣性と、状況スコアとの意味は、自己認識コンポーネント550と自己概念化コンポーネント560とに対する意味と実質的に同じである。したがって、実行データ(run-data)が、ステップデータ(step-data)よりも、低い慣性を与えられる場合に、自己最適化コンポーネント570のプランナ(例えば、ユーバボット)は、OKM1010から最適化ワーキングメモリ(optimizing working memory, OWM)1020に、実行データ(run-data)の概念を通信する可能性が高い。また、実行データ(run-data)とステップデータ(step-data)との間におけるこのような慣性の関係によって、実行(run)に関する概念を用いて動作する最適化オートボットの活性化率が増加し得る。
自己認識コンポーネント550と自己概念化コンポーネント560とは、FFリンク552と562とを通して、OKM1010に記憶されている概念の状況スコアと、最適化プランナ(optimization planner, OP)を通しての最適化オートボットの活性化エネルギーとに影響し得ることに留意すべきである。OPは、最適化プランナコンポーネント1050に存在し得る。OKM1010に記憶され、自己認識コンポーネント550と自己概念化コンポーネント560とによって影響される概念は、特定のコンテキストの関数として最適化される特定の目標の態様を決定し得ると理解されるべきである。一例として、プロセスのステップに対するデータパターンが著しく劣化したことを、自己認識コンポーネント550が認識すると、関連するステップ(step)の概念の状況スコアが上げられ得る。したがって、OPは、(例えば、目標を遂行している一方で)プロセス中に実行されるステップのセットを修正するために、ステップ(step)の概念に関する最適化オートボットに、追加の活性化エネルギーを供給し得る。同様に、自己概念化コンポーネント560が、生産ロットに対するツールの測定値間に、新たな関数の関係を識別すると、自己概念化コンポーネント560から(例えば、FF562を介して)受信されたFF情報により、自己最適化コンポーネント570は、(1)ロット(lot)の概念の状況スコアと、(2)ロット(lot)の概念に依存する機能を持つ最適化オートボットの活性化エネルギーとを上げて、ロット(lot)の概念の態様(例えば、ロット中のウェーハの数又はタイプ、アクティブマトリクスアレイ又はアレイのセットにおけるTFTの数、ロットのコスト、アクティブマトリクスアレイのセットのコスト、ロットにおいて利用される資源、1つ以上のTFTアクティブマトリクスアレイにおいて利用される資源、など)を変更する。適応状況ワーキングメモリ1040は、状況スコアの適応調整を可能であり、自己最適化コンポーネント570の動作に対するデータを保持する。最適化エピソードメモリ1030は、自己最適化のような様々な最適化を通じて収集されるデータインプレッションと知識とを保持する。
ツールシステム310の調子の評価は、次に記載するように、診断エンジン1025を通して行なわれ得る。調子の評価は、製造プロセスの副目標であり得ることに留意すべきである。診断エンジン1025は、依存関係グラフを自律的に作成して、アクタ390が依存関係グラフを増補することを可能にする(このような依存関係グラフは、外部からのデータとして又は内部からのデータとして見なすことができる)。因果グラフは、ツールシステム310によって行われるプロセスの動力(dynamics)と、アクタ390によって立てられ得る診断計画とにしたがって、インクリメンタルに送られ得る。例えば、因果グラフは、「圧力」の異常が、4つの原因のうちの1つによって生じることを示している:4つの原因は、蒸着チャンバに漏れがあること、チャンバへのガスフローが不良であること、(ガスフローの大きさを制御する)排気バルブの角度が不良であること、又は、圧力センサにエラーがあること、である。ツールシステム310のコンポーネントは、故障の先験的確率(例えば、チャンバの漏れが0.01の確率で発生し得ること、ガスフローが0.005の確率で不良になること、など)を持つ。さらに、アクタ390又は自己概念化コンポーネント560は、圧力異常に対する条件付き依存性(conditional dependency)を定義することができる。この条件付き依存性は、条件付き確率として表わされることができる;例えば、チャンバに漏れがあると仮定して圧力に問題がある確率は、p(P|leak)であり得る。通常、アクタ390は、ツールの故障の源に原因として関係している条件付き確率を提供することができる。自律学習システム360は、アクタ390によって定義された確率の割り当てが概算的な見積であり得ると仮定することに留意すべきである。多くの場合に、概算的な見積は、物理学的な確率(例えば、観測によってサポートされる実際の確率)と著しく異なり得る。因果グラフの例は、後述の図11Aと11Bとに関連して次に提示及び説明される。
さらに、自己最適化コンポーネント570は、予知コンポーネント1060を備えることができる。予知コンポーネント1060は、ツール310に関連する情報I/O358を通して、ツールシステム310の性能に関する1組の予知を生成することができる。このような情報は、機能コンポーネントによって用いられる物質の品質、ツールシステム310によって生成される製品アセット328の物理的特性、例えば、屈折率、光吸収係数、エレクトロ・フォトルミネセンス・イールド、ラマン分光学断面、欠陥密度、又は、製品アセット328がキャリアでドープされる場合の磁気伝導特性、などを含むことができる。複数の技術が予知コンポーネント1060によって利用され得る。この技術は、第1の特徴付け技術を含む。第1の特徴付け技術は、情報358を処理する場合に自己認識コンポーネントによって用いられ得る技術と実質的に同じである;すなわち、例えば、(i)フーリエ変換を利用する周波数分析、ガボール変換、ウェーブレット分解、統計技術に基づく非線形フィルタリング、スペクトル相関、(ii)(センサコンポーネント325によって測定され得る)時間に依存するスペクトル特性を利用する時間分析、非線形信号処理技術、例えば、ポアンカレ写像及びリャプノフスペクトル技術、(iii)実空間ベクトル又は信号空間ベクトルの振幅と角度の変動分析、(iv)異常予測技術、などである。分析(i)、(ii)、(iii)、又は(iv)を通して生成されたデータアセット又は情報は、ニューラルネットワークの推論、ファジー論理、ベイズネットワークの伝搬、進化的アルゴリズム、例えば遺伝的アルゴリズム、データ融合技術、シミュレートアニール、などにより補充されることができる。センサコンポーネント325と、OKM1010において利用可能な情報とによって証明された、特定のアセット又は特性における不調傾向を識別すると、最適化プランナコンポーネント1050と、コンポーネント540に存在し得る最適化オートボットとによって生成された適切な訂正測定値を用いて、分析技術と予測技術との組み合わせを利用して、ツールシステム310の最適化を促進することができる。
1つ以上の実施形態において、自律的な生物学に基づく学習エンジン360と、その中のコンポーネントは、1つ以上のコンピュータ上で起動又は実行されることができるコンピュータ実行可能命令の一般的コンテキストで実装されることができる。代替の又は追加の実施形態において、例示のシステム300及び自律的な生物学に基づく学習エンジン36の様々な特徴は、また、他のプログラムモジュールとの組み合わせで、及び/又は、ハードウェア及びソフトウェアの組み合わせとして、実装されることができる。一般的に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造などを含み、特別のタスクを実行又は特別の抽象的なデータ型を実装する。様々なコンピュータアーキテクチャは、先の実施形態を実装するために使用されることができる。
図11Aは、ここに記述される態様に係る時間進行とともに性能を自律的に改善する例の進化ツールシステム1100のブロック図である。進化ツールシステム1100は、ツールシステム310を含み、ツールシステム310は、半導体製造ツールであることができ、ここで説明されるような機能コンポーネント315とセンサコンポーネント325とを含む。ツールシステム310は、例えばウェーハである入力材料に対して動作し、アセット入力1102を受ける。アセット入力1102は、それぞれの入力測定属性に対する仕様(specification)と許容差(tolerance)とを含むことができる。センサコンポーネント325は、例えば、入力材料又は入力アセットに対する、DI CD、FI CD;エッチバイアス又はラインリソリューションのような特徴均一性;ウェーハの厚さ;電気的特性;光学的特性、などのような測定値を管理する。光学的特性は、フォトン波長又は周波数のスペクトルに関して測定されることができる;光学的特性(例えば、光学的放射又は光学的吸収)は連続波(continuous-wave:CW)モード又は時間解像(time-resolved)モードで測定されることができる。吸収された又は放射された光のスペクトル強度は、時間の関数として、1つ以上の波長での1セットに対して測定される。入力仕様及び許容差は、相互作用コンポーネント330を用いて、アクタ390(例えば、ツールシステム310のオペレータによって使用されるデバイス)により構成されることができる。相互作用コンポーネント330は、アクタ390から入力仕様及び許容差を受け、それらをそれぞれ材料仕様1118及び許容差ストア1116内に保持する。1つ以上の実施形態において、相互作用コンポーネント330は、機能コンポーネント315の部分であることができ、機能コンポーネント315の部分は、ここに説明される、少なくとも部分的な、相互作用コンポーネント330の機能を提供することができる。1つの態様において、入力仕様は、1つ以上の指定された入力測定属性のそれぞれのセットに対する、1つ以上の最小値又は最大値のセットを含むことができる。加えて、許容差は、指定された入力測定属性に対する装置の解像度を含むことができる;装置解像度は、指定された入力測定属性又はパラメータの値の最小変化を示す。指定された入力測定属性又はパラメータの値は、センサコンポーネント325におけるセンサが検出することができ、又は、機能コンポーネント315における装置の一片が調節することができる。1つの例として、入力仕様は、エッチングチャンバにおける圧力(P)に対する最小(min)値及び最大(max)値を設定することができ、エッチングチャンバはツールシステム310における機能コンポーネント315の一部であり、例えばPmin=80mTorrでありPmax=90mTorrである。そして、許容差は、達成可能又は測定可能な圧力変化に対する解像度を決定することができ、例えばσP=1mTorrである。別の例として、ツールシステム310によって実装されるエッチング手順において使用されるエッチングガスに対して、入力仕様は、最小及び最大のガスフロー(Φ)を定義することができ、例えばΦmin=10.0及びΦmax=12.0であるのに対して、許容差は、ガスフローの達成可能又は検出可能な変化に対する0.1sccmの解像度を設定することができる。さらに別の例では、ツールシステム310の一部として動作するプラズマエッチングチャンバにおいて、入力仕様は、上側(upper)PFパワー(UΠ)の最小値又は最大値を定義することができ:UΠmin=1400W及びUΠmax=1600W、それに対して、許容差は、上側PFパワーにおける検出可能な又はサポートされる変化に対して1Wの解像度を設定することができる。
ツールシステム310は、また、1つ以上のレシピを、アセット入力1102により受け取り、入力材料を処理する;1つ以上のレシピ中の1つのレシピは、相互作用コンポーネント330を通じて、アクタ390(例えば、ツールシステム310のオペレータによって使用されるデバイス)によって構成されることができ、相互作用コンポーネント330は、レシピを受け取り、それをレシピストレージ1112に保存する。レシピは、パラメータの一部を含み、パラメータの一部は、アセット入力1102に含まれる;レシピ内のパラメータは、制御可能であり、ツールシステム310によって実施される例えばエッチプロセス又は任意の他の製造プロセスのような、プロセスの結果を調節するために利用されることができる。1つ以上のレシピに加えて、ツールシステム310は、アセットターゲット1104を受け取り、アセットターゲット1104は、少なくとも一部で、ツールシステム310を通じて製造された製品又はアセットに対する所望の又は意図された出力品質又は特定の特徴のセットを決定する;製品又はアセットは、アセット出力1106の一部であり得る。例示のシステム1100又はそれの1つ以上の代替の実施形態において、アセット出力1106は、1つ以上のアセット328の一部であり得る。半導体デバイス又は他のタイプのデバイスにような製品のアセットターゲット1104は、エッチバイアスの均一性、マイクロローディングなどのような複数のデバイス出力属性又は特徴を含むことができる。例えば、製造されるデバイスにおけるそれぞれの位置での1つ以上のエッチバイアス値のセットは、特定されることができる。加えて、主題開示の態様において、製品又はデバイスの属性(例えば、エッチバイアス)の特定の特徴について、アセットターゲット1104の値は、製造される製品又はデバイスにおける様々な位置で異なることができる;例えば、処理されるウェーハのエッジでのDI CDラインは、ウェーハにおける他の領域より厚いとしてもよく、そのうえで、処理されるウェーハのエッジで又はその近くで、より小さいエッチバイアスターゲットを必要とする。製品又はデバイスの特定の特徴に対するアセットターゲットの使用におけるそのような柔軟性は、アセットターゲットが定義される製品又はデバイスの特定の特徴を導くプロセスに先立って、処理ステップに導入されたプロセス変化を補償することを可能にする。
さらに、アセット入力1102を通じて、ツールシステム310(例えば生産ツール)は、また、製造される製品又はアセットの特徴の測定のための仕様および許容差を受け取る。センサコンポーネント325は、製造される製品の1つ以上の特性の測定を行う。ツールシステム310は、アセット出力1106の一部として、入力測定での製造される製品又はデータの出力特徴に関するデータの少なくとも1つを運ぶ。このようなデータは、前述のように、データアセットとすることができ、データベース355に保存される。アセット出力1106は、製品アセットを備え、この製品アセットは上述のように特定の製品又はデバイスの様々な複雑性を含む。
ツールシステム310(例えば製造ツール)の性能を自律的に改善するために、相互作用コンポーネント330は、レシピ1122をレシピドリフトコンポーネント1130へ運び、シグナリング1124によりレシピドリフトコンポーネント1130を管理し、レシピを定義する1つ以上のパラメータへの、インクリメンタル(漸進的)及びランダムであり得る、変化を行い、レシピドリフトコンポーネント1130は相互作用コンポーネント330へドリフトされたレシピ1126を供給する。レシピドリフトコンポーネント1130は、また、ドリフトされたレシピ1126を保持する。1つの態様において、レシピ1122とドリフトされたレシピ1126とは、自律的な生物学に基づく学習エンジン360における、例えば長期メモリ510のような、メモリプラットフォーム365内に保持されることができる。レシピドリフトコンポーネント1130は、レシピドリフトを行うために選択されたパラメータのリストからの1つ以上のレシピパラメータの選択を通じてレシピを変更することができる;パラメータのリストは、相互作用コンポーネント330によって供給されることができる。1つ以上のレシピパラメータの選択は、例えば390のようなアクタによって行われることができ、相互作用コンポーネント330によって受け取られることができ、パラメータのリスト中に保持されるか、又は、レシピ変更のために直接レシピドリフトコンポーネント1130へ運ばれることができる。代替的に又は付加的に、パラメータのリストが存在しない場合に、レシピドリフトコンポーネント1130は、履歴情報又は任意選択のうちの少なくとも1つに少なくとも部分的に基づいて、1つ以上のレシピパラメータを自律的に選択することができる。そのような自律の決定を達成するために、レシピドリフトコンポーネント1130は、少なくとも一部で、自律的な生物学に基づく学習エンジン360及びそれの推論能力を活用することができる。インクリメンタルな変化は、変更されるために選択されたレシピパラメータの大きさの小さい断片、例えば0.005相対値又は0.5%であることができる。加えて、変化の特定の大きさは、確率分布関数、例えば、ガウス分布、Poissonian分配など、によって生じることができる。レシピドリフトコンポーネント1130は、相互作用コンポーネント330への生成されドリフトされたレシピ1126の配達の前に、生成されドリフトされたレシピ1126をタグ付けするか、又は、別の方法で識別する。タグ付け又は識別は、ドリフトされたレシピ1126に対するラベル、例えばR1又は他の名前、と、1つ以上のレシピパラメータに達成される調節の大きさとを含む。
相互作用コンポーネント330は、シグナリング1124を通じて、変更対象の各レシピパラメータに対する許容差のセット(例えば最大値と最小値)を、レシピドリフトコンポーネント1130に供給することができる。許容差のセットは、アクタ(例えば、ツールシステム310のオペレータによって利用されるデバイスに具体化されることができる、アクタ390)から、相互作用コンポーネント330経由で、受け取ることができ、ドリフトされたレシピがツールシステム310によって処理された場合に、ツールシステム310の破滅的なオペレーション又はツールシステム310におけるなだれを緩和するように、少なくとも一部で、設定されることができる。1つの態様において、レシピコンポーネント1130は、許容差のセット内の1つの度量が超過された場合、レシピドリフトを止めることができる。許容差のセットは、また、許容差のセットによって特定される範囲内のレシピパラメータへの調節を維持することをレシピドリフトコンポーネント1130に強いることができる。加えて、相互作用コンポーネント330は、レシピストレージ1112中にドリフトされたレシピR1を記憶し、ツールシステム330にR1を運ぶことができ、ドリフトされたレシピR1にしたがって新しい入力材料又は入力アセットを処理する。ツールシステム310(例えば、製造ツール、処理ツール)は、所定の数のインスタンスに対するレシピR1を実装する。インスタンスの数は、例えばアクタ390である、アクタによって、又は、自律的な生物学に基づく学習システム360によって、設定されることができ、値N(1) R(N(1) Rは自然数)を適用できる。値N(1) Rは、ツールシステム310のノイズの存在及び変化における1つ以上の製品出力メトリック(例えば、製品の特徴又は特性の測定の出力値)に関するレシピに達成される変化の学習関連性を可能にする;変化は、アセット出力1106の一部である製品又は出力アセットで行われた測定を通じて明らかにされることができる。上述のように、製品出力メトリック又は製品出力特性の測定値から抽出されたデータは、相互作用コンポーネント330へアセット出力1106の一部として、例えばフィードバックのように運ばれ、データベース355中に保持されることができる。製品出力メトリックの測定値は、連続モード又はほとんど連続モードで相互作用コンポーネント330に運ばれることができる。
レシピR1がN(1) Rのインスタンスに対して、例えばウェーハのような入力材料を処理するために使用された場合、レシピR1は、レシピ1122として、調整及びレシピR2の生成を後に起こすためにレシピドリフトコンポーネント1130に運ばれる。上述のように、レシピドリフトコンポーネント1130は、レシピパラメータのセットを変更し、ドリフトされたレシピR2を生成する。レシピパラメータのセットは、以前のドリフティングの反復で変更されたパラメータのセットと異なる。変更は、変更される特定のレシピパラメータのリストにしたがって、又は、R1におけるレシピパラメータのランダム又は擬似ランダム選択により、進行できる。以前に議論されるように、R2は、レシピドリフトコンポーネント1130によって保持され、ドリフトされたレシピ1126として、相互作用コンポーネント330に運ばれる。レシピR2は、調整又はパラメータドリフトのために相互作用コンポーネント330がR2を通信する前に、N(2) Rのインスタンスの1サイクルの間に入力材料を処理するために使用される。製品出力メトリック又は製品出力特性の測定が、また、行われ、相互作用コンポーネント330へ供給される。
時間進行とともに、進化ツールシステム1100によって実現されるレシピドリフトループは継続する。レシピドリフトループは、レシピRS-1の受け取りを含み、Sは1より大きい自然数であること;関連する1つ以上のレシピパラメータのセットをドリフトすること、変更されるパラメータを識別するレコード又は自律的な識別子のうちの少なくとも1つによって命令されるものの選択;ドリフトされたレシピRSを運び及び記録すること;調節されたレシピの実行のN(S) Rステップ又はインスタンスを含む生産サイクルの間に調節されたレシピRSを処理することを持つ。レシピのドリフティングは、所定の時間間隔にわたり、この時間間隔は、アクタ、例えば390によって設定されることができ、ドリフティングが許可されない期間に散在された様々なドリフティングのサブ間隔を含むことができる。1つの態様において、相互作用マネージャ345は、アクタ390(例えば、ツールシステム310のオペレータによって利用される、デバイス、モバイル、又はその他のもの)がインタラクティブに又は自律的にドリフティングのオン及びオフをスイッチすることを可能にすることができることは、認識されるべきである。
例示の進化ツールシステム1100において、相互作用コンポーネント330は、N(λ) R,λ=1,2,3…のそれぞれのインスタンスで実現される入力材料及び出力製品メトリックの測定値を通じてツールシステム310(例えば製造ツール)から抽出されたデータを、情報I/O358の一部であり得る情報入力/出力(I/O)1135内に、運ぶ。レシピRλは、製造実行で使用される。各レシピのために、自律的な生物学に基づく学習エンジン360は、学習サイクルを実行し、関数の関係Oк=fк(I1,I2…;P1,P2…PM,ΔRF,PM,repair…)を抽出し、ここで、к=1,2…Gであり、(i)出力測定値Oк、及び(ii)入力測定値{I1,I2…}、レシピパラメータ{P1,P2…PM}、及び、経過アクティブデューティΔRF、予防メンテナンス(PM)レコード、修理(repair)レコードなどによって決定されるような、ツールシステム310の状態、である。パラメータGは、例えば測定された変数のような、収集されたもののセットの基数を示す1以上の自然数である。例えば測定された変数は、製品出力メトリック(例えばデバイス測定属性);光学スペクトル線の強度、、又は特定の波長での光学スペクトル強度;エッチバイアス、臨界の寸法、ウェーハの厚さ、のような装置の特徴の位置依存値;などを含む。アクティブデューティΔRF、PMレコード、修理レコードなどに関するデータは、ツールシステム310(例えば製造ツール)の状態に関連するデータを含む状態レコードである。先の関数の関係Oкにおいて、Mは、1以上の自然数である。1つの態様において、Oкを特徴付ける学習された数学的関係fкは、分析的な式又は数の関数である;例として、学習された数学的関係fкは、非線形の方程式であり得る。しかしながら、別の態様では、自律的な生物学に基づくエンジン360は、変数{I1,I2…;P1,P2…PM,ΔRF,PM,repair…}のセットの関数として、例えばOG+1のようなブール変数を学習することができる。主題開示において、自律的な生物学に基づく学習エンジン360は、自律学習を通じて、異なる変数のセットの関数として、関数の関係Oкを生成することができることは、注目される。1つ以上のシナリオにおいて、次の関係が学習されることができる:Oк=fк(I1,I2…;O1,O2…Oк-1,Oк+1…OG;P1,P2…PM,ΔRF,PM,repair…);しかしながら、入力測定変数と出力測定変数との様々な他の組み合わせは、また、関数の関係Oкを抽出するための領域変数のセットとして可能性があることは、認識されるべきである。
学習サイクルは、(a)アセット入力1102又はアセット出力1106に含まれるデータのような受け取られた入力データ及び出力データ;(b)レシピパラメータ;又は(c)ツールシステム310の様々な状態のうちの少なくとも1つと、そのような状態を特徴付ける関連データとに少なくとも部分的に基づいている。そのような状態は、1つ以上のレシピ{Rλ’}に関連し、λ’はλ’≦λのような自然数である−すなわち、すべて又は実質的にすべてのレシピからのデータが利用される。1つの態様において、データ(入力データ、出力データ、など)は、製造データ;ツールシステム310のメンテナンスサイクル中に生成されるデータ;例えば、センサコンポーネント325を通じて、測定された入力及び出力変数;データを生成した機器(例えばセンサコンポーネント325)に関する情報;製品又はアセットを製作するためのレシピRλ(ウェット洗浄サイクルレシピ、フォトリソグラフィック・エッチング・レシピ、プラズマエッチングレシピ、薄膜トランジスタ又は他のチップセット集積の堆積)のタイプ;製造実行識別子;時間特徴(stamp);オペレータの信任(名前、ランク又は経験レベル、など)及び製造又は処理プラント情報;休止時間と連続操作の履歴データ;などを含むことができる。
上述のように、出力測定変数と異なる領域変数のセットとの間の1つ以上の関係を学習するためにデータ(入力データ、出力データなど)を供給するために、アダプタコンポーネント335は、例えば製造された半導体デバイスのような製品アセットに関連する1つ以上の入力及び出力変数の測定を通じて観察された複数のデータを統合することができる。そのような測定は、少なくとも部分について、センサコンポーネント325における1つ以上のセンサによって、実行されることができ、位置解決測定(position-resolved measurement)、時間解決測定(time-resolved measurement)、スペクトル測定、又はそれらの組み合わせであることができる。加えて、アダプタコンポーネント335は、ツールシステム310によって実行される1つ以上のプロセスにおいて、散乱、放射、又は吸収された光のスペクトル測定の強さを正規化することができる。1つの実施形態において、ネットワークアダプタ335は、少なくとも一部分について、ネットワーク入力/出力アダプタとして動作することができる。正規化は、様々な基準又はアプローチにそって行われることができる;例えば、スペクトル線の強さは、そのスペクトル線を含む測定されたスペクトルにおける合計の強さによって正規化されてもよい。加えて、そのような正規化は、異種のツールシステム又はそれらの部分でのスペクトル線強度決定における系統的な誤差を計算するために行われる。
1つの態様において、Oк=fк(I1,I2…;P1,P2…PM,ΔRF,PM,repair…)、又は領域変数の様々なセットに基づく実質的に任意又は任意のOк関係の学習は目的として生成され、例えば、(ここに記述されるように達成される)知識の生成は、外部からバイアスされず、又は、学習の目的で明示的に制御されない。トレーニングデータを用いて行われる目的の学習は、プロセスアグノステックであることが認識されるべきである;すなわち、学習は、学習に利用可能なデータ中に発見された関係によって、1つ以上の意味ネットワーク(例えば知識ネットワーク375)で生成された概念にしたがって進む。ここに記述されるような学習は、レシピによって記述されるプロセス内のレシピ変数及び特定の利用の間の様々な相関からの関係を、捕らえるか、又は、反映することができる。利用可能なデータが、少なくとも一部で、レシピRλの特定のパラメータによって駆動されることは、さらに認識されるべきである。付加的な又は代替の態様において、学習は、概念生成又は繁殖がレシピパラメータ{P1,P2…Pm}のサブセットにしたがって達成されることができることを管理することができる;例えば、m≦Mのセットは、Oкを生成するために使用されることができ、そのような管理される学習は、原因−効果現象(cause-effect phenomena)と、サブセット{P1,P2…PM}に関連するレシピ変数の特定のサブセットの間の関係との識別を可能にすることができる。パラメータのサブセットは、パラメータ{P1,P2…PM}の空間においてm個の要素の次元ベクトルを定義することができる;ベクトルの方向は、ドリフトの方向を確立することができる。加えて、パラメータのサブセットは、固有の領域(intrinsic domain)にしたがって選択されることができる:選択されることができるレシピ又はプロセスにおいてパワーを制御するパラメータ;例えば化学蒸着プロセスにおけるソースチャンバにおけるシャッター開始期間のような化学薬品のソースを制御するパラメータ;例えばハードベイク温度、ソフトベイク温度、乾燥ベイク(dehydration bake)…のような、レシピの様々なステージにおける温度を規制するパラメータ;プロセス又はレシピがツールシステム310内で実行される場合の1つ以上のチャンバ内の圧力を命ずるパラメータ。サブセット{P1,P2…Pm}は、また、外部の領域、又は、コスト(利用された材料及びその質、蒸着された薄膜トランジスタのパッケージングのような処理されたアセットのパッケージング、処理されたデバイスにおける許容される欠陥密度)、又はプロセススピード(例えば、蒸着時間、アニーリング又はベイクの温度、リソグラフィック開発温度、など)のような領域に基づいて、決定されることができる。さらに、管理されるサブセット{P1,P2…Pm}は、例えば、ツールシステム310(例えば製造ツール)の特徴、アセットを製造するために利用可能な材料、特定の装置の予め決定された産出高(yield)、特定の運搬スケジュール、などのような、外部のプロセスの制約に基づいて選択されることができる。
例えば、図11Bにおける例示のシステム1160のような、1つ以上の代替の又は付加的な実施形態では、領域変数の様々なセットの関数のような、関係Oкの学習は、本質的に、ここに記述されるような自律的な生物学に基づく学習エンジン360の機能に依存しない実質的に任意の学習エンジン1170によって実行されることができる。学習エンジン1170、又はその中の1つ以上のコンポーネント(図示せず)は、線形及びマルチ線形の近似、多項式曲線フィッティング、ニューラルネット、遺伝的プログラミング、タブーサーチ、ゲーム理論モデルなどのうちの少なくとも1つを通じて、関係Oкの学習を実行できる。1つの態様において、学習エンジン1170は、1つ以上のプロセッサ(図示せず)とメモリ(図示せず)を含むことができ、1つ以上のプロセッサは、関係Oкの学習を実行ために、メモリに保持されているコード命令の1つ以上のセットを実行する。メモリに記憶されるコード命令の1つ以上のセットは、1つ以上のコンポーネント(図示せず)を具体化することができる。1つ以上のコンポーネントは、1つ以上のプロセッサによって実行される場合に、学習システム1170の機能を実行する。他の態様において、1つ以上のコンポーネント(図示せず)のうちの少なくとも1つは、処理ユニット(図示せず)を含むことができ、処理ユニットは、少なくとも1つのコンポーネントの機能、及び学習エンジン1170の機能の部分を提供する。
1つ以上の学習されたOк=fк(I1,I2…;P1,P2…PM,ΔRF,PM,repair…)、又は、領域変数の様々なセットに基づく実質的に任意の又は任意のOк関係は、複製(replicum)の動作のモデルとしてツールシステム310の別の複製のコピーへ転送又は伝えられることができることは、認識されるべきである。さらに、任意の又は実質的に任意の学習された関数は、分析式又はブール演算式のいいずれでも、中心に集められたレポジトリ又は分散されたレポジトリのセットのうちの少なくとも1つに送られることができる。分散されたレポジトリは、ツールシステム310又は任意の他のツールシステムの複製されたコピー、又は、その中の又はそれに機能的に連結されたコンポーネント、によってアクセスされることができる。学習された関数のそのようなオン・ザ・クラウド・ストレージ態様は、地上の位置、動作スケジュール、又は他の動作の条件にかかわらず、異なるツールシステムの学習された動作態様を容易にアクセスすることができるという少なくとも利点を持つ。1つ以上の実施形態において、相互作用マネージャ345は、自律的な生物学に基づく学習エンジン360又は学習エンジン1170に、1つ以上の学習された関数Oкのグループをリクエストする。リクエストは、様々なプロトコル(HTTP、ファイル転送プロトコル(FTP)、セキュアFTP(SFTP)、など)にしたがって情報I/O1135の一部として送られることができる。リクエストに応じて、自律的な生物学に基づく学習エンジン360又は学習エンジン1170は、相互作用マネージャ345によって受け取られメモリ1110内のデータベース355に記憶されている、学習された関数のセット、を供給することができる。相互作用マネージャ345は、学習された関数のセットを、1つ以上の異なるツールシステム、及び関連する相互作用コンポーネントに送ることができる。1つの態様において、ツールシステム310の複製のコピーでは、相互作用コンポーネント、又は、例えば相互作用マネージャコンポーネントのようなその中の1つ以上のコンポーネントは、1つ以上の学習された関数Oкを受け取り、この1つ以上の学習された関数Oкは、例えばレシピパラメータ、入力測定変数又は出力測定変数のような、領域変数の様々な組み合わせに依存することができる。学習された関数Oкは、また、ツールシステムに対して、伝えられ、又は送られることができる。ツールシステムは、ツールシステム310の複製のコピーではないが、それに対して等価か又は実質的に等価で、同じ又は類似の製品又はデバイスを製造する。
さらに、ツールシステム310の複製されたコピー、又は、等価又は実質的に等価のその配備の複製されたコピーに対する主題開示の態様において、1つ以上の学習された関数Oк=fк(I1,I2…;P1,P2…Pm,ΔRF,PM,repair…)、又は、領域変数の様々なセットに基づく実質的に任意の又は任意のOк関係は、ツールシステム310の複製されたコピー、又は、等価か又は実質的に等価のその配備の複製されたコピーにおける、出力測定変数Oк又は別の変数の学習関数に対して使用されることができる。伝えられた1つ以上の学習された関数を受け取った、複製された又はそうではないツールシステムにおける学習エンジンは、そのような学習のための関数を活用することができる。1つの態様において、伝えられた1つ以上の学習された関数Oкは、複製(replicum)の性能に関連する特定の異なる関数を学習するための基礎セットとして、又は、自律最適化コンポーネント1150にしたがって動作する自律最適化コンポーネントによってその性能を評価又は最適化するために、使用される。そのようなシナリオにおいて、複製されたツールシステム又は等価のツールシステムに対する、学習ざれた関数Qк=gк(I1,I2…;P1,P2…Pm,ΔRF,PM,repair…)、又は、領域変数の異なるセットに依存する学習された関数Qкは、オリジナルのシステムに対する学習された関数の基礎セットで拡張されることができる。そのようなアプローチは、オリジナルのシステムにおける相関及び相互依存の実質的部分が複製されたツールシステムに保持されるかもしれないので、よりスピーディーな学習を導くことができる。例えば関数Oкのような受け取られた学習された関数に基づく関数Qкの学習は、厳密に等価でない2つ以上のシステムの結果であり得る。1以上の実施形態において、自律最適化コンポーネント1150、又は、その中の1以上のコンポーネント(例えば解決コンポーネント1204を参照)は、オリジナルのシステムの学習された関数の基礎セットでの拡張の係数に対して解決することができる。ツールシステム310の複製されたコピー、又は、その等価又は実質的に等価な配備へ、1つ以上の学習された関数Oкの配送の少なくとも1つの利点は、例えば、様々な仮想の動作シミュレーションを分析する能力が、直ちに、ツールシステム310の複製されたコピー、又は、その等価又は実質的に等価な配備で、実現されることができるような、学習に関連した利益である。例えば、先の分析能力を考慮すると、Oкの中の関数関係fкを学習するために使用される領域変数のセットに基づいて、エッチチャンバにおけるスペクトル線に関するエッチガス流の増加の影響は評価されることができる;同様に、デバイスの特徴(エッチバイアス、FI CD、など)に関する様々なエッチチャンバ圧力の影響は、評価されることができる。
主題開示の態様において、例えばアセットターゲット1104の値のようなアクタ特定の範囲内にある入力データ及びレシピパラメータの関数のような、各製品出力メトリックを正確に予測する複数の学習された関数のセット{{f}1,{f}2…{f}γ}は、情報/知識1145として、自律最適化コンポーネント1150へ送られる。ここで、{f}μ,μ=1,2…γは、レシピμに関する1つ以上の出力変数(例えばOк)に対する1つ以上の学習された関数のセットを示し、γ≦Sであり、Sはドリフトされたレシピのセットの濃度(cardinality)である。自律最適化コンポーネント1150は、また、入力材料測定値を受け取ることができる。
それと共に関連する解決コンポーネント及び処理装置(例えば、プロセッサ、又は、オートボットコンポーネントの特定のセット)によって、自律最適化コンポーネント1150は、レシピパラメータに対する逆(inverse)問題の解決を可能にすることができる。複数の学習された関数{{f}1,{f}2…{f}γ}の受け取られたセット及び入力測定値は、レシピパラメータの値の解決を可能にし、1つ以上の出力測定値は、特定のアセットターゲットの設定された許容差内にあり(例えば、メモリ要素1114に保持され)、ΔRF、PM履歴、修理履歴、などのような現在の動作パラメータ又はレコードによって表されるようなツールシステム310の現在の状態を与えられる製品出力メトリック(例えば、メモリ要素1114に保持されている)に対する、仕様(例えば、メモリ要素1118又は1120に保持されている)及び許容差(例えば、メモリ要素1116に保持されている)が提供される。解決コンポーネントは、逆問題を解決するための遺伝的アルゴリズム、モンテカルロシュミレーション、シミュレートされたアニーリング、シンプレックス、グラディエントサーチ、又はタブーサーチのうちの少なくとも1つを実現することができる;しかしながら、逆問題解決に対する他のアプローチが、また、解決コンポーネントによって使用されることができることは、認識されるべきである。図1に例示される例の実施形態では、自律最適化コンポーネント1150は、解決コンポーネント1204を含むことができ、解決コンポーネント1204は、上述の逆問題についての解決を決定することができる。メモリ1216は、遺伝的アルゴリズム、モンテカルロシュミレーション、シミュレートされたアニーリング、タブーサーチなどを含む方法論のセットを含むことができる。方法論のセットは、そのような解決を決定するために、解決コンポーネント1204によって使用されることができる。方法論のセットは、1つ以上のコード命令のセットとして、メモリ1212に記憶されることができる。
レシピパラメータに対する値の割り当てが見つからない場合、例えば逆問題が解決されない場合、自律最適化コンポーネント1150は、逆問題が解決されるまで、1つずつ又はいくつか(例えば2−5)の制約のグループにおいて、各出力ターゲット又はアセットターゲットに関する制約を緩和する。そのような緩和は、緩和基準のセットにしたがって進行できる。例の実施形態1200において、解決コンポーネント1204は、そのような制約を緩和することができ、緩和基準のセットは、メモリ要素1218に保持されることができる。1つの態様において、自律最適化コンポーネント1150は、アクタ390(人間又はその他のもの)が、製造された製品に関連する各出力パラメータ又はメトリックに対する重み(例えば、緩和基準のセットにおける基準)のセットを特定することができ、その上で、メトリックがそれらの緩和されたターゲット値を持つことにしたがってメトリックのランキングを提供する;例えば、トップ3にランク付けされたメトリックは、最後に緩和されるが、最低に位置するメトリックは、最初に緩和される。1つの態様において、アクタ390は、相互作用マネージャ345を通じてそのような重みを特定することができる;例えば、相互作用マネージャ345は、そのような重みに対する値を運ぶアクタ390からの指示(例えば、データパケット、コマンド又は命令、ビットのセット…)を受け取り、指示は様々な通信プロトコル(例えば、HTTP、FTP、SFIP、例えば、ポイント・ツー・ポイントの短距離ワイヤレス通信のような、様々なワイヤレス通信プロトコル…)にしたがって運ばれる。メトリックのランキングは、また、製造目標への出力測定の関連の程度に少なくとも部分的に基づいて、例えば、自律的な生物学に基づく学習システム360によって、自律的に決定されることができる。自律最適化コンポーネント1150は、逆問題の解決を通じて抽出されたレシピパラメータによって命令されるような調節されたレシピ1155を運ぶことができる。1つ以上の実施形態において、自律最適化コンポーネント1150は、例えばフォーマッタコンポーネント1310のような、レシピ構築コンポーネントを含むことができ、調節されたレシピ1155を発行し運び、調節されたレシピ1155をメモリ(例えばメモリ1216)に記憶する。
自律最適化コンポーネント1150は、また、どれくらい積極的に出力メトリックが緩和されるかのロジックを示すことができる緩和パラメータを使用することができ、そのような緩和パラメータは、基準のセット(例えば1218)における別の基準とすることができ、アクタ390(例えば、ツールシステム310の利用を管理する人間エージェントによって操作されるデバイス、モバイル又はその他のもの)によって設定されることができる;無効(Null)緩和パラメータは、それに関連付けられたメトリックが、そのランキングに関係なく緩和されないことを示すことができる。そのような緩和パラメータは、ツールシステム310が性能、例えば特定のフォトリソグラフィー特徴出力解像度又はチップセットのパッケージ密度のような重大な特徴、において制約されるシナリオで有益になりえる。したがって、そのようなパラメータの緩和は実行可能ではない。
もし、所定の数の制約が使われた後、各出力メトリックが特定の許容差内にあるような適切なレシピ調節が見つからない場合、自律最適化エンジン1150は、予防メンテナンスパラメータを設定できる。予防メンテナンスパラメータは、例えば、アセットターゲットと仕様と許容差にしたがって出力を製造するためのツールシステム310のための、スケジュールテスト、及び、ツールシステム310(例えば製造ツール)に対する測定実行、又は、修理手続である。修理手続は、一部の交換、又は、蒸着チャンバのセット又はエッチングチャンバのセットにおける一部又は密封真空リークなどである。したがって、ツールシステム310の出力を改善することに加えて、例のシステム1100は、メンテナンス又は修理手続を自律的に促し、ツールシステム310が、例えば材料、デバイス、製造データ、測定(calibratuion)データ、などの出力アセットを、最適に又はほぼ最適に製造することを可能にする。例の実施形態1200において、自律最適化コンポーネント1150は、オペレーション及びメンテナンス(O&M)コンポーネント1212を含む。O&Mコンポーネント1212は、予防メンテナンスパラメータ又は修正パラメータを生成し、そのようなパラメータをシグナリング1157(図12に示さず)の部分として特定の受け側(例えば、アクタ390)に送ることができる。
記述された自律最適化コンポーネント1150の機能を提供するために、例の実施形態1200では、プロセッサ1208は、解決コンポーネント1204及びO&Mコンポーネント1212の記述された機能を、少なくとも一部、提供するように構成されることができ、又は、提供することができる。プロセッサ1208は、自律最適化コンポーネント1150の開示されたメモリ1216又はコンポーネント又はサブコンポーネントの間での、データ又は任意の他の情報の交換コンジット、プロトコル、又は、メカニズムのために、バス1220を使用することができる。1つの態様において、バス1220は、メモリバス、システムバス、アドレスバス、又はメッセージバスのうちのすくなくとも1つで具体化されることができる。プロセッサ1208は、メモリ1212、又は、代替の又は追加のメモリコンポーネント又はその中の要素、に記憶されたコード命令(図示せず)を実行することができ、自律最適化コンポーネント1150又はそのコンポーネントの記述された機能を提供する。
追加の又は代替の実施形態において、自律最適化コンポーネント1150は、サーバで実現される。サーバは、1つ以上のプロセッサ(例えばプロセッサ1208);システムバス、メモリバス、アドレスバス、又はメッセージバス;及び、揮発性又はそうではない、1つ以上のメモリ(例えばメモリ1216)、のうちの少なくとも一つを含む。ここで、サーバは、自律最適化コンポーネント1150の1つ以上のコンポーネントと機能的に連結されることができる。例のシナリオにおいて、解決コンポーネント1204又はO&Mコンポーネント1212は、1つ以上のコード命令として、サーバにおける1つ以上のメモリ内に存在することができる。1つ以上のコード命令のセットは、サーバにおける少なくとも1つ以上のプロセッサによって実行された場合に、自律最適化コンポーネント1150の記述された機能を実行する。1つの態様において、コード命令の1つ以上のセットの実行は、解決コンポーネント1204又はO&Mコンポーネント1212のうちの少なくとも1つを実行することと類似である。さらに代替又は追加の実施形態において、自律最適化コンポーネント1150における異なるコンポーネントは、それぞれプロセッサ、メモリ、及びバスを持つ、複数のサーバで具体化されることができる。複数におけるサーバ間の接続は、1つ以上の従来のバスアーキテクチャ又はリモート通信を通じて生じることができる。リモート通信は、1つ以上のリモート通信プロトコルにしたがって進行することができる。複数でのサーバは、例えばその中の少なくとも1つ以上のプロセッサを通じて、それによって具体化される1つ以上のコンポーネントを実行することができ、自律最適化コンポーネント1150のコンポーネントの少なくとも一部の機能を提供する。そのような実施形態における複数のサーバが、例示のシステム1100にための分散されたフレームワークを、少なくとも一部、提供することができることは、認識されるべきである。
自律最適化コンポーネント1150を通じて抽出されるレシピが、入力材料の現在の又はほぼ現在の測定値、例えばセット{I1,I2…IM}及びツールシステム310(例えば製造ツール)の現在の又はほぼ現在の状態に対する製品出力メトリックを最適化することは、注目される。ツールシステム310(例えば製造ツール)の状態は、製造ツールシステム310の機能要素のために観察さえたデータによって部分的に決定されることができる。そのような最適化は、オリジナルのレシピをドリフトすることと、例えば{{f}1,{f}2…{f}γ}のような予測関数のセットを学習することとを通じて抽出された知識の基礎に、少なくとも部分的に基づいている。その知識の基礎は、例えば、セット{P1,P2…PM}のようなレシピパラメータの解決の基礎を含む。レシピパラメータは、ツールシステム310(例えば製造ツール)を通じて製造された製品に対して設定された特定の出力メトリックへ制約される。したがって、例の進化ツールシステム1100は、連続的に又はほぼ連続的に、様々な傾向と様々なパラメータとを改善し学習する。様々なパラメータは、時間に関する標準の磨耗及び断裂によるツールドリフトと、ツールで実行されるメンテナンス及び修理に影響を及ぼす。
図13は、ここでの態様に係るレシピドリフトコンポーネント1130の例示の実施形態1300のブロック図である。更新コンポーネント1305は、メモリ要素1324に保持されているアルゴリズムに少なくとも部分的にしたがってレシピ1122の部分として受け取られたレシピパラメータを変更することができる。1つの態様において、上述のように、アルゴリズムは、駆動変数(driving variable)1326のセットを使用することができる。駆動変数1326のセットは、レシピパラメータがドリフトされるランキングとシーケンスとを決定する。駆動変数1326のセットは、例えば相互作用マネージャ345経由で、アクタ390によって決定されることができる。フォーマッタコンポーネント1310は、レシピ系統を生成し、メモリ要素1322に記録することができる。レシピ系統は、例えばセット{P1,P2…PM}のようなレシピパラメータ、及び、例えばレシピR1のようなレシピを処理するツールシステム310のようなツールに関連するセット{I1,I2…IM}のような入力材料又は入力条件の測定値、を集めることができる。加えて、R1により製造された製品に対して集められた出力測定値(例えば、製造されたデバイスの特徴)は、また、レシピ系統の一部として保持されることができる。さらに、ツールシステム310の条件の情報、又は、例えばPMレコード、修理履歴、アクティブデューティサイクルの時間、などのツール条件は、レシピ系統の一部として記録されてもよい。1つの態様において、メモリ1320は、長期メモリ510の一部とすることができる。
記述されたレシピドリフトコンポーネント1130の機能を提供するために、例の実施形態1300では、プロセッサ(図示せず)は、更新コンポーネント1305及びフォーマッタコンポーネント1310の記述された機能を、少なくとも一部、提供するように構成されることができ、又は、提供することができる。そのようなプロセッサ(図示せず)は、レシピドリフトコンポーネント1130の開示されたメモリ1216又はコンポーネント又はサブコンポーネントの間での、データ又は任意の他の情報交換のためのコンジット、プロトコル、又は、メカニズムとして、バスを使用することができる。1つの態様において、そのようなバスは、メモリバス、システムバス、アドレスバス、又はメッセージバスのうちのすくなくとも1つで具体化されることができる。プロセッサ(図示せず)は、メモリ1320、又は、メモリプラットフォーム365のような代替の又は追加のメモリコンポーネント、に記憶されたコード命令(図示せず)を実行することができ、レシピドリフトコンポーネント1130又はそのコンポーネントの記述された機能を提供する。例示のシステム1100の1つ以上の追加の又は代替の実施形態において、レシピドリフトコンポーネント1305は、自律最適化コンポーネント1150の一部であることができ、又は、レシピドリフトコンポーネント1305は、自律的な生物学に基づく学習エンジン360及自律最適化コンポーネント1150の間で分散されることができる。
図14は、ここに記述される態様に係るレシピドリフティングを通じレシピ適応の図1400を示す。スタートレシピRは、結果としてN(自然数)個のドリフトされたレシピを生じる。N個のドリフトされたレシピは、インクリメンタルなレシピRJ(1<J<N)のレシピパラメータを持ち、レシピRJ+1(1<J+1≦N)を生成するためにランダムに変更される。ターゲットレシピ及びドリフトされたレシピR1−RNが、処理される場合に、出力メトリックを産出することは、注意される。出力メトリックは、ターゲットメトリックからの許容差ΔO(R’)内にある。レシピのドリフティングと出力測定値を予測する関数の関連付けられた学習とは、レシピパラメータのフェーズ空間の調査を可能にし、製品出力メトリック、入力材料の測定値、レシピパラメータの間の様々な関係を明らかにすることができる。例えば、N個のレシピが生成されるように、レシピドリフティングサイクル1405が完了し、出力製品(製造された製品、処理された製品、など)の1つ以上のメトリックに対して製品出力を予測することができる学習された関数のセットに少なくとも部分的に基づいている場合、予測出力が、そのΔO(R’)よりも小さいΔO(R’)を持つターゲットメトリックの許容差ΔO(R’)内となるように−例えば、矢印1410で例示される−、レシピパラメータのセットは抽出される;すなわち、フェーズ空間の調査を通じて、レシピパラメータの改良された出力は、例えばツールシステム310のようなツールの現在の状態、例えばセット{I1,I2…IM}のような現在の測定値又は入力材料に対して達成される。例として、ドリフティングサイクル1415は、また、調節されたレシピR’に対して実行される。
レシピパラメータのドリフティング及び1つ以上の製品出力メトリックを予測することができる学習された関数の生成が、性能又は出力品質空間における第1の領域から、出力品質空間における第2の領域まで、製品ツールを効果的にドリフトできることは、注目される。出力品質空間における第2の領域は、製品ツールが現在の状態に対して最適化されるように、入力測定値及びレシピパラメータと、出力メトリックとの間の様々な関係を取り込む。
図15は、ここに記述される態様に係る相互マネージャ345の例示の実施形態1500を示す。表示コンポーネント1504は、1つ以上のユーザインタフェースと、レシピドリフティングに関係する他のコンテンツを与えることができる;少なくともそのような結論へ、表示コンポーネント1504は、視覚的又は聴覚的なしるし(indicia)を伝える。様々なスキームは、1つ以上のユーザインタフェース、又は、例えばウインドウベースのスキームのような他のコンテンツを与えるために使用されることができる。ウインドウベースのスキームは、例えば、アイコンの表示、しるしののポップアップ表示;スクロールダウン、スクロールサイドウェイ、又はテキストベースの表示、静的レンダリング、である。加えて、1つ以上のユーザインタフェース又は他のコンテンツは、表示コンポーネント1504の一部であることができるレンダリングエリア(例えば、ディスプレイスクリーン)内の様々なコンフィグレーションで組織化されることができる。1つの態様において、表示コンポーネント1504は、CRT(cathode ray tube)モニタ、液晶ディスプレイ(LCD)モニタ、プラズマモニタ、LED(light emitting diode)モニタ、エレクトロクロミックモニタ、などのような、モニタ内の表示要素で、少なくとも一部、具体化されることができる。
例示の実施形態1500において、データエントリコンポーネント1508は、レシピドリフティングの一部及びそれの制御パラメータのような、アクタ390(例えば、人間のエージェント、自動マシーンのエージェント、デバイス…)からの入力を集めることができる。1つの態様において、レシピの設定は、駆動変数1326のセット、許容差(許容差ストア1116に保持される)のセット;出力仕様のセット(例えば1120);緩和基準(例えば1218)のセット又は特定の出力パラメータ(例えばアセット出力)に関連する重みのセット、のうちの少なくとも1つを含むことができる。重みのセットは、レシピにおけるターゲット出力パラメータに対する緩和戦略を確立することができる。表示インタフェース1504は、アクタ390からの入力を、少なくとも一部、処理(例えばデコード又はコード)することができ、(i)レシピドリフトコンポーネント1130又はその中のコンポーネント;(ii)自律最適化コンポーネント1150又はその中のコンポーネント;又は、(iii)メモリ1110、のちの少なくとも1つへ、シグナリング(例えば1124、1157)としてそれを送ることができる。1つの例として、そのようなレシピドリフティングの設定は、レシピドリフトコンポーネント1130によって受け取られることができ、アルゴリズムストレージ1324内に保持されることができる。別の例において、レシピドリフティングの設定は、データベース355の一部のような、メモリ1110に保持されることができる。
データエントリコンポーネント1508を、少なくとも1部、具体化することができる様々な機能要素と関連する回路とは、データ入力を可能にする;そのような機能要素は、キーパッド、タッチスクリーン、マイクロホン、カメラ;バーコードリーダ、RFID(radio frequency identity)リーダ、IR(infrared)ワイヤレスベースのリーダ;など、を含むことができる。さらに、データエントリコンポーネント1508は、また、周辺デバイスへの接続と、それとの通信とを可能にする周辺インタフェース1512を含むことができる;例として、周辺インタフェース1512は、アダプタコンポーネント335の一部とすることができ、又は、アダプタコンポーネント335の少なくとも一部分を含むことができる。アダプタコンポーネント335は、ツールシステム310からのデータ検索を可能にする。1つの態様において、周辺インターフェース1512は、ポートのセットを含むことができる。ポートのセットは、パラレルポート、シリアルポート、イーサネット(登録商標)ポート、V.35ポート、X.21ポート、のうちの少なくとも1つを含む。パラレルポートは、GPIB(General Purpose Interface Bus)、IEEE−1284を含むことができ、一方で、シリアルポートは、RS(Recommended Standard)−232、V.11、USB(Universal Serial Bus)、ファイヤーワイヤ又はIEEE−1394を含むことができる。他の態様において、周辺の1512及び関連する回路は、また、ワイヤレス通信を可能にすることができる(例えば、ポイント−ツー−ポイント、インドア、又は、セルラー)。
1つの態様において、相互作用マネージャ345の記述された機能を提供するために、プロセッサ1520は、表示コンポーネント1504及びデータエントリコンポーネント1508の記述された機能を、少なくとも一部、提供するように構成されることができ、又は、提供することができる。プロセッサ1520は、メモリ1110、又は、相互作用マネージャ345のコンポーネント、又は、ここで説明された相互作用コンポーネント330の他のコンポーネントの間のデータ又は任意の他の情報の交換のためのコンジット、プロトコル、又は、メカニズムとして、バスを使用することができる。そのようなバス(ばらばらの矢印で表される)は、メモリバス、システムバス、アドレスバス、又はメッセージバスのうちのすくなくとも1つで具体化されることができる。プロセッサ1520は、メモリ1110、又は、メモリプラットフォーム365のような、代替の又は追加のメモリ要素、に記憶されたコード命令(図示せず)を実行することができ、相互作用マネージャ345の記述された機能又はその中のコンポーネント又はそれと連結される機能を提供する。
図16は、ここに記述される態様に係るツールシステムのドリフト及び関連する知識生成を、少なくとも一部、調節するために表現されることができる例示のユーザインターフェース1600である。相互作用マネージャコンポーネント345は、表示コンポーネント1504を用いて、ユーザインタフェース1600を描くことができる。モーションジェスチャー(トラックボール操作、制御ムーブメント)、タッチジェスチャー(例えばスクリーンタッチ)、スピーチジェスチャー(例えば音声コマンド)などの様々なジェスチャーは、例示のユーザインタフェース1600におけるツールバーのスライド又はソフトボタンのスライドを制御することができる。1つの態様において、レシピのドリフティングの大きさは、最小(m)値と最大(M)値との間で、ツールバーのスライド、又はソフトボタンのスライドにより制御されることができる;選択される値(例えば0.5%)は、ドリフトされることできるレシピにおける1つ以上の選択された変数のセットに導入される変更の大きさを決定することができる。そのような最大値又は最小値は、また、ツールシステム310又はその中の機能要素の安全な動作のための範囲を決定することができる。加えて、例示のユーザインタフェース1600は、また、ドリフトすることのためのスケジュールの設定を可能にする。スケジュールは、レシピドリフティングと関連する最適化が行われることになる期間を確立する。さらに、ユーザインタフェース1600は、グラフィカルなしるし1606によって例示されるように、学習目標(goal)の設定を可能にする。グラフィカルなしるし1606は、例えば、上述されたように、例えばOкのような分析式、又は、ブール変数を学習するためのオプションを提供する。例示のユーザインタフェース1600は、また、1つ以上の選択された変数のセットのプロファイルの構築、又は構成、を可能にする。視覚的なしるし1608は、例えば、セット{P1,P2…Pm}の生成のような、レシピにおいうて、ドリフトされる1つ以上の変数のセットの選択を可能にすることができる。例として、選択は、クロスシンボルでタグ付けされることができるが、他のタグ付けのしるしが使用できることは、認識されるべきである。例えば、VAR J+2(Jは、1以上の自然数)のような特定の変数の選択は、選択された変数(例えば、VAR J+2)の変化の境界の定義の少なくとも1つを可能にする設定環境(図示せず)へ導くことができる。特定の変数は、例えば、蒸着チャンバ中の圧力に対応することができる。境界は、ドリフトすることの停止;逆問題の解決が見つからないシナリオにおける緩和のための基準(例えば、緩和基準1218)内の選択された変数の重みの値又は関連性;選択された変数のターゲット出力値、を決定する。設定環境(図示せず)は、ポップアップウィンドウ又は任意の他のしるしとして表現される。
さらに又は代替として、例示のユーザインタフェース1600は、確率分布関数(PDF)(例えば、ガウス分布、ポアソン分布、指数分布…)の設定を可能にするしるし1612を表現する。確率分布関数は、レシピをドリフトする部分として選択された変数に対する変化の予め決定された大きさの可能性を規定する。さらに又は他の代替として、例示のユーザインタフェース1600は、サブシステム(例えば1−5)又は装置のグループ又はセンサの選択を可能にするしるし1616を表現する。サブシステム又は装置のグループ又はセンサは、そのような装置又はセンサに関連するレシピパラメータ又は変数をドリフトするためのツールシステム310の一部である;そのような選択は、ツールシステム310の異なる部分を分離することができ、レシピのパラメータとアセット出力特性との間の因果関係の分析を可能にする。しるし1616における表現された選択は、例えば図16に例示される5つのサブシステムのような、サブシステムを含むことができ、サブシステムは、例えばアクタ390のようなエンドユーザによって操作されるマシン又はデバイスにリモートである。しるし1616で示されるサブシステムは、また、ツールシステム310における、測定又は監視装置のような、特定用途の機能要素の一部であることができる;例えば、サブシステム1−5は、製造、処理、又は半導体基板のアセンブリのうちの少なくとも1つのための装置又はセンサを含むことができ、半導体基板のアセンブリは、1つ以上の集積回路(IC)、フラットパネル・デバイス・チップセット又はIC、フレキシブルディスプレイ、又は、発光ダイオード(LDE)ディスプレイ技術のような他のディスプレイ技術を含む。
例示のユーザインタフェース1600は、また、例えば、ソフトボタン1620(れいとして「報告」とラベル付けされている)のような、レシピドリフティングに関連するフィードバック;フィードバックは、1つ以上の学習された関数のうちの少なくとも1つを含むことができる;アセット出力データ及びアセット入力データの間の相関、ここでアセットは製造された製品であることができる;1つ以上のドリフトされたレシピの系統、特定のレシピ又は製造プロセスに対する出力アセットデータ及び出力入力データに関連する履歴データ、所望の業績;1つ以上の出力製品メトリックの値のセット、又は、1つ以上の入力変数の値のセット、のグラフ又はチャート、例えば、エッチングチャンバにおける様々なガスの光学スペクトル;などを提供することができるしるしを含むことができる。例えば表示コンポーネント1504を介して、相互作用マネージャ345は、異なるツールシステム又はアクタとの通信に対して適切な様々なフォーマットへ割り当てることができる。供給されたフィードバックのレベルと品質は、ユーザインタフェース1600のような、ユーザインタフェースと、そのようなユーザインタフェースを表現する相互作用マネージャ(例えば相互作用マネージャコンポーネント345)を通じて、ドリフティングプロセスを設定するエンドユーザの信任にしたがって変えることができる。ソフトボタン1620が起動されると、相互作用マネージャ345は、入力シグナリングを受け取ることができ、例えば、メモリ1110,1216,1320などのうちの1つ以上に保持されるデータのような、利用可能なオペレーショナルデータの1つ以上のビューを生成する。入力シグナリングは、一部において周辺インタフェース1512を経由して、データエントリコンポーネント1508を通じて、生産されることができる。さらに、相互作用マネージャ345は、1つ以上のビューで伝達されたデータを、ツールシステム又はアクタへ送ることができる。他の態様において、ソフトボタン1620の起動は、表示エリア1624における先のフィードバックの視覚的な表現又は先のフィードバックの聴覚的な表現を供給することができる。1つの例において、学習された関数又は学習されたブール演算式が表示されることができる。同様に、出力製品メトリック又は入力変数に関連するデータを持つチャート又はテーブルも、エリア1624に表示されることができる。
1600のようなユーザインタフェースに含まれる利用可能な選択又はしるしのスペースは、ユーザプロファイルのセットによって決定されることができる。ユーザプロファイルは、ツールシステム310(例えば製造ツール)の管理人(人間のエージェント又はその他)によって設定されることができる。ユーザプロファイルは、ツールセット310の1つ以上のサブシステムに対するアクセス、ユーザが変更を許可されているレシピ変数のセット、緩和基準を決定するためにユーザに対して設定される特権、などの、様々な程度を確立することができる。さらに又は代替として、ユーザインタフェース(例えばユーザインタフェース1600)に表現される利用可能な選択は、一部で、(i)例えばツールシステム310、関連装置、及び関係する処理の専門知識のようなエンドユーザの認識に関する量が、選択の高い複雑性又は柔軟性を保証する;(ii)訓練生、専門家、エンジニア、マネージャなどのようなエンドユーザの状態;又は(iii)ツールシステム310(製造ツール、処理ツール、特徴付けツール)の動作を通じて集められた外部からの兆候、及び、例えば危険値へドリフトされた1つ以上の変数のセットのような、関連するレシピドリフティング。このようなドリフティングは、逆問題の不安定な解決又はツールシステムの動作における欠陥により発生する場合がある;のうちの少なくとも1つにより決定されることができる。ユーザインタフェース(例えばユーザインタフェース1600)において利用可能な選択の程度、又は、利用可能な選択及び関連情報が表現される方法は、また、ランダムにドリフトされることができ、情報の最適又はほぼ最適な表現の確立、エンドユーザの経験の最大化又はほぼ最大化、安全性の増加、ドリフティングの設定の改善、などを行う。相互作用マネージャコンポーネント345は、レシピドリフトコンポーネント1130及び自律的な生物学に基づく学習エンジン360を使用することができる。
相互作用マネージャコンポーネント345は、1600のようなユーザインタフェースをローカルに表現するか、又は、1つ以上のアクタデバイス、モバイル又はその他でユーザインタフェースを表現するためのデータ又はシグナリングを送る。1つの態様において、アクタであり異なる位置に存在する異なるエンドユーザは、ユーザインタフェースの表現及び異なるデバイスにおける関連情報を受け取ることができる。そのような情報配送特徴は、アクセスネットワーク(例えば、広域ネットワーク、ワイヤレス広域ネットワーク、ローカルエリアネットワーク、アドホックネットワーク;図示されず)によって可能にされることができる。アクセスネットワークは、相互作用コンポーネント330に、例えば390のようなアクタを機能的に連結する。
上記に与えられ及び説明された例示のシステムの考察において、開示された主題事項にしたがって実現されることができる方法論は、図17−23のフローチャートに関してよりよく認識されるだろう。説明の簡略化のため、方法論は、シリアルなブロックとして示され及び記述されるが、開示された態様は、動作の数又は順序で限定されないことは理解及び認識されることになる。いくつかの動作は、ここで描かれ及び記述されたものについて異なる順序で、及び/又は、他のブロックと同時に、発生してもよい。さらに、すべての例示の動作が、以下に記述される方法論を実現するために要求されるとは限らない。ブロックに関連する機能は、ソフトウェア、ハードウェア、それらの組み合わせ、又は、任意の他の適切な手段(例えば、デバイス、システム、プロセス、コンポーネント)によって実現されるとしてもよい。さらに、以下に及び明細書を通じて開示される方法論は、少なくともプロセッサ又は処理ユニット又はフラットフォームによる実行及びそれと共に実装のために、様々なデバイスへそのような方法論を輸送及び転送することを促進するために製造の物品(article)に記憶されることができることが、さらに認識されるべきである。方法論は、代替的に、ステート図のような、相互に関連するステート又はイベントの一連として表されることができたことが、理解され及び認識されることになる。
主題開示及び添付の図面にわたって開示される方法は、プロセッサによる実行及びそれと共に実装のために、又は、メモリにおけるストレージのために、コンピュータへそのような方法論を輸送及び転送することを促進するために製造の物品(article)に記憶されることができる。1つの態様において、ここに記述された方法を実行する1つ以上のプロセッサは、メモリ又は任意のコンピュータ又はマシン可読媒体に保持されたコード命令を実行するために使用されることができ、これにより、ここに記述された方法を実現する;コード命令は、1つ以上のプロセッサによって実行されると、ここに記述される方法における各種の動作を実行又は行う。コード命令は、ここに記述される方法を実行するためのコンピュータ又はマシン実行可能なフレームワークを提供する。
図17は、文脈の目標(contextual goal)調節を持つ生物学に基づく自律学習のための例示の方法1700のフローチャートを与える。適応推論エンジン(例えば110)、又は、それに対して機能的に連結されている1つ以上のコンポーネントは、少なくとも一部の、主題の例示の方法1700実行する。代替的に又は追加で、処理プラットフォーム及びそれにおける機能ユニット又はプロセッサは、また、少なくとも一部の主題の例示の方法を実行することができる。プロセッサは、適応推論エンジン又はそれに対して機能的に連結された1つ以上のコンポーネントに対する機能を与える。動作1710で目標(goal)が確立される。目標は、目標コンポーネントの機能に関連する抽象概念(abstraction)である。目標コンポーネントは目標又は目的を達成するために使用される、。目標は、複数の学術分野にあり、様々なセクタ(例えば、産業の、科学的、文化的、政治的、など)に及ぶことができる。一般に、動作1710は、目標コンポーネント(例えば120)に対する外部、又は非本質であるアクタによって実行されることができる。目標コンポーネントは、学習システム(例えば適応推論エンジン110)と連結されることができる。目標の多くの学問分野にわたる性質を考慮して、目標コンポーネントは、複数の機能を所有するツール、デバイス、又はシステムとすることができる;例として、特定のプロセスを実行するツールシステム(例えば、ツールシステム310)、又は、リクエストのセットに対して特定の結果を提供するデバイス、など。動作1720で、データが受け取られる。このようなデータは本質的(intrinsic)であり、例えば目標を追求する目標コンポーネント(例えば、コンポーネント120)で生成されるデータであり得る。1つの態様において、特定のプロセスを行う一部として、ツールに関連するセンサ又はプローブのセットは、適応インテリジェントコンポーネントにおいて受け取られるデータを集めることができる。受け取られたデータは、また、アクタ(例えばアクタ390)によって送られたデータのように、外部からのものとすることができる。アクタは、人間のエージェント、又は、埋め込まれた知性又はその他のものを持つマシンとすることができる。外部のデータは、プロセスを駆動するために利用されるデータとすることができ、一般に、特定の目標の到達を推進する。人間のエージェントは、ツールシステムのオペレータとすることができ、ツールシステムによって行われるプロセスに関連する命令又は特定の手続を提供することができる。アクタの例は、ツールシステムのシミュレーションを実行するコンピュータ、又は、実質的に任意の目標コンポーネントとすることができる。ツールシステムのシミュレーションは、ツールシステムに対する、又は、ツールに対する動作の代替条件(例えば、人間のエージェントへ警告を提示することができる、又は、コスト高にすることができる、動作の条件)をテストするための、配備パラメータを決定するために使用されることができることは、認識されるべきである。受け取られたデータは、特定のプロセス(例えば、プラットパネル・ディスプレイ・アクティブ・マトリクスの一部であるTFTのマトリクスの蒸着)に関連するトレーニングデータ又は製造データ、又は、一般的に特定のコードとすることができる。
さらなる態様において、受け取られたデータは、データ型、又は、手続ユニット又は機能ユニット、に関連することができる。データ型は、実際のデータの高レベルの抽象概念である;例えば、ツールシステムにおけるアニーリング状態では、温度はアニーリングサイクルの期間の間に、プログラムされたレベルに制御されることができ、ツールシステムにおける温度センサによって測定された温度値の時間系列は、シーケンスのデータ型に関連付けられることができる。機能ユニットは、受け取られた命令又は処理コードパッチのライブラリに、少なくとも部分的に、対応することができる。処理コードパッチは、少なくともプロセッサ又は処理プラットフォームによって実行された場合に、ツールの動作に対して又はツールによって生成される分析データに対して必要なデータを、操作する。機能ユニットは、少なくともプロセッサによって与えられた機能性と共に、ユニットの特定の機能性に関連する概念へ、少なくとも部分的に抽象化されることができる;例えば、掛け算のコードスニペット(multiplication code snippet)は、掛け算(multiply)の概念へ抽象化されることができる。そのような概念は、multiply(sequence)、multiply(matrix)、又はmultiply(constant, matrix)のように、単一の概念が複数のデータ型に依存するようにオーバーロードさせることができる。さらに、機能ユニットに関連する概念は、derivative(scalar_product(vector, vector))のように、機能ユニットに関連する他の概念を継承することができる。derivative(scalar_product(vector, vector))は、独立変数に関する2つのベクトルのスカラー積の導関数を示す画面を例示することができる。機能的な概念がクラスに直接に類似であることは認識されるべきである。クラスは、それら自体の概念である。さらに、データ型は、優先度に関連させることができ、優先度にしたがって、意味ネットワークに置かれることができる。同様に、機能概念(又はオートボットの少なくとも部分;図6を参考)も、優先度に関連させることができ、異なる意味ネットワークに置かれることができる。概念の優先度は、動的であり、意味ネットワークにおける概念活性化を促進することができる。
動作1730で、知識は、受け取られたデータから生成される。受け取られたデータは、上で議論されたように、意味ネットワークにおいて表現される。知識の生成は、意味ネットワークにおける活性化(activation)を伝播すること(propagating)により遂行されることができる。そのような伝播は、スコアコンビネーションに加えて、概念に割り当てられた状況スコアによって決定されることができる。1つの態様において、スコアコンビネーションは、2つのスコアの重み付けされた加算、又は、2つ以上のスコアの平均とすることができる。ツールシステム条件又は外部のアクタから受信された情報入力のうちの少なくとも1つに依存して、スコアコンビネーションのための規則は修正されることができることは、認識されるべきである。新しい概念がより適切になることを可能にし、めったに活性化されない概念が退化すること可能にするために、優先度が時間進行とともに減少することができることは認識されるべきでである。
生成された知識は、メモリに保持され、活性可能な情報として使用されることができる;例えば、蒸着ステップの定常状態の圧力は、定常状態フロー及び定常状態排気バルブの角度のような2つの独立変数の正確で十分に定義された数学関数(例えば、確率的又は未知であるよりむしろ、決定論的に評価された関数に入るすべてのパラメータを持つ一価関数)として計算されることができる。代替的に又は追加として、転移中の圧力は、独立変数及び/又はパラメータ、又は、レシピの実行のアイ代の圧力、の関数、として計算されることができる(例えば、FPD(plat panel display)ピクセルにおけるTFT構成のフォトリソグラフィックエッチング)。ここで、すべての時間インスタンスは含まれており、レシピの実行中の他の測定された変数/パラメータの関数として計算されることができる。
動作1740では、生成された知識は、自律ツールの連続の使用及びさらなる知識の生成のために、記憶される。1つの態様において、知識は、メモリの階層に記憶されることができる。階層は、メモリにおける知識の持続性、及び、追加の知識の生成のための知識の適用可能性により決定されることができる。1つの態様において、階層における3番目の層は、エピソードメモリ(例えば、エピソードメモリ530、又は、認識エピソードメモリ740)とすることができる。受け取られたデータの印象及び知識は、集められることができる。そのようなメモリにおいて、概念の層操作は重要ではなく、メモリは、ツールシステム又は外部のアクタから受け取られた利用可能情報の蓄積器として代わりに働く。1つの態様において、そのようなメモリは、メタデータベースとしてとして識別されることができる。メタデータベースには、複数のデータ型及び手続的概念が格納されることができる。2番目の層において、2番目の層において、知識は、短期メモリに記憶されることができる。短期メモリでは、概念に重要な操作がなされ、意味ネットワークにおいて活性化を広げることができる。そのようなメモリ層では、機能ユニット又は手続的な概念は、受け取られたデータ及び概念に関して動作し、新しい知識、又は学習を生成する。1番目の層のメモリは、長期メモリ(例えば、LTM510)とすることができる。長期メモリでは、このメモリ層に記憶された重要な新しい知識と共に、知識が活発な利用のために維持される。さらに、長期メモリ中の知識は、短期メモリ(例えば、520)中の機能ユニットによって利用されることができる。
動作1750では、生成され及び記憶された知識は利用される。知識は、(i)記憶された知識(データ及び手続)と新たに受け取られたデータとに基づいて差を識別することによって目標コンポーネント(例えば、ツールシステム310)の劣化(degradation)のレベルを決定し(自己認識コンポーネント550)、ここで、受け取られたデータは外部から(例えば、入力130)、又は、内在(例えば、出力140の部分)とすることができる。;(ii)外部からの又は内在のデータのどちらも、又は、例えば、データパターンを識別することによって又は変数の間の関係を発見することによって、特徴づけを行い(自己概念化コンポーネント560におけるような)、ここで、変数は確立された目標を遂行するために利用されることができる;又は(iii)データを生成するツールシステムの性能の分析を生成し(例えば、自己最適化コンポーネント570)、予測された不良(failure)に対する根本原因又は必要な修理とともに存在する不良の指示を提供し、又は、ツールシステムの劣化がツールの不良を引き起こす前に予防のメンテナンスを実行するためのアラームをトリガする、ために使用されることができる。記憶され及び生成された知識の利用は、受け取られたデータ―外部から又は内在の―と、続いて生成される知識とによって影響されることは、注目されることになる。
動作1760は、目標の到達の程度が生成された知識を考慮して検査されることができる確認動作である。確立された目標が到達された場合、例示の方法1700は終了することができる。代替として、もし確立された目標が到達されていない場合、確立された目標は、動作1770で調査されることができる。その後において、1700のフローは、現在の目標が修正又は適応されることになっている場合に新しい目標を確立することへ導く;例えば、目標の適応は、生成された知識に基づくことができる。現在の目標の修正が追求されていない場合、方法1700のフローは、現在確立されている目標を追求し続けるために利用されることができる知識を生成するために戻される。
図18は、目標コンポーネントの状態に係る概念の状況スコアを調節する例示の方法のフローチャート1800を与える。自律的な生物学に基づく学習エンジン(例えば360)と、それと機能的に連結される1つ以上のコンポーネントとは、少なくとも一部の主題の例示の方法1800を実行することができる。代替的に又は追加として、処理プラットフォーム(例えば、385)とそれにおける機能ユニット又はプロセッサは、自律的な生物学に基づく学習エンジン又はそれに対して機能的に連結された1つ以上のコンポーネントとしての機能を与え、少なくとも一部の主題の例示の方法も実行することができる。動作1810では、目標コンポーネントの状態が決定される。状態は、典型的には、様々なデータ入力(例えば、130)によって決定されることができるコンテキストを通じて、又は、入力に関連する概念のネットワークを通じて、確立され、特定の関係を示している。入力データは、目標コンポーネントによって追求される目標に関連する;例えば、TFTのような、特定の薄膜デバイスのコーティングプロセスに対するレシピは、「絶縁デバイスを蒸着する」目標に関連する入力として考えられることができる。動作1820では、目標コンポーネントの状態に適用されることができる概念のセットが決定される。そのような概念は、1810で入れられたデータ型の抽象概念とすることができ、又は、メモリプラットフォーム(例えば、長期メモリ510、又は、短期メモリ520)に存在している概念とすることができる。一般に、機能の概念は、異なる概念(例えば、機能の概念を持たない概念)上で、少なくともプロセッサ又は処理ユニットにより、行うことができ、目標の達成に向けてより頻繁に利用されることができる。動作1830では、目標状態に関連する概念のセットにおける各概念に対して状況スコアが決定される。状況スコアのセットは、概念利用又は適用に対する階層を確立することができ、目標適応又はサブ目標の生成/ランダム化のような、目標の原動力を決定することができる。特定の概念に対する状況スコアの調節は、目標適応の一部として、目標のスペース内の伝播とともに、目標の到達も行うことができる。
図19は、ここに記述される態様に係る推論によって知識を生成するための例示の方法のフローチャート1900を与える。自律的な生物学に基づく学習エンジン(例えば、360)と、それに機能的に連結される1つ以上のコンポーネントとは、少なくとも一部の主題の例示の方法1900を実行することができる。代替的に又は追加として、処理プラットフォーム及び機能ユニット又はプロセッサは、自律的な生物学に基づく学習エンジン又はそれに対して機能的に連結される1つ以上のコンポーネントとしての機能を与え、少なくとも一部の主題の例示の方法を実行することもできる。動作1910では、概念がデータ型に関連付けられ、概念に対する優先度が決定される。優先度は、典型的に、概念の使用の確率、又は、概念の重みに基づいて決定されることができる。そのような重みは、概念を使用するための容易さ(例えば、データ型を動作するための複雑さ)を表すことができるパラメータの関数(例えば、重み付けされた合計、算術平均、又は、幾何平均)を通じて決定されることができ、そのようなパラメータは、概念の慣性、及び、状態(例えば、概念に関係付けられることができる近い概念の数)を記述する概念の適当なパラメータにより識別されることができる。優先度は、明示的に時間依存の慣性及び適当なパラメータの結果として、又は、概念伝播の結果として、時間に依存であってもよい。時間依存の優先度は、特定の概念への経年変化態様を導入することができ、例えば、特別の知識シナリオ(例えば、優先度に基づく知識ネットワークにおけるノード構成)に関連性のあることを停止する概念を通じて知識の柔軟性(例えば、FPDにおけるアクティブマトリクスアレイ内のTFTのようなナノ構成デバイスの準備にのためのレシピのような、目標を追求するために使用されるパラダイム)を助長することができる。動作1920では、優先付けされた概念のセットに対して意味ネットワークが確立される。意味ネットワークは複数のサブネットワークを含むことができ、複数のネットワークのそれぞれはクラスにおける概念の間の関係のセットを特徴付けることが、認識されるべきである。一例として、2つの層の意味ネットワークにおいて、第1のサブネットワークは、データ型から導出される概念の間の関係を表すことができ、第2のサブネットワークは、データ型に変えて利用されることができる動作を記述する機能概念(例えば、プランナオートボット又はユーバボット、概念のオートボット)の間の関係を含むことができる。動作1930では、優先度のセットが、推論を行うために意味ネットワークを越えて伝播され、したがって、概念のネットワークに関連する知識を生成する。1つの態様において、このような伝搬は、目標適応に対する最適化計画を生成するために、又は、特定の目標を遂行するシステムにおける不良を予測するために、使用されることができる。
図20は、ここに記述される態様に係るアセットを生産、例えば製造する1つ以上のツールによって生成される製造データに関連するに関連する変数のセットの間の関係を学習するための例示の方法2000のフローチャートを与える。自律進化製造ツールとそれにおける自律的な生物学に基づく学習エンジン(例えば、360)とは、少なくとも一部の主題の例示の方法2000を実行することができる。代替的に又は追加として、処理プラットフォーム及びそれにおける機能ユニット又はプロセッサは、自律的な生物学に基づく学習エンジン又はそれに機能的に連結される1つ以上のコンポーネントとしての機能を与え、少なくとも一部の主題の例示の方法2000を実行することもできる。動作2010では、ターゲット製品出力がセットされる。ターゲット製品出力は、例えば相互作用マネージャ345のような、インタフェースコンポーネントを通じてアクタ(例えば、390)によって確立された特定の製品仕様及び関連する許容差のような1つ以上の製品出力メトリックを備える。動作2020では、ターゲット製品出力を満たす製品を作製するために初期レシピがドリフトされる。動作2030では、1つ以上の製品出力メトリックに関連する関係のセットは、ドリフトを通じて学習される。ドリフトを通じた学習は、1つ以上のドリフトされたレシピにより生成されたデータに基づいて、ここに記述されるように、知識生成にしたがって関係のセットにおける1つ以上の関係を学習することを含む。関係のセットは、M(Mは自然数)個の関数のセットを含み、関数は、例えば選択されたメトリックの測定値のような、入力測定データ及び現在のレシピのレシピパラメータのセットを持つ、製品出力に関連する。N個の生産ステージのセットのために、M≦Nの関数が学習されることができ、各ステージはQ(Qは自然数)個の生産実行を含む。動作2040では、調節されたレシピは、学習された関係のセットに少なくとも部分的に基づいてターゲット製品出力を遂行するために生成される。動作2050では、少なくとも1つの製品が調節されたレシピにしたがって製造される。2060では、少なくとも1つの製品の出力属性に関するデータを収集すること(例えば、測定すること)によって、調節されたレシピの生成が成功したか、決定される;生成の成功は、製品出力に対して確立された許容差と仕様とのセットによって規定されるような、少なくとも1つの製品の出力属性の品質によって決定される。ネガティブな場合には、動作2070では、メンテナンス手続が実施され、フローは動作2020へ向けられる。これに対して、動作2080では、ターゲット出力製品が満たされるか評価される。動作2080のネガティブな結果は、フローを動作2020へ向ける。ここで、初期のレシピは、先のレシピのドリフティングにより、少なくとも一部の創出される学習を通じて調節される。これに対して、ポジティブな結果は、動作2030へフローを戻す。したがって、成功の製品を生成するためのレシピに関連するデータとそのレシピとは、例えば、改良、学習サイクルのような連続の又はほぼ連続の精製により、レシピと入力データとの間のさらなる1つ以上の関係を学習するために利用されることができる。ここで、学習は、上述されるように遂行されることができる。
例示の方法2000を通じて、製品仕様と出力製品測定値に対する許容差とによって規定されるカスタム特性を持つ製品の作製のためのレシピが、ドリフティング及び学習を通じて、再帰的に、最適化され、又は、評価されることは、注目される。
図21は、ここに記述される態様に係る製造レシピをドリフティングするための例示の方法2100のフローチャートである。進化ツールシステム1100内のレシピドリフトコンポーネント1130のようなコンポーネントは、主題方法を実行することができる。代替的に又は追加において、処理プラットフォーム及びそれにおける機能ユニット又はプロセッサは、自律的な生物学に基づく学習エンジン及びレシピドリフトコンポーネントとしての機能を与え、少なくとも一部の主題の例示の方法を実行することもできる。動作2110では、初期レシピが現在のレシピとしてセットされる。動作2120では、現在のレシピがドリフトされる。ドリフトは、現在のレシピにおける1つ以上の変数の選択と、1つ以上の変数のインクリメントな変化の遂行とを含むことができ、1つ以上の調節されたレシピパラメータのセットを生成する。1つの態様において、1つ以上の変数の選択は、メモリ1220に保持された駆動変数1226のような、ドリフトを行う変数のリストによって規定される。そのようなリストは、アクタ(例えば、390)によって提供されることができ、又は、自律的な生物学に基づく学習エンジン360によって推論され、送られることができる。ドリフトされる変数が、現在のレシピに対して特有とすることができることは、注目される。加えて、ドリフトは、それぞれの方向のあるベクトルについて大きさのレベルを変えることにより、多次元的に達成されることができる。ここで、方向のあるベクトルは、ドリフトされる又はランダム化されることができるレシピパラメータによって広げられる空間で定義される。次元は、領域(例えば、パワー、化学薬品、温度、圧力、コスト、速度など)をわたることができる。動作2130では、現在のレシピをドリフトすることを通じて得られた調節されたレシピが処理される。動作2140では、調節されたレシピがドリフトされるか決定される。ポジティブな結果において、動作2150では、調節されたレシピは、ドリフティングを通じて作成されたレシピの系統に加えられることができる。動作2160では、調節されたレシピは、現在のレシピとしてセットされる。動作2140における評価に対するネガティブな結果において、ドリフティング、及び、系統における各レシピに関連する、例えば、入力測定値、出力測定値、ツール条件、メンテナンスなどのデータを通じて作成されたレシピの系統は、動作2170で供給される。
図22は、ここに記述される態様に係る製品出力のためのターゲット仕様を用いて製品を作製するための進化されたレシピを生成するための例示の方法2200のフローチャートである。進化ツールシステム1100内の例えば1150の自律的な生物学に基づく最適化システムは、主題の例示の方法2200を実行することができる。代替的に又は追加において、処理プラットフォーム及びそれにおける機能ユニット又はプロセッサは、自律的な生物学に基づく最適化エンジン、及びそのコンポーネントとしての機能を与え、少なくとも一部の、主題の例示の方法2200を実行することもできる。動作2210では、製造レシピのセットに対する製品出力を予測する学習された関数のセットが受け取られる。動作2220では、入力材料測定値が受け取られる。動作2230では、製造ツールの現在の状態について、学習された関数の受け取られたセット又は受け取られた入力材料測定値の少なくとも部分に基づいて、レシピに対するパラメータが抽出される。製造ツールの現在の状態は、例えば、RF時間のようなアクティブデューティサイクル;予防メンテナンス履歴;修理履歴;動作領域;又は、蒸着チャンバ又はエッチングチャンバのような、単一のツールシステムで製造される異なる製品のタイプを確立する製品製造範囲のような、レコードのうちの少なくとも1つによって、少なくとも一部を決定される。1つの態様において、受け取られた入力測定値と結合される学習された関数の受け取られたセットは、逆問題の解決の基礎として利用される。レシピパラメータのセットは、予め決定された境界内で出力が生成されるように、識別される。そのような境界は、進化製造ツールにおけるコンポーネントによって自律的に設定されることができ、又は、アクタ、人間、又は、その他のものによって供給されることができる;人間のアクタによって提供される出力境界は、例えば、少なくとも供給される境界のマシン実装を可能にすることができる相互作用コンポーネント330のようなヒューマンマシンインタフェースによって受け取られることができる。
動作2240では、レシピのセットにおける各レシピに対する予測された出力が、それぞれの制約又は境界を満たすか、評価される。ネガティブな場合において、例えば、レシピパラメータへの値の適切な割り当ての解決が制約内の出力を産出しない場合、1つ以上の制約のセットは動作2250で緩和される。1つの態様において、高い重み付けのなされた出力特性が、緩和の後ステージで緩和されたそれらのそれぞれのターゲット値を持つように、緩和は、製品出力における各出力パラメータに対する設定可能重みの特定のランキングに少なくとも部分的にしたがって遂行されることができる。重みのランキングは、例えば390のようなアクタによって設定されることができ、又は、自律的に、例えば360のような自律的な生物学に基づく学習エンジンによって推論されることができる。動作2240に対するポジティブな結論は、動作2280へフローを向け、レシピは、抽出されたパラメータに少なくとも部分的にしたがって供給される。動作2260では、緩和された制約の現在の数がしきい値の上にあるか調査され、しきい値は、設定されることができ、緩和の数を決定する。緩和の数の上で、レシピパラメータの抽出は、ツールシステム310にによって処理された場合に不安定レシピを生成する場合があり、例えば、爆発又は不安定な化学反応、機能コンポーネント315のダメージ、又は、仕様アセット出力1106の大きな離脱のように、製造ツールシステム310内のなだれシナリオ又は危険な動作を生じる場合がある。動作2260の結果が肯定の場合、メンテナンス手続が動作2270で設定される。メンテナンス手続は、予防メンテナンス(PM)メトリック又は修理メトリックのうちの少なくとも1つに対する値の識別又は定義を含むことができ、これにより製造ツールは、出力製造制約を定義する仕様又は許容差によって要求されるように、又は、確立されるように、出力を生成することができる。
動作2240の結果が肯定の場合、動作2270で、抽出されたパラメータに少なくとも部分的にしたがうレシピが供給される。
図23は、ここに記述される態様に係る製造レシピにおける入力変数及びパラメータと製品出力との間の予測関数関係を自律的に生成するための例示の方法2300のフローチャートを示す。自律的な生物学に基づく学習エンジン(例えば、360)と、それにおける1つ以上のコンポーネント又はそれに対して機能的に連結されるその他のものは、少なくとも一部の主題の例示の方法2300を実行することができる。代替で又は追加において、処理プラットフォーム(例えば、385)及びそれにおける機能ユニット又はプロセッサは、自律的な生物学に基づく学習エンジン又はそれにおける又はそれに機能的に連結されている1つ以上のコンポーネントとしての機能を与え、少なくとも一部の主題の例示の方法を実行することもできる。1つ以上の実施形態において、主題の例示の方法2300は、例えば学習エンジン1170のような;生物学に基づく学習原理に基づかない、又は、少なくとも全部が基づいていない、学習エンジンで遂行されることができる。動作2310では、1つ以上の製造レシピ{R1,R2,…,Rλ}のセットの実行を通じて生成された製造データが受け取られる。動作2320では、製造出力と、レシピを実行する製造ツールの材料入力測定値又はレシピパラメータのうちの少なくとも1つとの間の関数の関係が学習される。動作2330では、製造出力の予測が特定の品質内にあるか評価され、予測は学習された関数の関係を通じて遂行される。肯定の場合、動作2340では、学習された関数の関係が受け付けられる。学習された関数の関係の受け付けは、学習された機能の関係を保持すること又は伝えることを含む。1つの態様において、学習された関数の受け付けは、学習された関数の配送又は記憶の少なくとも1つを含むことができる。これに対して、評価動作2330のネガティブな結果は、動作2350に導き、学習された関数の関係が拒絶される。
主題の例示の方法2300が、それぞれのレシピによって実行されたいくつかの製造実行に対する複数の関数の関係を学習するために複数回再現できることは、認識されるべきである。
主題の明細書で使用される場合、用語「プロセッサ」は、実質的に任意の計算処理ユニット又はデバイスを指すことができる。実質的に任意の計算処理ユニット又はデバイスは、シングルコアプロセッサ;ソフトウェアマルチスレッド実行可能なシングルプロセッサ;マルチコアプロセッサ;ソフトウェアマルチスレッド実行可能なマルチコアプロセさs;ハードウェアマルチスレッド技術を備えたマルチコアプロセッサ;パラレルプラットフォーム;及び、分散共有メモリを備えたパラレルプラットフォーム、を含み、しかし含むことに限定されない。さらに、プロセッサは。集積回路、特定用途向けIC(ASIC)、デジタルシグナルプロセサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックコントローラ(PLC)、コンプレックスプログラマブルロジックデバイス(CPLD)、離散ゲート又はトランジスタロジック、離散ハードウェアコンポーネント、又は、ここに記述される機能を実行するように設計されたその任意の組み合わせ、を指すことができる。プロセッサは、ユーザ設備のスペース使用又は性能向上を最適化するために、これに限定されないが例えば分子及び量子ドットに基づくトランジスタ、スイッチ、及びゲートのような、ナノスケールのアーキテクチャを用いることができる。プロセッサは、また、計算処理ユニットの組み合わせとして実装されてもよい。
主題の明細書において、「ストア」「ストレージ」「データストア」「データストレージ」「データベース」及びコンポーネントの動作及び機能に関連する実質的に任意の他の情報ストレージコンポーネントは、「メモリコンポーネント」、又は、「メモリ」を具体化するエンティティ、又は、メモリを具備するコンポーネントを指す。ここに記述されるメモリコンポーネントは、揮発性メモリでも不揮発性メモリでもよく、又は、揮発性と不揮発性のメモリの双方を含むことができることは、認識されるべきである。
実例として、これに限定はされないが、不揮発性メモリは、リードオンリーメモリ(ROM)、プログラマブルPOM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、又は、フラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして働くランダムアクセスメモリ(RAM)を含むことができます。実例として、これに限定はされないが、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、サイクリックDRAM(SLDRAM)、及び、ダイレクトラムバスRAMのような多くの形式で利用可能である。さらに、ここでのシステム又は方法の開示されたメモリコンポーネントは、これら、及び、他の適切なタイプのメモリを具備することが意図されているが、これに限定されることはない。
ここに記述される様々な態様又は特徴は、方法又は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ハードウェアとファームウェアの組み合わせのような装置、又は、標準プログラミング及び/又はエンジニアリング技術を使用する製造物品、として実装されるとしてもよい。例えば、方法、又は、ハードウェアとソフトウェアの組み合わせとしての実装は、メモリに保持されるコンピュータアクセス可能なコード命令を実行するプロセッサ又は処理ユニット(例えば、処理プラットフォーム385)を、少なくとも一部通じて、遂行されることができる。1つ以上の態様において、記述された機能は、ハードウェア、ソフトウェア、ファームウェア、又は、任意のそれらの組み合わせで実装されてもよい。ソフトウェアで実装される場合、ここに記述された様々な機能性がコンピュータ可読記憶媒体又はメモリ上の1つ以上の命令又はコードとして記憶される又は転送されることができる。コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体の双方をふくみ、通信媒体はある場所から他の場所へコンピュータプログラムの転送を促す任意の媒体である。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能媒体としてもよい。ここで使用される用語「製造物品」は、任意のコンピュータ可読デバイス、キャリア、又は媒体からアクセス可能なコンピュータプログラムを含むことを意図されている。例えば、コンピュータ可読媒体は、磁気記憶デバイス(例えば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ…)、光学ディスク[例えば、コンパクトディスク(CD)、デジタル汎用ディスク(DVD)…]、スマートカード、及びフラッシュメモリデバイス(例えば、カード、スティック、キードライブ…)を含むが、これに限定されない。
上述は、請求項に係る内容の例を含んでいる。請求項に係る内容を記載する目的で、コンポーネント又は方法論の考えられる組合せを全て記載することは当然に不可能であるが、当業者には、請求項に係る内容の多くのさらなる組合せと置換とが可能であることが分かり得る。したがって、請求項に係る内容は、添付の請求項の思想及び範囲内に入る変更と、修正と、バリエーションとを全て包含することを意図している。さらに、用語「含む」又は「含んでいる」が詳細な説明又は請求項のどちらでも使用される範囲について、請求項において移行ワード(transitional word)として使用される場合に用語「具備する」又は「具備している」が解釈されるように、そのような用語は、「具備する」又は「具備している」に類似な仕様で包括することを意図される。