(58)【調査した分野】(Int.Cl.,DB名)
前記修正ユニット最終使用時刻計算ステップの前に、同じ前記処理区画に属する複数の前記処理ユニットのための前記搬送時間として同じ値を登録する搬送時間登録ステップをさらに含む、請求項1に記載の基板処理方法。
前記区画選択ステップは、前記区画最終使用時刻が最も古い前記処理区画を前記複数の処理区画の中で検索する第1検索ステップと、前記第1検索ステップで複数の前記処理区画が候補区画として見つかった場合、前記ユニット最終使用時刻が最も古い前記処理ユニットの数が最大の前記処理区画を、前記候補区画に含まれる複数の前記処理区画の中で検索する第2検索ステップと、前記第2検索ステップで見つかった少なくとも1つの前記処理区画の中から1つの前記処理区画を選択する選択ステップと、を含む、請求項1〜3のいずれか一項に記載の基板処理方法。
前記複数の処理ユニットのいずれかに搬送された直近の基板の処理時間よりも短い処理時間で、前記ユニット選択ステップで選択した前記処理ユニットに前記基板搬送ステップの後に前記基板を処理させる基板処理ステップをさらに含む、請求項1〜4のいずれか一項に記載の基板処理方法。
前記制御装置は、前記修正ユニット最終使用時刻計算ステップの前に、同じ前記処理区画に属する複数の前記処理ユニットのための前記搬送時間として同じ値を登録する搬送時間登録ステップをさらに実行する、請求項6に記載の基板処理装置。
前記区画選択ステップは、前記区画最終使用時刻が最も古い前記処理区画を前記複数の処理区画の中で検索する第1検索ステップと、前記第1検索ステップで複数の前記処理区画が候補区画として見つかった場合、前記ユニット最終使用時刻が最も古い前記処理ユニットの数が最大の前記処理区画を、前記候補区画に含まれる複数の前記処理区画の中で検索する第2検索ステップと、前記第2検索ステップで見つかった少なくとも1つの前記処理区画の中から1つの前記処理区画を選択する選択ステップと、を含む、請求項6〜8のいずれか一項に記載の基板処理装置。
前記制御装置は、前記複数の処理ユニットのいずれかに搬送された直近の基板の処理時間よりも短い処理時間で、前記ユニット選択ステップで選択した前記処理ユニットに前記基板搬送ステップの後に前記基板を処理させる基板処理ステップをさらに実行する、請求項6〜9のいずれか一項に記載の基板処理装置。
ロードポート上のキャリアから基板を処理する複数の処理ユニットまで基板搬送システムに前記基板を搬送させる基板処理装置に備えられた制御装置によって実行されるコンピュータプログラムであって、
請求項1〜5のいずれか一項に記載の基板処理方法を前記制御装置としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラム。
【発明を実施するための形態】
【0029】
以下では、本発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係る基板処理装置1の模式的な平面図である。
図2は、
図1に示す切断線II−II線に沿う鉛直断面を示す基板処理装置1の模式的な断面図である。
基板処理装置1は、半導体ウエハなどの円板状の基板Wを1枚ずつ処理する枚葉式の装置である。基板処理装置1は、キャリア保持部2と、インデクサ部3と、処理部4とを含む。
【0030】
キャリア保持部2は、複数枚の基板Wを収容可能な基板収容器であるキャリアCをそれぞれ保持する複数のロードポートLPを含む。ロードポートLPは、キャリアCを保持するキャリア保持ユニットである。ロードポートLPは、キャリアCが基板処理装置1に投入される位置である。キャリアCは、ロードポートLPによって開閉される。
インデクサ部3は、インデクサロボットIRを含む。インデクサロボットIRは、キャリア保持部2上に載置されたキャリアCから未処理の基板Wを取り出して処理部4に渡す搬入動作と、処理部4から処理済みの基板Wを受け取ってキャリア保持部2に保持されたキャリアCに収納する収納動作とを実行する。
【0031】
処理部4は、複数の処理ユニットMPC1〜MPC24(以下総称するときには「処理ユニットMPC」という。)と、第1主搬送ロボットCR1と、第2主搬送ロボットCR2と、第1受け渡しユニットPASS1と、第2受け渡しユニットPASS2とを含む。インデクサロボットIR、第1主搬送ロボットCR1および第2主搬送ロボットCR2は、キャリア保持部2と処理ユニットMPCとの間で基板Wを搬送する基板搬送システムを構成している。
【0032】
処理部4内には、平面視において、インデクサ部3から直線状に延びた搬送路5が形成されている。この搬送路5内に、インデクサ部3側から順に、第1受け渡しユニットPASS1、第1主搬送ロボットCR1、第2受け渡しユニットPASS2および第2主搬送ロボットCR2が配置されている。第1受け渡しユニットPASS1は、インデクサロボットIRと第1主搬送ロボットCR1との間での基板Wの受け渡しを仲介するユニットである。第2受け渡しユニットPASS2は、第1主搬送ロボットCR1と第2主搬送ロボットCR2との間での基板Wの受け渡しを仲介するユニットである。第1および第2受け渡しユニットPASS1,PASS2は、基板Wを一時的に保持する複数の基板載置台15を備えている。
【0033】
複数の処理ユニットMPCは、複数のタワーTW1〜TW6(以下総称するときには「タワーTW」という。)を形成している。各タワーTWは、上下に積層された複数の処理ユニットMPC(たとえば、4つの処理ユニットMPC)を含む。複数のタワーTWは、搬送路5に沿って配列されている。3個のタワーTW1,TW3,TW5は、搬送路5の一方側に配置されている。残り3個のタワーTW2,TW4,TW6は、搬送路5の他方側に配置されている。
【0034】
複数の処理ユニットMPCは、搬送路5を挟んで対向する3対のタワーTWを形成している。具体的には、タワーTW1とタワーTW2は、搬送路5を挟んで対向している。同様に、タワーTW3とタワーTW4は、搬送路5を挟んで対向しており、タワーTW5とタワーTW6は、搬送路5を挟んで対向している。
インデクサ部3からタワーTW1までの距離は、インデクサ部3からタワーTW2までの距離と等しいまたは概ね等しい。したがって、インデクサ部3からタワーTW1に基板Wを搬送するのに要する搬送時間は、インデクサ部3からタワーTW2に基板Wを搬送するのに要する搬送時間と等しいまたは概ね等しい。つまり、各対のタワー(TW1とTW2、TW3とTW4、TW5とTW6)は、インデクサ部3からの距離が等しいまたは概ね等しい位置に配置されており、インデクサ部3から各対のタワーTWに基板Wを搬送するのに要する搬送時間は、等しいまたは概ね等しい。
【0035】
3対のタワー(TW1とTW2、TW3とTW4、TW5とTW6)は、それぞれ、3つの処理区画PZ1,PZ2,PZ3(以下総称するときには「処理区画PZ」という。)を形成している。すなわち、インデクサ部3に最も近い位置で搬送路5を挟んで対向する一対のタワーTW1,TW2は、第1処理区画PZ1を形成している。次にインデクサ部3に近い位置で搬送路5を挟んで対向する一対のタワーTW3,TW4は、第2処理区画PZ2を形成している。次にインデクサ部3に近い位置で搬送路5を挟んで対向する一対のタワーTW5,TW6は、第3処理区画PZ3を形成している。
【0036】
第1処理区画PZ1とインデクサ部3との間に第1受け渡しユニットPASS1が配置されている。第1受け渡しユニットPASS1に対してインデクサ部3とは反対側に第1主搬送ロボットCR1が配置されている。第1主搬送ロボットCR1は、平面視で一対のタワーTW1,TW2の間に配置されている。第1主搬送ロボットCR1に対して第1受け渡しユニットPASS1とは反対側に第2受け渡しユニットPASS2が配置されている。第1主搬送ロボットCR1は、第1受け渡しユニットPASS1、第1処理区画PZ1のタワーTW1,TW2、および第2受け渡しユニットPASS2に対向するように配置されている。
【0037】
第2受け渡しユニットPASS2に対して第1主搬送ロボットCR1とは反対側に第2主搬送ロボットCR2が配置されている。第2主搬送ロボットCR2は、平面視で一対のタワーTW3,TW4の間に配置されており、平面視で一対のタワーTW5,TW6の間に配置されている。第2主搬送ロボットCR2は、第2受け渡しユニットPASS2、およびタワーTW3〜TW6に対向するように配置されている。
【0038】
インデクサロボットIRは、この実施形態では水平多関節アーム型のロボットである。インデクサロボットIRは、基板Wを保持するハンド11と、ハンド11に結合された多関節アーム12と、多関節アーム12を鉛直な回転軸線13まわりに回転させるアーム回転機構(図示せず)と、多関節アーム12を上下動させるアーム昇降機構(図示せず)とを含む。このような構成によって、インデクサロボットIRは、任意のロードポートLPに保持されたキャリアCおよび第1受け渡しユニットPASS1にハンド11をアクセスさせ、そのアクセス先に対して基板Wを搬入/搬出する。それにより、インデクサロボットIRは、処理部4(より正確には第1受け渡しユニットPASS1)と任意のキャリアCとの間で基板Wを搬送する。
【0039】
第1主搬送ロボットCR1および第2主搬送ロボットCR2には、ほぼ同様の構成を有する基板搬送ロボットを用いることができる。このような基板搬送ロボットは、好ましくは、基板Wを保持する一対のハンド21,22と、一対のハンド21,22を水平方向にそれぞれ進退させる一対のハンド進退機構23,24と、一対のハンド進退機構23,24を鉛直な回転軸線25まわりに回転させるハンド回転機構(図示せず)と、ハンド進退機構23,24を上下動させるハンド昇降機構(図示せず)とを含む。
【0040】
このような構成によって、第1主搬送ロボットCR1および第2主搬送ロボットCR2は、一方のハンド21,22でアクセス先から基板Wを取り出し、他方のハンド21,22でアクセス先に対して基板Wを搬入できる。このような構成の基板搬送ロボットを第1主搬送ロボットCR1に適用することにより、第1主搬送ロボットCR1は、第1受け渡しユニットPASS1、タワーTW,TW2を形成する複数の処理ユニットMPC、および第2受け渡しユニットPASS2に対して、ハンド21,22を直接アクセスさせ、そのアクセス先に対して基板Wを搬入/搬出することができる。また、上記のような構成の基板搬送ロボットを第2主搬送ロボットCR2に適用することにより、第2主搬送ロボットCR2は、第2受け渡しユニットPASS2、ならびにタワーTW3〜TW6を形成する複数の処理ユニットMPCに対してハンド21,22を直接アクセスさせ、そのアクセス先に対して基板Wを搬入/搬出することができる。
【0041】
なお、
図2は、インデクサロボットIRが1つのハンド11を備えている例を示しているが、インデクサロボットIRは、2つのハンド11を備えていてもよい。この場合、第1主搬送ロボットCR1は、4つのハンド21,22を備えていてもよい。同様に、第2主搬送ロボットCR2は、4つのハンド21,22を備えていてもよい。インデクサロボットIRが2つのハンド11を備える場合、インデクサロボットIRは、2つのハンド11を用いて2枚の基板Wを同時に保持することができる。したがって、インデクサロボットIRは、2枚の基板Wを同時に搬出する同時搬出動作と2枚の基板Wを同時に搬入する同時搬入動作を、ロードポートLP上のキャリアCや第1受け渡しユニットPASS1に対して行うことができる。
【0042】
図3は、処理ユニットMPCの構成例を説明するための模式的な断面図である。
図3に示す処理ユニットMPCは、基板の表面を薬液で洗浄する表面洗浄ユニットである。処理ユニットMPCは、基板Wが通過する開口31aが設けられた処理チャンバ31と、処理チャンバ31内に配置された処理カップ32と、処理カップ32内に配置されたスピンチャック33とを含む。処理チャンバ31は、開口31aが設けられた隔壁31bと、開口31aを開閉するシャッター31cとを含む。
【0043】
処理ユニットMPCは、さらに、基板Wに薬液を供給する薬液ノズル34と、基板Wにリンス液(純水等)を供給するリンス液ノズル35とを含む。スピンチャック33は、1枚の基板Wを水平に保持しながら基板Wの中央部を通る鉛直な回転軸線36まわりに回転させる。薬液ノズル34およびリンス液ノズル35は、処理チャンバ31内に配置されており、スピンチャック33に保持されている基板Wの上面に向けて薬液およびリンス液をそれぞれ吐出する。このような構成により、基板Wの上面に薬液を供給して当該薬液で基板Wの上面を処理する薬液処理(基板処理ステップ)と、基板Wの上面の薬液をリンス液で洗い流すリンス処理(基板処理ステップ)と、基板W上の液滴を遠心力で振り切るスピン乾燥処理(基板処理ステップ)とを実行することができる。
【0044】
図4は、処理ユニットMPCの他の構成例を説明するための模式的な断面図である。
図4に示す処理ユニットMPCは、基板Wの周端面をスクラブ洗浄する端面洗浄ユニットである。処理ユニットMPCは、処理チャンバ31と、処理チャンバ31内に配置されたスピンチャック33と、薬液ノズル34と、基板Wの端面をスクラブ洗浄するスクラブ部材37とを含む。
【0045】
スピンチャック33は、1枚の基板Wを水平に保持しながら基板Wの中央部を通る鉛直な回転軸線36まわりに回転させる。薬液ノズル34は、スピンチャック33に保持された基板Wの表面に薬液を供給する。スピンチャック33が基板Wを回転させている状態でスクラブ部材37を基板Wの周端面に押し付けると、スクラブ部材37が基板Wの周端面の全周に擦り付けられる。これにより、基板Wの周端面の全周がスクラブ洗浄される(基板処理ステップ)。
【0046】
図5は、基板処理装置1の電気的構成を説明するためのブロック図である。基板処理装置1は、制御装置としてのコンピュータ60を備えている。コンピュータ60は、処理ユニットMPC1〜MPC24、主搬送ロボットCR1,CR2およびインデクサロボットIRを制御する。コンピュータ60は、パーソナルコンピュータ(FAパソコン)であってもよい。
【0047】
コンピュータ60は、制御部61と、出入力部62と、記憶部63とを備えている。制御部61は、CPU等の演算ユニットを含む。出入力部62は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部62は、外部コンピュータであるホストコンピュータ64との通信のための通信モジュールを含む。記憶部63は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
【0048】
制御部61は、スケジューリング機能部65と、処理実行指示部66とを含む。スケジューリング機能部65は、基板WをキャリアCから搬出し、処理ユニットMPC1〜MPC24のうちの一つ以上でその基板Wを処理した後、その処理後の基板WをキャリアCに収容するために、基板処理装置1のリソースを時系列に従って作動させるための計画(スケジュール)を作成する。処理実行指示部66は、スケジューリング機能部65によって作成されたスケジュールに従って、基板処理装置1のリソースを作動させる。リソースとは、基板処理装置1に備えられ、基板の処理のために用いられる各種のユニットである。具体的には、処理ユニットMPC1〜MPC24、インデクサロボットIR、主搬送ロボットCR1,CR2、およびそれらの構成要素が、基板処理装置1のリソースに含まれる。
【0049】
記憶部63は、各種データ等を記憶している。記憶部63に記憶されたデータには、制御部61が実行するプログラム70と、ホストコンピュータ64から受信したプロセスジョブデータ(プロセスジョブ情報)80と、スケジューリング機能部65によって作成されたスケジュールデータ81と、各処理ユニットMPCおよび各処理区画PZの使用履歴データ82と、各処理区画PZの搬送時間データ83とが含まれる。
【0050】
記憶部63に記憶されたプログラム70は、制御部61をスケジューリング機能部65として作動させるためのスケジュール作成プログラム71と、制御部61を処理実行指示部66として作動させるための処理実行プログラム72とを含む。プログラム70は、コンピュータ60に予めインストールされたものであってもよいし、記録媒体Mから記憶部63に送られたものであってもよいし、出入力部62の通信モジュールを通じて記憶部63に送られたものであってもよい。記録媒体Mは、たとえば、コンパクトディスクなどの光ディスクまたはメモリーカードなどの半導体メモリーである。記録媒体Mは、一時的ではない有形の媒体の一例である。
【0051】
プロセスジョブデータ80は、各基板Wに付与されたプロセスジョブ(PJ)符号と、プロセスジョブ符号に対応付けられたレシピとを含む。レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、基板種情報、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。基板種情報は、処理対象の基板Wの種類を表す情報である。基板Wの種類の具体例は、製品を作り込むために使用される製品基板、処理ユニットMPCのメンテナンス等のために使用され、製品の製造には使用されない非製品基板などである。並行処理ユニット情報とは、使用可能な処理ユニットMPCを指定する処理ユニット指定情報であり、指定された処理ユニットMPCによる並行処理が可能であることを表す。すなわち、指定処理ユニットのうちのいずれかで基板Wを処理すればよい。使用処理液情報とは、基板処理のために用いる処理液の種類を指定する情報である。具体例は、薬液の種類および薬液の温度を指定する情報である。処理時間情報とは、処理液を供給する継続時間などである。使用処理液情報および処理時間情報は、処理条件情報の一例である。
【0052】
プロセスジョブとは、共通の処理が施されるべき1枚または複数枚の基板Wに対して行われる当該処理をいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報(基板群識別情報)である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Wには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。たとえば、処理順序(キャリアCからの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ符号が付与される。ただし、異なるプロセスジョブ符号に対応する基板処理内容(レシピ)が同じである場合もあり得る。
【0053】
制御部61は、各基板Wに対するプロセスジョブデータを、ホストコンピュータ64から出入力部62を介して取得し、記憶部63に記憶させる。プロセスジョブデータの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、キャリアCがロードポートLP1〜LP4に保持された直後に、ホストコンピュータ64から制御部61に当該キャリアCに収容された基板Wに対応するプロセスジョブデータが与えられてもよい。
【0054】
スケジューリング機能部65は、記憶部63に格納されたプロセスジョブデータ80に基づいて各プロセスジョブを計画し、その計画を表すスケジュールデータ81を記憶部63に格納する。処理実行指示部66は、記憶部63に格納されたスケジュールデータ81に基づいて、インデクサロボットIR、主搬送ロボットCR1,CR2、および処理ユニットMPC1〜MPC24を制御することにより、基板処理装置1にプロセスジョブを実行させる。
【0055】
図6は、スケジューリング機能部65によって実行される処理例を説明するためのフローチャートである。より具体的には、コンピュータ60の制御部61がスケジュール作成プログラム71を実行することによって、所定の制御周期で繰り返し行われる処理が表されている。換言すれば、スケジュール作成プログラム71には、
図6に示す処理をコンピュータ60に実行させるようにステップ群が組み込まれている。
【0056】
ホストコンピュータ64は、プロセスジョブデータを制御部61に与えて、そのプロセスジョブデータによって定義されるプロセスジョブの開始、すなわち基板処理の開始を制御部61に指示する(ステップS1)。制御部61は、そのプロセスジョブデータを受信して記憶部63に格納する。そのプロセスジョブデータを用いて、スケジューリング機能部65は、プロセスジョブを実行するためのスケジューリングを行う。プロセスジョブの開始は、作業者が、出入力部62の操作部を操作して指示することもできる。
【0057】
スケジューリング機能部65は、プロセスジョブデータに含まれるプロセスジョブ(PJ)符号が付与された1枚以上の基板Wについて、1枚ずつ順にスケジューリングを実行する。まず、スケジューリング機能部65は、プロセスジョブデータに対応するレシピを参照し、そのレシピの並行処理ユニット情報に基づいて、基板Wの処理のために使用可能な1つ以上の処理ユニットMPCを特定する(ステップS2)。次いで、スケジューリング機能部65は、基板処理に用いるべき1つの処理区画PZを選択するための処理区画選択処理を実行する(ステップS3)。処理区画選択処理の詳細は、後述する。
【0058】
次に、スケジューリング機能部65は、1枚の基板Wを処理するための仮タイムテーブルを作成する(ステップS4)。たとえば、処理区画選択処理において第1処理区画PZ1が選択され、プロセスジョブデータに対応するレシピの並行処理ユニット情報に第1処理区画PZ1の全ての処理ユニットMPC1〜MPC8が含まれているとする。すなわち、当該レシピに従う基板処理が、8個の処理ユニットMPC1〜MPC8のいずれにおいても実行可能である場合を考える。この場合、当該基板Wが通る経路は、8通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットMPC1〜MPC8のいずれかを通る8個の経路である。そこで、スケジューリング機能部65は、その8個の経路に対応した仮タイムテーブルを当該1枚の基板Wに対して作成する。
【0059】
処理ユニットMPC1を通る経路に対応した仮タイムテーブルを
図7Aに示す。この仮タイムテーブルは、インデクサロボットIRによるキャリアCからの基板Wの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの第1受け渡しユニットPASS1への搬入(Put)を表すブロックと、第1主搬送ロボットCR1による第1受け渡しユニットPASS1からの当該基板Wの搬出(Get)を表すブロックと、第1主搬送ロボットCR1による当該基板Wの処理ユニットMPC1への搬入(Put)を表すブロックと、処理ユニットMPC1による当該基板Wに対する処理を表す処理ブロックと、第1主搬送ロボットCR1による処理ユニットMPC1からの処理済みの基板Wの搬出(Get)を表すブロックと、第1主搬送ロボットCR1による当該基板Wの第1受け渡しユニットPASS1への搬入(Put)を表すブロックと、インデクサロボットIRによる当該基板Wの第1受け渡しユニットPASS1からの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板WのキャリアCへの搬入(Put)を表すブロックとを含む。スケジューリング機能部65は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。
【0060】
処理ユニットMPC1を使用する仮タイムテーブルが作成されると、スケジューリング機能部65は、同じ基板Wに対して、処理ユニットMPC2〜MPC8をそれぞれ通る7つの経路に対応した同様の7つの仮タイムテーブル(処理ブロックを処理ユニットMPC2〜MPC8にそれぞれ配置した仮タイムテーブル)を作成する。こうして、1枚の基板Wに対して合計8つの仮タイムテーブルが作成される。そして、作成された仮タイムテーブルは、スケジュールデータ81の一部として記憶部63に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。
【0061】
スケジューリング機能部65は、1枚の基板Wに対応した全ての仮タイムテーブルを作成し終えると(ステップS5)、本スケジューリングを実行する(ステップS6〜S9)。本スケジューリングとは、作成された仮タイムテーブルのブロックを、各リソースの他のブロックと重複しないように、時間軸上に配置することである。本スケジューリングによって作成されたスケジュールデータは記憶部63に格納される。
【0062】
さらに具体的に説明すると、スケジューリング機能部65は、作成済みの複数の仮タイムテーブルのうちの一つを選択し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS6)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部65は、当該取得したブロックを配置できる位置を検索し(ステップS7)、その検索された位置に当該ブロックを配置する(ステップS8)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、選択した仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS9)。こうして、選択した仮タイムテーブルを構成する全てのブロックが配置されることにより、その仮タイムテーブルに対応した本スケジューリングが完了する。この本スケジューリングが、作成された全ての仮タイムテーブルについて実行される(ステップS10)。すなわち、8つの処理ユニットMPC1〜MPC8のいずれかで基板Wを処理する可能性がある場合、8通りの本スケジューリングが実行される。
【0063】
この8通りの本スケジューリングを終えると、ユニット選択処理が行われる(ステップS11)。ユニット選択処理では、1つの本スケジューリング、すなわち、1つの処理ユニットMPCを通る本スケジューリングが選択され、それによって1枚の基板Wを処理する処理ユニットMPCが選択される。ユニット選択処理では、その基板Wを処理してキャリアCに戻す時刻が最も早い1つの本スケジューリングが選択される(ステップS11。ユニット選択ステップ)。
【0064】
もしも、キャリアCに基板Wが戻る時刻が等しい複数の本スケジューリングが存在するときには(ステップS12:YES)、前回の使用からの経過時間が最も長い処理ユニットMPC、すなわちユニット最終使用時刻が最も古い処理ユニットMPCを用いる本スケジューリングが選択される(ステップS13。ユニット選択ステップ)。これにより、1つの処理区画PZ内の処理ユニットMPCが均等に使用されるように、処理ユニットMPCを選択できる。
【0065】
ユニット最終使用時刻が最も古い処理ユニットMPCを使う本スケジューリングが複数存在するときには(ステップS14:YES)、番号の小さい(すなわち、予め付した優先順の高い)処理ユニットMPCを使う本スケジューリングが選択される(ステップS15。ユニット選択ステップ)。たとえば、処理ユニットMPC1を使う本スケジューリングと処理ユニットMPC2を使う本スケジューリングとが候補として残る場合は、処理ユニットMPC1の方が処理ユニットMPC2よりも末尾の番号が小さいので、処理ユニットMPC1を使う本スケジューリングが選択される。
【0066】
こうして、1つの仮タイムテーブルに対応した1つの本スケジューリングが選択されると、当該1枚の基板Wに対するスケジューリングが完了する(ステップS16)。そして、選択された本スケジューリングを表すスケジューリングデータは、記憶部63に格納される。処理実行指示部66は、その後の任意のタイミングで、当該基板Wに対する処理を実際に開始する(ステップS17。基板搬送ステップおよび基板処理ステップ)。すなわち、インデクサロボットIRによってキャリアCから基板Wを搬出し、主搬送ロボットCR1,CR2によって処理ユニットMPCへと基板Wを搬送する基板搬送動作が開始される。
【0067】
スケジューリング機能部65は、1枚の基板Wに対するスケジューリングが完了すると、当該基板Wを処理する処理ユニットMPCのユニット最終使用時刻を記憶部63に登録する(ステップS18)。さらに、スケジューリング機能部65は、当該処理ユニットMPCが属する処理区画PZの投入可能率を求めて、記憶部63に登録する(ステップS19)。投入可能率の詳細は後述する。ユニット最終使用時刻および投入可能率は、使用履歴データ82(
図5参照)の一例である。そして、ステップS3からステップS20までの一連の動作が、プロセスジョブを構成する全ての基板Wに対して、順に実行される(ステップS20)。
【0068】
処理区画選択処理(ステップS3)において、第2処理区画PZ2が選択されると、スケジューリング機能部65は、1枚の基板Wに対して、処理ユニットMPC9〜MPC16をそれぞれ通る8つの経路に対応した8つの仮タイムテーブル(処理ブロックを処理ユニットMPC9〜MPC16にそれぞれ配置した仮タイムテーブル)を作成する。それにより、1枚の基板Wに対して合計8つの仮タイムテーブルが作成される。
【0069】
処理ユニットMPC9を通る経路に対応した仮タイムテーブルを
図7Bに示す。この仮タイムテーブルは、インデクサロボットIRによるキャリアCからの基板Wの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの第1受け渡しユニットPASS1への搬入(Put)を表すブロックと、第1主搬送ロボットCR1による第1受け渡しユニットPASS1からの当該基板Wの搬出(Get)を表すブロックと、第1主搬送ロボットCR1による第2受け渡しユニットPASS2への搬入(Put)を表すブロックと、第2主搬送ロボットCR2による第2受け渡しユニットPASS2からの当該基板Wの搬出(Get)を表すブロックと、第2主搬送ロボットCR2による当該基板Wの処理ユニットMPC9への搬入(Put)を表すブロックと、処理ユニットMPC9による当該基板Wに対する処理を表す処理ブロックと、第2主搬送ロボットCR2による処理ユニットMPC9からの処理済みの基板Wの搬出(Get)を表すブロックと、第2主搬送ロボットCR2による当該基板Wの第2受け渡しユニットPASS2への搬入(Put)を表すブロックと、第1主搬送ロボットCR1による第2受け渡しユニットPASS2からの当該基板の搬出(Get)を表すブロックと、第1主搬送ロボットCR1による当該基板Wの第1受け渡しユニットPASS1への搬入(Put)を表すブロックと、インデクサロボットIRによる当該基板Wの第1受け渡しユニットPASS1からの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板WのキャリアCへの搬入(Put)を表すブロックとを含む。スケジューリング機能部65は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。
【0070】
処理区画選択処理(ステップS3)において、第3処理区画PZ3が選択されると、スケジューリング機能部65は、1枚の基板Wに対して、処理ユニットMPC17〜MPC24をそれぞれ通る8つの経路に対応した8つの仮タイムテーブル(処理ブロックを処理ユニットMPC17〜MPC24にそれぞれ配置した仮タイムテーブル)を作成する。それにより、1枚の基板Wに対して合計8つの仮タイムテーブルが作成される。処理ユニットMPC17を通る経路に対応した仮タイムテーブルを
図7Cに示す。この仮タイムテーブルは、
図7Bの仮タイムテーブルとほぼ同様である。
【0071】
図8は、処理区画選択処理(
図6のステップS3)の一例を説明するためのフローチャートである。
図9Aおよび
図9Bは、記憶部63(
図5参照)に記憶された処理区画データの一例を示す。
図10A〜
図10Eは、記憶部63に記憶された投入可能率、区画最終使用時刻、最古チャンバ数、および有効チャンバ数の一例を示す。
有効チャンバ数は、同じ処理区画PZに属する複数の処理ユニットMPCの中で使用可能(有効)な処理ユニットMPCの数である。最古チャンバ数は、同じ処理区画PZに属する複数の処理ユニットMPCの中でユニット最終使用時刻が最も古い有効な処理ユニットMPCの数である。投入可能率は、同一の処理区画PZにおける有効チャンバ数に対する最古チャンバ数の割合を示す百分率である((最古チャンバ数/有効チャンバ数)×100)。処理区画データ、投入可能率、区画最終使用時刻、最古チャンバ数、および有効チャンバ数は、使用履歴データ82として処理区画ごとに記憶されている。
【0072】
記憶部63には、
図9Aに示すように、全ての処理ユニットMPCについて、処理区画PZの設定を表す処理区画データが登録されている。この例では、処理ユニットMPC1〜MPC8については、第1処理区画PZ1に属することを表す処理区画データ「1」が登録されている。また、処理ユニットMPC9〜MPC16については、第2処理区画PZ2に属することを表す処理区画データ「2」が登録されている。さらに、処理ユニットMPC17〜MPC24については、第3処理区画PZ3に属することを表す処理区画データ「3」が登録されている。
【0073】
いずれかの処理ユニットMPCがメンテナンス等のために基板処理に利用できないときは、
図9Bに示すように、処理区画PZを識別するデータ(番号)の代わりに、無効であることを表すデータ(たとえば「メンテナンス中」を表すデータなど)が登録される。メンテナンスとは、たとえば、定期的に計画される処理ユニットMPCの洗浄等である。
スケジューリング機能部65は、各基板Wの処理をすべき処理区画PZを選択するときに、記憶部63(
図5参照)に記憶された処理区画データに基づいて、各処理ユニットMPCがいずれの処理区画PZに属するのか、および無効な処理ユニットMPCが存在するかを判断する(
図8のステップS31。所属確認ステップ)。そして、スケジューリング機能部65は、全ての処理ユニットMPC1〜MPC24のユニット最終使用時刻を記憶部63から読み出す(
図8のステップS32。ユニット最終使用時刻取得ステップ)。
【0074】
さらに、スケジューリング機能部65は、ロードポートLP上のキャリアCから処理ユニットMPCに基板Wを搬送するのに要する搬送時間を、全ての処理ユニットMPC1〜MPC24について記憶部63から読み出す。その後、スケジューリング機能部65は、それぞれの処理ユニットMPCについてユニット最終使用時刻から搬送時間を引いて、得られた値(時刻)を修正ユニット最終使用時刻として記憶部63に登録する(
図8のステップS33。修正ユニット最終使用時刻計算ステップ)。修正ユニット最終使用時刻は、使用履歴データ82に含まれる。修正ユニット最終使用時刻の詳細は後述する。
【0075】
図10A〜
図10Eは、全ての処理ユニットMPC1〜MPC24が使用可能(有効)かつ初期化された状態で、同じレシピが適用された複数枚の基板Wのスケジューリングを行った場合における記憶部63内の使用履歴データ82の変遷の一例を示している。
図10Aに示すように、1枚目の基板Wのスケジューリングを行う前、各処理区画PZの投入可能率(最古チャンバ数/有効チャンバ数×100)は100%であり、各処理区画PZの区画最終使用時刻は、初期値(
図10では、0)であり、各処理区画PZの最古チャンバ数は、8である。各処理区画PZの有効チャンバ数は、8である。複数枚の基板Wに適用されたレシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。
【0076】
基板処理装置1が初期化されると、全てのユニット最終使用時刻も初期化され、初期値(たとえば、0)が全ての処理ユニットMPC1〜MPC24のユニット最終使用時刻として登録される。ユニット最終使用時刻が初期値以外の値である場合は、搬送時間を用いてユニット最終使用時刻が修正されるものの、ユニット最終使用時刻が初期値である場合は、初期値が修正ユニット最終使用時刻として登録される。
図10Aに示す例では、全ての処理ユニットMPC1〜MPC24の修正ユニット最終使用時刻が初期値であるため、全ての区画最終使用時刻が初期値(
図10Aでは、0)である。
【0077】
1枚目の基板Wを処理する処理区画PZを選択するとき、スケジューリング機能部65は、全ての処理区画PZ1〜PZ3の中で区画最終使用時刻が最も古い処理区画PZを検索し、複数の処理区画PZが候補区画に含まれるかを確認する(
図8のステップS34。第1検索ステップ)。候補区画が1つである場合、つまり、区画最終使用時刻が最も古い処理区画PZが1つしか見つからなかった場合(
図8のステップS34:NO)は、その処理区画PZを1枚目の基板Wのために選択する(
図8のステップS35。区画選択ステップ)。
図10Aに示す例では、全ての区画最終使用時刻が初期値であるため、全ての処理区画PZ1〜PZ3が、区画最終使用時刻が最も古い処理区画PZに該当する。
【0078】
区画最終使用時刻が最も古い処理区画PZが複数見つかった場合(
図8のステップS34:YES)、スケジューリング機能部65は、投入可能率((最古チャンバ数/有効チャンバ数)×100)が最大の処理区画PZを、候補区画に含まれる複数の処理区画PZの中で検索し、この検索条件に該当する複数の処理区画PZが候補区画に含まれるかを確認する(
図8のステップS36。第2検索ステップ)。見つかった処理区画PZが1つである場合、つまり、投入可能率が最大の処理区画PZが1つである場合(
図8のステップS36:NO)、その処理区画PZを1枚目の基板Wのために選択する(
図8のステップS37。区画選択ステップおよび選択ステップ)。
図10Aに示す例では、全てのユニット最終使用時刻が初期値であるため、全ての処理区画PZ1〜PZ3が、投入可能率が最大の処理区画PZに該当する。
【0079】
投入可能率が最大の処理区画PZが複数見つかった場合(
図8のステップS36:YES)、スケジューリング機能部65は、候補区画に含まれる複数の処理区画PZの中で区画番号が最も小さい(すなわち、予め付した優先順位が最も高い)処理区画PZを1枚目の基板Wのために選択する(
図8のステップS38。区画選択ステップ、第3検索ステップ、および選択ステップ)。
図10Aに示す例では、区画番号が最も小さい第1処理区画PZ1が1枚目の基板Wを処理する処理区画PZとして選択される。そのため、
図10Bに示すように、第1処理区画PZ1の最古チャンバ数が8から7に減少し、第1処理区画PZ1の投入可能率が87.5%((7/8)×100)に減少する。
【0080】
1枚目の基板Wに対するスケジューリングが完了すると、スケジューリング機能部65は、1枚目の基板Wが終了する時刻を推定し、推定される時刻を1枚目の基板Wを処理する処理ユニットMPCのユニット最終使用時刻として記憶部63に登録する。その後、スケジューリング機能部65は、1枚目の基板Wを処理する処理ユニットMPCのユニット最終使用時刻から当該処理ユニットMPCまでの搬送時間を引き、得られた値(時刻)を修正ユニット最終使用時刻として記憶部63に登録する。つまり、1枚目の基板Wを処理する処理ユニットMPCについて、新たなユニット最終使用時刻および修正ユニット最終使用時刻が記憶部63に登録される。2枚目以降の基板Wについても、スケジューリングが完了すると、基板Wの処理のために選択された処理ユニットMPCについて、新たなユニット最終使用時刻および修正ユニット最終使用時刻が記憶部63に登録される。
【0081】
1枚目の基板Wに対するスケジューリングが完了すると、1枚目の基板Wを処理する処理ユニットMPCのユニット最終使用時刻および修正ユニット最終使用時刻が初期値以外に値に変更される。区画最終使用時刻は、同じ処理区画PZに属する全ての処理ユニットMPCの修正ユニット最終使用時刻の中で最も古い時刻である。1枚目の基板Wを処理する処理ユニットMPCの修正ユニット最終使用時刻が変更されても、この処理ユニットMPCと同じ処理区画PZに属する他の処理ユニットMPCの修正ユニット最終使用時刻は、初期値のままである。そのため、1枚目の基板Wを処理する処理ユニットMPCが属する処理区画PZの区画最終使用時刻は、初期値のまま変わらない。
【0082】
2枚目の基板Wを処理する処理区画PZを選択するときは、前述と同様に、3つの処理区画PZのうちのいずれかが選択される。
図10Bに示す例では、各処理区画PZの区画最終使用時刻が初期値であるものの、第2処理区画PZ2と第3処理区画PZ3が投入可能率が最大の処理区画PZに該当するため、区画番号が最も小さい第2処理区画PZ2が2枚目の基板Wのために選択される。そのため、
図10Cに示すように、第2処理区画PZ2の最古チャンバ数が8から7に減少し、第2処理区画PZ2の投入可能率が87.5%((7/8)×100)に減少する。
【0083】
3枚目の基板Wを処理する処理区画PZを選択するときも、前述と同様に、3つの処理区画PZのうちのいずれかが選択される。
図10Cに示す例では、各処理区画PZの区画最終使用時刻が初期値であるものの、第3処理区画PZ3の投入可能率が最も高いので、第3処理区画PZ3が3枚目の基板Wのために選択される。そのため、
図10Dに示すように、第3処理区画PZ3の最古チャンバ数が8から7に減少し、第3処理区画PZ3の投入可能率が87.5%((7/8)×100)に減少する。
【0084】
4枚目の基板Wを処理する処理区画PZを選択するときも、前述と同様に、3つの処理区画PZのうちのいずれかが選択される。
図10Dに示す例では、各処理区画PZの区画最終使用時刻が初期値であり、投入可能率が3つの処理区画PZの間で等しいので、区画番号が最も小さい第1処理区画PZ1が4枚目の基板Wのために選択される。そのため、
図10Eに示すように、第1処理区画PZ1の最古チャンバ数が7から6に減少し、第1処理区画PZ1の投入可能率が75%((6/8)×100)に減少する。
【0085】
5枚目以降の基板Wを処理する処理区画PZも、前述と同様に、3つの処理区画PZのうちのいずれかが選択される。同じ処理区画PZに属する全ての処理ユニットMPCを使用するスケジュールが作成されると、その処理区画PZに属するそれぞれの処理ユニットMPCについて、ユニット最終使用時刻および修正ユニット最終使用時刻が初期値以外の値に変更される。この場合、スケジューリング機能部65は、その処理区画PZに属する全ての処理ユニットMPCの修正ユニット最終使用時刻の中で最も古い時刻を区画最終使用時刻として記憶部63に登録する。これにより、区画最終使用時刻が初期値以外の値に変更される。
【0086】
図11A〜
図11Eは、
図9Bに示すように第1処理区画PZ1に属する4つの処理ユニットMPC5〜MPC8がメンテナンスのために無効(使用不可)とされており、他の全ての処理ユニットMPC1〜MPC4およびMPC9〜MPC24が使用可能(有効)かつ初期化された状態で、同じレシピが適用された複数枚の基板Wのスケジューリングを行った場合における記憶部63内の使用履歴データ82の変遷の一例を示している。
【0087】
図11Aに示すように、1枚目の基板Wのスケジューリングを行う前、各処理区画PZの投入可能率は100%であり、各処理区画PZの区画最終使用時刻は、初期値(
図11では、0)であり、第1処理区画PZ1の最古チャンバ数は、4であり、第2処理区画PZ2および第3処理区画PZ3の最古チャンバ数は、8である。第1処理区画PZ1の有効チャンバ数は、4であり、第2処理区画PZ2および第3処理区画PZ3の有効チャンバ数は、8である。複数枚の基板Wに適用されたレシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。
【0088】
1枚目の基板Wを処理する処理区画PZを選択するとき、
図11Aに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、投入可能率が3つの処理区画PZの間で等しいので、スケジューリング機能部65は、区画番号が最も小さい第1処理区画PZ1を1枚目の基板Wを処理する処理区画PZとして選択し、第1処理区画PZ1で1枚目の基板Wを処理するスケジューリングを行う。そのため、
図11Bに示すように、第1処理区画PZ1の最古チャンバ数が4から3に減少し、第1処理区画PZ1の投入可能率が75%((3/4)×100)に減少する。
【0089】
2枚目の基板Wを処理する処理区画PZを選択するとき、
図11Bに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第2処理区画PZ2および第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、区画番号が最も小さい第2処理区画PZ2を2枚目の基板Wのために選択する。そのため、
図11Cに示すように、第2処理区画PZ2の最古チャンバ数が8から7に減少し、第2処理区画PZ2の投入可能率が87.5%((7/8)×100)に減少する。
【0090】
3枚目の基板Wを処理する処理区画PZを選択するとき、
図11Cに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、第3処理区画PZ3を3枚目の基板Wのために選択する。そのため、
図11Dに示すように、第3処理区画PZ3の最古チャンバ数が8から7に減少し、第3処理区画PZ3の投入可能率が87.5%((7/8)×100)に減少する。
【0091】
4枚目の基板Wを処理する処理区画PZを選択するとき、
図11Dに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第2処理区画PZ2および第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、区画番号が最も小さい第2処理区画PZ2を4枚目の基板Wのために選択する。そのため、
図11Eに示すように、第2処理区画PZ2の最古チャンバ数が7から6に減少し、第2処理区画PZ2の投入可能率が75%((6/8)×100)に減少する。
【0092】
5枚目の基板Wを処理する処理区画PZを選択するとき、
図11Eに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、第3処理区画PZ3を4枚目の基板Wのために選択する。そのため、
図11Fに示すように、第3処理区画PZ3の最古チャンバ数が7から6に減少し、第3処理区画PZ3の投入可能率が75%((6/8)×100)に減少する。
【0093】
図12は、全てのユニット最終使用時刻が初期値以外の値に変更された後のユニット最終使用時刻、搬送時間、および修正ユニット最終使用時刻の一例を示している。
図12は、1〜3枚目の基板Wが、処理ユニットMPC1、処理ユニットMPC9、処理ユニットMPC17の順番で、これらの処理ユニットMPC1、MPC9、およびMPC17に搬入される例を示している。
図12に示す例では、処理ユニットMPC1のユニット最終使用時刻は、12時00分00秒であり、処理ユニットMPC9のユニット最終使用時刻は、12時00分15秒であり、処理ユニットMPC17のユニット最終使用時刻は、12時00分30秒である。
【0094】
また、
図12は、第1処理区画PZ1の搬送時間は10秒であり、第2処理区画PZ2の搬送時間は15秒であり、第3処理区画PZ3の搬送時間は15秒である例を示している。各処理区画PZの搬送時間は、搬送時間データ83(
図5参照)に登録されている(搬送時間登録ステップ)。処理ユニットMPC1および処理ユニットMPC2は、第1処理区画PZ1に属しているものの、ロードポートLPから処理ユニットMPC1までの距離は、厳密には、ロードポートLPから処理ユニットMPC2までの距離とは異なる。そのため、処理ユニットMPC1までの基板Wの搬送時間は、厳密には、処理ユニットMPC2までの基板Wの搬送時間とは異なる。しかしながら、
図12に示す例では、同じ処理区画PZに属する処理ユニットMPCであれば搬送時間が概ね等しいと見なして、1つの搬送時間を同じ処理区画PZに属する全ての処理ユニットMPCに登録している。
【0095】
スケジューリング機能部65は、処理ユニットMPC1のユニット最終使用時刻から第1処理区画PZ1の搬送時間を引き、得られた値(時刻)を処理ユニットMPC1の修正ユニット最終使用時刻として登録する。具体的には、スケジューリング機能部65は、処理ユニットMPC1の修正ユニット最終使用時刻に11時59分50秒(12時00分00秒−10秒)を登録する。同様に、スケジューリング機能部65は、処理ユニットMPC9の修正ユニット最終使用時刻に12時00分00秒(12時00分15秒−15秒)を登録し、処理ユニットMPC17の修正ユニット最終使用時刻に12時00分15秒(12時00分30秒−15秒)を登録する。
【0096】
次に、スケジューリング機能部65は、同じ処理区画PZに属する全ての有効な処理ユニットMPCの修正ユニット最終使用時刻の中で最も古い時刻を、その処理区画PZの区画最終使用時刻として記憶部63に登録する(区画最終使用時刻特定ステップ)。
図12に示す例の場合、処理ユニットMPC1の修正ユニット最終使用時刻が、処理ユニットMPC1〜MPC8の修正ユニット最終使用時刻の中で最も古い。また、
図12に示す例の場合、処理ユニットMPC9の修正ユニット最終使用時刻が、処理ユニットMPC9〜MPC16の修正ユニット最終使用時刻の中で最も古く、処理ユニットMPC17の修正ユニット最終使用時刻が、処理ユニットMPC17〜MPC24の修正ユニット最終使用時刻の中で最も古い。したがって、スケジューリング機能部65は、処理ユニットMPC1の修正ユニット最終使用時刻を第1処理区画PZ1の区画最終使用時刻として登録し、処理ユニットMPC9の修正ユニット最終使用時刻を第2処理区画PZ2の区画最終使用時刻として登録し、処理ユニットMPC17の修正ユニット最終使用時刻を第1処理区画PZ1の区画最終使用時刻として登録する。
【0097】
図13A〜
図13Eは、全てのユニット最終使用時刻が初期値以外の値に変更された後に、同じレシピが適用された複数枚の基板Wのスケジューリングを行った場合における記憶部63内の使用履歴データ82の変遷の一例を示している。
図13Aに示すように、1枚目の基板Wのスケジューリングを行う前、各処理区画PZの投入可能率は12.5%((1/8)×100)であり、各処理区画PZの区画最終使用時刻は、初期値以外のそれぞれ異なる値であり、各処理区画PZの最古チャンバ数は、1である。各処理区画PZの有効チャンバ数は、8である。複数枚の基板Wに適用されたレシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。
【0098】
図13Aは、第1処理区画PZ1の区画最終使用時刻が12時00分00秒であり、第2処理区画PZ2の区画最終使用時刻は、12時00分30秒であり、第3処理区画PZ3の区画最終使用時刻は、12時01分00秒である例を示している。1枚目の基板Wを処理する処理区画PZを選択するとき、
図13Aに示すように、第1処理区画PZ1の区画最終使用時刻が最も古いので、スケジューリング機能部65は、第1処理区画PZ1を1枚目の基板Wを処理する処理区画PZとして選択する。
【0099】
図13Bは、第1処理区画PZ1に属する全ての処理ユニットMPC1〜MPC8の中で修正ユニット最終使用時刻が最も古い処理ユニットMPCに1枚目の基板Wを処理させる例を示している。そのため、第1処理区画PZ1の区画最終使用時刻は、1枚目の基板Wのスケジューリングを行う前の時刻とは異なる時刻に変更される。
図13Bは、第1処理区画PZ1の区画最終使用時刻が、12時00分00秒から12時01分30秒に更新された例を示している。
【0100】
2枚目の基板Wを処理する処理区画PZを選択するとき、
図13Bに示すように、第2処理区画PZ2の区画最終使用時刻(12時00分30秒)が最も古いので、スケジューリング機能部65は、第2処理区画PZ2を2枚目の基板Wを処理する処理区画PZとして選択し、第2処理区画PZ2に属する全ての処理ユニットMPC9〜MPC16の中で修正ユニット最終使用時刻が最も古い処理ユニットMPCに基板Wを処理させるスケジュールを作成する。そのため、
図13Cに示すように、第2処理区画PZ2の区画最終使用時刻が、12時00分30秒から12時02分00秒に更新される。
【0101】
3枚目の基板Wを処理する処理区画PZを選択するとき、
図13Cに示すように、第3処理区画PZ3の区画最終使用時刻(12時01分00秒)が最も古いので、スケジューリング機能部65は、第3処理区画PZ3を3枚目の基板Wを処理する処理区画PZとして選択し、第3処理区画PZ3に属する全ての処理ユニットMPC17〜MPC24の中で修正ユニット最終使用時刻が最も古い処理ユニットMPCに基板Wを処理させるスケジュールを作成する。そのため、
図13Dに示すように、第3処理区画PZ3の区画最終使用時刻が、12時01分00秒から12時02分30秒に更新される。
【0102】
4枚目の基板Wを処理する処理区画PZを選択するとき、
図13Dに示すように、第1処理区画PZ1の区画最終使用時刻(12時01分30秒)が最も古いので、スケジューリング機能部65は、第1処理区画PZ1を4枚目の基板Wを処理する処理区画PZとして選択し、第1処理区画PZ1に属する全ての処理ユニットMPC1〜MPC8の中で修正ユニット最終使用時刻が最も古い処理ユニットMPCに基板Wを処理させるスケジュールを作成する。そのため、
図13Eに示すように、第1処理区画PZ1の区画最終使用時刻が、12時01分30秒から12時03分00秒に更新される。
【0103】
5枚目以降の基板Wを処理する処理区画PZも、前述と同様に、区画最終使用時刻が最も古い処理区画PZが3つの処理区画PZの中から選択される。もしも区画最終使用時刻が最も古い処理区画PZが複数あった場合は、投入可能率が最大の処理区画PZがその中から選択される。それでも、複数の処理区画PZが残る場合は、残った複数の処理区画PZの中で区画番号が最も小さい処理区画PZが選択される。
【0104】
次に、基板Wの処理時間が減少する場合のスケジューリングについて説明する。
最初に、
図14A〜
図14Fおよび
図15A〜
図15Bを参照して第1実施例に係るスケジューリングについて説明し、その後、
図16A〜
図16Fおよび
図17を参照して第1比較例に係るスケジューリングについて説明する。
図14A〜
図14Fは、第1実施例に係る投入可能率、区画最終使用時刻、最古チャンバ数、および有効チャンバ数の一例を示す表である。
図14A〜
図14Fは、基板Wを第1処理時間処理する第1レシピが適用された複数枚の基板Wのスケジューリングを行った後に、基板Wを第1処理時間よりも短い第2処理時間する第2レシピが適用された複数枚の基板Wのスケジューリングを行った場合における記憶部63内の使用履歴データ82の変遷の一例を示している。
【0105】
図14Aに示すように、1枚目の基板Wのスケジューリングを行う前、各処理区画PZの投入可能率は100%((8/8)×100)であり、各処理区画PZの区画最終使用時刻は、初期値(
図14Aでは、0)であり、各処理区画PZの最古チャンバ数は、8である。各処理区画PZの有効チャンバ数は、8である。各ユニット最終使用時刻は、初期値である。第1レシピおよび第2レシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。第1レシピで指定された第1処理時間は、たとえば240秒であり、第2レシピで指定された第2処理時間は、たとえば60秒である。
【0106】
第1レシピが適用された1枚目の基板Wを処理する処理区画PZを選択するとき、
図14Aに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、投入可能率が3つの処理区画PZの間で等しいので、スケジューリング機能部65は、区画番号が最も小さい第1処理区画PZ1を1枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図14Bに示すように、第1処理区画PZ1の最古チャンバ数が8から7に減少し、第1処理区画PZ1の投入可能率が87.5%((7/8)×100)に減少する。
【0107】
第1レシピが適用された2枚目の基板Wを処理する処理区画PZを選択するとき、
図14Bに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第2処理区画PZ2および第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、区画番号が最も小さい第2処理区画PZ2を2枚目の基板Wのために選択する。そのため、
図14Cに示すように、第2処理区画PZ2の最古チャンバ数が8から7に減少し、第2処理区画PZ2の投入可能率が87.5%((7/8)×100)に減少する。
【0108】
第1レシピとは処理時間が異なる第2レシピが適用された3枚目の基板Wを処理する処理区画PZを選択するとき、
図14Cに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、第3処理区画PZ3を3枚目の基板Wのために選択する。そのため、
図14Dに示すように、第3処理区画PZ3の最古チャンバ数が8から7に減少し、第3処理区画PZ3の投入可能率が87.5%((7/8)×100)に減少する。
【0109】
第2レシピが適用された4枚目の基板Wを処理する処理区画PZを選択するとき、
図14Dに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、投入可能率が3つの処理区画PZの間で等しいので、スケジューリング機能部65は、区画番号が最も小さい第1処理区画PZ1を4枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図14Eに示すように、第1処理区画PZ1の最古チャンバ数が6から7に減少し、第1処理区画PZ1の投入可能率が75%((6/8)×100)に減少する。
【0110】
第2レシピが適用された5枚目の基板Wを処理する処理区画PZを選択するとき、
図14Eに示すように、区画最終使用時刻がいずれの処理区画PZも初期値であり、第2処理区画PZ2および第3処理区画PZ3の投入可能率が最も高いので、スケジューリング機能部65は、区画番号が最も小さい第2処理区画PZ2を5枚目の基板Wのために選択する。そのため、
図14Fに示すように、第2処理区画PZ2の最古チャンバ数が7から6に減少し、第2処理区画PZ2の投入可能率が75%((6/8)×100)に減少する。
【0111】
図15Aおよび
図15Bは、第1実施例に係るスケジュールを示すタイムチャートである。
図15Aは、基板Wを第1処理時間処理する第1レシピが適用された1〜2枚目の基板W1〜W2のスケジューリングを行った後のスケジュールの一例を示している。
図15Aに示す例では、1枚目の基板W1が第1処理区画PZ1の処理ユニットMPC1で処理され、2枚目の基板W2が第2処理区画PZ2の処理ユニットMPC9で処理されるように、スケジュールが作成されている。
【0112】
図15Bは、基板Wを第2処理時間処理する第2レシピが適用された3〜6枚目の基板W3〜W6のスケジューリングを行った後のスケジュールの一例を示している。
図15Bに示す例では、3枚目の基板W3が第3処理区画PZ3の処理ユニットMPC17で処理され、4枚目の基板W4が第1処理区画PZ1の処理ユニットMPC2で処理されるように、スケジュールが作成されている。また、
図15Bに示す例では、5枚目の基板W5が第2処理区画PZ2の処理ユニットMPC10で処理され、6枚目の基板W6が第3処理区画PZ3の処理ユニットMPC18で処理されるように、スケジュールが作成されている。
【0113】
図15Bに示すように、同じ処理区画PZに属する全ての処理ユニットMPCの修正ユニット最終使用時刻の中で最も古い時刻を表す区画最終使用時刻を最初に優先して処理区画PZを選択すれば、基板Wの処理時間が変化しない場合だけでなく、基板Wの処理時間が減少する場合も、全ての処理区画PZ1〜PZ3を均等に選択でき、空いている処理ユニットMPCを効率的に選択できる。したがって、後述するような区画使用率を最初に優先して処理区画PZを選択する場合に比べて、基板処理装置1の稼働率を高めることができる。
【0114】
次に、
図16A〜
図16Fおよび
図17を参照して、第1比較例に係るスケジューリングについて説明する。
以下では、基板Wを処理する処理区画PZを、区画最終使用時刻ではなく、区画使用率を基準に選択する例について説明する。区画使用率は、基板Wの処理のために要する時間を当該基板Wを処理する処理区画PZにおける有効な(利用可能な)処理ユニットMPCの数で除した値である。基板Wの処理のために要する時間が240秒であり、当該基板Wを処理する処理区画PZに属する有効な処理ユニットMPCの数が3であれば、区画使用率は、80(=240/3)である。
【0115】
図16A〜
図16Fに示す区画最終使用時刻は、ある処理区画PZに属する全ての処理ユニットMPCの修正ユニット最終使用時刻の中で最も古い時刻ではなく、ある処理区画PZに属する全ての処理ユニットMPCのユニット最終使用時刻の中で最も遅い時刻を意味している。したがって、ある処理区画PZに属する1つの処理ユニットMPCで基板Wを処理させるスケジュールが作成されると、その処理区画PZに属する他の処理ユニットMPCのユニット最終使用時刻が初期値であっても、その処理区画PZの区画最終使用時刻は、基板Wを処理する処理ユニットMPCのユニット最終使用時刻に変更される。
【0116】
図16A〜
図16Fは、第1比較例に係る区画使用率、区画最終使用時刻、有効チャンバ数の一例を示す表である。
図16A〜
図16Fは、基板Wを第1処理時間処理する第1レシピが適用された複数枚の基板Wのスケジューリングを行った後に、基板Wを第1処理時間よりも短い第2処理時間する第2レシピが適用された複数枚の基板Wのスケジューリングを行った場合における記憶部63内の使用履歴データ82の変遷の一例を示している。
【0117】
図16Aに示すように、1枚目の基板Wのスケジューリングを行う前、各処理区画PZの区画使用率は、0であり、区画最終使用時刻は、初期値(
図16Aでは、0)であり、各処理区画PZの有効チャンバ数は、3である。第1レシピおよび第2レシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。第1レシピで指定された第1処理時間は、たとえば240秒であり、第2レシピで指定された第2処理時間は、たとえば60秒である。
【0118】
第1レシピが適用された1枚目の基板Wを処理する処理区画PZを選択するとき、
図16Aに示すように、区画使用率がいずれの処理区画PZも0であり、区画最終使用時刻がいずれの処理区画PZも初期値であるので、スケジューリング機能部65は、区画番号が最も小さい第1処理区画PZ1を1枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図16Bに示すように、第1処理区画PZ1の区画使用率が増加する。
図16Bでは、第1処理時間が240秒であり、第1処理区画PZ1の区画使用率が0から80(=240/3)に増加した例を示している。
【0119】
第1レシピが適用された2枚目の基板Wを処理する処理区画PZを選択するとき、
図16Bに示すように、第2処理区画PZ2および第3処理区画PZ3の区画使用率が0であり、第2処理区画PZ2および第3処理区画PZ3の区画最終使用時刻が初期値であるので、スケジューリング機能部65は、区画番号が最も小さい第2処理区画PZ2を2枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図16Cに示すように、第2処理区画PZ2の区画使用率が増加する。
図16Cでは、第1処理時間が240秒であり、第2処理区画PZ2の区画使用率が0から80(=240/3)に増加した例を示している。
【0120】
第1レシピとは処理時間が異なる第2レシピが適用された3枚目の基板Wを処理する処理区画PZを選択するとき、
図16Cに示すように、第3処理区画PZ3の区画使用率が最も小さいので、スケジューリング機能部65は、第3処理区画PZ3を3枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図16Dに示すように、第3処理区画PZ3の区画使用率が増加する。
図16Dでは、第2処理時間が60秒であり、第2処理区画PZ2の区画使用率が0から20(=60/3)に増加した例を示している。
【0121】
第2レシピが適用された4枚目の基板Wを処理する処理区画PZを選択するとき、
図16Dに示すように、依然として第3処理区画PZ3の区画使用率が最も小さいので、スケジューリング機能部65は、第3処理区画PZ3を4枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図16Eに示すように、第3処理区画PZ3の区画使用率が増加する。
図16Eでは、第2処理区画PZ2の区画使用率が40(=120/3)に増加した例を示している。
【0122】
第2レシピが適用された5枚目の基板Wを処理する処理区画PZを選択するとき、
図16Eに示すように、依然として第3処理区画PZ3の区画使用率が最も小さいので、スケジューリング機能部65は、第3処理区画PZ3を5枚目の基板Wを処理する処理区画PZとして選択する。そのため、
図16Fに示すように、第3処理区画PZ3の区画使用率が増加する。
図16Fでは、第2処理区画PZ2の区画使用率が60(=180/3)に増加した例を示している。
【0123】
第2レシピが適用された6枚目の基板Wを処理する処理区画PZを選択するとき、
図16Fに示すように、依然として第3処理区画PZ3の区画使用率が最も小さいので、スケジューリング機能部65は、第3処理区画PZ3を6枚目の基板Wを処理する処理区画PZとして選択する。そのため、第3処理区画PZ3の区画使用率が増加する。具体的には、第2処理区画PZ2の区画使用率は、80(=240/3)に増加する。これにより、第3処理区画PZ3の区画使用率が、第1処理区画PZ1および第2処理区画PZ2の区画使用率と等しくなる。
【0124】
図17は、区画使用率を最初に優先して処理区画PZを選択し、3〜6枚目の基板W3〜W6のスケジューリングを行った後のスケジュールを示すタイムチャートである。
前述のように、区画使用率を基準に処理区画PZを選択する場合、第3処理区画PZ3が6枚目の基板W6のために選択される。したがって、
図17に示すように、第1処理区画PZ1および第2処理区画PZ2に空いている処理ユニットMPCがあるにもかかわらず、6枚目の基板W6は第3処理区画PZ3に属する処理ユニットMPC17で処理されるようにスケジュールが作成される。そのため、6枚目の基板W6を第1処理区画PZ1または第2処理区画PZ2で処理する場合は、6枚目の基板W6の搬送を直ぐに開始できるのに、6枚目の基板W6を第3処理区画PZ3で処理する場合は、処理ユニットMPC17が3枚目の基板W3を処理し終えるまで搬送の開始を遅らせる必要がある。
【0125】
図17と
図15Bとを比較すると分かるように、いずれの場合も、3枚目の基板W3は、処理ユニットMPC17で処理されるようにスケジューリングされるものの、
図15Bに示す例では、4枚目の基板W4が処理ユニットMPC2で処理され、5枚目の基板W5が処理ユニットMPC10で処理されるようにスケジュールが作成される。さらに、
図15Bに示す例では、6枚目の基板W6が処理ユニットMPC17で処理されるようにスケジュールが作成される。したがって、
図15Bに示す例では、空いている処理ユニットMPCが効率的に選択されるので、
図17に示すような搬送の遅延を防止でき、基板処理装置1の稼働率を高めることができる。
【0126】
次に、全ての有効な処理ユニットMPCで基板Wの処理がスケジュールされた後に、基板Wの処理時間が減少する場合のスケジューリングについて説明する。
最初に、第2実施例に係るスケジューリングについて説明し、その後、第2比較例に係るスケジューリングについて説明する。
図18は、第2実施例に係るユニット最終使用時刻、搬送時間、および修正ユニット最終使用時刻の一例を示す表である。
図19A〜
図19Dは、第2実施例に係るスケジュールを示すタイムチャートである。
【0127】
図19A〜
図19Bは、基板Wを第1処理時間処理する第1レシピが適用された1〜11枚目の基板W1〜W11のスケジューリングを行った後のスケジュールの一例を示している。
図19Aは、1枚目の基板W1の処理が終了する時刻までのスケジュールを示しており、
図19Bは、
図19Aの続きを示している。
図19Cは、基板Wを第2処理時間処理する第2レシピが適用された12枚目の基板W12のスケジューリングを行った後のスケジュールの一例を示している。
図19Dは、基板Wを第2処理時間処理する第2レシピが適用された13〜15枚目の基板W13〜W15のスケジューリングを行った後のスケジュールの一例を示している。
【0128】
図19A〜
図19Dは、処理ユニットMPC1、MPC2、MPC3、MPC9、MPC10、MPC11、MPC17、MPC18、およびMPC19が、有効な処理ユニットMPCである例を示している。したがって、各処理区画PZの有効チャンバ数は、3である。第1レシピおよび第2レシピでは、全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている。第1レシピで指定された第1処理時間は、たとえば240秒であり、第2レシピで指定された第2処理時間は、たとえば60秒である。
【0129】
1枚目の基板Wのスケジューリングを行う前、各処理区画PZの投入可能率は100%((3/3)×100)であり、各処理区画PZの区画最終使用時刻は、初期値であり、各処理区画PZの最古チャンバ数は、3である。1枚目の基板Wのスケジューリングを行う前の状況は、
図10A〜
図10Eを参照して説明した例と概ね同じである。したがって、1〜11枚目の基板W1〜W11のスケジューリングは、
図10A〜
図10Eを参照して説明した例と同様に行われる。
【0130】
具体的には、
図19Aに示すように、1枚目の基板W1が処理ユニットMPC1で処理され、2枚目の基板W2が処理ユニットMPC9で処理され、3枚目の基板W3が処理ユニットMPC17で処理されるように、スケジュールが作成される。また、4枚目の基板W4が処理ユニットMPC2で処理され、5枚目の基板W5が処理ユニットMPC10で処理され、6枚目の基板W6が処理ユニットMPC18で処理されるように、スケジュールが作成される。また、7枚目の基板W7が処理ユニットMPC1で処理され、8枚目の基板W8が処理ユニットMPC9で処理され、9枚目の基板W9が処理ユニットMPC17で処理されるように、スケジュールが作成される。
【0131】
また、
図19Bに示すように、10枚目の基板W10が処理ユニットMPC1で処理され、11枚目の基板W11が処理ユニットMPC9で処理されるように、スケジュールが作成される。つまり、10枚目の基板W10は、1枚目の基板W1が処理ユニットMPC1で処理された後に、処理ユニットMPC1で処理される。11枚目の基板W11は、2枚目の基板W2が処理ユニットMPC9で処理された後に、処理ユニットMPC9で処理される。このようにして、1〜11枚目の基板W1〜W11を処理するスケジュールが作成される。
【0132】
図19Bの下部には、11枚目の基板W11を処理するスケジュールが作成された後の各処理ユニットMPCのユニット最終使用時刻(時刻T1〜T7)が示されている。11枚目の基板W11を処理するスケジュールが作成された時点の処理ユニットMPC1のユニット最終使用時刻は時刻T6であり、この時点の処理ユニットMPC2のユニット最終使用時刻は時刻T1であり、この時点の処理ユニットMPC3のユニット最終使用時刻は時刻T3である。これらのうちで最も前の時刻は、時刻T1である。
【0133】
図18は、11枚目の基板W11を処理するスケジュールが作成された時点の全ての有効な処理ユニットMPCのユニット最終使用時刻、搬送時間、および修正ユニット最終使用時刻を示している。処理ユニットMPC1、MPC2、およびMPC3が属する第1処理区画PZ1の搬送時間は、搬送時間t1である。したがって、処理ユニットMPC1の修正ユニット最終使用時刻は時刻T6−搬送時間t1であり、処理ユニットMPC2の修正ユニット最終使用時刻は時刻T1−搬送時間t1であり、処理ユニットMPC3の修正ユニット最終使用時刻は時刻T3−搬送時間t1である。これらのうちで最も前の時刻は、時刻T1−搬送時間t1である。
【0134】
処理ユニットMPC9のユニット最終使用時刻は時刻T7であり、処理ユニットMPC10のユニット最終使用時刻は時刻T2であり、処理ユニットMPC11のユニット最終使用時刻は時刻T4である。
図19Bに示すように、これらのうちで最も前の時刻は、時刻T2である。処理ユニットMPC9、処理ユニットMPC10、および処理ユニットMPC11が属する第2処理区画PZ2の搬送時間は、搬送時間t2である。したがって、処理ユニットMPC9の修正ユニット最終使用時刻は時刻T7−搬送時間t2であり、処理ユニットMPC10の修正ユニット最終使用時刻は時刻T2−搬送時間t2であり、処理ユニットMPC11の修正ユニット最終使用時刻は時刻T4−搬送時間t2である。これらのうちで最も前の時刻は、時刻T2−搬送時間t2である。
【0135】
処理ユニットMPC17のユニット最終使用時刻は時刻T1であり、処理ユニットMPC18のユニット最終使用時刻は時刻T3であり、処理ユニットMPC19のユニット最終使用時刻は時刻T5である。
図19Bに示すように、これらのうちで最も前の時刻は、時刻T2である。処理ユニットMPC17、処理ユニットMPC18、および処理ユニットMPC19が属する第2処理区画PZ2の搬送時間は、搬送時間t2である。したがって、処理ユニットMPC17の修正ユニット最終使用時刻は時刻T1−搬送時間t2であり、処理ユニットMPC18の修正ユニット最終使用時刻は時刻T3−搬送時間t2であり、処理ユニットMPC19の修正ユニット最終使用時刻は時刻T5−搬送時間t2である。これらのうちで最も前の時刻は、時刻T1−搬送時間t2である。
【0136】
図18に示すように、11枚目の基板W11を処理するスケジュールが作成された時点の第1処理区画PZ1の区画最終使用時刻は、時刻T1−搬送時間t1である。この時点の第2処理区画PZ2の区画最終使用時刻は、時刻T2−搬送時間t2である。この時点の第3処理区画PZ3の区画最終使用時刻は、時刻T1−搬送時間t2である。
図19Aの左端付近に示すように、搬送時間t1は、搬送時間t2よりも短い。したがって、第3処理区画PZ3の区画最終使用時刻(T1−S2)が、3つの処理区画PZの区画最終使用時刻の中で最も古い。
【0137】
第3処理区画PZ3の区画最終使用時刻が、3つの処理区画PZの区画最終使用時刻の中で最も古いので、スケジューリング機能部65は、12枚目の基板Wのために第3処理区画PZ3を選択する。
図19Cは、12枚目の基板W12が第3処理区画PZ3に属する処理ユニットMPC17で処理されるように、スケジュールされた例を示している。この例の場合、12枚目の基板W12を処理するスケジュールが作成されると、処理ユニットMPC17のユニット最終使用時刻および修正ユニット最終使用時刻が更新され、第3処理区画PZ3の区画最終使用時刻が更新される。
【0138】
図19Cを見ると分かるように、12枚目の基板W12の処理時間(第2処理時間)は、1〜11枚目の基板W1〜W11の処理時間(第1処理時間)よりも短い。つまり、12枚目の基板W12には、基板Wを第1処理時間よりも短い第2処理時間する第2レシピが適用されている。同様に、13〜15枚目の基板W13〜W15にも第2レシピが適用されている。
図19Dは、13枚目の基板W13が処理ユニットMPC2で処理され、14枚目の基板W14が処理ユニットMPC10で処理され、15枚目の基板W15が処理ユニットMPC18で処理されるように、スケジュールされた例を示している。
【0139】
次に、
図20を参照して、第2比較例に係るスケジューリングについて説明する。
図20は、第2比較例に係るスケジュールを示すタイムチャートであり、区画使用率を最初に優先して処理区画PZを選択し、12〜15枚目の基板W12〜W15のスケジューリングを行った後のスケジュールの一例を示している。
第2比較例において、各処理区画PZの有効チャンバ数や並行処理ユニットは、第2実施例と同様である。1〜11枚目の基板W1〜W11には、第1レシピが適用されており、12〜15枚目の基板W12〜W15には、第2レシピが適用されている。11枚目の基板W11までのスケジュールは、第2実施例と同様である。
【0140】
図20に示すように、区画最終使用時刻ではなく、区画使用率を基準に選択する処理区画PZを選択すると、12枚目の基板W12は、第2実施例と同様に、第3処理区画PZ3で処理されるようにスケジュールが作成される。
図20は、12枚目の基板W12が処理ユニットMPC17で処理されるように、スケジュールされた例を示している。
その一方で、13枚目の基板W13のための処理区画PZの選択を開始する時点で空いている処理ユニットMPC(たとえば、処理ユニットMPC2および処理ユニットMPC10)が第1処理区画PZ1および第2処理区画PZ2に存在するのに、13枚目の基板W13は、第3処理区画PZ3に属する処理ユニットMPC18で処理されるようにスケジュールされる。同様に、14枚目の基板W14は第3処理区画PZ3に属する処理ユニットMPC19で処理され、15枚目の基板W15は第3処理区画PZ3に属する処理ユニットMPC17で処理されるようにスケジュールされる。
【0141】
図20は、インデクサロボットIR(
図1参照)が14〜15枚目の基板W14〜W15をロードポートLP上のキャリアCから同時に搬出し、14〜15枚目の基板W14〜W15をロードポートLP上のキャリアCに同時に搬入する例を示している。
図19A〜
図19Dについても同様である。
図19Dに示す例では、14〜15枚目の基板W14〜W15は、搬出時刻X1にキャリアCから搬出され、搬入時刻Y1にキャリアCに搬入される。
図20に示す例では、14〜15枚目の基板W14〜W15は、搬出時刻X2にキャリアCから搬出され、搬入時刻Y2にキャリアCに搬入される。
【0142】
第2実施例および第2比較例では、12〜15枚目の基板W12〜W15を同じ条件で複数の処理ユニットMPCに処理させるにもかかわらず、
図19Dに示すように、第2実施例に係る搬出時刻X1は、第2比較例に係る搬出時刻X2よりも時間Z1だけ早く、第2実施例に係る搬入時刻Y1は、第2比較例に係る搬入時刻Y2よりも時間Z1だけ早い。したがって、第2実施例では、3つの処理区画PZを均等に選択でき、基板処理装置1の稼働率を高めることができるだけでなく、第2比較例に比べて単位時間当たりの基板Wの処理枚数を増やすことができる。これにより、基板処理装置1のスループットを高めることができる。
【0143】
以上のように本実施形態では、区画使用率の大小関係に基づいて処理区画PZを選択するのではなく、区画最終使用時刻に基づいて複数の処理区画PZの中から1つの処理区画PZを選択する。そして、選択された処理区画PZに属する複数の処理ユニットMPCの中から1つの処理ユニットMPCを選択する。その後、基板Wが、基板搬送システムに含まれるインデクサロボットIR、第1主搬送ロボットCR1および第2主搬送ロボットCR2によって、ロードポートLP上のキャリアCから、選択された処理ユニットMPCに搬送される。したがって、基板Wの処理時間が変化しない場合だけでなく、基板Wの処理時間が減少する場合も、複数の処理区画PZを均等に選択でき、基板処理装置1に備えられた全ての処理ユニットMPC1〜MPC24を満遍なく使用することができる。これにより、基板処理装置1の稼働率を高めることができる。
【0144】
しかも、区画最終使用時刻は、最も古いユニット最終使用時刻ではなく、最も古い修正ユニット最終使用時刻に基づいて特定される。修正ユニット最終使用時刻は、処理ユニットMPCが基板Wの処理のために最後に使用される時刻を表すユニット最終使用時刻から、ロードポートLP上のキャリアCから処理ユニットMPCに基板Wを搬送するのに要する搬送時間を引いた時刻である。したがって、複数の処理区画PZの間での搬送時間の差を減らすことができ、ロードポートLPに近い方の処理区画PZばかりが選択されることを回避できる。これにより、複数の処理区画PZをさらに均等に選択できる。
【0145】
本実施形態では、同じ処理区画PZに属する複数の処理ユニットMPCについては、同じ値が搬送時間として登録される。同じ処理区画PZに属する複数の処理ユニットMPCであっても、搬送距離が厳密には異なるので、搬送時間も厳密には異なる。しかしながら、属する処理区画PZが同じであれば、搬送時間の差は僅かであり、搬送時間はこれらの処理ユニットMPCの間で概ね等しい。したがって、同じ処理区画PZに属する複数の処理ユニットMPCについて同じ値を搬送時間として登録すれば、これらの処理区画PZの間での搬送時間の差を減らしながら、搬送時間の設定を単純化できる。
【0146】
本実施形態では、区画最終使用時刻が最も古い複数の処理区画PZがあった場合は、投入可能率が最大の処理区画PZが、それらの処理区画PZの中から選択される。これは、多くの場合で、ユニット最終使用時刻が最も古い処理ユニットMPCの数が最大の処理区画PZを選択することを意味する。選択された処理ユニットMPCに基板Wを搬送する前や選択された処理ユニットMPCに基板Wを搬送しているときに、その処理ユニットMPCに異常が発生した場合は、別の処理ユニットMPCを選択し直す必要がある。このような場合、同じ処理区画PZの中にユニット最終使用時刻が最も古い別の処理ユニットMPCがあれば、その処理ユニットMPCを新たな処理ユニットMPCとして選択できる。したがって、比較的簡単な変更で基板Wの新たな搬送経路を設定できる。
【0147】
本実施形態では、全ての処理ユニットMPCを満遍なく使用できるので、スピンチャック33やスクラブ部材37などの処理ユニットMPCに備えられた装置等や、薬液ノズル34に薬液を送るポンプなどの処理ユニットMPCに関連する装置等を均等に使用できる。したがって、これらの消耗品の消耗度合いを平準化でき、メンテナンスの頻度を減らすことができる。これにより、基板処理装置1の稼働率をさらに高めることができる。
【0148】
第1および第2実施例では、基板Wの処理時間が第1処理時間から第2処理時間に減少する例について説明した。このような場合でも、区画最終使用時刻に基づいて複数の処理区画PZの中から1つの処理区画PZを選択するので、区画使用率の大小関係に基づいて処理区画PZを選択する場合に比べて複数の処理区画PZを均等に選択できる。したがって、基板Wの搬送経路や処理時間が異なる場合でも、全ての処理ユニットMPCを満遍なく使用することができ、基板処理装置1の稼働率をさらに高めることができる。
【0149】
他の実施形態
本発明は、前述の実施形態の内容に限定されるものではなく、種々の変更が可能である。
たとえば、処理区画PZは、搬送時間ではなく搬送距離に基づいて分類されてもよい。
同じ処理区画PZに属する処理ユニットMPCの数は、3つの処理区画PZの間で異なっていてもよい。
【0150】
基板処理装置1に設けられる処理区画PZの数は、2つまたは5つ以上であってもよい。たとえば、第2処理区画PZ2および第3処理区画PZ3を1つの処理区画PZとして扱ってもよい。もしくは、第3処理区画PZ3を省略してもよい。
第3処理区画PZ3を省略する場合、第1主搬送ロボットCR1が、第1処理区画PZ1および第2処理区画PZ2に属する全ての処理ユニットMPCに対して基板Wの搬入および搬出を行ってもよい。この場合、第2主搬送ロボットCR2および第2受け渡しユニットPASS2は不要である。
【0151】
第2処理区画PZ2の搬送時間は、第3処理区画PZ3の搬送時間と異なっていてもよいし、第1処理区画PZ1の搬送時間と等しくてもよい。
同じ処理区画PZに属する複数の処理ユニットMPCに対して同じ値が搬送時間として登録されるのではなく、処理ユニットMPCごとに搬送時間が登録されてもよい。すなわち、同じ処理区画PZに属する複数の処理ユニットMPCに対して登録された搬送時間が互いに異なっていてもよい。
【0152】
区画最終使用時刻が最も古い処理区画が複数見つかった場合(
図8のステップS34:YES)、スケジューリング機能部は、投入可能率が最大の処理区画PZではなく、最古チャンバ数が最大の処理区画PZを、候補区画に含まれる複数の処理区画の中で検索してもよい。
区画最終使用時刻が最も古い処理区画が複数見つかった場合(
図8のステップS34:YES)、投入可能率に基づいて処理区画PZを選択するのではなく、区画番号に基づいて処理区画PZを選択してもよい。もしくは、区画最終使用時刻が最も古い複数の処理区画PZの中から任意の処理区画PZを選択してもよい。
【0153】
修正ユニット最終使用時刻の代わりに、ユニット最終使用時刻を用いてもよい。もしくは、ユニット最終使用時刻の代わりに、修正ユニット最終使用時刻を用いてもよい。たとえば、区画最終使用時刻は、最も古い修正ユニット最終使用時刻ではなく、最も古いユニット最終使用時刻に基づいて特定されてもよい。基板Wを処理する処理ユニットMPCを選択する際に、最も古い区画最終使用時刻を最初に優先するのではなく、最も古い修正ユニット最終使用時刻を最初に優先してもよい。
【0154】
処理ユニットMPCは、
図3に示す表面洗浄ユニットおよび
図4に示す端面洗浄ユニットに限らず、基板Wの表面をスクラブ部材で洗浄する表面スクラブ洗浄ユニット、基板Wの裏面を洗浄する裏面洗浄ユニットなどの他の種類の処理ユニットであってもよい。複数種類の処理ユニットが1つの基板処理装置1に備えられていてもよい。
前述の全ての構成の2つ以上が組み合わされてもよい。前述の全てのステップの2つ以上が組み合わされてもよい。
【0155】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。