(57)【要約】      （修正有）【課題】１セットの制約を有するクラスターツールの最大スループットおよびプロセス一貫性を達成するようにプロセスシーケンスをスケジューリングするための装置および方法を提供する。【解決手段】プロセスシーケンスを実行するためにリソースを割り当てることによって初期の個別スケジュールを判断するステップと、基本周期を算出するステップと、該個別スケジュールおよび該基本周期から生成されたスケジュールのリソース衝突を検出するステップと、該リソース衝突を除去するように該個別スケジュールを調整するステップと、を備えるプロセスシーケンススケジューリング方法を提供する。【選択図】図６
2008263177.tif 000002
【特許請求の範囲】
【請求項１】
プロセスシーケンスをスケジューリングするための方法であって、
前記プロセスシーケンスを実行するためにリソースを割り当てることによって個別スケジュールを判断するステップであって、前記個別スケジュールが、個別基板が前記プロセスシーケンスにおける複数のプロセスステップを開始する時間を示す開始時間を備えるステップと、
基本周期を算出するステップであって、前記基本周期が２つの連続基板の開始時間の間の期間分として画成されるステップと、
前記個別スケジュールおよび前記基本周期から生成されたスケジュールのリソース衝突を検出するステップと、
検出されたリソース衝突を除去するように前記個別スケジュールを調整するステップと、を備える方法。
【請求項２】
リソース衝突を検出する前記ステップおよび前記個別スケジュールを調整する前記ステップが、リソース衝突が検出されなくなるまで反復される、請求項１に記載の方法。
【請求項３】
前記個別スケジュールを調整するステップが、除去されるべき前記検出されたリソース衝突と関連したプロセスステップを遅延させるためにキュー時間を付加する工程を備える、請求項１に記載の方法。
【請求項４】
遅延中の前記プロセスステップが、除去されるべき前記リソース衝突と関連した別のプロセスステップと比較して早い開始時間を有する、請求項２に記載の方法。
【請求項５】
個別スケジュールを調整するステップがさらに、キュー時間制約以内に前記キュー時間を抑制する工程を備える、請求項３に記載の方法。
【請求項６】
前記基本周期を判断するステップが、
前記プロセスシーケンスを実行するために割り当てられたすべての前記リソースの使用期間を算出する工程と、
前記プロセスシーケンスを実行するために割り当てられたすべての前記リソースの最長使用期間に従って前記基本周期を設定する工程と、
を備える、請求項１に記載の方法。
【請求項７】
前記個別スケジュールを調整することによってリソース衝突を除去できない場合に前記基本周期を延長するステップと、
前記個別スケジュールおよび前記延長された基本周期から生成された更新済みスケジュールのリソース衝突を検出するステップと、
前記更新済みスケジュールの前記リソース衝突を除去するように前記個別スケジュールを調整するステップと、
をさらに備える、請求項１に記載の方法。
【請求項８】
プロセスによって実行される場合にオペレーションを実行するプロセスシーケンスをスケジューリングするためのコンピュータプログラムを含有するコンピュータ読み取り可能な媒体であって、
前記プロセスシーケンスを実行するためにリソースを割り当てることによって個別スケジュールを判断するステップであって、前記個別スケジュールが、個別基板が前記プロセスシーケンスにおける複数のプロセスステップを開始する時間を示す開始時間を備えるステップと、
基本周期を算出するステップであって、前記基本周期が２つの連続基板の開始時間の間の期間分として画成されるステップと、
前記個別スケジュールおよび前記基本周期から生成されたスケジュールのリソース衝突を検出するステップと、
検出されたリソース衝突を除去するように前記個別スケジュールを調整するステップと、
を備えるコンピュータ読み取り可能な媒体。
【請求項９】
リソース衝突を検出する前記ステップおよび前記個別スケジュールを調整する前記ステップが、リソース衝突が検出されなくなるまで反復され、前記個別スケジュールを調整するステップが、除去されるべき前記検出されたリソース衝突と関連したプロセスステップを遅延させるためにキュー時間を付加する工程を備える、請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１０】
前記基本周期を判断するステップが、
前記プロセスシーケンスを実行するように割り当てられたすべての前記リソースの使用期間を算出する工程と、
前記プロセスシーケンスを実行するように割り当てられたすべての前記リソースの最長使用期間に従って前記基本周期を設定する工程と、
を備える、請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１１】
前記個別スケジュールを調整することによってリソース衝突を除去できない場合に前記基本周期を延長するステップと、
前記個別スケジュールおよび前記延長された基本周期から生成された更新済みスケジュールのリソース衝突を検出するステップと、
前記更新済みスケジュールの前記リソース衝突を除去するように前記個別スケジュールを調整するステップと、
をさらに備える、請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１２】
処理シーケンスをスケジューリングするための方法であって、
処理スケジュールを生成するステップであって、前記処理シーケンスにおける複数の処理ステップの各々について待機期間がないステップと、
ボトルネックリソースの使用期間に従って基本周期を判断するステップと、
前記基本周期に基づいて前記処理スケジュールのリソース衝突を検出するステップと、
前記検出されたリソース衝突を除去するように前記処理スケジュールおよび前記基本周期の少なくとも一方を調整するステップと、
を備える方法。
【請求項１３】
リソース衝突を検出するステップが、前記処理シーケンスにおける２つ以上のステップによって占有されているリソースの衝突を検出する工程を備える、請求項１２に記載の方法。
【請求項１４】
調整ステップが、除去されるべきリソース衝突と関連したステップを遅延させるためにキュー時間を挿入する工程を備える、請求項１２に記載の方法。
【請求項１５】
調整ステップが、
前記検出されたリソース衝突を除去するために１つ以上の処理ステップにキュー時間を挿入する工程と、
前記基本周期に基づいて前記調整された処理スケジュールのリソース衝突を検出する工程と、
前記検出された衝突が再発する場合に前記基本周期を延長する工程と、
を備える、請求項１２に記載の方法。
【発明の詳細な説明】
【発明の背景】
【０００１】
発明の分野
[0001]本発明の実施形態は概して、集積処理システムにおいて半導体基板を移送するための装置および方法に関する。より具体的には、本発明の実施形態は、基板間タイミング一貫性を提供するソフトウェアシーケンサーを有する集積基板処理システムに関する。
【０００２】
関連技術の説明
[0002]現在の半導体処理において、多数の処理ステップを有する特定の処理レシピを使用して多層部材が半導体基板上に製作されている。クラスターツールは、処理環境、普通はコントロールされている環境から基板を除去せずにプロセスシーケンスを実行するための多数のプロセスチャンバを集積しており、概して半導体基板を処理する際に使用される。プロセスシーケンスは概して、クラスターツールの１つ以上の処理チャンバにおいて完了されるデバイス製作ステップやプロセスレシピステップのシーケンスとして画成される。プロセスシーケンスは概して、種々の基板（つまりウェーハ）の電子デバイス製作処理ステップを含有することもある。
【０００３】
[0003]長年にわたって、半導体デバイス製造業者は、競争力を保つためにシステムスループットとプロセス一貫性とのジレンマに直面していた。
【０００４】
[0004]一方では、基板製作プロセスの有効性はデバイス製造業者の競争力に直接影響を及ぼす。他方、半導体デバイスの部材サイズの低減は、プロセス一貫性および反復性に対するより厳密な要件を有する半導体製造仕様をもたらした。
【０００５】
[0005]基板製作プロセスの有効性はしばしば、デバイス歩留まりおよび所有コスト（ＣｏＯ）という２つの関連する重要な要因によって測定される。ＣｏＯは多数の要因に影響されるが、システムおよびチャンバスループットによって、あるいは単に所望の処理シーケンスを使用する１時間当たりの処理基板数によって大きく影響される。
【０００６】
[0006]ＣｏＯを低減する試みにおいて、電子デバイス製造業者はしばしば、プロセスシーケンスおよびチャンバ処理時間を最適化して、クラスターツールアーキテクチャ制限およびチャンバ処理時間に鑑みて可能な最大基板スループットを達成しようとして多くの時間を費やす。システムスループットは、チャンバ制限および／またはロボット制限を短縮することによって増大されることもある。チャンバ制限は処理シーケンスの最長プロセスレシピステップが消費する時間によって判定される。ロボット制限は、ロボットによる基板の移送に費やされる時間によって判定される。
【０００７】
[0007]熱処理およびウェット処理などの一部の処理シーケンスについて、プロセス一貫性および反復性はタイミング一貫性に緊密に関連している。時間一貫性は、チャンバ間の基板移送時間と、レシピステップ後に基板がチャンバに残っている時間である基板キュー時間とに対する良好なコントロールによって達成可能である。
【０００８】
[0008]半導体製造は、スループットとプロセス一貫性のトレードオフの判断を必要とすることもある。例えば、一方では、処理ステップ間のキュー時間感度制限内で基板キュー時間を付加することは、プロセス一貫性および反復性を達成する効果的な方法である。他方で、基板キュー時間の付加は、システムスループットの減少をもたらすチャンバ制限／ロボット制限を増大させることもある。
【０００９】
[0009]均一な基板表面特性を保証するために、すべての基板がプロセスシーケンスの各ステップで一貫したタイミングを有することが望ましい。最新のシステムにおいては、制限先行アルゴリズムが、デッドロックを防止するために基板スケジューリングで使用されている。制限先行アルゴリズムはシステムを最大スループット値に安定化することができる。定常状態に達した後、すべての基板は各ステップで同一のキュー時間を有している。しかしながら、定常状態に達するまで、異なる基板が、最新のシステムに基づいて異なる挙動を呈する。例えば、すべてのリソースがこの時点では自由であるため、第１の基板は待ち時間を有することはない。しかし、後続の基板は一部のステップで待機しなければならない。加えて、基板キュー時間は定常状態によって判定されて、キュー時間を制約する方法はない。従って、キュー時間感度が高い一部の処理ステップは定常状態で妥協されることがある。
【００１０】
[0010]従って、最適なスループットおよびプロセス一貫性を判断するための装置および方法用のクラスターツールが必要である。
【発明の概要】
【００１１】
[0011]本発明の実施形態は概して、１セットの制約を有するクラスターツールにおいて最大スループットおよびプロセス一貫性を達成するためにプロセスシーケンスをスケジューリングする装置および方法を提供する。
【００１２】
[0012]本発明の一実施形態は、プロセスシーケンスを実行するためにリソースを割り当てることによって個別スケジュールを判断するステップであって、該個別スケジュールが該プロセスシーケンスの複数のプロセスステップの各々を個別基板が開始する開始時間を備えているステップと、基本周期を算出するステップであって、該基本周期が２つの連続基板の開始時間の間の時間分として画成されるステップと、該個別スケジュールおよび該基本周期から生成されたスケジュールのリソース衝突を検出するステップと、検出されたリソース衝突を除去するように該個別スケジュールを調整するステップと、を備えるプロセスシーケンスをスケジューリングする方法を提供する。
【００１３】
[0013]本発明の別の実施形態は、プロセスによって実行される場合に、プロセスシーケンスを実行するためにリソースを割り当てることによって個別スケジュールを判断するステップであって、該個別スケジュールが該プロセスシーケンスの複数のプロセスステップの各々を個別基板が開始する開始時間を備えているステップと、基本周期を算出するステップであって、該基本周期が２つの連続基板の開始時間の間の時間分として画成されるステップと、該個別スケジュールおよび該基本周期から生成されたスケジュールのリソース衝突を検出するステップと、検出されたリソース衝突を除去するように該個別スケジュールを調整するステップと、を備えるオペレーションを実行するプロセスシーケンスをスケジューリングするコンピュータプログラムを含有するコンピュータ読み取り可能な媒体を提供する。
【００１４】
[0014]本発明のさらに別の実施形態は、処理スケジュールを生成するステップであって、処理シーケンスの複数の処理ステップの各々について待機時間がないステップと、ボトルネックリソースの使用期間に従って基本周期を判断するステップと、該基本周期に基づいて該処理スケジュールのリソース衝突を検出するステップと、該検出されたリソース衝突を除去するために該処理スケジュールおよび該基本周期のうちの少なくとも一方を調整するステップと、を備える処理シーケンススケジューリング方法を提供する。
【００１５】
[0015]本発明の上記引用された特徴が詳細に理解されるように、上記簡潔に要約された本発明のさらに具体的な説明が実施形態を参照してなされてもよく、この一部は添付の図面に図示されている。しかしながら、添付の図面は本発明の通常の実施形態のみを図示しており、従って、本発明は他の等しく効果的な実施形態を認めてもよいため、この範囲を制限するとみなされるべきではない点に注目すべきである。
【好ましい実施形態の詳細な説明】
【００１６】
[0025]本発明の実施形態は概して、マルチチャンバ処理システムを使用して基板を処理するための装置および方法を提供する。より具体的には、本発明の実施形態は、所与のプロセスシーケンスをスケジューリングするための方法を提供する。本発明のスケジューリング方法によって、システムにおけるすべての基板は、プロセスシーケンスの各ステップで一貫したキュー時間を有して均一な基板特性を保証することができる。本発明のスケジューリング方法は、所与のプロセスシーケンスを実行するためにクラスターツールにリソースを割り当てることによってスケジュールを判断するステップと、ボトルネックプロセスステップの長さや移送運動に従って、基本周期、クラスターツールに２つの連続基板を送る間の時間を判断するステップと、を備える。本方法はさらに、判断された基本周期を使用して判断済みスケジュールのリソース衝突をチェックするステップと、スケジュールにキュー時間を付加して、および／または基本周期を延長してリソース衝突を除去するステップとを備える。
【００１７】
[0026]リソース衝突は、定期システムの問題を低減し、かつ１セットの式を（０，Ｔ）の時間インターバル内に解くことによって検出および除去され、ここでＴは所定の基本周期を示している。一実施形態では、ゲームツリーアルゴリズムがリソース衝突を解決するために使用される。一実施形態では、ゲームツリータイミングの効率的な方法が、第１の実行可能な解決策を見つけるために使用される。
【００１８】
[0027]本発明の実施形態は、ポリシリコン生成シーケンスに従ってここに説明されている。図１は、本発明の一実施形態に従った半導体処理用クラスターツール１００を概略的に図示している。ここに説明されている方法は、プロセスシーケンスを実行するように構成されている他のツールで実践されることが想定されている。
【００１９】
[0028]クラスターツール１００は真空気密処理プラットフォーム１０１およびファクトリインタフェース１０２を含んでいる。プラットフォーム１０１は複数の処理チャンバ１１０、１０８、１１４、１１２、１１８、１１６と少なくとも１つのロードロックチャンバ１２０とを備えており、これらは真空基板移送チャンバ１０３、１０４に結合されている。ファクトリインタフェース１０２はロードロックチャンバ１２０によって移送チャンバ１０４に結合されている。
【００２０】
[0029]一実施形態では、ファクトリインタフェース１０２は少なくとも１つのドッキングステーションと、少なくとも１つの基板移送ロボット１３８と、少なくとも１つの基板整列器１４０とを備えている。ドッキングステーションは、１つ以上のフロントオープニングユニファイドポッド１２８（ＦＯＵＰ）を受容するように構成されている。２つのＦＯＵＰ１２８Ａ、１２８Ｂが図１の実施形態に示されている。基板移送ロボット１３８は、基板をファクトリインタフェース１０２からロードロックチャンバ１２０に移送するように構成されている。
【００２１】
[0030]ロードロックチャンバ１２０は、ファクトリインタフェース１０２に結合されている第１のポートと、第１の移送チャンバ１０４に結合されている第２のポートとを有している。ロードロックチャンバ１２０は、移送チャンバ１０４の真空環境とファクトリインタフェース１０２の実質的な周囲（例えば、大気）環境間の基板の通過を容易にするのに必要とされるように、チャンバ１２０をポンプダウンおよび換気する圧力コントロールシステムに結合されている。
【００２２】
[0031]第１の移送チャンバ１０４および第２の移送チャンバ１０３はそれぞれ、第１のロボット１０７および第２のロボット１０５をその中に配置している。２つの基板移送プラットフォーム１０６Ａ、１０６Ｂは移送チャンバ１０４に配置されており、ロボット１０５、１０７間の基板の移送を容易にする。プラットフォーム１０６Ａ、１０６Ｂは移送チャンバ１０３、１０４に対して開いていても、あるいは選択的に移送チャンバ１０３、１０４から隔離（つまりシール）されていてもよく、異なる動作圧力が移送チャンバ１０３、１０４の各々で維持されるようにする。
【００２３】
[0032]第１の移送チャンバ１０４に配置されているロボット１０７は、ロードロックチャンバ１２０と、処理チャンバ１１６、１１８と基板移送プラットフォーム１０６Ａ、１０６Ｂ間で基板を移送することができる。第２の移送チャンバ１０３に配置されているロボット１０５は、基板移送プラットフォーム１０６Ａ、１０６Ｂと処理チャンバ１１２、１１４、１１０、１０８間で基板を移送することができる。
【００２４】
[0033]図２は、上記のクラスターツール１００などの集積クラスターツールにおいて基板上に誘電層を堆積するためのプロセスシーケンス２００の一実施形態のフローチャートを図示している。
【００２５】
[0034]プロセスシーケンス２００は、基板をクラスターツールに位置決めするステップ２０２で始まる。
【００２６】
[0035]ステップ２０４では、誘電層が基板上に堆積される。誘電層は金属酸化物であってもよく、またＡＬＤプロセス、ＭＯＣＶＤプロセス、従来のＣＶＤプロセスまたはＰＶＤプロセスによって堆積されてもよい。
【００２７】
[0036]堆積プロセスに続いて、基板はステップ２０５で堆積後アニーリング（ＰＤＡ）プロセスに暴露されてもよい。ＰＤＡプロセスは、ＲＡＤＩＡＮＣＥＴＭＲＴＰチャンバなどの高速アニーリングチャンバで実行されてもよい。
【００２８】
[0037]ステップ２０６では、誘電層は不活性プラズマプロセスに暴露されて、誘電性材料の密度を高くしてプラズマ処置層を形成する。不活性プラズマプロセスは、不活性ガスを減結合プラズマ窒化（ＤＰＮ）チャンバに流すことによって実行される減結合不活性ガスプラズマプロセスを含むことがある。
【００２９】
[0038]ステップ２０８では、基板に堆積されているプラズマ処置層は熱アニーリングプロセスに暴露される。
【００３０】
[0039]ステップ２１０では、ゲート電極層がアニーリング済み誘電層に堆積される。ゲート電極層は、ＬＰＣＶＤチャンバを使用して堆積された多結晶Ｓｉ、アモルファスＳｉまたは他の適切な材料であってもよい。
【００３１】
[0040]表１は、シーケンス２００の各ステップのレシピ時間およびチャンバ要件を図示している。
【００３２】
【表１】
2008263177.tif 000003
【００３３】
[0041]本発明の方法は、基板一貫性を達成し、リソース制約内にとどまり、かつスループットを最大化するプロセススケジュールを判断するステップに関する。
【００３４】
[0042]本発明のプロセススケジュールは、個別基板のスケジュール（以後、個別スケジュール）と、連続基板間の基本周期とを含んでもよい。個別スケジュールは、基板の最初の移動の開始時間に対する基板の各プロセスステップの開始時間および終了時間を含んでいる。基本周期は、基板がクラスターツールに送られるレートを画成する。具体的に、基本周期は２つの連側基板間の時間インターバルである。
【００３５】
[0043]プロセススケジュールに影響する要因は、実行されるプロセスシーケンスと、各レシピステップを実行するのにかかる時間と、各ステップでの基板キュー時間制約と、異なるチャンバ間の移送時間とを含むことがある。基板キュー時間制約は通常、プロセスレシピが完了した後に所与のチャンバで所与のプロセスステップを基板が待機することができる最大時間を画成するシーケンスの一部である。表２は、プロセスシーケンス２００を実行するのに使用可能な関連チャンバの例示的基板キュー時間制約を図示している。各レシピステップを実行するのにかかる時間は概して、洗浄および定期洗浄プロセスに関するタイミング情報を含んでいる。簡単な時間ベースレシピについて、各レシピステップを実行するのにかかる時間は、レシピステップを解析することによって算出されてもよい。エンドポイントベースレシピについて、かかる平均時間などの統計的情報がスケジュール作成に使用されてもよい。移送時間は、移送自体の一部として実行される他のレシピに関する実際のロボットの運動時間およびオーバーヘッドである。
【００３６】
[0044]表２を参照すると、総レシピ時間範囲は、プロセスシーケンス２００の場合には、所与のプロセスシーケンスに従って対応するチャンバで基板を処理する時間範囲を示している。キュー時間感度は、プロセスステップがチャンバで完了した後に対応するチャンバに基板が有する最大待機周期を示している。基板取り扱い変動制限は、所望のプロセス一貫性を取得するために基板間のキュー時間の最大変動を示している。洗浄頻度は、対応するチャンバが洗浄を必要とする頻度を示している。洗浄時間は、洗浄プロセスを完了するのに必要な時間に関する。定期洗浄を必要とするチャンバについて、洗浄プロセスは、洗浄要件の頻度および長さに従って取り扱われてもよい。ＤＰＮ＋（Ａ）およびＤＰＮ＋（Ｂ）などの各基板後に洗浄を必要とするチャンバについて、洗浄時間は概してプロセス時間に付加される。さらなる洗浄検討事項が図８に説明されている。
【００３７】
【表２】
2008263177.tif 000004
【００３８】
[0045]本発明の一実施形態では、本発明のプロセススケジュールが以下のステップ、所与のプロセスシーケンスを実行して初期の個別スケジュールを判断するためにリソースを割り当てるステップと、初期の基本周期を判断するステップと、初期の個別スケジュールおよび初期の基本周期のリソース衝突をチェックするステップと、基板キュー時間を個別スケジュールに付加することによってリソース衝突を除去するステップとによって判断されてもよい。本発明の一実施形態では、プロセススケジュールを判断するステップは、リソース衝突を除去するために初期の基本周期を延長する工程を備えてもよい。
リソースの割り当ておよび初期の個別スケジュールの判断
[0046]リソースの割り当ては概して、クラスターツールのチャンバ配列をセットアップするステップと、配列されたチャンバ間で基板を移送するためにロボットを割り当てるステップと、を備えている。
【００３９】
[0047]チャンバ配列は、プロセスステップのチャンバ位置およびチャンバ数を画成するステップを含むことがある。チャンバ配列は、実行されるプロセスシーケンスと、各レシピステップを実行するのにかかる時間と、各ステップでの基板キュー時間制約とに影響されることがある。
【００４０】
[0048]例えば、クラスターツール１００は、プロセスシーケンス２００を実行するように構成されてもよい。プロセスシーケンス２００を容易にするために、適切なチャンバがチャンバ１０８、１１０、１１２、１１４、１１６、１１８に選択されてもよい。例えば、チャンバ１１６、１１８は、多結晶シリコン（ＰＯＬＹ）を堆積するように構成されている化学気相堆積（ＣＶＤ）チャンバであってもよい。適切なチャンバの１つは、Ａｐｐｌｉｅｄ  Ｍａｔｅｒｉａｌｓ，Ｉｎｃから入手可能なＰＯＬＹＧｅｎチャンバである。チャンバ１０８、１１４は減結合プラズマ窒化（ＤＰＮ）チャンバであってもよい。チャンバ１１０、１１２は高速熱プロセス（ＲＴＰ）チャンバであってもよい。１つ以上の冷却チャンバは基板移送プラットフォーム１０６Ａ、１０６Ｂの上方に位置決めされてもよい。
【００４１】
[0049]クラスターツール１００におけるチャンバの配列を判断する際に、チャンバ、ロードロックおよびロボットを含むリソースが、各プロセスステップおよびステップ間の推移について割り当てられてもよい。
【００４２】
[0050]図３Ａは、本発明の一実施形態に従った例示的プロセスシーケンスのフローチャートを概略的に図示している。図３Ｂは、図１のクラスターツール１００において図３Ａのプロセスシーケンスで処理される基板のルートを概略的に図示している。図３Ａを参照すると、ステップＳ１〜Ｓ１３は、プロセスチャンバ、移送チャンバまたはロードロックにとどまる基板を表している。移動ｍ１〜ｍ１２は、ロボットによって搬送されるチャンバ間の基板の動きを表している。移動ｍ１〜ｍ１２は図３Ｂの矢印でさらに図示されている。
【００４３】
[0051]表３はプロセスシーケンス２００の個別スケジュールを図示している。プロセス時間は、基板がリソース、チャンバまたはロボットを占有する総時間分を示している。開始は、基板に対するリソースを占有する基板が最初にクラスターツールに入る時間をマークする。終了は、基板に対してリソースを解放する基板がクラスターツールに入る時間をマークする。初期の個別スケジュールではいずれのステップにもキュー時間は付加されない。基板がクラスターツールにない場合には基板はこのスケジュールに従うことができる。表３に示されているように、基板がプロセスシーケンス２００を完了するのに１２３３秒かかる。１つの基板のみがクラスターツールにある場合、残りのリソースがアイドルである間最大２つのリソースが所与の時間に占有される。アイドル時間を低減して、スループットを増大させるために、第１の基板がクラスターツールを出る前に第２の基板がクラスターツールに供給されてもよい。２つの基板を送る間の時間分、つまり基本周期は、スループットを最大化するように最小化されてもよい。
【００４４】
【表３】
2008263177.tif 000005
【００４５】
初期の基本周期の判断
[0052]本発明の一実施形態では、初期の基本周期は、クラスターツールにおける全リソース間の最長使用期間に従って判断されてもよい。リソースの使用期間は、信号基板についてプロセスシーケンスの全ステップ／移動を実行するのにかかる総時間によって画成されてもよい。
【００４６】
[0053]一実施形態では、各リソースの使用期間は、プロセスシーケンスの全プロセスステップを反復して、また各プロセスステップを、ロード時間、アンロード時間、プロセスレシピ時間および洗浄時間を含むサブパートに分けることによって算出されてもよい。サブパートの各々は次いで、サブパートに必要な１つのリソース（または複数のリソース）に割り当てられる。
【００４７】
[0054]チャンバについて、チャンバがプロセスシーケンスで使用される全ステップに必要ならば、使用期間は、ロード時間、プロセスレシピ時間、アンロード時間および洗浄時間を含んでもよい。１つのステップを実行するために少なくとも２つのチャンバが配列される場合、使用期間はチャンバ数で分割されてもよい。一実施形態は、１つのチャンバの使用期間は、以下の式を使用して算出可能である：
【００４８】
【数１】
2008263177.tif 000006
【００４９】
ここでＤ［ｉ］はチャンバｉの使用期間を示しており、ｋは、チャンバｉが使用されるプロセスステップを示しており、Ｐ［ｋ］はステップｋのプロセス時間を示しており、Ｌ［ｋ］はステップｋのロード時間を示しており、Ｕ［ｋ］はステップｋのアンロード時間を示しており、Ｃ［ｋ］はステップｋの洗浄時間を示しており、ｎはチャンバｉの数を示している。合計は、チャンバｉで実行される全ステップに対するものである。
【００５０】
[0055]ロボットについて、使用期間は、ロボットが使用される全移動のピックアップ時間、移送時間およびドロップ時間を含んでもよい。一実施形態では、１つのロボットの使用期間は以下の式を使用して算出されてもよい：
【００５１】
【数２】
2008263177.tif 000007
【００５２】
ここでＤ［ｊ］はロボットｊの使用期間を示しており、ｌは、ロボットｊが使用される移動を示しており、Ｐｋ［ｌ］は移動ｌのピックアップ時間を示しており、Ｔｒ［ｌ］は移動ｌの移送時間を示しており、Ｄｒ［ｌ］は移動ｌのドロップ時間を示している。合計は、ロボットｊによって実行される全移動に対するものである。
【００５３】
[0056]一実施形態では、初期の基本周期は、チャンバおよびロボットを含む全リソースの最大使用期間に設定されてもよい。
【００５４】
[0057]概して、ロボットの移動のピックアップ時間は先行ステップのアンロード時間に重複し、ロボットの移動のドロップ時間は後続ステップのロード時間に重複する。従って、チャンバのステップのロード時間は先行移動のドロップ時間に重複し、チャンバのステップのアンロード時間は後続移動のピックアップ時間に重複する。チャンバの期間算出を簡略化するために、チャンバ使用期間は、先行移動に必要な時間と、後続移動に必要な時間と、プロセス時間と、必要ならば洗浄時間とを含んでもよい。表４は、プロセスシーケンス２００を実行するためのクラスターツール１００のリソースの使用期間の算出を列挙している。表４に示されているように、最長使用期間は２４０秒であり、これはＲＴＯチャンバに属する。従って、初期の基本周期は、本発明の実施形態に従って２４０秒に設定されてもよい。
【００５５】
【表４】
2008263177.tif 000008
【００５６】
リソース衝突のチェック
[0058]リソース衝突とは、同時に２つ以上のステップまたは移動によって１つのリソースが必要とされる状況のことである。リソース衝突は、２つ以上の基板がクラスターツールにある場合、および１つ以上のリソースが２つ以上のステップまたは移動で使用される場合に生成することがある。概して、ロボットは普通プロセススケジュールの複数の移動について使用されるため、ロボット衝突は共通である。しかしリソース衝突は、リソースがプロセスシーケンスの２つ以上のステップでスケジューリングされている場合にプロセスチャンバ、ロードロックおよび／または移送チャンバに生じることがある。
【００５７】
[0059]本発明の一実施形態では、所与の個別スケジュールおよび基本周期に対応するリソース衝突が、１周期におけるステップ／移動ごとに相対的開始時間および相対的終了時間を算出することによってチェックされてもよい。
【００５８】
[0060]一実施形態では、Ｎ番目の基板のステップｉの相対的開始時間ＳＲｅｌａｔｉｖｅ［ｉ，Ｎ］および相対的終了時間ＥＲｅｌａｔｉｖｅ［ｉ，Ｎ］は、
【００５９】
【数３】
2008263177.tif 000009
【００６０】
【数４】
2008263177.tif 000010
【００６１】
によって算出されてもよい。ここでｉはステップ／移動数を示しており、Ｎは基板シーケンス番号を示しており、ＦＰは基本周期を示しており、Ｓ［ｉ，Ｎ］はＮ番目の基板のステップｉの絶対的開始時間を示しており、Ｅ［ｉ，Ｎ］はＮ番目の基板のステップｉの絶対的終了時間を示している。Ｓ［ｉ，Ｎ］およびＥ［ｉ，Ｎ］は以下の式によって算出されてもよい：
【００６２】
【数５】
2008263177.tif 000011
【００６３】
【数６】
2008263177.tif 000012
【００６４】
ここでｉはステップ／移動数を示しており、Ｎは基板シーケンス番号を示しており、ＦＰは基本周期を示しており、Ｄ［ｊ］はｉ番目のステップ／移動の使用期間を示している。
【００６５】
[0061]一実施形態では、リソース衝突は、異なるステップ／移動の相対的開始時間および相対的終了時間のインターバルの重複を検出することによって検出されてもよい。例えば、ステップｉおよびｋが同じリソースを必要とする場合、インターバル（ＳＲｅｌａｔｉｖｅ［ｉ，Ｎ］，ＥＲｅｌａｔｉｖｅ［ｉ，Ｎ］）および（ＳＲｅｌａｔｉｖｅ［ｋ，Ｎ］，ＥＲｅｌａｔｉｖｅ［ｋ，Ｎ］）の重複はリソース衝突を示している。
【００６６】
[0062]表５は、２４０秒の基本周期の間の表４の初期の個別スケジュールの例示的リソース衝突結果を列挙している。表５に示されているように、リアロボットのＭ９はＭ５およびＭ６と衝突し、ＦＩロボットのＭ１２はＭ１およびＭ２と衝突する。
【００６７】
【表５】
2008263177.tif 000013
【００６８】
[0063]図４は、表５のスケジュールテーブルのレシピ図を概略的に図示している。図４に示されているように、６つの基板がシステムで処理される。各基板は基本周期で別々にシステムに送られる。第１の基板のＭ９および第３の基板のＭ６は、衝突１を招く時にリアロボットを必要とする、第１の基板のＭ９および第５の基板のＭ５は、衝突２を招く時にリアロボットを必要とする、第１の基板のＭ１２および第５の基板のＭ１は、衝突３を招く時にＦＩロボットを必要とする。第１の基板のＭ１２および第５の基板のＭ２は、衝突４を招く時にＦＩロボットを必要とする。
【００６９】
リソース衝突の除去
[0064]本発明の一実施形態では、リソース衝突は、衝突に伴う２つのステップのうちの一方を遅延させるためにキュー時間を付加することによって除去可能である。一実施形態では、キュー時間は２つの衝突ステップのうちの後のステップを遅延させるために付加されてもよい。
【００７０】
[0065]表６に示されているように、Ｍ９とＭ５間、およびＭ９とＭ６間のリアロボットの衝突は、２５秒のキュー時間をステップＳ９に付加することによって除去される。Ｍ９は２５秒遅延され、各基板は、キュー時間の前の１２３３秒と比較して、１２５８秒間システムにとどまるようにスケジューリングされる。しかしながら、基本周期は２４０秒のままであるため、システムスループットは遅延ゆえに低減されない。
【００７１】
[0066]図５は、表６に列挙されている更新済みスケジュールテーブルのレシピ図を概略的に図示している。
【００７２】
【表６】
2008263177.tif 000014
【００７３】
[0067]場合によっては、新たなリソース衝突が付加されたキューから作成されることもある。図５に示されているように、Ｍ１０とＭ３間、およびＭ１２とＭ２間の新たな衝突が付加されたキュー時間の結果として生成される。本発明の一実施形態では、更新済みスケジュールテーブルが生成されることもあり、リソース衝突が更新済みスケジュールテーブルについてチェックされることもあり、またさらなるキュー時間が、キュー時間の付加後の新たな衝突を除去するように導入されてもよい。一実施形態では、キュー時間は、リソース衝突がなくなるまで、個別スケジュールに付加されてもよい。しかしながら、場合によっては、リソース衝突はキュー時間を付加することによって除去されないこともあり、あるいは付加されたキュー時間は（表２に示されている制約などの）リソースのキュー時間感度制約外であることもある。キュー時間を処理ステップに付加することによってはリソース衝突が除去不可能である場合、基本周期は延長されることもあり、またリソース衝突は、延長された基本周期に基づいて初期の個別スケジュールについてチェックおよび除去されることもある。
【００７４】
[0068]図６は、本発明の一実施形態に従ったスケジューリング方法４００のフローチャートを図示している。スケジューリング方法４００はプロセスシーケンスのスケジュールを見つけるように構成されている。スケジュールは、基板間に一貫性のある最大スループットを保証し、キュー時間感度などのリソースの制約を観察する。スケジューリング方法４００について得られるスケジュールは個別スケジュールおよび基本周期を備えており、個別スケジュールは、プロセスシーケンス全体でのクラスターツールの個別基板のタイムテーブルを示しており、また基本周期は２つの連続基板の開始時間の間の時間インターバルを示している。例示的スケジュールが表３に示されている。
【００７５】
[0069]スケジューリング方法４００のステップ４１０において、初期の個別スケジュールはプロセスシーケンスについて判断されてもよい。初期の個別スケジュールは、いずれのステップおよび移動においても待機時間がないクラスターツールにおいて基板のタイムテーブルを備えている、初期の個別スケジュールは概してプロセスシーケンスと、基板が処理されるクラスターツールのトポロジーとによって判断される。
【００７６】
[0070]ステップ４２０において、初期の基本周期が判断されてもよい。一実施形態では、初期の基本周期は、チャンバやロボットなどのボトルネックリソースの使用期間として設定される。使用期間を算出する実施形態は上記のとおりである。ボトルネックリソースの使用期間として初期の基本周期を設定することは、最高スループットから可能なスケジュール開始を検索することを保証する。
【００７７】
[0071]ステップ４３０において、スケジュールテーブルは初期の個別スケジュールおよび初期の基本周期に基づいて生成されてもよい。一実施形態では、スケジュールテーブルは、リソースごとに、基本周期以内のタイムテーブルを含んでもよい。例えば、表４に関連するスケジュールテーブルにおいて、各基本周期（０，２４０）内では、ＦＩロボットが、（０，２２）時にＭ１を、（２７，４９）時にＭ２を、（１５，３３）時にＭ１２を実行する必要がある。
【００７８】
[0072]ステップ４３０において、リソース衝突は生成されたスケジュールテーブルについてチェックされる。一実施形態では、リソース衝突は、基本周期以内の各リソースのタイムテーブルの重複をチェックすることによって判断されてもよい。例えば、表４のＦＩロボットのタイムテーブルはＭ１／Ｍ１２とＭ２／Ｍ１２の重複を有する。一実施形態では、リソース衝突チェックは、プロセスシーケンス中に少なくとも２つのステップおよび／または移動によって必要とされるリソースについて実行されてもよい。
【００７９】
[0073]リソース衝突がクラスターツールの全リソースのスケジュールテーブルで見つかった場合、スケジュールテーブルに関する個別スケジュールおよび基本周期はこの問題の受容可能な解決策であり、この方法はステップ４７０に移って、プロセスの現在の個別スケジュールおよび基本周期を出力する。
【００８０】
[0074]スケジュールテーブルにリソース衝突がある場合、リソース衝突は、ステップ４５０で個別スケジュールを調整することによって除去されることもある。一実施形態では、リソース衝突は、キュー時間を個別スケジュールに付加することによって除去されることもある。一実施形態では、キュー時間は、リソース衝突をもたらすステップのうちの１つを遅延させるために付加されてもよい。一実施形態では、ゲームツリーアルゴリズムがリソース衝突を除去するために使用されてもよい。一実施形態では、リソース制約は、キュー時間を個別スケジュールに付加する場合に考慮される。リソース衝突を除去するための詳細な方法が図７に従って説明される。
【００８１】
[0075]ステップ４５０は結果を出力する。ステップ４６０において、ステップ４５０からの出力が検証される。個別スケジュールを調整することによってリソース衝突が除去される場合、スケジューリング方法はステップ４７０に移り、更新済み個別スケジュールおよび現在の基本周期を出力する。しかしながら、個別スケジュールを調整することによってはリソース衝突が除去不可能である場合、スケジューリング方法はステップ４８０に進む。
【００８２】
[0076]ステップ４８０において、現在の基本周期が延長される。一実施形態では、基本周期は所定のインクリメントで延長されてもよい。基本周期を延長することによって、スケジューリング方法は、スループットが低下した領域において可能な解決策を検索する。
【００８３】
[0077]ステップ４９０において、更新済みスケジュールテーブルが延長された基本周期および初期の個別スケジュールから生成されて、この場合キュー時間は付加されない。そしてスケジューリング方法はステップ４４０に進みリソース衝突をチェックする。
【００８４】
[0078]従って、スケジューリング方法４００は、所与のプロセスシーケンスについて、基板間一貫性および最大スループットを具備するスケジュールを提供する。
【００８５】
ゲームツリーアルゴリズム
[0079]本発明の一実施形態では、ゲームツリーアルゴリズムは、スケジュールテーブルの衝突を除去するために、スケジューリング方法４００などのスケジューラーで使用されてもよい。
【００８６】
[0080]ゲームツリーのコンセプトは、システムが所与のゲームに勝つことができる最も可能性の高い移動を判断するためにゲームセオリーで使用される。ゲームツリーは有向性非周期グラフであり、ここでは非周期グラフの各ノードはシステムの状態、例えば個別スケジュールおよび基本周期であり、各縁部は移動、例えば個別スケジュールまたは基本周期への変化を表している。１対のノードと、この１対のノードを接続する縁部は、移動が実行される場合にシステムで生じる差分変化とみなされることが可能である。ゲームの各ステップにおいて、最も可能性の高い移動が、ゲームツリーを検索することによって選択される。
【００８７】
[0081]ゲームツリーは、結合的問題を解決するのに使用されるデータ構造とみなされることもある。この特定の場合のスケジューリングにおいて、ロボットなどのリソースの衝突は、２つ以上のステップが重複する場合に１つのステップの開始時間および終了時間を再配列することによって解決可能である。システムが解決に向かうべき次の移動は、リソース衝突を最小化するために最良の再配列順序を選択される。しかしながら、このアルゴリズムは階乗順であるため、必要な計算リソースは、多数の移動が考慮される場合には非常に大きい。ゆえに考慮すべき可能性の数を低減するための効率的な方法が、この解決策を実行可能にするために必要である。考慮すべき可能性の数を低減することはゲームツリーのトリミングと称される。本発明の一実施形態では、ツリーのトリミングは、最大キュー時間制約を使用して多数の可能性を排除することによって達成されることもある。最大キュー時間制約は所定の時間であってもよく、またターゲットプロセスシーケンスによって与えられてもよい。最大キュー時間はまた、所定でなければ、基本周期に基づいてスケジューラーによって選択されてもよい。所与のリソースについて、最大キュー時間は以下の式を使用して選択されてもよい：
最大キュー時間＝（ボトルネックリソースの使用期間−（対象リソースの使用期間）、シーケンスのユーザー画成値）の最大値
[0082]本発明の一実施形態では、ゲームツリーは、第１の実行可能な解決策を見つけるために使用される。最良の解決策ではなく第１の実行可能な解決策を選択することによって、この問題は大きく簡略化される。スケジューラーの目的はスループットを最大化することである。基本周期が設定されると、キュー時間は上記の最大キュー時間の式によって制約されるため付加されたキュー時間はボトルネック期間を変更しないため、キュー時間を各ステップに付加することによってはスループット値は変更できない。従って、リソース衝突を解決するという問題は、スループットの最大化と対抗する。最良の解決策は、これが検索された場合には、各ステップで必要とされるキュー時間を最小化する解決策であろう。しかしこれは、長期の稼動生産バッチに対してごく少量の利得につながるだけである。効率については、第１の実行可能な解決策が、もし見つかったならば、検索の終了を判断する。
【００８８】
[0083]上記の簡略化によって、アルゴリズムは完全な検索ツリーを構築する必要がない。本発明の方法は、検索ツリーの構築を開始して、ブランチが巡回依存性、つまりリソース衝突の再発につながる場合には、最大キュー時間制約を侵害する一部のブランチを拒絶する。全衝突を解決する検索ツリーの第１のブランチが見つかった場合、アルゴリズムは終了して、これを解決策として使用する。
【００８９】
[0084]本発明に従ったゲームツリーは深さを優先して作成されることもある。スケジューラーは全処理ステップ／移動を反復して、各ステップ／移動の実行についてリソースを割り当てる。複数のリソースがステップの実行に利用可能である場合、スケジューラーは使用可能なリソースを多重化して、均一な負荷分布を達成する、リソースを割り当てた後、スケジューラーはリソース衝突があるか否かをチェックする。再発するリソース衝突を識別するために、スケジューラーはまた、これが解決した全リソース衝突の履歴を維持する。任意のステップを遅延させる前に、スケジューラーは衝突履歴テーブルに問い合わせて、同じリソース衝突が過去に解決されているか否かを調べる。リソース衝突が過去に解決されていれば、スケジューラーは変更を拒絶して、もう１つの実行可能な解決策を見つけようと試みる。ゲームツリーをトリミングするために、算出された遅延は、所与のステップの最大キュー時間制約と比較される。このステップは、制約条件が侵害されなければ遅延されるにすぎない。
【００９０】
[0085]ステップＩとＫのリソース衝突を解決するために、スケジューラーは、このリソース衝突を除去するための２つの方法、つまりステップＩの遅延およびステップＫの遅延を有している。この２つの解決策はゲームツリーの２つの異なるブランチにつながる。本発明の一実施形態では、スケジューラーはまず、より早い相対的開始時間を有するステップを遅延させようと試みる。ステップＫがステップＩより早い相対的開始時間を有している場合、スケジューラーはステップＫを最初に遅延させるためにキュー時間を付加しようと試みる。衝突履歴テーブルが同じ衝突を有しておらず、また最大キュー時間制約が満たされる場合、新たな子ノードが作成されて、スケジュールテーブルが、ステップＫで新たな遅延を反映するように調整される。ステップＫがΔ秒遅延される場合、ステップＫ＋１〜ステップＮ（ここで、Ｎはステップ総数）であるステップＫに続く全ステップの開始時間もまた同じΔだけ増大される。
【００９１】
[0086]リソース衝突を解決した後、スケジューラーは、キュー時間が付加された後の更新済みスケジュールテーブルのリソース衝突を検索する。リソース衝突は、リソース衝突を除去するために導入される遅延ゆえに作成されることもあり、あるいは既に存在していることもある。
【００９２】
[0087]ステップＫが任意の制約侵害ゆえに遅延不可能である場合、スケジューラーは、ステップＩの遅延を試みることによって次のブランチに移動する。これは衝突反転と称されることもある。ステップＫの遅延およびステップＩの遅延という両方の可能性が拒絶される場合、スケジューラーはゲームツリーを上に移動させて、親ノードの衝突を反転する。各リソース衝突は正確に２つの方法で解決可能であるため、衝突を解決しようとする試みの回数カウントが使用されることもある。カウントが２を超えると、現在のノードには解決策がなく、スケジューラーはゲームツリーを上に移動させ、ブランチにおける他の衝突を試み、反転する。
【００９３】
[0088]全ステップにリソースが割り当てられており、かつ衝突がない場合、解決策が受容され、各ステップの遅延がスケジューラーによって使用される。
【００９４】
[0089]場合によっては、１セットのリソース衝突の解決策はない。ゲームツリー方法は解決策を送り返さず、スケジューラーは次いで、わずかな差分だけ基本周期を増大させて、延長基本周期を使用するスケジューラーテーブルにおいて相対的時間を再作成する。
【００９５】
[0090]図７は、本発明の一実施形態に従ったリソース衝突除去方法５００のフローチャートを図示している。この方法５００は、第１の実行可能な解決策を検索して、所与のプロセスシーケンスおよび所与の基本周期のリソース衝突を除去するように構成されている。上述のゲームツリーセオリーが方法５００で使用される。方法５００は、図６のスケジューリング方法４００のステップ４５０で使用されてもよい。
【００９６】
[0091]ステップ５０２において、個別スケジュールおよび基本周期に基づいたスケジュールが提供される。スケジュールはリソース衝突を有している。一実施形態では、リソース衝突がスケジュールから検出されることもある。
【００９７】
[0092]ステップ５０４において、現在の衝突は、除去されるべきリソース衝突であり、スケジュールの第１のリソース衝突に設定される。一実施形態では、第１のリソース衝突が個別スケジュールのタイムテーブルにおける第１の衝突接触（ｅｎｃｏｕｎｔｅｒ）によって画成される。例えば、図４の衝突１。
【００９８】
[0093]ステップ５０６において、衝突履歴が、現在の衝突がすでに解決されているか否かをチェックするために検索されることもある。
【００９９】
[0094]現在の衝突が衝突履歴にない場合、現在の衝突はステップ５０８において衝突履歴に付加される。
【０１００】
[0095]ステップ５１０において、現在の衝突を除去するための第１の解決策が試みられる。ステップ５１０は、現在の衝突を除去するために開始時間がより早いステップを遅延するのに必要なキュー時間の算出を含んでもよい。一実施形態では、現在の衝突に関するカウンターが１に設定されて、現在の衝突を解決するためになされる試みの回数をマークする。
【０１０１】
[0096]ステップ５１２において、算出されたキュー時間は最大キュー時間制約と比較されることもある。一実施形態では、リソースの最大キュー時間制約が、ユーザー画成制約の最小値と、ボトルネックリソースの使用期間とリソースの使用期間の差とによって画成されてもよい。
【０１０２】
[0097]算出されたキュー時間が最大キュー時間制約以内の場合、現在の個別スケジュールは、ステップ５１４に示されているように現在の衝突の開始時間がより早いステップを遅延させるために、算出されたキュー時間を付加することによって更新されてもよい。
【０１０３】
[0098]ステップ５１６において、衝突は、更新済みの個別スケジュールおよび現在の基本周期についてチェックされてもよい。衝突が存在しない場合、方法５００は解決策を見つけたのである。現在の個別スケジュールおよび現在の基本周期はステップ５２０で解決策として出力されてもよい。しかしながら、衝突がステップ５１６で検出されると、方法はステップ５１８に進み、ここで現在の衝突は更新済みスケジュールの第１の衝突に設定される。方法は次いでステップ５０６に移って戻る。
【０１０４】
[0099]ステップ５１２を再度参照すると、算出されたキュー時間が最大キュー時間制約の要件を満たさない場合、アルゴリズムはステップ５２２に移る。
【０１０５】
[0100]ステップ５２２において、現在の衝突が反転され、この場合、開始時間が遅いステップを遅延させて現在の衝突を除去するのに必要なキュー時間が算出される。一実施形態では、現在の衝突に関するカウンターが２に設定されて、現在の衝突を解決するためになされる試みの回数をマークする。
【０１０６】
[0101]ステップ５２４において、ステップ５２２から算出されたキュー時間は最大キュー時間制約と比較される。算出されたキュー時間が最大キュー時間制約を満たす場合、この方法はステップ５１４に移って、現在の個別スケジュールを更新する。しかしながら、算出されたキュー時間が最大キュー時間制約を満たさない場合、現在の衝突はステップ５２６において衝突履歴から除去される。
【０１０７】
[0102]ステップ５２８において、衝突履歴がチェックされる。衝突履歴が空の場合、この方法はステップ５３２に移る。ステップ５３２において、現在の基本周期は拒絶されて、この方法は、リソース衝突を除去するための解決策を送り返さない。
【０１０８】
[0103]衝突履歴が空でない場合、方法はステップ５３０に進み、ここでは現在の衝突がロールバックされて、衝突履歴に記憶されている最後に除去された衝突に設定される。方法はステップ５２１に移る。
【０１０９】
[0104]ステップ５２１において、現在の衝突と関連したカウンターがチェックされる。カウンター＝２は、現在の衝突が２回解決されている、つまりフォワード解決策（早いステップ遅延）およびリバース解決策（遅いステップ遅延）であることを示している。カウンターは、フォワード解決策のみが試みられたことを示すものである。ステップ５２１において、カウンターが２の場合、方法はステップ５２６に移って、現在の衝突を衝突履歴から除去して、もう一度ステップをロールバックする。カウンターが１の場合、方法はステップ５２２に進み、現在の衝突を反転するように試みる。
【０１１０】
[0105]ステップ５０６を再度参照すると、現在の衝突が衝突履歴にある場合、方法はステップ５２１に移って、フォワードおよびリバース両方の解決策が試みられたか否かを判定する。
【０１１１】
定期洗浄
[0106]定期洗浄は、プロセスシーケンスのうち１つのステップでＷ個の基板ごとに稼動されるレシピである。定期洗浄は基板ごとには実行されないため、正常なスケジュールプロセスには含まれることはない。
【０１１２】
[0107]本発明の一実施形態では、定期洗浄はスケジューリングの特殊な場合として取り扱われる。定期洗浄は、基本周期の算出に使用されるのみである。ボトルネックリソースや基本周期の使用期間は、２つの後続基板の開始時間の間の経過時間とみなされることが可能である。算出された基本周期は基板をクラスターツールに供給するのに使用されるため、（単一のステップに割り当てられ、かつこの単一ステップの唯一のチャンバである）各チャンバは算出された基本周期ごとに基板を受け取る。チャンバが算出された基本周期以内で基板処理を完了できる場合、チャンバの衝突はない。チャンバにおける基板処理は概して、レシピ時間と、基板移送時間と、チャンバが必要とする事後処理とを含んでいる。一実施形態では、スケジューラーは基本周期を算出するための定期洗浄レシピ時間を含んでいるため、定期洗浄もまた、次の基板が到着する前にチャンバにおいて完了可能である。
【０１１３】
[0108]本発明の一実施形態では、定期洗浄は、基本周期を算出する場合には考慮されない。そしてスケジューラーは定期洗浄要件を有するシステムの全チャンバで反復して、基板プロセス時間、基板移送時間および任意の付加キュー時間に加えて定期洗浄が算出された基本周期以内で完了可能であるか否かをテストする。次の基板が到着する前に定期洗浄が完了可能である場合、算出された基本周期はスケジューリングに使用されてもよい。
【０１１４】
[0109]次の基板が到着する前に定期洗浄が完了できない場合、定期洗浄が増大された基本周期以内で完了できるように基本周期が増大される。
【０１１５】
[0110]このステップで使用されるチャンバが２つ以上ある場合、スケジューラーは、このステップにおけるチャンバの使用を交互させることを考慮する。所与の時点では、定期洗浄が起動されるまで、１つのチャンバのみが全基板に対して使用される。定期洗浄条件に達すると、シーケンサーはグループ内の次のチャンバに基板を送り始めるのに対して、第１のチャンバは定期洗浄レシピを稼動する。従って、Ｎ個のチャンバが使用されるステップにおいて、所与の時点では、チャンバのうちの１つが基板を処理している間に（Ｎ−１）個のチャンバが定期洗浄を実行している。これはストールフリー実行を保証する。しかしながら、定期洗浄レシピが、基本周期のＮ倍以内に完了できないほど長い場合、定期洗浄はシステムをストールさせる。ストール時間は、
ストール時間＝（定期洗浄レシピ時間）−Ｎ＊基本周期に等しい。スケジューラーは、Ｎ＋１個の基板ごとに算出されたストール時間の期間ストールする。
【０１１６】
[0111]図８は、本発明の一実施形態に従った定期洗浄スケジュールの判断方法６００のフローチャートを図示している。
【０１１７】
[0112]ステップ６０２において、定期チャンバ洗浄を必要とするステップごとに、方法６００は、２つ以上のチャンバが使用されているか否かをチェックする。
【０１１８】
[0113]定期洗浄を必要とするステップのチャンバが１つだけの場合、この方法は、ステップ６０４において基板プロセス時間、基板移送時間および任意の付加キュー時間に加えて定期洗浄が基本周期以内で完了可能であるか否かをテストする。
【０１１９】
[0114]プロセス時間、移送時間および付加キュー時間に加えて定期洗浄が基本周期以内で完了可能である場合、スケジューラーは、ステップ６０６に示されているように、定期洗浄を基本周期以内で実行されるように設定する。
【０１２０】
[0115]しかしながら、プロセス時間、移送時間および付加キュー時間に加えて定期洗浄が基本周期以内で完了できない場合、定期洗浄が、ステップ６０８に示されているように、基本周期以内で実行されるように、スケジューラーは基本周期を延長する。
【０１２１】
[0116]ステップ６０２を再度参照すると、定期洗浄を必要とするステップについて２つ以上のチャンバがある場合、スケジューラーはステップ６１２に移って、洗浄時間が基本周期のＮ倍より長いか否かを判断し、ここでＮはこのステップを実行するのに使用可能なチャンバ数である。
【０１２２】
[0117]洗浄時間が基本周期のＮ倍より短い場合、定期洗浄は現在の基本周期を使用して配列されてもよい。
【０１２３】
[0118]洗浄時間が基本周期のＮ倍より長い場合、スケジューラーはステップ６１４に移って、定期洗浄を実行するためにＮ個の基板ごとにストール時間を算出する。
ランタイム変動および動的スケジュール調整
[0119]本発明の一実施形態では、静的スケジュールが（クラスターツールのプロセスシーケンスをコントロールする）シーケンサーが開始する前に作成されて、クラスターツールの動きを判定するための入力として使用される。任意の基板移送ジョブを開始する前に、シーケンサーはスケジューラーに、衝突を回避するためにさらなる遅延が必要か否かを調べるように問い合わせる。しかしながら、レシピを実行するのにかかる実際の時間は、特にエンドポイントベースレシピにおいて変化することもあるため、スケジューラーはまた、プロセスシーケンスが実行されている間のシステムを監視する。スケジューラーはそして、実際の時間に基づいて静的スケジュールで算出された遅延を調整する。例えば、ステップｋの開始時間は１００秒の時点であり、このステップ後の遅延は静的スケジュールにおいては３０秒であった。基板移送時間変動ゆえに基板が１０２秒の時点でチャンバに到着すると、スケジューラーは、基板がレシピを完了させた後に２８秒だけ待機するようにシーケンサーを調整する。
【０１２４】
実施例
[0120]プロセスシーケンスをスケジューリングするための本発明の方法を使用する簡単な実施例が提供される。３つのチャンバＣＨ１、ＣＨ２、ＣＨ３を有する単一のクラスターツールは、チャンバＣＨ１、ＣＨ２、ＣＨ３間での全基板移送を実行するための単一ブレードロボットＲＩを具備している。２つのロードロックＬＬＡ、ＬＬＢは、単一のクラスターツールの内外に基板を移動させるために使用される。単一のブレードファクトリインタフェースロボットＦＩは、カセットとロードロックＬＬＡ、ＬＬＢ間で移送するために使用される。
【０１２５】
[0121]入力シーケンスおよびレシピ時間が表７に示されている。表８は、相対的な開始および終了時間の算出と、ロボットＲ１の移動の衝突とを示している。
【０１２６】
【表７】
2008263177.tif 000015
【０１２７】
【表８】
2008263177.tif 000016
【０１２８】
【表９】
2008263177.tif 000017
【０１２９】
[0122]表８の相対的時間は表９で算出された基本周期に基づいて算出される。「備考」欄に描かれているように、スケジュールを完了させるために解決されるべき２つの衝突がある。解決策が見つけられて、表１０に示されている。
【０１３０】
【表１０】
2008263177.tif 000018
【０１３１】
[0123]本発明の実施形態は、プロセスシーケンスを実行するように構成されているクラスターツールをコントロールするためのコンピュータシステムと併用するためのプログラム製品として具現化可能である。プログラム製品の（複数の）プログラムは本発明の実施形態の機能を画成して、多様な信号担持媒体に含有されることが可能である。事例的信号担持媒体は（i）書き込みできない記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスクなどのコンピュータ内のリードオンリーメモリデバイス）に永続的に記憶されている情報、（ii）書き込み可能な記憶媒体（例えば、ディスケットドライブやハードディスクドライブ内のフロッピーディスク）に記憶されている変更可能な情報、あるいは（iii）例えば無線通信を含むコンピュータや電話ネットワークを介する通信媒体によってコンピュータに伝えられる情報を含んでいるが、これらに制限されない。後者の実施形態は特に、インターネットおよび他のネットワークからダウンロード可能な情報を含んでいる。このような信号担持媒体は、本発明の機能に指示を与えるコンピュータ読み取り可能な命令を搬送する場合に、本発明の実施形態を表す。
【０１３２】
[0124]一般的に、本発明の実施形態を具現化するために実行されるルーチンは、オペレーティングシステムや特定用途、コンポーネント、プログラム、モジュール、オブジェクトあるいは命令シーケンスの一部であってもよい。より特定的には、本発明の実施形態を具現化するために実行されるルーチンは、例えば初期プログラムロード（ＩＰＬ）時に起動される自動スクリプトの一部であってもよい。本発明のコンピュータプログラムは通常、ネイティブコンピュータによってマシーン読み取り可能なフォーマットに変換される複数の命令、ゆえに実行可能な命令を備えている。また、プログラムは、プログラムに対してローカルに常駐しているか、メモリや記憶デバイスに見られる変数およびデータ構造を備えている。加えて、ここに説明されている種々のプログラムは、本発明の特定の実施形態で具現化される用途に基づいて識別されてもよい。しかしながら、以下の具体的なプログラム用語は便宜的に使用されるにすぎず、従って本発明は、このような用語によって識別および／または示唆される特定の用途でのみ使用することに制限されるべきではない。
【０１３３】
[0125]ゲートポリシリコンを生成するためのクラスターツールのみが本出願で説明されているとしても、本発明は、処理ステップシーケンスが実行可能な他の処理ツールに適合可能である。当業者は本発明を適用可能な環境で適合させることができる。
【０１３４】
[0126]上記は本発明の実施形態を目的としているが、本発明の他のさらなる実施形態が、この基本的範囲から逸脱することなく考案されてもよく、またこの範囲は以下の請求項によって判定される。
【図面の簡単な説明】
【０１３５】
【図１】図１は、本発明の一実施形態に従った半導体処理用クラスターツールを概略的に図示している。
【図２】図２は、ゲートスタックを堆積するためのプロセスシーケンスのフローチャートを図示している。
【図３Ａ】図３Ａは、本発明の一実施形態に従った例示的プロセスシーケンスのフローチャートを概略的に図示している。
【図３Ｂ】図３Ｂは、図１のクラスターツールにおいて図３Ａのプロセスシーケンスで処理される基板のルートを概略的に図示している。
【図４】図４は、キュー時間のない図３Ａのプロセスシーケンスのスケジュールテーブルのレシピ図を概略的に図示している。
【図５】図５は、本発明の一実施形態に従った図４の更新済みスケジュールテーブルのレシピ図を概略的に図示している。
【図６】図６は、本発明の一実施形態に従ったスケジューリング方法のフローチャートを図示している。
【図７】図７は、本発明の一実施形態に従ったリソース衝突除去方法のフローチャートを図示している。
【図８】図８は、本発明の一実施形態に従った定期洗浄スケジュール判断方法のフローチャートを図示している。
【符号の説明】
【０１３６】
１００…クラスターツール、１０１…真空気密処理プラットフォーム、１０２…ファクトリインタフェース、１０３、１０４…真空基板移送チャンバ、１０５、１０７…ロボット、１０６Ａ、１０６Ｂ…基板移送プラットフォーム、１０８、１１０、１１２、１１４、１１６、１１８…処理チャンバ、１２０…ロードロックチャンバ、１２８…フロントオープニングユニファイドポッド、１２８Ａ、１２８Ｂ…ＦＯＵＰ、１３８…基板移送ロボット、１４０…基板整列器、２００…プロセスシーケンス、２０２、２０４、２０５、２０６、２０８、２１０、４１０、４２０、４３０、４４０、４５０、４６０、４７０、４８０、４９０、５０２、５０４、５０６、５０８、５１０、５１２、５１４、５１６、５１８、５２０、５２１、５２２、５２４、５２６、５２８、５３０、５３２、６０２、６０４、６０６、６０８、６１２、６１４…ステップ、４００…スケジューリング方法、５００…リソース衝突除去方法、６００…定期洗浄スケジュールの判断方法
【図１】
2008263177.tif 000019
【図２】
2008263177.tif 000020
【図３Ａ】
2008263177.tif 000021
【図３Ｂ】
2008263177.tif 000022
【図４】
2008263177.tif 000023
【図５】
2008263177.tif 000024
【図６】
2008263177.tif 000025
【図７】
2008263177.tif 000026
【図８】
2008263177.tif 000027
【外国語明細書】
2008263177000001.pdf