(57)【要約】  本書に開示の実施形態は概して、統合基板処理システム内における基板処理シーケンスをスケジューリングするための方法、システム、及び非一過性コンピュータ可読媒体に関する。クライアントデバイスは、処理される基板のバッチ内の各基板に処理シーケンスを割り当てる。クライアントデバイスは、統合基板処理システム内の各処理チャンバについて、処理シーケンスの各処理に処理チャンバを割り当てる。クライアントデバイスは、基板のバッチの処理モデルを生成する。処理モデルは、各処理チャンバ内における各基板に対する開始時間を定義する。クライアントデバイスは、処理モデルに基づいて半導体基板のバッチのためのタイムテーブルを生成する。クライアントデバイスは、基板のバッチをタイムテーブルに従って処理する。【選択図】図５
2020534677.tif 000002
【特許請求の範囲】
【請求項１】
統合基板処理システム内における半導体基板の処理シーケンスをスケジューリングする方法であって、
処理される半導体基板のバッチ内の各半導体基板に処理シーケンスを割り当てることと、
前記統合基板処理システム内の各処理チャンバについて、前記処理シーケンスの各処理に処理チャンバを割り当てることと、
前記基板のバッチの処理モデルを生成することであって、前記処理モデルは、各処理チャンバ内における各基板に対する開始時間を定義する、前記基板のバッチの処理モデルを生成することと、
前記処理モデルに基づいて前記半導体基板のバッチのためのタイムテーブルを生成することと、
前記半導体基板のバッチを前記タイムテーブルに従って処理することと
を含む方法。
【請求項２】
前記処理シーケンスは、前記バッチ内の各半導体基板に対して同じである、請求項１に記載の方法。
【請求項３】
前記処理シーケンスは、前記バッチ内の各半導体基板に対して同じではない、請求項１に記載の方法。
【請求項４】
前記処理される半導体基板のバッチ内の各半導体基板に前記処理シーケンスを割り当てることは、
処理される半導体基板のリストに加える第１の半導体基板と第２の半導体基板とを選択することと、
第１の処理シーケンスを前記第１の半導体基板に割り当て、第２の処理シーケンスを前記第２の半導体基板に割り当てることと
を含む、請求項３に記載の方法。
【請求項５】
前記基板のバッチの前記処理モデルを生成することは、
前記第１の半導体基板と前記第２の半導体基板の処理モデルを生成すること
を含む、請求項４に記載の方法。
【請求項６】
処理される前記バッチ内の追加の半導体基板を識別することと、
前記追加の半導体基板を識別するにあたって、前記追加の半導体基板を前記処理される基板のリストに追加することと、
前記処理される半導体基板のリストのための処理モデルを生成することと
を更に含む、請求項５に記載の方法。
【請求項７】
前記半導体基板のバッチの処理モデルを生成することは、
前記統合基板処理システム内の各処理チャンバに対するシーケンス制約を定義すること
を含む、請求項１に記載の方法。
【請求項８】
前記半導体基板のバッチのための前記タイムテーブルは、各基板の開始時間Ｔｘと、各処理チャンバにおける基板処理の順序とを有し、
クライアントデバイスによって前記タイムテーブルをコントローラへ送信すること
を更に含む、請求項１に記載の方法。
【請求項９】
システムであって、
プロセッサと、
記憶された命令を有するメモリであって、前記命令は、前記プロセッサによって実行されると、統合基板処理システム内の半導体基板の処理シーケンスをスケジューリングするための工程を実行し、前記工程は、
処理される半導体基板のバッチ内の各半導体基板に処理シーケンスを割り当てることと、
前記統合基板処理システム内の各処理チャンバについて、前記処理シーケンスの各処理に処理チャンバを割り当てることと、
前記基板のバッチの処理モデルを生成することであって、前記処理モデルは各処理チャンバ内における各基板に対する開始時間を定義する、前記基板のバッチの処理モデルを生成することと、
前記処理モデルに基づいて前記半導体基板のバッチのためのタイムテーブルを生成することと、
前記半導体基板のバッチを前記タイムテーブルに従って処理することと
を含む、メモリと
を備えるシステム。
【請求項１０】
前記処理シーケンスは、前記バッチ内の各半導体基板に対して同じである、請求項９に記載のシステム。
【請求項１１】
前記処理シーケンスは、前記バッチ内の各半導体基板に対して同じではない、請求項９に記載のシステム。
【請求項１２】
前記処理される半導体基板のバッチ内の各半導体基板に前記処理シーケンスを割り当てることは、
処理される半導体基板のリストに加える第１の半導体基板と第２の半導体基板とを選択することと、
第１の処理シーケンスを前記第１の半導体基板に割り当て、第２の処理シーケンスを前記第２の半導体基板に割り当てることと
を含む、請求項１１に記載のシステム。
【請求項１３】
前記基板のバッチの前記処理モデルを生成することは、
前記第１の半導体基板と前記第２の半導体基板の処理モデルを生成することを含む、請求項１２に記載のシステム。
【請求項１４】
処理される前記バッチ内の追加の半導体基板を識別することと、
前記追加の半導体基板を識別するにあたって、前記追加の半導体基板を前記処理される基板のリストに追加することと、
前記処理される半導体基板のリストのための処理モデルを生成することと
を更に含む、請求項１３に記載のシステム。
【請求項１５】
前記半導体基板のバッチの処理モデルを生成することは、
前記統合基板処理システム内の各処理チャンバに対するシーケンス制約を定義すること
を含む、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本開示の実施形態は概して、統合処理システムにおいて基板を移送するための装置及び方法に関する。より具体的には、本開示の実施形態は、統合処理システム内の基板のルーティング及びスループットを改善するソフトウェアシーケンサを有する統合基板処理システムに関する。
【背景技術】
【０００２】
［０００２］半導体処理では、多くの処理ステップを有する特定の処理方策を使用して、半導体基板上にマルチレイヤの特徴が製造される。半導体基板の処理においては、処理環境（例：制御環境）から基板を取り除くことなく処理シーケンスを実施するために、幾つかの処理チャンバを統合するクラスタツールが一般に使用される。処理シーケンスは一般に、クラスタツールの１又は複数の処理チャンバにおいて完了するデバイス製造ステップ、又は処理方策ステップのシーケンスとして定義される。処理シーケンスは一般に、様々な基板の電子デバイス製造処理ステップを含み得る。
【０００３】
［０００３］クラスタツールは、基板を異なる位置へ移動させて、ユーザ入力に基づいて基板に処理を実行する役割を果たすシーケンサを含み得る。シーケンサは、基板の移動を改善するように構成され、これにより、より高いスループットが達成され得る。クラスタツールにおいて基板を移送する間、シーケンサは、処理エンジニア又はユーザによって指定された全ての制約が満たされたかも確かめる。従来の方法はヒューリスティックである、すなわち、各製品はトポロジーを取り扱うカスタムソフトウェアコード及びクラスタツールに見られ得る最も一般的なスタットで書き込まれている。この方法に伴う課題は、新たな製品のためにこのコードを書き込むのに時間がかかり、また安定させるのにも長時間かかることである。
【０００４】
［０００４］したがって、統合処理システム内の基板のルーティング及びスループットを改善するソフトウェアシーケンサが引き続き必要である。
【発明の概要】
【０００５】
［０００５］本書に開示の実施形態は概して、統合基板処理システムにおける基板処理シーケンスをスケジューリングするための方法、システム、及び非一過性コンピュータ可読媒体に関する。クライアントデバイスは、処理される基板のバッチ内の各基板に処理シーケンスを割り当てる。クライアントデバイスは、統合基板処理システム内の各処理チャンバについて、処理シーケンスの各処理に処理チャンバを割り当てる。クライアントデバイスは、基板のバッチの処理モデルを生成する。処理モデルは、各処理チャンバ内における各基板に対する開始時間を定義する。クライアントデバイスは、処理モデルに基づいて基板のバッチのためのタイムテーブルを生成する。クライアントデバイスは、タイムテーブルに従って基板のバッチを処理する。
【０００６】
［０００６］上述した本発明の特徴を詳細に理解できるように、上記に要約した本発明を、一部が添付の図面に例示されている実施形態を参照しながら、より具体的に説明する。しかし、添付の図面は本発明の典型的な実施形態のみを示すものであり、したがって、実施形態の範囲を限定するものと見なすべきではなく、本発明は他の等しく有効な実施形態も許容しうることに留意されたい。
【図面の簡単な説明】
【０００７】
【図１】本書に開示の一実施形態に係る、基板処理のためのクラスタツールを示す概略図である。
【図２】本書に開示の一実施形態に係る、統合クラスタツールのための処理シーケンスの一実施形態のフロー図である。
【図３】本書に開示の一実施形態に係る、演算環境を示す図である。
【図４】本書に開示の一実施形態に係る、クラスタツールにおいて基板を処理するためのスケジュールを生成する方法のフロー図である。
【図５】本書に開示の一実施形態に係る、クラスタツールにおいて基板を処理するためのスケジュールを生成する方法のフロー図である。
【図６】本書に開示の一実施形態に係る、演算プラットフォームを示す図である。
【発明を実施するための形態】
【０００８】
［００１３］理解しやすくするため、可能な場合は図面に共通の同一要素を記号表示するのに同一の参照番号が使われている。追加の記載なしに他の実施形態に一実施形態の要素及び特徴を有益に組み込むことは可能であると考えられる。
【０００９】
［００１４］しかしながら、本発明は他の等しく有効な実施形態も許容し得ることから、添付の図面は、本発明の典型的な実施形態のみを例示しており、したがって、本発明の範囲を限定すると見なすべきではないことに留意されたい。
【００１０】
［００１５］本書に記載の本開示の実施形態は概して、基板処理シーケンスに関する。図１は、本開示の一実施形態に係る、基板処理用のクラスタツール１００を概略的に示す。本書に記載の方法は、処理シーケンスを実施するように構成された他のツールにおいて実施され得ると考えられる。例えば、図１に具体化されたクラスタツール１００は、カリフォルニア州サンタクララのアプライドマテリアルズ社から市販されているＥｎｄｕｒａ（登録商標）クラスタツールである。
【００１１】
［００１６］クラスタツール１００は、真空気密処理プラットフォーム１０１とファクトリインターフェース１０２とを含む。プラットフォーム１０１は、真空基板移送チャンバ１０３、１０４に連結された、複数の処理チャンバ１１０、１０８、１１４、１１２、１１８、１１６、及び少なくとも１つのロードロックチャンバ１２０を備える。ファクトリインターフェース１０２は、ロードロックチャンバ１２０によって移送チャンバ１０４に連結される。
【００１２】
［００１７］一実施形態では、ファクトリインターフェース１０２は、少なくとも１つのドッキングステーション、少なくとも１つの基板移送ロボット１３８、及び少なくとも１つの基板アライナ１４０を備える。ドッキングステーションは、１又は複数の前方開口型統一ポッド１２８（ＦＯＵＰ）を受け入れるように構成される。図１の実施形態には２つのＦＯＵＰ１２８Ａ、１２８Ｂが示されている。基板移送ロボット１３８は、基板をファクトリインターフェース１０２からロードロックチャンバ１２０に移送するように構成される。
【００１３】
［００１８］ロードロックチャンバ１２０は、ファクトリインターフェース１０２に連結された第１のポートと、第１の移送チャンバ１０４に連結された第２のポートとを有する。ロードロックチャンバ１２０は、必要に応じてチャンバ１２０をポンプダウン及び通気する圧力制御システムに連結され、移送チャンバ１０４の真空環境とファクトリインターフェース１０２の実質的な周囲（例えば大気）環境との間の基板の通過を促進する。
【００１４】
［００１９］第１の移送チャンバ１０４及び第２の移送チャンバ１０３には、それぞれ第１のロボット１０７及び第２のロボット１０５が配置される。ロボット１０５、１０７間の基板の移送を容易にするために、２つの基板移送プラットフォーム１０６Ａ、１０６Ｂが移送チャンバ１０４に配置される。プラットフォーム１０６Ａ、１０６Ｂは、移送チャンバ１０３、１０４に対して開いているか、移送チャンバ１０３、１０４から選択的に絶縁（すなわち、密閉）され、移送チャンバ１０３、１０４のそれぞれにおいて異なる動作圧力の維持が可能になる。
【００１５】
［００２０］第１の移送チャンバ１０４に配置されたロボット１０７は、ロードロックチャンバ１２０と、処理チャンバ１１６、１１８と、基板移送プラットフォーム１０６Ａ、１０６Ｂとの間で基板を移送することができる。第２の移送チャンバ１０３に配置されたロボット１０５は、基板移送プラットフォーム１０６Ａ、１０６Ｂと処理チャンバ１１２、１１４、１１０、１０８との間で基板を移送することができる。
【００１６】
［００２１］図２に、上述のクラスタツール１００等の統合クラスタツールにおいて基板上に誘電体層を堆積させるための処理シーケンス２００の一実施形態のフロー図を示す。処理シーケンス２００は、ブロック２０２で開始し、基板がクラスタツールに配置される。
【００１７】
［００２２］ブロック２０４において、誘電体層が基板上に堆積される。誘電体層は金属酸化物であってよく、ＡＬＤ処理、ＭＯＣＶＤ処理、従来のＣＶＤ処理、又はＰＶＤ処理によって堆積され得る。堆積処理に続いて、基板は、ブロック２０６において、堆積後アニール（ＰＤＡ）処理に暴露され得る。ＰＤＡ処理は、カリフォルニア州サンタクララのアプライドマテリアルズ社から市販されているＲａｄｉａｎｃｅ（登録商標）ＲＴＰチャンバ等の急速アニールチャンバで実施され得る。
【００１８】
［００２３］ブロック２０８において、誘電体層が不活性プラズマ処理に暴露されて誘電体材料が高密度化され、それによりプラズマ処理層が形成される。不活性プラズマ処理は、不活性ガスを分離プラズマ窒化（ＤＰＮ）チャンバに流すことによって実施される、分離不活性ガスプラズマ処理を含み得る。
【００１９】
［００２４］ブロック２１０において、基板上に配置されたプラズマ処理層が熱アニール処理に暴露される。ブロック２１２において、ゲート電極層がアニールされた誘電体層の上に堆積される。ゲート電極層は、多結晶シリコン、アモルファスシリコン、又は、例えばＬＰＣＶＤチャンバを使用して堆積されたその他の適切な材料であってよい。
【００２０】
［００２５］本開示の方法は、クラスタツール１００等のクラスタツールにおいて基板を移送する改善された方法を達成する処理スケジュールを決定することに関する。例えば、本開示の方法は、図２に関連して上記で説明した方法の改善されたスケジューリングを達成する処理スケジュールを提供する。
【００２１】
［００２６］図１に戻って参照すると、クラスタツール１００は、コントローラ１９０と通信することができる。コントローラ１９０は、クラスタツール１００内の各基板処理チャンバ１０８、１１０、１１２、１１４、１１６、及び１１８の処理パラメータの制御を支援するコントローラであってよい。さらに、コントローラ１９０は、クラスタツール１００において処理される基板の順序付け及びスケジューリングを支援し得る。
【００２２】
［００２７］図３に、一実施形態に係る演算環境３００を示す。演算環境３００は、コントローラ１９０と、クライアントデバイス３０２とを含む。コントローラ１９０は、ネットワーク３０５を介してクライアントデバイス３０２と通信する。図１に関連して上述したように、コントローラ１９０はクラスタツール１００と共に使用される。
【００２３】
［００２８］クライアントデバイス３０２は、ネットワーク３０５を介してコントローラ１９０と通信する。例えば、クライアントデバイス３０２は、クラスタツール１００において処理される基板のバッチの処理スケジュールを生成し得る。例えば、ユーザは、クライアントデバイス３０２に、基板が異なる段階で進入する可能性のある処理チャンバと、各チャンバで実行される処理を記述するシーケンス方策を提供し得る。クライアントデバイス３０２は次に、基板をより短時間で処理できるように、基板移動のためのスケジュールを生成する。例えば、クライアントデバイス３０２は、クラスタツールの数学モデルを作成し、クラスタツール内で基板を移送する改善された方法のソリューションを提供し、またクラスタツールの定義されたすべての制約を満たすように、モデルを最適化する。クライアントデバイス３０２は次に、基板処理スケジュールと命令をコントローラ１９０に移送する。
【００２４】
［００２９］図４は、一実施形態に係る、クラスタツールにおいて基板を処理するためのスケジュールを生成する方法４００のフロー図である。例えば、方法４００は、図１に関連して上述したクラスタツール１００で実施され得る。他の例では、方法４００は、他の市販のクラスタツールで実施され得る。
【００２５】
［００３０］方法４００はブロック４０２において開始される。ブロック４０２において、基板のバッチ内の各基板のシーケンスが定義される。一実施形態では、クライアントデバイス３０２は、ユーザから各基板のシーケンスを受信する。例えば、ユーザは、処理シーケンス：進入、堆積、アニール、エッチング、アニール、堆積、退出を定義し得る。数学的には、基板の第１のバッチは｛Ｗｉ｝として定義され得る。ここで、ｉは１〜ｎの範囲である。図４で説明する例において、各基板Ｗｉは同じステップのシーケンスを経る。シーケンスのステップは、｛ｓｉ｝として数学的に表され得て、ここで、ｉは１〜ｎの範囲である。したがって、各基板Ｗｉはブロック４０２で定義されたシーケンスの各ステップｓｉを経る。
【００２６】
［００３１］ブロック４０４において、クライアントデバイス３０２は、処理シーケンスの各ステップについて各基板に処理チャンバを割り当てる。例えば、図１を参照すると、適切なチャンバは、チャンバ１０８、１１０、１１２、１１４、１１６、及び１１８から選択され、ブロック４０２において上記で定義された処理シーケンスを促進し得る。特定の例では、チャンバ１１６、１１８は、化学気相堆積（ＣＶＤ）チャンバであってよい。チャンバ１０８、１１４は、分離プラズマ窒化（ＤＰＮ）チャンバであってよい。チャンバ１１０、１１２は、急速熱処理（ＲＴＰ）チャンバであってよい。１つ以上の冷却チャンバが、基板移送プラットフォーム１０６Ａ、１０６Ｂの上方に配置され得る。したがって、クラスタツール１００内の配置を決定する際に、クライアントデバイス３０２は、処理シーケンスの各処理ステップ及びステップ間の移行に、チャンバ、ロードロック、及びロボットを割り当て得る。
【００２７】
［００３２］ブロック４０６において、クライアントデバイス３０２は、基板のバッチの処理モデルを生成する。クライアントデバイス３０２は、ブロック４０４において上述した処理チャンバの割り当てに基づいて処理モデルを生成し得る。一般に、各基板Ｗｘはある時間Ｔｘから開始する。各シーケンスステップの処理時間ｓｉは、Ｄｓとして定義され、ここでｓは、シーケンスのステップ番号である。例えば、Ｄ３は、シーケンスステップｓ３の処理時間である。一般に、基板は処理チャンバでの処理が終了した後に、その処理チャンバで待機する場合がある。待機時間はＱｘｓとして定義され、ここで、ｘは基板番号、ｓはシーケンスステップ番号である。例えば、Ｑ２１は、シーケンスステップｓ１での基板Ｗ２の待機時間として解釈される。先行の定義を仮定すると、基板Ｗ１はＴｘ＋Ｄ１＋Ｑ１１に等しい時間にステップｓ１を開始する。総括すると、基板Ｗ１は、次の式に等しい時間に任意のステップｓｉを開始する。
2020534677.tif 000003
【００２８】
［００３３］ブロック４０６は、サブブロック４０８を含む。サブブロック４０８において、クラスタツール１００内の各処理チャンバに対して、クライアントデバイス３０２はシーケンス制約を定義する。シーケンス制約は、基板のバッチ内の全基板を処理するのにかかる時間を短縮する、又は最終的に最小化する目的を支援する。直感的には、これは、コントローラ１９０が可能な限り迅速にクラスタツール１００に基板を送り、クラスタツール１００から基板を取り出すことを意味する。そのために、クライアントデバイス３０２は、処理モデルを生成するために線形最適化の原理を活用する。
【００２９】
［００３４］線形最適化は、要件が線形関係で表される数学モデルで「最良の」結果（例えば、最短の処理時間）を達成する方法である。数学的に、これは以下のように表され得る。
【００３０】
［００３５］最小化：
2020534677.tif 000004
【００３１】
［００３６］条件：
2020534677.tif 000005
【００３２】
［００３７］ここで、Ｘｉは変数
2020534677.tif 000006
である。
【００３３】
［００３８］この原理を上記に適用し、クライアントデバイスは次のように最小化する。
2020534677.tif 000007
【００３４】
［００３９］ここで、Ａｉ、Ｂｊは、それぞれ開始時間変数Ｔｉ及び待機時間Ｑｊｋに適用され得る重みである。例えば、重みは、半導体製造処理の追加機能を対象とし得る。一実施形態では、処理チャンバ内の基板の処理が終了した後に実行される洗浄処理に応じて、重みが調整され得る。別の実施形態では、クラスタツール１００全体にわたる「ダミー」基板の動きに応じて重みが調整され得る。別の実施形態では、ロボットがシングルブレードロボットであるかデュアルブレードロボットであるかに応じて、重みが調整され得る。別の実施形態では、処理チャンバがバッチ処理チャンバである、すなわち処理チャンバが２つ以上の基板を一度に処理できることに応じて、重みが調整され得る。さらに別の実施形態では、基板が特定の処理チャンバに再進入することを必要とする基板処理シーケンスに応じて、重みが調整され得る。
【００３５】
［００４０］一般に、制約は、前の基板の処理が完了するまで所定の基板が所定の処理チャンバに入ることができないとして定義され得る。数学的には、シーケンスステップｓｓにおいて同じ処理チャンバを使用する２つの基板Ｗｘ、Ｗｙがあると仮定する。Ｗｘは、Ｗｙの前にチャンバに到達する。したがって、Ｗｙの開始時間は、Ｗｘの開始時間＋ステップｓｓの持続時間＋ステップｓｓ後のＷｘの待機時間を超えたものとなる。開始時間のブロック４０４における定義を使用すると、制約は次のように表され得る。
2020534677.tif 000008
【００３６】
［００４１］従って、
2020534677.tif 000009
は、シーケンスステップにおいて使用される各処理チャンバ及び連続するすべての基板ペアに対して、すなわち、各（ｘ、ｙ）に対して
2020534677.tif 000010
を条件として最小化され、ここで、Ｗｘ、Ｗｙは、シーケンスステップｓｓにおいて同じ処理チャンバを連続して使用する。
【００３７】
［００４２］したがって、クライアントデバイス１０８は、すべてのシーケンス制約に基づいて、バッチ内のすべての基板の処理モデルを同時に生成する。クライアントデバイス３０２は、各基板に同じ処理シーケンスが割り当てられているため、処理モデルを一度に生成することができる。
【００３８】
［００４３］ブロック４１０において、クライアントデバイス３０２は、ブロック２０６において生成されたモデルに基づいて、基板のバッチのためのタイムテーブルを生成する。例えば、タイムテーブルは、各基板の開始時間Ｔｘ及び各処理チャンバにおける基板処理の順序を含む。
【００３９】
［００４４］ブロック４１２において、オプションとして、クライアントデバイス３０２は、タイムテーブルをコントローラ１９０に送信する。クライアントデバイス３０２とコントローラが同じものである実施形態では、クライアントデバイス３０２は、タイムテーブルを送信する必要はない。ブロック４１４において、クライアントデバイス３０２（又はコントローラ１９０）は、タイムテーブルに基づいて基板処理を開始する。
【００４０】
［００４５］図５は、一実施形態に係る、クラスタツールにおいて基板を処理するためのスケジュールを生成する方法５００のフロー図である。例えば、方法５００は、図１に関連して上述したクラスタツール１００で実施され得る。他の例では、方法５００は、他の市販のクラスタツールで実施され得る。図５で説明した例では、すべての基板Ｗｉが同じステップのシーケンスを経るわけではない。
【００４１】
［００４６］方法５００はブロック５０２において開始する。ブロック５０２において、クラスタツール１００に進入する２つの基板が選択される。例えば、Ｗｘ、Ｗｙは、処理チャンバに進入するように選択される最初の２つの基板である。ブロック５０４において、クラスタツールに進入するように選択された各基板のシーケンスが定義される。一実施形態では、クライアントデバイス３０２は、ユーザから各基板のシーケンスを受信する。例えば、ユーザは、処理シーケンスを、進入、堆積、アニール、エッチング、アニール、堆積、退出のように定義し得る。シーケンス内のステップは、｛ｓｉ｝として数学的に表すことができ、ここで、ｉの範囲は１〜ｎである。したがって、Ｗｘには｛ｓｉ｝が含まれ、Ｗｙにはステップのセット｛ｓｊ｝が含まれるため、｛ｓｉ｝の要素は｛ｓｊ｝の要素と等しくない。
【００４２】
［００４７］ブロック５０６において、クライアントデバイス３０２は、処理シーケンス内の各ステップにおいてクラスタツール１００に進入する各基板に処理チャンバを割り当てる。例えば、図１を参照すると、適切なチャンバは、ブロック４０２において上記で定義された処理シーケンスが促進されるように、チャンバ１０８、１１０、１１２、１１４、１１６及び１１８から選択され得る。特定の例では、チャンバ１１６、１１８は化学気相堆積（ＣＶＤ）チャンバであってよく、チャンバ１０８、１１４は分離プラズマ窒化（ＤＰＮ）チャンバであってよく、チャンバ１１０、１１２は急速熱処理（ＲＴＰ）チャンバであってよい。１つ以上の冷却チャンバは、基板移送プラットフォーム１０６Ａ、１０６Ｂの上に配置され得る。したがって、Ｗｘに対し、クライアントデバイス３０２は、セット｛ｓｉ｝内の各ステップに処理チャンバを割り当て、Ｗｙに対しては、クライアントデバイス３０２は、セット｛ｓｊ｝内の各ステップに処理チャンバを割り当てる。したがって、クライアントデバイス３０２は、クラスタツール１００内の配置を決定する際に、処理シーケンス内の各処理ステップ及びＷｘ、Ｗｙのステップ間の移行に対して、チャンバ、ロードロック、及びロボットを割り当て得る。
【００４３】
［００４８］ブロック５０８において、クライアントデバイス３０２は、クラスタツール１００に進入するように選択されたすべての基板に対する処理チャンバの割り当てに基づいてモデルを生成する。例えば、クライアントデバイス３０２は、基板Ｗｘ、Ｗｙに対する処理チャンバの割り当てに基づいてモデルを生成する。
【００４４】
［００４９］ブロック５０８は、サブブロック５１０を含む。サブブロック５１０において、クライアントデバイス３０２は、クラスタツール１００内の各処理チャンバに対してシーケンス制約を定義する。シーケンス制約は、基板のバッチ内の全基板を処理するのにかかる時間を短縮する、又は最終的に最小化する目的を支援する。直感的には、これは、コントローラ１９０が可能な限り迅速にクラスタツール１００に基板を送り、クラスタツール１００から基板を取り出すことを意味する。そのため、クライアントデバイス３０２は、処理モデルを生成するために線形最適化の原理を活用する。
【００４５】
［００５０］例えば、クライアントデバイス３０２は、基板Ｗｘ、Ｗｙが処理シーケンス中に移動するクラスタツール１００内の各処理チャンバに対するシーケンス制約を生成する。クライアントデバイス３０２は、図４のブロック４０８に関して上述した方法に従ってシーケンス制約を生成する。
【００４６】
［００５１］図４に関連して上記で説明した方法と図５で説明した方法の違いは、図５では、基板のバッチ内の各基板のシーケンスが同じでないことである。したがって、クライアントデバイス３０２は、２つの基板（つまり、Ｗｘ、Ｗｙ）で開始し、バッチ内のすべての基板が追加されるまで追加の基板（例えば、Ｗｚ）を追加することにより、区分ごとに処理するためのタイムテーブルを生成する。したがって、ブロック５１２において、クライアントデバイス３０２は、解析される基板のバッチ内にいずれかの基板が残っているかどうかを決定する。解析される基板のバッチ内に基板が残っている場合、ブロック５１４において、クライアントデバイス３０２は、処理される基板のリストに基板（例えば、Ｗｚ）を追加する、すなわち、クライアントデバイス３０２は、処理される基板Ｗｘ、ＷｙにＷｚを追加する。次いで、方法５００は、基板Ｗｘ、Ｗｙ、Ｗｚの解析のためにブロック５０４に戻る。
【００４７】
［００５２］しかしながら、ブロック５１２において、クライアントデバイス３０２が、基板のバッチ内に基板が残っていないと決定した場合、ブロック５１６において、クライアントデバイス３０２は、ブロック５０８において生成されたモデルに基づいて、基板のバッチのためのタイムテーブルを生成する。例えば、タイムテーブルには、各基板の開始時間Ｔｘ、及び各処理チャンバにおける基板処理の順序が含まれる。
【００４８】
［００５３］ブロック５１８において、オプションとして、クライアントデバイス３０２は、タイムテーブルをコントローラ１９０に送信する。クライアントデバイス３０２とコントローラが同じものである実施形態では、クライアントデバイス３０２は、タイムテーブルを送信する必要はない。ブロック５２０において、クライアントデバイス３０２（又はコントローラ１９０）は、タイムテーブルに基づいて基板処理を開始する。
【００４９】
［００５４］図６に、一実施形態に係る演算プラットフォーム６００を示す。演算プラットフォーム６００は、コントローラ１９０と、クライアントデバイス３０２とを含む。コントローラ１９０は、プロセッサ６０４、メモリ６０６、ストレージ６０８、及びネットワークインターフェース６１０を含む。いくつかの実施形態では、クライアントデバイス３０２は、それに結合された１又は複数の入出力デバイス６１４をさらに含み得る。プロセッサ６０４は、メモリ６０６に記憶されたプログラムコード６１２等のプログラミング命令を読み出して実行する。  プロセッサ６０４は、単一のプロセッサ、複数のプロセッサ、複数の処理コアを有する単一のプロセッサ等として含まれる。
【００５０】
［００５５］ストレージ６０８は、ディスクドライブストレージであってよい。単一のユニットとして示したが、ストレージ６０８は、固定ディスクドライブ、取外し可能なメモリカード、光ストレージ、ネットワーク接続ストレージ（ＮＡＳ）、又はストレージエリアネットワーク（ＳＡＮ）等の固定及び／又は取外し可能なストレージデバイスの組み合わせであってよい。ネットワークインターフェース６１０は、コントローラ１９０が、例えばクライアントデバイス３０２等のネットワーク６０５を介して他のコンピュータと通信することを可能にする任意の種類のネットワーク通信であり得る。
【００５１】
［００５６］クライアントデバイス３０２は、プロセッサ６５４、メモリ６５６、ストレージ６５８、及びネットワークインターフェース６６０を含む。いくつかの実施形態では、クライアントデバイス３０２は、それに結合された１又は複数の入出力デバイス６７２をさらに含み得る。プロセッサ６５４は、単一のプロセッサ、複数のプロセッサ、複数の処理コアを有する単一のプロセッサ等として含まれる。
【００５２】
［００５７］プロセッサ６５４は、タイムテーブルジェネレータ６６２及び制約ジェネレータ６６４を含み得る。制約ジェネレータ６６４は、処理シーケンスの各ステップにおいて各基板に処理チャンバを割り当て、その後、処理チャンバの割り当てに基づいてモデルを生成するように構成される。例えば、制約ジェネレータ６６４は、図４又は図５のいずれかに関連して上述した１又は複数のブロックの処理を実行するように構成され得る。タイムテーブルジェネレータ６６２は、生成された制約に基づいて処理タイムテーブルを生成するように構成される。例えば、タイムテーブルジェネレータ６６２は、図５のブロック５１８又は図４のブロック４１０に従って上述の処理を実行するように構成され得る。生成されたタイムテーブルは、ストレージ６５８に記憶され得る。例えば、タイムテーブル６７０は、ストレージ６５８にあってよい。
【００５３】
［００５８］メモリ６５６は、プログラムコード６６８を含む。プログラムコード６６８は、基板のバッチの処理スケジュールを生成する命令を実行するように構成される。例えば、プログラムコード６６８は、図４及び図５に関連して上述した方法を含み得る。
【００５４】
［００５９］上記は本書に記載の実施形態を対象とするものであるが、その基本的範囲から逸脱することなく、他の及びさらなる実施形態を考案することが可能である。例えば、本開示の態様は、ハードウェア又はソフトウェア、又はハードウェアとソフトウェアの組み合わせで実装することができる。本書に記載の一実施形態は、コンピュータシステムで使用するためのプログラム製品として実装することができる。プログラム製品の１又は複数のプログラムは、実施形態の機能（本書に記載の方法を含む）を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体には、以下が含まれるが、これらに限定されない。（ｉ）情報が永久的に記憶される書込み不能な記憶媒体（例えば、ＣＤ−ＲＯＭドライブ、フラッシュメモリ、ＲＯＭチップ、又は任意の種類のソリッドステート不揮発性半導体メモリによって読み出し可能なＣＤ−ＲＯＭディスク等のコンピュータ内の読出し専用メモリデバイス）、及び（ｉｉ）変更可能な情報が記憶される書き込み可能な記憶媒体（例えば、ディスケットドライブ又はハードディスクドライブ内のフロッピーディスク或いは任意の種類のソリッドステートランダムアクセス半導体メモリ）を含む。上記コンピュータ可読記憶媒体は、開示の実施形態の機能を指示するコンピュータ可読命令を格納しているときの本開示の実施形態である。
【００５５】
［００６０］前述の例は例示であり、限定するものではないことを当業者は理解するであろう。本明細書を読み、図面を研究したときに当業者に明らかな、前述の例に対するすべての置換、強化、等価物、及び改善は、本開示の真の思想及び範囲内に含まれる。したがって、以下の添付の特許請求の範囲は、これらの教示の真の思想及び範囲内にあるすべてのそのような修正、置換、及び等価物を含む。
【００５６】
［００６１］上記は本発明の実施形態を対象としているが、本発明の基本的な範囲から逸脱せずに、本発明の他の実施形態及び更なる実施形態を考案することが可能であり、本発明の範囲は、以下の特許請求の範囲によって決定される。
【図１】
2020534677.tif 000011
【図２】
2020534677.tif 000012
【図３】
2020534677.tif 000013
【図４】
2020534677.tif 000014
【図５】
2020534677.tif 000015
【図６】
2020534677.tif 000016
【国際調査報告】
2020534677.tif 000017
2020534677.tif 000018