(57)【要約】【課題】  半導体基板の温度を正確に制御することができ、正確な厚さの膜を半導体基板上に形成することができる基板処理装置を提供する。【解決手段】  制御プログラムは、最小二乗法や指数重み再帰最小二乗アルゴリズムを利用して、干渉行列を修正する。制御プログラムは、制御用コンピュータによる温度調節により温度設定値の変化量Ｕと温度測定値の変化量Ｙとを用いて干渉行列を修正する。新たに算出された干渉行列は、行列ＤＢに保存され、次回以降の温度制御に用いられる。【選択図】          図７
2005347687.tif 000002
【特許請求の範囲】
【請求項１】
予め複数の入力部での入力変化量と複数の出力部での出力変化量との関係を関係係数で表し、前記関係係数と複数の入力部での第１の入力値および複数の出力部での第１の出力値と目標値との偏差とに基づき、複数の入力部での第２の入力値を求め、該第２の入力値により制御し複数の出力部での第２の出力値を求める制御手段を備える基板処理装置において、
前記第２の出力値と前記目標値と異なる場合には、
少なくとも前記第１の入力値と前記第２の入力値との偏差と
前記第１の出力値と前記第２の出力値との偏差とに基づいて前記関係係数を修正することを特徴とする基板処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体ウェハなどの被処理体を処理する基板処理装置に関する。
【背景技術】
【０００２】
半導体製造の分野では、化学気相成長（Ｃｈｅｍｉｃａｌ  Ｖａｐｏｒ  Ｄｅｐｏｓｉｔｉｏｎ：ＣＶＤ）処理によって、多数の半導体ウェハに膜を形成する装置が一般的に用いられており、この装置は、一般に縦型ＣＶＤ装置などと呼ばれている。
例えば、特許文献１〜３は、半導体に対して熱処理を行う際の温度制御方法を開示する。
特許文献１〜３に開示された温度制御方法においては、温度設定値の変化量と、実際に測定された温度測定値と目標値との偏差などとの関係を示す数値が行列の形で用いられており、この行列は、特許文献１〜３において「干渉行列」と呼ばれている。
【０００３】
しかしながら、上記特許文献１〜３に開示された方法においては、干渉行列は、一度作成された後は固定され、一から再作成されない限り修正されることはない。
この干渉行列は、制御対象である熱処理炉のヒータなどの劣化に伴って、温度設定値の変化量と温度測定値・目標値の偏差などとの関係を正しく示すものではなくなる場合がある。
この場合、干渉行列を用いて温度補正計算がなされると、算出された温度設定値は不適切なものとなり、結果として熱処理装置の制御性能が劣化してしまう。
さらに、干渉行列を一から再作成するためには長い時間が必要とされ、その間、熱処理装置を稼働することができないため、熱処理装置の稼働率が下がってしまう。
【０００４】
【特許文献１】特開２０００−１８３０７２号公報
【特許文献２】特開２００１−１０２３１７号公報
【特許文献３】特開２００２−１７５１２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上述した背景からなされたものであり、半導体基板の温度を正確に制御することができ、正確な厚さの膜を半導体基板上に形成することができる基板処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明にかかる基板処理装置は、予め複数の入力部での入力変化量と複数の出力部での出力変化量との関係を関係係数で表し、前記関係係数と複数の入力部での第１の入力値および複数の出力部での第１の出力値と目標値との偏差とに基づき、複数の入力部での第２の入力値を求め、該第２の入力値により制御し複数の出力部での第２の出力値を求める制御手段を備える基板処理装置において、前記第２の出力値と前記目標値と異なる場合には、少なくとも前記第１の入力値と前記第２の入力値との偏差と前記第１の出力値と前記第２の出力値との偏差とに基づいて前記関係係数を修正することを特徴とする。
【０００７】
好適には、前記基板処理装置は、１つ以上の温度調整部分を含み、反応室内において、半導体基板を加熱して処理する半導体処理手段と、前記温度調整部分それぞれに対する温度設定値に従って、前記温度調整部分それぞれの温度を調整する温度調整手段と、前記温度調整部分それぞれに対応する位置の温度を測定する温度測定手段と、前記温度調節部分それぞれに対する温度設定値の変化量と前記温度調節部分それぞれに対応する位置の温度測定値の変化量との関係を示す関係式を予め用意しておき、前記温度調節部分それぞれに対する第１の温度設定値から第２の温度設定値への変化量と、前記第１の温度設定値で温度を調節したときの前記温度調節部分それぞれに対応する位置の温度測定値から前記第２の温度設定値で温度を調節したときの前記温度調節部分それぞれに対応する位置の温度測定値への変化量とに基づいて、前記関係式を修正する関係式修正手段とを有する。
また、好適には、前記基板処理装置は、１つ以上の温度調節部分を含み、反応室内において、半導体基板を加熱して処理する半導体処理手段と、前記温度調節部分それぞれに対する温度設定値に従って、前記温度調節部分それぞれの温度を調節する温度調節手段と、前記温度調節部分それぞれに対応する位置の温度を測定する温度測定手段と、前記温度調節部分それぞれに対する温度設定値の変化量と前記温度調節部分それぞれに対応する位置の温度測定値の変化量との関係を示す関係式を予め用意しておき、前記温度調節部分それぞれに対する第１の温度設定値から第２の温度設定値への変化量を前記関係式に当てはめることによって得られる前記温度調節部分それぞれに対応する位置の温度測定値の予測変化量と、前記第１の温度設定値で温度を調節したときの前記温度調節部分それぞれに対応する位置の温度測定値から前記第２の温度設定値で温度を調節したときの前記温度調節部分それぞれに対応する位置の温度測定値への温度測定値の変化量との差に基づいて、前記関係式を修正する関係式修正手段を有する。
【発明の効果】
【０００８】
本発明にかかる基板処理装置によれば、入力変化量と出力変化量とから、最小二乗法又は指数重み再帰最小二乗アルゴリズムに基づいて干渉行列を修正し、この干渉行列を最適に保つことができる。
【発明を実施するための最良の形態】
【０００９】
［本発明の背景］
本発明の理解を容易にするために、まず、本発明がなされるに至った背景を説明する。
例えば、縦型ＣＶＤ装置は、反応室内の圧力、膜の材料となるガスおよび複数のヒータそれぞれの温度の調節により、半導体ウェハに所望の厚さの膜を形成し、複数の半導体ウェハそれぞれに形成される膜の厚さを均一にするように構成されている。
この種の装置においては、膜厚などを変更するたびに、圧力・流量およびヒータの温度の設定値の変更が必要となる。
この温度調節のためには、下式１に示す干渉行列Ｒが用いられる。
【００１０】
【数１】
2005347687.tif 000003
【００１１】
ただし、ｕは第１の温度設定値と第２の温度設定値との偏差、つまり温度設定値の変化量である。ｙは、第１の温度設定値で温度調節が為されたときの温度測定値と、第２の温度設定値で温度調節が為されたときの温度測定値との偏差、つまり温度測定値の変化量である。
ここで、ｙはｋ×１ベクトル、ｕはｌ（エル）×１ベクトル、Ｒはｋ×ｌ（エル）行列とする。
つまり、温度測定値の変化量ｙは、温度設定値の変化量ｕの一次式として表されている。
式１第２式は、例えば、１つの温度センサ（図５を参照して後述）により測定される温度測定値の変化量ｙｉ（ｉ＝１…ｋ）が、ｌ（エル）個の温度調整部分（図５）における温度設定値の変化量ｕと、干渉行列Ｒのｉ行目の要素とから求められることを表すものである。
【００１２】
尚、上述した干渉行列は、温度設定値の変化量と、温度測定値の変化量などとの間の関係を示すことができるだけでなく、複数のヒータの温度と、半導体ウェハそれぞれに形成された膜の厚さとの関係を表すためにも応用することができる。
また、膜の厚さに応じた装置に設定すべき温度および圧力・流量の値は、干渉行列を用いた計算により求められてきた。
【００１３】
しかしながら、干渉行列は、いったん作成した後は固定され、その後再度最初から作成しようとしないかぎり修正されなかった。
このため、例えば反応室が１０００℃〜１２００℃の高温域である場合と、３００℃〜５００℃の低温域である場合とでは、最適な干渉行列は異なるため、両ケースで同じ干渉行列を用いることは適切でないこととなる。
また、反応室内の温度の上げ下げが繰り返されることにより、温度制御のためのヒータなどは劣化するが、この場合、干渉行列に示された関係は、実際の環境とは徐々に異なってくるため、この干渉行列を用いて行われた補正計算は不適切なものとなり、結果として、処理装置の制御性能は悪化してしまう。
【００１４】
また、例えば、温度設定値の変化量ｕに与えられた値を用いて何回か温度制御を行った場合、現実的には、温度設定値の変化量ｕの値が同じだったとしても、そのときの温度測定値の変化量ｙが全ての回において同じ値として得られることはありえない。
なぜならば、現実の温度制御において、温度を上げるために使われる電源電力や、温度を測定するための熱電対などの温度センサなどには、雑音その他のばらつきが含まれているからである。
【００１５】
図１は、ｕに与えられた値を用いて何回か温度制御を行った場合において、複数取得されたｙを基にして、Ｘ軸にそれらの平均値からの誤差、Ｙ軸に頻度を示した図である。
分布は、やや偏りがあるものの、ほぼ正規分布に従っている。
つまり、温度測定値の変化量ｙは、ほぼ正規分布に従う確率変数である。
従って、式１で表される干渉行列Ｒは、最小二乗法により推定されうる。
本発明は、これらの点に着目してなされたものであって、最小二乗法又は後述する指数重み再帰最小二乗アルゴリズムによって、干渉行列を修正できるように構成されている。
【００１６】
［第１実施形態］
以下、本発明の第１の実施形態を説明する。
図２は、本発明に係る半導体処理装置１０の構成を示す図である。
半導体処理装置１０は、半導体製造装置１２と、制御装置１６と、膜厚測定装置１８と、制御用コンピュータ２０とを有する。
半導体処理装置１０は、これらの構成要素により、半導体製造装置１２に対する温度、炉内の圧力、および炉内に導入されるガスの流量の設定値を算出し、算出した値を制御装置１６に設定して、ボートに載せられた半導体ウェハ３８（図４；枚数は任意）に対して、化学気相形成（ＣＶＤ）による膜形成を行う。
なお、半導体処理装置１０のこれらの構成部分は、全てが同一の筐体内に一体に構成されているか、別々の筐体内に構成されているかなどは問われない。
【００１７】
［半導体製造装置］
図３は、図２の半導体製造装置１２の構成を例示する図である。
半導体製造装置１２は、ウェハ３８と、ボート４２と、ウェハ３８を装填するウェハカセット４８と、このウェハカセット４８を受載するカセット授受ユニット３０と、このカセット授受ユニット３０の背面側に設けられたカセットストッカ３２と、このカセットストッカ３２の上方に設けられたバッファカセットストッカ３４と、前記カセットストッカ３２の背面側に設けられたウェハ移載機３６と、前記ウェハ移載機３６の背面側に設けられ、ウェハ３８がセットされたボート４２を搬送するボートエレベータ４４と、前記ウェハ移載機３６の上方に設けられた反応室４６とを有する。
【００１８】
図４は、ウェハ３８とボート４２とを収容した状態の反応室４６の断面を例示する図である。
反応室４６は、中空のヒータ５０と、石英製のアウタチューブ５２と、石英製のインナチューブ５４と、ガス導入ノズル５６と、円筒フランジ５８と、炉口蓋６０と、排気管６２とを有する。
ヒータ５０は、それぞれに対する温度の設定および調節が可能な５つの温度調整部分（Ｕ，ＣＵ，ＣＣ，ＣＬ，Ｌ）４６０−１〜４６０−５を有する。
ヒータ５０の温度調整部分４６０−１〜４６０−５は、例えば１つの連続したヒータ５０の巻線から、複数のタップを引き出すことにより、あるいは、それぞれ独立した巻き線を有する５個のヒータを設けることにより実現される。
アウタチューブ５２およびインナチューブ５４は、ヒータ５０と同心に設けられ、これらの間には、筒状空間６４が形成される。
【００１９】
［半導体製造装置による膜形成］
半導体製造装置１２は、いわゆる縦型ＣＶＤ装置であって、これらの構成部分により、反応室４６内に所定の間隔で並べられた半導体ウェハ３８に対して、ＣＶＤにより、Ｓｉ３Ｎ４膜、ＳｉＯ２膜およびポリシリコン（Ｐｏｌｙ−Ｓｉ）膜などの形成を行う。
【００２０】
ガス導入ノズル５６（図４）は、アウタチューブ５２の内部に連通し、反応ガスを導入する。
円筒フランジ５８は、インナチューブ５４に連通する排気管６２などを保持する。
インナチューブ５４には、石英製のボート４２が装入され、ボート４２は、炉口蓋６０に立設される。
炉口蓋６０は、ボートエレベータ４４（図３）に設けられ、円筒フランジ５８の下端を閉塞する。
【００２１】
被処理物のウェハ３８は、ウェハカセット４８（図３）に装填された状態で搬送され、カセット授受ユニット３０（図３）に受載される。
カセット授受ユニット３０は、このウェハカセット４８をカセットストッカ３２又はバッファカセットストッカ３４に移載する。
ウェハ移載機３６は、ウェハカセット４８からウェハ３８を取り出し、ボート４２に水平な状態で多段に装填する。
【００２２】
ボートエレベータ４４（図３）は、ウェハ３８が装填されたボート４２を反応室４６内に導く。
ヒータ５０の５つの温度調整部分（Ｕ，ＣＵ，ＣＣ，ＣＬ，Ｌ）４６０−１〜４６０−５それぞれは、設定に従ってアウタチューブ５２の内部を加熱し、ガス導入ノズル５６から反応ガスを導入する。
導入されたガスは、インナチューブ５４内部を上昇し、その上部で折り返されて降下し、排気管６２から排出される。
【００２３】
このように、反応室４６において、高温下でウェハ３８が反応ガスに接触し、膜形成などの処理がなされる。
膜形成が終わると、ボート４２が反応室４６から引き出され、ウェハ移載機３６により、ボート４２にセットされたウェハ３８が、ウェハカセット４８に移載され、膜形成済ウェハ３８（図１）として外部搬送装置により搬出される。
【００２４】
［制御装置］
図５は、図２に示した制御装置１６の構成と、制御装置１６と半導体製造装置１２（図２、図３、図４）との関係を模式的に示す図である。
なお、図５は上述の事項を模式的に示すので、図５における反応室４６の各構成部分の形状は、図３あるいは図４とは必ずしも一致しない。
図５に示すように、図３、図４に示した反応室４６は、第１の温度センサ４６２−１〜４６２−５と、第２の温度センサ４６３−１〜４６３−５と、ガス流量調整器７０と、流量センサ７２と、圧力調整装置７４と、圧力センサ７６とをさらに有する。
【００２５】
反応室４６の第１の温度センサ４６２−１〜４６２−５それぞれは、ヒータ５０の温度調整部分４６０−１〜４６０−５（図４、図５）それぞれに配設され、温度調整部分４６０−１〜４６０−５それぞれに対応する位置の温度を測定する。
第２の温度センサ４６３−１〜４６３−５それぞれは、例えば、筒状空間６４に、温度調整部分４６０−１〜４６０−５に対応して配設され、筒状空間６４の内部の温度分布を測定する。尚、第２の温度センサ４６３−１〜４６３−５の配設位置は、筒状空間６４に限らず、少なくとも、第１の温度センサより、ボートに載せられた半導体ウェハ３８側に近くに位置されていれば良い。
ガス流量調整器７０（図５）は、ガス導入ノズル５６（図４）を介してアウタチューブ５２内に導かれるガスの流量を調節する。
流量センサ７２は、ガス導入ノズル５６を介してアウタチューブ５２内に供給されるガスの流量を測定する。
圧力調整装置７４は、アウタチューブ５２内の圧力を調整する。
圧力センサ７６は、アウタチューブ５２内の圧力を測定する。
【００２６】
制御装置１６は、温度制御装置１６０と、５個のヒータ駆動装置１６２−１〜１６２−５と、流量制御装置１６４と、圧力制御装置１６６とを有する。
制御装置１６は、これらの構成部分により、制御用コンピュータ２０から設定された温度および圧力・流量の設定値に基づいて半導体製造装置１２の各構成部分を制御する。
【００２７】
温度制御装置１６０は、第１の温度センサ４６２−１〜４６２−５それぞれにより測定される温度調整部分４６０−１〜４６０−５それぞれの温度が、制御用コンピュータ２０により温度調整部分４６０−１〜４６０−５それぞれに対して設定された温度になるように、ヒータ駆動装置１６２−１〜１６２−５それぞれが温度調整部分４６０−１〜４６０−５それぞれに供給する電力を制御する。
流量制御装置１６４は、流量センサ７２が測定するガスの流量の値が、制御用コンピュータ２０により設定されるガス流量の値に等しくなるように、ガス流量調整器７０を制御して、反応室４６のアウタチューブ５２内に導入されるガスの流量を制御する。
圧力制御装置１６６は、圧力センサ７６が測定するアウタチューブ５２内部の圧力が、制御用コンピュータ２０により設定される圧力の値に等しくなるように、圧力調整装置７４を制御して、反応室４６のアウタチューブ５２内の圧力を制御する。
【００２８】
［膜厚測定装置］
膜厚測定装置１８は、半導体製造装置１２による膜形成処理が済んだ複数の膜形成済みウェハ３８（図２）のうち、例えば、図４に示したように、反応室４６内において等間隔な位置にあった４枚（Ｗ１〜Ｗ４）の測定対象ウェハに形成された膜の厚さを測定し、測定結果を制御用コンピュータ２０に対して出力する。
【００２９】
［ハードウェア構成］
図６は、制御用コンピュータ２０の構成を示す図である。
制御用コンピュータ２０は、ＣＰＵ２２０およびメモリ２２２などを含むコンピュータ本体２２と、通信ＩＦ２４と、記憶装置２６と、表示・入力装置２８とを有する。
つまり、制御用コンピュータ２０は一般的なコンピュータとしての構成部分を含んでいる。
【００３０】
［ソフトウェア構成］
図７は、制御用コンピュータ２０のコンピュータ本体２２において実行される制御プログラム２４０の構成を示す図である。
制御プログラム２４０は、行列ＤＢ２４２と、修正用係数ＤＢ２４４と、結果ＤＢ２４６と、行列修正演算部２４８と、ユーザインタフェース部２５０と、制御部２５２とから構成される。
【００３１】
制御プログラム２４０は、記録媒体２６０（図６）などを介して制御用コンピュータ２０に供給され、メモリ２２２にロードされて実行される。
制御プログラム２４０は、これらの構成部分により、干渉行列Ｒ（式１）などを利用して、半導体処理装置のユーザが所望する条件の膜をウェハ３８に形成するために、制御装置１６の温度制御装置１６０に温度を設定する。
さらに、制御プログラム２４０は、第２の温度センサ４６３−１〜４６３−５それぞれにより実際に測定された温度と、修正用係数ＤＢ２４４に記憶された修正用係数（式６などを参照し後述）とを用いて、干渉行列Ｒを修正する。
【００３２】
ユーザインタフェース部２５０は、制御用コンピュータ２０の表示・入力装置２８（図６）から入力される修正用係数（式６）の初期値などを、修正用係数ＤＢ２４４に保存する。
また、ユーザインタフェース部２５０は、同様にして入力される所望の膜厚の設定値などを、制御部２５２に対して出力する。
【００３３】
制御部２５２は、第２の温度センサ４６３−１〜４６３−５（図５）に測定される温度を、所望の温度とするために、行列ＤＢ２４２に保存されている干渉行列Ｒを利用し、文献３などの開示技術を利用し、温度調整部分４６０−１〜４６０−５（図４、図５）それぞれに対する温度設定値（すなわち、第１の温度センサ４６２−１〜４６２−５それぞれに対する設定値）の変化量ｕ１〜ｕ５（ｌ＝５のとき）を算出する。
その後、制御部２５２は、算出した温度調整部分４６０−１〜４６０−５それぞれに対する温度設定値の変化量ｕ１〜ｕ５に前回の温度設定値を加えて今回の温度設定値としその値を、制御装置１６を介して、温度調整部分４６０−１〜４６０−５それぞれに設定する。
ここで、温度設定値の変化量ｕ１〜ｕ５は、式１の右辺に表されるｕの要素に対応する。
【００３４】
また、制御部２５２は、このとき第２の温度センサ４６３−１〜４６３−５それぞれにより実際に測定された筒状空間６４の内部の温度（５つの温度測定値）を、制御装置１６より入力する。
制御部２５２は、入力された筒状空間６４の内部の温度（５つの温度測定値）と、そのときに制御装置１６に設定されていた温度設定値とを対にして結果ＤＢ２４６に保存する。
【００３５】
結果ＤＢ２４６は、制御部２５２により保存された温度調整部分４６０−１〜４６０−５それぞれに対する温度設定値と、そのとき第２の温度センサ４６３−１〜４６３−５それぞれにより実際に測定された温度設定値とを対にしてその履歴を記憶し、管理する。
行列ＤＢ２４２は、干渉行列Ｒ（式１）を記憶し、管理する。
修正用係数ＤＢ２４４は、後述する行列修正演算部２４８で使用される修正用係数（式６）、つまり、温度設定値系列行列Ｘと偏差系列ベクトルｙｉとを記憶し、管理する。
【００３６】
行列修正演算部２４８は、まず、結果ＤＢ２４６に記憶されていた温度設定値の履歴から、例えば前回の温度設定値から前々回の温度設定値を減じて、温度設定値の変化量ｕを求める。そして次に結果ＤＢ２４６に記憶されていた温度測定値の履歴から、例えば前回の温度測定値から前々回の温度測定値を減じて、対応する温度測定値の変化量ｙｒｅａｌを求める。次に、修正用係数ＤＢ２４４に記憶された修正用係数と、温度設定値の変化量ｕと、温度測定値の変化量ｙｒｅａｌとを入力し、後述する最小二乗法に基づいて、行列ＤＢ２４２に記憶されている干渉行列Ｒを修正する（式６）。
ここで、ｙｒｅａｌとは、温度調整部分４６０−１〜４６０−５それぞれに対して設定された温度設定値の変化量ｕに応じて、第２の温度センサ４６３−１〜４６３−５それぞれに、実際に測定された温度の変化量である。この第２の温度センサ４６３−１〜４６３−５の温度測定値の変化量ｙｒｅａｌの要素ｙｒｅａｌｉ（式６などを参照して後述）は、ｙｒｅａｌ１〜ｙｒｅａｌ５と表される（式１においてｋ＝５のとき）。
つまり、温度調整部分４６０−１〜４６０−５それぞれに対して設定された温度設定値の変化量ｕが、前々回の温度設定値から前回の温度設定値への変化量とすると、実際に測定された温度測定値の変化量ｙｒｅａｌは、前々回の温度設定値のときにおいて第２の温度センサ４６３−１〜４６３−５で実際に測定された温度測定値から、前回の温度設定値のときにおいて第２の温度センサ４６３−１〜４６３−５で実際に測定された温度測定値への変化量である。
行列修正演算部２４８は、修正後の干渉行列Ｒを行列ＤＢ２４２に保存する。
また、修正処理の過程で修正用係数が修正された場合には、行列修正演算部２４８は、修正用係数ＤＢ２４４に修正後の新たな修正用係数を保存する。
【００３７】
［最小二乗法］
行列修正演算部２４８が最小二乗法を利用して干渉行列Ｒを修正する方法をさらに説明する。
いま、式１において、ｕの要素とｙの要素とは１つであるとする。
また、式１のＲは、行列ではなく定数である。
このとき、複数の入力ｕに対する複数の出力ｙが、正規分布Ｎ（０，σ２）に従い、かつ、出力ｙの平均値が式１で表される直線上にあるならば、ある入力ｕｉに対するｙの確率密度関数ｆｘｉ（ｙ）は次のように表される。
【００３８】
【数２】
2005347687.tif 000004
【００３９】
入力ｕと出力ｙについて、ｎ組のサンプル（ｕｉ，ｙｉ：ｉ＝１〜ｎ）が得られたならば、そのときの確率は、全てのサンプルが発生する確率の積として、Ｒを変数とする次式の尤度関数Ｌで与えられる。
【００４０】
【数３】
2005347687.tif 000005
【００４１】
この尤度関数Ｌを最大にするＲは、最尤推定値と呼ばれる。
尤度関数Ｌを最大にするということは、
【００４２】
【数４】
2005347687.tif 000006
【００４３】
を最小にすることである。
つまり、最尤推定値Ｒは、最小二乗法による推定値と同値である。
ｕとｙとが複数の要素を持ち、Ｒが行列である場合においても、Ｒの各要素は同様に考えられる。
【００４４】
次に、最小二乗法によるベクトルｒの推定について説明する。
出力ｙは複数の要素をもつ入力ｕの１次式であると仮定する。
ここで、ｕをｋ×１ベクトル、ｒをｋ×１ベクトルとすると、ｙは次式３のように表される。
【００４５】
【数５】
2005347687.tif 000007
【００４６】
ｎ回の試行の結果、入力ｕと出力ｙについて、ｎ組のサンプル（ｕｉ，ｙｉ：ｉ＝１〜ｎ）が得られたとする。
このとき、入力ｕと出力ｙは、それぞれ行列とベクトルとして次式のように表される。
【００４７】
【数６】
2005347687.tif 000008
【００４８】
そして、式３の関係式が成り立つならば、最小二乗法によるベクトルｒの推定値は、次式のように求められる。
【００４９】
【数７】
2005347687.tif 000009
【００５０】
［最小二乗法を利用した干渉行列の修正方法］
行列修正演算部２４８による干渉行列Ｒの修正方法を具体的に説明する。
いま、第２の温度センサ４６３−１〜４６３−５の温度測定値を設定された目標値と一致させるため、式１の関係を用いて、文献３の開示技術を用いて、温度調整部分４６０−１〜４６０−５それぞれに対して設定されるべき温度設定値を求めているとする。このとき、式１のｕは、温度調整部分４６０−１〜４６０−５それぞれに対する温度設定値の変化量に対応し、式１のｙは、第２の温度センサ４６３−１〜４６３−５の温度測定値の変化量に対応する。
そこで、まず式１を次式のように変形する。
【００５１】
【数８】
2005347687.tif 000010
【００５２】
ここで、ｋは、第２の温度センサ４６３−１〜４６３−５の数、すなわち、５である。
ｌは、温度調整部分４６０−１〜４６０−５の数であり、同様に５である。
ただし、第２の温度センサと温度調整部分の数は任意であり、この値に限られるものではない。
従って、温度測定値の変化量ｙは、要素ごとに次式４のように表される。
【００５３】
【数９】
2005347687.tif 000011
【００５４】
ただし、干渉行列Ｒのｉ行目要素で構成されるベクトルｒｉは、次式５のようにまとめた。
【００５５】
【数１０】
2005347687.tif 000012
【００５６】
そして、先に説明した最小二乗法を利用すると次式６が得られる。
【００５７】
【数１１】
2005347687.tif 000013
【００５８】
ここで、Ｘ、ｙｉは、修正用係数ＤＢ２４２（図７）に記憶されている温度設定値系列行列と偏差系列ベクトルである。
温度設定値系列行列Ｘは、温度設定値の変化量ｕ（ｌ＝５のときは、ｕは要素数５のベクトルであることに注意）の過去の系列を要素とし、偏差系列ベクトルｙｉは、実際に測定された温度測定値の変化量ｙｒｅａｌのｉ番目の要素であるｙｒｅａｌｉの過去の系列を要素とする。
実際に測定された温度測定値の変化量ｙｒｅａｌは、第２の温度センサ４６３-１〜４６３−５それぞれに実際に測定された温度測定値を要素とするベクトルである。例えば式６のｙ１（ベクトルｙｉのｉ＝１のとき）は、第２の温度センサ４６３-１で実際に測定された温度測定値の過去の系列であり、ｙ２は第２の温度センサ４６３-２で実際に測定された温度測定値の過去の系列であり、以下ｙ５まで同様である。
そして、Ｘ'、ｙｉ'は、今回修正された新たな温度設定値系列行列と偏差系列ベクトルである。
つまり、式６は、温度設定値の変化量ｕとそのとき実際に測定された温度測定値の変化量ｙｒｅａｌの要素ｙｒｅａｌｉとを用いて、新たな干渉行列Ｒの要素ｒｉ'を最小二乗法により計算する方法を示している。ｒｉ'は、今回修正された新たな干渉行列Ｒのｉ行目要素で構成されるベクトル（式５を参照）である。
【００５９】
温度設定値系列行列Ｘと偏差系列ベクトルｙｉの初期値は、例えば干渉行列Ｒを最初に作成したときの値である。
また、式６の第１式と第２式において、温度設定値系列行列Ｘと偏差系列ベクトルｙｉは、過去全ての系列からではなく、最近の所定期間の系列から構成されてもよい。
【００６０】
さらに、式６の第３式は、式７のように重み行列Ｗを用いるように変形されてもよい。
式７により、例えば最近のデータ系列は修正に対して強く影響し、古いデータ系列はあまり影響しないということが可能となる。
【００６１】
【数１２】
2005347687.tif 000014
【００６２】
修正された干渉行列Ｒ'は、式６の結果を用いて次式８のように表される。
【００６３】
【数１３】
2005347687.tif 000015
【００６４】
行列修正演算部２４８は、この修正された干渉行列Ｒ'を行列ＤＢ２４２（図７）に保存する。
そして、次回の温度制御時には、制御部２５２が、目標とする温度と、この修正後の干渉行列とから、温度調整部分４６０−１〜４６０−５それぞれに設定すべき温度を算出し、制御装置１６（図５）を介して、温度調整部分４６０−１〜４６０−５それぞれに設定することになる。
【００６５】
［制御プログラム２４０による干渉行列Ｒの修正処理］
図８は、干渉行列Ｒを修正する処理（Ｓ１０）を示すフローチャートである。
図８に示すように、ステップ１００（Ｓ１００）において、制御プログラム２４０の行列修正演算部２４８は、修正用係数ＤＢ２４４から修正用係数、つまり、温度設定値系列行列Ｘと偏差系列ベクトルｙ１〜ｙ５とを入力する。そして、結果ＤＢ２４６から、温度制御（図９を参照して後述）の結果として保存された温度設定値の履歴とそれらの温度設定値に対応する実際に測定された温度測定値とを入力し、温度設定値の変化量ｕ１〜ｕ５と温度測定値の変化量ｙｒｅａｌ１〜ｙｒｅａｌ５を求める。
【００６６】
ステップ１０２（Ｓ１０２）において、行列修正演算部２４８は、式６、式８に基づいて、新たな温度設定値系列行列Ｘ'と偏差系列ベクトルｙ１'〜ｙ５'とを算出し、これらの値を用いて、新たな干渉行列Ｒ'を算出する。
ステップ１０４（Ｓ１０４）において、行列修正演算部２４８は、修正後の新たな干渉行列Ｒ'を行列ＤＢ２４２に保存し、式６の過程で算出された新しい温度設定値系列行列Ｘ'と偏差系列ベクトルｙ１'〜ｙ５'とを修正用係数ＤＢ２４４に保存する。
【００６７】
［半導体処理装置１０の全体動作］
以下、半導体処理装置１０の全体的な動作を説明する。
図９は、半導体処理装置１０による膜形成処理（Ｓ２０）を示すフローチャートである。
図９に示すように、ステップ２００（Ｓ２００）において、半導体処理装置１０（図１）のユーザが、制御用コンピュータ２０の表示・入力装置２８（図６）に対して、所望の目標温度などを設定する。
制御プログラム２４０（図７）のユーザインタフェース部２５０は、設定された所望の目標温度を、制御部２５２に対して出力する。
【００６８】
また、ユーザは同様に、所望の目標温度Ｔｄｉ、温度設定値の初期値Ｔ０ｉに対応した温度設定値系列行列Ｘの初期値と偏差系列ベクトルｙｉ（ｉ＝１〜５）の初期値を設定する。
ユーザインタフェース部２５０は、この初期条件を、修正用係数ＤＢ２４４に保存する。
また、干渉行列Ｒが行列ＤＢ２４２に記憶されていなければ、ユーザは同様に、干渉行列Ｒの初期値を設定し、ユーザインタフェース部２５０は、この干渉行列Ｒを行列ＤＢ２４２に保存する。
【００６９】
ステップ２０１（Ｓ２０１）において、制御装置１６（図５）の温度制御装置１６０は、ヒータ駆動装置１６２−１〜１６２−５それぞれにより半導体製造装置１２の温度調整部分４６０−１〜４６０−５それぞれに対して供給される電力を、第１の温度センサ４６２−１〜４６２−５それぞれにより測定された温度調整部分４６０−１〜４６０−５それぞれに対応する温度測定値が温度設定値の初期値Ｔ０ｉに一致するように、十分短い周期で制御する。
半導体製造装置１２では、温度調整部分４６０−１〜４６０−５それぞれに対応する温度測定値が温度設定値の初期値Ｔ０ｉに十分長い時間一致もしくはほぼ一致したところで、筒状空間６４の内部の温度が第２の温度センサ４６３−１〜４６３−５それぞれにより測定される。
測定された温度ｔ０ｉは、温度制御装置１６０に伝えられ、さらに温度制御装置１６０は測定された温度ｔ０ｉを制御コンピュータ２０に対して出力する。そしてさらに制御コンピュータ２０では、測定された温度ｔ０ｉとそのときの温度設定値Ｔ０ｉを対として結果ＤＢ２４６に保存する。
測定された温度ｔ０ｉが目標値Ｔｄｉと一致すれば、制御プログラム２４０は、Ｓ２２０の処理に進む。測定された温度ｔ０ｉが目標値Ｔｄｉと異なる場合には、Ｓ２０２の処理に進む。尚、測定された温度ｔ０ｉが目標値Ｔｄｉと一致は、完全に一致する場合のみならず、所定の許容温度範囲（例えば±５℃以内等）を設けるようにして該所定の許容温度範囲であれば、一致と判断するようにしても良い。
【００７０】
ステップ２０２（Ｓ２０２）において、筒状空間６４の内部の温度が目標温度Ｔｄｉになるように、目標温度Ｔｄｉと測定された温度ｔ０ｉとの偏差と干渉行列Ｒとを利用して、温度設定値の補正値Ｕ１ｉを求める。求めた温度設定値の補正値Ｕ１ｉと前回の温度設定値の初期値Ｔ０ｉに加えることで、次の温度設定値Ｔ１ｉを求める。求めた次の温度設定値Ｔ１ｉを設定する。
【００７１】
ステップ２０４（Ｓ２０４）において、制御装置１６（図５）の温度制御装置１６０は、ヒータ駆動装置１６２−１〜１６２−５それぞれにより半導体製造装置１２の温度調整部分４６０−１〜４６０−５それぞれに対して供給される電力を、第１の温度センサ４６２−１〜４６２−５それぞれにより測定された温度調整部分４６０−１〜４６０−５それぞれに対応する温度測定値がステップ２０２（Ｓ２０２）で設定された温度設定値Ｔ１ｉに一致するように、十分短い周期で制御する。
半導体製造装置１２では、温度調整部分４６０−１〜４６０−５それぞれに対応する温度測定値が温度設定値Ｔ１ｉに十分長い時間一致もしくはほぼ一致したところで、筒状空間６４の内部の温度が第２の温度センサ４６３−１〜４６３−５それぞれにより測定される。
測定された温度ｔ１ｉは、温度制御装置１６０に伝えられ、さらに温度制御装置１６０は測定された温度ｔ１ｉを制御コンピュータ２０に対して出力する。そしてさらに制御コンピュータ２０では、測定された温度ｔ１ｉとそのときの温度設定値Ｔ１ｉを対として結果ＤＢ２４６に保存する。
測定された温度ｔ１ｉが目標値Ｔｄｉと一致すれば、制御プログラム２４０は、Ｓ２２０の処理に進む。測定された温度ｔ１ｉが目標値Ｔｄｉと異なる場合には、Ｓ１０の処理に進む。尚、測定された温度ｔ１ｉが目標値Ｔｄｉと一致は、完全に一致する場合のみならず、所定の許容温度範囲（例えば±５℃以内等）を設けるようにして該所定の許容温度範囲であれば、一致と判断するようにしても良い。
【００７２】
前述の測定された温度ｔ１ｉが目標値Ｔｄｉと異なる場合には、制御用コンピュータ２０の制御部２５２は、ステップ２０１で求めた温度設定値の初期値Ｔ０ｉに対する測定値ｔ０ｉと、ステップ２０４で求めた温度設定値Ｔ１ｉに対する測定値ｔ１ｉとにより、温度設定値の変化量Ｕ１〜Ｕ５（Ｕｉ＝Ｔ１ｉ−Ｔ０ｉ）と、実際に測定された温度測定値の偏差Ｙｒｅａｌ１〜Ｙｒｅａｌ５（Ｙｒｅａｌi＝ｔ１ｉ-ｔ０ｉ）とを得ることができる。
【００７３】
Ｓ１０の処理にて、制御プログラム２４０は、温度設定値の変化量Ｕ１〜Ｕ５と、実際に測定された温度設定値の偏差Ｙreal1〜Ｙreal5とを用いて、干渉行列Ｒを修正する。そして、制御プログラム２４０は、Ｓ２０２の処理に戻る。
【００７４】
ステップ２２０（Ｓ２２０）において、制御部２５２は、設定された条件で半導体製造装置１２を制御し、半導体ウェハ３８に対する膜形成処理を行わせる。
Ｓ２２０の処理における膜形成が終了すると、ステップ２２２（Ｓ２２２）において、制御部２５２は、膜厚測定装置１８を制御して、測定対象ウェハＷ１〜Ｗ４それぞれに形成された膜の厚さを計測させ、膜形成処理を終了する。
【００７５】
［変形例］
説明の具体化・明確化のために本発明の半導体処理装置（図２）が熱処理装置に応用される場合を例示したが、本人出願人の特願２００３−３３４８７１のように、ヒータに対する目標温度設定値の変化量と所要量と所要位置の膜厚の変化量との関係を熱干渉行列Ｍとしている、この熱干渉行列Ｍにも適用可能である。具体的には、特願２００３−３３４８７１の誤差比率の代わりに、本発明の予測膜厚値と実際の膜厚値との関係を前述の最小二乗法を利用し、熱干渉行列Ｍを修正することとするように適用可能である。また、同様に、ガス流量、圧力などの調節と処理結果との間に相関を有する処理一般に応用可能である。つまり、本発明は、半導体処理装置において、入力と出力との関係を干渉行列で表し、第１の入力値から求まる第１の出力値にその干渉行列を用いることにより、第１の入力値の補正値を求め、この補正値と第１の入力値とで第２の入力値とし、第２の入力値から求まる出力を第２の出力値とし、第１の入力値と第２の入力値との偏差と第２の入力値と第２の出力値との偏差とに基づいて干渉行列を修正することができる。
【００７６】
なお、本発明の半導体処理装置は、上述した縦型装置のみならず、枚葉装置等にも適用可能である。
また、半導体製造装置１２から膜厚測定装置１８には、膜形成済みウェハ３８が、基板搬送装置などによって自動的に搬送されても、人手によって搬送されてもよい。また、膜厚測定装置はなくても良い。
【００７７】
［第２実施形態］
次に、本発明の第２の実施形態を説明する。
第１の実施形態では、制御プログラム２４０の行列修正演算部２４８は、最小二乗法に基づいて干渉行列Ｒを修正するのに対して、第２の実施形態では、行列修正演算部２４８は、指数重み再帰最小二乗アルゴリズム（図１０を参照して後述）に基づいて干渉行列Ｒを修正する。
【００７８】
行列修正演算部２４８は、まず、結果ＤＢ２４６に記憶されていた温度設定値の履歴から、例えば前回の温度設定値から前々回の温度設定値を減じて、温度設定値の変化量ｕを求める。そして次に結果ＤＢ２４６に記憶されていた温度測定値の履歴から、例えば前回の温度測定値から前々回の温度測定値を減じて、対応する温度測定値の変化量ｙｒｅａｌを求める。次に、修正用係数ＤＢ２４４に記憶された修正用係数と、温度設定値の変化量ｕ（要素；ｕ１〜ｕ５）と、温度測定値の変化量ｙｒｅａｌ（要素；ｙｒｅａｌ１〜ｙｒｅａｌ５）とを入力し、後述する指数重み再帰最小二乗アルゴリズム（図１０）に基づいて得られた数式（式１２などを参照して後述）を利用して、行列ＤＢ２４２に記憶されている干渉行列Ｒを修正する。
行列修正演算部２４８は、修正後の干渉行列Ｒを行列ＤＢ２４２に保存する。
また、修正処理の過程で修正用係数が修正された場合には、行列修正演算部２４８は修正用係数ＤＢ２４４に修正後の新しい修正用係数を保存する。
【００７９】
［指数重み再帰最小二乗アルゴリズム］
まず、図１０を用いて指数重み再帰最小二乗アルゴリズムを説明し、次に、行列修正演算部２４８が干渉行列Ｒを修正する方法をさらに説明する。
図１０は、タップ付き遅延線フィルタの一例を示すブロック図である。
図１０に示される構成は、有限長インパルス応答フィルタ、あるいはトランスバーサルフィルタとも呼ばれる。
タップ付き遅延線フィルタは、Ｍ−１個の単位遅延演算子３０１−１〜３０１−（Ｍ−１）と、Ｍ個の乗算器３０２−１〜３０２−Ｍと、Ｍ−１個の加算器３０３−１〜３０３−（Ｍ−１）とからなる。
Ｍは任意の整数である。
【００８０】
ｕ（ｉ）は、周期Ｔごとに取得された入力値の時刻ｉＴにおける値であり、正確にはｕ（ｉＴ）のように記されるものが省略して表されている。
単位遅延演算子３０１−１〜３０１−（Ｍ−１）は、入力値を周期Ｔだけ遅延して出力する。例えば単位遅延演算子３０１−１の入力がｕ（ｉ）のとき、出力は周期Ｔだけ以前の入力値ｕ（ｉー１）である。
以後、単位遅延演算子３０１−２〜３０１−（Ｍ−１）は同様に、ｕ（ｉ−２）〜ｕ（ｉ−Ｍ＋１）を出力する。
【００８１】
乗算器３０２−１〜３０２−Ｍは、入力値にそれぞれ定数ｈ（１，ｎ）〜ｈ（Ｍ，ｎ）を乗算して出力する。
定数ｈ（１，ｎ）〜ｈ（Ｍ，ｎ）はタップ係数と呼ばれ、後述する修正アルゴリズムによって修正されるものである。
ここで、引数ｎは、タップ係数が修正された時刻である。
ｙ（ｉ）は、加算器３０３−１〜３０３−（Ｍ−１）によって乗算器の出力が全て加算された時刻ｉＴの出力値である。
【００８２】
次に、過去において、入力値ｕ（ｉ）に対して、出力値ｙ（ｉ）と望みの応答ｄ（ｉ）があり、それらの系列がｉ＝１，２，…，ｎ−１まであったとする。
そして、いま、入力値ｕ（ｎ）に対して、出力値ｙ（ｎ）と望みの応答ｄ（ｎ）とがあるとする。
このとき、タップ係数を修正することによって入力値ｕ（ｉ）に対して新たに生まれた出力値系列ｙ（ｉ）（ｉ＝１，…，ｎ）と望みの応答系列ｄ（ｉ）（ｉ＝ｉ＝１，…，ｎ）との偏差の二乗和が最小となるように、タップ係数を修正することを考える。
タップ係数ベクトルｈ（ｎ）と入力ベクトルｕ（ｎ）は、それぞれタップ係数と入力値系列より、次のように表される。
【００８３】
【数１４】
2005347687.tif 000016
【００８４】
このとき、指数重み再帰最小二乗アルゴリズムは、次式９で示される。
【００８５】
【数１５】
2005347687.tif 000017
【００８６】
ただし、ｎは現在時刻を示すサンプル数、ｈ（ｎ）はタップ係数ベクトル、ｋ（ｎ）は利得ベクトル、η（ｎ）は真の推定誤差、ｄ（ｎ）は望みの応答、ｕ（ｎ）は入力ベクトル、Ｐ（ｎ）は係数誤差相関行列、λは指数重み係数である。
また、ｈ（ｎ−１）とＰ（ｎ−１）は、前回の修正計算で求められたタップ係数ベクトルと係数誤差相関行列である。
ｎ＝１のとき、係数誤差相関行列とタップ係数ベクトルの初期値は次のようにする。
【００８７】
【数１６】
2005347687.tif 000018
【００８８】
指数重み係数λは、偏差の二乗和を評価するときの出力値系列と望みの応答系列とに重みをつける０<λ≦１の整数である。
λ＝１の場合、全ての過去のデータは等しい重みとなる。
λ<１の場合、現在のデータは、過去のデータよりも大きな影響をもつような重みとなり、λが小さいほど、現在のデータの影響力は強くなる。
【００８９】
［指数重み再帰最小二乗アルゴリズムを利用した干渉行列の修正方法］
行列修正演算部２４８（図７）による干渉行列Ｒ（式１）の修正方法を具体的に説明する。
いま、第２の温度センサ４６３−１〜４６３−５の温度測定値を設定された目標値と一致させるため、式１の関係を用いて、文献３の開示技術を用いて、温度調整部分４６０−１〜４６０−５それぞれに対して設定されるべき温度設定値を求めているとする。このとき、式１のｕは、温度調整部分４６０−１〜４６０−５それぞれに対する温度設定値の変化量に対応し、式１のｙは、第２の温度センサ４６３−１〜４６３−５の温度測定値の変化量に対応する。
【００９０】
このとき、温度測定値の変化量ｙの要素ｙｉは、第１の実施形態と同様に式１より、式４の形で与えられる。
ここで、ｋは、第２の温度センサ４６３−１〜４６３−５（図５）の数、すなわち、５である。
ｌは、温度調整部分４６０−１〜４６０−５（図４、図５）の数であり、同様に５である。
ただし、温度センサと温度調整部分の数は任意であり、この値に限られるものではない。
【００９１】
そして、先に説明した指数重み再帰最小二乗アルゴリズムを考慮すると、式４の右辺は、図１０で示したタップ付き遅延線フィルタの処理とみなされる。
ここで、式４におけるｙｉは、図１０における出力値として考えられる。
従って、干渉行列Ｒのｉ行目要素で構成されるベクトルｒｉをタップ係数ベクトルとし、実際の温度測定値の変化量ｙｒｅａｌを所望の応答とし、温度設定値の変化量ｕをそのまま入力ベクトルとすると、式９における修正前のタップ係数ベクトルｈ（ｎ−１）は修正前の干渉行列Ｒのｉ行目要素で構成されるベクトルｒｉに、修正後のタップ係数ベクトルｈ（ｎ）は修正後の干渉行列Ｒのｉ行目要素で構成されるベクトルｒｉ'に、所望の応答ｄ（ｎ）は実際の温度測定値の変化量の要素ｙｒｅａｌｉに、入力ベクトルｕ（ｎ）は温度設定値の変化量ｕにそれぞれ置き換えられ、次式１２が得られる。
【００９２】
【数１７】
2005347687.tif 000019
【００９３】
式１２において、Ｐは修正用係数ＤＢ２４２に記憶されている係数誤差相関行列であり、Ｐ'は今回修正された新たな係数誤差相関行列である。
つまり、式１２は、温度設定値の変化量ｕと実際に測定された温度測定値の変化量ｙｒｅａｌの要素ｙｒｅａｌｉとを用いて、新たな干渉行列Ｒの要素ベクトルｒｉ'を指数重み再帰最小二乗アルゴリズムにより計算する方法を示している。
なお、指数重み係数λは、添え字ｉごとに異なる値が設定されてもよい。
【００９４】
係数誤差相関行列の初期値は、式１０に従うとし、例えばｃ＝１００程度とする。
干渉行列Ｒのｉ行目要素で構成されるベクトルｒｉの初期値は、まだ干渉行列Ｒが作成されていなければ、式１１に従って零ベクトルとする。
修正された干渉行列Ｒ'は式１２の結果を用いて次式のように表される。
【００９５】
【数１８】
2005347687.tif 000020
【００９６】
行列修正演算部２４８は、式１２を利用して干渉行列Ｒを修正し、この修正された干渉行列Ｒ'を行列ＤＢ２４２に保存する。
そして、次回の温度制御時には、制御部２５２が、目標とする温度と、この修正後の干渉行列とから、温度調整部分４６０−１〜４６０−５それぞれに設定すべき温度を算出し、制御装置１６を介して、温度調整部分４６０−１〜４６０−５それぞれに設定することになる。
【００９７】
［制御プログラム２４０による干渉行列Ｒの修正処理］
図１１は、干渉行列Ｒを修正する処理（Ｓ３０）を示すフローチャートである。
図１１に示すように、ステップ３００（Ｓ３００）において、制御プログラム２４０の行列修正演算部２４８は、修正用係数ＤＢ２４４から修正用係数、つまり、指数重み係数λと係数誤差相関行列Ｐとを入力する。そして、結果ＤＢ２４６から、温度制御（図９、図１２）の結果として保存された温度設定値の履歴とそれらの温度設定値に対応する実際の温度測定値とを入力し、温度設定値の変化量ｕ１〜ｕ５と温度測定値の変化量ｙｒｅａｌ１〜ｙｒｅａｌ５とを入力する。
【００９８】
ステップ３０２（Ｓ３０２）において、行列修正演算部２４８は、式１２、式１３に基づいて、利得ベクトルｋと、式１により算出された所望の温度変化量と実際の温度変化量との誤差ηとを算出し、これらの値を用いて、新たな干渉行列Ｒ'を算出する。
また、今回の温度設定値を係数誤差相関行列Ｐに反映させるため、新たな係数誤差相関行列Ｐ'を算出する。
さらに、ステップ３０４（Ｓ３０４）において、行列修正演算部２４８は、修正後の干渉行列Ｒ'を行列ＤＢ２４２に保存し、式１２の過程で算出された新しい係数誤差相関行列Ｐ'を修正用係数ＤＢ２４４に保存する。
【００９９】
［半導体処理装置１０の全体動作］
以下、半導体処理装置１０の全体的な動作を説明する。
図１２は、半導体処理装置１０による膜形成処理（Ｓ４０）を示すフローチャートである。
図１２に示される処理のうち、図９に示した処理と実質的に同じ処理には、同じ符号が付してある。
ステップ２０４（Ｓ２０４）において、平衡状態での温度が目標値と異なる場合には、制御プログラム２４０は、図１１に示したＳ３０の処理に進み、干渉行列Ｒを修正する。
【０１００】
［変形例］
説明の具体化・明確化のために本発明の半導体処理装置（図２）が熱処理装置に応用される場合を例示したが、本人出願人の特願２００３−３３４８７１のように、ヒータに対する目標温度設定値の変化量と所要量と所要位置の膜厚の変化量との関係を熱干渉行列Ｍとしている、この熱干渉行列Ｍにも適用可能である。具体的には、特願２００３−３３４８７１の誤差比率の代わりに、本発明の予測膜厚値と実際の膜厚値との関係を前述の制御プログラム２４０を利用し、熱干渉行列Ｍを修正することとするように適用可能である。また、同様に、ガス流量、圧力などの調節と処理結果との間に相関を有する処理一般に応用可能である。つまり、本発明は、半導体処理装置において、入力と出力との関係を干渉行列で表し、第１の入力値から求まる第１の出力値にその干渉行列を用いることにより、第１の入力値の補正値を求め、この補正値と第１の入力値とで第２の入力値とし、第２の入力値から求まる出力を第２の出力値とし、第１の入力値と第２の入力値との偏差と第２の入力値と第２の出力値との偏差とに基づいて干渉行列を修正することができる。なお、本発明の半導体処理装置は、上述した縦型装置のみならず、枚葉装置等にも適用可能である。また、半導体製造装置は、膜厚測定装置には、膜形成済ウェハが、基板搬送装置などによって自動的に搬送されても、人手によって搬送されてもよい。また、膜厚測定装置はなくても良い。
【０１０１】
［数値例］
制御プログラム２４０による干渉行列Ｒの修正処理（図１１）を具体的な数値を使ってさらに説明する。
ここでは、簡単のために半導体製造装置１２（図２）の温度調整部分（図４、図５）および温度センサ（図５）は、Ｕ、ＣＣ、Ｌの３ヶ所に設けられているとする。
よって、制御装置１６のヒータ駆動装置も同様に、半導体製造装置１２の温度調整部分Ｕ、ＣＣ、Ｌに対応する構成となる。
つまり、半導体処理装置１０の温度設定値の変化量と温度変化量との関係を示す干渉行列Ｒは３×３の行列となる。
このとき、半導体処理装置１０の温度設定値の変化量と実際の温度変化量との関係を示す数値が行列の形で表されており、この行列Ｒｒｅａｌは、次式の値とする。
【０１０２】
【数１９】
2005347687.tif 000021
【０１０３】
ただし、行列Ｒｒｅａｌは物性値であり、この値は正確には知ることができないものである。または、半導体処理装置１０自身の劣化や環境の変化によって少しずつ値が変化していくものである。
一方、干渉行列Ｒは、最初に次式の値のように作成され、制御プログラム２４０の行列ＤＢ２４２に保存されたとする。
【０１０４】
【数２０】
2005347687.tif 000022
【０１０５】
ここでは簡単のため、干渉行列Ｒは、第１行の値のみ行列Ｒｒｅａｌと異なっている。
このとき、半導体処理装置１０（図２）は、次式に示される干渉行列Ｒの第１行を構成する列ベクトルｒ１を修正することになる。
【０１０６】
【数２１】
2005347687.tif 000023
【０１０７】
まず、半導体処理装置１０のユーザは、制御用コンピュータ２０の表示・入力装置２８より、次式のように、初期条件として係数誤差相関行列Ｐの初期値と指数重み係数λを設定する。
本数値例では、指数重み係数λは、修正処理の効果を大きくするために、０．００１であるが、実際にはさらに大きな値であることが多い。
この初期条件は、ユーザインタフェース部２５０により、修正用係数ＤＢ２４４に保存される。
【０１０８】
【数２２】
2005347687.tif 000024
【０１０９】
次に、制御部２５２は、筒状空間６４の内部の温度を目標値にするよう温度設定値を制御装置１６に対して出力する。
この温度制御の結果、第２の温度センサにより、実際の筒状空間６４の内部の温度が測定され、制御部２５２に温度測定値として入力される。
そして、制御部２５２は、温度設定値とそのときの温度測定値を対として、結果ＤＢ２４６に保存する。
【０１１０】
制御プログラム２４０の行列修正演算部２４８は、まず、結果ＤＢ２４６から温度設定値の履歴を入力し、例えば前回の温度設定値から前々回の温度設定値を減ずることによって、温度設定値の変化量ｕを求める。さらに、結果ＤＢ２４６から温度設定値に対応する温度測定値を入力し、例えば前回の温度測定値から前々回の温度測定値を減ずることによって、温度測定値の変化量ｙｒｅａｌを求める。このとき、温度設定値の変化量ｕを次のように定めると、温度測定値の変化量ｙｒｅａｌは、ｕと行列Ｒｒｅａｌとから求められる値となる。
【０１１１】
【数２３】
2005347687.tif 000025
【０１１２】
次に、制御プログラム２４０の行列修正演算部２４８は、行列ＤＢ２４２、修正用係数ＤＢ２４４から、それぞれ干渉行列Ｒ、係数誤差相関行列Ｐ、指数重み係数λを入力する。
そして、行列修正演算部２４８は、干渉行列Ｒを修正する処理を行う。
まず、利得ベクトルｋは、行列修正演算部２４８により、式１２の第１式に基づいて算出される。
【０１１３】
【数２４】
2005347687.tif 000026
【０１１４】
次に、新たな係数誤差相関行列Ｐ'は、行列修正演算部２４８により、式１２の第２式に基づいて算出される。
【０１１５】
【数２５】
2005347687.tif 000027
【０１１６】
次に、所望の温度変化量と実際の温度変化量との誤差ηは、行列修正演算部２４８により、式１２の第３式に基づいて算出される。
【０１１７】
【数２６】
2005347687.tif 000028
【０１１８】
最後に、新たな干渉行列Ｒ'の第１行を構成する列ベクトルｒ１'は、行列修正演算部２４８により、式１２の第４式に基づいて算出される。
【０１１９】
【数２７】
2005347687.tif 000029
【０１２０】
結果として、新たな干渉行列Ｒ'は、次式の通り、行列Ｒｒｅａｌに近づくようにして得られる。
【０１２１】
【数２８】
2005347687.tif 000030
【０１２２】
そして、行列修正演算部２４８は、修正後の干渉行列Ｒ'を行列ＤＢ２４２に、新たな係数誤差相関行列Ｐ'を修正用係数ＤＢ２４４にそれぞれ保存する。
制御部２５２は、次回の温度制御の際には、この新たな干渉行列を用いることになる。
【０１２３】
制御部２５２が第２の温度センサにより測定された筒状空間６４の内部の温度が目標値になったか否かを判断した結果、もう一度、温度制御が必要であると判断されたとする。
新たな温度設定値の変化量ｕ'と実際の温度変化量ｙｒｅａｌ'とが次式のように得られたならば、行列修正演算部２４８は、これらの値を用いて上述した計算を実行する。
その結果、行列修正演算部２４８は、新たな干渉行列Ｒ"を算出し、この新たな干渉行列Ｒ"は行列Ｒｒｅａｌにさらに近づいていることが確認できる。
そして、干渉行列Ｒ"は、行列ＤＢ２４６に保存され、次回以降の温度制御において使用されることになる。
【０１２４】
【数２９】
2005347687.tif 000031
【図面の簡単な説明】
【０１２５】
【図１】ｕに与えられた値を用いて何回か温度制御を行った場合において、複数取得されたｙを基にして、Ｘ軸にそれらの平均値からの誤差、Ｙ軸に頻度を示す図である。
【図２】本発明の半導体処理装置の概観を示す図である。
【図３】図２に示した半導体製造装置の断面を例示する図である。
【図４】図３に示したボートおよびウェハを収容した状態の反応室の断面を例示する図である。
【図５】図２に示した制御装置の構成と、制御装置と半導体製造装置との関係を模式的に示す図である。
【図６】図２に示した制御用コンピュータのハードウェア構成を示す図である。
【図７】図２に示した制御用コンピュータにおいて実行される制御プログラムの構成を示す図である。
【図８】本発明の第１の実施形態において干渉行列を修正する処理（Ｓ１０）を示すフローチャートである。
【図９】本発明の第１の実施形態において膜形成処理（Ｓ２０）を示すフローチャートである。
【図１０】タップ付き遅延線フィルタの構成を示す図である。
【図１１】本発明の第２の実施形態において干渉行列を修正する処理（Ｓ３０）を示すフローチャートである。
【図１２】本発明の第２の実施形態において膜形成処理（Ｓ４０）を示すフローチャートである。
【符号の説明】
【０１２６】
１０    半導体処理装置
１２    半導体製造装置
３８        ウェハ
４２        ボート
４６        反応室
４６０        温度調整部分
４６２        温度センサ
７０        ガス流量調整器
７２        流量センサ
７４        圧力調整装置
７６        圧力センサ
１６    制御装置
１６０    温度制御装置
１６４    流量制御装置
１６６    圧力制御装置
１８    膜厚測定装置
２０    制御用コンピュータ
２２        コンピュータ本体
２２０        ＣＰＵ
２２２        メモリ
２４        通信ＩＦ
２６        記憶装置
２６０        記憶媒体
２８        表示・入力装置
２４０    制御プログラム
２４２        行列ＤＢ
２４４        修正用係数ＤＢ
２４６        結果ＤＢ
２４８        行列修正演算部
２５０        ユーザインタフェース部
【図１】
2005347687.tif 000032
【図２】
2005347687.tif 000033
【図３】
2005347687.tif 000034
【図４】
2005347687.tif 000035
【図５】
2005347687.tif 000036
【図６】
2005347687.tif 000037
【図７】
2005347687.tif 000038
【図８】
2005347687.tif 000039
【図９】
2005347687.tif 000040
【図１０】
2005347687.tif 000041
【図１１】
2005347687.tif 000042
【図１２】
2005347687.tif 000043