(57)【特許請求の範囲】
【請求項１】
結晶引き上げ機構中の結晶引き上げモーターの速度の偏差を補正する方法であって、該方法は、
処理装置において、減速ギアを含む結晶引き上げ機構が実際の速度で移動した際に結晶引き上げ機構の位置の変化を決定し、
前記処理装置上でフィルター関数を実施し、
前記処理装置において、検出した位置の変化に基づいてフィルター関数に関する新しいフィルター状態を推定し、
前記処理装置において、推定した新しいフィルター状態を用いて結晶引き上げ機構の新しい位置を推定し、
前記処理装置において、位置推定誤差を決定し、
前記処理装置において、フィルター関数に関する次のフィルター状態のフィルターゲインを決定し、そして、
前記処理装置において、次のフィルター状態に関する一つ以上の推定されたフィルターゲインを用いて次の期間の間に結晶引き上げ機構の実際の速度を補正して、前記減速ギアの回転の間に起きる前記結晶引き上げ機構の実際の速度の短期の変動を補償することを含む方法。
【請求項２】
請求項１の方法であって、前記フィルターゲインと前記推定した新しいフィルター状態とを用いて新しいフィルター状態を決めることを含む方法。
【請求項３】
請求項２の方法であって、新しいフィルター状態の決定が、結晶引き上げ機構の推定位置を表す第一の値と、結晶引き上げ機構の所望の速度に対する結晶引き上げ機構の現在の実際の速度の比を表す第二の値とを決定することを含む方法。
【請求項４】
請求項３の方法であって、結晶引き上げ機構の実際の速度の補正が、前記処理装置において、前記第二の値と、結晶引き上げ機構の所望の速度を表す信号値とを組み合わせて次の時間間隔の結晶引き上げ機構の実際の速度を表す信号値を作り出すことを含む方法。
【請求項５】
請求項１の方法であって、結晶引き上げ機構の実際の速度の補正が、
補正されたモーター信号を、るつぼから結晶インゴットを引き上げるモーターに供給し、
前記モーターが、前記補正されたモーター信号に応答して、該補正されたモーター信号の電圧値に比例する補正された速度で前記結晶インゴットを引き上げることを含む方法。
【請求項６】
請求項１の方法であって、結晶引き上げ機構の新しい位置の推定が、結晶引き上げ機構の現在の位置を表す値の整数部のみを決定することを含む方法。
【請求項７】
結晶引き上げ機構の減速ギアの回転に起因する、結晶引き上げ機構中の結晶引き上げモーターの速度の偏差を補正する方法であって、該方法は、
処理装置において、現在の時間間隔の間に、現在の実際のモーター速度における結晶引き上げ機構の位置の変化を決定し、
前記処理装置において、位置の変化を用いて所望のモーター速度に対する現在の実際のモーター速度の比を決定し、
前記処理装置において、前記比を用いて次の時間間隔の実際のモーター速度を決定し、そして、
前記次の時間間隔の実際のモーター速度を用いてモーター速度信号を作り出して、前記減速ギアの回転の間に起きる前記結晶引き上げ機構の速度の短期の変動を補償することを含む方法。
【請求項８】
請求項７の方法であって、
決定された位置の変化を用いて前記処理装置により実施されるフィルター関数の新しいフィルター状態を推定し、
推定した新しいフィルター状態を用いて前記フィルター関数のフィルター状態を更新し、更新されたフィルター状態は前記比に対応するフィルター係数を含むことを更に含む方法。
【請求項９】
請求項７の方法であって、モーター速度信号の作成が、前記次の時間間隔の実際のモーター速度に比例する電圧を作り出すことを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して半導体結晶の育成用の結晶引き上げ機構に関する。より詳細には、本発明は、該結晶の育成中の実際の引き上げ速度と名目の引き上げ速度との間の速度偏差を補正する手段に関する。
【背景技術】
【０００２】
半導体電子部品の製造プロセスの多くは、単結晶シリコンに基礎を置いている。従来、結晶引き上げ装置でチョクラルスキー法を実施して、単結晶シリコンのインゴットを製造している。チョクラルスキー法、即ちＣＺ法は、専用に設計され、断熱材に一部が包含された炉の中に設置されたるつぼ中で高純度シリコンまたは多結晶シリコンを溶融することを含む。るつぼ中のシリコンを溶融した後、結晶引き上げ機構が種結晶を下ろしてシリコン融液と接触させる。次に、該機構は種結晶を引き出して育成中の結晶をシリコン融液から引き上げる。得られた結晶は、実質的に欠陥がなく、それゆえ集積回路などの最新の半導体デバイスの製造に適している。ガリウムヒ素、リン酸インジウムなどの他の半導体も同様の方法で処理し得る。
【０００３】
ＣＺ製造法は通常、得られる結晶の品質および均一性を保証するための非常に厳密なプロセス制御要件を有する。特に重要なのは、固有の材料特性に影響を及ぼす、或いは、プロセスの安定性および歩留まりに影響を及ぼすプロセスパラメーターである。引き上げ速度の精度は、これらのプロセスパラメーターの中でも最も重要なパラメーターの一つである。
【０００４】
結晶のネック、即ち狭径部の形成後、従来のＣＺ法では育成結晶の直径を拡大する。これは、自動プロセス制御下で、所望の直径を維持するように引き上げ速度または融液の温度を調整することにより行われる。るつぼの位置を調整して、結晶に対する融液面位置を一定に維持する。引き上げ速度および融液温度を制御することにより、また、融液面位置の減少により、結晶インゴットの本体が殆ど一定の直径で成長する。育成プロセスの間、るつぼが融液を一方向に回転させ、そして結晶引き上げ機構は、その引き上げケーブルまたはシャフトを種結晶および結晶と共に反対方向に回転させる。
【０００５】
引き上げ速度は、厳密に制御されたパラメーターである。パーソナルコンピューターまたはプログラム可能な論理制御装置などの制御ユニットが制御されて、融液から結晶を引き上げる電気機械装置を制御する制御信号を提供することにより入力信号に応答する。これらは、一つ以上の電気モーターを含む。
【０００６】
引き上げ速度の精度は、一部において、制御ユニットからの速度信号が実際の機械的な結晶引き上げ速度へとどれだけ正確に変えられるかにより決定される。制御信号と結晶との間には、誤差を引き起こし得るいくつもの要素がある。電気モーターを駆動するサーボ電子がドリフトの影響を受け易く、それ故に定期的に校正されなければならないことは周知である。しかし、機械的な部分、特にモーターの速度を結晶引き上げ速度に至るまで低減するギアも、速度誤差の重要な原因である。例えば、殆ど全てのケーブル型ＣＺ引き上げ機は、速度低減の最終段階でウォーム駆動を用いる様式を使用している。
【０００７】
ウォーム駆動は、ウォームと、ウォームホイールとも称されるウォームギアとがかみ合うギア配置である。ウォームは、ねじ状の歯車である。ウォームは、第１軸線に関して回転し、通常直角な第２軸線に関してウォームギアの回転を生み出す。ウォーム駆動は、回転速度を低減し、そして出力シャフトに高いトルクを伝えることができる。また、ウォームギアは、自己保持で且つ大きな減速比を可能にするので、重量物を引き上げるのに非常に適している。これらは、ウォームギアがＣＺ用途で広く採用されている理由の一部である。
【０００８】
しかし、ウォームギアは、ウォームギアのスプロケットの歯と、ウォームのねじ山との間の周期的に変わる接触点のために、計画的に正確に一定の減速を生み出すことができない。高品質または新しいギアが用いられた最高の場合において、結果は、ほんの僅かなパーセントのオーダーでの減速比における歯ごとの周期性である。安価または重いウォームギアが用いられた最悪の場合において、結果は、数パーセントの単位で幅広く変わる減速である。
【０００９】
残念なことに、機械部品が磨滅することは、ＣＺでの大量生産において現実である。また、多くの引き上げ機が高品質減速ギアを使用していないことも現実である。ギアは、低品質の場合があり、例えば１回転あたりたった３０丁のスプロケットの歯を有する。また、結晶が最終重量に達するたびにウォームギアが定期的に過負荷になるので、一部の用途において摩耗が促進される場合もある。これは、ギアの通常の寿命の範囲内で著しい歯の摩耗を生じる。歯の摩耗は、歯の薄厚化またはゆがみ、並びに、ウォームと係合する歯の表面における歯の間のスペースの増大として現れる。結果は、ギアの実際の出力速度の歯ごとの大きな変化である。更に、結晶が引き上げられるにつれて直線的に増加する荷重に起因して歯が不均一に磨滅することにより、減速の著しく体系的な変化が１回転の経路に亘って起こる。
【００１０】
図１は、１回転あたり３０丁の歯を有するギアにおけるギアの歯の摩耗を説明する。図１は、名目速度に対する出力速度の相関（または校正の割合）を、＃１、＃２および＃３と標識付けされた異なる３回の試験運転についてギアの歯の関数として示す。試験下のギアをサーボモーターにより駆動し、そして校正された値に対して出力速度が測定される。ギアの摩耗は、校正された値に対してオフセットを生み出す。
【００１１】
図１に見られるように、結果は、ギアの実際の出力速度の歯ごとの大きな変化である。速度変化は、歯から歯へと全く突然に起こり得る。更に、図１は、結晶が引き上げられるにつれて直線的に増加する荷重に起因して歯が不均一に磨滅するので、１回転の経路に亘る著しく体系的な減速の変化を示す。
【００１２】
図２は、新しく、高品質な、１回転あたり６０丁の歯を有するウォームギアについてのギアの歯の関数としての、ウォームギアに関する速度の相関を説明する。図２は、良質なウォームギアであっても、高い荷重条件および小さな摩耗により実際の出力速度の変動を生み出すことを説明する。従って、新品で高品質のウォームギアであっても、ウォームギアのスプロケットの歯と、ウォームのねじ山との間で周期的に変化する接触点に起因する出力速度の変化を示す。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ウォームギアの摩耗と品質に関連して出力速度の変化の問題が本明細書中に開示されているが、多数の他の機械的または電気的変化も上述した種類と同様の出力速度の変化を引き起こし得ることに留意しなければならない。そのような出力速度変化を補正できる改善された結晶引き上げシステムに対する要求がある。
【図面の簡単な説明】
【００１４】
【図１】３０丁の歯を有するギアについて、摩耗したウォームギアの速度の相関を示す。
【図２】新しくて高品質な、１回転あたり６０丁の歯を有するウォームギアについての速度の相関を示す。
【図３】例示的な半導体結晶育成装置のブロック図である。
【図４】半導体結晶育成装置において速度の偏差を補正する方法を示すフローチャートである。
【図５】半導体結晶育成装置において速度の偏差を補正する代替的な方法を示すフローチャートである。
【発明を実施するための形態】
【００１５】
従来のチョクラルスキー（ＣＺ）引き上げシステムは、名目引き上げ速度からの実際の引き上げ速度の偏差の補正について限られた機能しか有していなかった。そのような従来の引き上げシステムは、減速ギアまたはウォームギアに起因して引き起こされる短期の（即ち、短時間分の）出力速度変化を補償する機能を有していなかった。最も標準的なＣＺシステムは、名目出力速度と実際の出力速度との間の偏差の存在を無視している。しかし、そこにはサーボモーターの代わりに、サーボドリフトの可能性を排除した、デジタル制御された高精度モーターを使用したシステムがある。残念ながら、この解決策は減速ギア等の他の要素により生じる速度の偏差を検出および補正することができない。更に、これはハードウェアの変更を必要とするので、高価な解決策でもある。
【００１６】
機械的に引き起こされる速度の偏差の問題は、外側位置のエンコーダーを使用して実際の出力速度を測定し、名目速度と実際の出力速度とを比較する一つの提案で扱われた。その結果、言及した提案は、サーボドリフトと減速ギアにおける機械的な問題とが組み合わされた影響により生じる実際の速度の偏差を検出する。言及した提案は、移動平均アルゴリズムを使用し、周期的な、長期の平均速度の偏差を検出および補正する。
【００１７】
しかし、現在まで、短期の速度誤差に対応しようとする試みは無かった。ＣＺシステムにおいて最終減速機として一般に使用されているウォームギアは、常に歯ごとの速度変調を生じる。新品の高精度ギアにおいてはこの影響は比較的小さくすることができるが、それは常に存在し、そして安価または過負荷なギアが用いられた場合に著しくなり得る。また、高品質ギアを用いたとしても、重度の使用の間にギアが磨滅した場合には一般的な問題であり、そのことは大量のＣＺ製造において現実である。
【００１８】
残念ながら、言及した提案は、単純な移動平均に基づいているので、そのような短期の速度誤差の検出および補正に適していない。そのような移動平均の提案は、短い平均時間で使用されると、重度の数値的不安定に悩まされる。この不安定に対する一つの理由は、エンコーダーの分解能から生じるデジタルノイズである。例示的なＣＺシステムにおいて、ギアの歯あたりのエンコーダーカウントの数は比較的小さい。言及した移動平均アルゴリズムは、エンコーダーの分解能に起因するデジタル化ノイズを最小化するために比較的大きい平均間隔を要求し、それゆえ、比較的大きいサンプリング速度で動作する。
【００１９】
しかし、高いサンプリング速度および高い分解能のエンコーダーの使用が一体になったとしても、言及した提案は、未だ十分には機能しない。一つの理由は、言及した提案は、速度誤差を長期間に亘って平均し、名目速度が運転中に上下に著しく変化する必要がある場合に連続して機能しない。ＣＺシステムにおいては、直径の制御のために、これは通常の事例である。更に、提案した言及により使用されるモデルは、入力／出力速度比を変更することについて表現する期間を欠いている。言及した提案は、ゆっくり変化する定数のように入力−出力速度比のみをモデル化する。従って、高いサンプリング速度および高分解能エンコーダーと共に用いたとしても、提案は、ウォームギア減速機などの機械的および電気的装置に存在する突然の出力速度の誤差の検出および補正に未だに適していない。
【００２０】
ここで図３を参照すると、例示的な半導体結晶育成装置３００のブロック図が示されている。装置３００は、制御ユニット３０２と、ヒーター電源３０４と、結晶育成チャンバ３０６とを含んでいる。装置３００は、結晶駆動ユニット３０８と、結晶引き上げケーブル３１０と、るつぼ駆動ユニット３１２と、るつぼ駆動シャフト３１４とを更に含んでいる。
【００２１】
チャンバ３０６の内部に含まれているのは、融液３１８を含有するるつぼ３１６とヒーター３２０である。図３の説明として、融液３１８から半導体結晶３２２が形成されている。制御ユニット３０２は、ヒーター電源３０４と結びついてヒーター電源３０４を制御する。ヒーター電源３０４を制御することにより、融液３１８の温度は、半導体結晶３２２の制御された成長を可能にするように制御される。融液の温度の更なる制御のために、熱制御装置を同様に付加し得る。
【００２２】
結晶駆動ユニット３０８が動作して、中心軸線３２４に沿って結晶引き上げケーブル３１０を引き上げる。また、結晶駆動ユニット３０８が動作して、中心軸線３２４に関して結晶引き上げケーブル３１０を回転させる。図３において、反時計回りの回転が示されているが、時計回りの回転に置き換えてもよく、結晶駆動ユニット３０８の適当な制御により双方を利用し得る。結晶引き上げケーブル３１０の回転および運動は、結晶３２２の同様な回転および運動を引き起こす。
【００２３】
この例示的な形態中の結晶駆動ユニット３０８は、電気モーター３３４、ウォーム駆動部３３５およびエンコーダー３３７を含む。電気モーター３３４が動作して、結晶引き上げケーブル３１０および結晶３２２を引き上げる。別の電気モーターが結晶引き上げケーブル３１０および結晶３２２を回転させる。電気モーター３３４を含む結晶駆動ユニット３０８は、制御ユニット３０２から制御ライン３２６上を供給される信号により制御される。制御ライン３２６は、デジタルデータまたはアナログ信号を伝達するための導体のデータバスまたは群でも良い。特に、制御ユニット３０２は、モーター信号を提供して電気モーター３３４が結晶引き上げケーブル３１０および結晶３２２を引き上げる速度を制御する。一形態におけるモーター信号は、モーターの引き上げ速度に比例する電圧である。
【００２４】
結晶引き上げケーブル３１０および結晶３２２が上昇するにつれて、エンコーダー３３７が、電気モーター３３４により結晶が下降または上昇した距離を示すエンコーダー信号を作り出す。信号は、移動した角距離などの角距離を表すデジタルデータまたはデジタル値の形式にすることができ、該角距離は電気モーター３３４により移動させた角距離の一部であり、その移動した距離はウォームギア３３５により低減される。代案として、エンコーダー信号は、エンコーダーカウントとして参照されても良く、例えば、エンコーダーにより決定される移動距離を表すデジタルデータを表示する。エンコーダー信号は、制御ライン３２６上の制御ユニット３０２へ供給される。
【００２５】
ウォーム駆動部３３５は、電気モーター３３４と結晶引き上げケーブル３１０との間に位置する。ウォーム駆動部３３５は、ウォームがウォームギアとかみ合うギア配置である。ウォームは、ねじ形状をした歯車である。ウォームは、電気モーター３３４により第１軸線に関して回転し、中心軸線３２４などの通常直角な第２軸線に関してウォームギアの回転を生み出す。ウォーム駆動部は、電気モーター３３４からの回転速度を低減し、結晶引き上げケーブル３１０に接続された出力シャフトへと高トルクを伝える。即ち、電気モーター３３４とウォーム駆動部とが動作して結晶３２２を中心軸線３２４に沿って動かす。他の機械的または電気機械的駆動要素は、モーター３３４と結晶引き上げケーブル３１０との間に配設し得る。これらの要素の全ては、摩耗および歪、並びに、欠陥の影響を受け易く、また、モーター３３４により結晶引き上げケーブル３１０に与えられる引き上げ速度の偏差を引き起こし得る。
【００２６】
同様に、るつぼ駆動ユニット３１２が動作して、るつぼ駆動シャフト３１４を中心軸線３２４に沿って動かすと共に、中心軸線３２４に関してるつぼ駆動シャフト３１４を回転させる。図３において、時計回りの回転が示されているが、反時計回りの回転に置き換えてもよく、るつぼ駆動ユニット３１２の適当な制御により双方を利用し得る。るつぼ駆動シャフト３１４の回転および運動は、るつぼ３１６の同様な回転および運動を引き起こす。るつぼ駆動ユニット３１２は、るつぼ駆動シャフト３１４を牽引および回転するための一つ以上の電気モーターまたは他の装置を含む。るつぼ駆動ユニット３１２は、制御ユニット３０２から制御ライン３２８上を供給される信号により制御される。
【００２７】
チャンバ３０６は、一つ以上のセンサーを含む。図３の例示的な形態において、これらは、カメラ３３０と温度センサー３３２とを含む。カメラ３３０は、チャンバの覗き窓の近傍に取り付けられ、融液３１８の液面を観察するように向けられている。カメラ３３０は、カメラ画像を示す信号を制御ライン３３６上に作り出し、該信号を制御ユニット３０２へと供給する。温度センサー３３２は、チャンバ３０６内の温度を検出し、そして温度を示すデータを制御ライン３３８上の制御ユニット３０２へと供給する。
【００２８】
図示した形態の制御ユニット３０２は、一般に、中央演算処理装置（ＣＰＵ）３４０、メモリ３４２およびユーザーインターフェース３４４を含む。ＣＰＵ３４０は、マイクロプロセッサ、デジタル信号プロセッサ、デジタル論理関数またはコンピュータなどの任意の適当な処理装置にし得る。ＣＰＵ３４０は、メモリ３４２に保存されたデータおよび指示に従い動作する。更に、ＣＰＵ３４０は、制御ライン３２６，３２８，３３６，３３８などの上の、データおよびセンサーから受け取った他の情報を用いて動作する。また、ＣＰＵ３４０が動作して制御信号を作り出し、ヒーター電源３０４、結晶駆動ユニット３０８およびるつぼ駆動ユニット３１２などの半導体結晶育成装置３００の一部を制御する。ＣＰＵ３４０は更に、内臓タイマーを用いたリアルタイム関数を実行し、或いは、ＣＰＵ３４０または別の装置により作り出されたクロック信号に応答しても良い。
【００２９】
メモリ３４２は、半導体メモリ、磁気または光学ディスク、或いは、これら若しくは他の記憶装置の組合せの何れかなどの任意のタイプのダイナミックまたはパーシスタントメモリにし得る。いくつかの用途において、メモリ３４２は、半導体結晶育成装置３００の他の要素に関してＣＰＵ３４０に特定の指定関数を実行させるデータを含有するコンピュータ読み取り可能な記憶媒体を含んでも良い。例えば、メモリ３４２中に保存されたデータおよび指示は、ＣＰＵ３４０に、エンコーダー３３７からの入力情報を用いてモーター３３４の引き上げ速度を制御する制御プログラムを実行させても良い。制御プログラムは、高調波トラッキングフィルターまたは多項式トラッキングフィルターなどのフィルター関数を実行しても良い。現在のフィルター状態、過去のフィルター状態および次のまたは後のフィルター状態などのフィルター状態を規定するデータは、メモリ３４２に保存される。
【００３０】
ユーザーインターフェース３４４は、半導体結晶育成装置３００のユーザー制御およびモニタリングを可能にする。ユーザーインターフェース３４４は、操作情報を使用者に提供する任意の適当な表示部を含んでも良く、また、キーボードまたはスイッチのようなものを含んで半導体結晶育成装置３００のユーザー制御および駆動を可能にしても良い。
【００３１】
半導体結晶育成装置３００は、チョクラルスキー法に従った単結晶半導体インゴットの育成を可能にする。このプロセスによれば、シリコンなどの半導体材料がるつぼ３１６中に設置される。ヒーター電源３０４がヒーター３２０を駆動し、シリコンを加熱して溶融させる。ヒーター３２０は、シリコン融液３１８を液体状態に維持する。標準的なプロセスに従い、種結晶３４６が結晶引き上げケーブル３１０に取り付けられる。種結晶３４６は、結晶駆動ユニット３０８により融液３１８中に下ろされる。更に、結晶駆動ユニット３０８は、結晶引き上げケーブル３１０および種結晶３４６を例えば反時計回りなどの第１方向に回転させ、一方、るつぼ駆動ユニット３１２は、るつぼ駆動シャフト３１４およびるつぼ３１６を例えば時計回りなどの反対方向に回転させる。また、るつぼ駆動ユニット３１２は、結晶育成プロセス中に要求に応じてるつぼ３１６を上昇または下降させる。例えば、結晶の成長に伴い融液３１８が減少すると、るつぼ駆動ユニットが上昇して融液面位置を実質的に一定に補償および維持する。このプロセスの間、ヒーター電源３０４、結晶駆動ユニット３０８およびるつぼ駆動ユニット３１２は全て制御ユニット３０２の制御下で動作する。
【００３２】
本形態に従い、制御ユニット３０２が動作して、結晶駆動ユニット３０８が結晶に適用した引き上げ速度の偏差を検出し、該偏差を補正する。より詳細には、第一形態の制御ユニット３０２が、エンコーダー３３７の位置をトラッキングするために運動学的モデルフィルターの再帰アルゴリズムを実行する。エンコーダー位置が、エンコーダー３３７により作り出され、制御ユニット３０２へと供給されたデジタルデータにより表され、結晶駆動ユニット３０８により結晶３２２が上昇または下降した距離を表す。別の形態において、制御ユニット３０２が高調波成分を有するフィルターに基づくフェージング平均トラッキングフィルターを実行する。どちらの形態も、名目または所望の引き上げ速度と、実際の引き上げ速度との間の偏差を著しく低減し、或いは、除去するのに使用し得る。
【００３３】
第一形態において、離散二次多項式がフィルターモデルとして選択される。多項式は、エンコーダーの位置を名目位置の関数として現在位置の周囲の近隣位置に近似する。選択された多項式は、下記式：
Ｙｅ＝ＩＮＴ（ａ＋ｂｘ＋ｃｘ２）                  （１）
を有し、式中、ａ，ｂ，ｃはフィルター状態を表し、ｘは名目エンコーダー位置を表し、そしてＹｅは推定した離散エンコーダー位置（discrete encoder position）を表す。
【００３４】
ＩＮＴ関数は、その引数の整数値を返し、それは実数になり得る。ＩＮＴ関数は、エンコーダーの表示をモデルにしているので、ここで使用される。エンコーダーの表示は、実際の位置の離散値である。ここでＩＮＴ関数を使用しないと、推定位置とエンコーダーの表示との間の差が１エンコーダーカウント未満の場合に、人為的なフィルターの更新に起因してノイズが取り込まれる。いくつかの用途において、フィルターモデル中でのＩＮＴ関数の使用は、精度にとって重要であり得る。エンコーダーカウントは、周期的に、例えば毎秒１回サンプリングされる。その結果、エンコーダー３３７により提供されたパルスが、積分工程で増加する。パルス（毎秒１回受信）の間にはエンコーダー信号の変化は無い。しかし、サンプリングしたパルスの間では、結晶駆動ユニット３０８が前進し、そして実際の位置が変化する。フィルターは、エンコーダーからのサンプリング位置と、予測位置との間の差を算出する。ＩＮＴ関数の使用は、フィルター出力の一次導関数、即ち式（１）のパラメーターｂ中への特殊形式のデジタルノイズの取り込みを防止する。このノイズは、エンコーダーカウントの変化なしにサンプリング間隔の間のフィルターの更新により取り込まれ得る。ＩＮＴ関数の使用なしに、フィルター状態は、次のエンコーダーサンプルを受け取るまで明らかに一定の位置に連続的に更新され、一次導関数を人為的に緩和させ、その後、次のエンコーダーカウント増分へ跳ね上がる。
【００３５】
フィッティング方程式（１）に関する再帰アルゴリズムをエンコーダーカウントデータへ展開するために、以下の加重最小二乗法誤差アンザッツ（ansatz）
を使用する。二乗誤差の和は、以下の方程式：
Ｅ＝Σｉｅ−（ｘ０−ｘｉ）／Ｌ＊（Ｙｅ，ｉ−Ｙｉ）２  ｉ＝０，−１，−２．．（２ａ）
により表され、式中、ｘ０は現在のエンコーダー位置を表し、ｘｉはサンプリング間隔ｉにおけるエンコーダー位置を表し、Ｌはフィルター定数（代表長さ）を表し、Ｙｉはサンプリング間隔ｉにおけるエンコーダー表示を表し、Ｙｅ，ｉはサンプリング間隔ｉにおけるエンコーダー近似を示す。
【００３６】
このモデルにおいて、個別の誤差が重み付けされ、加重関数が、現在位置からの距離に応じて過去のデータを指数関数的に次第に消す。このアンザッツは、周知のα−β−γフィルターに対していくつかの類似点を有するフィルターアルゴリズムをもたらす。しかし、フィルターゲインにおける差に加えて、最も重要な差は、フィルター定数が、この場合には一つのギアの歯の特定の部分である代表長さとして表されるので、現在のフィルターのチューニングが、現在の用途に対して簡単になることである。それとは対照的に、α−β−γフィルターのマニューバーインデックス（maneuver index）をこの用途の臨界代表長さに関連づけることは、まして直感的に理解できない。
【００３７】
モデル定数｛ａ，ｂ，ｃ｝に対してＥを導入することは、方程式系をもたらす。
０＝ｄ／ｄａ（Ｅ）            （２ｂ)
０＝ｄ／ｄｂ（Ｅ）            （２ｃ）
０＝ｄ／ｄｃ（Ｅ）            （２ｄ）
【００３８】
この方程式系を解くことは、モデル定数｛ａ，ｂ，ｃ｝をもたらす。
【００３９】
方程式（１）のモデルは、再帰アルゴリズムに展開され、この加重最小二乗法は、全ての過去のエンコーダー位置データに適合し、実際には、最小の処理時間および記憶装置で各サンプリング間隔において実施できる。
【００４０】
この方法を選択することにより、以下の利益が得られる。第一に、単純移動平均の代わりに、二次多項式近似に基づく最小二乗適合を使用することにより、フィルターは、モーター速度の急激な変化を正確に追随できる。このような急激な変化は、例えば図１および２において説明される。移動平均近似は、このような急激な変化を正確に追随および補正できない。
【００４１】
第二に、サンプリング時間とは対照的に距離に応じて過去のデータを次第に消す加重関数を使用することにより、フィルター近似は、ギアの歯または他の誤差源により生じる速度変調の代表長さに関して常に実施される。従って、フィルターチューニングは理解し易い。推定の精度は、瞬間的な、或いは、突然の引き上げ速度の変化に関係なく維持される。
【００４２】
第三に、離散誤差に明示的に最小二乗適合を実施することにより、この方法はデジタル化ノイズを最小化する。このことは、サンプリング間隔あたりのエンコーダーパルスの数に関係なくフィルターが正確に動作することを確実にする。
【００４３】
方程式（１）のモデルは、前のフィルター状態と、その後に移動した名目距離Δｘとに基づいて新しいフィルター状態を推定することにより動作する再帰アルゴリズムに展開され、その後、それら自身がΔｘの関数である推定誤差およびフィルターゲインに基づいてフィルター状態を更新する
【００４４】
上述したように、この方法はα−β−γフィルターに多少似ている。一つの差異点は、方程式（１）のモデルは測定ノイズを含まず、そのことは、本用途におけるエンコーダーの表示は実質的にノイズがないので意味のある条件であり、即ち、真値と離散値との間の差をノイズとして処理する場合に、α−β−γフィルターおよび類似のフィルターに対する前提であるホワイトガウスノイズにならない。正確なフィルターゲインを見出すのがより複雑な課題であるα−β−γフィルターとは対照的に、その方法は、歯と歯の間の距離のような特徴的なギア配置に単純に基づいて、フィルターゲインの簡単な選択を可能にする。
【００４５】
図４は、半導体結晶育成装置における速度の偏差を補正する方法を説明するフローチャートである。図４の方法は、例えば制御ユニット３０２により実行し得る。ＣＰＵ３４０は、指示およびデータをメモリ３４２から読み出し、或いは、制御ライン３２６上で受け取ったエンコーダー３３７からの信号などの制御信号からデータを受け取る。制御信号は、エンコーダー３３７により作り出された角度位置を線形位置へ変換することなどにより前処理されていても良い。更に、ＣＰＵ３４０は、受け取ったデータおよび指示に対し、データを処理して図４に示す方法の工程および他の操作を達成することにより応答する。更に、ＣＰＵはメモリ３４２中に保存する出力データを作り出し、また、制御ライン３２６に印加されて電気モーター３３４が結晶引き上げケーブル３１０および結晶３２２を引き上げる速度に制御するモーター信号などの制御信号を作り出す。
【００４６】
方法は、ブロック４００から始まる。ブロック４０２において、ＣＰＵ３４０が処理ループを入力し、そして、メモリ３４０から現在のモーター信号Ｓｎ−１および新しい名目モーター信号Ｓｎを読み出す。現在のモーター信号は、フィート／秒で表される特定の線速度、或いは、ラジアン／秒で表される角速度でモーター３３４を動作させるのに適するように電圧をコード化するデジタルデータでも良い。データは、必要に応じて角度領域と線形領域との間で変換され、処理オーバーヘッドまたは必要メモリを低減する。更に、ブロック４０２において、処理装置が現在のエンコーダー位置Ｙｎを読み出す。現在のエンコーダー位置は、エンコーダー３３７から受け取られた後にメモリ３４２に保存され、或いは、制御ライン３２６上のエンコーダー３３７により提供された現在の値が読み取られて処理され得る。図４は、リアルタイム間隔Δｔあたり一回実行される再帰アルゴリズムを説明する。
【００４７】
ブロック４０２では、Δｘの値が、  
Δｘ＝Ｓｎ−１＊Δｔ                                   （３）
として算出される。
【００４８】
Δｘは、最後のサンプリング間隔の間に移動した名目エンコーダーカウント距離である。Δｘは、非離散的な値である。これは、最後の名目モーター信号Ｓｎ−１（エンコーダーカウント／時間の単位を有する）およびサンプリング時間間隔Δｔに基づいて算出される。サンプリング時間間隔Δｔは、例えばプログラムされた時計回路または関数の経過によるなど、ＣＰＵ３４０により決定される。名目モーター信号Ｓｎ−１は、結晶３２２の直径を制御するための直径制御手順などの別のアルゴリズムの出力でも良い。
【００４９】
ブロック４０６において、新しいフィルター状態が、以下の方程式を用いて推定される。
ａｅ，ｎ＝ａｎ−１＋ｂｎ−１＊Δｘ＋ｃｎ−１Δｘ２            （４ａ）
ｂｅ，ｎ＝ｂｎ−１＋２＊ｃｎ−１＊Δｘ                      （４ｂ）
ｃｅ，ｎ＝ｃｎ−１                                        （４ｃ）
【００５０】
以前に作成した、各サンプリング時間のフィルター係数ａ，ｂおよびｃは、メモリ３４２の記憶域から読み出される。
【００５１】
ブロック４０８において、ＣＰＵ３４０が、現在の時間サンプリング間隔：
Ｙｅ，ｎ＝ＩＮＴ（ａｎ）                                  （５）
に関して、フィルター係数ａに対してＩＮＴ（ｘ）関数を用いて新しいエンコーダー位置を推定する。
【００５２】
ブロック４１０において、ＣＰＵ３４０がエンコーダー推定誤差：
Ｅｎ＝Ｙｎ−Ｙｅ，ｎ＝ＩＮＴ（Ｙｎ−ａｎ）                 （６）
を算出する。
【００５３】
ブロック４１２において、ＣＰＵ３４０が以下の方程式の系：
δ＝ｅ−Δｘ／Ｌ
ｇａ＝１−δ３                                           （７ａ）
ｇｂ＝３／２＊（１−δ）２＊（１＋δ）／Δｘ              （７ｂ）
ｇｃ＝１／２＊（１−δ）３／Δｘ２                        （７ｃ）
を用いて次のフィルター更新用のフィルターゲインを算出する。
【００５４】
ブロック４１４において、ＣＰＵ３４０がフィルター状態を以下のように更新する。
ａｎ＝ａｅ，ｎ＋ｇａ＊Ｅｎ                                 （８ａ）
ｂｎ＝ｂｅ，ｎ＋ｇｂ＊Ｅｎ                                 （８ｂ）
ｃｎ＝ｃｅ，ｎ＋ｇｃ＊Ｅｎ                                 （８ｃ）
【００５５】
各サンプリング間隔において、ａｎに関する新しい値が推定された現在位置を表し、それは、サブエンコーダー精度を有する非離散的な値である。同時に、各サンプリング間隔において、ｂｎは現在の名目速度に対する実際の速度の比であり、それは、理想的には１であるが、ギア欠陥、サーボドリフト等の結果、１からずれる。ブロック４１６に示される工程において、ｂｎを用いて実際にモーターに供給される信号を補正する。
【００５６】
Ｓａ＝ｂｎ＊Ｓｎ                                      （９）
Ｓｎは、次の時間間隔用の名目モーター信号であり、そして、Ｓａは、印加される実際のモーター信号である。この実際に印加されるモーター信号Ｓａは、機械的と電気的の何れの欠陥に関しても補正され、このことは、モーター信号とエンコーダー測定値との間のどこかに速度誤差を生じる。最後に、補正されたモーター信号Ｓａは、モーターに印加され、アルゴリズムは次のリアルタイム間隔を待つ。補正されたモーター信号Ｓａに応えて、次にくる時間間隔の間にモーター速度が増加または減少し、摩耗したギアなどの何れの機械的または電気的な異常も補正する。
【００５７】
従って、説明した方法は、位置の変化Δｘを検出し、そして、その値を用いて所望または名目のモーター速度に対する現在の実際のモーター速度の比を決定する。その比を使用して、方法は、次の時間間隔の間に適用されるべき実際のモーター速度を決定し、そして、その実際のモーター速度を用いてモーター速度信号を作り出す。
【００５８】
図５は、半導体結晶育成装置における速度の偏差を補正する方法の代替的な形態を説明するフローチャートである。説明される方法は、速度の偏差が部分的または実質的に高調波であるか、或いは、事実上周期的である用途に特に有用である。
【００５９】
多くの計装用途が、その上に重ね合わされる高調波変調を有する信号の測定を含む。従来、これは複数の変調期間を超えてフィルター時定数で信号を時間平均化することにより処理されている。しかし、この時間平均化法は、完全に変調を除去することはできない。この従来の方法は、変調を所定の度合いまで低減することができるのみである。平均化フィルターの時定数を長くすると、フィルター出力中の残留変調が減るが、真信号の変化に対するフィルターの応答が遅くなる。多くの場合に、遅いフィルター応答は容認できず、そのようなフィルターは常に残留変調と応答時間との間のバランスを取らなければならない。
【００６０】
幸いにも、多くの場合、変調の周期性は他のシステムパラメーターから周知である。例えば、図２は、新しく、高品質な、１回転あたり６０丁の歯のウォームギアについてのスプロケットの歯に関する出力速度相関を示す。新品で、高品質なウォームギアでも、意図的に、スプロケットの歯とウォームのねじ山との間で周期的に変化する接触点により生じる出力速度変化を示す。出力速度相関は、ウォームギアの回転周波数により決定される周波数を有し、これは周知である。
【００６１】
そのような場合において、高調波成分を有するフィルターモデルに基づくフェージング平均トラッキングフィルターを展開することが可能である。このようなフィルターは、効果的に残留変調を抑制し、同時に、短いフィルター時定数を可能にして、迅速で正確なフィルター応答をもたらす。周波数が正確に知られており、且つ、変調が純粋に高調波である場合には、フィルターはそのような残留変調さえも除去し得る。
【００６２】
フェージング平均最尤方程式系は、定数と一つの高調波成分とを有するフィルターモデルについて展開されている。この方程式系は、図３のＣＰＵ３４０のような処理装置中での効果的な計算用のコンピュータープログラムで容易に実行できる、非常に少ない算術演算で再帰アルゴリズムへと更に変換される。
【００６３】
フィルター入力は、以下の高調波変調成分と重ね合わされた、ゆっくりと変化する、或いは、殆ど一定の部分の重ね合わせとしてモデル化される。
ｙ＝ａ−ｂ ｓｉｎ（ωｋ）＋ｃ ｃｏｓ（ωｋ）                  （１０）
式中、ω＝２π／Ｌであり、ここでＬは高調波成分の周期長である。
【００６４】
図５は、このフィルターの実施を説明する。このフィルターへの入力信号は、図３の例示的な形態においては、エンコーダー３３７からのエンコーダー信号である。この信号は、概して、方程式（１０）のようにその上に与えられた高調波または周期的な変調を有し、従って、このフィルターにおける処理の影響を受け易い。図５のプロセスは、例えば予め定めたタイマー間隔Δｔの経過後など、周期的に繰り返されても良い。タイマー間隔は、秒または分のオーダーである。タイマー間隔の経過後、方法がブロック５００において始まる。
【００６５】
ブロック５０２において、現在のモーター信号Ｓｎ−１および名目モーター信号Ｓｎを、例えばメモリ３４２などのメモリに保存されたデータを読み取ることにより得る。更に、ブロック５０２において、現在のエンコーダー位置Ｙｎを、例えばエンコーダー３３７からの出力を読み取ることにより得る。ブロック５０４において、現在の時間増分の間にモーターが移動した予測距離であるΔｘが、現在のモーター信号Ｓｎ−１と現在の時間増分との積として算出される。
【００６６】
ブロック５０６において、新しいフィルター状態が、図に示す関係を用いて推定され、ここで、ａ，ｂおよびｃは、方程式（１０）中の係数であり、Ｌは、高調波成分の周期長である。ブロック５０８において、現在のエンコーダー位置Ｙｅ，ｎが推定される。説明した形態において、現在のエンコーダー位置は、新しいフィルター状態のフィルター係数の和に関する整数関数の値を求めることにより推定される。この例においては、第１フィルター係数ａｅ，ｎおよびｃｅ，ｎを使用してエンコーダー位置を推定する。
【００６７】
ブロック５１０において、この方法は、推定したエンコーダー位置Ｙｅ，ｎと現在のエンコーダー位置Ｙｎとの間の差として推定誤差を決定する。
【００６８】
ブロック５１２において、高調波フィルターゲインｇａ，ｇｂおよびｇｃが、図に示す関係を用いて算出され、ここでＮは有効な点、即ちフィルター定数である。その後、ブロック５１４において、前のフィルター状態、算出された高調波フィルターゲインおよび推定誤差を用いてフィルター状態が更新される。
【００６９】
補正されたモーター信号は、ブロック５１６およびブロック５１８で決定され、補正されたモーター信号Ｓａはモーターへと供給される。その後、プロセスは、次のタイマー間隔Δｔの経過を待つ。補正されたモーター信号が、次のタイマー間隔の間にモーター速度を設定し、そのタイマー間隔の間の結晶の引き上げ速度を制御する。
【００７０】
方程式の実施と、受け取ったデータで動作して出力制御信号を作り出すデータ処理システムを使用した本明細書に記載のプロセスとは、フィルター設計、制御システムおよびデータ処理の当業者の範囲内である。更に、方程式および本明細書に記載の他の関係は、容易に他のシステム、他の入力および他の出力に採用し得る。
【００７１】
前述から、現在の形態が、結晶引き上げ機構における名目引き上げ速度からの引き上げ速度の偏差の補正について改良されたシステムおよび方法を提供することが理解される。非最適または摩耗要素に起因する偏差は、実質的に、或いは、完全に除去される。結果は、より一層正確に制御された引き上げ速度である。結晶引き上げプロセスにおいて、引き上げ速度は、直径制御や結晶品質等の他の品質因子に影響を与えるので、結果は、ハードウェアの追加なしに著しく改良されたプロセスである。システムおよび方法は、現存する実装上の従来のハードウェアを用いて、結晶引き上げ装置の制御ソフトウェアを改変することにより実施し得る。
【００７２】
従って、前述の詳細な説明は、限定ではなく説明とみなされることを目的としており、そして、均等物を含む以下の特許請求の範囲は、本発明の精神および範囲を規定することを目的としていることが理解される。
【００７３】
簡単化のために、用語「制御ユニット」、「ＣＰＵ」、「処理装置」および「エンコーダー」を、明細書および特許請求の範囲で使用し、上述した機能を発揮するのに使用し得るハードウェアおよび／またはソフトウェアを広く参照する。何れの適当なソフトウェア言語、並びに、アナログまたはデジタルの、現在存在し或いは今後開発される何れの適当なハードウェアも使用し得ることに留意することは重要である。具体化されたコンピュータ読み取り可能なプログラムコードをその中に有し、コンピュータで使用可能な媒体を使用して、上述した関数を実行することができ、また、代替的に、上述した関数は、ハードウェアのみで実施されることができる。更に、各要素に関連する機能性を他の要素と組み合わせ、或いは、他の要素に分散させても良い。また、上述した要素の一部は、全ての形態に含まれる必要はない。
【図１】
0005623837.tif 000002
【図２】
0005623837.tif 000003
【図３】
0005623837.tif 000004
【図４】
0005623837.tif 000005
【図５】
0005623837.tif 000006