説明

基板処理装置のためのスケジュール作成方法およびスケジュール作成プログラム

【課題】枚葉型の基板処理装置に適したスケジュール作成方法およびスケジュール作成プログラムを提供する。
【解決手段】スケジュール作成方法は、基板を一枚ずつ処理する枚葉型の処理ユニットSPIN1〜SPIN12を有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部21が作成するための方法である。この方法は、制御部21が、各基板に対する処理内容を規定するブロックを時系列に従って結合した仮タイムテーブルを作成するステップと、制御部21が、複数枚の基板に関する前記仮タイムテーブルからブロックを取得し、時系列に従って配置することにより、全体スケジュールを作成するスケジューリングステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、基板処理装置の動作を時系列に従って規定するスケジュールを作成するための方法およびプログラムに関する。基板処理装置による処理対象となる基板の例には、半導体ウエハ、液晶表示装置用基板、プラズマディスプレイ用基板、FED(Field Emission Display)用基板、光ディスク用基板、磁気ディスク用基板、光磁気ディスク用基板、フォトマスク用基板、セラミック基板、太陽電池用基板などが含まれる。
【背景技術】
【0002】
特許文献1および特許文献2は、基板処理装置に備えられたリソースの使用タイミングを決定するためのスケジュール作成を開示している。具体的には、複数枚の基板で構成されるロットを一括して処理するバッチ式の基板処理装置において、搬送機構、薬液処理部、純水洗浄処理部、乾燥処理部等のリソースの使用タイミングを規定するスケジュールを作成するための技術が開示されている。基板処理装置に備えられた制御部は、作成されたスケジュールに従って各リソースを作動させる。これにより、ロット毎の基板に対する処理が効率良く行われ、基板処理装置の生産性が高まる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−218449号公報
【特許文献2】特開2008−210956号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
基板に対する処理(たとえば洗浄処理)をより精密に行うために、基板を一枚ずつ処理する枚葉型の基板処理装置が用いられるようになってきている。しかし、特許文献1,2に係る先行技術は、いずれもバッチ式の基板処理装置に適したものであり、枚葉型の基板処理装置にそのまま適用しても、必ずしも効率的な基板処理を実現できるとは限らない。
そこで、この発明の目的は、枚葉型の基板処理装置に適したスケジュール作成方法およびスケジュール作成プログラムを提供することである。
【課題を解決するための手段】
【0005】
上記の目的を達成するための請求項1記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、前記制御部が、各基板に対する処理内容を規定するブロックを時系列に従って結合した仮タイムテーブルを作成するステップと、前記制御部が、複数枚の基板に関する前記仮タイムテーブルからブロックを取得し、時系列に従って配置することにより、全体スケジュールを作成するスケジューリングステップとを含む、スケジュール作成方法である。
【0006】
この方法によれば、基板処理装置の制御部が、各基板に対応して仮タイムテーブルを作成する。仮タイムテーブルは、各基板に対する処理内容を規定する複数のブロックを時系列に従って結合することにより作成される。たとえば、制御部は、基板に対する処理条件および処理手順を規定するレシピに基づいて複数のブロックを時系列に従って結合することにより、仮タイムテーブルを作成する。仮タイムテーブルは、複数の基板相互間の干渉(使用リソースの時間軸上における重なり合い)を考慮することなく作成される。仮タイムテーブルが作成されると、制御部は、複数枚の基板を効率的に処理するための全体スケジュールを作成する。このとき、制御部は、複数枚の基板相互間の干渉が生じることがなく、かつ効率的にリソース(処理ユニット等)を稼働させて複数枚の基板に対する処理が行われるように、各基板の仮タイムテーブルを構成するブロックを時系列に従って配置する。こうして、個々の基板に対する処理ブロックを配置して枚葉型の処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。
【0007】
請求項2記載の発明は、前記スケジューリングステップが、基板に対する処理の前または後に前記処理ユニットで実行すべきメンテナンス工程のためのメンテナンスブロックを配置するメンテナンスブロック配置ステップを含む、請求項1に記載のスケジュール作成方法である。
メンテナンス工程の例は、処理ユニットにおける前準備工程、処理ユニットにおける後処理工程などである。
【0008】
前準備工程の例としては、処理液ノズルから処理液を一定量だけ吐出するプリディスペンス工程を挙げることができる。たとえば、温度調整された処理液を基板に供給して当該基板を処理する場合に、プリディスペンス工程を実行することによって、処理液ノズルおよび処理液配管に滞留していて目標温度範囲外の温度となってしまった処理液を排出して、処理液ノズルの吐出口に温度調整された処理液を導くことができる。そして、プリディスペンス工程の後に、基板に対して処理液を吐出する処理液供給工程を実行することによって、当初から温度調整された処理液によって基板を処理できる。これにより、精密な基板処理を実現できる。前準備工程の例としては、ほかにも、処理ユニットに備えられた処理室(チャンバ)内の洗浄処理(チャンバ洗浄)を例示できる。処理室内の洗浄を実行することによって、次に処理室に搬入される基板に対して、前の基板に対する処理の影響が及ぶことを回避できる。これにより、精密な基板処理を実現できる。チャンバ洗浄は、たとえば、基板を保持して回転させるスピンチャックの洗浄、スピンチャックを収容する処理カップの洗浄、スピンチャックから飛び散る処理液を受けるガード(飛散防止部材)の洗浄などを含む。前準備工程の例としては、さらに、基板を保持するチャックピンの洗浄、処理室内のその他の部品の洗浄などを挙げることができる。
【0009】
後処理工程としては、処理ユニットに備えられた処理室内の洗浄処理(チャンバ洗浄)を例示できる。処理室内の洗浄を実行することによって、次に処理室に搬入される基板に対して、前の基板に対する処理の影響が及ぶことを回避できる。これにより、精密な基板処理を実現できる。チャンバ洗浄の具体例は前述のとおりである。後処理工程の例としては、さらに、基板を保持するチャックピンの洗浄、処理室内のその他の部品の洗浄などを挙げることができる。
【0010】
請求項3記載の発明は、前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、前記メンテナンスブロック配置ステップが、前記処理ブロックが所定のメンテナンス実行条件を満たすか否かを判定するステップと、前記処理ブロックが前記メンテナンス実行条件を満たすときに、時間軸上において前記処理ブロックよりも前に前記メンテナンスブロックを配置するステップとを含む、請求項2に記載のスケジュール作成方法である。
【0011】
この方法によれば、処理ブロックが所定のメンテナンス実行条件を満たすかどうかが判断され、その判断に基づいてメンテナンスブロックの配置の要否が決定される。すなわち、必要に応じてメンテナンスブロックが配置されるので、不必要なメンテナンス工程を省くことができる。これにより、基板処理装置の生産性を向上できる。
前記メンテナンスブロックは、処理ユニットでの処理の前に実行すべき前準備工程を表すブロックであってもよい。また、前記メンテナンスブロックは、当該処理ユニットでの処理に先立って当該処理ユニットで実行される別の処理の後に実行すべき後処理工程を表すブロックであってもよい。
【0012】
請求項4記載の発明は、前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、前記メンテナンスブロック配置ステップが、第1基板に対して計画された前記処理ユニットによる第1処理と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対して計画された当該処理ユニットによる第2処理とが、所定のメンテナンス実行条件を満たすか否かを判定するステップと、前記メンテナンス実行条件が満たされたときに前記第1処理のための第1処理ブロックと前記第2処理のための第2処理ブロックとの間に前記メンテナンスブロックを配置するステップとを含む、請求項2に記載のスケジュール作成方法である。
【0013】
この方法によれば、同じ処理ユニットにおいて相前後して実行される第1基板に対する第1処理および第2基板に対する第2処理が、所定のメンテナンス実行条件を満たすか否かが判断される。その判断結果に基づいて、メンテナンスブロックの配置の要否が決定される。したがって、不必要なメンテナンス工程を省くことができるから、基板処理装置の生産性を向上できる。
【0014】
前記メンテナンス実行条件は、たとえば、第1基板に対して用いられる薬液と、第2基板に対して用いられる薬液とが異なることを含む。これにより、第1基板に対して用いられた薬液の影響が第2基板の処理に及ぶことを回避できる。また、第1および第2基板に対して同種の薬液による処理を行うときには、メンテナンス実行条件が満たされないので、メンテナンスブロックが配置されない。この場合には、第2基板に対して悪影響がなく、かつ、メンテナンス工程を省くことにより生産性を高めることができる。
【0015】
前記メンテナンスブロックは、第1処理のための後処理工程を表すブロックであってもよいし、第2処理のための前準備工程を表すブロックであってもよい。
請求項5記載の発明は、前記メンテナンス実行条件が、前記第1処理ブロックの終了から前記第2処理ブロックの開始までの経過時間に関する条件、前記第1処理および前記第2処理の処理内容に関する条件、および前記処理ユニットにおける処理済み基板枚数に関する条件のうちの一つ以上を含む、請求項4に記載のスケジュール作成方法である。
【0016】
たとえば、第1処理ブロックの終了から第2処理ブロックの開始までの経過時間が所定時間を超えることをメンテナンス実行条件の一つとしてもよい。これにより、第2基板に対する処理品質を高めることができる。たとえば、前記経過時間が所定時間を超える場合に、第2基板に対する処理に先立つ前準備工程として、処理液ノズルからのプリディペンス工程を表すメンテナンスブロックを配置してもよい。これにより、第2基板に対して、状態の整えられた(たとえば温度調節された)処理液を当初から供給できるから、基板処理品質を高めることができる。
【0017】
また、第1処理および第2処理が異なること(たとえば使用薬液の種類が異なること)を、メンテナンス実行条件の一つとしてもよい。これにより、第2基板に対する処理品質を高めることができる。たとえば、第1処理と第2処理とで異なる種類の薬液を用いる場合に、第1処理の後の後処理工程として、処理ユニットの処理室内の洗浄(チャンバ洗浄)を表すメンテナンスブロックを配置してもよい。これにより、第1基板を処理した薬液の影響が第2基板に及ぶことを回避できる。また、第2処理に先立つ前準備工程として、第2処理で使用する薬液を吐出する処理液ノズルからのプリディスペンス工程を表すメンテナンスブロックを配置してもよい。これにより、第2基板に対して、状態の整えられた(たとえば温度調節された)処理液を当初から供給できるから、基板処理品質を高めることができる。
【0018】
さらに、処理ユニットにおける処理済み基板枚数が所定枚数に達したことをメンテナンス実行条件の一つとしてもよい。これにより、所定枚数の基板が処理されるたびにメンテナンス工程が実行されるので、基板処理品質を高めることができる。この場合のメンテナンス工程は、具体的には、処理ユニットの処理室内の洗浄工程であってもよい。これにより、多数枚の基板を処理したことによって処理室内に蓄積された汚染物を定期的に洗浄して除去できるので、高品質な基板処理を継続できる。
【0019】
請求項6記載の発明は、前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、前記メンテナンスブロック配置ステップが、第1基板に対して計画された前記処理ユニットによる第1処理と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対して計画された当該処理ユニットによる第2処理とが同じかどうかを判定するステップと、前記第1処理と前記第2処理とが異なるときに前記第1処理のための第1処理ブロックと前記第2処理のための第2処理ブロックとの間に前記メンテナンスブロックを配置し、前記第1処理と前記第2処理とが同じであるときには前記メンテナンスブロックの配置を省くステップとを含む、請求項2に記載のスケジュール作成方法である。
【0020】
この方法によれば、同じ処理ユニットにおいて相前後して実行される第1および第2基板に対する処理が同じであるときには、メンテナンスブロックの配置が省かれる。したがって、不必要なメンテナンス工程を省くことができるので、基板処理装置の生産性を向上できる。
請求項7記載の発明は、前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、前記メンテナンスブロック配置ステップが、第1基板に対する処理の後に前記処理ユニットにおいて実行されるべき後処理工程と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対する処理の前に前記処理ユニットにおいて実行されるべき前準備工程とが同じかどうかを判定するステップと、前記後処理工程と前記前準備工程とが異なるときに前記第1基板のための第1処理ブロックと前記第2基板のための第2処理ブロックとの間に前記後処理工程のための後処理ブロックおよび前記前準備工程のための前準備ブロックを前記メンテナンスブロックとして配置し、前記後処理工程と前記前準備工程とが同じであるときには前記メンテナンスブロックの配置を省くステップとを含む、請求項2に記載のスケジュール作成方法である。
【0021】
この方法によれば、先に処理される第1基板の後処理工程と、次に処理される第2基板の前準備工程とが同じであるときには、メンテナンス工程の配置が省かれる。後処理工程および前準備工程が同じであれば、第1基板のための処理と第2基板のための処理との内容が同じであり、したがって、第1基板と第2基板との処理の間にメンテナンス工程を入れる必要がない。このような場合にメンテナンス工程を省くことによって、基板処理装置の生産性を向上できる。
【0022】
請求項8記載の発明は、前記メンテナンスブロック配置ステップが、前記後処理工程および前記前準備工程のうちの一方の処理内容の一部がそれらのうちの他方の処理内容の全部と同じかどうかを判定するステップと、前記一方の処理内容の一部が前記他方の処理内容の全部と同じであるときに、前記第1基板のための第1処理ブロックと前記第2基板のための第2処理ブロックとの間に、前記後処理工程および前記前準備工程のうちの前記一方に対応したメンテナンスブロックを配置し、前記後処理工程および前記前準備工程のうちの前記他方に対応したメンテナンスブロックの配置を省くステップとをさらに含む、請求項6に記載のスケジュール作成方法である。
【0023】
この方法では、後処理工程と前準備工程とで処理内容が重複しており、一方の処理内容が他方の処理内容を全部含むときに、後処理工程および前準備工程のうち当該一方に対応するメンテナンスブロックが配置される。これにより、重複した処理を省くことができるので、必要なメンテナンス処理を実行しながら、基板処理装置の生産性を高めることができる。
【0024】
請求項9記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、請求項1〜8のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラムである。
この発明により、スケジュール作成方法に関して説明した前述の効果を得ることができる。
【図面の簡単な説明】
【0025】
【図1】図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図である。
【図2】図2は、前記基板処理装置の図解的な側面図である。
【図3】図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。
【図4】図4は、この発明の第1の実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。
【図5】図5は、前記第1の実施形態を説明するためのフローチャートであり、スケジューリング機能部による処理例が示されている。
【図6】図6は、仮タイムテーブルの一例を示す。
【図7】図7は、スケジューリングの一例(前準備ブロックの配置)を示す。
【図8】図8は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図9】図9は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図10】図10は、スケジューリングの一例(後処理ブロックを配置した例)を示す。
【図11】図11は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図12】図12は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図13】図13は、この発明の第2の実施形態を説明するためのフローチャートであり、スケジューリング機能部によって実行される処理例が示されている。
【図14】図14は、スケジューリングの一例(基板処理のためのブロックの配置。前準備実行条件および後処理実行条件がいずれも満たされない場合)を示す。
【図15】図15は、スケジューリングの一例(基板処理のためのブロックの配置。後処理ブロックを挿入した例)を示す。
【図16】図16は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図17】図17は、スケジューリングの一例(基板処理のためのブロックの配置。前準備ブロックを挿入した例)を示す。
【図18】図18は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図19】図19は、スケジューリングの一例(基板処理のためのブロックの配置)を示す。
【図20】図20は、スケジューリングの一例(基板処理のためのブロックの配置。後処理ブロックを配置した例)を示す。
【図21】図21は、スケジューリングの一例(基板処理のためのブロックの配置。後処理ブロックおよび前準備ブロックを配置した例)を示す。
【図22】図22は、前準備実行条件判断(図13のステップS31)の具体例を示すフローチャートである。
【図23】図23は、この発明の第3の実施形態を説明するためのフローチャートであり、スケジューリング機能部によって実行される処理例が示されている。
【図24】図24は、図22のステップS46,S48および図23のステップS54における判断の別の例を示す図である。
【発明を実施するための形態】
【0026】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図2はその図解的な側面図である。この基板処理装置は、インデクサセクション1と、処理セクション2とを含む。処理セクション2は、インデクサセクション1との間で基板Wを受け渡しするための受け渡しユニットPASSを備えている。インデクサセクション1は、未処理の基板Wを受け渡しユニットPASSに渡し、受け渡しユニットPASSから処理済みの基板Wを受け取る。処理セクション2は、受け渡しユニットPASSから未処理の基板Wを受け取って、その基板Wに対して、処理剤(処理液または処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理(ブラシ洗浄、スプレーノズル洗浄等)などの各種の処理を施す。そして、処理セクション2は、処理後の基板Wを受け渡しユニットPASSに渡す。
【0027】
インデクサセクション1は、複数のステージ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が互いに間隔を開けて鉛直方向に積層された状態となる。
【0028】
インデクサロボットIRは、たとえば、基台部6と、多関節アーム7と、一対のハンド8A,8Bとを含む。基台部6は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム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を紙面に平行な方向(水平方向)にずらして描いてある。
【0029】
この構成により、インデクサロボットIRは、いずれかのステージST1〜ST4に保持された基板収容器Cから一枚の未処理基板Wをハンド8Aで搬出して受け渡しユニットPASSに渡すように動作する。さらに、インデクサロボットIRは、受け渡しユニットPASSから一枚の処理済み基板Wをハンド8Bで受け取って、いずれかのステージST1〜ST4に保持された基板収容器Cに収容するように動作する。
【0030】
処理セクション2は、複数(この実施形態では12個)の処理ユニットSPIN1〜SPIN12と、主搬送ロボットCRと、前述の受け渡しユニットPASSとを含む。
処理ユニットSPIN1〜SPIN12は、この実施形態では、立体的に配置されている。より具体的には、三階建て構造をなすように複数の処理ユニットSPIN1〜SPIN12が配置されており、各階部分に4つの処理ユニットが配置されている。すなわち、一階部分に4つの処理ユニットSPIN1,SPIN4,SPIN7,SPIN10が配置され、二階部分に別の4つの処理ユニットSPIN2,SPIN5,SPIN8,SPIN11が配置され、三階部分にさらに別の処理ユニットSPIN3,SPIN6,SPIN9,SPIN12が配置されている。さらに具体的には、平面視において処理セクション2の中央に主搬送ロボット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が取り囲まれている。
【0031】
主搬送ロボットCRは、たとえば、基台部11と、多関節アーム12と、一対のハンド13A,13Bとを含む。基台部11は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム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を紙面に平行な方向(水平方向)にずらして描いてある。
【0032】
この構成により、主搬送ロボットCRは、受け渡しユニットPASSから未処理の一枚の基板Wをハンド13Aで受け取り、その未処理の基板Wをいずれかの処理ユニットSPIN1〜SPIN12に搬入する。また、主搬送ロボットCRは、処理ユニットSPIN1〜SPIN12で処理された処理済みの基板Wをハンド13Bで受け取り、その基板Wを受け渡しユニットPASSに渡す。
【0033】
処理ユニットSPIN1〜SPIN12は、基板Wを1枚ずつ処理する枚葉型の処理ユニットである。処理ユニットSPIN1〜SPIN12は、たとえば、1枚の基板Wを水平姿勢で保持して回転させるスピンチャック15と、スピンチャック15に対して処理液(薬液またはリンス液)を供給する処理液ノズル16とを処理室17(チャンバ)内に備えた、回転液処理ユニットであってもよい。図2では、処理ユニットSPIN3についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。
【0034】
図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、処理ユニットSPIN1〜SPIN12、主搬送ロボットCRおよびインデクサロボットを制御するコンピュータ20を備えている。コンピュータ20は、パーソナルコンピュータ(FAパソコン)の形態を有していてもよく、制御部21と、出入力部22と、記憶部23とを備えている。制御部21は、CPU等の演算ユニットを含む。出入力部22は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部22は、ホストコンピュータ24との通信のための通信モジュールを含む。記憶部23は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
【0035】
制御部21は、スケジューリング機能部25と、処理実行指示部26とを含む。スケジューリング機能部25は、基板Wを基板収容器Cから搬出し、処理ユニットSPIN1〜SPIN12で処理した後、基板収容器Cに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画(スケジュール)を作成する。処理実行指示部26は、スケジューリング機能部25によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。
【0036】
記憶部23は、制御部21が実行するプログラム30と、ホストコンピュータ24から受信した処理内容データ40と、スケジューリング機能部25によって作成されたスケジュールデータ50とを含む各種データ等を記憶するように構成されている。
記憶部23に記憶されたプログラム30は、制御部21をスケジューリング機能部25として作動させるためのスケジュール作成プログラム31と、制御部21を処理実行指示部26として作動させるための処理実行プログラム32とを含む。
【0037】
処理内容データ40は、各基板Wに付与されたプロセスジョブ(PJ)符号と、プロセスジョブ符号に対応付けられたレシピとを含む。レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。並行処理ユニット情報とは、使用可能な処理ユニットを指定する情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Wの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Wの処理をさせたくないと考えているとき、などである。プロセスジョブとは、共通の処理が施される1枚または複数枚の基板Wをいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報(基板群識別情報)である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Wには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ符号に対応する基板処理内容(レシピ)が同じである場合もあり得る。たとえば、処理順序(基板収容器Cからの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ符号が付与される。
【0038】
制御部21は、各基板Wに対する処理内容データを取得して、記憶部23に記憶させる。処理内容データの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器CがステージST1〜ST4に保持された直後に、ホストコンピュータ24から制御部21に当該基板収容器Cに収容された基板Wに対応する処理内容データが与えられてもよい。
【0039】
図4および図5は、スケジューリング機能部25による処理例を説明するためのフローチャートである。より具体的には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図4および図5に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。
【0040】
ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられると(ステップS1)、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS2)。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ符号が付与された基板Wの処理開始を指示するものであってもよい。
【0041】
たとえば、処理内容データにおいて或るプロセスジョブ符号に対応付けられたレシピが、処理ユニットSPIN1〜SPIN12の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、12個の処理ユニットSPIN1〜SPIN12のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ符号が付与された基板Wが処理を受けるときに通る経路は、12通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1〜SPIN12のいずれかを通る12個の経路である。そこで、スケジューリング機能部25は、その12個の経路に対応した仮タイムテーブルを作成する。
【0042】
処理ユニットSPIN1を通る経路に対応した仮タイムテーブルを図6に示す。この仮タイムテーブルは、インデクサロボットIRによる基板収容器Cからの基板Wの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロックと、主搬送ロボットCRによる受け渡しユニットPASSからの当該基板Wの搬出(Get)を表すブロックと、主搬送ロボットCRによる当該基板Wの処理ユニットSPIN1への搬入(Put)を表すブロックと、処理ユニットSPIN1による当該基板Wに対する処理を表す処理ブロックと、主搬送ロボットCRによる処理ユニットSPIN1からの処理済みの基板Wの搬出(Get)を表すブロックと、主搬送ロボットCRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSからの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの基板収容器Cへの搬入(Put)を表すブロックとを含む。スケジューリング機能部25は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。スケジューリング機能部25は、同じ基板Wに対して、処理ユニットSPIN2〜SPIN12をそれぞれ通る経路に対応した同様の仮タイムテーブル(処理ブロックを処理ユニットSPIN2〜SPIN12にそれぞれ配置した仮タイムテーブル)を作成する。こうして、一枚の基板Wに対して合計12経路分の仮タイムテーブルが作成される。
【0043】
同様の仮タイムテーブルが同じプロセスジョブ符号が付与された基板Wの全てに対応して作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。
スケジューリング指示が発生すると(ステップS3)、当該プロセスジョブの基板Wに関するブロックの配置が行われる(全体スケジューリング。ステップS4〜S11)。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
【0044】
さらに具体的に説明すると、スケジューリング機能部25は、当該プロセスジョブの最初の基板Wかどうかを判断する(ステップS4)。当該プロセスジョブの最初の基板Wであるときは(ステップS4:YES)、そのプロセスジョブに対応したレシピは、前準備工程(プリディスペンス等)を必要としているかどうかが判断される(ステップS5)。前準備工程の要否は、プロセスジョブ符号に対応付けられたレシピにおいて指定される。前準備工程が必要なときは、当該基板Wを処理する可能性のある処理ユニットSPIN1〜SPIN12(前述の例では全ての処理ユニット)に関して、前準備工程の実行を表すブロック(前準備ブロック)が配置される(ステップS6)。全ての処理ユニットSPIN1〜SPIN12に関して前準備ブロックを配置した例を図7に示す。当該プロセスジョブの最初の基板W以外の基板Wのスケジューリングを実行するときには(ステップS4:NO)、ステップS5,S6の処理が省かれる。また、当該プロセスジョブの最初の基板Wのスケジューリングを行うときであっても、当該プロセスジョブに対応するレシピが前準備工程を指定していないものであれば(ステップS5:NO)、ステップS6の処理が省かれる。
【0045】
次に、スケジューリング機能部25は、当該基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS7)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索し(ステップS8)、その検索された位置に当該ブロックを配置する(ステップS9)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS10)。そして、仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS10:YES)、当該基板Wに関するスケジューリングが完了する(ステップS11)。同じプロセスジョブの全ての基板Wに関して、順に(たとえば基板収容器Cから払い出される順序で)、同様の処理が繰り返される。
【0046】
図8に、プロセスジョブAの最初の基板A1に対応する仮タイムテーブルを構成する全てのブロックA1〜A1を配置した例を示す。処理ユニットSPIN1における前準備ブロックの後に、処理ブロックが配置される。つまり、前準備ブロックと処理ブロックとが時間的に重なり合わないように、当該基板A1の仮タイムテーブルを構成する各ブロックが配置される。さらに具体的には、スケジューリング機能部25は、仮タイムテーブルから取得されたブロックA1〜A1を対応するリソースのスペースに時間軸上において最も早い位置に(すなわち前詰めで)順に配置していく。このとき、スケジューリング機能部25は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。したがって、処理ブロックA1は、既に配置されている前準備ブロックの後に配置されることになる。そのため、二点鎖線で示すように、ブロックA1〜A1は時間的に隙間のない状態で配置できるが、処理ブロックA1を配置するとブロックA1と処理ブロックA1との間に間隔が開く。そこで、この間隔が開かないように、スケジューリング機能部25は、処理ブロックA1を配置して間隔が開くことが判明した時点でブロックA1〜A1を時間軸上で後方にシフトさせて、それらの開始時刻を遅らせる。こうして、図8の状態のスケジュールが得られる。
【0047】
同じプロセスジョブAの2枚目の基板A2に対応する仮タイムテーブルを構成する全てのブロックA2〜A2を配置した例を図9に示す。1枚目の基板A1に対応してインデクサロボットIRのスペースに配置されたブロックA1,A1から最小時間間隔を開けて2枚目の基板A2に対応するインデクサロボットIRのブロックA2,A2が配置されている。同様に、1枚目の基板A1に対応して主搬送ロボットCRのスペースに配置されたブロックA1,A1から最小時間間隔を開けて2枚目の基板A2に対応する主搬送ロボットCRのブロックA2,A2が配置されている。ブロックA2の終了タイミングでは処理ユニットSPIN1は使用中である(処理ブロックA1が配置されている)ので、2枚目の基板A2のための処理ブロックA2は、処理ユニットSPIN2のスペースに配置される。すなわち、2枚目の基板A2は処理ユニットSPIN2において処理を受けるように計画される。なお、2枚目の基板A2を処理ユニットSPIN2〜SPIN12のいずれに配置してもスループットは同じであるが、スループットが同じである場合は若いチャンバ番号の処理ユニットが選択される。そして、処理ブロックA2の終了タイミングと整合するように、1枚目の基板A1に対応する主搬送ロボットCRのブロックA1,A1から最小間隔を開けて2枚目の基板A2に対応する主搬送ロボットCRのブロックA2,A2が配置される。さらに、ブロックA2の終了タイミングと整合するように、1枚目の基板A1に対応するインデクサロボットIRのブロックA1,A1から最小間隔を開けて2枚目の基板A2に対応するインデクサロボットIRのブロックA2,A2が配置される。
【0048】
図5は、後処理ブロックの配置に関するスケジューリング機能部25の動作を示す。後処理ブロックとは、処理ユニットSPIN1〜SPIN12での後処理の実行を指定するためのブロックである。後処理の具体例は、処理ユニットSPIN1〜SPIN12の処理室17内の洗浄処理(チャンバ洗浄)である。処理室17内の洗浄を実行することによって、次に処理室17に搬入される基板に対して、前の基板に対する処理の影響が及ぶことを回避できる。これにより、精密な基板処理を実現できる。
【0049】
基板WがステージST1〜ST4に保持された基板収容器Cから払い出されると(ステップS15)、スケジューリング機能部25は、その基板Wが現在処理中のプロセスジョブの最後の基板Wかどうかを判断する(ステップS16)。最後の基板Wでなければ(ステップS16:NO)、後処理ブロックの付加は不要であるので、処理を終了する。最後の基板Wの場合には、スケジューリング機能部25は、当該プロセスジョブのレシピが後処理を要するものであるか否かを判断する(ステップS17)。後処理の要否はレシピにおいて指定される。後処理が不要であれば(ステップS17:NO)、処理を終了する。後処理が必要であれば(ステップS17:YES)スケジューリング機能部25は、当該プロセスジョブの基板Wの処理に用いられることが計画された全ての処理ユニットSPIN1〜SPIN12のスペースに後処理ブロックを配置する(ステップS18)。
【0050】
図10に後処理ブロックを配置した例を示す。この例では、同じプロセスジョブ符号「A」が付与された2枚の基板A1,A2に対して処理ユニットSPIN1,SPIN2でそれぞれ処理を行い、これらの2つの処理ユニットSPIN1,SPIN2における処理ブロックA1,A2の後のスペースに後処理ブロックをそれぞれ配置した例を示す。
後処理ブロックを配置した後(ステップS18)、または後処理の必要の無いとき(ステップS16,S17:NO)には、スケジューリング機能部25は、次のプロセスジョブの基板Wの有無を判断する(ステップS19)。次のプロセスジョブの基板Wがあれば(ステップS19:YES)、図4に示された処理を当該プロセスジョブの基板Wに対して実行する。次のプロセスジョブの基板がなければ(ステップS19:NO)、処理を終える。図11には、次のプロセスジョブBの一枚目の基板B1に対応するブロックB1〜B1を配置した例を示す。この例では、当該基板B1を処理ユニットSPIN1で処理するように計画されている。
【0051】
図12には、プロセスジョブAのレシピには後処理の指定があり(前準備の指定なし)、その次のプロセスジョブBのレシピには前準備の指定がある場合が示されている。また、プロセスジョブBのレシピは、処理ユニットSPIN1,SPIN2での並行処理を指定しているものとする。
プロセスジョブAの最後の基板A2がスタートすると、当該プロセスジョブAの基板処理に用いられた全ての処理ユニットSPIN1,SPIN2に対して後処理ブロックが配置される。さらに、プロセスジョブAの最後の基板A2がスタートした時点で、当該指定された全ての処理ユニットSPIN1,SPIN2に対して、後処理ブロックが配置される。その後、プロセスジョブBの最初の基板B1のためのブロックB1〜B1、プロセスジョブBの2番目の基板B2のためのブロックB2〜B2が順次配置される。
【0052】
以上のように、この実施形態によれば、一枚一枚の基板Wに対して、処理内容を規定する複数のブロックを時系列に従って結合した仮タイムテーブルが、可能性のある全ての経路に関して作成される。そして、複数枚の基板Wに関する仮タイムテーブルからブロックを取得し、互いに干渉しないように(同一リソースが同時に使用されないように)、時系列に従って配置することによって、全体スケジュールが作成されて、記憶部23に格納される。こうして、枚葉型の処理ユニットSPIN1〜SPIN12を効率的に稼働させることができる全体スケジュールを作成することができる。処理実行指示部26は、記憶部23に格納された全体スケジュールに従って基板処理装置の各リソースを稼働させる。これにより、枚葉型基板処理装置の各部の稼働率を高め、生産性を向上することができる。
【0053】
また、この実施形態では、前準備工程および/または後処理工程のためのメンテナンスブロックを配置できるようになっている。これにより、異なるプロセスジョブの基板Wの処理の前または後に必要なメンテナンスを行うことができるので、品質の高い基板処理が可能となる。
図13は、この発明の第2の実施形態を説明するためのフローチャートであり、スケジューリング機能部25によって実行される処理例が示されている。この第2の実施形態の説明において、前述の図1〜図3を再び参照し、第1の実施形態との相違点を中心に説明する。図13には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、この実施形態において、スケジュール作成プログラム31には、図13に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。
【0054】
ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられると(ステップS21)、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS22)。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブの基板Wの処理開始を指示するものであってもよい。仮タイムテーブルの作成に関しては、前述の第1の実施形態の場合と同様である(図6参照)。
【0055】
スケジューリング指示が発生すると(ステップS23)、当該プロセスジョブの基板Wに関するブロックの配置が行われる(ステップS24〜S38)。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
さらに具体的に説明すると、スケジューリング機能部25は、当該基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS24)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索し(ステップS25)、その検索された位置に当該ブロックを配置する(ステップS26)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。
【0056】
スケジューリング機能部25は、配置したブロックの直前に配置された同一リソースのブロックに後処理が必要かどうかを判断する(ステップS27)。すなわち、スケジューリング機能部25は、所定の後処理実行条件が満たされているかどうかを判断する。ここでの後処理実行条件は、配置したブロックが処理ユニットでの処理を表す処理ブロックであること、および同一リソース(処理ユニット)に対して直前に配置されているブロックが、共通のプロセスジョブ符号が付与された基板群のうち当該処理ユニットで最後に処理される基板に対応する処理ブロックであることを含む。さらに、後処理実行条件は、配置した処理ブロックのプロセスジョブのレシピ(処理内容)と、同一リソースに対して直前に配置されている処理ブロックのプロセスジョブのレシピ(処理内容)とに関する条件を含んでいてもよい。より具体的には、後処理実行条件は、配置した処理ブロックのプロセスジョブに対応するレシピで指定されている使用薬液の種類と、直前のプロセスジョブに対応するレシピで指定されている使用薬液の種類とが異なることを含むことが好ましい。すなわち、連続するプロセスジョブの処理に同種の薬液が用いられるときには、後処理実行条件は満たされない。そのほか、後処理実行条件は、当該処理ユニットでの基板処理枚数が所定枚数に達したことを含んでいてもよい。所定枚数に達するたびに後処理(たとえば処理室17内の洗浄)を行うことによって、基板処理品質を保つことができる。
【0057】
スケジューリング機能部25は、後処理が不要であると判断すると(ステップS27:NO)、次に、配置したブロックに前準備が必要であるか否かを判断する(ステップS31)。すなわち、スケジューリング機能部25は、所定の前準備実行条件が満たされているかどうかを判断する。前準備実行条件は、配置したブロックが処理ユニットでの処理を表す処理ブロックであること、および共通のプロセスジョブ符号が付与された基板のうち当該処理ユニットで最初に処理される基板に対応する処理ブロックであることを含む。さらに、前準備実行条件は、配置した処理ブロックのプロセスジョブに対応するレシピ(処理内容)と、同一リソースに対して直前に配置されている処理ブロックのプロセスジョブに対応するレシピ(処理内容)とに関する条件を含んでいてもよい。より具体的には、前準備実行条件は、配置した処理ブロックのプロセスジョブに対応するレシピにおいて指定されている使用薬液の種類が、同一リソースに対して直前に配置されている処理ブロックのプロセスジョブのレシピにおいて指定されている使用薬液の種類と異なることを含むことが好ましい。すなわち、同種の薬液が用いられるときには、前準備実行条件は満たされない。そのほか、前準備実行条件は、当該処理ユニットが直前に使用されてからの経過時間が所定時間(たとえば5分)以上経過したことを含んでいてもよい。
【0058】
前準備実行条件が満たされないときは(ステップS31:NO)、スケジューリング機能部25は、仮タイムテーブルを構成する全てのブロックの配置を完了したかどうかを判断し(ステップS35)、未配置のブロックがあれば、ステップS24からの処理を繰り返す。
前準備実行条件および後処理実行条件がいずれも満たされない場合のスケジューリング例を図14に示す。この例では、プロセスジョブAの1枚目の基板A1に対応するブロックA1〜A1が配置されている。処理ブロックA1は、処理ユニットSPIN1のスペースに配置されている。プロセスジョブAの2枚目の基板A2に関しては、当該基板A2に対応したインデクサロボットIRおよび主搬送ロボットCRの基板搬送動作を表すブロックA2〜A2が、1枚目の基板A1に対応したインデクサロボットIRおよび主搬送ロボットCRの基板搬送動作を表すブロックA1〜A1と干渉しないように配置されている。さらに、2枚目の基板A2に対応した処理ブロックA2は、処理ユニットSPIN2のスペースに配置されている。こうして、プロセスジョブAの2枚の基板A1,A2を処理ユニットSPIN1およびSPIN2で並行処理するための計画が策定されている。
【0059】
次のプロセスジョブBに対応するレシピは、たとえば、処理ユニットSPIN1,SPIN2での並行処理を指定している。そこで、それらのうちで直前の使用終了時間が最も早い処理ユニットSPIN1に対して、1枚目の基板B1の処理ブロックB1が配置されるように、当該基板B1に対応した各ブロックB1〜B1が配置される。図14において、主搬送ロボットCRによる基板B1の処理ユニットSPIN1への搬入を表すブロックB1と、主搬送ロボットCRによる基板A1の処理ユニットSPIN1からの搬出を表すブロックA1とは、時間軸上で重なりあっている。これは、基板B1の搬入が一方のハンド8Aで実行され、基板A1の搬出が他方のハンド8Bで実行されるため、これらの動作が時間的に重複することを表している。
【0060】
再び、図13を参照する。配置した処理ブロックが後処理実行条件を満たすとき(ステップS27:YES)、すなわち、配置した処理ブロックの直前に配置されている同一リソースの処理ブロックに対して後処理が必要であるとき、スケジューリング機能部25は、その処理ブロックの直前、すなわち直前の処理ブロックの直後に、後処理ブロックを配置する(ステップS28)。そして、ブロック配置位置を検索する(ステップS29)。そして、検索された位置にブロックを再配置する(ステップS30)。
【0061】
具体的には、たとえば、図14において、プロセスジョブBの一枚目の基板B1に対応するブロックB1〜B1を配置したとする。そして、処理ブロックB1を配置するとき、後処理実行条件が満たされ、同一リソース(処理ユニットSPIN1)に対して直前に配置された処理ブロックA1に対する後処理が必要であると判断されたとする。この場合、処理ブロックA1,B1間に後処理ブロックが挿入される。後処理ブロックを挿入した例を図15に示す。後処理ブロックの挿入に伴って、処理ブロックB1が後処理ブロックの後に配置され、それに合わせて、処理ブロックB1よりも前のブロックB1〜B1も時間軸上で後にシフトされている。処理ブロックB1を配置した後は、その処理ブロックB1の配置に合わせて、残りのブロックB1〜B1が配置される。
【0062】
配置した処理ブロックが前準備実行条件を満たすとき(図13のステップS31:YES)、スケジューリング機能部25は、その処理ブロックの直前に、前準備ブロックを配置する(ステップS32)。そして、ブロック配置位置を検索する(ステップS33)。そして、検索された位置にブロックを再配置する(ステップS34)。
具体的には、たとえば、図16に示すように、プロセスジョブAの一枚目の基板A1に対応するブロックA1〜A1を配置したとする。そして、処理ブロックA1を配置するとき、前準備実行条件が満たされ、当該処理ブロックA1に対する前準備が必要であると判断されたとする。この場合、処理ブロックA1の直前に前準備ブロックが挿入される。前準備ブロックを挿入した例を図17に示す。前準備ブロックの挿入に伴って、処理ブロックA1が前準備ブロックの後に配置され、それに合わせて、処理ブロックA1の前のブロックA1〜A1も時間軸上で後にシフトされている。処理ブロックA1を配置した後は、図18に示すように、その処理ブロックA1の配置に合わせて、残りのブロックA1〜A1が配置される。
【0063】
プロセスジョブAのスケジューリングの開始に先立って全ての並行処理ユニットSPIN1〜SPIN12に前準備ブロックを配置するわけではなく、処理ブロックA1が配置される処理ユニットSPIN1に対してのみ前準備ブロックが配置される。そのため、図19に示すように、前準備の必要のない別のプロセスジョブBの基板Bの処理ブロックB1を処理ユニットSPIN2のスペースに配置するときに、基板B1のための処理ブロック群を、基板A1の処理のための処理ブロック群よりも、時間軸上で前に配置できる場合がある。すなわち、基板収容器Cから後に払い出される基板B1に対する処理が先に払い出される基板A1に対する処理を追い越す。このような追い越しが生じない場合であっても、処理ユニットSPIN2における無駄な前準備を省くことができる結果、基板B1に対する処理を早く開始できる。したがって、無駄な前準備を省いてリソースの稼働率を高め、第1の実施形態の場合よりも生産性を向上できる。
【0064】
図3を参照して、スケジューリング機能部25は、当該プロセスジョブ符号が付与された全ての基板に対応する仮タイムテーブルを構成する全てのブロックの配置を終えると(ステップS35:YES)、当該プロセスジョブで使用した処理ユニットに対して後処理が必要かどうかを判断する(ステップS36)。すなわち、後処理実行条件が満たされるかどうかを判断する。この場合の後処理実行条件は、当該処理ユニットで処理された基板の枚数が所定枚数(たとえば45枚)に達したことを含むことが好ましい。後処理実行条件満たされなければ(ステップS36:NO)、当該プロセスジョブに対するスケジューリングを終了する(ステップS38)。後処理実行条件が満たされると(ステップS36:YES)、当該プロセスジョブで使用した処理ユニットの最後の処理ブロックの直後のスペースに後処理ブロックを配置し(ステップS37)、当該プロセスジョブに対するスケジューリングを終える(ステップS38)。
【0065】
後処理ブロックを配置した具体例を図20に示す。図20では、プロセスジョブBの処理のために処理ユニットSPIN1およびSPIN2が用いられている。より具体的には、1枚目の基板B1に対応した処理ブロックB1および2枚目の基板B2に対応した処理ブロックB2がそれぞれ処理ユニットSPIN1およびSPIN2に配置されており、それらの直後に、処理ユニットSPIN1およびSPIN2に対応するように後処理ブロックがそれぞれ配置されている。
【0066】
図21には、プロセスジョブBの1枚目の基板B1の処理ブロックB1において、その直前の同一リソースの処理ブロックA1に対する後処理が必要であり、かつ当該処理ブロックB1の前に前準備が必要であると判断された例を示す。したがって、処理ユニットSPIN1のスペースに配置された処理ブロックA1および処理ブロックB1の間に後処理ブロックおよび前準備ブロックが相前後して配置されている。この場合、後処理ブロックが時間軸上で先に配置され、前準備ブロックが時間軸上で後に配置されている。同様に、この例では、プロセスジョブBの1枚目の基板B2の処理ブロックB2において、その直前の同一リソースの処理ブロックA2に対する後処理が必要であり、かつ当該処理ブロックB2の前に前準備が必要であると判断されている。それに応じて、処理ユニットSPIN2のスペースに配置された処理ブロックA2および処理ブロックB2の間に後処理ブロックおよび前準備ブロックが相前後して配置されている。より具体的には、後処理ブロックが時間軸上で先に配置され、前準備ブロックが時間軸上で後に配置されている。
【0067】
以上のように、この実施形態においても、一枚一枚の基板Wに対して、処理内容を規定する複数のブロックを時系列に従って結合した仮タイムテーブルが、可能性のある全ての経路に関して作成される。そして、複数枚の基板Wに関する仮タイムテーブルからブロックを取得し、互いに干渉しないように(同一リソースが同時に使用されないように)、時系列に従って配置することによって、全体スケジュールが作成され、記憶部23に格納される。こうして、枚葉型の処理ユニットSPIN1〜SPIN12を効率的に稼働させることができる全体スケジュールを作成することができる。処理実行指示部26は、記憶部23に格納された全体スケジュールに従って、基板処理装置の各リソースを稼働させる。これにより、枚葉型基板処理装置の各部の稼働率を高め、生産性を向上することができる。
【0068】
また、この実施形態では、前準備工程および/または後処理工程のためのメンテナンスブロックを配置できるようになっている。これにより、プロセスジョブの異なる基板Wの処理の前または後に必要なメンテナンスを行うことができるので、品質の高い基板処理が可能となる。
さらに、この実施形態では、各処理ブロックを配置するときに、メンテナンスブロック(後処理ブロックおよび前準備ブロック)の配置の要否が判断される。そのため、各プロセスジョブのレシピによって指定された並行処理ユニットの全てに対して予め前準備を計画する第1の実施形態に比較すると、無駄な前準備が実行されることがなくなる。それに応じて、ブロックを時間軸上において前詰めで配置することが可能となるから、リソースの稼働率を一層高めて生産効率を向上できる。また、メンテナンスブロックは必要なときにだけ配置されるので、不必要な前準備または後処理が行われることがない。これによっても、リソース(主に処理ユニット)の稼働率を高めて、生産性の向上に寄与することができる。
【0069】
図22は、前準備実行条件判断(図13のステップS31)の具体例を示すフローチャートである。スケジューリング機能部25は、配置したブロックが処理ユニットでの処理を表す処理ブロックであるかどうか(ステップS41)、計画中のプロセスジョブの基板のうち当該処理ユニットで最初に処理される基板に対応する処理ブロックであるかどうか(ステップS42)、計画中のプロセスジョブのレシピで前準備が指定されているかどうか(ステップS43)、を判断する。これらの判断のいずれかが否定であれば、スケジューリング機能部25は、前準備ブロックを配置しない。
【0070】
ステップS41〜43の判断がいずれも肯定であれば、スケジューリング機能部25は、さらに、先にスタート指示されている別のプロセスジョブがあるか否かを判断する(ステップS44)。この判断が肯定であれば、スケジューリング機能部25は、先にスタートしているプロセスジョブに対して後処理が計画されたかどうか、すなわち後処理ブロックが配置されているかどうかを判断する(ステップS45)。後処理ブロックが配置されていれば(ステップS45:YES)、スケジューリング機能部25は、前準備ブロックを配置する(ステップS32)。後処理ブロックが配置されていなければ(ステップS45:NO)、スケジューリング機能部25は、先にスタートしているプロセスジョブと当該計画中のプロセスジョブとで、レシピが同じかどうかを判断する(ステップS46)。レシピが異なる場合は(ステップS46:NO)、スケジューリング機能部25は、前準備ブロックを配置する(ステップS32)。レシピが同じであれば(ステップS46:YES)、スケジューリング機能部25は、前準備ブロックの配置を省く。
【0071】
先にスタート指示されている別のプロセスジョブがなければ(ステップS44:NO)、スケジューリング機能部25は、直前のプロセスジョブがスタートしてから、所定時間(たとえば5分)以上経過しているかどうかを判断する(ステップS47)。所定時間以上経過していれば(ステップS47:YES)、スケジューリング機能部25は、前準備ブロックを配置する(ステップS32)。所定時間の経過前であれば(ステップS47:NO)、スケジューリング機能部25は、さらに、直前のプロセスジョブと計画中のプロセスジョブとのレシピが同じかどうかを判断する(ステップS48)。レシピが同じであれば(ステップS48:YES)、スケジューリング機能部25は、前準備ブロックの配置を省略する。レシピが異なる場合には(ステップS48:NO)、スケジューリング機能部25は、前準備ブロックを配置する。
【0072】
なお、レシピが同じかどうかの判断(ステップS46,S48)の代わりに、使用薬液の種類が同じかどうかを判断するようにしてもよい。
図23は、この発明の第3の実施形態を説明するためのフローチャートであり、スケジューリング機能部25によって実行される処理例が示されている。この第3の実施形態の説明において、前述の図1〜図3等を再び参照し、第2の実施形態との相違点を中心に説明する。図23には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、この実施形態において、スケジュール作成プログラム31には、図23に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。図23において、図13に示された処理と同様の処理に対応したステップは、同一参照符号で示す。
【0073】
第2の実施形態においては、プロセスジョブのスケジューリングにおいて、直前のプロセスジョブに対する後処理ブロックの付加が行われている(ステップS27〜S30)。これに対して、第3の実施形態では、これらの処理が省かれ、次に実行されるプロセスジョブとの関係に基づいて、スケジューリング中のプロセスジョブに後処理ブロックを付加するか否かが決定される。
【0074】
具体的には、プロセスジョブの全基板に対応する仮タイムテーブルを構成する全てのブロックの配置を終えると(ステップS35:YES)、当該プロセスジョブで使用した処理ユニットに対して後処理が必要かどうかを判断する後処理実行条件判断処理(ステップS51〜S54)が行われる。より具体的に説明すると、スケジューリング機能部25は、計画中のプロセスジョブのレシピで後処理が指定されているかどうかを判断する(ステップS51)。後処理の指定がなければ(ステップS51:NO)、後処理ブロックの配置が省かれる。後処理の指定があれば(ステップS51:YES)、スケジューリング機能部25は、計画中のプロセスジョブの後にスタート指示された別のプロセスジョブがあるかどうかを判断する(ステップS52)。該当する別のプロセスジョブがなければ(ステップS52:NO)、スケジューリング機能部25は、後処理ブロックを配置する(ステップS37)。該当する別のプロセスジョブがあれば(ステップS52:YES)、スケジューリング機能部25は、当該プロセスジョブで使用する処理ユニットにおいて、直前に後処理を実行してからの処理基板枚数が、当該プロセスジョブの実行によって所定枚数(たとえば45枚)に達することになるかどうかを判断する(ステップS53)。この判断が肯定されると、スケジューリング機能部25は、当該プロセスジョブで使用する処理ブロックのスペースに後処理ブロックを配置する(ステップS37)。処理基板枚数が所定枚数に達しない場合には(ステップS53:NO)、スケジューリング機能部25は、後にスタート指示されたプロセスジョブと当該計画中のプロセスジョブとで、レシピが同じかどうかを判断する(ステップS54)。レシピが異なる場合は(ステップS54:NO)、スケジューリング機能部25は、後処理ブロックを配置する(ステップS37)。レシピが同じであれば(ステップS54:YES)、スケジューリング機能部25は、後処理ブロックの配置を省く。
【0075】
なお、レシピが同じかどうかの判断(ステップS54)の代わりに、使用薬液の種類が同じかどうかを判断するようにしてもよい。
このようにして、第3の実施形態においても、第2の実施形態と同様の効果を奏することができる。より具体的には、相前後して実行されるプロセスジョブのレシピが同じであれば、先に実行されるプロセスジョブの後処理ブロックが省かれ、かつ後に実行されるプロセスジョブの前準備ブロックが省かれる。これにより、処理ユニットの稼働率を高めることができ、基板処理の生産性を高めることができる。ただし、プロセスジョブ間に長い時間間隔が生じる場合や、所定枚数の基板を処理した場合には、後処理ブロックおよび前準備ブロックが配置され、処理室内の環境が整えられる。これにより、高品質な基板処理を保証できる。
【0076】
図24は、図22のステップS46,S48および図23のステップS54における判断の別の例を示す図である。図22および図23に示した判断処理に加えて、またはそれらの判断処理に代えて、図24に例示する判断基準に従って後処理ブロックおよび前準備ブロックの配置の可否を決定してもよい。
具体的に説明すると、図24には、プロセスジョブAのレシピで指定される後処理と、プロセスジョブBのレシピで指定される前準備との組み合わせの例が示されている。ただし、プロセスジョブA,Bは、相前後して実行されるプロセスジョブである。
【0077】
前準備の例として、「チャンバ洗浄」、「ピン洗浄」、「プリディスペンス」が挙げられている。「チャンバ洗浄」とは、処理室(チャンバ)内の洗浄処理である。「チャンバ洗浄」は、たとえば、スピンチャックの洗浄、スピンチャックを収容する処理カップの洗浄、スピンチャックから飛び散る処理液を受けるガード(飛散防止部材)の洗浄などを含む。「ピン洗浄」とは、スピンチャックに備えられ、基板を保持するためのチャックピンを洗浄する処理である。「プリディスペンス」とは、処理液ノズルから処理液を一定量だけ吐出する工程である。
【0078】
また、後処理の例として、「チャンバ洗浄」、「ピン洗浄」、「その他チャンバ内部品洗浄」が挙げられている。チャンバ洗浄およびピン洗浄については前述のとおりである。「その他チャンバ内部品洗浄」は、たとえば、スピンチャックの上方に設けられた遮断板のような、処理室内の他の部品を洗浄する処理である。遮断板は、基板処理時に基板表面に接近させられ、基板への処理液の跳ね返りを防ぐ目的等で処理室内に備えられることがある。
【0079】
図24に示された第1の例では、プロセスジョブAの後処理として「チャンバ洗浄」が指定されており、プロセスジョブBの前準備として「チャンバ洗浄」が指定されている。この場合、プロセスジョブAの後処理およびプロセスジョブBの前準備が同じ処理であるので、プロセスジョブAの後処理ブロックおよびプロセスジョブBの前準備ブロックは、いずれも配置されない。第2の例では、プロセスジョブAの後処理として「ピン洗浄」および「その他チャンバ内部品洗浄」の2つが指定されており、プロセスジョブBの前準備として「ピン洗浄」が指定されている。この場合、プロセスジョブAの後処理とプロセスジョブBの前準備とでは、「ピン洗浄」が重複しており、プロセスジョブのAの後処理はさらに「その他チャンバ内部品洗浄」を含む。そこで、プロセスジョブAの後処理ブロックが配置される一方、プロセスジョブBの前準備ブロックは配置されない。第3の例では、プロセスジョブAの後処理として「チャンバ洗浄」が指定されており、プロセスジョブBの前準備として「プリディスペンス」が指定されている。この場合、プロセスジョブAの後処理およびプロセスジョブBの前準備が異なっており、部分的な重複もない。そこで、プロセスジョブAの後処理ブロックおよびプロセスジョブBの前準備ブロックが、いずれも配置される。第4の例では、プロセスジョブAの後処理として「チャンバ洗浄」が指定されており、プロセスジョブBの前準備として「プリディスペンス」および「チャンバ洗浄」が指定されている。この場合、プロセスジョブAの後処理とプロセスジョブBの前準備とでは、「チャンバ洗浄」が重複しており、プロセスジョブのBの前準備はさらに「プリディスペンス」を含む。そこで、プロセスジョブAの後処理ブロックの配置が省かれる一方、プロセスジョブBの前準備ブロックが配置される。
【0080】
このように、この例では、先に実行されるプロセスジョブAの後処理と、次いで実行されるプロセスジョブBの前準備とが完全に一致しているときには、プロセスジョブAの後処理ブロックおよびプロセスジョブBの前準備ブロックの配置がいずれも省かれる。また、プロセスジョブAの後処理とプロセスジョブBの前準備とが部分的に重複しており、いずれか一方の処理(後処理または前準備)が他方の処理内容の全てを含むときには、当該一方の処理のブロックのみが配置され、その他方の処理のブロックの配置が省略される。これにより、後処理と前準備との重複を省くことができるので、処理ユニットの稼働効率を高めることができ、基板処理装置の生産性を向上できる。
【0081】
以上、この発明のいくつかの実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態で示した基板処理装置の構成や基板処理内容は一例に過ぎず、基板処理装置は他の構成を採ることができ、かつ別の基板処理内容に対してもこの発明を適用できる。
また、プログラム30は、コンピュータ20に組み込まれた状態で提供されてもよいし、コンピュータ20とは別の記憶媒体(CD−ROM、DVD−ROM等のコンピュータ読取可能な記憶媒体)に記録された状態で提供されてもよい。
【0082】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0083】
W 基板
C 基板収容器
ST1〜ST4 ステージ
IR インデクサロボット
PASS 受け渡しユニット
CR 主搬送ロボット
SPIN1〜SPIN12 処理ユニット
G1〜G4 処理ユニット群
1 インデクサセクション
2 処理セクション
6 基台部
7 多関節アーム
8A,8B ハンド
11 基台部
12 多関節アーム
13A,13B ハンド
15 スピンチャック
16 処理液ノズル
17 処理室
20 コンピュータ
21 制御部
22 出入力部
23 記憶部
24 ホストコンピュータ
25 スケジューリング機能部
26 処理実行指示部
30 プログラム
31 スケジュール作成プログラム
32 処理実行プログラム
40 処理内容データ
50 スケジュールデータ

