(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】イオン注入半導体製造ツールにおける構成要素の故障の是正
(51)【国際特許分類】
H01L 21/02 20060101AFI20240415BHJP
G06N 3/0464 20230101ALI20240415BHJP
G06N 3/0442 20230101ALI20240415BHJP
G06N 20/10 20190101ALI20240415BHJP
【FI】
H01L21/02 Z
G06N3/0464
G06N3/0442
G06N20/10
(21)【出願番号】P 2023030851
(22)【出願日】2023-03-01
(62)【分割の表示】P 2021544540の分割
【原出願日】2020-01-17
【審査請求日】2023-03-01
(32)【優先日】2019-01-31
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】リャオ ティアンチン
(72)【発明者】
【氏名】ディダリ シマ
(72)【発明者】
【氏名】ラジャゴパル ハリクリシュナン
【審査官】宇多川 勉
(56)【参考文献】
【文献】特開2018-178157(JP,A)
【文献】特開2020-086694(JP,A)
【文献】特開2002-231597(JP,A)
【文献】特開2016-045808(JP,A)
【文献】特開2003-077907(JP,A)
【文献】特開平06-013015(JP,A)
【文献】特開平08-153486(JP,A)
【文献】特開平10-012180(JP,A)
【文献】特開平09-082266(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/02
G06N 20/10
G06N 3/0464
G06N 3/0442
(57)【特許請求の範囲】
【請求項1】
センサデータに基づいて、ウエハまたはディスプレイ製造装置の1つまたは複数の構成要素が、正常動作ウインドウの後にある故障前ウインドウ内にあることを決定することであり、前記正常動作ウインドウ内の対応するデータポイントが、
実質的に安定した第1の健全性指数値
を有しており、前記故障前ウインドウ内の対応するデータポイントが、前記第1の健全性指数値から第2の健全性指数値におけるピークまで増加することと、
前記1つまたは複数の構成要素が前記故障前ウインドウ内にあると決定したことに応答して、前記ウエハまたはディスプレイ製造装置の1つまたは複数の構成要素に関連付けられた是正措置を実行させることと、
を含む方法。
【請求項2】
前記1つまたは複数の構成要素が故障前ウインドウ内にあることを決定することは、
前記センサデータを、訓練された機械学習モデルへの入力として提供することと、
前記訓練された機械学習モデルから、前記1つまたは複数の構成要素が前記故障前ウインドウ内にあることを示す1つまたは複数の出力を取得することと、
を含む、請求項1に記載の方法。
【請求項3】
前記訓練された機械学習モデルは、過去のセンサデータに基づいて、かつ、前記過去のセンサデータに関連付けられた過去のウインドウに基づいて訓練され、前記過去のウインドウは、前記正常動作ウインドウおよび前記故障前ウインドウを含む、請求項2に記載の方法。
【請求項4】
前記センサデータが、前記ウエハまたはディスプレイ製造装置の前記1つまたは複数の構成要素に関連付けられた、請求項1に記載の方法。
【請求項5】
前記故障前ウインドウの前記対応するデータポイントが、前記第2の健全性指数値における前記ピークから、前記故障前ウインドウの終わりにおける故障時間に対応する第3の健全性指数値まで減少する、請求項1に記載の方法。
【請求項6】
前記故障時間は、前記1つまたは複数の構成要素の故障に対応する、請求項5に記載の方法。
【請求項7】
前記是正措置を実行させることは、グラフィカルユーザインターフェースに警告を表示させること、
前記ウエハまたはディスプレイ製造装置の動作を中断すること、または
前記1つまたは複数の構成要素を交換させること、
のうちの1つもしくは複数を含む、請求項1に記載の方法。
【請求項8】
ウエハまたはディスプレイ製造装置に関連付けられた過去のセンサデータを特定することと、
前記過去のセンサデータに関連付けられた過去のウインドウを特定することと、
を含み、
前記過去のウインドウのうち正常動作ウインドウ内の前記過去のセンサデータの対応するデータポイントが、
実質的に安定した第1の健全性指数値
を有しており、
前記過去のウインドウのうち故障前ウインドウ内の前記過去のセンサデータの対応するデータポイントが、前記第1の健全性指数値から第2の健全性指数値におけるピークまで増加し、
前記過去のセンサデータおよび前記過去のウインドウは、現在のセンサデータに基づいて
、1つまたは複数の構成要素が故障前のウインドウ内にあるかどうかを判断し、
前記1つまたは複数の構成要素に関連付けられた是正措置を実行させるために使用される、方法。
【請求項9】
前記過去のセンサデータを含む訓練データおよび前記過去のウインドウを含むターゲット出力を使用して機械学習モデルを訓練し、1つまたは複数の構成要素が、前記1つまたは複数の構成要素に関連付けられた前記是正措置を実行させるために前記故障前ウインドウ内にあるかどうかを示す1つまたは複数の出力を生成することができる訓練された機械学習モデルを生成する、請求項8に記載の方法。
【請求項10】
前記現在のセンサデータは、現在のウエハまたはディスプレイ製造装置の1つまたは複数の構成要素に関連付けられる、請求項8に記載の方法。
【請求項11】
前記故障前ウインドウの対応するデータポイントは、前記第2の健全性指数値におけるピークから、前記故障前ウインドウの終わりにおける故障時間に対応する第3の健全性指数値まで減少する、請求項8に記載の方法。
【請求項12】
前記故障時間は、前記1つまたは複数の構成要素の故障に対応する、請求項11に記載の方法。
【請求項13】
前記是正措置を実行させることは、グラフィカルユーザインターフェースに警告を表示させること、
ウエハまたはディスプレイ製造装置の動作を中断すること、または
前記1つまたは複数の構成要素を交換させること、
のうちの1つもしくは複数を含む、請求項1に記載の方法。
【請求項14】
メモリと、
前記メモリに結合された処理デバイスであって、
センサデータに基づいて、ウエハまたはディスプレイ製造装置の1つまたは複数の構成要素が、正常動作ウインドウの後にある故障前ウインドウ内にあることを決定することであり、前記正常動作ウインドウ内の対応するデータポイントが、
実質的に安定した第1の健全性指数値
を有しており、前記故障前ウインドウ内の対応するデータポイントが、前記第1の健全性指数値から第2の健全性指数値におけるピークまで増加することと、
前記1つまたは複数の構成要素が前記故障前ウインドウ内にあると決定したことに応答して、前記ウエハまたはディスプレイ製造装置の1つまたは複数の構成要素に関連付けられた是正措置を実行させることと、
を行う、処理デバイスと、
を備えるシステム。
【請求項15】
前記1つまたは複数の構成要素が故障前ウインドウ内にあることを決定するために、前記処理デバイスは、
前記センサデータを、訓練された機械学習モデルへの入力として提供することと、
前記訓練された機械学習モデルから、前記1つまたは複数の構成要素が前記故障前ウインドウ内にあることを示す1つまたは複数の出力を取得することと、
を行う、請求項14に記載のシステム。
【請求項16】
前記訓練された機械学習モデルは、過去のセンサデータに基づいて、かつ、前記過去のセンサデータに関連付けられた過去のウインドウに基づいて訓練され、前記過去のウインドウは、前記正常動作ウインドウおよび前記故障前ウインドウを含む、請求項15に記載のシステム。
【請求項17】
前記センサデータが、前記ウエハまたはディスプレイ製造装置の前記1つまたは複数の構成要素に関連付けられた、請求項14に記載のシステム。
【請求項18】
前記故障前ウインドウの前記対応するデータポイントが、前記第2の健全性指数値における前記ピークから、前記故障前ウインドウの終わりにおける故障時間に対応する第3の健全性指数値まで減少する、請求項14に記載のシステム。
【請求項19】
前記故障時間は、前記1つまたは複数の構成要素の故障に対応する、請求項18に記載のシステム。
【請求項20】
前記是正措置を実行させるために、前記処理デバイスは、
グラフィカルユーザインターフェースに警告を表示させること、
前記ウエハまたはディスプレイ製造装置の動作を中断すること、または
前記1つまたは複数の構成要素を交換させること、
のうちの1つもしくは複数を行う、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、構成要素の故障を是正すること、より詳細には、半導体製造ツールにおける構成要素の故障を是正することに関する。
【背景技術】
【0002】
製造装置を中断することなく動作させることを制限する要因の1つは、構成要素の故障である。例えば、フラッド銃およびソース銃の故障は、イオン注入ツールの動作を中断させる可能性がある。構成要素の故障は、ユーザにとって高コストである計画外のダウンタイムにつながる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
以下は、本開示のいくつかの態様の基本的な理解を提供するための本開示の簡略化された概要である。本概要は、開示の広範な概説ではない。本開示の主要な要素または重要な要素を特定することも、本開示の特定の実施態様の範囲または特許請求の範囲を正確に描写することも意図されていない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、本開示のいくつかの概念を簡略化された形態で提示することである。
【課題を解決するための手段】
【0004】
本開示の一態様では、方法は、イオン注入ツールに関連付けられた複数のセンサから、複数の特徴に対応する現在のセンサデータを受信することを含むことができる。本方法は、特徴分析を実行して、現在のセンサデータに対して複数の追加の特徴を生成することをさらに含むことができる。本方法は、訓練された機械学習モデルへの入力として複数の追加の特徴を提供することをさらに含むことができる。本方法は、訓練された機械学習モデルから1つまたは複数の出力を取得することをさらに含むことができる。1つまたは複数の出力は、予測ウインドウの信頼性レベルを示すことができる。本方法は、予測ウインドウの信頼性レベルに基づいて、イオン注入ツールの1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測することをさらに含むことができる。本方法は、1つまたは複数の構成要素が故障前ウインドウ内にあると予測したことに応答して、イオン注入ツールに関連付けられた是正措置を実行することをさらに含むことができる。
【0005】
本開示のさらなる態様では、方法は、イオン注入ツールに関連付けられた複数のセンサから、複数の特徴に対応する過去のセンサデータを受信することを含むことができる。本方法は、過去のセンサデータの第1のサブセットに対する正常動作ウインドウと、過去のセンサデータの第2のサブセットに対する故障前ウインドウとを含む複数のウインドウを決定することをさらに含むことができる。本方法は、特徴分析を実行して、過去のセンサデータに対して複数の追加の特徴を生成することをさらに含むことができる。本方法は、訓練された機械学習モデルを生成するために、複数の追加の特徴を含む訓練データ、および複数のウインドウを含むターゲット出力を使用して機械学習モデルを訓練することをさらに含むことができる。訓練された機械学習モデルは、1つまたは複数のイオン注入ツール構成要素が故障前ウインドウ内にあるかどうかを示す1つまたは複数の出力を生成することが可能であってもよい。
【0006】
本開示のさらなる態様では、システムは、メモリと、メモリに結合された処理デバイスとを含むことができる。処理デバイスは、イオン注入ツールに関連付けられた複数のセンサから、複数の特徴に対応する現在のセンサデータを受信することができる。処理デバイスは、特徴分析をさらに実行して、現在のセンサデータに対して複数の追加の特徴を生成することができる。処理デバイスは、訓練された機械学習モデルへの入力として複数の追加の特徴をさらに提供することができる。処理デバイスは、訓練された機械学習モデルから1つまたは複数の出力をさらに取得することができる。1つまたは複数の出力は、予測ウインドウの信頼性レベルを示すことができる。処理デバイスは、予測ウインドウの信頼性レベルに基づいて、イオン注入ツールの1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかをさらに予測することができる。処理デバイスは、1つまたは複数の構成要素が故障前ウインドウ内にあると予測したことに応答して、イオン注入ツールに関連付けられた是正措置をさらに実行することができる。
【0007】
本開示は、添付の図面の図において、限定としてではなく、例として示される。
【図面の簡単な説明】
【0008】
【
図1】特定の実施形態による、例示的なシステムアーキテクチャを示すブロック図である。
【
図2】特定の実施形態による、機械学習モデル用のデータセットを作成するための例示的なデータセット生成器である。
【
図3】特定の実施形態による、構成要素の故障を予測するためのシステムを示すブロック図である。
【
図4】特定の実施形態による、構成要素の故障を予測するための例示的な方法を示す流れ図である。
【
図5】特定の実施形態による、構成要素の故障を予測するための例示的な方法を示す流れ図である。
【
図6】特定の実施形態による、構成要素の故障を予測するための例示的な方法を示す流れ図である。
【
図7A】特定の実施形態による、構成要素の故障を予測するためのシステムを示すブロック図である。
【
図7B】特定の実施形態による、構成要素の故障を予測するためのシステムを示すブロック図である。
【
図8A】特定の実施形態による、構成要素の故障を予測することを示すグラフである。
【
図8B】特定の実施形態による、構成要素の故障を予測することを示すグラフである。
【
図9】特定の実施形態による、コンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0009】
本明細書では、半導体製造ツールの構成要素の故障を是正するための技術について説明する。構成要素の故障は、製造装置の動作を中断させる。例えば、フラッド銃およびソース銃の故障は、イオン注入半導体製造ツールの動作を中断させる。構成要素の故障は、計画外のダウンタイム、ユーザにとっての高コスト、機器および製品の損傷などにつながる可能性がある。構成要素を時期尚早に交換すると、メンテナンスコストが増大し、構成要素が無駄になり、構成要素の交換に不必要な時間がかかる可能性がある。
【0010】
本明細書に開示されるデバイス、システム、および方法は、半導体製造ツールにおける構成要素の故障を是正すること(例えば、イオン注入半導体製造ツールにおけるプラズマソース銃の寿命予測)を提供する。本明細書に開示されるデバイス、システム、および方法は、導出されたセンサ読み取り値を使用してイオン注入ツールのための重要な構成要素の故障予測を(例えば、深層学習モデルを使用することによって)提供することができる。処理デバイスは、製造装置(例えば、イオン注入ツール)に関連付けられた複数のセンサから、特徴(例えば、圧力、温度、流量、電力など)に対応する現在のセンサデータを受信することができる。処理デバイスは、特徴分析をさらに実行して、現在のセンサデータに対して追加の特徴を生成することができる。追加の特徴は、1つまたは複数の特徴に基づいて生成されてもよい。例えば、追加の特徴は、比率、範囲、デルタ、最大値などのうちの1つまたは複数を含むことができる。処理デバイスは、訓練された機械学習モデルへの入力として追加の特徴をさらに提供し、続いて、訓練された機械学習モデルから1つまたは複数の出力を取得することができる。1つまたは複数の出力は、予測ウインドウの信頼性レベルを示すことができる。処理デバイスは、予測ウインドウの信頼性レベルに基づいて、イオン注入ツールの1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測することができる。故障前ウインドウは、構成要素の故障が発生すると予測される前の時間ウインドウ(例えば、24時間、48時間)であってもよい。処理デバイスは、1つまたは複数の構成要素が故障前ウインドウ内にあると予測したことに応答して、イオン注入ツールに関連付けられた是正措置をさらに実行することができる。是正措置(例えば、構成要素の故障を是正すること、および/または先制的に是正すること)は、警告を発すること、製造装置の動作を中断すること、および/または1つもしくは複数の構成要素を交換させることを含むことができる。
【0011】
本明細書に開示されるデバイス、システム、および方法はまた、構成要素の故障を予測するための機械学習モデルの訓練を提供する。一部の実施形態では、処理デバイスは、製造装置(例えば、イオン注入ツール)に関連付けられたセンサから、特徴に対応する過去のセンサデータ(例えば、センサ、圧力、流量、電力などのデータの過去の値)を受信することができる。処理デバイスは、過去のセンサデータに対応するウインドウをさらに決定することができる。このウインドウは、過去のセンサデータの第1のサブセットに対する正常動作ウインドウと、過去のセンサデータの第2のサブセットに対する故障前ウインドウとを含むことができる。処理デバイスは、特徴分析をさらに実行して、過去のセンサデータに対して追加の特徴(例えば、比率、範囲、デルタ、最大値など)を生成することができる。処理デバイスは、追加の特徴を含む訓練データおよびウインドウを含むターゲット出力を使用して機械学習モデルをさらに訓練して、訓練された機械学習モデルを生成することができる。訓練された機械学習モデルは、(例えば、イオン注入ツールの1つまたは複数の構成要素に関連付けられた是正措置を実行するために)1つまたは複数の構成要素(例えば、イオン注入ツール構成要素)が故障前ウインドウ内にあるかどうかを示す1つまたは複数の出力を生成することが可能であってもよい。機械学習モデルは、第1の製造装置に関連付けられた過去のセンサデータを使用して訓練されてもよく、他の製造装置の構成要素の故障を予測するために使用されてもよい。
【0012】
本開示の態様はまた、技術的利点をもたらす。従来、構成要素は、故障するまで使用されるか、時期尚早に交換されている。処理デバイスが1つまたは複数の構成要素に対する故障前ウインドウ(例えば、寿命、24時間、48時間)を予測することによって、処理デバイスは、1つまたは複数の構成要素が故障前に交換されるように是正措置を講じることができる。故障前に(例えば、故障後ではなく)構成要素を交換することで、ダウンタイムが短縮され、製造装置および製品への損傷が減り、予定外のメンテナンスが減り、交換構成要素の迅速な発送が減ることなどがある。(例えば、恣意的に非常に時期尚早に構成要素を交換する代わりに)故障前ウインドウ内の構成要素を交換することで、依然として使用可能な現在の構成要素の無駄が減り、構成要素の頻繁な交換に関連付けられたコストが削減され、メンテナンスが減ることなどがある。(訓練された機械学習モデルを使用して、1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測する前に)センサデータを受信し、ノイズを低減し、特徴分析を実行することで、(例えば、ノイズおよび特徴のすべてを含む)センサデータのすべてを分析することと比較して、エネルギー消費(例えば、バッテリ消費)、帯域幅、レイテンシなどの大幅な削減がもたらされる。
【0013】
図1は、特定の実施形態による、例示的なシステムアーキテクチャ100を示すブロック図である。システムアーキテクチャ100は、クライアントデバイス120、故障予測サーバ130、およびデータストア140を含む。故障予測サーバ130は、故障予測システム110の一部であってもよい。
【0014】
クライアントデバイス120、故障予測サーバ130、データストア140、サーバマシン170、サーバマシン180、製造装置124(例えば、イオン注入ツールなど)、およびセンサ126は、故障予測のためにネットワーク160を介して互いに結合されていてもよい。一部の実施形態では、ネットワーク160は、故障予測サーバ130、データストア140、および他の公に利用可能なコンピューティングデバイスへのアクセスをクライアントデバイス120に提供するパブリックネットワークである。一部の実施形態では、ネットワーク160は、故障予測サーバ130、データストア140、および他のプライベートに利用可能なコンピューティングデバイスへのアクセスをクライアントデバイス120に提供するプライベートネットワークである。ネットワーク160は、1つまたは複数のワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク(例えば、イーサネットネットワーク)、無線ネットワーク(例えば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラーネットワーク(例えば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはそれらの組合せを含むことができる。
【0015】
製造装置124は、半導体処理に使用することができる。製造装置124は、イオン注入ツールを含むことができる。イオン注入ツールは、半導体デバイスを通る電気の流れを制御するために(例えば、トランジスタなどを作るために)、原子を半導体デバイスに挿入することができる。製造装置124(例えば、イオン注入ツール)は、フラッド銃124A、ソース銃124Bなどの構成要素を含むことがある。フラッド銃124Aは、ターゲット(例えば、フラッド領域、絶縁体または半導体上の領域)に低エネルギー電子の定常流を提供する電気機械装置であってもよい。ソース銃124B(例えば、プラズマソース銃)は、半導体デバイス上にプラズマを堆積させるためのプラズマ源であってもよい(例えば、半導体デバイス上にプラズマを効果的に堆積させるために、かなりのストリーミング速度でプラズマを放出する)。
【0016】
製造装置124(例えば、イオン注入ツール)を中断なく動作させることを制限する要因は、1つまたは複数の構成要素(例えば、フラッド銃124A、ソース銃124Bなど)の故障であることがあり、これは、計画外のダウンタイムにつながる可能性がある。センサ126は、製造装置124に関連付けられたセンサデータ(例えば、生のセンサデータ、温度、圧力、電力、流量など)を捕捉することができる。例えば、イオン注入ツールには、数千ヘルツの取得速度を有する数百のセンサが設けられている場合がある。センサの数、センサデータの取得速度、および構成要素の平均余命(例えば、6か月など)を考慮すると、捕捉されるセンサデータ(例えば、生のセンサデータ)の量は非常に大きくなる可能性がある。センサ126からのセンサデータ142は、データストア140に記憶されてもよい。
【0017】
本明細書に記載されるように、半導体処理は、ウエハ用の半導体製造、またはディスプレイ製造(例えば、フラットパネルディスプレイ製造)のうちの1つもしくは複数を含んでもよい。故障予測は、半導体製造装置の1つまたは複数の構成要素(例えば、ウエハ用の半導体製造において使用される構成要素の故障を予測する)またはディスプレイ製造(例えば、ディスプレイ製造において使用される構成要素の故障を予測する)に関連付けられてもよい。
【0018】
クライアントデバイス120は、パーソナルコンピュータ(PC)、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワーク接続テレビ(「スマートTV」)、ネットワーク接続メディアプレーヤ(例えば、ブルーレイプレーヤ)、セットトップボックス、オーバザトップ(OTT)ストリーミングデバイス、オペレータボックスなどのコンピューティングデバイスを含むことができる。クライアントデバイス120は、ネットワーク160を介して情報(例えば、故障予測のための製造装置124の選択)を送信し、ネットワーク160を介して予測された故障に関連付けられた指示(例えば、予測ウインドウの信頼性レベル、是正措置を実行するための命令など)を受信することが可能であってもよい。予測された故障に関連付けられた命令は、製造装置124の1つまたは複数の構成要素が、現在、時間の予測ウインドウ156B(例えば、正常動作ウインドウ、故障前ウインドウ、故障ウインドウなど)に関連付けられていることを特定することができる。予測された故障に関連付けられた命令は、故障までの時間量、交換されるべき構成要素、構成要素を交換する方法、製造装置124の動作が中断されたか(例えば、シャットダウンされたか)どうか、または製造装置124の動作を中断すべきかどうかのうちの1つもしくは複数を示すことができる。クライアントデバイス120は、予測された故障に関連付けられた指示を受信したことに応答して、グラフィカルユーザインターフェース(GUI)を介して警告を表示することができる。各クライアントデバイス120は、ユーザが情報を生成、閲覧、および編集し、警告を閲覧することを可能にするオペレーティングシステムを含むことができる。
【0019】
クライアントデバイス120は、是正措置構成要素122を含むことができる。是正措置構成要素122は、(例えば、クライアントデバイス120を介して表示されるGUIを介して)ユーザ入力を受信することができ、ユーザ入力に基づいて、製造装置124に対して故障予測が実行されるべきであるという指示を生成することができる。是正措置構成要素122は、故障予測サーバ130に指示を送信することができる。一部の実施形態では、是正措置構成要素122は、(例えば、製造装置124に結合されたセンサ126からの)センサデータ142を故障予測サーバ130に送信する。是正措置構成要素122は、(例えば、故障予測サーバ130が故障前ウインドウを決定したことに応答して)故障予測サーバ130から予測された故障に関連付けられた指示を受信することができる。是正措置構成要素122は、是正措置を実行させることができる。是正措置は、(例えば、故障前ウインドウを予測したことに基づいて)構成要素の故障を是正および/または先制的に是正することを指すことができる。例えば、是正措置を実行させるために、是正措置構成要素122は、(例えば、クライアントデバイス120のGUIを介して、製造装置124を介してなどで)警告を発することができ、製造装置124の動作を中断する(例えば、製造装置124の1つまたは複数の部分をシャットダウンする)ことができ、および/または1つもしくは複数の構成要素を交換させることができる。
【0020】
故障予測サーバ130は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの1つまたは複数のコンピューティングデバイスを含むことができる。故障予測サーバ130は、故障予測構成要素132を含むことができる。一部の実施形態では、故障予測構成要素132は、(例えば、製造装置124に結合されたセンサ126から)センサデータ142を受信することができる。センサデータ142は、経時的な記録値および各値についての対応するタイムスタンプ(例えば、第1の時点での第1の記録温度、第2の時点での第2の記録温度など)を含むことができる。センサデータ142は、(例えば、いかなる特徴エンジニアリングも行わない)生のトレースデータであってもよい。故障予測構成要素132は、現在のセンサデータ150からノイズを除去し、特徴分析を実行して現在のセンサデータ150について追加の特徴を生成し、製造装置124の1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測し、1つまたは複数の構成要素が故障前ウインドウ内にあると予測したことに応答して、製造装置124に関連付けられた是正措置を実行することができる。
【0021】
構成要素が故障前ウインドウ内にあるかどうかを予測するために、故障予測構成要素132は、現在のセンサデータ150(例えば、現在の追加の特徴154)を故障予測のためのモデル190(例えば、畳み込み長短期記憶(LSTM)(convLSTM)モデル、深層学習モデル、ランダムフォレストモデルなど)に提供することができる。故障予測構成要素132は、現在のセンサデータ150に基づいて、モデル190から予測ウインドウ156Bの信頼性レベル158を受信することができる。
【0022】
センサデータ150の各特徴(例えば、過去の特徴146、現在の特徴152など)は、シーケンス(例えば、第1の値、第2の値など)、タイムスタンプ(例えば、第1の値における時間、第2の値における時間など)、およびどのセンサ126がシーケンスに対応するかの表示を含むことができる。各追加の特徴(例えば、過去の追加の特徴148、現在の追加の特徴154)は、1つまたは複数の特徴に対して1つまたは複数の操作を実行することによって生成することができる。1つまたは複数の操作は、複数のセンサ126のうちの1つもしくは複数からの特徴(例えば、対応するセンサデータ)の比率、範囲、デルタ、または最大値のうちの1つもしくは複数を含むことができる。例えば、第1の特徴は、センサ126のうちの圧力センサから受信した圧力測定値のシーケンスであってもよく、第2の特徴は、センサ126のうちの温度センサから受信した温度測定値のシーケンスであってもよく、第1の追加の特徴は、圧力測定値のシーケンスを対応する各温度測定値で割った比率であってもよい(例えば、第1の追加の特徴は、第1の時点における第1の圧力値を第1の時点における第1の温度値で割ったもの、第2の時点における第2の圧力値を第2の時点における第2の温度値で割ったものなどを含むシーケンスであってもよい)。
【0023】
データストア140は、メモリ(例えば、ランダムアクセスメモリ)、ドライブ(例えば、ハードドライブ、フラッシュドライブ)、データベースシステム、またはデータを記憶することができる別のタイプの構成要素またはデバイスであってもよい。データストア140は、複数のコンピューティングデバイス(例えば、複数のサーバコンピュータ)にまたがることがある複数のストレージ構成要素(例えば、複数のドライブまたは複数のデータベース)を含むことができる。データストア140は、センサデータ142(例えば、過去のセンサデータ144、過去の特徴146、過去の追加の特徴148、現在のセンサデータ150、現在の特徴152、現在の追加の特徴154など)、ウインドウ156(例えば、過去のウインドウ156A、予測ウインドウ156B)、信頼性レベル158などのうちの1つまたは複数を記憶することができる。
【0024】
一部の実施形態では、故障予測システム110は、サーバマシン170およびサーバマシン180をさらに含む。サーバマシン170および180は、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(例えば、ハードディスク、メモリデータベース)、ネットワーク、ソフトウェア構成要素、またはハードウェア構成要素であってもよい。
【0025】
サーバマシン170は、機械学習モデル190を訓練、検証、またはテストするために、1つまたは複数のデータセット(例えば、
図2のデータ入力210のセットおよびターゲット出力220のセット)を生成することが可能なデータセット生成器172を含む。データセット生成器172のいくつかの動作は、
図2および
図6に関して以下で詳細に説明される。一部の実施形態では、データセット生成器172は、過去のセンサデータ144を訓練セット(例えば、過去のセンサデータ144の60パーセント)、検証セット(例えば、過去のセンサデータ144の20パーセント)、およびテストセット(例えば、過去のセンサデータ144の20パーセント)に分割することができる。サーバマシン180は、訓練エンジン182を含む。一部の実施形態では、サーバマシン180は、訓練エンジン182、検証エンジン184、およびテストエンジン186を含む。訓練エンジン182は、データセット生成器172からの訓練セットを使用して、機械学習モデル190を訓練することが可能であってもよい。訓練エンジン182は、1つまたは複数の訓練された機械学習モデル190を生成することができる。
【0026】
検証エンジン184は、データセット生成器172からの検証セットを使用して、訓練された機械学習モデル190を検証することが可能であってもよい。検証エンジン184は、検証セットに基づいて、訓練された機械学習モデル190のそれぞれの精度を決定することができる。検証エンジン184は、しきい値精度を満たさない精度を有する訓練された機械学習モデル190を破棄することができる。
【0027】
テストエンジン186は、データセット生成器172からのテストセットを使用して、訓練された機械学習モデル190をテストすることが可能であってもよい。テストエンジン186は、テストセットに基づいて、訓練された機械学習モデルのすべての中で最も高い精度を有する訓練された機械学習モデル190を決定することができる。
【0028】
機械学習モデル190は、データ入力および対応するターゲット出力(それぞれの訓練入力に対する正解)を含む訓練セットを使用する、訓練エンジン182によって作成されるモデルアーチファクトを指してもよい。データ入力をターゲット出力(正解)にマッピングするデータセットのパターンを見出すことができ、機械学習モデル190には、これらのパターンを捕捉するマッピングが提供される。一部の実施形態では、機械学習モデル190は、1つまたは複数のLSTM層およびソフトマックス層を使用することができる(
図7A~
図7B参照)。
【0029】
一部の実施形態では、故障予測構成要素132は、過去のセンサデータ144および過去のウインドウ156Aをデータセット生成器172に提供することができる。データセット生成器172は、過去のセンサデータ144を入力として、過去のウインドウ156を出力として、訓練エンジン182、検証エンジン184、および/またはテストエンジン186のうちの1つもしくは複数に提供して、機械学習モデル190の訓練、検証、またはテストのうちの1つもしくは複数を行うことができる。
【0030】
一部の実施形態では、故障予測システム110は、異なるハイパーパラメータ(例えば、異なる数のLSTM層)、異なるタイプの機械学習モデル、過去の追加の特徴148の異なるセットなどのうちの1つまたは複数に基づいて、異なるモデル190を生成することができる。故障予測システム110は、異なるモデル190を訓練、検証、またはテストすることのうちの1つもしくは複数を行って、最も正確なモデル190を選択することができる。
【0031】
一部の実施形態では、故障予測構成要素132は、訓練された機械学習モデル190への入力として現在のセンサデータ150を提供し、入力に対して訓練された機械学習モデル190を実行して、1つまたは複数の出力を取得することができる。
図4に関して以下で詳細に説明するように、故障予測構成要素132は、(例えば、訓練された機械学習モデル190の出力に基づいて、出力から予測ウインドウ156Bの信頼性レベルを抽出するなどによって)予測ウインドウ156Bを決定することが可能であってもよい。故障予測構成要素132はまた、出力に基づいて信頼性データを決定することができる。信頼性データは、予測ウインドウ156Bが製造装置124に対応する信頼性レベルを示すことができる。故障予測構成要素132は、信頼性レベル158を使用して、予測ウインドウ156Bを選択することができる。
【0032】
信頼性データは、製造装置124の1つまたは複数の構成要素の将来の故障に対応する予測ウインドウ156Bの信頼性レベル158を含むか、または示すことができる。一例では、信頼性レベルは、0から1までの実数であり、ここで、0は、製造装置124の1つまたは複数の構成要素の将来の故障に対応する予測ウインドウ156Bの信頼性がないことを示し、1は、製造装置124の1つまたは複数の構成要素の将来の故障に対応する予測ウインドウ156Bの絶対的な信頼性を示す。
【0033】
故障予測構成要素132は、モデル190の出力に基づいて、複数の予測ウインドウ156Bおよび対応する信頼性レベル158(例えば、正常動作ウインドウの10%の信頼性レベルおよび故障前動作ウインドウの90%の信頼性レベル)を決定することができる。一部の実施形態では、故障予測構成要素132は、最高レベルの信頼性を有する予測ウインドウを選択する。一部の実施形態では、故障予測構成要素132は、50%を超える信頼性レベルを有する予測ウインドウを選択する。
【0034】
限定ではなく例示の目的で、本開示の態様は、機械学習モデルの訓練と、予測ウインドウ156Bを決定するために現在のセンサデータ150を使用して訓練された学習モデルを使用することと、を説明する。他の実施態態では、ヒューリスティックモデルまたはルールベースモデルを使用して、センサデータ142(例えば、過去のセンサデータ144、現在のセンサデータ150など)に基づいて予測ウインドウ156を決定する。
図2のデータ入力210に関して説明された情報のいずれも、ヒューリスティックモデルまたはルールベースモデルにおいて監視またはその他の方法で使用することができる。
【0035】
一部の実施形態では、クライアントデバイス120、故障予測サーバ130、サーバマシン170、およびサーバマシン180の機能は、より少ない数のマシンによって提供されてもよい。例えば、一部の実施形態では、サーバマシン170および180は、単一のマシンに統合されてもよい。一部の他の実施形態では、サーバマシン170、サーバマシン180、および故障予測サーバ130は、単一のマシンに統合されてもよい。
【0036】
一般に、クライアントデバイス120、サーバマシン170、およびサーバマシン180によって実行されるとして一実施形態で説明されている機能は、適切な場合は、他の実施形態において故障予測サーバ130上でも実行することができる。加えて、特定の構成要素に起因する機能は、異なる構成要素または複数の構成要素が一緒に動作することによって実行することができる。例えば、一部の実施形態では、故障予測サーバ130は、故障予測のために製造装置124(例えば、半導体処理ツール)を示すユーザ入力を受信することができ、故障予測サーバ130は、予測ウインドウ156Bの信頼性レベル158に基づいて、警告を発し、製造装置124をシャットダウンするなどを行うことができる。別の例では、クライアントデバイス120は、センサデータ142からノイズを除去すること、センサデータ142に対して特徴分析を実行すること、予測ウインドウ156Bの信頼性レベル158を決定すること、1つもしくは複数の構成要素が故障前ウインドウ内にあるかどうかを予測すること、または是正措置を実行することのうちの1つもしくは複数を行うことができる。別の例では、データセット生成器172は、過去のセンサデータ144からノイズを除去し、過去のセンサデータ144に対して特徴分析を実行することができる。
【0037】
加えて、特定の構成要素の機能は、異なる構成要素または複数の構成要素が一緒に動作することによって実行することができる。故障予測サーバ130、サーバマシン170、またはサーバマシン180のうちの1つもしくは複数は、適切なアプリケーションプログラミングインターフェース(API)を介して他のシステムまたはデバイスに提供されるサービスとしてアクセスされてもよい。
【0038】
実施形態では、「ユーザ」は、単一の個人として表されることがある。しかしながら、本開示の他の実施形態は、複数のユーザおよび/または自動化されたソースによって制御されるエンティティである「ユーザ」を包含する。例えば、管理者のグループとして統合された個々のユーザのセットは、「ユーザ」と見なされてもよい。
【0039】
本開示の実施形態は、製造装置124に結合されたセンサ126から受信したセンサデータ150の観点から論じられているが、実施形態はまた、経時的に受信したデータ(例えば、不規則な時系列データなど)に一般的に適用することができる。実施形態は、経時的にデータを生成するプロセスの最適化に一般的に適用することができる。ウエハまたはディスプレイ製造用の製造装置124の例は、物理的気相堆積(PVD)装置、化学気相堆積(CVD)装置、原子層堆積(ALD)装置、化学機械研磨(CMP)装置、およびエッチング装置である。
【0040】
図2は、特定の実施形態による、過去のセンサデータ244(例えば、
図1の過去のセンサデータ144)を使用して機械学習モデル290(例えば、
図1のモデル190)用のデータセットを作成するための例示的なデータセット生成器272(例えば、
図1のデータセット生成器172)である。
図2のシステム200は、データセット生成器272、データ入力210、およびターゲット出力220を示す。
【0041】
一部の実施形態では、データセット生成器272は、1つまたは複数のデータ入力210(例えば、訓練入力、検証入力、テスト入力)および1つまたは複数のターゲット出力220を含むデータセット(例えば、訓練セット、検証セット、テストセット)を生成する。データセットはまた、データ入力210をターゲット出力220にマッピングするマッピングデータを含むことができる。データ入力210は、「特徴」、「属性」、または「情報」と呼ばれることもある。一部の実施形態では、データセット生成器272は、訓練エンジン182、検証エンジン184、またはテストエンジン186のうちの1つもしくは複数にデータセットを提供することができ、データセットは、機械学習モデル190を訓練、検証、またはテストするために使用される。訓練セットを生成する一部の実施形態は、
図6に関してさらに説明され得る。
【0042】
一部の実施形態では、データ入力210は、過去のセンサデータ244についての特徴212Aの1つまたは複数のセットを含むことができる。特徴212の各セットは、過去の特徴246(例えば、
図1の過去の特徴146)または過去の追加の特徴248(例えば、
図1の過去の追加の特徴148)のうちの少なくとも1つを含むことができる。例えば、特徴212のセットは、1つまたは複数の過去の追加の特徴248を含むことができる。
【0043】
一部の実施形態では、データセット生成器272は、第1の機械学習モデルを訓練、検証、またはテストするために、特徴212Aの第1のセットに対応する第1のデータ入力210Aを生成することができ、データセット生成器272は、第2の機械学習モデルを訓練、検証、またはテストするために、特徴212Bの第2のセットに対応する第2のデータ入力210Bを生成することができる。
【0044】
一部の実施形態では、データセット生成器272は、(例えば、回帰問題の分類アルゴリズムで使用するために)ターゲット出力220を離散化することができる。ターゲット出力220の離散化は、変数の連続値を離散値に変換することができる。一部の実施形態では、ターゲット出力220の離散値は、過去のウインドウ256(例えば、正常動作ウインドウ、故障前ウインドウ、故障ウインドウなど)を示す。一部の実施形態では、ターゲット出力220の離散値は、1つまたは複数の構成要素が故障したのが設置からどのくらいの時間(例えば、日、時間など)であったかを示す。
【0045】
機械学習モデルを訓練、検証、またはテストするためのデータ入力210およびターゲット出力220は、特定の設備からの(例えば、特定の半導体製造設備からの)情報を含むことができる。例えば、過去のセンサデータ244は、
図1の現在のセンサデータ150と同じ製造設備からのものであってもよい。一部の実施形態では、機械学習モデルを訓練するために使用される情報は、特定の特性を有する製造設備の構成要素の特定のグループ(例えば、特定の時間枠からの構成要素、特定のタイプの製造装置の構成要素など)からのものであってもよく、訓練された機械学習モデルが、特定のグループの特性を共有する1つまたは複数の構成要素に関連付けられた過去のセンサデータに基づいて、構成要素の特定のグループに対する故障前ウインドウを予測することを可能にする。一部の実施形態では、機械学習モデルを訓練するために使用される情報は、2つ以上の製造設備からの構成要素についてのものであってもよく、訓練された機械学習モデルが、1つの製造設備からの入力に基づいて構成要素の結果を決定することを可能にしてもよい。一部の実施形態では、機械学習モデルを訓練するために使用される情報は、1つまたは複数の第1のイオン注入ツールに関連付けられていてもよく、訓練された機械学習モデルは、1つまたは複数の第1のイオン注入ツールとは異なる1つまたは複数の第2のイオン注入ツールについての構成要素の故障を予測するために使用されてもよい。
【0046】
一部の実施形態では、データ入力210を生成し、データセットを使用して機械学習モデル190を訓練、検証、またはテストした後に、1つまたは複数の製造設備からの追加の過去のセンサデータおよび対応する過去のウインドウを使用して、機械学習モデル190をさらに訓練、検証、またはテスト、あるいは調整すること(例えば、ニューラルネットワークにおける接続重みなどの、機械学習モデル190の入力データに関連付けられた重みを調整すること、ハイパーパラメータを調整することなど)ができる。
【0047】
図3は、予測ウインドウ356B(例えば、
図1の予測ウインドウ156B)の信頼性レベル358(例えば、
図1の信頼性レベル158)を決定するためのシステム300を示すブロック図である。システム300は、半導体製造ツールの故障予測(例えば、イオン注入半導体製造ツールにおけるプラズマソース銃の寿命予測)を提供することができる。
【0048】
ブロック310において、システム300(例えば、
図1の故障予測システム110)は、過去のセンサデータ344(例えば、
図1の過去のセンサデータ144)のデータ分割を(例えば、
図1のサーバマシン170のデータセット生成器172を介して)実行して、訓練セット302、検証セット304、およびテストセット306を生成する。一部の実施形態では、システム300は、データセットのそれぞれに対応する特徴の複数のセットを生成する。
【0049】
ブロック312において、システム300は、訓練セット302を使用して(例えば、
図1の訓練エンジン182を介して)モデル訓練を実行する。システム300は、訓練セット302の特徴の複数のセット(例えば、訓練セット302の特徴の第1のセット、訓練セット302の特徴の第2のセットなど)を使用して、複数のモデルを訓練することができる。
【0050】
ブロック314において、システム300は、検証セット304を使用して(例えば、
図1の検証エンジン184を介して)モデル検証を実行する。システム300は、検証セット304の対応する特徴のセットを使用して、訓練されたモデルのそれぞれを検証することができる。ブロック314において、システムは、1つまたは複数の訓練されたモデルのそれぞれの精度を決定することができ、1つまたは複数の訓練されたモデルがしきい値精度を満たす精度を有するかどうかを判定することができる。訓練されたモデルのいずれも、しきい値精度を満たす精度を有していないと判定したことに応答して、フローは、ブロック312に戻り、システム300は、訓練セットの異なる特徴のセットを使用してモデル訓練を実行する。訓練されたモデルの1つまたは複数が、しきい値精度を満たす精度を有すると判定したことに応答して、フローは、ブロック316に進む。
【0051】
ブロック316において、システム300は、しきい値精度を満たす1つまたは複数の訓練されたモデルのどれが最高の精度を有するか(例えば、選択されたモデル308)を決定するために、モデル選択を実行する。しきい値精度を満たす訓練されたモデルのうちの2つ以上が同じ精度を有すると判定したことに応答して、フローは、ブロック312に戻ることができ、システム300は、最高の精度を有する訓練されたモデルを決定するために、さらに洗練された特徴のセットに対応するさらに洗練された訓練セットを使用してモデル訓練を実行する。
【0052】
ブロック318において、システム300は、選択されたモデル308をテストするためにテストセット306を使用して(例えば、
図1のテストエンジン186を介して)モデルテストを実行する。ブロック318において、システム300は、テストセット306を使用して、選択されたモデル308の精度がしきい値精度を満たすかどうかを判定することができる。選択されたモデル308の精度がしきい値精度を満たさない(例えば、選択されたモデル308が検証セット304に過度に適合している)ことに応答して、フローは、ブロック312に進み、システム300は、特徴の異なるセットに対応する異なる訓練セットを使用してモデル訓練を実行する。選択されたモデル308が、テストセット306に基づいてしきい値精度を満たす精度を有すると判定したことに応答して、フローは、ブロック320に進む。少なくともブロック312において、モデルは、過去のセンサデータのパターンを学習して予測を行うことができ、ブロック318において、システム300は、残りのデータ(例えば、テストセット306)にモデルを適用して予測をテストすることができる。
【0053】
一部の実施形態では、異なるモデルの訓練、検証、またはテストのうちの1つもしくは複数のために異なる特徴のセット(例えば、過去の追加の特徴148の異なる組合せ)を使用することに加えて、システム300は、どの特徴およびどのハイパーパラメータが最高の精度を提供するかを決定するために、異なるモデルに異なるハイパーパラメータを含めることもできる。一部の実施形態では、異なるモデルの訓練、検証、またはテストのうちの1つもしくは複数に異なる特徴のセットを使用する代わりに、システム300は、異なるモデルにおいて異なるハイパーパラメータを使用して(例えば、各モデルが過去の追加の特徴148の同じセットを使用する場合)、どのハイパーパラメータが最高の精度を提供するかを決定する。
【0054】
ブロック320において、システム300は、訓練されたモデル(例えば、選択されたモデル308)を使用して、現在のセンサデータ350(例えば、
図1の現在のセンサデータ150)を受信し、予測ウインドウ356Bの信頼性レベル358(例えば、
図1の予測ウインドウ156Bの信頼性レベル158)を出力する。
【0055】
追加のセンサデータを受信したことに応答して、追加のセンサデータをブロック312に入力して、モデルの再訓練を介して訓練されたモデルを更新することができる。
【0056】
図4~
図6は、特定の実施形態による、故障予測に関連付けられた例示的な方法400、500、および600を示す流れ図である。方法400、500、および600は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード、処理デバイスなど)、ソフトウェア(処理デバイス、汎用コンピュータシステム、または専用マシン上で実行される命令など)、ファームウェア、マイクロコード、あるいはそれらの組合せを含むことができる処理ロジックによって実行することができる。一実施形態では、方法400、500、および600は、故障予測システム110によって部分的に実行されてもよい。一部の実施形態では、方法400、500、および600は、故障予測サーバ130によって実行されてもよい。一部の実施形態では、非一時的なコンピュータ可読ストレージ媒体は、(例えば、故障予測システム110の)処理デバイスによって実行されると、処理デバイスに方法400、500、および600を実行させる命令を記憶する。
【0057】
説明を簡単にするために、方法400、500、および600は、一連の行為として描写および説明されている。しかしながら、本開示による行為は、様々な順序で、および/または同時に、ならびに本明細書に提示および記載されていない他の行為と一緒に行われてもよい。さらに、開示された主題に従って方法400、500、および600を実施するために、図示されたすべての行為が実行され得るわけではない。加えて、当業者は、方法400、500、および600が、状態図またはイベントを介して一連の相互に関連する状態として代替的に表すことができることを理解し、認識するであろう。
【0058】
図4は、特定の実施形態による、構成要素の故障を予測するための方法400の流れ図である。一部の実施形態では、方法400は、故障予測サーバ130の故障予測構成要素132の処理ロジックによって実行される。
【0059】
ブロック402において、処理ロジックは、製造装置(例えば、製造装置124、イオン注入ツール)に関連付けられたセンサ(例えば、センサ126)から、特徴に対応する現在のセンサデータ(例えば、現在のセンサデータ150)を受信する。特徴は、現在のセンサデータのシーケンスであってもよく、現在のセンサデータの各シーケンスが、対応するセンサによって捕捉される。一部の実施形態では、現在のセンサデータは、処理ロジックにストリーミングされる。処理ロジックは、データセット、行列などのうちの1つまたは複数の形態でセンサデータを受信することができる。一部の実施形態では、センサデータは、データストア140に記憶され、集約される。
【0060】
一部の実施形態では、ブロック404において、処理ロジックは、現在のセンサデータからノイズを除去する。一部の実施形態では、処理ロジックは、インターバルにわたって現在のセンサデータを平均すること(例えば、10秒間にわたってセンサデータ値を平均するなど)によって現在のセンサデータからノイズを除去する。一部の実施形態では、処理ロジックは、現在のセンサデータから外れ値を除去することによってノイズを除去する。
【0061】
ブロック406において、処理ロジックは、特徴分析を実行して、現在のセンサデータに対して追加の特徴(例えば、現在の追加の特徴154)を生成する。追加の特徴は、複数のセンサのうちの1つもしくは複数からの対応するセンサデータの比率、範囲、デルタ、または最大値のうちの1つもしくは複数を含むことができる。一部の実施形態では、追加の特徴は、主要なセンサの統計的特徴(例えば、平均、標準偏差など)を含むことができる。
【0062】
一部の実施形態では、処理ロジックは、計算されるべき追加の特徴を示すユーザ入力を受信することによって特徴分析を実行する。一部の実施形態では、特徴分析(例えば、特徴エンジニアリング)のためのモデルが生成される(
図5参照。追加の特徴のユーザ入力に基づいて、他のパラメータのユーザ入力に基づいて、ユーザ入力なしで)。特徴分析のモデルは、(例えば、1次元の畳み込みを実行する)畳み込みニューラルネットワーク(CNN)であってもよい。CNNは、センサデータ142の時間的構造の学習に優れている可能性があり、(例えば、正常な動作ウインドウ、故障前ウインドウなどを決定するために)故障および正常なデータについて不変的な特徴を決定することができる。
【0063】
処理ロジックは、現在のセンサデータを行列で受信し、1次元畳み込みを介して行列を処理して、複数の追加の特徴を出力することによって分析を実行することができる。
【0064】
ブロック408において、処理ロジックは、訓練された機械学習モデルへの入力として(例えば、ノイズを除去した後の)追加の特徴を提供する。訓練された機械学習モデルは、1つまたは複数のLSTM層およびソフトマックス層(softmax layer)を含むことができる。訓練された機械学習モデルは、1つまたは複数のLSTM層によってシーケンスとして空間的特徴を学習していてもよい。時系列構造を予測に組み込むことができる。訓練された機械学習モデルは、誤分類にペナルティを課すために(例えば、偽陽性を回避するために)重み付けされてもよい。方法400によって生成された現在の予測は、現在のセンサデータ150の前の時間ステップに基づくことができる。
【0065】
訓練された機械学習モデルは、ブロック402の製造装置(例えば、イオン注入ツール)とは異なる製造装置(例えば、第2のイオン注入ツール)に関連付けられた第2の複数のセンサからの過去のセンサデータに基づいて生成されたものであってもよい。
【0066】
ブロック410において、処理ロジックは、訓練された機械学習モデルから1つまたは複数の出力を取得する。一部の実施形態では、1つまたは複数の出力は、予測ウインドウ(例えば、予測ウインドウ156B)の信頼性レベル(例えば、信頼性レベル158)を示す。一部の実施形態では、処理ロジックは、1つまたは複数の出力から、予測ウインドウの信頼性レベルを抽出する。一部の実施形態では、処理ロジックは、複数の予測ウインドウおよび対応する信頼性レベル(例えば、正常動作ウインドウの10%の信頼性レベルおよび故障前ウインドウの90%の信頼性レベル)を決定する。
【0067】
ブロック412において、処理ロジックは、予測ウインドウの信頼性レベルに基づいて、製造装置(例えば、イオン注入ツール)の1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測する。処理ロジックは、予測ウインドウの信頼性レベルが故障前ウインドウの50%よりも高い信頼性を示すと判定することによって、1つまたは複数の構成要素が故障前ウインドウ内にあると予測してもよい。
【0068】
ブロック414において、処理ロジックは、予測ウインドウの信頼性レベルが、イオン注入ツールの1つまたは複数の構成要素が故障前ウインドウ内にあることを示しているかどうかを判定する。予測ウインドウの信頼性レベルが、1つまたは複数の構成要素が故障前ウインドウ内にないことを示したことに応答して、フローは、ブロック402に進み、追加のセンサデータが受信される(例えば、方法400のループ)。予測ウインドウの信頼性レベルが、1つまたは複数の構成要素が故障前ウインドウ内にあることを示したことに応答して、フローは、ブロック416に進む。1つまたは複数の構成要素は、フラッド銃またはソース銃のうちの少なくとも1つなどのイオン注入ツールの構成要素であってもよい。
【0069】
ブロック416において、処理ロジックは、(例えば、1つまたは複数の構成要素が故障前ウインドウ内にあると予測したことに応答して)イオン注入ツールに関連付けられた是正措置を実行する。是正措置は、グラフィカルユーザインターフェースに警告を表示させること、製造装置(例えば、イオン注入ツール)の動作を中断すること(例えば、シャットダウンすること、速度を遅くすること、特定のプロセスを停止することなど)、または1つもしくは複数の構成要素を交換させることのうちの1つもしくは複数を含むことができる。
【0070】
図5は、特定の実施形態による、構成要素の故障を予測するための機械学習モデルを訓練するための方法500の流れ図である。一部の実施形態では、方法500は、
図1の故障予測システム110の処理ロジックによって実行される。一部の実施形態では、方法500は、
図1のサーバマシン180の処理ロジックによって実行される。一部の実施形態では、方法500は、
図1のサーバマシン180の訓練エンジン182によって実行される。
【0071】
ブロック502において、処理ロジックは、製造装置124(例えば、イオン注入ツール)に関連付けられたセンサ(例えば、センサ126)から、特徴(例えば、製造装置124に関連付けられたセンサ126から受信した測定値および対応するタイムスタンプ)に対応する過去のセンサデータ(例えば、過去のセンサデータ144)を受信する。
【0072】
一部の実施形態では、ブロック504において、処理ロジックは、過去のセンサデータからノイズを除去する。処理ロジックは、インターバルにわたって過去のセンサデータを平均すること、または外れ値を除去することのうちの1つもしくは複数によって、過去のセンサデータからノイズを除去することができる。
【0073】
ブロック506において、処理ロジックは、過去のセンサデータの第1のサブセットに対する正常動作ウインドウおよび過去のセンサデータの第2のサブセットに対する故障前ウインドウを含むウインドウ(例えば、過去のウインドウ156A)を決定する。処理ロジックは、(例えば、センサデータ値のピークに基づいて、
図8Bのような健全性指数値のピークに基づいて)故障発生時を決定することによってウインドウを決定してもよい。処理ロジックは、故障発生時の一定時間(例えば、24時間、48時間)より前に捕捉されたセンサデータが正常動作ウインドウに対応し、故障発生時と故障前の一定時間との間に捕捉されたセンサデータが故障前ウインドウに対応し、故障発生時後に捕捉されたセンサデータが故障ウインドウに対応すると決定することができる。
【0074】
ブロック508において、処理ロジックは、特徴分析を実行して、過去のセンサデータに対して追加の特徴(例えば、過去の追加の特徴148)を生成する。追加の特徴は、複数のセンサのうちの1つまたは複数からの対応するセンサデータの比率、範囲、デルタ、または最大値のうちの1つもしくは複数を含むことができる。処理ロジックは、過去のセンサデータを行列で受信し、1次元畳み込みを介して行列を処理して、複数の追加の特徴を出力することによって、特徴分析を実行することができる。
【0075】
一部の実施形態では、処理ロジックは、追加の特徴(例えば、追加の特徴に関連付けられた動作および特定のセンサ)に対応するユーザ入力を受信する。処理ロジックは、(例えば、追加の特徴のユーザ入力に基づいて、パラメータのユーザ入力を用いて、ユーザ入力を用いずになどで)CNNを訓練することができ、訓練されたCNNを、方法400において使用して、訓練された機械学習モデルを使用するための追加の特徴(例えば、現在の追加の特徴154)を決定することができる。
【0076】
ブロック510において、処理ロジックは、(例えば、ノイズを除去した後の)追加の特徴を含む訓練データ、およびウインドウを含むターゲット出力を使用して、(例えば、1つまたは複数のLSTMレベルおよびソフトマックス層を含む)機械学習モデルを訓練して、訓練された機械学習モデルを生成する。訓練された機械学習モデルは、(例えば、1つまたは複数のイオン注入ツールからの、1つまたは複数の製造装置124などからの)1つまたは複数のイオン注入ツール構成要素が故障前ウインドウ内にあるかどうかを示す1つまたは複数の出力を生成することが可能であってもよい(
図4の方法400参照)。
【0077】
一部の実施形態では、処理ロジックは、異なる特徴(例えば、過去の特徴146、過去の追加の特徴148)または異なるハイパーパラメータのうちの1つもしくは複数を使用して、複数のモデルを訓練する。処理ロジックは、異なるモデルの訓練、検証、またはテスト(例えば、モデルの評価)のうちの1つもしくは複数を行って、最高の精度を提供するモデルを選択することができる。
【0078】
一部の実施形態では、処理ロジックは、訓練された機械学習モデルを展開して、製造装置の1つまたは複数の構成要素(例えば、イオン注入ツールのフラッド銃、ソース銃など)が(例えば、1つまたは複数のイオン注入ツールに関連付けられた)是正措置を実行するための故障前ウインドウ内にあるかどうかを予測する。一部の実施形態では、訓練された機械学習モデルは、1つまたは複数の構成要素が故障前ウインドウ内にあるかどうかを予測するために、(例えば、機械学習モデルを訓練するために使用されるイオン注入ツールとは異なる)第2のイオン注入ツールに関連付けられた第2の複数のセンサからの現在のセンサデータに基づく入力を受信することになる。
【0079】
図6は、特定の実施形態による、構成要素の故障を予測するための機械学習モデルのデータセットを生成するための方法600の流れ図である。故障予測システム110は、本開示の実施形態に従って、方法600を使用して、機械学習モデルの訓練、検証、またはテストのうちの少なくとも1つを行うことができる。一部の実施形態では、方法600の1つまたは複数の動作は、
図1および
図2に関して説明したように、サーバマシン170のデータセット生成器172によって実行されてもよい。
図1および
図2に関して説明した構成要素は、
図6の態様を説明するために使用することができることに留意されたい。
【0080】
図6を参照すると、ブロック602において、処理ロジックは、データセットTを空のセットに初期化する。
【0081】
ブロック604において、処理ロジックは、(
図2に関して説明したように)過去のセンサデータに対する特徴の第1のセットを含む第1のデータ入力(例えば、第1の訓練入力、第1の検証入力)を生成する。第1のデータ入力は、過去のセンサデータ(例えば、過去のセンサデータ144)の1つもしくは複数の特徴(例えば、過去の特徴146)および/または1つもしくは複数の追加の特徴(例えば、過去の追加の特徴148)を含むことができる。
【0082】
ブロック606において、処理ロジックは、データ入力のうちの1つまたは複数(例えば、第1のデータ入力)に対する第1のターゲット出力を生成する。第1のターゲット出力は、過去のウインドウ(例えば、過去のウインドウ156A)の表示を提供する。
【0083】
ブロック608において、処理ロジックは、入力/出力マッピングを示すマッピングデータを生成してもよい。入力/出力マッピング(またはマッピングデータ)は、データ入力(例えば、本明細書で説明するデータ入力のうちの1つまたは複数)、データ入力に対するターゲット出力(例えば、ターゲット出力が予測ウインドウを特定する場合)、データ入力とターゲット出力との間の関連付けを指すことができる。
【0084】
ブロック610において、処理ロジックは、ブロック610において生成されたマッピングデータをデータセットTに追加する。
【0085】
ブロック612において、処理ロジックは、データセットTが機械学習モデル190の訓練、検証、またはテストのうちの少なくとも1つに対して十分であるかどうかに基づいて分岐する。十分な場合は、実行は、ブロック614に進み、十分でない場合は、実行は、ブロック604に戻る。一部の実施形態では、データセットTの十分性は、単純にデータセット内の入力/出力マッピングの数に基づいて判定されてもよいが、一部の他の実施態態では、データセットTの十分性は、入力/出力マッピングの数に加えて、またはその代わりに、1つもしくは複数の他の基準(例えば、データ例の多様性の尺度、精度など)に基づいて決定されてもよいことに留意されたい。
【0086】
ブロック614において、処理ロジックは、データセットTを提供して機械学習モデル190を訓練、検証、またはテストする。一部の実施形態では、データセットTは、訓練セットであり、訓練を実行するためにサーバマシン180の訓練エンジン182に提供される。一部の実施形態では、データセットTは、検証セットであり、検証を実行するためにサーバマシン180の検証エンジン184に提供される。一部の実施形態では、データセットTは、テストセットであり、テストを実行するためにサーバマシン180のテストエンジン186に提供される。一部の実施形態では、データセットTは、訓練セット、検証セット、およびテストセットに分割されてもよい(例えば、訓練セットが60%であってもよく、検証セットが20%であってもよく、検証セットが20%であってもよい)。機械学習モデルが訓練された(例えば、検証され、テストされ、しきい値精度を満たした)ことに応答して、訓練された機械学習モデルは、故障予測のために(例えば、故障予測構成要素132によって)使用することができる(
図3~
図4参照)。
【0087】
例えば、ニューラルネットワークの場合、所与の入力/出力マッピングの入力値(例えば、データ入力210に関連付けられた数値)がニューラルネットワークに入力され、入力/出力マッピングの出力値(例えば、ターゲット出力220に関連付けられた数値)がニューラルネットワークの出力ノードに記憶される。次いで、ニューラルネットワークの接続重みが学習アルゴリズム(例えば、逆伝搬など)に従って調整され、本手順がデータセットTの他の入力/出力マッピングについて繰り返される。訓練された機械学習モデルは、(故障予測サーバ130の)故障予測構成要素132によって実施されて、1つまたは複数の構成要素の故障ウインドウを予測することができる。
【0088】
図7A~
図7Bは、特定の実施形態による、故障予測のためのシステム700Aおよび700Bを示すブロック図である。
【0089】
図7Aを参照すると、システム700Aは、入力データ710を受信することができる。入力データ710は、行列状のセンサデータであってもよい。ノイズは、(例えば、センサデータを生成するためにインターバルにわたって生データを平均することによって、センサデータから外れ値を除去することによって)センサデータから除去されてもよい。
【0090】
システム700Aは、入力データ710に対して(例えば、訓練されたCNNの)1次元畳み込み720を実行することができる。一部の実施形態では、(例えば、1次元畳み込みを実行する)CNNは、追加の特徴に関連付けられた(例えば、追加の特徴を生成するために使用される操作を示す)ユーザ入力に基づいて訓練された。システム700Aは、(例えば、ノイズを除去した後の)入力データ710に対して1次元畳み込み720を実行し、特徴分析を実行して、入力データの追加の特徴を生成することができる。追加の特徴は、対応するセンサデータの比率、範囲、デルタ、最大値などのうちの1つまたは複数を含むことができる。
【0091】
システム700Aは、機械学習モデルのLSTM層730に追加の特徴を入力することができる。LSTM層の数は、センサデータに基づいて機械学習モデルを訓練および再訓練することによって調整されるハイパーパラメータであってもよい。
【0092】
システム700Aは、LSTM層730の出力をソフトマックス層740に送信することができ、ソフトマックス層740は、1つまたは複数の予測ウインドウ(例えば、クラス)に対して対応する信頼性レベルを生成することができる。
【0093】
図7Bを参照すると、システム700Bは、入力データ710に基づいて追加の特徴を受信することができるLSTM層730を含む。LSTM層730の出力は、ソフトマックス層740に送信されてもよい。ソフトマックス層は、1つまたは複数の出力を生成することができる。1つまたは複数の出力は、1つまたは複数の予測ウインドウに対する対応する信頼性レベルを含むことができる。例えば、ソフトマックス層は、正常動作ウインドウの第1の信頼性レベル、故障前ウインドウの第2の信頼性ウインドウ、および故障ウインドウの第3の信頼性レベルを生成することができる。信頼性レベルは、合計で100%になってもよい。50%を超える信頼性レベルに対応するウインドウを使用することができる。
【0094】
図8A~
図8Bは、特定の実施形態による、故障予測を示すグラフ800Aおよび800Bである。
【0095】
図8Aを参照すると、グラフ800Aは、経時的に特徴値(例えば、過去の追加の特徴148、現在の追加の特徴154など)を表示する。第1の時間ウインドウは、クラス0(例えば、正常動作ウインドウ)に対応することができる。第2の時間ウインドウは、クラス1(例えば、故障前ウインドウ)に対応することができる。第3の時間ウインドウは、クラス2(例えば、故障ウインドウ)に対応することができる。故障発生日(例えば、過去の故障発生日、予測された故障発生日)の一定時間(例えば、24時間、48時間など)前に、クラス0は終了してもよく、クラス1は開始してもよい。1つまたは複数の構成要素の故障発生時に、クラス1は終了してもよく、クラス2は開始してもよい。過去のセンサデータは、対応するウインドウ(例えば、クラス0、1、または2)に従ってラベル付けされてもよい。
【0096】
図8Bを参照すると、グラフ800Bは、経時的にプロットされた健全性指数を表示する(例えば、対応するタイムスタンプを有する)。健全性指数は、畳み込みLSTMの結果、センサデータ、追加の特徴などのうちの1つまたは複数に基づいてもよい。
【0097】
健全性指数は、正常動作ウインドウにわたって実質的に安定していてもよい。故障前ウインドウ中に、健全性指数がピークに達してもよく、実質的に故障発生時に、健全性指数が低下してもよい。センサデータの第1のサブセットは、正常動作ウインドウのタイムスタンプに対応してもよく、センサデータの第2のサブセットは、故障前ウインドウのタイムスタンプに対応してもよく、センサデータの第3のサブセットは、故障ウインドウのタイムスタンプに対応してもよい。センサデータのサブセットのそれぞれは、対応するウインドウ(例えば、クラス)に従ってラベル付けされてもよい。
【0098】
図9は、特定の実施形態による、コンピュータシステム900を示すブロック図である。一部の実施形態では、コンピュータシステム900は、(例えば、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワークを介して)他のコンピュータシステムに接続されてもよい。コンピュータシステム900は、クライアント-サーバ環境ではサーバまたはクライアントコンピュータの能力で、あるいはピアツーピアまたは分散ネットワーク環境ではピアコンピュータとして動作することができる。コンピュータシステム900は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはデバイスが取るべきアクションを指定する命令のセット(シーケンシャルまたはその他の)を実行することができる任意のデバイスによって提供されてもよい。さらに、「コンピュータ」という用語は、本明細書に記載の方法のいずれか1つまたは複数を実行するために、命令のセット(または複数のセット)を個別にまたは共同で実行するコンピュータの任意の集合を含むものとする。
【0099】
さらなる態様では、コンピュータシステム900は、バス908を介して互いに通信することができる、処理デバイス902、揮発性メモリ904(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ906(例えば、読み取り専用メモリ(ROM)または電気的-消去可能プログラマブルROM(EEPROM))、およびデータストレージデバイス916を含むことができる。
【0100】
処理デバイス902は、汎用プロセッサ(例えば、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他のタイプの命令セットを実装するマイクロプロセッサ、または命令セットのタイプの組合せを実装するマイクロプロセッサなど)、あるいは専用プロセッサ(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、もしくはネットワークプロセッサなど)などの1つまたは複数のプロセッサによって提供されてもよい。
【0101】
コンピュータシステム900は、ネットワークインターフェースデバイス922をさらに含むことができる。コンピュータシステム900はまた、ビデオ表示ユニット910(例えば、LCD)、英数字入力デバイス912(例えば、キーボード)、カーソル制御デバイス914(例えば、マウス)、および信号生成デバイス920を含むことができる。
【0102】
一部の実施態様では、データストレージデバイス916は、
図1の故障予測構成要素132または是正措置構成要素122を符号化する命令を含む、本明細書に記載された方法または機能のいずれか1つまたは複数を符号化し、本明細書に記載された方法を実施するため命令926を記憶することができる非一時的なコンピュータ可読ストレージ媒体924を含むことができる。
【0103】
命令926はまた、コンピュータシステム900によるその実行中に、揮発性メモリ904内および/または処理デバイス902内に、完全にまたは部分的に常駐してもよく、したがって、揮発性メモリ904および処理デバイス902はまた、機械可読ストレージ媒体を構成することができる。
【0104】
コンピュータ可読ストレージ媒体924は、例示的な例では単一の媒体として示されているが、「コンピュータ可読ストレージ媒体」という用語は、実行可能な命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(例えば、集中型または分散型データベース、ならびに/あるいは関連付けられたキャッシュおよびサーバ)を含むものとする。「コンピュータ可読ストレージ媒体」という用語はまた、コンピュータに本明細書に記載された方法のいずれか1つまたは複数を実行させる、コンピュータによって実行するための命令のセットを記憶または符号化することができる任意の有形媒体を含むものとする。「コンピュータ可読ストレージ媒体」という用語は、固体メモリ、光学媒体、および磁気媒体を含むが、これらに限定されないものとする。
【0105】
本明細書の記載される方法、構成要素、および特徴は、個別のハードウェア構成要素によって実施されてもよく、あるいはASIC、FPGA、DSPまたは類似のデバイスなどの他のハードウェア構成要素の機能に統合されてもよい。加えて、方法、構成要素、および特徴は、ハードウェアデバイス内のファームウェアモジュールまたは機能回路によって実施されてもよい。さらに、方法、構成要素、および特徴は、ハードウェアデバイスとコンピュータプログラム構成要素との任意の組合せで、またはコンピュータプログラムで実施することができる。
【0106】
特に明記しない限り、「受信する」、「実行する」、「提供する」、「取得する」、「抽出する」、「予測する」、「除去する」、「引き起こす」、「中断する」、「決定する」、「訓練する」、「展開する」など用語は、コンピュータシステムレジスタおよびメモリ内の物理的(電子的)量として表されるデータを、コンピュータシステムのメモリまたはレジスタ、あるいは他のそのような情報ストレージデバイス、送信デバイス、または表示デバイス内の物理的量として同様に表される他のデータに操作および変換する、コンピュータシステムによって実行または実施されるアクションおよびプロセスを指す。また、本明細書で使用される「第1」、「第2」、「第3」、「第4」などの用語は、異なる要素を区別するためのラベルを意味し、必ずしもそれらの数値記号表示による順序の意味を有するとは限らない場合がある。
【0107】
本明細書に記載された例はまた、本明細書に記載された方法を実施するための装置に関する。本装置は、本明細書に記載された方法を実行するために特別に構築されてもよく、またはコンピュータシステムに記憶されたコンピュータプログラムによって選択的にプログラムされた汎用コンピュータシステムを含んでもよい。このようなコンピュータプログラムは、コンピュータ可読有形ストレージ媒体に記憶されてもよい。
【0108】
本明細書に記載された方法および例示的な例は、特定のコンピュータまたは他の装置に本質的に関連するものではない。本明細書に記載された教示に従って様々な汎用システムが使用されてもよく、あるいは本明細書に記載された方法および/またはそれらの個々の機能、ルーチン、サブルーチン、もしくは操作のそれぞれを実行するためのより専用の装置を構築することが都合のよいことが判明する場合がある。これらの様々なシステムの構造の例は、上記の説明に記載されている。
【0109】
上記の説明は、例示的であることが意図されており、限定的であることは意図されていない。本開示は、特定の例示的な例および実施態様を参照して説明されてきたが、本開示は、説明された例および実施態様に限定されないことが認識されるであろう。本開示の範囲は、特許請求の範囲が権利を与えられる均等物の全範囲とともに、以下の特許請求の範囲を参照して決定されるべきである。