(58)【調査した分野】(Int.Cl.,DB名)
前記複数の処理ユニットが、基板を収容するキャリヤを保持するキャリヤ保持ユニットと各処理ユニットとの間の搬送経路長または搬送時間に基づいて前記複数のグループに分類され、
前記基板搬送ユニットが前記キャリヤから前記ユニット選択ステップで選択された処理ユニットまで基板を搬送する、請求項11〜13のいずれか一項に記載の基板処理方法。
前記ユニット選択ステップが、各処理ユニットが基板処理のために最後に使用された時刻であるユニット最終使用時刻を記録するステップと、ユニット最終使用時刻が最も古い
処理ユニットを選択するステップとを含む、請求項11〜19のいずれか一項に記載の基板処理方法。
【発明を実施するための形態】
【0023】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る基板処理装置の構成を説明するための図解的な平面図である。また、
図2は、
図1の切断面線II−IIに対応する図解的な断面図である。
この基板処理装置1は、キャリヤ保持部2と、インデクサ部3と、処理部4とを含む。キャリヤ保持部2は、複数枚の基板Wを収容可能な基板収容器であるキャリヤCをそれぞれ保持する複数のロードポートLPを含む。インデクサ部3は、インデクサロボットIRを含む。インデクサロボットIRは、キャリヤ保持部2に保持されたキャリヤCから未処理の基板Wを取り出して処理部4に渡す搬入動作と、処理部4から処理済みの基板Wを受け取ってキャリヤ保持部2に保持されたキャリヤCに収納する収納動作とを実行する。
【0024】
処理部4は、複数の処理ユニットMPC1〜MPC24(以下総称するときには「処理ユニットMPC」という。)と、第1主搬送ロボットCR1(第1搬送ロボット)と、第2主搬送ロボットCR2(第2搬送ロボット)と、第1受け渡しユニットPASS1と、第2受け渡しユニットPASS2とを含む。処理部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の受け渡しを仲介するユニットである。
【0025】
インデクサロボットIR、第1主搬送ロボットCR1および第2主搬送ロボットCR2は、キャリヤ保持部2と処理ユニットMPCとの間で基板Wを搬送する基板搬送ユニットを構成している。
複数の処理ユニットMPCは、複数のユニットタワーTW1〜TW6(以下総称するときには「ユニットタワーTW」という。)を形成するように分散して配置されている。各ユニットタワーTWは、複数の処理ユニットMPCを複数層(この実施形態では4層)に積層して形成されている。この実施形態では、各ユニットタワーTWは、4個の処理ユニットMPCを上下方向に積層して形成されている。複数のユニットタワーTWは、搬送路5の両側に振り分けられており、搬送路5に沿って配列されている。具体的には、この実施形態では、搬送路5の一方側に3個のユニットタワーTW1,TW3,TW5が配列されており、搬送路5の他方側に3個のユニットタワーTW2,TW4,TW6が配列されている。そして、搬送路5を挟んで3対のユニットタワーTW1,TW2;TW3,TW4;TW5,TW6がそれぞれ対向している。したがって、各対のユニットタワーTW1,TW2;TW3,TW4;TW5,TW6は、インデクサ部3との間の基板搬送距離がほぼ等しく、それに応じて、インデクサ部3との間の基板搬送時間がほぼ等しい。
【0026】
インデクサ部3からの距離が等しい各対のユニットタワーTW1,TW2;TW3,TW4;TW5,TW6は、処理区画PZ1,PZ2,PZ3(以下総称するときには「処理区画PZ」という。)をそれぞれ形成している。すなわち、インデクサ部3に最も近い位置で搬送路5を挟んで対向する一対のユニットタワーTW1,TW2は、第1処理区画PZ1を形成している。次にインデクサ部3に近い位置で搬送路5を挟んで対向する一対のユニットタワーTW3,TW4は、第2処理区画PZ2を形成している。次にインデクサ部3に近い位置、この実施形態ではインデクサ部3から最も遠い位置で搬送路5を挟んで対向する一対のユニットタワーTW5,TW6は、第3処理区画PZ3を形成している。
【0027】
第1処理区画PZ1とインデクサ部3との間に第1受け渡しユニットPASS1が配置されている。第1受け渡しユニットPASS1に対してインデクサ部3とは反対側に第1主搬送ロボットCR1が配置されている。第1主搬送ロボットCR1は、第1処理区画PZ1に近い位置、より具体的には第1処理区画PZ1を形成する一対のユニットタワーTW1,TW2の間の位置に配置されている。第1主搬送ロボットCR1に対して第1受け渡しユニットPASS1とは反対側に第2受け渡しユニットPASS2が配置されている。これにより、第1主搬送ロボットCR1は、第1受け渡しユニットPASS1、第1処理区画PZ1のユニットタワーTW1,TW2、および第2受け渡しユニットPASS2に対向するように配置されている。
【0028】
第2受け渡しユニットPASS2に対して第1主搬送ロボットCR1とは反対側に第2主搬送ロボットCR2が配置されている。第2主搬送ロボットCR2は、第2処理区画PZ2および第3処理区画PZ3に近い位置、より具体的には第2および第3処理区画PZ2,PZ3を形成する2対のユニットタワーTW3,TW4;TW5,TW6に取り囲まれる位置に配置されている。これにより、第2主搬送ロボットCR2は、第2受け渡しユニットPASS2、ならびに第2および第3処理区画PZ2,PZ3のユニットタワーTW3〜TW6に対向するように配置されている。
【0029】
インデクサロボットIRは、この実施形態では水平多関節アーム型のロボットである。インデクサロボットIRは、基板Wを保持するハンド11と、ハンド11に結合された多関節アーム12と、多関節アーム12を鉛直な回転軸線13まわりに回転させるアーム回転機構(図示せず)と、多関節アーム12を上下動させるアーム昇降機構(図示せず)とを含む。このような構成によって、インデクサロボットIRは、任意のロードポートLPに保持されたキャリヤCおよび第1受け渡しユニットPASS1にハンド11をアクセスさせ、そのアクセス先に対して基板Wを搬入/搬出する。それにより、インデクサロボットIRは、処理部4(より正確には第1受け渡しユニットPASS1)と任意のキャリヤCとの間で基板Wを搬送する。
【0030】
第1主搬送ロボットCR1および第2主搬送ロボットCR2には、ほぼ同様の構成を有する基板搬送ロボットを用いることができる。このような基板搬送ロボットは、好ましくは、基板Wを保持する一対のハンド21,22と、一対のハンド21,22を水平方向(放射方向)にそれぞれ進退させる一対のハンド進退機構23,24と、一対のハンド進退機構23,24を鉛直な回転軸線25まわりに回転させるハンド回転機構(図示せず)と、ハンド進退機構23,24を上下動させるハンド昇降機構(図示せず)とを含む。これにより、一方のハンド21,22でアクセス先から基板Wを取り出し、他方のハンド21,22でアクセス先に対して基板Wを搬入できる。このような構成の基板搬送ロボットを第1主搬送ロボットCR1に適用することにより、第1主搬送ロボットCR1は、第1受け渡しユニットPASS1、第1処理区画PZ1のユニットタワーTW,TW2を形成する複数の処理ユニットMPC、および第2受け渡しユニットPASS2に対して、ハンド21,22を直接アクセスさせ、そのアクセス先に対して基板Wを搬入/搬出することができる。また、上記のような構成の基板搬送ロボットを第2主搬送ロボットCR2に適用することにより、第2主搬送ロボットCR2は、第2受け渡しユニットPASS2、ならびに第2および第3処理区画PZ2,PZ3のユニットタワーTW3〜TW6を形成する複数の処理ユニットMPCに対してハンド21,22を直接アクセスさせ、そのアクセス先に対して基板Wを搬入/搬出することができる。
【0031】
第1および第2受け渡しユニットPASS1,PASS2は、基板Wを一時的に保持する基板載置台15を備えている。
第1処理区画PZ1、第2処理区画PZ2および第3処理区画PZ3にそれぞれ対応して3個の薬液キャビネットCC1,CC2,CC3(薬液供給源。処理流体供給源の一例。以下総称するときには「薬液キャビネットCC」という。)が設けられている。第1薬液キャビネットCC1は、第1処理区画PZ1を形成する複数の処理ユニットMPCに対して、基板Wを処理するための薬液(処理流体の一例)を供給する。すなわち、第1薬液キャビネットCC1は第1処理区画PZ1に含まれる複数の処理ユニットMPCによって共有されている。同様に、第2薬液キャビネットCC2は第2処理区画PZ2を形成する複数の処理ユニットMPCに対して、基板Wを処理するための薬液を供給する。すなわち、第2薬液キャビネットCC2は第2処理区画PZ2に含まれる複数の処理ユニットMPCによって共有されている。さらに同様に、第3薬液キャビネットCC3は第3処理区画PZ3を形成する複数の処理ユニットMPCに対して、基板Wを処理するための薬液を供給する。すなわち、第3薬液キャビネットCC3は第3処理区画PZ3に含まれる複数の処理ユニットMPCによって共有されている。
【0032】
第1〜第3薬液キャビネットCC1,CC2,CC3は、
図1においては、処理部4の一側方に描いてあるが、他の場所に配置されてもよい。たとえば、第1〜第3薬液キャビネットCC1,CC2,CC3の一部または全部が、インデクサ部3とは反対側において搬送路5の端部付近に配置されてもよい。また、第1〜第3薬液キャビネットCC1,CC2,CC3の一部または全部が、処理ユニットMPC等を含む基板処理装置本体が配置される床面よりも下方の階下のスペースに配置されてもよい。すなわち、装置全体の占有面積を縮小するために、基板処理装置本体に対して立体的に薬液キャビネットCCを配置してもよい。
【0033】
図3は、処理ユニットMPCの構成例を説明するための図解的な断面図である。この処理ユニットMPCは、基板の表面を薬液で洗浄する表面洗浄ユニットである。処理ユニットMPCは、処理チャンバ31と、処理チャンバ31内に配置された処理カップ32と、処理カップ32内に配置されたスピンチャック33と、基板Wに薬液を供給する薬液ノズル34と、基板Wにリンス液(純水等)を供給するリンス液ノズル35とを含む。スピンチャック33は、処理対象の1枚の基板Wを水平姿勢で保持して鉛直な回転軸線36まわりに回転させるように構成されている。薬液ノズル34およびリンス液ノズル35は、処理チャンバ31内に配置されており、スピンチャック33に保持されている基板Wの上面に向けて薬液およびリンス液をそれぞれ吐出する。薬液ノズル34には、薬液供給配管40を介して薬液キャビネットCCから薬液が供給される。
【0034】
このような構成により、基板Wの上面に薬液を供給して当該薬液で基板Wの上面を処理する薬液処理と、基板Wの上面の薬液をリンス液で洗い流すリンス処理と、基板W上の液滴を遠心力で振り切るスピン乾燥処理とを実行することができる。
図4は、処理ユニットMPCの他の構成例を説明するための図解的な断面図である。対比のために、
図3の対応部分に同一参照符号を付してある。この処理ユニットMPCは、基板Wの周端面をスクラブ洗浄する端面洗浄ユニットである。処理ユニットMPCは、処理チャンバ31と、処理チャンバ31内に配置されたスピンチャック33と、薬液ノズル34と、基板Wの端面をスクラブ洗浄するスクラブ部材37とを含む。スピンチャック33は、1枚の基板Wを水平姿勢で保持して鉛直な回転軸線36まわりに回転させる。薬液ノズル34は、スピンチャック33に保持された基板Wの表面に薬液を供給する。薬液ノズル34には、薬液キャビネットCCから薬液供給配管40を介して薬液が供給される。スクラブ部材37は、スピンチャック33に保持された基板Wの周端面に当接する。スピンチャック33の回転によって基板Wが回転されることにより、スクラブ部材37は基板Wの周端面を全周に渡ってスクラブ洗浄する。
【0035】
図5は、基板処理装置1内の薬液配管系を説明するための系統図である。薬液キャビネットCCは、処理区画PZ毎に一つずつ設けられている。薬液配管系は、薬液キャビネットCCから処理ユニットMPCに薬液を供給する薬液供給配管40を含む。
薬液供給配管40は、一つの処理区画PZを構成する2つのユニットタワーTWに跨がって門形に配置された主供給路41を含む。主供給路41は、一方のユニットタワーTWに沿って立ち上げられた立ち上がり部41Aと、この立ち上がり部41Aに結合され、搬送路5の上方で他方のユニットタワーTWに渡る渡り部41Bと、この渡り部41Bに結合され、当該他方のユニットタワーTWに沿って垂れ下がる垂れ下がり部41Cとを含む。薬液キャビネットCCの薬液出口51に主供給路41の入口部が結合され、薬液キャビネットCCの薬液帰還口52に主供給路41の出口部が結合されている。薬液供給配管40は、さらに、立ち上がり部41AからユニットタワーTWを構成する複数の処理ユニットMPCにそれぞれ分岐した複数の分岐供給路42と、垂れ下がり部41CからユニットタワーTWを構成する複数の処理ユニットMPCにそれぞれ分岐した複数の分岐供給路43とを含む。各分岐供給路42,43には、流量調整バルブ45、流量計46、および薬液バルブ47が介装されている。各分岐供給路42,43の先端は、処理ユニットMPC内に導入されており、薬液ノズル34に結合されている。流量調整バルブ45は、分岐供給路42,43を流れる薬液の流量を調整するためのバルブである。流量計46は、分岐供給路42,43を流通する薬液の流量を計測する装置である。薬液バルブ47は、分岐供給路42,43を開閉し、それによって薬液ノズル34からの薬液の吐出/停止を制御するためのバルブである。
【0036】
薬液キャビネットCCは、薬液を貯留する薬液タンク55と、薬液タンク55から薬液を汲み出して主供給路41へと圧送するポンプ56と、薬液タンク55と薬液出口51との間の薬液経路57に介装された温度調節器(ヒータ)58とを含む。薬液タンク55からポンプ56によって汲み出された薬液は、薬液経路57および薬液供給路40を通って処理ユニットMPCに供給される。処理ユニットMPCで使用されなかった薬液は、薬液供給路40を通って薬液タンク55へと戻り、それにより、薬液が循環する。この薬液の循環経路に温度調節器58が介装されているので、ポンプ56を駆動して薬液を循環することにより、薬液タンク55内の薬液の温度を維持できる。主供給路41への薬液の圧送は、ポンプ56を用いる構成のほかにも、密閉形の薬液タンク55の内部を加圧気体(たとえば窒素等の不活性ガス)で加圧する構成によって行うこともできる。
【0037】
図6は、基板処理装置1の電気的構成を説明するためのブロック図である。基板処理装置1は、制御ユニットとしてのコンピュータ60を備えている。コンピュータ60は、処理ユニットMPC1〜MPC8;MPC9〜MPC16;MPC17〜MPC24、薬液キャビネットCC1,CC2,CC3、主搬送ロボットCR1,CR2およびインデクサロボットIRを制御する。コンピュータ60は、パーソナルコンピュータ(FAパソコン)の形態を有していてもよい。コンピュータ60は、制御部61と、出入力部62と、記憶部63とを備えている。制御部61は、CPU等の演算ユニットを含む。出入力部62は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部62は、外部コンピュータであるホストコンピュータ64との通信のための通信モジュールを含む。記憶部63は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
【0038】
制御部61は、スケジューリング機能部65と、処理実行指示部66とを含む。スケジューリング機能部65は、基板WをキャリヤCから搬出し、処理ユニットMPC1〜MPC24のうちの一つ以上でその基板Wを処理した後、その処理後の基板WをキャリヤCに収容するために、基板処理装置1のリソースを時系列に従って作動させるための計画(スケジュール)を作成する。処理実行指示部66は、スケジューリング機能部65によって作成されたスケジュールに従って、基板処理装置1のリソースを作動させる。リソースとは、基板処理装置1に備えられ、基板の処理のために用いられる各種のユニットであり、具体的には、処理ユニットMPC1〜MPC24、インデクサロボットIR、主搬送ロボットCR1,CR2、薬液キャビネットCC1,CC2,CC3およびそれらの構成要素を含む。
【0039】
記憶部63は、制御部61が実行するプログラム70と、ホストコンピュータ64から受信したプロセスジョブデータ(プロセスジョブ情報)80と、スケジューリング機能部65によって作成されたスケジュールデータ81と、処理ユニットMPCおよび処理区画PZの使用履歴データ82とを含む各種データ等を記憶するように構成されている。
記憶部63に記憶されたプログラム70は、制御部61をスケジューリング機能部65として作動させるためのスケジュール作成プログラム71と、制御部61を処理実行指示部66として作動させるための処理実行プログラム72とを含む。
【0040】
プロセスジョブデータ80は、各基板Wに付与されたプロセスジョブ(PJ)符号と、プロセスジョブ符号に対応付けられたレシピとを含む。レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、基板種情報、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。基板種情報は、処理対象の基板Wの種類を表す情報である。基板Wの種類の具体例は、製品を作り込むために使用される製品基板、処理ユニットMPCのメンテナンス等のために使用され、製品の製造には使用されない非製品基板などである。並行処理ユニット情報とは、使用可能な処理ユニットMPCを指定する処理ユニット指定情報であり、指定された処理ユニットMPCによる並行処理が可能であることを表す。すなわち、指定処理ユニットのうちのいずれかで基板Wを処理すればよい。使用処理液情報とは、基板処理のために用いる処理液の種類を指定する情報である。具体例は、薬液の種類および薬液の温度を指定する情報である。処理時間情報とは、処理液を供給する継続時間などである。使用処理液情報および処理時間情報は、処理条件情報の例である。
【0041】
プロセスジョブとは、共通の処理が施されるべき1枚または複数枚の基板Wに対して行われる当該処理をいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報(基板群識別情報)である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Wには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。たとえば、処理順序(キャリヤCからの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ符号が付与される。ただし、異なるプロセスジョブ符号に対応する基板処理内容(レシピ)が同じである場合もあり得る。
【0042】
制御部61は、各基板Wに対するプロセスジョブデータを、ホストコンピュータ64から出入力部62を介して取得し、記憶部63に記憶させる。プロセスジョブデータの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、キャリヤCがロードポートLP1〜LP4に保持された直後に、ホストコンピュータ64から制御部61に当該キャリヤCに収容された基板Wに対応するプロセスジョブデータが与えられてもよい。スケジューリング機能部65は、記憶部63に格納されたプロセスジョブデータ80に基づいて各プロセスジョブを計画し、その計画を表すスケジュールデータ81を記憶部63に格納する。処理実行指示部66は、記憶部63に格納されたスケジュールデータ81に基づいて、インデクサロボットIR、主搬送ロボットCR1,CR2、処理ユニットMPC1〜MPC24、および薬液キャビネットCC1,CC2,CC3を制御することにより、基板処理装置1にプロセスジョブを実行させる。
【0043】
図7は、スケジューリング機能部65による処理例を説明するためのフローチャートである。より具体的には、制御部61(コンピュータ60)がスケジュール作成プログラム71を実行することによって、所定の制御周期で繰り返し行われる処理が表されている。換言すれば、スケジュール作成プログラム71には、
図7に示す処理をコンピュータ60に実行させるようにステップ群が組み込まれている。
【0044】
ホストコンピュータ64は、プロセスジョブデータを制御部61に与えて、そのプロセスジョブデータによって定義されるプロセスジョブの開始、すなわち基板処理の開始を指示する(ステップS1)。制御部61は、そのプロセスジョブデータを受信して記憶部63に格納する。そのプロセスジョブデータを用いて、スケジューリング機能部65は、プロセスジョブを実行するためのスケジューリングを行う。プロセスジョブの開始は、作業者が、出入力部62の操作部を操作して指示することもできる。
【0045】
スケジューリング機能部65は、プロセスジョブデータに対応する基板Wの1枚ずつについて、順にスケジューリングを実行する。まず、スケジューリング機能部65は、プロセスジョブデータに対応するレシピを参照し、そのレシピの並行処理ユニット情報に基づいて、基板Wの処理のために使用可能な1つ以上の処理ユニットMPCを特定する(ステップS2)。次いで、スケジューリング機能部65は、基板処理に用いるべき一つの処理区画PZを選択するための処理区画選択処理を実行する(ステップS3)。処理区画選択処理の詳細は、後述する。
【0046】
次に、スケジューリング機能部65は、1枚の基板Wを処理するための仮タイムテーブルを作成する(ステップS4)。たとえば、処理区画選択処理において第1処理区画PZ1が選択され、プロセスジョブデータに対応するレシピの並行処理ユニット情報に第1処理区画PZ1の全ての処理ユニットMPC1〜MPC8が含まれているとする。すなわち、当該レシピに従う基板処理が、8個の処理ユニットMPC1〜MPC8のいずれにおいても実行可能である場合を考える。この場合、当該基板Wが処理を受けるために通る経路は、8通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットMPC1〜MPC8のいずれかを通る8個の経路である。そこで、スケジューリング機能部65は、その8個の経路に対応した仮タイムテーブルを当該1枚の基板Wに対して作成する。
【0047】
処理ユニットMPC1を通る経路に対応した仮タイムテーブルを
図8Aに示す。この仮タイムテーブルは、インデクサロボット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は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。さらに、
図8Aの仮タイムテーブルは、処理ブロックが配置された期間中の所定の薬液処理期間において、第1薬液キャビネットCC1からの薬液の供給を表す薬液供給ブロックを含む。
【0048】
図示は省略するが、スケジューリング機能部65は、同じ基板Wに対して、処理ユニットMPC2〜MPC8をそれぞれ通る経路に対応した同様の仮タイムテーブル(処理ブロックを処理ユニットMPC2〜MPC8にそれぞれ配置した仮タイムテーブル)を作成する。こうして、一枚の基板Wに対して合計8経路分の仮タイムテーブルが作成される。
作成された仮タイムテーブルは、スケジュールデータ81の一部として記憶部63に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。
【0049】
スケジューリング機能部65は、1枚の基板Wに対応した全ての仮タイムテーブルを作成し終えると(ステップS5)、本スケジューリングを実行する(ステップS6〜S9)。本スケジューリングとは、作成された仮タイムテーブルのブロックを、各リソースの他のブロックと重複しないように、時間軸上に配置することである。ただし、薬液キャビネットCCは、対応する処理区画PZの全ての処理ユニットMPCに薬液を供給できる能力を備えているので、薬液キャビネットCCに関しては薬液供給ブロックの重複配置が許される。本スケジューリングによって作成されたスケジュールデータは記憶部63に格納される。
【0050】
さらに具体的に説明すると、スケジューリング機能部65は、当該基板Wに対応して作成済みの複数の仮タイムテーブルのうちの一つを選択し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS6)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部65は、当該取得したブロックを配置できる位置を検索し(ステップS7)、その検索された位置に当該ブロックを配置する(ステップS8)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、選択した仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS9)。こうして、選択した仮タイムテーブルを構成する全てのブロックが配置されることにより、その仮タイムテーブルに対応した本スケジューリングが完了する。この本スケジューリングが、作成された全ての仮タイムテーブルについて実行される(ステップS10)。すなわち、当該基板Wを処理する可能性のある処理ユニットMPC1〜MPC8で基板Wを処理することとした全ての場合、すなわち8通りの場合について、本スケジューリングが実行される。
【0051】
この8通りの本スケジューリングを終えると、ユニット選択処理が行われる(ステップS11)。ユニット選択処理では、一つの本スケジューリング、すなわち、一つの処理ユニットMPCを通る本スケジューリングが選択され、それによって1枚の基板Wを処理する処理ユニットMPCが選択される。ユニット選択処理では、その基板Wを処理してキャリヤCに戻す時刻が最も早い一つの本スケジューリングが選択される(ステップS11)。もしも、キャリヤCに基板Wが戻る時刻が等しい複数の本スケジューリングが存在するときには(ステップS12:YES)、前回の使用からの使用間隔が最も長い処理ユニットMPC、すなわちユニット最終使用時刻が最も古い処理ユニットMPCを用いる本スケジューリングが選択される(ステップS13)。これにより、一つの処理区画PZ内の処理ユニットMPCが均等に使用されるように、処理ユニットMPCを選択できる。ユニット最終使用時刻が等しい複数の処理ユニットMPCを使う本スケジューリングが複数存在するときには(ステップS14:YES)、番号の小さい(すなわち、予め付した優先順の高い)処理ユニットMPCを使う本スケジューリングが選択される(ステップS15)。
【0052】
こうして、一つの仮タイムテーブルに対応した一つの本スケジューリングが選択されると、当該1枚の基板Wに対するスケジューリングが完了する。そして、選択された本スケジューリングを表すスケジューリングデータは、記憶部63に格納される。処理実行指示部66は、その後の任意のタイミングで、当該基板Wに対する処理を実際に開始する(ステップS20)。すなわち、インデクサロボットIRによってキャリヤCから基板Wを搬出し、主搬送ロボットCR1,CR2によって処理ユニットMPCへと基板Wを搬送する基板搬送動作が開始される。
【0053】
スケジューリング機能部65は、1枚の基板Wに対するスケジューリングが完了すると、当該基板Wを処理する処理ユニットMPCのユニット最終使用時刻を記憶部63に登録する(ステップS19)。さらに、スケジューリング機能部65は、当該処理ユニットMPCが属する処理区画PZ内の他の処理ユニットMPCのユニット最終使用時刻を調べ、その処理区画PZに属する処理ユニットMPCのユニット最終使用時刻のなかで最先の時刻を区画最終使用時刻として記憶部73に登録する(ステップS17)。さらにまた、スケジューリング機能部65は、当該処理ユニットMPCが属する処理区画PZの使用率(区画使用率)を求めて、記憶部63に登録する(ステップS18)。これらのユニット最終使用時刻、区画最終使用時刻および区画使用率は、使用履歴データ82の一例である。
【0054】
同様の動作が、プロセスジョブを構成する全ての基板Wに対して、順に実行される(ステップS19)。
処理区画選択処理(ステップS3)において、第2処理区画PZ2が選択されると、スケジューリング機能部65は、1枚の基板Wに対して、処理ユニットMPC9〜MPC16をそれぞれ通る経路に対応した仮タイムテーブル(処理ブロックを処理ユニットMPC9〜MPC16にそれぞれ配置した仮タイムテーブル)を作成する。それにより、一枚の基板Wに対して合計8経路分の仮タイムテーブルが作成される。処理ユニットMPC9を通る経路に対応した仮タイムテーブルを
図8Bに示す。この仮タイムテーブルは、インデクサロボット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は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。さらに、
図8Bの仮タイムテーブルは、処理ブロックが配置された期間中の所定の薬液処理期間において、第2薬液キャビネットCC2からの薬液の供給を表す薬液供給ブロックを含む。
【0055】
処理区画選択処理(ステップS3)において、第3処理区画PZ3が選択されると、スケジューリング機能部65は、1枚の基板Wに対して、処理ユニットMPC17〜MPC24をそれぞれ通る経路に対応した仮タイムテーブル(処理ブロックを処理ユニットMPC17〜MPC24にそれぞれ配置した仮タイムテーブル)を作成する。それにより、一枚の基板Wに対して合計8経路分の仮タイムテーブルが作成される。処理ユニットMPC17を通る経路に対応した仮タイムテーブルを
図8Cに示す。この仮タイムテーブルは、
図8Bの仮タイムテーブルとほぼ同様である。ただし、処理ユニットMPC17を通る点、および薬液供給を表す薬液供給ブロックが第3薬液キャビネットCC3に対して配置されている点が異なる。
【0056】
図9は、処理区画選択処理(
図7のステップS3)の例を説明するためのフローチャートである。また、
図10Aおよび
図10B、
図11A〜
図11E、ならびに
図12A〜
図12Fは、処理区画選択処理に関連して記憶部63に格納される使用履歴データ82の例を示す。
処理区画選択処理は、複数の処理区画PZが均等に使用されるように処理区画PZを選択するように設計されている。
【0057】
記憶部63には、
図10Aに示すように、全ての処理ユニットMPCについて、処理区画PZの設定を表す処理区画データが登録されている。この例では、処理ユニットMPC1〜MPC8については、第1処理区画PZ1に属することを表す処理区画データ「1」が登録されている。また、処理ユニットMPC9〜MPC16については、第2処理区画PZ2に属することを表す処理区画データ「2」が登録されている。さらに、処理ユニットMPC17〜MPC24については、第3処理区画PZ3に属することを表す処理区画データ「3」が登録されている。いずれかの処理ユニットMPCがメンテナンス等のために基板処理に利用できないときは、
図10Bに示すように、処理区画PZを識別するデータ(番号)の代わりに、無効であることを表すデータ(たとえば「メンテナンス中」を表すデータなど)が登録される。メンテナンスとは、たとえば、定期的に計画される処理ユニットMPCの洗浄等である。
【0058】
一方、記憶部63には、
図11A〜
図11Eおよび
図12A〜
図12Fに示すように、各処理区画PZの区画使用率および区画最終使用時刻のデータが使用履歴データ82として登録されている。
スケジューリング機能部65は、各基板Wの処理をすべき処理区画PZを選択するときに、処理区画データに基づいて、各処理ユニットMPCがいずれの処理区画PZに属するのか、および無効な処理ユニットMPCが存在するかを判断する(
図9のステップS31)。そして、スケジューリング機能部65は、区画使用率を記憶部63から読み出し、区画使用率が最も低い処理区画PZを選択する(ステップS33)。区画使用率が最低の処理区画PZが複数存在するときは(ステップS32:YES)、スケジューリング機能部65は、区画最終使用時刻が最も古い処理区画PZを選択する(ステップS35)。区画最終使用時刻が最古の処理区画PZが複数存在するときは(ステップS34:YES)、スケジューリング機能部65は、区画番号が最も小さい(すなわち、予め付した優先順位が最も高い)処理区画PZを選択する(ステップS36)。
【0059】
図11A〜
図11Eは、
図10Aに示すように全ての処理ユニットMPC1〜MPC24が使用可能(有効)であり、かつプロセスジョブデータが指定するレシピにおいて全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている場合における記憶部63内の使用履歴データ82の変遷の例を示す。
初期状態では、
図11Aに示すように、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率は、いずれも零であり、区画最終使用時刻には初期値(たとえば「0」)が登録されている。たとえば、第1処理区画PZ1のいずれかの処理ユニットMPCを使用して1枚の基板Wを処理するための本スケジューリングが完了すると、
図11Bに示すように、スケジューリング機能部65は、第1処理区画PZ1の区画使用率および区画最終使用時刻として、初期値とは異なる有意な値を登録する。処理区画使用率は、たとえば、基板Wの処理のために要する時間を当該処理区画PZにおける有効な(利用可能な)処理ユニットMPCの数で除した値であってもよい。より具体的には、第1処理区画PZ1の一つの処理ユニットMPCに対して120秒かかる基板処理を計画した場合に、第1処理区画PZ1の有効処理ユニット数が8であり、他の処理ユニットMPCに対して実行未了の基板処理計画が存在しなければ、区画使用率は15(=120/8)となる。スケジューリング機能部65は、或る処理ユニットMPCを使用する1枚の基板Wの処理を計画すると、区画使用率を計算して記憶部30に登録するとともに、その処理ユニットMPCにおける処理を終了する時刻を推定し、その推定した時刻をユニット最終使用時刻として記憶部63に登録する。ユニット最終使用時刻は、使用履歴データ82の一部であり、
図7のステップS13での判断に利用される。さらに、スケジューリング機能部65は、各処理区画PZに対して、当該処理区画PZに属する処理ユニットMPCのユニット最終使用時刻のうちで最も遅いものを区画最終使用時刻として記憶部63に登録する。
【0060】
2枚目の基板Wの処理を計画するとき、
図11Bに示すように、第2および第3処理区画PZ2,PZ3の区画使用率はいずれも初期値「0」(最低値)であり、第2および第3処理区画PZ2,PZ3の区画最終使用時刻はいずれも初期値「0」(最古値)である。したがって、番号の小さい第2処理区画PZ2が選択される。2枚目の基板Wを第2処理区画PZ2の処理ユニットMPCで処理する計画を終えると、
図11Cに示すように、スケジューリング機能部65は、第2処理区画PZ2の区画使用率および区画最終使用時刻として初期値とは異なる有意な値を登録する。
図11Cには、第2処理区画PZ2のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第2処理区画PZ2の有効処理ユニット数が8である場合の例が示されており、第2処理区画PZ2の区画使用率は15(=120/8)となっている。
【0061】
3枚目の基板Wの処理を計画するとき、
図11Cに示すように、第3処理区画PZ3の区画使用率は初期値「0」(最低値)である。したがって、第3処理区画PZ3が選択される。3枚目の基板Wを第3処理区画PZ3の処理ユニットMPCで処理する計画を終えると、
図11Dに示すように、スケジューリング機能部65は、第3処理区画PZ3の区画使用率および区画最終使用時刻として初期値とは異なる有意な値を登録する。
図11Dには、第3処理区画PZ3のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第3処理区画PZ3の有効処理ユニット数が8である場合の例が示されており、第3処理区画PZ3の区画使用率は15(=120/8)となっている。
【0062】
4枚目の基板Wの処理を計画するとき、
図11Dに示すように、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率がいずれも最低値「15」である。したがって、区画最終使用時刻が最も古い第1処理区画PZ1が選択される。4枚目の基板Wを第1処理区画PZ1の処理ユニットMPCで処理する計画を終えると、
図11Eに示すように、スケジューリング機能部65は、第1処理区画PZ1の区画使用率および区画最終使用時刻を更新する。
図11Eには、第1処理区画PZ1のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第1処理区画PZ1の有効処理ユニット数が8である場合の例が示されている。この場合、区画使用率は15(=120/8)だけ増加して、30となっている。
【0063】
先に計画した基板Wの処理が完了すると、当該基板Wに関して加算された分だけ区画使用率が減算される。前述の例では、
図11Bにおいて、第1処理区画PZ1のたとえば処理ユニットMPC1を用いる基板処理を計画したことにより第1処理区画PZ1の区画使用率が0から15となり、
図11Eにおいて、第1処理区画PZ1のたとえば処理ユニットMPC2を用いる基板処理を計画したことにより第1処理区画PZ1の区画使用率が15から30に増加している。その後、第1処理区画PZ1に対してさらに別の基板Wの処理を計画する前に処理ユニットMPC1での基板処理が完了すると、スケジューリング機能部65は、第1処理区画PZ1の区画使用率を15だけ減じて、30から15に減少させる。
【0064】
図12A〜
図12Fは、
図10Bに示すように、第1処理区画PZ1の一部の処理ユニットMPC5〜MPC8がメンテナンスのために無効(使用不可)とされており、他の全ての処理ユニットMPCが使用可能(有効)な場合における記憶部63の内部の使用履歴データ82の変遷を示す。前述の場合と同様に、プロセスジョブデータが指定するレシピにおいて全ての処理ユニットMPC1〜MPC24が並行処理ユニットとして指定されている場合を想定している。
【0065】
初期状態では、
図12Aに示すように、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率は、いずれも零であり、区画最終使用時刻には初期値(たとえば「0」)が登録されている。たとえば、第1処理区画PZ1のいずれかの処理ユニットMPCを使用して1枚の基板Wを処理するためのスケジューリングが完了すると、
図12Bに示すように、スケジューリング機能部65は、第1処理区画PZ1の区画使用率および区画最終使用時刻として、初期値とは異なる有意な値を登録する。より具体的には、第1処理区画PZ1の一つの処理ユニットMPCに対して120秒かかる基板処理を計画した場合に、第1処理区画PZ1の有効処理ユニット数が4であるので、他の処理ユニットMPCに対して実行未了の基板処理計画が存在しなければ、区画使用率は30(=120/4)となる。スケジューリング機能部65は、区画使用率を計算して記憶部63に登録するとともに、その処理ユニットMPCにおける処理を終了する時刻を推定し、その推定した時刻をユニット最終使用時刻として記憶部63に登録する。さらに、スケジューリング機能部65は、各処理区画PZに対して、当該処理区画PZに属する処理ユニットMPCのユニット最終使用時刻のうちで最も遅いものを区画最終使用時刻として記憶部63に登録する。
【0066】
2枚目の基板Wの処理を計画するとき、
図12Bに示すように、第2および第3処理区画PZ2,PZ3の区画使用率はいずれも初期値「0」(最低値)であり、第2および第3処理区画PZ2,PZ3の区画最終使用時刻はいずれも初期値「0」(最古値)である。したがって、番号の小さい第2処理区画PZ2が選択される。2枚目の基板Wを第2処理区画PZ2の処理ユニットMPCで処理する計画を終えると、
図12Cに示すように、スケジューリング機能部65は、第2処理区画PZ2の区画使用率および区画最終使用時刻として初期値とは異なる有意な値を登録する。
図12Cには、第2処理区画PZ2のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第2処理区画PZ2の有効処理ユニット数が8である場合の例が示されており、第2処理区画PZ2の区画使用率は15(=120/8)となっている。
【0067】
3枚目の基板Wの処理を計画するとき、
図12Cに示すように、第3処理区画PZ3の区画使用率は初期値「0」(最低値)である。したがって、第3処理区画PZ3が選択される。3枚目の基板Wを第3処理区画PZ3の処理ユニットMPCで処理する計画を終えると、
図12Dに示すように、スケジューリング機能部65は、第3処理区画PZ3の区画使用率および区画最終使用時刻として初期値とは異なる有意な値を登録する。
図12Dには、第3処理区画PZ3のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第3処理区画PZ3の有効処理ユニット数が8である場合の例が示されており、第3処理区画PZ3の区画使用率は15(=120/8)となっている。
【0068】
4枚目の基板Wの処理を計画するとき、
図12Dに示すように、第2および第3処理区画PZ2,PZ3の区画使用率がいずれも最低値「15」である。したがって、区画最終使用時刻が最も古い第2処理区画PZ2が選択される。4枚目の基板Wを第2処理区画PZ2の処理ユニットMPCで処理する計画を終えると、
図12Eに示すように、スケジューリング機能部65は、第2処理区画PZ2の区画使用率および区画最終使用時刻を更新する。
図12Eには、第2処理区画PZ2のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第2処理区画PZ2の有効処理ユニット数が8である場合の例が示されている。この場合、区画使用率は15(=120/8)だけ増加して、30となっている。
【0069】
5枚目の基板Wの処理を計画するとき、
図12Eに示すように、第3処理区画PZ3の区画使用率が最低値「15」である。したがって、第3処理区画PZ3が選択される。5枚目の基板Wを第3処理区画PZ3の処理ユニットMPCで処理する計画を終えると、
図12Fに示すように、スケジューリング機能部65は、第3処理区画PZ3の区画使用率および区画最終使用時刻を更新する。
図12Fには、第3処理区画PZ3のいずれかの処理ユニットMPCに対して120秒かかる処理を計画し、かつ第3処理区画PZ3の有効処理ユニット数が8である場合の例が示されている。この場合、区画使用率は15(=120/8)だけ増加して、30となっている。
【0070】
図13A〜
図13Dにスケジューリングの一例を示す。この例では、ホストコンピュータ64から与えられるプロセスジョブデータが、処理ユニットMCP1〜MPC24を並行処理ユニットに指定するレシピを適用して6枚の基板W1〜W6を処理することを規定する場合を想定している。
1枚目の基板W1の処理を計画するとき、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率はいずれも零であり、かつ第1〜第3処理区画PZ1,PZ2,PZ3の区画最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、最も番号の小さい第1処理区画PZ1を選択し、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC1)で1枚目の基板W1を処理する計画を作成する(
図13A)。この基板W1の処理のために処理ユニットMPC1が要する処理時間が120秒であるとすれば、第1処理区画PZ1の区画使用率は15(=120/8)となる。また、処理ユニットMPC1での基板W1の処理が終了する時刻t1が、処理ユニットMPC1のユニット最終使用時刻であり、かつ第1処理区画PZ1の区画最終使用時刻T1となる。
【0071】
2枚目の基板W2の処理を計画するとき、第2および第3処理区画PZ2,PZ3の区画使用率がいずれも最低値「0」であり、かつ第2および第3処理区画PZ2,PZ3の区画最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、それらのうちでより番号の小さい第2処理区画PZ2を選択し、第2処理区画PZ2における有効な処理ユニットMPC9〜MPC16をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC9)で2枚目の基板W2を処理する計画を作成する(
図13A)。この基板W2の処理のために処理ユニットMPC9が要する処理時間が120秒であるとすれば、第2処理区画PZ2の区画使用率は15(=120/8)となる。また、処理ユニットMPC9での基板W2の処理を終了する時刻が、処理ユニットMPC19のユニット最終使用時刻t9であり、かつ第2処理区画PZ2の区画最終使用時刻T2となる。
【0072】
3枚目の基板W3の処理を計画するとき、第3処理区画PZ3の区画使用率が最低値「0」である。そこで、スケジューリング機能部65は、第3処理区画PZ3を選択し、第3処理区画PZ3における有効な処理ユニットMPC17〜MPC24をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC17)で3枚目の基板W3を処理する計画を作成する(
図13A)。この基板W3の処理のために処理ユニットMPC17が要する処理時間が120秒であるとすれば、第3処理区画PZ3の区画使用率は15(=120/8)となる。また、処理ユニットMPC17での基板W3の処理を終了する時刻が、処理ユニットMPC17のユニット最終使用時刻t17であり、かつ第3処理区画PZ3の区画最終使用時刻T3となる。
【0073】
4枚目の基板W4(
図13B参照)の処理を計画するとき、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率はいずれも15で等しい。そこで、スケジューリング機能部65は、第1〜第3処理区画PZ1,PZ2,PZ3の区画最終使用時刻T1,T2,T3を比較し、最も古い区画最終使用時刻T1(
図13A参照)に対応する第1処理区画PZ1を選択する。さらに、スケジューリング機能部65は、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
図13Bの例では、第1主搬送ロボットCR1が基板W4を搬入できる時刻a1では、第1処理区画PZ1の処理ユニットMPC1〜MPC8はいずれも基板Wを処理していないので、いずれの処理ユニットMPC1〜MPC8においても基板W4の処理を計画することができ、かつ基板処理終了推定時刻(キャリヤCに基板W4が戻される時刻)も実質的に等しい。一方、処理ユニットMPC1のユニット最終使用時刻t1は、初期値以外の有意値であり、他の処理ユニットMPC2〜MPC8のユニット最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC2〜MPC8のうち、最も番号の小さい処理ユニットMPC2を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC2で4枚目の基板W4を処理する計画を作成する。この基板W4の処理のために処理ユニットMPC2が要する処理時間が120秒であるとすれば、第1処理区画PZ1の区画使用率は15(=120/8)だけ増えて、30となる。なぜなら、基板W4の処理を計画している時点では、処理ユニットMPC1での基板処理が完了していないからである。そして、処理ユニットMPC2での基板W4の処理が終了する時刻が、処理ユニットMPC2のユニット最終使用時刻t2であり、これはユニット最終使用時刻t1よりも後の時刻であるので、第1処理区画PZ1の区画最終使用時刻T1=t2となる。
【0074】
5枚目の基板W5(
図13C参照)の処理を計画するとき、第1処理区画PZ1の区画使用率は30であり、第2および第3処理区画PZ2,PZ3の区画使用率はいずれも15で等しい。そこで、スケジューリング機能部65は、第2および第3処理区画PZ2,PZ3の区画最終使用時刻T2,T3を比較し、最も古い区画最終使用時刻T2(
図13B参照)に対応する第2処理区画PZ2を選択する。さらに、スケジューリング機能部65は、第2処理区画PZ2における有効な処理ユニットMPC9〜MPC16をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
図13Cの例では、第2主搬送ロボットCR2が基板W5を搬入できる時刻a2では、第2処理区画PZ2の処理ユニットMPC9〜MPC16はいずれも基板を処理していないので、いずれの処理ユニットMPC9〜MPC16においても基板W5の処理を計画することができ、かつ基板処理終了推定時刻(基板W5がキャリヤCに戻される時刻)も実質的に等しい。一方、処理ユニットMPC9のユニット最終使用時刻t9は、初期値以外の有意値であり、他の処理ユニットMPC10〜MPC16のユニット最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC10〜MPC16のうち、最も番号の小さい処理ユニットMPC10を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC10で5枚目の基板W5を処理する計画を作成する。この基板W5の処理のために処理ユニットMPC10が要する処理時間が120秒であるとすれば、第2処理区画PZ2の区画使用率は15(=120/8)だけ増えて、30となる。なぜなら、基板W5の処理を計画している時点では、処理ユニットMPC9での基板処理が完了していないからである。そして、処理ユニットMPC10での基板W5の処理が終了する時刻が、処理ユニットMPC10のユニット最終使用時刻t10となり、かつ第2処理区画PZ2の区画最終使用時刻T2となる。
【0075】
6枚目の基板W6(
図13D参照)の処理を計画する時点において、処理ユニットMPC1,MPC9における基板W1,W2の処理は終了しており、処理ユニットMPC2,MPC10,MPC17での基板処理は未了である。そのため、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率はいずれも15で等しい。そこで、スケジューリング機能部65は、第1〜第3処理区画PZ1,PZ2,PZ3の区画最終使用時刻T1,T2,T3を比較し、最も古い区画最終使用時刻T3(
図13C参照)に対応する第3処理区画PZ3を選択する。さらに、スケジューリング機能部65は、第3処理区画PZ3における有効な処理ユニットMPC17〜MPC24をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
図13Dの例では、第2主搬送ロボットCR2が基板W6を搬入できる時刻a3では、第3処理区画PZ3の処理ユニットMPC17〜MPC24はいずれも基板Wを処理していないので、いずれの処理ユニットMPC17〜MPC24においても基板W6の処理を計画することができ、かつ基板処理終了推定時刻(基板W6がキャリヤCに戻される時刻)も実質的に等しい。一方、処理ユニットMPC17のユニット最終使用時刻t17は、初期値以外の有意値であり、他の処理ユニットMPC18〜MPC24のユニット最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC18〜MPC24のうち、最も番号の小さい処理ユニットMPC18を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC18で6枚目の基板W6を処理する計画を作成する。この基板W6の処理のために処理ユニットMPC18が要する処理時間が120秒であるとすれば、第3処理区画PZ3の区画使用率は15(=120/8)だけ増えて、30となる。なぜなら、基板W6の処理を計画している時点では、処理ユニットMPC17での基板処理が完了していないからである。そして、処理ユニットMPC18での基板W6の処理が終了する時刻が、処理ユニットMPC18のユニット最終時刻t18であり、かつ第3処理区画PZ3の区画最終使用時刻T3となる。
【0076】
図14A〜
図14Cは、スケジューリングの他の例を示しており、時間間隔を開けて少数の基板処理をそれぞれ指示するプロセスジョブPJ1,PJ2が与えられた場合を示している。第1プロセスジョブPJ1は、2枚の基板W1,W2に対して処理ユニットMPC1〜MPC24での並行処理を指定するレシピの適用を指示している。また、第2プロセスジョブPJ2は、2枚の基板W3,W4に対して処理ユニットMPC1〜MPC24での並行処理を指定するレシピの適用を指示している。
【0077】
第1プロセスジョブPJ1の基板W1,W2に関する計画(
図14A参照)については、
図13Aのスケジューリング例と同様であるので、説明を省く。
第2プロセスジョブPJ2は、基板W1,W2の処理が完了した後の時刻a11にホストコンピュータ64から与えられる(
図14B参照)。したがって、時刻a11では、第3処理区画PZ3はもちろん第1および第2処理区画PZ1,PZ2における区画使用率もいずれも零である。一方、第3処理区画PZ3の区画最終使用時刻は初期値であり、第1および第2処理区画PZ1,PZ2の区画最終使用時刻T1,T2はいずれも有意値である。そこで、スケジューリング機能部65は、第2プロセスジョブPJ2の1枚目の基板W3の処理のために、第3処理区画PZ3を選択する。さらに、スケジューリング機能部65は、第3処理区画PZ3における有効な処理ユニットMPC17〜MPC24をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
図14Bの例では、第2主搬送ロボットCR2が基板W3を搬入できる時刻a12では、第3処理区画PZ3の処理ユニットMPC17〜MPC24はいずれも基板Wを処理していないので、いずれの処理ユニットMPC17〜MPC24においても基板W3の処理を計画することができ、かつ基板処理終了推定時刻も実質的に等しい。また、いずれの処理ユニットMPC17〜MPC24においてもユニット最終使用時刻は初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC17〜MPC24のうち、最も番号の小さい処理ユニットMPC17を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC17で基板W3を処理する計画を作成する。この基板W3の処理のために処理ユニットMPC17が要する処理時間が120秒であるとすれば、第3処理区画PZ3の区画使用率は15(=120/8)となる。そして、処理ユニットMPC17での基板W3の処理が終了する時刻が、処理ユニットMPC17のユニット最終時刻t17であり、かつ第3処理区画PZ3の区画最終使用時刻T3となる。
【0078】
第2プロセスジョブPJ2は、基板W1,W2の処理が完了した後の時刻a11にホストコンピュータ64から与えられるので、第2プロセスジョブPJ2の2枚目の基板W4(
図14C参照)の処理を計画する時点では、第1および第2処理区画PZ1,PZ2における区画使用率はいずれも零であり、その一方で、第3処理区画PZ3の区画使用率は15である。他方、第1および第2処理区画PZ1,PZ2の区画最終使用時刻T1,T2はいずれも有意値であり、第1処理区画PZ1の区画最終使用時刻T1の方が古い。そこで、スケジューリング機能部65は、第2プロセスジョブPJ2の2枚目の基板W4の処理のために、第1処理区画PZ1を選択する。さらに、スケジューリング機能部65は、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。スケジューリング機能部65は、それらの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
図14Cの例では、第1主搬送ロボットCR1が基板W4を搬入できる時刻a13では、第1処理区画PZ1の処理ユニットMPC1〜MPC8はいずれも基板Wを処理していないので、いずれの処理ユニットMPC1〜MPC8においても基板W4の処理を計画することができ、かつ基板処理終了推定時刻も実質的に等しい。一方、処理ユニットMPC1のユニット最終使用時刻t1が有意値であるのに対して、他の処理ユニットMPC2〜MPC8のユニット最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC2〜MPC8のうち、最も番号の小さい処理ユニットMPC2を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC2で基板W4を処理する計画を作成する。この基板W4の処理のために処理ユニットMPC2が要する処理時間が120秒であるとすれば、第1処理区画PZ1の区画使用率は15(=120/8)となる。そして、処理ユニットMPC2での基板W4の処理が終了する時刻が、処理ユニットMPC2のユニット最終時刻t2となり、かつ第1処理区画PZ1の区画最終使用時刻T1となる。
【0079】
以上のように、この実施形態の基板処理装置1は、基板Wを収容するキャリヤCを保持するキャリヤ保持部2と、基板Wをそれぞれ処理する複数の処理ユニットMPCと、キャリヤ保持部2に保持されたキャリヤCと複数の処理ユニットMPCとの間で基板Wを搬送するインデクサロボットIRならびに第1および第2主搬送ロボットCR1,CR2と、制御ユニットとしてのコンピュータ60とを含む。コンピュータ60は、複数の処理ユニットMPCと、インデクサロボットIRと、第1および第2主搬送ロボットCR1,CR2とを制御する。コンピュータ60は、複数の処理ユニットMPCを予め複数のグループに分類している。すなわち、コンピュータ60は、複数の処理ユニットMPCを、キャリヤ保持部2からの搬送経路長、すなわち搬送時間に応じて、第1処理区画PZ1、第2処理区画PZ2および第3処理区画PZ3に分類している。コンピュータ60は、基板Wを処理すべき処理ユニットMPCを決定するときに、複数の処理区画PZのうちの一つを選択する処理区画選択処理(S3。グループ選択ステップ)と、選択された一つの処理区画PZに属する一つの処理ユニットMPCを選択するユニット選択処理(S11〜S15。ユニット選択ステップ)と、ユニット選択処理で選択された処理ユニットMPCに処理対象の基板Wを搬入するようにインデクサロボットIRならびに第1および第2主搬送ロボットCR1,CR2を制御する処理(S20)とを実行するようにプログラムされている。より具体的には、コンピュータ60は、複数の処理区画PZを均等に選択するように処理区画選択処理(S3)を実行し、各処理区画PZに属する複数の処理ユニットMPCを均等に選択するようにユニット選択処理(S11〜S15)を実行する。この構成により、複数の処理ユニットMPCの使用頻度のばらつきを低減できる。
【0080】
たとえば、スループットのみを優先すれば、キャリヤ保持部2からの搬送経路長または搬送時間が短い処理ユニットMPCが優先的に選択されるから、第1処理区画PZ1の処理ユニットMPCの使用頻度と第2および第3処理区画PZ2,PZ3の処理ユニットMPCの使用頻度とには大きな差が生じるおそれがある。プロセスジョブが多数枚(たとえば処理ユニットMPCの数以上)の基板Wに対して全部の処理ユニットMPCの並行処理を指定するレシピを適用すべき処理指令を含む場合には、全部の処理ユニットMPCが満遍なく使用されやすい。それに対して、少数(たとえば第1処理区画PZ1の処理ユニット数以下)の基板Wに対する処理を指令するプロセスジョブが比較的長い時間間隔を開けて与えられる場合には、第1処理区画PZ1の処理ユニットMPCの使用頻度が高くなり、第2および第3処理区画PZ2,PZ3の処理ユニットMPCの使用頻度が低くなるおそれがある。
【0081】
これにより、第1処理区画PZ1の処理ユニットMPCが備えるスピンチャック33等の機構部分やスクラブ部材37等の消耗品の負荷が、第2および第3処理区画PZ2,PZ3の処理ユニットMPCの機構部分や消耗品の負荷に比較して大きくなる。それにより、第1処理区画PZ1の処理ユニットMPCにおいて部品交換等のメンテナンス作業の間隔が短くなるおそれがある。このようなメンテナンス作業の際には、基板処理装置1全体の運転を停止する必要があるから、生産性に悪影響がある。加えて、基板処理に用いられる消耗品の劣化が早いと、基板処理にも影響が現れるおそれがある。
【0082】
また、第1処理区画PZ1に薬液を供給する第1薬液キャビネットCC1の薬液消費量が多く、第2および第3処理区画PZ2,PZ3にそれぞれ薬液を供給する第2および第3薬液キャビネットCC2,CC3の薬液消費量が少なくなる。このように薬液消費量に偏りが生じると、第1薬液キャビネットCC1の薬液を頻繁に補充しなければならず、薬液補充回数が多くなる。しかも、第1〜第3薬液キャビネットCC1,CC2,CC3で薬液補充のタイミングが異なるから、薬液補充の管理が難しい。また、ポンプ56等の部品の劣化にばらつきが生じるから、第1〜第3薬液キャビネットCC1,CC2,CC3に対して行うべき部品交換等のメンテナンス作業の間隔にもばらつきが生じる。それにより、メンテナンス作業が困難になる。
【0083】
さらにまた、第2および第3処理区画PZ2,PZ3の処理ユニットMPCの不使用時間が長くなると、処理ユニットMPC内で薬液が結晶化してパーティクルとなり、その後の基板処理の品質を悪化させるおそれがある。
このような課題は、第1〜第3処理区画PZ1,PZ2,PZ3が均等に選択される上記の実施形態の構成によって解決される。
【0084】
とくに、この実施形態では、キャリヤCと処理ユニットMPCとの間で基板Wを搬送する基板搬送ユニットが、第1主搬送ロボットCR1と、第1主搬送ロボットCR1との間で基板Wを受け渡しする第2主搬送ロボットCR2とを含む。そして、第1主搬送ロボットCR1によって直接アクセスされる処理ユニットMPCで第1処理区画PZ1が構成されており、第2主搬送ロボットCR2によって直接される処理ユニットMPCで第2処理区画PZ2および第3処理区画PZ3が構成されている。第2および第3処理区画PZ2,PZ3を構成する処理ユニットMPCへの基板搬送には、第1および第2主搬送ロボットCR1,CR2の両方が介在する。そのため、キャリヤCと第2および第3処理区画PZ2,PZ3との間の基板搬送には比較的長い時間を要する。このような構成を採用しながら、この実施形態では、第1処理区画PZ1,PZ2,PZ3の処理ユニットMPCを均等に用いて基板処理を行うことができる。したがって、多数(この実施形態では24個)の処理ユニットMPCを備えて生産性を高めながら、その多数の処理ユニットMPCを均等に用いることができる。
【0085】
また、コンピュータ60は、予め一つの処理区画PZ(グループ)を選択するので、その選択された処理区画PZに属する処理ユニットMPCの範囲で一つの処理ユニットMPCを選択すればよい。したがって、1枚の基板Wの処理を計画するときに、コンピュータ60は、全ての有効な処理ユニットMPCに対応する仮タイムテーブルを作成する必要がなく、選択された処理区画PZに属する有効な処理ユニットMPCに対応する少数の仮タイムテーブルを作成すればよい。そして、その少数の仮タイムテーブルに関して、スループット(処理終了時刻)、ユニット最終使用時刻などに基づく判断を行って、一つの処理ユニットMPCを選択すればよい。このように段階的に処理ユニットMPCを選択することにより、全ての処理ユニットMPCを同等と見なして一つの処理ユニットMPCを一段階で選択するよりも、コンピュータ60の演算負荷を軽減することができる。それに応じて、コンピュータ60が一つの処理ユニットMPCを選択するまでの時間を短縮することもできるので、基板処理を早期に開始することができるようになり、それに応じて基板処理装置1の生産性を高めることができる。すなわち、多数の処理ユニットMPCを備えて生産性を高めながらも、コンピュータ60の演算負荷を抑えることができる。
【0086】
さらに、この実施形態では、前記複数の処理ユニットMPCが、薬液キャビネットCCを共有する複数の処理ユニットMPC毎に前記複数の処理区画PZ(グループ)に分類されている。すなわち、薬液キャビネットCCを共有する複数の処理ユニットMPCが同じ処理区画PZ(グループ)に属するので、処理区画PZを均等に選択することによって、薬液キャビネットCCを均等に選択したことになり、それによって、複数の薬液キャビネットCCの使用頻度のばらつきを低減しやすくなる。その結果、薬液補充の頻度を複数の処理区画PZで平均化でき、それに応じて、薬液の経時変化についても、複数の薬液キャビネットCC間で均等化できる。それにより、複数の処理ユニットMPCにおける処理品質のばらつきを抑制できる。
【0087】
さらに、この実施形態では、各処理区画PZに対して区画最終使用時刻(グループ最終使用時刻)が記録され、この区画最終使用時刻に基づいて使用区画の選択が行われる。それにより、処理区画PZを均等に選択できるので、それに応じて、処理ユニットMPCの使用頻度のばらつきを低減できる。
また、この実施形態では、各処理区画PZに属する処理ユニットMPCが基板の処理のために使用されている割合である区画使用率(グループ使用率)が演算され、その区画使用率に基づいて(区画使用率が最も低い)処理区画PZが選択される。それにより、区画使用率のばらつきが低減され、それに応じて、処理ユニットMPCの使用頻度のばらつきが低減される。
【0088】
また、この実施形態では、各処理ユニットMPCのユニット最終使用時刻が記録され、ユニット最終使用時刻が最も古い処理ユニットMPCが優先的に選択される。それにより、各処理区画PZ内における処理ユニットMPCの使用頻度のばらつきを低減できる。
図15Aおよび
図15Bは、この発明の他の実施形態に係る基板処理装置におけるスケジューリングの例を示す。この実施形態では、インデクサロボットIRは、2つのハンド11を有しており、2枚の基板Wを同時に搬送することができる。より具体的には、インデクサロボットIRは、キャリヤ保持部2に保持されたキャリヤCから2枚の未処理基板を搬出してそれらを同時に搬送して第1受け渡しユニットPASS1に載置する基板供給動作と、第1受け渡しユニットPASS1から処理済みの2枚の基板Wを搬出してそれらを同時に搬送してキャリヤCに収納する基板収納動作とを実行する。一方、第1および第2主搬送ロボットCR1,CR2を構成する基板搬送ロボットは、一対の進退機構の各々が2つのハンド21,22を備えており、合計で4つのハンド21,22を備えている。第1主搬送ロボットCR1は、第1受け渡しユニットPASS1から2枚の未処理基板Wを受け取ってそれらを同時に搬送し、第1処理区画PZ1内の異なる2つの処理ユニットMPCにそれぞれ搬入する基板搬入動作と、第1処理区画PZ1内の異なる2つの処理ユニットMPCから2枚の処理済み基板Wをそれぞれ搬出してそれらを同時に搬送して第1受け渡しユニットPASS1に渡す基板搬出動作と、第1受け渡しユニットPASS1から2枚の未処理基板Wを受け取ってそれらを同時に搬送して第2受け渡しユニットPASS2に渡す基板搬入仲介動作と、第2受け渡しユニットPASS2から2枚の処理済み基板Wを受け取ってそれらを同時に搬送して第1受け渡しユニットPASS1に渡す基板搬出仲介動作とを実行する。第2主搬送ロボットCR2は、第2受け渡しユニットPASS2から2枚の未処理基板Wを受け取ってそれらを同時に搬送し、同一処理区画PZ(第2または第3処理区画PZ2,PZ3のいずれか)内の異なる2つの処理ユニットMPCにそれぞれ搬入する基板搬入動作と、同一処理区画PZ(第2または第3処理区画PZ2,PZ3のいずれか)内の異なる2つの処理ユニットMPCから2枚の処理済み基板Wをそれぞれ搬出してそれらを同時に搬送して第2受け渡しユニットPASS2に渡す基板搬出動作とを実行する。
【0089】
図15Aおよび
図15Bの例では、6枚の基板W1〜W6を処理することを指定するプロセスジョブPJ1のデータがホストコンピュータ64から与えられ(
図15A)、その後、時間を開けて、2枚の基板W7,W8を処理することを指定する別のプロセスジョブPJ2のデータ(
図15B)がホストコンピュータ64から与えられる場合を想定している。また、プロセスジョブPJ1,PJ2のデータは、いずれも、処理ユニットMCP1〜MPC24を並行処理ユニットに指定レシピを適用すべきことを規定しているものとする。
【0090】
スケジューリング機能部65は、2枚の基板Wを単位として基板処理の計画を実行する。
先ず、
図15Aを参照する。いずれの基板処理も計画されていない段階では、プロセスジョブPJ1の1枚目および2枚目の基板W1,W2の処理を計画するとき、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率はいずれも零であり、かつ第1〜第3処理区画PZ1,PZ2,PZ3の区画最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、最も番号の小さい第1処理区画PZ1を選択する。そして、スケジューリング機能部65は、1枚目の基板W1に対して、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。同様に、スケジューリング機能部65は、2枚目の基板W2に対して、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。さらに、スケジューリング機能部65は、1枚目の基板W1に対して作成された仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC1)で1枚目の基板W1を処理する計画を作成する。同様に、スケジューリング機能部65は、2枚目の基板W2に対して作成された仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC2)で2枚目の基板W2を処理する計画を作成する。基板W1,W2の処理のために処理ユニットMPC1,MPC2がそれぞれ120秒の処理時間を要するとすれば、第1処理区画PZ1の区画使用率は30(=2×120/8)となる。また、処理ユニットMPC1,MPC2での基板W1,W2の処理が終了する時刻がそれぞれユニット最終使用時刻t1,t2となり、それらのうち、いずれか遅い方が、第1処理区画PZ1の区画最終使用時刻T1となる。2枚の基板W1,W2のスケジューリングが終了すると、それらの基板W1,W2に対する搬送が開始される。
【0091】
スケジューリング機能部65は、さらに次の2枚の基板W3,W4のスケジューリングを行う。このスケジューリングを開始するとき、第2および第3処理区画PZ2,PZ3の区画使用率がいずれも最低値「0」であり、かつ第2および第3処理区画PZ2,PZ3の区画最終使用時刻はいずれも初期値である。そこで、スケジューリング機能部65は、それらのうちでより番号の小さい第2処理区画PZ2を選択する。そして、スケジューリング機能部65は、3枚目の基板W3に対して、第2処理区画PZ2における有効な処理ユニットMPC9〜MPC16をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。同様に、スケジューリング機能部65は、4枚目の基板W4に対して、第3処理区画PZ3における有効な処理ユニットMPC9〜MPC16をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。そして、スケジューリング機能部65は、3枚目の基板W3に対して作成された8つの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC9)で3枚目の基板W3を処理する計画を作成する。同様に、スケジューリング機能部65は、4枚目の基板W4に対して作成された8つの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC10)で4枚目の基板W4を処理する計画を作成する。基板W3,W4の処理のために処理ユニットMPC9,MPC10がそれぞれ120秒の処理時間を要するとすれば、第2処理区画PZ2の区画使用率は30(=2×120/8)となる。また、処理ユニットMPC9,MPC10での基板W3,W4の処理が終了する時刻がそれぞれユニット最終使用時刻t9,t10となり、それらのうちいずれか遅い方が、第2処理区画PZ2の区画最終使用時刻T2となる。2枚の基板W3,W4のスケジューリングが終了すると、それらの基板W3,W4に対する搬送が開始される。
【0092】
スケジューリング機能部65は、さらに次の2枚の基板W5,W6のスケジューリングを行う。このスケジューリングを開始するとき、第3処理区画PZ3の区画使用率が最低値「0」である。そこで、スケジューリング機能部65は、第3処理区画PZ3を選択する。そして、スケジューリング機能部65は、5枚目の基板W5に対して、第3処理区画PZ3における有効な処理ユニットMPC17〜MPC24をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。同様に、スケジューリング機能部65は、6枚目の基板W6に対して、第3処理区画PZ3における有効な処理ユニットMPC17〜MPC24をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。そして、スケジューリング機能部65は、5枚目の基板W5に対して作成された8つの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC17)で5枚目の基板W5を処理する計画を作成する。同様に、スケジューリング機能部65は、6枚目の基板W6に対して作成された8つの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPC(たとえば処理ユニットMPC18)で6枚目の基板W6を処理する計画を作成する。基板W5,W6の処理のために処理ユニットMPC17,MPC18がそれぞれ120秒の処理時間を要するとすれば、第3処理区画PZ3の区画使用率は30(=2×120/8)となる。また、処理ユニットMPC17,MPC18での基板W5,W6の処理が終了する時刻がそれらのユニット最終使用時刻t17,t18となり、それらのうちのいずれか遅い方が、第3処理区画PZ3の区画最終使用時刻T3となる。2枚の基板W5,W6のスケジューリングが終了すると、それらの基板W5,W6に対する搬送が開始される。
【0093】
図15Bを参照する。プロセスジョブPJ2の2枚の基板W7,W8の処理を計画するとき、プロセスジョブPJ1の全ての処理が終了していれば、第1〜第3処理区画PZ1,PZ2,PZ3の区画使用率はいずれも0である。そこで、スケジューリング機能部65は、第1〜第3処理区画PZ1,PZ2,PZ3の区画最終使用時刻T1,T2,T3を比較し、最も古い区画最終使用時刻T1(
図15A参照)に対応する第1処理区画PZ1を選択する。さらに、スケジューリング機能部65は、7枚目の基板W7に対して、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。同様に、スケジューリング機能部65は、8枚目の基板W8に対して、第1処理区画PZ1における有効な処理ユニットMPC1〜MPC8をそれぞれ通る8個の経路をそれぞれ表す8個の仮タイムテーブルを作成する。そして、スケジューリング機能部65は、7枚目の基板W7に対して作成された8つの仮タイムテーブルの各々に対して本スケジューリングを実行して、一つの処理ユニットMPCを選択する。
【0094】
図15Bの例では、第1主搬送ロボットCR1が基板W7を搬入できる時刻a21では、第1処理区画PZ1の処理ユニットMPC1〜MPC8はいずれも基板Wを処理していないので、いずれの処理ユニットMPC1〜MPC8においても基板W7の処理を計画することができ、かつ基板処理終了推定時刻も実質的に等しい。一方、処理ユニットMPC1,MPC2のユニット最終使用時刻t1,t2は、初期値以外の有意値であり、他の処理ユニットMPC3〜MPC8のユニット最終使用時刻t3〜t8はいずれも初期値である。そこで、スケジューリング機能部65は、処理ユニットMPC3〜MPC8のうち、最も番号の小さい処理ユニットMPC2を通る仮タイムテーブルを用いた本スケジューリングを選択し、その処理ユニットMPC3で7枚目の基板W7を処理する計画を作成する。同様にして、スケジューリング機能部65は、8枚目の基板W8を処理ユニットMPC4で処理する計画を作成する。基板W7,W8の処理のために処理ユニットMPC3,MPC4が120秒の処理時間を要するとすれば、第1処理区画PZ1の区画使用率は30(=2×120/8)となる。そして、処理ユニットMPC3,MPC4での基板W7,W8の処理がそれぞれ終了する時刻がそれらのユニット最終使用時刻t3,t4となり、それらのうちの遅い方が、第1処理区画PZ1の区画最終使用時刻T1となる。
【0095】
このように、この実施形態では、基板Wが2枚単位で搬送されるので、それに応じて、基板処理の計画も2枚単位で実行される。
以上、この発明の具体的な実施形態について説明してきたが、この発明は、以下に例示的に列挙するとおり、さらに他の形態で実施することもできる。
1.前述の実施形態では、第1処理区画PZ1、第2処理区画PZ2および第3処理区画PZ3が等しい個数の処理ユニットMPCで構成されている。しかし、複数の処理区画PZが同数の処理ユニットMPCで構成されている必要はない。たとえば、第2処理区画PZ2および第3処理区画PZ3を合体して、第2主搬送ロボットCR2による直接アクセスを受ける16個の処理ユニットMPCで一つの第2処理区画PZ2を構成してもよい。
【0096】
2.前述の実施形態では、基板搬送経路長または基板搬送時間に応じて処理ユニットMPCをグループ化して処理区画PZを設定している。しかし、これらとは別の基準で複数の処理ユニットMPCを複数のグループに分類してもよい。たとえば、奇数の番号を付した処理ユニットMPCと偶数の番号を付した処理ユニットMPCとに分類したり、処理ユニットMPCの番号を3以上の自然数からなる除数で除したときの剰余に応じて複数のグループに分類したりしてもよい。また、搬送路5の一方側の処理ユニットMPCと他方側の処理ユニットMPCとでグループ化してもよい。さらに、処理ユニットMPCが配置されている階層に応じてグループ化し、1階部分に配置された処理ユニットMPCで第1グループを形成し、2階部分に配置された処理ユニットMPCで第2グループを形成し、3階部分に配置された処理ユニットMPCで第3グループを形成し、4階部分に配置された処理ユニットMPCで第4グループを形成してもよい。すなわち、前述の実施形態では、水平方向の処理ユニットMPCの配置に基づいてグループ化が行われているが、垂直方向の処理ユニットMPCの配置に基づいてグループ化を行ってもよい。
【0097】
3.前述の実施形態では、処理ユニットMPCの例として、表面洗浄ユニット(
図3)および端面洗浄ユニット(
図4)を示したが、むろん、処理ユニットの種類はこれらに限定されない。たとえば、基板Wの表面をスクラブ部材で洗浄する表面スクラブ洗浄ユニット、基板Wの裏面を洗浄する裏面洗浄ユニットなどの他の種類の処理ユニットが基板処理装置1に備えられていてもよい。また、基板処理装置1に備えられる処理ユニットの種類は単一である必要もなく、複数種類の処理ユニットが一つの基板処理装置1に備えられていてもよい。
【0098】
4.前述の実施形態では、第1処理区画PZ1,PZ2,PZ3に対応して第1、第2および第3薬液キャビネットCC1,CC2,CC3が設けられている。しかし、複数の処理区画PZが一つの薬液キャビネットを共有し、この一つの薬液キャビネットに複数の処理区画PZにそれぞれ対応した複数のポンプ等の圧送装置を設けてもよい。この場合に、複数の処理区画PZが均等に選択されることによって、圧送装置の消耗度合いを均等化することができる。
【0099】
5.前述の実施形態では、区画使用率の大小関係に基づいて処理区画PZが選択され、区画使用率が等しい場合には区画最終使用時刻に基づいて処理区画PZが選択され、区画最終使用時刻も等しい場合には区画番号に基づいて処理区画PZが選択されている。区画番号による処理区画PZの選択は、前述の実施形態の場合には、キャリヤ保持部2からの搬送距離または搬送時間に基づく選択である。すなわち、前述の実施形態では、処理区画PZの選択に際して、区画使用率に第1優先順位が与えられ、区画最終使用時刻に第2優先順位が与えられ、区画番号(搬送距離または搬送時間)に対して第3優先順位が与えられている。しかし、区画最終使用時刻と区画使用率の優先順位を反転してもよい。また、区画番号(搬送距離または搬送時間)に対する優先順位を高くしてもよい。たとえば、区画番号(搬送距離または搬送時間)に対して第1優先順位を与える状態をデフォルト状態とする一方で、処理区画PZ間での区画使用率の差が或るしきい値を超えると、区画使用率に第1優先順位を与える状態に遷移して、区画使用率を区画番号よりも優先して処理区画選択を行ってもよい。同様に、区画番号(搬送距離または搬送時間)に対して第1優先順位を与える状態をデフォルト状態とする一方で、処理区画PZ間での区画最終使用時刻の差があるしきい値を超えると、区画最終使用時刻に第1優先順位を与える状態に遷移して、区画最終使用時刻を区画番号よりも優先して処理区画選択を行ってもよい。
【0100】
6.処理ユニットMPCが基板の処理のために使用されたユニットット累積使用時間を演算して記録し、各処理区画PZ(グループ)に属する処理ユニットMPCのユニット累積使用時間を加算して区画累積使用時間(グループ累積使用時間)を求め、その区画累積使用時間に基づいて処理区画PZを選択(好ましくは区画累積使用時間が最も短い処理区画PZを選択)してもよい。
【0101】
7.処理区画PZ(グループ)の選択をたとえば乱数に基づいてランダムに行うことにより、複数の処理区画PZを均等に選択してもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。