IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アプライド マテリアルズ インコーポレイテッドの特許一覧

<>
  • 特許-異常の検出及び類別 図1
  • 特許-異常の検出及び類別 図2
  • 特許-異常の検出及び類別 図3
  • 特許-異常の検出及び類別 図4
  • 特許-異常の検出及び類別 図5
  • 特許-異常の検出及び類別 図6
  • 特許-異常の検出及び類別 図7
  • 特許-異常の検出及び類別 図8
  • 特許-異常の検出及び類別 図9
  • 特許-異常の検出及び類別 図10
  • 特許-異常の検出及び類別 図11
  • 特許-異常の検出及び類別 図12
  • 特許-異常の検出及び類別 図13
  • 特許-異常の検出及び類別 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-24
(45)【発行日】2022-12-02
(54)【発明の名称】異常の検出及び類別
(51)【国際特許分類】
   H01L 21/66 20060101AFI20221125BHJP
   G05B 23/02 20060101ALI20221125BHJP
   H01L 21/02 20060101ALI20221125BHJP
【FI】
H01L21/66 Z
G05B23/02 302V
H01L21/02 Z
【請求項の数】 14
(21)【出願番号】P 2020518409
(86)(22)【出願日】2018-09-21
(65)【公表番号】
(43)【公表日】2020-12-10
(86)【国際出願番号】 US2018052255
(87)【国際公開番号】W WO2019070426
(87)【国際公開日】2019-04-11
【審査請求日】2020-06-02
(31)【優先権主張番号】15/726,145
(32)【優先日】2017-10-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】キャントウェル, ダーモット
【審査官】河合 俊英
(56)【参考文献】
【文献】国際公開第2014/113403(WO,A1)
【文献】特開2012-141712(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/66
G05B 23/02
H01L 21/02
(57)【特許請求の範囲】
【請求項1】
基板処理チャンバ内に配置されたセンサにより収集された時系列データにおけるサブセグメントを類別する方法であって、
前記基板処理チャンバ内に基板処理データを収集するために配置された、基板の処理に関する指標値を監視する前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することであって、前記範囲が限定された一様な信号は、前記時系列データの誤検出が除外された範囲の前記時系列データである、前記時系列データを変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することであって、前記識別されたサブセグメントは、前記範囲の前記時系列データ内の異常である、サブセグメントを識別することと、
新しい異常サインを識別するために、前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別することと、
を含む、方法。
【請求項2】
以前に類別出来なかった前記識別されたサブセグメントを類別することをさらに含む、請求項1に記載の方法。
【請求項3】
前記時系列データを範囲が限定された一様な信号に変換することは、
前記センサから受信された前記時系列データから全ての外れ値を除外することと、
前記外れ値が無い時系列データのマトリクスを生成することと、
前記外れ値が無い時系列データの前記マトリクスを用いて、前記時系列データを変換すること
を含む、請求項1に記載の方法。
【請求項4】
基板処理チャンバ内に配置されたセンサにより収集された時系列データにおけるサブセグメントを類別する方法であって、
前記基板処理チャンバ内に配置された前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することと、
前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別すること
を含み、
前記予期される振る舞いと一致しない信号のサブセグメントを識別することは、
前記範囲が限定された一様な信号を定義するエンベロープの範囲内でトレーニング設定データを生成することと、
前記時系列データを複数のサブセグメントに分割することと、
前記サブセグメントの正常値と前記エンベロープの正常値との間の距離を計算することと、
前記距離をロジット関数に適用して、前記予期される振る舞いと一致しない信号のサブセグメントにフラグを立てることと、
を含む方法。
【請求項5】
予期される振る舞いと一致しない前記識別されたサブセグメントを類別することは、
第1のサンプルクラスを対象とするノードを生成することと、
前記ノードを囲む超立方体を生成することと、
前記超立方体に外接する超球を生成することと、
前記サブセグメントが前記超立方体内に存在するという判定に応じて、前記サブセグメントを正常として前記第1のサンプルクラスに類別することと、
前記サブセグメントが前記超球内に存在するという判定に応じて、前記サブセグメントを、信頼度が低い正常として前記第1のサンプルクラスに類別することと、
前記サブセグメントが前記超立方体内にも前記超球内にも存在しないという判定に応じて、前記サブセグメントを異常として別のサンプルクラスに類別することと、
を含む、請求項1に記載の方法。
【請求項6】
前記基板処理チャンバの調子を決定するために、前記異常と関連する前記センサの異常サインをラベル付けすることをさらに含む、請求項5に記載の方法。
【請求項7】
基板処理システムであって、
プロセッサと、
命令が格納されたメモリであって、前記命令は、前記プロセッサにより実行されると、基板処理チャンバに配置されたセンサにより収集された時系列データにおけるサブセグメントを類別するための処理を実施する、命令が格納されたメモリと
を備え、
前記処理は、
前記基板処理チャンバ内に基板処理データを収集するために配置された、基板の処理に関する指標値を監視する前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することであって、前記範囲が限定された一様な信号は、前記時系列データの誤検出が除外された範囲の前記時系列データである、前記時系列データを変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することであって、前記識別されたサブセグメントは、前記範囲の前記時系列データ内の異常である、サブセグメントを識別することと、
新しい異常サインを識別するために、前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別すること
を含む、基板処理システム。
【請求項8】
以前に類別出来なかった前記識別されたサブセグメントを類別することをさらに含む、請求項7に記載の基板処理システム。
【請求項9】
前記時系列データを範囲が限定された一様な信号に変換することは、
前記センサから受信された前記時系列データから全ての外れ値を除去することと、
前記外れ値が無い時系列データのマトリクスを生成することと、
前記外れ値が無い時系列データの前記マトリクスを用いて、前記時系列データを変換すること
を含む、請求項7に記載の基板処理システム。
【請求項10】
基板処理システムであって、
プロセッサと、
命令が格納されたメモリであって、前記命令は、前記プロセッサにより実行されると、基板処理チャンバ内に配置されたセンサにより収集された時系列データにおけるサブセグメントを類別するための処理を実施する、命令が格納されたメモリと
を備え、
前記処理は、
前記基板処理チャンバ内に配置された前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することと、
前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別すること
を含み、
前記予期される振る舞いと一致しない信号のサブセグメントを識別することは、
前記範囲が限定された一様な信号を定義するエンベロープの範囲内でトレーニング設定データを生成することと、
前記時系列データを複数のサブセグメントに分割することと、
前記サブセグメントの正常値と前記エンベロープの正常値との間の距離を計算することと、
前記距離をロジット関数に適用して、前記予期される振る舞いと一致しない信号のサブセグメントにフラグを立てることと、
を含む基板処理システム。
【請求項11】
予期される振る舞いと一致しない前記識別されたサブセグメントを類別することは、
第1のサンプルクラスを対象とするノードを生成することと、
前記ノードを囲む超立方体を生成することと、
前記超立方体に外接する超球を生成することと、
前記サブセグメントが前記超立方体内に存在するという判定に応じて、前記サブセグメントを正常として前記第1のサンプルクラスに類別することと、
前記サブセグメントが前記超球内に存在するという判定に応じて、前記サブセグメントを、信頼度が低い正常として前記第1のサンプルクラスに類別することと、
前記サブセグメントが前記超立方体内にも前記超球内にも存在しないという判定に応じて、前記サブセグメントを異常として別のサンプルクラスに類別することと、
を含む、請求項7に記載の基板処理システム。
【請求項12】
前記基板処理チャンバの調子を決定するために、前記異常と関連する前記センサの異常サインにラベル付けすることをさらに含む、請求項11に記載の基板処理システム。
【請求項13】
基板処理システムであって、
プロセッサと、
命令が格納されたメモリであって、前記命令は、前記プロセッサにより実行されると、基板処理チャンバ内に配置されたセンサにより収集された時系列データにおけるサブセグメントを類別するための処理を実施する、命令が格納されたメモリと
を備え、
前記処理は、
前記基板処理チャンバ内に配置された前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することと、
前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別すること
を含み、
前記サブセグメントが、既存の動径基底関数のネットワーク異常サインと一致すると、前記サブセグメントを正常として報告して、先行の選別器が見落とした可能性があるサブセグメントの識別時に利用するための2層ニューラルネットワークへと、前記サブセグメントを渡す基板処理システム。
【請求項14】
命令が格納された非一過性のコンピュータ可読媒体であって、前記命令は、プロセッサにより実行されると、前記プロセッサに、基板処理チャンバ内に配置されたセンサにより収集された時系列データにおけるサブセグメントを類別するための方法を実施させ、前記方法は、
前記基板処理チャンバ内に基板処理データを収集するために配置された、基板の処理に関する指標値を監視する前記センサから時系列データを受信することと、
前記時系列データを、範囲が限定された一様な信号へと変換することであって、前記範囲が限定された一様な信号は、前記時系列データの誤検出が除外された範囲の前記時系列データである、前記時系列データを変換することと、
前記範囲が限定された一様な信号から、予期される振る舞いと一致しないサブセグメントを識別することであって、前記識別されたサブセグメントは、前記範囲の前記時系列データ内の異常である、サブセグメントを識別することと、
新しい異常サインを識別するために、前記予期される振る舞いと一致しない前記識別されたサブセグメントを、正常及び異常を含む複数のクラスのいずれかに類別することと、
を含む、非一過性のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、概して半導体製造に関し、特に、本開示の実施形態は、半導体の処理中に取り出されるセンサデータにおける外れ値の検出に関する。
【背景技術】
【0002】
電子デバイスの製造には典型的に、シリコン基板、ガラスプレート等といった基板(このような基板は、パターニングされていようがパターニングされていまいがウエハとも称しうる)に関する一連の手続きを行うことが含まれている。これらの処理には、研磨、堆積、エッチング、フォトリソグラフィ、熱処理等が含まれる。通常では、複数の様々な処理ステップが、単一の処理システム内で、又は、複数の処理チャンバを含む「ツール」内で実施されうる。処理中に、手続きが行われる各チャンバは、複数のセンサを含むことが可能であり、各センサは、基板処理に関係する所定の指標値(metric)を監視するよう構成されている。
【0003】
センサのトレースデータにおける外れ値の検出は、基板の処理手続きが進められるチャンバの調子全体を評価する際の助けとなる。半導体製造に対する需要が増大しているため、外れ値検出を検出するためのこのような方法では、基板のバッチが数千にも増大したときに外れ値検出アルゴリズムを計算することが可能であるために、センサデータのより細かな範囲において異常を検出するために益々感度がより高くなると同時に、よりスケーラブルとなる必要がある。
【0004】
従って、半導体の処理中に取り出されたセンサデータにおける外れ値を検出するための改良された方法への絶えることのない必要性が存在する。
【発明の概要】
【0005】
本明細書に開示される実施形態は、概して、基板処理チャンバ内に配置されたセンサにより収集された時系列データにおける外れ値を類別するための方法、システム、及び非一過性のコンピュータ可読媒体に関する。クライアント装置が、基板処理チャンバ内に配置されたセンサから時系列データを受信する。クライアント装置が、時系列データを範囲が限定された一様な信号に変換する。クライアント装置が、予期される振る舞いと一致しない信号のサブセグメントを識別する。クライアント装置が、予期される振る舞いと一致しない識別されたサブセグメントを類別する。
【0006】
本発明の上述の特徴を詳しく理解しうるように、上記で簡単に要約されている本発明のより詳細な説明が、実施形態を参照することによって得られ、一部の実施形態は添付の図面に示されている。しかし、本発明は他の等しく有効な実施形態も許容しうることから、添付の図面は、本発明の典型的な実施形態のみを示しており、従って、本発明の範囲を限定するとみなすべきではないことに留意されたい。
【図面の簡単な説明】
【0007】
図1】本明細書に記載の一実施形態に係るコンピュータ環境を示す。
図2】本明細書に開示された一実施形態に係る外れ値を類別する方法を示すフロー図である。
図3】本明細書に開示された一実施形態に係る、より詳細に検討された図2の方法からの一ブロックを示すフロー図である。
図4】本明細書に開示された一実施形態に係る、より詳細に検討された図2の方法からの一ブロックを示すフロー図である。
図5】本明細書に開示された一実施形態に係る、時間データ直列信号の一例を示すグラスを示す。
図6】本明細書に開示された一実施形態に係る、ロジット関数を示すグラフである。
図7】本明細書に開示された一実施形態に係る、RBFネットワークを示す図である。
図8】本明細書に開示された一実施形態に係る、RBFネットワーク及び超立方体の解析のための方法のフロー図である。
図9】本明細書に開示された一実施形態に係る、図8のRBF法のために利用される第1のノードを示す論理図である。
図10】本明細書に開示された一実施形態に係る、第1のノードを示す図である。
図11】本明細書に開示された一実施形態に係る、第1の超立方体の周りに配置された第1の超球を示す図である。
図12】本明細書に開示された一実施形態に係る、先に図2との関連で説明した方法を示す論理的フロー図である。
図13】一実施形態に係る、先に図2との関連で説明した方法200を示す論理的フロー図1300である。
図14】本明細書に記載の一実施形態に係る計算プラットフォーム1400を示す。
【発明を実施するための形態】
【0008】
理解を容易にするために、可能な場合には、複数の図に共通する同一の要素を指し示すのに同一の参照番号を使用した。一実施形態の要素及び特徴は、さらなる記述がなくとも、他の実施形態に有益に組み込まれ得ると想定されている。
【0009】
しかしながら、本発明は他の等しく有効な実施形態も許容し得ることから、添付の図面は、本発明の典型的な実施形態のみを例示しており、したがって、本発明の範囲を限定すると見なすべきではないことに留意されたい。
【0010】
図1は、一実施形態に係る計算環境100を示している。計算環境100は、コントローラ102と、クライアント装置108と、を含んでいる。コントローラ102は、ネットワーク105を介してクライアント装置108と通信する。コントローラ102は、1つ以上の基板処理チャンバ104と共に利用されるコントローラでありうる。例えば、コントローラ102は、各基板処理チャンバ104の処理パラメータを制御する際に支援するコントローラでありうる。各処理チャンバ104の中には1つ以上のセンサ106が配置されている。各センサ106は、半導体の処理プロセスと関連する指標値を監視するよう構成されている。各センサ106は、更なる処理のためにコントローラ102に各指標値の測定値を提供する。
【0011】
クライアント装置108は、ネットワーク105を介してコントローラ102と通信する。例えば、コントローラ102は、各センサ106から収集されたセンサデータを、更なる解析のためにクライアント装置108に送信しうる。幾つかの実施形態において、クライアント装置108は、センサ106の測定値について、コントローラ102により生成された時系列データにおける目新しいこと又は異常な振る舞いを検出するよう構成されている。追加的な実施形態において、クライアント装置108は、検出された異常を(既知の場合には)類別し、検出された異常に対してそれと関連する異常サインをラベル付けし又は当該異常サインを学習するようさらに構成されうる。そのようなものとして、クライアント装置108は、時系列データにおける新しい故障又は目新しいことを、自身がそれを経験したときに学習しうる。
【0012】
図2は、一実施形態に係る外れ値を類別する方法200を示すフロー図である。方法200は、ブロック202で始まる。ブロック202において、クライアント装置108が、基板処理チャンバと通信しうるコントローラから基板処理データを受信する。例えば、処理チャンバ内に配置されたセンサが、基板の処理と関係する指標値を監視しうる。他の例において、センサは、処理チャンバの外に配置されていてよい。コントローラが、基板処理の指標値と関連するデータを、更なる解析のためにクライアント装置108に送信する。
【0013】
ブロック204において、クライアント装置108が、コントローラから受信された時系列データを、範囲が限定された一様な信号に変換する。図3は、ブロック204をより詳細に示している。例えば、図3は、時系列データにおけるあらゆる誤検出を除外するために、入ってきた時系列データをフィルタに掛ける方法を示している。入ってきた時系列データを変換するために、クライアント装置108は、基板処理システムの各センサについて記録された測定値のマトリクス
を生成する(ブロック302)。例えば、基板処理チャンバの
個のセンサが存在すると仮定すると、クライアント装置108は、
個のマトリクス
を生成する。以下での検討のために、処理チャンバが1つのセンサを備えると仮定すると、その結果1個のマトリクス
が得られる。
【0014】
マトリクスTは、基板処理チャンバ内での
個の実行と関連する測定値を含んでいる。1個の「実行(run)」は、処理されている1個の基板を指している。各実行について、測定値がセンサによりその間に記録される
回の時間が存在する。従って、マトリクスTは、
のマトリクスである。例えば、マトリクスTは、以下のように表されうる。即ち、
但し、
は、実行
及び時間
の間の所与の測定値を表す。よって、各列は、所与のタイムスライス
における全実行データを表わしている。
【0015】
コントローラから受信された時系列データを、範囲が限定された一様な信号に変換するために、クライアント装置108は、そのデータセット(即ち、マトリクス)
から全ての外れ値を除外して、修正されたマトリクス
を生成する(ブロック304)。各列
についてデータセットから外れ値を除外するために、クライアント装置108は、列に含まれる測定値に対してグラブスの規則(Grubbs’rule)を適用する。グラブスの規則は、単変量のデータセットおける外れ値を検出するために使用される統計的な検査である。グラブスの規則は、1度に1個の外れ値を検出する。外れ値はデータセットから削除され、上記検査は、外れ値が検出されなくなるまで繰り返される。グラブスの規則は、以下の仮説について定義されている。即ち、
データセットには外れ値が存在しない。
データセットには厳密に1個の外れ値が存在する。
【0016】
グラブスの検査の統計
は、以下のように定義される。即ち、
但し、
はXであり、
バーはサンプル平均であり、
は標準偏差である。
【0017】
仮説は、以下の数式に応じて否定され、即ち、
但し、Nは行の数を表し、
はt分布の非常に重要な値を示し、ここで、自由度が(N-2)であり、有意水準が
である。
【0018】
グラブスの規則をマトリクス
に適用することで、グラブスの規則が、測定データの、所与の実行のn個のタイムスライスに対して適用される。外れ値が検出された場合には、その外れ値は除外されて、グラブスの規則が、タイムスライス
の残りの
個の実行に対して再実行される。外れ値が検出されなくなるまで、上記プロセスが繰り返される。従って、マトリクスT内の各列は、可変量の実行
についてのデータを含みうる。例えば、列1は
個の入力を含み、列2は
個の入力を含み、列3は
個の入力を含む・・等ということが可能である。タイムスライス
において、最大数
個のサンプルが存在し、従って、グラブスを適用することで、そのタイムスライス
から1つ以上の実行
を除外しうることに注意されたい。
【0019】
クライアント装置108がマトリクス
からすべての外れ値を除外した後で、クライアント装置は、マトリクス
を生成する(ブロック306)。マトリクス
は、
のマトリクスであり、但し、行は、マトリクスT内の列により与えられる、各タイムスライスにおける最大値、最小値、及び平均値を定める。例えば、マトリクス
は、数学的には、以下のように表されうる。即ち、
但し、各列は、
からの所与の時間tを表し、各行は、各時間tについて、最大測定値、最小測定値、及び平均測定値を表している。従って、マトリクス
は、「エンベロープ(包囲領域)」(envelope)、又は、入力信号の予期される上限値及び下限値、並びに当該信号の平均値(又は正常値)を定義する。例えば、エンベロープは、+1(最大値)から-1(最小値)までに限定され、ここで、平均値(又は正常値)は0である。
【0020】
マトリクス
を用いて、クライアント装置108は、コントローラから入ってくる生の信号を、範囲が限定された正規の範囲へと連続的に変換することが可能である(ブロック308)。一般に、
がマトリクス
内の列を定義する任意のサンプル
について、行0は、タイムスライスnにおける平均値に対応し、行1は、タイムスライスnにおける最大値に対応し、行2は、タイムスライスnにおける最小値に対応する。
【0021】
修正されたマトリクス
を用いて、クライアント装置108は、
において、以下の数式を用いてサンプルを変換することが可能である。即ち、
但し、
。項
は、時間
における予期される値の範囲を定義している。幾つかのケースでは、
は小さくなる(即ちゼロに近づく)可能性があり、このことは、「エンベロープの崩壊」(envelope collapse)に繋がりうる。この問題に対処するために、2つの追加的な入力される項が、上記変換に追加されうる。項
は、値の許容可能な最小範囲を定義するために利用される。項
は、予期される値のパーセンテージとして表される、値の許容可能な最小範囲を定義するために利用される。このように、
である場合に、
がゼロに近づく状況を回避するために、クライアント装置108は、

で置換する。この場合、上記変換の数式は、以下のようである。即ち、
【0022】
従って、コントローラから受信される入力トレースの如何なるセットについても、クライアント装置は、その入力トレースを、上限値及び下限値により範囲が限定された信号に変換しうる。
【0023】
図2に戻って参照すると、クライアント装置108がコントローラから受信された時系列データを範囲が限定された一様な信号に変換した後で、クライアント装置108は、予期される振る舞いと一致しない信号のサブセグメントを識別する(ブロック206)。例えば、クライアント装置108は、ブロック204におけるデータ変換を利用して、入力された時間信号の正常値により、k最近傍法(k-NN)の計算の近傍を求める。先に検討したように、クライアント装置108は、受信された信号について「エンベロープ」を生成し、即ち、入力信号の予期される上限値及び下限値、並びに、当該信号の平均値(又は正常値)を生成し、グラブスの規則を介して各タイムスライスにおける外れ値をフィルタに掛け、その後で、範囲が限定された固定の信号に変換する。一例において、200個の実行を有することが可能であり、ここで、各実行は約45個のサンプルを有し、これにより、マトリクスTは、行が200個で列が45個である。各列に対して実行されるグラブスの規則によって、外れ値が除外される。グラブスが終了した後で、元のマトリクスTと列の数が同じであるT’マトリクスが残るが、最大値、最小値、及び平均値の各々について3行だけ残っている。グラブスは、外れ値が無い予期される値の生成を助ける。特定な例において、上限値は+1であり、下限値は-1であり、平均的な正常値は0である。
【0024】
図4は、ブロック206を更に詳細に示すフロー図である。予期される振る舞いと一致しないサブセグメントを識別するために、クライアント装置108は、最初に、先に定義されたエンベロープの範囲内にあるトレーニング設定データを生成する(ブロック402)。例えば、図5は、一実施形態に係る例示の時系列信号502を描いたグラフ500を示している。グラフ500は、先にブロック202において決定されたエンベロープ504を含む。例えば、エンベロープ504は、最大量+1と最小量-1とにより範囲が限定されたエリアである。エンベロープ504は、平均値が0である。どの信号もエンベロープ504の範囲(-1,+1)内のどこかに存在する確率が等しいと仮定すると、クライアント装置108は、人工的なトレーニングデータを生成し、ここで、どのサンプル
も、エンベロープ504の範囲内に位置する可能性があり、これにより、各追加的なサンプル
が均一に分散されている。数学的には、このことは以下のように表されうる。即ち、
【0025】
人工的なトレーニングデータ、即ち、
は、入ってくる時系列データ信号の予期される振る舞いを定義する。ここで、信号は、上述のプロセスを用いて、範囲が限定された[-1,+1]信号に変換されてしまっている。次のステップは、人工的なトレーニングデータをロジット関数に適合させることである。ロジット関数は、シグモイド・ロジスティック関数(sigmoidal logistic function)の逆数である。ロジット関数は、任意の時間ウィンドウの大きさのために、人工的なデータセットを適合させ、アルゴリズムが、予期される振る舞いと一致するという時系列データ信号のサブセグメントの確率を生成することを可能とする。
【0026】
図6は、ロジット曲線602を示すグラフ600を示している。ポイント604aは、108で生成された人工的なデータに対応している。加えて、ポイント604bも同時に生成されており、このポイント604bは、反射点を通じて「反射された(mirrored)」点604aである。この反射点によって、システムの「感度」が設定される。より高い感度ポイントは、そのアルゴリズムの感度がより低いことを意味する。反射点が高い場合には604aと604bとの間の差が大きく、1から0へと動く確率を得るには移動(excursion)が大きくなるであろう。図6では、反射点はx軸上の4のところにある。ロジットは、ここで、ポイント・データセット(604a&604b)に適合されている。ロジットは以下のように定義され、
但し、Xは、ポイント・データセット604a及び604bである。βは、学習又は計算されたパラメータを表す。p(y|X)は、0と1の間において、サブセグメントにおける信号がエンベロープ504により定義された予期される振る舞いと一致する確率である。
【0027】
トレーニング(X)データが、
を推定するために用いられる。人工的なデータが作成されるときは2セット作成され、即ち、データのサブセグメントがポイント・データセット604aの予期される振る舞いと一致するときのための値と、サブセグメントがポイント・データセット604bの予期される振る舞いと一致しないときのための値と、が作成される。クライアント装置108は上記2つのデータセットを作成し、従って、それらがどのように生成されるかに従って、アルゴリズムの感度が変更されうる。パラメータ
は1から0への遷移を制御し、別の感度パラメータである。高い値は、
が1(サブセグメントはエンベロープ内に存在する)から0(サブセグメントがエンベロープの外にある)へとゆっくり下がるのが分かることを意味している。これを用いると、故障が最初に分かる。低い値は、突然(ステップ変更)を得ることを意味する。
は、0と1の間において、信号がエンベロープ504により定義された予期される振る舞いと一致する確率である。
【0028】
ブロック404において、クライアント装置108が、時系列データ信号502を複数のサブセグメント506iに分割する。各サブセグメント506iは、その中に含まれた複数のデータポイントを含みうる。一般に、各サブセグメントは時間t=a~時間t=bでありうる。一実施形態において、第1のサブセグメント506は、時間t=0~時間t=24であり、即ち、第1のサブセグメント506は25秒である。同実施形態において、第2のサブセグメント506は、時間t=25~t=50でありうる。幾つかの例において、サブセグメント506は、現在から遡る移動するウィンドウであってよい。例えば、2秒のサブセグメントは、過去の2秒に起きた任意のサンプル又はデータポイントを含みうる。
【0029】
ブロック406において、クライアント装置108が、サブセグメントに含まれるデータポイントの正常値を計算する。例えば、図5を参照すると、クライアント装置108は、サブセグメント506のt=0~t=24のウィンドウに含まれる上記データポイントを決定する。サブセグメント506の範囲内には、所与の半導体処理センサに対応する複数の表示値が存在する。クライアント装置108は、その後、そのサブセグメントに含まれる測定値の平均(即ち、正常値)を計算する。これは、サブセグメント506に含まれるデータポイントとして容易に計算することが可能であり、ベクトルとして想定される。
【0030】
ブロック408において、クライアント装置108は、サブセグメント506の正常値と、エンベロープ504の正常値と、の間の距離を計算する。例えば、図5に示すように、クライアント装置108は、サブセグメント506の正常値と、エンベロープ504の正常値と、の間の最短の距離を計算する。クライアント装置108は、この結果をロジット関数に適用しうる。
【0031】
従って、クライアント装置108は、セグメント506に含まれる信号が、予期される振る舞いと一致するかどうかを容易に判定することが可能である。ブロック410において、クライアント装置108は、サブセグメント506が、予期される振る舞いと一致するかどうかを判定する。例えば、クライアント装置108は、サブセグメント506が、ブロック408との関連で先に検討したロジット適合からの予期される振る舞いと一致するかどうかを判定する。クライアント装置108が、ブロック412において、サブセグメント506は予期される振る舞いと一致すると判定した場合には、クライアント装置108は、サブセグメント506にフラグを立てない。しかしながら、ブロック414において、クライアント装置108が、サブセグメント506は予期される振る舞いと一致しないと判定した場合には、クライアント装置108は、更なる解析のためにサブセグメント506にフラグを立てる。
【0032】
ブロック416において、クライアント装置108は、解析すべきサブセグメント506iが残っているかどうかを判定する。上記サブセグメント506iが残っている場合には、方法400はブロック406に戻る。しかしながら、上記サブセグメント506iが残っていない場合には、本方法400は終了する。
【0033】
図2に戻って参照すると、ブロック208において、クライアント装置108は、予期される振る舞いと一致しない上記識別されたサブセグメントを類別する。例えば、人工的なニューラルネットワークが、このようなサブセグメントを類別するために用いられうる。人工的なニューラルネットワークは、システムの既知の値に基づいて、システム内での動作を解析する際に有益でありうる。例えば、ユーザが、半導体処理チャンバ内のセンサから収集された時系列データといったセンサデータを解析しようと思っているとする。動径基底関数(RBF:Radial Basis Function)ネットワークとは、動径基底関数を活性化関数として使用する人工的なニューラルネットワークである。典型的なRBFネットワークにおいて、RBFノード(又はニューロン)が、そのノードの活性化値を決定する役割を果たし、各ノードは複数の入力と1つの出力とを有する。
【0034】
RBF関数は、その値が原点からの距離にのみ依存する任意の関数として定義されうる。数学的には、このことは以下のように表されうる。即ち、
【0035】
RBFネットワークとは、n次元空間に位置づけられるRBF関数の集合である。例えば、図7は、一実施形態に係るRBFネットワーク702を示す図700である。RBFネットワーク702には、2つの層、即ち、入力層704及びRBF層706が含まれる。図示されるように、ネットワーク702は、3個(3)の入力(708~708)と、4個(4)のRBFノード(710~710)と、を含んでいる。ここで、各ノードは、n要素のベクトルを使用して定義することができ、各ノードへの入力も、n要素のベクトルでありうる。図7に示されるネットワークは、5個の固有の種類の予期される振る舞いを区別することができる。各ノード710は、或る固有の種類の予期される振る舞いを表している。入ってくるサブセグメントはノード710~710のうちの1つに分類され、又は、どのノードにも分類されえない。
【0036】
概して、各ノード710について、そのノードのために超立方体が決定されている。クライアント装置は、その後、サブセグメントが超立方体内に存在するかどうかを判定する。サンプルが超立方体内に存在しない場合には、システムは、サンプルが、超立方体の対角線に等しい半径を有する超球内に存在しているかどうかを判定する。その後、システムは、サブセグメントが超立方体内に存在するか(正常)、超球内に存在するか(正常だが信頼度は低い)、又はどちらにも存在しないか(異常)に基づいて、例えば正常又は異常等の想定されるサンプルクラスを決定する。
【0037】
一実施形態において、どの所与のノードの最大誤差も、単一の軸に沿ったものであり、ネットワーク及び誤差が許容されうるかどうかに関わらず、評価のために計算可能である。一実施形態において、上記誤差は、関連するラベルを有する軸上の追加的なノードを追加することで、最小に抑えることが可能である。
【0038】
図8は、RBFネットワーク及び超球の解析のための方法800のフロー図を示している。方法800は、ハードウェア(例えば、回路、専用ロジック部、ブログラム可能なロジック部、マイクロコード等)、ソフトウェア(例えば、処理装置で実行される命令)、又はこれらの組み合わせを含みうる処理ロジック部によって実施可能である。一実施形態において、方法800は、以下で検討する図14のシステム1400で実行されうる。
【0039】
図8のブロック802において、クライアント装置108は、図9に示す図900に示すような、第1のノード902を作成する。第1のノード902は、複数の入力と1つの出力を含んでいる。例えば、複数のノードは、識別されたサブセグメントからの1つ以上のデータポイントを含みうる。ノードを作成するために、入力の数nと、位置L[n](L[n]ベクトルが、n次元空間におけるノードの位置を決定する)と、受容野r(ノードの次元又は大きさ)と、が提供される。一実施形態において、デフォルトのrの値は1である。
【0040】
ブロック804において、クライアント装置108は、第1のノード902のための第1の超立方体904を決定する。一実施形態において、基準データに基づいて、3シグマの超立方体が形成される。換言すれば、第1の超立方体の大きさは3シグマである。
【0041】
ブロック806において、クライアント装置108は、サブセグメントが第1の超立方体904内に存在するかどうかを判定する。例えば、クライアント装置108は、第1のノードの原点の周辺に反射されているときに、サブセグメントが第1の超立方体904内に存在するかどうかを判定する。数学的には、以下の数式が計算されうる。即ち、
【0042】
超立方体が検出のために使用されるときには、任意のノードの出力は0か1となり、ここで1は、超立方体内に存在することを示している。c[x]の値が、第1のノードについてr(すなわち受容野)以下である場合には、第1のノードの出力は1である。このケースでは、クライアント装置は、どのクラスにサンプルが属するかを検出するために第1の超立方体を使用しており、RBF関数は活性化されていない。例えば、図10は、一実施形態に係る第1のノード1001を示す図1000である。サブセグメント1002が第1の超立方体1004内に入る場合には、サブセグメント1002は、第1のノードのクラスに属すると見なされ、正常と判断される。
【0043】
ブロック808において、サブセグメントが第1の超立方体1004の外に存在する場合には、クライアント装置108は、サンプルが第1の超立方体を囲む第1の超球内に存在するかどうかを判定する。例えば、図11は、第1の超立方体1104を囲んで配置された第1の超球1102を示す図1100であり、第1の超球1102は、半径が第1の超立方体1104の対角線1106と等しい。図10に戻って参照すると、サブセグメント1008が第1の超球1006内に存在する場合には、第1のノード1001のクラスに属すると見なされ正常と判断されるが、信頼度の評価は低い。サブセグメント(即ち、サブセグメント1010)が第1の超球1006の外にある場合には、そのサンプルは未知又は疑わしいとして類別される。
【0044】
例えば、
の値が半径よりも大きい場合には、クライアント装置108はRBF関数に切り替える。最初に、存在する全てのノードの受容野が1に設定される。ここでは、受容野調節スキーム(即ち、より広い関数を使用する)の代わりに、閾値調節スキーム(即ち、固定の関数を使用するが、原点からの距離に基づいて別の閾値を選択する)が使用される。ノードは、ガウスの活性化の数式を用いて活性化され、出力が記録され、ここで、各ノードの出力は、値が1~0の範囲である。ガウスの活性化の数式は、以下のように表される。即ち、
但し、dは超球の直径であり、rは超球の半径である。
【0045】
ここでは、正方形(二次元超立方体)は3シグマの辺を有し、これにより、方形を囲む円(二次元超球)の半径は4.24である。入力が与えられて、ガウスの活性化の数式を用いてRBF関数が活性化されると、サンプルがノードからどのくらい離れているかに従って、出力の値が1~0になる。閾値はRBF出力であり、但し、入力は超立方体の半径であり、この場合、4.24がガウスの活性化の数式への入力である。従って、これにより閾値0.00012が生成される。
【0046】
本例では、サブセグメントの座標が(2、0)である場合には、サンプルは3シグマの正方形の中にあるであろう。サンプルの座標が(3.5、0)である場合には、サンプルは超正方形の外にあるであろうし、ガウシアンの活性化の数式が用いられるであろう。本例では、出力は閾値よりも値が大きくなり、よって、サンプルは超球の中にあるであろう。しかしながら、サブセグメントの座標が閾値よりも小さい場合には、サブセグメントは、超球の外に存在するであろう。
【0047】
ブロック810において、クライアント装置108は、サンプルが超立方体内又は超球内に存在するかどうかに基づいて、サブセグメントについての想定される類別を決定する。超立方体が検出のために用いられた場合には、出力が1であると、そのサンプルは第1のノードに属すると見なされる。RBF関数が検出のために用いられた場合には、活性化の数式を用いて第1のノードのノード閾値が計算され、ここで、xは現在のノードのための元の受容野の値である。ノードの出力がノード閾値以上である場合には、サブセグメントはこのノードに属すると見なされる。
【0048】
従って、方法200によって、半導体処理チャンバ内の所与のセンサから受信された時系列データにおける異常が効率的に位置づけられて分類される。幾つかの実施形態において、方法200はブロック210を更に含みうる。ブロック210において、クライアント装置108は、ブロック208において類別されなかったサブセグメントに応じて、サブセグメントを類別することを試みる。一例において、信号のサブセグメントの平均値が、RBFネットワークへの入力として用いられる。1つより多くの入力された時系列信号を含むデータの集合を類別する際には、識別されたサブセグメントによる上記信号は、その平均値まで下げられうる。1つ以上の入力信号が揺動していた場合は、この揺動は平均値においては捉えられておらず、従って、RBFネットワークはそれを正しく類別しない可能性がり、サブセグメントの正常値が「正常」として見えうる。単一センサの解析においては、このことが、記述統計を採取することにより軽減されうる。
【0049】
このことに対処するために、フィードフォーワード2層類別ニューラルネットワーク(feed-forward,2 layer classification neural network)が利用される。トレーニングデータの要件を必要とするというよりは、クライアント装置108は、ニューラルネットワークを訓練するため予期される異常サインを生成するために、(先のブロック204と同じように)人工的なトレーニングデータを活用する。上記2ネットワークタイプを用いて、クライアント装置108は、RBFを利用して2層類別を生成する。
【0050】
図12は、一実施形態に係る、図2との関連で先に検討した方法200を示す論理的フロー図1200である。図1200は、クライアント装置108への1つ以上の入力1202を含む。1つ以上の入力1202は、変換パラメータ1202aと、RBF異常サイン1202bと、ニューラルネットワーク設定1202cと、を含みうる。
【0051】
変換パラメータ1202aは、クライアント装置108によって、入ってくる時系列データを変換する際に利用される。例えば、変換パラメータ1202aは、
のフィルタに掛けられたマトリクス
を含みうる。他の実施形態において、変換パラメータ1202aは、元の時系列データのマトリクス
と、フィルタに掛けられたマトリクス
を生成するために利用されるグラブスの規則の数式のための重要な値と、をさらに含んでよい。変換パラメータ1202aは、エンベロープの崩壊(即ち、
が先に検討したように小さくなってゼロに近づいてきたとき)を防止するために利用されるパラメータを含む。変換パラメータ1202aは、以下に検討するブロック1206においてT’マトリクスを作成するために利用される。
【0052】
RBF異常サイン1202bは、クライアント装置108によって、予期される振る舞いと一致しない信号のサブセグメントを類別する際に利用される。例えば、クライアント装置108が、フラグが立てられたサブセグメントを類別することを試みるときには、クライアント装置108は、そのサブセグメントと入力されたRBF異常サイン1202bとを比較しうる。サブセグメントが、入力されたRBF異常サイン1202bと一致するかどうかに基づいて、クライアント装置108は、サブセグメントを類別することが可能でありうる。追加的に、クライアント装置108が、信号のサブセグメントを、入力されたRBF異常サイン1202bに結び付けることが出来ない場合には、クライアント装置108は、後続の解析において、新たに見つけられたサインをRBF異常サイン1202bに後から追加しうる。
【0053】
ニューラルネットワーク設定1202cは、異常サインの検出時にクライアント装置108により類別されていない可能性があるサブセグメントを識別する際に、クライアント装置108によって用いられる。例えば、ニューラルネットワーク設定1202cは、複数の共変動する信号を識別する際に、先に検討した盲点に対処するために利用される2層ニューラルネットワークを生成する際に用いられうる。従って、ニューラルネットワーク設定1202cは、特定の異常の追跡のためにRBFを生成するために用いられる。
【0054】
時系列データ1204は、クライアント装置108に送信される。時系列データ1204には、予期される振る舞いの抽出1206が施される。例えば、図2との関連で先に検討したように、予期される振る舞いが、グラブスの規則及び変換パラメータ1202aを用いて、「エンベロープの崩壊」を防止するために、時系列データ1204から生成され、結果としてT’マトリクスが得られる。その後、フロー図1200は、データ変換ブロック1208へと進み、そこで、入ってきた時系列データ1204が、
マトリクスを介して変換される。
【0055】
変換されたデータは、ロジスティック回帰ブロック1210に進む。図2のブロック206との関連で先に検討したように、ロジスティック回帰ブロック1210では、クライアント装置108が、1つ以上の外れ値のサブセグメントを識別するために、フィルタに掛けられた時系列データのロジスティック回帰の適合を生成する。ブロック1212において、クライアント装置108は、サブセグメントが、ブロック1206において決定された予期される振る舞いと一致するかどうかを判定する。
【0056】
ブロック1212において、クライアント装置が、サブセグメントが予期される振る舞いと一致すると判定した場合には、その後ブロック1214において、クライアント装置108は別のサブセグメントに移る。しかしながら、ブロック1212において、クライアント装置108が、サブセグメントが予期される振る舞いと一致しないと判定した場合には、次にブロック1215において、フロー図が、サブセグメントを類別するためのRBFネットワークブロックに進む。
【0057】
ブロック1216において、クライアント装置108は、サブセグメントの類別を、「正常」又は「未知」として決定する。例えば、サブセグメントが既存のRBF異常サイン1202bと一致する場合には、クライアント装置108はそのサブセグメントを正常であるとして報告する。このケースでは、クライアント装置108は任意に、サブセグメントを2層ニューラルネットワークに渡してもよい(ブロック1218)。例えば、ニューラルネットワーク設定1202cが、先行する選別器(ブロック1216)が見逃した(又は気付かなかった)サブセグメントを識別するために利用される。ブロック1220において、クライアント装置が、ニューラルネットワークの出力クラスを報告する。しかしながら、サブセグメントが既存のRBFサイン1202bと一致しない場合には、クライアント装置108は、サブセグメントを未知として報告する(ブロック1222)。
【0058】
図13は、一実施形態に係る、図2との関連で先に検討した方法200を示す論理的フロー図1300である。図1300は、実質的に図1200と類似している。しかしながら、図1300では、予期される振る舞い1302dが、変換パラメータ1202a、RBF異常サイン1202b、及びニューラルネットワーク設定1202と共に、追加的な入力1302として利用される。このように、図12のブロック1206が図13では省略されている。
【0059】
図14は、一実施形態に係る計算プラットフォーム1400を示している。計算プラットフォーム1400は、クライアント装置108及びコントローラ102を含んでいる。示されるように、クライアント装置108は、プロセッサ1402と、メモリ1404と、ストレージ1406と、ネットワークインタフェース1408と、を含んでいる。幾つかの実施形態において、クライアント装置108は、自身に接続された1つ以上のI/O装置1410をさらに含んでよい。代表的には、単一のプロセッサ、複数のプロセッサ、複数の処理コアを有する単一のプロセッサ等であるプロセッサ1402が含まれる。
【0060】
プロセッサ1402は、予期される振る舞いエージェント1412と、データ変換エージェント1416と、ロジスティック回帰エージェント1418と、類別エージェント1420と、を含みうる。予期される振る舞いエージェント1412は、時系列データの予期される振る舞いを生成するよう構成されている。例えば、予期される振る舞いエージェント1412は、図2との関連で先に検討したトレーニングデータを生成する。データ変換エージェント1416は、入ってくる時系列データを、変換マトリクス
により定義されたエンベロープに変換するよう構成されている。ロジスティック回帰エージェント1418は、予期される振る舞いと一致しない、変換された時系列データのセグメントを識別するよう構成されている。例えば、ロジスティック回帰エージェント148は、上記セグメントを、それらが変換マトリクス
により定義されたエンベロープの外に存在するかどうかを判定することにより識別するよう構成されている。類別エージェント1420は、RBF異常サインに基づいて、予期される振る舞いと一致しないサブセグメントを識別するよう構成されている。例えば、類別エージェント1420は、サブセグメントを類別するためにRBFニューラルネットワーク設定を用いる。
【0061】
メモリ1404は、プログラムコード1422を含んでいる。プログラムコード1422は、半導体処理チャンバ内のセンサにより収集された時系列データに含まれる1つ以上の外れ値を類別するという命令を実行するよう構成されている。例えば、プログラムコード1422は、図2図13との関連で検討した方法を含みうる。
【0062】
ストレージ1406は、ディスクドライブのストレージでありうる。1つのユニットとして示されているが、ストレージ1406は、固定のディスクドライブ、取り外し可能なメモリカード、光学式ストレージ、ネットワーク接続ストレージ(NAS:network attached storage)、又はストレージ・エリア・ネットワーク(SAN:storage-area-network)といった、固定の及び/又は取り外し可能なストレージの組み合わせであってよい。ネットワークインタフェース1408は、コントローラが、ネットワーク105を介して他のコンピュータ、例えばコントローラ102と通信することを可能とするいずれの種類のネットワーク通信であってもよい。
【0063】
コントローラ102は、プロセッサ1452と、メモリ1454と、ストレージ1456と、ネットワークインタフェース1458と、を備える。プロセッサ1452は、プログラムコード1462といった、メモリ1454に格納されたプロググラム命令を取り出して実行する。代表的には、単一のプロセッサ、複数のプロセッサ、複数の処理コアを有する単一のプロセッサ等であるプロセッサ1452が含まれる。示されるように、プロセッサ1452は、時系列データ収集エージェント1466を含む。時系列データ収集エージェント1466は、1つ以上のセンサ106の各々からセンサデータを受信するよう構成されている。幾つかの実施形態において、時系列データ収集エージェント1466は、センサ106ごとにデータセットを生成するよう構成されている。例えば、時系列データ収集エージェント1466は、第1のセンサのために第1のデータセットを生成し、第2のセンサのために第2のデータセットを生成する。
【0064】
ストレージ1456は、ディスクドライブのストレージでありうる。1つのユニットとして示されているが、ストレージ1456は、固定のディスクドライブ、取り外し可能なメモリカード、光学式ストレージ、ネットワーク接続ストレージ(NAS:network attached storage)、又はストレージ・エリア・ネットワーク(SAN:storage-area-network)といった、固定の及び/又は取り外し可能なストレージの組み合わせであってよい。ネットワークインタフェース1458は、コントローラ102が、ネットワーク105を介して他のコンピュータ、例えばクライアント装置108と通信することを可能とするいずれの種類のネットワーク通信であってもよい。
【0065】
上記は本発明の実施形態を対象としているが、本発明の基本的な範囲から逸脱しなければ、本発明の他の実施形態及び更なる実施形態が考案されてよく、本発明の範囲は、以下の特許請求の範囲によって定められる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14