JP6573693B2 - 基板処理装置のためのスケジュール作成方法および基板処理装置 - Google Patents

基板処理装置のためのスケジュール作成方法および基板処理装置 Download PDF

Info

Publication number
JP6573693B2
JP6573693B2 JP2018055924A JP2018055924A JP6573693B2 JP 6573693 B2 JP6573693 B2 JP 6573693B2 JP 2018055924 A JP2018055924 A JP 2018055924A JP 2018055924 A JP2018055924 A JP 2018055924A JP 6573693 B2 JP6573693 B2 JP 6573693B2
Authority
JP
Japan
Prior art keywords
substrate
processing
schedule
block
high load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018055924A
Other languages
English (en)
Other versions
JP2018125548A (ja
Inventor
智史 山中
智史 山中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Screen Holdings Co Ltd
Original Assignee
Screen Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Screen Holdings Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP2018055924A priority Critical patent/JP6573693B2/ja
Publication of JP2018125548A publication Critical patent/JP2018125548A/ja
Application granted granted Critical
Publication of JP6573693B2 publication Critical patent/JP6573693B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • General Factory Administration (AREA)
  • Cleaning Or Drying Semiconductors (AREA)

Description

この発明は、基板処理装置の動作を時系列に従って規定するスケジュールを作成するための方法、および基板処理装置に関する。基板処理装置による処理対象となる基板の例には、半導体ウエハ、液晶表示装置用基板、プラズマディスプレイ用基板、FED(Field Emission Display)用基板、光ディスク用基板、磁気ディスク用基板、光磁気ディスク用基板、フォトマスク用基板、セラミック基板、太陽電池用基板などが含まれる。
半導体装置や液晶表示装置などの製造工程では、半導体ウエハや液晶表示装置用ガラス基板などの基板を1枚ずつ処理する枚葉式の基板処理装置や、複数枚の基板で構成されるロットを一括して処理するバッチ式の基板処理装置が用いられる。特許文献1には、枚葉式の基板処理装置の動作を時系列に従って規定するスケジュールを作成する方法が開示されている。
特開2013−77796号公報
枚葉式の基板処理装置は、たとえば複数の処理ユニットを備えている。基板処理装置に備えられている制御部は、作成されたスケジュールに従って、各処理ユニットの動作(処理)を行う。各処理ユニットで行われる種々の動作のうち基板処理工程や前準備工程の開始時には、処理内容データの送受信や処理内容データの読み込みやデータ解釈のため、制御部の制御負荷(CPU負荷や通信処理負荷)が高くなるおそれがある。したがって、複数の処理ユニット同士で基板処理工程等を同時に開始させる場合、処理内容データを同時に送信するために、制御部に制御負荷が集中してデータ処理を円滑に行えなくなり、その結果、いずれかの処理ユニットにおいて、基板処理工程、前準備工程等の開始が遅延するおそれがある。この場合、各処理ユニットでの基板処理の均一性が保証できず、基板の処理結果に問題が発生するおそれがある。例えば、処理ユニットに搬入されてから基板処理を開始するまでの時間がばらつくと、基板が処理ユニット内のミストに曝される時間が不均一になる。ミストは基板の表面状態に影響を与えることがあるため、基板処理を開始するまでの時間は基板間で均一になることが望ましい。また、基板処理が終了した基板を処理ユニットから搬出するまでの時間がばらつくと、次の処理ユニットで基板処理を開始可能になるまでの時間が不均一になり、前の基板処理の効果を次の基板処理に対して安定的に及ぼすことができなくなるおそれがある。
このような現象が生じると、各基板に対して同一のレシピを適用しても同一の基板処理の効果を得ることができなくなるおそれがある。
処理開始の遅延を防止するための方策として、制御部の処理性能を向上させたり、制御部の台数を増やしたりすることが考えられるが、これらの方策では、新たな制御部の設置によりコストアップになるおそれがある。また、それだけでなく、消費電力の上昇や、基板処理装置の構成の複雑化を招くおそれある。そのため、本願発明者は、スケジュールの作成を工夫して制御部でのデータ処理の効率化を図ることにより、制御部での制御負荷の集中を回避させることを検討している。
そこで、この発明の目的の一つは、制御部でのデータ処理の効率化が図られたスケジュールを作成することが可能なスケジュール作成方法を提供することである。
また、この発明の他の目的は、制御部でのデータ処理の効率化を図りながら基板を処理することが可能な基板処理装置を提供することである。
前記の目的を達成するための請求項1に記載の発明は、基板を1枚ずつ処理する少なくとも一つの枚葉式の処理ユニットと、前記処理ユニットを制御するための制御部とを有する基板処理装置の動作を時系列に従って規定するためのスケジュールを、前記基板処理装置に備えられたスケジュール作成部が作成するための方法であって、各基板に対する前記基板処理装置の動作の内容を規定する複数のブロックを時系列に従って配置することにより、その基板のスケジュールを前記スケジュール作成部によって作成するスケジュール作成工程を含み、前記スケジュール作成工程が、前記ブロックに対応する動作に、前記制御部に高い制御負荷が生じる時間帯である高負荷時間帯が含まれるか否かを判断する判断工程と、 前記ブロックに対応する動作に前記高負荷時間帯が含まれる場合に、前記ブロックの前記高負荷時間帯に対応する部分に高負荷情報を付加する付加工程と、前記高負荷情報に基づいて、高負荷動作に対応する前記ブロックを、時間軸上に配置する高負荷配置工程と、を含む、スケジュール作成方法を提供する。
この方法によれば、スケジュール作成部は、各基板に対する処理内容を規定する複数のブロックを時系列に従って配置することにより当該基板のスケジュールを作成し、この基板のスケジュールを基板枚数分作成する。このとき、ブロックに対応する動作に高負荷時間帯が含まれる場合に、ブロックの高負荷時間帯に対応する部分に高負荷情報を付加する。そのため、制御部での制御負荷の集中が回避することが可能である。これにより、制御部でのデータ処理の効率化が図られたスケジュールを作成することが可能である。
請求項2に記載の発明に記載のように、前記判断工程が、前記ブロックに対応する動作における負荷と、前記高負荷時間帯として定められている基準範囲とを比較することにより、前記ブロックに対応する動作に前記高負荷時間帯が含まれるか否かを判断してもよい。
請求項3に記載の発明は、前記高負荷配置工程が、前記高負荷情報が同じ時間帯に所定数以上重複しないように、前記制御部に高い制御負荷を少なくとも一時的に生じさせる動作である高負荷動作に対応する前記ブロックを、時間軸上に配置する、請求項1または2に記載のスケジュール作成方法である。
この方法によれば、スケジュール作成部は、各基板に対する処理内容を規定する複数のブロックを時系列に従って配置することにより当該基板のスケジュールを作成し、この基板のスケジュールを基板枚数分作成する。このとき、高負荷動作に対応するブロックを、その高負荷時間帯が集中しないように時間軸上に配置する。こうして作成されたスケジュールでは、制御部での制御負荷の集中が回避されている。これにより、制御部でのデータ処理の効率化が図られたスケジュールを作成できる。
請求項4に記載の発明は、前記高負荷時間帯は、前記高負荷動作の開始時である、請求項3に記載のスケジュール作成方法である。
この方法によれば、各リソースの動作の開始時には、制御部での処理データの送受信や当該処理データのデータ解釈のために、制御部の制御負荷が高まることがある。すなわち、高負荷動作の開始時が高負荷時間帯になる。
仮に、複数枚の基板のスケジュールにおいて、高負荷動作に対応するブロック同士を、当該高負荷動作が同時に開始するように時間軸上に配置すると、当該高負荷動作の開始時に、制御部の制御負荷が集中し制御部にてデータ処理を円滑に行えないおそれがある。その結果、いずれかのリソースの動作開始が遅延するおそれがある。
これに対し、請求項4では、スケジュール作成部は、高負荷動作に対応するブロックを、対応する高負荷動作の開始時が同時期に集中しないように時間軸上に配置する。したがって、制御部での制御負荷の集中が回避される結果、制御部でのデータ処理の効率化が図られたスケジュールを作成でき、ゆえに、リソースの動作開始の遅延を確実に防止できる。
請求項5に記載の発明は、前記基板処理装置では、プロセスジョブが共通する複数枚の基板のうち所定の第1の基板のスケジュールの作成終了後、前記複数枚の基板のうち処理順序が前記第1の基板よりも後の第2の基板のスケジュールの作成が終わっていない状態で、作成済みのスケジュールの実行が開始されるようになっており、前記作成済みのスケジュールの実行開始後において、当該作成済みのスケジュールのうち未実行の部分を変更するスケジュール変更工程をさらに含む、請求項1〜4のいずれか一項に記載のスケジュール作成方法である。
この方法によれば、プロセスジョブが共通する複数枚の基板のうちいずれかの基板のスケジュールの作成が終了すると、他の基板のスケジュールの作成が未終了であっても、作成したスケジュールの実行を開始する。
たとえば、特許文献1に記載のように、プロセスジョブが共通する全ての基板のスケジュールの作成が終了した後に、基板処理装置の動作を開始させるようにする場合、膨大な量のデータを基板処理装置に記憶させる必要がある。
これに対し、請求項1の方法では、少なくとも実行対象の基板のスケジュールを記憶しておけば足り、これにより、基板処理装置に記憶させるべきスケジュールのデータ量の低減を図ることができる。
また、作成済みのスケジュールのうち未実行の部分を、当該スケジュールの開始後に変更するので、基板処理装置の実際の動作状況(基板処理状況)に応じて、スケジュールの内容を変更できる。これにより、実際の動作状況に応じた柔軟なスケジュールを作成できる。
請求項6に記載の発明は、前記スケジュール変更工程は、前記スケジュールの実行開始後において、前記作成済みのスケジュールのうち未実行のブロックを削除する工程と、削除したブロックを、前記第2の基板についてのブロックの配置と並行して、時系列に従って再配置する再配置工程とをさらに含む、請求項5に記載のスケジュール作成方法である。
この方法によれば、第2の基板に関するブロックの配置と並行して、作成済みのスケジュールから削除した未実行のブロックを、時系列に従って再配置する。削除したブロックの再配置および第2の基板に関するブロックの配置は、複数枚の基板相互間の干渉が生じることがなく、かつ効率的にリソース(処理ユニット等)を稼働させて複数枚の基板に対する処理が行われるように、時系列に従って行われる。削除したブロックおよび第2の基板に関するブロックの配置位置をよりきめ細かに決定できるので、リソースの稼働率を高めることができ、これにより、基板処理装置の生産性を向上できる。
前記の目的を達成するための請求項7に記載の発明は、基板を1枚ずつ処理する少なくとも一つの枚葉式の処理ユニットと、前記処理ユニットを制御するための制御部と、前記処理ユニットを含むリソースの動作を、時系列に従って規定するためのスケジュールを作成するためのスケジュール作成部とを含み、請求項1〜6のいずれか一項に記載のスケジュール作成方法によって前記スケジュール作成部が作成したスケジュールに従って、前記制御部は前記リソースを制御する、基板処理装置を提供する。
この構成によれば、スケジュール作成部は、各基板に対する処理内容を規定する複数のブロックを時系列に従って配置することにより当該基板のスケジュールを作成し、この基板のスケジュールを基板枚数分作成する。このとき、ブロックに対応する動作に高負荷時間帯が含まれる場合に、ブロックの高負荷時間帯に対応する部分に高負荷情報を付加する。これにより、制御部での制御負荷の集中を回避することが可能である。このスケジュールに従って制御部がリソースを制御するので、制御部でのデータ処理の効率化を図りながら基板を処理することが可能である。
請求項8に記載の発明は、前記制御部は、プロセスジョブが共通する複数枚の基板のうち所定の第1の基板のスケジュール作成の終了後、前記複数枚の基板のうち処理順序が前記第1の基板よりも後の第2の基板のスケジュールの作成が終わっていない状態で、作成済みのスケジュールの実行を開始する、請求項7に記載の基板処理装置である。
この構成によれば、ある基板のスケジュールの作成が終了すると、他の基板のスケジュールの作成が未終了であっても、作成したスケジュールの実行を開始する。したがって、基板処理装置に記憶させるスケジュールのデータ量の低減を図ることが可能である。
この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図である。 前記基板処理装置の図解的な側面図である。 前記基板処理装置に備えられた処理ユニットの内部を水平方向に見た模式図である。 前記基板処理装置の電気的構成を説明するためのブロック図である。 この発明の一実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。 この発明の一実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。 この発明の一実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。 この発明の一実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。 この発明の一実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。 仮タイムテーブルの一例を示す。 仮タイムテーブル作成処理の流れを示すフローチャートである。 ブロックの配置位置検索処理の流れを示すフローチャートである。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジュールの作成の一例を示す。 スケジューリング機能部によって作成される、複数枚の基板のスケジュールの全体を示す。 スケジュールの作成の第1の変形例を示す。 基板処理を開始するまでのデータフローを示す。 スケジュールの作成の第2の変形例を示す。 スケジュールの作成の第3の変形例を示す。
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る基板処理装置1のレイアウトを示す図解的な平面図であり、図2は、その図解的な側面図である。図3Aは、基板処理装置1に備えられた処理ユニットSPIN1〜SPIN12の内部を水平方向に見た模式図である。
基板処理装置1は、インデクサセクション2と、処理セクション3とを含む。処理セクション3は、インデクサセクション2との間で基板Wを受け渡しするための受け渡しユニットPASSを備えている。インデクサセクション2は、未処理の基板Wを受け渡しユニットPASSに渡し、受け渡しユニットPASSから処理済みの基板Wを受け取る。処理セクション3は、受け渡しユニットPASSから未処理の基板Wを受け取って、その基板Wに対して、処理剤(処理液または処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理(ブラシ洗浄、スプレーノズル洗浄等)などの各種の処理を施す。そして、処理セクション3は、処理後の基板Wを受け渡しユニットPASSに渡す。
インデクサセクション2は、複数のステージST1〜ST4と、インデクサロボットIRとを含む。
ステージST1〜ST4は、複数枚の基板W(たとえば半導体ウエハ)を積層状態で収容した基板収容器Cをそれぞれ保持できる基板収容器保持部である。基板収容器Cは、基板Wを密閉した状態で収納するFOUP(Front Opening Unified Pod)であってもよいし、SMIF(Standard Mechanical Inter Face)ポッド、OC(Open Cassette)等であってもよい。たとえば、基板収容器CをステージST1〜ST4に載置したとき、基板収容器Cでは、水平姿勢の複数枚の基板Wが互いに間隔を開けて鉛直方向に積層された状態となる。
インデクサロボットIRは、たとえば、基台部6と、多関節アーム7と、一対のハンド8A,8Bとを含む。基台部6は、たとえば、当該基板処理装置1のフレームに固定されている。多関節アーム7は、水平面に沿って回動可能な複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム7の基端部は、基台部6に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム7は、基台部6に対して昇降可能に結合されている。換言すれば、基台部6には、多関節アーム7を昇降させるための昇降駆動機構、多関節アーム7を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム7には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム7の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド8A,8Bが結合されている。多関節アーム7には、ハンド8A,8Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド8A,8Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド8A,8Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド8A,8Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド8A,8Bを紙面に平行な方向(水平方向)にずらして描いてある。
この構成により、インデクサロボットIRは、いずれかのステージST1〜ST4に保持された基板収容器Cから一枚の未処理基板Wをハンド8Aで搬出して受け渡しユニットPASSに渡すように動作する。さらに、インデクサロボットIRは、受け渡しユニットPASSから一枚の処理済み基板Wをハンド8Bで受け取って、いずれかのステージST1〜ST4に保持された基板収容器Cに収容するように動作する。
処理セクション3は、複数(この実施形態では12個)の処理ユニットSPIN1〜SPIN12と、主搬送ロボットCRと、前述の受け渡しユニットPASSとを含む。
処理ユニットSPIN1〜SPIN12は、この実施形態では、立体的に配置されている。より具体的には、三階建て構造をなすように複数の処理ユニットSPIN1〜SPIN12が配置されており、各階部分に4つの処理ユニットが配置されている。すなわち、一階部分に4つの処理ユニットSPIN1,SPIN4,SPIN7,SPIN10が配置され、二階部分に別の4つの処理ユニットSPIN2,SPIN5,SPIN8,SPIN11が配置され、三階部分にさらに別の処理ユニットSPIN3,SPIN6,SPIN9,SPIN12が配置されている。さらに具体的には、平面視において処理セクション3の中央に主搬送ロボットCRが配置されており、この主搬送ロボットCRとインデクサロボットIRとの間に受け渡しユニットPASSが配置されている。受け渡しユニットPASSを挟んで対向するように、3つの処理ユニットSPIN1〜SPIN3を積層した第1処理ユニット群G1と、別の3つの処理ユニットSPIN4〜SPIN6を積層した第2処理ユニット群G2とが配置されている。そして、第1処理ユニット群G1に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN7〜SPIN9を積層した第3処理ユニット群G3が配置されている。同様に、第2処理ユニット群G2に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN10〜SPIN12を積層した第4処理ユニット群G4が配置されている。第1〜第4処理ユニット群G1〜G4によって、主搬送ロボットCRが取り囲まれている。
主搬送ロボットCRは、たとえば、基台部11と、多関節アーム12と、一対のハンド13A,13Bとを含む。基台部11は、たとえば、当該基板処理装置1のフレームに固定されている。多関節アーム12は、水平面に沿って延びた複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム12の基端部は基台部11に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム12は、基台部11に対して昇降可能に結合されている。換言すれば、基台部11には、多関節アーム12を昇降させるための昇降駆動機構、多関節アーム12を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム12には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム12の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド13A,13Bが結合されている。多関節アーム12には、ハンド13A,13Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド13A,13Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド13A,13Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド13A,13Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド13A,13Bを紙面に平行な方向(水平方向)にずらして描いてある。
この構成により、主搬送ロボットCRは、受け渡しユニットPASSから未処理の一枚の基板Wをハンド13Aで受け取り、その未処理の基板Wをいずれかの処理ユニットSPIN1〜SPIN12に搬入する。また、主搬送ロボットCRは、処理ユニットSPIN1〜SPIN12で処理された処理済みの基板Wをハンド13Bで受け取り、その基板Wを受け渡しユニットPASSに渡す。
処理ユニットSPIN1〜SPIN12は、基板Wを1枚ずつ処理する枚葉型の処理ユニットである。処理ユニットSPIN1〜SPIN12は、基板Wの中央部を通る鉛直な軸線まわりに基板Wを回転させながら、基板Wに処理液を供給する液処理ユニットであってもよいし、処理ガスを用いた処理を行うガス処理ユニットであってもよいし、紫外線等の電磁波を用いた処理を行う電磁波処理ユニットであってもよいし、物理洗浄処理(ブラシ洗浄、スプレーノズル洗浄等)を行う物理洗浄処理ユニットであってもよい。図3Aには、処理ユニットSPIN1〜SPIN12が、液処理ユニットである例を示している。
図3Aに示すように、各処理ユニットSPIN1〜SPIN12は、内部空間を有する箱形の処理室17と、処理室17内で1枚の基板Wを水平姿勢で保持して基板Wの中央部を通る鉛直な回転軸線X1まわりに基板Wを回転させるスピンチャック15と、基板Wの回転軸線X1まわりにスピンチャック15を取り囲む筒状の処理カップ16とを含む。
処理室17は、箱状の隔壁17aによって隔壁されている。隔壁17aには、処理室17内に基板Wを搬出入するための開口17bが形成されている。開口17bはシャッタ17cによって開閉される。シャッタ17cは、シャッタ昇降機構(図示しない)によって、開口17bを覆う閉位置(図3Aに二点鎖線で示す)と、開口17bを開放する開位置(図3Aに実線で示す)との間で昇降させられる。
基板Wの搬出入の際には、主搬送ロボットCRが、開口17bを通して処理室3内にハンド13A,13Bをアクセスさせる。これにより、スピンチャック15上に未処理の基板Wを載置したり、スピンチャック15から処理済の基板Wを取り除いたりできる。
図3Aに示すように、スピンチャック15は、水平な姿勢をなす円板状のスピンベース15aと、スピンベース15aの上面外周部から上方に突出する複数のチャックピン15bと、複数のチャックピン15bを基板Wの周縁部に押し付けるチャック開閉機構と、スピンベース15aの中央部から下方に延びる回転軸15cと、回転軸15cを回転させることにより、複数のチャックピン15bに保持されている基板Wを回転させるスピンモータ15dとを含む。スピンチャック15は、図3Aに示す挟持式のチャックに限らず、基板の下面をスピンベースの上面に吸着させることにより基板を水平な姿勢で保持するバキューム式のチャックであってもよい。
図3Aに示すように、処理ユニットSPIN1〜SPIN12は、スピンチャック15に保持されている基板Wの上面に向けて薬液を吐出する薬液ノズル51と、薬液ノズル51に供給される薬液を貯留する薬液タンク52と、薬液タンク52内の薬液を薬液ノズル51に導く薬液配管53と、薬液タンク52内の薬液を薬液配管53に送る送液装置54(たとえば、ポンプ)と、薬液配管53の内部を開閉する薬液バルブ55とを含む。処理ユニットSPIN1〜SPIN12は、さらに、薬液バルブ55よりも上流側(薬液タンク52側)で薬液配管53と薬液タンク52とを接続する循環配管56と、循環配管56の内部を開閉する循環バルブ57と、循環配管56を流れる薬液の温度を調節する温度調節装置58とを含む。
薬液バルブ55および循環バルブ57の開閉は、コンピュータ21(図3B参照)によって制御される。薬液タンク52内の薬液が薬液ノズル51に供給されるときには、薬液バルブ55が開かれ、循環バルブ57が閉じられる。この状態では、送液装置54によって薬液タンク52から薬液配管53に送られた薬液が、薬液ノズル51に供給される。一方、薬液ノズル51への薬液の供給が停止されるときには、薬液バルブ55が閉じられ、循環バルブ57が開かれる。この状態では、送液装置54によって薬液タンク52から薬液配管53に送られた薬液が、循環配管56を通じて薬液タンク52内に戻る。そのため、薬液ノズル51への薬液の供給が停止されている供給停止中は、薬液が、薬液タンク52、薬液配管53、および循環配管56によって構成された循環経路を循環し続ける。温度調節装置58は、循環配管56内を流れる薬液の温度を調節する。したがって、薬液タンク52内の薬液は、供給停止中に循環経路で加熱され、室温よりも高い温度に維持される。
さらに、薬液ノズル51から微少量の薬液を吐出してプリディスペンスが行えるように、薬液バルブ55は開度が調整可能となっている。また、薬液ノズル51近傍には薬液回収部材(図示しない)が配置されており、薬液ノズル51からプリディスペンスされた薬液が回収できるようになっている。
また、図3Aに示すように、処理ユニットSPIN1〜SPIN12は、スピンチャック15に保持されている基板Wの上面に向けてリンス液を吐出するリンス液ノズル59と、リンス液供給源(図示しない)からのリンス液をリンス液ノズル59に供給するリンス液配管60と、リンス液配管60からリンス液ノズル59へのリンス液の供給および供給停止を切り換えるリンス液バルブ61とを含む。リンス液としては、DIW(脱イオン水)等が用いられる。薬液ノズル51により基板Wに薬液を供給後に、リンス液ノズル59からリンス液を基板Wに供給することにより、基板Wに付着している薬液を洗い流すことができる。
さらに、処理ユニットSPIN1〜SPIN12は、処理室17内の所定部位(たとえばスピンベース15a)に向けて洗浄液を吐出するための洗浄液ノズル62と、洗浄液供給源(図示しない)からの洗浄液を洗浄液ノズル62に供給する洗浄液配管63と、洗浄液配管63から洗浄液ノズル62への洗浄液の供給および供給停止を切り換える洗浄液バルブ64とを含む。洗浄液としては、DIW(脱イオン水)等が用いられる。洗浄液ノズル62は、処理室17の内壁)に取り付けられている。複数のチャックピン15bにダミー基板(図示しない。洗浄用治具)や基板Wが保持された状態で、スピンベース15aおよびチャックピン15bが回転されると共に、洗浄液ノズル62から洗浄液が吐出される。洗浄液ノズル62から吐出される洗浄液が、チャックピン15bに保持されているダミー基板の上面または基板Wの上面で跳ね返って、処理室17内に洗浄液が飛散するようになる。洗浄液をこのように飛散させることで、理室17内に配置された各種部品(チャックピン15bや処理カップ16)を洗浄できる。
図3Bは、基板処理装置1の電気的構成を説明するためのブロック図である。基板処理装置1は、処理ユニットSPIN1〜SPIN12、主搬送ロボットCRおよびインデクサロボットを制御するコンピュータ21を含む。
コンピュータ21は、メインコントローラ22と、サブコントローラ23とを備えている。
メインコントローラ22は、パーソナルコンピュータ(FAパソコン)の形態を有していてもよく、第1の制御部24と、出入力部25と、第1の記憶部26とを備えている。第1の制御部24は、CPU等の演算ユニットを含む。出入力部25は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部25は、ホストコンピュータHCとの通信のための通信モジュールを含む。第1の記憶部26は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
第1の制御部24は、オンライン制御部27と、装置管理部28と、スケジューリング機能部(スケジュール作成部)29とを含む。スケジューリング機能部29は、スケジューリングエンジン30と、処理実行指示部31とを含む。スケジューリングエンジン30は、基板Wを基板収容器Cから搬出し処理ユニットSPIN1〜SPIN12で処理した後基板収容器Cに収容するために、基板処理装置1のリソースを時系列に従って作動させるためのスケジュール(計画)を作成する。スケジューリングエンジン30によるスケジュールの作成の結果(スケジューリング結果32)は、処理実行指示部31に与えられる。処理実行指示部31は、与えられたスケジュールに従って、基板処理装置1のリソースを作動させる旨のコマンドを、サブコントローラ23に向けて送信する。
第1の記憶部26は、第1の制御部24をスケジューリング機能部として作動させるためのスケジュール作成プログラム39と、スケジューリング機能部によって作成されたスケジュールデータ33とを含むデータ等を記憶するように構成されている。
サブコントローラ23は、たとえば制御VME(VERSAmodule Eurocard)ボードにより構成されており、第2の制御部34と、第2の記憶部35と、シリアル通信部36とを備えている。第2の制御部34は、演算処理を実行するCPU37を含む。第2の制御部34が、特許請求の範囲の「制御部」に相当する。
第2の記憶部35は、基板処理装置1による処理内容のデータである処理内容データ38を含む各種データ等を記憶するように構成されている。処理内容データ38は、各基板Wに付与されたプロセスジョブ符号と、プロセスジョブ符号に対応付けられたレシピとを含む。
レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、並行処理ユニット情報、使用処理液情報、処理時間情報、後処理実行条件、前準備実行条件等を含む。
「並行処理ユニット情報」は、当該レシピに含まれる基板処理を実行することのできる処理ユニットを指定する情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Wの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Wの処理をさせたくないと考えているときなどである。
「使用処理液情報」は、当該レシピに含まれる基板処理の際に使用される処理液(各種薬液およびリンス液)に関する情報である。
「処理時間情報」は、レシピに含まれる各工程の実行に要する時間に関する情報である。具体的には当該レシピの指定処理ユニットにおける基板の滞在時間、次に述べる予備処理工程(前準備工程および後処理工程)の実行に要する時間などが含まれる。予備処理工程とは所定の処理ユニットにおいて基板処理を実行する前に、当該基板処理が精密に実行できるよう、基板処理工程の準備を行う処理であり、本実施形態では、基板処理の前に実行される前準備工程と、直前の基板処理の後に実行される後処理工程とが対応する。
「前準備実行条件」は、前準備工程に関する情報である。
前準備工程とは、所定の基板処理を実行する前に処理ユニットで実行すべき前準備作業である。
たとえば、図3Aを用いて前述したように、処理ユニットSPIN1〜12には、所定の薬液を規定された温度で基板Wに向けて吐出するための温度調節装置58が設けられている。レシピに規定された目的温度で薬液を基板Wに向けて吐出させる必要があるが、温度調節装置58が薬液を目的温度まで加熱するには一定時間を要する。このため、薬液ノズル51から基板Wに向けて薬液を吐出させる前から、循環バルブ57を開放し温度調節装置58を作動させた状態で送液装置54を作動させることで循環配管56の中で薬液を循環させることがある(前準備工程の例1)。
また、薬液ノズル51および薬液配管53の少なくとも一方に目的温度範囲外となってしまった薬液が残留していると目的温度外の薬液が基板Wに向けて吐出されるおそれがある。このため、実際に薬液吐出を開始する所定時間前から薬液ノズル51から少量の薬液を排出する、いわゆるプリディスペンスを実行することがある(前準備工程の例2)。
前準備実行条件には、どのような前準備(たとえば前準備工程の例1を行う場合には、循環バルブ57の開放、温度調節装置58および送液装置54の作動、温度調節装置58の所定の設定温度での温度調整等)を、どのタイミング(たとえば、基板処理の開始の所定時間前)から開始すべきか(たとえば、割り当てられた処理ユニットにおいて基板処理を開始する所定時間前、あるいは薬液ノズル51から実際に薬液を吐出する所定時間前)等の前準備工程の具体的内容が記述されている。
さらに、前準備実行条件には、前準備工程の要否に関する情報も記述されている。
前準備工程の要否は、基板処理の内容や、当該基板処理の前に実行される基板処理の内容等によって決定される。前準備工程の要否の一例として次のような例を挙げる。たとえば、温度依存性の高い処理液を用いる基板処理を実行する場合には、前準備工程としてのプリディスペンス処理を実行することが必要であると考えられるから、前準備工程の実行を「要」にする。一方、温度依存性の低い処理液を用いる基板処理を実行する場合には、プリディスペンス処理は不要であるから、前準備工程の実行を「否」にする。なお、前準備工程の内容と要否とは、プロセスジョブ毎に規定されている。
また、前準備工程を必要とする基板処理を連続して実行する場合、同一の処理ユニットの2回目以降の基板処理の前には、原則として、前準備工程を実行する必要がない。しかしながら、前の基板処理のために前準備工程が実行された場合であっても、次の基板処理工程を開始するまでに装置異常等により長時間が経過した場合には、前準備工程が必要であると判断される場合がある。
「後処理実行条件」は、後処理工程に関する情報である。
後処理工程とは、所定の基板処理を実行した後に、処理ユニットSPIN1〜SPIN12の次の基板処理のために実行すべき作業である。
後処理実行条件には、後処理工程の具体的内容に関する情報、後処理工程の要否に関する情報が含まれている。後処理工程の要否および内容は、レシピに含まれるブロック毎に規定されている。
後処理工程の具体例は、処理ユニットSPIN1〜SPIN12の処理室17内の洗浄処理(チャンバ洗浄工程)である。処理室17(図3A参照)内の洗浄を実行することによって、処理室17に次に搬入される基板Wに対して、前の基板Wに対して行われた基板処理の影響が及ぶことを回避できる。これにより、精密な基板処理を実現でき、基板処理品質を保つことができる。後処理工程は、洗浄処理(チャンバ洗浄工程)に限らず、基板を保持するチャックピンの洗浄(チャックピン洗浄工程)や、処理室17内のその他の部品(たとえば処理カップ16(図3A参照))の洗浄処理(部品洗浄工程)であってもよいし、これらの洗浄処理の2つ以上を含んでいてもよい。チャンバ洗浄や部品洗浄は洗浄液ノズル62(図3A参照)から洗浄液を吐出することで実行できる。
後処理実行条件には、後処理工程の要否に関する情報が記述されている。後処理工程の要否は、レシピに含まれるブロック毎に規定されている。
後処理工程の要否は、基板処理の内容や、当該基板処理の前に実行される基板処理の内容、当該基板処理の直後に実行される基板処理の内容等によって決定される。後処理工程の要否の一例として次のような例を挙げる。処理室17を汚染するおそれが大きい基板処理を行う場合には、その次に基板処理を行うか否かに拘わらず後処理工程の実行を「要」にする。また、たとえば同一の処理室17で処理工程が実行されないまま、所定時間が経過した場合や所定枚数の基板Wが処理された場合には、後処理工程の実行を「要」にする。さらに、同一の処理室17で直後に行われる基板処理に影響を与える可能性がある場合には、当該基板処理後に後処理工程を実行する必要があるから「要」にする。反対に、直前の基板処理で同じ処理液しか使用しない場合など、当該基板処理が直後の基板処理に影響を与えない場合には、基板処理の後に後処理工程を行う必要がなから「否」にする。
プロセスジョブとは、共通の処理が施される1枚または複数枚の基板Wをいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Wには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ符号に対応する処理内容(レシピ)が同じである場合もあり得る。たとえば、処理順序(基板収容器C(図1等参照)からの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ符号が付与される。
処理内容データの作成および記憶は、基板処理装置1での基板処理に先立ってオペレータの操作により行われる。具体的には、出入力部25の操作によりオペレータが入力する情報に基づいて、第1の制御部24は、プロセスジョブおよびレシピを生成する。生成された処理内容データ28(プロセスジョブおよびレシピ)は、サブコントローラ23に付与されて、第2の記憶部35に格納される。
シリアル通信部36は、処理ユニットSPIN1〜SPIN12、主搬送ロボットCRおよびインデクサロボットIRとの間でシリアル通信を行う。
なお、サブコントローラ23は、メインコントローラ22と同一のコンピュータで構成されていてもよいし、メインコントローラ22と別のコンピュータで構成されていてもよい。
基板収容器Cが基板処理装置1に搬入されると、ホストコンピュータHCは、プロセスジョブ生成指示をメインコントローラ22に送信する。プロセスジョブ生成指示には、プロセスジョブ符号と、レシピの識別情報とが含まれる。
各プロセスジョブには、プロセスジョブ生成指示で指定されているレシピの識別情報が含まれている。第2の制御部34は、第2の記憶部35に記憶されている複数のレシピの中からプロセスジョブ生成指示で指定されているレシピの識別情報に対応するレシピを選択し、選択したレシピを読み込む。これにより、プロセスジョブに対応するレシピがサブコントローラ23によって準備される。
図4A〜図4Dおよび図5は、スケジューリング機能部29による処理例を説明するためのフローチャートである。なお、図4A〜図4Dのプロセスと図5のプロセスとは並行して実行される。具体的には、図4A〜図4Dのプロセスではプロセスジョブに属する各基板A1〜A12の基板のスケジューリングが行われる。図5のプロセスではこれと並行して、各基板A1〜A12のスケジューリングの終了するタイミングが監視されるようになっている。図6は、仮タイムテーブルの一例を示す。図7は、仮タイムテーブル作成処理の流れを示すフローチャートである。図8は、ブロックの配置位置の検索処理流れを示すフローチャートである。図9〜図23は、スケジュールの作成の一例を示す。
図4A〜図4Dには、第1の制御部22がスケジュール作成プログラム39を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム39には、図4に示す処理を第1の制御部22に実行させるように工程群が組み込まれている。
本実施形態に係るスケジュール作成方法の特徴の一つは、後述する「高負荷動作」に対応するブロック同士を、その高負荷時間帯が集中しないように時間軸上に配置するようにした点である。また、本実施形態に係るスケジュール作成方法の他の特徴は、共通のプロセスジョブ符号された複数枚の基板Wのうち、基板収容器Cから最初に払い出される一枚目の基板Wのスケジュールの作成の完了後、当該一枚目の基板W以外の基板Wのスケジュールの作成が未完了であるタイミングで、作成済みのスケジュールを開始する点である。
以下、図1〜図5を主に参照して、スケジュールの作成の例について説明する。図6〜図23は適宜参照する。
以下のスケジュール例では、同じプロセスジョブ符号「A」が付与された「N」(Nは「2」以上「12」以下の整数)枚の基板Wの計画(スケジュール)を作成する例を説明する。便宜上、最初に払い出される1枚目の基板(第1の基板)Wを「基板A1」とし、その次に払い出される2枚目の基板Wを「基板A2」として説明する。
スケジュールの作成に先立って、後述する「高負荷動作」の許容範囲(「高負荷動作」ではないと判定される条件)が第1の記憶部26に記憶される(ステップS0)。たとえば、「高負荷動作」の許容範囲の一例として、プログラム実行時のCPU37の使用率が、任意の1秒間で平均90%未満であること、およびプログラム実行時のCPU37の使用率100%である状態が0.1秒間継続しないことを例示できる。
ホストコンピュータHCから、もしくは出入力部25からオペレータによって基板処理開始の指示が与えられると(ステップS1)、スケジューリング機能部29は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS2)。基板処理開始指示は、基板W一枚単位でなく、基板収容器Cに収容されている全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ符号が付与された基板Wの処理開始を指示するものであってもよい。
たとえば、処理内容データにおいてあるプロセスジョブ符号に対応付けられたレシピが、処理ユニットSPIN1〜SPIN12の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、12個の処理ユニットSPIN1〜SPIN12のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ符号が付与された基板Wが処理を受けるときに通る経路は、12通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1〜SPIN12のいずれかを通る12個の経路である。そこで、スケジューリング機能部29は、その12個の経路に対応した仮タイムテーブルを作成する。
処理ユニットSPIN1を通る経路に対応した仮タイムテーブルの例を図6に示す。この仮タイムテーブルは、前準備工程の実行を表す前準備ブロックと、搬入前処理工程の実行を表す搬入前処理ブロックと、処理ユニットSPIN1による当該基板Wに対する処理を表す基板処理ブロックと、搬出後処理工程の実行を表す搬出後処理ブロックと、インデクサロボットIRにより基板収容器Cから基板Wの払い出し(搬出)を表す第1の搬出ブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSへの搬入を表す第1の搬入ブロックと、主搬送ロボットCRによる受け渡しユニットPASSからの当該基板Wの搬出を表す第2の搬出ブロックと、主搬送ロボットCRによる当該基板Wの処理ユニットSPIN1への搬入を表す第2の搬入ブロックと、主搬送ロボットCRによる処理ユニットSPIN1からの処理済みの基板Wの搬出を表す第3の搬出ブロックと、主搬送ロボットCRによる当該基板Wの受け渡しユニットPASSへの搬入を表す第3の搬入ブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSからの搬出を表す第4の搬出ブロックと、インデクサロボットIRによる当該基板Wの基板収容器Cへの搬入を表す第4の搬入ブロックとを含む。図6、図13〜図24では、図示の便宜上、第1の搬入ブロックおよび/または第4の搬出ブロックを受け渡しユニットPASSの動作に対応するものとして示しているが、これらのブロックは、実際にはインデクサロボットIRの動作に対応するものである。また、図示の便宜上、第2の搬入ブロックおよび/または第3の搬出ブロックを、各処理ユニットSPIN1〜SPIN12の処理に対応するものとして示しているが、これらのブロックは、実際には主搬送ロボットCRの動作に対応するものである。なお、図6に示すこの仮タイムテーブルは、前準備ブロックを含むが、後処理工程の実行を表すブロックである後処理ブロックを含んでいない。
なお、以降の説明において、第1〜第4の搬出ブロックおよび第1〜第4の搬入ブロックの総称を「搬送ブロック」という場合がある。また、図6に示すブロックのうち前準備ブロックを除く各ブロックの総称を「処理/搬送ブロック」という場合がある。
搬入前処理工程とは、処理ユニットが当該処理ユニット内に基板Wを搬入するための動作である。搬入前処理工程として、シャッタ17cの開放動作や、チャックピン15bの開姿勢(基板Wを挟持しない姿勢)への変位動作等を例示できる。
搬出後処理工程とは、処理ユニットが当該処理ユニットから基板を搬出した後の動作である。搬出後処理工程として、シャッタ17cの閉塞動作やチャックピン15bの閉姿勢(基板Wを挟持する姿勢)への変位動作等を例示できる。
図7に示すように、仮タイムテーブルの作成では、スケジューリング機能部29は、基板処理開始指示が与えられた全ての基板Wについて、レシピを取得し(図7のステップS51)、取得したレシピに基づいて仮タイムテーブルに含めるべきブロックを生成し(図7のステップS52)、仮タイムテーブルを作成する。
スケジューリング機能部29は、生成したブロックに対応する動作に、第2の制御部34に生じる制御負荷の高い時間帯である高負荷時間帯が存在する(含まれる)か否かを調べる(図7のステップS53)。この実施形態では、高負荷時間帯とは、たとえば、プログラム実行時のCPU37の使用率が、任意の1秒間で平均90%以上であること、およびプログラム実行時のCPU37の使用率100%の状態が0.1秒間継続することの少なくとも一方を満たす時間帯である。以降において、高負荷時間帯を含むリソースの動作を「高負荷動作」という。
図6の仮タイムテーブルで規定されている基板処理装置1の各動作のうち、前準備工程、基板処理工程、および搬入前処理工程が「高負荷動作」に相当する。
前準備工程の開始時において、サブコントローラ23のシリアル通信部36は、スケジューリング結果32に基づいて当該基板処理に必要なレシピを第2の記憶部35から読み出す。CPU37は読み出されたレシピをデータ解釈して、各処理ユニットSPIN1〜SPIN12において当該レシピを実現するための制御信号を生成する。CPU37は、生成した制御信号を、シリアル通信部36を介して制御対象の処理ユニットSPIN1〜SPIN12に対し送信する。また、制御対象の処理ユニットSPIN1〜SPIN12は、制御信号を受信すると直ちに、受信確認信号をシリアル通信部36に向けて送信する。前準備工程の処理データのデータ量が大きいので、シリアル通信部36やCPU37がデータ通信やデータ解釈を行う際に一時的に高い制御負荷が生じる。すなわち、基板処理工程の開始時に高負荷時間帯が存在する。
また、基板処理工程の開始時において、第2の制御部34のシリアル通信部36は、制御対象の処理ユニットSPIN1〜SPIN12に対し、レシピを送信する。また、制御対象の処理ユニットSPIN1〜SPIN12は、レシピを受信すると直ちに、受信確認信号をシリアル通信部36に向けて送信する。レシピのデータ量が膨大なので、シリアル通信部36やCPU37に一時的に高い制御負荷が生じる。すなわち、基板処理工程の開始時に高負荷時間帯が存在する。
また、搬入前処理工程の開始時において、第2の制御部34のシリアル通信部36は、制御対象の処理ユニットSPIN1〜SPIN12に対し、当該搬入前処理工程に関する処理データに併せてレシピも送信する。レシピのデータ量が膨大なので、シリアル通信部36やCPU37に一時的に高い制御負荷が生じる。すなわち、搬入前処理工程の開始時に高負荷時間帯が存在する。
生成したブロックが「高負荷動作」に対応する場合(図7のステップS53:YES)には、スケジューリング機能部29は、図6に示すように、当該ブロックの最初の時間帯に高負荷情報を付与する(図7のステップS54)。これにより、スケジューリング機能部29は仮タイムテーブルの作成を完了する(図7のステップS55)。一方、生成したブロックが「高負荷動作」に対応しない場合(図7のステップS53:NO)には、スケジューリング機能部29は、そのまま、仮タイムテーブルの作成を完了する(図7のステップS55)
スケジューリング機能部29は、仮タイムテーブルに含めるべき全てのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。スケジューリング機能部29は、基板Wに対して、処理ユニットSPIN2〜SPIN12をそれぞれ通る経路に対応した同様の仮タイムテーブル(ブロックを処理ユニットSPIN2〜SPIN12にそれぞれ配置した仮タイムテーブル)を作成する。こうして、一枚の基板Wに対して合計12経路分の仮タイムテーブルが作成される。
同様の仮タイムテーブルが共通するプロセスジョブ符号が付与された基板Wの全てに対応して作成される。こうして作成された仮タイムテーブルは、スケジュールデータ33の一部として第1の記憶部26に格納される。
スケジューリング指示が発生すると(ステップS3:YES)、当該共通するプロセスジョブ符号が付された基板Wに関するブロックの配置が行われる(ステップS4〜S32)。具体的には、スケジューリング機能部29は、当該基板Wの仮タイムテーブルを第1の記憶部26から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
さらに具体的に説明すると、スケジューリング機能部29は、前準備実行条件の内容を参照し、前準備工程を行うかどうかを判断する(ステップS4)。プロセスジョブが前準備工程を必要としている場合(すなわち、当該基板Wに対応する前準備実行条件が「要」になっている場合。ステップS4:YES)には、前準備工程のスケジュールが作成(ステップS5,S6)され、前準備工程を必要としていない場合(すなわち、当該基板Wに対応する前準備実行条件が「否」になっている場合)には、S5,S6の各処理はスキップされる。
前準備工程が必要なときは(ステップS4:YES)、スケジューリング機能部29は、当該基板Wを処理する可能性のある処理ユニットSPIN1〜SPIN12(前述の例では全ての処理ユニット)に関して、前準備ブロックを配置する(S5,S6)。すなわち、前準備工程のスケジュールは、後述する個別の基板Wのスケジュールの作成に先立って、まとめて作成される。
前準備ブロックの配置位置検索(S5)では、スケジューリング機能部29は、図8に示すように、検索対象の前準備ブロックに高負荷情報が付加されているか(検索対象の前準備ブロックが「高負荷動作」に対応しているか)否かを調べる(図8のステップS61)。また、検索対象の前準備ブロックに高負荷情報が付加されている場合(図8のステップS61:YES)には、次いで、スケジューリング機能部29は、他のリソース(処理ユニット等)に、高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置済みであるか否かを調べる(図8のステップS62)。検索対象の前準備ブロックに高負荷情報が付加されていない場合(図8のステップS61:NO)や、高負荷情報を含むブロックが他のリソースに配置されていない場合(図8のステップS62:NO)には、スケジューリング機能部29は、検索対象の前準備ブロックの配置位置として、時間軸上で最も早い位置を決定し(図8のステップS64)、これにより前準備ブロックの配置位置検索を完了する(図8のステップS65)。
一方、配置位置の検索対象になっている前準備ブロックに、高負荷情報が付加されており(図8のステップS61:YES)、かつ他のリソースに高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置されている場合(図8のステップS62:YES)には、スケジューリング機能部29は、検索対象の前準備ブロックの配置位置として、既に配置済みのブロックの高負荷情報と重複しない範囲で、時間軸上で最も早い位置を決定し(図8のステップS63)、これにより前準備ブロックの配置位置検索を完了する(図8のステップS65)。
先ず、スケジューリング機能部29は、処理ユニットSPIN1の前準備ブロックSP1を配置する。このとき、スケジューリング機能部29は、1枚目の基板A1の仮タイムテーブルを第1の記憶部26から読み出して、図9に示すように、その仮タイムテーブルに含まれる前準備ブロックSP1を、時間軸上において最も早い位置、すなわち現在時刻に配置する。こうして配置される前準備ブロックSP1には、高負荷情報が付加されている。
次いで、スケジューリング機能部29は、処理ユニットSPIN2の前準備ブロックSP2を配置する。このとき、スケジューリング機能部29は、2枚目の基板A2の仮タイムテーブルを第1の記憶部26から読み出して、図10に示すように、その仮タイムテーブルに含まれる前準備ブロックSP2を、当該前準備ブロックSP2に付加されている高負荷情報が処理ユニットSPIN1の前準備ブロックSP1に含まれる高負荷情報と重複しない範囲で、時間軸上の最も早い位置に配置する。すなわち、スケジューリング機能部29は、処理ユニットSPIN2の前準備ブロックSP2を、前準備ブロックSP2に含まれる高負荷情報が処理ユニットSPIN1の前準備ブロックSP1と同じ時間帯に重複しないように、時間軸上の最も早い位置から時間軸上の後にシフトして配置する(高負荷回避配置工程)。こうして配置される前準備ブロックSP2には、高負荷情報が付加されている。
次いで、スケジューリング機能部29は、処理ユニットSPIN3の前準備ブロックSP3を配置する。このとき、スケジューリング機能部29は、3枚目の基板Wの仮タイムテーブルを第1の記憶部26から読み出して、図11に示すように、その仮タイムテーブルに含まれる前準備ブロックSP3を、当該前準備ブロックSP3に付加されている高負荷情報が処理ユニットSPIN1,SPIN2の前準備ブロックSP1,SP2の各々に含まれる高負荷情報と重複しない範囲で、時間軸上の最も早い位置に配置される。すなわち、スケジューリング機能部29は、処理ユニットSPIN3の前準備ブロックSP3を、前準備ブロックSP3に含まれる高負荷情報が処理ユニットSPIN1,SPIN2の前準備ブロックSP1,SP2に含まれる高負荷情報と同じ時間帯に重複しないように、時間軸上の最も早い位置から時間軸上の後にシフトして配置する(高負荷回避配置工程)。こうして配置される前準備ブロックSP3には、高負荷情報が付加されている。
このように、スケジューリング機能部29は、読み出した仮タイムテーブルに含まれる前準備ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置に(すなわち前詰めで)順に配置していく。
処理ユニットSPIN1〜SPIN12の全てに対応する前準備ブロックSP1〜SP12の配置が完了すると(この状態を図12に示す。ステップS7:YES)、スケジューリング機能部29は、次いで、各基板Wの処理/搬送ブロックを配置する(ステップS8〜ステップS12)。
先ず、スケジューリング機能部29は、1枚目の基板A1に対応する仮タイムテーブルを第1の記憶部26から読み出して、1枚目の基板A1に対応する仮タイムテーブルを参照し、当該仮タイムテーブルに含まれる処理/搬送ブロックを一つ取得する(ステップS8)。このとき取得される処理/搬送ブロックは、未配置の処理/搬送ブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されている処理/搬送ブロックである。さらに、スケジューリング機能部29は、当該取得した処理/搬送ブロックを配置すべき位置を検索し(ステップS9)、その検索結果に従って、当該処理/搬送ブロックを配置する(ステップS10)。
処理/搬送ブロックの配置位置の検索(S9)では、スケジューリング機能部29は、図8に示すように、検索対象の処理/搬送ブロックに高負荷情報が付加されているか(検索対象の処理/搬送ブロックが「高負荷動作」に対応しているか)否かを調べる(図8のステップS61)。また、検索対象の処理/搬送ブロックに高負荷情報が付加されている場合(図8のステップS61:YES)には、次いで、スケジューリング機能部29は、他のリソース(処理ユニット等)に、高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置済みであるか否かを調べる(図8のステップS62)。検索対象の処理/搬送ブロックに高負荷情報が付加されていない場合(図8のステップS61:NO)や、高負荷情報を含むブロックが他のリソースに配置されていない場合(図8のステップS62:NO)には、スケジューリング機能部29は、検索対象の処理/搬送ブロックの配置位置として、時間軸上で最も早い位置を決定し(図8のステップS64)、これにより処理/搬送ブロックの配置位置検索を完了する(図8のステップS65)。
一方、配置位置の検索対象になっている処理/搬送ブロックに、高負荷情報が付加されており(図8のステップS61:YES)、かつ他のリソースに高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置されている場合(図8のステップS62:YES)には、スケジューリング機能部29は、検索対象の処理/搬送ブロックの配置位置として、既に配置済みのブロックの高負荷情報と重複しない範囲で、時間軸上で最も早い位置を決定し(図8のステップS63)、これにより処理/搬送ブロックの配置位置検索を完了する(図8のステップS65)。
具体的には、スケジューリング機能部29は、図13に示すように、先ず、1枚目の基板A1の第1の搬出ブロックA11、第1の搬入ブロックA12および第2の搬出ブロックA13を時間軸上に順に配置する。スケジューリング機能部29は、1枚目の基板A1の第1の搬出ブロックA11を、時間軸上で最も早い位置(すなわち現在時刻)ではなく、処理ユニットSPIN1での処理可能時刻(すなわち、処理ユニットSPIN1での前準備工程の終了時点)から搬送予定時間を逆算して妥当な位置に配置する。第1の搬入ブロックA12および第2の搬出ブロックA13は、それぞれ、第1の搬出ブロックA11の配置位置に応じて時系列に従って配置される。
次いで、スケジューリング機能部29は、図14に示すように、1枚目の基板A1の搬入前処理ブロックA14の配置を行う。同一のリソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置することだけを考慮すると、1枚目の基板A1の搬入前処理ブロックA14を図14に破線で示す位置に配置すべきであるが、このようにすると、この搬入前処理ブロックA14に付加されている高負荷情報が、処理ユニットSPIN12の前準備ブロック(図14に示すSP12)に含まれる高負荷情報と重複してしまうので、搬入前処理ブロックA14を、図14に破線で示す位置よりも時間軸の後方にずらして配置する。この場合、搬入前処理ブロックA14は、できる限り前詰めで配置されることが望ましい。
次いで、スケジューリング機能部29は、図15に示すように、1枚目の基板A1の第2の基板搬入ブロックA15および基板処理ブロックA16を時間軸上に配置する。次いで、スケジューリング機能部29は、図16に示すように、1枚目の基板A1の第3の搬出ブロックA17および第3の搬入ブロックA18を時間軸上に配置し、その後、搬出後処理ブロックA19、第4の搬出ブロックA110および第4の搬入ブロックA111を時間軸上に配置する。
図16に示すように、1枚目の基板A1についての仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS11:YES)、1枚目の基板A1のスケジュールの作成が終了し(ステップS12)、処理ユニットSPIN1〜SPIN12の前準備ブロックSP1〜SP12および1枚目の基板A1の処理/搬送ブロックA11〜A111を含む作成済みのスケジュールが、スケジュールデータ33の一部として第1の記憶部26に格納される(ステップS13)。1枚目の基板A1のスケジュールの作成が終了すると図4A〜4Dのスケジューリング処理と並行して実行されていた図5のフローチャートのステップS41のブロックがYESとなる(ステップS41:YES)。この後、スケジューリング機能部29は、図5のプロセスをステップS41からS42に移行させ、作成済みのスケジュールの実行を開始する(ステップS42)。すなわち、スケジューリング機能部29は、作成済みのスケジュールに従ってリソースの動作を開始させる。具体的には、処理ユニットSPIN1〜SPIN12で前準備工程が開始させられる。また、インデクサロボットIRにより基板収容器Cから1枚目の基板A1が払い出される(搬出される)。
図4のフローチャートに戻って、1枚目の基板A1のスケジュールデータ33が第1の記憶部26に格納される(ステップS13)と、2枚目の基板A2のスケジューリングを開始するタイミングにあるか否かの判断が行われる(ステップS14)。この実施の形態では、直前の基板ANが基板収容器Cから払い出されたタイミングが、直後の基板AN+1のスケジューリングを開始するタイミングに設定されている。
したがって、1枚目の基板A1が基板収容器Cから払い出されると、2枚目の基板A2のスケジューリングを開始するタイミングに達したと判断される(ステップS14:YES)。すなわち、1枚目の基板A1が基板収容器Cから払い出されると、2枚目の基板A2に対するスケジュールの作成(つまり、次に述べる処理/搬送ブロックA21〜A211の配置)が1枚目の基板A1の基板処理と並行して行われる。作成済みスケジュールの変更が許容されている場合(ステップS15:YES)には、スケジューリング機能部29は、図17および図18に示すように、1枚目の基板A1のスケジュールを構成する全てのブロックのうち、未来のブロックを時間軸上から削除する(ステップS16)。この未来のブロックの削除では、既に開始済みのリソースの動作に対応するブロックと、現在時刻の直後に開始予定のブロックとのみを残し、その他のブロックを全て削除する。
このスケジュール例では、図17の現在時刻で既に開始済みのリソースは処理ユニットSPIN1〜SPIN6であり、これらのリソースに対応するブロックは前準備ブロックSP1〜SP6である。また、現在時刻の直後に開始予定のリソースはインデクサロボットIRおよび処理ユニットSPIN7であり、これらのリソースに対応するブロックは第1の搬送ブロックA11および前準備ブロックSP7である。したがって、スケジューリング機能部29は、図17および図18に示すように、図17の現在時刻で予定されていた処理/搬送ブロックA11〜A111および前準備ブロックSP1〜SP12から、第1の搬送ブロックA11および前準備ブロックSP1〜SP7以外のブロック、すなわち処理搬送ブロ
ックA12〜A111および前準備ブロックSP8〜SP12を削除する。
開始済みのリソースの動作に対応するブロックだけでなく、現在時刻の直後に開始予定のリソースの動作に対応するブロックをも残すようにしたのは、現在時刻の直後に開始予定のリソースの動作は既に開始している可能性があるからである。
次いで、スケジューリング機能部29は、図19に示すように、ステップS16で削除した前準備ブロックSP8〜SP12を時間軸上に再度配置する(ステップS17)。前準備ブロックSP8〜SP12を再配置すべき位置の検索は、ステップS6の前準備ブロックの配置位置の検索と同様の手法で行われ、その検索結果に従って、処理ユニットSPIN8〜SPIN12の前準備ブロックSP8〜SP12が再配置される。
次いで、スケジューリング機能部29は、ステップS16で削除した処理/搬送ブロックA12〜A111を時間軸上に再配置すると共に、2枚目の基板A2の処理/搬送ブロックA22〜A211を時間軸上に配置する。削除した処理/搬送ブロックA12〜A111の再配置は、2枚目の基板A2の処理/搬送ブロックの配置に並行して行われる。
スケジューリング機能部29は、削除した処理/搬送ブロックA12〜A111を一つ取得する(ステップS18)。このとき取得される処理/搬送ブロックは、削除前の時間軸上で最も早い位置に配置されている処理/搬送ブロックである。
また、スケジューリング機能部29は、2枚目の基板A2に対応する仮タイムテーブルを第1の記憶部26から読み出して、2枚目の基板A2に対応する仮タイムテーブルを参照し、当該仮タイムテーブルに含まれる処理/搬送ブロックを一つ取得する(ステップS18)。このとき取得される処理/搬送ブロックは、未配置の処理/搬送ブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されている処理/搬送ブロックである。
次いで、スケジューリング機能部29は、取得した処理/搬送ブロック(削除した処理/搬送ブロックおよび2枚目の基板の処理/搬送ブロック)を配置(再配置)すべき位置を検索し(ステップS19)、その検索結果に従って、当該処理/搬送ブロックを配置(再配置)する(ステップS20)。削除した処理/搬送ブロックの再配置位置の検索と、2枚目の基板A2の処理/搬送ブロックの配置位置検索とは互いに並行して行われる。ステップS19において、処理/搬送ブロックを配置(または再配置)すべき位置の検索は、ステップS9の処理/搬送ブロックの配置位置の検索と同様の手法で行われる。すなわち、スケジューリング機能部29は、配置位置の検索対象になっている処理/搬送ブロック(削除した処理/搬送ブロックまたは2枚目の基板A2の処理/搬送ブロック)が、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置を検索する(図8のステップS61〜S65)。
以下、削除した処理/搬送ブロックおよび2枚目の基板A2の処理/搬送ブロックの配置位置検索(S19)および配置(S20)の一例を、順に説明する。具体的には、スケジューリング機能部29は、図20に示すように、ステップS16で削除した第1の搬入ブロックA12を元の位置に再配置する。また、スケジューリング機能部29は、図21に示すように、2枚目の基板A2の第1の搬出ブロックA21を、1枚目の基板A1の第1の搬出ブロックA11の後に配置する。図21の例では、2枚目の基板A2の第1の搬出ブロックA21は、第1の搬入ブロックA12と時間軸上の略同位置に配置される。
次いで、スケジューリング機能部29は、図22に示すように、削除した第2の搬出ブロックA13を配置する。このように、削除した処理/搬送ブロックの再配置位置と、2枚目の基板の処理/搬送ブロックの配置位置とが足並みを揃えて(並行して)行われる。
そして、削除した全ての処理/搬送ブロックおよび2枚目の基板A2の仮タイムテーブルを構成する全てのブロックを配置(再配置)し終えると(ステップS21:YES)、図23に示すように、2枚目の基板A2のスケジューリングが終了すると共に、1枚目の基板A1のスケジュール(作成済みのスケジュール)の変更が終了する(ステップS22)。こうして作成および変更されるスケジュールが、スケジュールデータ33の一部として第1の記憶部26に格納される(ステップS23)。
一方、作成済みスケジュールの変更が禁止されている場合(ステップS15:NO)には、スケジューリング機能部29は、1枚目の基板A1のスケジュールの変更を行わずに、2枚目の基板A2の処理/搬送ブロックを配置する。
そして、スケジューリング機能部29は、2枚目の基板A2に対応する仮タイムテーブルを第1の記憶部26から読み出して、2枚目の基板A2に対応する仮タイムテーブルを参照し、当該仮タイムテーブルに含まれる処理/搬送ブロックを一つ取得する(ステップS24)。このとき取得される処理/搬送ブロックは、未配置の処理/搬送ブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されている処理/搬送ブロックである。さらに、スケジューリング機能部29は、取得した処理/搬送ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置を検索し(ステップS25)、その検索結果に従って、当該処理/搬送ブロックを配置する(ステップS26)。
2枚目の基板A2についての仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS27:YES)、2枚目の基板A2のスケジュールの作成が終了する(ステップS22)。こうして作成される2枚目の基板A2のスケジュールが、スケジュールデータ33の一部として第1の記憶部26に格納される(ステップS23)。
基板処理装置1において各リソースの動作が進行し、2枚目の基板A2のスケジュールの実行タイミングになると、スケジューリング機能部29は、2枚目の基板A2のスケジュールの実行を開始する。すなわち、スケジューリング機能部29は、作成済みの2枚目の基板A2のスケジュールに従ってリソースの動作を開始させる。具体的には、インデクサロボットIRにより基板収容器Cから2枚目の基板A2が払い出される(搬出される)。2枚目の基板A2の基板収容器Cからの払い出し時が、3枚目の基板A3のスケジューリングタイミングである。3枚目の基板A3のスケジューリングタイミングに達すると(ステップS14:YES)、すなわち、2枚目の基板A2が基板収容器Cから払い出されると、3枚目の基板A3に対するスケジュールの作成が行われる。
3枚目以降の基板Wに対するスケジュールは、2枚目の基板A2に対するスケジュールと同様に行われる。すなわち、図4および図5のステップS14〜S27の各処理は、3枚目以降の基板Wにも共通して適用される。すなわち、作成済みスケジュールの変更が許容されている場合には、N(「N」は「2」以上の整数)枚目の基板Wのスケジュールの作成時に、(N−1)枚目以前の基板Wの各スケジュールのうち未来のブロックを削除し、N枚目の基板の処理/搬送ブロックの配置(スケジュールの作成)に並行して、削除した処理/搬送ブロックの再配置位置を行う。図4および図5は、ステップS14、S18〜S26の各処理を示している。「N」が12になるまで(すなわち全ての基板Wのスケジュールの作成が終了するまで。ステップS28:YES)、図4および図5のステップS14〜S27の各処理と同等の処理が繰り返される。スケジューリング機能部29によって作成される、複数枚の基板Wのスケジュールの全体の例を、図24に示す。
全ての基板Wのスケジュールの作成が終了すると(ステップS28:YES)、スケジューリング機能部29は、後処理実行条件の内容を参照し、基板Wに後処理工程を行うかどうかを判断する(ステップS29)。プロセスジョブが後処理工程を必要としている場合(すなわち、当該基板Wに対応する後処理実行条件が「要」になっている場合。ステップS29:YES)には、スケジューリング機能部29は、当該基板Wを処理する可能性のある処理ユニットSPIN1〜SPIN12に関して、後処理ブロックを配置する(ステップS30,S31)。一方、後処理工程を必要としていない場合(すなわち、当該基板Wに対応する後処理実行条件が「否」になっている場合)には、ステップS30〜S32の各処理はスキップされる。
後処理ブロックの配置位置検索(S30)では、スケジューリング機能部29は、図8に示すように、検索対象の後処理ブロックに高負荷情報が付加されているか(検索対象の後処理ブロックが「高負荷動作」に対応しているか)否かを調べる(図8のステップS61)。また、検索対象の後処理ブロックに高負荷情報が付加されている場合(図8のステップS61:YES)には、次いで、スケジューリング機能部29は、他のリソース(処理ユニット等)に、高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置済みであるか否かを調べる(図8のステップS62)。検索対象の後処理ブロックに高負荷情報が付加されていない場合(図8のステップS61:NO)や、高負荷情報を含むブロックが他のリソースに配置されていない場合(図8のステップS62:NO)には、スケジューリング機能部29は、検索対象の後処理ブロックの配置位置として、時間軸上で最も早い位置を決定し(図8のステップS64)、これにより後処理ブロックの配置位置検索を完了する(図8のステップS65)。
一方、配置位置の検索対象になっている後処理ブロックに、高負荷情報が付加されており(図8のステップS61:YES)、かつ他のリソースに高負荷情報を含むブロック(「高負荷動作」に対応するブロック)が配置されている場合(図8のステップS62:YES)には、スケジューリング機能部29は、検索対象の後処理ブロックの配置位置として、既に配置済みのブロックの高負荷情報と重複しない範囲で、時間軸上で最も早い位置を決定し(図8のステップS63)、これにより後処理ブロックの配置位置検索を完了する(図8のステップS65)。
このように、スケジューリング機能部29は、後処理ブロックを、当該後処理ブロックに付加されている高負荷情報が、配置済みの後処理ブロックに含まれる高負荷情報と重複しない範囲で、時間軸上の最も早い位置に(前詰めで)順に配置していく(ステップS31)。
後処理の必要のある処理ユニットSPIN1〜SPIN12への後処理ブロックの配置が完了すると(ステップS32でYES)、図4A〜図4Dに示す一連の処理はリターンされる。
一方、後処理工程を必要としていない場合(すなわち、当該基板Wに対応する後処理実行条件が「否」になっている場合。ステップS29でNO)には、ステップS30,S31の各処理はスキップされ、その後、図4A〜図4Dに示す一連の処理はリターンされる。
なお、図24に示すスケジュールは、各基板Wで後処理実行条件を満たしていない場合を示している。
以上により、この実施形態によれば、スケジューリング機能部29は、各基板Wの複数のブロックを時系列に従って配置することにより当該基板Wのスケジュールを作成し、この基板Wのスケジュールを複数枚分作成する。このとき「高負荷動作」(すなわち、基板処理工程、前準備工程および搬入前処理工程)に対応するブロックを、対応する「高負荷動作」の開始時が集中しないように、時間軸上の互いにずれた位置に配置する。
こうして作成されたスケジュールでは、第2の制御部34での制御負荷の集中が回避されている。これにより、第2の制御部34でのデータ処理の効率化が図られたスケジュールを作成でき、ゆえに、リソースの動作開始の遅延を確実に防止できる。
仮に、「同一のリソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置する」というロジックのみに基づいて、処理ユニットSPIN1〜SPIN12の前準備工程を計画すれば、複数の前準備工程が同時に開始するおそれがある。とくに、図25Aに示す、スケジュールの作成の第1の変形例のように、いずれかのプロセスジョブ符号が付された基板Wについてのスケジュール作成時に、それとは異なるプロセスジョブ符号が付された基板Wに対する基板処理が既に実行開始している場合に、当該所定のプロセスジョブの基板Wについての(処理ユニットSPIN3〜SPIN12の)前準備工程を、「各ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置する」というロジックのみに基づいて計画するとすれば、これら複数(たとえば10個)の前準備ブロックが、計画開始可能時刻(スケジュールを開始可能な時刻)に揃って配置されるおそれがある。この場合、処理ユニットSPIN3〜SPIN12の前準備工程が同時に開始するように計画されるので、前準備工程の開始時に第2の制御部34の制御負荷が集中する結果、第2の制御部34がデータ処理を円滑に行えず、これにより、実行中の基板処理(処理ユニットSPIN1,SPIN2での処理)において処理遅延が生じるなどの問題が発生するおそれがある。
これに対し、この実施形態では、前準備ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置に配置する。そのため、図25Aに示すように、処理ユニットSPIN3〜SPIN12の前準備工程は、互いに開始時がずれるように計画される。したがって、実行中の基板処理(処理ユニットSPIN1,SPIN2での処理)において、処理遅延などの問題を回避できる。
特に、この実施形態によれば、基板処理の開始が指示されてから実際に基板処理を開始するまでの期間を各基板W間で略同一にすることができるため、同一のレシピに基づく基板処理の効果を各基板間で均一にすることができる。より具体的に説明する。基板処理を開始するまでのデータフローを図25Bに示す。サブコントローラ23のCPU37はスケジュールデータ33に基づいて、または処理実行指示部31がスケジュールデータ33に基づいて発する処理実行指示に基づいて、基板処理を開始するタイミングが到来したことを判断する(時刻t1)。CPU37は実行しようとする基板処理に対応するレシピを第2の記憶部35に要求する(時刻t2)。第2の記憶部35はレシピを選択してCPU37に送信する(時刻t3〜時刻t4)。CPU37は受信したレシピをデータ解釈して、制御対象の処理ユニット(たとえば処理ユニットSPIN1)に当該レシピを実行させるための制御信号を生成する(時刻t5〜t6)。そしてCPU37は生成した制御信号を処理ユニットSPIN1に送信する(時刻t7〜t8)。これを受けて処理ユニットSPIN1が実際に基板処理を開始する(時刻t9)。このように、基板処理を開始するタイミングが到来してから処理ユニットSPIN1が実際に基板処理を開始するには所定長の時間を要する(時刻t1〜t9)。この実施形態では多数枚の基板Wのための基板処理が同一時刻に開始されないようにスケジューリングされているためCPU37の処理速度が遅延することがない。このため、レシピの送受信(時刻t3〜t4)、データ解釈(時刻t5〜t6)および制御信号の送受信(時刻t7〜t8)に要する時間が基板W毎に大きく異なることがない。よって、基板処理を開始するタイミングが到来してから各処理ユニットSPINにおいて実際に基板処理が開始されるまでの時間を略同一にすることができる。従って、基板処理の均一性を確保することができる。
また、ある基板(たとえば1枚目の基板A1)のスケジュールの作成が終了すると、他の基板(たとえば2枚目の基板A2以降の基板W)のスケジュールの作成が未終了であっても、作成したスケジュールの実行を開始する。したがって、第1の記憶部26に記憶されるスケジュールのデータ量の低減を図ることができる。
また、作成済みのスケジュールから削除した未実行のブロックを、新たにスケジュールを作成すべき基板Wに関するブロックの配置と並行して、時系列に従って再配置する。削除したブロックの再配置および新たな基板Wに関するブロックの配置は、複数枚の基板W相互間の干渉が生じることがなく、かつ効率的にリソース(処理ユニットSPIN1〜SPIN12等)を稼働させて複数枚の基板Wに対する処理が行われるように、時系列に従って行われる。削除したブロックおよび新たな基板Wに関するブロックの配置位置をよりきめ細かに決定できるので、処理ユニットSPIN1〜SPIN12等のリソースの稼働率を高めることができ、これにより、基板処理装置1の生産性を向上できる。
図26は、スケジュールの作成の第2の変形例を示す。この第2の変形例は、後処理工程を規定するためのブロックである後処理ブロックの配置例を示す。
図26では、処理ユニットSPIN1〜SPIN7での基板処理中に、後処理工程を計画する。このプロセスジョブでは処理ユニットSPIN1〜SPIN7を使用しているが、処理ユニットSPIN8〜SPIN12は使用可能であるものの、実際には使用されていない。つまり、実際に使用する処理ユニットの数が、使用可能な処理ユニットの数よりも少ない。前述のように、プロセスジョブの最後の基板Wのスケジュールの作成が終了したタイミングで、スケジューリング機能部29は、後処理工程のスケジュールを作成する。
この場合、仮に、「同一のリソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置する」というロジックのみに基づいて、処理ユニットSPIN1〜SPIN12の後処理工程を計画するとすれば、処理ユニットSPIN8〜SPIN12の後処理ブロックが、計画開始可能時刻(スケジュールを開始可能な時刻)に揃って配置されるおそれがある。この場合、処理ユニットSPIN8〜SPIN12の後処理工程が同時に開始するので、後処理工程の開始時に第2の制御部34の制御負荷が集中する結果、第2の制御部34がデータ処理を円滑に行えず、これにより、実行中の基板処理(処理ユニットSPIN1〜SPIN7での処理)において処理遅延が生じるなどの問題が発生するおそれがある。
これに対し、図26の例では、後処理ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置に配置する。そのため、図26に示すように、処理ユニットSPIN8〜SPIN12の後処理ブロックは、時間軸上に互いにずれて配置される。すなわち、処理ユニットSPIN8〜SPIN12の各後処理工程の開始時が互いにずれるように計画される。したがって、実行中の基板処理(処理ユニットSPIN1〜SPIN7での処理)において処理遅延などの問題を回避できる。
図27は、スケジュールの作成の第3の変形例を示す。この第3の変形例は、次に述べる基板回収工程を規定するためのブロックである後処理ブロックの配置例を示す。
基板処理装置1では、複数の処理ユニットに基板Wが収容されている状態で、各処理ユニットから基板Wを一斉に回収する並列回収が用意されることがある。この並列回収に先立って、各処理ユニットでは、基板回収工程が実行される。
基板回収工程とは、基板Wを処理室17(図3A参照)外に搬出可能な状態にするために実行する作業である。基板回収工程の具体例は、基板Wの水洗処理である。基板Wを水洗することにより、基板回収工程の実行前の基板Wの状態の如何に拘らず、処理室17外に基板Wを搬送可能である。基板Wの水洗処理は、基板Wを回転させながらリンス液ノズル59(図3A参照)から基板Wにリンス液を吐出することで実行できる。基板回収工程後、各処理ユニットの処理室17から、主搬送ロボットCR(図1等参照)によって基板Wが搬出される。
基板回収工程は、前述の「高負荷動作」に相当する。すなわち、基板回収工程の開始時において、サブコントローラ23(図3B参照)のシリアル通信部36は、基板回収のレシピを第2の記憶部35から読み出す。CPU37は読み出されたレシピをデータ解釈し、制御対象の処理ユニットSPIN1〜SPIN12において基板回収のレシピを実現するための制御信号を生成する。シリアル通信部36は生成された制御信号を、制御対象の処理ユニットSPIN1〜SPIN12に対し送信する。また、制御対象の処理ユニットSPIN1〜SPIN12は、制御信号を受信すると直ちに、受信確認信号をシリアル通信部36に向けて送信する。基板回収工程のレシピのデータ量が膨大なので、CPU37(図3B参照)に一時的に高い制御負荷が生じる。そのため、基板処理工程の開始時に高負荷時間帯が存在する。
このような基板回収工程を計画する場合に、仮に、基板回収工程のブロック(以下、基板回収ブロック)を、「同一のリソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置する」というロジックのみに基づいて配置するとすれば、処理ユニットSPIN1〜SPIN12の基板回収ブロックが、同時期に揃って配置されるおそれがある。この場合、処理ユニットSPIN1〜SPIN12の基板回収工程が同時に開始するので、基板回収工程の開始時に第2の制御部34の制御負荷が集中する結果、第2の制御部34がデータ処理を円滑に行えず、基板回収工程に遅延が生じるおそれがある。
これに対し、図27の例では、基板回収ブロックを、同一のリソースが同じ時間に重複して使用されないようにしながら、かつ高負荷情報が配置済みのブロックの高負荷情報に重複しないようにしながら、時間軸上で最も早い位置に配置する。そのため、図27に示すように、処理ユニットSPIN1〜SPIN12の基板回収ブロックは、時間軸上に互いにずれて配置される。すなわち、処理ユニットSPIN1〜SPIN12の各基板回収工程は、その開始時が互いにずれるように計画される。したがって、基板回収工程において処理遅延などの問題を回避できる。
以上、この発明のいくつかの実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。
たとえば、前述の実施形態で示した基板処理装置1の構成や基板処理内容は一例に過ぎず、基板処理装置1は他の構成を採ることができ、かつ別の基板処理内容に対してもこの発明を適用できる。
また、前述の実施形態では、高負荷情報が同じ時間帯に2つ以上重複しないようにブロックを配置する場合を示したが、高負荷情報が同じ時間帯に所定数(>3)以上重複することを禁止し、所定数未満であれば、2つ以上の高負荷情報の重複を許容するようにしてもよい。
また、前述の実施形態では、1枚目の基板A1のスケジュール作成の終了後、2枚目以降の基板(第2の基板)Wのスケジュールの作成が終わっていない状態で、作成済みのスケジュールの実行を開始する場合を例に挙げたが、プロセスジョブの全ての基板Wのスケジュールを作成した後に、スケジュールの開始を実行するようにしてもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
1 基板処理装置
15 スピンチャック
17 処理室
22 メインコントローラ
23 サブコントローラ
24 第1の制御部
25 出入力部
26 第1の記憶部
28 装置管理部
29 スケジューリング機能部
30 スケジューリングエンジン
31 処理実行指示部
32 スケジュール作成プログラム
33 スケジュールデータ
34 第2の制御部
35 第2の記憶部
36 シリアル通信部
37 CPU
C 基板収容器
CR 主搬送ロボット
G1〜G4 処理ユニット群
IR インデクサロボット
PASS 受け渡しユニット
SPIN1〜SPIN12 処理ユニット
ST1〜ST4 ステージ
W 基板

