(57)【特許請求の範囲】
【請求項１】
一連のウェハを処理する順番に配置される複数のモジュールであって、遅延が許容できる複数の第一のモジュールと、遅延が許容できない複数の第二のモジュールとを含む複数のモジュールと、
前記一連のウェハを前記複数のモジュールの中のあるモジュールから次のモジュールへ一定の周期時間間隔で搬送するための複数の搬送リソースと、
前記複数の第一のモジュールのそれぞれが前記ウェハを処理するために要するそれぞれの時間に遅延時間を加えることにより、前記複数の搬送リソースの中の所定の搬送リソースに対する前記複数の第一のモジュールからの搬送要求の競合を除去するためのスケジューラと、
備えるウェハ処理システム。
【請求項２】
請求項１に記載のウェハ処理システムであって、
前記複数の第二のモジュールは、処理されたウェハをピックアップする際の遅延がウェハの成果に影響を及ぼす危険プロセスモジュールを含む、ウェハ処理システム。
【請求項３】
請求項１に記載のウェハ処理システムであって、
前記複数の第二のモジュールは、前記複数のモジュールの中でプロセス時間が最長のゲーティングモジュールを含む、ウェハ処理システム。
【請求項４】
請求項１に記載のウェハ処理システムであって、
前記スケジューラは、前記第一のモジュールからの搬送要求が引き起こす全ての競合を除去するための遅延時間を提供する、ウェハ処理システム。
【請求項５】
請求項４に記載のウェハ処理システムであって、
前記複数の第一のモジュールの個数をＮとし、
前記複数の第一のモジュールのそれぞれのタスクのタイミングをτiとし、
前記複数の第一のモジュールのそれぞれのタスクに加えられる前記遅延時間をｑjとし、
前記複数の第一のモジュールのそれぞれのタスクに前記遅延時間ｑjが加えられた後のタスクのタイミングをτi＊とし、
ｉ＜ｊではａij＝０、ｉ＞＝ｊではａij＝１となる行列要素ａijから成る下方三角マトリックスをａijとし、
ｉ，ｊをそれぞれ１以上Ｎ以下の整数とすると、
前記スケジューラは、
【数１】
0004621698.tif 000010
により前記遅延時間ｑjを算出する、ウェハ処理システム。
【請求項６】
一連のウェハを処理する順番に配置される複数のモジュールと、前記一連のウェハを前記複数のモジュールの中のあるモジュールから次のモジュールへ一定の周期時間間隔で搬送するための複数の搬送リソースとを有するウェハ処理システムにおける、一連のウェハを処理するためのウェハ処理方法であって、
前記複数のモジュールの中から遅延が許容できる複数の第一のモジュールと、遅延が許容できない複数の第二のモジュールとを認識するステップと、
前記複数の第一のモジュールのそれぞれが前記ウェハを処理するために要するそれぞれの時間に遅延時間を加えることにより、前記複数の搬送リソースの中の所定の搬送リソースに対する前記複数の第一のモジュールからの搬送要求の競合を除去するステップと、
を備えるウェハ処理方法。
【請求項７】
請求項６に記載のウェハ処理方法であって、
前記複数の第二のモジュールは、処理されたウェハをピックアップする際の遅延がウェハの成果に影響を及ぼす危険プロセスモジュールを含む、ウェハ処理方法。
【請求項８】
請求項６に記載のウェハ処理方法であって、
前記複数の第二のモジュールは、前記複数のモジュールの中でプロセス時間が最長のゲーティングモジュールを含む、ウェハ処理方法。
【請求項９】
請求項８に記載のウェハ処理方法であって、
前記一連のウェハは、前記ゲーティングモジュールの処理時間にほぼ等しい時間間隔で前記ウェハ処理システムに導入される、ウェハ処理方法。
【請求項１０】
一連のウェハを処理する順番に配置される複数のモジュールと、前記一連のウェハを前記複数のモジュールの中のあるモジュールから次のモジュールへ一定の周期時間間隔で搬送するための複数の搬送リソースとを有するウェハ処理システムにおけるウェハ処理をスケジューリングするためのコンピュータプログラムであって、
前記ウェハ処理システムに、
前記複数のモジュールの中から遅延が許容できる複数の第一のモジュールと、遅延が許容できない複数の第二のモジュールとを認識するステップと、
前記複数の第一のモジュールのそれぞれが前記ウェハを処理するために要するそれぞれの時間に遅延時間を加えることにより、前記複数の搬送リソースの中の所定の搬送リソースに対する前記複数の第一のモジュールからの搬送要求の競合を除去するステップと、
を実行させるためのコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムであって、
前記複数の第一のモジュールの個数をＮとし、
前記複数の第一のモジュールのそれぞれのタスクのタイミングをτiとし、
前記複数の第一のモジュールのそれぞれのタスクに加えられる前記遅延時間をｑjとし、
前記複数の第一のモジュールのそれぞれのタスクに前記遅延時間ｑjが加えられた後のタスクのタイミングをτi＊とし、
ｉ＜ｊではａij＝０、かつｉ＞＝ｊではａij＝１となる行列要素ａijから成る下方三角マトリックスをａijとし、
ｉ，ｊをそれぞれ１以上Ｎ以下の整数とすると、
前記遅延時間ｑjは、
【数２】
0004621698.tif 000011
により算出される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはマイクロ電子部品の製作に関する。厳密には、製作システム内の個々の処理及び搬送機構を同期化させることにより、マイクロ電子部品製作における処理量、信頼性、品質を最適化する技術に関する。
【背景技術】
【０００２】
集積回路のような半導体デバイスを製造するプロセスでは、デバイスを形成するために数多くのマイクロ製作段階が実行されている。これらの段階は、個々の製品について個々のモジュールで連続的に実行されており、各製品はモジュールの間をロボットのような搬送機構で移送される。所望の処理量、信頼性、品質を達成するためには、以下の幾つかの条件を満足させねばならない。
【０００３】
１）基板の処理モジュールへの搬入及び処理モジュールからの搬出、並びにウェーハのモジュール間の搬送はタイムリーに行わなければならない。この基板のタイムリーな搬入、搬出は、基板の流れが周期的で同期したやり方に維持できれば達成される。周期性及び同期化が維持されなければ、処理は基板毎に一定せず、期待の処理量が下ることになる。
【０００４】
２）基板の処理履歴の変動により処理結果が一定しないことを避けるため、基板は同じような処理フローパスで搬送するのが望ましい。
【０００５】
３）各製品は、危険プロセスが実行されるモジュール内で滞留する事前処理又は事後処理時間を費やすことが絶対にあってはならない。これらのモジュール内で事前処理又は事後処理時間を追加すれば、処理量ばかりでなく処理結果にも悪影響が生じる。例えば、ＩＣ製作システムでは、基板を、スピンコートモジュールから、フォトレジストフィルム層を加熱硬化するベークモジュールへ直ちに移送しなければ、出来上がりのフィルム厚さが予想できなくなる。事前処理及び／又は事後処理時間を全体として取り除くことができない場合は、できるだけ短時間にして、その時間内での変動をなくする必要がある。
【０００６】
搬送時の対立が解消できない場合は、上記条件のどれかが満足できなくなる。対立とは、別々のモジュールが、１つのロボットに対して、ロボットがそれらのモジュールにサービスするのに十分でないタイムスパン内に、要求を出している状態である。
【０００７】
上記問題点に対する従来型の１つの解は、余分の処理モジュールと搬送リソースとを追加することである。しかし、一連のシステムの寸法上の制約及び配置上の制限が、追加の処理モジュール又は搬送リソースを加えることにより上記問題を解決する可能性に制限を加える。
【０００８】
隣接するモジュールの間で基板を移送するために専用の移送アーム（以後、インターベイ移送アーム、ＩＢＴＡ）を追加するのも、処理量を改善し、事前処理及び／又は事後処理時間の幾らかを排除するために使われるもう一つの方法である。しかし、ＩＢＴＡを追加するのにも重大な欠点がある。専用の移送アームはツールを複雑にし、コストを押し上げ、モジュールの位置を制限し、ツール内の何処にでも使うというわけにはいかない。その結果、高い処理量と品質を維持して、全ての搬送対立を解消しながら、一連のシステム内で基板の流れを管理するタスクが、管理不能に陥る。
【０００９】
もう一つの従来型の解は、一組の基板搬送優先規則を決めることである。あらゆるロボットの動きに先立って、ソフトウェアスケジューラとも称する制御システムが、各モジュール内の基板の状態を確認し、前記規則に則って移送優先度を決定する。しかし、高い処理量を実現するために、スケジューラは、望ましくない、予想できない、可変性の事前処理及び事後処理時間を危険モジュールに設けて、基板がプロセスサイクルを完了するのに異なるフローパスを経ざるを得ないようにするかもしれない。
【００１０】
これまで、上記の対立解消、同期化、品質、パスの一貫性に関する要件が完全に満足されたことはない。必要とされているのはこれら全ての要件に同時に取り組む解法である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の主要な目的は、あらゆる可能性のあるフロー対立を解消し、一連のシステムの性能と処理量を改善する、同期化された基板搬送アルゴリズムを提供することである。
【００１２】
本発明のもう１つの主要な目的は、搬送機関の間のロードのバランスを取るために搬送リソースの最適な割当てを決めるアルゴリズムを提供することである。
【００１３】
本発明のもう１つの主要な目的は、基板の処理及び搬送が、処理量を減少させることなく、一定の周期的な間隔で確実に起こるようにする、柔軟な製作システムの同期化が行えるようにすることである。
【００１４】
これらの目的によれば、製作システムを同期化させるアルゴリズムに対して特別な必要性があるので、各プロセス又は基板の搬送は常に間隔内の正確なある点で起こる。このように、先行技術では互いに矛盾し同時に満足されることの無かった、対立解消、同期化、最適化された処理量、ウェーハ品質の上記要件を同時に満足させることができる。
【課題を解決するための手段】
【００１５】
本発明の第１の態様は、算術変換に基づいた実施例で実行されている。本発明の第２の態様は、遺伝的アルゴリズムに基づいた実施例で実行されている。
【００１６】
本発明のこれら及びその他の目的及び態様は、以下の説明と添付図面を参照して考えて頂ければ、十分に理解頂けるであろう。しかしながら、以下の説明では本発明の好適な実施例とその詳細な仕様を数多く示してはいるが、これは説明のためのものであり、制限を加えるためのものではないと理解されたい。本発明の精神から逸脱することなく本発明の範囲内で多くの変更及び修正を加えることができるし、本発明はそのような修正全てを包含するものである。
【発明を実施するための最良の形態】
【００１７】
本発明を構成する利点及び特徴、並びに本発明の提供するモデルシステムの構成要素及び作用の明確な概念は、本明細書の一部を成す添付図面に示す、代表的な従って限定するものではない実施例を参照いただければ容易に明白になるであろう。図中同一部品が繰り返し現れる場合は同様な参照番号で示している。図中に描く構造は必ずしも縮尺通りではないことに留意されたい。
【００１８】
本発明及び本発明の様々な特性及び利点の詳細を、添付図面に示され、以下の好適な実施例の説明で詳細を述べる実施例を参照しながら、十分に説明するが、これら実施例は本発明に制限を加えるものではない。周知の構成要素及び処理技術の説明は、本発明を必要以上に不明瞭にしないため省略する。
【００１９】
同期化された対立解決スケジューラ
本発明のある態様は、システムリソースに関する対立を除去する定期的で予測可能なやり方でシステム内のイベントをスケジューリングすることにより、システムを製造する際に処理能力と品質を最大化するための方法を備えている。システムを製造する方法の１例は、個々のユニットの製造において連続して実行される一連の処理段階１、．．．、Ｎを備えている。システムの個々の処理段階は「モジュール」又は「処理室」内で実行され、一連の段階は「レシピ」に記載されている。製造システムは、一連の処理段階の間にモジュールの間で製造のユニットを搬送するためのリソースも含んでおり、これらのリソースにはロボットが含まれる。
【００２０】
対立は、別々のモジュールが、ロボットがこれらのモジュールにサービスするには不十分なタイムスパン内に、ロボットを要求する場合に、システム内の処理の間に生じる。更に、周期性を示す方法でシステムをスケジュールすることが望ましいので、システム内のイベントは、周期的で予測可能な間隔で発生するように同期化される。本発明の実施例は、システムの処理能力又は質を低下させることなく、周期性を強調し、そのような対立を全て除去するため、製造処理の様々な段階に遅延を選択的にスケジューリングする技術を含んでいる。
【００２１】
対立解決同期化の例：ウェーハクラスタツール
上記製造システムのタイプ例として、ウェーハクラスタツールがある。ウェーハクラスタツールでは、モジュールは処理室を備えており、その処理室は、ウェーハ上で一連の処理段階を実行するため、ウェーハ搬送リソース即ちロボットの群の回りに構成されている。ウェーハは、ロードポートと呼ばれるバッファを通ってツールに出入りする。ロボットがウェーハをロードポートから取り出すと、ウェーハはレシピに規定されている一連のモジュールを通して順次搬送される。ウェーハがモジュールへ入ってモジュールから出てくることによって区画される期間は、モジュール処理時間と呼ばれる。この処理時間には、実際にモジュール内でウェーハを処理するのに掛かった時間と、ウェーハを処理及びピックアップするための準備に要する付帯時間を含んでいる。
【００２２】
（ウェーハクラスタツールはモジュール間で個々のウェーハを運ぶものとして上に述べているが、本発明が、個別のウェーハのセットをモジュール間で運ぶようなウェーハクラスタツールにも同様に適用できることは、当業者には自明であろう。）
【００２３】
クラスタツールのあるモジュールでは、処理されたウェーハをピックアップする際の遅延がウェーハの成果に悪影響を及ぼすかもしれず、そのようなモジュールは遅延を許容できないので「危険プロセスモジュール」として識別される。クラスタツールの全モジュールの中でプロセス時間が最長のモジュールは「ゲーティングモジュール」として識別され、このモジュールでの処理時間が、クラスタツールの処理能力を決定する。ゲーティングモジュールがクラスタツールの処理能力を決定するので、これも遅延を許容することはできない。ウェーハクラスタツール用のレシピは、モジュールを、処理時間に従って順番に並べている。２つのモジュール間でウェーハを搬送するのにロボットの要する時間が、搬送時間と呼ばれる。
【００２４】
クラスタツール内のウェーハフロー管理
ウェーハフロー管理、即ち、クラスタツールにおけるウェーハ処理及びウェーハ搬送の編成が、システムの処理能力とウェーハの品質の両方を決定する。効果的なウェーハフロー管理では、以下の２つの条件、即ち、１）ウェーハが順次処理される受け取りモジュールが空いている場合に、送出モジュールで処理されたばかりで、まさに移動しようとしているウェーハが移動し、２）それらのモジュールの間でウェーハを搬送するよう割り当てられているロボットが使用可能であるということを同時に満足する必要がある。従来技術では、追加の冗長なモジュールを提供することによって、条件１）を満足した。しかし、そのような解決方法では、条件２）を２つの方法、即ち、ａ）不適切な数のロボットが多過ぎるモジュールに対してサービスすることになるか、又はｂ）２つ又はそれ以上のモジュールが１つのロボットのサービスに対し同時に競合する方法によって解決することになる。
【００２５】
上に挙げた２つの条件を妥協して解決してしまうと、ウェーハのピックアップに遅延が生じる。そのような遅延が危険プロセスモジュールで発生すれば、ウェーハに悪影響が生じる。そのような遅延がゲーティングモジュールで生じれば、処理能力を低下させる。このように、上に挙げた搬送条件が、危険プロセスモジュール及びゲーティングモジュールに関して保証されていることが絶対必要である。ロボットが提供できる以上の操作が必要とされるａ）の場合では、ロボットを追加することにより状況を緩和することができる。しかし、ｂ）の場合、問題はロボットのサービスを要求するタイミングにある。ｂ）の場合にもロボットを追加することで緩和することはできるが、これは不適切な解決法である。
【００２６】
クラスタツールに関して先に規定したレシピは、ロボットのサービスを要求するタイミングを決めているので、２つの条件を解決する基本的な解は、ウェーハ搬送と同期するようにウェーハレシピを変えることから生まれる。本明細書に記載されているスケジュールアルゴリズムは、そのような同期化を実行する。
【００２７】
本明細書に記載されているスケジューラは、コンピュータによって実行されるソフトウェアにエンコードされ、コンピュータはソフトウェアを記憶するためのメモリと、ソフトウェアを実行するためのＣＰＵとを備えている。本発明の実施例では、スケジューラは、システム用に所定のスケジュールを生成するため、製造システムからオフラインで使用される。代わりに、スケジューラがシステムのオペレーションをリアルタイムで更新できるように、コンピュータを製造システムに連結してもよい。
【００２８】
クラスタツールでのウェーハフローの同期化
本発明の実施例では、ウェーハフローは、クラスタツールを使って個々のウェーハを一定の速度で送ることにより同期化される。ツールの「送り速度」と呼ばれるこの速度は時間当りのウェーハ数で表され、ウェーハフローを（３６００／送り速度）秒に等しい周期に整える。クラスタツールの送り周期と称するこの周期は、システムの鼓動である。個々のウェーハユニットは、１送り周期の間隔でシステムに導入される。更に、クラスタツールを同期化するために、全処理及び搬送の時間が、送り周期を単位に測定される。更に、同じタスクが連続する周期の中で確実に繰り返されるように、クラスタツール内のロボットはスケジュールされ、以後「タスク」と呼ぶ、全てのサービスの要求が１回の送り周期内で達成される。従って、クラスタツールの同期化には、１）送り周期内で実行されるタスクの総数、及び２）これらのタスクが生じる送り周期内での正確な時間の確定が必要である。これらの時間は、以後各タスクの「タイミング」と称する。
【００２９】
送り周期及び同期化の概念を図１に示す。時間軸１００は起点１０２を有しており、起点１０２は第１のウェーハがクラスタツール内にロードされる瞬間を示している。時間軸１００は、１送り周期１１０単位で区切られている。各区切り１０４、１０６、１０８は、それぞれ第２、第３、第４のウェーハがクラスタツール内にロードされる時間である。
【００３０】
同期化の基本的な特性は周期性であり、本発明は、ｉ＝１、．．．、ｎとして、各タスクｉに対して、そのタスクを受ける何れのウェーハに対してもピックアップ時間が確実に一致するようにする。従ってクラスタツール内の各タスクｉは、Ｔiで示される相対的なピックアップ時間と関連付けることができ、この場合Ｔiは送り周期の単位で正規化されている。図２は周期性のこの特性を表している。３つのウェーハ、即ち、ウェーハ１の２０８、ウェーハ２の２１０及びウェーハ３の２１２は、垂直軸２０２上に示されている。水平線は時間軸２００を示している。この軸の起点２０１は、ウェーハ１がクラスタツール内にロードされる時間を示す。タスクｉにおける相対的なピックアップ時間Ｔiは、各ウェーハに対して同じである。ウェーハ自体は１送り周期の間隔で導入されているので、実際のピックアップ時間は１送り周期単位で分けられている。
【００３１】
更に図２は、相対的なピックアップ時間と「実際の」又は「絶対的」ピックアップ時間との相違を示している。処理ｉの相対的なピックアップ時間は、Ｔi２０４で表されている。相対的なピックアップ時間は、ウェーハがウェーハクラスタツール内に導入される時間から測定されるので、相対的なピックアップ時間は各ウェーハ、ウェーハ１の２０８、ウェーハ２の２１０、ウェーハ３の２１２について同じである。絶対的ピックアップ時間２１４は、第１ウェーハがクラスタツール２０１内にロードされた瞬間から測定される。ウェーハは１送り周期の間隔で導入されるので、ｗ番目のウェーハに関しては、モジュールｉにおけるウェーハｗの絶対的ピックアップ時間は、
（ｗ−１）＋Ｔi
となる。この周期（ｗ−１）は、図中に２１６で示されている。
【００３２】
同期化においてクリティカルな別のパラメータは、記号でτi表されている。小数τi＝Ｔi−ＩＮＴ（Ｔi）は、現在の送り周期の最初から経過しているＴiの小数部であり、ＩＮＴ（Ｔi）はＴiをそれより小さい最寄の整数に丸める関数である。これらのパラメータ２０６も、図２に示されている。Ｔi値は各ウェーハに対し同じで、ウェーハは１送り周期の間隔で挿入されるので、τi値２０６は各ウェーハに対し同じである。これらの小数τ、ｉ＝１、２、３．．．Ｎは、ロボットが１送り周期内で達成しなければならないタスクのタイミングである。
【００３３】
タスクの数Ｎとこれらのタスクのタイミングが、搬送の負荷を構成する。Ｔiは、処理時間ｐｊ、ｊ＝１，２，３．．．ｉ、ロボット搬送時間ｔｊ、ｊ＝１，２，３．．．ｉ−１として、ｉ番目のモジュールまでの累算なので、何れのウェーハについても、モジュールｉでの相対的なピックアップ時間は、
0004621698.tif 000002
；  ｉ＝１，２，３．．．Ｎとなる。
更に、タスクのタイミング、τi＝１，２，３．．．Ｎ、は次のようになる。
0004621698.tif 000003
；  ｉ＝１，２，３．．．Ｎ  （１）
【００３４】
搬送時間ｔjは所定のクラスタツールに対して固定されているので、ロボットタスクのタイミングτiが、レシピに記載されている処理時間ｐjだけに左右されることは式（１）から明らかである。
【００３５】
周期性及びウェーハの識別
周期性の特性により、クラスタツール内のウェーハを識別することもできる。インフラが仕上げられていれば、同期化されたスケジューラは、確実に１）ウェーハが１送り周期の間隔で順次クラスタツール内にロードされ、２）クラスタツール内にロードされている各ウェーハが、ロードされた瞬間に対して測定された同じ時間に同じイベントを受けるようにする。これらの２つの条件の結果、ウェーハはクラスタツール内の各モジュールに、１送り周期の間隔で最初にロードされた順で出入りする。このように、モジュール内の各ウェーハは、そのモジュールに出入りする順序を追跡するだけで識別できる。この同期化されたスケジューラの特徴は、ウェーハ識別子又はウェーハの「タグ付け」と称される。
【００３６】
タグ付け及びモジュールのパス
本発明の実施例では、クラスタツール内にロードされた各ウェーハは、特定の「モジュールパス」即ち、クラスタツール内のプロセスに対応する特定のモジュールのセットを辿る。本発明のこの特徴を図４に示す。この実施例では、クラスタツール内の各プロセスは、関連する１つ又はそれ以上のモジュールを有しており、その中でウェーハが処理される。各プロセスのためのモジュールは、ウェーハがそのプロセスに到達した時に対応するモジュール内に順次配置される（例えばプロセスに２つの対応するモジュールがあれば、システム内の第１ウェーハは第１モジュールへ行き、第２ウェーハは第２モジュールへ行き、第３ウェーハは第１モジュールへ入り、第４ウェーハは第２モジュールへ入るなどする）ように順次順序付けされる。その結果、ウェーハが辿るモジュールパスの総計は、各プロセスに対応するモジュールの数の最小公倍数に制限される。
【００３７】
上記実施例を、例として図４に示す。図４は、一連の処理段階、ＶＰ４００、ＶＰＣ４０２、ＣＴ４０４、ＳＢ４０６、ＳＢＣ４０８、ＰＥＢ４１０、ＰＥＢＣ４１２、ＤＥＶ４１４、ＨＢ４１６、ＨＢＣ４１８を示している。処理段階の記号は、処理段階に応じて各モジュールに現れる。例えばプロセスＣＴ４０４は３つのモジュールを有しているので、それに応じてＣＴの記号は３回現れている４０４。処理段階４２０のモジュール番号が、各処理段階の上に記されている。
【００３８】
この例では、モジュール数の最小公倍数は、
ＬＣＭ（２，２，３，３，３，３，３，４，２，２）＝１２
従ってクラスタツールのレシピは、１２のモジュールパスについて規定しており、４２２に記載されている。表４２２の各列は、各モジュールパス内でのその処理段階に関するモジュール数を挙げている。１２の可能なパスがあるので、１２のウェーハ全てが同じモジュールパスを辿る。従って、本発明は、ウェーハ及びウェーハがツール内にロードされた順序を識別することにより、ウェーハが辿るモジュールパスを決定することができる。
【００３９】
搬送リソースに関する対立を取り除くためにキューを加える
レシピが、特定のロボットに対する同時の競合するサービス要求を生じさせる場合、更にロボットを加えるのではなく、レシピ自体を修正することによって対立を解決することが望ましい。レシピを修正する１つの便利な方法は、ツールが作り出す処理能力又はウェーハの品質を低下させることなく対立を解決するタイミングを達成するために、以後キューｑjと呼ぶ、意図的な遅延を非危険プロセス段階へ導入するというものである。式（１）と結びつけて用いられるそのような方法は「同期アルゴリズム」の基本である。要するに、最初に規定したようにレシピは、危険プロセス及びゲーティング段階で遅延が生じることになるサービス要求の競合を導入すると、単一のウェーハクラスタツールのウェーハの品質及び処理能力が低下する結果となる。この「同期アルゴリズム」の目的は、危険プロセス段階又はゲーティング段階で遅延が確実に生じることのないようにして、処理能力及びウェーハの品質を確実に保証するために、非危険プロセス段階で意図的な遅延を挿入することである。
【００４０】
キューに関する解
遅延、即ちｑｊの解を如何に求めるかを示すことにする。τを、式（１）によって規定されたレシピにより指示されたロボットタスクのタイミングとする。レシピを修正するために処理時間ｐjにキューｑjを加えることによって、新しいタイミングτi*が以下のように与えられる。
0004621698.tif 000004
（２）
【００４１】
目的は、何れの２つのモジュールｋとｍとの間の時間間隔も（ｋ＝１、２、３．．．Ｎ、ｍ＝ｋ、ｋ＋１、．．．Ｎとして、モジュールｋとモジュールｍとは同じロボットによってピックアップされたウェーハを有するように割り当てられている場合には）ロボットの搬送時間よりも長くなるように、非危険プロセス段階で挿入される一式のキューｑjを探すことである。こうすれば、ロボットが全モジュールにサービスできる十分な時間間隔がとれ、所与の時間に２つ以上のモジュールにサービスする必要がなくなる。しかし、このように導出されたキューは小さいので、モジュールの過度のアイドリングは避けることができる。危険プロセスモジュール又はゲーティングモジュールにはキューは必要ない。
【００４２】
キューのセットは式（２）を使って解かれる。これは、線形方程式のシステム
0004621698.tif 000005
を導き出し、ここに、ａijはｉ＜ｊではａij＝０、ｉ＞＝ｊではａij＝１の下方三角マトリックスであり、以下のようになる。
【００４３】
【数１】
0004621698.tif 000006
ここでは、危険モジュールで遅延が発生しないという制約が、式（３）に適用されている。例えばモジュール＃３及び＃４が危険モジュールである場合は、式（３）は、以下に示されているように線形方程式に修正されねばならない。
【００４４】
【数２】
0004621698.tif 000007
上記式（４）では、タイミングτiは最初のレシピによって定められており既知である。目標タイミングτi*は、先に述べたように、同じロボットを使っている全モジュール間の対立を取り除く値に設定される。従って式（４）の左辺は既知の値である。次に、以下の式（５）に示すように、モディファイされた制約マトリックスの逆数に（τi*−τi）を掛けることによって、ベクトルｑｉが求められる。このｑiセットを対応するモジュール処理時間ｐiに加えることにより、ウェーハ搬送がウェーハ処理と同期化される。
【００４５】
【数３】
0004621698.tif 000008
【００４６】
同期アルゴリズムの適用
本発明の特定実施例について、本発明に制限を加えるものではない以下の例を使って更に詳しく説明するが、これは重要な様々な特徴を詳しく説明するのに役立つ。本例は、単に本発明が実施される方法を理解し易くし、更に当業者が本発明を実施できるようにすることを意図したものである。従って、本例は、本発明の範囲を限定するものとして解釈されるべきではない。
【００４７】
クラスタツール内のウェーハ搬送とウェーハ処理との同期化を、クラスタツールの特定例を使って説明する。図３は、ウェーハ処理装置の概念計画概略図である。レジストコーティング及び現像モジュールは、それぞれＣＴ３００及びＤＥＶ３０２で識別される。更に、別のベークモジュール・ベーパプライム（ＶＰ）３０４、ソフトベーク（ＳＢ）３０６、ポスト露光ベーク（ＰＥＢ）３０８及びハードベーク（ＨＢ）３１０、並びにそれらに対応するチルモジュールが図３に示されている。隣接するベーク及びチルモジュールを繋いでいる矢印は、これらのモジュール間で基板を移送するインターベイ移送アーム、ＩＢＴＡ３１２である。その結果、これらのベークモジュールの位置は、それらの対応するチルプレートの位置を拘束する。図に示すカセット端部ステーション（ＣＥＳ）ロボット３１４は、カセット端部ステーションからカセット端部ステーションへ基板を移送する。ステッパインターフェース（ＳＩ）ロボット３１６は、ステッパインターフェースからステッパインターフェースへ基板を移送する。Ｉ／Ｏモジュール３１８は、必要が生じたときにステッパインターフェースへ搬送された基板のためのバッファゾーンである。メインロボット３２０は、ベーパプライムチル（ＶＰＣ）のような他の全てのモジュール間の基板をレジストコート（ＣＴ）へ搬送するための手段である。
【００４８】
図４は、ウェーハ処理の流れに関する概略図である。この概略図からわかるように、搬送手段がＩＢＴＡであれば、基板は流れ図の中での選択肢が１つしかない。これは、基板がベーパプライムベーク４００からベーパプライムチル４０２へ搬送される場合である。しかし、搬送手段がメインロボットである場合は、基板は複数の選択肢を有する。例えば、基板がレジストコートモジュールから取り出される場合、図４に示すソフトベークモジュール４０６の何れに搬送することもできる。
【００４９】
同期化アルゴリズム
同期化アルゴリズムのこのクラスタツールへの適用を、一連の４つの段階で示すこととする。
【００５０】
段階１  「レシピ及び処理能力の要件」を入力する。この論議は図５に関連する。この段階は、表５００のレシピを挿入すると始まる。最初の２つ列５０２は処理段階を順に記載している。送り周期は「システムタクト時間」とも呼ばれるが、これも記載されている５０４。次に「モジュールタイプ」列５０２内の各モジュールに対して、モジュールタクト時間として知られているサイクル時間が計算され、確実に各モジュールタクト時間がシステムタクト時間より短くなることが確認される。各処理段階に対するモジュールタクト時間は、列５０６に記載されている。各処理段階のモジュールタクト時間が記載されていない場合、モジュールタクト時間を減らすために冗長モジュールが加えられる。当業者には明白なように、各処理段階に対して 必要モジュール数＝ＩＮＴ（モジュールタクト時間／システムタクト時間）である。この例では、ほとんどのモジュールが１つの追加冗長モジュールを必要とする。各処理段階に必要なモジュール数は、列５０８に挙げられている。
【００５１】
段階２  「ウェーハ搬送のロード」を決定する。先に定義したように、ロボットの「ロード」とは、予定されている動きの数と、現行の送り周期の始めから測定された、ロボットがそれらの動きを実行するために割当てられた時間の合計である。ロボットのロードに関する決定は、図６の表６００に示されている。この例のクラスタ装置は、１２の処理段階を含んでいる。対応する１２のロボットの動くタイミングは、以下のように決定される。ウェーハがロードポート（カセット）を離れる瞬間から時間を計測する場合は、各モジュールの処理時間と対象のモジュールまでの搬送時間とを累計する。例えば、コードネームＶＰ６０２（以後全モジュールはコード化されている）のモジュールでは（６２＋６）＝６８秒であり、モジュールＶＰＣ６０４では（６８＋６５＋５）＝１３８秒である。全ロボットの動きに関する実際の秒でのタイミングは「実際」６０６と記されている列に記載されている。相対的なピックアップ時間Ｔiを決定するために、実際の時間は実際の送り周期で除される。例えば、ＶＰ及びＶＰＣの実際のピックアップ時間を実際の４５秒の送り周期で除すと、それぞれ正規化されたピックアップ時間１．５１１及び３．０６７になる。１２の処理段階それぞれの正規化されたピックアップ時間は、列「Ｔi正規化済み」６０８の下に挙げられている。Ｔi値の整数部分を取り去るとτi値になり、即ち、送り周期の始めから計測された場合の、各モジュールがロボットにサービスされるべき利用可能時間になり、１送り周期の単位で表される。解説すると、ＶＰ及びＶＰＣのτi値は０．５１１及び０．０６７であり、これは１送り周期の０．５１１の間内でＶＰが、０．０６７の間内でＶＰＣがサービスされなければならないことを示している。正規化されたτi値のリストは、列６１０に挙げられている。図表６１２はロードをグラフで示しており、１送り周期内でサービスされるはずの１２の動き及び時間の合計である。図７は、別の視点から見た同じ情報を示している。ロボットの搬送時間は約５、６秒なので、１つのロボットが４５秒の送り周期内に行える動きの数は（４５／６）〜７、即ち、控えめにみて６回である。従ってグラフ７００に６本の垂直線が引かれている。モジュールがロボットによってサービスされるはずの時間は、ＳＢＣ７０２、ＤＥＶ７０４、ＨＢ７０６、カセット７０８のように１間隔内に入っており、それらのすべてが１間隔７１０内に入っているが、これはそれらが所与の時間にロボットの同じ動きに関して競合していることを意味している。詳しく言えば、１つのロボットを用いる２つ以上のタスクがあり、これらのタスクのτ値が６つの間隔の内の１つの中にあれば、ロボットが２つ又はそれ以上のタスクそれぞれにサービスするには時間が不十分であることを意味する。ロボットを使用するための、タスク間のこれらの「対立」は、次の段階で述べるように解決される。
【００５２】
段階３  搬送ロードを割り当てる。製造システムにおける対立を解決するための第１段階は、均衡のとれた搬送ロードを実現するために、ロボットに等しくロードを割り当てることである。対立はレシピ次第だが、ロボット毎のロード割り当てを少なくすると対立の機会が減る。しかし、ロード均衡の可能性は、ロボットに対するモジュールのレイアウト次第である。レイアウトが良くないと、ロボットのモジュールへのアクセスが制限され、均衡なロードの実現が難しくなる。この例では、２つのロボットＣＥＳ及びＳＩが、それぞれ２つのモジュールしかサービスできないようなレイアウトなので、ロードの大部分は、メインロボットＣ−１、及びＩＢＴＡ（インターベイ移送アーム）として知られている３つの専用ロボットに託される。前記レイアウトの制約の下での搬送ロードの最良の割り当てが、図７に示されている。ＶＰＣ７１２、ＣＴ７１４、ＳＢＣ７１６、ＰＥＢＣ７１８、ＤＥＶ７２０、ＨＢ７２２の６つのモジュールが第１ロボットＣ−１に割り当てられており、その内の３つ、ＳＢＣ、ＤＥＶ及びＨＢは、先に述べたように、ロボットの１回の動きに対し競合している。これらの対立は、次の段階で示されるように、キューイングすることによって解決される。
【００５３】
段階４  同期化のためのキューイング。図８の表８００の情報は、段階３からのロード割り当ての概要である。第１ロボットＣ−１によってサービスされる６つのモジュール、即ち、ＶＰＣ８０２、ＣＴ８０４、ＳＢＣ８０６、ＰＥＢＣ８０８、ＤＥＶ８１０、ＨＢ８１２だけはキューイングを考える必要がある。残りのモジュールは、各モジュールが専用ロボット、即ち、それらにサービスするＩＢＴＡを有しているので、対立を経験しないはずである。目標列８１４では、目標のタイミングプロファイルは、６つのモジュールに設定されている。表に挙げられている各モジュールに対し、対応する値がτ*に設定されており、ここでτ*はτの更新値であり、ロボットに関するタスク間の対立を取り除くものである。これらの６つのモジュールの内の３つ、即ち、ＳＢＣ８０６、ＤＥＶ８１０、ＨＢ８１２だけが対立しており、ＤＥＶとＨＢの２つだけはレシピによって規定されているτのオリジナル値とは異なるタイミング目標を有する必要がある。タイミング目標は列８１４に記載されており、６つのモジュールの何れの間のタイミング間隔も、ロボット搬送時間（＝６／４５−０．１３３３）よりくなるように設定されている。目標タイミングプロファイルと最初に規定されているタイミングプロファイルとの違いは、ギャップと呼ばれ、列８１６に計算されている。これらは表の隣のグラフ８１８に示されている。この「同期アルゴリズム」の別の目的は、確実に危険プロセス段階に遅延が導入されないようにすることである。この例では、危険プロセス段階は、段階３の８０４、段階４の８０６及び段階７の８０９である。これらの段階に対応するモジュールにはキューは加えられるべきではなく、即ち、これらのモジュールに関する目標タイミングは規定値と同じになる。これらのギャップを埋めるキューを求めるために、ギャップ列８１６で計算されているギャップが式（３）に代入される。しかし、危険プロセスモジュールで確実に遅延をゼロにするためには、ギャップ及びキューに関連するマトリックス８１８は、式（４）によって修正し、修正マトリックス８２０を生成しなければならない。ギャップ列８１６からのギャップに修正マトリックス８２２の逆数を掛けると、ギャップ８２４を埋めるために必要なキューが生成される。キューの解はキュー列８２６に送られる。送り周期の単位である解は、実際のキュー列８２８で実際の時間に変換されている。
【００５４】
段階５  解を照合する。段階４で決定されたキューは、次に、最初のレシピのモジュール処理時間に加えられる。これは、対立が解決されているかどうか確かめるためである。これが実際に図に示されているケースである。
【００５５】
ロボット割当て
オートメーションに値するスケジューリングの問題の別の態様は、モジュラーへのロボットの割り当てである。例えば、上に挙げた段階３では、単一のロボットを連続するモデルの各対の間に割り当てるレシピが選択され、この割り当ては図７に挙げたレシピに示されている。割り当ては、多くの可能な割り当ての中から選ばれた。
【００５６】
一般的には、キューが決定される前に、最適なロボット割当てを決定するアルゴリズムが必要である。そのようなアルゴリズムの必要性は、以下の例で例証されるであろう。我々は、Ｍｏｄ１、Ｍｏｄ２、Ｍｏｄ３で表される３つのモジュールから構成されている簡単なトラックシステムを有しているものとしよう。我々は、Ｒｏｂｏｔ１、Ｒｏｂｏｔ２の２つのロボットを有しており、その両方ともが３つのすべてのモジュールにサービスできるものとしよう。送り周期を変数ＳＰによって設計しよう。送り周期の単位でτ1＝０．０、τ2＝０．６、τ3＝０．７として、ロボットはＳＰの単位で０．３で動けるものとしよう。可能性のあるロボット割り当ては４つある。
【００５７】
割り当て  Ｍｏｄ１からＭｏｄ２  Ｍｏｄ２からＭｏｄ３  
１        Ｒｏｂｏｔ１          Ｒｏｂｏｔ１
２        Ｒｏｂｏｔ２          Ｒｏｂｏｔ２
３        Ｒｏｂｏｔ１          Ｒｏｂｏｔ２
４        Ｒｏｂｏｔ２          Ｒｏｂｏｔ１
検査すると割り当て３及び４が実行可能である。割り当て１及び２では、τ2＝０．６とτ3＝０．７との間の時間間隔は、０．１送り周期であり、それはロボットが動くのに必要な０．３送り周期よりも短い。従って、この場合の最適な割り当ては、割り当て＃３及び＃４、即ち、τ値同士の時間間隔が十分にある場合、このロボット割り当ては遅延挿入を不要にする。最適なロボット割り当ての決定には、例えばロードの均衡や処理能力の向上のような別の基準が入ってもよい。上記の簡単な例よりも複雑な場合には、最適なロボットの割り当てを決定するアルゴリズムが必要である。
【００５８】
そのような割り当てを実行する１つの方法は、単なるしらみ潰し技法であり、可能性のある全ロボット割り当てを作成し、各割り当ての妥当性を決定する、即ち、ロボットがそれらにサービスできるようにするために、ロボットに割り当てられる全モジュールのτ値が確実に異なるようにする。そのように作成された割り当ては、ロード均衡のような追加基準で選択してもよい。
【００５９】
更新されるタイミング（τ*）に解を出す
オートメーションに値する同期化の別の特徴は、τ*によって与えられる更新されたタイミングの導出である。詳しく言えば、先に要約されたアルゴリズムの段階４で、アルゴリズムはτ*の更新値を供給したが、そこで、１つのロボットを共有した何れかの２つのモジュールに関し、各τ*値は、ロボットがその２つのモジュールの間で動くに十分な時間異なっていた。これらのτ*値を導き出す自動的な方法が必要である。そのような技術は以下の通りである。
【００６０】
対立する各ロボットについては、そのモジュール各々のτ値を取る。
【００６１】
これらのτ値の各組み合わせについて、τ値を最低から最高にソートする。
ソートされたτ値のリストのそれぞれについて、
・最低から最高のτ値を使って順次実行する。
【００６２】
・所与のτ値とそれに先立つ値との間の差を求める。
【００６３】
・前記差がロボットが移動するために割り当てられた時間より小さければ、τ値を十分に増やす。
【００６４】
・次のτ値へ進む。
【００６５】
このアルゴリズムが、所与のロボットに関する、対立を取り除くτ値の更新されたセットを見つければ、これらはτ*値となる。τ*値に関して対立がないグループが存在する場合は、上記で要約されているアルゴリズムはそれを見つけることが証明できるはずである。
【００６６】
遺伝的アルゴリズム
同期化、ロボット割り当て及び導出の問題は、遺伝的アルゴリズム（ＧＡ）を使っても解決できる。ＧＡは、遺伝子の最初の母集団について開始する反復処理であり、考えられる問題の状況をエンコードする。この母集団は、選択的育種の処理を通じて、各反復によってシステム的に改良される。選択的育種を実行するために、ＧＡは、ａ）種の特徴を定義する、及びｂ）種の適合性を判断する必要がある。
【００６７】
種の特徴  種はｎ個の遺伝子によって特徴づけられている。我々の問題に対して、我々は、ロボット割り当てを示す遺伝子とキューセグメントを示す遺伝子の２つのタイプの遺伝子を用いる。先のアルゴリズムの説明に用いられている例を考えてみる。ロボット割り当て範囲は１から４までであり、どのロボットが特定のモジュールで働くかを示している。キューセグメントは整数であり、ロボット割り当てにおける対立を回避するために、どれほど多くの「時間帯」即ち、ロボットの動きの時間が、モジュールの到着時間に加えられるべきかを示している。我々の前の例では、モジュールは、図６の６１２に示されているように、６つの異なる時間帯に到着している。１つの時間帯に、例えば５つのモジュールが見られれば、対立が生じる。モジュールの１つにキューセグメントを追加すると、到着時間を次の時間帯へ押しやるので、対立を解決できる。
【００６８】
種の適合性  我々は「悪性」種の逆数によって適合性を計測する。悪性は対立の程度及び加えられたキューセグメントの数の重み付け合計によって、計測される。理想的な種はセグメントが加えられていない種であり、ロボット割り当てに対立は起こらない。
【００６９】
適合性の関数を引き出すために、我々は、各時間帯を走査し、各ロボットに対する冗長な割り当て数をカウントする。全ロボット及び全時間帯に対し結果が合計される。これを合計ｓと呼ぶ。我々は、加えられたキューセグメントの数を続けて計測し、それをｔと呼ぶ。従って適合性関数は、
0004621698.tif 000009
であり、重みｗ1及びｗ2は、ｓのｔに対する相対的な重要性に従って割り当てられている。
【００７０】
以上、説明を目的に本発明の好適な実施例を示してきた。本発明を、開示した形態そのものに限定する意図はない。多くの修正及び変更を加えうることは、当業者には明白であろう。本発明の範囲は、上記の請求項及びそれと等価なものによって定義されるものである。
【図面の簡単な説明】
【００７１】
【図１】ウェーハがクラスタツールにロードされる時点を示す時間軸であり、この時点は、１送り周期の間隔分だけ離れている。
【図２】あるプロセスにおける３つのウェーハの相対及び絶対ピックアップ時間をピックアップ時間の仮数と共に示したもので、ピックアップ時間は送り周期に関して正規化されている。
【図３】クラスタツール内の様々なモジュール及び搬送モジュールを示す。
【図４】クラスタツール内のモジュールパスを表す、グラフと対応する表である。
【図５Ａ】クラスタツールのレシピを表す表である。
【図５Ｂ】クラスタツールのレシピを表す表である。
【図６Ａ】１送り周期中に現れるモジュールピックアップ時間の、グラフと対応する表であり、送り周期は６つのサブ期間に分割され、単一送り周期内に６つのロボットが動けるようになっている。
【図６Ｂ】１送り周期中に現れるモジュールピックアップ時間の、グラフと対応する表であり、送り周期は６つのサブ期間に分割され、単一送り周期内に６つのロボットが動けるようになっている。
【図７】ロボットにアクセスするプロセスの間に生じる対立を表す、グラフと対応する表であり、対立は、１つのロボットに割り当てられた２つのモジュールが単一の周期内にピックアップデマンドを有する場合に表示される。
【図８Ａ】ロボットにアクセスするためのモジュール間の対立を無くすためのキューの挿入を描く、グラフと付随する表及びマトリックスである。
【図８Ｂ】ロボットにアクセスするためのモジュール間の対立を無くすためのキューの挿入を描く、グラフと付随する表及びマトリックスである。
【図１】
0004621698.tif 000012
【図２】
0004621698.tif 000013
【図３】
0004621698.tif 000014
【図４】
0004621698.tif 000015
【図５Ａ】
0004621698.tif 000016
【図５Ｂ】
0004621698.tif 000017
【図６Ａ】
0004621698.tif 000018
【図６Ｂ】
0004621698.tif 000019
【図７】
0004621698.tif 000020
【図８Ａ】
0004621698.tif 000021
【図８Ｂ】
0004621698.tif 000022