JP7112836B2 - 基板処理方法および基板処理装置 - Google Patents

基板処理方法および基板処理装置 Download PDF

Info

Publication number
JP7112836B2
JP7112836B2 JP2017099307A JP2017099307A JP7112836B2 JP 7112836 B2 JP7112836 B2 JP 7112836B2 JP 2017099307 A JP2017099307 A JP 2017099307A JP 2017099307 A JP2017099307 A JP 2017099307A JP 7112836 B2 JP7112836 B2 JP 7112836B2
Authority
JP
Japan
Prior art keywords
job
processing
recipe
substrate
scheduling
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
JP2017099307A
Other languages
English (en)
Other versions
JP2018195145A (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 JP2017099307A priority Critical patent/JP7112836B2/ja
Publication of JP2018195145A publication Critical patent/JP2018195145A/ja
Priority to JP2021130904A priority patent/JP2021182433A/ja
Application granted granted Critical
Publication of JP7112836B2 publication Critical patent/JP7112836B2/ja
Priority to JP2023177145A priority patent/JP2023182772A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Description

この発明は、基板を処理するための基板処理装置および基板処理方法に関する。
特許文献1は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を規定するスケジュールを作成する方法を開示している。基板の処理を規定するプロセスジョブ情報がホストコンピュータから入力され、入力された順序でプロセスジョブ情報に対応するスケジュールが作成される。その作成されたスケジュールに従って、基板が処理ユニットに搬送され、処理ユニットにおいて基板に対する処理が実行され、処理後の基板が処理ユニットから搬出される。プロセスジョブは、1枚または複数枚の基板に対する処理である。
特許文献1は、さらに、基板種や薬液温度といったカテゴリが共通するプロセスジョブが連続するようにプロセスジョブの実行順序をスケジュールする構成を開示している。
特開2016-139667号公報
基板処理装置には、基板を収容した基板収容器がセットされる。基板処理装置は、その基板収容器から基板を取り出して処理し、その基板収容器に処理後の基板を収容するように動作する。基板収容器は、複数枚(たとえば25枚)の基板を収容可能である。一つの基板収容器に収容された1枚以上の基板は処理ロットを構成する。この処理ロットに対する処理を規定する情報は、たとえばコントロールジョブ情報と呼ばれる。このコントロールジョブ情報は、1または複数のプロセスジョブ情報を含む。換言すれば、処理ロットに対する処理がコントロールジョブであり、一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。
基板処理装置は、複数個の基板収容器をそれぞれセット可能な複数の収容器保持部を備える場合がある。この場合、複数の処理ロットに対する処理を基板処理装置に対して予約することができる。より具体的には、複数の処理ロットに対応する複数のコントロールジョブ情報がホストコンピュータから基板処理装置に入力される。特許文献1に従ってプロセスジョブの順序が変更される場合であっても、コントロールジョブの範囲を超えてプロセスジョブの順序が入れ替えられることはない。それにより、処理ロットが順次処理されることを保証し、一つの処理ロットの処理開始から処理終了までの時間が一定限度を超えないようになっている。
しかし、このような制限のために、生産性の向上が妨げられる場合がある。たとえば、第1のコントロールジョブが、第1カテゴリの第1プロセスジョブと、第2カテゴリの第2プロセスジョブを含み、第2のコントロールジョブが第1カテゴリの第3プロセスジョブを含む場合を想定する。コントロールジョブの範囲内でのみプロセスジョブの順序変更が可能であるとすれば、第1プロセスジョブ、第2プロセスジョブおよび第3プロセスジョブの順に処理が実行される。すると、第1および第2プロセスジョブの間で第1カテゴリから第2カテゴリへの変更のための準備工程が行われ、第2および第3プロセスジョブの間で第2カテゴリから第1カテゴリへの変更のための準備工程が行われる。したがって、第1カテゴリから第2カテゴリに変更し、再度、第1カテゴリに戻す処理が行われ、そのために、2回の準備工程が必要となる。このように、準備工程の回数が多くなるため、基板処理装置の生産効率の向上が妨げられる。
そこで、この発明の一つの目的は、基板処理装置の生産効率の向上に寄与することができる基板処理装置および基板処理方法を提供することである。
この発明は、基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法を提供する。この方法は、前記基板処理装置が、第1ロットに対する処理である第1コントロールジョブを規定する第1コントロールジョブ情報を受け付ける工程と、前記基板処理装置が、前記第1コントロールジョブ情報を受け付けた後に、第2ロットに対する処理である第2コントロールジョブを規定する第2コントロールジョブ情報を受け付ける工程と、を含む。前記第1コントロールジョブ情報は、前記第1ロットに含まれる1枚または複数枚の基板に対する第1レシピによる処理である第1プロセスジョブを規定する第1プロセスジョブ情報と、前記第1ロットに含まれる1枚または複数枚の基板に対する第2レシピによる処理である第2プロセスジョブを規定する第2プロセスジョブ情報と、を含む。前記第2コントロールジョブ情報は、前記第2ロットに含まれる1枚または複数枚の基板に対する第3レシピによる処理である第3プロセスジョブを規定する第3プロセスジョブ情報を含む。そして、前記基板処理方法は、前記第1レシピおよび前記第3レシピが共通する属性を含み、前記第2レシピが当該属性を含まない場合に、前記第1プロセスジョブおよび前記第2プロセスジョブの間に前記第3プロセスジョブを実行する順序で前記第1、第2および第3プロセスジョブの実行計画を策定するスケジューリング工程と、前記策定された実行計画に従って前記処理ユニットによって基板を処理する処理実行工程と、をさらに含む。
ロットとは、1枚または複数枚の基板で構成され、基板処理装置に対して処理の指令または予約がされる処理単位である。所定枚数の基板を収容することができる基板収容器を用いて基板処理装置に対して処理対象の基板が導入される場合には、その基板収容器に収容された1枚または複数枚の基板が一つのロットを構成してもよい。
コントロールジョブは、ロットに対して基板処理装置が実行すべき処理である。コントロールジョブ情報とは、コントロールジョブの内容を規定する情報である。したがって、コントロールジョブ情報によって、ロットが規定され、かつそのロットに対する処理内容が規定されるということもできる。一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。それに応じて、コントロールジョブ情報は、一つまたは複数のプロセスジョブ情報を含む。
プロセスジョブとは、共通のレシピによる1枚または複数枚の基板に対する処理である。プロセスジョブ情報は、プロセスジョブの内容を規定する情報である。プロセスジョブ情報は、レシピを指定する情報を含む。レシピとは、基板に対する処理条件を規定する情報である。処理条件は、基板に供給する流体(液体または気体)に関する条件を含んでいてもよい。流体に関する条件は、流体の種類、流体の温度、供給流量、供給時間などであってもよい。
レシピの属性とは、レシピのカテゴリと言い換えることもできる。たとえば、処理の連続実行が可能かどうかという観点に着目してレシピの属性を分類してもよい。より具体的には、プロセスジョブの実行計画を策定する際に着目されるレシピの属性は、基板に供給される流体の種類(たとえば薬液の種類)や流体の温度であってもよい。
基板処理装置は、複数の処理ユニットを含んでいてもよい。この場合、レシピは、処理をすべき1または複数の処理ユニットを指定する処理ユニット指定情報を含んでいてもよい。
基板処理装置は、処理対象の基板を待機させておくための基板待機場所から処理ユニットまで基板を搬送する基板搬送手段を備えていてもよい。この場合、プロセスジョブの実行計画は、基板の搬送に関する計画を含むことが好ましい。それに応じて、処理実行工程では、基板の搬送および処理ユニットでの基板処理が行われる。
この発明では、第1コントロールジョブに含まれる全てのプロセスジョブが完了する前に第2コントロールジョブに含まれるプロセスジョブが実行される場合がある。より具体的には、第1コントロールジョブに含まれるプロセスジョブと共通属性のレシピが指定されたプロセスジョブが第2コントロールジョブに含まれている場合に、コントロールジョブの枠を超えて、プロセスジョブの順序が入れ替えられる。すなわち、第1コントロールジョブが異なる属性のレシピが指定された第1プロセスジョブおよび第2プロセスジョブを含み、第2コントロールジョブが第1プロセスジョブのレシピと共通属性を有するレシピが指定された第3プロセスジョブを有する場合を考える。この場合、第1プロセスジョブ、第3プロセスジョブ、第2プロセスジョブの順にプロセスジョブを実行する計画が策定される。すなわち、第1コントロールジョブの完了よりも前に、第2コントロールジョブのプロセスジョブが割り込む。それにより、コントロールジョブの枠を超えてプロセスジョブの順序が入れ替えられ、共通属性のレシピが指定されたプロセスジョブをまとめて(連続して)実行できる。これにより、レシピの属性の切り替わり回数を減らすことができるので、生産効率の高い基板処理を実現できる。
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記スケジューリング工程が、前記第3プロセスジョブの後に前記第2レシピに含まれる属性に対応する準備工程を実行する計画を策定する。
この方法では、準備工程を必要とする属性に着目してレシピを分類し、共通属性のレシピを指定したプロセスジョブをまとめて(連続して)実行することができる。それにより、レシピの切替えに際して必要となる準備工程の回数を少なくできるから、生産効率の高い基板処理を実現できる。
この発明の一実施形態では、前記スケジューリング工程が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
「割込実行を計画する」とは、或るプロセスジョブの実行順序を繰り上げて割り込ませるように計画変更することをいう。
たとえば、割込実行条件は、共通属性のレシピを指定したプロセスジョブをまとめて実行するよりも優先すべき条件であってもよい。このような割込実行条件を設定しておくことによって、コントロールジョブの枠を超えたプロセスジョブの入れ替えに伴って不都合が生じる場合には、そのような不都合を回避または解消できる。それにより、適切な基板処理を確保しながら、生産効率の向上を図ることができる。
この発明の一実施形態では、前記基板処理方法が、前記第1コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する工程をさらに含み、前記スケジューリング工程が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第1コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
この方法では、コントロールジョブの実行開始からの経過を表すコントロールジョブライフが所定の閾値に達すると、そのコントロールジョブに含まれる未処理(未開始)のプロセスジョブの実行順序が繰り上げられる。たとえば、直前に開始されたプロセスジョブの次(または実行可能な最も早い順序)に実行するように実行順序が変更される。これにより、一つのコントロールジョブの実行開始から終了までに実質的な時間制限を課することができる。したがって、コントロールジョブの枠を超えてプロセスジョブを入れ替えて生産効率の向上を図り、併せて、一つのコントロールジョブの処理を合理的な時間内に終了させることができる。
この発明の一実施形態では、前記基板処理方法が、前記第1レシピおよび前記第3レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める工程をさらに含み、前記スケジューリング工程が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリング工程を含む。
一つの属性のレシピによる処理の継続に制限を設けることが好ましい場合がある。たとえば、共通の薬液を用いた処理を長く継続することにより、薬液の性能(品質)が劣化し、それによって、基板処理の品質が劣化する場合がある。このような場合には、共通属性のレシピによる処理を継続するよりも、属性を切り替えることで、基板処理の品質を保持できる。
そこで、一つの属性による処理の継続状況を表す属性ライフが閾値に達することを割込実行条件と、別の属性を有するレシピを指定したプロセスジョブの割込実行を計画することにより、高品質および高効率を両立した基板処理を実現できる。
処理の継続状況は、一つの属性の処理の継続時間、処理の繰り返し回数などであってもよい。処理の繰り返し回数とは、一つの属性の処理を連続して施した基板枚数、プロセスジョブの数、またはコントロールジョブの数であってもよい。
この発明の一実施形態では、前記スケジューリング工程が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する。
この方法では、割込スケジューリングによって計画されたプロセスジョブに続いて、そのプロセスジョブのレシピと共通属性のレシピを指定したプロセスジョブの実行が計画される。これにより、プロセスジョブの割込実行を許容しながら、属性の切り替わりを抑制できる。したがって、割込スケジューリングによって適切な基板処理を確保しながら、処理効率の向上を図ることができる。
この発明の一実施形態では、前記基板処理装置に対する、使用者による割込実行条件の入力を受け付ける工程をさらに含み、前記割込スケジューリング工程において、前記受け付けられた割込実行条件が適用される。この方法では、使用者による割込実行条件の指定が可能であるので、使用者の要求に対応しながら、処理効率を向上できる。
この発明の一実施形態では、前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットを含み、前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、前記第1レシピおよび第3レシピが第1処理液条件を共通に指定しており、前記第2レシピが前記第1処理液条件とは異なる第2処理液条件を指定している。
この方法により、処理液条件が共通するプロセスジョブをまとめて(連続して)実行できるので、処理液条件の切り替わり回数を少なくできる。それにより、効率的な基板処理が可能になる。とくに、処理液条件の切り替わりに応じて準備工程が必要な場合には、準備工程の回数を少なくできるから、処理効率を高めることができる。
処理液条件は、処理液の種類および処理液の温度の一方または両方を含んでいてもよい。
この発明は、また、基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法であって、前記基板処理装置が、第1ロットに含まれる1枚または複数枚の基板に対して処理を実行する第1処理工程と、前記基板処理装置が、前記第1処理工程の後に、前記第1ロットとは異なる第2ロットに含まれる1枚または複数枚の基板に対して処理を実行する第2処理工程と、前記基板処理装置が、前記第2処理工程の後に、前記第1ロットに含まれる1枚または複数枚の基板に対して処理を実行する第3処理工程と、を含む基板処理方法を提供する。
この発明の一実施形態では、前記第1ロットが、第1レシピによって処理すべき1枚または複数枚の基板と、前記第1レシピとは属性が異なる第2レシピによって処理すべき1枚または複数枚の基板とを含み、前記第2ロットが、前記第1レシピと共通の属性を有する第3レシピによって処理すべき1枚または複数枚の基板を含み、前記第1処理工程が、前記第1レシピによる処理を含み、前記第2処理工程が、前記第3レシピによる処理を含み、前記第3処理工程が、前記第2レシピによる処理を含む。
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記基板処理装置が、前記第2処理工程と前記第3処理工程との間に属性を切り替えるための準備工程を実行する。
この発明の一実施形態では、共通属性のレシピによる継続状況が所定の閾値に達すると、前記基板処理装置が、異なる属性のレシピによって処理すべき基板に対する処理を実行する。
この発明の一実施形態では、前記基板処理装置が前記第1ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記基板処理装置は、前記第1ロットの未処理の基板を優先的に処理する。
この発明は、また、基板処理装置に備えられるコンピュータによって実行されるプログラムであって、前記基板処理装置において、前述のような特徴を有する基板処理方法を実行するようにステップ群が組みこまれたコンピュータプログラムを提供する。このコンピュータプログラムを基板処理装置に備えられたコンピュータによって実行させることによって、前述のような処理効率の高い基板処理方法を実現できる。
この発明は、また、基板に対する処理を実行する処理ユニットと、ロットに対する処理であるコントロールジョブを規定するコントロールジョブ情報の入力を受け付けるコントロールジョブ情報受け付け手段と、を含む、基板処理装置を提供する。前記コントロールジョブ情報は、前記ロットに含まれる1枚または複数枚の基板に対する処理であるプロセスジョブを規定するプロセスジョブ情報を含む。前記基板処理装置は、さらに、前記プロセスジョブ情報に基づいて、基板に対する処理計画を策定するスケジューリング手段と、前記スケジューリング手段によって策定された処理計画に従って前記処理ユニットによって基板処理を実行させる処理実行制御手段とを含む。前記コントロールジョブ情報受け付け手段は、第1ロットに対する処理である第1コントロールジョブを規定する第1コントロールジョブ情報を受け付け、前記第1コントロールジョブ情報を受け付けた後に、第2ロットに対する処理である第2コントロールジョブを規定する第2コントロールジョブ情報を受け付ける。前記第1コントロールジョブ情報は、前記第1ロットに含まれる1枚または複数枚の基板に対する第1レシピによる処理である第1プロセスジョブを規定する第1プロセスジョブ情報と、前記第1ロットに含まれる1枚または複数枚の基板に対する第2レシピによる処理である第2プロセスジョブを規定する第2プロセスジョブ情報と、を含む。前記第2コントロールジョブ情報は、前記第2ロットに含まれる1枚または複数枚の基板に対する第3レシピによる処理である第3プロセスジョブを規定する第3プロセスジョブ情報を含む。そして、前記スケジューリング手段は、前記第1レシピおよび前記第3レシピが共通する属性を含み、前記第2レシピが当該属性を含まない場合に、前記第1プロセスジョブおよび前記第2プロセスジョブの間に前記第3プロセスジョブを実行する順序で前記第1、第2および第3プロセスジョブの実行計画を策定する。
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記スケジューリング手段が、前記第3プロセスジョブの後に前記第2レシピに含まれる属性に対応する準備工程を実行する計画を策定する。
この発明の一実施形態では、前記スケジューリング手段が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
この発明の一実施形態では、前記基板処理装置が、前記第1コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する手段をさらに含み、前記スケジューリング手段が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第1コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
この発明の一実施形態では、前記基板処理装置が、前記第1レシピおよび前記第3レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める手段をさらに含み、前記スケジューリング手段が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリングを実行する。
この発明の一実施形態では、前記スケジューリング手段が、前記割込スケジューリングによって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する。
この発明の一実施形態では、前記基板処理装置が、使用者による割込実行条件の入力を受け付ける手段をさらに含み、前記スケジューリング手段が、前記割込スケジューリングにおいて、前記受け付けられた割込実行条件を適用する。
この発明の一実施形態では、前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットをさらに含み、前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、前記第1レシピおよび第3レシピが第1処理液条件を共通に指定しており、前記第2レシピが前記第1処理液条件とは異なる第2処理液条件を指定している。
この発明は、また、基板に対する処理を実行する処理ユニットと、前記処理ユニットに対して基板を搬送する基板搬送手段と、前記処理ユニットおよび前記基板搬送手段を制御する制御ユニットと、を含む、基板処理装置を提供する。前記制御ユニットは、第1ロットに含まれる1枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第1処理工程と、前記第1処理工程の後に、前記第1ロットとは異なる第2ロットに含まれる1枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第2処理工程と、前記第2処理工程の後に、前記第1ロットに含まれる1枚または複数枚の基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる第3処理工程と、を実行する。
この発明の一実施形態では、前記第1ロットが、第1レシピによって処理すべき1枚または複数枚の基板と、前記第1レシピとは属性が異なる第2レシピによって処理すべき1枚または複数枚の基板とを含み、前記第2ロットが、前記第1レシピと共通の属性を有する第3レシピによって処理すべき1枚または複数枚の基板を含み、前記第1処理工程が、前記第1レシピによる処理を含み、前記第2処理工程が、前記第3レシピによる処理を含み、前記第3処理工程が、前記第2レシピによる処理を含む。
この発明の一実施形態では、前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、前記制御ユニットが、前記第2処理工程と前記第3処理工程との間に属性を切り替えるための準備工程を実行する。
この発明の一実施形態では、共通属性のレシピによる継続状況が所定の閾値に達すると、前記制御ユニットが、異なる属性のレシピによって処理すべき基板を前記基板搬送手段によって前記処理ユニットに搬送して処理させる。
この発明の一実施形態では、前記第1ロットに対する処理を開始してからの経過が所定の閾値に達すると、前記制御ユニットが、前記第1ロットの未処理の基板を優先的に前記基板搬送手段によって前記処理ユニットに搬送して処理させる。
図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図である。 図2は、前記基板処理装置の図解的な側面図である。 図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。 図4は、前記基板処理装置に備えられたスケジューリング機能部による処理例を説明するためのフローチャートである。 図5は、全体スケジューリングの詳細を説明するためのフローチャートである。 図6は、割込発生のための処理例を説明するためのフローチャートである。 図7は、割込発生のための他の処理例を説明するためのフローチャートである。 図8は、一つの処理ユニットを通る経路に対応した仮タイムテーブルの一例を示す。 図9は、ホストコンピュータから基板処理装置に入力されるコントロールジョブデータの例を説明するための図である。 図10Aおよび図10Bは、図9のコントロールジョブデータに対応して作成される仮タイムテーブルの一例を示す。 図11は、最初に受信したコントロールジョブCJ1の最初のプロセスジョブPJ11の一枚の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。 図12は、コントロールジョブCJ1の2番目のプロセスジョブPJ12を保留して、3番目のプロセスジョブPJ13を計画した状態を示す。 図13は、コントロールジョブの枠内でプロセスジョブを入れ替えたスケジューリング例(第1の比較例)を示す。 図14は、コントロールジョブの順序およびプロセスジョブの順序に従うスケジューリング例(第2の比較例)を示す。 図15は、コントロールジョブの枠を越えてプロセスジョブを入れ替えたスケジューリング例(実施例)を示す。 図16A~16Dは、割込スケジューリングを適用した例(実施例)を示しており、図16Aは、コントロールジョブCJ1の受け付け直後のスケジューリング例を示し、図16Bは、コントロールジョブCJ2の受け付け直後のスケジューリング例を示し、図16Cは、コントロールジョブCJ1のライフが閾値に達した直後の割込スケジューリングの例を示し、図16Dは、コントロールジョブCJ3の受け付け直後のスケジューリング例を示す。
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図2はその図解的な側面図である。この基板処理装置は、インデクサセクション1と、処理セクション2と、薬液キャビネットCC1とを含む。処理セクション2は、インデクサセクション1との間で基板Wを受け渡しするための受け渡しユニットPASSを備えている。インデクサセクション1は、未処理の基板Wを受け渡しユニットPASSに渡し、受け渡しユニットPASSから処理済みの基板Wを受け取る。処理セクション2は、受け渡しユニットPASSから未処理の基板Wを受け取って、その基板Wに対して、処理剤(処理液または処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理(ブラシ洗浄、スプレーノズル洗浄等)などの各種の処理を施す。そして、処理セクション2は、処理後の基板Wを受け渡しユニットPASSに渡す。
インデクサセクション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が互いに間隔を開けて鉛直方向に積層された状態となる。
インデクサロボット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を紙面に平行な方向(水平方向)にずらして描いてある。
この構成により、インデクサロボットIRは、いずれかのステージST1~ST4に保持された基板収容器Cから一枚の未処理基板Wをハンド8Aで搬出して受け渡しユニットPASSに渡すように動作する。さらに、インデクサロボットIRは、受け渡しユニットPASSから一枚の処理済み基板Wをハンド8Bで受け取って、いずれかのステージST1~ST4に保持された基板収容器Cに収容するように動作する。
処理セクション2は、複数(この実施形態では12個)の処理ユニットMPC1~MPC12と、主搬送ロボットCRと、前述の受け渡しユニットPASSとを含む。
処理ユニットMPC1~MPC12は、この実施形態では、立体的に配置されている。より具体的には、三層構造をなすように複数の処理ユニットMPC1~MPC12が配置されており、各層部分に4つの処理ユニットが配置されている。すなわち、第1層部分に4つの処理ユニットMPC1,MPC4,MPC7,MPC10が配置され、第2層部分に別の4つの処理ユニットMPC2,MPC5,MPC8,MPC11が配置され、第3層部分にさらに別の処理ユニットMPC3,MPC6,MPC9,MPC12が配置されている。
さらに具体的には、平面視において処理セクション2の中央に主搬送ロボットCRが配置されており、この主搬送ロボットCRとインデクサロボットIRとの間に受け渡しユニットPASSが配置されている。受け渡しユニットPASSを挟んで対向するように、3つの処理ユニットMPC1~MPC3を積層した第1処理ユニット群G1と、別の3つの処理ユニットMPC4~MPC6を積層した第2処理ユニット群G2とが配置されている。そして、第1処理ユニット群G1に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットMPC7~MPC9を積層した第3処理ユニット群G3が配置されている。同様に、第2処理ユニット群G2に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットMPC10~MPC12を積層した第4処理ユニット群G4が配置されている。第1~第4処理ユニット群G1~G4によって、主搬送ロボットCRが取り囲まれている。
主搬送ロボット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を紙面に平行な方向(水平方向)にずらして描いてある。
この構成により、主搬送ロボットCRは、受け渡しユニットPASSから未処理の一枚の基板Wをハンド13Aで受け取り、その未処理の基板Wをいずれかの処理ユニットMPC1~MPC12に搬入する。また、主搬送ロボットCRは、処理ユニットMPC1~MPC12で処理された処理済みの基板Wをハンド13Bで受け取り、その基板Wを受け渡しユニットPASSに渡す。
処理ユニットMPC1~MPC12は、基板Wを1枚ずつ処理する枚葉型の処理ユニットである。処理ユニットMPC1~MPC12は、たとえば、1枚の基板Wを水平姿勢で保持して回転させるスピンチャック15と、スピンチャック15に対して処理液(薬液またはリンス液)を供給する処理液ノズル16とを処理室17(チャンバ)内に備えた、回転液処理ユニットであってもよい。図2では、処理ユニットMPC3についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。
薬液キャビネットCC1は、処理ユニットMPC1~MPC12に処理液としての薬液を供給する処理液供給ユニットの一例である。この実施形態では、薬液キャビネットCC1は、全ての処理ユニットMPC1~MPC12に共通に薬液を供給するように構成されている。ただし、複数の薬液キャビネットを設けて、各薬液キャビネットが別の一つまたは複数の処理ユニットに対して薬液をそれぞれ供給する構成としてもよい。薬液キャビネットCC1は、薬液を貯留するタンク3と、タンク3内の薬液の温度を調節する温度調節ユニット4と、タンク3内の薬液を処理ユニットMPC1~MPC12に送り出すポンプ5とを備えている。
図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、制御ユニットとしてのコンピュータ20を備えている。コンピュータ20は、処理ユニットMPC1~MPC12、薬液キャビネットCC1、主搬送ロボットCRおよびインデクサロボットを制御する。コンピュータ20は、パーソナルコンピュータ(FAパソコン)の形態を有していてもよい。コンピュータ20は、制御部21と、出入力部22と、記憶部23とを備えている。制御部21は、CPU等の演算ユニットを含む。出入力部22は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部22は、外部コンピュータであるホストコンピュータ24との通信のための通信モジュールを含む。記憶部23は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
制御部21は、スケジューリング機能部25(スケジューリング手段)と、処理実行指示部26(処理実行制御手段)とを含む。スケジューリング機能部25は、基板Wを基板収容器Cから搬出し、処理ユニットMPC1~MPC12のうちの一つ以上で処理した後、基板収容器Cに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画(スケジュール)を作成する。処理実行指示部26は、スケジューリング機能部25によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。リソースとは、基板処理装置に備えられ、基板Wの処理のために用いられる各種のユニットであり、具体的には、処理ユニットMPC1~MPC12、インデクサロボットIR、主搬送ロボットCR、薬液キャビネットCC1およびそれらの構成要素を含む。インデクサロボットIRおよび主搬送ロボットCRは、基板搬送手段の一例である。
記憶部23は、制御部21が実行するプログラム30と、ホストコンピュータ24から受信したコントロールジョブデータ(コントロールジョブ情報)40と、スケジューリング機能部25によって作成されたスケジュールデータ50とを含む各種データ等を記憶するように構成されている。コントロールジョブデータ40は、プロセスジョブデータ(プロセスジョブ情報)41を含む。
記憶部23に記憶されたプログラム30は、制御部21をスケジューリング機能部25として作動させるためのスケジュール作成プログラム31と、制御部21を処理実行指示部26として作動させるための処理実行プログラム32ととを含む。
コントロールジョブデータ40は、一つの基板収容器Cに収容された1枚または複数枚の基板によって定義される処理ロットに付与されたコントロールジョブ(CJ)符号と、一つまたは複数のプロセスジョブデータ41とを含む。プロセスジョブデータ41は、各基板Wに付与されたプロセスジョブ(PJ)符号と、プロセスジョブ符号に対応付けられたレシピとを含む。
レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、基板種情報、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。基板種情報は、処理対象の基板の種類を表す情報である。基板の種類の具体例は、製品を作り込むために使用される製品基板、処理ユニットのメンテナンス等のために使用され、製品の製造には使用されない非製品基板などである。並行処理ユニット情報とは、使用可能な処理ユニットを指定する処理ユニット指定情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Wの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Wの処理をさせたくないと考えているとき、などである。使用処理液情報とは、基板処理のために用いる処理液の種類を指定する情報である。具体例は、薬液の種類および薬液の温度を指定する情報である。処理時間情報とは、処理液を供給する継続時間などである。使用処理液情報および処理時間情報は、処理条件情報の例である。
プロセスジョブ(PJ)とは、共通の処理が施されるべき1枚または複数枚の基板Wに対して行われる当該処理をいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報(基板群識別情報)である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Wには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ符号に対応する基板処理内容(レシピ)が同じである場合もあり得る。たとえば、処理順序(基板収容器Cからの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ符号が付与される。
コントロールジョブ(CJ)は、一つの処理ロットに対する処理である。一つのコントロールジョブは、一つまたは複数のプロセスジョブを含む。
制御部21は、各基板収容器C(ロット)に対応するコントロールジョブデータを、ホストコンピュータ24から出入力部22を介して取得し、記憶部23に記憶させる。それによって、制御部21は、コントロールジョブデータに含まれているプロセスジョブデータを取得して、記憶部23に記憶させる。プロセスジョブデータの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器CがステージST1~ST4に保持された直後に、ホストコンピュータ24から制御部21に当該基板収容器Cに対応するコントロールジョブデータが与えられてもよい。スケジューリング機能部25は、記憶部23に格納されたコントロールジョブデータ40に含まれるプロセスジョブデータ基づいて各プロセスジョブを計画し、その計画を表すスケジュールデータ50を記憶部23に格納する。処理実行指示部26は、記憶部23に格納されたスケジュールデータ50に基づいて、インデクサロボットIR、主搬送ロボットCR、処理ユニットMPC1~MPC12、および薬液キャビネットCC1を制御することにより、基板処理装置にプロセスジョブを実行させる。
図4~図7は、スケジューリング機能部25による処理例を説明するためのフローチャートである。より具体的には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって、所定の制御周期で繰り返し行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図4~図7に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。
ホストコンピュータ24は、コントロールジョブデータを制御部21に与えて、そのコントロールジョブデータ(CJ)に含まれるプロセスジョブデータ(PJ)によって定義されるプロセスジョブの開始を指示する。制御部21は、そのコントロールジョブデータを受信して(ステップS1。コントロールジョブ情報受け付け手段)、そこに含まれるプロセスジョブデータを記憶部23に格納する(ステップS2)。そのプロセスジョブデータを用いて、スケジューリング機能部25は、プロセスジョブを実行するためのスケジューリングを行う。
スケジューリング機能部25は、まず、プロセスジョブの処理対象である各基板を処理するための仮タイムテーブルを作成する(ステップS3)。たとえば、プロセスジョブデータにおいて或るプロセスジョブ符号に対応付けられたレシピが、処理ユニットMPC1~MPC12の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、12個の処理ユニットMPC1~MPC12のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ符号が付与された基板Wが処理を受けるときに通る経路は、12通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットMPC1~MPC12のいずれかを通る12個の経路である。そこで、スケジューリング機能部25は、その12個の経路に対応した仮タイムテーブルを各基板に対して作成する。
処理ユニットMPC1を通る経路に対応した仮タイムテーブルを図8に示す。この仮タイムテーブルは、インデクサロボットIRによる基板収容器Cからの基板Wの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロックと、主搬送ロボットCRによる受け渡しユニットPASSからの当該基板Wの搬出(Get)を表すブロックと、主搬送ロボットCRによる当該基板Wの処理ユニットMPC1への搬入(Put)を表すブロックと、処理ユニットMPC1による当該基板Wに対する処理を表す処理ブロックと、主搬送ロボットCRによる処理ユニットMPC1からの処理済みの基板Wの搬出(Get)を表すブロックと、主搬送ロボットCRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロックと、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSからの搬出(Get)を表すブロックと、インデクサロボットIRによる当該基板Wの基板収容器Cへの搬入(Put)を表すブロックとを含む。スケジューリング機能部25は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。さらに、図8の仮タイムテーブルは、処理ブロックが配置された期間中において、薬液キャビネットCC1からの薬液の供給を表す薬液供給ブロックを含む。
スケジューリング機能部25は、同じ基板Wに対して、処理ユニットMPC2~MPC12をそれぞれ通る経路に対応した同様の仮タイムテーブル(処理ブロックを処理ユニットMPC2~MPC12にそれぞれ配置した仮タイムテーブル)を作成する。こうして、一枚の基板Wに対して合計12経路分の仮タイムテーブルが作成される。
一方、図4に示すように、スケジューリング機能部25は、プロセスジョブデータに基づいて、プロセスジョブの属性を判別し、その属性を表す属性データを記憶部23に記憶する(ステップS4)。属性とは、処理の種別である。より具体的には、処理対象の基板の種類は、属性の一つの例である。属性の他の例は、基板の処理条件である。より具体的には、プロセスジョブデータ中のレシピで指定された処理液(とくに薬液)の種類、処理液の温度などが基板の処理条件の例である。図8に示す仮タイムテーブルの例では、薬液キャビネットCC1から60℃に温度調節された薬液の供給がレシピにおいて指定されている場合を示してある。したがって、この例では、60℃での薬液供給を表す属性データが記憶部23に格納される。
薬液キャビネットCC1が同時に異なる2つ以上の温度の薬液供給が不可能な構成の場合には、同時には1種類の温度の薬液供給のみが計画可能である。異なる温度の薬液を供給するためには、タンク3(図2参照)内の薬液の温度を変更するための調節が必要である。したがって、異なる温度の薬液供給は、異なる時間に計画される必要がある。より具体的には、薬液温度の変更のための準備工程に要する充分な時間を空けた異なる期間に計画される必要がある。したがって、或る温度の薬液の使用が計画されている期間には、他の温度の薬液を使うプロセスジョブの計画は禁止される。この実施形態では、全ての処理ユニットMPC1~MPC12に対して、一つの薬液キャビネットCC1からの薬液が供給されるように構成されており、かつ薬液キャビネットCC1は同時には一種類のみの温度の薬液供給が可能である。そこで、或る温度の薬液の使用がいずれかの処理ユニットに対して計画されると、いずれの処理ユニットにおいても、他の温度の薬液使用の計画は禁止される。
薬液キャビネットCC1は、所定の複数個の処理ユニットへと同時に薬液を供給できるように構成されていてもよい。この場合には、重複した期間に異なる処理ユニットで同じ温度の同種薬液を使用する計画を立てることが許容される。
作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される(図4のステップS5)。同様の仮タイムテーブルが同じプロセスジョブ符号が付与された基板Wの全てに対応して作成される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。
受信済みの全てのプロセスジョブに対して仮タイムテーブルの作成を終えると(ステップS6:YES)、スケジューリング機能部25は、全体スケジューリングを実行する(ステップS7)。全体スケジューリングとは、作成された仮タイムテーブルのブロックを、各リソースの他のブロックと重複しないように、時間軸上に配置することである。全体スケジューリングによって作成されたスケジュールデータは記憶部23に格納される(ステップS8)。
新たなコントロールジョブデータが受信された場合に(ステップS1:YES)、既にスケジューリング済みでかつ未実行のプロセスジョブが存在するときもあり得る。このような場合には、全体スケジューリング(ステップS7)では、それらの未実行のプロセスジョブも含めて、再度、全ての未実行プロセスジョブに対するスケジューリングが実行される。
新たなコントロールジョブデータの受信がなければ(ステップS1:NO)、スケジューリング機能部25は、再スケジューリングのための割込が発生したかどうかを判断する(ステップS9)。割込の発生がなければ(ステップS9:NO)、今制御周期の処理を終える。割込が発生すると(ステップS9:YES)、再度、全ての未実行プロセスジョブに対するスケジューリングが実行される(ステップS7。割込スケジューリング工程)。再スケジューリングのための割込は、図6および図7を参照して後述する割込判定処理によって、必要な場合に生じる。割込判定処理は、未実行のプロセスジョブの実行順序を計画済みの順序から変更すべき割込実行条件が成立すると、割込を発生する。
図5は、全体スケジューリング(図4のステップS7)の詳細を説明するためのフローチャートである。スケジューリング機能部25は、基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
さらに具体的には、スケジューリング機能部25は、割込が発生したかどうかを判断し(ステップS21)、割込の発生がなければ、未計画のプロセスジョブがあるかどうかを判断する(ステップS22)。「未計画のプロセスジョブ」とは、一度も計画されたことのないプロセスジョブのほか、再スケジューリングのための割込が発生した場合には、当該再スケジューリングにおいて未計画のプロセスジョブも含む。つまり、スケジューリング対象のプロセスジョブのうちで未計画のプロセスジョブである。
全てのプロセスジョブが計画済みであれば(ステップS22:NO)、今制御周期の処理を終える。未計画のプロセスジョブがあれば(ステップS22:YES)、スケジューリング機能部25は、受信時間が最も早い未計画のプロセスジョブの1枚の基板Wに対応する仮タイムテーブルを読み出す(ステップS23)。スケジューリング機能部25は、その読み出した仮タイムテーブルに対応する属性が、現在処理実行中のプロセスジョブの属性と共通かどうかを判断する(ステップS24)。より具体的には、基板処理装置において現在実行中のプロセスジョブに用いられている薬液の温度(属性、処理液条件の一例)が、当該仮タイムテーブルに対応するプロセスジョブのレシピで指定されている属性と共通しているかどうかを判断する。この判断は、仮タイムテーブル毎(あるいはプロセスジョブ毎)に記憶部23に格納されている属性データを用いて行うことができる。現在実行中のプロセスジョブが存在しなければ、ステップS24の判断は否定となる。
現在実行中のプロセスジョブの属性と共通していれば(ステップS24:YES)、スケジューリング機能部25は、当該仮タイムテーブルを構成する各ブロックを対応するリソースに時間軸上で前詰めに配置する(ステップS27)。すなわち、各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の処理が同じプロセスジョブの全ての基板の仮タイムテーブルについて実行される。
そして、同様の処理が、記憶部23に格納された未計画のプロセスジョブデータに対して、繰り返される(ステップS22)。
仮タイムテーブルを読み出したプロセスジョブの属性が現在実行中のプロセスジョブの属性と異なる場合には(ステップS24:NO)、現在実行中のプロセスジョブと属性が共通する未計画のプロセスジョブが存在するかどうかが判断される(ステップS25)。該当するプロセスジョブが存在すれば、当該共通属性のプロセスジョブのうちで受信順序が最先のプロセスジョブの仮タイムテーブルが読み出される(ステップS26)。そして、この仮タイムテーブルに対して、ステップS27の処理が実行される。
一方、共通属性の未計画プロセスジョブが存在しなければ(ステップS25:NO)、スケジューリング機能部25は、読み出した仮タイムテーブルのプロセスジョブの属性に基づいて、準備工程が必要かどうかを判断する(ステップS28)。たとえば、薬液キャビネットCC1から供給すべき薬液の温度を変更すべきときには、薬液キャビネットCC1内で薬液の温度を調整するための準備工程が必要である。このような準備工程が必要なときには(ステップS28:YES)、スケジューリング機能部25は、薬液キャビネットCC1に対して、準備工程を表す準備工程ブロックを配置し(ステップS29)、その後に、ステップS27の処理を実行する。このとき、準備工程よりも前、すなわち、たとえば薬液の温度調節が完了するよりも前に処理ブロックを配置しないように、時間軸上での処理ブロックの配置が調整される。準備工程が必要でないときには(ステップS28:NO)、準備工程ブロックの配置は省かれる。
割込が発生したときには(ステップS21:YES)、スケジューリング機能部25は、その割込によって優先的に処理すべきプロセスジョブの仮タイムテーブルを記憶部23から読み出す。その仮タイムテーブルに対して、ステップS28,S29,S27の処理が実行される(割込スケジューリング)。
割込が発生することによって、未実行の全てのプロセスジョブについての再スケジューリングが行われる。したがって、割込によって優先処理すべきプロセスジョブ(成立した割込実行条件に応じて選択されるプロセスジョブ)についての計画(ステップS27)の後には、その他の未実行のプロセスジョブが未計画のプロセスジョブとして扱われ(ステップS22:YES)、そのスケジューリングが実行される。
図6は、割込判定処理の一例を説明するためのフローチャートである。制御部21は、コントロールジョブに含まれる最初のプロセスジョブの実行を指示すると(ステップS41:YES)、当該コントロールジョブのライフ(コントロールジョブライフ)の計測を開始する(ステップS42)。コントロールジョブライフとは、この例では、コントロールジョブの開始からの経過を表す数量である。コントロールジョブライフの一つの具体例は、コントロールジョブを開始してからの経過時間である。コントロールジョブライフの他の例は、コントロールジョブを開始してから基板処理装置によって処理開始(または処理終了)したプロセスジョブの数、コントロールジョブを開始してから基板処理装置によって処理開始(または処理終了)した基板Wの数、コントロールジョブを開始してから基板処理装置によって処理開始(または処理終了)したコントロールジョブの数などである。
コントロールジョブライフの計測は、個々のコントロールジョブについてそれぞれ行われる。すなわち、制御部21は、実行中の全てのコントロールジョブのそれぞれのコントロールジョブライフを計測する。制御部21は、新たなコントロールジョブが開始されると当該コントロールジョブのコントロールジョブライフの計測を開始する(ステップS42)。また、制御部21は、いずれかのコントロールジョブが終了すると、そのコントロールジョブのコントロールジョブライフの計測を終了する(ステップS43,S44)。
スケジューリング機能部25は、計測中の全てのコントロールジョブライフを参照し、いずれかのコントロールジョブライフが予め定める閾値に達したかどうか(割込実行条件)を判断する(ステップS45)。いずれのコントロールジョブライフも閾値に達していなければ(ステップS45:NO)、割込を発生させずに、処理を終える。いずれかのコントロールジョブライフが閾値に達すると、スケジューリング機能部25は、割込を発生させる(ステップS46)。より具体的には、スケジューリング機能部25は、コントロールジョブライフが閾値に達したコントロールジョブ中の未実行のプロセスジョブを他のプロセスジョブに優先して割込実行させるための割込を発生させる。
スケジューリング機能部25は、そのプロセスジョブを優先的に実行するために、作成済みのスケジューリングに対して、当該プロセスジョブを割り込ませるための再スケジューリングを実行する(図4のステップS9:YES、図5のステップS21:YES)。この再スケジューリングでは、スケジューリング機能部25は、その割込対象のプロセスジョブが実行開始済みのプロセスジョブの次に実行されるように、既存のスケジューリングを破棄して、スケジューリングを再度実行する。
このような割込再スケジューリングにより、一つのコントロールジョブの処理開始から終了までに実質的な時間制限を設けることができる。それにより、或るコントロールジョブの最初の基板が処理終了してから基板収容器C内で長時間待機させられることを回避できる。たとえば、基板収容器Cが開閉蓋付の容器(FOUP等)である場合に、開閉蓋が長時間に渡って開状態のままになることを回避できる。それにより、処理済みの基板の表面への悪影響、たとえば自然酸化膜の成長や周囲雰囲気による影響などを抑制できる。さらに、基板収容器Cを保持するステージSTが長時間にわたって一つの基板収容器Cで占有されることを回避でき、次の基板収容器Cを投入できるまでの時間を短縮できる。
図7は、割込判定処理の他の例を説明するためのフローチャートである。この例では、制御部21は、新たな属性を指定したレシピを有するプロセスジョブが実行開始されると(ステップS51:YES)、当該属性のライフ(属性ライフ)を計測する。属性ライフとは、この例では、或る属性による処理開始(換言すれば属性の切替え)からの経過を表す数量である。属性ライフの一つの具体例は、新たな属性による処理開始してからの経過時間である。属性ライフの他の例は、新たな属性による処理を開始してから基板処理装置によって処理開始(または処理終了)したプロセスジョブの数、新たな属性による処理を開始してから基板処理装置によって処理開始(または処理終了)した基板Wの数、新たな属性による処理を開始してから基板処理装置によって処理開始(または処理終了)したコントロールジョブの数などである。
複数の属性が定義される場合には、属性ライフの計測は、個々の属性についてそれぞれ行われる。すなわち、制御部21は、基板処理のために現に適用されている属性のそれぞれの属性ライフを計測する。制御部21は、新たな属性による処理が開始されると当該属性の計測を開始する(ステップS52)。また、制御部21は、いずれかの属性の適用が終了すると、その属性の属性ライフの計測を終了する(ステップS53,S54)。
スケジューリング機能部25は、計測中の全ての属性ライフを参照し、いずれかの属性ライフが予め定める閾値に達したかどうか(割込実行条件)を判断する(ステップS55)。いずれの属性ライフも閾値に達していなければ(ステップS55:NO)、割込を発生させずに、処理を終える。いずれかの属性ライフが閾値に達すると、スケジューリング機能部25は、割込を発生させる(ステップS56)。より具体的には、スケジューリング機能部25は、属性ライフが閾値に達した属性とは異なる属性が指定された未実行のプロセスジョブを優先して割込実行させるための割込を発生させる。
スケジューリング機能部25は、そのプロセスジョブを優先的に実行するために、作成済みのスケジューリングに対して、当該プロセスジョブを割り込ませるための再スケジューリングを実行する(図4のステップS9:YES、図5のステップS21:YES)。この再スケジューリングでは、スケジューリング機能部25は、その割込対象のプロセスジョブが実行開始済みのプロセスジョブの次に実行されるように、既存のスケジューリングを破棄して、スケジューリングを再度実行する。
たとえば、薬液の種類が属性の一つである場合に、同じ薬液を繰り返し循環使用すると、薬液の品質が劣化し、基板処理に影響を及ぼすおそれがある。そこで、或る種類の薬液について使用開始からのライフ(たとえば処理した基板枚数)を計測し、そのライフが閾値に達した時点で別の種類の薬液を指定したプロセスジョブを優先実行する一方で、ライフが閾値に達した薬液を交換する措置をとることができる。
図6および図7の割込判定処理は、いずれか一方のみが行われてもよいし、両方が行われてもよい。また、さらに別の観点から再スケジューリングの契機を提供する割込判定処理が行われてもよい。
図9は、ホストコンピュータ24からコンピュータ20に入力されるコントロールジョブデータの一例を示す。この例では、3つのコントロールジョブCJ1,CJ2,CJ3に対応するコントロールジョブデータが、この順序でコンピュータ20に与えられた場合を想定している。
コンピュータ20は、ホストコンピュータ24からコントロールジョブデータが与えられると、受信した順にコントロールジョブに符号CJ1,CJ2,CJ3を与えて管理する。この例では、コントロールジョブCJ1は複数のプロセスジョブPJ11,PJ12,PJ13を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブCJ1のデータ(コントロールジョブデータ)は、複数のプロセスジョブPJ11~PJ13を表すプロセスジョブデータを含む。また、コントロールジョブCJ2は複数のプロセスジョブPJ21,PJ22,PJ23を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブCJ2のデータ(コントロールジョブデータ)は、複数のプロセスジョブPJ21~PJ23を表すプロセスジョブデータを含む。コントロールジョブCJ3は複数のプロセスジョブPJ31,PJ32,PJ33を含み、これらは、コントロールジョブデータ中で順序付けられている。すなわち、コントロールジョブCJ3のデータ(コントロールジョブデータ)は、複数のプロセスジョブPJ31~PJ33を表すプロセスジョブデータを含む。コンピュータ20は、受信したコントロールジョブに含まれるプロセスジョブに対して、重複しないように符号PJ11,PJ12,PJ13;PJ21,PJ22,PJ23;PJ31,PJ32,PJ33を与えて管理する。
各プロセスジョブを表すプロセスジョブデータは、基板処理条件を表すレシピを規定するレシピデータを含む。レシピデータは、使用可能な処理ユニット、処理ユニットにおける具体的な処理手順、および各処理手順において使用する処理液(とくに薬液)に関する指示(処理液条件)を含む。処理液に関する指示は、この実施形態では、薬液の種類および/または温度を指定する薬液レシピデータを含む。プロセスジョブデータは、さらに、搬送オプションデータを含んでいてもよい。搬送オプションデータは、たとえば、基板搬送時に使用するロボットのハンドを設定するためのハンド設定データを含む。プロセスジョブデータは、さらに、前後処理スキップの設定データを含んでいてもよい。前後処理スキップとは、直前に実行されるプロセスジョブのレシピと同じレシピがプロセスジョブデータにおいて指定されているときに、前後処理を省くことをいう。前後処理とは、レシピの異なるプロセスジョブの間で必要に応じて実行される準備処理をいう。
図9の例では、プロセスジョブPJ11,PJ13;PJ21,PJ22,PJ23;PJ32,PJ33に対して薬液レシピC1(第1処理液条件)が指定されており、プロセスジョブPJ12;PJ31に対して薬液レシピC2(第2処理液条件)が指定されている。たとえば、薬液レシピC1は、第1の温度(たとえば60℃)の薬液の使用を指定し、それに応じて、薬液キャビネットCC1は、第1の温度の薬液を供給するように制御される。また、薬液レシピC2は、第1の温度とは異なる第2の温度(たとえば80℃)の薬液の使用を指定し、それに応じて、薬液キャビネットCC1は、第2の温度の薬液を供給するように制御される。薬液キャビネットCC1から供給される薬液の温度の切替えは、瞬時に行うことはできない。すなわち、薬液キャビネットCC1内で温度調整のための準備工程が必要であり、薬液温度を変更し、変更後の温度で安定した薬液を供給するには、相応の時間を要する。
説明を簡単にするために、プロセスジョブPJ11,PJ12,PJ13;PJ21,PJ22,PJ23;PJ31,PJ32,PJ33のレシピデータが、いずれも、一つの処理ユニットMPC1での処理を指定している場合を想定する。
図10Aは薬液レシピC1が指定されたプロセスジョブPJ11,PJ13;PJ21,PJ22,PJ23;PJ32,PJ33の各基板に対して作成される仮タイムテーブルを示し、図10Bは薬液レシピC2が指定されたプロセスジョブPJ12;PJ31の各基板に対して作成される仮タイムテーブルを示す。
スケジューリング機能部25は、全てのプロセスジョブPJ11,PJ12,PJ13;PJ21,PJ22,PJ23;PJ31,PJ32,PJ33に対応する仮タイムテーブルをそれぞれ作成する。
想定している例では、プロセスジョブPJ11,PJ12,PJ13;PJ21,PJ22,PJ23;PJ31,PJ32,PJ33のレシピデータが、いずれも、一つの処理ユニットMPC1での処理を指定しているので、一つの処理ユニットMPC1での処理を指定して基板に対する処理を行うための仮タイムテーブルが作成される。すなわち、処理ユニットMPC1に処理ブロックをそれぞれ配置した仮タイムテーブルが作成される。処理ブロックは、基板処理のために当該処理ユニットが占有されることを表す。もしも、或るプロセスジョブのレシピが複数の処理ユニットでの並行処理を許容している場合には、当該許容された複数の処理ユニットにそれぞれ処理ブロックを配置した複数の仮タイムテーブルが作成される。
また、処理ユニットMPC1に配置された処理ブロックの期間中において、薬液キャビネットCC1から薬液を供給すべき期間には、薬液キャビネットCC1に対応して薬液供給ブロックが配置される。薬液供給ブロックは、薬液キャビネットCC1が薬液供給のために使用されることを表す。図10Aの仮タイムテーブルでは、薬液レシピC1に従って第1の温度(たとえば60℃)の薬液供給を指定する薬液供給ブロックが配置されており、図10Bの仮タイムテーブルでは、薬液レシピC2に従って第2の温度(たとえば80℃)の薬液供給を指定する薬液供給ブロックが配置されている。
図11は、最初に受信したコントロールジョブCJ1の最初のプロセスジョブPJ11の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
スケジューリング機能部25は、まず、プロセスジョブPJ11の仮タイムテーブルから取得されたブロックを対応するリソースのスペースに時間軸上において最も早い位置に(すなわち前詰めで)順に配置していく。このとき、スケジューリング機能部25は、同一のリソースのスペースでブロックが重なり合わないように各ブロックを配置する。プロセスジョブPJ11は、たとえば1枚の基板に対する処理を処理ユニットMPC1で行うべきことを指定する処理である。そこで、スケジューリング機能部25は、処理ブロックを処理ユニットMPC1に対応するように配置する。
また、プロセスジョブPJ11の薬液レシピC1は、第1の温度(たとえば60℃)の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットCC1に対応付けて薬液供給ブロック(60℃)が配置される。プロセスジョブPJ11の直前に薬液レシピC1を指定した別のプロセスジョブが実行または計画されていない場合には、薬液供給ブロック(60℃)の前には、薬液レシピC1に対応した薬液温度調整のための準備工程ブロックが配置される。こうして、プロセスジョブPJ11に対するスケジューリングを終える。
もしも、プロセスジョブPJ11が2枚以上の基板に対する処理である場合には、2枚目以降の基板に対しても同様にして処理ユニットMPC1での処理が繰り返し計画される。プロセスジョブPJ11が複数の処理ユニットでの並行処理を許容している場合には、処理ブロックがより早い時刻に配置できるように、当該許容された複数の処理ユニットのいずれかを用いる仮タイムテーブルが選択される。
次に、スケジューリング機能部25は、コントロールジョブCJ1のデータ中においてプロセスジョブPJ11の次に記述されたプロセスジョブPJ12に対するスケジューリングを開始する。ところが、プロセスジョブPJ12のレシピデータは、第2温度(たとえば80℃)の薬液の使用を指定する薬液レシピC2を含み、この薬液レシピC1は、直前に計画したプロセスジョブPJ11の薬液レシピC1とは異なる。そこで、スケジューリング機能部25は、プロセスジョブPJ12の計画を保留する。
次に、図12に示すように、スケジューリング機能部25は、プロセスジョブPJ12の処理スケジューリングを保留した状態で、コントロールジョブCJ1においてプロセスジョブPJ12の次に情報(プロセスジョブデータ)が記述されているプロセスジョブPJ13に対するスケジューリングを行う。プロセスジョブPJ13のレシピは、プロセスジョブPJ11と同じ薬液レシピC1を指定しているので、直前に計画済みのプロセスジョブPJ11の処理条件(薬液温度)と計画中のプロセスジョブPJ13の処理条件(薬液温度)とが同じである。
そこで、スケジューリング機能部25は、プロセスジョブPJ13の仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、処理ブロックが処理ユニットMPC1に配置される。また、プロセスジョブPJ13は、60℃の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットCC1に対応付けて薬液供給ブロックが配置される。こうして、プロセスジョブPJ13に対するスケジューリングを終える。
もしも、プロセスジョブPJ13が2枚以上の基板に対する処理である場合には、2枚目以降の基板に対しても同様にして処理ユニットMPC1での処理が繰り返し計画される。
以下、同様にして、プロセスジョブがスケジューリングされていく。
図13は、第1の比較例に係るスケジューリングを示す。説明を簡単にするために、図13では、処理ブロック、薬液供給ブロックおよび準備工程ブロックのみを示す。準備工程ブロックとは、薬液レシピを実行するために必要な準備工程を指示するためのブロックである。より具体的には、薬液レシピC1の実行に先立って、薬液キャビネットCC1内では、薬液を第1の温度(たとえば60℃)に調整するための準備工程が行われる。同様に、薬液レシピC2の実行に先立って、薬液キャビネットCC1内では、薬液を第2の温度(たとえば80℃)に調整するための準備工程が行われる。薬液の温度が調整済みであれば、準備工程を計画する必要はない。
最初のプロセスジョブPJ11のレシピは、薬液レシピC1を指定しているので、対応する処理ブロックよりも前(より正確には、薬液供給ブロックよりも前)に、準備工程ブロックが配置される。この準備工程ブロックは、薬液レシピC1(第1の温度の薬液供給)を実行するための準備工程を指示する。プロセスジョブPJ11の次には、同じ薬液レシピC1を指定するプロセスジョブPJ13の実行が計画されるので、対応する処理ブロックに先立って準備工程を実行する必要がなく、したがって、準備工程ブロックは配置されない。
この比較例では、プロセスジョブの順序の入れ替えは、一つのコントロールジョブの範囲内においてのみ許容されている。したがって、プロセスジョブPJ13の次に、プロセスジョブPJ12の実行が計画されている。プロセスジョブPJ12のレシピは、薬液レシピC2(第2の温度の薬液供給)を指定しているので、対応する処理ブロックよりも前に準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットCC1において、第2の温度に薬液の温度調整を行わせるためのブロックである。
こうして、コントロールジョブCJ1の全てのプロセスジョブPJ11~PJ13の計画を終えると、次のコントロールジョブCJ2が計画される。コントロールジョブCJ2に含まれるプロセスジョブPJ21~PJ23のレシピは、いずれも薬液レシピC1(第1の温度の薬液供給)を指定しているので、最初のプロセスジョブPJ21に対応する処理ブロックよりも前に、準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットCC1において、第1の温度に薬液の温度調整を行わせるためのブロックである。コントロールジョブCJ1を構成する他のプロセスジョブPJ22,PJ23のレシピは、いずれも薬液レシピC1を指定しているので、これらの処理ブロックが処理ユニットMPC1に対して順に配置され、それらの処理ブロックと先の処理ブロックとの間には準備工程ブロックは配置されない。
こうして、コントロールジョブCJ2の全てのプロセスジョブPJ21~PJ23の計画を終えると、次のコントロールジョブCJ3が計画される。コントロールジョブCJ2を後回しにして、コントロールジョブCJ1の次にコントロールジョブCJ3が計画されることはない。
コントロールジョブCJ3は、直前に計画済みのプロセスジョブPJ23のレシピと同じ薬液レシピC1を指定するプロセスジョブPJ32,PJ33を含む。そこで、プロセスジョブPJ31よりも前に、プロセスジョブPJ32,PJ33が順に計画され、その後に、薬液レシピC2(第2の温度の薬液)を指定するプロセスジョブPJ31が計画される。それにより、プロセスジョブPJ23,PJ32の処理ブロックの間に準備工程ブロックを配置する必要がなくなる。プロセスジョブPJ33とPJ31との間には、準備工程ブロックが配置される。この準備工程ブロックは、薬液キャビネットCC1において、第2の温度に薬液の温度を調整するための準備工程を指示するブロックである。
図14は、第2の比較例に係るスケジューリングを示す。この第2の比較例では、コントロールジョブCJ1,CJ2,CJ3が、この順序で計画されており、かつ各コントロールジョブに含まれるプロセスジョブが記述された順序で計画されている。その結果、プロセスジョブPJ11の処理ブロックの前、プロセスジョブPJ11,PJ12の処理ブロック間、プロセスジョブPJ12,PJ13の処理ブロック間、プロセスジョブPJ23,PJ31の処理ブロック間、プロセスジョブPJ31,PJ32の処理ブロック間に、それぞれ準備工程ブロックが配置されている。したがって、合計で5回の準備工程が実行される。これに対して、図13に示す第1の比較例では、合計で4回の準備工程が実行される。したがって、第1の比較例の方が準備工程の回数が少ないので、全体の基板処理時間が短く、生産性が高い。
図15は、この発明の一実施形態におけるスケジューリング例(実施例)を示す。この実施形態では、コントロールジョブCJ1,CJ2,CJ3が、それらの受信順序で実行される必要がなく、コントロールジョブの範囲を超えて、プロセスジョブの実行順序を入れ替えることが許容される。すなわち、受信済みのプロセスジョブは、直前に計画されたプロセスジョブが指定する薬液レシピと同じ薬液レシピを指定するプロセスジョブが連続するように順序を入れ替えて計画される。
つまり、プロセスジョブPJ11,PJ13,PJ21,PJ22,PJ23,PJ32,PJ33,PJ12,PJ31の順序で計画される。その結果、プロセスジョブPJ11の処理ブロックの前、プロセスジョブPJ33,PJ12の処理ブロック間に、それぞれ準備工程ブロックが配置されている。したがって、準備工程は2回実行されるに過ぎないので、第1および第2の比較例よりも、全体の基板処理時間が短く、生産性が高い。
図16A~図16Dは、この発明の一実施形態におけるスケジューリングの他の例(実施例)を示す。このスケジューリング例では、コントロールジョブの実行開始からの経過時間(コントロールジョブライフの一例)に基づく割込スケジューリングが実行されている。
図15のスケジューリング例では、コントロールジョブCJ1の中で最初に実行されるプロセスジョブPJ11の実行開始から、最後に実行されるプロセスジョブPJ12の開始までに長時間を要し、それまでに、経過時間(コントロールジョブライフ)が閾値に達するおそれがある。それにより、プロセスジョブPJ11に対応した基板は、処理を終了して基板収容器Cに収容された後、最後のプロセスジョブPJ12の全ての基板が当該基板収容器Cに収容されるまで、長時間に渡って待機状態となる。たとえば、基板収容器Cが開閉蓋を備えている場合に、開閉蓋が長時間に渡って開放状態となり、基板収容器C内の基板が周囲の雰囲気に長時間に渡ってさらされる。図16A~図16Dのスケジューリング例は、このような課題を解決している。
このスケジューリング例は、コントロールジョブCJ1,CJ2,CJ3が、時刻t1,t2,t3にそれぞれ受信される場合を想定している。
時刻t1にコントロールジョブCJ1が受信されると、スケジューリング機能部25は、プロセスジョブPJ11,PJ12,PJ13の実行を計画し、処理実行指示部26はその計画を即時に実行する。この時点では、コントロールジョブCJ2,CJ3は、未受信である。直前にいずれのプロセスジョブも計画されていない場合、スケジューリング機能部25は、コントロールジョブCJ1の最初のプロセスジョブPJ11を計画する。スケジューリング機能部25は、図16Aに示すように、プロセスジョブPJ11の処理ブロックよりも前(より正確には、薬液供給ブロックよりも前)に、薬液レシピC1のための準備工程ブロックを配置する。スケジューリング機能部25は、プロセスジョブPJ11の次に、共通の薬液レシピC1を指定するプロセスジョブPJ13の実行を計画し、その後に、プロセスジョブPJ12の実行を計画する。プロセスジョブPJ13の処理ブロックとプロセスジョブPJ12の処理ブロックとの間には、薬液レシピC2のための準備工程ブロックが配置される。
プロセスジョブPJ11を実行開始した後であって、プロセスジョブPJ13の実行を開始する前の時刻t2に別のコントロールジョブCJ2が受信されると、スケジューリング機能部25は、その時点で未実行のプロセスジョブPJ13,PJ12およびPJ21,PJ22,PJ23についてのスケジューリングを実行し、処理実行指示部26はその計画を即時に実行する。すなわち、再スケジューリングを行い、その再スケジューリングによる処理が実行される。
図16Bに示すように、スケジューリング機能部25は、実行中のプロセスジョブPJ11と共通の薬液レシピC1を指定するプロセスジョブPJ13,PJ21,PJ22,PJ23を順に実行し、その後に、薬液レシピC2のための準備工程を経て、プロセスジョブPJ12を実行するようにスケジューリングを行う。
この計画に従って処理を実行している間に、図16Cに示すように、プロセスジョブPJ22を実行開始し、プロセスジョブPJ23の実行を開始する前の時刻t11に、コントロールジョブCJ1の実行開始からの経過時間(コントロールジョブライフ)が閾値に到達したとする。すると、スケジューリング機能部25は、コントロールジョブCJ1のうち未実行のプロセスジョブPJ12の割込実行を計画する。
より具体的には、スケジューリング機能部25は、直前に実行開始したプロセスジョブPJ22に続いて、プロセスジョブPJ12を実行するように再スケジューリングを行う。プロセスジョブPJ12は、薬液レシピC2を指定しているので、プロセスジョブPJ2の処理ブロックの前に薬液レシピC2のための準備工程ブロックが配置される。時刻t11の時点では、プロセスジョブPJ12の他に薬液レシピC2を指定するプロセスジョブを受信していないので、スケジューリング機能部25は、プロセスジョブPJ12の次に残りのプロセスジョブPJ23の実行を計画する。プロセスジョブPJ23の処理ブロックの前には、薬液レシピC1のための準備工程ブロックが配置される。
このように再スケジューリングがされた後、図16Dに示すように、プロセスジョブPJ12の実行開始後であって、準備工程の実行開始前の時刻t3に、コントロールジョブCJ3が受信される。すると、スケジューリング機能部25は、時刻t3の時点で未開始のプロセスジョブPJ23,PJ31,PJ32,PJ33についての再スケジューリングを行う。その結果、実行中のプロセスジョブPJ12と共通の薬液レシピC2を指定するプロセスジョブPJ31の実行が計画され、その後に薬液レシピC1に切り替えるための準備工程が計画され、さらに、薬液レシピC1を指定するプロセスジョブPJ23,PJ32,PJ33を順に実行する計画が策定される。
このように、スケジューリング機能部25は、コントロールジョブデータが受信されるたびに再スケジューリングを行って準備工程の回数を最小限とする。さらに、スケジューリング機能部25は、各コントロールジョブの最初のプロセスジョブの実行からの経過時間等のライフを計測し、そのライフが閾値に達すると、当該コントロールジョブの未実行のプロセスジョブを割込実行させるための再スケジューリングを行う。
以上のように、この実施形態によれば、コントロールジョブCJ1に含まれる全てのプロセスジョブPJ11~PJ13が完了する前に、別のコントロールジョブCJ2に含まれるプロセスジョブPJ21等が実行される。すなわち、コントロールジョブCJ1に含まれるプロセスジョブPJ11,PJ13と共通属性の薬液レシピC1が指定されたプロセスジョブPJ21~PJ23がコントロールジョブCJ2に含まれているので、コントロールジョブの枠を超えて、プロセスジョブの順序が入れ替えられる。これにより、共通属性の薬液レシピC1が指定されたプロセスジョブをまとめて(連続して)実行できるので、薬液レシピの切り替わり回数を減らすことができ、それに応じて準備工程の回数を削減できる。それにより、生産効率の高い基板処理を実現できる。
一方、所定の割込実行条件が充足されると(図6のステップS45、図7のステップS55)、未実行のプロセスジョブの計画を変更して、割込実行条件に対応したプロセスジョブを優先的に実行させる。それにより、コントロールジョブの枠を超えたプロセスジョブの入れ替えに伴って不都合が生じる場合には、そのような不都合を回避または解消できる。それにより、適切な基板処理を確保しながら、生産効率の向上を図ることができる。具体的には、一つのコントロールジョブの処理開始から終了までに実質的な時間制限を設けることができる(図6参照)。それにより、或るコントロールジョブの最初の基板が処理終了してから基板収容器C内で長時間待機させられることを回避できる。たとえば、基板収容器Cが開閉蓋付の容器(FOUP等)である場合に、開閉蓋が長時間に渡って開状態のままになることを回避できる。それにより、処理済みの基板の表面への悪影響、たとえば自然酸化膜の成長や周囲雰囲気による影響などを抑制できる。さらに、基板収容器Cを保持するステージSTが長時間にわたって一つの基板収容器Cで占有されることを回避でき、次の基板収容器Cを投入できるまでの時間を短縮できる。また、薬液の継続使用に対して制限を設けることができる(図7参照)。同じ薬液を繰り返し循環使用すると、薬液の品質が劣化し、基板処理に影響を及ぼすおそれがある。そこで、或る種類の薬液について使用開始からのライフ(たとえば処理した基板枚数)を計測し、そのライフが閾値に達した時点で別の種類の薬液を指定したプロセスジョブを優先実行する一方で、ライフが閾値に達した薬液を交換する措置をとることができる。
さらに、このような割込スケジューリングが行われると、割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行が計画される。それにより、これにより、割込実行の計画を許容しながら、属性の切り替わりを抑制できる。したがって、割込実行によって適切な基板処理を確保しながら、処理効率の向上を図ることができる。
割込実行条件は、出入力部22(図3参照)の一例である操作装置を用いて、使用者が入力して指定できるようになっていてもよい。コンピュータ20は、このような入力を受け付けて、割込実行条件を監視し、条件が充足されると、割込スケジューリングを実行する。それにより、使用者の要求に対応しながら、基板処理装置の処理効率を向上できる。
以上、この発明の一実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態では、レシピによって規定される属性の例として、主として処理液の温度を例に説明したが、前述のとおり、処理液の種類についても、その変更に際して準備工程が必要な属性の例である。これらの例に限らず、開始または変更に際して準備が必要な属性がレシピで指定されている場合には、その属性が可能な限り連続するようにコントロールジョブの枠を越えてプロセスジョブの実行順序を入れ替えることにより、基板処理装置の生産効率を向上できる。
また、前述の実施形態では、一つの薬液キャビネットCC1が備えられている構成について説明したが、2つ以上の薬液キャビネットが備えられていてもよい。
また、前述の実施形態では、処理セクション2に1台の主搬送ロボットCRが備えられている構成について説明したが、2台以上の主搬送ロボットが備えられていてもよい。それらの2台以上の主搬送ロボットは、それぞれがインデクサロボットIRとの間で直接的に(他の主搬送ロボットを介さずに)基板Wの受け渡しを行うように配置されていてもよい。また、2台以上の主搬送ロボットのうちの少なくとも一台が、他の主搬送ロボットを介してインデクサロボットIRとの間で基板Wをやりとりするように配置されていてもよい。
また、前述の実施形態における処理ユニットMPC1~MPC12の配置および数についても一例に過ぎず、配置および数の変更が可能であることはもちろんである。むろん、複数の処理ユニットは、同種の処理ユニットであってもよいし、異なる種類の処理ユニットを含んでいてもよい。
また、前述の実施形態では、主として、ホストコンピュータ24からコントロールジョブデータが与えられる場合について説明したが、使用者が操作する操作装置(出入力部22の一例)からの指示によってコントロールジョブデータが制御部21に与えられてもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
1 :インデクサセクション
2 :処理セクション
3 :タンク
4 :温度調節ユニット
5 :ポンプ
15 :スピンチャック
16 :処理液ノズル
17 :処理室
20 :コンピュータ
21 :制御部
22 :出入力部
23 :記憶部
24 :ホストコンピュータ
25 :スケジューリング機能部
26 :処理実行指示部
30 :プログラム
31 :スケジュール作成プログラム
32 :処理実行プログラム
40 :コントロールジョブデータ
41 :プロセスジョブデータ
50 :スケジュールデータ
C :基板収容器
C1,C2 :薬液レシピ
CC1 :薬液キャビネット
CJ1~CJ3:コントロールジョブ
CR :主搬送ロボット
G1~G4 :処理ユニット群
IR :インデクサロボット
MPC1~MPC12:処理ユニット
PASS :受け渡しユニット
PJ11~PJ13:プロセスジョブ
PJ21~PJ23:プロセスジョブ
PJ31~PJ33:プロセスジョブ
ST1~ST4:ステージ
W :基板

Claims (17)

  1. 基板に対する処理を実行する処理ユニットを備えた基板処理装置によって基板を処理する基板処理方法であって、
    前記基板処理装置が、第1ロットに対する処理である第1コントロールジョブを規定する第1コントロールジョブ情報を受け付ける工程と、
    前記基板処理装置が、前記第1コントロールジョブ情報を受け付けた後に、第2ロットに対する処理である第2コントロールジョブを規定する第2コントロールジョブ情報を受け付ける工程と、を含み、
    前記第1コントロールジョブ情報が、前記第1ロットに含まれる1枚または複数枚の基板に対する第1レシピによる処理である第1プロセスジョブを規定する第1プロセスジョブ情報と、前記第1ロットに含まれる1枚または複数枚の基板に対する第2レシピによる処理である第2プロセスジョブを規定する第2プロセスジョブ情報と、を含み、
    前記第2コントロールジョブ情報が、前記第2ロットに含まれる1枚または複数枚の基板に対する第3レシピによる処理である第3プロセスジョブを規定する第3プロセスジョブ情報を含み、
    前記基板処理方法が、さらに
    前記第1レシピおよび前記第3レシピが共通する属性を含み、前記第2レシピが当該属性を含まない場合に、前記第1プロセスジョブおよび前記第2プロセスジョブの間に前記第3プロセスジョブを実行する順序で前記第1、第2および第3プロセスジョブの実行計画を策定するスケジューリング工程と、
    前記策定された実行計画に従って前記処理ユニットによって基板を処理する処理実行工程と、を含み、
    前記属性が、処理の連続実行が可能かどうかという観点で分類されている、基板処理方法。
  2. 前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
    前記スケジューリング工程が、前記第3プロセスジョブの後に前記第2レシピに含まれる属性に対応する準備工程を実行する計画を策定する、請求項1に記載の基板処理方法。
  3. 前記スケジューリング工程が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項1または2に記載の基板処理方法。
  4. 前記第1コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する工程をさらに含み、
    前記スケジューリング工程が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第1コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項1~3のいずれか一項に記載の基板処理方法。
  5. 前記第1レシピおよび前記第3レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める工程をさらに含み、
    前記スケジューリング工程が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリング工程を含む、請求項1~4のいずれか一項に記載の基板処理方法。
  6. 前記スケジューリング工程が、前記割込スケジューリング工程によって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する、請求項3~5のいずれか一項に記載の基板処理方法。
  7. 前記基板処理装置に対する、使用者による割込実行条件の入力を受け付ける工程をさらに含み、
    前記割込スケジューリング工程において、前記受け付けられた割込実行条件が適用される、請求項3~6のいずれか一項に記載の基板処理方法。
  8. 前記基板処理装置が、前記処理ユニットに処理液を供給する処理液供給ユニットを含み、
    前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、
    前記第1レシピおよび第3レシピが第1処理液条件を共通に指定しており、前記第2レシピが前記第1処理液条件とは異なる第2処理液条件を指定している、請求項1~7のいずれか一項に記載の基板処理方法。
  9. 基板処理装置に備えられるコンピュータによって実行されるプログラムであって、前記基板処理装置において、請求項1~8のいずれか一項に記載の方法を実行するようにステップ群が組みこまれたコンピュータプログラム。
  10. 基板に対する処理を実行する処理ユニットと、
    ロットに対する処理であるコントロールジョブを規定するコントロールジョブ情報であって、前記ロットに含まれる1枚または複数枚の基板に対する処理であるプロセスジョブを規定するプロセスジョブ情報を含むコントロールジョブ情報の入力を受け付けるコントロールジョブ情報受け付け手段と、
    前記プロセスジョブ情報に基づいて、基板に対する処理計画を策定するスケジューリング手段と、
    前記スケジューリング手段によって策定された処理計画に従って前記処理ユニットによって基板処理を実行させる処理実行制御手段と、を含み、
    前記コントロールジョブ情報受け付け手段が、第1ロットに対する処理である第1コントロールジョブを規定する第1コントロールジョブ情報を受け付け、前記第1コントロールジョブ情報を受け付けた後に、第2ロットに対する処理である第2コントロールジョブを規定する第2コントロールジョブ情報を受け付け、
    前記第1コントロールジョブ情報が、前記第1ロットに含まれる1枚または複数枚の基板に対する第1レシピによる処理である第1プロセスジョブを規定する第1プロセスジョブ情報と、前記第1ロットに含まれる1枚または複数枚の基板に対する第2レシピによる処理である第2プロセスジョブを規定する第2プロセスジョブ情報と、を含み、
    前記第2コントロールジョブ情報が、前記第2ロットに含まれる1枚または複数枚の基板に対する第3レシピによる処理である第3プロセスジョブを規定する第3プロセスジョブ情報を含み、
    前記スケジューリング手段が、前記第1レシピおよび前記第3レシピが共通する属性を含み、前記第2レシピが当該属性を含まない場合に、前記第1プロセスジョブおよび前記第2プロセスジョブの間に前記第3プロセスジョブを実行する順序で前記第1、第2および第3プロセスジョブの実行計画を策定し
    前記属性が、処理の連続実行が可能かどうかという観点で分類されている、基板処理装置。
  11. 前記属性が、前記処理ユニットでの処理開始前に準備工程を必要とする属性であり、
    前記スケジューリング手段が、前記第3プロセスジョブの後に前記第2レシピに含まれる属性に対応する準備工程を実行する計画を策定する、請求項10に記載の基板処理装置。
  12. 前記スケジューリング手段が、所定の割込実行条件が充足されると、未実行のプロセスジョブの計画を変更して、当該割込実行条件に基づいて選択されるプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項10または11に記載の基板処理装置。
  13. 前記第1コントロールジョブの実行開始からの経過を表すコントロールジョブライフを計測する手段をさらに含み、
    前記スケジューリング手段が、前記コントロールジョブライフが所定の閾値に達することを含む割込実行条件が充足されると、前記第1コントロールジョブに含まれる未処理のプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項10~12のいずれか一項に記載の基板処理装置。
  14. 前記第1レシピおよび前記第3レシピに共通する共通属性を用いた処理の継続状況を表す属性ライフを求める手段をさらに含み、
    前記スケジューリング手段が、前記属性ライフが所定の閾値に達することを含む割込実行条件が充足されると、前記共通属性を用いた処理を中断して、別の属性を有するレシピのプロセスジョブの割込実行を計画する割込スケジューリングを実行する、請求項10~13のいずれか一項に記載の基板処理装置。
  15. 前記スケジューリング手段が、前記割込スケジューリングによって割込実行が計画されたプロセスジョブに続いて、当該プロセスジョブのレシピと共通する属性を有するプロセスジョブの実行を計画する、請求項12~14のいずれか一項に記載の基板処理装置。
  16. 使用者による割込実行条件の入力を受け付ける手段をさらに含み、
    前記スケジューリング手段が、前記割込スケジューリングにおいて、前記受け付けられた割込実行条件を適用する、請求項12~15のいずれか一項に記載の基板処理装置。
  17. 前記処理ユニットに処理液を供給する処理液供給ユニットをさらに含み、
    前記属性が、前記処理液供給ユニットから供給される処理液に関する条件を含み、
    前記第1レシピおよび第3レシピが第1処理液条件を共通に指定しており、前記第2レシピが前記第1処理液条件とは異なる第2処理液条件を指定している、請求項10~16のいずれか一項に記載の基板処理装置。
JP2017099307A 2017-05-18 2017-05-18 基板処理方法および基板処理装置 Active JP7112836B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017099307A JP7112836B2 (ja) 2017-05-18 2017-05-18 基板処理方法および基板処理装置
JP2021130904A JP2021182433A (ja) 2017-05-18 2021-08-10 基板処理方法および基板処理装置
JP2023177145A JP2023182772A (ja) 2017-05-18 2023-10-13 基板処理装置および基板処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017099307A JP7112836B2 (ja) 2017-05-18 2017-05-18 基板処理方法および基板処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021130904A Division JP2021182433A (ja) 2017-05-18 2021-08-10 基板処理方法および基板処理装置

Publications (2)

Publication Number Publication Date
JP2018195145A JP2018195145A (ja) 2018-12-06
JP7112836B2 true JP7112836B2 (ja) 2022-08-04

Family

ID=64571376

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017099307A Active JP7112836B2 (ja) 2017-05-18 2017-05-18 基板処理方法および基板処理装置
JP2021130904A Pending JP2021182433A (ja) 2017-05-18 2021-08-10 基板処理方法および基板処理装置
JP2023177145A Pending JP2023182772A (ja) 2017-05-18 2023-10-13 基板処理装置および基板処理方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021130904A Pending JP2021182433A (ja) 2017-05-18 2021-08-10 基板処理方法および基板処理装置
JP2023177145A Pending JP2023182772A (ja) 2017-05-18 2023-10-13 基板処理装置および基板処理方法

Country Status (1)

Country Link
JP (3) JP7112836B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139667A (ja) 2015-01-26 2016-08-04 株式会社Screenホールディングス 基板処理方法および基板処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3200952B2 (ja) * 1992-04-30 2001-08-20 松下電器産業株式会社 マルチリアクタタイプのプロセス設備制御装置
JP3880348B2 (ja) * 2001-09-10 2007-02-14 大日本スクリーン製造株式会社 基板処理装置のスケジュール作成方法及びそのプログラム
JP2003086481A (ja) * 2001-09-11 2003-03-20 Dainippon Screen Mfg Co Ltd 基板処理装置のスケジュール作成方法及びそのプログラム
JP4181522B2 (ja) * 2004-04-12 2008-11-19 沖電気工業株式会社 製造工程管理方法
JP2009037406A (ja) * 2007-08-01 2009-02-19 Panasonic Corp 生産管理方法および生産管理システム
JP5552265B2 (ja) * 2009-06-24 2014-07-16 東京エレクトロン株式会社 基板処理装置の制御方法及び記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139667A (ja) 2015-01-26 2016-08-04 株式会社Screenホールディングス 基板処理方法および基板処理装置

Also Published As

Publication number Publication date
JP2021182433A (ja) 2021-11-25
JP2023182772A (ja) 2023-12-26
JP2018195145A (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
JP5852908B2 (ja) 基板処理装置のためのスケジュール作成方法およびスケジュール作成プログラム
JP5168300B2 (ja) 基板処理装置及び基板処理方法
KR102285183B1 (ko) 기판 처리 장치를 위한 스케줄 작성 방법 및 스케줄 작성 프로그램을 기록한 기록 매체
JP6626392B2 (ja) 基板処理装置および基板処理方法
JP6313671B2 (ja) 基板処理装置のためのスケジュール作成方法および基板処理装置
JP6481977B2 (ja) 基板処理方法および基板処理装置
JP2012235087A (ja) 基板処理装置、基板処理方法及び記憶媒体
JP6512445B2 (ja) 基板処理装置および基板処理方法
TWI770598B (zh) 基板處理方法、基板處理裝置及電腦可讀取之記錄媒體
JP7112836B2 (ja) 基板処理方法および基板処理装置
JP5847515B2 (ja) 基板処理装置のためのスケジュール作成方法およびスケジュール作成プログラム
JP6538436B2 (ja) 基板処理装置および基板処理方法
JP2003086481A (ja) 基板処理装置のスケジュール作成方法及びそのプログラム
JP2021036582A (ja) スケジュール作成方法およびスケジュール作成装置
JP6435388B2 (ja) 基板処理方法および基板処理装置
JP6573693B2 (ja) 基板処理装置のためのスケジュール作成方法および基板処理装置
JP5189534B2 (ja) 基板処理装置のスケジュール作成方法及びそのプログラム
JP5466380B2 (ja) 基板処理装置のスケジュール作成方法及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210513

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210810

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220106

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220401

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220526

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220602

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220630

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7112836

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150