(57)【特許請求の範囲】
【請求項１】
ウェーハ・クラスタツールを同期する方法であって、
前記ウェーハ・クラスタツールは、複数の処理モジュールと、前記複数の処理モジュールの各々に連結されたローカルクロックと、前記複数の処理モジュールに連結される予定表とを含んで構成され、
ａ）送り周期の周期性を有する、前記ウェーハ・クラスタツールのための確定的スケジュールを作成する段階と、
ｂ）前記スケジュールに従って１番目のウェーハセットを前記クラスタツールの１番目の処理モジュールの中に搭載する段階と、
ｃ）前記１番目の処理モジュールへの前記１番目のウェーハセットの搭載に応答して、前記１番目の処理モジュールに連結された１番目のローカルクロックをリセットする段階と、
ｄ）前記１番目のローカルクロックから、前記送り周期の単位で測定された１番目のローカル時間を前記予定表に記録する段階と、
ｅ）前記スケジュールに従って２番目のウェーハセットを前記クラスタツールの２番目の処理モジュールの中に搭載する段階と、
ｆ）前記２番目の処理モジュールへの前記２番目のウェーハセットの搭載に応答して、前記２番目の処理モジュールに連結された２番目のローカルクロックをリセットする段階と、
ｇ）前記２番目のローカルクロックから第２のローカル時間を前記送り周期の単位で前記予定表に記録する段階と、
を含むことを特徴とする方法。
【請求項２】
ｈ）前記１番目のウェーハセットの前記搭載段階から１送り周期後に、前記スケジュールに従って３番目のウェーハセットを前記１番目の処理モジュールの中に搭載する段階と、
ｉ）前記１番目の処理モジュールへの前記３番目のウェーハセットの搭載に応答して、前記１番目の処理モジュールに連結された前記１番目のローカルクロックをリセットする段階と、
ｊ）前記１番目のローカルクロックから、前記送り周期の単位で測定された３番目のローカル時間を前記予定表に記録する段階と、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数の処理モジュールに連結された各ローカルクロックは、マスタクロックを含むマスタサーバに連結され、
前記マスタクロックは、前記各ローカルクロックを前記マスタクロックと同期させるために、前記各ローカルクロックに定期的に時報を送る段階、
を更に含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
処理モジュールへのウェーハセットの搭載に応答して、ローカルクロックがリセットされるとともに、当該ローカルクロックからローカル時間を前記予定表に記録する段階と、
を更に含むことを特徴とする請求項１乃至３のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
本発明は、ウェーハ処理の分野に関する。特に、本発明は、ウェーハ・クラスタツールのスケジューリング技術に関する。
【背景技術】
【０００２】
（背景技術）
集積回路などの半導体装置を製造する工程において、装置を形成するために多数の微小製造段階が実施される。これらの段階は、個々のモジュールで個々の製造品目に対して連続的に実行され、製造品目は、ロボットなどの搬送機構によりモジュール間で転送される。目標とする処理量、信頼性、及び、製造品質を達成するには、幾つかの条件を満たす必要がある。
１）基板の処理モジュールへの送り出し及びそれからの除去は、モジュール間のウェーハの搬送と同様に適時的に実行する必要がある。基板のこの適時の送り出し及び除去は、基板の流れが周期的かつ同期的に維持されている時に達成される。周期性と同期とが維持されない場合、処理結果は、基板ごとの一貫性を失うことになり、予定処理量が低減される場合がある。
２）基板を類似の処理流れ経路で搬送し、基板の処理履歴の変動による処理結果の不一致を避けることが必要である。
３）非常に重要な処理が実行されるモジュールにおいて、製造物品がいかなる前処理又は後処理の時間も何もしないで費やすことのないように確実にすることが必須である。これらのモジュールでの前処理又は後処理時間の追加は、処理量ばかりでなく処理結果を損なう。例えば、ＩＣ製造システムでは、フォトレジストフィルム層を熱的に硬化するために基板がスピン被覆モジュールから焼成モジュールに直ちに転送されない場合、得られるフィルム厚が予想不可能となる。前処理及び／又は後処理の時間を完全に排除するのが不可能な場合は、それらをできるだけ短くすべきであり、これらの時間のいかなる変動も許容することはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の条件のいずれか又は全てを満足することができないのは、搬送上の矛盾を解決できないことに由来する。矛盾点は、別々のモジュールがロボットに対してロボットがそれらのモジュールに対応するのに不十分な時間の範囲でロボットに要求する状況にある。上記に挙げた心配に対する１つの従来の解決策は、余分な処理モジュール及び搬送手段の追加である。しかし、追跡システムの大きさの制限や形状の制約により、追加の処理モジュールや搬送手段を加えることによって上記の困難を解決する可能性は制限される。
【０００４】
隣接するモジュール間で基板を転送する専用転送アーム（以下、ベイ間転送アーム又はＩＢＴＡと呼ぶ）の追加は、処理量を向上させて前処理及び／又は後処理時間の一部を排除するのに用いられている別の方法である。しかし、ＩＢＴＡの追加にも重大な欠点がある。専用転送アームは、ツールを複雑にしてその費用を増加し、モジュールの位置を制限してツールのどこでも使用することができるわけではない。その結果、高い処理量及び品質の両方を維持しつつ追跡システムの基板の流れを管理し、全ての搬送上の矛盾を解決するという仕事は、手に余るものになる。
【０００５】
別の従来の解決策は、基板搬送優先権規則セットを割り当てることである。ロボットのいかなる動きの前にも、ソフトウェアスケジューラとも呼ばれる制御システムにより、異なるモジュールにある基板の状態を確認し、これらの規則に基づいて転送優先権の決定をする。しかし、高い処理量を達成するために、スケジューラは、最重要モジュールにおいて有害で予測不可能で変動する前処理及び後処理時間を発生させる場合があり、基板は、それらの処理サイクルを完了するために異なる流れ経路を辿るように強いられる場合もある。
【０００６】
更に別の従来の解決策は、ウェーハ交換を可能にするために多重のグリッパをロボットに追加することである。多重グリッパロボットは、ウェーハ交換を可能にし、ロボット転送の回数を最少化するために従来技術で使用されることが多い。しかし、２重グリッパを有するロボットは、交換を行うためにグリッパ上に１つのウェーハを必要とするので、この技術は、クラスタツールに対して更なる制約を追加する。これにより、クラスタツールの性能が制限される。更に、交換によってモジュール間の搬送時間が増え、これは、同じくクラスタツールの性能を劣化する場合がある。
これまでのところ、上記で挙げた矛盾解決、同期、品質、及び、経路の一貫性に関する要件は完全には充足されていない。必要とされるのは、これらの要件の全てに同時に対処する解決策である。
【課題を解決するための手段】
【０００７】
本発明は、周期的なウェーハ・クラスタツールの作動を含む。クラスタツールは、１送り周期の間をおいてシステム内に載せられたウェーハを処理する。ウェーハは、複数の処理チャンバで処理され、ロボット又はウェーハ搬送機を使用して処理チャンバ間を転送される。本発明の実施形態は、１送り周期の周期性を有する。
本発明は、処理チャンバに対するピックアップ時間の判断を可能にし、本発明の実施形態は、更新された予定表の作成と維持とを可能にする。予定表は、処理チャンバの各々がロボットのサービスを受ける時間を示す。これらの値は、処理チャンバが新しいウェーハを受け取った時に更新される。
クラスタツールにおけるロボットは、それら自身を仕えるべきモジュール又は処理チャンバの前に予め配置してもよい。ロボットの事前配置により、モジュールに対して予め決められた待ち行列時間を超える個々のモジュールの待ち時間が排除される。これにより、個々のロボットの経路が前確定的となり、クラスタツールが単一グリッパのロボットを利用することを可能にする。
【０００８】
本発明の幾つかの実施形態は、複数の処理ステーションを含み、各処理ステーションは、処理チャンバと処理チャンバに連結されたローカルクロックを含む。そのような実施形態では、クラスタツールは、各処理ステーションのローカルクロックと通信するマスタサーバも含む。マスタサーバは、マスタクロックと、複数の処理ステーションの各クロックのローカル時間を記録する予定表ソフトウェアを有する。
【０００９】
幾つかのこのような実施形態では、ウェーハ・クラスタツールは、処理ステーションに連結されたＣＰＵも有し、処理チャンバに連結されたローカルクロックはＣＰＵ上にある。ウェーハ・クラスタツールはまた、マスタサーバを各ローカルクロックに連結するローカルエリアネットワークを含んでもよい。予定表は、リレーショナルデータベース又はスプレッドシートという形を取っても良い。マスタサーバは、その結果、インターネットを通じてローカルクロックに連結される場合がある。
【発明を実施するための最良の形態】
【００１０】
同期された矛盾解決スケジューラ
本発明の態様は、システム資源に関する矛盾を排除する周期的で予測可能な方法でシステムの事象をスケジュールすることにより製造システムの処理量及び品質を最大限にする方法を含む。そのような製造システムの例は、個々の製造ユニットに対して連続的に実行される一連の処理段階１、．．．、Ｎを含む。システムの個々の処理段階は、「モジュール」単位又は「処理チャンバ」単位で行われ、一連の段階は、「レシピ」に列記されている。製造システムはまた、製造ユニットを連続するモジュール間で搬送する手段を含み、これらの手段は、ロボットを含むことができる。
【００１１】
別々のモジュールが、ロボットがこれらのモジュールに仕えるのに不十分な時間の範囲内で要求する時、システムの処理間で矛盾が生じる場合がある。それに加えて、システムの事象が同期されて周期的で予測可能な間隔で発生するように、周期性を示す方法でシステムをスケジュールすることが必要である。本発明の実施形態は、そのような全ての矛盾を排除するほか、システムの処理量又は品質を損なうことなく周期性を強いるために、製造工程の様々な段階における遅延を選択的にスケジュールする技術を含む。
【００１２】
矛盾解決同期の例：ウェーハ・クラスタツール
上記の種類の製造システムの例には、ウェーハ・クラスタツールがある。ウェーハ・クラスタツールでは、モジュールは、ウェーハに一連の処理段階を実行するようにウェーハ搬送手段又はロボットのグループの周りに構成された処理チャンバを含む。ウェーハは、搭載ポートと呼ばれるバッファを通してツールに出入りする。一旦ロボットが搭載ポートからウェーハを取り出すと、ウェーハは、レシピで指定された一連のモジュールを連続的に通って搬送される。ウェーハのモジュールへの進入及びウェーハのモジュールからの退出により定義される時間は、モジュール処理時間と呼ばれる。この処理時間には、モジュールでウェーハを処理するのに実際に使用される時間のほか、処理及びピックアップのためにウェーハを準備するのに必要なオーバーヘッド・タイムが含まれる。（ウェーハ・クラスタツールは、モジュール間で個々のウェーハを転送すると上記で説明したが、本発明はウェーハの離散的なセットがモジュール間で転送されるウェーハ・クラスタツールに等しく適用できることが当業者には明かであることに留意されたい。）
【００１３】
クラスタツールのいくつかのモジュールでは、処理ウェーハのピックアップ時の遅延が作動時ウェーハの結果に悪影響を及ぼす場合があり、そのようなモジュールは、遅延を許容することができないので「最重要処理モジュール」として識別される。処理時間がクラスタツールの全モジュールの中で最長のモジュールは、「ゲートモジュール」として識別され、このモジュールでの処理時間がクラスタツールの処理量を決める。ゲートモジュールがクラスタツールの処理量を決めるので、ゲートモジュールもまた遅滞を許容することができない。ウェーハ・クラスタツールのレシピは、モジュールをそれぞれの処理時間の横に順番に列記している。２つのモジュール間でウェーハを搬送するのにロボットが必要とする時間は、その搬送時間と呼ばれる。
【００１４】
クラスタツールにおけるウェーハの流れの管理
ウェーハの流れ管理、すなわち、クラスタツールでのウェーハ処理及びウェーハ搬送の編成は、システムにより提供される処理量及び作動時ウェーハの結果の両方を決める。効果的なウェーハの流れ管理は、以下の２つの条件を同時に満足する必要がある。すなわち、送りモジュールで処理されたばかりで現在移動する準備ができているウェーハは、（１）ウェーハが次に処理されることになる受けモジュールが空である時、かつ、（２）それらのモジュール間でウェーハを搬送するように割り当てられたロボットが利用可能である時、そのようにする必要がある。従来技術では、条件（１）は、追加の余分なモジュールを準備することによって充足された。しかし、そのような解決策では、２つの点で状態（２）を損なうことになる。すなわち、（ａ）ロボットが仕えるモジュールが多すぎて不適切なロボット台数をもたらすか、又は、（ｂ）ロボットの稼働に対して２つ又はそれ以上のモジュールが同時に競い合う場合がある。
【００１５】
上記に挙げた２つの条件が損なわれた時、ウェーハピックアップにおける遅滞が生じる。そのような遅滞が最重要処理モジュールにおいて発生した場合、作動時ウェーハの結果に悪影響を与える。更に、そのような遅滞がゲートモジュールに発生した場合、処理量を減速させてしまう。従って、上記に挙げた搬送条件が最重要処理モジュール及びゲートモジュールに関して保証されることが必須である。ロボットが提供し得るよりも多い処理が必要とされるケース（ａ）では、更に多くのロボットを追加することによりこの状況を緩和することができる。しかし、ケース（ｂ）では、問題はロボット稼働要求のタイミングにある。より多くのロボットの追加もケース（ｂ）を軽減することができるが、これは不適当な解決策である。
【００１６】
クラスタツールに規定されたレシピがロボット稼働要求のタイミングを決めるので、２つの条件を解決する根本的な解決策は、ウェーハ搬送と同期するようにウェーハレシピを変更することによって生じる可能性がある。本明細書で説明するスケジューリングアルゴリズムにより、そのような同期が実行される。
本明細書で説明するこのスケジューラは、コンピュータにより実行されるソフトウェアにコード化することができ、そのコンピュータは、そのソフトウェアを記憶するメモリ及びソフトウェアを実行するＣＰＵを含む。本発明の実施形態では、スケジューラを製造システムからオフラインで使用し、システム用の所定のスケジュールを作成してもよい。代替的に、スケジューラがリアルタイムでシステムの作動を更新できるように、コンピュータを製造システムに連結してもよい。
【００１７】
クラスタツールでのウェーハの流れの同期化
本発明の実施形態では、ウェーハの流れは、クラスタツールを通って一定速度で個々のウェーハを送ることにより同期される。ツールの「送り速度」と呼ばれるこの速度は、ウェーハ数／時間で表され、（３６００／送り速度）秒に等しい周期性でウェーハの流れを整調する。クラスタツールの送り周期と呼ばれるこの周期は、システムの鼓動である。個々のウェーハユニットは、１送り周期の間をおいてシステムに導入される。更に、クラスタツールを同期させるために、全ての処理及び搬送時間は、送り周期という単位で測定される。更に、後続の周期で確実に同じタスクを繰り返すことができるように、クラスタツールのロボットは、１つの送り周期内で以下に「タスク」と呼ぶ全ての稼働要求を達成するようにスケジュールされる。従って、クラスタツールの同期には、１）送り周期内に実行されるタスクの総数、及び、２）これらのタスクが発生する送り周期内の正確な瞬間の判断が必要である。これらの瞬間は、以下でそれぞれのタスクの「タイミング」と呼ぶものとする。
【００１８】
送り周期及び同期の概念を図１に示す。時間線１００は、１番目のウェーハがクラスタツールに搭載される時の瞬間を示す原点１０２を有する。時間線１００は、１送り周期１１０という単位で区別される。各区分１０４、１０６、及び、１０８は、それぞれ、２番目、３番目、及び、４番目ウェーハがクラスタツール内に搭載される時間を示す。
同期の主要な特性は周期性であり、本発明は、各タスクｉ、ｉ＝１、．．．、ｎ、について、そのタスクを受けるどのウェーハのピックアップ時間も同一であることを確実にする。すなわち、クラスタツールの各タスクｉは、Ｔiで示す相対ピックアップ時間と関連付けることができ、ここで、Ｔiは、送り周期という単位で正規化される。図２は、周期性のこの特徴を示す。ウェーハ１ ２０８、ウェーハ２ ２１０、及び、ウェーハ３ ２１２である３つのウェーハは、垂直軸２０２で示されている。水平線は、「時間」軸２００を示す。この軸２０１の原点は、ウェーハ１がクラスタツール内に搭載される時間を示す。タスクｉ ２００における相対ピックアップ時間Ｔiは、各ウェーハで全く同じである。ウェーハ自体が１送り周期の間をおいて導入されるので、実際のピックアップ時間は、１送り周期の単位によって分離される。
【００１９】
図２は、相対ピックアップ時間と「実際の」ピックアップ時間又は「絶対」ピックアップ時間との間の区別も示す。処理ｉの相対ピックアップ時間は、Ｔi２０４で示されている。相対ピックアップ時間はウェーハがウェーハ・クラスタツール内に導入された時間から測定されることから、相対ピックアップ時間は、ウェーハ１ ２０８、ウェーハ２ ２１０、及び、ウェーハ３ ２１２である各ウェーハに対して全く同じである。絶対ピックアップ時間２１４は、１番目のウェーハがクラスタツール２０１内に搭載された瞬間から測定される。ウェーハが１送り周期の間をおいて導入されることから、任意のウェーハ番号ｗに対してモジュールｉにおけるウェーハｗの絶対ピックアップ時間は以下の通りであることになる。
（ｗ−ｌ）＋Ｔi 
この周期（ｗ−ｌ）は、番号２１６で示されている。
【００２０】
同期において非常に重要である別のパラメータは、記号τiによって示されている。ＩＮＴ（Ｔi）がＴiを最も近い整数に丸める関数を表すとすると、端数τi＝Ｔi−ＩＮＴ（Ｔi）は、現在の送り周期の始めから経過したＴiの端数である。これらのパラメータ２０６もまた図２に示されている。Ｔi値は各ウェーハについて同一であることから、また、ウェーハが１送り周期の間をおいて挿入されることから、τi２０６の値は、各ウェーハについて全く同じである。これら端数τi、ｉ＝１、２、３，．．．，Ｎは、ロボットが送り周期内で達成しなければならないタスクのタイミングを構成する。
【００２１】
タスクの数Ｎ及びこれらのタスクのタイミングは、搬送負荷を構成する。Ｔiは、処理時間Ｐj、ｊ＝ｌ、２、３，．．．，ｉと、ロボット搬送回数ｔj、ｊ＝１、２、３，．．．，ｉ−１とのｉ番目モジュールまでの累積であることから、任意のウェーハについて、モジュールｉの相対ピックアップ時間は以下の通りであることになる。
【００２２】
【数１】
0004733011.tif 000002
【００２３】
また、タスクのタイミングτi＝１、２、３，．．．，Ｎも以下の通りであることになる。
【００２４】
【数２】
0004733011.tif 000003
【００２５】
搬送時間ｔiは、与えられたクラスタツールについては一定であることから、ロボットタスクのタイミングτiは、レシピにより規定された処理時間ｐjのみに左右されることが式（１）から明かである。
【００２６】
周期性及びウェーハの識別
周期性の特性により、クラスタツールのウェーハの識別も可能となる。洗練されたインフラストラクチャとして、同期化されたスケジューラは、１）ウェーハが１送り周期の間をおいて順番にクラスタツール内に搭載され、２）クラスタツール内に搭載された各ウェーハがそれらが搭載された瞬間に対して測った同じ時間に全く同じ事象を受けることを確実にする。これら２つの条件による結果として、当初に搭載された順序で１送り周期の間をおいてクラスタツールの各モジュールに入って各モジュールから出る。従って、モジュールの各ウェーハは、そのモジュールに入るか、又は、そのモジュールから出た順序を単に追跡することにより識別することができる。同期化スケジューラのこの特徴は、ウェーハ識別又はウェーハ「タグ付け」と呼ばれる。
【００２７】
タグ付け及びモジュール経路
本発明の実施形態では、クラスタツール内に搭載された各ウェーハは、特定の「モジュール経路」、すなわち、クラスタツールの処理に対応する特定のモジュールセットを追っていく。本発明のこの特徴を図４に示す。この実施形態では、クラスタツールの各処理は、各処理に付随し、ウェーハが処理される１つ又はそれ以上のモジュールを有する。各処理のモジュールは、ウェーハがその処理に到達した時に順番に対応するモジュールに置かれるように、順番が付けられる（例えば、処理が２つの対応するモジュールを有する場合、システムの１番目ウェーハが１番目モジュールに行き、２番目ウェーハが２番目モジュールに行き、３番目ウェーハが１番目モジュールに入り、４番目ウェーハが２番目モジュールに入る、など）。その結果、ウェーハが追従し得るモジュール経路の総数は、各処理に対応するモジュールの数の最小公倍数に制限される。
【００２８】
上記で説明した実施形態は、図４に例示的に示されている。図４は、一連の処理段階であるＶＰ４００、ＶＰＣ４０２、ＣＴ４０４、ＳＢ４０６、ＳＢＣ４０８、ＰＥＢ４１０、ＰＥＢＣ４１２、ＤＥＶ４１４、ＨＢ４１６、ＨＢＣ４１８を示す。処理段階の記号は、その処理段階に対応するモジュールの各々に対して表示される。例えば、処理ＣＴ４０４は、３つのモジュールを有し、それに対応してＣＴという記号は、４０４と３回表示される。各処理段階の上にあるのは、その処理段階４２０のモジュール数である。
この例では、モジュール数の最小公倍数は、ＬＣＭ（２、２、３、３、３、３、３、４、２、２）＝１２である。
【００２９】
従って、クラスタツールのレシピは、１２個のモジュール経路を規定し、経路は４２２と記載されている。表４２２の各縦列は、それぞれのモジュール経路におけるその処理段階に対するモジュール番号を列記する。１２個の可能な経路があるので、全ての１２番目のウェーハは、同じモジュール経路を追従する。従って、ウェーハ及びそれがツール内に搭載された順序を識別することにより、本発明は、ウェーハが辿ったモジュール経路の特定を可能にする。
【００３０】
搬送手段に対する矛盾を排除する待ち行列の追加
レシピが特定のロボットに対して同時の競合する稼働要求を発生させる場合、より多くのロボットを追加することによらず、むしろ、レシピ自体を変更することにより矛盾を解決することが必要であろう。レシピを変更する１つの便利な方法は、ツールにより提供される処理量又は作動中ウェーハの結果を損なうことなく矛盾を解決するタイミングを達成するために、余り重要ではない処理段階に故意の遅延（以下、待ち行列ｑjと呼ぶ）を導入することである。そのような方法は、式（１）と関連して使用されるが、「同期アルゴリズム」の基本である。要約すると、最初に規定されたレシピは、最重要処理及びゲート段階において遅延をもたらす競合稼働要求を導入し、その結果、単一ウェーハ・クラスタツールのウェーハ品質及び処理量を損なう場合がある。「同期アルゴリズム」の目的は、最重要処理段階又はゲート段階において遅延が発生しない事を確実にし、それにより、処理量及びウェーハ品質の保証を確実にするために、非最重要処理段階において故意の遅延を挿入することである。
【００３１】
待ち行列の解法
ここで、遅延又はｑjの求め方を以下に示すことにする。τiを式（１）により規定されたレシピで指示されたロボットタスクのタイミングとする。レシピを変更するために、待ち行列ｑjを処理時間ｐjに加えることにより、新しいタイミングτi*が以下によって得られる。
【００３２】
【数３】
0004733011.tif 000004
【００３３】
この目的は、モジュールｋ及びモジュールｍが同じロボットによりピックアップされたそれらのウェーハを有するように割り当てられた任意の２つのモジュールｋ及びｍ、ｋ＝１、２、３、．．．、Ｎ、及び、ｍ＝ｋ、ｋ＋１，．．．，Ｎ、の間の時間間隔がロボットの搬送時間よりも大きくなるように非最重要処理段階で挿入される待ち行列ｑjのセットを見出すことである。これは、ロボットが全てのモジュールに仕えるのに十分な時間間隔を準備し、その結果、与えられた時間に１つより多いモジュールに仕える必要を回避するであろう。しかし、このようにして得られた待ち行列もまた、モジュールの過度の休止を避けるために十分に小さくなければならない。更に、最重要処理モジュール又はゲートモジュールにおいては、待ち行列があってはならない。
【００３４】
待ち行列のセットが式（２）を使用して以下に求められる。これは、連立一次方程式
【数４】
0004733011.tif 000005
をもたらし、ここで、ａijは、ｉ＜ｊに対してａij＝０、及び、ｉ≧ｊに対してａij＝１である下方三角行列である。
【００３５】
【数５】
0004733011.tif 000006
【００３６】
最重要モジュールにおいて遅延は発生してはならないという制約が、ここで式（３）に適用される。例えば、モジュール＃３及び＃４が最重要である場合、式（３）は、以下に示すような一次方程式に変更されるべきである。
【００３７】
【数６】
0004733011.tif 000007
【００３８】
上式（４）では、当初のレシピにより規定されたタイミングτiは既知である。目標タイミングτi*は、先に説明したように、同じロボットを使用して全てのモジュール間の矛盾を排除する値に設定される。すなわち、式（４）の左辺は、既知の値である。次に、以下の式（５）に示すように、変更された制限行列の逆行列を予め（τi*−τi）に掛けることにより、ベクトルｑjを解く。対応するモジュール処理時間ｐjにこのｑiのセットを加えると、ウェーハ搬送がウェーハ処理と同期されることになる。
【００３９】
【数７】
0004733011.tif 000008
【００４０】
同期アルゴリズムの適用
ここで、本発明の具体的な実施形態について、幾つかの詳細で重要な様々な特徴を示すのに役立つであろう以下の非限定的な例により更に説明する。この例は、本発明を実施し得る方法の理解を容易にし、更に、当業者が本発明を実施するのを可能にすることを単に意図している。従って、この例は、本発明の範囲を限定するものとして解釈されてはならない。
ここで、クラスタツールにおけるウェーハ搬送のウェーハ処理との同期が、クラスタツールの具体的な例を使用して示される。図３は、ウェーハ処理装置の概念的計画図の概略図である。レジスト被覆及び発達モジュールは、各々ＣＴ３００及びＤＥＶ３０２と特定されている。図３には、異なる焼成モジュール、つまり、蒸気プライム（ＶＰ）３０４、ソフトベーク（ＳＢ）３０６、露光後ベーク（ＰＥＢ）３０８、及び、ハードベーク（ＨＢ）３１０のほか、それらの対応する冷却モジュールも示されている。隣接する焼成モジュール及び被覆モジュールを結ぶ矢印は、これらのモジュール間で基板を搬送するベイ間転送アームであるＩＢＴＡ３１２を表す。その結果、これらの焼成モジュールの位置により、それらの対応する冷却プレートの位置が制限される。図示のカセットエンドステーション（ＣＥＳ）ロボット３１４は、カセットエンドステーションから及びそれに対して基板を転送する。ステッパ・インタフェース（ＳＩ）ロボット３１６は、ステッパ・インタフェースから及びそれに対して基板を転送する。Ｉ／Ｏモジュール３１８は、ステッパ・インタフェースに基板が必要となった時及び場合に、そこに搬送される基板のためのバッファ区域である。主ロボット３２０は、蒸気プライム冷却（ＶＰＣ）からレジスト被覆（ＣＴ）までなど、全ての他のモジュール間で基板を搬送する手段である。
【００４１】
図４は、ウェーハ処理流れの概略図である。概略図からわかるように、搬送手段がＩＢＴＡの時、基板は、流れ図で１つのオプションのみを有することになる。これは、基板が蒸気プライムベーク４００から蒸気プライム冷却４０２へ搬送される場合である。しかし、搬送手段が主ロボットの時、基板は、幾つかのオプションを有することができるであろう。例えば、基板がレジスト被覆モジュール４０４から取り除かれた時、基板は、図４に示すソフトベークモジュール４０６のいずれにも搬送することができる。
【００４２】
同期アルゴリズム
ここで、このクラスタツールへの同期アルゴリズムの適用を一連の４つの段階として以下に示す。
・段階１−レシピ及び処理量要件の入力：ここで論じる内容は、図５に関するものである。この段階は、レシピを表５００に挿入することから始まる。最初の２つの縦列５０２は、処理段階を順番に列挙する。「システムｔａｋｔ時間」とも呼ばれる送り周期はまた、５０４で示されている。次に、モジュールｔａｋｔ時間でも知られるサイクル時間は、「モジュールタイプ」縦列５０２の各モジュールについて計算され、各モジュールｔａｋｔ時間がシステムｔａｋｔ時間よりも小さいことを確実にする。縦列５０６には、各処理段階のモジュールｔａｋｔ時間が列挙されている。そうでない場合は、モジュールｔａｋｔ時間を小さくするために余分なモジュールが追加される。当業者には明らかであるように、各処理段階について以下が成り立つ。
必要なモジュール数＝ＩＮＴ（モジュールｔａｋｔ時間／システムｔａｋｔ時間）
この例では、大部分のモジュールには、１つの余分な追加モジュールが必要である。縦列５０８には、各処理段階について必要とされるモジュール数が示されている。
【００４３】
・段階２−ウェーハ搬送の負荷の測定：先に定義したように、ロボットの「負荷」は、ロボットが行うように予定された移動回数のほか、現在の送り周期の始めから測ったロボットがこれらの移動を行うように割り当てられた時間を意味する。ロボット負荷の測定を図６の表６００に示す。この例のこのクラスタ装置は、１２の処理段階を有する。１２の対応するロボット移動のタイミングは、以下のように測定される。ウェーハが搭載ポート（カセット）から出た瞬間から時間を計数して、各モジュールの処理時間と該当するモジュールまでの移動時間とを積算する。例えば、ＶＰ６０２というコード名のモジュール（以下、全てのモジュールはコード化される）では、それは（６２＋６）＝６８秒であり、モジュールＶＰＣ６０４に関しては、それは（６８＋６５＋５）＝１３８秒である。「実際の」６０６と付した縦列に、全てのロボット移動に関する秒で表された実際のタイミングが列挙されている。相対ピックアップ時間Ｔiを測定するには、実時間を実送り周期で割る。例えば、実ピックアップ時間ＶＰ及びＶＰＣを実送り周期４５秒で割ると、各々、正規化されたピックアップ時間１．５１１及び３．０６７をもたらす。「Ｔi正規化」縦列６０８の下に１２の処理段階の各々に対する正規化ピックアップ時間が列挙されている。
【００４４】
Ｔi値の整数部分を引くと、τi値、すなわち、送り周期の始めから測り、１送り周期の単位で表された、それぞれのモジュールがロボットのサービスを受ける必要がある利用可能時間をもたらす。図によれば、ＶＰ及びＶＰＣのτi値は０．５１１及び０．０６７であり、これは、ＶＰは、１送り周期の０.５１１間隔以内にサービスを受ける必要があり、ＶＰＣは、１送り時間の０．６７間隔以内にサービスを受ける必要があることを示す。縦列６１０に、正規化τi値の一覧が示されている。図６１２は、１２回の移動と送り周期以内にサービスを受ける必要がある時間との合計である負荷を図的表示である。図７は、別の見方による同じ情報を示す。ロボット搬送時間が大体５及び６秒であることから、１つのロボットが４５秒の送り周期内で行うことができる移動回数は（４５／６）〜７であり、例えば内輪に見積もって６回の移動となる。従って、グラフ７００では６つの垂直線が引かれている。全てが１つの間隔７１０以内にあるＳＢＣ７０２、ＤＥＶ７０４、ＨＢ７０６、及び、カセット７０８など、モジュールがロボットからサービスを受ける必要がある時間が１つの間隔以内にある時、それは、モジュールが、与えられた時間においてロボットの同じ移動に関して争っていることを意味する。詳しく言えば、１つのロボットを使用するタスクが２つ又はそれ以上ある場合、及び、これらのタスクのτ値が６つの間隔の１つの中に該当する場合、それは、ロボットが２つ又はそれ以上のタスクの各々に仕える時間が不十分であることを意味する。
以下の段階で説明するように、ロボットの使用に関するタスク間のこれらの「矛盾」は解決される。
【００４５】
・段階３−搬送負荷の割り当て：製造システムにおける矛盾を解決する第１の段階は、均衡の取れた搬送負荷を達成するためにロボット間で負荷を均等に割り当てることである。矛盾はレシピに左右されるが、ロボット毎に負荷を小さくして割り当てると、それでも矛盾発生の機会が少なくなる。しかし、負荷の均衡を取れる可能性は、ロボットに対するモジュールの配置に左右される。まずい配置は、ロボットによるモジュールへのアクセス性を制限し、均衡の取れた負荷は達成し難くなる。この例では、２つのロボットＣＥＳ及びＳＩが各々２つのモジュールだけに仕えることができ、負荷の大部分を主ロボットＣ−１とＩＢＴＡ（ベイ間転送アーム）として知られる３つの専用ロボットとに任すように配置がなっている。配置上の制約の下での搬送負荷の最良の割り当ては、図７に示す通りである。主ロボットＣ−１には、６つのモジュール、つまり、ＶＰＣ７１２、ＣＴ７１４、ＳＢＣ７１６、ＰＥＢＣ７１８、ＤＥＶ７２０、及び、ＨＢ７２２が割り当てられ、そのうちの３つであるＳＢＣ、ＤＥＶ、及び、ＨＢは、上記の通り、ロボットの１つの移動に対して競合する。これらの矛盾は、次の段階で示すような待ち行列作成により解決されることになる。
【００４６】
・段階４−同期化の待ち行列作成：図８の表８００の内容は、段階３からの負荷割り当てのまとめである。待ち行列作成に関しては、主ロボットＣ−１からサービスを受ける６つのモジュールのみ、すなわち、ＶＰＣ８０２、ＣＴ８０４、ＳＢＣ８０６、ＰＥＢＣ８０８、ＤＥＶ８１０、及び、ＨＢ８１２を考慮する必要がある。残りのモジュールは、各々がそれらに仕える専用ロボットであるＩＢＴＡを有するので矛盾を経験するはずがない。目標縦列８１４において、６つのモジュールに対して目標タイミング概略値が設定されている。表に示したモジュールの各々については、τ*をロボットに対するタスク間の矛盾を排除するτの更新値とすると、τ*に関して対応する値が設定されている。これらの６つのモジュールのうちの３つであるＳＢＣ８０６、ＤＥＶ８１０、及び、ＨＢ８１２のみが争っていることから、ＤＥＶ及びＨＢである２つのみがレシピにより規定されたτの当初の値と異なるタイミング目標を有する必要がある。タイミング目標は、縦列８１４に示されており、この６つのモジュールの任意の対の間のタイミング間隔がロボット搬送時間（＝６／４５〜０．１３３３）よりも大きくなるように設定されている。目標と当初に規定されたタイミング概略値との差はギャップと呼ばれ、縦列８１６に計算されている。これらが、表に隣接するグラフ８１８で図的に示されている。「同期アルゴリズム」の別の目的は、最重要処理段階に遅延が導入されないことを確実することである。この例では、最重要処理段階は、段階３ ８０４、段階４ ８０６、及び、段階７ ８０９である。これらの段階に対応するモジュールには、一切の待ち行列は追加されてはならず、すなわち、これらのモジュールの目標タイミングは、規定された値と同じであるべきである。ここで、「ギャップ」縦列８１６で計算されたギャップを式（３）に代入し、これらのギャップを閉じることになる待ち行列を求めることができる。しかし、最重要処理モジュールにおける遅延を確実にゼロにするには、ギャップと待ち行列とを関係付ける行列８１８を式（４）に従って変更し、変更行列８２０を作成する必要がある。「ギャップ」縦列８１６からのギャップに変更行列８２２の逆行列を予め掛けることにより、ギャップ８２４を閉じるのに必要とされる待ち行列が生み出される。待ち行列に対する解は、「待ち行列」縦列８２６に移される。送り周期の単位を有する解は、「実待ち行列」縦列８２８において実時間に変換される。
・段階５−解のチェック：ここで、段階４で決められた待ち行列は、当初のレシピのモジュール処理時間に加えられる。これは、矛盾が解決されたかどうか確認するためである。図に示す通り、事実、この場合は解決されている。
【００４７】
ロボット割り当て
スケジューリング問題の自動化と言うに値する別の態様は、モジュールへのロボットの割り当てである。例えば、上記の段階３では、連続するモジュールの各対の間に単一のロボットを割り当てるレシピが選択され、この割り当てが図７に示すレシピに示されている。この割り当ては、多くの可能な割り当ての中から選択されたものである。
一般的に、待ち行列の決定の前に最適のロボット割り当てを判断するアルゴリズムの必要性がある。そのようなアルゴリズムの必要性は、以下の例で示される。仮に、Ｍｏｄ１、Ｍｏｄ２、及び、Ｍｏｄ３と標記された３つのモジュールから成る簡素化された追跡システムがあるとする。また、仮に、両方が３つのモジュールの全てに仕えることができるＲｏｂｏｔ１及びＲｏｂｏｔ２という２つのロボットがあるとする。送り周期を変数ＳＰで表すものとする。送り周期の単位でτ1＝０．０、τ2＝０．６、及び、τ3＝０．７と仮定し、ロボットは、ＳＰの単位で０．３だけ移動できると仮定する。可能なロボット割り当ては４つある。
割り当て    Ｍｏｄ１対Ｍｏｄ２    Ｍｏｄ２対Ｍｏｄ３ 
１．          Ｒｏｂｏｔ１          Ｒｏｂｏｔ１
２．          Ｒｏｂｏｔ２          Ｒｏｂｏｔ２
３．          Ｒｏｂｏｔ１          Ｒｏｂｏｔ２
４．          Ｒｏｂｏｔ２          Ｒｏｂｏｔ１
【００４８】
調べてみると、割り当て３及び４のみが実行可能である。割り当て１及び２では、τ2＝０．６とτ3＝０．７との間の時間間隔は、０．１送り周期であり、これは、ロボットが移動するのに必要とされる０．３送り周期よりも小さい。従って、最適な割り当ては、この場合は割り当て＃３及び＃４であり、これらの数値の間の時間間隔が十分な隔たりを有するので、このロボット割り当ては、遅延を挿入する必要性を排除する。例えば負荷の均衡化や処理量の増加である他の判断基準を同じく最適なロボット割り当ての判断の中に持ち込んでも良い。上記の簡単な例よりも複雑な事例においては、最適なロボット割り当てを判断するようなアルゴリズムが必要である。
【００４９】
そのような割り当てを実行する１つの方法は、全ての可能なロボット割り当てを作成して各割り当ての有効性を判断する単に消耗的な技術であり、それは、すなわち、ロボットに割り当てられた全てのモジュールがロボットをそれらに仕えさせるのに必要な十分に異なるτ値を有することを確実にする。このようにして作成された割り当てはまた、負荷の均衡化などの追加の判断基準に対して選択されてもよい。
【００５０】
更新されたタイミング（τ*）に対する解
自動化と言うに値する同期化の別の特徴は、τ*として与えられる更新されたタイミングの誘導である。詳しく述べると、上記で概説したアルゴリズムの段階４において、アルゴリズムには、ロボットを共有する任意の２つのモジュールに対してそれぞれのτ*値がロボットのモジュール間の移動を可能にするのに十分な時間だけ異なる、τ*の更新された値が与えられた。これらのτ*値を誘導する自動的な方法の必要性が存在する。１つのそのような技術は、以下の通りである。
【００５１】
矛盾を有するロボットに対して、そのモジュールの各々に対するτ値を取る。
これらのτ値の各々の組み合わせに対して、最低値から最高値までτ値を分類する。τ値の分類されたリストの各々に対して以下を実行する。
・最低値から最高値までτ値によって連続的に進行する。
・与えられたτ値とその前のτ値との差を判断する。
・その差がロボットが移動するのに割り当てられた時間よりも小さい場合、τ値を十分に増分させる。
・次のτ値に進む。
このアルゴリズムが、与えられたロボットに対して矛盾を排除する更新されたτ値のセットを見つけた時、これらのτ値はτ*値となる。矛盾のないτ*値のグループが存在する場合、上記で概説したアルゴリズムがそれを見出すことになるのを証明することができる。
【００５２】
遺伝アルゴリズム
同期化、ロボット割り当て、及び、誘導に関する問題はまた、遺伝アルゴリズム（ＧＡ）を使用することによって解決することができる。ＧＡは、問題の可能な状態を符号化する遺伝子の初期母集団を用いて始める反復処理である。この母集団は、選択的増殖処理を通じて反復毎に系統的に改善される。選択的増殖を行うために、ＧＡは、ａ）種の特性を規定し、ｂ）種の適合性を判断する必要がある。
【００５３】
種の特性：種は、ｎ個の遺伝子により特徴づけられる。ここでの問題には、２種類の遺伝子が用いられ、１つはロボット割り当てを表す遺伝子であり、もう１つは待ち行列セグメントを表す遺伝子である。先のアルゴリズムの説明で用いた例を検討することにする。ロボット割り当ては、１から４までの範囲に及ぶことになり、どのロボットが特定の１つのモジュールで働くことになるかを示す。待ち行列セグメントはまた、ロボット割り当ての矛盾を回避するためにいくつの「時間帯」、すなわち、ロボット移動時間がモジュールの到着時間に加えられるべきかを示す整数でもある。先の例では、図６の６１２で示すように、モジュールは、６つの異なる時間帯で到着する。１つの時間帯に例えば５つのモジュールが到着する場合、矛盾が生じる。モジュールの１つに待ち行列セグメントが追加されると、到着時間を次の時間帯に押しやることになり、従って矛盾が解決される。
【００５４】
種の適合性：種の「悪さ」の逆数により適合性を測定することができる。逆に、悪さは、矛盾の程度と追加待ち行列セグメントの数との加重和により測定することができる。理想的な種は、追加セグメントを有さず、ロボット割り当てに矛盾をもたらさない種である。
適合性関数を誘導するために、各時間帯が走査され、各ロボットについて余分な割り当ての数が計数される。結果は、全てのロボット及び全ての時間帯について合計され、この合計をｓと呼ぶ。更に進んで、追加待ち行列セグメント数が計数され、その数をｔと呼ぶ。そうすると、適合性関数は以下のようになる。
ｆ（ｓ，ｔ）＝１／（１＋ｗ1ｓ＋ｗ2ｔ）
ここで、重みｗ1及びｗ2は、ｔに対するｓの相対的な重要度に従って割り当てられる。
【００５５】
レシピのカスケーディング
本発明の実施形態は、クラスタツールが周期性を保ち最重要時点で遅延がないことを確実にしながら、第１のレシピから第２のレシピに変化することを可能にする。この手順は、レシピのカスケーディングと呼ばれる。カスケーディングは、ウェーハの以下搬出ロットと呼ぶ第１のロットをクラスタツールから空にして、同時にかつ連続して以下搬入ロットと呼ぶもう１つのロットでクラスタツールの場所を占めさせる段階を伴う。この手順は、最重要処理段階で遅延が発生することなく、また、レシピと搬入及び搬出ロットの処理量要件とで必要とされるもの以外の追加のロボット及び処理モジュールもなく実行されることになる。搬入ロットはまた、搬出ロットとは異なるレシピ及び処理量要件を有してもよい。
【００５６】
表記法
本明細書のレシピカスケーディングの検討においては、以下のパラメータが採用される。
ｍex＝処理段階数、上付き文字（ｅｎ、ｅｘ）は、以下で搬入又は搬出ロットを示す。
ｎex＝クラスタツールを完全に空にする搬出ウェーハ数、又は、クラスタツールの場所を完全に占める搬入ウェーハ数
【数８】
0004733011.tif 000009
＝（ｉ-１）番目及びｉ番目ウェーハの送り出しの間の時間間隔であるｉ番目ウェーハの送り周期
【数９】
0004733011.tif 000010
＝定常状態のウェーハの送り周期
【数１０】
0004733011.tif 000011
＝搬出ロットのｊ番目処理モジュールでの切り換えに適応するための搬入ロットの１番目ウェーハの送り出しの遅延ＣＯj＝搬出ロットのｊ番目処理モジュールを新しい設定に切り換えるのに掛かる時間
【数１１】
0004733011.tif 000012
＝ｋ番目ロボットにより搬送されたj番目モジュールにおけるｉ番目ウェーハの到着時間
【数１２】
0004733011.tif 000013
＝ｋ番目ロボットにより搬送されたj番目モジュールからのｉ番目ウェーハの出発時間
【数１３】
0004733011.tif 000014
＝搬出ロットのｊ番目処理段階の処理時間
【数１４】
0004733011.tif 000015
＝搬出ロットの（ｊ-１）番目及びj番目処理段階の間の搬送時間
【数１５】
0004733011.tif 000016
＝搬出ロットのｊ番目処理段階におけるｉ番目ウェーハに追加される待ち行列 
【００５７】
レシピカスケーディングの性質
図９は、一般的なレシピ９００を示す。それは、ウェーハがクラスタツールを通過する時にウェーハに対して実行される処理及び搬送タスクと各タスクのタイミングとを指定する。処理量要件を満たすには、図１０に示すように、後続のウェーハは、一定の送り周期でクラスタツールを通って送られる。この送り周期ＳＰ１０００は、以下で与えられる。
ＳＰ＝３６００／ＷＰＨ
ここで、ＷＰＨは、１時間当たりのウェーハで表される処理量要件である。
【００５８】
ｎ番目ウェーハにより、クラスタツールは、ウェーハで完全に占められることになる。クラスタツールから出るどのウェーハに対しても、それを補充するために入るウェーハがある。ウェーハに対して実行される全ての処理及び搬送タスクは周期的に起こり、その周期性は、送り周期で設定される。システムがこの段階に達した時、定常状態にあるといわれる。クラスタツールを完全に占め、定常状態まで迅速に達するのに必要とされるウェーハ数ｎは、次式で与えられる。
ｎ＝１＋ＩＮＴ（π／ＳＰ） （Ａ）
ここで、πは、図９の９０２に示すように、ウェーハに対して実行される総処理及び搬送時間である。記号ＩＮＴ（・）は、数字を最も近い整数に丸める関数を示す。上記の式は、定常状態から外れクラスタツールを完全に空にするためのロットのウェーハ数にも適用される。定常状態では、全てのウェーハは、同一の時間間隔でウェーハに対して実行される同一の処理及び搬送タスクを有する。従って、クラスタツール内部のウェーハの動きを追跡する必要はない。
【００５９】
しかしながら、レシピカスケーディングの間、ウェーハは、図１１に示すように搬出ロットの定常状態から搬入ロットの定常状態への過渡期にある。過渡期の間は、搬出ロットに対して規定されたレシピ及び送り周期に従って処理及び搬送されるウェーハもあれば、搬入ロットに対して規定されたレシピに従って処理及び搬送されるウェーハもあることになる。周期性は、従って、維持することができない。「矛盾」が起こることになる。「矛盾」は、２つの状況を意味する。処理矛盾と呼ばれる一方の状況では、２つのモジュールは、同じ処理モジュールによってその段階の処理時間よりも短い間隔内で連続的に処理される必要がある。搬送矛盾と呼ばれるもう一方の状況では、２つのウェーハは、同じロボットによってロボット搬送時間よりも短い間隔内で連続的に搬送される必要がある。
【００６０】
矛盾に対する１つの解決策は、より多くのモジュール及びロボットを追加することである。この解決策は、経費が掛かり実用的ではない。別の解決策は、優先権規則セットを装備し、「ｉｆ-ｔｈｅｎ」アルゴリズムを実行して矛盾に対応することである。この解決策は、その組み合わせ的性質のために、最終的にカオス及び予測不可能性をもたらす、結果の非常に大きな組み合わせを発生する。根本的な解決策は、搬入ロットのウェーハを送り出す適切なタイミングと搬出及び搬入ロットの両方の非最重要処理段階での故意の遅延の挿入とを通して矛盾を完全に排除することである。これが本明細書で説明するレシピカスケーディングの背後にある原則である。
【００６１】
手順 
段階１−過渡期にあるウェーハ数の推定：過渡期の間、搬入ロットがクラスタツールを充足する一方で、搬出ロットは、それを空にしている。過渡期に関与するウェーハ数は、式（Ａ）を使用して見積もることができる。見積用のアルゴリズムは、以下の通りである。
【００６２】
【数１６】
0004733011.tif 000017
【００６３】
段階２−「遅延」の下限の推定：搬入ロットのウェーハを送り出すタイミングは、矛盾発生の原因となる主要な変数である。従って、送り出しの適切なタイミングが重要である。それに加えて、以下で「遅延」と呼ぶ１番目のウェーハを送り出すタイミングは、それが処理モジュールを搬入ロットで要求される新しい設定に切り換えるのに必要とされる時間を準備するようにすべきである。その結果、搬入ロットの１番目ウェーハが到着する時には、切り換えが完了しており、処理モジュールは、それを受け取る準備が整っている。搬入ロットのレシピで必要とされるモジュール切換回数と同じ位多くの「遅延」があることになる。それらの最大値が遅延の下限である。矛盾解決のために考えられるいかなる遅延量も、この下限よりも大きくなければならない。図１２を参照すると、この下限は、以下のように導くことができる。
【００６４】
【数１７】
0004733011.tif 000018
【００６５】
以下は、式（Ｂ）に従って遅延の下限を推定するアルゴリズムである。
【００６６】
【数１８】
0004733011.tif 000019
【００６７】
段階３−過渡期のウェーハの動きの追跡：過渡期のウェーハの動きを追跡することができる。ｋ番目ロボットにより搬送されたｊ番目モジュールにおけるｉ番目ウェーハの到着時間
【数１９】
0004733011.tif 000020
は、以前の（ｊ−１）番目処理モジュールからの出発時間
【数２０】
0004733011.tif 000021
に（ｊ−１）番目からｊ番目モジュールまでの搬送時間ｔjを加えたものである。
【００６８】
【数２１】
0004733011.tif 000022
【００６９】
逆に、ｊ番目モジュールからの出発時間は、到着時間に処理時間と矛盾解決のために故意に挿入された待ち行列とを加えたものである。
【００７０】
【数２２】
0004733011.tif 000023
【００７１】
上記の式（Ｃ）及び（Ｄ）の再帰公式により、過渡期のウェーハの動きを精密に計画することができる。すなわち、搬出ロットの最終ウェーハが送り出されて過渡期が始まった時からの時間を測ると、図１１を参照されたいが、以下のアルゴリズムに従って処理モジュールにおけるウェーハの到着及び出発を計算することができる。過渡期以外の到着及び出発時間は考えられておらず、従って、大きな負の値が標記される。図１１を参照されたいが、搬出ロットのウェーハに対しては以下のようになる。
【００７２】
【数２３】
0004733011.tif 000024
【００７３】
搬入ロットのウェーハに対しては、以下のようになる。
【００７４】
【数２４】
0004733011.tif 000025
【００７５】
段階４−矛盾の識別：到着時間Ｔijkin、及び、出発時間Ｔijkoutを決めたら、矛盾の有無をチェックすることができる。処理矛盾は、ｊ番目処理段階での処理モジュールが、ｍ番目及びｎ番目の１対のウェーハを処理時間よりも短い時間間隔以内に連続的に処理するために呼ばれた時に発生する。換言すると、ｍ番目ウェーハがモジュールから出発する前にｎ番目ウェーハが到着するわけである。すなわち、以下が真の場合に矛盾が発生する。
【００７６】
【数２５】
0004733011.tif 000026
【００７７】
上記の論理ステートメントを使用して全ての処理段階に対する（ｍ、ｎ）対の全ての可能な組み合わせを調べることにより、全ての処理矛盾を識別することができる。
Ｆｏｒ ｊ＝１ ｔｏ （ｍex＋ｍen）
Ｆｏｒ ｍ＝１ ｔｏ （ｎex＋ｎen）
Ｆｏｒ ｎ＝１ ｔｏ ｍ−１
以下が成り立てば「矛盾」である。
【００７８】
【数２６】
0004733011.tif 000027
【００７９】
ｎｅｘｔ ｍ
ｎｅｘｔ ｎ
【００８０】
同様に、搬送矛盾は、ｋ番目ロボットであるロボットがｍ番目及びｎ番目の２つのウェーハを搬送時間よりも短い時間間隔以内に連続的に搬送するために呼ばれた時に発生する。換言すると、ｍ番目ウェーハの到着とｎ番目ウェーハの出発との間の時間間隔が搬送時間よりも短いわけである。すなわち、以下が真の場合に搬送矛盾が発生する。
【００８１】
【数２７】
0004733011.tif 000028
【００８２】
上記において、記号｜・｜は絶対値を示し、「ｇ」は、ロボットが１回の搬送移動を行うために割り当てられた時間である。時間「ｇ」は、ロボットの搬送時間より大きいか、又は、ロボットの搬送時間に等しい。上記の論理ステートメントを使用して全ての処理段階に対する（ｍ、ｎ）対の全ての可能な組み合わせを調べることにより、全ての搬送矛盾を判断することができる。
Ｆｏｒ ｊ＝１ ｔｏ （ｍex＋ｍen）
Ｆｏｒ ｍ＝１ ｔｏ （ｎex＋ｎen）
Ｆｏｒ ｎ＝１ ｔｏ ｍ−１
以下が成り立てば「矛盾」である。
【００８３】
【数２８】
0004733011.tif 000029
【００８４】
ｎｅｘｔ ｍ
ｎｅｘｔ ｎ
【００８５】
段階５−適切な待ち行列及び送り出しによる矛盾の解決：式（Ｅ）から式（Ｇ）には、特定ロボットによる処理モジュールでのウェーハの到着及び出発時間の計算に使用されるまだ未決定の３つの変数があることに留意されたい。これらは、待ち行列ｑijex及びｑijenと呼ばれる故意の遅延と、搬入ロットのウェーハを送り出すタイミングＳＰjenとである。矛盾がなく全待ち行列が最小化されるようにこれら３つの変数の最良の組み合わせを見つけるため、最適化法が使用される。遺伝アルゴリズムは、そのような最適化法の１つである。他の最適化法は、当業者には明らかであろう。
本発明の様々な実施形態の上記の説明は、例証及び説明を目的として提示したものである。本発明を開示されたその正確な形態に限定することは意図していない。多くの変更及び同等な構成が明らかになるであろう。
【００８６】
ローカルクロックを含むクラスタツールの構成
本発明で使用されるウェーハ・クラスタツールの実施形態を図１３に概略的に示す。クラスタツールは、線形順序で配置された一連の処理モジュール１３００を含む。ウェーハクラスタは、本明細書で先に説明したアルゴリズムに従い、ウェーハクラスタを一連の処理モジュール１３００を通して送ることにより処理される。
図１３に示す実施形態では、処理モジュールの各々は、ローカルクロック１３０２を含む。ローカルクロックは、処理モジュール１３００に連結されたプロセッサ上にあってもよい。ローカルクロック１３０２は、ローカルエリアネットワーク又はＬＡＮ１３０６を経由してマスタクロック１３０４を含むサーバに連結される。本発明の実施形態では、マスタクロック１３０４は、ローカルクロック１３０２をマスタクロック１３０４と同期させるために、ローカルクロック１３０２に定期的に時報を送る。
【００８７】
マスタクロックは、予定表１３０８と通信している。予定表１３０８は、複数のローカルクロック１３０２に記録された時間を記憶するデータベースを含む。予定表１３０８は、マスタクロック１３０４を含むサーバ上か、又は、マスタクロック１３０４に連結された別のサーバ上にあってもよい。予定表１３０８は、当業者には明らかなように、スプレッドシート、リレーショナルデータベース、フラットファイル、又は、特注のデータ構造の形で記憶されてもよい。本発明の実施形態では、ローカルクロック１３０２又はマスタクロック１３０４により示される時間は、送り周期の単位で記録される。
【００８８】
本発明の幾つかの実施形態では、ウェーハクラスタが処理モジュール１３００に入るたびに、モジュールのローカル又は内部クロックがリセットされ、予定表１３０８に登録される。予定表１３０８は、それがクラスタツールにローカルクロック１３０２の現在の記録を保持し得るようにリアルタイムで連続的に更新される。ウェーハが与えられたモジュール１３００に留まる合計時間は、スケジューリングアルゴリズムにより予め決められるので、予定表１３０８は、各モジュール１３００に対してウェーハピックアップ時間を識別することになる。
【００８９】
クラスタツールにおけるロボットの事前配置
本発明の実施形態は、先行するタスク完了直後に、次に来るモジュールの位置にロボットを配置することを可能にする。そのような実施形態では、ロボットは、先行するタスク完了直後に、仕えるべきモジュールの前にそれ自身を事前配置することになる。モジュールの位置でロボットを事前配置することにより、待ち行列時間を超える過度の待ち時間が排除され、その結果、クラスタツールの処理量が向上する。これにより、処理スケジュールと共にロボット経路を予め決めることができ、処理量向上のためにロボットに多重グリッパを含むいかなる必要性も最小限に抑えられる。
【００９０】
事前配置を支援する本発明の実施形態を図１４に示す。この処理は、クラスタツールの確定的スケジュール１４００の作成で始まる。これは、ロボットの矛盾を排除するためにモジュールの処理時間に待ち行列を挿入する段階を伴うものであり、先に説明した線形変換又は遺伝アルゴリズムによって実行してもよい。確定的スケジュールは、１送り周期の間隔を有する周期性を呈する。ロボットＲ１４０２による処理段階ｉが完了すると直ぐに、クラスタツールは、予定表１３０８を参照し、どの処理段階によってロボットＲがそれ自身を位置決めすることになっているかを判断する。この段階１４０４は、処理段階ｊを選ぶ段階を伴い、その場合、τjは、マスタクロックＴmasterの現在時間の小数部分に最も近く、処理段階ｊは、現在の送り周期においてはまだ実行されていない。繰り返して言うと、段階１４０４は以下を伴う。
予定表１３０８からｊを選び、この場合、τjは、Ｔmaster−ＩＮＴ（Ｔmaster）に最も近く、 段階ｊは、現在の送り周期においてはまだ実行されていない。
そのような処理段階ｊが予定表１３０８に見出される時、ロボットＲは、処理チャンバｊの位置に配置される。
【００９１】
ロボット事前配置の恩典
前確定的処理スケジュール１４００を上記のロボット事前配置アルゴリズムと組み合わせることにより、クラスタツールの個々のロボットの経路が前確定的になることが当業者には明らかであろう。予定表１３０８がリアルタイムで更新され、また、スケジュール１４００が各送り周期で同一であるために、予定表１３０８で維持されるτj値の集積は、各送り周期で全く同じである。従って、各ロボットＲのτjの選択もまた、１送り周期の間隔で繰り返されることになる。すなわち、ロボットＲの経路は、クラスタツールスケジュールと共に周期性を呈することになる。これにより、クラスタツールスケジュール１４００の作成と共に各ロボットＲの経路も予め決めることができる。
【００９２】
上記の事前配置アルゴリズムは、クラスタツールの処理量を向上させる。特に、ロボットのサービスが必要な各モジュールは、必要なロボットをその前に既に配置させていることになる。これにより、ロボットに必要であるいかなる待ち時間も排除され、その結果、矛盾を解除するのに使用される待ち行列を超えるいかなる待ち時間も排除される。事前配置の使用によるロボットの重複の排除と共に、上記の代数的技術又は遺伝アルゴリズムによる待ち行列時間の最適化は、クラスタツールの処理量を最大にする。
【００９３】
ロボット事前配置により、システムは、単一のグリッパロボットを使用することもできる。詳しく言えば、従来技術では、ウェーハ交換を可能にし、ロボット移送回数を最小限に抑えるために、多重グリッパロボットが一般的に使用されている。これは、多重グリッパを有するロボットが交換を行うためにグリッパの１つに載ったウェーハを必要とするために、付加的な制約をクラスタツールに加える。これにより、クラスタツールの性能が制約される。更に、交換によりモジュール間の搬送時間が増え、それは、最終的にクラスタツールの処理量を減速する場合がある。
ロボット事前配置により可能になった処理量の向上は、ロボットの待ち時間を排除することによってウェーハ交換を行ういかなる必要性も最小限にする。すなわち、クラスタツールは、単一グリッパを有するロボットを採用してもよい。これは、ロボットを簡素化し、ロボットに搭載される処理のいかなる必要性も最小にする。
【図面の簡単な説明】
【００９４】
【図１】各点が１送り周期の間隔によって分離された、ウェーハがクラスタツール内に搭載される点を示す時間線図である。
【図２】ピックアップ時間が送り周期で正規化された、処理ｉにおける３つのウェーハの相対及び絶対ピックアップ時間のほかピックアップ時間の仮数を示す図である。
【図３】クラスタツールの様々なモジュール及び搬送モジュールを示す図である。
【図４】クラスタツールのモジュール経路を示すグラフ及び対応する表である。
【図５】クラスタツールのレシピを示す表である。
【図６】１つの送り周期内で６つの可能なロボットの動きがあるために送り周期が６つの小間隔に分割されている、送り周期において生じるモジュールピックアップ時間のグラフ及び対応する表である。
【図７】ロボットに割り当てられた２つのモジュールが１つの周期内にピックアップ要求を有する時の矛盾が示されている、ロボットへアクセスする処理の間に起こる矛盾を示すグラフ及び対応する表である。
【図８】ロボットへアクセスするモジュール間の矛盾を排除する待ち行列の挿入を示す、グラフと付随する表及び行列とを示す図である。
【図９】クラスタツールにおけるレシピとレシピ時間とを示す図である。
【図１０】クラスタツールで定常状態にあるウェーハの流れを示す図である。
【図１１】クラスタツールが搬入ロット及び出口側ロットを処理する過渡期を示す図である。
【図１２】本発明の実施形態によるクラスタツールにおける搬入ロットの１番目のウェーハのタイミングを示す図である。
【図１３】本発明の実施形態における複数のローカルクロックを示す図である。
【図１４】本発明の実施形態で使用されるロボット配置アルゴリズムを示す図である。
【図１】
0004733011.tif 000030
【図２】
0004733011.tif 000031
【図３】
0004733011.tif 000032
【図４】
0004733011.tif 000033
【図５Ａ】
0004733011.tif 000034
【図５Ｂ】
0004733011.tif 000035
【図６Ａ】
0004733011.tif 000036
【図６Ｂ】
0004733011.tif 000037
【図７】
0004733011.tif 000038
【図８Ａ】
0004733011.tif 000039
【図８Ｂ】
0004733011.tif 000040
【図９】
0004733011.tif 000041
【図１０】
0004733011.tif 000042
【図１１】
0004733011.tif 000043
【図１２】
0004733011.tif 000044
【図１３】
0004733011.tif 000045
【図１４】
0004733011.tif 000046