(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-10
(45)【発行日】2023-04-18
(54)【発明の名称】k近傍およびロジスティック回帰アプローチを用いた時系列異常検出、異常分類、ならびに遷移分析
(51)【国際特許分類】
G06N 20/00 20190101AFI20230411BHJP
【FI】
G06N20/00 130
【外国語出願】
(21)【出願番号】P 2021094672
(22)【出願日】2021-06-04
(62)【分割の表示】P 2019515220の分割
【原出願日】2017-09-19
【審査請求日】2021-07-01
(32)【優先日】2016-09-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】キャントウェル, ダーモット
【審査官】多賀 実
(56)【参考文献】
【文献】特開2014-142697(JP,A)
【文献】国際公開第2009/139052(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-20/00
G05B 23/02
G06F 11/07
G06F 11/28-11/36
(57)【特許請求の範囲】
【請求項1】
1つ以上の工程中に1つ以上のセンサによって生成された過去の時系列データを受け取ることと、
前記過去の時系列データと関連付けられた複数のランダム化されたデータ点を含むトレーニングデータを生成することと、
トレーニングされた分類器を生成するために、前記トレーニングデータに基づいて、処理装置によって分類器をトレーニングすることであって、前記トレーニングされた分類器は、第1のデータ点から第2のデータ点への遷移パターンの配置を示すロジスティック回帰と関連付けられ、前記遷移パターンは、前記遷移パターン上に位置する反射点に関して反射し、前記トレーニングされた分類器は、前記1つ以上の工程の新しい実行中に生成された新しい時系列データが前記過去の時系列データと一致する確率を示すことができるものである、トレーニングすることと、
を含む方法。
【請求項2】
前記遷移パターンが、製造装置の前記1つ以上の工程における設定値の変化間の遷移に対応し、前記確率が、前記
過去の時系列データから予期される遷移軌跡からの前記新しい時系列データの偏差と関連付けられている、請求項1に記載の方法。
【請求項3】
時間窓内にある前記複数のランダム化されたデータ点のセットに基づいて、複数のランダム化されたデータ点の組み合わせを生成することと、
前記複数のランダム化されたデータ点の組み合わせに基づいて、複数の距離値を計算することであって、前記分類器の前記トレーニングが、前記複数の距離値のうちの1つ以上にさらに基づくものとされる、計算することと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記複数の距離値の前記計算が、前記複数のランダム化されたデータ点の組み合わせの各ランダム化されたデータ点の組み合わせについて、対応するランダム化されたデータ点の組み合わせと、前記複数のランダム化されたデータ点の組み合わせの各残りのランダム化されたデータ点の組み合わせとの間の、対応する距離値を計算することを含み、前記複数の距離値のうちの前記1つ以上に基づく前記分類器の前記トレーニングが、前記複数の距離値のうちの最小距離値に基づいて前記分類器をトレーニングすることを含む、請求項3に記載の方法。
【請求項5】
調整パラメータを受け取ることと、
前記調整パラメータに基づいて、前記反射点の周りの前記遷移パターンの勾配を調整することにより、前記新しい時系列データが前記過去の時系列データと一致するか否かの検出精度の感度を調整することと、
をさらに含む、請求項1に記載の方法。
【請求項6】
前記ロジスティック回帰が反射限界を有し、前記反射限界を超える前記新しい時系列データには、低い一致確率が関連付けられる、請求項1に記載の方法。
【請求項7】
前記過去の時系列データが、第1のセンサからの第1のデータと第2のセンサからの第2のデータとを含み、前記トレーニングされた分類器が、前記第1のデータと前記第2のデータとの間の時間的関係にさらに基づくものとされる、請求項1に記載の方法。
【請求項8】
1つ以上の工程中に1つ以上のセンサによって生成された現在の時系列データを受け取ることと、
処理装置によって、前記現在の時系列データをトレーニングされた分類器への入力として提供することであって、前記トレーニングされた分類器は、第1のデータ点から第2のデータ点への遷移パターンの配置を示すロジスティック回帰と関連付けられ、前記遷移パターンは、前記遷移パターン上に位置する反射点に関して反射するものである、提供することと、
前記トレーニングされた分類器から、1つ以上の出力を得ることと、
前記1つ以上の出力に基づいて、前記現在の時系列データが、前記1つ以上の工程の過去の実行中に生成された過去の時系列データと一致する確率を決定することと、
を含む方法。
【請求項9】
確率閾値を満たすような前記確率に基づいて、
警告を与えること、
製造装置の活動を阻害すること、または
前記製造装置の製造パラメータを更新すること
のうちの1つ以上を含む動作を実行することをさらに含む、請求項8に記載の方法。
【請求項10】
前記確率に基づいて、警告であって、
前記現在の時系列データが前記過去の時系列データと一致する前記確率の第1の表示、または
前記過去の時系列データと対応する一致確率を有する、前記現在の時系列データの1つ以上のセクションの第2の表示、
のうちの1つ以上を含む警告を与えることをさらに含む、請求項8に記載の方法。
【請求項11】
前記トレーニングされた分類器は、前記現在の時系列データが、k近傍(k-Nearest Neighbor;kNN)を用いて前記過去の時系列データに基づいて決定された距離値の外にあるか否かを示す、バイナリ分類器である、請求項8に記載の方法。
【請求項12】
前記遷移パターンが、製造装置の前記1つ以上の工程における設定値の変化間の遷移に対応し、前記確率が、前記
過去の時系列データから予期される遷移軌跡からの前記現在の時系列データの偏差と関連付けられている、請求項8に記載の方法。
【請求項13】
調整パラメータを受け取ることと、
前記調整パラメータに基づいて、前記反射点の周りの前記遷移パターンの勾配を調整することにより、前記現在の時系列データが前記過去の時系列データと一致するか否かの検出精度の感度を調整することと、
をさらに含む、請求項8に記載の方法。
【請求項14】
前記ロジスティック回帰が反射限界を有し、前記反射限界を超える前記現在の時系列データには、低い一致確率が関連付けられる、請求項8に記載の方法。
【請求項15】
処理装置によって実行されたときに、前記処理装置に、
1つ以上の工程中に1つ以上のセンサによって生成された過去の時系列データを受け取ることと、
前記過去の時系列データと関連付けられた複数のランダム化されたデータ点を含むトレーニングデータを生成することと、
トレーニングされた分類器を生成するために、前記トレーニングデータに基づいて分類器をトレーニングすることであって、前記トレーニングされた分類器は、第1のデータ点から第2のデータ点への遷移パターンの配置を示すロジスティック回帰と関連付けられ、前記遷移パターンは、前記遷移パターン上に位置する反射点に関して反射し、前記トレーニングされた分類器は、前記1つ以上の工程の新しい実行中に生成された新しい時系列データが前記過去の時系列データと一致する確率を示すことができるものである、トレーニングすることと、
を含む動作を実行させる命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記遷移パターンが、製造装置の前記1つ以上の工程における設定値の変化間の遷移に対応し、前記確率が、前記
過去の時系列データから予期される遷移軌跡からの前記新しい時系列データの偏差と関連付けられている、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記動作が、
時間窓内にある前記複数のランダム化されたデータ点のセットに基づいて、複数のランダム化されたデータ点の組み合わせを生成することと、
前記複数のランダム化されたデータ点の組み合わせに基づいて、複数の距離値を計算することであって、前記分類器の前記トレーニングが、前記複数の距離値のうちの1つ以上にさらに基づくものとされる、計算することと、
をさらに含む、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記複数の距離値の前記計算が、前記複数のランダム化されたデータ点の組み合わせの各ランダム化されたデータ点の組み合わせについて、対応するランダム化されたデータ点の組み合わせと、前記複数のランダム化されたデータ点の組み合わせの各残りのランダム化されたデータ点の組み合わせとの間の、対応する距離値を計算することを含み、前記複数の距離値のうちの前記1つ以上に基づく前記分類器の前記トレーニングが、前記複数の距離値のうちの最小距離値に基づいて前記分類器をトレーニングすることを含む、請求項17に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記動作が、
調整パラメータを受け取ることと、
前記調整パラメータに基づいて、前記反射点の周りの前記遷移パターンの勾配を調整することにより、前記新しい時系列データが前記過去の時系列データと一致するか否かの検出精度の感度を調整することと、
をさらに含む、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記ロジスティック回帰が反射限界を有し、前記反射限界を超える前記新しい時系列データには、低い一致確率が関連付けられる、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[001]本開示は、人工ニューラルネットワークに関し、より詳細には、システムを分析するための時系列異常検出、異常分類、および遷移分析に関する。
【背景技術】
【0002】
[002]半導体処理工程などの工程は、ある時間区間にわたる複数のステップを含む。工程は、第1のステップから第2のステップへの遷移を含み得る。時系列データは、遷移(例えば、時系列遷移)を含む時間区間にわたって収集されたデータである。通常、半導体製造工程に関するセンサデータを分析するために、統計的方法(例えば、統計的工程管理(SPC))が利用される。しかし、SPCやその他の統計的な工程監視方法では、時系列遷移を監視することはできない。統計的方法は、時間とともにセンサから受信されたデータ中の短時間の信号摂動を検出することができない。統計的方法はまた、誤検出(例えば、信号のごく一部がガードバンドの外側にあるために、信号全体がターゲット信号と一致していない、ということ)をもたらし、異常検出の感度の調整を可能にしない。
【0003】
[003]本開示は、添付の図面の図において、限定ではなく例として示されている。
【図面の簡単な説明】
【0004】
【
図1】ネットワークアーキテクチャの一実施形態を示す。
【
図3】時系列遷移分析の方法の他の実施形態を示す。
【
図4】時系列遷移分析における時系列データを示す。
【
図5A】時系列遷移分析におけるランダム化されたデータ点の組み合わせと時間窓を示す。
【
図5B】時系列遷移分析におけるランダム化されたデータ点間の距離を示す。
【
図6】時系列遷移分析におけるトレーニングセットからの距離を示す。
【
図7】時系列遷移分析におけるトレーニングセットからの距離を示す。
【
図8】時系列遷移分析におけるロジスティック回帰を示す。
【
図9】時系列遷移分析におけるロジスティック回帰に対するシータの影響を示す。
【
図10】時系列遷移分析における時系列データと一致する確率を示す。
【
図11】時系列遷移分析における時系列データと一致する確率を示す。
【
図12A】時系列遷移分析における時系列データを示す。
【
図12B】時系列遷移分析におけるトレーニングセットからの距離を示す。
【
図12C】時系列遷移分析におけるロジスティック回帰を示す。
【
図13】時系列遷移分析における時系列データと一致する確率を示す。
【
図14】時系列遷移分析における複数の入力に対する時系列データを示す。
【
図15】時系列遷移分析における複数の入力に対する時系列データと一致する確率を示す。
【発明を実施するための形態】
【0005】
[0023]本開示の実施形態は、データの時系列遷移分析のための方法およびシステムに関する。例えば、データサンプルは、半導体処理装置からのセンサデータであってもよい。一実施形態では、この方法およびシステムは、新しい時系列データが以前の時系列データと一致する確率を検出することができる。実施形態において、時系列遷移分析は、k近傍(kNN)分析とロジスティック回帰(LR)との組み合わせを使用することによって実行され得る。本開示の実施形態は、時系列遷移分析の感度を調整することができるという点で、拡張可能である。
【0006】
[0024]工程(例えば、製造工程)が、より短いステップ時間、より小さな部品、より厳しい公差などを含むほど、遷移(例えば、製造工程においてステップAからステップBへどのように進むか)が、より重要になる。工程が遷移をオーバーシュートまたはアンダーシュートする場合(例えば、10度から20度への遷移が速すぎる、10度から20度への遷移が遅すぎる、など)、問題が発生する可能性がある。繰り返し精度の高い実行は、一貫した遷移を含む。従来の監視方法(例えば、SPC)は、過渡的な時系列を監視することができず、時間とともにセンサから受信されたデータ(本明細書ではセンサ時系列データと呼ぶ)における短時間の信号摂動を検出することができない。これらの短い異常は、欠陥(例えば、ウェハ上欠陥)を引き起こしたり、歩留まりを低下させる可能性がある。
【0007】
[0025]時系列遷移分析は、時系列遷移を監視する能力を提供する。時系列遷移分析は、従来の方法では検出できない、まれで、奇妙な、および/または予想外のシーケンス(例えば、時系列データ(サンプルに対してプロットされた値)の曲線の形状、大きさ、位置など;
図4参照)を検出することができる。一実施形態では、時系列遷移の監視は、過去の時系列データから予期される遷移軌跡を推定し、新しい時系列データの軌跡を過去の時系列データの軌跡と比較することによって、実行される。時系列遷移分析はまた、短い異常を検出することができ、検出の精度を上げるまたは下げるための調整パラメータを提供することができる。時系列遷移分析はまた、従来の手法の誤検出率を克服し得る。例えば、ガードバンド分析は、信号のごく一部がガードバンドの外側にあるために信号全体がターゲット信号と一致していない、という誤検出をもたらすことがあるが、時系列遷移分析は、信号がターゲット信号と一致する確率を提供し、誤検出をもたらさない。別の実施形態では、時系列遷移分析を使用して、短時間の信号摂動を検出することができる(例えば、FDCの全てのインスタンスをサーチするために、摂動のサインを捕らえる(例えば、類似検索))。
【0008】
[0026]時系列データの異常検出分類(FDC)は、単一のセンサからのデータを監視することがあるが、これは、分類を不正確にする可能性がある。時間的に共に変化する複数の信号を監視することによって、より多くの情報を抽出することができる(例えば、圧力スパイクの前のバルブ位置の変化は、圧力制御ロジックに問題があることを示し、バルブ位置の変化の前の圧力スパイクは、圧力センサに問題があることを示す、など)。本明細書に開示された技術は、時間的に共に変化する結合信号を扱う。
【0009】
[0027]時系列遷移分析は、時系列監視を達成するために、k近傍(kNN)法(例えば、kNNアルゴリズム)をロジスティック回帰(LR)バイナリ分類器と組み合わせてもよい。時系列データにおける特定のエクスカーションが、kNNとLRの組み合わせを使用して検出され得る。時系列遷移分析は、kNNを使用して、時間窓(例えば、100秒の時間区間における1秒のスライディング時間窓)当たりの短期の時系列遷移を単一の次元に減らして、予期される挙動からの距離を決定することができる。時系列遷移分析は、LRを使用して、新しい時系列データがターゲットパターンを有するか否か(例えば、新しい時系列データが、kNN法によって決定された距離の外側にあるかどうか)の確率を生成するために使用されるバイナリ分類器を構築することができる。
【0010】
[0028]時系列遷移分析は、時系列データを考慮して工程における設定値の変化間の遷移を検出し、新しい時系列データにおける予期される遷移軌跡からの偏差を検出するために、使用され得る。予期される遷移軌跡は、時系列データによって定められてもよい。
【0011】
[0029]
図1は、一実施形態によるネットワークアーキテクチャ100を示す。最初に、時系列遷移分析システム102が、物理的プロセスシステム104などのシステムを規定する、および/またはシステムを監視するために使用されるデータソース106A~N(例えば、センサ)を特定する。物理的プロセスシステム104は、エッチングリアクタ用チャンバ、堆積チャンバなどの半導体処理装置であってもよい。ユーザは、クライアントマシン110を介してデータソース106A~Nのうちの様々なデータソースから時系列データ(例えばサンプル)を(例えばグラフィカルユーザインターフェース(GUI)を介して)選択することができる。時系列遷移分析システム102は、トレーニングデータセットを生成し、トレーニングデータセットと時系列データに基づいて距離値を計算する。
【0012】
[0030]一実施形態において、ユーザはまた、クライアントマシン110を介してエクスカーション108(すなわち、異常なシステム挙動の定義されたパラメータ)を選択することができ、エクスカーション108は、時系列遷移分析システム102によって永続記憶装置112に格納することができる。
【0013】
[0031]例えば、物理的プロセスシステム104は、製造ツールを含むことができ、または直接もしくはネットワーク(例えば、ローカルエリアネットワーク(LAN))を介して製造ツールに接続することができる。製造ツールの例には、電子デバイスの製造のための、エッチャー、化学気相堆積炉などの半導体製造ツールが含まれる。そのようなデバイスの製造は、レシピとして知られる様々なタイプの製造工程を含む数十の製造ステップを含むことができる。
【0014】
[0032]物理的プロセスシステム104は、システムを制御するために、デスクトップコンピュータ、ラップトップコンピュータ、プログラマブルロジックコントローラ(PLC)、ハンドヘルドコンピュータ、または同様のコンピューティングデバイスを含む任意のタイプのコンピューティングデバイスを含むことができる。センサなどのデータソース106は、物理的プロセスシステム104および/もしくは製造ツールの一部であってもよいし、または物理的プロセスシステム104および/もしくは製造ツールに(例えばネットワークを介して)接続されてもよい。
【0015】
[0033]クライアントマシン110は、デスクトップコンピュータ、ラップトップコンピュータ、移動体通信装置、携帯電話、スマートフォン、ハンドヘルドコンピュータ、または同様のコンピューティングデバイスを含む任意のタイプのコンピューティングデバイスであってよい。
【0016】
[0034]一実施形態において、物理的プロセスシステム104、データソース106、永続記憶装置112、およびクライアントマシン110は、時系列遷移分析システム102に接続されており、これは、直接的接続であってもよいし、またはハードウェアインターフェース(図示せず)、もしくはネットワーク(図示せず)を介した間接的接続であってもよい。ネットワークは、企業内のイントラネットなどのローカルエリアネットワーク(LAN)、無線ネットワーク、移動体通信ネットワーク、またはインターネットもしくは同様の通信システムなどの広域ネットワーク(WAN)とすることができる。ネットワークは、有線および無線デバイスなどの任意の数のネットワーキングおよびコンピューティングデバイスを含むことができる。
【0017】
[0035]上記の機能分割は、単なる例示である。他の実施形態において、説明された機能は、モノリシック構成要素に組み合わされてもよいし、または任意の組み合わせの構成要素になるように、さらに分割されてもよい。例えば、クライアントマシン110および時系列遷移分析システム102は、単一のコンピュータシステム上、別々のコンピュータシステム上、またはそれらの組み合わせ上で、サービス提供されることができる。
【0018】
[0036]
図2は、時系列遷移分析のための方法200の一実施形態を示す。方法200は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令)、またはそれらの組み合わせを含むことができる処理ロジックによって実行することができる。一実施形態では、方法200は、
図1の時系列遷移分析システム102によって実行される。
【0019】
[0037]
図2のブロック202において、時系列遷移分析システム102の処理ロジックが、
図4に示すような、時系列データ402(例えばターゲット信号)を受け取る。1つ以上のセンサが、工程(例えば、製造工程)中に時系列データ402を生成し得る。時系列データ402は、第1の複数のデータ点を含むことができる。第1の複数のデータ点は、時系列データ402のサンプルにおけるデータ点を含んでもよい。例えば、
図4に示すように、サンプルは、n=25およびn+1=50で取得され得る。時系列データ402の値は、約[0,4]にt(n)およびt(n+1)を含み得る。
【0020】
[0038]
図2に戻ると、ブロック204において、時系列遷移分析システム102の処理ロジックは、
図5Aに示されるような、ランダム化されたデータ点502(例えば、ランダムサンプル)を含むトレーニングデータセットを生成する。ランダム化されたデータ点502は、時系列データ402からの1つ以上のエクスカーションについての予期される範囲の分布を含み得る。分布は、正規分布でも他の分布でもよい。一実施形態では、100個のランダムサンプルが生成され、各ランダムサンプルは、時系列データからのエクスカーションを表す。
図5Aの例に示すように、ランダム化されたデータ点502は、各データ点(例えば、nおよびn+1)でのエクスカーションを含む。例えば、データ点は、n=25とn=50で[0,4]の周りに密集している。ランダム化されたデータ点502は、時系列データ402のパターンのためのトレーニングセットとして使用されてもよい。ランダム化されたデータ点502の各ランダム化されたデータ点は、時系列データ402からの第1の複数のデータ点のうちの1つに対応し得る。
【0021】
[0039]
図2に戻ると、ブロック206において、時系列遷移分析システム102の処理ロジックは、
図5Aに示すような、時間窓506内にあるランダム化されたデータ点502のセットを用いて、ランダム化されたデータ点の組み合わせを生成する。例えば、ランダム化されたデータ点の組み合わせは、0からn(例えば、25)までの時間窓506のインスタンス内のランダム化されたデータ点502aのうちの1つと、nからn+1まで(例えば、25から50まで)の時間窓506のインスタンス内のランダム化されたデータ点502bのうちの1つとを含み得る。一実施形態では、処理ロジックは、ランダム化されたデータ点を、時間窓506の最後に生成してもよい(例えば、
図5A参照)。別の実施形態では、処理ロジックは、ランダム化されたデータ点を、時間窓506の中央に生成してもよい。別の実施形態では、処理ロジックは、ランダム化されたデータ点を、時間窓506の最初に生成してもよい。
【0022】
[0040]時間窓506は、スライディング時間窓であってもよく、工程は、スライディング時間窓よりも長い時間区間にわたって行われてもよい。スライディング時間窓は、現在から時間的に後戻りする期間であってもよい。例えば、2秒間のスライディング窓は、過去2秒間に発生した任意のサンプルまたはデータ点を含み得る。スライディング時間窓の一実施形態において、第1のインスタンスは0~25とすることができ、第2のインスタンスは25~50とすることができる、などである。したがって、窓は、25秒スライドする。スライディング時間窓の別の実施形態において、第1のインスタンスはまた0~25とすることができ、第2のインスタンスは1~26とすることができ、次いで2~27とすることができる、などである。したがって、時間窓は、1秒(または他の時間単位)スライドする。
【0023】
[0041]ランダム化されたデータ点の組み合わせの生成は、スライディング時間窓506の複数のインスタンスの各々に対して実行され得る。複数のインスタンスの各インスタンスは、時間区間内の異なる期間にわたってもよい(例えば、ランダム化されたデータ点の組み合わせは、nにおける第1のデータ点およびn+1における第2のデータ点からのサンプルを含む)。
【0024】
[0042]
図2に戻って、ブロック208において、時系列遷移分析システム102の処理ロジックは、ランダム化されたデータ点の組み合わせに基づいて距離値を計算する。第1の距離値は、第1のランダム化されたデータ点の組み合わせに対して計算されてもよい。第1の距離値は、第1の複数のデータ点の第1のサブセットから複数のランダム化されたデータ点のセットの第1のサブセットまでの合成された距離を表してもよい。距離値の計算は、スライディング時間窓の複数のインスタンスの各々に対して実行され得る。
【0025】
[0043]
図5Bに示すように、ランダム化されたデータ点が組み合わされて、ランダム化されたデータ点の組み合わせ507を提供し、各々が、t(n)からの第1のランダム化されたデータ点およびt(n+1)からの第2のランダム化されたデータ点を含む。これらのランダム化されたデータ点の組み合わせ507は、k近傍アルゴリズムを使用して距離値を計算するために使用され得る。
【0026】
[0044]処理ロジックは、k近傍(kNN)アルゴリズムを使用して、時間窓506の各インスタンスに対する距離閾値を計算することができる。例えば、第1の距離閾値は、時間t=25における時間窓506に対して(例えば、時間0~25におけるデータ点を使用して)生成され、第2の距離閾値は、時間t=26における時間窓506に対して(例えば、時間1~26におけるデータ点を使用して)生成され得る、などである。距離閾値の計算は、複数のランダム化されたデータ点の組み合わせ507の各々について、トレーニングデータセットから、ランダム化されたデータ点の組み合わせ507と残りの各ランダム化されたデータ点の組み合わせ507との間のユークリッド距離を計算することを含み得る(
図5B参照)。距離閾値の計算は、計算されたユークリッド距離から最小ユークリッド距離を特定することを含み得る。最小ユークリッド距離が、距離閾値であり得る。
【0027】
[0045]kNN型アルゴリズムを使用して、トレーニングデータセットは、エクスカーションサンプルとトレーニングデータとの間の距離を推定するために使用され得る。ランダム化されたデータ点の組み合わせを含む各トレーニングサンプルについて、このサンプルとトレーニングセット内の他の全てとの間のユークリッド距離を計算することができ、k番目に小さい値を格納することができる。サンプルjに対して、距離は、d
j=small
k(x
j-X)の式で計算される。ここで、Xは、nxmの行列である。値nは、トレーニングサンプルの数(例えば、100個のランダムサンプル)を表す。mの値は、時間サンプルまたはデータ点の数(例えば、
図4~
図6に示す例では、n=25およびn+1=50の2つの時間サンプル)を表すことができる。変数x
jは、m要素ベクトル(例えば、[0,4])であり得、Xにおけるj番目の行を表し得る。このプロセスが、トレーニングセット内の全てのサンプルに対して繰り返され、n個の要素を有する隣接ベクトルまたは限界ベクトルLが得られる。隣接ベクトルまたは限界ベクトルLを使用して、単純な分類器をトレーニングするための十分に分離されたトレーニングセットを作成することができる。トレーニングセットからのランダムサンプルが選択されて、各サンプルについてk
nn=small
k(x
j-X)を計算することができる。トレーニングセットからではないランダムサンプルが選択されて、視覚化の目的で、k
nn値が計算されてもよい。
【0028】
[0046]
図6に示すように、エクスカーションパターンからランダムサンプルを選択し(サンプルクラス602a)、k
nnメトリックを推定した。非エクスカーション挙動を示すランダムサンプルを選択し(サンプルクラス602b)、k
nnメトリックを推定した。サンプルクラス602aは、サンプルクラス602bよりもトレーニングセットまでの距離が小さい。
図6において、2次元の信号が、線形分離可能に見える1次元のメトリックに変えられている。
【0029】
[0047]この上述のプロセスは、2つのデータ点を含むサンプルについて説明された。しかしながら、この同じプロセスは、多次元入力を単一のメトリック(例えば、サンプルとトレーニングデータとの間のk番目の距離)に変えるために、多次元に一般化することができる。全ての潜在的な値について
図6を検討すると、1つの最小値が、約[0,4]のエクスカーション位置にある。
図7A~
図7Bは、複数の入力パターンに対するkNNメトリックを示し、最小値が約[0,4]に現れることを示す。
【0030】
[0048]
図2に戻り、ブロック210において、時系列遷移分析システム102の処理ロジックは、計算された距離値に基づいて分類器を生成する。処理ロジックは、複数の計算された距離に基づいて距離閾値を決定することによって、分類器を生成することができる。分類器の生成は、スライディング時間窓506の複数のインスタンスの各々に対して実行されてもよい。分類器は、ロジスティック回帰を使用して生成されてもよい。
【0031】
[0049]処理ロジックは、トレーニングデータからロジスティック回帰802(ロジットフィット(logit fit);
図8に示されるような)を決定することができる(例えば、信号がエクスカーションに一致する確率を与えるロジットフィット802をトレーニングデータに対して生成する)。トレーニングデータは、元の時系列データ、ならびにランダム化されたデータ点の組み合わせおよびそれらの計算された距離値を含み得る。式p(y|X)=1/(1+e
-β*X)を用いて、ロジスティック回帰802を決定することができる。トレーニングデータが、βを推定するために使用される。
図8に示すように、ロジスティック回帰802は、第1のデータ点(サンプルクラス602a)から第2のデータ点(サンプルクラス602b)への遷移パターンの配置を含み得る。遷移パターンは、遷移パターン上の中心に位置する反射点804に関して反射し得る。時系列データ402は、臨界的な遷移を有する階段関数として検出されてもよい(例えば、短いステップの階段堆積)。時系列遷移分析を使用して、制限のある手法によって発生した誤検出を克服することができる。
【0032】
[0050]時系列遷移分析は、調整パラメータを利用することができる。時系列遷移分析は、仕様外のサンプルがどれだけ距離に寄与するかを、制御し得る。仕様外のサンプルの寄与量を増やすと、システムの感度が上がる。反射点804を高くすると、システムの感度が下がる。ロジスティック回帰802の勾配を調整することは、反射804に近いサンプルの確率を変える。ロジスティック回帰802は反射限界(例えば、垂直線)を有してもよく、反射限界を超えるいかなるサンプルも、予期される挙動と一致しないと見なされ得る。一実施形態では、
図8に示すものよりも浅いまたは浅くない遷移パターンが望ましい場合がある。遷移の浅さを大きくまたは小さくするように調整するための調整パラメータとして、シータが使用されてもよい。
【0033】
[0051]
図9は、より浅い遷移を生じるように調整されたシータ902を有するロジスティック回帰802を示す。より浅い遷移において、全ての入力t
nとt
n+1に対して確率を推定することができる。βの推定値を使用して、確率は、
図7A~
図7Bで決定された最小値で最大になり得る。
【0034】
[0052]処理ロジックは、確率の決定の感度を調整するための第1のパラメータ(例えば、シータ902)を受け取ることができる。例えば、シータ902aは1の値を有し、シータ902bは2の値を有し、シータ902cは5の値を有することができる。処理ロジックは、第1のパラメータ902を考慮して、反射点804の周りの遷移パターンの浅さを調整することができる。シータ902を変更することによって調整を低感度、高感度などに設定するために、調整ノブが使用されてもよい。
【0035】
[0053]
図2に戻って、ブロック212において、時系列遷移分析システム102の処理ロジックは、分類器を使用して、新しい時系列データが元の時系列データと一致する確率を決定する。処理ロジックは、新しい時系列データを受け取って、時間窓506内の元の時系列データと時間窓506内の新しい時系列との間の第2の距離値を計算することができる。処理ロジックは、分類器を使用して、時間窓506内の新しい時系列データが距離閾値を超える第2の距離値を有するかどうかを決定し、時間窓506内の新しい時系列データが距離閾値を超えていると決定したことに応答して異常通知または通知を生成することができる。
【0036】
[0054]
図10A~
図10Bは、入力ペアが時系列データ402と一致する確率を、全ての値[t
n,t
n+1]について示す(例えば、[0,4]で最大)。
【0037】
[0055]
図11A~
図11Dは、時系列遷移分析を用いて、様々な新しい時系列データ1002が時系列データ402と一致する確率を示す。
図11Aにおいて、新しい時系列データ1102aは、時系列データ402のパターンとほぼ一致するパターンを有し、その結果、確率は約1となる。
図11Bにおいて、n=25で新しい時系列データ1102bは、予期されるよりも大きいため、時系列データ402と一致する確率は約0.93である。
図11Cにおいて、新しい時系列データ1102cは、時系列データ402よりも、n=25で高く、n=50で低いため、ターゲット信号と一致する確率は約0.5である。
図11Dにおいて、新しい時系列データ1102dは、時系列データ402よりも、n=25でかなり高く、n=50でかなり低いため、ターゲットと一致する確率は約0である。
【0038】
[0056]
図3は、時系列遷移分析のための方法300の一実施形態を示す。方法300は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令)、またはそれらの組み合わせを含むことができる処理ロジックによって実行することができる。一実施形態では、方法300は、
図1の時系列遷移分析システム102によって実行される。
【0039】
[0057]ブロック302において、処理ロジックは、第1の複数のデータ点を含む時系列データ1102a~dを受け取る(
図11A~
図11D参照)。第1の複数のデータ点の各々は、異なる時間に関連付けられてもよい。時系列データは、工程中にセンサによって生成されてもよい。
【0040】
[0058]ブロック304において、処理ロジックは、時間窓1106内にある時系列データ1102a~dからの第1の複数のデータ点の第1のサブセットを、以前の時系列データ402からの第2の複数のデータ点の第2のサブセットと比較する。時間窓1106は、指定された量だけ現在の時点から時間的に後方に延びるスライディング時間窓とすることができる。スライディング時間窓は、指定された量だけ現在の時点から時間的に前に延びてもよい。
【0041】
[0059]ブロック306において、処理ロジックは、第2の複数のデータ点の第2のサブセットから第1の複数のデータ点の第1のサブセットまでの合成された距離を表す距離値を計算する。
【0042】
[0060]ブロック308において、処理ロジックは、距離値が距離閾値を超えているかどうかを決定する(
図11A~
図11D参照)。
【0043】
[0061]ブロック310において、処理ロジックは、距離値が距離閾値を超えていると決定したことに応答して通知を出力する。一実施形態において、通知は、新しい時系列データが時系列データ402と一致する確率の表示を含む(例えば、新しい時系列データ1102aに対して0.996、新しい時系列データ1102bに対して0.026、新しい時系列データ1102cに対して0.502、新しい時系列データ1102dに対して0)。一実施形態において、通知は、新しい時系列データが、時系列データ402と一致する確率閾値(例えば、0.5、0.85)を下回っている、新しい時系列データのセクション(例えば、新しい時系列データに対応する時間窓の区間)の表示を含む。一実施形態において、通知は、グラフィカルユーザインターフェースを介して(例えば、グラフ、チャート、テキストなどを介して)表示されてもよい。一実施形態において、通知は、可聴、視覚的、などの警告のうちの1つ以上である。一実施形態において、通知は、電話、電子メール、テキストなどのうちの1つ以上によって送られる。一実施形態において、通知の出力は、ツール、機器、構成要素、プラントなどのうちの1つ以上に、活動を中止する、活動を休止する、活動の速度を落とす、停止する、などのうちの1つ以上を行わせる。
【0044】
[0062]時系列遷移分析は、異常検出のために使用され得る。一実施形態において、異常検出分類(FDC)は、既知の欠陥および/または異常なサインについてレシピセンサデータを自動的にサーチする。予期される挙動が過去の挙動から推測され得るので、ユーザセットアップ費用を低くすることができる。既知の欠陥ライブラリは、レシピ設定値とは無関係であり得る。同じライブラリを複数のレシピで使うことができる。欠陥ライブラリは、制御された環境で社内で開発し、現場に展開することができる。既知の欠陥は、既知の欠陥の迅速な解決を可能にする是正措置を有することができる。異常なサインについてトラブルシューティングの知識を得ることができる(例えば、関心のあるトレースまたはセンサデータがユーザに対してハイライトされ、ユーザは、異常なサインにタグ付けまたは異常なサインを分類することができ、さらに是正措置を追加することもできる)。一般的なユースケースには、既知の欠陥に関する後処理レシピデータ、ならびにトラブルシューティングおよび新しい欠陥に関する知識の獲得が含まれる。
【0045】
[0063]時系列遷移分析は、従来の方法(例えば、SPC、標準的な異常監視方法)によって検出できない異常挙動について時系列をサーチするために、時系列エクスカーションの検出に使用され得る。予期される挙動が過去の挙動から推測されるので、ユーザセットアップ費用を低くすることができる。アルゴリズムは、他の手法(例えば、単純なガードバンド監視)に固有の誤検出を許容するように設計することができる。時系列エクスカーションを保存して、過去のデータまたは将来のデータをサーチするために使用することができる。トラブルシューティングの知識を得ることができる。一般的なユースケースには、既知の欠陥に関する後処理レシピデータ、トラブルシューティングおよび新しい欠陥に関する知識の獲得、過渡的な時系列の分析、ならびに繰り返し精度分析が含まれる。
【0046】
[0064]時系列遷移分析は、工程にエラーが発生しているときに問題を特定するために、使用され得る。例えば、チャンバに断続的な圧力スパイクが発生していても、ツールからのデータエクスポートの不足、または社内もしくは現場でのエラーの再現が不可能なため、根本的な原因と解決策を見つけることが困難であるかもしれない。時系列遷移分析を使用して、ツールの過去の周期的データのサブセットをエクスカーション挙動についてサーチすることができる。エクスカーション挙動が見い出されて(例えば、エクスカーションサーチが、予期される挙動と一致しない複数のランを特定する)、ツールデータのスパイクと一致し、エクスカーションが再びサーチされ得る。エクスカーションが数回発生すると、問題の効率的なトラブルシューティングと解決が可能になり得る。この問題は、特定の構成要素(例えば、ポンプを開閉して圧力読み取り値に変動を生じさせる特定のバルブ)の機能として特定されてもよい。
【0047】
[0065]時系列遷移分析は、不安定性を検出するためにも使用され得る。例えば、ツールは、あるレシピ上で、より低い電力のサインを用い得る。候補レシピが、ツール上で連続的に循環され得る。全てのランの手動分析は実行不可能であり得るので、断続的な低い確率および/または頻度の問題は、見逃されるかもしれない。異常検出および時系列エクスカーション検出を使用して、候補レシピの全てのランの全てのステップについて電力および反射電力を分析することができる。分析により、ランの割合で疑わしい挙動をすばやく特定することができる。観察されたいくつかの欠陥は、歩留まりへの潜在的な影響を有する可能性がある。プロセス開発チームへのフィードバックは、レシピの変更とプロセスの繰り返しを促すことができる。エクスカーションは、約5%減少し得る。
【0048】
[0066]
図12Aは、時系列遷移分析における時系列データを示す。
図12Aに示すように、時系列データ402のn個のサンプルまたはデータ点が、
図4に示されている時間窓における2個のサンプルの代わりに、取られている。一実施形態において、サンプルは、[5,10,15…95]で取られ、その結果19個のサンプルとなり、方法200または300は、2次元問題ではなく19次元問題となる。時系列遷移分析(例えば、方法200、方法300)を使用して、トレーニングセットが、各サンプル点におけるターゲット信号について作成される。
【0049】
[0067]
図12Bに示すように、エクスカーションパターンからランダムサンプルを選択し(クラス602a)、k
nnメトリックを推定した。非エクスカーション挙動を示すランダムサンプルを選択し(クラス602b)、k
nnメトリックを推定した。
図12Cに示すように、ロジスティック回帰802が、5のシータを使用して生成される。
図13A~
図13Dに示されるように、ロジスティック回帰802を使用して、様々な入力信号について、様々な入力信号が時系列データ402と一致する確率を評価することができる。時系列データ402は、トレーニングされた分類器が生成されるパターンである。新しい時系列データ1302a~dは、元の時系列データ402に関連付けられた特定の工程の追加の実行における新しい信号である。
図13Aにおいて、新しい時系列データ1302aは、時系列データ402に対してシフトされており、一致の確率は約0.6である。
図13Bにおいて、新しい時系列データ1302bは、n=0からn=50において時系列データ402よりも高く、一致の確率は約0.7である。
【0050】
[0068]
図14に示すように、時系列データ402は、第1のセンサからの第1のデータ1402(例えば、時系列データ1402)と、第2のセンサからの第2のデータ1404(例えば、時系列データ1404)とを含み得る。処理ロジックは、第1のデータと第2のデータとの間の時間的関係を決定してもよい(例えば、FDCのための時間的に間隔を置いた共変量信号を捕捉する)。各時系列データは、各信号上で異なるパターンを有することができる。
図14において、時系列データ1404におけるくぼみは、時系列データ1402における増加と関連付けられてもよい(例えば、時系列データ1402における増加を引き起こしてもよい)。時系列遷移分析(例えば、方法200、方法300)を使用して、時系列データ1402および1404の関連したパターンを検出することができる。一実施形態において、時系列データ1402および1404を連結して、単一のトレーニングベクトルが作成される(例えば、39次元問題を作成する)。ロジスティック回帰およびkNNアルゴリズムを使用して、様々な入力信号が時系列データ1402および1404と一致する確率、ならびに時系列データ1402と1404との間の関係を評価することができる。
図15A~
図15Dは、入力信号1502および1504が時系列データ1402および1404と一致する確率を示す。
【0051】
[0069]一実施形態において、各時系列データ402について1つずつ、2つのトレーニングセットが作成され、2次元ロジスティック回帰802が使用される。
【0052】
[0070]一例では、時系列遷移分析は、3つのセンサによって測定されたデータを受け取ることができる。データは、順方向電力データ、反射電力データ、および圧力データを含むことができる。3つのセンサからの3つの信号と、それらの共分散は、プラズマ生成の偏差のサインを示し得る。時系列遷移分析は、3つのセンサによって測定されたデータ内に、ある時間区間にわたって異常なサインがあると決定することができる。予期からの偏差は、主に順方向電力信号において、その時間区間が始まって約0.4秒にあり得る。この偏差は、通常よりも高い反射電力のサインを同時に引き起こし得る。これは、プラズマ生成の問題を示している可能性がある。圧力は、正しい形状を示しているが、約0.5秒シフトしている可能性がある。圧力スパイクは、反射電力が発生したときの目印となり得る。3つのセンサからのデータの時系列遷移分析は、何がプラズマ生成偏差を引き起こしたかを決定するために、1つ以上の他の信号データに影響を及ぼした異常なサインの開始位置を特定することができる。
【0053】
[0071]
図16は、例示的なコンピューティングデバイス(またはシステム)1600を示すブロック図である。一実施形態において、コンピューティングデバイス(またはシステム)1600は、
図1の時系列遷移分析システム102であり得る。コンピューティングデバイス1600は、コンピューティングデバイス1600に、本明細書で論じられた方法のうちの任意の1つ以上の方法を実行させるための命令のセットを含む。このマシンは、クライアント-サーバネットワーク環境においてサーバマシンとして動作してもよい。マシンは、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって実行されるべき動作を指定する命令のセット(シーケンシャルまたはその他)を実行できる任意のマシンであってよい。さらに、単一のコンピューティングデバイスしか示されていないが、「コンピューティングデバイス」という用語は、本明細書に記載の方法のうちの任意の1つ以上の方法を実施するための命令のセット(または複数のセット)を個別にまたは共同で実行する任意のマシンの集まりを含むものとする。
【0054】
[0072]例示的なコンピューティングデバイス1600は、処理システム(処理装置)1602、メインメモリ1604(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)等)、スタティックメモリ1606(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)等)、およびデータ記憶装置1616を含み、これらはバス1608を介して互いと通信する。
【0055】
[0073]処理装置1602は、マイクロプロセッサ、中央処理装置などの1つ以上の汎用処理装置を表す。より具体的には、処理装置1602は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、もしくは命令セットの組み合わせを実装するプロセッサであってもよい。処理装置1602は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つ以上の専用処理装置であってもよい。処理装置1602は、本明細書で説明した動作およびステップを実行するように構成されている。
【0056】
[0074]コンピューティングデバイス1600は、ネットワークインターフェース装置1622をさらに含むことができる。コンピューティングデバイス1600はまた、ビデオディスプレイユニット1610(例えば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力装置1612(例えば、キーボード)、カーソル制御装置1614(例えば、マウス)、および信号発生装置1620(例えば、スピーカー)を含んでもよい。
【0057】
[0075]データ記憶装置1616は、本明細書で説明された方法または機能のうちの任意の1つ以上を具現化する1つ以上の命令セット1626を記憶するコンピュータ可読記憶媒体1624を含むことができる。一実施形態において、命令1626は、時系列遷移分析システム102を含む。コンピュータ可読記憶媒体1624は、コンピュータシステムによって実行されたときに、コンピュータシステムに時系列遷移分析(例えば、方法200、方法300など)を含む一組の動作を実行させる命令を含む非一時的コンピュータ可読記憶媒体であってもよい。命令1626はまた、コンピューティングデバイス1600による実行中に、完全にまたは少なくとも部分的に、メインメモリ1604内および/または処理装置1602内に存在してもよく、メインメモリ1604および処理装置1602が、コンピュータ可読媒体を構成してもよい。命令1626はさらに、ネットワークインターフェース装置1622を経由してネットワーク1628を介して送信または受信されてもよい。
【0058】
[0076]コンピュータ可読記憶媒体1624は、例示的な実施形態において、単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、1つ以上の命令セットを格納する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むものとする。「コンピュータ可読記憶媒体」という用語はまた、マシンによって実行され、本開示の任意の1つ以上の方法をマシンに実行させる命令のセットを格納、符号化または保持することができる任意の媒体を含むものとする。したがって、「コンピュータ可読記憶媒体」という用語は、限定しないが、固体メモリ、光媒体、および磁気媒体を含む。
【0059】
[0077]以下の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現によって提示されている。これらのアルゴリズムの記述および表現は、データ処理分野の当業者が自分の仕事の内容を他の当業者に最も効果的に伝えるために使用する手段である。ここで、また一般的に、アルゴリズムは、ある結果を導く首尾一貫した一連のステップであると考えられる。ステップは、物理量の物理的操作を含むステップである。必ずというわけではないが、通常、これらの量は、格納、転送、結合、比較、およびその他の操作が可能な電気信号または磁気信号の形をとる。主に一般的な使用のために、これらの信号をビット、値、要素、記号、文字、用語、数などと呼ぶことが便利である場合がある。
【0060】
[0078]ただし、これらおよび類似の用語は全て、適切な物理量に関連付けられるべきであり、これらの量に適用される単に便利なラベルにすぎないことに、留意されたい。以下の説明から明らかなように特に明記しない限り、説明全体を通して、「決定する」、「特定する」、「比較する」、「送信する」などの用語を利用する議論は、コンピュータシステムのレジスタおよびメモリ内の物理(例えば電子的)量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタまたは他の情報記憶装置、伝送装置もしくは表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステム、または同様の電子コンピューティングデバイスの動作およびプロセスを指すことが、理解される。
【0061】
[0079]本開示の実施形態はまた、本明細書中の動作を実行するためのシステムに関する。このシステムは、本明細書に記載の目的のために特別に構築することができ、あるいはコンピュータに格納されたコンピュータプログラムによって選択的に作動または再構成される汎用コンピュータを含むことができる。そのようなコンピュータプログラムは、限定されないが、フロッピーディスク、光ディスク、CD-ROM、および光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光カード、フラッシュメモリ、または電子的命令を格納するのに適した任意のタイプの媒体などのコンピュータ(または機械)可読記憶媒体に格納することができる。
【0062】
[0080]本明細書に提示されたアルゴリズムおよび表示は、いかなる特定のコンピュータまたは他の装置にも本質的に関連していない。本明細書の教示に従って、様々な汎用システムをプログラムと共に使用することができ、または方法ステップを実行するためのより特殊化された装置を構築することが便利であり得る。これらの様々なシステムの構造は、本明細書の説明から明らかになるであろう。さらに、本開示の実施形態は、任意の特定のプログラミング言語を参照して説明されてはいない。本明細書に記載されているような本開示の教示を実施するために様々なプログラミング言語を使用できることが理解されよう。
【0063】
[0081]上記の説明は例示的であり限定的ではないことを意図していることを、理解されたい。上記の説明を読んで理解すれば、他の多くの実施形態が、当業者に明らかとなろう。したがって、本開示の範囲は、特許請求の範囲が権利を有する等価物の全範囲とともに、添付の特許請求の範囲を参照して、決定されるべきである。