Claims (8)

  1. 基板を1枚ずつ処理する少なくとも一つの枚葉式の処理ユニットと、前記処理ユニットを制御するための制御部とを有する基板処理装置の動作を時系列に従って規定するためのスケジュールを、前記基板処理装置に備えられたスケジュール作成部が作成するための方法であって、
    各基板に対する前記基板処理装置の動作の内容を規定する複数のブロックを時系列に従って配置することにより、その基板のスケジュールを前記スケジュール作成部によって作成するスケジュール作成工程を含み、
    前記スケジュール作成工程が、
    前記ブロックに対応する動作に、前記制御部に高い制御負荷が生じる時間帯である高負荷時間帯が含まれるか否かを判断する判断工程と、
    前記ブロックに対応する動作に前記高負荷時間帯が含まれる場合に、前記ブロックの前記高負荷時間帯に対応する部分に高負荷情報を付加する付加工程と
    前記高負荷情報に基づいて、高負荷動作に対応する前記ブロックを、時間軸上に配置する高負荷配置工程と、を含む、スケジュール作成方法。
  2. 前記判断工程が、前記ブロックに対応する動作における負荷と、前記高負荷時間帯として定められている基準範囲とを比較することにより、前記ブロックに対応する動作に前記高負荷時間帯が含まれるか否かを判断する、請求項1に記載のスケジュール作成方法。
  3. 前記高負荷配置工程が、前記高負荷情報が同じ時間帯に所定数以上重複しないように、前記制御部に高い制御負荷を少なくとも一時的に生じさせる動作である高負荷動作に対応する前記ブロックを、時間軸上に配置する、請求項1または2に記載のスケジュール作成方法。
  4. 前記高負荷時間帯は、前記高負荷動作の開始時である、請求項3に記載のスケジュール作成方法。
  5. 前記基板処理装置では、プロセスジョブが共通する複数枚の基板のうち所定の第1の基板のスケジュールの作成終了後、前記複数枚の基板のうち処理順序が前記第1の基板よりも後の第2の基板のスケジュールの作成が終わっていない状態で、作成済みのスケジュールの実行が開始されるようになっており、
    前記作成済みのスケジュールの実行開始後において、当該作成済みのスケジュールのうち未実行の部分を変更するスケジュール変更工程をさらに含む、請求項4に記載のスケジュール作成方法。
  6. 前記スケジュール変更工程は、
    前記スケジュールの実行開始後において、前記作成済みのスケジュールのうち未実行のブロックを削除する工程と、
    削除したブロックを、前記第2の基板についてのブロックの配置と並行して、時系列に従って再配置する再配置工程とをさらに含む、請求項5に記載のスケジュール作成方法。
  7. 基板を1枚ずつ処理する少なくとも一つの枚葉式の処理ユニットと、
    前記処理ユニットを制御するための制御部と、
    前記処理ユニットを含むリソースの動作を、時系列に従って規定するためのスケジュールを作成するためのスケジュール作成部とを含み、
    請求項1〜6のいずれか一項に記載のスケジュール作成方法によって前記スケジュール作成部が作成したスケジュールに従って、前記制御部は前記リソースを制御する、基板処理装置。
  8. 前記制御部は、プロセスジョブが共通する複数枚の基板のうち所定の第1の基板のスケジュール作成の終了後、前記複数枚の基板のうち処理順序が前記第1の基板よりも後の第2の基板のスケジュールの作成が終わっていない状態で、作成済みのスケジュールの実行を開始する、請求項7に記載の基板処理装置。
