(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-26
(45)【発行日】2024-04-03
(54)【発明の名称】温度制御方法、半導体装置の製造方法、プログラム及び基板処理装置
(51)【国際特許分類】
H01L 21/324 20060101AFI20240327BHJP
【FI】
H01L21/324 T
(21)【出願番号】P 2022551113
(86)(22)【出願日】2020-09-28
(86)【国際出願番号】 JP2020036712
(87)【国際公開番号】W WO2022064713
(87)【国際公開日】2022-03-31
【審査請求日】2023-01-19
(73)【特許権者】
【識別番号】318009126
【氏名又は名称】株式会社KOKUSAI ELECTRIC
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】山口 英人
(72)【発明者】
【氏名】上野 正昭
(72)【発明者】
【氏名】重松 聖也
(72)【発明者】
【氏名】杉下 雅士
(72)【発明者】
【氏名】前田 修平
【審査官】桑原 清
(56)【参考文献】
【文献】特開2019-145730(JP,A)
【文献】国際公開第2006/070552(WO,A1)
【文献】国際公開第2007/102454(WO,A1)
【文献】特開2000-183072(JP,A)
【文献】特開2013-161857(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/324
(57)【特許請求の範囲】
【請求項1】
予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する温度制御方法において、
現在温度と最終目標温度と温度収束用ランプレートに従って、前記将来の目標温度列を更新する温度制御方法。
【請求項2】
予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する温度制御方法において、
現在温度と最終目標温度と温度収束指定時間に従って、前記将来の目標温度列を更新する温度制御方法。
【請求項3】
前記将来の目標温度列を更新する際の現在温度は、指定された参照指定ゾーンの現在温度に置き換えて適用される請求項1又は2記載の温度制御方法。
【請求項4】
前記予測温度列をベクトル形式で表した予測温度ベクトルのうち今回算出した電力供給値に影響されて変化する量を示す個別入力応答特性行列と、前記予測温度ベクトルのうち過去の炉内温度と過去の電力供給値に影響されて変化する量を示す個別ゼロ応答特性ベクトルを算出する請求項1又は2記載の温度制御方法。
【請求項5】
前記個別入力応答特性行列と前記個別ゼロ応答特性ベクトル、及び前記将来の目標温度列をベクトル形式で表した目標温度列ベクトルを用いて、統合特性方程式を作成する工程と、
前記統合特性方程式を作成する工程で算出される、統合入力応答特性行列及び統合ゼロ応答特性ベクトルと、統合目標温度ベクトルと、各ゾーンの上下限値をそれぞれ入力し、前記統合特性方程式を有効制約法によって、今回の電力供給値を計算する工程と、
を更に有する請求項4記載の温度制御方法。
【請求項6】
前記予測モデルは、ヒータ温度、および、炉内温度のうち少なくとも一方の温度を予測する予測モデルにかかる係数、係数誤差相関行列、基準温度、および、定常パワー値を含む請求項1又は2に記載の温度制御方法。
【請求項7】
前記予測モデルにかかる係数、係数誤差相関行列、基準温度、および、定常パワー値よりなる群から選択される少なくとも一つは、各ゾーンのヒータ温度、および、各ゾーンの炉内温度に関してそれぞれ定義されている請求項6記載の温度制御方法。
【請求項8】
全ゾーンのヒータ温度、および、全ゾーンの炉内温度に関する予測モデルは、それらのすべてを1組として、各温度帯に対応している請求項6記載の温度制御方法。
【請求項9】
前記予測モデルは、前記炉内温度の予測温度を計算する次の式1で示される請求項6記載の温度制御方法。
【数1】
ここで、Δy(t)は、時刻tの予測温度の基準温度からのずれ、y(t-1),y(t-2)は、1回前、2回前の温度の基準温度からのずれ、p
a(t-1),p
a(t-2),・・・,p
a(t-n)は、1回前、2回前、・・・、n回前のゾーンaの電力供給値の定常パワー値からのずれ、p
b(t-1),p
b(t-2),・・・,p
b(t-n)は、1回前、2回前、・・・、n回前のゾーンbの電力供給値の定常パワー値からのずれ、p
c(t-1),p
c(t-2),・・・,p
c(t-n)は、1回前、2回前、・・・、n回前のゾーンcの電力供給値の定常パワー値からのずれ、p
d(t-1),p
d(t-2),・・・,p
d(t-n)は、1回前、2回前、・・・、n回前のゾーンdの電力供給値の定常パワー値からのずれ、p
e(t-1),p
e(t-2),・・・,p
e(t-n)は、1回前、2回前、・・・、n回前のゾーンeの電力供給値の定常パワー値からのずれ、a
1,a
2,ma
1,・・・,ma
n,mb
1,・・・,mb
n,mc
1,・・・,mc
n,md
1,・・・,md
n,me
1,・・・,me
nは、それぞれの係数である。biは、定数項である。n値は、各種パラメータに設定される値である。
【請求項10】
前記予測モデルは、前記ヒータ温度の予測温度を計算する次の式2で示される請求項6記載の温度制御方法。
【数2】
ここで、Δy
h(t)は、時刻tのヒータ温度の予測温度の基準温度からのずれ、y
h(t-1),y
h(t-2)は、1回前、2回前のヒータ温度の基準温度からのずれ、p(t-1),p(t-2),・・・,p(t-n)は、1回前、2回前、・・・、n回前の対応ゾーンの電力供給値の定常パワー値からのずれ、a
1,a
2,m
1,m
2,・・・,m
nは、それぞれの係数、biは、定数項、n値は、予め各種パラメータとして設定される値である。
【請求項11】
前記統合特性方程式は、次の式7、式8で示される請求項5記載の温度制御方法。
【数3】
ここで、U
dsrは統合入力応答特性行列、U
zrは統合ゼロ応答特性ベクトル、U
tgは統合目標温度ベクトルを示している。
【請求項12】
前記統合特性方程式は、炉内温度の予測温度列と、炉内温度の目標温度列と、を含む請求項5記載の温度制御方法。
【請求項13】
前記統合特性方程式は、次の式9、式10で表される評価関数fを最大にする解ベクトルxを求めるよう構成されている請求項5記載の温度制御方法。
【数4】
ここで、c,Q,b,Aは、与えられた定数行列またはベクトルである。また、Tは転置を表す。
【請求項14】
前記評価関数fは、目標温度列と予測温度列の誤差の2乗を最小になるように構成されている請求項13記載の温度制御方法。
【請求項15】
基板保持具に保持された複数枚の基板を処理室内へ搬入する基板搬入工程と、前記基板を処理する基板処理工程と、前記基板を前記処理室内から搬出する基板搬出工程と、を有する半導体装置の製造方法であって、
前記基板搬入工程では、予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する工程を有し、
前記ヒータ供給電力を制御する工程では、現在温度と最終目標温度と温度収束用ランプレートに従って、前記将来の目標温度列を更新する
半導体装置の製造方法。
【請求項16】
基板保持具に保持された複数枚の基板を処理室内へ搬入する基板搬入工程と、前記基板を処理する基板処理工程と、前記基板を前記処理室内から搬出する基板搬出工程と、を有する半導体装置の製造方法であって、
前記基板搬入工程では、予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する工程を有し、
前記ヒータ供給電力を制御する工程では、現在温度と最終目標温度と温度収束指定時間に従って、前記将来の目標温度列を更新する
半導体装置の製造方法。
【請求項17】
予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する手順を基板処理装置に実行させるプログラムであって、
前記ヒータ供給電力を制御する手順では、現在温度と最終目標温度と温度収束用ランプレートに従って、前記将来の目標温度列を更新する手順を実行させるプログラム。
【請求項18】
予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する手順を基板処理装置に実行させるプログラムであって、
前記ヒータ供給電力を制御する手順では、現在温度と最終目標温度と温度収束指定時間に従って、前記将来の目標温度列を更新する手順を実行させるプログラム。
【請求項19】
反応管の外側に設けられ、基板保持具に保持された基板を加熱するヒータと、
ヒータ温度、および、炉内温度のうち少なくともいずれか一つの温度データを記憶する温度履歴領域と、前記ヒータ温度、および、前記炉内温度のうち少なくともいずれか一つの温度データを予測する予測モデルを記憶する予測モデル記憶領域と、を備え、前記予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御し、現在温度と最終目標温度と温度収束用ランプレートに従って、前記将来の目標温度列を更新することが可能なよう構成される温度制御部と、
を備える基板処理装置。
【請求項20】
反応管の外側に設けられ、基板保持具に保持された基板を加熱するヒータと、
ヒータ温度、および、炉内温度のうち少なくともいずれか一つの温度データを記憶する温度履歴領域と、前記ヒータ温度、および、前記炉内温度のうち少なくともいずれか一つの温度データを予測する予測モデルを記憶する予測モデル記憶領域と、を備え、前記予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御し、現在温度と最終目標温度と温度収束指定時間に従って、前記将来の目標温度列を更新することが可能なよう構成される温度制御部と、
を備える基板処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、温度制御方法、半導体装置の製造方法、プログラム及び基板処理装置に関する。
【背景技術】
【0002】
半導体製造装置において、例えば処理基板に薄膜を形成するために炉内に基板を収容し、炉内を加熱する。そして、炉内を適切な温度に維持したり、炉内を指定した温度変化に追従させたりするために、制御装置が予め設定された温度に基づいて温度制御を行っている。
【0003】
一般的に使用される温度制御は、比例・積分・微分(以下、PID)演算によるフィードバック制御により、所望の温度に近づくように、炉内を加熱するヒータの電力量の制御を行っている。このPID演算によるフィードバック制御では、適切な比例パラメータ、積分パラメータ、微分パラメータ(以下、PIDパラメータ)を予め定めておく必要がある。このPIDパラメータは、ヒータの温度特性に合わせて最適値を定めることが望ましい。
【0004】
例えば、特許文献1は、パターン発生部により出力される操作量と、目標値および制御検出値が加算器を介して入力される調整部により出力される操作量とを切り替えて出力する切替器を有する半導体製造装置を開示する。また、特許文献2は、予め温度特性を自動取得した後に、その特性を利用して温度制御することで調整者による制御性能のばらつきを防止する半導体製造装置を開示する。
【0005】
しかしながら、上述したような温度制御では、基板を保持した基板保持具を炉内に投入する際、炉内温度が一度低下して元の炉内温度に戻るときにオーバーシュートが発生し、収束させるまでのリカバリ時間が長くなってしまう。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2000-183072号公報
【文献】特開2019-145730号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、基板保持具を炉内に挿入する際、オーバーシュートを抑制して、目標とする温度へ速やかに収束できるようにする技術を提供することにある。
【課題を解決するための手段】
【0008】
本開示の一態様によれば、予め保持している予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する技術において、現在温度と最終目標温度と温度収束用ランプレートに従って、前記将来の目標温度列を更新する技術が提供される。
【発明の効果】
【0009】
本開示によれば、オーバーシュートを抑制して、炉内温度を目標とする温度へ速やかに収束させることができる。
【図面の簡単な説明】
【0010】
【
図1】本開示の一実施形態に係る基板処理装置の処理炉を示す縦断面図である。
【
図2】本開示の一実施形態に係る温度制御部によりヒータの温度調節を行なう構成の一例を示す模式図である。
【
図3】本開示の一実施形態に係る温度制御部の制御構成を示すブロック図である。
【
図4】
図4(A)~
図4(D)は、
図3に示す予測モデル記憶領域に格納されるデータの一例を示す図である。
【
図5】
図3に示す予測モデル記憶領域に格納されるデータの他の例を示す図である。
【
図6】本開示の一実施形態に係る温度制御部の内部の制御ブロック図である。
【
図7】本開示で使用する第1の有効制約法を説明するフロー図である。
【
図8】本開示で使用する第2の有効制約法を説明するフロー図である。
【
図9】本開示の一実施形態に係る温度制御部の熱特性の自動取得手順の例を示すフロー図である。
【
図10】
図9に示す自動取得手順の例における温度制御部の内部の制御ブロック図である。
【
図11】
図11(A)は、基板処理工程の一例を示すフロー図であり、
図11(B)は、
図11(A)の各処理工程における炉内温度の変化を示す図である。
【
図12】本開示の第1の実施形態に係る温度制御部を用いた場合の
図11(A)のステップS102における処理を説明するための図である。
【
図13】本開示の第2の実施形態に係る温度制御部を用いた場合の
図11(A)のステップS102における処理を説明するための図である。
【
図14】本開示の第3の実施形態に係る温度制御部を用いた場合の
図11(A)のステップS102における処理を説明するための図である。
【
図15】比較例に係る温度制御による炉内の温度軌跡を示した図である。
【
図16】
図16(A)は、本実施例に係る温度制御による炉内の温度軌跡を示した図であり、
図16(B)は、本実施例に係る温度制御による炉内の温度軌跡を示した図であって、炉内の基板の枚数を
図16(A)の半分にして行った図である。
【発明を実施するための形態】
【0011】
<本開示の一実施形態>
以下に、本開示の一実施形態について説明する。
【0012】
図1は本開示の一実施形態に係る半導体装置の製造に用いられる基板処理装置の処理炉202の概略構成図であり、縦断面図として示されている。なお、以下の説明において用いられる図面は、いずれも模式的なものであり、図面に示される、各要素の寸法の関係、各要素の比率等は、現実のものとは必ずしも一致していない。また、複数の図面の相互間においても、各要素の寸法の関係、各要素の比率等は必ずしも一致していない。
【0013】
図1に示されているように、処理炉202は加熱機構としてのヒータ206を有する。ヒータ206は円筒形状であり、保持板としてのヒータベース251に支持されることにより垂直に据え付けられている。
【0014】
ヒータ206の内側には、例えば、炭化珪素(SiC)等の耐熱性材料により構成され、上端が閉塞し、下端が開口した円筒形状である均熱管(外管)205が、ヒータ206と同心円状に配設されている。また、均熱管205の内側には、例えば石英(SiO2)等の耐熱性材料により構成され、上端が閉塞し、下端が開口した円筒形状である反応管(内管)204が、均熱管205と同心円状に配設されている。反応管204の筒中空部には処理室201が形成されており、基板としてのウエハ200を後述するボート217によって水平姿勢で垂直方向に多段に整列した状態で収容可能に構成されている。
【0015】
反応管204の下端部にはガス導入部230が設けられており、ガス導入部230から反応管204の天井部233に至るまで反応管204の外壁に添ってガス導入管としての細管234が配設されている。ガス導入部230から導入されたガスは、細管234内を流通して天井部233に至り、天井部233に設けられた複数のガス導入口233aから処理室201に導入される。また、反応管204の下端部のガス導入部230と異なる位置には、反応管204内の雰囲気を排気口231aから排気するガス排気部231が設けられている。
【0016】
ガス導入部230には、ガス供給管232が接続されている。ガス供給管232のガス導入部230との接続側と反対側である上流側には、ガス流量制御器としてのMFC(マスフローコントローラ)241を介して図示しない処理ガス供給源、キャリアガス供給源、不活性ガス供給源が接続されている。なお、処理室201に水蒸気を供給する必要がある場合は、ガス供給管232のMFC241よりも下流側に、図示しない水蒸気発生装置が設けられる。MFC241には、ガス流量制御部235が電気的に接続されており、供給するガスの流量が所望の量となるよう所望のタイミングにて制御することが可能なように構成されている。
【0017】
ガス排気部231には、ガス排気管229が接続されている。ガス排気管229のガス排気部231との接続側とは反対側である下流側には圧力検出器としての圧力センサ245および圧力調整装置242を介して排気装置246が接続されており、処理室201の圧力が所定の圧力となるよう排気し得るように構成されている。圧力調整装置242および圧力センサ245には、圧力制御部236が電気的に接続されており、圧力制御部236は圧力センサ245により検出された圧力に基づいて圧力調整装置242により処理室201の圧力が所望の圧力となるよう所望のタイミングにて制御することが可能なように構成されている。
【0018】
反応管204の下端部には、反応管204の下端開口を気密に閉塞可能な保持体としてのベース257と、炉口蓋体としてのシールキャップ219とが設けられている。シールキャップ219は例えばステンレス等の金属により構成され、円盤状に形成されている。ベース257は例えば石英により構成され、円盤状に形成され、シールキャップ219の上に取付けられている。ベース257の上面には反応管204の下端と当接するシール部材としてのOリング220が設けられる。シールキャップ219の処理室201と反対側には、ボートを回転させる回転機構254が設置されている。回転機構254の回転軸255はシールキャップ219とベース257を貫通して、断熱筒218とボート217に接続されており、断熱筒218およびボート217を回転させることでウエハ200を回転させるように構成されている。シールキャップ219は反応管204の外部に垂直に設備された昇降機構としてのボートエレベータ115によって垂直方向に昇降されるように構成されており、これによりボート217を処理室201に対し搬入搬出することが可能となっている。回転機構254及びボートエレベータ115には、駆動制御部237が電気的に接続されており、所望の動作をするよう所望のタイミングにて制御することが可能なように構成されている。
【0019】
基板保持具としてのボート217は、例えば石英や炭化珪素等の耐熱性材料により構成され、複数枚のウエハ200を水平姿勢でかつ互いに中心を揃えた状態で整列させて保持するように構成されている。ボート217の下方には、例えば石英や炭化珪素等の耐熱性材料により構成される円筒形状をした断熱部材としての断熱筒218がボート217を支持するように設けられており、ヒータ206からの熱が反応管204の下端側に伝わりにくくなるように構成されている。
【0020】
処理炉202には温度検出器として2種類のセンサが設けられている。すなわち、反応管204と均熱管205の間には、温度検出器としての第1の温度センサ263が設置されている。また、均熱管205とヒータ206の間には、温度検出器としての第2の温度センサ264が設置されている。この第1の温度センサ263及び第2の温度センサ264はそれぞれ複数の熱電対を用いて温度を検出している。なお、第1の温度センサ263及び第2の温度センサ264については詳細を後述する。ヒータ206、第1の温度センサ263、及び第2の温度センサ264には、電気的に温度制御部238が接続されている。
【0021】
ガス流量制御部235、圧力制御部236、駆動制御部237、温度制御部238、操作部239は、主制御部240として構成されている。操作部239は、それぞれ図示しない入出力部や表示部を備え、ガス流量制御部235、圧力制御部236、駆動制御部237、温度制御部238、とデータのやり取りが可能なように構成されている。また、主制御部240には、上位コントローラ36が接続されている。上位コントローラ36は、操作部239と同様に、入出力部等が構成されており、上位コントローラ36に基づいて主制御部240が制御されるように構成してもよい。
【0022】
図2は、第1の温度センサ263及び第2の温度センサ264を用いて温度制御部238によりヒータ206の温度調節を行なう構成の一例を示す模式図である。
【0023】
図2に示した例では、ヒータ206を鉛直方向に5分割し、それぞれの領域を上からゾーンa、ゾーンb、ゾーンc、ゾーンd、ゾーンeとする。
【0024】
第1の温度センサ263は、反応管204と均熱管205の間の温度を検出する。第1の温度センサ263には、各ゾーンに対応してカスケード熱電対である熱電対263a,263b,263c,263d,263eがそれぞれ設置されている。
【0025】
第2の温度センサ264は、均熱管205とヒータ206の間の温度を検出する。第2の温度センサ264には、各ゾーンに対応してヒータ熱電対である熱電対264a,264b,264c,264d,264eがそれぞれ設置されている。
【0026】
すなわち、熱電対263a~263e及び熱電対264a~264eにより検出された温度情報に基づき、温度制御部238によりヒータ206の各ゾーンへの通電具合を調整し、処理室201の温度が上位コントローラ36により設定された処理温度になるよう所望のタイミングにて制御することが可能なように構成されている。
【0027】
以下において、第2の温度センサ264(熱電対264a~264e)による検出温度をヒータ温度とし、第1の温度センサ263(熱電対263a~263e)による検出温度を炉内温度として説明する。
【0028】
図3は、温度制御部238の制御構成を示すブロック図である。
【0029】
温度制御部238は、
図3に示されるように、CPU712、通信インタフェース(IF)716、電力供給部718、表示・入力装置720、温度入力回路722を備え、これらの構成要素は、制御バス714を介して互いに接続されている。また、制御バス714に接続された記憶部としてのメモリまたは記憶装置には、プログラム格納領域726、予測モデル記憶領域854、温度履歴記憶領域850、電力供給値履歴記憶領域852、パラメータ記憶領域856等が備えられている。
【0030】
温度履歴記憶領域850には、第2の温度センサ264により温度入力回路722を介して検出されたヒータの温度であるヒータ温度の温度データの履歴(ヒータ温度情報)が、一定期間、記憶される。また、第1の温度センサ263により温度入力回路722を介して検出された処理室201の温度である炉内温度の温度データの履歴(炉内温度情報)が、一定期間、記憶される。
【0031】
電力供給値履歴記憶領域852には、ヒータ206への電力供給値(0~100%)の履歴(電力供給値情報)が、一定期間だけ記憶される。
【0032】
予測モデル記憶領域854には、ヒータ温度及び炉内温度のうち少なくともいずれか一つの温度データの予測温度を予測する予測モデルが温度帯毎に記憶される。具体的には、予測モデルにかかる係数、後述する係数誤差相関行列、基準温度及び定常パワー値が記憶される。予測モデルにかかる係数、係数誤差相関行列、基準温度及び定常パワー値は、各ゾーンのヒータ温度及び炉内温度毎にそれぞれ記憶されている。また、全ゾーンのヒータ温度及び炉内温度に関する予測モデルは、それらの全てを1組として、各温度帯に対応して複数組が記憶されている。これにより、複数の温度帯に対応できるように構成される。
【0033】
ここで、基準温度とは、ヒータ温度および炉内温度が定常状態にあるときの温度である。また、定常パワー値とは、予測モデルの基準値であって、ヒータ温度および炉内温度が基準温度にて定常状態にあるときの、各ゾーンの電力供給値である。
【0034】
例えば、予測モデル記憶領域854には、
図4または
図5に示されるような予測モデルに関するデータがテーブル形式で記憶される。
【0035】
図4(A)は、ゾーンaのヒータ温度の予測モデルに関する基準値であって、基準温度を101℃とした場合にゾーンaのヒータ温度が基準温度で定常状態にあるときのゾーン毎の電力供給量を示している。
図4(B)は、ゾーンbのヒータ温度の予測モデルに関する基準値であって、基準温度を111℃とした場合にゾーンbのヒータ温度が基準温度で定常状態にあるときのゾーン毎の電力供給量を示している。以下、同様なテーブルが、ゾーンcからゾーンeまで作成され記憶されている。
【0036】
図4(C)は、ゾーンaの炉内温度の予測モデルに関する基準値であって、基準温度を202℃とした場合にゾーンaの炉内温度が基準温度で定常状態にあるときのゾーン毎の電力供給量を示している。
図4(D)は、ゾーンbの炉内温度の予測モデルに関する基準値であって、基準温度を212℃とした場合にゾーンbの炉内温度が基準温度で定常状態にあるときのゾーン毎の電力供給量を示している。以下、同様なテーブルが、ゾーンcからゾーンeまで作成され記憶されている。
【0037】
図5は、例えば、ゾーンaの電力供給量10%、ゾーンbの電力供給量20%、ゾーンcの電力供給量30%、ゾーンdの電力供給量40%、ゾーンeの電力供給量50%としてその状態を保持し、十分な時間が経過して定常状態になったときにゾーンaのヒータ温度は100℃、炉内温度は200℃、ゾーンbのヒータ温度は110℃、炉内温度は210℃、ゾーンcのヒータ温度は120℃、炉内温度は220℃、ゾーンdのヒータ温度は130℃、炉内温度は230℃、ゾーンeのヒータ温度は140℃、炉内温度は240℃となることを示している。この場合は、定常状態での電力供給値を合わせる必要があるが、
図4に示す場合と比較して記憶領域を小さくすることができる。
【0038】
パラメータ記憶領域856には、予測モデルを実現するための各種パラメータが記憶されている。
【0039】
プログラム格納領域726には、所定の温度帯における予測モデルを選択し、温度データを入力し予測温度が最適となるように制御する温度制御プログラムが格納される。また、プログラム格納領域726には、予め保持している炉内温度の予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する手順を基板処理装置に実行させるプログラムが格納される。
【0040】
CPU712は、メモリまたは記憶装置に格納されたプログラム格納領域726に格納された温度制御プログラムに基づいて所定の処理を実行する。CPU712は、通信IF716を介して上位コントローラ36と通信し、目標温度を取得することができる。また、CPU712は、炉内温度とヒータ温度を検出し、温度入力回路722を介して制御信号を電力供給部718へ出力してヒータ206の各ゾーンa~ゾーンeに対してそれぞれ電力量を制御して供給することができる。
【0041】
すなわち、温度制御部238は、温度履歴や電力供給値履歴や各種パラメータを、それぞれ温度履歴記憶領域850、電力供給値履歴記憶領域852及びパラメータ記憶領域856から取得し、予測モデル記憶領域854に記憶された予測モデルを使用して温度制御プログラムを実行することにより、ヒータ206を制御することが可能なよう構成されている。本実施形態では、温度制御部238が、予め保持している炉内温度の予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御する手順を基板処理装置に実行させるプログラムを実行したときの一例として説明する。また、本実施形態では、予測モデルを利用して特性方程式を作成する手順と、該特性方程式の解を計算する手順を更に設けるよう構成されている。
【0042】
表示・入力装置720は、パラメータ記憶領域856に記憶されている各種パラメータ等を表示・入力することができる。
【0043】
[予測モデル]
次に、上述した予測モデル記憶領域854に格納される予測モデルついて説明する。ここで、予測モデルとは、予測温度を計算する数式であって次の式1を使用する。
【数1】
【0044】
ここで、Δy(t)は、時刻tの予測温度の基準温度からのずれである。また、y(t-1),y(t-2)は、1回前、2回前の温度の基準温度からのずれである。また、pa(t-1),pa(t-2),・・・,pa(t-n)は、1回前、2回前、・・・、n回前のゾーンaの電力供給値の定常パワー値からのずれ、pb(t-1),pb(t-2),・・・,pb(t-n)は、1回前、2回前、・・・、n回前のゾーンbの電力供給値の定常パワー値からのずれ、pc(t-1),pc(t-2),・・・,pc(t-n)は、1回前、2回前、・・・、n回前のゾーンcの電力供給値の定常パワー値からのずれ、pd(t-1),pd(t-2),・・・,pd(t-n)は、1回前、2回前、・・・、n回前のゾーンdの電力供給値の定常パワー値からのずれ、pe(t-1),pe(t-2),・・・,pe(t-n)は、1回前、2回前、・・・、n回前のゾーンeの電力供給値の定常パワー値からのずれである。
【0045】
a1,a2,ma1,・・・,man,mb1,・・・,mbn,mc1,・・・,mcn,md1,・・・,mdn,me1,・・・,menは、それぞれの係数である。biは、定数項である。n値は、パラメータ記憶領域856に予め設定しておく値である。
【0046】
ここで、Δy(t)は、時刻tの予測温度の基準温度からのずれであるので、最終的な予測温度は(Δy(t)+基準温度)である。しかし以下、簡略化してΔy(t)そのものを予測温度と記すことがある。
【0047】
予測モデルは、ゾーン毎にヒータ温度、炉内温度のそれぞれについて記憶され、制御演算に使用することができる。具体的には、例えば、ゾーンaの炉内温度の予測温度に関する予測モデルや、ゾーンeのヒータ温度の予測温度に関する予測モデル等が記憶されている。なお、上述した式1に示した温度は、ヒータ温度の場合と、炉内温度の場合を含んでいる。
【0048】
基準温度および定常パワー値は、後述する熱特性の自動取得手順において予測モデルを作成する前段で取得される。定数項biは、予め取得した基準温度や定常パワー値が、実際よりずれていた場合の調整項である。もし予め取得した基準温度や定常パワー値が時刻の経過とともに不変であるならば、熱特性の自動取得手順後に得られる式1に示される予測モデルの定数項はbi=0が期待される。しかし、周囲の環境変化、電力変動、熱電対ノイズ等により、基準温度や定常パワー値は時々刻々変化するため、予測モデル(式1)に含めている。
【0049】
また、基準温度および定常パワー値は、対象とする温度帯によって値が違い、かつ、それらは非線形であることが想定される。基準温度および定常パワー値が不正確であると、予測温度の精度が低くなり、制御性能を左右してしまうため、基準温度および定常パワー値は上述の酸化・拡散処理にて前述した所定の処理温度の近傍で取得することが望ましい。
【0050】
式1によると、温度が基準温度であり、電力供給量が定常パワー値であって、その状態が継続する場合、y(t-1),y(t-2)は零、pa(t-1),・・・,pa(t-n),・・・,pe(t-1),・・・pe(t-n)も全て零となりその結果、Δy(t)=biとなるので、予測温度=bi+基準温度となる。もし、基準温度や定常パワー値が不変であり、bi=0を得ていれば、予測温度=基準温度となる。つまり、基準温度での定常状態において、式1の予測モデルが妥当であることが示されている。
【0051】
また、上述した式1によると、例えばゾーンaの炉内温度に関する予測モデルだとすれば、各係数に依存して、ゾーンaの電力供給量のみならず、ゾーンb、ゾーンc等の電力供給量も、ゾーンaの炉内温度に影響することを示している。これにより、各係数に依存して、ゾーン間の相互熱干渉を表現することができる。
【0052】
また、上述した式1の予測モデルは、一組の基準温度に関して、その周辺の温度を予測する。温度の上昇特性下降特性は対象とする温度帯によって違うことが想定されるため、予測モデル記憶領域854では、複数の温度帯の予測モデルを保持することができ、いずれかを選択できる。
【0053】
また、ヒータ温度の予測モデルに関しては、計算を簡略化するため、次の式2を代用する場合がある。
【数2】
【0054】
ここで、Δyh(t)は、時刻tのヒータ温度の予測温度の基準温度からのずれである。また、yh(t-1),yh(t-2)は、1回前、2回前のヒータ温度の基準温度からのずれ、p(t-1),p(t-2),・・・,p(t-n)は、1回前、2回前、・・・、n回前の対応ゾーンの電力供給値の定常パワー値からのずれ、a1,a2,m1,m2,・・・,mnは、それぞれの係数である。biは、定数項である。n値は、パラメータ記憶領域856に予め設定しておく値である。
【0055】
すなわち、上述した式2においては、ヒータ温度の予測温度に対し、対応するゾーンからの電力供給値のみが作用する。そして、対応するゾーン以外からの熱干渉を考慮しない。例えば、ゾーンaのヒータ温度の予測を計算する場合、ゾーンaの電力供給値のみを使用している。これは、
図2に示されるように、第2の温度センサ264の熱電対264aがヒータ206の近傍に設置されるために、分割した他のゾーンのヒータ206からの熱影響が全くないかまたは無視できるほど小さいと想定されるからである。
【0056】
また、式2においては、式1と比較して積和計算の計算量が減るので、予測温度を算出する処理が高速になる。さらに、後述する熱特性の自動取得手順で求めるべき予測モデルの係数の数が少なくなるので、処理が高速になるというメリットがある。
【0057】
図6は、温度制御部238の内部の制御ブロック図を示す図である。
【0058】
図6に示されるように、上位コントローラ36と温度制御部238とヒータ206が接続され、入力端Sには、上位コントローラ36からの目標温度が入力される。入力端Fには、第1の温度センサ263からの炉内温度が入力される。入力端Hには、第2の温度センサ264からのヒータ温度が入力される。
【0059】
目標温度及び入力端Sは、第1の温度センサ263の熱電対263a~263eの個数分だけ存在するが、
図6では、同一構成のため一つだけ図示している。同様に、入力端Fは、第1の温度センサ263の熱電対263a~263eの個数分だけ存在するが、
図6では、同一構成のため一つだけ図示している。同様に、入力端Hは、第2の温度センサ264の熱電対264a~264eの個数分だけ存在するが、
図6では、同一構成のため一つだけ図示している。
【0060】
温度制御部238の内部は、温度履歴記憶部800、電力供給値履歴記憶部802、個別特性作成部804、目標温度列算出部870、統合特性作成部808、制約付き最適化計算部810、リミッタ812、電力供給部718により構成されている。
【0061】
温度履歴記憶部800は、入力端Fから第1の温度センサ263からの炉内温度を入力し、温度履歴記憶領域850に一定期間記憶させる。温度履歴記憶部800は、温度履歴記憶領域850内に対し、最初に取得した炉内温度から所定間隔で順々に書き込んでいく。温度履歴記憶領域850がデータで満たされた以降は、最も古いデータを捨て、その位置に新しいデータを書き込む。そのようにして、常に現在から一定期間だけ過去の炉内温度のデータを記憶する。
【0062】
時刻の理解を統一するため、制御アルゴリズムで示す今回tの処理で書き込まれた炉内温度は、式1で示すところのy(t-1)(=1回前の温度)として扱う。取得した炉内温度は、書き込む時刻までの熱電対263a~263eの起電力の平均から算出する温度である。
【0063】
電力供給値履歴記憶部802は、出力端Pから出力する電力供給値を入力し、電力供給値履歴記憶領域852にそのデータを一定期間記憶させる。電力供給値履歴記憶部802は、電力供給値履歴記憶領域852内に対し、最初に取得した電力供給値から所定間隔で順々に書き込んでいく。電力供給値履歴記憶領域852がデータで満たされた以降は、最も古いデータを捨て、その位置に新しいデータを書き込む。そのようにして、常に現在から一定期間だけ過去の電力供給値のデータを記憶する。
【0064】
時刻の理解を統一するため、制御アルゴリズムで示す今回tの処理で書き込まれた電力供給値は、式1で示すところの、pa(t-1),pb(t-1),pc(t-1),pd(t-1),pe(t-1)(=1回前の電力供給値)として扱う。これは、前回の処理で算出され、今回の時刻まで継続して供給される電力量を示す値である。
【0065】
個別特性作成部804は、予測モデル記憶領域854から当該ゾーンの炉内温度の予測モデルを取得し、所定の炉内温度の今回および過去データを温度履歴記憶領域850から取得し、所定の電力供給値の今回および過去データを電力供給値履歴記憶領域852から取得し、以下、式3及び式4で説明する個別入力応答特性行列Ssrと個別ゼロ応答特性ベクトルSzrを算出する。個別入力応答特性行列Ssrと個別ゼロ応答特性ベクトルSzrは、制御対象とする炉内温度の数(=ゾーン分割数)だけ算出する。
【0066】
上述した式1を次の式3に示すような状態空間モデルで表わす。
【数3】
【0067】
ここで、行列A,B,Cは次のようになる。なお、表記を簡単にするため4回前まで(n=4)のゾーンa~ゾーンcの電力供給値の定常パワー値からのずれを使用することとした。なお、以下において、表記を簡単にするため4回前までのゾーンa~ゾーンcを用いて例示するが、これに限定されるものではない。
【数4】
【0068】
また、ベクトルx(t)、u(t)、および、出力y(t)は次のようになる。引き続き表記を簡単にするため4回前まで(n=4)のゾーンa~ゾーンcの電力供給値の定常パワー値からのずれを使用することとした。
【数5】
【0069】
式3において、時刻tのとき電力供給値u(t)を入力し、その後そのままu(t)を入力し続けると、t+1以降の予測温度は次の式4のようになる。
【数6】
【0070】
ここで、式4において、Szrは個別ゼロ応答特性ベクトル、Ssrは個別入力応答特性行列、Δy(t)は予測温度ベクトルである。予測温度ベクトルとは、予測温度列をベクトル形式で表したものである。
【0071】
それぞれの行数は、予測温度の計算数であって、制御周期とCPU712の演算処理性能に依存して許容される数だけ計算する。
【0072】
個別ゼロ応答特性ベクトルSzrは、予測温度ベクトルΔy(t)のうち過去の炉内温度と過去の電力供給値に影響されて変化する変化量を示している。また、個別入力応答特性行列Ssrは、予測温度ベクトルΔy(t)のうち今回算出した電力供給値に影響されて変化する変化量を示している。
【0073】
以下、個別入力応答特性行列Ssr、個別ゼロ応答特性ベクトルSzr、および、予測温度ベクトルΔy(t)を対応ゾーンで区別するときは、ゾーンaに対応する個別入力応答特性行列はSsr-a、ゾーンbに対応する個別ゼロ応答特性ベクトルはSzr-b、ゾーンeに対応する予測温度ベクトルはΔye(t)などと表記する。
【0074】
目標温度列算出部870は、上位コントローラ36から入力端Sを介して目標温度を入力し、さらに入力端Fから炉内温度を入力して、将来の温度変化の目標値をベクトル形式で表した目標温度列ベクトルStgを算出する。入力端Sから一定の制御周期で現在の目標温度に加えて最終目標温度とランプレートが与えられる。ランプレートとは、現在の目標温度から最終目標温度まで変化する時の変化の割合であって、単位時間あたりの温度変化量を示すものであり、例えば、1℃/分の設定ならば、1分間に1℃の割合で変化するものを示している。目標温度列ベクトルStgは、目標温度、最終目標温度、およびランプレートを入力して算出される。
【0075】
さらに、目標温度列算出部870は、上位コントローラ36から任意の間であって予め設定された期間、温度収束用ランプレートが与えられる。温度収束用ランプレートとは、現在温度である現在の炉内温度から最終目標温度まで変化する時の変化の割合であって、単位時間あたりの温度変化量を示すものであり、例えば、1℃/分の設定ならば、1分間に1℃の割合で変化するものを示している。温度収束用ランプレートが与えられた期間では、目標温度列算出部870は、現在の目標温度を用いるランプレートに代えて、現在温度である現在の炉内温度を用いる温度収束用ランプレートの変化の割合で最終目標温度までの目標温度列ベクトルStgを算出する。このとき、目標温度列ベクトルStgは、現在の炉内温度、最終目標温度、および温度収束用ランプレートを入力して算出される。つまり、予め設定された期間であって、例えばオーバーシュートが発生しやすい期間に、現在温度である現在の炉内温度と最終目標温度と温度収束用ランプレートに従って、将来の目標温度列である目標温度列ベクトルStgを更新する。これにより、オーバーシュートの発生を抑制することができ、速やかに炉内温度を目標温度へ収束させることが可能となる。
【0076】
目標温度列ベクトルS
tgは、制御対象とする炉内温度の数(=ゾーン分割数)だけ算出する。目標温度列ベクトルS
tgは、以下の説明のため、次の式5のように表記する。
【数7】
【0077】
式5の時刻および行数は、式4の時刻および行数と対応する。以下、目標温度列ベクトルStgを対応ゾーンで区別するときは、ゾーンaに対応する場合はStg-a、ゾーンeに対応する場合はStg-eなどと表記する。
【0078】
温度履歴記憶部800から目標温度列算出部870までは、ヒータ206が分割されているため、入力端S、入力端Fとともに、分割数分だけ存在するが、
図6では簡略化して1つずつだけ図示している。
【0079】
統合特性作成部808は、ゾーン分割数ある個別特性作成部804により得た個別入力応答特性行列Ssrと個別ゼロ応答特性ベクトルSzrを入力し、および、ゾーン分割数ある目標温度列算出部870により得た目標温度列ベクトルStgを入力し、統合特性方程式を作成する。
【0080】
まず、個別入力応答特性行列S
srを変形する。個別入力応答特性行列S
srは時刻tのときu(t)を入力し、その後そのままu(t)を入力し続けたときの予測温度の変化量を示している。u(t)を保持せず、すべての制御タイミングで異なる値u(t)~u(t+Np-1)を入力したとすると、式4の右辺第2項は、次の式のようになる。ここで、Npは、式4の行数である。
【数8】
【0081】
よく知られているモデル予測制御では、すべての演算処理のタイミングで異なる値u(t)~u(t+Np-1)を入力することを仮定し、これらを計算して求める。しかし、CPU712の演算処理性能が十分ではないため、本開示では、入力パターンを2段階に限定することによって式4の右辺第2項を次のようにする。
【数9】
【0082】
ここで、Ncdは1段階目で保持する入力行数である。1段階目の入力u(t)を時刻t+Ncd-1まで保持する。2段階目の入力はu(t+Ncd)をそれ以降で保持する。以上のように個別入力応答特性行列S
srを変形して、式4から下記のような式6を得る。
【数10】
【0083】
式6において、Sdsrを改めて個別入力応答特性行列とする。対応ゾーンで区別するときは、ゾーンaに対応する個別入力応答行列をSdsr-aなどと表記する。
【0084】
次に、上述した式6及び式5に関し、制御対象とする全ゾーンを並べる。
【数11】
【0085】
以上のように、統合特性作成部808は、式7および式8で示される統合入力応答特性行列Udsr、統合ゼロ応答特性ベクトルUzr、統合目標温度ベクトルUtgを算出して出力する。
【0086】
次に、制約付き最適化計算部810は、統合特性作成部808により取得した統合入力応答特性行列Udsr、統合ゼロ応答特性ベクトルUzr、統合目標温度ベクトルUtgを入力し、また、後述するリミッタ812で使用する各ゾーンの上下限値を入力し、所定の制約条件のもとで最小となる解を求める有効制約法により、最適な今回の電力供給値を計算する。有効制約法と、これを適用した制約付き最適化計算部810における動作については後述する。
【0087】
そして、リミッタ812は、演算結果をヒータ206が出力可能な範囲に制限し、ヒータ206への電力供給値とする。ここではリミッタ812の出力を、ヒータ206の最大出力からの割合とし、例えば0~100%に制限している。リミッタ812の制限値は、ヒータ206の発熱温度によって出力可能な範囲が変化することがある。そのため、ヒータ温度を入力端Hから取得して、ヒータ温度に対応して図示しない温度制限テーブルから制限値を導出し、その値で制限することができる。そして、出力可能な範囲を示す上下限値を他の処理部が使用できるようにしている。
【0088】
そして、電力供給部718は、出力端Pを介してヒータ206へ供給する電力量が、0~100%の電力供給値に対応するように制御する。
【0089】
なお、リミッタ812と電力供給部718は、ヒータが分割されているため、出力端Pとともに、分割数分だけ存在するが、
図6では簡略化して1つずつだけ図示している。
【0090】
[第1の有効制約法]
本開示で使用している、第1の有効制約法について説明する。
有効制約法は、次の式10の制約条件のもと、次の式9で与えられる評価関数f(x)を最大にする解ベクトルxを求める。
【数12】
【0091】
式9、式10において、c,Q,b,Aは、与えられた定数行列またはベクトルである。また、記号Tは転置を表す。このとき、有効制約法は
図7に示すフローを実施することによって解ベクトルxを求めることができる。
【0092】
S201では、式10の等号が有効にならない範囲の解xkを選択する。そして、式10の各行のうち等号が有効になる行の集まりをAe,beとする。S201ではAe,beともに、空集合である。また、式10の各行のうち等号が有効にならない行の集まりをAd、bdとする。S201ではAd=A、bd=bである。
【0093】
S203では、次の連立方程式を解き、その解をx、λとする。x=x
kならば、S205へ進む。x≠x
kならば、S207へ進む。
【数13】
【0094】
S205では、λの要素が全て0以上かどうかを判定する。0以上ならばS213へ進む。λの要素が全て0以上でなければS211へ進む。
【0095】
S207では、次の式11に従ってαを求める。式10で、b
i、a
iは、それぞれA
d、b
dから1行を抜き出したものである。α=1ならばS205へ進む。α<1ならばS209へ進む。
【数14】
【0096】
S209では、式11に従ってα(<1)を求めたときに使用した制約[bi、ai}を、Ad、bdから削除し、Ae、beへ追加し、S203へ進む。
【0097】
S211では、負値で最小となるλの要素を選択し、Ae、beに含まれる制約のうち対応するもの[bi、ai}を、Ae、beから削除し、Ad、bdに追加し、S203へ進む。
【0098】
S213では、S203で求めた解xを最適解として終了する。
【0099】
図7に示した有効制約法は、付帯乗数λを使用して式10の各行のうち等号が有効になる行の組合せを探索することにより、式10を満たしかつ式9を最大にする解を求めることができる。
【0100】
[制約付き最適化計算部810における有効制約法の適用]
次に、本実施形態における制約付き最適化計算部810における有効制約法の適用方法について説明する。
【0101】
統合特性作成部808において、式7で炉内温度の予測温度列(予測温度ベクトル)を、式8で目標温度列(統合目標温度ベクトル)を得ることができた。そこで、制約付き最適化計算部810では、評価関数として、目標温度列と予測温度列の誤差の2乗を採用する。評価関数V(u(t))は、次の式12のようになる。
【数15】
【0102】
式12の第2項の外側の丸かっこ内部と式9を比較すると、式9のc、Qは、それぞれ以下の式に置き換えることができる。
【数16】
【0103】
これにより、前述の有効制約法により、式12の第2項の外側の丸かっこ内部を最大にする解を得ることができる。従い、評価関数V(u(t))を最小にする解を求めることができ、目標温度列と予測温度列の誤差の2乗を最小にする電力供給値を求めることができる。
【0104】
次に、制約に関する式10については、表記を簡単にするため4回前までのゾーンa~ゾーンcを用いて例示すると、次の式13に示すように、各ゾーンの電力供給値P
a,P
b,P
cにそれぞれ矢印左側の上下限リミットが与えられた場合、矢印右側のように不等号式を立てることで、式10に当てはめることができる。次の式13において、LLa、ULaはそれぞれゾーンaに対する電力供給値の上限と下限、LLb、ULb、LLc、ULcも同様にそれぞれゾーンb、ゾーンcに対する電力供給値の上限と下限である。例えば、LLa=0%、ULa=80%のように設定される。
【数17】
【0105】
[第2の有効制約法]
【0106】
次に、本開示で使用可能な第2の有効制約法について説明する。上述した
図7に示した有効制約法では、CPU712の演算処理能力が十分ではない場合には、既定の制御周期で計算が終了しない場合があった。そこで、
図7のフローに代えて、
図8のフローで解ベクトルxを求めることができるようにした。
【0107】
図7における第1の有効制約法との違いは、開始直後にS215を追加し、S201をS217へ処理変更し、S209とS211から追加したS219へ進むようにし、S219における判定によってS203またはS213へ進むようにしたことである。下記においては、第1の有効制約法との違いについてのみ説明する。
【0108】
S215では、ループ回数を初期化する。
【0109】
そして、S217では、式10の等号が有効にならない範囲の解xkを選択する。後述するS219で最適化計算が途中終了する場合に備えて、特に、選択解を式10の等号が有効にならない範囲の下限値とした。例えば、ゾーンaの電力供給値Paの制約に関し、0≦Pa(t)≦100の場合、選択解をPa(t)=0.1などとする。そのように選択することにより、S209で追加される制約は下限制約が優先されることになるので、最適化計算が途中終了したとしても、安全な計算結果を出すことができる。
【0110】
S219では、ループ回数をカウントアップし、既定回数以内であれば、S203へ進む。既定回数を超えた場合は、S213へ進んで、直前のS203で求めた解xを最適解として終了する。
【0111】
図8のようなフローにすることによって、最適解の計算を必要最小限の処理で終えることができるため、既定の制御周期以内で計算が終了できるようになる。
【0112】
[熱特性の自動取得手順]
次に、
図9を用いて温度制御部238で行われる熱特性の自動取得手順について説明する。以下に示す熱特性の自動取得手順により、温度制御部238で制御を行うために必要な予測モデルを作成し、予測モデル記憶領域854に格納する。
【0113】
まず、熱特性の自動取得を開始するにあたって、上位コントローラ36から、それぞれの炉内温度の基準温度が与えられる。温度制御部238は、以下、S300およびS302において、PID演算によるフィードバック制御を使用して炉内温度を制御する。
【0114】
S300では、温度制御部238により炉内温度を制御し、炉内温度が基準温度付近まで昇温、または、降温するまでその処理を繰り返す。このとき、パラメータ記憶領域856から取得する制御に使用するパラメータ(例えば、図示しないPIDパラメータ)は、漸近安定である必要があるが、必ずしも最適である必要はない。
【0115】
S302では、温度制御部238により炉内温度を制御し、炉内温度が基準温度に制御されて定常状態になるまでその処理を繰り返す。このとき、パラメータ記憶領域856から取得する制御に使用するパラメータ(例えば、図示しないPIDパラメータ)は、漸近安定である必要があるが、必ずしも最適である必要はない。定常状態になったことを判断したとき、そのときの電力供給値、または、電力供給値の一定の時間平均を、定常パワー値として予測モデル記憶領域854に書き込む。また、定常状態になったことを判断したとき、そのときのヒータ温度、または、ヒータ温度の一定の時間平均を、ヒータ温度の基準温度として予測モデル記憶領域854に書き込む。また、炉内温度の基準温度を予測モデル記憶領域854に書き込む。
【0116】
S304では、このステップの開始時刻から予め設定された時間だけ、電力供給部718を介してランダム値を電力供給値としてヒータ206へ出力指示し、一方で温度履歴記憶領域850から今回および過去の炉内温度とヒータ温度を取得し、電力供給値履歴記憶領域852から今回および過去の電力供給値を取得する。そして、取得した今回および過去の炉内温度、今回および過去の電力供給値を使用して炉内温度の予測モデルを更新して記憶する。そして、取得した今回および過去のヒータ温度、今回および過去の電力供給値を使用してヒータ温度の予測モデルを更新して記憶する。
【0117】
ここで、ランダム値とは、予測モデル記憶領域854に記憶している定常パワー値を中心とした4値離散値とし、ランダムに選択している。そして、予め設定した時間間隔(例えば1分間)で1つのゾーンの電力供給値を変更する。そして、あるタイミングで変更するゾーンはランダムに選択している。予測モデルの更新については後述する。
【0118】
S306では、このステップの開始時刻から予め設定された時間だけ、電力供給部718を介して定常パワー値を電力供給値としてヒータ206へ出力指示し、一方で温度履歴記憶領域850から今回および過去の炉内温度とヒータ温度を取得し、電力供給値履歴記憶領域852から今回および過去の電力供給値を取得する。そして、取得した今回および過去の炉内温度、今回および過去の電力供給値を使用して炉内温度の予測モデルを更新して記憶する。そして、取得した今回および過去のヒータ温度、今回および過去の電力供給値を使用してヒータ温度の予測モデルを更新して記憶する。
【0119】
S308では、S304と同処理をし、それに加えて、更新した予測モデルの評価をする。評価の結果、予測モデルが妥当であると判定された場合、S310へ進む。予測モデルの評価については後述する。
【0120】
S310では、S308で取得した予測モデルを使用し、温度制御部238を使用して対象とする炉内温度を制御し、炉内温度が基準温度に制御されて定常状態になるまでその処理を繰り返す。定常状態になったことを判断したとき、S302と同様な方法で、定常パワー値、ヒータ温度の基準温度、および、基準温度を更新する。
【0121】
S312では、S308と同処理をする。評価の結果、予測モデルが妥当であると判定された場合、熱特性の自動取得手順を終了する。
【0122】
図10は、熱特性の自動取得手順のS304、S308およびS312における温度制御部238の内部の処理ブロック図を図示したものである。
【0123】
図10において、温度制御部238は、炉内温度予測モデル更新部834と、予測モデル評価部838と、ランダムパワー出力部840等を備えている。予測モデルにかかる基準温度、定常パワー値等は、既に最近に取得したものが予測モデル記憶領域854に記憶されている。
【0124】
まず、ランダムパワー出力部840は、S304で上述したように、定常パワー値を中心とした4値離散値のうちランダムに選択されたものを、リミッタ708に出力する。また、ランダムパワー出力部840は、後述のようにヒータ206の分割数分だけ存在するが、前述のように予め設定した時間間隔(例えば1分間)でランダムに選択された1つのゾーンの電力供給値を変更するように互いに連携している。
【0125】
次に、炉内温度予測モデル更新部834は、予測モデル記憶領域854から当該ゾーンの炉内温度の予測モデルを取得し、所定の炉内温度の今回および過去データを温度履歴記憶領域850から取得し、所定の電力供給値の今回および過去データを電力供給値履歴記憶領域852から取得し、その時点で得られる最新の炉内温度の予測モデルを算出し更新する。
【0126】
炉内温度予測モデル更新部834、ランダムパワー出力部840は、それぞれヒータ206の分割数分だけ存在するが、
図10では簡略化して1つずつだけ図示している。
【0127】
次に、予測モデル評価部838は、予め設定された評価間隔(例えば10分間)で、ゾーン分割数ある炉内温度の予測モデルを取得し、評価間隔後の次の取得タイミングまで、取得した予測モデルを評価する。評価の結果、予測モデルが妥当か不妥当かを判定する。
【0128】
[予測モデルの更新方法]
次に、上述したS304、S308及びS312において、
図10に示される炉内温度予測モデル更新部834で行われる予測モデルの更新方法について説明する。本開示の更新方法は、逐次最小2乗法と呼ばれる方法を使用する。次の式27は、式1を行列・ベクトルを使用して表記したものである。
【数18】
【0129】
ここで、時刻tは、今回の処理を表し、x(t)の要素のうち最新データがy(t-1)となっているのは、前述のように、今回の処理で得られる温度および電力供給値の時刻をt-1としたからである。
【0130】
最新の予測モデルの係数θ(t)を次の式28のように計算する。
【数19】
【0131】
ここで、y(t-1)は今回取得した温度であって、予測モデルの対象の炉内温度である。ρは忘却係数とよばれるパラメータで、パラメータ記憶領域856から取得する。P(t)は係数誤差相関行列であって、初期値に例えば100~1000を要素とする単位行列を設定する。
【0132】
式28で得られたθ(t)は、入力x(t)によっては、明らかに温度を予測するには不適当なものであったり、それを使って制御すると振動したりするものであったりすることがある。そこで、次のモデル更新に関する第1~第4の条件に該当した場合は、式28の第1式および第4式に従う代わりに、係数誤差相関行列P(t)と予測モデルの係数θ(t)を前回と同じ値にする。
【0133】
モデル更新に関する第1の条件は、予測モデルの対象である温度が、基準温度付近(例えば±50℃)から外れた場合とした。
【0134】
モデル更新に関する第2の条件は、予測モデルの係数θ(t)の要素が1つでも予め設定された範囲(例えば-100~+100)から外れた場合とした。
【0135】
モデル更新に関する第3の条件は、予測モデルの係数θ(t)の要素のうちma1(t),…,man(t),mb1(t),…mbn(t),…,men(t)の和が、負の場合とした。
【0136】
モデル更新に関する第4の条件は、予測モデルの係数θ(t)の要素のうちa
1(t),a
2(t)で構成される伝達関数
【数20】
【0137】
が不安定の場合とした。
【0138】
しかし、式28での計算回数が若いとき、入力x(t)によっては、連続してモデル更新に関する第1~第4の条件に該当してしまうことがあり、そのような状況になると、いつまでたっても所望の精度を有する予測モデルにならない。そのため、予め定めた所定の回数だけモデル更新に関する第1~第4の条件を無視して予測モデルの係数θ(t)を更新することもできる。
【0139】
式28で得られた予測モデルの係数θ(t)が、上述した第1~第4の条件のいずれにも該当しない場合には、係数誤差相関行列P(t)とともに、予測モデル記憶領域854に記憶する。
【0140】
予測モデルの係数θ(t)は、上述したS304、S308およびS312において評価の結果が妥当であれば確定され、
図6に示す個別特性作成部804等で読み出されて使用される。
【0141】
[予測モデルの評価方法]
以下、上述したS304、S308およびS312において、
図10に示す予測モデル評価部838で行われる予測モデルの評価方法について説明する。
【0142】
予め設定された評価間隔(例えば10分間)で、炉内温度の予測モデルを取得し、次のタイミングの直前まで、取得した予測モデルを評価する。次の、評価方法に関する第1~第3の条件が全て満足されるとき、取得した予測モデルを妥当と判断する。
【0143】
評価方法に関する第1の条件は、すべての予測モデルが、モデル更新に関する第1~第4の条件のいずれにも該当しないこととした。
【0144】
評価方法に関する第2の条件は、すべての予測モデルを対象に、次の式29で求められる予測モデル係数の変化量総和C
vg(t)を、予測モデルを更新した全てのタイミングで計算し、それらの最大値が予め設定された収束判定値以下であることとした。
【数21】
【0145】
評価方法に関する第3の条件は、すべての予測モデルを対象に、予測モデルを使用して得られる予測誤差を評価間隔の全ての処理のタイミングで計算し、それらが予め設定された誤差判定値以下であることとした。評価方法での予測誤差E
pe(t)は次の式30のように計算する。
【数22】
【0146】
式30での予測モデルの係数θは、評価間隔の最初の処理で取得しその後の評価間隔を経過した次の取得の処理まで不変なので定数とした。そして、入力x(t)は、評価間隔の最初の処理では、
【数23】
【0147】
【0148】
【0149】
とした。すなわち、評価のために予測モデルを取得した最初の処理のタイミングでは、予測の材料である過去の温度に、温度履歴記憶領域850から取得した今回および過去の測定温度を使用するが、それ以降の処理では前回の処理で計算した予測温度を使用する。
【0150】
次に、上記構成に係る基板処理装置の処理炉202を用いて、半導体デバイスの製造工程の一工程である基板処理工程として、ウエハ200に酸化、拡散等の処理を施す方法について
図11(A)及び
図11(B)を用いて説明する。尚、以下の説明において、基板処理装置を構成する各部の動作は主制御部240により制御される。
【0151】
(ステップS101)
まず、複数枚のウエハ200がボート217に装填(ウエハチャージ)される。そして、処理室201が目標温度であるT0となるように昇温され維持される。この際、処理室201が所望の温度分布となるように第1の温度センサ263及び第2の温度センサ264が検出した温度情報に基づきヒータ206への通電具合がフィードバック制御される。
【0152】
(ステップS102)
次に、
図1に示されているように、複数枚のウエハ200を保持したボート217は、ボートエレベータ115によって持ち上げられて炉内である処理室201に搬入される(ボートロード、基板搬入)。この状態で、シールキャップ219はベース257、Oリング220を介して反応管204の下端をシールした状態となる。この際、処理室201が目標温度であるT
0となるように温度制御部238によりヒータ206が制御されて加熱される。また、処理室201が所望の圧力となるように排気装置246によって排気される。この際、処理室201の圧力は、圧力センサ245で測定され、この測定された圧力に基づき圧力調節器242が、フィードバック制御される。続いて、回転機構254により、断熱筒218、ボート217が回転されることで、ウエハ200が回転される。
【0153】
(ステップS103)
処理室201が処理温度であるT0に維持されたら、次いで、処理ガス供給源およびキャリアガス供給源から供給され、MFC241にて所望の流量となるように制御されたガスは、ガス供給管232からガス導入部230および細管234を流通し天井部233に至り、複数のガス導入口233aから処理室201にシャワー状に導入される。導入されたガスは処理室201を流下し、排気口231aを流通してガス排気部231から排気される。ガスは処理室201を通過する際にウエハ200の表面と接触し、ウエハ200に対して、例えば、酸化、拡散等の処理がなされる。
【0154】
(ステップS104)
予め設定された処理時間が経過すると、不活性ガス供給源から不活性ガスが供給され、処理室201が不活性ガスに置換されるとともに、処理室201の圧力が常圧に復帰される。その後、ボートエレベータ115によりシールキャップ219が下降されて、反応管204の下端が開口されるとともに、処理済ウエハ200がボート217に保持された状態で反応管204の下端から反応管204の外部に、炉内から搬出される(ボートアンロード、基板搬出)。その後、処理済ウエハ200はボート217より取出される(ウエハディスチャージ)。
【0155】
図11(B)に示すように、ステップS101において処理室201の温度である炉内温度を、目標温度T
0に昇温して維持しても、ボートロード(ステップS102)においてボート217に保持されたウエハを処理室201へ搬入する際に、炉外の雰囲気が炉内に導入されるため、炉内温度は一時的にT
0よりも低くなってしまう。そして、炉内温度が再び目標温度であるT
0に安定し、T
0に維持されてから処理(ステップS103)を実行するが、炉内温度を速く処理温度である目標温度T
0へ収束させるリカバリ温度を短くすることが課題となっていた。
【0156】
例えば上述のボートロード(ステップS102)において、上述した温度制御部238を用いることにより、温度制御部238が、予め保持している炉内温度の予測モデルに従って算出された予測温度列を将来の目標温度列に近づけるように現在のヒータ供給電力を制御して、炉内温度を目標温度T0へ収束させて、ボートロード(ステップS102)から処理(ステップS103)に至るまでのリカバリ時間を短くすることができる。また、ボートアンロード(ステップS104)においても同様に温度制御部238を用いることができる。
【0157】
図12は、ボートロード(ステップS102)において、上述した温度制御部238を用いた場合の目標温度列算出部870の処理を説明するための図である。
【0158】
図12に示すように、ステップS101において炉内温度が目標温度T
0に維持されてから時刻t0のタイミングでボートロード(ステップS102)を開始する。ステップS102における最終目標温度をT
1としている。また、ウエハの炉内投入により炉内温度がT
0から低下している。
【0159】
このときに、目標温度列算出部870に、上述したランプレートを用いた制御の場合には、時刻t0以降で現在の目標温度と最終目標温度とランプレートが与えられ、制御周期毎である例えばt1、t2のタイミングで、
図12に示す三角印(△)の現在の目標温度をS
tg(t+1)とし、ランプレートと最終目標温度から算出される破線に沿って目標温度列ベクトルS
tgを算出する。
【0160】
これに対して、予め設定された期間であって、オーバーシュートが発生しやすい例えばボートロード(ステップS102)やボートアンロード(ステップS104)等の期間には、目標温度列算出部870に、時刻t0以降のタイミングで上述した温度収束用ランプレートが与えられる。そして、制御周期毎である例えばt1、t2のそれぞれのタイミングで
図12に示す四角印(□)の現在の炉内温度をS
tg(t+1)とし、温度収束用ランプレートと最終目標温度から算出される実線に沿って目標温度列ベクトルS
tgを算出する。すなわち、予め設定された期間に、目標温度列算出部870は、現在の温度と最終目標温度と温度収束ランプレートに従って、将来の目標温度列を更新する。これにより、オーバーシュートの発生を抑制することができ、速やかに炉内温度を目標温度へ収束させることが可能となる。
【0161】
[本開示の第2の実施形態]
次に、本開示の第2の実施形態について説明する。
図13は、本開示の第2の実施形態に係る温度制御部を用いた場合の
図11(A)のステップS102における処理を説明するための図である。
【0162】
本開示の第2の実施形態では、上述した目標温度列算出部870の代わりに目標温度列算出部872を用いる。
【0163】
目標温度列算出部872は、上位コントローラ36から入力端Sを介して目標温度等を入力し、さらに入力端Fから炉内温度を入力し、目標温度列ベクトルStgを算出する。
【0164】
目標温度列算出部872は、入力端Sから一定の制御周期で目標温度に加えて最終目標温度とランプレートが与えられる。さらに、目標温度列算出部872は、上位コントローラ36から任意のタイミングで温度収束指定時間が与えられる。温度収束指定時間とは、現在の目標温度を現在の炉内温度から最終目標温度まで変化させる際に、指定時間経過後に最終目標温度となるように変化の割合を計算するための数値である。例えば、10分の設定ならば、上位コントローラ36から入力したタイミングから10分後に最終目標温度となるように、現在の炉内温度から最終目標温度まで変化させる目標温度列ベクトルStgを算出する。目標温度列算出部872は、現在温度である現在の炉内温度と最終目標温度と温度収束指定時間に従って、将来の目標温度列である目標温度列ベクトルStgを更新する。
【0165】
例えば、目標温度列算出部872は、内部にカウンタを有し、温度収束指定時間が与えられたタイミングからカウンタが起動され、カウント値と現在の炉内温度、および、最終目標温度から目標温度列ベクトルStgを算出する。目標温度列ベクトルStgは、制御対象とする炉内温度の数(ゾーン分割数)だけ算出し、行数は、式4のそれらと対応する。
【0166】
図13においても
図12と同様に、ステップS101において炉内温度が目標温度T
0に維持されてから時刻t0のタイミングでボートロード(ステップS102)を開始する。ステップS102における最終目標温度をT
1としている。また、ウエハの炉内投入により炉内温度がT
0から低下している。
【0167】
このときに、目標温度列算出部872に、上述したランプレートを用いた制御の場合には、時刻t0以降で現在の目標温度と最終目標温度とランプレートが与えられ、制御周期毎である例えばt1、t2のタイミングで、
図13に示す三角印(△)の現在の目標温度をS
tg(t+1)とし、ランプレートと最終目標温度から算出される破線に沿って目標温度列ベクトルS
tgを算出する。
【0168】
これに対して、予め設定された期間であって、オーバーシュートが発生しやすい例えばボートロード(ステップS102)やボートアンロード(ステップS104)等の期間には、目標温度列算出部872に、時刻t0のタイミングで上述した温度収束指定時間が与えられる。そして、制御周期毎である例えばt1、t2のそれぞれのタイミングで
図13に示す四角印(□)の現在の炉内温度をS
tg(t+1)とし、温度収束指定時間までの残りの時間と最終目標温度から算出される実線に沿って目標温度列ベクトルS
tgを算出する。これにより、オーバーシュートの発生を抑制することができ、速やかに炉内温度を目標温度へ収束させることが可能となる。
【0169】
[本開示の第3の実施形態]
次に、本開示の第3の実施形態について説明する。
図14は、本開示の第3の実施形態に係る温度制御部を用いた場合の
図11(A)のステップS102における処理を説明するための図である。
【0170】
本開示の第3の実施形態では、上述した目標温度列算出部870の代わりに目標温度列算出部874を用いる。
【0171】
目標温度列算出部874は、上位コントローラ36から入力端Sを介して目標温度等を入力し、さらに入力端Fから炉内温度を入力し、目標温度列ベクトルStgを算出する。
【0172】
目標温度列算出部874は、入力端Sから一定の制御周期で目標温度に加えて最終目標温度とランプレートが与えられる。さらに、目標温度列算出部874は、上位コントローラ36から任意のタイミングで温度収束指定時間と参照指定ゾーンが与えられる。温度収束指定時間とは、現在の目標温度を現在の炉内温度から最終目標温度まで変化させる際に、指定時間経過後に最終目標温度となるように変化の割合を計算するための数値である。参照指定ゾーンとは、ゾーン分割数ある目標温度列算出部874の全てにおいて、目標温度列ベクトルStgを算出する際の現在の炉内温度のゾーンを指定するものである。例えば、温度収束指定時間が10分、かつ、参照指定ゾーンがゾーンaの設定ならば、上位コントローラ36から入力したタイミングから10分後に最終目標温度となるように、ゾーンaの現在の炉内温度から最終目標温度まで変化させる目標温度列ベクトルStgを算出する。つまり、現在の炉内温度として指定された参照指定ゾーンの現在の炉内温度に置き換えて適用する。そして、指定された参照指定ゾーンから温度収束指定時間に最終目標温度となるように目標温度列ベクトルStgを算出する。、つまり、目標温度列算出部874は、現在の温度と最終目標温度と温度収束指定時間に従って、将来の目標温度列を更新する。
【0173】
図14においても
図12と同様に、ステップS101において炉内温度が目標温度T
0に維持されてから時刻t0のタイミングでボートロード(ステップS102)を開始する。ステップS102における最終目標温度をT
1としている。また、ウエハの炉内投入により炉内温度がT
0から低下している。
図14では、ゾーンaの熱電対263aにより測定された炉内温度とゾーンbの熱電対263bにより測定された炉内温度が示されている。
【0174】
このときに、目標温度列算出部874に、上述したランプレートを用いた制御の場合には、時刻t0以降で現在の目標温度と最終目標温度とランプレートが与えられ、制御周期毎である例えばt1、t2のそれぞれのタイミングで、
図14に示す三角印(△)の現在の目標温度をS
tg(t+1)とし、ランプレートと最終目標温度から算出される破線に沿って目標温度列ベクトルS
tgを算出する。
【0175】
これに対して、予め設定された期間であって、オーバーシュートが発生しやすい例えばボートロード(ステップS102)やボートアンロード(ステップS104)等の期間には、目標温度列算出部874に、時刻t0のタイミングで上述した温度収束指定時間が与えられる。そして、制御周期毎である例えばt1、t2のそれぞれのタイミングで
図14に示す四角印(□)の現在の炉内温度をS
tg(t+1)とし、温度収束指定時間までの残りの時間と最終目標温度から算出される実線に沿って目標温度列ベクトルS
tgを算出する。例えば参照指定ゾーンがゾーンaの場合、ゾーンaの現在の炉内温度から最終目標温度まで変化させる目標温度列ベクトルS
tgを算出する。さらに、ゾーンb等のそれぞれのゾーンに対してもゾーンaの現在の炉内温度から目標温度列ベクトルS
tgを算出する。これにより、オーバーシュートの発生を抑制することができ、速やかに炉内温度を目標温度へ収束させることが可能となる。
【0176】
[実施例]
次に、実施例について説明する。
上述したボートロード(ステップS102)における炉内温度を、比較例、本実施例による温度制御をそれぞれ用いて目標温度に収束させた。
図15は、比較例に係るランプレートを用いた温度制御による各ゾーンにおける温度軌跡である。また、
図16(A)は、本実施例に係る上述した目標温度列算出部874を用いた温度制御による各ゾーンにおける温度軌跡である。
図16(B)は、本実施例に係る上述した目標温度列算出部874を用いた温度制御による各ゾーンにおける温度軌跡である。
図16(B)では、処理室内のウエハの数を
図16(A)におけるウエハの数の半分にして温度制御を行った。
【0177】
図15に示すように、比較例に係るランプレートを用いた温度制御では、オーバーシュートが発生し、各ゾーンの温度がそれぞればらばらに制御されていることが確認された。また、リカバリ温度が長くかかってしまったことが確認された。
【0178】
これに対して、
図16(A)に示すように、本開示の目標温度列算出部874を用いた温度制御を行うことにより、オーバーシュートが抑制され、各ゾーンのゾーン間偏差を小さくできることが確認された。また、目標温度に比較例と比較して速く収束させることができ、リカバリ時間を短くすることができることが確認された。また、
図16(B)に示すように、処理室内に搬入するウエハの枚数を半分にし、ウエハ自体の加熱冷却特性の変動があったとしても、オーバーシュートが抑制されることが確認できた。
【0179】
以上詳細に説明したように、本実施形態に係る温度制御部238によれば、オーバーシュートを抑制して、炉内温度を目標温度へ速やかに収束でき、ゾーン間偏差を小さくすることができる。また、ヒータの個々の温度特性のばらつきが大きい場合や、担当エンジニアが十分に時間を得られない場合でも、熱特性を自動で取得することができ、パラメータ調整なく、または、容易にパラメータ調整して最適な制御方法を得ることができる。そのため、期待する装置の性能を容易に得ることができる。
【0180】
以上、本開示の実施形態を具体的に説明したが、本開示は上述の実施形態及び実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0181】
また、上述の実施形態では、ウエハ200上に酸化または拡散処理をさせる例について説明したが、本開示は、これに限定されない。例えば、CVD等の成膜処理であってもよく、また、膜種も特に限定されない。例えば、ウエハ200上に窒化膜(SiN膜)や金属酸化膜等、様々な膜種を成膜させる場合にも、好適に適用可能である。その他、アニール処理、エピタキシャル成長処理(Epi)等の種々の処理にも適用できるのは言うまでもない。
【0182】
また、上述の実施形態に係る基板処理装置のような半導体ウエハを処理する半導体製造装置などに限らず、ガラス基板を処理するLCD(Liquid Crystal Display)製造装置にも適用することができる。
【符号の説明】
【0183】
200 ウエハ(基板)
206 ヒータ
238 温度制御部