(58)【調査した分野】(Int.Cl.,DB名)
前記コントローラは、前記探索木の選択された前記分岐経路における一又はそれ以上の識別された前記後続の動作を実行するように前記半導体処理システムに命令するようにプログラムされる、請求項1に記載の半導体処理システム。
前記コントローラは、処理のボトルネックを生じる分岐経路にネガティブな又はわずかな重みを割り当てることにより、処理のボトルネックを生じる前記探索木の分岐経路にペナルティを科すようにプログラムされる、請求項1に記載の半導体処理システム。
前記コントローラは、前記一又はそれ以上の基板の処理シーケンスにおいて最大数の工程を完了するための最短時間を有する前記分岐経路を選択するようにプログラムされる、請求項1に記載の半導体処理システム。
複数のボートをさらに備え、各ボートは、複数の基板を支持するように構成され、前記半導体処理システムの前記現在の状態は、さらに、前記複数のボートの位置により定義され、前記半導体処理システムの前記現在の状態は、さらに、
各ボートを冷却するようにスケジュールされる時間、及び
各ボートの後続の処理工程
の少なくとも1つにより定義される、請求項1に記載の半導体処理システム。
前記半導体処理システムは、クラスタツール処理システムであり、前記半導体処理システムは、前記コントローラと通信する複数の基板処理ステーションをさらに含む請求項1に記載の半導体処理システム。
【発明を実施するための形態】
【0010】
特定の実施形態の以下の詳細な説明は、本発明の特定の実施形態の様々な説明を表す。しかし、本発明は、特許請求の範囲により規定され、かつカバーされる多数の異なる手法で具体化されうる。本明細書では、図面に参照番号が付され、同じ参照番号は、同一の又は機能的に同様な要素を示す。
【0011】
処理システムは、入力/出力位置、処理位置、収納位置及び中間位置のような複数の基板位置を含んでもよいことが理解されるであろう。また、処理システムは、各種の位置に基板を移動する複数の装置を含んでもよい。システムを通じて基板の行程をスケジュールすることは、各種のシーケンスを用いて行われることができ、そのいくつかは、特定の時間、つまり処理システムのスループットで処理される多数の基板を得ることに十分であるが、それ以外は不十分であり、過密、ボトルネック又はデッドロックを招く可能性がある。スケジューリングの様々な方法が用いられる。いくつかの方法では、例えば、最適にスケジュールしたシーケンスを求めるためにシステムの動作前に事前にシミュレーションが行われ、その後、このシーケンスが実行される。実行時にはさらなる調整はなされない。他の方法の例では、コントローラは、プレシーケンサー又は予見機能を用い、事前に混雑を認識し、基板を保持位置へ移送し、処理の完了のための最速の時間でこれらの基板をリスケジュールする。しかし、これらの方法は、あまりフレキシブルではなく、例えば、処理条件が予想外に変化するときのような変化する条件下で、例えば、高スループット等の所望の処理の目的を維持する処理シーケンスを提供することができない。有利には、本明細書に開示される様々な実施形態は、変化する条件下で所望の処理目的を維持するためのシーケンスを実行及び調整することができる処理システムのためのスケジューラを提供する。いくつかの実施形態では、処理目的及び実行されるシーケンスは、処理条件の変化に応じてシーケンスを実行中に変更されてもよい。
【0012】
本明細書に開示される実施形態は、処理システムの処理及び/又は動作をスケジュールするシステム及び方法に関する。本明細書で説明されるように、ウェーハ又は基板は、完成したウェーハ又は基板を製造するために異なる処理ステーションにおいて多数のプロセスを経てもよい。電子的なコントローラ又はスケジューラは、システムスループットを改善するために、一又はそれ以上のボート(ボートラックとしても本明細書で示される)における基板のプロセスフローを自動化するために用いられてもよい。高いシステムスループットを維持するために望まれるため、例えば、基板のボートの移動及び処理をスケジュールすることを含むスループットを上げるシステムの動作をスケジュール可能なコントローラに対して継続することの需要が存在する。
【0013】
例えば、いくつかの実施形態では、例えば、システムのリアクタモジュールのようなシステムの現在の状態又はシステムの一部の現在の状態が判定されてもよい。現在の状態は、システム又はシステムの一部における基板の位置及び処理状態と共に、システム又はシステムの一部(例えば、ロボット、リアクタ等)における装備の状態(例えば、位置、実行されるタスク等)を含んでもよい。判定された現在の状態に基づいて、例えば、プログラムされたプロセッサのようなコントローラは、可能性のある動作の一又はそれ以上の分岐を有する探索木を生成してもよく、各分岐は、現在の状態でのシステムにより実行可能な一又はそれ以上の後続の動作を識別する。各分岐は、別の後続の動作を含む一又はそれ以上のサブ分岐への別の分岐を含んでもよい。各分岐及びサブ分岐は、もしあれば、システムにより実行されてもよい別の継続的な動作を示す一又はそれ以上の分岐経路を形成してもよい。生成された探索木の各分岐経路は、分岐経路がどちらに及びどのようにシステムスループット(又は他の所望の基準)を改善するかに基づいて点数化されてもよく、探索木の分岐経路は、分岐経路の点数の少なくとも一部に基づいて選択されてもよい。システムは、その後、探索木の選択された分岐経路における動作を実行してもよい。したがって、いくつかの実施形態では、システムスループット及び効率は、現在のシステム状態及びシステムが現在の状態にあるときに実行される後続の動作の知見を用いることにより改善されてもよい。
【0014】
処理システム
図1A及び1Bは、例えば、デュアルリアクタモジュール(dual reactor module(DRM))のような2つのリアクタを有する半導体処理システム201と共に、例えば基板を移動及び一時的に収納するための追加の補助装備の一例を示す。特に、
図1Aは、半導体処理システム201の概念的な斜視図である。
図1Bは、いくつかの実施形態に係る
図1Aの半導体処理システム201の平面図である。基板は、例えば、使用される基板ホルダの種類に応じて、垂直又は水平方向を含む様々な方向にシステム201内で処理されることを理解すべきである。基板113は、水平な構成で
図1Aに示される。いくつかの実施形態では、基板113は、垂直向きに処理されてもよい。
【0015】
半導体処理システム201は、ハウジング102を含み、一般的には、いわゆる“クリーンルーム”で搭載されてもよい。ハウジング102は、様々なプロセスが基板に実行されるリアクタ領域又はチャンバ121を含んでもよい。中間収納チャンバ121は、パーティション102と103との間のハウジング102に配置されてもよい。初期収納チャンバ123は、ハウジング102のパーティション104と105との間に配置されてもよい。入出力ステーション(IOステーション)133は、基板を処理システム201に導入するために初期収納チャンバに隣接して設けられてもよい。
【0016】
図1Aの処理システム201は、例えば、システム201が、リアクタチャンバ121に配置される第1のリアクタ106及び第2のリアクタ107のような2つのリアクタを含むデュアルリアクタモジュール(dual reactor module (DRM))を示す。
図1Aに示される実施形態では、第1のリアクタ106及び第2のリアクタ107は、ファーネスであるが、リアクタ106及び107は、堆積チャンバ、リソグラフィステーション、エッチングステーション等を含む適切なリアクタ又は処理ステーションであってもよいが、これらに限定されない。リアクタ106及び107は、垂直に配置され、基板113が充填された基板ボート112は、リアクタ106及び107の下から垂直方向にリアクタ106及び107に導入されてもよい。この目的を達成するために、各リアクタは、垂直方向に移動可能なエレベータ114を有してもよい。第2のリアクタ107に対応する1つのエレベータ114のみが
図1Aで見られるが、第1のリアクタ106もまたエレベータ114を含んでもよいことを理解すべきである。ボート112は、下部に絶縁プラグが設けられ、詳細には説明しないが、ボートとファーネスとの間にシールを提供する。
【0017】
本明細書に記載されるように、回転可能なカルーセル111は、カットアウト115が設けられ、リアクタ106及び107の下部に位置づけられてもよい。カルーセル111は、基板のボートを支持するように構成される少なくとも2つのカルーセル位置を含んでもよい。また、カルーセル111は、第1のリアクタ106と第2のリアクタ107との間に基板113のボート112を移送するように構成されてもよく、その逆でもよい。例えば、カルーセル111は、2つのリアクタ間又はロボットアームのようなボート移送装置116へボート112を移動するために、例えば、90°又は180°の適切な角度で回転してもよい。カットアウト115は、カットアウト115が正しい位置にもたらされた場合に、エレベータ112がカットアウト115を通じて上昇及び下降することができるような形状である。一方、ボート112の下部の直径は、当該直径がカルーセル111のカットアウト115よりも大きくなるような大きさであってもよく、エレベータが
図1Aに示される位置から下に移動するときに、ボート112は、カルーセル111に配置され、逆の動作で再びそこから取り除かれてもよい。
【0018】
ボート112は、第1のリアクタ106及び第2のリアクタ107の両方に供給されてもよく、様々な処理がボート内で行われてもよい。いくつかの実施形態では、ボート112の平行なグループは、第1のリアクタ106により独占的に処理される、及び/又は第2のリアクタ107により独占的に処理されてもよい。ボート112は、基板113に提供されてもよい。例えば、基板113は、IOステーション133から移送カセット110に供給され、アーム131を用いて閉じることが可能な開口134を通じて収納ステーション108に配置されてもよい。アーム131は、ロータリープラットホーム127の一連のカットアウト126のものよりも直径が小さいベアリング表面132を含む。このような複数のロータリープラットホーム127は、収納ステーション108の垂直方向に上下に設けられてもよい。アーム131は、高さアジャスター135を用いて垂直方向に移動可能であってもよい。アーム131は、アーム131が、IOステーション133と収納ステーション108との間でカセット110をピックアップ又はリムーブするように搭載されてもよい。アーム131は、また、収納ステーション108とロータリープラットホーム130との間でカセットを移動してもよい。ロータリープラットホーム130は、回転時に、カセット110が、開口107が形成されるパーティション104の反対に配置され、カセット110が開いた後に、基板113は、基板ハンドリングロボット124によりカセット110から取られ、中間収納チャンバ122に配置されるボート112に配置されてもよい。ボート112は、中間収納チャンバ122に配置されている間、端部にベアリング表面117が提供されるボート移送装置116(例えば、ロボットアーム)により支持され、その大きさは、再びカットアウト115よりも若干小さい。移送装置116は、リアクタチャンバ121のカルーセル111にボート112を配置するためにパーティション103のクロージャー119を通じてボート112を移動してもよい。クロージャー119は、チャンバ122及び123から中間収納チャンバ121を閉じることを可能にするために設けられる。
【0019】
様々な種類の処理を行うために、
図1Aに図示されるオペレータ140は、多数のカセット110を導入し、パネル136で制御操作を行うことにより、収納ステーション108をロードする。各カセット110は、アーム131を用いて、IOステーション133から、収納ステーション108のこれらのカセット110のために作られた収納区画109に移送されてもよい。これは、開口134を通じてIOステーション133から関連するカセット110を取り除く位置から開始し、カセット110は、その後、収納ステーション108のより高い区画109へ移動するために上部へ移動されることを意味する。収納ステーション108の回転により、カセット110を有する個々の区画109を充填することができる。
【0020】
カセット110は、その後、アーム131により収納ステーション108から取り出され、ロータリープラットホーム130に配置されてもよい。カセット110は、ロータリープラットホーム130で回転され、パーティション104の反対側に配置されてもよい。基板ハンドリングロボット124を用いて、基板113は、取り出され、ボート移送装置116又はその近傍に配置される基板ボート112に配置されてもよい。その間に、本明細書で説明されたように、カルーセル111は、リアクタチャンバ121の内部に存在する基板113で行われる処理に関するリアクタチャンバ121に移動することができる。ボート112が中間収納チャンバ122に充填され、かつリアクタ106,107の一方が利用可能になった後、この時点で閉じられている開口119が開かれ、充填された基板ボート112は、ボート移送装置116(例えば、ロボットアーム)のような適切なボート移送装置を用いてカルーセル111に配置されてもよい。カルーセル111は、その後、回転され、充填された基板ボート112は、カルーセル111から取り出され、リアクタ106又は107の一方へ移動されてもよい。リアクタ106及び/又は107での処理の後に、充填されたボート112において、処理された基板113は、基板113をリアクタ106,107へロードするための上述したものの反対側への移動を用いてリアクタ106,107から取り出される。
【0021】
図2A−2Eは、いくつかの実施形態に係る半導体処理システムの別の実施例を示す。よって、
図2A及び2Bのシステム101のパーツは、
図1Aのシステム201と類似又は同一のものであってもよい。
図2Aは、半導体処理システム101の概念的な斜視図である。処理システムは、通常、システムコンポーネントを取り囲むハウジング102を含んでもよい。
図2Aのシステム101は、2つのデュアルリアクタモジュール(DRMs)を含んでもよい。第1のDRMは、第1のハウジング102a内に収容され、第2のDRMは、第2のハウジング102b内に収容される。第1のハウジング102a内に、システム101は、リアクタチャンバの一又はそれ以上のリアクタを含んでもよい。
図2Aに示されるように、システム101は、第1のDRMを形成するために、第1のハウジング102a内に第1のリアクタ106a及び第2のリアクタ107aを含んでもよい。さらに、システム101は、また、第2のDRMを形成するために、第2のハウジング102b内に別の第1のリアクタ106b及び第2のリアクタ107bを含んでもよい。
図2Aでは、第1のリアクタ106a,106b及び第2のリアクタ107a,bは、例えば、堆積プロセスを行うファーネスであるが、リアクタ106a,106b及びリアクタ107a,bは、単一の基板リアクタ、エッチングステーション、リソグラフィマシーン等を含む任意の他の適切なプロセスステーションであってもよいが、これらに限定されない。回転可能なカルーセル111a及び111bは、リアクタ106a,106b及びリアクタ107a,bの各対の下に配置されてもよい。
【0022】
マルチアームロボットのようなマニピュレータ165は、交換位置141a及び141bに位置する収納ステーション108a,108b,108c,108dとボート112a,112bとで基板を移送するように構成されてもよい。各ボート112は、多数の基板ホルダー118を保持してもよく、各基板ホルダー118は、
図2C−2Eにさらに示すような基板113のバッチを収容する。マニピュレータ165又は他のシステムマシナリーは、交換位置141a及び141bに位置する収納ステーション108a−108dとボート112a及び112bのそれぞれとの間で、基板を有する基板ホルダー118を移動してもよい。
図2Aに示すように、基板のバッチ(例えば、集積回路及び/又は太陽電池及び関連するデバイスを形成するための基板を含む半導体基板)を有する複数の基板ホルダーを保持するボート112a及び112bは、処理するためにリアクタへ搬送される前に、交換位置141a及び141bに位置してもよい。いくつかの実施形態では、ボート112a及び112bは、10又はそれ以上、50又はそれ以上、100又はそれ以上の基板を保持してもよい(
図2D及び2E参照)。基板113を有する基板ホルダー118がボート112a及び112bに搬送されると、ボート112a及び112bは、カルーセル111a,111bに搬送され、カルーセル111a,111bは、ボート112a及び112bをリアクタ106a,106b,107a,又は107bの下部に位置付けるように回転されてもよい。様々な実施形態において、ボート移送装置(
図2Aには図示せず、例えば、
図1A及び4のロボットアーム116を参照)は、交換位置141a,141bとカルーセル111a,111bとの間でボート112a及び112bを移動してもよい。別の実施形態では、カルーセル111a,111bは、別々の装置が、ボート112a,112bを交換位置141a,141bからカルーセル111a,111bへ移動するために必要とならないように、交換位置141a,141bの下のカルーセル位置を含んでもよい。
【0023】
エレベータ(図示せず、例えば、
図4参照)は、処理のためにリアクタ106a, 106b, 107a,及び107bへの開口を通じてボート112a,112bを上昇させるために採用されてもよい。リアクタ106a, 106b, 107a,及び107dの処理が完了したとき、エレベータは、ボート112a,112bをカルーセル111a,111bへ下降させ、ボート112a,112bの処理済みの基板は、別の処理のためにボート112a,112bからアンロードされてもよい。基板がボート112a,112bに加えられる又は取り除かれると、カルーセル111a,111bは、ボート112a,112bを処理のために適切な位置へ回転してもよい。
【0024】
収容ステーション108c, 108dを含む入出力ステーション(IOステーション)133は、基板を処理システム101へ導入するために設けられてもよい。処理システム101は、また、コントローラ120を含んでもよく、プロセッサ及びメモリを有するコンピュータを含んでもよい。コントローラ120は、本明細書に記載される様々な処理システムコンポーネントと電気的に通信してもよく、又はそれらのコンポーネントへ動作命令を提供するために様々なコンポーネントと通信するように構成されてもよい。オペレータは、コントローラ120を操作するため又はコントローラ120へ命令を提供するためにインターフェースパネル136を用いてもよい。動作において、いくつかの実施形態では、オペレータは、インターフェースパネルを用いて所望の処理シーケンスを開始してもよい。例えば、マニピュレータ165は、未処理の基板113で充填された基板ホルダー118を有するボート112a,112bをロードしてもよく、及び/又はボート搬送装置116は、処理済みの基板のボート112a,112bを、処理済みの基板が未処理の基板と交換されうる交換ステーション141a,141bに交換してもよい。未処理の基板のボート112a,112bでロードされると、ボート搬送装置116は、ボート112a,112bを交換位置からカルーセル111a,111bの前の位置へ移送してもよい。カルーセル111a,111bは、その後、ボート112a,112bをリアクタ106a,106b,107a又は107bの下に位置付けるために、例えば、90°のような適切な角度で回転されてもよい。エレベータは、その後、開口を通じて、処理のためにリアクタ106a,106b,107a又は107bへボートを上昇させてもよい。処理の後に、ボート112a,112bは、エレベータを用いて処理済みのボート112a,112bをカルーセル111a,111bに下降させることにより、リアクタ106a,106b,107a又は107b及びシステム101から取り除かれてもよい。カルーセル111a,111bは、ボート112a,112bをカルーセル111a,111bの前の位置へ回転してもよく、ボート搬送装置は、処理済みのボート112a,112bをカルーセル111a,111bから交換位置141a,141bへ移送してもよく、ここで処理済みの基板を有する基板ホルダーは、マニピュレータ165により、ボート112a,112bから、例えば、IOステーション133の収容ステーション108c,108dへアンロードされてもよい。基板を有する基板ホルダー118は、その後、別の処理のためにシステム101から取り除かれてもよい。
【0025】
図2Bは、
図2Aに示されるシステム101のDRMの平面図である。
図2Bに示すように、カルーセル111は、4つのカルーセル位置を含んでもよい。例えば、カルーセル111は、ボート移送装置116から基板のボート112を受け取るように構成されるフロントカルーセル位置151を含んでもよい。ボート移送装置116は、適切な数の自由度を有するロボットアームを含んでもよい。ボート移送装置116は、基板のボート112を指示し、交換位置141において、ボート112を交換位置141からフロントカルーセル位置151へ移動してもよい。本明細書で説明されたように、処理済みの基板は、交換位置141において、未処理の基板のために交換されてもよい。カルーセル111は、また、第1のリアクタカルーセル位置155と、第2のリアクタカルーセル位置156と、を含んでもよい。第1のリアクタカルーセル位置155は、第1のリアクタ106の下に位置付けられてもよく、第2のリアクタカルーセル位置157は、例えば、
図2Aの実施形態について上記で開示された第2のリアクタ107のような第2のリアクタ107の下に位置付けられてもよい。ボート112がフロントカルーセル位置151で受け取られると、カルーセル111は、ボート112を第1のリアクタ106の下に位置付けるために時計回りに90°回転されてもよく、又はボート112を第2のリアクタ107の下に位置付けるために反時計回りに90°回転されてもよい。例えば、ボート112が第1のカルーセル位置155へ回転された場合、第1のボートエレベータ114aは、ボート112を第1のリアクタ106へ上昇させるために用いられてもよい。ボート112が第2のカルーセル位置157へ回転された場合、第2のボートエレベータ114bは、ボート112を、処理のために第2のリアクタ107へ上昇させるために用いられてもよい。様々な実施形態において、カルーセル111は、カルーセル111の後方の近傍にあるリアカルーセル位置153を含んでもよい。リアカルーセル位置153は、スタンバイ位置でボート112を保持するために用いられてもよい。様々な実施形態において、ボート112は、リアカルーセル位置153にある間、冷却されてもよい。別の実施形態では、カルーセル111は、2又は3の位置のみを含んでもよく、さらに別の実施形態では、カルーセル111は、4つ以上のカルーセル位置を含んでもよい。
【0026】
図2C及び2Dは、
図2Aのシステム101と共に用いられるリアクタ106及びボート112の斜視図を示す。例えば、リアクタ106は、
図2Aのシステムのリアクタ106a,106b,107a,又は107bとして実装されてもよい。リアクタ106及びボート112は、また、本明細書で開示される他の実施形態で用いられてもよい。
図2Cのリアクタ106は、太陽電池基板を処理するための様々な実施形態において使用されてもよい。いくつかの他の実施形態では、リアクタ106は、集積回路を処理するために使用されてもよい。
図2Dに示すように、例えば、ボート112は、基板113のアレイを支持するように構成される複数の基板ホルダー118を含んでもよい(
図2A)。ボート112は、処理のために、開口142を通じてリアクタ106へ垂直に移動されてもよい。
【0027】
図2Eは、ボート112にロードされる基板113のバッチの概念的な斜視図である。図示された基板113は、正方形又は矩形状であるが、基板113は、円形のような任意の適切な形状であってもよいことが理解されるべきである。また、図示された基板113は、太陽電池基板であるが、集積回路基板又は他の適切な基板であってもよい。基板113は、
図2Eにおいて基板ホルダー118に垂直に向けられてもよい。
【0028】
当業者は、上記に対して多数の変更が可能であることを理解するであろう。例えば、1つのリアクタで十分であってもよく、2つ以上のリアクタが存在してもよい。収納ステーションは、異なる構成であってもよく、様々な移動機構の移送装置及びマニピュレータは、システムパラメータに応じて同様に調整されてもよい。
【0029】
基板の処理をスケジュールするシステム及び方法
図1A−1B及び2A−2Eについて示されるように、処理の各種の段階における基板は、様々な機構によりステーションからステーションへ移動されてもよい。高スループットを提供するために、効率の良い処理を提供するために、システムの現在の状態に基づいて、システムにおける処理ステーションと関連する装備との間での基板の移動(例えば、ボートにロードされた基板)を計画することが有利である。例えば、ボートがリアクタ内で処理されているときには、通常、他のボートは、リアクタ内に導入されない。しかし、システムを効率良く動作させるために、処理されるボートがリアクタ内にある間に、他の動作が取られてもよい。例えば、後続のボートは、ボート移送装置にロードされてもよく、又は直近で処理されたボートは、そのボートの基板を冷却可能にするために、リアカルーセル位置へ回転されてもよい。すなわち、移動を効果的に計画し、システムを通じてボートを処理することにより、スループットが有益に向上される。
【0030】
上述したように、様々な実施形態では、(例えば、
図2Aで示されるような)コントローラ120は、処理システムの現在の状態に基づいて、処理シーケンス及び基板の移動をスケジュールしてもよい。通常、処理シーケンス時の時間の任意の時点において、コントローラ120は、現在の状態にあるときに、どの動作をシステムが取るかを判定してもよく、例えば、ボートをリアクタに移動可能又はボートをリアクタから取り除くことが可能であるかどうか、若しくは基板のボートが交換位置で交換されたかどうかを判定する。本明細書で説明されるように、さらなる動作が可能であってもよい。各取り得る動作は、コントローラ120によりシミュレーションされてもよく、コントローラは、取り得る後続の動作の探索木を形成してもよい。
図2Aに示されるコントローラ120は、例えば、ハウジング102a及び102bの両方のリアクタ及びマニピュレータ165を含む
図2Aに示される両方のDRMのような一又はそれ以上のDRMを制御するようにプログラムされてもよい。別の構成では、しかし、各DRMは、独自のコントローラを有してもよい。例えば、第1のコントローラは、第1のハウジング102aにおいて、リアクタ106a,107aの動作を制御することができ、第2のコントローラは、第2のハウジング102bにおいて、リアクタ106b,107bの動作を制御することができる。様々な実施形態では、コントローラは、所定の計画対象期間(time horizon)又は“予見時間(look−ahead time)”で探索木を体系的に調査してもよい。探索木の各分岐は、点数化されてもよく、最も良い点数の分岐が選択されてもよい。選択された分岐における動作は、その後、システムにより実行されてもよい。よって、システムコントローラは、システムの現在の状態及びシステムのシミュレートされた後続の状態に基づいて、リアルタイムで処理シーケンスをスケジュールしてもよく、当該シミュレーションは、特定の所定の計画対象期間内まで及ぶ。
【0031】
図3は、例えば、リアクタ及び処理システムに関連付けられたシステムの様々な構成要素のような処理システムの動作をスケジュール及び制御するための一つの方法300を示すフローチャートである。例えば、方法300は、ブロック302で開始し、システムの現在の状態を判定する。通常、システムの状態は、一又はそれ以上ボートの位置及び一又はそれ以上のボートのそれぞれの処理状態により少なくとも定義されてもよい。また、様々な実施形態では、システムの状態は、処理システムの他の装備の状態により定義されてもよく、時間成分を含んでもよい。例えば、時間成分は、リアクタがボートを受け取るために利用可能であるまでの時間、及び/又はボートがリアクタの一方を離れるため(例えば、処理後)にスケジュールされる時間を含んでもよい。さらに、現在の状態は、処理が、リアクタの一方で継続するようにスケジュールされる時間に基づいてもよい。例えば、状態は、リアクタ1のボート1が10分の処理時間を有しているが、リアクタ2のボート2は処理を完了していると判定することにより部分的に定義されてもよく、例えば、ボート2の基板は、2分の冷却時間を有している、又は別のボートは、ボート2の次の位置にあり、ボート2が別のボートに移動することを2分間妨げる。システムの状態は、エレベータの位置により部分的に定義されてもよい。例えば、エレベータは、リアクタの近傍の上昇位置、カルーセルの近傍の下降位置又は上又は下に移動する間の中間位置にあってもよい。さらに、システムの状態は、例えば、リアクタからの熱いボートをアンロードした後に、ボートは、ボートから基板を取り除く前に後続の冷却期間のためにスケジュールされるというような、処理後に各ボートが冷却されるようにスケジュールされる時間に基づいて判定されてもよい。また、システムの状態は、例えば、カルーセル位置がボートを現在支持している、及び/又はカルーセル上のボートの処理状態のようなカルーセルの向きにより部分的に定義されてもよい。他の実施形態、例えば、処理システムが単一のウェーハクラスタツールである実施形態では、状態は、一又はそれ以上の基板の位置及び一又はそれ以上の基板の処理状態により定義されてもよい。また、このような実施形態では、システムの状態は、リアクタ及びロボットのような移動パーツを含む処理システムの他の装備の状態によりさらに定義されてもよく、残りの処理時間等に関する時間成分を含んでもよい。
【0032】
図4は、特定の現在の状態における処理システム401を概念的に示す。
図1A−1B及び2A−2Eのように、システム401は、交換位置141とハウジング102とに位置付けられるボート移送装置116を含んでもよい。収納ステーション108は、基板が収納ステーション108と交換位置141とで移動するように、交換位置に隣接して位置付けられてもよい。複数のボート112は、システム401内に配置されてもよいが、この実施例のためには、第1のボート112a及び第2のボート112bのみが考慮されるであろう。例えば、
図4に示されるシステム401の状態は、第1のボート112aの位置及び処理状態並びに第2のボート112bの位置及び処理状態により定義されてもよい。
図4の目的のために、第1のボート112aは、処理ステップの完了後に、第1のリアクタ106でスタンバイ処理を受けており、第2のボート112bは、空のボートであり、カルーセル111のフロントカルーセル位置151に位置付けられる。図示されるように、エレベータ114a及び114bの両方は、“下降”位置にある。
【0033】
方法300(
図3)は、ブロック304へ進み、一又はそれ以上の分岐を有する探索木を生成する。本明細書に説明されるように、探索木の各分岐は、システムが現在の状態にあるときに実行可能な一又はそれ以上の後続の動作を識別してもよい。
図4の例について簡素化するために、第2のリアクタ107及びそのボートエレベータ114bの存在が無視される。しかし、開示されたスケジューリング処理は、複数のリアクタにより実行され、多数の分岐及び取り得る動作を有する大きな探索木を得ることが理解されるべきである。
【0034】
第2のリアクタ107を無視して、
図5は、
図4に示されるシステム401の与えられた現在の状態の探索木550の一例を示す。コントローラは、所定の計画対象期間についての探索木550を生成してもよい。所定の計画対象期間がない場合には、コントローラは、取り得る動作の数が、計画対象期間により指数関数的に増長し、コントローラの処理時間を増加させるように、異常に長い期間で探索木550において予見する。計画対象期間を制限することにより、コントローラは、取られる可能性のある動作を分析するための管理可能なタイムウインドウを形成してもよく、これは、処理時間の低減、及び処理シーケンスの最中に次に動作が選択されることを可能にするリアルタイム分析を行う機能の促進の両方を行ってもよい。所定の計画対象期間は、適切な時間であってもよい。例えば、計画対象期間は、約10分から約45分の範囲内であってもよい。他の実施形態では、計画対象期間は、約15分から約35分の範囲内であってもよい。いくつかの実施形態では、計画対象期間は、例えば、ボートの基板に材料の層を堆積するような特定のプロセスを実行するために必要な時間のような特定のプロセスの期間に基づいて選択されてもよい。
図4及び5の例では、探索木550を生成するために15分間の計画対象期間が用いられる。よって、コントローラは、15分間の計画対象期間内で開始される全ての取り得る動作を予見する。なお、例えば、リアクタからボートを下降する一方で、ボートがカルーセル位置に既に存在する場合や、別のボートが既に存在するリアクタにボートを挿入する場合等のように、いくつかの動作は、行われることができないことを留意する。このような動作は、ブロック304を実行するときの考慮から除かれる。さらに、いくつかの実施形態では、無用な又は非生産的な動作は、方法300のブロック304を実行するときに考慮されない。開示された実施形態の目的の1つがシステムスループットを改善することであるため、コントローラは、例えば、コントローラが、理論的には実行可能であるが、システムの基板の処理を進めない些細な動作を考慮しないというような基板の処理を進める動作のみを考慮してもよい。例えば、空のカルーセルを回転する又は取り除いた後に直ぐにカルーセルにボートを配置する等は、考慮されなくてもよい。一般的には、システムを前に行われた状態にする動作は、非生産的であると考慮される。これらの動作は、現在の状態で理論的には可能であるが、基板の処理に影響を与えない。
【0035】
図5では、ブロック552は、例えば、
図4に示されるシステムスナップショットにおいて示されるような現在の状態のようなシステムの現在の状態を示す。現在の状態では、第1のボート112aは、リアクタ106の処理ステップを完了した後に、第1のリアクタ106(
図4)のスタンバイ処理を受けている。また、第2のボート112bは、フロントカルーセル位置151において空となり、かつ位置付けられる。
図5に示すように、コントローラが、システムが
図4に示される現在の状態にあるとして選択可能である様々な取り得る動作(例えば、5つの動作は無用又は非生産的である)が存在する。各分岐は、取り得る動作を探索木550の一又はそれ以上の分岐と関連付けることにより生成されてもよい。よって、現在の状態での各取り得る動作は、例えば、分岐1A、分岐1B、分岐1C、分岐1D、分岐1E又は分岐1Fのような探索木550の1つの分岐に対応してもよい。各分岐は、さらに、一又はそれ以上のサブ動作を含む一又はそれ以上のサブ分岐に分岐してもよく、それに替えて、各分岐は、1つの動作のみを含んでもよい。よって、本明細書で使用されるように、分岐は、システムが現在の状態にあるときに行われる開始動作(イニシャル動作)を示してもよい。各分岐は、一又はそれ以上のサブ動作又はそれらのサブ動作に基づくさらなる動作に対応する一又はそれ以上のサブ分岐を含んでもよい。
【0036】
各分岐及び取り得る一連の連続するサブ分岐は、一又はそれ以上の分岐経路を形成してもよく、各分岐経路は、システムにより行われてもよい一連の連続する動作又は連続する動作のシーケンスから形成される。実際には、
図5に示すように、各分岐経路は、連続する動作の複数のレベルを含むことができる。分岐内のサブ分岐及び動作のそれぞれは、分岐又は特定の動作のそれぞれでの全ての動作を行うために必要な時間に対応する、関連付けられた期間を有してもよい。また、各分岐は、単一の関連付けられた動作又は動作が共に行われる場合に、複数の動作を有してもよい。例えば、分岐経路は、所定の計画対象期間に取られる連続する動作の経路を示してもよい。例えば、
図5は、6つの分岐−分岐1A、1B、1C、1D、1E及び1Fを示す。分岐経路の例は、例えば、ブロック552の現在の状態で開始し、計画対象期間が完了した時点でブロック553、559及び562へ進む。多くの他の分岐経路がブロック552に示される現在の状態で取り得ることが理解されるべきである。
【0037】
すなわち、本明細書で説明されたように、分岐(例えば、分岐1A−1F)は、システムが現在の状態で取られうる動作を記述してもよい。各分岐は、分岐から延びる一又はそれ以上のサブ分岐を含んでもよい。分岐経路は、一連の一又はそれ以上の連続する動作により形成されることができる。例えば、1つの分岐経路は、ブロック553、559及び562により与えられる3つの連続する動作を含んでもよい。別の分岐経路は、ブロック553、559及び560により与えられる3つの連続する動作を含んでもよい。さらに別の分岐経路は、例えば、所定の計画対象期間がブロック559の後に続かない実施形態では、ブロック553及び559により与えられる2つの連続する動作を含んでもよい。実際には、さらに別の分岐経路は、例えば、所定の計画対象期間がブロック558の後に続かない実施形態では、ブロック558により取られる単一の動作により定義されてもよい。よって、分岐経路は、システムにより選択及び取られてもよい一又はそれ以上の連続する動作を定義することができ、探索木550は、所与の計画対象期間に取り得るすべての分岐経路のコレクションを定義することができる。
【0038】
さらなる実施例として、分岐1Aは、ブロック553で開始し、
図4の第2のボート112bは、移送装置116により交換位置141へ移動されてもよい。ブロック553に示されるように、
図4においてボート112bを交換位置141へ移送することは、約2分掛かる。分岐1Bについて、ブロック554は、カルーセル111を時計回りに90°回転することを含み、様々な実施形態において、約1分掛かる。分岐1Cについて、ブロック555は、カルーセル111を反時計回りに90°回転することを含み、これも約1分掛かる。分岐1Dについて、ブロック556は、例えば、第2のボート112bをリアカルーセル位置152へ移動するためにカルーセル111を180°回転することを含んでもよく、これは、約2分掛かる。それに替えて、分岐1E及びブロック557では、第1のボート112aは、エレベータ114aにより下降されてもよく、これは完了するために約3分掛かる。最後に、分岐1F及びブロック558では、分岐1A及び分岐1Eは、同時に開始されてもよい。
【0039】
探索木550の各分岐について、コントローラは、分岐に関連付ける動作が行われる場合に、システムの後続の状態を判定するように構成されてもよい。システムの後続の状態は、例えば、システムの一又はそれ以上のボートの位置及び処理状態を含む、現在の状態に関する上記で説明された要因に基づいてもよい。開始動作として、後続の状態は、システムが後続の状態にあるときに実行可能な動作のセット(例えば、無用な又は非生産的な動作)を判定するように分析されてもよい。例えば、
図5の探索木550において示されるように、分岐1Aがコントローラにより選択された場合、第2のボート112bは、移送装置116により交換位置141へ移動される。したがって、分岐1Aについては、ブロック553に導く分岐経路に関連付けられるシステムの後続の状態は、第2のボート112bが空であり、交換位置141に位置付けられる一方で、第1のボート112aがスタンバイ処理下の第1のリアクタ106に維持されるようになってもよい。
【0040】
後続の状態、例えば、ブロック553のステップを実行した後には、システムにより行われうる複数の動作が存在してもよい。ブロック559に示される一つのオプションは、交換位置141において第2のボート112bの基板ロードを交換することである。
図5に示されるように、ブロック559へ代替の動作は、(a)交換位置からカルーセルへボート112bを戻す(ブロック563);(b)ボート112aを下降する(ブロック564);又は(c)ボート112b及び下降するボート112aの基板ロードを同時に交換することを含む。なお、ブロック563の動作(a)は、動作が進まずに、前の状態にシステムを戻すような無用な動作の一例である。無用な動作は排除され、よって、ブロック563は、いくつかの実施形態において可能性のある後続の動作として考慮されない。
【0041】
図5の分岐経路の一例として、特定の分岐経路は、ブロック553で開始し、ブロック559へ続いてもよい。したがって、コントローラは、システムを分岐1Aのブロック553からブロック559へ向ける。よって、ブロック559へ導く分岐経路では、未処理のロードは、交換位置141で第2のボート112bへロードされてもよく、これは約10分掛かる。したがって、この点については、ブロック553及び559の動作は、合計で12分掛かる(例えば、第2のボート112bを交換位置141へ移動して2分、基板ロードを交換して10分)。計画対象期間又は予見期間が15分であるため、コントローラは、例えば、第2のボート112bが未処理基板の新たなバッチによりロードされるようなシステムが次の段階にある現在可能な動作を分析することにより、ブロック559からの追加のサブ分岐を生成することを継続してもよい。
【0042】
例えば、ブロック553からブロック559へ導く分岐経路を進んだ後のようなブロック559のステップを行った後のシステムの後続の状態を考慮して、3つの追加の取り得る動作又は分岐経路が存在してもよい。先ず、ブロック560を進む分岐経路では、
図4の第2のボート112bは、ボート搬送装置116によりカルーセル111へ移動され、これは約2分掛かる。又は、ブロック561へ導く分岐経路では、
図4の第1のリアクタ106における第1のボート112aは、第1のエレベータ114aを用いて下降されてもよく、これは約3分掛かる。それに替えて、ブロック562へ導く分岐経路では、ブロック560及び561の動作は、並行して又は同時に行われてもよい。よって、ブロック562では、コントローラは、システムを、第2のボート112bをカルーセル111へ移動し、かつエレベータ114aを用いて第1のボート112aを下降させることを同時に行うように誘導してもよく、これは第1のボート112aの下降に3分掛かるため、3分となる、ブロック562でのステップが実行された場合、ブロック553(2分)、559(10分)、及び562(3分)の実行は、所定の計画対象期間の合計の15分と等しいため、計画対象期間が15分に到達する。しかし、
図5について示された実施例の探索木550は、例えば、所与の15分の計画対象期間を取ることが可能である様々な分岐経路のような分岐1A及びそのサブ分岐の部分についてのみ本明細書で分析されたのみであることを留意すべきである。なお、コントローラは、また、所定の計画対象期間の分岐1B−1Fについての取り得る全ての後続の動作及び分岐経路を同時に分析してもよいことを理解すべきである。これらの後続の動作は、簡略化のために無視される。
【0043】
通常、複数の動作は、並行して、例えば、スケジュールの不一致が無い限り同時に行われてもよい。よって、特定の分岐経路は、同時及び/又は平行な動作を含む探索木のノードへ導いてもよい。例えば、
図4のブロック561について上記で説明されたように、第1のボート112aは、第2のボート112bがカルーセル111へ移動されるのと同時に第1のリアクタ106から下降されてもよい。しかし、並行な動作は、部分的な実行を導くことが理解されるべきである。例えば、様々な実施形態では、他の動作が終了する前に1つの動作が終了したとき、探索木において判定ポイントが到達する。例えば、ブロック562において2分後に、第2のボート112bをカルーセル111へ移動することが完全に完了する一方で、例えば、第1のボート112aがカルーセル111へ完全に下降するまでに1分残るような、第1のボート112aを下降することは部分的にのみ完了する。よって、第2のボート112bをカルーセル111へ移動することの最後には、エレベータ114a及び第1のボート112aの位置は、規定された位置ではなく、中間の位置となる。様々な実施形態では、動作の部分的な完了は、方法300において考慮され、コントローラは、探索木の分岐を解析するとき、及び/又は部分的に完了した動作を完了するために時間が必要なときに、中間位置でさえも考慮する。例えば、可能性のある後続の動作を分析するときに、コントローラ又はプロセッサは、メモリに中間位置を記憶し、可能性のある後続の動作を分析するときに部分的に完了した動作を完了するために必要な時間を組み込んでもよい。
【0044】
通常、動作の完了は、計画対象期間と正確には一致しない。動作は、計画対象期間よりも早く完了してもよく、これは、別の動作が開始されうること、又は動作が計画対象期間において部分的に完了したことを意味する。異なる分岐経路間の偏りのない比較を可能にするために、全ての分岐経路は、所定の計画対象期間において切り捨てられてもよく、部分的に完了した動作を完了するために必要な時間は、分岐経路を点数化するときに考慮される。さらに、上記で説明されたように、評価するための動作の管理可能なセットを維持するために、探索木のサイズを小さくすることが望まれる。所定の計画対象期間又は予見時間は、探索木のサイズを小さくすることに有利である。しかし、本明細書で説明されたように、探索木のサイズは、例えば、空のカルーセルを回転する、ボートを移動せずに連続して2回カルーセルを回転する、及びカルーセルを回転せずに又はボートの基板を交換せずにボートをカルーセルからピックアップして配置することのような無用な動作を無視することにより更に小さくなってもよい。また、様々な実施形態では、前にあった状態(previously−visited state)が再び実行されないように、実施したことがある状態(visited states)はコントローラにより記憶されてもよい。例えば、別の期間中に新たな状態が前に実施したものであった場合、コントローラは、その状態に戻ることを探索しなくてもよい。一つの例として、ボートがリアクタから取り出され、新たな状態でカルーセルに配置された場合、コントローラは、別の中間の処理又は基板交換なしでリアクタにボートを単に戻すことは考慮されなくてもよい。特定の時間でのシステムの状態を考慮することにおいて、状態を判定するときに、コントローラ又はプロセッサの内部クロックが、状態特性が同等でないことを示す場合であっても、コントローラ又はプロセッサは、基板のセットの処理状態全体を考慮してもよい。例えば、時間t=0において、10分の冷却残り時間を有するフロントカルーセルにおける特定のボートは、時間t=5分において、5分の冷却残り時間による同一位置におけるボートと同じ状態である。しかし、全体としてのシステムは、ボートが完全な10分の冷却残り時間を有するとき、時間t=5分において異なる状態にある。当業者は、探索木のサイズを生成及び制限する様々な他の手法を取るうることを理解するであろう。
【0045】
図3に戻り、ブロック304での探索木の生成の後に、方法300はブロック306へ進み、生成された探索木の各分岐経路を点数化する。ブロック304では、システムが
図4の例示的な実施形態で示される現在の状態にあるときに、複数の分岐は、実行な可能な各動作のために生成される。本明細書で説明されたように、例えば、これらの分岐を外れるサブ分岐の各置換による分岐1A−1Fのような各分岐は、任意の適切な要因又は重みに基づいて点数化されうる一又はそれ以上の分岐経路を含んでもよい。いくつかの実施形態では、現在の状態から、所定の計画対象期間内の最後の取り得る動作へ及ぶ探索木の分岐経路の全体は、例えば、
図5の分岐1Aがブロック553からブロック560,561及び562の1つへ及ぶ分岐経路を含むような分岐経路を点数化するときに分析されてもよい。
【0046】
点数化関数は、各種の適切な処理パラメータに基づいて、各生成された分岐経路に適用されることができる。様々な実施形態では、望ましい状態(例えば、スループットを上げる及び/又は処理時間を短縮する動作)は、正の点数を受け取る一方で、望まれない状態(例えば、ボトルネックを導く動作のようなスループットを下げる動作)は、負の点数を受け取ってもよい。例えば、理論による制限なしで、探索木550の分岐経路は、どのように各ボートがその処理シーケンスに進むかに基づいて点数化されてもよい。さらに、リアクタのアイドル時間を増加させる分岐経路は、プロセスで使用されないリアクタがシステムの全体のスループットを減少させるため、ペナルティを科されてもよい(例えば、負の点数を受け取る)。また、特定の分岐とともに動作を行うことは、ボートをリアクタ内にスタックさせた場合に、後続の処理ステップへ移動するのに替えたとき、特定の分岐経路は、また、システムのボトルネックを軽減するためにペナルティを科してもよい。例えば、点数化関数は、ボートが下降する前にリアクタ内で待機する時間を占めてもよい。ボトルネックが増加する動作は、負の点数を受け取る一方で、ボトルネックを軽減する及び/又はスループットを改善する動作は、正の点数を受け取る。よって、各分岐経路は、各ボートの性能の少なくとも一部に基づいて点数化され、後続の処理ステップへ進む。
【0047】
分岐経路を点数化するために、適切な重みが各分岐の各動作に割り当てられてもよい。本明細書で説明されたように、スピードアップする又はボトルネックを軽減する動作は、正の点数又は重みを受け取る一方で、スローダウン又はボトルネックを増加させる動作は、負の点数又は重みを受け取る。いくつかの実施形態では、処理時間全体が、探索木の特定の分岐経路の動作を実行することの利益を重み付けするときに占められるように、分岐経路の点数全体は、分岐経路の各動作の重み付けされた合計値に基づいて求められてもよい。例えば、リアクタのアイドル時間を増加する又はボトルネックを生じる動作のようなペナルティを招く動作は、負の点数又は重み又は様々な実施形態における僅かな重みを受け取ってもよい。また、様々な実施形態において、特定の重みは、ボートで製造される装置及び/又は互いにある特定のボートを完了することを優先することに応じて、ある特定のボートが別のものに重ねられることを優遇してもよい。例えば、オペレータが、例えば、ボートの値についての理由のためにボートAからボートBにわたる処理に優先順位を付けた場合、ボートAは、ボートBよりも高い又はより優遇される重みを割り当てられてもよい。しかしながら、通常、いくつかの実施形態では、探索木の分岐経路は、システムのスループット全体を上げる及び/又は特定のボートの処理時間を減少させるように点数化されてもよい。いくつかの実施形態では、各リアクタの占有度合いが上記で述べた重み付けに加えて又はそれとは別に考慮されてもよい。例えば、高いリアクタ占有度は、多数のリアクタが同時に使用されていることをもたらす動作に対応することができ、低いリアクタ占有度は、一又は少数のリアクタのみが使用されていることをもたらす動作に対応することができる。高い占有状態はスループットを上げることができるため、高いリアクタ占有度を導く分岐経路は、正の点数を受け取る一方で、低いリアクタ占有度を導く分岐経路は、負の点数を受け取る。
【0048】
方法300のブロック308へ移ると、コントローラは、選択された分岐経路の点数の少なくとも一部に基づいて、システムにより行われる分岐経路を選択してもよい。本明細書で説明されたように、例えば、与えられた時間内に処理される基板の数を増加させるために、システムのために高いスループットを提供する分岐経路を選択することが望まれる。この状況において、点数化関数は、高スループットを有する分岐経路が様々な実施形態において選択されるように構成されてもよい。いくつかの態様では、コントローラは、システムを通じて一又はそれ以上のボートの最短のサイクルタイムを提供する分岐経路を選択してもよく、点数化関数は、それに従って構成されてもよい。いくつかの実施形態では、選択された分岐経路は、ブロック306により求められたベストスコアを有する分岐経路であってもよい。
【0049】
したがって、本明細書で説明されたように、選択された分岐経路は、計画対象期間に到達する前又は到達したときに行われうる現在の状態で開始し、最後の動作で終了するいくつかの連続する動作を含んでもよい。
図5について開示された実施例では、コントローラは、計画対象期間内に取り得る分岐経路ごとに点数化してもよく、点数化された分岐経路の1つを選択してもよい。例えば、コントローラは、ブロック553で開始し、ブロック559へ進み、ブロック562で終了する分岐経路を選択してもよい。したがって、点数化され、選択された分岐経路は、様々な状態でシステムにより行われる、連続する動作の複数の、別の経路を含んでもよい。なお、コントローラは、連続する動作の特定の分岐経路を選択する場合であっても、コントローラは、動作の完了の後に、選択された分岐経路を再考し、
図3の方法300を繰り返してもよい。例えば、システムが、選択された分岐経路のブロック559における動作を実行する場合(例えば、ウェーハロードをボート112bで交換する)、システムは、例えば、並行して行われる動作における期待されない遅延又は交換ステーションで基板の位置合わせを誤る又は基板がない等の時々あるエラーのようなシステムの変化を認識してもよい。コントローラは、現在の状態を認識し、探索木を生成し、適切な分岐経路を点数化及び選択することにより、リアルタイムでこのような遅延又はエラーを認識し、適応することができる。よって、本明細書で開示されるシステム及び方法は、リアルタイムで条件を変更することを有利に適応することができる。また、いくつかの実施形態では、分岐経路が点数化される基準は、状況の変化により変更されてもよい(例えば、いくつかのエラー条件の後の分岐経路の選択は、システムが正常に実行されると考えられるときに、進捗シーケンスの開始における選択とは異なる基準に基づいてもよい)。
【0050】
分岐経路がブロック308で選択されると、システムは、選択された分岐経路の動作を実行してもよい。コントローラは、選択された分岐経路の動作をシステムと通信してもよく、システムは、選択された分岐経路により前述されるようなボートを操作してもよい。なお、方法300は、システムの現在の状態がコントローラにより繰り返し判定されるように、繰り返し行われてもよい。コントローラは、探索木を繰り返し生成し、行われる動作の分岐経路を選択し、選択された分岐経路の一又はそれ以上の後続の動作をシステムに実行させてもよい。よって、コントローラは、高いスループットを提供するために、システムの現在及びシミュレートされた後続の状態に基づいて、所望の、例えば、最も効率の良い動作シーケンスを有利に判定してもよい。
【0051】
バッチ処理及び他の型のシステム
図3−5について上記で開示されたスケジュールしたプロセスは、適切な処理システムで採用されてもよい。例えば、
図3の方法300は、任意の数の又はタイプの処理ステーションに拡張可能であってもよい。実際には、コントローラ120は、適切な個数の処理ステーションのために探索木を生成してもよく、本明細書で説明された基準に基づいて特定の分岐経路を点数化及び選択してもよい。それによって、開示された実施形態は、例えば、
図1Aに示される単一のDRMシステム201、
図2Aに示される2つのDRMシステム101、又は中央移送装置の周囲に配列された単一の基板ステーションのような異なる処理ステーションで基板が処理されるクラスタツールを含む、任意の数及びタイプの処理ステーションによりシステムのスループットを有利に促進してもよい。
【0052】
図6は、いくつかの実施形態に係るクラスタツール処理システム601の平面図である。システム601は、第1のIOステーション633aと、第2のIOステーション633bと、を含んでもよい。第1のIOステーション633aは、(例えば、基板ホルダーを収容することにより)基板を蓄積し、未処理の基板をシステム601に提供する又はシステム601から処理済みの基板を受け取るために用いられてもよく、又は第1のIOステーション633aは、基板をシステム601へ提供する又は基板をシステム601から受け取ることの両方を行うように構成されてもよい。同様に、第2のIOステーション633bは、未処理の基板をシステム601へ提供する又はシステム601から処理基板を受け取るために用いられてもよく、又は第2のIOステーション633bは、基板をシステム601へ提供する又は基板をシステム601から受け取ることの両方を行うように構成されてもよい。
【0053】
マニピュレータ616は、IOステーション633a及び/又は633bから基板を複数の処理ステーション606a,606b,606c及び606dの1つへ移動するように構成されてもよい。処理ステーション606a,606b,606c及び606dは、任意の型の処理ステーションであってもよい。処理ステーション606a,606b,606c及び606dは、同一の型の処理ステーションであってもよく、又は異なる型の処理を基板に適用するように構成されてもよい。例えば、処理ステーション606a‐606dは、堆積チャンバ、エッチングチャンバ、リソグラフィチャンバ、冷却ステーション又は任意の他の型の処理ステーションの一又はそれ以上を含んでもよい。様々な実施形態では、処理ステーション606a‐606dは、一度に単一の基板を処理するように構成されてもよい。別の実施形態では、一以上の基板は、処理ステーションで処理されてもよい。
【0054】
図3−5について上記で説明された方法300は、
図6で説明されたクラスタ処理システム601についても同様に使用されてもよい。例えば、コントローラ620は、スループットを改善するために、処理ステーション606a‐606dで行われる様々なプロセスをスケジュールするようにプログラムされてもよい。コントローラ620は、ボトルネックを軽減し、処理ステーション606a‐606dが改善されたキャパシティ又は効率で動作されることを確実にするようにプログラムされてもよい。
図4及び5に示される例のように、コントローラ620は、多数の分岐及びサブ分岐を生成することができ、システム601が現在の状態にあるときに取られる可能性のある動作を表す様々な分岐経路を形成し、コントローラ620は、所定の計画対象期間のシステムにより取られる、取り得る分岐経路を点数化することができる。よって、開示されたスケジュール方法は、多くの型の処理システムで使用されてもよい。
【0055】
本明細書で説明された特徴及び方法は、汎用コンピュータのプロセッサ又は集積回路により実行されるソフトウェアモジュールを含む、コンピュータプログラムに統合され、かつコンピュータプログラムにより自動化されてもよい。ソフトウェアモジュールは、任意の型の一時的でないコンピュータ記憶装置又は媒体に記憶されてもよく、これは、同様にコントローラ120の一部(
図2A)であってもよいプロセッサ又は集積回路と電気的に通信してもよい。よって、コントローラは、本明細書で説明された方法のいずれかを行うようにプログラムされてもよい。
【0056】
様々な先進的な特徴及びサービスは特定の好ましい実施形態の観点で記載されているが、本明細書で説明される全ての利点及び特徴を提供しない、及び本明細書で説明される全ての課題に対処しない実施形態を含む、当業者にとって自明な他の実施形態もまた本発明の範囲内に含まれる。本明細書で説明された様々な実施形態及び特徴の全てのコンビネーション及びサブ‐コンビネーションは、本発明の範囲内に含まれる。本発明の範囲は、添付の特許請求の範囲を参照することによってのみ定義される。