(57)【要約】【課題】基板処理装置の生産効率の向上に寄与する。【解決手段】基板処理方法は、第１ロットに対する処理である第１コントロールジョブＣＪ１のデータを受け付ける工程（ｔ１）と、その後に第２ロットに対する処理である第２コントロールジョブＣＪ２のデータを受け付ける工程（ｔ２）を含む。第１コントロールジョブＣＪ１は、プロセスジョブＰＪ１１〜ＰＪ１３を含む。第２コントロールジョブＣＪ２は、プロセスジョブＰＪ２１〜ＰＪ２３を含む。たとえば、プロセスジョブＰＪ１１，ＰＪ１３，ＰＪ２１〜ＰＪ２３のレシピが共通属性を含み、プロセスジョブＰＪ１２のレシピが異なる属性を含む。この場合、共通属性のプロセスジョブが連続するように、第１コントロールジョブＣＪ１の完了前であっても、第２コントロールジョブＣＪ２に含まれるプロセスジョブの実行が計画される。【選択図】図１６
2018195145.tif 000002
【特許請求の範囲】
【請求項１】
基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法であって、
前記基板処理装置が、第１ロットに対する処理である第１コントロールジョブを規定する第１コントロールジョブ情報を受け付ける工程と、
前記基板処理装置が、前記第１コントロールジョブ情報を受け付けた後に、第２ロットに対する処理である第２コントロールジョブを規定する第２コントロールジョブ情報を受け付ける工程と、を含み、
前記第１コントロールジョブ情報が、前記第１ロットに含まれる１枚または複数枚の基板に対する第１レシピによる処理である第１プロセスジョブを規定する第１プロセスジョブ情報と、前記第１ロットに含まれる１枚または複数枚の基板に対する第２レシピによる処理である第２プロセスジョブを規定する第２プロセスジョブ情報と、を含み、
前記第２コントロールジョブ情報が、前記第２ロットに含まれる１枚または複数枚の基板に対する第３レシピによる処理である第３プロセスジョブを規定する第３プロセスジョブ情報を含み、
前記基板処理方法が、さらに
前記第１レシピおよび前記第３レシピが共通する属性を含み、前記第２レシピが当該属性を含まない場合に、前記第１プロセスジョブおよび前記第２プロセスジョブの間に前記第３プロセスジョブを実行する順序で前記第１、第２および第３プロセスジョブの実行計画を策定するスケジューリング工程と、
前記策定された実行計画に従って前記処理ユニットによって基板を処理する処理実行工程と、を含む、基板処理方法。
【請求項２】
前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
前記スケジューリング工程が、前記第３プロセスジョブの後に前記第２レシピに含まれる属性に対応する準備工程を実行する計画を策定する、請求項１に記載の基板処理方法。
【請求項３】
前記スケジューリング工程が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項１または２に記載の基板処理方法。
【請求項４】
前記第１コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する工程をさらに含み、
前記スケジューリング工程が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第１コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項１〜３のいずれか一項に記載の基板処理方法。
【請求項５】
前記第１レシピおよび前記第３レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める工程をさらに含み、
前記スケジューリング工程が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項１〜４のいずれか一項に記載の基板処理方法。
【請求項６】
前記スケジューリング工程が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する、請求項３〜５のいずれか一項に記載の基板処理方法。
【請求項７】
前記基板処理装置に対する、使用者による割込実行条件の入力を受け付ける工程をさらに含み、
前記割込スケジューリング工程において、前記受け付けられた割込実行条件が適用される、請求項３〜６のいずれか一項に記載の基板処理方法。
【請求項８】
前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットを含み、
前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、
前記第１レシピおよび第３レシピが第１処理液条件を共通に指定しており、前記第２レシピが前記第１処理液条件とは異なる第２処理液条件を指定している、請求項１〜７のいずれか一項に記載の基板処理方法。
【請求項９】
基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法であって、
前記基板処理装置が、第１ロットに含まれる１枚または複数枚の基板に対して処理を実行する第１処理工程と、
前記基板処理装置が、前記第１処理工程の後に、前記第１ロットとは異なる第２ロットに含まれる１枚または複数枚の基板に対して処理を実行する第２処理工程と、
前記基板処理装置が、前記第２処理工程の後に、前記第１ロットに含まれる１枚または複数枚の基板に対して処理を実行する第３処理工程と、を含む基板処理方法。
【請求項１０】
前記第１ロットが、第１レシピによって処理すべき１枚または複数枚の基板と、前記第１レシピとは属性が異なる第２レシピによって処理すべき１枚または複数枚の基板とを含み、
前記第２ロットが、前記第１レシピと共通の属性を有する第３レシピによって処理すべき１枚または複数枚の基板を含み、
前記第１処理工程が、前記第１レシピによる処理を含み、
前記第２処理工程が、前記第３レシピによる処理を含み、
前記第３処理工程が、前記第２レシピによる処理を含む、請求項９に記載の基板処理方法。
【請求項１１】
前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
前記基板処理装置が、前記第２処理工程と前記第３処理工程との間に属性を切り替えるための準備工程を実行する、請求項１０に記載の基板処理方法。
【請求項１２】
共通属性のレシピによる継続状況が所定の閾値に達すると、前記基板処理装置が、異なる属性のレシピによって処理すべき基板に対する処理を実行する、請求項１０または１１に記載の基板処理方法。
【請求項１３】
前記基板処理装置が前記第１ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記基板処理装置は、前記第１ロットの未処理の基板を優先的に処理する、請求項９〜１２のいずれか一項に記載の基板処理方法。
【請求項１４】
基板処理装置に備えられるコンピュータによって実行されるプログラムであって、前記基板処理装置において、請求項１〜１３のいずれか一項に記載の方法を実行するようにステップ群が組みこまれたコンピュータプログラム。
【請求項１５】
基板に対する処理を実行する処理ユニットと、
ロットに対する処理であるコントロールジョブを規定するコントロールジョブ情報であって、前記ロットに含まれる１枚または複数枚の基板に対する処理であるプロセスジョブを規定するプロセスジョブ情報を含むコントロールジョブ情報の入力を受け付けるコントロールジョブ情報受け付け手段と、
前記プロセスジョブ情報に基づいて、基板に対する処理計画を策定するスケジューリング手段と、
前記スケジューリング手段によって策定された処理計画に従って前記処理ユニットによって基板処理を実行させる処理実行制御手段と、を含み、
前記コントロールジョブ受け付け手段が、第１ロットに対する処理である第１コントロールジョブを規定する第１コントロールジョブ情報を受け付け、前記第１コントロールジョブ情報を受け付けた後に、第２ロットに対する処理である第２コントロールジョブを規定する第２コントロールジョブ情報を受け付け、
前記第１コントロールジョブ情報が、前記第１ロットに含まれる１枚または複数枚の基板に対する第１レシピによる処理である第１プロセスジョブを規定する第１プロセスジョブ情報と、前記第１ロットに含まれる１枚または複数枚の基板に対する第２レシピによる処理である第２プロセスジョブを規定する第２プロセスジョブ情報と、を含み、
前記第２コントロールジョブ情報が、前記第２ロットに含まれる１枚または複数枚の基板に対する第３レシピによる処理である第３プロセスジョブを規定する第３プロセスジョブ情報を含み、
前記スケジューリング手段が、前記第１レシピおよび前記第３レシピが共通する属性を含み、前記第２レシピが当該属性を含まない場合に、前記第１プロセスジョブおよび前記第２プロセスジョブの間に前記第３プロセスジョブを実行する順序で前記第１、第２および第３プロセスジョブの実行計画を策定する、基板処理装置。
【請求項１６】
前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
前記スケジューリング手段が、前記第３プロセスジョブの後に前記第２レシピに含まれる属性に対応する準備工程を実行する計画を策定する、請求項１５に記載の基板処理装置。
【請求項１７】
前記スケジューリング手段が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項１５または１６に記載の基板処理装置。
【請求項１８】
前記第１コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する手段をさらに含み、
前記スケジューリング手段が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第１コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項１５〜１７のいずれか一項に記載の基板処理装置。
【請求項１９】
前記第１レシピおよび前記第３レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める手段をさらに含み、
前記スケジューリング手段が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項１５〜１８のいずれか一項に記載の基板処理装置。
【請求項２０】
前記スケジューリング手段が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する、請求項１７〜１９のいずれか一項に記載の基板処理装置。
【請求項２１】
使用者による割込実行条件の入力を受け付ける手段をさらに含み、
前記スケジューリング手段が、前記割込スケジューリングにおいて、前記受け付けられた割込実行条件を適用する、請求項１７〜２０のいずれか一項に記載の基板処理装置。
【請求項２２】
前記処理ユニットに処理液を供給する処理液供給ユニットをさらに含み、
前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、
前記第１レシピおよび第３レシピが第１処理液条件を共通に指定しており、前記第２レシピが前記第１処理液条件とは異なる第２処理液条件を指定している、請求項１５〜２１のいずれか一項に記載の基板処理装置。
【請求項２３】
基板に対する処理を実行する処理ユニットと、
前記処理ユニットに対して基板を搬送する基板搬送手段と、
前記処理ユニットおよび前記基板搬送手段を制御する制御ユニットと、を含み、
前記制御ユニットが、
第１ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第１処理工程と、
前記第１処理工程の後に、前記第１ロットとは異なる第２ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第２処理工程と、
前記第２処理工程の後に、前記第１ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第３処理工程と、
を実行する、基板処理装置。
【請求項２４】
前記第１ロットが、第１レシピによって処理すべき１枚または複数枚の基板と、前記第１レシピとは属性が異なる第２レシピによって処理すべき１枚または複数枚の基板とを含み、
前記第２ロットが、前記第１レシピと共通の属性を有する第３レシピによって処理すべき１枚または複数枚の基板を含み、
前記第１処理工程が、前記第１レシピによる処理を含み、
前記第２処理工程が、前記第３レシピによる処理を含み、
前記第３処理工程が、前記第２レシピによる処理を含む、請求項２３に記載の基板処理装置。
【請求項２５】
前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
前記制御ユニットが、前記第２処理工程と前記第３処理工程との間に属性を切り替えるための準備工程を実行する、請求項２４に記載の基板処理装置。
【請求項２６】
共通属性のレシピによる継続状況が所定の閾値に達すると、前記制御ユニットが、異なる属性のレシピによって処理すべき基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる、請求項２４または２５に記載の基板処理装置。
【請求項２７】
前記第１ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記制御ユニットが、前記第１ロットの未処理の基板を優先的に前記基板搬送手段によって前記処理ユニットに搬送して処理させる、請求項２３〜２６のいずれか一項に記載の基板処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、基板を処理するための基板処理装置および基板処理方法に関する。
【背景技術】
【０００２】
特許文献１は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を規定するスケジュールを作成する方法を開示している。基板の処理を規定するプロセスジョブ情報がホストコンピュータから入力され、入力された順序でプロセスジョブ情報に対応するスケジュールが作成される。その作成されたスケジュールに従って、基板が処理ユニットに搬送され、処理ユニットにおいて基板に対する処理が実行され、処理後の基板が処理ユニットから搬出される。プロセスジョブは、１枚または複数枚の基板に対する処理である。
【０００３】
特許文献１は、さらに、基板種や薬液温度といったカテゴリが共通するプロセスジョブが連続するようにプロセスジョブの実行順序をスケジュールする構成を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３９６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
基板処理装置には、基板を収容した基板収容器がセットされる。基板処理装置は、その基板収容器から基板を取り出して処理し、その基板収容器に処理後の基板を収容するように動作する。基板収容器は、複数枚（たとえば２５枚）の基板を収容可能である。一つの基板収容器に収容された１枚以上の基板は処理ロットを構成する。この処理ロットに対する処理を規定する情報は、たとえばコントロールジョブ情報と呼ばれる。このコントロールジョブ情報は、１または複数のプロセスジョブ情報を含む。換言すれば、処理ロットに対する処理がコントロールジョブであり、一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。
【０００６】
基板処理装置は、複数個の基板収容器をそれぞれセット可能な複数の収容器保持部を備える場合がある。この場合、複数の処理ロットに対する処理を基板処理装置に対して予約することができる。より具体的には、複数の処理ロットに対応する複数のコントロールジョブ情報がホストコンピュータから基板処理装置に入力される。特許文献１に従ってプロセスジョブの順序が変更される場合であっても、コントロールジョブの範囲を超えてプロセスジョブの順序が入れ替えられることはない。それにより、処理ロットが順次処理されることを保証し、一つの処理ロットの処理開始から処理終了までの時間が一定限度を超えないようになっている。
【０００７】
しかし、このような制限のために、生産性の向上が妨げられる場合がある。たとえば、第１のコントロールジョブが、第１カテゴリの第１プロセスジョブと、第２カテゴリの第２プロセスジョブを含み、第２のコントロールジョブが第１カテゴリの第３プロセスジョブを含む場合を想定する。コントロールジョブの範囲内でのみプロセスジョブの順序変更が可能であるとすれば、第１プロセスジョブ、第２プロセスジョブおよび第３プロセスジョブの順に処理が実行される。すると、第１および第２プロセスジョブの間で第１カテゴリから第２カテゴリへの変更のための準備工程が行われ、第２および第３プロセスジョブの間で第２カテゴリから第１カテゴリへの変更のための準備工程が行われる。したがって、第１カテゴリから第２カテゴリに変更し、再度、第１カテゴリに戻す処理が行われ、そのために、２回の準備工程が必要となる。このように、準備工程の回数が多くなるため、基板処理装置の生産効率の向上が妨げられる。
【０００８】
そこで、この発明の一つの目的は、基板処理装置の生産効率の向上に寄与することができる基板処理装置および基板処理方法を提供することである。
【課題を解決するための手段】
【０００９】
この発明は、基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法を提供する。この方法は、前記基板処理装置が、第１ロットに対する処理である第１コントロールジョブを規定する第１コントロールジョブ情報を受け付ける工程と、前記基板処理装置が、前記第１コントロールジョブ情報を受け付けた後に、第２ロットに対する処理である第２コントロールジョブを規定する第２コントロールジョブ情報を受け付ける工程と、を含む。前記第１コントロールジョブ情報は、前記第１ロットに含まれる１枚または複数枚の基板に対する第１レシピによる処理である第１プロセスジョブを規定する第１プロセスジョブ情報と、前記第１ロットに含まれる１枚または複数枚の基板に対する第２レシピによる処理である第２プロセスジョブを規定する第２プロセスジョブ情報と、を含む。前記第２コントロールジョブ情報は、前記第２ロットに含まれる１枚または複数枚の基板に対する第３レシピによる処理である第３プロセスジョブを規定する第３プロセスジョブ情報を含む。そして、前記基板処理方法は、前記第１レシピおよび前記第３レシピが共通する属性を含み、前記第２レシピが当該属性を含まない場合に、前記第１プロセスジョブおよび前記第２プロセスジョブの間に前記第３プロセスジョブを実行する順序で前記第１、第２および第３プロセスジョブの実行計画を策定するスケジューリング工程と、前記策定された実行計画に従って前記処理ユニットによって基板を処理する処理実行工程と、をさらに含む。
【００１０】
ロットとは、１枚または複数枚の基板で構成され、基板処理装置に対して処理の指令または予約がされる処理単位である。所定枚数の基板を収容することができる基板収容器を用いて基板処理装置に対して処理対象の基板が導入される場合には、その基板収容器に収容された１枚または複数枚の基板が一つのロットを構成してもよい。
コントロールジョブは、ロットに対して基板処理装置が実行すべき処理である。コントロールジョブ情報とは、コントロールジョブの内容を規定する情報である。したがって、コントロールジョブ情報によって、ロットが規定され、かつそのロットに対する処理内容が規定されるということもできる。一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。それに応じて、コントロールジョブ情報は、一つまたは複数のプロセスジョブ情報を含む。
【００１１】
プロセスジョブとは、共通のレシピによる１枚または複数枚の基板に対する処理である。プロセスジョブ情報は、プロセスジョブの内容を規定する情報である。プロセスジョブ情報は、レシピを指定する情報を含む。レシピとは、基板に対する処理条件を規定する情報である。処理条件は、基板に供給する流体（液体または気体）に関する条件を含んでいてもよい。流体に関する条件は、流体の種類、流体の温度、供給流量、供給時間などであってもよい。
【００１２】
レシピの属性とは、レシピのカテゴリと言い換えることもできる。たとえば、処理の連続実行が可能かどうかという観点に着目してレシピの属性を分類してもよい。より具体的には、プロセスジョブの実行計画を策定する際に着目されるレシピの属性は、基板に供給される流体の種類（たとえば薬液の種類）や流体の温度であってもよい。
基板処理装置は、複数の処理ユニットを含んでいてもよい。この場合、レシピは、処理をすべき１または複数の処理ユニットを指定する処理ユニット指定情報を含んでいてもよい。
【００１３】
基板処理装置は、処理対象の基板を待機させておくための基板待機場所から処理ユニットまで基板を搬送する基板搬送手段を備えていてもよい。この場合、プロセスジョブの実行計画は、基板の搬送に関する計画を含むことが好ましい。それに応じて、処理実行工程では、基板の搬送および処理ユニットでの基板処理が行われる。
この発明では、第１コントロールジョブに含まれる全てのプロセスジョブが完了する前に第２コントロールジョブに含まれるプロセスジョブが実行される場合がある。より具体的には、第１コントロールジョブに含まれるプロセスジョブと共通属性のレシピが指定されたプロセスジョブが第２コントロールジョブに含まれている場合に、コントロールジョブの枠を超えて、プロセスジョブの順序が入れ替えられる。すなわち、第１コントロールジョブが異なる属性のレシピが指定された第１プロセスジョブおよび第２プロセスジョブを含み、第２コントロールジョブが第１プロセスジョブのレシピと共通属性を有するレシピが指定された第３プロセスジョブを有する場合を考える。この場合、第１プロセスジョブ、第３プロセスジョブ、第２プロセスジョブの順にプロセスジョブを実行する計画が策定される。すなわち、第１コントロールジョブの完了よりも前に、第２コントロールジョブのプロセスジョブが割り込む。それにより、コントロールジョブの枠を超えてプロセスジョブの順序が入れ替えられ、共通属性のレシピが指定されたプロセスジョブをまとめて（連続して）実行できる。これにより、レシピの属性の切り替わり回数を減らすことができるので、生産効率の高い基板処理を実現できる。
【００１４】
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記スケジューリング工程が、前記第３プロセスジョブの後に前記第２レシピに含まれる属性に対応する準備工程を実行する計画を策定する。
この方法では、準備工程を必要とする属性に着目してレシピを分類し、共通属性のレシピを指定したプロセスジョブをまとめて（連続して）実行することができる。それにより、レシピの切替えに際して必要となる準備工程の回数を少なくできるから、生産効率の高い基板処理を実現できる。
【００１５】
この発明の一実施形態では、前記スケジューリング工程が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
「割込実行を計画する」とは、或るプロセスジョブの実行順序を繰り上げて割り込ませるように計画変更することをいう。
【００１６】
たとえば、割込実行条件は、共通属性のレシピを指定したプロセスジョブをまとめて実行するよりも優先すべき条件であってもよい。このような割込実行条件を設定しておくことによって、コントロールジョブの枠を超えたプロセスジョブの入れ替えに伴って不都合が生じる場合には、そのような不都合を回避または解消できる。それにより、適切な基板処理を確保しながら、生産効率の向上を図ることができる。
【００１７】
この発明の一実施形態では、前記基板処理方法が、前記第１コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する工程をさらに含み、前記スケジューリング工程が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第１コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
【００１８】
この方法では、コントロールジョブの実行開始からの経過を表すコントロールジョブライフが所定の閾値に達すると、そのコントロールジョブに含まれる未処理（未開始）のプロセスジョブの実行順序が繰り上げられる。たとえば、直前に開始されたプロセスジョブの次（または実行可能な最も早い順序）に実行するように実行順序が変更される。これにより、一つのコントロールジョブの実行開始から終了までに実質的な時間制限を課することができる。したがって、コントロールジョブの枠を超えてプロセスジョブを入れ替えて生産効率の向上を図り、併せて、一つのコントロールジョブの処理を合理的な時間内に終了させることができる。
【００１９】
この発明の一実施形態では、前記基板処理方法が、前記第１レシピおよび前記第３レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める工程をさらに含み、前記スケジューリング工程が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
【００２０】
一つの属性のレシピによる処理の継続に制限を設けることが好ましい場合がある。たとえば、共通の薬液を用いた処理を長く継続することにより、薬液の性能（品質）が劣化し、それによって、基板処理の品質が劣化する場合がある。このような場合には、共通属性のレシピによる処理を継続するよりも、属性を切り替えることで、基板処理の品質を保持できる。
【００２１】
そこで、一つの属性による処理の継続状況を表す属性ライフが閾値に達することを割込実行条件と、別の属性を有するレシピを指定したプロセスジョブの割込実行を計画することにより、高品質および高効率を両立した基板処理を実現できる。
処理の継続状況は、一つの属性の処理の継続時間、処理の繰り返し回数などであってもよい。処理の繰り返し回数とは、一つの属性の処理を連続して施した基板枚数、プロセスジョブの数、またはコントロールジョブの数であってもよい。
【００２２】
この発明の一実施形態では、前記スケジューリング工程が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する。
この方法では、割込スケジューリングによって計画されたプロセスジョブに続いて、そのプロセスジョブのレシピと共通属性のレシピを指定したプロセスジョブの実行が計画される。これにより、プロセスジョブの割込実行を許容しながら、属性の切り替わりを抑制できる。したがって、割込スケジューリングによって適切な基板処理を確保しながら、処理効率の向上を図ることができる。
【００２３】
この発明の一実施形態では、前記基板処理装置に対する、使用者による割込実行条件の入力を受け付ける工程をさらに含み、前記割込スケジューリング工程において、前記受け付けられた割込実行条件が適用される。この方法では、使用者による割込実行条件の指定が可能であるので、使用者の要求に対応しながら、処理効率を向上できる。
この発明の一実施形態では、前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットを含み、前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、前記第１レシピおよび第３レシピが第１処理液条件を共通に指定しており、前記第２レシピが前記第１処理液条件とは異なる第２処理液条件を指定している。
【００２４】
この方法により、処理液条件が共通するプロセスジョブをまとめて（連続して）実行できるので、処理液条件の切り替わり回数を少なくできる。それにより、効率的な基板処理が可能になる。とくに、処理液条件の切り替わりに応じて準備工程が必要な場合には、準備工程の回数を少なくできるから、処理効率を高めることができる。
処理液条件は、処理液の種類および処理液の温度の一方または両方を含んでいてもよい。
【００２５】
この発明は、また、基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法であって、前記基板処理装置が、第１ロットに含まれる１枚または複数枚の基板に対して処理を実行する第１処理工程と、前記基板処理装置が、前記第１処理工程の後に、前記第１ロットとは異なる第２ロットに含まれる１枚または複数枚の基板に対して処理を実行する第２処理工程と、前記基板処理装置が、前記第２処理工程の後に、前記第１ロットに含まれる１枚または複数枚の基板に対して処理を実行する第３処理工程と、を含む基板処理方法を提供する。
【００２６】
この発明の一実施形態では、前記第１ロットが、第１レシピによって処理すべき１枚または複数枚の基板と、前記第１レシピとは属性が異なる第２レシピによって処理すべき１枚または複数枚の基板とを含み、前記第２ロットが、前記第１レシピと共通の属性を有する第３レシピによって処理すべき１枚または複数枚の基板を含み、前記第１処理工程が、前記第１レシピによる処理を含み、前記第２処理工程が、前記第３レシピによる処理を含み、前記第３処理工程が、前記第２レシピによる処理を含む。
【００２７】
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記基板処理装置が、前記第２処理工程と前記第３処理工程との間に属性を切り替えるための準備工程を実行する。
この発明の一実施形態では、共通属性のレシピによる継続状況が所定の閾値に達すると、前記基板処理装置が、異なる属性のレシピによって処理すべき基板に対する処理を実行する。
【００２８】
この発明の一実施形態では、前記基板処理装置が前記第１ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記基板処理装置は、前記第１ロットの未処理の基板を優先的に処理する。
この発明は、また、基板処理装置に備えられるコンピュータによって実行されるプログラムであって、前記基板処理装置において、前述のような特徴を有する基板処理方法を実行するようにステップ群が組みこまれたコンピュータプログラムを提供する。このコンピュータプログラムを基板処理装置に備えられたコンピュータによって実行させることによって、前述のような処理効率の高い基板処理方法を実現できる。
【００２９】
この発明は、また、基板に対する処理を実行する処理ユニットと、ロットに対する処理であるコントロールジョブを規定するコントロールジョブ情報の入力を受け付けるコントロールジョブ情報受け付け手段と、を含む、基板処理装置を提供する。前記コントロールジョブ情報は、前記ロットに含まれる１枚または複数枚の基板に対する処理であるプロセスジョブを規定するプロセスジョブ情報を含む。前記基板処理装置は、さらに、前記プロセスジョブ情報に基づいて、基板に対する処理計画を策定するスケジューリング手段と、前記スケジューリング手段によって策定された処理計画に従って前記処理ユニットによって基板処理を実行させる処理実行制御手段とを含む。前記コントロールジョブ受け付け手段は、第１ロットに対する処理である第１コントロールジョブを規定する第１コントロールジョブ情報を受け付け、前記第１コントロールジョブ情報を受け付けた後に、第２ロットに対する処理である第２コントロールジョブを規定する第２コントロールジョブ情報を受け付ける。前記第１コントロールジョブ情報は、前記第１ロットに含まれる１枚または複数枚の基板に対する第１レシピによる処理である第１プロセスジョブを規定する第１プロセスジョブ情報と、前記第１ロットに含まれる１枚または複数枚の基板に対する第２レシピによる処理である第２プロセスジョブを規定する第２プロセスジョブ情報と、を含む。前記第２コントロールジョブ情報は、前記第２ロットに含まれる１枚または複数枚の基板に対する第３レシピによる処理である第３プロセスジョブを規定する第３プロセスジョブ情報を含む。そして、前記スケジューリング手段は、前記第１レシピおよび前記第３レシピが共通する属性を含み、前記第２レシピが当該属性を含まない場合に、前記第１プロセスジョブおよび前記第２プロセスジョブの間に前記第３プロセスジョブを実行する順序で前記第１、第２および第３プロセスジョブの実行計画を策定する。
【００３０】
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記スケジューリング手段が、前記第３プロセスジョブの後に前記第２レシピに含まれる属性に対応する準備工程を実行する計画を策定する。
この発明の一実施形態では、前記スケジューリング手段が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
【００３１】
この発明の一実施形態では、前記基板処理装置が、前記第１コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する手段をさらに含み、前記スケジューリング手段が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第１コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
【００３２】
この発明の一実施形態では、前記基板処理装置が、前記第１レシピおよび前記第３レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める手段をさらに含み、前記スケジューリング手段が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
【００３３】
この発明の一実施形態では、前記スケジューリング手段が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する。
この発明の一実施形態では、前記基板処理装置が、使用者による割込実行条件の入力を受け付ける手段をさらに含み、前記スケジューリング手段が、前記割込スケジューリングにおいて、前記受け付けられた割込実行条件を適用する。
【００３４】
この発明の一実施形態では、前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットをさらに含み、前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、前記第１レシピおよび第３レシピが第１処理液条件を共通に指定しており、前記第２レシピが前記第１処理液条件とは異なる第２処理液条件を指定している。
【００３５】
この発明は、また、基板に対する処理を実行する処理ユニットと、前記処理ユニットに対して基板を搬送する基板搬送手段と、前記処理ユニットおよび前記基板搬送手段を制御する制御ユニットと、を含む、基板処理装置を提供する。前記制御ユニットは、第１ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第１処理工程と、前記第１処理工程の後に、前記第１ロットとは異なる第２ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第２処理工程と、前記第２処理工程の後に、前記第１ロットに含まれる１枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第３処理工程と、を実行する。
【００３６】
この発明の一実施形態では、前記第１ロットが、第１レシピによって処理すべき１枚または複数枚の基板と、前記第１レシピとは属性が異なる第２レシピによって処理すべき１枚または複数枚の基板とを含み、前記第２ロットが、前記第１レシピと共通の属性を有する第３レシピによって処理すべき１枚または複数枚の基板を含み、前記第１処理工程が、前記第１レシピによる処理を含み、前記第２処理工程が、前記第３レシピによる処理を含み、前記第３処理工程が、前記第２レシピによる処理を含む。
【００３７】
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記制御ユニットが、前記第２処理工程と前記第３処理工程との間に属性を切り替えるための準備工程を実行する。
この発明の一実施形態では、共通属性のレシピによる継続状況が所定の閾値に達すると、前記制御ユニットが、異なる属性のレシピによって処理すべき基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる。
【００３８】
この発明の一実施形態では、前記第１ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記制御ユニットが、前記第１ロットの未処理の基板を優先的に前記基板搬送手段によって前記処理ユニットに搬送して処理させる。
【図面の簡単な説明】
【００３９】
【図１】図１は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図である。
【図２】図２は、前記基板処理装置の図解的な側面図である。
【図３】図３は、前記基板処理装置の電気的構成を説明するためのブロック図である。
【図４】図４は、前記基板処理装置に備えられたスケジューリング機能部による処理例を説明するためのフローチャートである。
【図５】図５は、全体スケジューリングの詳細を説明するためのフローチャートである。
【図６】図６は、割込発生のための処理例を説明するためのフローチャートである。
【図７】図７は、割込発生のための他の処理例を説明するためのフローチャートである。
【図８】図８は、一つの処理ユニットを通る経路に対応した仮タイムテーブルの一例を示す。
【図９】図９は、ホストコンピュータから基板処理装置に入力されるコントロールジョブデータの例を説明するための図である。
【図１０】図１０Ａおよび図１０Ｂは、図９のコントロールジョブデータに対応して作成される仮タイムテーブルの一例を示す。
【図１１】図１１は、最初に受信したコントロールジョブＣＪ１の最初のプロセスジョブＰＪ１１の一枚の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
【図１２】図１２は、コントロールジョブＣＪ１の２番目のプロセスジョブＰＪ１２を保留して、３番目のプロセスジョブＰＪ１３を計画した状態を示す。
【図１３】図１３は、コントロールジョブの枠内でプロセスジョブを入れ替えたスケジューリング例（第１の比較例）を示す。
【図１４】図１４は、コントロールジョブの順序およびプロセスジョブの順序に従うスケジューリング例（第２の比較例）を示す。
【図１５】図１５は、コントロールジョブの枠を越えてプロセスジョブを入れ替えたスケジューリング例（実施例）を示す。
【図１６】図１６Ａ〜１６Ｄは、割込スケジューリングを適用した例（実施例）を示しており、図１６Ａは、コントロールジョブＣＪ１の受け付け直後のスケジューリング例を示し、図１６Ｂは、コントロールジョブＣＪ２の受け付け直後のスケジューリング例を示し、図１６Ｃは、コントロールジョブＣＪ１のライフが閾値に達した直後の割込スケジューリングの例を示し、図１６Ｄは、コントロールジョブＣＪ３の受け付け直後のスケジューリング例を示す。
【発明を実施するための形態】
【００４０】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図２はその図解的な側面図である。この基板処理装置は、インデクサセクション１と、処理セクション２と、薬液キャビネットＣＣ１とを含む。処理セクション２は、インデクサセクション１との間で基板Ｗを受け渡しするための受け渡しユニットＰＡＳＳを備えている。インデクサセクション１は、未処理の基板Ｗを受け渡しユニットＰＡＳＳに渡し、受け渡しユニットＰＡＳＳから処理済みの基板Ｗを受け取る。処理セクション２は、受け渡しユニットＰＡＳＳから未処理の基板Ｗを受け取って、その基板Ｗに対して、処理剤（処理液または処理ガス）を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理（ブラシ洗浄、スプレーノズル洗浄等）などの各種の処理を施す。そして、処理セクション２は、処理後の基板Ｗを受け渡しユニットＰＡＳＳに渡す。
【００４１】
インデクサセクション１は、複数のステージＳＴ１〜ＳＴ４と、インデクサロボットＩＲとを含む。
ステージＳＴ１〜ＳＴ４は、複数枚の基板Ｗ（たとえば半導体ウエハ）を積層状態で収容した基板収容器Ｃをそれぞれ保持することができる基板収容器保持部であり、基板待機場所を提供する。基板収容器Ｃは、基板Ｗを密閉した状態で収納するＦＯＵＰ（Front Opening Unified Pod）であってもよいし、ＳＭＩＦ（Standard Mechanical Inter Face）ポッド、ＯＣ（Open Cassette）等であってもよい。たとえば、基板収容器ＣをステージＳＴ１〜ＳＴ４に載置したとき、基板収容器Ｃでは、水平姿勢の複数枚の基板Ｗが互いに間隔を開けて鉛直方向に積層された状態となる。
【００４２】
インデクサロボットＩＲは、たとえば、基台部６と、多関節アーム７と、一対のハンド８Ａ，８Ｂとを含む。基台部６は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム７は、水平面に沿って回動可能な複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム７の基端部は、基台部６に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム７は、基台部６に対して昇降可能に結合されている。換言すれば、基台部６には、多関節アーム７を昇降させるための昇降駆動機構、多関節アーム７を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム７には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム７の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド８Ａ，８Ｂが結合されている。多関節アーム７には、ハンド８Ａ，８Ｂを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド８Ａ，８Ｂを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド８Ａ，８Ｂは、たとえば、１枚の基板Ｗをそれぞれ保持できるように構成されている。なお、ハンド８Ａ，８Ｂは上下に重なった状態で配置されていてもよいが、図１では、明瞭化のために、ハンド８Ａ，８Ｂを紙面に平行な方向（水平方向）にずらして描いてある。
【００４３】
この構成により、インデクサロボットＩＲは、いずれかのステージＳＴ１〜ＳＴ４に保持された基板収容器Ｃから一枚の未処理基板Ｗをハンド８Ａで搬出して受け渡しユニットＰＡＳＳに渡すように動作する。さらに、インデクサロボットＩＲは、受け渡しユニットＰＡＳＳから一枚の処理済み基板Ｗをハンド８Ｂで受け取って、いずれかのステージＳＴ１〜ＳＴ４に保持された基板収容器Ｃに収容するように動作する。
【００４４】
処理セクション２は、複数（この実施形態では１２個）の処理ユニットＭＰＣ１〜ＭＰＣ１２と、主搬送ロボットＣＲと、前述の受け渡しユニットＰＡＳＳとを含む。
処理ユニットＭＰＣ１〜ＭＰＣ１２は、この実施形態では、立体的に配置されている。より具体的には、三層構造をなすように複数の処理ユニットＭＰＣ１〜ＭＰＣ１２が配置されており、各層部分に４つの処理ユニットが配置されている。すなわち、第１層部分に４つの処理ユニットＭＰＣ１，ＭＰＣ４，ＭＰＣ７，ＭＰＣ１０が配置され、第２層部分に別の４つの処理ユニットＭＰＣ２，ＭＰＣ５，ＭＰＣ８，ＭＰＣ１１が配置され、第３層部分にさらに別の処理ユニットＭＰＣ３，ＭＰＣ６，ＭＰＣ９，ＭＰＣ１２が配置されている。
【００４５】
さらに具体的には、平面視において処理セクション２の中央に主搬送ロボットＣＲが配置されており、この主搬送ロボットＣＲとインデクサロボットＩＲとの間に受け渡しユニットＰＡＳＳが配置されている。受け渡しユニットＰＡＳＳを挟んで対向するように、３つの処理ユニットＭＰＣ１〜ＭＰＣ３を積層した第１処理ユニット群Ｇ１と、別の３つの処理ユニットＭＰＣ４〜ＭＰＣ６を積層した第２処理ユニット群Ｇ２とが配置されている。そして、第１処理ユニット群Ｇ１に対してインデクサロボットＩＲから遠い側に隣接するように、３つの処理ユニットＭＰＣ７〜ＭＰＣ９を積層した第３処理ユニット群Ｇ３が配置されている。同様に、第２処理ユニット群Ｇ２に対してインデクサロボットＩＲから遠い側に隣接するように、３つの処理ユニットＭＰＣ１０〜ＭＰＣ１２を積層した第４処理ユニット群Ｇ４が配置されている。第１〜第４処理ユニット群Ｇ１〜Ｇ４によって、主搬送ロボットＣＲが取り囲まれている。
【００４６】
主搬送ロボットＣＲは、たとえば、基台部１１と、多関節アーム１２と、一対のハンド１３Ａ，１３Ｂとを含む。基台部１１は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム１２は、水平面に沿って延びた複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム１２の基端部は基台部１１に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム１２は、基台部１１に対して昇降可能に結合されている。換言すれば、基台部１１には、多関節アーム１２を昇降させるための昇降駆動機構、多関節アーム１２を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム１２には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム１２の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド１３Ａ，１３Ｂが結合されている。多関節アーム１２には、ハンド１３Ａ，１３Ｂを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド１３Ａ，１３Ｂを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド１３Ａ，１３Ｂは、たとえば、１枚の基板Ｗをそれぞれ保持できるように構成されている。なお、ハンド１３Ａ，１３Ｂは上下に重なった状態で配置されていてもよいが、図１では、明瞭化のために、ハンド１３Ａ，１３Ｂを紙面に平行な方向（水平方向）にずらして描いてある。
【００４７】
この構成により、主搬送ロボットＣＲは、受け渡しユニットＰＡＳＳから未処理の一枚の基板Ｗをハンド１３Ａで受け取り、その未処理の基板Ｗをいずれかの処理ユニットＭＰＣ１〜ＭＰＣ１２に搬入する。また、主搬送ロボットＣＲは、処理ユニットＭＰＣ１〜ＭＰＣ１２で処理された処理済みの基板Ｗをハンド１３Ｂで受け取り、その基板Ｗを受け渡しユニットＰＡＳＳに渡す。
【００４８】
処理ユニットＭＰＣ１〜ＭＰＣ１２は、基板Ｗを１枚ずつ処理する枚葉型の処理ユニットである。処理ユニットＭＰＣ１〜ＭＰＣ１２は、たとえば、１枚の基板Ｗを水平姿勢で保持して回転させるスピンチャック１５と、スピンチャック１５に対して処理液（薬液またはリンス液）を供給する処理液ノズル１６とを処理室１７（チャンバ）内に備えた、回転液処理ユニットであってもよい。図２では、処理ユニットＭＰＣ３についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。
【００４９】
薬液キャビネットＣＣ１は、処理ユニットＭＰＣ１〜ＭＰＣ１２に処理液としての薬液を供給する処理液供給ユニットの一例である。この実施形態では、薬液キャビネットＣＣ１は、全ての処理ユニットＭＰＣ１〜ＭＰＣ１２に共通に薬液を供給するように構成されている。ただし、複数の薬液キャビネットを設けて、各薬液キャビネットが別の一つまたは複数の処理ユニットに対して薬液をそれぞれ供給する構成としてもよい。薬液キャビネットＣＣ１は、薬液を貯留するタンク３と、タンク３内の薬液の温度を調節する温度調節ユニット４と、タンク３内の薬液を処理ユニットＭＰＣ１〜ＭＰＣ１２に送り出すポンプ５とを備えている。
【００５０】
図３は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、制御ユニットとしてのコンピュータ２０を備えている。コンピュータ２０は、処理ユニットＭＰＣ１〜ＭＰＣ１２、薬液キャビネットＣＣ１、主搬送ロボットＣＲおよびインデクサロボットを制御する。コンピュータ２０は、パーソナルコンピュータ（ＦＡパソコン）の形態を有していてもよい。コンピュータ２０は、制御部２１と、出入力部２２と、記憶部２３とを備えている。制御部２１は、ＣＰＵ等の演算ユニットを含む。出入力部２２は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部２２は、外部コンピュータであるホストコンピュータ２４との通信のための通信モジュールを含む。記憶部２３は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
【００５１】
制御部２１は、スケジューリング機能部２５（スケジューリング手段）と、処理実行指示部２６（処理実行制御手段）とを含む。スケジューリング機能部２５は、基板Ｗを基板収容器Ｃから搬出し、処理ユニットＭＰＣ１〜ＭＰＣ１２のうちの一つ以上で処理した後、基板収容器Ｃに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画（スケジュール）を作成する。処理実行指示部２６は、スケジューリング機能部２５によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。リソースとは、基板処理装置に備えられ、基板Ｗの処理のために用いられる各種のユニットであり、具体的には、処理ユニットＭＰＣ１〜ＭＰＣ１２、インデクサロボットＩＲ、主搬送ロボットＣＲ、薬液キャビネットＣＣ１およびそれらの構成要素を含む。インデクサロボットＩＲおよび主搬送ロボットＣＲは、基板搬送手段の一例である。
【００５２】
記憶部２３は、制御部２１が実行するプログラム３０と、ホストコンピュータ２４から受信したコントロールジョブデータ（コントロールジョブ情報）４０と、スケジューリング機能部２５によって作成されたスケジュールデータ５０とを含む各種データ等を記憶するように構成されている。コントロールジョブデータ４０は、プロセスジョブデータ（プロセスジョブ情報）４１を含む。
【００５３】
記憶部２３に記憶されたプログラム３０は、制御部２１をスケジューリング機能部２５として作動させるためのスケジュール作成プログラム３１と、制御部２１を処理実行指示部２６として作動させるための処理実行プログラム３２ととを含む。
コントロールジョブデータ４０は、一つの基板収容器Ｃに収容された１枚または複数枚の基板によって定義される処理ロットに付与されたコントロールジョブ（ＣＪ）符号と、一つまたは複数のプロセスジョブデータ４１とを含む。プロセスジョブデータ４１は、各基板Ｗに付与されたプロセスジョブ（ＰＪ）符号と、プロセスジョブ符号に対応付けられたレシピとを含む。
【００５４】
レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、基板種情報、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。基板種情報は、処理対象の基板の種類を表す情報である。基板の種類の具体例は、製品を作り込むために使用される製品基板、処理ユニットのメンテナンス等のために使用され、製品の製造には使用されない非製品基板などである。並行処理ユニット情報とは、使用可能な処理ユニットを指定する処理ユニット指定情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Ｗの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Ｗの処理をさせたくないと考えているとき、などである。使用処理液情報とは、基板処理のために用いる処理液の種類を指定する情報である。具体例は、薬液の種類および薬液の温度を指定する情報である。処理時間情報とは、処理液を供給する継続時間などである。使用処理液情報および処理時間情報は、処理条件情報の例である。
【００５５】
プロセスジョブ（ＰＪ）とは、共通の処理が施されるべき１枚または複数枚の基板Ｗに対して行われる当該処理をいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報（基板群識別情報）である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Ｗには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ符号に対応する基板処理内容（レシピ）が同じである場合もあり得る。たとえば、処理順序（基板収容器Ｃからの払い出し順序）が連続している複数枚の基板Ｗに対して共通の処理が施されるとき、それらの複数枚の基板Ｗに対して共通のプロセスジョブ符号が付与される。
【００５６】
コントロールジョブ（ＣＪ）は、一つの処理ロットに対する処理である。一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。
制御部２１は、各基板収容器Ｃ（ロット）に対応するコントロールジョブデータを、ホストコンピュータ２４から出入力部２２を介して取得し、記憶部２３に記憶させる。それによって、制御部２１は、コントロールジョブデータに含まれているプロセスジョブデータを取得して、記憶部２３に記憶させる。プロセスジョブデータの取得および記憶は、各基板Ｗに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器ＣがステージＳＴ１〜ＳＴ４に保持された直後に、ホストコンピュータ２４から制御部２１に当該基板収容器Ｃに対応するコントロールジョブデータが与えられてもよい。スケジューリング機能部２５は、記憶部２３に格納されたコントロールジョブデータ４０に含まれるプロセスジョブデータ基づいて各プロセスジョブを計画し、その計画を表すスケジュールデータ５０を記憶部２３に格納する。処理実行指示部２６は、記憶部２３に格納されたスケジュールデータ５０に基づいて、インデクサロボットＩＲ、主搬送ロボットＣＲ、処理ユニットＭＰＣ１〜ＭＰＣ１２、および薬液キャビネットＣＣ１を制御することにより、基板処理装置にプロセスジョブを実行させる。
【００５７】
図４〜図７は、スケジューリング機能部２５による処理例を説明するためのフローチャートである。より具体的には、制御部２１（コンピュータ２０）がスケジュール作成プログラム３１を実行することによって、所定の制御周期で繰り返し行われる処理が表されている。換言すれば、スケジュール作成プログラム３１には、図４〜図７に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。
【００５８】
ホストコンピュータ２４は、コントロールジョブデータを制御部２１に与えて、そのコントロールジョブデータ（ＣＪ）に含まれるプロセスジョブデータ（ＰＪ）によって定義されるプロセスジョブの開始を指示する。制御部２１は、そのコントロールジョブデータを受信して（ステップＳ１。コントロールジョブ情報受け付け手段）、そこに含まれるプロセスジョブデータを記憶部２３に格納する（ステップＳ２）。そのプロセスジョブデータを用いて、スケジューリング機能部２５は、プロセスジョブを実行するためのスケジューリングを行う。
【００５９】
スケジューリング機能部２５は、まず、プロセスジョブの処理対象である各基板を処理するための仮タイムテーブルを作成する（ステップＳ３）。たとえば、プロセスジョブデータにおいて或るプロセスジョブ符号に対応付けられたレシピが、処理ユニットＭＰＣ１〜ＭＰＣ１２の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、１２個の処理ユニットＭＰＣ１〜ＭＰＣ１２のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ符号が付与された基板Ｗが処理を受けるときに通る経路は、１２通りである。すなわち、その基板Ｗの処理のために選択し得る経路は、処理ユニットＭＰＣ１〜ＭＰＣ１２のいずれかを通る１２個の経路である。そこで、スケジューリング機能部２５は、その１２個の経路に対応した仮タイムテーブルを各基板に対して作成する。
【００６０】
処理ユニットＭＰＣ１を通る経路に対応した仮タイムテーブルを図８に示す。この仮タイムテーブルは、インデクサロボットＩＲによる基板収容器Ｃからの基板Ｗの搬出（Ｇｅｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの受け渡しユニットＰＡＳＳへの搬入（Ｐｕｔ）を表すブロックと、主搬送ロボットＣＲによる受け渡しユニットＰＡＳＳからの当該基板Ｗの搬出（Ｇｅｔ）を表すブロックと、主搬送ロボットＣＲによる当該基板Ｗの処理ユニットＭＰＣ１への搬入（Ｐｕｔ）を表すブロックと、処理ユニットＭＰＣ１による当該基板Ｗに対する処理を表す処理ブロックと、主搬送ロボットＣＲによる処理ユニットＭＰＣ１からの処理済みの基板Ｗの搬出（Ｇｅｔ）を表すブロックと、主搬送ロボットＣＲによる当該基板Ｗの受け渡しユニットＰＡＳＳへの搬入（Ｐｕｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの受け渡しユニットＰＡＳＳからの搬出（Ｇｅｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの基板収容器Ｃへの搬入（Ｐｕｔ）を表すブロックとを含む。スケジューリング機能部２５は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。さらに、図８の仮タイムテーブルは、処理ブロックが配置された期間中において、薬液キャビネットＣＣ１からの薬液の供給を表す薬液供給ブロックを含む。
【００６１】
スケジューリング機能部２５は、同じ基板Ｗに対して、処理ユニットＭＰＣ２〜ＭＰＣ１２をそれぞれ通る経路に対応した同様の仮タイムテーブル（処理ブロックを処理ユニットＭＰＣ２〜ＭＰＣ１２にそれぞれ配置した仮タイムテーブル）を作成する。こうして、一枚の基板Ｗに対して合計１２経路分の仮タイムテーブルが作成される。
一方、図４に示すように、スケジューリング機能部２５は、プロセスジョブデータに基づいて、プロセスジョブの属性を判別し、その属性を表す属性データを記憶部２３に記憶する（ステップＳ４）。属性とは、処理の種別である。より具体的には、処理対象の基板の種類は、属性の一つの例である。属性の他の例は、基板の処理条件である。より具体的には、プロセスジョブデータ中のレシピで指定された処理液（とくに薬液）の種類、処理液の温度などが基板の処理条件の例である。図８に示す仮タイムテーブルの例では、薬液キャビネットＣＣ１から６０℃に温度調節された薬液の供給がレシピにおいて指定されている場合を示してある。したがって、この例では、６０℃での薬液供給を表す属性データが記憶部２３に格納される。
【００６２】
薬液キャビネットＣＣ１が同時に異なる２つ以上の温度の薬液供給が不可能な構成の場合には、同時には１種類の温度の薬液供給のみが計画可能である。異なる温度の薬液を供給するためには、タンク３（図２参照）内の薬液の温度を変更するための調節が必要である。したがって、異なる温度の薬液供給は、異なる時間に計画される必要がある。より具体的には、薬液温度の変更のための準備工程に要する充分な時間を空けた異なる期間に計画される必要がある。したがって、或る温度の薬液の使用が計画されている期間には、他の温度の薬液を使うプロセスジョブの計画は禁止される。この実施形態では、全ての処理ユニットＭＰＣ１〜ＭＰＣ１２に対して、一つの薬液キャビネットＣＣ１からの薬液が供給されるように構成されており、かつ薬液キャビネットＣＣ１は同時には一種類のみの温度の薬液供給が可能である。そこで、或る温度の薬液の使用がいずれかの処理ユニットに対して計画されると、いずれの処理ユニットにおいても、他の温度の薬液使用の計画は禁止される。
【００６３】
薬液キャビネットＣＣ１は、所定の複数個の処理ユニットへと同時に薬液を供給できるように構成されていてもよい。この場合には、重複した期間に異なる処理ユニットで同じ温度の同種薬液を使用する計画を立てることが許容される。
作成された仮タイムテーブルは、スケジュールデータ５０の一部として記憶部２３に格納される（図４のステップＳ５）。同様の仮タイムテーブルが同じプロセスジョブ符号が付与された基板Ｗの全てに対応して作成される。仮タイムテーブルの作成段階では、別の基板Ｗに関するブロックとの干渉（時間軸上での重なり合い）は考慮されない。
【００６４】
受信済みの全てのプロセスジョブに対して仮タイムテーブルの作成を終えると（ステップＳ６：ＹＥＳ）、スケジューリング機能部２５は、全体スケジューリングを実行する（ステップＳ７）。全体スケジューリングとは、作成された仮タイムテーブルのブロックを、各リソースの他のブロックと重複しないように、時間軸上に配置することである。全体スケジューリングによって作成されたスケジュールデータは記憶部２３に格納される（ステップＳ８）。
【００６５】
新たなコントロールジョブデータが受信された場合に（ステップＳ１：ＹＥＳ）、既にスケジューリング済みでかつ未実行のプロセスジョブが存在するときもあり得る。このような場合には、全体スケジューリング（ステップＳ７）では、それらの未実行のプロセスジョブも含めて、再度、全ての未実行プロセスジョブに対するスケジューリングが実行される。
【００６６】
新たなコントロールジョブデータの受信がなければ（ステップＳ１：ＮＯ）、スケジューリング機能部２５は、再スケジューリングのための割込が発生したかどうかを判断する（ステップＳ９）。割込の発生がなければ（ステップＳ９：ＮＯ）、今制御周期の処理を終える。割込が発生すると（ステップＳ９：ＹＥＳ）、再度、全ての未実行プロセスジョブに対するスケジューリングが実行される（ステップＳ７。割込スケジューリング工程）。再スケジューリングのための割込は、図６および図７を参照して後述する割込判定処理によって、必要な場合に生じる。割込判定処理は、未実行のプロセスジョブの実行順序を計画済みの順序から変更すべき割込実行条件が成立すると、割込を発生する。
【００６７】
図５は、全体スケジューリング（図４のステップＳ７）の詳細を説明するためのフローチャートである。スケジューリング機能部２５は、基板Ｗの仮タイムテーブルを記憶部２３から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
さらに具体的には、スケジューリング機能部２５は、割込が発生したかどうかを判断し（ステップＳ２１）、割込の発生がなければ、未計画のプロセスジョブがあるかどうかを判断する（ステップＳ２２）。「未計画のプロセスジョブ」とは、一度も計画されたことのないプロセスジョブのほか、再スケジューリングのための割込が発生した場合には、当該再スケジューリングにおいて未計画のプロセスジョブも含む。つまり、スケジューリング対象のプロセスジョブのうちで未計画のプロセスジョブである。
【００６８】
全てのプロセスジョブが計画済みであれば（ステップＳ２２：ＮＯ）、今制御周期の処理を終える。未計画のプロセスジョブがあれば（ステップＳ２２：ＹＥＳ）、スケジューリング機能部２５は、受信時間が最も早い未計画のプロセスジョブの１枚の基板Ｗに対応する仮タイムテーブルを読み出す（ステップＳ２３）。スケジューリング機能部２５は、その読み出した仮タイムテーブルに対応する属性が、現在処理実行中のプロセスジョブの属性と共通かどうかを判断する（ステップＳ２４）。より具体的には、基板処理装置において現在実行中のプロセスジョブに用いられている薬液の温度（属性、処理液条件の一例）が、当該仮タイムテーブルに対応するプロセスジョブのレシピで指定されている属性と共通しているかどうかを判断する。この判断は、仮タイムテーブル毎（あるいはプロセスジョブ毎）に記憶部２３に格納されている属性データを用いて行うことができる。現在実行中のプロセスジョブが存在しなければ、ステップＳ２４の判断は否定となる。
【００６９】
現在実行中のプロセスジョブの属性と共通していれば（ステップＳ２４：ＹＥＳ）、スケジューリング機能部２５は、当該仮タイムテーブルを構成する各ブロックを対応するリソースに時間軸上で前詰めに配置する（ステップＳ２７）。すなわち、各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の処理が同じプロセスジョブの全ての基板の仮タイムテーブルについて実行される。
【００７０】
そして、同様の処理が、記憶部２３に格納された未計画のプロセスジョブデータに対して、繰り返される（ステップＳ２２）。
仮タイムテーブルを読み出したプロセスジョブの属性が現在実行中のプロセスジョブの属性と異なる場合には（ステップＳ２４：ＮＯ）、現在実行中のプロセスジョブと属性が共通する未計画のプロセスジョブが存在するかどうかが判断される（ステップＳ２５）。該当するプロセスジョブが存在すれば、当該共通属性のプロセスジョブのうちで受信順序が最先のプロセスジョブの仮タイムテーブルが読み出される（ステップＳ２６）。そして、この仮タイムテーブルに対して、ステップＳ２７の処理が実行される。
【００７１】
一方、共通属性の未計画プロセスジョブが存在しなければ（ステップＳ２５：ＮＯ）、スケジューリング機能部２５は、読み出した仮タイムテーブルのプロセスジョブの属性に基づいて、準備工程が必要かどうかを判断する（ステップＳ２８）。たとえば、薬液キャビネットＣＣ１から供給すべき薬液の温度を変更すべきときには、薬液キャビネットＣＣ１内で薬液の温度を調整するための準備工程が必要である。このような準備工程が必要なときには（ステップＳ２８：ＹＥＳ）、スケジューリング機能部２５は、薬液キャビネットＣＣ１に対して、準備工程を表す準備工程ブロックを配置し（ステップＳ２９）、その後に、ステップＳ２７の処理を実行する。このとき、準備工程よりも前、すなわち、たとえば薬液の温度調節が完了するよりも前に処理ブロックを配置しないように、時間軸上での処理ブロックの配置が調整される。準備工程が必要でないときには（ステップＳ２８：ＮＯ）、準備工程ブロックの配置は省かれる。
【００７２】
割込が発生したときには（ステップＳ２１：ＹＥＳ）、スケジューリング機能部２５は、その割込によって優先的に処理すべきプロセスジョブの仮タイムテーブルを記憶部２３から読み出す。その仮タイムテーブルに対して、ステップＳ２８，Ｓ２９，Ｓ２７の処理が実行される（割込スケジューリング）。
割込が発生することによって、未実行の全てのプロセスジョブについての再スケジューリングが行われる。したがって、割込によって優先処理すべきプロセスジョブ（成立した割込実行条件に応じて選択されるプロセスジョブ）についての計画（ステップＳ２７）の後には、その他の未実行のプロセスジョブが未計画のプロセスジョブとして扱われ（ステップＳ２２：ＹＥＳ）、そのスケジューリングが実行される。
【００７３】
図６は、割込判定処理の一例を説明するためのフローチャートである。制御部２１は、コントロールジョブに含まれる最初のプロセスジョブの実行を指示すると（ステップＳ４１：ＹＥＳ）、当該コントロールジョブのライフ（コントロールジョブライフ）の計測を開始する（ステップＳ４２）。コントロールジョブライフとは、この例では、コントロールジョブの開始からの経過を表す数量である。コントロールジョブライフの一つの具体例は、コントロールジョブを開始してからの経過時間である。コントロールジョブライフの他の例は、コントロールジョブを開始してから基板処理装置によって処理開始（または処理終了）したプロセスジョブの数、コントロールジョブを開始してから基板処理装置によって処理開始（または処理終了）した基板Ｗの数、コントロールジョブを開始してから基板処理装置によって処理開始（または処理終了）したコントロールジョブの数などである。
【００７４】
コントロールジョブライフの計測は、個々のコントロールジョブについてそれぞれ行われる。すなわち、制御部２１は、実行中の全てのコントロールジョブのそれぞれのコントロールジョブライフを計測する。制御部２１は、新たなコントロールジョブが開始されると当該コントロールジョブのコントロールジョブライフの計測を開始する（ステップＳ４２）。また、制御部２１は、いずれかのコントロールジョブが終了すると、そのコントロールジョブのコントロールジョブライフの計測を終了する（ステップＳ４３，Ｓ４４）。
【００７５】
スケジューリング機能部２５は、計測中の全てのコントロールジョブライフを参照し、いずれかのコントロールジョブライフが予め定める閾値に達したかどうか（割込実行条件）を判断する（ステップＳ４５）。いずれのコントロールジョブライフも閾値に達していなければ（ステップＳ４５：ＮＯ）、割込を発生させずに、処理を終える。いずれかのコントロールジョブライフが閾値に達すると、スケジューリング機能部２５は、割込を発生させる（ステップＳ４６）。より具体的には、スケジューリング機能部２５は、コントロールジョブライフが閾値に達したコントロールジョブ中の未実行のプロセスジョブを他のプロセスジョブに優先して割込実行させるための割込を発生させる。
【００７６】
スケジューリング機能部２５は、そのプロセスジョブを優先的に実行するために、作成済みのスケジューリングに対して、当該プロセスジョブを割り込ませるための再スケジューリングを実行する（図４のステップＳ９：ＹＥＳ、図５のステップＳ２１：ＹＥＳ）。この再スケジューリングでは、スケジューリング機能部２５は、その割込対象のプロセスジョブが実行開始済みのプロセスジョブの次に実行されるように、既存のスケジューリングを破棄して、スケジューリングを再度実行する。
【００７７】
このような割込再スケジューリングにより、一つのコントロールジョブの処理開始から終了までに実質的な時間制限を設けることができる。それにより、或るコントロールジョブの最初の基板が処理終了してから基板収容器Ｃ内で長時間待機させられることを回避できる。たとえば、基板収容器Ｃが開閉蓋付の容器（ＦＯＵＰ等）である場合に、開閉蓋が長時間に渡って開状態のままになることを回避できる。それにより、処理済みの基板の表面への悪影響、たとえば自然酸化膜の成長や周囲雰囲気による影響などを抑制できる。さらに、基板収容器Ｃを保持するステージＳＴが長時間にわたって一つの基板収容器Ｃで占有されることを回避でき、次の基板収容器Ｃを投入できるまでの時間を短縮できる。
【００７８】
図７は、割込判定処理の他の例を説明するためのフローチャートである。この例では、制御部２１は、新たな属性を指定したレシピを有するプロセスジョブが実行開始されると（ステップＳ５１：ＹＥＳ）、当該属性のライフ（属性ライフ）を計測する。属性ライフとは、この例では、或る属性による処理開始（換言すれば属性の切替え）からの経過を表す数量である。属性ライフの一つの具体例は、新たな属性による処理開始してからの経過時間である。属性ライフの他の例は、新たな属性による処理を開始してから基板処理装置によって処理開始（または処理終了）したプロセスジョブの数、新たな属性による処理を開始してから基板処理装置によって処理開始（または処理終了）した基板Ｗの数、新たな属性による処理を開始してから基板処理装置によって処理開始（または処理終了）したコントロールジョブの数などである。
【００７９】
複数の属性が定義される場合には、属性ライフの計測は、個々の属性についてそれぞれ行われる。すなわち、制御部２１は、基板処理のために現に適用されている属性のそれぞれの属性ライフを計測する。制御部２１は、新たな属性による処理が開始されると当該属性の計測を開始する（ステップＳ５２）。また、制御部２１は、いずれかの属性の適用が終了すると、その属性の属性ライフの計測を終了する（ステップＳ５３，Ｓ５４）。
【００８０】
スケジューリング機能部２５は、計測中の全ての属性ライフを参照し、いずれかの属性ライフが予め定める閾値に達したかどうか（割込実行条件）を判断する（ステップＳ５５）。いずれの属性ライフも閾値に達していなければ（ステップＳ５５：ＮＯ）、割込を発生させずに、処理を終える。いずれかの属性ライフが閾値に達すると、スケジューリング機能部２５は、割込を発生させる（ステップＳ５６）。より具体的には、スケジューリング機能部２５は、属性ライフが閾値に達した属性とは異なる属性が指定された未実行のプロセスジョブを優先して割込実行させるための割込を発生させる。
【００８１】
スケジューリング機能部２５は、そのプロセスジョブを優先的に実行するために、作成済みのスケジューリングに対して、当該プロセスジョブを割り込ませるための再スケジューリングを実行する（図４のステップＳ９：ＹＥＳ、図５のステップＳ２１：ＹＥＳ）。この再スケジューリングでは、スケジューリング機能部２５は、その割込対象のプロセスジョブが実行開始済みのプロセスジョブの次に実行されるように、既存のスケジューリングを破棄して、スケジューリングを再度実行する。
【００８２】
たとえば、薬液の種類が属性の一つである場合に、同じ薬液を繰り返し循環使用すると、薬液の品質が劣化し、基板処理に影響を及ぼすおそれがある。そこで、或る種類の薬液について使用開始からのライフ（たとえば処理した基板枚数）を計測し、そのライフが閾値に達した時点で別の種類の薬液を指定したプロセスジョブを優先実行する一方で、ライフが閾値に達した薬液を交換する措置をとることができる。
【００８３】
図６および図７の割込判定処理は、いずれか一方のみが行われてもよいし、両方が行われてもよい。また、さらに別の観点から再スケジューリングの契機を提供する割込判定処理が行われてもよい。
図９は、ホストコンピュータ２４からコンピュータ２０に入力されるコントロールジョブデータの一例を示す。この例では、３つのコントロールジョブＣＪ１，ＣＪ２，ＣＪ３に対応するコントロールジョブデータが、この順序でコンピュータ２０に与えられた場合を想定している。
【００８４】
コンピュータ２０は、ホストコンピュータ２４からコントロールジョブデータが与えられると、受信した順にコントロールジョブに符号ＣＪ１，ＣＪ２，ＣＪ３を与えて管理する。この例では、コントロールジョブＣＪ１は複数のプロセスジョブＰＪ１１，ＰＪ１２，ＰＪ１３を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブＣＪ１のデータ（コントロールジョブデータ）は、複数のプロセスジョブＰＪ１１〜ＰＪ１３を表すプロセスジョブデータを含む。また、コントロールジョブＣＪ２は複数のプロセスジョブＰＪ２１，ＰＪ２２，ＰＪ２３を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブＣＪ２のデータ（コントロールジョブデータ）は、複数のプロセスジョブＰＪ２１〜ＰＪ２３を表すプロセスジョブデータを含む。コントロールジョブＣＪ３は複数のプロセスジョブＰＪ３１，ＰＪ３２，ＰＪ３３を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブＣＪ３のデータ（コントロールジョブデータ）は、複数のプロセスジョブＰＪ３１〜ＰＪ３３を表すプロセスジョブデータを含む。コンピュータ２０は、受信したコントロールジョブに含まれるプロセスジョブに対して、重複しないように符号ＰＪ１１，ＰＪ１２，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３１，ＰＪ３２，ＰＪ３３を与えて管理する。
【００８５】
各プロセスジョブを表すプロセスジョブデータは、基板処理条件を表すレシピを規定するレシピデータを含む。レシピデータは、使用可能な処理ユニット、処理ユニットにおける具体的な処理手順、および各処理手順において使用する処理液（とくに薬液）に関する指示（処理液条件）を含む。処理液に関する指示は、この実施形態では、薬液の種類および／または温度を指定する薬液レシピデータを含む。プロセスジョブデータは、さらに、搬送オプションデータを含んでいてもよい。搬送オプションデータは、たとえば、基板搬送時に使用するロボットのハンドを設定するためのハンド設定データを含む。プロセスジョブデータは、さらに、前後処理スキップの設定データを含んでいてもよい。前後処理スキップとは、直前に実行されるプロセスジョブのレシピと同じレシピがプロセスジョブデータにおいて指定されているときに、前後処理を省くことをいう。前後処理とは、レシピの異なるプロセスジョブの間で必要に応じて実行される準備処理をいう。
【００８６】
図９の例では、プロセスジョブＰＪ１１，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３２，ＰＪ３３に対して薬液レシピＣ１（第１処理液条件）が指定されており、プロセスジョブＰＪ１２；ＰＪ３１に対して薬液レシピＣ２（第２処理液条件）が指定されている。たとえば、薬液レシピＣ１は、第１の温度（たとえば６０℃）の薬液の使用を指定し、それに応じて、薬液キャビネットＣＣ１は、第１の温度の薬液を供給するように制御される。また、薬液レシピＣ２は、第１の温度とは異なる第２の温度（たとえば８０℃）の薬液の使用を指定し、それに応じて、薬液キャビネットＣＣ１は、第２の温度の薬液を供給するように制御される。薬液キャビネットＣＣ１から供給される薬液の温度の切替えは、瞬時に行うことはできない。すなわち、薬液キャビネットＣＣ１内で温度調整のための準備工程が必要であり、薬液温度を変更し、変更後の温度で安定した薬液を供給するには、相応の時間を要する。
【００８７】
説明を簡単にするために、プロセスジョブＰＪ１１，ＰＪ１２，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３１，ＰＪ３２，ＰＪ３３のレシピデータが、いずれも、一つの処理ユニットＭＰＣ１での処理を指定している場合を想定する。
図１０Ａは薬液レシピＣ１が指定されたプロセスジョブＰＪ１１，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３２，ＰＪ３３の各基板に対して作成される仮タイムテーブルを示し、図１０Ｂは薬液レシピＣ２が指定されたプロセスジョブＰＪ１２；ＰＪ３１の各基板に対して作成される仮タイムテーブルを示す。
【００８８】
スケジューリング機能部２５は、全てのプロセスジョブＰＪ１１，ＰＪ１２，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３１，ＰＪ３２，ＰＪ３３に対応する仮タイムテーブルをそれぞれ作成する。
想定している例では、プロセスジョブＰＪ１１，ＰＪ１２，ＰＪ１３；ＰＪ２１，ＰＪ２２，ＰＪ２３；ＰＪ３１，ＰＪ３２，ＰＪ３３のレシピデータが、いずれも、一つの処理ユニットＭＰＣ１での処理を指定しているので、一つの処理ユニットＭＰＣ１での処理を指定して基板に対する処理を行うための仮タイムテーブルが作成される。すなわち、処理ユニットＭＰＣ１に処理ブロックをそれぞれ配置した仮タイムテーブルが作成される。処理ブロックは、基板処理のために当該処理ユニットが占有されることを表す。もしも、或るプロセスジョブのレシピが複数の処理ユニットでの並行処理を許容している場合には、当該許容された複数の処理ユニットにそれぞれ処理ブロックを配置した複数の仮タイムテーブルが作成される。
【００８９】
また、処理ユニットＭＰＣ１に配置された処理ブロックの期間中において、薬液キャビネットＣＣ１から薬液を供給すべき期間には、薬液キャビネットＣＣ１に対応して薬液供給ブロックが配置される。薬液供給ブロックは、薬液キャビネットＣＣ１が薬液供給のために使用されることを表す。図１０Ａの仮タイムテーブルでは、薬液レシピＣ１に従って第１の温度（たとえば６０℃）の薬液供給を指定する薬液供給ブロックが配置されており、図１０Ｂの仮タイムテーブルでは、薬液レシピＣ２に従って第２の温度（たとえば８０℃）の薬液供給を指定する薬液供給ブロックが配置されている。
【００９０】
図１１は、最初に受信したコントロールジョブＣＪ１の最初のプロセスジョブＰＪ１１の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
スケジューリング機能部２５は、まず、プロセスジョブＰＪ１１の仮タイムテーブルから取得されたブロックを対応するリソースのスペースに時間軸上において最も早い位置に（すなわち前詰めで）順に配置していく。このとき、スケジューリング機能部２５は、同一のリソースのスペースでブロックが重なり合わないように各ブロックを配置する。プロセスジョブＰＪ１１は、たとえば１枚の基板に対する処理を処理ユニットＭＰＣ１で行うべきことを指定する処理である。そこで、スケジューリング機能部２５は、処理ブロックを処理ユニットＭＰＣ１に対応するように配置する。
【００９１】
また、プロセスジョブＰＪ１１の薬液レシピＣ１は、第１の温度（たとえば６０℃）の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットＣＣ１に対応付けて薬液供給ブロック（６０℃）が配置される。プロセスジョブＰＪ１１の直前に薬液レシピＣ１を指定した別のプロセスジョブが実行または計画されていない場合には、薬液供給ブロック（６０℃）の前には、薬液レシピＣ１に対応した薬液温度調整のための準備工程ブロックが配置される。こうして、プロセスジョブＰＪ１１に対するスケジューリングを終える。
【００９２】
もしも、プロセスジョブＰＪ１１が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＭＰＣ１での処理が繰り返し計画される。プロセスジョブＰＪ１１が複数の処理ユニットでの並行処理を許容している場合には、処理ブロックがより早い時刻に配置できるように、当該許容された複数の処理ユニットのいずれかを用いる仮タイムテーブルが選択される。
【００９３】
次に、スケジューリング機能部２５は、コントロールジョブＣＪ１のデータ中においてプロセスジョブＰＪ１１の次に記述されたプロセスジョブＰＪ１２に対するスケジューリングを開始する。ところが、プロセスジョブＰＪ１２のレシピデータは、第２温度（たとえば８０℃）の薬液の使用を指定する薬液レシピＣ２を含み、この薬液レシピＣ１は、直前に計画したプロセスジョブＰＪ１１の薬液レシピＣ１とは異なる。そこで、スケジューリング機能部２５は、プロセスジョブＰＪ１２の計画を保留する。
【００９４】
次に、図１２に示すように、スケジューリング機能部２５は、プロセスジョブＰＪ１２の処理スケジューリングを保留した状態で、コントロールジョブＣＪ１においてプロセスジョブＰＪ１２の次に情報（プロセスジョブデータ）が記述されているプロセスジョブＰＪ１３に対するスケジューリングを行う。プロセスジョブＰＪ１３のレシピは、プロセスジョブＰＪ１１と同じ薬液レシピＣ１を指定しているので、直前に計画済みのプロセスジョブＰＪ１１の処理条件（薬液温度）と計画中のプロセスジョブＰＪ１３の処理条件（薬液温度）とが同じである。
【００９５】
そこで、スケジューリング機能部２５は、プロセスジョブＰＪ１３の仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、処理ブロックが処理ユニットＭＰＣ１に配置される。また、プロセスジョブＰＪ１３は、６０℃の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットＣＣ１に対応付けて薬液供給ブロックが配置される。こうして、プロセスジョブＰＪ１３に対するスケジューリングを終える。
【００９６】
もしも、プロセスジョブＰＪ１３が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＭＰＣ１での処理が繰り返し計画される。
以下、同様にして、プロセスジョブがスケジューリングされていく。
図１３は、第１の比較例に係るスケジューリングを示す。説明を簡単にするために、図１３では、処理ブロック、薬液供給ブロックおよび準備工程ブロックのみを示す。準備工程ブロックとは、薬液レシピを実行するために必要な準備工程を指示するためのブロックである。より具体的には、薬液レシピＣ１の実行に先立って、薬液キャビネットＣＣ１内では、薬液を第１の温度（たとえば６０℃）に調整するための準備工程が行われる。同様に、薬液レシピＣ２の実行に先立って、薬液キャビネットＣＣ１内では、薬液を第２の温度（たとえば８０℃）に調整するための準備工程が行われる。薬液の温度が調整済みであれば、準備工程を計画する必要はない。
【００９７】
最初のプロセスジョブＰＪ１１のレシピは、薬液レシピＣ１を指定しているので、対応する処理ブロックよりも前（より正確には、薬液供給ブロックよりも前）に、準備工程ブロックが配置される。この準備工程ブロックは、薬液レシピＣ１（第１の温度の薬液供給）を実行するための準備工程を指示する。プロセスジョブＰＪ１１の次には、同じ薬液レシピＣ１を指定するプロセスジョブＰＪ１３の実行が計画されるので、対応する処理ブロックに先立って準備工程を実行する必要がなく、したがって、準備工程ブロックは配置されない。
【００９８】
この比較例では、プロセスジョブの順序の入れ替えは、一つのコントロールジョブの範囲内においてのみ許容されている。したがって、プロセスジョブＰＪ１３の次に、プロセスジョブＰＪ１２の実行が計画されている。プロセスジョブＰＪ１２のレシピは、薬液レシピＣ２（第２の温度の薬液供給）を指定しているので、対応する処理ブロックよりも前に準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットＣＣ１において、第２の温度に薬液の温度調整を行わせるためのブロックである。
【００９９】
こうして、コントロールジョブＣＪ１の全てのプロセスジョブＰＪ１１〜ＰＪ１３の計画を終えると、次のコントロールジョブＣＪ２が計画される。コントロールジョブＣＪ２に含まれるプロセスジョブＰＪ２１〜ＰＪ２３のレシピは、いずれも薬液レシピＣ１（第１の温度の薬液供給）を指定しているので、最初のプロセスジョブＰＪ２１に対応する処理ブロックよりも前に、準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットＣＣ１において、第１の温度に薬液の温度調整を行わせるためのブロックである。コントロールジョブＣＪ１を構成する他のプロセスジョブＰＪ２２，ＰＪ２３のレシピは、いずれも薬液レシピＣ１を指定しているので、これらの処理ブロックが処理ユニットＭＰＣ１に対して順に配置され、それらの処理ブロックと先の処理ブロックとの間には準備工程ブロックは配置されない。
【０１００】
こうして、コントロールジョブＣＪ２の全てのプロセスジョブＰＪ２１〜ＰＪ２３の計画を終えると、次のコントロールジョブＣＪ３が計画される。コントロールジョブＣＪ２を後回しにして、コントロールジョブＣＪ１の次にコントロールジョブＣＪ３が計画されることはない。
コントロールジョブＣＪ３は、直前に計画済みのプロセスジョブＰＪ２３のレシピと同じ薬液レシピＣ１を指定するプロセスジョブＰＪ３２，ＰＪ３３を含む。そこで、プロセスジョブＰＪ３１よりも前に、プロセスジョブＰＪ３２，ＰＪ３３が順に計画され、その後に、薬液レシピＣ２（第２の温度の薬液）を指定するプロセスジョブＰＪ３１が計画される。それにより、プロセスジョブＰＪ２３，ＰＪ３２の処理ブロックの間に準備工程ブロックを配置する必要がなくなる。プロセスジョブＰＪ３３とＰＪ３１との間には、準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットＣＣ１において、第２の温度に薬液の温度を調整するための準備工程を指示するブロックである。
【０１０１】
図１４は、第２の比較例に係るスケジューリングを示す。この第２の比較例では、コントロールジョブＣＪ１，ＣＪ２，ＣＪ３が、この順序で計画されており、かつ各コントロールジョブに含まれるプロセスジョブが記述された順序で計画されている。その結果、プロセスジョブＰＪ１１の処理ブロックの前、プロセスジョブＰＪ１１，ＰＪ１２の処理ブロック間、プロセスジョブＰＪ１２，ＰＪ１３の処理ブロック間、プロセスジョブＰＪ２３，ＰＪ３１の処理ブロック間、プロセスジョブＰＪ３１，ＰＪ３２の処理ブロック間に、それぞれ準備工程ブロックが配置されている。したがって、合計で５回の準備工程が実行される。これに対して、図１３に示す第１の比較例では、合計で４回の準備工程が実行される。したがって、第１の比較例の方が準備工程の回数が少ないので、全体の基板処理時間が短く、生産性が高い。
【０１０２】
図１５は、この発明の一実施形態におけるスケジューリング例（実施例）を示す。この実施形態では、コントロールジョブＣＪ１，ＣＪ２，ＣＪ３が、それらの受信順序で実行される必要がなく、コントロールジョブの範囲を超えて、プロセスジョブの実行順序を入れ替えることが許容される。すなわち、受信済みのプロセスジョブは、直前に計画されたプロセスジョブが指定する薬液レシピと同じ薬液レシピを指定するプロセスジョブが連続するように順序を入れ替えて計画される。
【０１０３】
つまり、プロセスジョブＰＪ１１，ＰＪ１３，ＰＪ２１，ＰＪ２２，ＰＪ２３，ＰＪ３２，ＰＪ３３，ＰＪ１２，ＰＪ３１の順序で計画される。その結果、プロセスジョブＰＪ１１の処理ブロックの前、プロセスジョブＰＪ３３，ＰＪ１２の処理ブロック間に、それぞれ準備工程ブロックが配置されている。したがって、準備工程は２回実行されるに過ぎないので、第１および第２の比較例よりも、全体の基板処理時間が短く、生産性が高い。
【０１０４】
図１６Ａ〜図１６Ｄは、この発明の一実施形態におけるスケジューリングの他の例（実施例）を示す。このスケジューリング例では、コントロールジョブの実行開始からの経過時間（コントロールジョブライフの一例）に基づく割込スケジューリングが実行されている。
図１５のスケジューリング例では、コントロールジョブＣＪ１の中で最初に実行されるプロセスジョブＰＪ１１の実行開始から、最後に実行されるプロセスジョブＰＪ１２の開始までに長時間を要し、それまでに、経過時間（コントロールジョブライフ）が閾値に達するおそれがある。それにより、プロセスジョブＰＪ１１に対応した基板は、処理を終了して基板収容器Ｃに収容された後、最後のプロセスジョブＰＪ１２の全ての基板が当該基板収容器Ｃに収容されるまで、長時間に渡って待機状態となる。たとえば、基板収容器Ｃが開閉蓋を備えている場合に、開閉蓋が長時間に渡って開放状態となり、基板収容器Ｃ内の基板が周囲の雰囲気に長時間に渡ってさらされる。図１６Ａ〜図１６Ｄのスケジューリング例は、このような課題を解決している。
【０１０５】
このスケジューリング例は、コントロールジョブＣＪ１，ＣＪ２，ＣＪ３が、時刻ｔ１，ｔ２，ｔ３にそれぞれ受信される場合を想定している。
時刻ｔ１にコントロールジョブＣＪ１が受信されると、スケジューリング機能部２５は、プロセスジョブＰＪ１１，ＰＪ１２，ＰＪ１３の実行を計画し、処理実行指示部２６はその計画を即時に実行する。この時点では、コントロールジョブＣＪ２，ＣＪ３は、未受信である。直前にいずれのプロセスジョブも計画されていない場合、スケジューリング機能部２５は、コントロールジョブＣＪ１の最初のプロセスジョブＰＪ１１を計画する。スケジューリング機能部２５は、図１６Ａに示すように、プロセスジョブＰＪ１１の処理ブロックよりも前（より正確には、薬液供給ブロックよりも前）に、薬液レシピＣ１のための準備工程ブロックを配置する。スケジューリング機能部２５は、プロセスジョブＰＪ１１の次に、共通の薬液レシピＣ１を指定するプロセスジョブＰＪ１３の実行を計画し、その後に、プロセスジョブＰＪ１２の実行を計画する。プロセスジョブＰＪ１３の処理ブロックとプロセスジョブＰＪ１２の処理ブロックとの間には、薬液レシピＣ２のための準備工程ブロックが配置される。
【０１０６】
プロセスジョブＰＪ１１を実行開始した後であって、プロセスジョブＰＪ１３の実行を開始する前の時刻ｔ２に別のコントロールジョブＣＪ２が受信されると、スケジューリング機能部２５は、その時点で未実行のプロセスジョブＰＪ１３，ＰＪ１２およびＰＪ２１，ＰＪ２２，ＰＪ２３についてのスケジューリングを実行し、処理実行指示部２６はその計画を即時に実行する。すなわち、再スケジューリングを行い、その再スケジューリングによる処理が実行される。
【０１０７】
図１６Ｂに示すように、スケジューリング機能部２５は、実行中のプロセスジョブＰＪ１１と共通の薬液レシピＣ１を指定するプロセスジョブＰＪ１３，ＰＪ２１，ＰＪ２２，ＰＪ２３を順に実行し、その後に、薬液レシピＣ２のための準備工程を経て、プロセスジョブＰＪ１２を実行するようにスケジューリングを行う。
この計画に従って処理を実行している間に、図１６Ｃに示すように、プロセスジョブＰＪ２２を実行開始し、プロセスジョブＰＪ２３の実行を開始する前の時刻ｔ１１に、コントロールジョブＣＪ１の実行開始からの経過時間（コントロールジョブライフ）が閾値に到達したとする。すると、スケジューリング機能部２５は、コントロールジョブＣＪ１のうち未実行のプロセスジョブＰＪ１２の割込実行を計画する。
【０１０８】
より具体的には、スケジューリング機能部２５は、直前に実行開始したプロセスジョブＰＪ２２に続いて、プロセスジョブＰＪ１２を実行するように再スケジューリングを行う。プロセスジョブＰＪ１２は、薬液レシピＣ２を指定しているので、プロセスジョブＰＪ２の処理ブロックの前に薬液レシピＣ２のための準備工程ブロックが配置される。時刻ｔ１１の時点では、プロセスジョブＰＪ１２の他に薬液レシピＣ２を指定するプロセスジョブを受信していないので、スケジューリング機能部２５は、プロセスジョブＰＪ１２の次に残りのプロセスジョブＰＪ２３の実行を計画する。プロセスジョブＰＪ２３の処理ブロックの前には、薬液レシピＣ１のための準備工程ブロックが配置される。
【０１０９】
このように再スケジューリングがされた後、図１６Ｄに示すように、プロセスジョブＰＪ１２の実行開始後であって、準備工程の実行開始前の時刻ｔ３に、コントロールジョブＣＪ３が受信される。すると、スケジューリング機能部２５は、時刻ｔ３の時点で未開始のプロセスジョブＰＪ２３，ＰＪ３１，ＰＪ３２，ＰＪ３３についての再スケジューリングを行う。その結果、実行中のプロセスジョブＰＪ１２と共通の薬液レシピＣ２を指定するプロセスジョブＰＪ３１の実行が計画され、その後に薬液レシピＣ１に切り替えるための準備工程が計画され、さらに、薬液レシピＣ１を指定するプロセスジョブＰＪ２３，ＰＪ３２，ＰＪ３３を順に実行する計画が策定される。
【０１１０】
このように、スケジューリング機能部２５は、コントロールジョブデータが受信されるたびに再スケジューリングを行って準備工程の回数を最小限とする。さらに、スケジューリング機能部２５は、各コントロールジョブの最初のプロセスジョブの実行からの経過時間等のライフを計測し、そのライフが閾値に達すると、当該コントロールジョブの未実行のプロセスジョブを割込実行させるための再スケジューリングを行う。
【０１１１】
以上のように、この実施形態によれば、コントロールジョブＣＪ１に含まれる全てのプロセスジョブＰＪ１１〜ＰＪ１３が完了する前に、別のコントロールジョブＣＪ２に含まれるプロセスジョブＰＪ２１等が実行される。すなわち、コントロールジョブＣＪ１に含まれるプロセスジョブＰＪ１１，ＰＪ１３と共通属性の薬液レシピＣ１が指定されたプロセスジョブＰＪ２１〜ＰＪ２３がコントロールジョブＣＪ２に含まれているので、コントロールジョブの枠を超えて、プロセスジョブの順序が入れ替えられる。これにより、共通属性の薬液レシピＣ１が指定されたプロセスジョブをまとめて（連続して）実行できるので、薬液レシピの切り替わり回数を減らすことができ、それに応じて準備工程の回数を削減できる。それにより、生産効率の高い基板処理を実現できる。
【０１１２】
一方、所定の割込実行条件が充足されると（図６のステップＳ４５、図７のステップＳ５５）、未実行のプロセスジョブの計画を変更して、割込実行条件に対応したプロセスジョブを優先的に実行させる。それにより、コントロールジョブの枠を超えたプロセスジョブの入れ替えに伴って不都合が生じる場合には、そのような不都合を回避または解消できる。それにより、適切な基板処理を確保しながら、生産効率の向上を図ることができる。具体的には、一つのコントロールジョブの処理開始から終了までに実質的な時間制限を設けることができる（図６参照）。それにより、或るコントロールジョブの最初の基板が処理終了してから基板収容器Ｃ内で長時間待機させられることを回避できる。たとえば、基板収容器Ｃが開閉蓋付の容器（ＦＯＵＰ等）である場合に、開閉蓋が長時間に渡って開状態のままになることを回避できる。それにより、処理済みの基板の表面への悪影響、たとえば自然酸化膜の成長や周囲雰囲気による影響などを抑制できる。さらに、基板収容器Ｃを保持するステージＳＴが長時間にわたって一つの基板収容器Ｃで占有されることを回避でき、次の基板収容器Ｃを投入できるまでの時間を短縮できる。また、薬液の継続使用に対して制限を設けることができる（図７参照）。同じ薬液を繰り返し循環使用すると、薬液の品質が劣化し、基板処理に影響を及ぼすおそれがある。そこで、或る種類の薬液について使用開始からのライフ（たとえば処理した基板枚数）を計測し、そのライフが閾値に達した時点で別の種類の薬液を指定したプロセスジョブを優先実行する一方で、ライフが閾値に達した薬液を交換する措置をとることができる。
【０１１３】
さらに、このような割込スケジューリングが行われると、割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行が計画される。それにより、これにより、割込実行の計画を許容しながら、属性の切り替わりを抑制できる。したがって、割込実行によって適切な基板処理を確保しながら、処理効率の向上を図ることができる。
【０１１４】
割込実行条件は、出入力部２２（図３参照）の一例である操作装置を用いて、使用者が入力して指定できるようになっていてもよい。コンピュータ２０は、このような入力を受け付けて、割込実行条件を監視し、条件が充足されると、割込スケジューリングを実行する。それにより、使用者の要求に対応しながら、基板処理装置の処理効率を向上できる。
以上、この発明の一実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態では、レシピによって規定される属性の例として、主として処理液の温度を例に説明したが、前述のとおり、処理液の種類についても、その変更に際して準備工程が必要な属性の例である。これらの例に限らず、開始または変更に際して準備が必要な属性がレシピで指定されている場合には、その属性が可能な限り連続するようにコントロールジョブの枠を越えてプロセスジョブの実行順序を入れ替えることにより、基板処理装置の生産効率を向上できる。
【０１１５】
また、前述の実施形態では、一つの薬液キャビネットＣＣ１が備えられている構成について説明したが、２つ以上の薬液キャビネットが備えられていてもよい。
また、前述の実施形態では、処理セクション２に１台の主搬送ロボットＣＲが備えられている構成について説明したが、２台以上の主搬送ロボットが備えられていてもよい。それらの２台以上の主搬送ロボットは、それぞれがインデクサロボットＩＲとの間で直接的に（他の主搬送ロボットを介さずに）基板Ｗの受け渡しを行うように配置されていてもよい。また、２台以上の主搬送ロボットのうちの少なくとも一台が、他の主搬送ロボットを介してインデクサロボットＩＲとの間で基板Ｗをやりとりするように配置されていてもよい。
【０１１６】
また、前述の実施形態における処理ユニットＭＰＣ１〜ＭＰＣ１２の配置および数についても一例に過ぎず、配置および数の変更が可能であることはもちろんである。むろん、複数の処理ユニットは、同種の処理ユニットであってもよいし、異なる種類の処理ユニットを含んでいてもよい。
また、前述の実施形態では、主として、ホストコンピュータ２４からコントロールジョブデータが与えられる場合について説明したが、使用者が操作する操作装置（出入力部２２の一例）からの指示によってコントロールジョブデータが制御部２１に与えられてもよい。
【０１１７】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１１８】
１          ：インデクサセクション
２          ：処理セクション
３          ：タンク
４          ：温度調節ユニット
５          ：ポンプ
１５        ：スピンチャック
１６        ：処理液ノズル
１７        ：処理室
２０        ：コンピュータ
２１        ：制御部
２２        ：出入力部
２３        ：記憶部
２４        ：ホストコンピュータ
２５        ：スケジューリング機能部
２６        ：処理実行指示部
３０        ：プログラム
３１        ：スケジュール作成プログラム
３２        ：処理実行プログラム
４０        ：コントロールジョブデータ
４１        ：プロセスジョブデータ
５０        ：スケジュールデータ
Ｃ          ：基板収容器
Ｃ１，Ｃ２  ：薬液レシピ
ＣＣ１      ：薬液キャビネット
ＣＪ１〜ＣＪ３：コントロールジョブ
ＣＲ        ：主搬送ロボット
Ｇ１〜Ｇ４  ：処理ユニット群
ＩＲ        ：インデクサロボット
ＭＰＣ１〜ＭＰＣ１２：処理ユニット
ＰＡＳＳ    ：受け渡しユニット
ＰＪ１１〜ＰＪ１３：プロセスジョブ
ＰＪ２１〜ＰＪ２３：プロセスジョブ
ＰＪ３１〜ＰＪ３３：プロセスジョブ
ＳＴ１〜ＳＴ４：ステージ
Ｗ          ：基板
【図１】
2018195145.tif 000003
【図２】
2018195145.tif 000004
【図３】
2018195145.tif 000005
【図４】
2018195145.tif 000006
【図５】
2018195145.tif 000007
【図６】
2018195145.tif 000008
【図７】
2018195145.tif 000009
【図８】
2018195145.tif 000010
【図９】
2018195145.tif 000011
【図１０】
2018195145.tif 000012
【図１１】
2018195145.tif 000013
【図１２】
2018195145.tif 000014
【図１３】
2018195145.tif 000015
【図１４】
2018195145.tif 000016
【図１５】
2018195145.tif 000017
【図１６】
2018195145.tif 000018