JP2005502947A - 生産システムのための状態推定およびスケジューリング方法 - Google Patents
生産システムのための状態推定およびスケジューリング方法 Download PDFInfo
- Publication number
- JP2005502947A JP2005502947A JP2003527533A JP2003527533A JP2005502947A JP 2005502947 A JP2005502947 A JP 2005502947A JP 2003527533 A JP2003527533 A JP 2003527533A JP 2003527533 A JP2003527533 A JP 2003527533A JP 2005502947 A JP2005502947 A JP 2005502947A
- Authority
- JP
- Japan
- Prior art keywords
- state
- controller
- uncertainty
- value
- measurement
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32297—Adaptive scheduling, feedback of actual proces progress to adapt schedule
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P80/00—Climate change mitigation technologies for sector-wide applications
- Y02P80/10—Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Educational Administration (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Factory Administration (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
【0001】
本発明は一般に半導体装置の製造に関し、さらに詳細には生産システムのための状態推定およびスケジューリングの技術に関する。
【背景技術】
【0002】
半導体の製造においては、同じ装置において、様々なプロセス条件を用いることで、たくさんの違う製品を製造することは一般的な光景である。プロセス条件の性質および材料が高価であることから、プロセスの最中に、主要なプロセス変数を測定することは非常に困難であるか、またはしばしばそれは不可能である。製品ウェハは、レシピを用いて、処理ツール上をバッチ単位で流れる。レシピは、ツールを動作させるのに必要なパラメータ、例えば圧力、温度、処理時間などを特定するものである。処理工程が終了してから測定を行って、バッチがそれらの規格を満たしているかどうかを決定する。ラン・トゥー・ラン(Run-to-run)制御手法は、各ランの終了時に得られる測定データを用いて、続くバッチについてよりよいレシピの設定を決定する。しかしながら、変動をもたらす源が独立していくつもあってそれによってしばしば測定が混乱することから、この仕事は困難である。
【0003】
半導体装置の製造は、高価な製造装置と、バッチ処理の環境において微細な構造を作るのに用いられる未加工の材料とによって特徴付けられる。このような環境にあっては、ウェハのバッチは、動作するパーツを作るという最終的な目標のもと、一連の処理単位の対象となる。作業の間を通じて、極端な処理条件や、製造される限界寸法の構造は、繰り返し発生する問題である。これらの条件は、究極的には、重要な品質上の変数を、その場で測定することが困難である(そして多くの場合、不可能である)ことを意味している。必要な変数は、通常、あるバッチが処理された後に測定される。残念ながら、処理の最初に戻って、処理を再度実行してうまく処理されなかったバッチを修正することは、通常不可能である。したがって、すべてのランが計画どおり行われるように、効率的なプロセス制御が必要となる。
【0004】
半導体製造におけるRun-to-run制御はバッチ制御の一種であって、一つのバッチは、一番小さい単位で1ウェハ、大きな単位ではいくつかのウェハとすることができる。Run-to-runコントローラの標準出力はプロセスのレシピである。このレシピは処理ツールに組み込まれる「低レベル」のコントローラに対する設定ポイントを定義する。このようにして、Run-to-runコントローラは、温度、圧力、流量(フロー)および処理時間などの処理変数のための必要な値を定義することによって、ツールのコントローラを管理している。ツールのコントローラは、これらの変数を要求される値に維持するために必要な操作を行う。
典型的なRun-to-run制御の設定にはフィードバックループが含まれ、処理後に測定されたバッチの特性に基づいて、レシピのパラメータに対する補正が行われる。通常、Run-to-runコントローラの仕事は、各バッチがそのインラインの目標を達成できるようにすることである。インラインの目標とは、ウェハがその処理工程のうちの一部しか終了していない間に測定された測定値を指す。このインラインの目標は、製造ラインの終わりで動作する部品を得るためのガイドラインを提供するように設計されている。
【0005】
ディスクリート部品の製造のためのRun-to-runコントローラは、いくつかの内在的な複雑な問題を持っている。工場のアウトプットが特定の製品を作るために互いに混ぜ合わされる可能性がある連続的な処理とは違って、製造される各部品が、正しく動作するためには、その品質または目標とする性能のすべてを満たさなければならない。結果として、積極的な制御原理を選択しなければならない。なぜならば、コントローラが目標に向かってアプローチしている間に、目標から外れたバッチがいくつも出てきてしまうことは製造上の制約から許されないからである。システムモデルによって正確な予測をすることができるとき、コントローラは非常に積極的になることができる。これは、コントローラの安定性が、実際のシステムのふるまいに対するモデルの適合具合に連動するからである。モデルに間違いがあるとき、およびその他の不確実性が存在する状況下で、コントローラがあまりに積極的であると、実際の性能は悪くなり、不安定になる可能性がある。この状況は、コントローラが、その入力の変化がプロセスに与える影響の度合いを推定することによって処理における判断を行っている、ことから生じるものである。入力の小さな変化による質的な効果はしばしばシステムの基礎となる物理的な観点から容易に理解され、予測される。一方で、大きな、より劇的な変化は、プロセスが対応できるよりも早く動力学を持ち込むことによって、処理をかく乱しうる。処理をよりよく理解することで、変化をより素早く、効果的にすることができる。
【0006】
使用可能なもっとも積極的なコントローラは、プラント・インバース(plant inverse)、またはデッドビート・コントローラである。このコントローラは、すべての測定された入力外乱を直ちに排除するように動作し、各バッチに対する制御パラメータをそれらの目標に正確に設定しようとする。これらのパラメータは、所望の出力をプロセスモデルに代入して、直接入力について解くことによって決定できる。より控えめな制御動作は、入力変数の変化の速さに制限を設けることによって得られる。
【0007】
プロセスのゲインおよび製造プロセスに重要なその他の変数は時間とともに変化するので、コントローラは、変化するプロセス条件に対応しなければならない。そのような適応型(adaptive)コントローラの基礎となるのは、システムの同定技術(system identification technique)である。システム同定技術は、同じ入力出力特性を持つモデルを決定し、可能であれば分析対象の物理的なシステムと同じ自然モデル構造を決定することを目標とする。実際の多くのアプリケーションでは、分析対象となるプロセスの正確なモデルフォームを得ることは現実的でない。従って、しばしば、オンラインのシステム同定は、パラメータ推定問題の形態をとる。この定式化においては、モデルの形態は予め定められ、モデルのパラメータはプロセスデータによって繰り返し更新される。プロセス条件の変更は、時間の経過における推定されたモデルのパラメータの変化として見ることができる。
【0008】
マイクロエレクトロニクスの製造においては、統計的プロセス制御(SPC)技術をプロセスの出力に適用するのは実務上一般的である。SPCは、また、自動制御下のシステムの出力にも適用可能である。これらの出力は、プロセスの制御された出力だけでなく、実際のプロセスのコントローラによって使用される予測からの測定された偏差をも含む。一般的に、SPC技術を用いるときには、対象となる変数に制限を設定し、それが制限を超えたときにプロセスを調査する。その名前が暗示しているように、統計的なプロセス制御は、対象となるプロセス変数を分布として扱うことに深く依拠している。いくつかの異なった統計を監視して、プロセスが安定でありつづけることを保障する。これらの技術は、あるプロセスが制御下で実行されているか、そうでないかを示すために設計されているが、プロセスが制御不能のときにどうすればよいかの決断は技術者に委ねられている。
【0009】
これらのSPC技術は、プロセスをその制御限界内において継続させているという観点から、自動化コントローラがいかにうまくやっているかを表すことができる。制限を越えてしまったとき、プロセスまたは自動化コントローラを調整しなければならない。しかしながら、実際のプロセスおよびそれらに対する外乱は時間とともに変化し、対象となるすべてのプロセス変数が変化しないという保障はない。さらに、制御のために重要なすべての測定値を所望の間隔(周波数)で得ることができないシステムを数多くある。これらのシステムでは、はずれ値でありうるいくつかの測定値は、それらが測定されないという理由から、特定されないこともありうる。このことから、プロセスの変数に対する静的な制限というのは、常に有効なものではない。理想的な解決策は、プロセスの変化を検出して、それらに対処するためにそれ自身を調整する自動コントローラである。そのようなコントローラは、品質の高い出力における制御の限界が破られる前に、プロセスを調整することができる。このコントローラは、使用しているモデルが無効になるかもしれないことを認識していなければならず、それ故に、常に新しい測定データをプロセスの再モデル化のための機会として取り扱わなければならない。
【0010】
不確かな環境下においても適切な性能を実現するために、制御システムはプロセスの変化に反応しなければならない。適応制御技術は制御手法の一種であって、コントローラが自動的にそのモデルパラメータを調整し、プロセス自体の観察された変化に対して対処するように調節する。この技術は、しばしばオンラインモデルパラメータ推定に依存し、コントローラの設定は、測定値から得られた現在のシステムモデルに合致するように継続的に調整される。適応制御はシステムの完全なモデルが複雑であるとき、または高次のものであるときに有用である。その理由は、制御式を、調整可能なパラメータを持つ、より簡単なモデルに基づくものとすることができるからである。これらのコントローラは、極配置技術および二次費用関数最小化を含む、様々な設計方法から実現できる。適応制御技術は、最適制御のような高度な制御思想を、分析対象となるシステムが非常に複雑で、あまりよくわかっていないような場合において用いることを可能にする。
【0011】
操作入力と、定量的な性能目標とを持つシステムについては、最適制御理論を用いて最適な入力のセットを見つけることができる。最適制御の問題点は、システムモデルの制約およびその他のプロセス要求を満足させつつ、目的関数(objective function)を最小化する(または最大化する)入力のセットを決定することにある。数学的には、これは以下の式で表される。ここで、xはプロセスの状態を示し、uは操作入力を示し、tは時間を示し、fは目的関数であり、giは解法における一連の制限を指す。
【数1】
【数2】
【0012】
ある種のシステムにおいては、制御の問題を解決するのにこれがよく役立つ。最適制御の一つの特長は、制御の目的が明確に定義されていることである。解法において目的関数を評価することにより、コントローラに期待される性能の定量的な判定ができる。適応技術とともに用いることによって、システムが時間とともに変化する場合でも、最適制御は制御目的を満たすことができる。最適制御関数は非常に一般的であって、単純なシステムを記述する場合に限定されない。制限方程式、giは通常微分方程式、またはプロセスを支配する差分方程式およびプロセスの入力および状態に課せられた動作制限を含む。ほとんどの実際のプロセスでは、上述の問題はしばしば、境界条件の組み合わさった、非線形の微分方程式の組(セット)に帰着する。
【0013】
ある種の単純なプロセスモデルに対しては、最適な解法が得られている。そのような問題の一つは、線形(L)モデルおよび二次(Q)目的関数に、モデル中の追加的なガウス(G)ノイズを持つものである。これはまた、LQGモデルと呼ばれる。これらのシステムに対しては、最適なコントローラを得ることができる。通常、実際のプロセスに対しては近似を行わなければならず、準最適(sub-optimal)なコントローラを用いなければならない。その理由は、システムの完全なモデルはしばしば知られておらず、または複雑に過ぎて最適コントローラに閉じた形の解法を与えることができないからである。一般的なアプローチは、問題をLQGとして記述し、対応する線形のコントローラを使用することである。
【0014】
適応制御で用いられる一つの方法に準最適アプローチがある。この場合、プロセスモデルは単純なモデル形式を持つものとして仮定されるが、モデルパラメータの値は不確定なものであるか、または時間によって変化する。この形式では、選択されたモデル形式に対する最適な制御法則は、未知のモデルパラメータに関しても、得ることができる。従って、システム同定技術を用いて、観察されるシステムの振る舞いをもっともよく説明するモデルパラメータの値を決定することができる。
【0015】
このケースでは、コントローラは、現在の動作点付近では正確なモデルを持っている。プロセスが他の動作ポイントに動くにつれて、モデルパラメータは更新され、それによってコントローラは未だ効率的に動作する。主な制約は、対象となる現在領域において、実際のプロセスの入力−出力の振る舞いにモデルが合致していなければいけないということである。モデルが考慮していない外乱および力学の存在が、コントローラの安定性に影響を与える。コントローラは、モデルパラメータに対する変更を必要とするプロセス中の実際の変化と同様に、パラメータの推定エラーに対してもインテリジェントに対応できなければならない。適応コントローラはサンプリング毎にモデルパラメータの推定を繰り返し(リカーシブに)行い、パラメータ推定の新しい値を使って制御動作を計算する。
【0016】
適応制御に対する異なったアプローチもある。上述の手順は間接的な方法であって、推定されたモデルパラメータの値に基づいて制御動作が計算されている。直接的な適応制御方法においては、制御法則そのもののパラメータ(例えば、ゲイン)が測定された誤差(エラー)から繰り返し計算される。最適適応コントローラは、目標としてプロセスの制御と同定を同時に行う公式化を用いることにより、双対制御問題(dual control problem)を解決しようとしている。十分に高度なコントローラは、よりよいパラメータ推定値を得るために、プロセスの特徴づけと、プロセスの「調査」の必要性を勘案している。
【0017】
適応コントローラは、モデル形式のすべてのパラメータに対して適切な値を選択することによって、選択されたモデル形式と制御に使用する実際のモデルとの間のギャップをつなぐために、システム同定技術に依存している。システム同定技術は、それが、システムの動作中に得られたデータに対してリアルタイムで実行されるか、されないかによって、2つの主要なカテゴリー(つまり、オフラインか、オンラインか)に分けられる。
オフラインのシステム同定手法は、あるモデルについて得られたプロセスの入力および出力データの完全なセットを検討する。この手法は、多くの異なったモデル形式を試すことができるのでとてもフレキシブルである。さらに、すべてのプロセスデータを一度に分析可能であるという特長も持っている。そのようなシステムは、定められた構造を持たない人工ニューラルネットワーク(ANN)のようなモデルを使用することもできる。オフラインのシステム同定手法の主な限界は、将来においてモデルがどのように変化するか予想することができないということである。
オンラインのシステム同定技術は分析中のプロセスが実行されているかぎり、動作する。それは、プロセス測定値を用いて、繰り返し所定の形式のシステムモデルを更新する。推定器(estimator)がシステムを観察し、選択されたモデル構造のなかでモデルパラメータを調整する。一般に、推定器は動作のためのデータの完全なセットを持っていない。それは、すでに行われた測定結果に対してアクセスできるにすぎない。しかしながら、オンラインのシステム同定手法には、オフラインの方法に比べて、一つのはっきりした特長がある。オンラインの方法は、プロセスの変化に素早く反応することができる。プロセスの変化は、モデルパラメータの値の誤差として現れる。もしプロセスが時間の経過につれて徐々に変化する場合、オンラインのシステム同定方法は、プロセスが変化するにつれてモデルを調整することができ、それによって予測エラーは低く保たれる。
繰り返しの(リカーシブな)パラメータ推定には、一般的な指数重み付け移動平均(Exponentially weighted moving average,EWMA)フィルタリング技術を用いることができる。次の式に示すように、現在の測定値に基づいたパラメータ推定と現在のパラメータ推定との重み付けされた組み合わせを用いて、新しいパラメータ推定が得られる。
【数3】
ここで、xは測定値、(チルダ)xは推定値
【0018】
EWMAの重み付けパラメータ、λの選択によって、推定器がゆっくりと反応するのか(ゆっくりと浮遊(ドリフティング)しているプロセス)または素早く反応するのか(急激な変化がおきているプロセスのとき)に影響する。従って、重み付けパラメータを異なった値を選択することによって、異なった環境におけるパラメータ推定値を用いたコントローラの安定性に影響を与える。
【0019】
オンライン繰り返し形式においてモデルパラメータを効率的に推定するためには、いくつかのプロセスの特性が必要となる。コントローラの動作がもともとのプロセスの振る舞いを覆い隠すため、自動制御下でのプロセスの同定は複雑である。一般的に、プロセスへの入力は、モデルパラメータが一意に同定されるようなかたちで、変化しなければならない。この要求は、永続的な励起(persistent excitation)と呼ばれる。望ましい動作点においてプロセスは定常状態に近づいていくにつれ、典型的な制御の目的を満たすためには励起の量を少なくしなければならないという問題がある。
適応制御技術はRun-to-run制御のためのバッチプロセスにも適応可能である。システムモデルは各バッチにおけるプロセスの振る舞いを予測するとともに、バッチとバッチの間でどのようにシステムが変化するかを予測する。コントローラの責任は、各バッチについて最適な入力設定を選択することである。実際の製造環境においては、プロセス条件は常に変化しており、従ってシステムモデルも定期的に更新しなければならない。各バッチについて最適な入力に達するためには、コントローラはモデルパラメータを調整することによって変化するプロセス条件に反応しなければならない。これは、新しいデータが入手可能になる度にシステム同定の問題を解くことによって可能である。
【0020】
半導体製造におけるRun-to-runバッチ制御は、それが複数の製品および複数の処理ツールを持つが故に、しばしば複雑になる。このような状況は半導体製造においては非常によく起こることであるが、しかしそれはその他のバッチ処理環境、例えばポリマーの製造においても同様に問題となりうることである。各バッチがその要求される仕様を満たすことは重要であるが、異なる製品およびツールに切り替える際に適切なレシピの設定を選択するのは困難なことである。オンラインのシステム同定および適応制御は、この問題をよりいっそう扱いやすくするために役立ちうるものである。もちろん、コントローラがうまく動作するかどうかは、コントローラの設計そのものに加えて、外乱およびシステムの入力の性質に依存する。
簡単な例として、線形にモデル化できるプロセスを考える。
【数4】
時間t後の反応の程度はxで与えられる。rは速度であって、プロセス条件を変えることによって変動することが知られている。目標は、所望の反応の程度x*である。各run(ラン)の後で、そのRunの結果に基づいて速度rの新しい推定値が準備される。多くの応用例においては、異なる製品ではまったく異なる見掛けの反応速度を持つことがすぐに観察される。しかしながら、単一の製品を作っている場合でも、速度はバッチによってすこしずつ異なる(ドリフトする)。それは、反応炉の付着物により、消耗材料の劣化により、またはプロセスのリークによって生じうることである。
【0021】
runからrunへ単純にrの推定を追跡することはできない。なぜなら、異なる製品へのスイッチは一段飛びの変化(step change)となるからである。製品が切り替わるたびに、速度推定は、何回かのrunを通じて観察された新しい速度へゆっくりと動いていく。何回かのrunの間に、反応炉の付着物によって速度が徐々に落ちていく。EWMAを用いて各runから見掛けの速度データをフィルタリングし、そのフィルタリングされた値を速度の推定に用いる。2番目の製品が走るとき、その見掛けの速度は、1番目の製品のそれとは大きく異なっている。そして、フィルタが、状態推定に対して、このことを時間をかけてゆっくりと感知させる。従って、状態推定は観測された(observed)値よりも遅れており、これは製品か切り替えられた際に顕著である。この推定と実際の状態の差が、この推定を用いるコントローラが目標を外す原因である。
【0022】
この分野における従来の研究からオブザーバ・スケジューリングの概念が生まれた。この定式化においては、製品に依存しないツールの状態(x)についてモデルが開発される。このツールの状態はそのツール固有の速度である。この速度の変化は、そのツールを通るすべての製品に影響を与える。
【数5】
出力方程式を用いて、このプロセス状態xを製品状態yにマッピングする。
【数6】
従って、推定器は、製品状態yよりも、ツールの状態xを追跡するのに用いられる。カルマン最適フィルタリング方程式を検討すると、最適な観測器(observer)のゲインは、出力マッピングCの関数であった。従って、オフライン分析を用いると、繰り返し可能な製品依存性は速度rに対する新しいモデルに帰着するように定量化できる。ここで、r0はプロセスツールの固有速度であり、kpは製品に特有の修正係数である。
【数7】
次に、観測器は、観測(observed)された速度を、正しい製品特有の係数kpでスケーリングすることによって、rではなく、r0を推定する。製品特有の係数が正確に知られているような場合、上述の手法はとてもよく機能する。プロセスツールの操作の変更は、どのような製品が流れているかにかかわらず、観測(observed)される。しかしながら、実際の製造環境においては、いくつかの複雑さが存在する。例えば、いくつものプロセスツールが存在しうるし、新しい製品が登場するし、加工前の材料およびプロセスツールの非稼動時間の観点からは、実験はたいへん高価についてしまう。ここでの影響は、製品特有の係数は必ずしも推論的に(アプリオリに)知られているわけではないということであって、したがって、kp(そして、従ってC)を既知の値として仮定することは必ずしも安全ではない。
【0023】
上記の方法は、単一のパラメータ(r0)を観測しているが、kpの新しい値についての推定を素早く得る方法を見つけることも必要である。原理的には、各runにおいて速度を観測し、それに従ってモデルパラメータを更新することによって実現可能である。実際には、可観測性(observability)の問題が生じる。各runの結果は見掛けの速度rの測定値であって、それはr0とkpの両方によって交絡(confound)している。よって、どのような推定手法であっても。利用可能な情報を用いて、必要に応じてすべてのパラメータを調整することができなければならない。
データ(r)から、roとkpを推定するために、上述の方程式をテイラー級数近似で用いると、
【数8】
値rの見かけ上の変化は、r0およびkpの推定値の変化として表すことができる。したがって、変化を分類して(分散分析の手法を使用して)2つのパラメータの間で誤差をどのように分配するかを決定する必要がある。
誤差を分配する一つの簡単な方法は、各パラメータに線形フィルタを適用することである。
【数9】
【数10】
ラムダの値は、パラメータ推定における確かさを反映するために変化する。ここで、r0が変化することが予想されるときλrは大きくなり、kpが誤差になると想定されるときに
はλkが大きくなる。
例えば、すでに習熟している製品の場合、kpの正確さについてはかなりの確からしさがある。さらに、r0が時間の経過においてドリフトすることが知られている。従って、λr>>λkの関係が用いられる。一方で、新しい製品の場合には、kpの値の確からしさはより小さい。不正確なkpが、ノイズやr0のドリフトよりも速度に影響を与えることが予想される。よって、λk>>λrが設定される。
この技術は、シンプルで理解しやすい一方、定量化が困難な考え方に依存する規則(ルール)ベースの手法であることから、限界がある。さらに、モデル方程式を各パラメータについて順番に解くことがいつも可能であるわけではない。
【0024】
ここで説明したタイプのプロセスのための成功するコントローラは、同定と制御を同時に行うという2つの問題に対処することができるであろう。大きな入力変化を発生させるか、または製造ではない実験を行うことによって、プロセスを学習することの方が容易である。しかし、それはコントローラの第1の目的に直接的に反することである。プロセスの選択には、目標を密接に追跡することと、プロセスを特徴づけるのを助けることとの間のトレードオフが含まれる。なぜならば、これら2つの目的は相反するものだからである。
【0025】
半導体製品の大量、多品種生産において用いられているRun-to-run制御は、プロセス制御における従来型のアプローチのフレームワークには簡単に当てはまらない。従来型のアプローチは、状態、入力および出力のセットが与えられたなかで、プロセスモデルを定義する。あるケースでは、モデルは静的であり、他のケースではそれは時間とともに変化する。各時間ステップにおいて、入力と外乱が状態に影響を与え、出力が測定される。そして、コントローラが更新を行い、このプロセスを繰り返す。このアプローチが常に成功するわけではないことの一つの理由は、複数の製品の存在とともに、しばしば複数のプロセスツール(processing tool, 加工装置)が存在することにある。今日のマイクロエレクトロニクス製造工場においては、各プロセスツールにおいて、多くの異なった製品およびプロセスを実行することは日常的である。それは、ツールに関する投資コストが高いことと、工場の容量に限界があることが主な理由である。さらに、一般には、プロセスにとっては重要なすべての測定値のうちの一部(サブセット)のみが各runにおいて得られる。このような環境下でコントローラにいかに更新を行わせるかを決定するのは、困難な仕事である。
【0026】
Run-to-runコントローラは、runからrunにおいて一貫して正しいプロセスモデルを持つことを前提としている。ツールにおいて実行される様々なプロセスが大きく異なる場合、コントローラは予期しない振る舞いをする可能性がある。それは、新しいプロセスへの変更が、大きな外乱に見えうるからである。さらに、コントローラが安定するまでに、与えられたあるプロセスを続けて何回かrunする必要がある可能性がある。しかし、製造上の制約からは、これは避けたい事態である。もっともよいのは、コントローラがツールで実行させる必要があるすべてのプロセスについて、その実行順序に関わらず、最適な設定を決定することである。
【0027】
最適制御の方法では、オンラインシステム同定手法がコントローラにおいて実行され、絶えずモデルを調整して、システムの本当の振る舞いを真似るようにする。この状況においてもっとも難しい仕事は、多くの可能性(パラメータ、バイアス推定)のうちのどれが出力において観測(observed)された誤差の原因(source)なのかを決定することである。半導体の製造においては、誤差がツールの違いに分配できるものなのか、または製品の違いに分配すべきものなのかというのは、よくある疑問である。
本発明は、上述の問題の一つまたはそれ以上について、それを解決し、または少なくともその影響を低減しようとするものである。
【発明の開示】
【発明の概要】
【0028】
本発明の一形態は、製造システムの監視方法である。この方法は、製造システムに関する複数の観測状態(observed state)を定義するステップを含む。観測状態に対して、状態推定値(state estimate)が生成される。各状態予測に対して、不確定性の値(uncertainty value)が生成される。製造システム内の構成要素(実在)に関する測定データが受信される。状態推定値は測定データおよび状態推定値に関する不確定性の値に基づいて更新される。不確定性の値は、スケジューリングの判断に影響を与えるのにも用いることができる。
本発明の他の形態は、製造システムのための監視システムである。このシステムは、製造システムに関する複数の観測状態(observed state)を定義し、観測状態に対して、状態推定値(state estimate)を生成し、各状態推定値に対して、不確定性の値(uncertainty value)を生成し、製造システム内の構成要素(実在)に関する測定データを受信し、測定データおよび状態推定値に関する不確定性の値に基づいて状態推定値を更新するように構成されたコントローラを含む。このシステムは、不確定性の値に対する予測された変化に基づいて、スケジューリングの判断を行うように構成されたスケジューリングコントローラを含んでいてもよい。
【0029】
本発明は、添付の図面とともに、以下の説明を参照することによって理解することができる。図面において、類似の参照符号は類似の要素を示す。
本発明は様々な変形例および代替の形態をとることが可能であるが、特定の実施形態を例として図面に示し、詳細に説明する。しかしながら、特定の実施形態についてのここでの説明は、本発明を開示された特定の形態に限定しようとするものではなく、反対に、添付の特許請求の範囲によって規定される、本発明の精神および範囲内のすべての変形例、均等物、代替形態をも含めようとするものである。
【発明を実施するための最良の形態】
【0030】
本発明の実施形態について以下説明する。説明の明確化のために、本明細書では、実際の実施形態のすべての特徴については説明しない。そのような現実の実施形態の開発においては、例えばシステム関連の順守事項およびビジネス上の制約など、実用化の事例毎に異なる、開発者の特定の目標を達成するために、数々の実施に則した判断を行わなければならないことは当然理解してもらえるだろう。さらに、そのような開発努力は複雑で時間のかかるものであるかもしれないが、それにもかかわらず本明細書の開示による利益を得た当業者にとっては日常作業に過ぎない。
【0031】
図1は、実例としての製造システム10の簡略ブロック図である。この図示された実施形態では、製造システム10は、半導体装置を製造するように構成されている。本発明を半導体製造工場において実現可能なように説明するものの、本発明はそれに限定されるものではなく、その他の製造環境にも適用可能である。本明細書で説明する技術は、様々な加工物または製造品目に適用可能である。その加工物または製造品目には、マイクロプロセッサ、メモリデバイス、デジタルシグナルプロセッサ、ASIC(Application Specific integrated circuit)またはその他の類似のデバイスが含まれるが、それらに限定されるものではない。この技術は、半導体装置以外の加工物または製造品目にも適用可能である。
【0032】
ネットワーク20は、製造システム10の様々な構成要素を接続して、それらの間の情報交換を可能にする。実例としての製造システム10は、複数のツール30−80を含む。ツール30−80のそれぞれはネットワーク20と接続するために、コンピュータ(図示せず)に結合することができる。ツール30−80は、サフィックス(添え字)で示されるように、類似するツールの集合にグループ化される。例えば、ツールのセット30A−30Cはあるタイプのツール、例えば化学機械平坦化(CMP)ツールを表す。ある特定のウェハまたはウェハのロットは、それが製造されるに従ってツール30−80を通って進む。プロセスの流れ(フロー)において、各ツール30−80は特定の機能を実行する。半導体装置製造環境における典型的なプロセスツールには、測定ツール、フォトリソグラフィー・ステッパー、エッチングツール、デポジションツール、研磨ツール、ラピッド・サーマルプロセスツール、インプラントツールなどが含まれる。ツール30−80は、行と列とにグループ化されて図示されているが、これは説明のために過ぎない。現実の実施形態においては、ツールはどのような順番またはグループで配列されていてもかまわない。さらに、特定のグループ分けにおけるツール間の接続は、ツール同士の相互接続というよりは、ネットワーク20への接続のみを意図しているものである。
【0033】
製造実行システム(MES)サーバ90は、製造システム10の高いレベルの動作を監督する。MESサーバ90は製造システム10の様々な構成要素(つまり、ロット、ツール30−80)の状態を監視し、プロセスの流れを通して製造物(例えば、半導体ウェハのロット)の流れを制御する。データベースサーバ100は、プロセスフロー中の、様々な構成要素および製造物の状態に関するデータを記憶するために設けられている。データベースサーバ100は情報を一以上のデータ記憶装置110に記憶する。このデータは、プロセス前の(pre-process)およびプロセス後の(post-process)測定データ、ツールの状態、ロットの優先順位などを含む。
【0034】
本発明の一部および対応する詳細な説明は、ソフトウェア、つまりアルゴリズムおよびコンピュータメモリ内のデータビット操作のシンボリックな表現として説明される。これらの説明および表現は、当該技術分野の当業者が彼らの仕事を効率的に他の当業者に伝達するためのものである。アルゴリズムとは、その用語が本明細書で用いられる場合、そして一般的に用いられているように、目的とする結果に繋がる自己整合的なステップの配列であると考えられる。これらのステップは、物理量の物理的な操作を必要とするものである。通常、もっとも必ずしも必要ではないが、これらの物理量は、光学的、電気的または磁気的な信号の形態をとり、それらは蓄積、転送、結合、比較、その他の操作が可能なものである。専ら一般的な用例という理由から、ときには、これらの信号をビット、値(value)、要素(element)、シンボル、キャラクタ、項(term)、数などと呼ぶのが便利である。
しかしながら、これらの用語のすべてまたは類似の用語は適切な物理量に関連付けられるべきであり、それらの量に適用される単なる便利なラベルである、ことを念頭に置く必要がある。特に断らない限り、またはこれまでの議論から明らかなように、「プロセス(処理)」、「コンピューティング」、「計算」、「決定」、「表示」などの用語は、コンピュータシステムまたは類似の電子情報処理装置の処理または動作を意味する。ここで、コンピュータシステムまたは類似の電子情報処理装置の処理または動作とは、コンピュータシステムのレジスタおよびメモリのなかの物理的、電気的な量として表されるデータを操作して、コンピュータシステムのレジスタおよびメモリまたはその他の情報記憶装置、転送装置または表示装置のなかの物理的、電気的な量として同様に表される他のデータに変換することである。
【0035】
製造システム10に用いるのに適した典型的な情報交換およびプロセス制御フレームワークは、APC(Advanced Process Control)フレームワークである。それは、KLA-Tencor, Inc.社が提供する、Catalystシステムを用いて実現可能である。Catalystシステムは、SEMI(Semiconductor Equipment and Materials International)のCIM(Computer Integrated Manufacturing)フレームワークに準拠したシステム技術を用い、APC(Advanced Process Control)フレームワークを基礎とする。CIM(SEMI E81-0699-CIMフレームワークドメインアーキテクチャのための暫定仕様書)およびAPC(SEMI E93-0999-CIMフレームワーク高度プロセス制御コンポーネントのための暫定仕様書)の仕様書はSEMIから一般に入手可能である。SEMIの本部はカリフォルニア州のマウンテンビューにある。
【0036】
製造システム10はワークステーション140上で実行されるコントローラ130を含む。以下にさらに詳細に説明するように、コントローラ130は製造システム10の様々なツール30−80のために設定される操作レシピを決定する。ここで使用される略称および記号の命名法については、以下の別表Aに要約してある。
図1において異なったコンピュータやワークステーションの中に処理およびデータ記憶の機能が分散していることによって、一般的には、独立した、中央情報記憶を持つように導かれる。もちろん、異なった数のコンピュータおよび異なった配列を用いてもよい。
【0037】
図2は、図1の製造システム10の一部の簡略ブロック図である。本実施形態においては、製造システム10の一部は、第1および第2プロセスツール200、210を含む。これらはコントローラ130とインターフェイスで結合され、3つの異なる製品(A,BおよびC)に対するプロセスを実行するように構成されている。ツール200,210の数および製品は説明を円滑に行うために選んだものにすぎない。もちろん、別の数のツール200,210および製品も使用可能である。ツール200,210で実行されるプロセスは、どのような製品とツールとの組み合わせにおいても実行可能である。コントローラ130は制御則(control law)コンポーネント132、および観測器(observer)コンポーネント134を含む。観測器コンポーネントは、製造システム10の状態の推定および更新を行う。制御則コンポーネントは、この状態情報を用いて、ツール200,210のための操作レシピパラメータを決定する。
【0038】
線形化された形式を用い、すべての組み合わせには単一の「名目(nominal)」ポイントがあると仮定して、各コンテキスト(context)についての名目除去(nominal removal)からの偏差は、次の式で表される。
【数11】
【数12】
【数13】
【数14】
【数15】
【数16】
添え字1はプロセスツール200を参照し、添え字2はプロセスツール210を参照する。
【0039】
システム全体を単一の状態空間モデルに一体化することができる。
【数17】
【数18】
ここで状態は、調整(adjustment)(xadj)、ツールバイアス(r1およびr2)および製品バイアス(fA,fB,fC)を含む。このモデルは、すべての製品/ツールの組み合わせが同じ入力設定で同時に流れるという架空の状況からなっている。この状況は実際には起こらないと考えられるが、異なったコンテキストの間の相互作用を理解するという観点からは有用である。例えば、単一の製品因子fAは、プロセスツールに関わらず、製品Aのすべてのrunに用いられる。
次に可観測性のテストについての計算結果を示す。
【数19】
階数(rank)が一つ不足しているので、このシステムはこの形態では不可観測である。このような状況になった理由は、すべてのrunが製品バイアスとツールバイアスとによって交絡しているからである。システムに対して追加的な測定値を加えるための一つの方法には、認定実験(qualification experiment)の使用が含まれる。これらのイベントの間、標準試験が装置上で実行(run)され、それには特別に用意された「基準」バッチが含まれうる。これらの試験がツール群について標準化されると、これらの特別なrunに対する製品特有のバイアスがないことを明らかにすることができて都合がよい。これは、特定のツールについての試験の際に、そのツールのバイアスを直接測定できるということを意味する。このような実験が選択できない場合、(既知の)名目バイアスを持つ製品または基準ツールを単純に選択することも可能である。この方法の一番欠点は、常に変化している製造環境において基準のツールまたは製品を特定するのが困難でありうることである。しかしながら、ここで重要なことは、システムを可観測にする方法を見つけることである。それをするための方法としては、必要な出力(測定値)を追加するか、制限(状態数を実効的に減少させる)を追加するか、またはモデルの形態をなにかまったく異なるものに変更するかしかない。
【0040】
上記の例においては、ツールの認定(qualification)は以下の式で表される2つの新しいケースで示される。
【数20】
【数21】
ここで、y1およびy2は、それぞれツール200(つまり、1)およびツール210(つまり、2)の認定の間に観測(observed)された名目除去(nominal removal)からの偏差を表す。もし、この例としてのシステムにこの認定実験が加えられると、組み合わせられたシステムの新しい出力方程式は、
【数23】
新しいシステムについての可観測性マトリクス(行列)は、
【数24】
この式は最大階数であるので、このシステムは可観測である。しかしながら、このシステムは、すべての可能なrunが同時に発生しうる、未だ架空のケースである。実際には、runは一度に一つずつ発生する。各Runの後で、モデルの状態を更新するための適切な方法を決定する必要がある。
【0041】
構造的に、このシステムは、異なった測定値が異なった周波数でサンプリングされる現実のシステムに似ている。このようなシステムにおいて、異なった組み合わせの測定値が利用可能になるつれ、可観測性も時間とともに変化する。しかしながら、潜在的な要件は、すべての可能性のある測定値がすべての時間ステップにおいて得られる、限られたケースにおいて、システムが可観測であるということである。
上述の方程式によって説明したように、各時間ステップにおいて可能性のある測定値の一部のみが得られる、不連続な時間システムモデルを持つことは可能である。このようなシステムにおいては、新しい測定値が得られたときには常に状態の更新を行って、新しい測定値からできるだけ多くの情報を状態の推定に統合する必要がある。一般に、予測誤差(測定された出力と予測された出力との間の偏差)は、状態推定値に対して変化をもたらす。本実施形態においては、分析の対象となる第1のケースが一つ以上の状態から影響を受ける測定値を有する。
【0042】
概念的には、そのような問題は解決不可能のように見える。なぜなら知られている単一の測定値を、知られていない一つより多い状態の更新に用いなければならないからである。しかしながら、本実施形態においては、コントローラ130は、利用可能な追加の情報を状態の更新を取り扱うために使用する。以下にさらに詳しく説明するように、観測器コンポーネント134はすべての状態についての推定値を、それらの推定値の確からしさの程度とともに保持し、統計的な分析を行って、どの状態がもっとも、予想された測定値における観測(observed)された誤差の原因となったものと思われるかの決定を行う。
次に、観測器コンポーネント134の設計について議論する。最適制御理論の理解から得られる大きな利益は、システムについての学習と、制御動作との分離が実現できることである。この一般的な原理は、コントローラ130の調整において直感的な可能性を実現できる。例えば、制御則コンポーネント132の応答を、状態推定のルーチンに影響を与えることなく、より緩慢なものにすることができる。制御則コンポーネント132は、それが行う必要のあるどのような決定を行うにあたっても、システム10の状態についての最もよい情報を用いることができる。次に、状態推定の問題について議論する。この問題が解決されれば、状態推定の優位を用いるために、どのようなタイプの制御則も使用することができる。
【0043】
次に、各時間ステップにおいて、全部の測定値が得られないときに、状態の更新を実行する際の問題について議論する。半導体の製造ラインの制御に加えて、この種のシステムは、ある種の変数がその他の変数よりも頻繁にサンプリングされる、伝統的な化学プロセスにも当てはまる。例えば、流量計は常に流速の測定値を生成することができる。しかしながら、組成分析は何時間かごとにしか実行できないであろう。
部分的な情報が与えられた状態で、システム状態の真の値(true value)のもっともよい推測を決定する必要がある。第1のステップは、すでに説明したように、すべての可能性のある測定値が各時間ステップにおいて得られるような場合には、システムが可観測であることを確定することである。
システム状態は、通常、システムモデルに取り込まれている既知の影響に加えて、ノイズや外乱によって影響を受ける、未知量(unknown quantity)である。分析の観点からすると、各システム状態は、連続した確率変数(random variable)として扱うことができる。説明の便宜のために、それぞれがその現在の推定値の周りにいくらかの分散σ2とともに正規分布していると仮定する。
推定手順の最初で、すべての分散をプロセスの経験的な分析に基づいた静的な値に初期化する。各状態の確率密度関数は、次のように与えられる。
【数25】
ここで、(バー)xは平均値であって、σ2は分散である。この関数をプロットしたのが、図3Aである。確率変数のnベクトルについての確率密度は次で与えられる。
【数26】
ここで、(バー)xは平均のベクトル、Vは次で与えられる共分散行列である。
【数27】
この多次元の確率密度関数のプロットを図3Bに示す。状態間の相互依存性について最初になにも知られていなければ、Vは状態推定の分散の単なる対角行列である。ある特定の時間ステップにおいて得られた測定値が与えられたとき、すべての状態の期待値が必要となる。その手順を単純な具体例について説明して、次に一般化を行う。この例では、システムが次のように表される2つの状態を持つと仮定する。
【数28】
出力方程式は次のように与えられる。
【数29】
ここで、
【数30】
与えられるすべての時間ステップにおいて、(シルコンフレックス)x1および(シルコンフレックス)x2は状態に対する現在の推定であり、σ1およびσ2はそれらの推定に関する分散である。状態が互いに独立であって、推定値のまわりに正規分布していると考えると、確率密度関数は次のように表される。
【数31】
出力行列は2つの測定値を含んでいるが、もし一つだけが得られたとしても、状態の更新を行う必要がある。上記の方程式に従って、最初の測定値に対する予測値は、次のように与えられる。
【数32】
もし、yl,mの測定値がylについて得られると、予測誤差は、
【数33】
観測器コンポーネント134はこの誤差を状態x1とx2との間で分配する。この分配は、この測定によってラインlが暗示されているから、実現できるのである。
【数34】
これは、この状態についての確率密度関数が定義されている空間に含まれるものである。結合された確率密度関数のこのラインlへの投影は、測定値を受信した後の確率分布を示す。このラインlは図3Bにおいて、平面Pと確率密度関数との交差部分として描くことができる。
状態の予測値を計算するために、((シルコンフレックス)x1,(シルコンフレックス)x2)に最も近いl上の点を(x1,0, x2,0)として表す。この点は、どのようなラインlについても存在するように便宜上選択されたものである。この点は、次の問題に対する解として、ここに導出される。
【数35】
【数36】
もしa2≠0のときは、
【数37】
これを、[数35]に代入すると、
【数38】
x1に関する導関数を0と置くと、
【数39】
x1についての項をまとめると
【数40】
従って、
【数41】
対象性から、
【数42】
よって、
【数43】
ラインlは、tによってパラメータ化できて、
【数44】
【数45】
いまラインlに沿った正規化されない確率密度関数の整数klは、つぎのように決定できる。
【数46】
または、
【数47】
tの期待値はつぎのように与えられる。
【数48】
そして、状態の期待値は以下のように与えられる。
【数49】
【数50】
【0044】
概念的には、更新によって、予測誤差が2つの状態の間で、状態推定値に対してなされる変更がより大きな不確定性(偏差)を持つパラメータに対して大きくなるように、分配される。これは、ラインl上の期待点がより幅広い確率密度を持つパラメータ推定によって支配されているからである。この様子を、図3Bに示す。 確率密度関数を切り通している平面pは、x1およびx2の関数である新しい測定値に含まれる情報を表している。平面pと確率密度関数との交差部分は、新しい情報が与えられたときの確率分布である。
上述の議論は、離散カルマン(Kalman)フィルタの導出と同じような目標を持っている。よりよいパラメータ推定値を得るためには、不確定性の情報を用いるのが望ましい。カルマンフィルタを導くのには、いくつかの方法がある。上述の定式化では、測定値情報(l)を絶対値として取り扱うが、カルマンフィルタの導出では、ちょうど状態推定が行っているように、不確定性を生じさせる。数学的には、ラインlは上の制約として機能し、カルマンフィルタの定式化では、それは最小化されている目的関数の条件付項(penalized term)に対応する。この問題に対するカルマンフィルタのアプローチは、推定問題に対するより一般的なアプローチとして、本明細書においてさらに詳細に説明される。
【0045】
(バー)xが状態推定の現在ベクトルであり、Pがその状態推定に対する誤差共分散行列(error covariance matrix)であり、yが測定値ベクトルであるシステムは次のように示される。
【数51】
ここで、vは0の平均値を持つ確率測定誤差および共分散行列Rを示す。
上述のシステムが与えられたとき、離散カルマンフィルタは本質的に、次の評価指数(performance index)を、xについて新しい状態推定ベクトルに到達するように、最小化する。
【数52】
この重み付け最小2乗評価指数は予測誤差(prediction error)を最小化する一方で、現在の推定の確からしさが高い状態推定に対する変化に条件付けを行う。これは、もし共分散行列Pが分散のみからなる対角行列であるときには、簡単に理解できる。確からしさが高い状態推定は、小さい分散を持つので、対応するP-1の要素は非常に大きくなる。さらに、もし複数の測定値を受信すると、それらは、それらの確からしさのレベル(行列Rの分散の項によって決定される)に従って、目的関数において重み付けされる。
【0046】
もし行列Rの項の大きさが非常に小さいならば、新しいxは測定値yを説明するのにかならずよい仕事をすることに注意しておくとよい。なぜならば、(y-Cx)の項は、大きなR-1に対して強く条件付けられている(penalized)からである。もしRが小さいならば、測定ベクトルyの不確定性(uncertainty)は非常に小さい。極端な場合、解は、方程式34にあるように、状態推定が測定値で決定されるライン(または平面)上に到達するケースに近づく。方程式52で示された最適化の問題は、微分dJを0に設定することによって、解析的に解くことができる。
【数53】
従って、
【数54】
dxは任意に変化するので、括弧内の項は0でなければならない。よって、最適なxを代数的に解くことができる。
【数55】
【数56】
【数57】
【数58】
【数59】
上述の2変数の場合には、
【数60】
そして、
【数61】
単一の測定値のみが存在するので、行列Rは、単純に単一項のRとなる。よって、この場合、次のようになる。
【数62】
方程式62はさらに次のように簡単化できる。
【数63】
【数64】
【数65】
【数66】
この結果は、状態推定値および測定値の不確定性が、更新に対してどのように影響を与えるかを示している。
測定値の一部のみが得られるような場合には、方程式52のy,R,Cは、その換算されたもので置き換えることができる。ここで、得られた測定値のベクトルをyr、Crが得られた測定値を与えるCの行を含むもの、Rrをこの測定値の換算された集合(reduced set)のための共分散行列(covariance matrix)とする。この状況で、状態の更新は、次のように与えられる。
【数67】
異なった測定値が得られるたびに、実効(effective)CおよびR行列は変化する。実効出力行列(effective output matrix)は一定でないので、コントローラ130が多くの時間ステップに渡って動作したときでも、分散推定(従って、および実効更新重み)は決して定常状態には到達しない。観測器コンポーネント134は、プロセスの組み合わせが変化するにつれて、そのゲインを常に変化させる。
【0047】
状態および分散推定値は異なった2つの時間において更新される。それは、プロセスを実行している時および測定情報が到着した時である。プロセスを実行している時の更新は、知られているシステムのモデルを使用した予測的な更新である。この場合、モデルの誤差(error)は、ゼロ平均および既知の共分散を持つものと仮定される。現在の状態および分散推定はどちらも状態遷移行列(マトリックス)を通って、新しい推定値になる。測定段階における更新(新方式、the innovation)は、方程式52で示された問題を解くことによって測定値から得られる新しい情報を考慮する。
Xを時間で展開すると、次のようになる。
【数68】
ここでukはプロセスの入力であり、wkはゼロ平均および共分散行列Qを持つ確率的プロセス誤差(random process error)である。上述のように、得られる測定値は次のように与えられる。
【数69】
ここでvは、ゼロ平均および共分散行列Rを持つ確率的観測誤差(random measurement error)を表す。
プロセスが実行されているときにはいつでも、次の式を用いて、状態推定および誤差共分散(error covariance)が更新される。
【数70】
【数71】
これらの方程式は、xについての推定値を、ノイズはないが、Pに含まれる不確定性が増えているものと仮定して更新している。測定値が得られたときはいつでも、状態推定値および誤差共分散は、これらの方程式を用いて更新される。
【数72】
【数73】
これらの方程式は、xの新しい推定値が測定データを反映していること、そしてPに含まれる不確定性が減少していることを保証している。測定値の更新によって、誤差共分散行列の非対角項(off-diagonal term)が変化することに注意しておくとよい。これらの項は、過去の測定値に基づいて、状態が互いにどのように関係しているかを記憶する。
【0048】
従って、各時間ステップの後、誤差共分散行列は、状態推定とともに更新される。一般に、追加的な測定は不確定性を減少させるのに対し、プロセスの実行ステップは不確定性(分散)を増大させる。異なった測定値の組み合わせが得られたという事実は、共分散行列の異なったパターンにつながる。
非線形のシステムは、行列A,BおよびCの代わりに、モデル方程式の偏導関数の行列を用いることによって取り扱うことができる。一般に、同様の分析を当てはめることができ、プロセスモデルは各時間ステップにおいて現在の動作点のまわりで線形化される。
非線形のケースでは、モデル方程式は、現在と将来の状態値の間に、より一般的な関係がある。
【数74】
【数75】
与えられた時間ステップにおいて、これらの方程式を線形化して、線形モデルからの対応する項を作ることができる。
【数76】
【数77】
【数78】
【0049】
以下の議論では、複数のプロセス実行コンテキスト(context)を伴うRun-to-runの状況において用いられるべき、カルマンフィルタに基づく推定アルゴリズムの使用について概説する。このアルゴリズムでは、(バー)Xkおよび(バー)Pk、状態推定ベクトルおよび誤差共分散行列に含まれる不確定性の情報を利用する。ある特定のrunに対しての設定を計算する時間になると、観測器コンポーネント134は、そのrunに適用する状態および測定値を、まず初めに決定しなければならない。このrunの目的はシステム出力の特定の値を達成することにあるので、コントローラ130は、与えられたコンテキストに対する実効出力マッピングCrを計算しなければならない。
【0050】
正しい出力マッピングおよび現在状態の推定値が与えられると、制御則コンポーネント132はプロセスの入力を計算し、プロセスの進行を許可することができる。また、このとき、観測器コンポーネント134が、プロセスモデルを使用して、プロセス後の(post-process)状態(シルコンフレックス)Xk+1および共分散(シルコンフレックス)Pk+1に対する推定値を計算する。実効出力行列(effective output matrix)を用いて、観測器コンポーネント134は出力(シルコンフレックス)yk+1をも予測することができる。
Runの後、観測器コンポーネント134は測定値yk+1を受信する。観測器コンポーネント134は、方程式52を最小化するために、新しい測定値とともに、現在の状態および共分散推定を用いることができる。結果として、(シルコンフレックス)Xk+1および(シルコンフレックス)Pk+1の新しい値が提供される。新しい製品またはツール200,210が追加されるたびに、それらの状態推定値を、すでに記憶され、更新されている状態に追加しなければならない。
【0051】
プロセスの条件の変化、例えば新しい製品またはツール200,210の追加等によって、観測器コンポーネント134によって監視される状態の数も変化しうる。これらの変化が、コントローラ130をなるべく乱さないようにすることが望ましい。外乱をなるべく小さくするために、新しい状態に関する情報をすでにある状態ベクトルおよび誤差共分散行列に組み合わせる(merge)。状態推定に対する最初の適切な推測を選択した後、新しい状態を追跡するために、新しい要素を状態ベクトルに追加する。さらに、新しい行および列を誤差共分散行列に追加する。共分散行列のなかのこれらの新しい要素は、分散の項を除き、ゼロで初期化することができるが、新しい状態があまりよく特徴付けられていないことを示すためには比較的高い値に設定されるべきである。
【0052】
調整パラメータは、モデルの不確定性(システムモデル方程式のなかの行列GおよびQ)および測定値(行列R)に対する推定ノイズ特性(estimated noise property)を含む。新しい状態および状態推定の分散についての最初の推測(guess)も決定しなければならない。新しい状態推定の不確定性の最初の値に、高い推測値を選択すると、観測器コンポーネント134は、それが存在する状態の評価(performance)にかなりよく合致するようになるまで、優先的にそれを更新するように強制される。
【0053】
行列Rの選択により、推定手法の測定データへの応答の速度が影響をうける。大きな値を選択すると、より緩慢な応答になる。行列GおよびRの選択により、異なったモデル状態における相対的な不確定性の、プロセスに伴う増加の速度が影響を受ける。これらは、推定の手法に、あるパラメータだけを他のパラメータよりも頻繁に更新させるために用いることができる。
【0054】
最適な調整およびモデルの形態でさえもプロセスの条件に深く依存している。完璧なコントローラは存在しないが、与えられたプロセスの条件の集合に対して最適なコントローラのみが存在しうる。予測される外乱をよく理解することが、その状況下でよい性能を発揮する設計を生み出す。
上述の状態予測手法において、状態および不確定性の推定が変更されたことが2回あった。これらは、プロセスの実行時に行われた予測および測定時における更新である。正しく機能するために、状態推定のアルゴリズムは、実行されたすべてのrunの完全な履歴を、それらに関係するすべての既知の測定値を含んで、保持している。プロセスが実行される前と後で測定値を取得する、バッチ指向のプロセス実行環境では、測定を遅らせたり、あるいは完全に省略することさえ可能である。状態観測器は、それが受信した情報を正確なプロセス実行の履歴に正しく整理するのを保証することが必要である。
【0055】
原理的には、各プロセス実行runの入力および出力を含む、システムの完全なプロセス実行履歴を保持することも可能である。つまり、測定値が到着すると、適切な時点でそれを履歴に入力する。もともとの推測値から出発して、履歴中の各時間ステップを通して繰り返すことによりすべての現在状態の推定を計算することができる。
このような方法は、非常に大きなデータ記憶容量を必要とする。しかしながら、現在の正しい状態推定値を計算するのに、このデータすべてを記憶しておくことが常に必要なわけではない。100%の計測(すべてのrunについてすべての変数が測定される)を持つシステムでは、すべてのrunの結果は最終的には測定される。もし、プロセス実行ステップにおいてrunの記録が生成されるのであれば、情報が利用可能になったときに、測定データによって更新することができる。
【0056】
履歴テーブルの最初から始まって、第1の計測されないrunまで続く、すべての完全な(利用可能なプロセスおよび計測データ)記録は、そのテーブルに対する「最初の推測値」の連続(running)へと折りたためる可能性がある。これは、各レコードに対する予測の更新および測定の更新の両方を実行することによって実現される。プロセスの実行記録を作らない限りプロセスを実行しないようにすると、テーブルにあるプロセスイベントに対応しない測定値を取得することはない。これによって、履歴テーブルに測定値の抜けが存在する期間を最小限に限定する。
動作上の制約によってすべてのrunが測定できない場合、満了(expiration)時間を決めておく必要がある。満了時間よりも古いrunであって未だ測定がされていないものは、将来においても決して測定されないものであるという仮定のもとに、廃棄される。これによって、上述の折りたたみを、不完全な測定の場合においても継続することができる。測定されなかったプロセスのrunは、それが折りたたまれたときに行われる予測的な更新を持つだけである。
【0057】
上述の調整は、データが本当は遅れて来たり、ときにまったく来なかったりしても、コントローラが測定データを連続した流れとして取り扱うことを可能にする。次の例は、複数のツールおよび製品プロセス向けのコントローラが典型的な状況をいかに取り扱うかを示している。このケースでは、ツールおよび製品の名前が、各runにおいてどのモデル状態が影響を受けるかを決定するのに十分であると仮定している。表1は、このケースのプロセスイベントのリストである。
【表1】
【0058】
もし、プロセスが表1に示されるような順序で進行するのであれば、履歴情報を記録する必要はまったくない。テーブルに示されるように、各イベントはコントローラの状態を通常の方法で更新する。ここで、記録しなければいけないデータのみをx*に含める。これは、状態および不確定性の推定値の集合の「繰り返しの合計(running total)」を示す。X*の値は、各イベントごとに更新され、次にそのイベントのデータは廃棄される。
しかしながら、もしプロセスが以下の表2に示されるように発生するならば、観測器コンポーネント134は新しいデータ要素のそれぞれをどのように解釈するのかを決定しなければならない。測定イベントの取り扱いは前ほど簡単ではない。なぜならば、測定情報が期限切れだからである。観測器コンポーネント134が新しい測定値のそれぞれによって状態の更新をしなければならないのは明らかであるが、単純に新しい状態値の基礎を最新の測定値に求めることはできない。その理由は、新しい情報は、過去に行われた動作に関連しているからである。解決方法としては、すべてのイベント情報を記録して、情報が利用可能になるごとに、完全な履歴が作成できるようにすることである。情報は、それがもはや必要でなくなったときにのみ廃棄される。
【表2】
【0059】
x0を、なんらの記憶されたイベントも含まれる前の、状態および不確定性の推定値の集合を示すものとする。このとき、x*はx0から出発し、記憶されたイベントを繰り返して、必要な更新を加えることで計算することができる。
表2の最初のイベントについては、他の情報に対する依存性はない。従って、状態推定は予測可能であり、x0を更新することができる。この場合、x*はx0に等しく、このイベントデータは廃棄される。
表2の次の3つのイベント(2−4)は不完全である。なぜならば、それより前のバッチに対する測定ステップが省略されているからである。この場合、x0は一定であり、この3つのイベントのデータは、観測器コンポーネント134によって保持される内部履歴に加えられる。この履歴を以下の表3に示す。欠落していることが分かっているイベントは、N/Aで表されていることに注意してもらいたい。よって、x*は、x0から出発して、表3の3つのイベントを繰り返すことによって計算することができる。
【表3】
【0060】
次のイベント(5)が到着したとき、観測器コンポーネント134はそれまでのすべてのバッチについてのデータの完全な集合を持っている。よって、x0を更新することができる。ここで内部履歴は表4に示されるイベントを含んでいる。観測器コンポーネント134は、これらのイベントを繰り返すことによってx0を更新することができる。そして、そのイベントデータは安全に廃棄することができる。
【表4】
【0061】
次の2つのイベント(6−7)は不完全である。なぜなら、バッチ3が測定されていないからである。すでに述べたように、観測器コンポーネント134は表5に示されるようにそれらを内部履歴に追加し、x0を更新しない。すでに説明したように、データを受け入れ可能な時間枠を定義することも可能である。もし十分な時間が経過して、観測器コンポーネント134が、バッチ3の測定データはもう来ないとみなせるとき、イベント6および7のデータをx0に折りたたむ(collapsing)ことによって先に進むことができる。
【表5】
【0062】
上記の分析に基づいて、測定行列の各要素は、1以上の状態の関数に等しい確率変数である。従って、測定値ベクトルの予測値に対して確率密度関数を定義することができる。もし、xが誤差共分散行列Pを持つとき、出力の予測はCxで与えられ、この予測された出力に対する共分散はCPCTで与えられる。この共分散行列は、方程式26を用いて、予測された出力に対する確率密度関数を生成するのに用いることができる。
次に、予測された測定値に対して計算された信頼区間を特定された動作限界と比較して、動作限界のなかでとどまるために必要なプロセスの実行およびサンプリングの要件について決定することができる。この比較は、コントローラ130にそれ自身の性能を推測して、ユーザに警告を与え、さらには問題が起きる前にその問題を避けるための行動を起こすための基準を与える。
【0063】
ここの議論では、不確定性の項を用いて状態推定の更新を行うための統計学的な根拠があることを示してきた。ここで説明した技術は、モデルの状態を、それらの直接的な測定値が利用可能でない場合にも更新可能である。次に、動作条件の異なった多くの組み合わせに対するシミュレーションデータを、他の制御方法に対する比較とともに、示すことにする。
【0064】
上述の状態推定手法は、いくつもの変化のソースを持つ大きなシステムを、ある与えられた時間において、所望のデータの一部を用いて分析するように設計されている。次の議論では、この状態推定手法が異なったプロセス実行の条件に対してどのように応答するかを示すいくつかのシミュレーションについて説明する。まず初めに、名目的な条件において、コントローラ130の性能を検証するための基礎ケースを作る。続いて、順番に複雑さを追加していき、より現実的な動作の条件を作り上げていく。同様の試験用(challenge)データを用いて、他のコントローラ(図示せず)との性能比較も行う。
【0065】
このセクションでは、最初の試験環境について説明する。そして、得られた結果に基づいて、試験の残りの部分において行われたいくつかの基本的な仮定について正当化を行う。プロセスの条件を変えた場合の実際の影響を調べるために、単純なrun-to-runのプラントモデルを選択する。このプラントモデルは離散時間モデルであり、ラン番号(run number)によって進行する。各バッチの実行の間に発生する連続時間効果は、全体として平均的なバッチの特徴を表すように平均化される。このプラントモデルに従うと、出力は、単純に入力にプラントのバイアスを足したものに等しい。このプラントのバイアスは、いずれにせよ、入力として選ばれた値には影響されない。続くrunではいくつかの異なった種類の製品や異なったプロセスツールの使用をシミュレートするので、偏差(variation)のソースを決定して、適切なシステムの状態を選択可能にすることが必要である。実際の応用では、これには利用可能なプロセスデータの詳細な分析が含まれる。しかし、この例では、バイアスはプロセスツール由来の成分と走っている(runしている)製品由来の成分とから成り立っていると仮定する。
【0066】
シミュレーションの観点からは、製品は個々の製品のみを指すのではなく、あるツールにおける一つのrunをその他のものとは異なったものとする特徴の一般的な種類をもさす。言い換えれば、実際の環境における各製品/層の組み合わせは、このシミュレーションにおいては異なった「製品」となるということである。特定のツールおよび製品に対するプロセスモデルは次のように書くことができる。
【数79】
ここでyは出力、xtiおよびxpjはツールおよび製品のバイアス、uは選択されたプロセスの入力である。目標値は、yの特定の値である。ほとんどのシミュレーションにおいて、値0が目標値として選択される。さらに、ツールの認定イベント(qualification event)が利用可能であり、すべてのツールiについて直接xtiを測定することが可能であると仮定する。認定イベントが可能であると仮定したことにより、このシステムは可観測になる。
プロセスおよび測定ノイズをも含めた、伝統的な離散時間状態空間モデルを用いる。
【数80】
【数81】
よって、m個のツールと、n個の製品を持つシステムについての状態ベクトルは次のようになる。
【数82】
ここで、xadjは調整状態(adjustment state)であり、すべてのツールおよび製品が個々の要素で追跡される。ベクトルwおよびvは、それぞれプロセスノイズと測定ノイズを表す。それらは、両方とも、ゼロ平均を持つ正規分布をとると仮定される。制御モデルにおいてノイズベクトルが用いられているので、状態推定のルーチンにおいて仮定が可能である。シミュレーションにおいては、ノイズの項に加えて、その他の外乱がモデルに加えられる。これらの他の外乱は、状態を直接変更することで、コントローラ130が予測できないような方法で、システムに影響を与える。
状態遷移行列は大きさがm+n+1の正方行列であって、次のように与えられる。
【数83】
上の式は、すべてのツールおよび製品のパラメータが名目的には静的であることを示している。プロセスの入力はxadjのみに影響を与えるものと仮定され、よって、実効をもつm+n+1と1の大きさは、
【数84】
プロセスに対する完全な出力行列(mn+mとm+n+1の大きさ)は次のように与えられる。
【数85】
となって、可観測なシステムになる。各シミュレーションの実行において、出力行列の一つの行のみがアクティブである。出力行列の簡約した部分をCeffで示す。
この説明におけるシミュレーションでは、3つの主なコンポーネントを採用し、ある方向にのみ通信するように制約を受けている。第1のコンポーネントはシミュレーションドライバ136であって、「現実の」パラメータの値を保持し、制御動作(control move)に基づいた「測定値」を計算する責任を負う。シミュレーションドライバ136は図2に示されているが、現実の実施形態においては通常使用されない。それは、以下の説明の理解を助けるために描かれているのにすぎない。制御則コンポーネント132は、シミュレーションドライバ136から提供されたツールおよび製品IDに基づいて、各runについて使用される設定を計算する責任を負う。観測器コンポーネント134は、シミュレーションドライバによって計算された測定情報に基づいて状態推定を更新する責任を負う。この柔軟性によって、このプラントに対して、コントローラ130自身が使用しているのとは異なるモデルを使用することができるが、説明を簡単にするため、この能力はこれらの最初のシミュレーションでは使用しない。
【0067】
これらの最初の試験では、10個のツールと10個の異なった製品を持つプラントを用いる。それぞれのツールおよび製品には、一意のバイアス(bias)が割り当てられる。従って、このモデルには20のバイアス状態がある。各バイアスには、ノイズおよびドリフトを含む、それ自身の外乱特性が割り当てられる。各状態におけるノイズは、異なった状態値の間の平均的な差よりも、おおざっぱに言って一桁小さい。同様の大きさのノイズが得られた各測定値にも付加される。状態推定を強調するために名目的な定常過程を選択する。状態が通常動かないので、外乱の影響を視覚化するのが容易である。
【0068】
最初に、プロセス信号のデータセットが、runに対する製品およびツールを無作為に選択することで生成される。ここで、すべてのツールおよび製品は同じ確率を持つこととする。このデータセットは、各runについてのツールID、製品IDおよび実際の状態の履歴として記録される。このシミュレーションの各runに対して、シミュレーションドライバは、製品およびツールID、目標値、特定のrunに対する一意のIDを制御則コンポーネント132に送る。制御則コンポーネント132は、選択されたプロセスの入力を返し、各runについてのその特定の情報の集合を保持する責任を負う。次に、シミュレーションドライバ136が与えられた入力および実際の状態に基づいてプロセスの出力を計算する。次に、この出力が、そのrunについての一意のIDとともに、コントローラ130の観測器コンポーネント134に渡される。観測器コンポーネント134は、供給された出力データに基づいて、コントローラ130に対する状態推定を更新する。
【0069】
ここでの議論の焦点は、状態推定にあるので、実施にあたっては非常に単純な制御則が制御則コンポーネント132によって選択される。制御則コンポーネント132は、現在のツールおよび製品のバイアスに対する状態推定値を使用し、目標とする出力を生成する入力をプラントインバージョン(plant inversion)を用いて解く。もちろん、現実の実施においては、様々な異なった制御則を使用することができる。この制御則を用いることにより、目標値からの出力の偏差は用いられた状態推定の誤差を示す。
【0070】
観測器コンポーネント134の設計には、調整に使用できる多くの調整可能なパラメータが含まれる。上述したように、これらのパラメータは、分析中のシステムの仮定されたノイズ特性に関係する。これらのシミュレーションでは、多くの仮定が行われる。第1に、すべての測定値は同様に確からしいと仮定され、よってReff行列に含まれる分散の推定は常に同じである。現実の製造工場においては、測定ツールからのメインテナンス情報およびある特定の製品に関する情報は、異なった値をもたらす可能性がある。他の仮定は、プロセスノイズに関するものである。プロセスモデル内のノイズの項は、シミュレーションを通して一定である。GおよびQ行列は、異なった状態に影響を与えるノイズは互いに関係せず、そしてツール状態は製品状態よりもノイズが多くなるように、設定される。繰り返しになるが、実際の応用では、これらの値を決定するにはオフラインの分析を用いなければならない。このモデルに従うと、ノイズはすべての状態に影響を与える。それは、現在のrunにおいて使われていない(アクティブでない)ツールや製品に対応するものにさえ及ぶ。
【0071】
これらのノイズ推定はモデルの一部であって、シミュレーションが実行されるときにシミュレーションに入力される実際のノイズとは関係がない。異なった結果を達成するために、推定値を操作することもできる。例えば、観測器があまりにも緩慢であるときには、プロセスノイズの項を高めに設定することができる。このときパラメータはより大きな不確定性を持つことになるので、観測器コンポーネント134は、状態推定値に対してより大きな調整を行う。
コントローラ130に対する最初の試験(テスト)は、システムの状態についての情報がなにもないところから出発し、システムを制御可能な状態に持っていけることを確認する。現実の状態は、ノイズおよびわずかな量のドリフトを含む。図4は、コントローラ130が、10個のツールと10種の製品を持つプロセスに配置されたときの出力をプロットしたものである。コントローラ130は状態の値についてなんら事前の情報をもっておらず、それらを素早く学習して、プロセスを制御下に持っていくことができる。
【0072】
コントローラは、すべての状態推定がゼロになるように、初期化される。最初の共分散行列も設定される。ここで、各状態についての初期の不確定性を表すように選択された値を持つ、対角行列を出発点として用いる。製品ごとの差は、ツールの差よりも大きなものでありうるので、製品状態についての初期分散は、ツール状態のそれよりも高めに設定される。
【0073】
図4に示されるように、コントローラ130は25runの後、偏差(error)のほとんどを打ち消し、その後は、定常動作状態で動いている。出力における定常ノイズレベルは、シミュレーションドライバ136によってプロセス状態に入力されるノイズの大きさにおおよそ等しい。コントローラ130は、未知量20の状態から出発して、おおよそそれと同数のrunの後、それらすべてをまあまあよく決定している。
【0074】
コントローラ130がこの仕事を達成できることを示すことができるというのは重要であるが、それが現実の製造環境においても実現できそうかというと、そうとは限らない。コントローラ130の状態についての合理的な初期の推測値を決定するのに、オフライン分析を用いることができる。もしプロセスが、コントローラ130が配備されるまえに、このツールと製品の組み合わせで動いていたとすると、コントローラ130の観測器コンポーネント134も、コントローラ130を動かす前に、製造データに基づいて実行を行って正しい状態推定を確立することができる。
【0075】
時間の経過とともに、新しい製品がゆっくりと導入され、現在の製品は徐々に消えていくのはよく起こることである。この例では、以前のケースと同様に、全部で10個のツールと10種の製品があるが、シミュレーションのルールは異なっている。10個のツールすべてが開始時において利用可能であるが、製品は時間を追ってゆっくりと追加される。最初は、1種の製品のみが存在するが、100runごとに新しい製品が一つ、構成に加えられる。コントローラ130の応答を図5に示す。この図は、ツールと製品との組み合わせの実効バイアスを、10個のツールについての10種の製品にまで増やした場合のプロットである。各runについて、実行される製品および使用するツールが、利用可能なセットのなかから無作為に選択される。図5のプロットは、入力uをゼロに保ったときの出力yを図示することで得られる。
【0076】
新しい製品は、それが最初に追加されたときは外乱のようにみえるが、コントローラ130は外乱に素早く対処する。実際の製造環境においてなんらの準備もなしに、すべてのバッチがまったく新しい製品の製造に投じられることは考えにくい。新しい製品が導入されるときは、多くの場合、コントローラ130に適切な情報を与えるために、バッチの一部において実行される。その他の場合は、技術者が、新しい状態についての合理的な初期推測値を効果的に選択するための十分な知識を有している。
【0077】
新しい製品が導入されるときは、直感的に、高い確率で最初の状態推定に誤差があることが理解できる。この理由から、もしコントローラ130が現実に目標値を達成しなかったときは、新しい製品についての状態を調整しなければならない。制御アルゴリズムにおいて、新しい状態についての初期分散推定を特定することでこれを達成できる。新しい状態が追加されると、初期状態推定を持つ新しい要素が状態ベクトルに挿入され、誤差共分散行列に新しい行および列が追加される。これらのシミュレーションにおいて、この共分散行列の新しい行および列は、対角要素を除き、すべて0である。この要素は、その状態に対する初期分散推定値に設定される。この初期推定値に高い値を設定することは、新しい状態が使われる最初のrunから、新しいrunがより多くの誤差を取り込むことを意味する。
【0078】
続いて試験ケースは安定したシステムから開始され、コントローラ130が正しい状態値の近くから始動すると仮定する。このようにして、観測器コンポーネント134が初期状態推定学習を毎回再実行する必要なしに、個々の外乱を注入し、分析することができる。このセクションでは、一連の標準的な外乱が生成され、コントローラ130に対するプロセス信号として用いられている。それぞれのケースにおいて、システムは安定した動作点から出発し、コントローラ130は現在状態推定(current state estimate)を持つ。コントローラ130の、ステップ外乱、ランプ(ramp)外乱および目標値変更に応答する能力が最初に試験される。次に、より難しい問題、例えば測定遅れおよび測定の欠落について、より現実的な状況に直面したときのコントローラ130のロバストネス(robustness)を見るために説明する。
【0079】
ここで検討している外乱は、繰り返し可能で、系統だった影響を内包していることに注意する必要がある。一般的には、ノイズとして現れる、乱雑で予測不可能な高周波成分もあるが、これらは選択されたプロセスモデルの要素には取り込まれない。観測器コンポーネント134は、選択されたモデル形態の範囲中の変動のみを検出でき、コントローラ130のゴールはそれらを排除することである。
【0080】
ツールの性能に明らかに、そして直ちに変動をもたらしうるイベントは数多くある。ステップ外乱は、フィルタおよびコントローラを試験するのに使われる一般的な信号である。数学的にはステップ外乱はステップ関数として表される。
【数86】
【数87】
シミュレーションドライバ136は、100runの後、ツール状態の一つにステップ外乱を加え、コントローラが予期しない外乱を正しく排除できるようにする。このシステムのような複数のプロセス実行設定では、ステップ外乱は伝統的なシステムのようには単純ではない。単純なシステムでは、ステップ外乱はそれが現れたときから補正が行われるまでずっと可視的である。しかしながら、ここで検討中のシステムでは、コントローラ130は、すべての時間ステップで、異なった状態の組み合わせを観測しているのである。この外乱は、摂動を受けた(perturbed)状態が用いられるときにしか可視的でないので、ときどきにしか現れない。
図6に示されているように、コントローラはステップ外乱を100runで補償することができる。1つより大きな「スパイク」がグラフにあるが、これはコントローラ130が、外乱が製品状態にあるのか、またはツール状態にあるのかを決定しなければならず、そして疑わしいツールまたは製品が再度使用されるまでにいくつかのrunが経過するからである。コントローラがあるrunについての結果を不正確に予測したとき、どちらの状態推定に誤りがあったのかはすぐにははっきりしない。上述のように、観測器コンポーネント134は、パラメータの不確定性についての現在の推定値を、その誤差をパラメータに割り当てるために用いる。直感的に、誤りのある状態を分離するために、ツール状態または製品状態を共有する、後続のrunを用いる必要がある。後続のrunのそれぞれは、外乱をより小さな程度に示す。
【0081】
カルマン推定手法に存在する誤差共分散行列は、状態が互いにどのように関係しているかの情報を含む。このケースでは、ステップ外乱が最初に現れたとき、観測器コンポーネント134は、使用されたツール状態または製品状態のどちらに誤りがあったのかを知らない。しかしながら、それは誤差を、それらの相対的な不確定性に応じて2つの状態の間で分配する。これは、外乱が単一の状態に対してのみであったときには、一つの状態推定が部分的に誤って動くことを意味する。しかしながら、関連する2つの状態に関係する誤差共分散行列のなかのクロス(cross)項もまた調整される。この調整は本質的に観測器コンポーネント134に、適切な情報が利用可能になれば不正確に移動された状態推定を修復するために使用することができる、情報を与えるものである。
【0082】
情報の埋め戻し(backfilling)は、観測器コンポーネント134の便利な特性である。上述したように、複数プロセス環境に対する共通の状態およびパラメータ推定の手法は、データの分割にその基礎を置いている。分割されたデータの特徴は、一つの測定はそれ自身と同等なもの(peer)にしか影響を与えないということである。例えば、一つのパラメータの新しい測定値からの情報は、異なったパラメータにおいて観測(observed)された信号を確認したり、または排除するためには使用できないということである。しかしながら、この組み合わされた推定手法は、このようにデータを共有できる。これは、適切な状態推定を達成するのにより少ない測定値で済むということを意味する。
この手法の有用性についての別の例は、認定(qualification)データの用い方にある。実際のプラントにおける多くの認定イベント(事象)がツールのメインテナンスまたはその他の個別イベントの後で実行されるのに対し、認定イベントを状態推定に役立てることが可能である。大きな外乱が検出されたとき、観測器コンポーネント134は実際に誤差を異なった状態の間で割り当てなければならない。しかしながら、影響を受けたツールにおいて認定試験をすぐさま実行することで、コントローラ130への外乱の影響を最小限にするのに役立つ。認定イベントは、あるパラメータプロセスツールに関する状態の直接的な観測のことである。直感的に、これによって、観測(observed)された誤差がツールに起因する問題なのか、製品に起因する問題なのかが明らかになる。共分散行列は、ツール状態が観測された後、どのような調整が行われたのかを記憶しているので、影響を受けた状態の両方が正しい値に動かされる。
【0083】
図7に示されるシミュレーションは、図6のそれと同じものであるが、このケースでは外乱が検出されたすぐ後にツールの認定が強制されている点が異なる。このケースでは、外乱はずっと早く排除される。
プロセスにランプ、連続するドリフトなどが現れる多くの状況もまた存在する。このシミュレーションでは、ツールの一つが、run100と400の間でランプしている(ramping)。コントローラ130にとって、このタイプの外乱は、状態推定が継続的に更新されたとしても、目標値からの持続性の偏差として見える。これまでのすべてのシミュレーションにおいて少量のドリフトが存在したが、しかしこのケースでは、ドリフトの大きさがずっと大きい。
【0084】
図8に示すように、コントローラ130はこの外乱をある程度まで補償することができる。一般的に、これは除去するのが難しい外乱であり、ドリフトの期間中、コントローラの性能全体が落ちる。コントローラは、状態行列を拡大してランプ外乱がモデルに含まれるようにすることで、この種類の外乱を除去するように特別に調整することができる。しかし、これはその他の種類の外乱に対する性能との間で、トレードオフの関係を生じさせる。この特定のコントローラは、ステップ外乱への対処によりずっと適している。このシミュレーションのこの規模のランプ外乱は通常、ツールの大きな問題を示しており、シャットダウンにつながる可能性が高い。
【0085】
実際の製造環境では、製品の次のバッチをrunさせる前に、測定結果を待つことがいつも可能なわけではない。ウェハを個別に取り出さなくてはならないので測定にはかなりの時間がかかり、通常それぞれのウェハ上のいくつかの位置が測定されることになっている。プロセス(加工)ツールを常に稼動させておくことが重要なので、各バッチが終了した後できるだけ早く、それらを進行させて再稼動させなければならない。従って、測定はプロセス実行のステップからいくつかのrun分遅れうる。これは、時間遅れプロセスの単純な例ではない。なぜなら、遅れは一定ではないからである。測定値は、測定が終わるとやってくる。そして、コントローラはそれらをできるだけ早く考慮にいれる必要がある。
この一連の試験において、前の試験から得られたプロセスのデータセットが再度用いられる。しかし、測定値は、観測器コンポーネント134にすぐには送られない。代わりに、測定値は常にプロセスの実行から決まった数のrunだけ遅れる。図9に示されたシミュレーションは測定値に10runの遅れを持ち、図10に示すシミュレーションは30runの遅れを持つ。
【0086】
これらの試験では、それでもコントローラ130はステップ外乱を除去することができるが、応答は遅れる。その理由は、測定値が到着するまで誤差は見えないからである。測定の遅れがないケースと比較して、それらの目標値を外すrunがより多くなる。そして、より多くの遅れを伴う試験は、外乱の後、安定するまでにより長い時間がかかる。伝統的な単一入力/単一出力のプロセスのように、測定の遅れがあまりにも大きい場合、コントローラ130は無力になってしまう。
すべてのプロセス実行ステップで、すべてのバッチについて、制御に重要な特性を測定するのは常に可能なわけではない。これは数々の要因の結果である。第1に、特定のプロセス実行後、あるバッチのウェハを測定することは、それらのウェハがプラントの中にある時間を増やすことになる。正確な特徴づけに対する必要性は、ライン上に材料をできるだけ速く流す必要性とバランスを取らなければならない。代表的なサンプルを作るのに必要なだけの材料のみが測定される。また、与えられた時間の間に、どのくらいの回数観測をしなければならないかによって、プラントに備え付けなければいけない測定ツールの数が決定される。そのようなツールは通常とても高価なので、これもまた制約条件となる。
【0087】
従って、コントローラ130が設定を計算しなければならないが、測定システムからフィードバックを決して受け取ることがないrunもありうる。シミュレーションの環境では、この状況の影響は測定可能である。なぜならば、シミュレーションドライバ136が、欠落している測定値がなんであったのかを常に決定して、それらをコントローラ出力のチャートに加えることができるからである。これらのシミュレーションでは上述のステップ外乱のケースが用いられているが、コントローラ130は測定値の3分の1しか受け取っていない。
【0088】
図11は出力がコントローラ130にはどのように見えるかを示したものであり、一方、図12は現実の出力を示している。これには、コントローラ130が見ることができなかったバッチも含まれている。コントローラ130が見ることができる測定値は、図6に示された完全な測定値のケースに、まあまあよく匹敵している。しかしながら、ステップ外乱の時間の周辺で測定されていないバッチの多くは目標から外れている。グラフに3つのスパイクがあるという事実は偶然であり、3回の測定ごとにその1つの値が使われているという事実とは関係がない。この特定のケースにおいて、外乱による影響を受けた3番目のrunが初めて測定されたものである。図13は、図11および12のシナリオと同じケースを示しているが、異なった測定値は除かれている(つまり、測定値の異なる3分の1はコントローラ130によって受信されていない)。図13に示されるように、異なる測定値が除かれると、コントローラ130の総合的な性能が変化する。
【0089】
プロセスの条件に応じて、異なった変数が観測し易かったり、しにくかったりする。続くセクションでは、より簡単なものに対して、同様の設定で、しかし異なったプロセスのルールおよび条件で、一連の試験が実行される。これらの試験のシナリオでは、現実的な制約をプロセスの動作に取り込もうとしている。検討されている変数はプラントの大きさ、製品の優先順位付け、ビジネス上の実施規則を含む。
実際の製造工場は多くのツールおよび製品を有している。20個のツールおよび50種の製品といった範囲の値が、あるプロセス領域については合理的な値である。各プロセス領域は、それらのプロセスの流れのなかの数多くの異なったポイントで複数のバッチを含んでいるので、製品の数は非常に多くなりうる。与えられたある製品上に形成されている各レイヤーは、状態推定のアルゴリズムに関していえば、まるで異なった製品であるかのように振る舞うことがある。ここでのシミュレーションrunは10個のツールと50種の製品を含む。この大きなシステムにおけるステップ外乱に対するコントローラ120の応答は図14にプロットされている。
【0090】
図14のプロットは図6に示された10×10のシステムについてのプロットに非常によく似ている。コントローラ130は、原因(offending)状態を素早く特定して、外乱を除去することができる。この結果は重要である。なぜならば、それは状態推定のルーチンがずっと大きなシステムにまで拡張することができる能力を持つことを示しているからである。
多数の製品およびツールに関する問題に対処する一つの技術は、切り替えの前に、特定のツールについて特定の製品をできるだけ長く実行しつづけることである。この技術は一般にツールデディケーション(dedication,専念)と呼ばれ、非常に広範に用いられている。製品よりもツールの数が多いような状況では、それによって、制御の問題を、大きな多変量の問題から複数の簡単な単一変量の問題へと減少させる。各ツール−製品の組み合わせについて、組み合わせの状態のみを追跡する必要があり、コンテキストの間で情報は共有されない。通常は、ツールの数よりも製品の数の方が多い。よってツールは、切り替えと切り替えの間、ある特定の製品について長いrunに捧げられる。
しかしながら、ツールデディケーションはトレードオフの関係を含んでいる。ツールデディケーションの手法は、与えられたあるバッチがrunすることを許される潜在的なツールを制限してしまうことにより、柔軟性を減少させる。ある特定の製品のスループットが問題となったとき、ツールデディケーションは受け入れがたい遅れを生じさせる可能性がある。また、例え一時的にでも、あるツールを停止しなければならないときに問題が発生する。その特定のツールにおいて処理されている製品は他のツールに移さなければならない。そして、新しい組み合わせについての適切なプロセス実行設定を見つけるために実験を行う必要がある。
【0091】
ここで説明したパラメータ推定の手法は、ツールデディケーションによって影響を受ける。なぜならば、ツールデディケーションによってツールと製品の状態のある組み合わせがその他のものよりも、ずっとよく用いられるようになるからでる。直感的に、もし与えられたある製品が同じツールにおいて常に処理されていたとすると、そのツールおよび製品に対する複数の状態推定中の誤差と誤差とを区別するのはより困難になる。次に説明する2つのシミュレーションは、上で使用された10個のツールおよび50種の製品のステップ変化のデータセットを用いているが、デディケーションを実行する程度において違いがある。
【0092】
図15は、10個のツールと50種の製品のプロセスについてのコントローラ130が、run100で、予期しないステップ外乱に応答したときの反応を示したものである。このシミュレーションにおいて、ツールデディケーションの短い連続したrunが、その時間の25%だけ異なったツールに切り替えることによって、促進される。図16は、長い期間のツールデディケーションが促進されるケースを示す(つまり、その時間の10%のみが切り替え)。
【0093】
図15および図16のシミュレーションの結果は制御出力に数多くのスパイクを示している。デディケーションを長いrun実行した場合のスパイクは、よりずっと劇的である。スパイクのそれぞれは、異なったツール/製品の組み合わせへの切り替えによって生じる。それに対して、ステップ外乱は、これまでのケースよりもずっと素早く除去される。言及すべき他の有益なことは、スパイクとスパイクの間のノイズレベルがこれまでのシミュレーションよりも小さいことである。理想的には、コントローラ130はこの減少したノイズレベルを常に実現するが、これは不可避なトレードオフの一部である。以下にさらに詳細に説明するが、これらの試験において定義されたシステムは、デディケーションが有効になっているときは不可観測(unobservable)である。デディケーションのrunの間、測定値はツール状態と製品状態の組み合わせとして取得される。コントローラ130は、出力誤差が検出されたときは常に、どちらか一つまたは両方を調整しなければならない。そして、本当はどちらに誤りがあったのかを決定する方法はない。切り替えの時間になると、高い確率で少なくとも一つの状態推定が大きな誤差を持つ。従って、ツールデディケーションは、必然的な切り替えが発生するときに不確定性が大きくなることと引き換えに、短期間のゲインを得るというトレードオフである。
【0094】
次のシナリオは、ある特定の製品がその他の製品よりもずっと頻繁に現れるという、典型的な製造のケースである。このシナリオの目的は、主要な製品の長いrunの間でも、あまり重要でない(マイナーな)製品が「忘れられて」いないことを示すことである。さらに、マイナーな製品から元に切り替えたときに、主要な製品に支障が生じるようではいけない。この10個のツールと10種の製品のシミュレーションにおいて、過半数のrunがある一つの製品についてのものである。他の9種の製品は、残りのrunにおいて均等に分配される。これまでのシミュレーションにあったように、ステップ外乱がツールの一つにrun100で影響を与える。図17に示すように、コントローラ130はこのシナリオに効率的に対処する。
【0095】
ロバストネス(堅牢性)と安定性の観点からすると、考慮しなければならない2つの重要な考え方がある。伝統的には、その考え方は、制御動作および状態更新は、それらがノイズや古い測定値にプロセスを不安定にするようなやり方で応答するようにならないように、あまり積極的でないことを確認するというものである。この分析は、選択された特定の制御則およびそのモデルが実際のプロセスをいかによく表現しているかに強く依存する。製造用のアプリケーションは非常に積極的な制御則を必要とするので、以下の議論では、状態推定それ自身の安定性およびそれがいかによく現実の状態を追跡するかについて焦点をあてる。
【0096】
同じ測定値が各時間ステップにおいて得られる、伝統的な時間不変(time-invariant)の可観測プロセスでは、カルマン推定手法において使用される誤差共分散行列は最終的には安定状態に到達する。この安定状態において、プロセスに内在するノイズに起因する不確定性の増大は、測定値に起因する不確定性の減少に正確に釣り合う。プロセスの不確定性のモデルがかなり正確であるかぎり、共分散行列の対角項は、それぞれの状態推定の不確定性について安定した状態値を提供する。これは、予期しないプロセスの外乱の例外とともに、制御プロセス出力の不確定性が同様に知られていることを意味する。ここで重要なのは適切なプロセスの特徴づけである。なぜならば、これらの結果は、内在的なプロセスノイズがよく理解されたときにのみ意味があるからである。
【0097】
カルマン状態推定器(Kalman state estimator)が、出力行列が変化するようなプロセスに用いられたとき、誤差共分散行列は安定状態に到達しない。出力行列が変化するたびに、異なった状態推定値の間の相対的な不確定性が変化する。安定状態を達成できないとしても、パラメータ推定についての不確定性の境界を示すことができることが重要である。これは、制御プロセス出力についての不確定性について同様に境界を示すことを可能にする。明らかに、パラメータ推定値の不確定性が許容可能なレベルにとどまることを保証するためには十分な測定値を得なければならない。次に、この不確定性が、異なったタイプのプロセス実行条件および測定値によって変化するかについて詳しく説明する。
【0098】
適応制御方法におけるシステムパラメータ推定の部分は、閉ループ(closed loop)システム同定手法から構成されている。閉ループのシステム同定は困難である可能性がある。なぜならば、コントローラ130がプロセスの外見上の入力−出力の挙動を大きく変更できるからである。コントローラ130がよく機能しているとき、プロセスは目標値の付近で非常に小さな変動をもって動いている。このケースでは、システムの動力学(dynamics,ダイナミクス)は観測困難である。
閉ループシステム同定において用いられる典型的なアプローチは、持続性の励起制限(persistent excitation constraint)である。これの一般的な考え方は、選択されたモデル形態において、すべてのモードを励起するのに十分なほどプロセスの条件が変化するようにする、ことにある。コントローラ130がなんらの外乱もなしに目標値においてプロセスを実行しているとき、プロセスの状態にはほんのわずかな動きしかない。そして、システムの動力学は観測するのが困難(または、ある場合には不可能)である。
【0099】
持続性の励起では、操作される変数に対して小さな摂動を注入して、プロセスの目標値周囲の小さな揺らぎと引き換えに、動力学(ダイナミクス)が見えるようにする。計画的な実験として、同様なやり方で、プロセスの入力を見ることも可能である。モデルパラメータを推定するために実験を設定するとき、モデル形態のすべての可能なモードを調査しようとする入力ポイントが選択される。もしこのプロセスが、かつてこの実験における入力値と似た入力値で実行されたことがあるとすれば、それはモデルパラメータの可能な限りよい推定値になるということを証明できるべきである。
標準的な持続的励起技術を、バッチプロセス実行環境が普及しているプロセスシステムおよびモデルの多くに適用するのは単純ではない。多くの場合、推定されるべき状態変数が一般に選択される入力変数に直接的な影響を受けない。典型的な例は、推定されるべき状態が速度であって、プロセス実行の時間が操作される、時限プロセス(timed process)である。反応炉の付着物または消耗品の劣化によって、選択されたプロセス実行時間は実際に、将来のrunについての処理速度に影響を及ぼしうる。しかしながら、この時間は、この速度の違いが顕著になるにつれ、標準的な動作範囲からかなり外れたところに調整されなければならない。
【0100】
標準的な持続的励起技術が使用できるプロセスも存在する。しかしながら、多くのプロセスでは、いくらか異なったアプローチを取らなければならない。その目標値に近づいているすべてのバッチには高い重要度が置かれるので、ほとんどの時間、その目標に影響を与えないで実行させながら、プロセスを励起させる時間を選択するための技術を探す必要がある。
製造の環境において得られるデータのすべてが同じではないということを認識することが重要である。データの品質は何が測定されたのか、そしてそのデータが得られた条件に依存しているので、あるデータはより有益である。データの情報内容は、そのデータから観測器がなにを知ろうとしているのかに依存する。例えば、与えられたある圧力において温度を繰り返し測定すると明確に温度がわかる。しかし、それらは、異なった圧力で温度がどうなるかについての洞察は与えてくれない。
【0101】
選択されたモデル形態に基づいて、異なった入力信号が異なったモードおよび周波数レンジを強調することができる。次のセクションで説明するように、プロセスをうまく制御するためには正しいときに正しい情報を得る必要がある。検討中のプロセスを理解することでしか、必要な情報の正確な理解には到達できない。
可観測性の条件についての標準試験を用いて、センサの配置についての異なった方針を、それらがもたらすことのできる情報の観点から、比較することができる。システムが可観測であるときでも、どのパラメータが予測可能であるかについては、その容易性の程度は変化する。可観測性(observability)行列の条件数(condition number)は、これらの効果に対する洞察を与えてくれる。ここで可観測性についての技術を用いて、異なった動作条件下における推定能力を比較することができる。
単純な例では、プロセス制御に関連して閉ループ同定が実施されるときのよい情報の重要性を示す。入力が加えられない限り、出力が一定である単純なプロセスを考える。目的は目標値の変化に素早く応答することである。しかし、入力におけるゲインは、予測不可能な方法で変動する。
以下の方程式がプロセスを表す。
【数88】
ここでbkは未知のゲイン(時間kにおいて有効)、ukは印加された入力である。
Bは未知のパラメータなので、推定の目的のためには、それを追加状態として加える必要がある。現在の動作点のまわりでシステムを線形化することによって、標準的なカルマン推定の手法を用いることができる。
これは、つぎのような方程式が示すように実現される。
【数89】
【数90】
ここで、δf/δxk=1,δf/δbk=ukおよびδf/δuk=bkである。
このシステムについて、可観測性の試験行列は、次のように与えられる。
【数91】
【0102】
従って、このシステムはukが0でないときにだけ可観測である。安定状態動作点が0においてuを持つことから、これは重要である。不知のパラメータbは、uが0でないときにのみ特定できる。それは、つまりコントローラに対する持続的な励起制限によって実現できるものである。この単純な例は、いかに持続的な励起条件が可観測性の条件に関係しうるかを示すものである。
一般に、状態推定器を不可観測のポイントで動作させると予測不可能な結果をもたらす。しかしながら、外乱が存在する場合には、フィードバック制御を実行する必要がある。カルマン推定手法は、推定値をゆっくりと動かすようにする。なぜならば、推定値は、測定値を説明するのに必要な分だけ動かされるからである。
【0103】
以下の説明において、上述のプロセスは、異なった励起条件とともに実行される。第1のものは、励起を持たない。第2のrunは持続的励起制限が導入されている。第3のrunは時間的にわずかな部分だけ励起を実行している。すべてのケースにおいて、制御則コンポーネント132によってプラントインバージョン(plant inversion)が用いられる。そして、カルマン状態推定器が観測器コンポーネント134として用いられる。シミュレーションの過程において、ゲインbの真の値が図18に示されるようにある傾斜で上昇する(ramping)。制御則としてプラントインバージョンが用いられているので、状態推定における誤差は直ちに制御出力における誤差として現れる。
【0104】
図19に示すように、第1のシミュレーションにおいて、入力は目標値が変化するまで印加されない。ゲインが変化しているので、新しい目標値が実施された第1の時間ステップにおいて、目標値からの大きな偏差が生じている。シミュレーションのほとんどの間、未知のゲインを観測する方法がないために、コントローラ130は情報不足の状態にある。
図20に示す、第2のシミュレーションにおいて、持続的励起制限が加えられる。ここで、ゲインを推定することができるように、入力値は各時間ステップにおいて十分に変化する。目標値が変化したとき、コントローラ130は、従来のケースよりも小さな誤差で切り替えを行う。しかしながら、シミュレーション全体を通じて、ゲインを明らかにするために摂動が導入されている。
【0105】
可観測性の試験のために、可観測性試験行列の階数(rank)が一般に使用される。この行列が最大階数を持つと、条件数は有界である。第1のシミュレーションにおいて、行列の階数不足になるため、可観測性試験行列の条件数は無限大になる。これに対して、持続性励起の下では、条件数は合理的な限界の範囲にほぼ維持される。図21は、第2のシミュレーションについての可観測性試験行列の条件数を追跡したものである。その他の有用な情報は、状態推定ルーチンで使用される誤差共分散行列のトレース(対角要素の合計)である。トレースは、共分散行列における明らかな不確定性の全体的な程度を与える。図22および23はそれぞれ、第1および第2のシミュレーションについてのこの値を示したものである。
【0106】
図24に示す、第3のシミュレーションにおいては、目標値の変更がいつ起こるのかが前もって分かっていると仮定している。このケースでは、ゲインに関する情報が必要になるまで、プロセスをかき乱す(perturb)必要はない。ここでは、目標値の変更が直前に迫るまで、すべてがスムースに動く。目標値の変更が実際に正しく起こる。そして、プロセスは、情報が必要になるまでは乱されない。
パラメータについて学習を行うためにプロセスが励起されるケースは、純粋平均平方誤差目標(pure mean squared error objective)を使用したコントローラが取得しようとするものとは矛盾する。半導体の製造においては、異なった種類の評価関数が問題に結びつく。一般的に、製造されるデバイスは、インラインの目標値のほとんどに対して許容差を持つ。測定値が合理的に目標値に近い限り、デバイスは正しく機能する。許容差の領域内では、デバイスの最終的な出力特性には顕著な差はほとんどない。しかしながら、そこには非常に険しい傾斜があって、それを過ぎるとデバイスは単純に動作しなくなる。これの一つの例は、電気的コンタクトを作るためのプロセス層どうしのアライメントである。許容差領域にあるすべてのデータポイントをよいものとして扱い、外側にあるすべてのポイントを悪いものとして扱うことにより、この振る舞いを真似る評価関数を設けることは可能である。この種の評価基準は、持続的励起を含む観測手法に非常によくマッチする。なぜならば、励起は、許容差の領域内に安全に留まりながら、学習を促すことができるからである。
【0107】
データポイントの数はコントローラ130の有効性を決定する際に問題となる唯一の事項ではない。これまでのシミュレーションのそれぞれは、同じ出力変数の同じ数の測定値を有していた。データの順番および実際の値が情報の内容に影響を与える。データを取得したときの条件もまた重要である。
いつでも完全な情報を持ちつづける必要はない。第2のシミュレーションにおいては、プロセスゲインの正しい値が常にわかっていた。しかしながら、第3のシミュレーションでは、あるときどきにだけわかるゲインをもって、ちょうどよくプロセスを制御することができた。
【0108】
実際のプロセスでは、実際にそれが起こる前に、しばしば次に来る目標値の変更を知ることができる。しかしながら、プロセスもまた不知の外乱の対象である。これらの両方のケースにおいて、プロセスを目標値に素早く駆動するために、十分な情報を持つことが重要である。したがって、明らかに、プロセスについて知るためにそこにあるすべてのことを学習することと、摂動(perturbations)なしにそれを実行させることとの間には均衡がある。
上述の例では、誤差共分散行列のトレースと可観測性試験行列の条件数の両方が利用可能なプロセス情報の合計の指標として示されていた。これらの値は、コントローラ130がプロセスを可観測に保つために使用できる、励起制限を作るために用いることが可能である。
【0109】
次に、図31に、製造システムにおけるスケジューリング活動(scheduling activity)のための方法の簡略化された流れ図を示す。ブロック300には、製造システムに関連する複数の観測状態が定義されている。ブロック310では、この観測状態についての状態推定が生成される。ブロック320では、この状態推定に対する不確定性の値が生成される。ブロック330では、製造システムにおいて活動を実行するために候補となる複数のスケジュールが決定される。ブロック340では、候補となったスケジュールに基づいて、上記の不確定性の値に対する変更を予測する。ブロック350では、不確定性の値に対する予測された変更に基づいて、スケジュール候補のうちの一つが選択される。
【0110】
次に、上で決定された情報を用いた、製造システム10に対するスケジューリングの決定について焦点を当てて説明する。ディスクリート部品の製造においては、各バッチが目標値に合致していることが絶対に必要であり、プロセスへの意図的な摂動はしないほうがよい。さらに、あるrunに対するプロセス入力が続くどのrunにも影響しないとするプロセスモデルを仮定することが一般的である。従って、同定の問題を別のやり方で見るのが有益である。この技術では、非伝統的な操作変数が、標準的な持続的励起と似たようなやり方で、プロセスに影響を与えることが示される。
【0111】
正しい情報を正しい時に持つことを説明した前のセクションが重要である。どちらのケースもデータポイントの数は同じであったが、結果は大きく異なっていた。明らかに、これらの知見をより有用な状況に外挿するためには、正しいデータというのが何を意味するのかを定義できることが都合がよい。
このセクションでは、正しい情報を正しい時に持つという考えを定量化する方法を見つけることを目標とする。例えば、重要な製品についてプロセスを実行しようとする前に、すべての適切な情報が利用可能であるべきである、ということは直感的にわかる。しかしながら、この理論を首尾一貫して、そして客観的に適用するためには、それがどのように使われるべきなのかと同様に、どんな情報が重要なのかを知ることが参考になる。以下にさらに詳細に説明するように、行われるべき決定の観点から出力の予測値を簡潔に表す数学的な目的関数が生成される。異なった動作選択について適切に作成された目的関数の値を比較することで、上述の必要性を満足する解法に到達することができる。
カルマン推定手法を用いるときに利用可能な共分散行列が役立つ洞察を与えてくれる。この行列の対角要素がそれらに対応する状態推定の現在の不確定性の合計を測定する。この共分散の展開(evolution)は、プロセス実行(加工)の順番および選択された測定値によって完全に決定される。システムが次の時間ステップに進んだとき、状態の不確定性によって誤差共分散行列は方程式ごとに更新される。
【数92】
測定値を取得したとき(特定のCrおよびRrを用いる)、誤差共分散は次のように更新される。
【数93】
これらの方程式は、測定された、またはプロセスの現在の状態についての実際の数値には依存しない。これらは、単に、基礎となるシステムの構造に関するある仮定が与えられたときの異なった数量測定の影響を定義するものである。
共分散行列の項を追跡していくのは複雑な作業である。その理由は、異なった変数の間の関係について知られているすべてのことを考慮するからである。ある一つの変数の測定値をとりあげると、その他の関係する変数の将来の測定値がどのように将来取り扱われるかに影響する。
非常に単純なシステムの例でこの考え方を説明する。次の方程式で示される、2つの状態および2つの測定値を持つ形式上静的なプロセスを考える。
【数94】
【数95】
このシステムは、x1が測定可能なツール状態で、x2が直接利用できる測定値を持たない製品のパラメータであるような単純なプロセスを示していると考えることができる。とにかく、両方のパラメータをできるだけよく特定できることが重要であり、直接的な測定はそれらのうちの一つに対してだけ可能である。
【0112】
以下の一連のシミュレーションのそれぞれにおいて、y1とy2の等しい数の測定値が取得される。新しいシミュレーションのそれぞれで、測定の順番を変化させて誤差共分散におけるその効果を決定する。すでに説明したカルマンフィルタを基礎とした手法を状態推定器として用いる。ここで、すべてのノイズおよび分散推定値が一致しているところから始める。両方の状態についての分散項をそれぞれのケースについてプロットする。2つの測定値に対する実効測定マッピング行列(effective measurement mapping matrices)は次の方程式で示される。
【数96】
【数97】
【0113】
図25に示すように、第1のシミュレーションでは、y2についてのすべての測定が最初に実行される。なぜならば、測定は両方の状態によって影響を受け、状態の相対的な値に関する情報はない。両方の状態の不確かさ(不確定性)は、シミュレーションの前半を通して、着実に増加する。後半で、y1の測定値を取得する。これはx1の直接的な測定なので、その状態に関する不確定性は急速に落ちる。
しかしながら、x2に関する情報がなにもないので、その不確定性は急速に増大する。チャート上で不確定性の合計が最も低いポイントは、中間点の直後のrunであることに注目していただきたい。ここで、x1の真の値についての最初のちょっとした情報(a first bit of information)が提供される。そして、共分散はx1とx2とがどのように関係しているかについての情報をすでに含んでいる。
【0114】
図26に示す、第2のシミュレーションにおいて、すべてのy1の測定が最初に行われる。その結果は以前のケースに似ている。y1が測定されているとき、x1の推定値の不確定性は低いままであるが、x2の不確定性は急速に増加する。y2が測定されているとき、両方の推定値の不確定性が増加する。この場合もやはり、不確定性の合計が最も低いポイントは切り替えのところである。一つの測定値のみが取得されるときはいつでも、それを補う測定値が得られるまでは、全体としての不確定性は増加しつづける。
【0115】
図27に示す、第3のシミュレーションは、最初の2つのシミュレーションのいくつかの結果を利用している。ここで、測定はy1とy2とについて交互に行う。情報を常に共有することによって、両方のパラメータ推定についての不確定性を低く抑えることができる。このプロセスの状態遷移行列は恒等行列であるので、この単純なシステムについての可観測性試験行列は次のように与えられる。
【数98】
このシステムについては階数2が必要とされるが、この行列はその条件を満足する。しかしながら、もしどちらの測定値も利用可能でないときは、システムは可観測ではない。これは、複数の測定値のうちの一つだけが長い時間の間使われると、不確定性が増大するからである。表6は、分散の平均値の観点から結果を整理したものである。
【表6】
【0116】
典型的な製造工場では、より多くの製品が存在し、認定試験(qualification)のためのrunはずっと少ない。しかしながら、プロセス実行と測定の順番がパラメータ推定の品質に影響を与えるという考え方は変わらない。この試験が示しているのは、ある特定の種類のrunを長く引き伸ばしていると、すべてのプロセスパラメータを特定しようとしている推定器の全般的な効率を減少させるということである。複数の変動原因があるときに、一種類のrunのみを実行すると、推定手法が異なった誤差のソースを相互に識別できなくしてしまう。この一連の試験は、パラメータ推定の観点からは頻繁に製品およびツールを交換することはよいことである、という考え方の理論的な基礎を提供するものである。
【0117】
これまでのシミュレーションは、情報量を一組のデータに定量化することが可能であることを示唆している。得られた情報の品質は、データの量からは完全に切り離されたものであることは明らかである。情報の価値は、検討中のシステムの特性に強く依存する。外乱のない、完全に静的なシステムでは、新しい情報はあまり重要ではない。ひとたびシステムの特性が決定されると、どのような新しいデータも確認用として機能するにすぎない。しかしながら、潜在的な外乱を持つ動的なシステムでは、新鮮な情報が常に必要である。システムについてよく知れば知るほど、外乱をより容易に特定することができる。
【0118】
誤差分散行列は有用であり、追加の情報の必要性についての便利な指標である。最初にプロセスを適切に特徴付けることによって、システムのノイズ量の正確な推定がもたらされ、共分散行列の展開(evolution)はこれらの推定を取り入れる。共分散行列の展開(evolution)は、測定されたデータの値には依存しない。モデルに組み込まれるシステムノイズの特徴記述とともに、測定値の選択およびその順序が共分散行列に影響を与える。
【0119】
すべてのプロセス実行および測定イベントは、状態推定(シルコンフレックス)xおよび共分散行列Pxに、既知の方法で実際に影響を与える。Pxのトレース(対角要素の合計)は、状態推定値の不確定性の合計量の指標を提供する。これまでの平均平方推定のルーチンは、状態推定を変えることで誤差共分散行列のトレースを最小化しようとしていた。いまでは、それらがPxのトレースにどのように影響するかの観点から、プロセス実行の決定を見ることができる。
【0120】
次のセクションでは、いくつかのプロセス実行決定について、それらが情報の品質にどのように関係するかの観点から検討を行う。典型的なrun-to-runのプロセス設定に焦点をあわせるのではなく、その代わりに、レシピ設定値(recipe setpoint)のような全体的な傾向を見ていく。プロセス実行の順番およびツール選定の影響を、それらがシステムについて利用可能な情報に与える影響に関して、詳細に調査した。
簡単に言えば、半導体製造工場の最終的な目標は、作業中の製品を最小限のコストで、できるだけ早く得ることにある。数学的に表現できるいくつかの(矛盾する可能性のある)目標を特定することができる。いくつかの典型的な目標を要約すると次のようになる。
・スループットを最大化する(時間を最小化)
・原材料の使用を最小化する
・インライン(ライン内)の目標値からの平均二乗偏差を最小化する
・インライン目標値からのグロス(gross)の異常値(アウトライアー)の数を最小化する
【0121】
直感的に、これらの目標の間で、トレードオフがなされなければならないことは明らかである。極端な例を言えば、各ユニットの動作において、製品の材料の各バッチが処理される前に特別な実験を実行して、すべての重要なパラメータを知るようにすることもできる。逆に、何の実験も実行せず、なんらの測定も製品について行わなければ材料はドアからより早く出てくる。実際には、ビジネス上の要求が変化するにつれて、バランスも動く。理想的なコントロールシステムは、これらの変化する要求を非常に高いレベルで理解し、それに対応することができるものである。
【0122】
多くのプロセス実行上の決定が、状態推定アルゴリズムに利用可能な情報に影響を与える。ここでは、2,3の重要な決定について、それらが状態推定における補助となるようにいかに最適化できるかの詳細とともに説明する。一つの明白な決定は、どのバッチを測定するかである。多くのrun-to-run制御アプリケーションでは、すべてのバッチについて制御に重要なすべてのパラメータを測定することは現実的ではない。測定を実行すると、利用可能な製造時間を消費し、あるケースでは、追加的な材料(パイロットウェハのような)も同様に必要になる。これらの理由から、産業的な設定のrun-to-runコントローラは、数を減らしたプロセス測定のセットを有し、どれを機能させるかも設定されている。明らかに、プロセスに関するほとんどの情報を提供する測定値の集合を選択することが有利であり、全体的なコストを最小限にすることも適切である。
【0123】
典型的には、サンプリング計画を選定するには規則(ルール)ベースの方法が使用される。これらの方法では、一連の基準をチェックして、与えられたバッチを測定するかどうかを決定する。例えば、各メインテナンスイベントの後に、各ツールにおいて処理される最初のバッチを測定する、特定製品のすべてのバッチを測定する、これらの規則によってカバーされない3番目のバッチのすべてを測定する、ということを特定する。
【0124】
これらの計画は実施が容易であるが、これらが本当にプロセスに影響を与えているかどうかを理解することは難しい。ここで説明した方法は目的関数を基礎としている。ある計画と他の計画を比較して、どちらがよりよいかを決定するために用いられる目的関数が決定される。
【0125】
その他の重要な決定は、プロセス実行の順序それ自体である。不確定性を有し、外乱の対象となるプロセス実行の環境においては、プロセス実行(および測定)の順序を変更すると各バッチが処理されるときに利用可能な情報を変化させる。異なったプロセス実行ツールにrunのための材料を割り当てると、利用可能な情報に大きな影響を与える。この影響については、以下でさらに詳しく説明する。
これらのスケジューリングの決定は、それが状態誤差共分散行列に及ぼす影響の観点から分析することができる。しかしながら、その他の影響もあることに留意しておくことが有益である。プロセス実行の順序またはツールの割り当ての変更はスループットに影響を与える。従って、下流の影響(downstream consequence)も考慮することが有益である。ここで採用されている計画では、最初に、これらのプロセス決定のそれぞれを個別に分析する。次に、実用で現れる組み合わせに対処するより一般的な定式化を示す。
【0126】
あるプロセス実行計画(ツールの割り当ておよびプロセス実行の順序)が与えられたとき、測定値の合計数には制限がある。この制限を満たすかぎり、取得する特定の測定値は自由に選択することができる。処理エリアでは、プロセス中の材料またはプロセス前の材料のすべてが、測定可能なものの待ち行列(キュー)を構成している。この待ち行列が選択アルゴリズムの予測限界(prediction horizon)を定義し、長さnを持つと仮定される。
【0127】
バイナリ変数のベクトルuが定義される。各要素uiが、待ち行列の一つのバッチに対応する。このベクトルでは、1はそのバッチが測定されることを意味し、一方、0はそのバッチが測定されないことを意味する。あるベクトルuが選択されると、予測限界全体にわたって共分散行列を展開(evolve)するのにプロセスモデルを使用することができ、すべてのプロセス実行および選択された測定値が考慮される。
【0128】
特定の共分散行列Pに関して性能指標J(P)を定義する。指標の一例はPのトレースである。誤差共分散行列の対角要素の合計値は、特定の推定値の不確定性の合計のよい指標である。または、特定のパラメータに対応する値に対して、任意の重大性に大きく基づいて、より大きくまたはより小さく重み付けすることができる。
予測限界内のすべての時間ステップにおける、入力ベクトルuに基づいて計算された性能指標の値の合計をfn(u)で表す。この目標関数の値は、基本となるシステムモデルの構造およびノイズパラメータとして選択した値に依存する。また、最適化が行われた時点における共分散行列の現在値に応じて、異なった結果が得られる。異なった時間において、異なった測定値がより必要とされていることは直感的にわかる。
【0129】
ここで、適切な測定値を定義するために最適化の問題を定義することができる。特定の例において、測定を行うことを許された待ち行列のなかのバッチの数をcで表したとき、次の方程式がこの問題を数学的に定義する。
【数99】
【数100】
【数101】
【0130】
この最適化の問題を解くベクトルuは、測定値の最大値についての制限を満足しながら、パラメータ推定値の不確定性を最小化する。
あるプロセス実行およびサンプリング計画が与えられたとき、材料が処理される順序には一定の柔軟性がある。エリアの中には、処理を待つ材料の待ち行列があり、一定の制限を満たす限り、その待ち行列のなかからどのような順序においてもバッチを選択することができる。すでに示したように、誤差共分散行列は経路依存性(path dependent)である。Runの順序を変更することで、各runが処理される際に利用可能な情報に影響を与えることができる。従って、この場合も同様に、最適化問題を解くのに誤差共分散行列を用いることができる。どのバッチが測定されるのか、および測定なしに単にrunされるのかは予め決定されている。
【0131】
バッチの待ち行列は長さnを持つと再び仮定する。整数変数のベクトルuが定義され、各要素uiは待ち行列のなかの一つのバッチに対応する。このベクトルでは、各要素iの値uiは、そのバッチがrunするときの時間ステップを示す。この理由から、ベクトルuは1からnの間のすべての整数を含むように制約されなければならない。
【0132】
前と同様に、性能指標J(P)は特定の共分散行列Pに関して、そしてプロセス実行の順序を選択する目的で定義できる。あるパラメータを他のパラメータよりも重要にするために重み付けを調整することができるものの、Pのトレースは合理的な選択肢である。
予測限界内のすべての時間ステップにおける、入力ベクトルuに基づいて計算された性能指標の値の合計をfn(u)で表す。上述したように、この目標関数の値は、システムモデルおよび行列Pのなかの初期値に依存する。上述のケース中にあったように、最適化の問題は、入力ベクトルuの適切な選択を決定することと定義することができる。
【数102】
【数103】
【数104】
【0133】
プロセスの対象となる材料の一組が与えられたとき、プロセス実行のために適切なツールを選択する必要がある。当然ながら、関係する許容量およびスループットの理由から、いくつかの制約が存在する。しかしながら、制約の境界内では、システムに関するより多くの情報を得るために、特定のツールに対して特定の材料を選択することが可能である。異なった製品およびツールに関するパラメータの不確定性を追跡するフレームワークが与えられると、多くの経験則を示すことができる。あるパラメータがその他のパラメータよりも高い確からしさを持つという事実が与えられると、ビジネス上の見地からは、より信頼性の高いまたは現在の状態情報をもって、ツールに対してより重要またはクリティカルな製品を流すのが理にかなっている。
【0134】
同定の視点からすると、よく特徴付けられた製品をツールに流すことによって、不知のツールについて学習することが可能である。逆に、新しい製品を、高い確からしさの程度において理解されているツールに流すと、新しい製品について素早く学習するのを助ける。このセクションでは、これらの規則をより客観的に定義することを試みる。
【0135】
この問題は、プラント全体のスループットへの影響を考慮せずには、検討できない。ツールのスケジューリングの決定は、伝統的に、時間を最小にするという目標で行われている。この試験では、スループットの問題は単純な制限において取り扱われる。しかしながら、一般的に、これはより大きな最適化問題の別の部分に過ぎない。事実、他の研究者達は、スループットおよびインベントリ(在庫品)を最適化するために、モデル予測制御の定式化の使用を研究している。
【0136】
従来のケースにあるように、プロセスエリアには、runされるのを待つn個のバッチの待ち行列がある。各バッチについて、製品は知られており、そのバッチが測定されるかどうかは予め定められる。複数のプロセス実行ツールが1からkまで番号付けされると、整数変数のベクトルuを決定することができ、各要素uiは待ち行列の一つのバッチに対応する。このベクトルでは、各要素iの値uiはバッチが処理されるツールを示す。
【0137】
以前と同様に、特定の共分散行列Pに関して、評価指数J(P)を定義できる。どのプロセスツールを動作させるかを決定するケースでは、再びPのトレースを利用できる。そして、同様に、あるパラメータをその他のパラメータよりも重要にするために重み付けを調整することができる。
【0138】
予測限界内のすべての時間ステップにおける、入力ベクトルuに基づいて計算された性能指標の値の合計をfn(u)で表す。上述したように、この目標関数の値は、システムモデルおよび行列Pのなかの初期値に依存する。上述のケース中にあったように、最適化の問題は、入力ベクトルuの適切な選択を決定することと定義することができる。
【数105】
【数106】
【0139】
このセクションでは、所得したデータの量よりも多くの状態推定があることが示されている。情報量を一組のデータに定量化しようとする方法が説明されている。これらの方法は、状態推定に利用できる、より多くの情報をもたらすプロセス実行の決定に用いることができる。以下の議論では、これらの最後のいくつかのシナリオを、データ取得のための首尾一貫した計画に統一する。この計画は、安定した、信頼できる新しいデータの流れを供給することによって、不確定性を基礎に持つ状態推定を補うものである。
【0140】
これまでのサンプルのシナリオはプロセスの決定とその状態およびパラメータ推定に対する影響を含んでいた。シミュレーションのそれぞれはそれ自体検討する価値のあるものであるが、実際の製造工場においては、それらのすべてを同時に考慮しなければならない。以下の議論では、情報の収集とパラメータ推定についての包括的な計画の必要性を扱う。
【0141】
最初のステップとして、状態推定アルゴリズムの必要性をガイドとして用いることによって、スケジューリングおよびサンプリングのようなプロセス実行の決定ができることを最初に示す。この理由から、上述した最適化の問題を用いて、数多くのシミュレーションrunを示す。これらの試験シナリオのそれぞれにおいて、同じような方法で、プラントおよび状態推定アルゴリズムが初期化される。それぞれについて、異なったプロセス実行の決定が検討される。
【0142】
可能性のある解法の数を制限するため、これらのケースを容易に理解可能なものとするため、3個のプロセスツールと3種の製品を持つシステムをシミュレーションドライバ136によって特定する。以前の状態にあったように、変動の重要なソースは製品とツールの間の差のみであるという仮定がなされる。ランダムノイズおよびわずかなドリフトがシミュレーションの間に状態に加えられる。各シナリオにおいて、コントローラ130はシステム状態の知識がないところから出発して、完全に落ち着くまでに200時間ステップrunする。次の20runが試験の対象である。すべての試験で、基本ケースと同じrunの組を使用する。表7は、すべてのシナリオで使用される、基本の仕様(構成)を示す。
【表7】
【0143】
試験の第1組は、最適なサンプリングプランの選択を取り扱う。この試験の目的は、測定を行うrunを選択して、すべてのパラメータ推定値についての不確定性を最小化することである。これは、方程式102に定義された目的関数およびそれに関連する制約を用いて実現される。目的関数の評価は、非線形の反復プロセスである。ひとたびある入力ベクトルuが選択されると、共分散行列を時間を通して前方に展開する(evolve)のに、プロセスモデルを使用することができる。
【0144】
この問題に対し、制約(方程式103および104)が、完全に実行解の空間(feasible solution space)を定義する。本質的に、cの測定値は可能性のあるnから選択されなければならない。プロセスの実行順序は固定されているので、測定値が選択される順序は、それらがすべてプロセスの開始前に選択される限り、問題にならない。それは、定義できる、実行可能なスケジュールの候補の数が次の式で与えられることを意味する。
【数107】
【0145】
合計で20runにおいて、実現可能な領域の網羅的な調査によってこの最適化問題を解くことができる。次の表8は、いくつかの異なったcの値についてのこの試験の結果を要約したものである。
【表8】
これらのrunからいくつかの結果が直ちに明白である。最初に、ツールの認定runであるrun5が、それぞれの解に存在している。この特定のrunは、パラメータの真の値を特定する(lock down)するのにもっとも役立つ。このアルゴリズムは、試験の開始直後に測定runを行うことを好む。不確定性はrunごとに増加することから、これは直感的にわかる。開始直後においてより多くのrunを測定することによって、推定器は不確定性の平均を抑制することができる。少ない測定値を持つrunは、アルゴリズムがシステムの全体について学習しようとしていることを示す。ツールおよび製品の全体の範囲をカバーするいくつかのrunをサンプリングすることによって、推定アルゴリズムはシステムの全体像を持つことができる。
【0146】
目的関数の値が、おおよそ10個の測定値の上で横ばいになるのを指摘するのは興味深い。このことは図28でより明確に示される。これは、このアルゴリズムを実際に用いると、それらの時間的および資源的なコストを正当化するのに十分な新しい情報を提供することがない測定値を特定することになる、ことを示唆している。
【0147】
試験の第2組は、プロセス実行(加工)の順序選択を取り扱う。ここで、測定すべきrunは予め決められている。しかし、プロセス実行の順序は、与えられたバッチの待ち行列のなかで任意に配列可能である。この場合もやはり、目標は、パラメータ推定値の不確定性を最小化することである。方程式103および104の制約から、実行解の集合が定義される。この順序は、すべてのrunが終了するまで、待ち行列から一度に一つのバッチを選択していくことによって決定される。この問題は、n!個の可能性のある解(つまり、スケジュール候補)を持つので、解空間の網羅的な調査は実用的ではない。
【0148】
これらの試験runについて、準最適な(sub-optimal)アプローチが、スケジュール候補の数を限定し、主要なポイントを表現するのに十分な近似解を得るために用いられる。解空間全体をカバーしようとするのではなく、n個のより単純な一連の問題として解くことが可能である。それぞれのrunについて、目標に対してもっとも迅速な改善をもたらす一つのバッチを選択する。このプロセスは、すべてのバッチがrunされるまで繰り返される。
【0149】
試験を実行するために、サンプリングの計画を予め決めておくことが必要である。変化する情報量で試験を行うために、試験はすべてのバッチ、すべての他のバッチ、すべての3番目のバッチ、すべての4番目のバッチ、すべての5番目のバッチを測定するrunである。いつ測定値が得られるのかを知ることによって、コントローラ130は、利用可能な情報を最大化するプロセス実行の順序を決定しなければならない。
【0150】
次の表9は、プロセス実行順序の検討結果を表したものである。それぞれの試験において、新しい順序を用いて得られた目標値が、表7に示されているデフォルトの順序を用いて得られた値と比較される。それぞれの試験において、よりよいプロセス実行順序について解くことで、目的関数の値を著しく改善する。
【表9】
【0151】
試験の最後の組は、ツールの割り当ての問題を取り扱う。ここで、一組のバッチについてのプロセス実行の順序およびサンプリングの計画は予め定められている。ここでの目標は、待ち行列のなかの各バッチに対して最も適切な処理ツールを選択することによって、パラメータ推定値の不確定性を最小化することである。方程式105および106の制約は、一組の実行解を決定する。
【0152】
n個のバッチの待ち行列および全部でk個のツールがあるとき、可能性のある解はkn個である。問題の大きさに伴って潜在的な解の数は指数関数的に増加するので、解空間における網羅的な調査は一般的に現実的ではない。上述したように、スケジュール候補の数を制限することにより、準最適(sub-optimal)のアプローチを用いて近似解を求める。
各runについて、目的関数の最も大きい改善をもたらすツールを選択する。従って、n個のより簡単な一連の問題を解いて、すべてのバッチをどこでrunするかを決定する。表10は、このアルゴリズムによって決定されたプロセス実行の順序を示す。
【表10】
ツールに対するバッチのこの配置は、目的関数の値において、おおよそ10%の改善をもたらす。しかしながら、いくつかのより特筆すべき結果がある。図29に、デフォルトのツール割り当て計画と、最適化されたツール割り当て計画とを用いた、シミュレーションによる制御アルゴリズムの出力誤差の比較を示す。最適化されたバージョンでは、大量の変動が除去されている。その理由は、高いパラメータ推定不確定性を持つ製品が、比較的小さい推定不確定性を持つツールにおいて処理されているからである。
【0153】
このシミュレーションの重要な特徴は、ツールの使用法でさえも指示する制約が存在しないことである。この結果は、このアルゴリズムがこれらのrunを、関係するすべてのツールの間で均等に分割していることを示している。これの理由は、与えられたあるツールに対するパラメータ推定の不確定性が、もしそのツールが使用のために選択されなかったとしても、時間とともに増加することにある。従って、このアルゴリズムは、すべてのツールにわたって不確定性を抑制するために十分な情報が利用可能になるように、すべてのツールを利用しなければならない。
【0154】
従前のセクションで示したように、ツールのスケジューリングや、サンプリング計画などの製造プロセスの決定は、プロセス制御を効率的に実行するための能力に対して大きな実質効果を持つ。さらに、これらの決定変数の適切な操作によって制御出力を改善できることと示した。これらの決定変数は、コントローラ130が操作するプロセス変数には直接影響しないが、それらはコントローラ130が、その状態およびパラメータの推定値の更新に用いるために利用可能な情報の量および質には影響を与える。モデルベースのコントローラにおいては、モデルパラメータの異なった値は、目的関数において異なった値をもたらし、従って異なったプロセス入力が選択される。
【0155】
カルマン状態推定手法において利用可能な誤差共分散行列を用いて、コントローラ130内での異なったパラメータ推定値における相対的な不確定性に対して、製造決定が明白な関係を持つことを示す。プロセス決定をパラメータ推定値における不確定性に対するそれらの影響に関連付けるモデルを作成することができる。パラメータ推定値についての現在の確かさに応じて、特定の測定値の取得および特定のプロセスツールの実行は非常に異なった効果をもちうる。
【0156】
この点において、図30に示すように、監視スケジューリングモデル(supervisory scheduling model)からプロセスモデルを分離するのが都合がよい。プロセスコントローラ300は低いレベルの、プロセスモデル310を実装する。プロセスモデル310は、入力が操作されたときに、プロセス変数がどのような影響を受けるかを説明している。プロセス変数は、レシピ設定、測定されたバッチの特性、変動のソースを含む。このモデルでは、バッチはそれが出現するまで知られていない。それが出現した時点で、それらの特性によって、それらが加工装置(processing equipment)によるどのような影響を受けるかが決定される。スケジューリングコントローラ320は、監視スケジューリングモデル330を実装し、バッチがどのように処理されるのかの詳細には関係しない。その代わり、それは、プラント(工場)を通る材料の動きのみを取り扱う。
【0157】
環境は、一連の別個のイベントから構成されている。これらのイベントは、処理されているバッチ、認定されているツール、測定されているバッチを含む。これらのイベントのそれぞれについて、パラメータ推定値についての不確定性はもちろん、現実のプロセス状態への予期された影響も決定するために、プロセスモデル310を用いることができる。より高いレベルのスケジューリングモデル330も、在庫品のレベル、サイクルタイム、およびツールの使用に対するイベントの効果を決定するために、使用可能である。
【0158】
ここで、マルチレベルの制御方法が使用される。上で説明され、プロセスコントローラ300によって実装された状態推定技術は、すべての利用可能なプロセス情報が与えられたときに最もよいパラメータ推定値を決定する問題を解くのに適している。この状態推定は、材料が処理される順序またはそれがどのような測定値を受け取るかに関する入力を持たないが、それは到着する情報を効率的に処理することができる。
【0159】
次のレベルにおいて、スケジューリングコントローラ320は、スケジュール候補を分析していくつかの目標に合致させることで、スケジューリングを取り扱う。プロセスツールを効率的に利用し、かつ材料がプラント内を合理的な時間内で通過するようにするのに加えて、スケジューリングコントローラ320は、低レベルプロセスコントローラ300およびその状態推定アルゴリズムが適切な情報を受信することを確実にしなければならない。
このカスケード手法は、コントローラ300,320のそれぞれがそれに最も適した仕事を取り扱う、モジュール設計を可能にする。さらに高いレベルの工場最適化コントローラ340が、スケジューリングコントローラ320についての目標値を決定するために設けることができる。
【0160】
スケジューリングモデル330に対する入力は、プロセス決定である。与えられた時間ステップにおいて、しなければならない数多くの決定がある。簡略化のために、すべてのrunが同じ時間だけかかり、それらのすべてが同時にスタートして同時に終わると仮定する。これによって、決定変数(decision variable)を簡略化することができる。もし、プロセスエリアでnb個のバッチの待ち行列(キュー)が処理(run)されるのを待っているときは、与えられたある時間ステップで、その時間ステップの間にプロセスエリアにおけるすべてのツールに対してどのバッチをrunさせるかを決定しなければならない。もし、プロセスエリアにnt個のツールがあるとき、ベクトルuのnt要素がそのツールでrunされるバッチを定義する。一般論として、待ち行列のなかのバッチのすべてが製造用のバッチでなくともよい。ツールの認定およびその他のそのようなイベントもまた、このようなフレームワークに適合させることができる。uで表されるrunのそれぞれが測定されるかどうかを特定するために、やはり長さntを持つ第2の入力ベクトルvが必要である。
【0161】
ある時間ステップについて選択された決定ベクトル(つまり、スケジュール候補)に対して、プロセス状態推定の誤差共分散行列への影響を計算することができる。これまでの例にあったように、この行列に対する操作の観点から、目的関数を定義することができる。
【0162】
実際の状況では、上述の最適化問題を解くのに、モデル予測制御(MPC, Model Predictive Control)定式化が優れた手段を提供できる。シミュレーションは、既知の環境で所定の材料の待ち行列において実行可能であるが、現実の製造工場はより複雑である。プロセスの実行条件は常時変更の対象であり、コントローラによってなされた決定はビジネス上の必要性によって覆されうる。MPC定式化を用いることにより、最適化の問題が解かれるたびに、最初の決定のみが実行される。新しい情報が利用可能になった後、その問題を再び解く。この手法は、プラントで素早く変化する条件を取り扱うのに適している。
【0163】
MPCでは、現在の変更が将来のrunにいかに影響するかを検討するために、いくつか先の時間ステップを見ることができる。MPC定式化を用いるために、システム状態およびそれらがどのように変化するかのモデルが定義される。これらの状態は単に、プロセスコントローラ300によって使用される、状態誤差共分散行列を用いて決定される、パラメータ推定不確定性である。それらがどのように変化するかのモデルは、バッチが処理され、測定されるときに共分散行列がどのように変化するかを決定する方程式によって決定される。
【0164】
スケジューリングコントローラ320が受け取る「測定値」は、実際のプロセス実行決定が実装された後でプロセスコントローラ300から供給される共分散行列のなかの新しい値である。実際のプロセス実行の決定は、外側からの影響により、スケジューリングコントローラ320が望む決定に合致したり、しなかったりする。
【0165】
MPCアプローチの他の主な利点は、決定に制約を盛り込む能力である。予測限界を用いることにより、長い時間期間にわたって測定される材料のパーセンテージのような、複雑な制約も使用可能である。ツールの割り当て、サンプリング、およびバッチが処理されるまでに待たなければいけない時間についての制約もすべて、この非常に一般的なフレームワークに盛り込むことができる。
【0166】
この統一されたプロセスおよび工場制御方法には多くの利点がある。伝統的に、スケジューリングはビジネス上の必要性が指示するところに従って行われてきており、プロセス制御に対する影響についての分析は少ししか、またはまったく行われてこなかった。プロセス制御は、工場の制約の限界のなかで行われなければならないなにかである。スケジューリングの必要性とプロセス制御の必要性とを統合することは、ここに概説したように、それらの両方にとっていくつかのはっきりとした利点がある。
【0167】
一般に、測定値は、バッチが正しく処理されていることを保証するために取得される。プロセスコントローラがサンプリングプランに入力を持つことができるようにすることで、互いに関連する測定値を選択するのにプロセスの不確定性の理解を使用することができる。パラメータ推定値の不確定性は、プロセス出力の不確定性と直接言い換えることができるので、測定値を、すべてのプロセス出力が適切な許容差のなかにあることを保証するのに必要なものにまで減らすことができる。これは時間を節約するだけでなく、用意しなければいけない測定ツールの数をも限定する。もちろん、出力の不確定性があまりに高くなったときには、スケジューリングコントローラ330は、注意深く選択した測定値を提案することもできる。それは、潜在的な測定値のなかでどれがもっとも大きな利益をもたらすかに関する説明を受けた上での決定をするために適切なデータを持っている。
【0168】
スケジューリングの最適化のその他の応用例は、「重要な」ロット(製造の単位)の処理である。様々な理由(例えば、予想される性能特性、試験ロットなど)から、特定のロットが高い優先順位を持つロットとしてフラグされて(flagged)きた。そのようなロットについては、指定ロットに関するプロセスを最適化することが望ましい。目的とするロットを含む、異なったスケジュール候補に対して不確定性の分析を適用することができ、その目的のロットの処理を実行するときに、もっとも不確定性が小さいスケジュール候補を選択することができる。
【0169】
スケジューリングコントローラ330は、ツール認定のような特別なイベントのための時間を選択することもできる。これらのイベントは通常、装置のメインテナンスのために用いられる。しかし、それらはデータの質を高めるためにも用いることができる。スケジューリングコントローラ330は、ツール状態についての推定パラメータが著しい不確定性を持つのはいつかを知ることができる情報を持っている。これはツールに対するメインテナンスをするのによい機会であり、メインテナンス後の認定によってツールのパラメータの状態に関する新鮮な情報を得ることができる。この種の活動によって不稼動時間を減らすことができ、イベントが本当に必要なときにイベントをスケジュールすることによって制御出力を改善することができる。
【0170】
以前に検討したスケジューリングおよびサンプリングの最適化問題は、数学的に難しい問題の種類に入る。最初に、目的関数の評価は非常に非線形のプロセスである。低レベルのプロセスモデルが線形であるときでさえも、測定データの受信の際の誤差共分散行列を更新するためには行列反転(matrix inversion)手法を必要とする。決定変数が離散値であって、連続値ではないという事実が、問題をさらに複雑にする。連続する非線形関数の極値を求める一般的な方法は、独立変数に関する微分係数を得ることである。一般的に、これらの極値は、システムの制約によって許される決定変数の離散値には一致しない。従って、より複雑な調査方法を用いなければならない。
【0171】
このセクションの前の方のシミュレーションrunで示したように、もっとも直接的な調査手法で必要となる目的関数の評価の回数は、システムが大きくなるに従って、すぐに点学的な数字になる。後の方のシミュレーションでしたように、問題をより小さな部分に分解して、それらの解を互いに合わせることによって、ある種の救済方法を見つけることができる。さらに、実用的な解法から始めて、他の実用的な解法をもたらす小さな変更を加えて目標値が改善するかどうかをチェックすることが可能である。これらの方法の欠点は、大域的な最適値に到達する保証がないことである。最も正確な答えに対する必要性と、合理的な時間内で答を得ることとの間でバランスを取らなければならない。大きな工場でrunのスケジューリングを決定するときには、考慮に入れなければいけない多くの要素がある。
【0172】
一実施形態において、すべての関係を網羅する、単一の目的関数および関連する制約を定義することができる。その目的は、異なった専門分野の多くの異なった関係者の必要性に応えることである。例えば、制御のエンジニアは特定のバッチの重要性を、それが生成するであろうプロセス情報の量の観点から、説明することができる。一方、オペレーションリサーチの専門家は、バッチが処理されるまでにどのぐらいの時間がかかるのか、およびそれをいかにラインの中でより効率的に流すかについて、より関心があるであろう。さらに、プロセスを改善しようとしているエンジニアは、あるバッチを、あるツールに特別の設定で実行する必要があるかもしれない。これらすべての必要性に合致した単一の目的を作成するには、それぞれの関心の相対的な重要性の仕様書を必要とする。
【0173】
他のアプローチは、各関係者の必要性に合わせた個別のシステムを持つことである。これらのシステムのそれぞれは、それがもっとも期待しているプロセス決定を容易に決定することができる。次に、監視システムが衝突の解決に責任を持つ。以前のセクションで言及したように、一般に、規則ベースのシステムが製造runをスケジューリングするために使用されている。これらのシステムは、通常、run-to-run制御のアプリケーションにおける必要性を軽視して、遅れおよびコストを最小化するように設計されている。この種のシステムの統合が、既存の工場のスケジューリングに影響を与えるために、必要であろう。
【0174】
ここで説明した技術は、大規模半導体製造工場において同時に使用されている、多くの異なったプロセスの取り扱いの理解に対する強力なアプローチを提供する。組み合わされたシステムモデルの検討により、異なったプロセス間で共有できる多くのデータがあるという事実が強化された。装置、製品、およびプロセスの間の差異が、しばしば単一のプロセスにおけるrun-to-runのばらつきよりもずっと大きいので、組み合わせモデルは、一度にいくつかのrunを実行することで得られるデータを利用して、プロセスの異なったエリア間の差を捉えることに成功している。この方法の主な利点は、情報が異なったプロセス実行コンテキスト間で共有されているので、誤差を検出したときにシステムモデルがとても素早く更新されることである。
【0175】
その他の重要な結果は、状態およびパラメータ推定アルゴリズムにおいて、推定値についての不確定性の合計を理解することが、推定値そのものを取得することと同じぐらい重要であるということである。確からしさのレベルを推定することに基づくリカーシブな状態推定ルーチンが、所望の測定値データの一部分のみが利用可能なときにおいても更新を実行するために、提案される。測定値の遅れまたは欠損などの実際の製造上の問題についても説明し、対処した。結果として、製造工場における多くの異なったプロセスに適用可能な堅牢な(ロバスト)手法が提供される。
【0176】
利用可能なデータと、それが含む有用な情報とを区別した。状態推定手法の性能はそれが受け取る情報の質に強く依存する。状態推定誤差共分散行列が推定値についての不確定性の指標として定義された。そして、その行列に対する測定値の効果を、その測定値が推定値の不確定性にどのような影響を与えるかの観点から説明した。
【0177】
バッチのスケジューリング、ツールの割り当て、およびサンプリングの計画などのプロセス実行の決定が、コントローラの性能に影響することを示した。誤差共分散行列に含まれるパラメータ推定不確定性情報を用いて、より好ましいプロセス制御結果を与えるように、これらのプロセス実行の決定を最適化できる。プロセスコントローラからの情報を用いて、よりよいスケジューリングおよびサンプリングの決定に役立てることで、状態推定および制御出力性能についての無視できないほどの改善が達成できることを、シミュレーションの結果が示している。さらに、状態推定のアルゴリズムが、あまり情報をもたらさないので潜在的に読み飛ばすことが可能な測定値を特定できることを示した。
【0178】
これまでに開示した特定の実施形態は一例にすぎない。本明細書の教示による利益を得た当業者に明らかなように、本発明を変形することができ、また異なるが均等な方法で実施することができる。さらに、添付の特許請求の範囲の記載を除いては、本明細書に開示した構造または設計の詳細に、本発明を限定しようとする意図はない。従って、上述の特定の実施形態は改造または変更が可能であり、そのような変形物は本発明の範囲および精神の中にあるものとして考えられる。従って、保護を求める範囲は添付の特許請求の範囲に記載されるとおりである。
【図面の簡単な説明】
【0179】
【図1】本発明の一実施形態による製造システムの簡略ブロック図。
【図2】図1の製造システムの一部の簡略ブロック図。
【図3A】典型的な確率密度関数のグラフ。
【図3B】典型的な確率密度関数のグラフ。
【図4】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図5】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図6】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図7】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図8】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図9】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図10】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図11】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図12】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図13】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図14】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図15】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図16】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図17】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図18】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図19】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図20】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図21】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図22】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図23】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図24】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図25】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図26】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図27】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図28】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図29】様々なシナリオにおける、図1のコントローラの性能を表すグラフ。
【図30】本発明の他の実施形態による、プロセスコントローラとスケジューリングコントローラとを含むシステムのブロック図。
【図31】本発明のさらに別の実施形態による、製造システムにおいて活動をスケジューリングするための方法の簡略流れ図。
Claims (16)
- 製造システム(10)を監視する方法であって、
前記製造システム(10)に関する複数の観測状態を定義するステップと、
前記観測状態に対する状態推定値を生成するステップと、
前記状態推定値のそれぞれに対して、不確定性の値を生成するステップと、
前記製造システム(10)のなかの実体に関する測定データを受信するステップと、
前記測定データおよび前記状態推定値に関する不確定性の値に基づき、前記状態推定値を更新するステップとを含む方法。 - 前記状態推定値を含む状態推定ベクトルを生成するステップと、
前記状態推定ベクトルに関連し、前記不確定性の値を定義する対角項と、前記状態間の相互依存性の関係を定義する非対角項とを含む共分散行列を生成するステップとをさらに含む、請求項1記載の方法。 - 前記製造システムにおいて加工ステップを実行するステップと、
前記加工ステップおよびそれに関係する不確定性の値に基づいて各状態推定値を更新するステップとをさらに含む、請求項1記載の方法。 - 前記製造システムは複数の製品を加工するように構成された複数のツール(30−80)を含み、前記複数の観測状態を定義するステップは、ツールの状態および製品の状態のうちの少なくとも一つを定義するステップをさらに含む、請求項1記載の方法。
- 製造システム(10)に関する追加の観測状態を特定するステップと、
前記追加の観測状態についての初期状態推定を生成するステップと、
前記状態推定ベクトルと前記初期状態推定とを組み合わせるステップと、
前記追加の観測状態についての初期共分散推定を生成するステップと、
前記初期共分散推定と前記共分散行列とを組み合わせるステップとをさらに含む、請求項2記載の方法。 - 第1時間において、初期状態推定値の第1組を特定するステップと、
前記第1時間の後に発生した、前記製造システム(10)に関する、イベントの待ち行列を保持するステップと、
第1測定イベントを受信するステップと、
前記第1測定イベントに関する、前記プロセスイベントの一つを特定するステップと、
前記特定されたプロセスイベントの後に発生したイベントを選択するステップと、
前記第1測定イベントと前記選択されたイベントの組とに基づいて、前記初期状態推定値を繰り返し更新するステップとをさらに含む、請求項1記載の方法。 - 前記測定データに基づいて、第1出力マッピングを生成するステップと、
前記第1出力マッピング、前記測定データおよび前記関係する不確定性の値に基づいて、前記状態推定値を更新するステップと、
前記第1加工イベントの後に発生した、第2加工イベントに関する第2測定値を受信するステップと、
前記第2測定値に基づいて、第2出力マッピングを生成するステップと、
前記第2出力マッピング、第2測定値および前記関係する不確定性の値に基づいて、前記状態推定値を更新するステップとをさらに含む、請求項1記載の方法。 - 前記製造システムにおいて活動を実行するための複数のスケジュール候補を特定するステップと、
前記スケジュール候補に基づいて、前記不確定性の値に対する変更を予測するステップと、
前記不確定性の値に対する予測された変更に基づいて、前記スケジュール候補の一つを選択するステップとをさらに含む、請求項1記載の方法。 - 前記複数のスケジュール候補を生成するステップは、
複数の加工活動をスケジューリングするステップと、
前記加工活動の一部に関する、複数の測定活動をスケジューリングするステップであって、各スケジュール候補のそれぞれは前記加工活動の異なった部分を持つところのステップとをさらに含む、請求項8記載の方法。 - 前記複数のスケジュール候補を生成するステップは、
複数の加工活動をスケジューリングするステップであって、各スケジュール候補のそれぞれは前記加工活動についての異なった順序を持つところのステップをさらに含む、請求項8記載の方法。 - 前記複数のスケジュール候補を生成するステップは、
複数の加工活動を特定するステップと、
前記加工活動を実行することができる複数のプロセスツールを特定するステップと、
前記加工活動を実行するために選択された、それぞれ異なったプロセスツールを持つスケジュール候補を生成するステップとをさらに含む、請求項8記載の方法。 - 前記不確定性の値に対する前記予測された変更に基づいて、前記スケジュール候補のそれぞれに関する、不確定性の測定基準を生成するステップと、
最も小さい不確定性の測定基準を持つスケジュール候補を選択するステップとをさらに有する、請求項8記載の方法。 - 各スケジュール候補は複数の加工活動を含み、前記不確定性の値に対する予測された変更に基づいて、前記スケジュール候補の一つを選択するステップはさらに、
前記優先加工活動を実行しながら、最も小さい不確定性を持つスケジュール候補の一つを選択するステップをさらに含む、請求項8記載の方法。 - 製造システム(10)を監視するためのシステムであって、
製造システム(10)に関する複数の観測状態を定義し、前記観測状態に対する状態推定値を生成し、前記状態推定値のそれぞれに対して、不確定性の値を生成し、前記製造システム(10)のなかの実体に関する測定データを受信し、前記測定データおよび前記状態推定値に関する前記不確定性の値に基づき状態推定値を更新するように構成されたコントローラ(130)を備えるシステム。 - 前記コントローラ(130)はさらに、
前記状態推定値を含む状態推定ベクトル、および
前記状態推定ベクトルに関連し、前記不確定性の値を定義する対角項と、前記状態間の相互依存性の関係を定義する非対角項とを含む共分散行列を生成するように構成されている、請求項14記載のシステム。 - 前記製造システム(10)において活動を実行するための複数のスケジュール候補を特定し、
前記スケジュール候補に基づいて、前記不確定性の値に対する変更を予測し、
前記不確定性の値に対する予測された変更に基づいて、前記スケジュール候補の一つを選択するように構成されたスケジューリングコントローラ(320)をさらに備える、請求項14記載のシステム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US31879201P | 2001-09-13 | 2001-09-13 | |
| US10/210,753 US6738682B1 (en) | 2001-09-13 | 2002-07-31 | Method and apparatus for scheduling based on state estimation uncertainties |
| PCT/US2002/028872 WO2003023538A2 (en) | 2001-09-13 | 2002-09-12 | State estimation and scheduling for a manufacturing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005502947A true JP2005502947A (ja) | 2005-01-27 |
| JP2005502947A5 JP2005502947A5 (ja) | 2006-07-20 |
Family
ID=26905483
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003527533A Pending JP2005502947A (ja) | 2001-09-13 | 2002-09-12 | 生産システムのための状態推定およびスケジューリング方法 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US6738682B1 (ja) |
| EP (1) | EP1425642B1 (ja) |
| JP (1) | JP2005502947A (ja) |
| KR (1) | KR100931708B1 (ja) |
| CN (1) | CN100380261C (ja) |
| AT (1) | ATE310984T1 (ja) |
| DE (1) | DE60207588T2 (ja) |
| TW (1) | TWI223761B (ja) |
| WO (1) | WO2003023538A2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014143887A3 (en) * | 2013-03-15 | 2014-11-06 | United Technologies Corporation | Compact aero-thermo model based engine power control |
| JP2015014873A (ja) * | 2013-07-04 | 2015-01-22 | 株式会社神戸製鋼所 | 状態推定装置、該方法及び該プログラム |
| CN107291061A (zh) * | 2017-02-22 | 2017-10-24 | 贵州北盘江电力股份有限公司董箐发电厂 | 一种基于量化评估的水电机组健康状态评估方法 |
Families Citing this family (106)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002123530A (ja) * | 2000-10-12 | 2002-04-26 | Hitachi Ltd | 多次元データの可視化方法及び装置 |
| WO2003040865A2 (en) * | 2001-11-07 | 2003-05-15 | Sap Aktiengesellschaft | Multi-purpose configuration model |
| US20030182167A1 (en) * | 2002-03-21 | 2003-09-25 | Wolfgang Kalthoff | Goal management |
| US7031787B2 (en) * | 2002-03-21 | 2006-04-18 | Sap Aktiengesellschaft | Change management |
| AU2003219415A1 (en) * | 2002-03-21 | 2003-10-08 | Sap Aktiengesellschaft | Synchronizing users on shared data with locks |
| US7133878B2 (en) * | 2002-03-21 | 2006-11-07 | Sap Aktiengesellschaft | External evaluation processes |
| US20040230404A1 (en) * | 2002-08-19 | 2004-11-18 | Messmer Richard Paul | System and method for optimizing simulation of a discrete event process using business system data |
| US7533008B2 (en) * | 2002-08-19 | 2009-05-12 | General Electric Capital Corporation | System and method for simulating a discrete event process using business system data |
| US8185230B2 (en) * | 2002-08-22 | 2012-05-22 | Advanced Micro Devices, Inc. | Method and apparatus for predicting device electrical parameters during fabrication |
| US7509326B2 (en) * | 2002-09-03 | 2009-03-24 | Sap Ag | Central master data management |
| US7236973B2 (en) * | 2002-11-27 | 2007-06-26 | Sap Aktiengesellschaft | Collaborative master data management system for identifying similar objects including identical and non-identical attributes |
| US8438238B2 (en) * | 2002-10-16 | 2013-05-07 | Sap Ag | Master data access |
| US20050021384A1 (en) * | 2002-12-02 | 2005-01-27 | Pershing Investments, Llc | Capacity planning method and system with approved accuracy and confidence indication |
| US6912433B1 (en) * | 2002-12-18 | 2005-06-28 | Advanced Mirco Devices, Inc. | Determining a next tool state based on fault detection information |
| US7653515B2 (en) * | 2002-12-20 | 2010-01-26 | Lam Research Corporation | Expert knowledge methods and systems for data analysis |
| US9691053B1 (en) | 2003-02-13 | 2017-06-27 | Sap Se | System and method of master data management |
| US7194320B2 (en) | 2003-06-05 | 2007-03-20 | Neuco, Inc. | Method for implementing indirect controller |
| US6985825B1 (en) * | 2003-07-15 | 2006-01-10 | Advanced Micro Devices, Inc. | Method and apparatus for adaptive sampling based on process covariance |
| US20070282480A1 (en) * | 2003-11-10 | 2007-12-06 | Pannese Patrick D | Methods and systems for controlling a semiconductor fabrication process |
| US8639365B2 (en) * | 2003-11-10 | 2014-01-28 | Brooks Automation, Inc. | Methods and systems for controlling a semiconductor fabrication process |
| US10086511B2 (en) | 2003-11-10 | 2018-10-02 | Brooks Automation, Inc. | Semiconductor manufacturing systems |
| US8639489B2 (en) * | 2003-11-10 | 2014-01-28 | Brooks Automation, Inc. | Methods and systems for controlling a semiconductor fabrication process |
| US20050130329A1 (en) * | 2003-12-16 | 2005-06-16 | Yushan Liao | Method for the prediction of the source of semiconductor part deviations |
| US7930149B2 (en) * | 2003-12-19 | 2011-04-19 | Sap Aktiengesellschaft | Versioning of elements in a configuration model |
| US7272776B2 (en) * | 2003-12-30 | 2007-09-18 | Sap Aktiengesellschaft | Master data quality |
| US20050149474A1 (en) * | 2003-12-30 | 2005-07-07 | Wolfgang Kalthoff | Master data entry |
| US6898471B1 (en) * | 2003-12-31 | 2005-05-24 | Taiwan Semiconductor Manufacturing Company | Multivariate RBR tool aging adjuster |
| US7107112B2 (en) * | 2004-05-17 | 2006-09-12 | Brown Peter G | Method and system for simulating and modeling a batch manufacturing facility |
| US7502715B1 (en) * | 2004-09-21 | 2009-03-10 | Asml Netherlands B.V | Observability in metrology measurements |
| US7519447B1 (en) * | 2004-10-05 | 2009-04-14 | Advanced Micro Devices, Inc. | Method and apparatus for integrating multiple sample plans |
| JP2006108474A (ja) * | 2004-10-07 | 2006-04-20 | Canon Inc | 露光装置及びそれを用いたデバイス製造方法 |
| US20060111858A1 (en) * | 2004-11-22 | 2006-05-25 | Yucai Zhu | Computer method and apparatus for online process identification |
| US8180664B2 (en) * | 2004-12-01 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Methods and systems for forecasting with model-based PDF estimates |
| WO2006093604A2 (en) * | 2005-02-28 | 2006-09-08 | Advanced Micro Devices Inc | Automated throughput control system and method of operating the same |
| WO2007001252A1 (en) * | 2005-06-13 | 2007-01-04 | Carnegie Mellon University | Apparatuses, systems, and methods utilizing adaptive control |
| DE102005030586A1 (de) * | 2005-06-30 | 2007-01-11 | Advanced Micro Devices, Inc., Sunnyvale | Verfahren und System für eine fortschrittliche Prozesssteuerung unter Anwendung der Messunsicherheit als Steuerungseingang |
| JP4772401B2 (ja) * | 2005-07-06 | 2011-09-14 | 株式会社東芝 | 最適化方法、最適化システム、及び、装置を製造する方法 |
| DE102005046972A1 (de) * | 2005-09-30 | 2007-04-05 | Advanced Micro Devices, Inc., Sunnyvale | Verfahren und System für eine fortschrittliche Prozesssteuerung unter Anwendung einer Kombination aus gewichteten relativen Voreinstellungswerten |
| US8515567B2 (en) * | 2005-12-21 | 2013-08-20 | Globalfoundries Inc. | Enhanced state estimation based upon information credibility |
| US7840287B2 (en) | 2006-04-13 | 2010-11-23 | Fisher-Rosemount Systems, Inc. | Robust process model identification in model based control techniques |
| US20080059290A1 (en) * | 2006-06-12 | 2008-03-06 | Mcfaul William J | Method and system for selecting a candidate for a position |
| GB0613955D0 (en) * | 2006-07-13 | 2007-01-10 | Bae Systems Plc | Controller |
| DE112006004031A5 (de) * | 2006-07-14 | 2009-06-18 | Siemens Aktiengesellschaft | Anordnung und Verfahren zum Speichern von Messwerten, insbesondere zur Überwachung von Energieübertragungssystemen |
| US20100292825A1 (en) * | 2006-08-09 | 2010-11-18 | Auckland Uniservices Limited | Process control of an industrial plant |
| US20080065447A1 (en) * | 2006-08-29 | 2008-03-13 | International Business Machines Corporation | Interactive and Incremental Event Scheduling |
| US7769080B2 (en) * | 2006-09-07 | 2010-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for covariance matrix update |
| US7738984B2 (en) * | 2006-09-12 | 2010-06-15 | International Business Machines Corporation | System for and method of interpolation for supply chain planning |
| US7738986B2 (en) * | 2006-10-09 | 2010-06-15 | GlobalFoundries, Inc. | Method and apparatus for compensating metrology data for site bias prior to filtering |
| DE102006051495B4 (de) * | 2006-10-31 | 2017-11-02 | Globalfoundries Inc. | Verfahren und System zur zufälligen Verteilung von Scheiben in einer komplexen Prozesslinie |
| US7912746B2 (en) * | 2006-11-14 | 2011-03-22 | Raytheon Company | Method and system for analyzing schedule trends |
| EP2019367A1 (en) * | 2007-06-28 | 2009-01-28 | Siemens Aktiengesellschaft | A method to improve the performance of a distributed scheduler |
| US7761179B2 (en) * | 2007-09-24 | 2010-07-20 | Intel Corporation | Method for consistent updates to automated process control (APC) models with partitioning along multiple components |
| US8364404B2 (en) * | 2008-02-06 | 2013-01-29 | Schlumberger Technology Corporation | System and method for displaying data associated with subsurface reservoirs |
| US8055470B2 (en) * | 2008-02-14 | 2011-11-08 | Yahoo!, Inc. | Simulated bucket testing |
| US20100076898A1 (en) * | 2008-07-03 | 2010-03-25 | Aspect Software Inc. | Method of Scheduling a Workforce Constrained By Work Rules and Labor Laws |
| EP2161637B1 (en) * | 2008-09-04 | 2015-05-20 | Siemens Aktiengesellschaft | Method for updating manufacturing planning data for a production process |
| US8131384B2 (en) | 2008-11-03 | 2012-03-06 | United Technologies Corporation | Design and control of engineering systems utilizing component-level dynamic mathematical model with multiple-input multiple-output estimator |
| US8090456B2 (en) | 2008-11-03 | 2012-01-03 | United Technologies Corporation | System and method for design and control of engineering systems utilizing component-level dynamic mathematical model |
| US8612045B2 (en) * | 2008-12-24 | 2013-12-17 | Asml Holding N.V. | Optimization method and a lithographic cell |
| US9768082B2 (en) * | 2009-02-13 | 2017-09-19 | Hermes Microvision Inc. | Method and machine for examining wafers |
| US20100211202A1 (en) * | 2009-02-13 | 2010-08-19 | Hermes Microvision, Inc. | Method and machine for examining wafers |
| US8668434B2 (en) | 2009-09-02 | 2014-03-11 | United Technologies Corporation | Robust flow parameter model for component-level dynamic turbine system control |
| US8315741B2 (en) | 2009-09-02 | 2012-11-20 | United Technologies Corporation | High fidelity integrated heat transfer and clearance in component-level dynamic turbine system control |
| EP2365410B1 (en) * | 2010-03-09 | 2018-06-27 | Siemens Aktiengesellschaft | Controlling a manufacturing process |
| JP6044977B2 (ja) * | 2011-06-30 | 2016-12-14 | 国立大学法人 筑波大学 | 最適指標生成装置、最適指標生成方法、最適指標生成プログラム及び最適指標生成サーバ |
| US9677493B2 (en) | 2011-09-19 | 2017-06-13 | Honeywell Spol, S.R.O. | Coordinated engine and emissions control system |
| US20130111905A1 (en) | 2011-11-04 | 2013-05-09 | Honeywell Spol. S.R.O. | Integrated optimization and control of an engine and aftertreatment system |
| US9650934B2 (en) | 2011-11-04 | 2017-05-16 | Honeywell spol.s.r.o. | Engine and aftertreatment optimization system |
| DE202012011690U1 (de) | 2012-03-09 | 2013-03-13 | Schneider Gmbh & Co. Kg | Anlage zum Bearbeiten optischer Linsen |
| US9897984B2 (en) * | 2014-08-05 | 2018-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Model predictive control with uncertainties |
| US10074142B1 (en) * | 2014-08-18 | 2018-09-11 | Algonyx LLC | Computational architecture and method for a time-varying control system |
| EP3051367B1 (en) | 2015-01-28 | 2020-11-25 | Honeywell spol s.r.o. | An approach and system for handling constraints for measured disturbances with uncertain preview |
| EP3056706A1 (en) | 2015-02-16 | 2016-08-17 | Honeywell International Inc. | An approach for aftertreatment system modeling and model identification |
| EP3091212A1 (en) | 2015-05-06 | 2016-11-09 | Honeywell International Inc. | An identification approach for internal combustion engine mean value models |
| EP3125052B1 (en) | 2015-07-31 | 2020-09-02 | Garrett Transportation I Inc. | Quadratic program solver for mpc using variable ordering |
| US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
| DE102015015040A1 (de) | 2015-11-12 | 2017-05-18 | Schneider Gmbh & Co. Kg | Verfahren, Anlage und System zur Bearbeitung optischer Linsen |
| US10394973B2 (en) * | 2015-12-18 | 2019-08-27 | Fisher-Rosemount Systems, Inc. | Methods and apparatus for using analytical/statistical modeling for continued process verification (CPV) |
| US10415492B2 (en) | 2016-01-29 | 2019-09-17 | Garrett Transportation I Inc. | Engine system with inferential sensor |
| JP6350554B2 (ja) * | 2016-02-03 | 2018-07-04 | 横河電機株式会社 | 設備診断装置、設備診断方法及び設備診断プログラム |
| US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
| US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
| DE102016007837A1 (de) | 2016-05-25 | 2017-11-30 | Schneider Gmbh & Co. Kg | Verfahren und System zur Bearbeitung optischer Linsen |
| JP6383384B2 (ja) * | 2016-06-24 | 2018-08-29 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置、半導体装置の製造方法および固有情報の生成方法 |
| US11263545B2 (en) * | 2016-06-30 | 2022-03-01 | Microsoft Technology Licensing, Llc | Control of cyber-physical systems under uncertainty |
| US10372114B2 (en) | 2016-10-21 | 2019-08-06 | Kla-Tencor Corporation | Quantifying and reducing total measurement uncertainty |
| EP3548729B1 (en) | 2016-11-29 | 2023-02-22 | Garrett Transportation I Inc. | An inferential flow sensor |
| DE102016123699A1 (de) * | 2016-12-07 | 2018-06-07 | Endress+Hauser Conducta Gmbh+Co. Kg | Verfahren zur Bestimmung einer Messunsicherheit eines Messwerts eines Feldgeräts |
| DE102017001680A1 (de) | 2017-02-22 | 2018-08-23 | Schneider Gmbh & Co. Kg | Anlage und Verfahren zur Bearbeitung optischer Linsen |
| US20180341876A1 (en) * | 2017-05-25 | 2018-11-29 | Hitachi, Ltd. | Deep learning network architecture optimization for uncertainty estimation in regression |
| DE102017111926A1 (de) * | 2017-05-31 | 2018-12-06 | Infineon Technologies Ag | Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung |
| TWI639925B (zh) * | 2017-08-28 | 2018-11-01 | Powerchip Technology Corporation | 統計多維變數而推算生產力的方法、統計多維變數而排程優先順序的方法與統計多維變數進行最佳化配置的方法 |
| US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
| US11042148B2 (en) * | 2017-11-23 | 2021-06-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for scheduling semiconductor lot to fabrication tool |
| US11501193B2 (en) | 2017-12-18 | 2022-11-15 | Mitsubishi Electric Research Laboratories, Inc. | Model-based control under uncertainty |
| CN108268730B (zh) * | 2018-01-23 | 2021-06-04 | 北京航空航天大学 | 一种面向产品可靠性退化的tbe控制图系统优化设计方法 |
| DE102019100636A1 (de) * | 2019-01-11 | 2020-07-16 | Osram Opto Semiconductors Gmbh | Verfahren zur kapazitätsgrenzenermittlung, vorrichtung zur datenverarbeitung und computerprogramm |
| CN110794788B (zh) * | 2019-11-18 | 2021-06-08 | 国机工业互联网研究院(河南)有限公司 | 一种生产排程装置、方法、设备及计算机可读存储介质 |
| JP7424909B2 (ja) * | 2020-05-18 | 2024-01-30 | 株式会社日立製作所 | 処理条件探索装置および処理条件探索方法 |
| US12196557B2 (en) * | 2020-06-17 | 2025-01-14 | Novatel Inc. | System and method for dead reckoning for marine positioning applications |
| US20230367282A1 (en) * | 2020-08-13 | 2023-11-16 | Universitat Politecnica De Catalunya | Automatically evolving a process model |
| KR102543488B1 (ko) | 2021-04-19 | 2023-06-13 | 재단법인대구경북과학기술원 | 시스템 상태 추정 장치 및 방법 |
| TWI884432B (zh) * | 2022-03-29 | 2025-05-21 | 日商住友重機械工業股份有限公司 | 支援裝置、支援方法及支援程式 |
| US20240231850A9 (en) * | 2022-10-23 | 2024-07-11 | International Business Machines Corporation | Modeling a manufacturing process using snapshots of a system |
| JP2024138715A (ja) * | 2023-03-27 | 2024-10-09 | 株式会社Screenホールディングス | スケジュール作成プログラム生成方法、スケジュール作成プログラム生成装置、スケジュール作成装置、記録媒体、生成プログラム、スケジュール作成プログラム、基板処理装置、及び基板処理システム |
| CN117572836B (zh) * | 2023-12-15 | 2024-12-27 | 华中科技大学 | 基于自适应差分进化算法的并行批处理机调度方法及系统 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5115391A (en) | 1990-01-26 | 1992-05-19 | At&T Bell Laboratories | Kalman filter-based optimizer and method and optimizing |
| US5687077A (en) * | 1991-07-31 | 1997-11-11 | Universal Dynamics Limited | Method and apparatus for adaptive control |
| FI922031A0 (fi) | 1991-10-23 | 1992-05-05 | Antti Aarne Ilmari Lange | Foerfarande foer kalman-filter i stora system. |
| US5918200A (en) * | 1992-08-31 | 1999-06-29 | Yamatake-Honeywell Co., Ltd. | State estimating apparatus |
| US5682309A (en) * | 1995-04-28 | 1997-10-28 | Exxon Chemical Patents Inc. | Feedback method for controlling non-linear processes |
| US5953229A (en) * | 1996-09-24 | 1999-09-14 | Environmental Research Institute Of Michigan | Density-based emergent scheduling system |
| JPH10207939A (ja) * | 1997-01-17 | 1998-08-07 | Nec Corp | ワークフローシステム |
| US5865665A (en) | 1997-02-14 | 1999-02-02 | Yueh; William | In-situ endpoint control apparatus for semiconductor wafer polishing process |
| US6092033A (en) | 1997-04-16 | 2000-07-18 | Uhlmann; Jeffrey K. | Method and apparatus for fusing mean and covariance estimates |
| US6163730A (en) | 1997-08-11 | 2000-12-19 | Motorola, Inc. | Method and control system for changing the state of a plant |
| US5991525A (en) | 1997-08-22 | 1999-11-23 | Voyan Technology | Method for real-time nonlinear system state estimation and control |
| US6633782B1 (en) * | 1999-02-22 | 2003-10-14 | Fisher-Rosemount Systems, Inc. | Diagnostic expert in a process control system |
| DE59902261D1 (de) | 1999-05-14 | 2002-09-12 | Abb Research Ltd | Verfahren und Einrichtung zur Zustandsschätzung |
| US6745089B2 (en) * | 2000-02-01 | 2004-06-01 | California Institute Of Technology | Adaptable state based control system |
| US6584369B2 (en) * | 2000-02-02 | 2003-06-24 | Texas Instruments Incorporated | Method and system for dispatching semiconductor lots to manufacturing equipment for fabrication |
| US6519498B1 (en) * | 2000-03-10 | 2003-02-11 | Applied Materials, Inc. | Method and apparatus for managing scheduling in a multiple cluster tool |
-
2002
- 2002-07-31 US US10/210,753 patent/US6738682B1/en not_active Expired - Lifetime
- 2002-09-04 TW TW091120136A patent/TWI223761B/zh not_active IP Right Cessation
- 2002-09-12 AT AT02778248T patent/ATE310984T1/de not_active IP Right Cessation
- 2002-09-12 CN CNB028173104A patent/CN100380261C/zh not_active Expired - Fee Related
- 2002-09-12 EP EP02778248A patent/EP1425642B1/en not_active Expired - Lifetime
- 2002-09-12 KR KR1020047003813A patent/KR100931708B1/ko not_active Expired - Fee Related
- 2002-09-12 WO PCT/US2002/028872 patent/WO2003023538A2/en not_active Ceased
- 2002-09-12 DE DE60207588T patent/DE60207588T2/de not_active Expired - Lifetime
- 2002-09-12 JP JP2003527533A patent/JP2005502947A/ja active Pending
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10190503B2 (en) | 2013-03-15 | 2019-01-29 | United Technologies Corporation | Compact aero-thermo model based tip clearance management |
| US10480416B2 (en) | 2013-03-15 | 2019-11-19 | United Technologies Corporation | Compact aero-thermo model based control system estimator starting algorithm |
| JP2016521396A (ja) * | 2013-03-15 | 2016-07-21 | ユナイテッド テクノロジーズ コーポレイションUnited Technologies Corporation | 小型の空力熱モデルベースの制御システム推定器開始アルゴリズム |
| US11078849B2 (en) | 2013-03-15 | 2021-08-03 | Raytheon Technologies Corporation | Compact aero-thermo model based engine power control |
| US9915206B2 (en) | 2013-03-15 | 2018-03-13 | United Technologies Corporation | Compact aero-thermo model real time linearization based state estimator |
| US10087846B2 (en) | 2013-03-15 | 2018-10-02 | United Technologies Corporation | Compact aero-thermo model stabilization with compressible flow function transform |
| US10107204B2 (en) | 2013-03-15 | 2018-10-23 | United Technologies Corporation | Compact aero-thermo model base point linear system based state estimator |
| US10107203B2 (en) | 2013-03-15 | 2018-10-23 | United Technologies Corporation | Compact aero-thermo model based engine power control |
| US10161313B2 (en) | 2013-03-15 | 2018-12-25 | United Technologies Corporation | Compact aero-thermo model based engine material temperature control |
| US10844793B2 (en) | 2013-03-15 | 2020-11-24 | Raytheon Technologies Corporation | Compact aero-thermo model based engine material temperature control |
| US10400677B2 (en) | 2013-03-15 | 2019-09-03 | United Technologies Corporation | Compact aero-thermo model stabilization with compressible flow function transform |
| US10196985B2 (en) | 2013-03-15 | 2019-02-05 | United Technologies Corporation | Compact aero-thermo model based degraded mode control |
| WO2014143887A3 (en) * | 2013-03-15 | 2014-11-06 | United Technologies Corporation | Compact aero-thermo model based engine power control |
| US10145307B2 (en) | 2013-03-15 | 2018-12-04 | United Technologies Corporation | Compact aero-thermo model based control system |
| US10539078B2 (en) | 2013-03-15 | 2020-01-21 | United Technologies Corporation | Compact aero-thermo model real time linearization based state estimator |
| US10753284B2 (en) | 2013-03-15 | 2020-08-25 | Raytheon Technologies Corporation | Compact aero-thermo model base point linear system based state estimator |
| US10767563B2 (en) | 2013-03-15 | 2020-09-08 | Raytheon Technologies Corporation | Compact aero-thermo model based control system |
| US10774749B2 (en) | 2013-03-15 | 2020-09-15 | Raytheon Technologies Corporation | Compact aero-thermo model based engine power control |
| JP2015014873A (ja) * | 2013-07-04 | 2015-01-22 | 株式会社神戸製鋼所 | 状態推定装置、該方法及び該プログラム |
| CN107291061A (zh) * | 2017-02-22 | 2017-10-24 | 贵州北盘江电力股份有限公司董箐发电厂 | 一种基于量化评估的水电机组健康状态评估方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1552006A (zh) | 2004-12-01 |
| KR100931708B1 (ko) | 2009-12-14 |
| US6738682B1 (en) | 2004-05-18 |
| EP1425642A2 (en) | 2004-06-09 |
| CN100380261C (zh) | 2008-04-09 |
| ATE310984T1 (de) | 2005-12-15 |
| WO2003023538A3 (en) | 2003-10-23 |
| KR20040033315A (ko) | 2004-04-21 |
| EP1425642B1 (en) | 2005-11-23 |
| DE60207588T2 (de) | 2006-11-30 |
| TWI223761B (en) | 2004-11-11 |
| DE60207588D1 (de) | 2005-12-29 |
| WO2003023538A2 (en) | 2003-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005502947A (ja) | 生産システムのための状態推定およびスケジューリング方法 | |
| US6757579B1 (en) | Kalman filter state estimation for a manufacturing system | |
| Shardt et al. | Determining the state of a process control system: Current trends and future challenges | |
| Qin et al. | A survey of industrial model predictive control technology | |
| US8620468B2 (en) | Method and apparatus for developing, improving and verifying virtual metrology models in a manufacturing system | |
| CN101533273B (zh) | 过程控制系统的过程模型库的动态管理 | |
| US5710700A (en) | Optimizing functional operation in manufacturing control | |
| CN116613086A (zh) | 半导体工厂中预测等待时间的方法 | |
| US6915173B2 (en) | Advance failure prediction | |
| JP2004509407A (ja) | 半導体製造における制御を改良するための適応サンプリング方法 | |
| Pan et al. | Applying state space to SPC: monitoring multivariate time series | |
| CN101238421A (zh) | 用于监控工艺环境中的动态参数的自校正多变量分析 | |
| CN101438217A (zh) | 时间加权移动平均滤波器 | |
| Tan et al. | Optimizing digital twin synchronization in a finite horizon | |
| Hamby et al. | A probabilistic approach to run-to-run control | |
| Aumi et al. | An adaptive data-based modeling approach for predictive control of batch systems | |
| Nobar et al. | Guided Bayesian optimization: Data-efficient controller tuning with digital twin | |
| Zhu | System identification for process control: recent experience and outlook | |
| Zhu | System identification for process control: Recent experience and outlook | |
| Prabhu et al. | Performance assessment of run-to-run EWMA controllers | |
| US7020535B1 (en) | Method and apparatus for providing excitation for a process controller | |
| López-Campos et al. | Reliability Assessment Methodology for Massive Manufacturing Using Multi‐Function Equipment | |
| US20230060325A1 (en) | Deep causal learning for advanced model predictive control | |
| Hsu et al. | Multistage manufacturing processes: Innovations in statistical modeling and inference | |
| EP4673792A1 (en) | Model predictive control systems for process automation plants |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050909 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060531 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061016 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061023 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070118 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070329 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070406 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090106 |