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