JP2005515623A6 - 自動生産システム - Google Patents

自動生産システム Download PDF

Info

Publication number
JP2005515623A6
JP2005515623A6 JP2003560805A JP2003560805A JP2005515623A6 JP 2005515623 A6 JP2005515623 A6 JP 2005515623A6 JP 2003560805 A JP2003560805 A JP 2003560805A JP 2003560805 A JP2003560805 A JP 2003560805A JP 2005515623 A6 JP2005515623 A6 JP 2005515623A6
Authority
JP
Japan
Prior art keywords
agent
processing
control
controller
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003560805A
Other languages
English (en)
Other versions
JP4849773B2 (ja
JP2005515623A (ja
Inventor
エル. ミラー マイケル
エイ. グローバー ジェイソン
アール. コンボイ マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority claimed from PCT/US2002/034850 external-priority patent/WO2003060779A1/en
Publication of JP2005515623A publication Critical patent/JP2005515623A/ja
Publication of JP2005515623A6 publication Critical patent/JP2005515623A6/ja
Application granted granted Critical
Publication of JP4849773B2 publication Critical patent/JP4849773B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

生産システム(100,300)は、処理装置(115)、コントローラ・エージェント(350)および第1処理エージェントを含む。処理装置(115)は、動作レシピ(operating recipe)に従って加工品(130)を処理するように構成されている。コントローラ・エージェント(350)は、処理装置(115)内の加工品(130)の処理に関する制御動作を決定するように構成されている。第1処理エージェント(320,340)は、処理装置(115)および加工品(130)のうちの少なくとも一つに関連し、コントローラ・エージェント(350)に対してインターフェイスで接続し、制御動作を受信し、制御動作に基づいて動作レシピを作成するように構成されている。
動作レシピに従って加工品(130)を処理するように構成された処理装置(115)を制御するための方法が提供される。処理装置(115)および加工品(130)のうちの少なくとも一つに関する第1処理エージェントを作成する。処理装置(115)内の加工品(130)の処理に関する制御動作を決定するように構成されたコントローラ・エージェント(350)を作成する。この第1処理エージェント(320,340)がコントローラ・エージェント(350)とインターフェイスで接続され、制御動作を受信する。第1処理エージェント(320,340)は処理装置(115)とインターフェイスで接続され、制御動作に基づいて動作レシピを作成する。

Description

本発明は一般に半導体装置製造の分野に関し、さらに詳細には、自立的で、能動的なソフトウェアエージェントを用いてウェハの処理のためのレシピを制御する自動化された生産環境に関する。
半導体業界においては、集積回路装置、例えばマイクロプロセッサ、メモリ装置等の品質、信頼性およびスループットの改善に対する継続的な動機付けが存在する。この動機付けは、より高い信頼性を持って動作する高品質のコンピュータおよび電気製品に対する消費者の要求によってあおられている。このような要求は、半導体装置、例えばトランジスタの製造における継続的な改善、さらにはそのようなトランジスタを含む集積回路装置の製造における継続的な改善へと繋がる。さらに、一般的なトランジスタ部品の製造における欠陥を減らすことにより、トランジスタ当たりの全体のコストを下げることができ、さらにはそのようなトランジスタを含む集積回路装置のコストをも下げることができる。
一般的に、あるウェハに対して、1セットの処理ステップが様々な処理(プロセス)装置を用いて行われる。処理装置には、フォトリソグラフィーステッパ、エッチング装置、デポジション(deposition)装置、研磨装置、ラピッド・サーマル処理(rapid thermal processing)装置、インプランテーション(implantation、イオン注入)装置等々が含まれる。半導体処理(プロセス)装置の基礎となる技術が過去数年にわたってより大きな関心を引き起こし、それによって実質的な改善へとつながった。しかしながら、この領域でなされた進歩にもかかわらず、現在商業的に入手可能な処理装置の多くはいくつかの欠点を抱えている。特に、そのような装置類はしばしば先進プロセスデータ監視機能を有していない。先進プロセスデータ監視機能とは、例えばユーザフレンドリーな形式で、イベントログ、現在のプロセスパラメータおよびラン(run)全体のプロセスパラメータ両方のリアルタイムグラフィカル表示、さらにローカルサイトおよび全世界の遠隔監視とともに、経過(ヒストリカルな)パラメトリックデータを提供する能力である。これらの欠点により、スループット、正確性、安定性および再現性、プロセス温度、機械装置パラメータなどの重要なプロセスパラメータの処理が最適化されないおそれがある。この変動性はラン内のばらつき、ランとランの間のばらつき、そして装置と装置の間のばらつきとして現れ、それらは製品の品質および性能のばらつきへと繋がりうる。それに対して、そのような装置類のための理想的な監視および診断システムは、この変動性を監視する手段とともに、重要なパラメータを最適に制御するための手段をも提供する。
半導体処理ラインの運用を改善するテクニックの一つは、様々な処理装置の動作を自動的に制御する全工場的(ファクトリーワイドな)制御システムを採用することである。製造装置が製造フレームワークまたは処理モジュールのネットワークと通信を行う。各製造装置は、通常、装置インターフェイスに結合される。装置インターフェイスは、製造装置と製造フレームワークとの間の通信を促進する機械インターフェイスに結合される。機械インターフェイスは一般にアドバンスド・プロセス・コントロール(APC)システムの一部であってもよい。APCシステムは、製造(manufacturing)モデルに基づいて制御スクリプトを起動する。制御スクリプトは、製造プロセスを実行するために必要なデータを自動的に読み出すソフトウェアプログラムとすることができる。しばしば、半導体装置は複数のプロセスのための複数の製造装置を通り抜けて、処理された半導体装置の品質に関するデータを生成する。
製造プロセスの間、製造中のデバイスの性能に影響を与える様々な出来事が発生しうる。つまり、製造プロセスステップ中の変動がデバイス性能のばらつきにつながる。構造の限界寸法(critical dimensions)、ドーピングレベル、接点抵抗、粒子汚染(particle contamination)などの要素はすべて潜在的にデバイスの最終性能に影響を与えうる。
処理の変動を低減するために、処理ライン中の様々な装置は性能モデルに従って制御される。一般的に制御される処理装置には、フォトリソグラフィーステッパ、研磨装置、エッチング装置、デポジション(deposition)装置が含まれる。処理前および/または処理後の測定データが装置のためのプロセス制御装置(コントローラ)に供給される。処理後の結果が目標値にできるだけ近くなるように、プロセス制御装置は性能モデルおよび計測情報に基づいて、処理時間などの動作レシピパラメータを計算する。このようにして偏差(ばらつき)を減少させることで、スループットを増大、コスト削減、デバイスの性能向上などの収益率向上に等しい結果が生まれる。
工場規模のAPCシステムのような分散処理環境においては、コンフィギュレーション制御および効率性の問題が優勢となる。一般に、プロセスコントローラを構成するための制御コードを書いているソフトウェアデベロッパーは数多くある。ある特定のデベロッパーは特定のタイプのコントローラを開発するために多大なる努力をしている。通常、それぞれのデベロッパーが独特のプログラミングスタイルを持ち、自分たちがすでに開発したルーチンに依存している。例えば、各デベロッパーは、APCフレームワーク内でデータベースやその他の構成要素とのインターフェイスを作り、様々な計算動作および基本的なユーティリティ動作を実行するためのルーチンセットを持っている。
そのような構成に関する一つの問題は、プロセス制御スクリプトの間に一貫性があまりないことである。多数のカスタムスクリプトはさらにコンフィギュレーション制御の問題および効率性の問題を生じさせる。デベロッパーは、おそらく別のデベロッパーがすでに作った別のタイプのプロセスコントローラについてすでに開発されているコードを複製するのに相当な時間を費やしているかもしれない。標準化されていないコードをデバッグするにはより多くの時間がかかり、効率をさらに下げることになる。
本発明は、上述の一以上の課題を解決し、または少なくともその影響を低減することを目的としている。
発明の概要
本発明の一態様は、処理装置、コントローラ・エージェントおよび第1処理エージェントを含む製造システムである。処理装置は、動作レシピ(operating recipe)に従って加工品(ワークピース)を処理するように構成されている。コントローラ・エージェントは、処理装置内の加工品の処理に関する制御動作を決定するように構成されている。第1処理エージェントは、処理装置および加工品のうちの少なくとも一つに関連し、コントローラ・エージェントに対してインターフェイスを形成し、制御動作を受信し、制御動作に基づいて操作レシピを作成するように構成されている。
本発明の他の態様は、操作レシピに従って加工品を処理するように構成された処理装置を制御するための方法である。処理装置および加工品のうちの少なくとも一つに関連した第1処理エージェントが作成される。処理装置内の加工品の処理に関する制御動作を決定するように構成されたコントローラ・エージェントが作成される。この第1処理エージェントがコントローラ・エージェントとインターフェイスで接続され、制御動作を受信する。第1処理エージェントは処理装置とインターフェイスで接続され、制御動作に基づいて操作レシピを作成する。
本発明は、添付の図面と関係付けて、以下の説明を参照することによって理解できるであろう。図面中、類似の参照符号は類似の要素を示している。
本発明は様々な変形および代替の形態をとりうるが、その特定の実施形態を例示のために図面に示し、本明細書において詳細に説明する。しかしながら、特定の実施形態についての本明細書中の説明は、開示された特定の形態に本発明を限定しようとするものではなく、むしろ反対に、添付の特許請求の範囲に規定される本発明の精神および範囲の範疇に入る、すべての変形物、均等物および代替物を含むことを意図している、ことを理解してもらいたい。
本発明の例示としての実施形態を以下説明する。明確化のために、本明細書では、現実の実施品のすべての特徴を説明することはしない。そのような現実の実施品の開発においては、例えばシステム関連の順守事項およびビジネス上の制約など、実用化の事例毎に異なる、開発者の特定の目標を達成するために、数々の実施に則した判断を行わなければならないことは当然理解してもらえるだろう。さらに、そのような開発努力は複雑で時間のかかるものであるかもしれないが、それにもかかわらず本明細書の開示による利益を得た当業者にとっては日常作業に過ぎないことも理解できるであろう。
まず図1は、本発明のある特定の実施形態に従って構成され、実行される処理フロー100の一部を示す概念図である。処理フロー100の図示された部分は2つのステーション105を含み、それぞれのステーション105は処理装置115と通信するコンピュータ装置110を含んでいる。2つのステーション105は互いに通信リンク120上で通信する。図示された実施形態では、コンピュータ装置110および通信リンク120はより大きなコンピュータシステムの一部、例えばネットワーク125を含む。図1に示された処理装置115は、集積回路装置を製造中のウェハ135のロット130を処理している。本発明は半導体装置を製造するのに使用可能なものとして示されているが、その用途はそれに限定されるものではなく、他のタイプの製造プロセスにも応用可能である。従って、上述の処理フロー100においては、ウェハ135のロット130はより一般的に「加工品」と呼ぶことができる。処理装置115およびそれに対して実行されるすべての処理操作は、すべての実施形態において、かならずしも半導体装置の製造に関係するものである必要はない。しかしながら、明確さのため、および発明をさらに理解するために、図示される実施形態の枠内において本発明を開示する場合には、半導体製造に関する用語を用いる。
図2は、本発明に従ってプログラムされ、動作するコンピュータ装置110のハードウェアおよびソフトウェアアーキテクチャの選択された部分をそれぞれ示している。ハードウェアおよびソフトウェアアーキテクチャのいくつかの要素(例えば、個々のカード、基本入出力システム(BIOS)、入出力ドライバ等)は図示していない。これらの要素は明快さのために省略されるが、それによって本発明が不明確になるものではない。しかしながら、本開示の利益を得た当業者であれば、コンピュータ装置110のソフトウェアおよびハードウェアアーキテクチャはそのような普通の特徴を多く含むことを理解するであろう。
例示する実施形態では、コンピュータ装置110はUNIXベースのオペレーティングシステムを採用したワークステーションであるが、本発明はそれに限定されるものではない。コンピュータ装置110は、ラップトップコンピュータ、デスクトップコンピュータ、ミニコンピュータ、メインフレームコンピュータまたはスーパーコンピュータなどの、事実上どのようなタイプの電子コンピュータ装置においても実装可能である。コンピュータ装置110は代替の実施形態、処理装置115に組み込まれたプロセッサまたはコントローラであってもよい。本発明はまたUNIXベースのオペレーティングシステムに限定されるものではない。代替のオペレーティングシステム(例えば、WINDOWSベースまたはディスクオペレーティングシステム(DOS)ベース)も採用可能である。本発明はコンピュータ装置110の特定の実装によって制限されることはない。
コンピュータ装置110はさらにプロセッサ205を含み、プロセッサ205はバスシステム215上である記憶装置210と通信する。この記憶装置210は一般に少なくともハードディスク(図示せず)およびランダムアクセスメモリ(RAM)(図示せず)を含む。ある実施形態においては、コンピュータ装置110はさらに、光学ディスク(図示せず)、フロッピー電気磁気ディスク(図示せず)などのリムーバブル記憶装置、または磁気テープ(図示せず)またはZIPディスク(図示せず)などのその他の形態のリムーバブル記憶装置を含む。プロセッサ205は当該技術分野において知られた任意の適切なプロセッサでよい。例えば、プロセッサは汎用のマイクロプロセッサでもよいし、またはデジタルシグナルプロセッサ(DSP)でもよい。例示する実施形態では、プロセッサ205はアドバンスド・マイクロ・ディバイシズInc社(AMD)から商業的に入手可能なAthlon(商標)64ビットプロセッサであるが、本発明はそれに限定されない。サンマイクロシステムズ社から提供される64ビットのUltraSPARC(商標)または32ビットのmicroSPARC(商標)、インテル・コーポレーション社から提供されるItanium(商標)またはPentium(商標)クラスのプロセッサのいずれか、コンパック・コンピュータ・コーポレーション社から提供されるAlpha(商標)プロセッサを代わりに採用してもよい。コンピュータ装置110はモニタ240、キーボード245、およびマウス250を含み、それらはまとまって、それらに関係するユーザーインターフェイスソフトウェア255とともに、ユーザーインターフェイス260を構成する。例示された実施形態におけるユーザーインターフェイス260はグラフィカルユーザーインターフェイス(GUI)であるが、これは本発明の実施に必要なものではない。
コンピュータ装置110のソフトウェアアーキテクチャの選択された部分がさらに図2に示されている。例示した実施形態において、各コンピュータ装置110は記憶装置210内に常駐のソフトウェアエージェント265を有する。ソフトウェアエージェント265は処理フロー100内において、コンピュータ装置110以外の場所に常駐してもよいことに注意してもらいたい。ソフトウェアエージェント265の存在位置は本発明の実施において本質的な事項ではない。ソフトウェアエージェント265の存在位置は本質的な事項ではないので、いくつかのコンピュータ装置110がそれらに常駐する複数のソフトウェアエージェント265を有する一方で、他のコンピュータ装置110がなにも持たないようにしてもよい、ことにさらに注意してもらいたい。カルフォルニア州マウンテンビューのConsilium, Inc.社から提供されるWORKSTREAM(商標)などの自動製造実行システム(MES)270は少なくとも一つのコンピュータ装置110に常駐する。
上述したように、図1において、コンピュータ装置110は、通信リンク120上で接続されることにより、より大きなコンピュータシステム125の一部とすることができる。そのような実装におけるコンピュータシステムの例には、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、システムエリアネットワーク(SNA)、イントラネット、またはインターネットさえも含む。このコンピュータシステム125はネットワーク化されたクライアント/サーバアーキテクチャを採用するが、代替の実施形態ではピアトゥーピア(peer-to-peer)アーキテクチャを採用することもできる。従って、ある代替実施形態では、コンピュータ装置110は互いに直接に通信することができる。通信リンク120はワイヤレス、同軸ケーブル、光ファイバー、またはペア撚り線(twisted pair)とすることができる。それを採用する実施形態において、コンピュータシステム125および通信リンク120は実装に応じて変化するものであり、当該技術分野において知られている任意の適切な方法で提供することができる。コンピュータシステム125は当該技術分野において知られた任意の適切な通信プロトコル、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)を採用することができる。
図1および図2を参照して、ソフトウェアエージェント265は共同して、製造プロセスを通じて、ウェハ135のロット130を効率的に監視する責任を負う。各処理装置115は、この目的のために採用可能なリソースの一つである。例えば、処理装置115はウェハ135の一部を製造する、例えばウェハ135のレイヤ、パターン、ドーピング、熱処理などのために使用される製造装置であってもよい。または、処理装置115は処理フロー100の様々な部分の能力を評価するために使用される計測装置であってもよい。従って、ソフトウェアエージェント265は、ウェハ135のロット130を続いて処理するための複数のリソースを査定し、処理装置115に代表されるリソースを割り当て、そしてウェハ135のロット130を続いて処理するためのそれらリソースの割り当てについて、互いにネゴシエーションを行うことが可能である。
例示する実施形態では、ソフトウェアエージェント265は、起動(スタートアップ)時に自己設定され、インテリジェントで、状態認識(state-aware)で、そして、その達成のためにそれらが自律的に動作を開始する、特定のゴールがしみこんでいる。ソフトウェアエージェント265はさらに、それらの環境変化に対して自己調整(self-adjust)を行う。ソフトウェアエージェント265はオブジェクト指向プログラミング(OOP)環境におけるオブジェクトとして実装されるが、本発明はオブジェクト指向ではない技術を用いて実装することも可能である。それらの動作は比較的単純で、スクリプトまたは規則(rule)ベースである。その動作は選択された目標、例えば割り当てられたロットの処理期限を達成する、所定の品質レベルを達成する、装置の稼働率を最大化する、都合良く予防的にメンテナンスのスケジュールを組む、などを達成するように設計される。これらの目的を達成するために、ソフトウェアエージェント265はMES270とインターフェイスで接続され、既存の工場制御システム(図示せず)と統合される。本開示の利益を得た当業者には自明であるように、このインターフェイスおよび統合が行われる方法は、MES270および工場制御システムの特徴に応じて、実装の形態ごとに異なる。
以下でさらに説明するように、ソフトウェアエージェント265はいくつかの異なったレベルに専門化することができる。一つのレベルは、「タイプ」によるもの、つまりソフトウェアエージェント265が処理フロー100において「消費者」なのか「供給者」なのかを表す。さらに詳細には、ソフトウェアエージェント265が消費者なのか、それとも供給者なのかは、処理フロー100の全体においてそれが表す要素のタイプによって決定される。例えば、ソフトウェアエージェント265は、ウェハ135のロット130を表すことができ(つまり、「ロット・エージェント」)、処理装置115を表すこともできるし(つまり、「装置エージェント」)またはプロセス材料を表すこともできる(つまり、「リソース・エージェント」)。ソフトウェアエージェント265は機能、つまりソフトウェアエージェント265が処理フロー内でどのような機能を実行するか、によって専門化することもできる。例えば、ソフトウェアエージェント265は、かならずしも特定の要素を表す必要はなく、特定の機能を実行するように構成される。例えば、ソフトウェアエージェント265は、処理装置115内で処理されるウェハ135の特定のロット130についての制御動作(すなわち、「制御エージェント」)を決定するように構成することができる。この制御エージェントによって実行される動作はロット130の特性および処理装置115の特性の両方に応じて変わる。制御エージェントは特定の実装に応じて、ロット・エージェントによって、または装置エージェントによって呼び出される。例示する実施形態では、制御エージェントはそのライフサイクルにわたって特定の処理装置115との関係を保持する。しかしながら、他の形態も使用可能である。ソフトウェアエージェント265によって実行可能な他の機能には、スケジュール作成が含まれる。
以下でさらに完全に説明される一実施形態として、例えばスケジュール作成エージェント、処理エージェント、およびコントローラ・エージェントがある。ソフトウェアエージェント265は、製造ドメインの要素、例えばロット130や処理装置115などとかならずしも一対一の関係でなくてもよいことを注意してもらいたい。その代わりに、ほとんどのドメイン要素はそれぞれソフトウェアエージェント265のグループによって表される。例えば、ロット130または処理装置115は、スケジュール作成エージェントおよび処理エージェントの両方を持つことができる。コントローラ・エージェントは特定の処理装置115と関連づけられ、処理エージェントのなかの一つによって呼び出される(つまり、ロット130または処理装置115と関連づけられる)。この構成は、ドメイン要素機能の一つの態様を支援する特定の動作を示す、特定のオブジェクトの設計を促進する。
この特定の実施形態においては、ソフトウェアエージェント265は、オブジェクト指向プログラム技術を用いて実現される。オブジェクト指向コンピュータという用語においては、ソフトウェア「エージェント」は自律的な、能動的オブジェクトである。その動作セットが与えられると、ソフトウェアエージェント265はその場の状態に応答して独立して動作することができ、それによって可適応システム動作を生成する。本発明は、例えば工場労働者、材料、装置、プロセス等々の半導体製造工場内の「実世界」のエージェントの機能を模倣し、改善する、自律的な可搬性の「ソフトウェアエージェント」を定義し、構成し、配置するエージェント拡張システムを提供する。当業者であれば、エージェントまたはその他のソフトウェアオブジェクトが一以上のソフトウェアオブジェクトを含むことができることは理解できるであろう。本明細書において、「オブジェクト」という用語においては、あるソフトウェアオブジェクトがさらに他の複数のソフトウェアオブジェクトから構成されていてもよいと理解されるべきである。逆に言えば、当業者であれば、あるオブジェクトの機能を他の機能と結びつけられることが理解できるであろう。別々のオブジェクトに関連するものとして説明された機能を、ある単一オブジェクトに関連する機能として結合することができる、ことは理解できるであろう。
さらにこの特定の実施形態において、ソフトウェアエージェント265は「設定変更可能」である。この特定の実施形態において、ソフトウェアエージェントは、それらの動作を支配するスクリプトを修正するか、または「制御ノブ」を修正することで設定を変更することができる。制御ノブは、外部的に設定変更可能なパラメータまたはソフトウェアエージェントの特性(プロパティ)であって、柔軟性および/またはシステム調整を提供する。例えば、ある特性はシステムの判断を支配するカーブを特定する。さらに詳細には、ソフトウェアエージェント265の処理およびスケジュール作成動作は、ある所定のイベントがスクリプトセグメントの実行を引き起こすように、スクリプトが書かれている。ある特定の実装において、スクリプトはJPython、双方向のJavaインターフェイスを提供するオープンソースのJavaプログラミング言語として実装される。JPythonのダウンロードに関する情報を含む、さらに詳しい情報はインターネットのhttp://www.jpython.org/から得ることができる。
本発明の詳細な説明のいくつかの部分では、結果として、コンピュータシステムまたは計算装置のメモリ内のデータビットに対する操作のシンボリックな表現を含む、ソフトウェアによって実現されるプロセスとして説明される。これらの説明および表現は、当該技術分野の当業者が彼らの仕事を効率的に他の当業者に伝達するためのものである。これらの処理および操作は、物理量の物理的な操作を必要とするものである。通常、もっとも必ずしも必要ではないが、これらの物理量は、電気的、磁気的、または光学的な信号の形態をとり、それらは蓄積、転送、結合、比較、その他の操作が可能なものである。専ら一般的な用例という理由から、ときには、これらの信号をビット、値(value)、要素(element)、シンボル、キャラクタ、項(term)、数などと呼ぶのが便利である。
しかしながら、これらの用語のすべてまたは類似の用語は適切な物理量に関連付けられるべきであり、それらの量に適用される単なる便利なラベルである、ことを念頭に置く必要がある。特に断らない限り、またはこれまでの議論から明らかなように、これらの説明は、ある電子装置の記憶装置内の物理的(電気的、磁気的、または光学的)な量として表されるデータを、記憶装置、転送装置または表示装置のなかの物理的な量として同様に表される他のデータに操作または変換する、電子装置の動作または処理についてのものである。そのような説明を意味する用語の例としては、「プロセス(処理)」、「コンピューティング」、「計算」、「決定」、「表示」などの用語があるが、それらに限定されるものではない。
本発明のソフトウェアによって実装される部分は通常、プログラム記憶媒体の形態にエンコードされるか、または伝送媒体の形式において実装される。プログラム記憶媒体は磁気媒体(例えば、フロッピーディスクまたはハードディスク)または光学媒体(例えば、コンパクトディスクリードオンリーメモリ、つまり「CD−ROM」)でよく、さらには読み出し専用であっても、ランダムアクセス方式であってもよい。同様に、伝送媒体はペア撚り線、同軸ケーブル、光ファイバー、または当該技術分野において既知の他の適切な伝送媒体でよい。本発明は、これらの実装形式に限定されるものではない。
処理フロー100は、APC(Advanced Process Control)フレームワークにしたがって実装することができる。APCシステムは交換可能な、標準化されたソフトウェアコンポーネントからなる分散ソフトウェアシステムを含み、処理フロー300においてラントゥーラン(run-to-run)制御および障害検出/分類を可能にする。ソフトウェアエージェント265およびそれらの動作である本発明はAPCシステムの上部レイヤとなり、ほぼ自律的に動作する半導体製造プロセスフローを実現する。
APCシステムのソフトウェアコンポーネントは、SEMI(Semiconductor Equipment and Materials International)のCIM(Computer Integrated Manufacturing)フレームワークに準拠したシステム技術およびAPC(Advanced Process Control)フレームワークを基礎とするアーキテクチャスタンダードを実装する。CIM(SEMI E81-0699-CIMフレームワークドメインアーキテクチャのための暫定仕様書)およびAPC(SEMI E93-0999-CIMフレームワーク高度プロセス制御コンポーネントのための暫定仕様書)の仕様書はSEMIから一般に入手可能である。SEMIの連絡先は、テキサス州78731オースティン、スイート290、テキサスハイウェイノース、キャピタル8310、電話512-349-2422、ファックス512-349-2442、インターネットアドレス: http://www.semi.orgである。
この特定のアーキテクチャはオブジェクト指向プログラミングを利用したソフトウェアに深く依存し、OMG(Object Management Group)のCORBA(コルバ、Common Object Request Broker Architecture)および分散オブジェクトシステムのためのCORBAサービス仕様書を採用する。OMGのCORBAアーキテクチャについての情報およびその仕様書もまた、一般に容易に入手可能である。
本明細書で説明するAPCシステムの機能を実行するのに適応可能なソフトウェアシステムの例は、KLA-Tencor, Inc.社が販売するCatalystシステムである。KLA-Tencor社の連絡先は、カルフォルニア州95134サンノゼ、リオローブルズ160、電話408-875-6000、ファックス408-875-3030、http://www.kla-tencor.comである。Catalystシステムについての追加情報は、KLA-Tencor社のウェブサイト、http://www.kla-tencor.com/contolsolutions/catalystapc.htmlから入手可能である。
図3は、本発明の他の実施形態に従った、ソフトウェアエージェント265を用いて実装した処理フロー300の例としての実施形態を簡略ブロック図である。例としてのロット130はロットスケジュール作成エージェント310およびロット処理エージェント320によって表される。例としての処理装置115は、装置スケジュール作成エージェント330および装置処理エージェント340によって表される。ロットスケジュール作成エージェント310は処理フロー300のなかの様々な要素、例えばロットを完成させるために必要なリソースを確保するための装置スケジュール作成エージェント330などとネゴシエーションを行う。例えば、ロットスケジュール作成エージェント310および装置スケジュール作成エージェント330は、ロット130に対する処理装置115の予約のスケジュールを作成するために「コントラクト・ネット・ネゴシエーションプロトコル」アプローチを用いることができる。
ロット処理エージェント320および/または装置処理エージェント340は、処理装置115がロット130を処理のために受け取ったときに呼び出される。ロット処理エージェント320および装置処理エージェント340はコントローラ・エージェント350とインターフェイスで接続され、ロット130を処理するための処理装置115の動作レシピを設定するために必要な制御動作を決定する。ロット処理エージェント320または装置処理エージェント340のどちらかがコントローラ・エージェント350を呼び出す。一実施形態では、ロット処理エージェント320はコントローラ・エージェント350に、必要な制御動作を決定するために必要なロット130の特性に関するデータ(例えば、寸法に関する計測データ、電気的計測データ等々)を送ることができる。同様に、装置処理エージェント350は、処理装置115に関するデータ(例えば、アイドル時間、前回のクリーニングからの時間、装置の健常性等々)をコントローラ・エージェント360に渡すことができる。代替実施形態では、ロット130および/または処理装置115の特性に関するデータは、コントローラエージェント350がアクセス可能な集中化されたデータ記憶装置360に蓄積される。データ記憶装置360は、処理前および処理後計測データ、装置の状態、ロットの優先度などを含むデータを蓄積するように構成することができる。
コントローラ・エージェント350の動作についてさらに詳細に説明する。コントローラ・エージェント350によって実行される特定の制御動作は実装に応じて変化する。例えば、もし処理装置115がCMP装置であったとすると、コントローラ・エージェント350は研磨前の厚さの測定値(例えば、高い構造の厚さ、低い構造の厚さ)を受信し、研磨後の目標とする厚さを達成するのに必要な研磨時間を予測する。処理装置115がエッチング装置である場合には、コントローラ・エージェント350は、エッチング前および/またはエッチング後の厚さの測定値に基づいて処理装置115のエッチング性能をモデル化することができる。コントローラ・エージェント350は処理装置115の制御モデルを用いて予測を行うことができる。制御モデルは一般的に知られた線形または非線型技術を用いて経験的に作成される。この制御モデルは、相対的に単純な方程式ベースのモデル(例えば、線形、指数、加重平均など)、またはニューラルネットワークモデル、PCA(Principal component analysis)モデルまたはPLS(projection to latent structure)モデルなどのより複雑なモデルとすることができる。このモデルの特定の実装は選択されたモデル化技術に応じて変化する。制御モデルを用いて、コントローラ・エージェント350は、エッチング後の厚さのばらつきを低減するように、エッチング時間、プラズマ強度、温度、圧力、反応ガス濃度などの動作レシピパラメータを決定することができる。他のタイプの処理装置115に対しては他の制御シナリオが成り立つ。
コントローラ・エージェント350を設定する際(つまり、それが最初に例示されるとき)に、コントローラ・エージェント350によって利用されるグローバルな設定変数が決定される。例示する実施形態では、これらのグローバル変数はレシピマネージメントシステム(RMS)(つまり、処理装置115によって実装される、現在のプロセスのためのデフォルトレシピを記憶するレシピ設定のグローバルデータベース)からの変数およびコンテクスト変数(context variable)の値を含む。コンテクスト変数値は制御スレッドを定義し、一般的に装置識別コード、ロット番号、動作番号などの変数値から構成される。さらに、必要なベースライン変数はどれも所与の値である。その例としては、エラー通知のための電子メールリスト、タイムアウトの時間値、「子」ロットとして取り扱われる、一ロット内で許容可能なウェハの最大数、コントローラエージェント350が使用する以前のレイヤ情報(フィードフォワード情報)などが挙げられる。
コントローラ・エージェント350は、グローバル設定変数に設定されたロット番号およびウェハの数についての値を使用して、ロット番号、ファミリーネーム、親の名前、工場、ウェハの数およびステータス(つまり、ロットが親ロットなのか、子ロットなのか)についての値を決定する。すでに決定されたコンテクストおよびRMS情報を、コントローラエージェント350が制御の動きを計算するのに用いる値を設定するために用いることができる。例えば、コントローラ・エージェント350は、RMS内に定義されている値に従った制御モデルパラメータの値を設定するためにコンテクスト情報(または「スレッド」指定)を用いることができる。特定の例としては、特定のエッチングチャンバのコンテクストに従った制御モデルにおいて使用されるエッチング速度のための値、およびRMSに定義されているそのエッチングチャンバのエッチング速度のための値を設定することがある。
さらに、コントローラ・エージェント350は、ロット番号およびレイヤ名による待ち行列(クエリー)を用いて、データ記憶装置360からフィードフォワード測定情報取り出すことができる。コントローラ・エージェント350は与えられたロットに関するデータ配列中の要素をチェックして、抜けている値をデフォルト値で充填する。例えば、コントローラ・エージェント350によって用いられるフィードフォワード情報の一部として必要な、欠落している測定値を設定するために、以前のプロセスの目標値が用いられる。デフォルト値を用いる代わりに、欠落しているフィードフォワード情報を設定する他の方法を実行することもできる。
コントローラ・エージェント350は、現在の制御スレッドに関連する制御状態を読み出すためにデータ記憶装置360を検索するのに必要なキーおよび状態構造(state structure)の値を設定する。このキーはデータ記憶装置360からスレッド状態データを読み出すために使用される。コントローラエージェント350は、このスレッドコンテクストで処理される最近のロットのための要求されたデータのスタック内でスレッド状態データを検索する。もしそのような値が見つかると、それらは制御モデルを含むユーザ定義関数に渡される。ユーザ定義関数は計算を行い、そのスレッド状態についての値を返す。スタック内で値が見つからないときは、コントローラエージェント350は階層構造(ヒエラルキー)を上方向にのぼって検索して、そのスレッド状態に対する値を有する最初の階層レベルからデータを読み出す。スタックおよびすべての階層レベルは類似であるが、精度の異なるデータを含むものと仮定される。
コントローラエージェント350は、データ記憶装置360内で照合を実行することにより危険チェック(jeopardy check)を実行して、危険スタック(つまり、最後の計測動作から与えられたスレッドにおいて処理されたロットのスタック)内のロット数についての値を読み出す。この値は、この危険カテゴリー内のロット数についての閾値、通常はRMS内に特定されている値、と比較される。もしこの危険閾値を超えていなければ、コントローラエージェント350は継続動作する。もしこの閾値を超えているときは、コントローラエージェント350は停止(アボート)し、オペレータに、現在のロットについての制御動作を決定する前に、危険スタック内のロットのリストからあるロットについての計測イベントを実行するように指示するポップアップディスプレイを送出する。
コントローラエージェント350は、上述のように、以前に決定された状態および目標情報からコントローラ入力(プロセスレシピの更新)を計算する。次にコントローラエージェント350は制御動作の結果を装置処理エージェント340に送り、それによりロット130の処理の前に処理装置115の動作レシピを更新する。
ある実施形態では、2以上のコントローラエージェント350がロット130の処理のために作成される。例えば、もし処理装置115がフォトリソグラフィーステッパであるとすると、一つのコントローラエージェント350がオーバーレイ制御のために呼び出され、他のコントローラエージェント350が限界寸法(CD)を制御するために呼び出される。複数のコントローラエージェント350は、露光線量、露光時間、焦点(フォーカス)などの様々なステッパパラメータを調整するために、処理されたウェハからのフィードバックを用いることができる。他の例においては、ポリシリコン層を形成するための装置のようなデポジション装置もまた、ポリシリコン粒径(グレインサイズ)およびポリシリコン層の厚さなどのパラメータを制御するために複数のコントローラエージェント350を持つことができる。
コントローラエージェント350が呼び出されたとき、個々のコントローラエージェント350のどれが制御動作を決定する必要があるかを決定するためにコンテクスト変数をチェックする。動作IDは実行されるべきプロセスを指し示す(例えば、ポリゲートマスク対第2層間絶縁膜マスク(ILD))。各コントローラエージェント350はある特定のコンテクスト状態においてのみ必要であり、それらのすべてのコンテクスト条件が適合したときにのみ動作する。例えば、CDコントローラエージェント350はポリゲートマスクのために動作するが、第2ILDマスク処理では動作しない。一方、オーバーレイ・コントローラエージェント350は両方のマスクイベントにおいて動作しうる。
本明細書で説明したように、エージェントベースの制御アーキテクチャの使用は、工場全体の効率を改善し、より総合的な自動化を提供する。より詳細には、自律的、能動的なソフトウェアエージェント265がロットのスケジュール作成および処理の実行をスケジュール作成し、始動する。一般的に、改良されたプロセス制御は製品のばらつきを低減し、それによって生産能力および利益率を向上させる。
これまでに開示した特定の実施形態は一例にすぎない。本明細書の教示による利益を得た当業者に明らかなように、本発明を変形することができ、また異なるが均等な方法で実施することができる。さらに、添付の特許請求の範囲の記載を除いては、本明細書に開示した構造または設計の詳細に、本発明を限定しようとする意図はない。従って、上述の特定の実施形態は改造または変更が可能であり、そのような変形物は本発明の範囲および精神の中にあるものとして考えられる。従って、保護を求める範囲は添付の特許請求の範囲に記載されるとおりである。
本発明に従って構成され、操作される第1処理フローの一実施形態の一部を示す概念図。 図1のコンピュータ装置のハードウェアおよびソフトウェアアーキテクチャの選択された部分をそれぞれ示す概念的部分ブロック図。 本発明に従って構成され、操作される第2処理フローにおける、スケジュール作成エージェント、処理エージェントおよびコントローラエージェントにエージェントを専門化した概念的部分ブロック図。

Claims (10)

  1. 動作レシピに従って加工品(130)を処理するように構成された処理装置(115)と、
    前記処理装置(115)内の前記加工品(130)の処理に関係する制御動作を決定するように構成されたコントローラ・エージェント(350)と、
    前記処理装置(115)および前記加工品(130)の少なくともどちらかに関連し、前記コントローラ・エージェント(350)にインターフェイスで接続して、前記制御動作を受信し、前記制御動作に基づいて動作レシピを作成するように構成される第1処理エージェント(320,340)とを備える、生産システム(100,300)。
  2. 前記処理装置(115)および前記加工品(130)の少なくともどちらかに関連し、前記第1処理エージェント(320,340)には関連しない第2処理エージェント(320,340)をさらに備え、前記第1処理エージェント(320,340)および第2処理エージェント(320,340)の少なくとも一方は前記コントローラ・エージェント(350)にインターフェイスで接続するように構成されている、請求項1記載の生産システム(100,300)。
  3. 前記第1処理エージェント(320)は前記加工品(130)と関係し、前記コントローラ・エージェント(350)とインターフェイスで接続され、前記制御動作を受信して、前記処理装置(115)と関連した前記第2処理エージェント(340)に対して前記制御動作を渡すように構成されており、前記第2処理エージェント(340)は前記制御動作に基づいて前記動作レシピを作成するように構成されている、請求項2記載の生産システム(100,300)。
  4. 前記コントローラ・エージェント(350)は前記加工品(130)および前記処理装置(115)の少なくとも一方に関するデータを受信して、制御モデルおよび前記受信データに基づいて前記制御動作を決定するように構成されている、請求項1記載の生産システム(100,300)。
  5. 前記第1処理エージェント(320)は前記加工品(130)に関するデータを前記コントローラ・エージェント(350)に供給するように構成され、前記第2処理エージェント(340)は前記処理装置(115)に関するデータを前記コントローラ・エージェント(350)に供給するように構成され、さらに前記コントローラ・エージェント(350)は前記制御モデル、前記加工品(130)に関連したデータおよび前記処理装置(115)に関連したデータに基づいて前記制御動作を決定するように構成されている、請求項4記載の生産システム(100,300)。
  6. 動作レシピに従って加工品(130)を処理するように構成された処理装置(115)を制御するための方法であって、
    前記処理装置(115)および前記加工品(130)の少なくともどちらかに関連付けられる第1処理エージェント(320,340)を作成するステップと、
    前記処理装置(115)内の前記加工品(130)の処理に関係する制御動作を決定するように構成されたコントローラ・エージェント(350)を作成するステップと、
    前記コントローラ・エージェント(350)に第1処理エージェント(320,340)をインターフェイスで接続して、前記制御動作を受信するステップと、
    前記第1処理エージェント(320,340)と前記処理装置(115)とをインターフェイスで接続して、前記制御動作に基づいて、前記動作レシピを作成するステップとを含む方法。
  7. 前記処理装置(115)および前記加工品(130)の少なくともどちらかに関連するが、前記第1処理エージェント(320,340)には関連しない第2処理エージェント(320,340)を作成するステップと、
    前記第1処理エージェント(320,340)および前記第2処理エージェント(320,340)の少なくとも一方を前記コントローラ・エージェント(350)にインターフェイスで接続するステップとをさらに含む、請求項6記載の方法。
  8. 前記第1処理エージェント(320)から前記第2処理エージェント(340)に対して前記制御動作を渡すステップと、
    前記制御動作に基づいて前記動作レシピを作成するために前記第2処理エージェント(340)および前記処理装置(115)をインターフェイスで接続するステップとをさらに含む、請求項7記載の方法。
  9. 前記加工品(130)および前記処理装置(115)の少なくとも一方に関するデータを前記コントローラ・エージェント(350)に提供するステップと、
    制御モデルおよび前記提供されたデータに基づいて前記制御動作を決定するステップと をさらに含む、請求項6記載の方法。
  10. 前記加工品(130)に関するデータを提供するために前記第1処理エージェント(320)と前記制御エージェント(350)とをインターフェイスで接続するステップと、
    前記処理装置(115)に関するデータを提供するために前記第2処理エージェント(340)を前記コントローラ・エージェント(350)にインターフェイスで接続するステップと、
    前記制御モデルと、前記処理装置(115)および前記加工品(130)に関連するデータとに基づいて前記制御動作を決定するステップとをさらに含む、請求項9記載の方法。
JP2003560805A 2002-01-10 2002-10-31 自動生産システム Expired - Lifetime JP4849773B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4464002A 2002-01-10 2002-01-10
US10/044,640 2002-01-10
PCT/US2002/034850 WO2003060779A1 (en) 2002-01-10 2002-10-31 Agent-based control architecture

Publications (3)

Publication Number Publication Date
JP2005515623A JP2005515623A (ja) 2005-05-26
JP2005515623A6 true JP2005515623A6 (ja) 2005-08-04
JP4849773B2 JP4849773B2 (ja) 2012-01-11

Family

ID=21933483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003560805A Expired - Lifetime JP4849773B2 (ja) 2002-01-10 2002-10-31 自動生産システム

Country Status (8)

Country Link
JP (1) JP4849773B2 (ja)
KR (1) KR100939329B1 (ja)
CN (1) CN100449551C (ja)
AU (1) AU2002343588A1 (ja)
DE (1) DE10297636B4 (ja)
GB (1) GB2400925B (ja)
TW (1) TWI312448B (ja)
WO (1) WO2003060779A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032348B2 (en) 2003-09-30 2011-10-04 Tokyo Electron Limited System and method for using first-principles simulation to facilitate a semiconductor manufacturing process
US8296687B2 (en) 2003-09-30 2012-10-23 Tokyo Electron Limited System and method for using first-principles simulation to analyze a process performed by a semiconductor processing tool
US8014991B2 (en) 2003-09-30 2011-09-06 Tokyo Electron Limited System and method for using first-principles simulation to characterize a semiconductor manufacturing process
US8036869B2 (en) 2003-09-30 2011-10-11 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process via a simulation result or a derived empirical model
US8073667B2 (en) * 2003-09-30 2011-12-06 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process
US7542880B2 (en) * 2006-04-06 2009-06-02 Advanced Micro Devices, Inc. Time weighted moving average filter
DE102007014970B3 (de) * 2007-03-28 2008-07-31 Siemens Ag Konfiguration von medizintechnischen Prozessen
DE102008035258A1 (de) * 2008-07-29 2010-03-25 Siemens Aktiengesellschaft Verfahren und Anordnung zum Prüfen der Datenkonsistenz einer technischen Anlage
DE102011109388A1 (de) * 2011-08-04 2013-02-07 Heidelberger Druckmaschinen Aktiengesellschaft Automatische Druckmaschinenverbesserung
CN104160383B (zh) * 2012-02-21 2017-05-24 应用材料公司 半导体工艺控制系统和半导体处理控制系统
US20130282333A1 (en) * 2012-04-23 2013-10-24 Abb Technology Ag Service port explorer
DE102019218623A1 (de) * 2019-11-29 2021-06-02 Sms Group Gmbh Steuerungssystem für eine industrielle Anlage, insbesondere für eine Anlage zur Herstellung oder Verarbeitung von metallischen Bändern oder Blechen und Verfahren zum Steuern einer industriellen Anlage, insbesondere einer Anlage zur Herstellung oder Verarbeitung von metallischen Bändern oder Blechen
US20230367302A1 (en) * 2022-05-11 2023-11-16 Applied Materials, Inc. Holistic analysis of multidimensional sensor data for substrate processing equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548505A (en) * 1994-07-15 1996-08-20 Oktrak Systems, Inc. Scrubber control system
JP4276711B2 (ja) * 1998-01-05 2009-06-10 株式会社日立国際電気 半導体製造装置制御システム
JP3002776B1 (ja) * 1998-07-16 2000-01-24 横河電機株式会社 生産システム及び生産システムにおける加工装置の選択方法
JP3704698B2 (ja) * 1998-08-12 2005-10-12 横河電機株式会社 生産システム
JP2000158297A (ja) * 1998-12-01 2000-06-13 Dainippon Screen Mfg Co Ltd ジョブ管理システム、ジョブ管理方法および記録媒体
US6485990B1 (en) * 2000-01-04 2002-11-26 Advanced Micro Devices, Inc. Feed-forward control of an etch processing tool
JP2001338856A (ja) * 2000-05-30 2001-12-07 Tokyo Seimitsu Co Ltd 半導体製造システムのプロセスコントローラ
US6694275B1 (en) * 2000-06-02 2004-02-17 Timbre Technologies, Inc. Profiler business model

Similar Documents

Publication Publication Date Title
JP4849773B2 (ja) 自動生産システム
US6950716B2 (en) Dynamic control of wafer processing paths in semiconductor manufacturing processes
KR100779436B1 (ko) 컴퓨터 집적 제조 기술
JP4261190B2 (ja) ベースライン制御スクリプトを用いてツールを制御するための方法および装置
JP5124444B2 (ja) 自動ジョブ管理
JP2005515623A6 (ja) 自動生産システム
McGehee et al. The MMST computer-integrated manufacturing system framework
JP2003520435A (ja) Fdc半導体製造プロセスからトレースデータ報告を要求する方法
JP2008516447A (ja) 利用可能なメトロロジーキャパシティに基づいてメトロロジーサンプリングを動的に調整する方法およびシステム
US6785586B1 (en) Method and apparatus for adaptively scheduling tool maintenance
US6801817B1 (en) Method and apparatus for integrating multiple process controllers
Azaiez et al. Towards building OPC-UA companions for semi-conductor domain
JP2008508635A (ja) 例外条件をクリアする材料を優先する方法およびシステム
Lee Semiconductor manufacturing automation
Sande et al. Implementation of OPC UA communication traffic control for analog values in an automation device with embedded OPC UA servers
US7340318B1 (en) Method and apparatus for assessing controller performance
KR101169038B1 (ko) 예외 상황들을 해소하기 위해 재료에 우선순위를 정하기위한 방법 및 시스템
US7263408B1 (en) Method and system for converting tool process ability based upon work in progress characteristics
Park et al. High-fidelity rapid prototyping of the real-time fab operations through discrete event system modeling
Toprac et al. The status and future of APC software.(Manufacturing Software)
Mason et al. 5204 East Ben White Boulevard, Mailstop 612