【特許請求の範囲】
【請求項1】
基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、
前記制御部が、各基板に対する処理内容を規定するブロックを時系列に従って結合した仮タイムテーブルを作成するステップと、
前記制御部が、複数枚の基板に関する前記仮タイムテーブルからブロックを取得し、時系列に従って配置することにより、全体スケジュールを作成するスケジューリングステップとを含む、スケジュール作成方法。
【請求項2】
前記スケジューリングステップが、基板に対する処理の前または後に前記処理ユニットで実行すべきメンテナンス工程のためのメンテナンスブロックを配置するメンテナンスブロック配置ステップを含む、請求項1に記載のスケジュール作成方法。
【請求項3】
前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、
前記メンテナンスブロック配置ステップが、前記処理ブロックが所定のメンテナンス実行条件を満たすか否かを判定するステップと、前記処理ブロックが前記メンテナンス実行条件を満たすときに、時間軸上において前記処理ブロックよりも前に前記メンテナンスブロックを配置するステップとを含む、請求項2に記載のスケジュール作成方法。
【請求項4】
前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、
前記メンテナンスブロック配置ステップが、第1基板に対して計画された前記処理ユニットによる第1処理と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対して計画された当該処理ユニットによる第2処理とが、所定のメンテナンス実行条件を満たすか否かを判定するステップと、前記メンテナンス実行条件が満たされたときに前記第1処理のための第1処理ブロックと前記第2処理のための第2処理ブロックとの間に前記メンテナンスブロックを配置するステップとを含む、請求項2に記載のスケジュール作成方法。
【請求項5】
前記メンテナンス実行条件が、前記第1処理ブロックの終了から前記第2処理ブロックの開始までの経過時間に関する条件、前記第1処理および前記第2処理の処理内容に関する条件、および前記処理ユニットにおける処理済み基板枚数に関する条件のうちの一つ以上を含む、請求項4に記載のスケジュール作成方法。
【請求項6】
前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、
前記メンテナンスブロック配置ステップが、第1基板に対して計画された前記処理ユニットによる第1処理と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対して計画された当該処理ユニットによる第2処理とが同じかどうかを判定するステップと、前記第1処理と前記第2処理とが異なるときに前記第1処理のための第1処理ブロックと前記第2処理のための第2処理ブロックとの間に前記メンテナンスブロックを配置し、前記第1処理と前記第2処理とが同じであるときには前記メンテナンスブロックの配置を省くステップとを含む、請求項2に記載のスケジュール作成方法。
【請求項7】
前記仮タイムテーブルが、前記処理ユニットにおいて基板に対して実行される処理を表す処理ブロックを含み、
前記メンテナンスブロック配置ステップが、
第1基板に対する処理の後に前記処理ユニットにおいて実行されるべき後処理工程と、前記第1基板の次に当該処理ユニットによって処理される第2基板に対する処理の前に前記処理ユニットにおいて実行されるべき前準備工程とが同じかどうかを判定するステップと、
前記後処理工程と前記前準備工程とが異なるときに前記第1基板のための第1処理ブロックと前記第2基板のための第2処理ブロックとの間に前記後処理工程のための後処理ブロックおよび前記前準備工程のための前準備ブロックを前記メンテナンスブロックとして配置し、前記後処理工程と前記前準備工程とが同じであるときには前記メンテナンスブロックの配置を省くステップとを含む、請求項2に記載のスケジュール作成方法。
【請求項8】
前記メンテナンスブロック配置ステップが、
前記後処理工程および前記前準備工程のうちの一方の処理内容の一部がそれらのうちの他方の処理内容の全部と同じかどうかを判定するステップと、
前記一方の処理内容の一部が前記他方の処理内容の全部と同じであるときに、前記第1基板のための第1処理ブロックと前記第2基板のための第2処理ブロックとの間に、前記後処理工程および前記前準備工程のうちの前記一方に対応したメンテナンスブロックを配置し、前記後処理工程および前記前準備工程のうちの前記他方に対応したメンテナンスブロックの配置を省くステップとをさらに含む、請求項6に記載のスケジュール作成方法。
【請求項9】
基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、
請求項1〜8のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2013−77796(P2013−77796A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2012−48393(P2012−48393)
【出願日】平成24年3月5日(2012.3.5)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】