JP2018055924A 2018-03-23 2018-03-23 基板処理装置のためのスケジュール作成方法および基板処理装置 Active JP6573693B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018055924A JP6573693B2 (ja) 2018-03-23 2018-03-23 基板処理装置のためのスケジュール作成方法および基板処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018055924A JP6573693B2 (ja) 2018-03-23 2018-03-23 基板処理装置のためのスケジュール作成方法および基板処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014128331A Division JP6313671B2 (ja) 2014-06-23 2014-06-23 基板処理装置のためのスケジュール作成方法および基板処理装置

Publications (2)

Publication Number Publication Date
JP2018125548A JP2018125548A (ja) 2018-08-09
JP6573693B2 true JP6573693B2 (ja) 2019-09-11

Family

ID=63110397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018055924A Active JP6573693B2 (ja) 2018-03-23 2018-03-23 基板処理装置のためのスケジュール作成方法および基板処理装置

Country Status (1)

Country Link
JP (1) JP6573693B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128860A (en) * 1989-04-25 1992-07-07 Motorola, Inc. Manufacturing or service system allocating resources to associated demands by comparing time ordered arrays of data
US6898702B1 (en) * 2001-06-29 2005-05-24 Ciena Corporation System and method for staggered starting of embedded system modules in an optical node
JP4073186B2 (ja) * 2001-09-20 2008-04-09 大日本スクリーン製造株式会社 基板処理装置のスケジュール作成方法及びそのプログラム
JP4753172B2 (ja) * 2005-02-18 2011-08-24 東京エレクトロン株式会社 複数の電力使用系の動作制御装置、動作制御方法及び記憶媒体
JP2008118068A (ja) * 2006-11-08 2008-05-22 Renesas Technology Corp 半導体装置の生産管理システム
JP5359285B2 (ja) * 2009-01-07 2013-12-04 東京エレクトロン株式会社 処理装置及び処理装置の運転方法

Also Published As

Publication number Publication date
JP2018125548A (ja) 2018-08-09

Similar Documents

Publication Publication Date Title
JP6313671B2 (ja) 基板処理装置のためのスケジュール作成方法および基板処理装置
JP5852908B2 (ja) 基板処理装置のためのスケジュール作成方法およびスケジュール作成プログラム
JP5168300B2 (ja) 基板処理装置及び基板処理方法
KR102285183B1 (ko) 기판 처리 장치를 위한 스케줄 작성 방법 및 스케줄 작성 프로그램을 기록한 기록 매체
KR20150100532A (ko) 기판 처리 방법 및 기판 처리 장치
JP5199792B2 (ja) 基板処理ユニット、基板処理装置および基板処理方法
JP2010056318A (ja) 基板処理ユニットおよび基板処理装置
TWI706458B (zh) 基板處理方法、基板處理裝置及電腦程式
JP2018029125A (ja) 基板処理装置および基板処理方法
JP6435388B2 (ja) 基板処理方法および基板処理装置
JP6573693B2 (ja) 基板処理装置のためのスケジュール作成方法および基板処理装置
JP5847515B2 (ja) 基板処理装置のためのスケジュール作成方法およびスケジュール作成プログラム
JP4496073B2 (ja) 基板処理装置及び基板処理方法
JP7112836B2 (ja) 基板処理方法および基板処理装置
JP3960761B2 (ja) 基板処理装置のスケジュール作成方法及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190813

R150 Certificate of patent or registration of utility model

Ref document number: 6573693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250