(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】微細加工における自動不具合検出
(51)【国際特許分類】
H01L 21/02 20060101AFI20240403BHJP
【FI】
H01L21/02 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023561189
(86)(22)【出願日】2022-04-08
(85)【翻訳文提出日】2023-10-04
(86)【国際出願番号】 US2022024023
(87)【国際公開番号】W WO2022231823
(87)【国際公開日】2022-11-03
(32)【優先日】2021-04-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508151552
【氏名又は名称】ティーイーエル マニュファクチュアリング アンド エンジニアリング オブ アメリカ,インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】グウィン,マシュー
(57)【要約】
方法であって、半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、この第1の処理ツールマシンデータは、処置中の1つ又は複数の離散的な時間間隔に関連付けられた処理データ及び動作コードを含むことと、第1の処理ツールからの第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからの後続のマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから、第1の処理ツールの不具合を示す第1の出力を生成することと、を含む方法。
【特許請求の範囲】
【請求項1】
方法であって、
半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、前記第1の処理ツールマシンデータは、前記処置中の1つ又は複数の離散的な時間間隔に関連付けられた動作コードにマッピングされた処理データを含むことと、
前記第1の処理ツールからの前記第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、
少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、前記第1のニューラルネットワークから、前記第1の処理ツールの不具合を示す第1の出力を生成することと、を含む方法。
【請求項2】
前記第1の出力に基づいて、前記少なくとも1つの処理ツールにおける前記半導体基板の前記処置を停止すること、を更に含む、請求項1に記載の方法。
【請求項3】
他の半導体基板を処置している間に第2の処理ツールから第2の処理ツールマシンデータを収集することであって、前記第2の処理ツールマシンデータは、前記第1の処理ツールマシンデータと類似の態様で配列されており、前記第1のニューラルネットワークの前記トレーニングは、前記第1のニューラルネットワークを前記第2の処理ツールマシンデータを用いてトレーニングすることを含むこと、を更に含む、請求項1に記載の方法。
【請求項4】
前記処理データは、前記半導体基板の処置中の処理コンディションを示し、前記動作コードは、前記半導体基板の処置中の前記第1の処理ツールの1つ又は複数のコンディションを示す、請求項3に記載の方法。
【請求項5】
前記処理データは、前記半導体基板の処置中の現場測定データを含む、請求項4に記載の方法。
【請求項6】
前記動作コードは、警報/警告コンディション、ツール状態情報、又はツール使用情報を含む、請求項4に記載の方法。
【請求項7】
第1の処理ツールから第1の処理ツールマシンデータを収集することが、第1の場所で実施され、第2の処理ツールから第2の処理ツールマシンデータを収集することが、前記第1の場所とは異なる第2の場所で実施される、請求項3に記載の方法。
【請求項8】
少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、前記第1のニューラルネットワークから前記第2の処理ツールの不具合を示す第2の出力を生成することを更に含む、請求項3に記載の方法。
【請求項9】
他の半導体基板を処置している間に第2の処理ツールマシンデータを収集することであって、前記第2の処理ツールマシンデータは、前記第1の処理ツールマシンデータと類似の態様で配列されていることと、
前記第2の処理ツールマシンデータを使用して第2のニューラルネットワークをトレーニングすることと、
少なくとも1つの処理ツールからの後続のマシンデータを適用することに少なくとも部分的に基づいて、前記第2のニューラルネットワークから不具合を示す第2の出力を生成することと、を更に含む、請求項1に記載の方法。
【請求項10】
ツールシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサで実行されることになるプログラムを含む、非一時的メモリと、を含み、前記プログラムは、
半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、前記第1の処理ツールマシンデータは、前記処置中の1つ又は複数の離散的な時間間隔に関連付けられた動作コードにマッピングされた処理データを含むことと、
前記第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、
少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、前記第1のニューラルネットワークから、不具合を示す第1の出力を生成することと、を行うための命令を含む、ツールシステム。
【請求項11】
前記プログラムは、前記第1の出力に基づいて、前記少なくとも1つの処理ツールにおける前記半導体基板の前記処置を停止させる命令を更に含む、請求項10に記載のツールシステム。
【請求項12】
前記第1の処理ツールを更に含む、請求項10に記載のツールシステム。
【請求項13】
前記プログラムは、前記第1のニューラルネットワークを前記非一時的メモリに記憶する命令を更に含む、請求項10に記載のツールシステム。
【請求項14】
前記プログラムは、前記第1の処理ツールマシンデータの前記処理データを、前記第1のニューラルネットワークをトレーニングするための複数の画像に変換する命令を更に含む、請求項10に記載のツールシステム。
【請求項15】
前記処理データは、前記半導体基板の処置中の処理コンディションを示し、前記動作コードは、前記半導体基板の処置中の前記第1の処理ツールの1つ又は複数のコンディションを示す、請求項10に記載のツールシステム。
【請求項16】
前記動作コードは、警報/警告コンディション、ツール状態情報、又はツール使用情報を含む、請求項15に記載のツールシステム。
【請求項17】
方法であって、
ウェーハを処理するための第1の半導体処理ツールに結合された第1の機械学習システムのプロセッサ上でニューラルネットワークを初期化することと、
前記第1の半導体処理ツールの不具合を予測するように前記ニューラルネットワークをトレーニングすることと、
前記ニューラルネットワークをトレーニングした後で、前記ニューラルネットワークを前記第1の機械学習システムのメモリに保存することと、
第2の半導体処理ツール上に前記第1の機械学習システムを実装することと、を含む方法。
【請求項18】
前記第1の半導体処理ツールと前記第2の半導体処理ツールは、同じタイプのツールである、請求項17に記載の方法。
【請求項19】
前記第1の半導体処理ツールと前記第2の半導体処理ツールは、異なるタイプのツールである、請求項17に記載の方法。
【請求項20】
前記第1の機械学習システムを第2の半導体処理ツール上に実装することは、前記ニューラルネットワークをトレーニングして前記第2の半導体処理ツールの不具合を予測することを更に含む、請求項17に記載の方法。
【請求項21】
前記第1の半導体処理ツールと前記第2の半導体処理ツールは、異なる製造設備に配置されている、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月28日に出願された米国仮特許出願第63/180,907号明細書の利益を主張するものであり、該明細書は参照によりその全体を本明細書に援用する。
【0002】
本発明は、一般に微細加工技術に関し、特定の実施形態においては、微細加工における自動不具合検出に関する。
【背景技術】
【0003】
半導体デバイスの製造業者は、可能な限り最小の製造コスト及び最短時間で半導体デバイスを製造するという継続的な課題に直面している。デバイスの製造時間及びコストを削減する1つの方法は、半導体処理ツールのエラー及び不具合を低減することである。反応性イオンエッチングチャンバ又はロボットウェーハトラックシステムなどの半導体ツールに不具合があると、半導体ウェーハが異常を伴って処理され、廃棄されなければならなくなることがある。これにより、材料のコストが増加し、したがって、製造コスト全体が増加することになる。更に、半導体ツールが故障するか又は不具合状態に達すると、ツールはウェーハの稼働を停止することがある。これにより、半導体の処理が予定外に一時的に停止し、したがって、半導体処理時間が増加することがある。
【発明の概要】
【課題を解決するための手段】
【0004】
本出願の一実施形態によれば、ある方法は、半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、この第1の処理ツールマシンデータは、処置中の1つ又は複数の離散的な時間間隔に関連付けられた処理データ及び動作コードを含むことと、第1の処理ツールからの第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからの後続のマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから、第1の処理ツールの不具合を示す第1の出力を生成することと、を含む。
【0005】
本発明の別の実施形態によれば、ツールシステムは、プロセッサと、このプロセッサに結合され、プロセッサで実行されることになるプログラムを含む、非一時的メモリと、を備え、このプログラムは、半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、この第1の処理ツールマシンデータは、処置中の1つ又は複数の離散的な時間間隔に関連付けられた処理データ及び動作コードを含むことと、第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからの後続のマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから、不具合を示す第1の出力を生成することと、を行うための命令を含む。
【0006】
本発明の別の実施形態によれば、ある方法は、ウェーハを処理するための第1の半導体処理ツールに結合された第1の機械学習システムのプロセッサ上でニューラルネットワークを初期化することと、第1の半導体処理ツールの不具合を予測するようにニューラルネットワークをトレーニングすることと、ニューラルネットワークをトレーニングした後で、そのニューラルネットワークを第1の機械学習システムのメモリに保存することと、第2の半導体処理ツール上に第1の機械学習システムを実装することと、を含む。
【0007】
本発明及びその利点をより完全に理解するために、ここで、添付図面と併せて読まれるべき以下の説明を参照する。
【図面の簡単な説明】
【0008】
【
図1】本出願の実施形態による微細加工不具合予測システムを示すブロック図を示す。
【
図2】本出願の実施形態による機械学習システムを示すブロック図である。
【
図3】本出願の実施形態による機械学習システムに実装される例示的なニューラルネットワークを示す図である。
【
図4A】本出願の実施形態によるニューラルネットワークへ入力するためのマシンデータを取得、蓄積、及びフォーマットする中間ステップを示す。
図4Aは、収集され蓄積されたマシンデータ及び動作コードを示す。
【
図4B】
図4Bは、トレーニング段階で使用するための第1のフォーマット済マシンデータを示す。
【
図4C】
図4Cは、トレーニング段階で使用するための第2のフォーマット済マシンデータを示す。
【
図4D】
図4Dは、使用段階で使用するための第1の更なるフォーマット済マシンデータを示す。
【
図4E】
図4Eは、使用段階で使用するための第2の更なるフォーマット済マシンデータを示す。
【
図5】本出願の実施形態による、微細加工ツール不具合についてニューラルネットワークをトレーニングし使用するのに使用される例示的な処理フローを示すフローチャートである。
【
図6】本出願の実施形態による追加の微細加工ツールの不具合状態を予測するのに使用される追加の微細加工ツール上にトレーニングされたニューラルネットワークを実装するために使用される、例示的な処理フローを示すフローチャートである。
【
図7】本出願の実施形態による不具合予測システムを示すブロック図を示す。
【
図8】本出願の実施形態による微細加工不具合予測システムを示すブロック図を示す。
【発明を実施するための形態】
【0009】
本開示の実施形態の作製及び使用について、以下で詳細に述べる。しかしながら、本明細書に開示する概念は広範な種々の具体的な文脈で具現化することができ、本明細書で述べる具体的な実施形態は、例示的なものに過ぎず、特許請求の範囲を限定するようにはたらくものではないことを認識すべきである。更に、添付の特許請求の範囲によって規定される本開示の趣旨及び範囲から逸脱することなく、本明細書において様々な変更、置き換え、及び改変を行うことができることを、理解すべきである。本出願は、半導体処理という文脈で説明されているが、本出願の実施形態は、一般に、マイクロメートル以下のスケールで小型構造を製造するための任意の製造ライン用の全ての微細加工技術に適用することである。そのような微細加工技術の例としては、集積回路製造、微小電気機械システム(MEMS)、マイクロ流体工学/ラボオンチップ、光学MEMS、RF MEMS、PowerMEMS、BioMEMS、ナノ電気機械システム等が挙げられる。
【0010】
半導体処理ツールの不具合によって生じるウェーハ廃棄に起因する半導体材料の材料コストの増加は、半導体処理に関連した一般的な問題である。半導体ツール処理不具合は、不適切に処理されたウェーハをもたらすことがあり、そのようなウェーハは廃棄しなければならないことがあり、生産コストが増大する。
【0011】
本出願の発明者は、ウェーハの廃棄を防ぐ1つの方法は、人工知能アルゴリズムを使用してウェーハ処理不具合を予測し、エラーが発生する前にウェーハ処理ツールがウェーハを稼働させるのを停止/修正することであることを、特定した。一般に、微細加工中、半導体処理ツールは、温度、圧力、様々な電流及び電圧、特定の材料の比率などの、ツールの性能に関係した大量の複雑なデータを継続的に生成する。ツールの性能データ及び測定された現場ツールデータなどのマシンデータは、処理中に継続的に収集される。マシンデータ変数の僅かな変化ですら、ツールの不具合をもたらす可能性がある。処理ツールの性能及び微細加工に必要とされる精度に関係した大量のデータに起因して、不具合につながる可能性のあるマシンデータ変数間の相関関係が存在する。しかしながら、マシンデータ変数間の相関関係は、近い将来に発生する不具合を予測できるように数学的にモデル化することができる明確な関係にはならないことがある。
【0012】
本明細書で説明する実施形態は、人工知能(AI)ベースのアルゴリズムを使用して微細加工ツールの不具合を予測するための方法及びシステムに関する。AIベースのアルゴリズムは、マシンデータ変数と近い将来に発生する不具合との間の相関関係を理解するようにトレーニングされる。そのようなトレーニングされたAIベースのアルゴリズムに基づくと、ツールがウェーハを不適切に処理する前に、ツールの不具合を予測し補正することができる。
【0013】
図1は、本出願の実施形態による微細加工不具合予測システム100を示すブロック図を示す。
図1に示すように、半導体予測システム100は、機械学習(ML)システム130などのAIベースのツールに結合された半導体処理ツール120を含むことがあり、機械学習(ML)システム130は、半導体処理ツールコントローラ110に更に結合されることがある。
【0014】
半導体処理ツール120は、アニーリングツール、堆積ツール、コーティング/現像ツール、エッチングツール、表面処理ツール、リソグラフィツール、ガスクラスターイオンビームツールを含むイオン注入ツール、ウェーハトラックシステム、様々なチャンバ、ロボットウェーハハンドラ、試験機器特に現場試験ツール、又は当技術分野で知られている任意の他の半導体処理ツールなどの、微細加工処理によって使用される任意のツールを含むことがある。更に、本明細書で使用される半導体処理不具合とは、半導体処理ツールの正常動作が一時的に停止するか、且つ/又はウェーハを不適切に処理する状態として定義される。
【0015】
様々な実施形態では、半導体処理ツールコントローラ110は、マイクロコントローラ、コンピュータ、マイクロプロセッサ、又は他の処理回路を含むことがある。
【0016】
様々な実施形態では、機械学習(ML)システム130は、深層学習アルゴリズムを含む任意の機械学習システムを含むことがある。一例では、機械学習システムは、ニューラルネットワークベースの深層学習アルゴリズムを含むことがある。
【0017】
様々な実施形態では、MLシステム130は、異なる複数のソフトウェアモジュールも含むことがあるソフトウェアで実装された、少なくとも1つのニューラルネットワークを含むことがある。1つ又は複数の実施形態では、機械学習(ML)システム130は、共にニューラルネットワーク140に結合されたデータプロセッサ135と不具合検出器150などの、ソフトウェアモジュールを更に含むことがある。様々な実施形態では、データプロセッサ135、ニューラルネットワーク140、及び不具合検出器150は、
図2で更に説明するように実装されることがある。
【0018】
様々な実施形態では、半導体処理ツール120は、センサ122及び状態検出器124に更に結合されることがある。センサ122と状態検出器124は両方とも、半導体処理ツール120に含まれているか、又は半導体処理ツール120に結合されていることがある。
【0019】
1つ又は複数の実施形態では、センサ122は、現場ツールデータを測定しデータプロセッサ135に出力するように構成された複数のセンサを含むことがある。センサ122の例としては、温度センサ、圧力センサ、流量計分光測定ツール、電流/電圧センサ等を挙げることができる。これについては、以下でより詳細に説明する。
【0020】
1つ又は複数の実施形態では、状態検出器122は、半導体ツール120の状態を確認し、対応する動作コードをデータプロセッサ135に出力するように構成された機器であり得る。これについても、以下でより詳細に説明する。
【0021】
半導体処理コントローラ110に結合される前で且つツールの不具合を予測するのに使用される前に、ニューラルネットワーク140はトレーニングされることがある。1つ又は複数の実施形態では、トレーニング中、ニューラルネットワーク140は、半導体処理ツール120がウェーハを処理している間にツールの不具合をどう予測するかを自己学習する。
【0022】
図1に示すように、マシンデータ及び動作コードは、データプロセッサ135によって収集され蓄積されることがある。様々な実施形態では、マシンデータは、半導体処理ツール120によって生成される処理データを含むことがある。処理データは、ウェーハ処理の開始時点から現在までの、半導体処理ツールのユーザが制御することができる処理パラメータの値を指すことがある。処理データの例としては、全ての処理レシピを含むが、温度、圧力、処理ツールに入ってゆく様々なガスの流束等に限定はされない。
【0023】
実施形態によっては、マシンデータは、センサ122によって出力された、測定された現場ツールデータを更に含むことがある。測定された現場ツールデータとは、処理データの結果として生じる、センサ122によって測定されたデータを指すことがある。1つ又は複数の実施形態では、測定された現場ツールデータとは、半導体処理ツール120においてウェーハ処理が開始された時点から現在までの、任意の測定された処理パラメータを指すことがある。したがって、測定された現場ツールデータには、ウェーハの温度、ウェーハの位置、固定子電圧、処理ツール120の回路内の異なるノードでの電流/電圧、及び継続的に又は周期的に観測された他の特性などの、処理データ及び/又はウェーハ測定データの測定値及び観測値、が含まれることがある。
【0024】
実施形態によっては、マシンデータには、ツールの外部のセンサから得られた現場外データが更に含まれることがある。例えば、現場外データには、バルク送達システム、真空システム、緩和システムからの測定値、及び/又は製造工程の一環としてツール間で移送されている基板の処理時間窓のコンディション、が含まれることがある。動作コードは、状態検出器124によって生成されることがある。動作コードは、半導体処理ツール120が時間又はコンディションに関して不具合状態に達しているかどうかを示しているか、並びに/又は、半導体処理ツール120の状態を示すコード及び/若しくはメッセージを含んでいることがある。例えば、動作コードは、半導体処理ツールが不具合状態に達したときにエラーコード/メッセージを含むか、或いは、ツールが正常に動作しているか、又はツールが、ツールの状態若しくはコンディションを示す閾値を超えたか、を示すコード/メッセージを含むことがある。1つ又は複数の実施形態では、処理データ、測定された現場データ、測定された現場外データ、及び動作コードは、同じ時間スケールで生成されることがある。
【0025】
データプロセッサ135がデータを収集し蓄積する方法は、ニューラルネットワーク140が学習段階にあるか又は使用段階にあるかに依存する。学習段階の間は、ニューラルネットワーク140はトレーニングされ、使用段階では、ニューラルネットワーク140は、半導体処理ツール120の状態、例えば差し迫った不具合の状態、を予測する。
【0026】
様々な実施形態では、ニューラルネットワーク140は、教師あり学習を使用して、不具合が実際に起こる前に半導体処理ツール120の状態を予測するように、トレーニングされることがある。教師あり学習中に、ニューラルネットワーク140は、トレーニング例のデータセットを含むトレーニングデータから関数を推論又は構築する。各例は、通常、入力オブジェクト及び所望の出力値を含む。教師あり学習アルゴリズムは、トレーニングデータを分析し、推論された関数を生成し、この関数を使用して、新しい例をマッピングすることができる。最適なシナリオは、まだ見ぬ事例のクラスラベルを正確に決定するアルゴリズムをもたらす。これには、学習アルゴリズムを、トレーニングデータから新たな状況に一般化する必要がある。学習段階は、トレーニング例の種類を決定すること、トレーニング例のデータを収集すること、学習された関数の構造を決定すること、学習された関数の入力をどのように表現するかを決定すること、トレーニングアルゴリズムを実行して最初の学習された関数を開発すること、並びに、学習された関数の精度を評価すること及び学習された関数を再トレーニング又は最適化して、予測の精度を向上させること、を含む。これらのステップのそれぞれについては、以下でより詳細に説明する。
【0027】
教師あり学習では、ニューラルネットワーク140は、期待される出力にマッピングされた(期待された出力でラベル付与された)入力を受け取ることにより、出力を予測する方法を学習することがある。次いで、ニューラルネットワーク140によって予測された出力と、マッピングされた入力との間の差異に基づいて、ニューラルネットワーク140は自己更新を行うことがある。したがって、1つ又は複数の実施形態では、トレーニング中、データプロセッサ135は、継続的にマシンデータを取得して蓄積し、マシンデータを将来の動作コード(即ち、予期される出力)とマッピングするように構成されることがある。言い換えると、トレーニング中、半導体処理ツールが動作するにつれて、データプロセッサ135は継続的にマシンデータ及び動作コードを取得し蓄積する。次いで、データプロセッサ135は、マシンデータ及び動作コードを取得し蓄積するとき、マシンデータをフォーマットし、その際、フォーマットされた各マシンデータは、それぞれの複数の期間に渡って収集されたマシンデータを含み、また、データプロセッサ135は、フォーマットされた各マシンデータの次に続く期間内に存在する動作コードを決定し、決定された動作コードの各々を、それぞれのフォーマットされた各マシンデータとマッピングし、このマッピングされたマシンデータをトレーニング入力として使用する、ことがある。この工程については、以下でより詳細に説明する。
【0028】
有利には、機械学習(ML)システム130は、ニューラルネットワーク140をトレーニングするための「自己ラベル付け」されたマッピングされたマシンデータを生成する。このことの利点の1つは、通常、トレーニングデータのラベル付けは、時間とコストがかかることがある人手によって行われるか、又は、有限量のデータを有するデータベースを使用することにより行われる、ということである。トレーニングデータが自己ラベル付けされると、半導体処理ツール120がウェーハを処理している間に、ニューラルネットワーク140を継続的にトレーニングすることが可能になる。
【0029】
有利には、データを自己ラベル付けすることにより、本発明の実施形態は、ニューラルネットワークをトレーニングするのに従来必要とされた大規模なデータセットの必要性を克服する。例えば、様々な実施形態では、処理ツール120の通常動作中に、トレーニングデータ(例えば、マシンデータ及び動作コード)が継続的に収集され、このデータは、時間の経過とともに、ニューラルネットワークをトレーニングするための有効な開始点を提供するのに十分な大きさになり得る。
【0030】
戻って
図1を参照すると、1つ又は複数の実施形態では、十分なトレーニングの後、半導体処理ツール120の不具合状態を予測するように構成された第1のニューラルネットワーク140が生成される。したがって、MLシステム130は、半導体処理コントローラ110に更に結合されることがある。半導体処理コントローラ110は、半導体処理ツール120に結合されているか、又は半導体処理ツール120に含まれていることがある。
【0031】
様々な実施形態では、使用段階において、ニューラルネットワーク140は、データプロセッサ135によってフォーマットされたマッピングされていない複数のマシンデータを、継続的に供給されることがある。マッピングされていない各マシンデータ、即ち、十分なトレーニングの後で処理ツールによって出力されたマシンデータは、ある期間と対応することができ、各期間は、トレーニングで使用された期間と同じ長さである。ニューラルネットワーク140は、トレーニングに基づいて、不具合検出器150に供給される出力を生成する。不具合検出器150は、ニューラルネットワーク140の出力に基づいて、各マシンデータにすぐ隣接する期間内に不具合が発生するかどうかを判定する。次いで、不具合検出器150の出力は、半導体処理ツールコントローラ110に供給され、ツールの将来の状態をユーザに知らせることがある。不具合検出器150の出力が近い将来に起こる不具合を示している場合、半導体処理ツールコントローラ110は、制御信号を生成して、不具合の前にウェーハの稼働を止め、責任者に通知するか、又は近い将来に起こる不具合を回避するために事前にプログラムされた一連の動作を行うことがある。有利には、これにより、ウェーハの廃棄が発生する前にウェーハの廃棄が防止され、また、不具合が発生する前に、処理パラメータの調節などの補正措置をとることができる。
【0032】
様々な実施形態では、半導体処理ツールコントローラ110及び機械学習(ML)システム130は、単一のシステムに統合されることがあり、実施形態によっては、それらは、半導体処理ツール120と共に単一のシステムに統合されることがある。
【0033】
図2は、本出願の実施形態による、本明細書で説明する方法を実施するための例示的なMLシステム130のブロック図を示す。
【0034】
図示するように、機械学習(ML)システム130は、メモリ210、プロセッサ220、及びインタフェース230を含み、これらは、
図2に示すように配置される(又はされない)ことがある。
【0035】
プロセッサ220は、MLシステム130の演算及び計算を実施するように適合された任意のコンポーネント又はコンポーネントの集合であり得る。1つ又は複数の実施形態では、MLシステムのスループットを高めるために、プロセッサ220は、複数の大規模グラフィカル処理ユニット(GPU)として実装されることがある。例えば、ニューラルネットワークのそれぞれの個々の計算が、複数のGPUによって独立して並行して行われることがあり、それにより処理時間全体が節約される。他の実施形態では、プロセッサ220は、GPUマルチクラスタを含むAIスーパーコンピュータとして実装されることがある。
【0036】
様々な実施形態では、プロセッサ220は、ML学習システム130の処理速度を高めるために、複数の柔軟なプログラム可能論理アレイ(FPGA)又は特定用途向け集積回路(ASIC)として実装されることもある。
【0037】
様々な実施形態では、プロセッサ220は、複数の半導体処理ツールに接続されることがあるGPUマルチクラスタを備えた中央AIスーパーコンピュータとして実装されることがある。言い換えると、プロセッサ220は、複数のMLシステム130をサポートするように実装された中央プロセッサであり得る。例えば、異なる半導体処理ツール上に実装された複数のMLシステム130によって収集されたマシンデータは、マシンデータを中央GPUマルチクラスタスーパーコンピュータに送ることができる。
【0038】
メモリ210は、プロセッサ220が実行するためのニューラルネットワーク、プログラミング、及び/又は命令を記憶するように適合された任意のコンポーネント又はコンポーネントの集合であり得る。1つ又は複数の実施形態では、メモリ210は、非一時的なコンピュータ可読媒体を含む。様々な実施形態では、コンピュータ可読媒体メモリは、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリデバイス、ソリッドステート記憶媒体などを含む、機械が読み取ることができる情報を記憶するための非一時的な機構を含むことがある。
【0039】
様々な実施形態では、データプロセッサ135、ニューラルネットワーク140、及び不具合検出器150は、メモリ210内に記憶されたプログラムで実装されることがあり、このプログラムは次いで、プロセッサ220で実行される。
【0040】
有利には、1つ又は複数の実施形態では、ニューラルネットワーク140が半導体処理ツール120用にトレーニングされた後、ニューラルネットワーク140は、MLシステム130のメモリ210に記憶されることがある。このことの利点の1つは、トレーニングされたニューラルネットワークを、別の処理ツールに結合されることがある別のMLシステム上に実装できることである。1つ又は複数の実施形態では、この別のMLシステムは、追加のトレーニング無しで、半導体処理ツール120のようなタイプのツールである別の処理ツールに結合することができる。1つ又は複数の実施形態では、トレーニングされたニューラルネットワークは、同じ製造設備又は異なる製造設備にある別の半導体処理ツール上に実装されることがある。
【0041】
他の実施形態では、この別の半導体処理ツールは、半導体処理ツール120と一部の機能を共有する異なるタイプの処理ツールであり得る。別の半導体処理ツールが異なるタイプのものである場合、ニューラルネットワークは、この別の処理ツールの動作中に、更にトレーニングされることがある。これにより、この別の半導体処理ツール用にトレーニングされた別のニューラルネットワークがもたらされることがある。
【0042】
インタフェース230は、MLアルゴリズム130が、半導体処理ツールコントローラ120などの他のデバイス/コンポーネントと通信できるようにする、任意のコンポーネント又はコンポーネントの集合であり得る。例えば、1つ又は複数の実施形態では、インタフェース230は、MLシステム130が、半導体処理ツールコントローラ110と通信して、半導体処理ツール120の不具合が起きる前にウェーハの稼働を停止するように半導体処理ツールコントローラ110に通知する、ように適合されることがある。他の実施形態では、インタフェース230は、ディスプレイと通信してユーザにツールの予測された状態を知らせるように、更に適合されることがある。MLシステム130は、長期間記憶装置(例えば、不揮発性メモリ等)などの
図2には示されていない追加のコンポーネントを含むことがある。
【0043】
図3は、本出願の実施形態による機械学習システムに実装される例示的なニューラルネットワークを示す図である。
【0044】
図3は、機械学習(ML)システム130上に実装されることがあるフィードフォワード多層ニューラルネットワーク300の簡略図を示す。ニューラルネットワーク300は、入力ノード320を含む入力層310と、隠れノード340を含む少なくとも1つの隠れ層330と、出力ノード360を含む出力層350と、を備える。入力ノード320、隠れ層330、隠れノード340、及び出力ノード360の数に制限はない。したがって、任意の適切な数の入力ノード310、出力ノード350、及び隠れ層330を使用することができる。
図3は単一のニューラルネットワークを示しているが、MLシステム130は、複数のニューラルネットワークを含んでもよい。
【0045】
ニューラルネットワーク300は、フィードフォワードニューラルネットワークとして動作し、これは、データが常に、ニューラルネットワーク300を通じて一方向(例えば、順方向)に移動することを意味する。言い換えると、ニューラルネットワーク300は、入力ノードにおいて入力(即ち、マシンデータ)を受け取り、出力ノードにおいて確率的に見た結果の予測(即ち、処理ツールの将来の状態)を出力することにより、動作する。1つ又は複数の実施形態では、ニューラルネットワーク300は、半導体処理ツール120の全ての可能な動作コード毎に出力ノードを備えることがある。他の実施形態では、2つの出力ノードが存在し、一方のノードは不具合が生じる確率を出力し、他方の出力ノードは、不具合が生じない確率を出力することがある。入力ノード及び出力ノードの数は、本開示によって限定はされない。
【0046】
本明細書ではフィードフォワードニューラルネットワークについて説明しているが、ニューラルネットワーク300は、任意の適切なタイプのニューラルネットワークであり得る。例えば、ニューラルネットワーク300は、再帰型ニューラルネットワーク(RNN)又は畳み込みニューラルネットワーク(CNN)などの他のタイプのニューラルネットワークを含むことがある。使用されるニューラルネットワークのタイプは、本開示によって限定はされない。
【0047】
図3に示すように、入力ノード320及び後続の各層は、重み付けされた接続315を使用して接続されている。重み付けされた接続315の各々は、入力の効き目が出力とどれ位関係しているか、を決める固有の重みを含む。各重み付けされた接続315に対応する重み値は、ニューラルネットワーク300の知識構造となる。ここで、学習及び/又はトレーニングとは、性能を改善する、ニューラルネットワーク300の知識構造の任意の自律的な変化として定義される。
【0048】
各隠れノード340は、重みの組を入力に適用して学習済関数を生成する、非線形の数学的活性化関数を実装している。1つ又は複数の実施形態では、隠れノード340の各々は、同じ非線形活性化関数を適用することがある。他の実施形態では、隠れノード340は、異なる非線形活性化関数を適用することがある。例えば、非線形活性化関数は、シグモイド関数、ReLU関数、又は当技術分野で知られている任意の他の非線形活性化関数であり得る。
【0049】
上記で説明したように、ニューラルネットワーク300は、ラベル付けされたトレーニングデータ(即ち、後続の動作コードとマッピングされたマシンデータ)を使用して、トレーニングされることがある。これは、教師あり学習として知られている。教師あり学習アルゴリズムでは、トレーニングデータをラベル付けする前に、トレーニングデータのフォーマットを決めることが必要である。様々な実施形態では、トレーニングデータのフォーマットは、学習された関数の構造に基づくことがある。言い換えると、トレーニングデータは、学習された関数と互換性がなければならない。学習された関数の例としては、サポートベクターベースの学習された関数及び決定木ベースの学習された関数が挙げられるが、これらに限定はされない。
【0050】
例えば、様々な実施形態では、学習された関数がサポートベクターベースの学習された関数である場合、マシンデータ(例えば、トレーニングデータ)は、特徴ベクトルとして知られるマシンデータを表すための数値的特徴のn次元のベクトルとして、フォーマットされることがある。1つ又は複数の実施形態では、マシンデータは、マシンデータの生の未加工の値を含む特徴ベクトルとして、又は、画像であって、特徴ベクトル値が画像のピクセル値を含んでいる画像として、フォーマットされることがある。
【0051】
次いで、様々な実施形態では、トレーニングデータ及び学習された関数のフォーマットを決定した後、重み付けされた接続315の各々にランダムな重みが割り当てられ、学習された関数が初期化されることがある。1つ又は複数の実施形態では、学習された関数を初期化した後、半導体処理ツール120の動作中、データプロセッサ135によってフォーマットされた、マッピングされた(「自己ラベル付けされた」)マシンデータを、ニューラルネットワークに供給して、学習された関数を更新するのに使用することがある。言い換えると、トレーニングデータとそれぞれのマッピングとの間の関係に基づいて、ニューラルネットワークは学習し、学習された関数を自己更新し、十分なトレーニング後にはマッピング無しの入力に基づいて結果を予測するためのモデルを生成する。
【0052】
半導体処理ツールは、継続的に、大量の複雑なデータを生成する。これにより、ツール処理性能変数間に認識できない関係が生じることがある。マシンデータ値の最も僅かな変化でさえ、処理不具合につながる可能性がある。したがって、1つ又は複数の実施形態では、逆伝搬法などのパターン関連付けを利用する学習/トレーニング技術のグループを使用して、ニューラルネットワーク300をトレーニングすることがある。パターン関連付け学習の目標は、出力パターンを入力パターンとマッピングすることである。パターン関連付け学習技術は、マッピングされた入力から出力が生成されるのに応答して学習された関数を自己調整するための一組のルール及び命令をニューラルネットワーク300に提供する。言い換えると、ニューラルネットワーク300は、マッピングされた入力を受け取ったときに自律的に自己を更新して性能を改善する能力を有する。
【0053】
有利には、パターン関連付け学習により、ニューラルネットワーク300が、マシンデータ値の複数の関係間のパターンを検出できるようになる。このことの利点の1つは、これにより、ニューラルネットワーク300が、専門家が気付かない可能性があるマシンデータ入力値間のパターンを学習し認識できるようになることである。
【0054】
図4A~
図4Eは、本出願の実施形態によるニューラルネットワークへ入力するためのマシンデータを取得、蓄積、及びフォーマットする中間ステップを示す。
図4Aは、収集され蓄積されたマシンデータ及び動作コードを示す。
図4Bは、トレーニング段階で使用するための第1のフォーマット済マシンデータを示す。
図4Cは、トレーニング段階で使用するための第2のフォーマット済マシンデータを示す。
図4Dは、使用段階で使用するための第1の更なるフォーマット済マシンデータを示す。
図4Eは、使用段階で使用するための第2の更なるフォーマット済マシンデータを示す。
図5は、本出願の実施形態による、半導体処理ツール不具合を予測するためにニューラルネットワークをトレーニングし使用するのに使用される例示的な処理フローを示すフローチャートである。
【0055】
図4Aは、上述した半導体処理ツール120に似ていることがある半導体処理ツール400の出力の一例を示す。
図4Aに示すように、1つ又は複数の実施形態では、半導体処理ツール400の出力は、マシンデータ404及び動作コード402を含むことがある。上記で説明したように、マシンデータ404は、処理ツール120によって生成された処理データ及び/又はセンサ122によって測定された測定現場ツールデータを含むことがある。マシンデータ404は、d
0~d
nとして表される複数のマシンデータ値として定義されることがある。動作コード402は、半導体処理ツール120の状態(例えば、不具合状態にあるかどうか)を、ツールの状態を示す対応するコード/メッセージと共に含むことがある。例えば、対応するコード/メッセージは、基板の位置、圧力、ロボット速度、固定子電圧、温度等を示すことがある。
図4Aに示すように、半導体処理ツール400の出力は、一定して時間間隔406で出力される。例えば、半導体処理ツール400の出力は、連続的に出力されるか、又は周期的な間隔をあけて出力されることがある。
【0056】
様々な実施形態では、
図4A~
図4Bに関して説明するように、マシンデータは、第1の半導体処理ツール120の動作中に複数の期間に渡って生成されることがあり(ブロック502)、ここで、複数のマシンデータの各々は、複数の期間のうちのそれぞれの期間に渡る、動作中の処理ツールの処理データを含む。
【0057】
次に、各マシンデータの直後の各期間における動作コードが、決定されることがある(ブロック504)。具体的には、複数の動作コードが決定され、複数の動作コードの各々は、複数のマシンデータの各々に対する複数の期間のうちの関連付けられた期間に続く。複数の動作コードの各々は、複数の動作コードのうちの隣接するものから、少なくとも1つの期間分だけ時間的に分離されている。例えば、
図4Bを使用して以下で更に説明する、第1の期間412及び第2の期間414並びに動作コード410との関係の記載を参照されたい。
【0058】
図4Bは、機械学習(ML)システム130がトレーニング段階にあるときの、ニューラルネットワーク140への入力用にフォーマットされた第1のマシンデータ408の例を示す。
図4Bに示すように、データプロセッサ135は、動作中に半導体処理ツール400の出力を収集し蓄積する。1つ又は複数の実施形態では、半導体処理ツール400の出力が収集され蓄積されるとき、データは、複数の期間に分割されることがある。
図4Bに図示した例では、半導体処理ツール400の出力は、第1の期間412及び第2の期間414に分割されることがある。様々な実施形態では、第2の期間414は、第1の期間412の終了直後に開始することがある。第1の期間412及び第2の期間414の長さは、数分(例えば、10分)~数日(例えば、2日)の長さであり得る。第1の期間412及び第2の期間414の持続時間は、同じ持続時間であることも、又は異なる持続時間であることもある。
【0059】
様々な実施形態では、上述のように、マシンデータがフォーマットされる態様は、学習された関数の構造に基づく。1つ又は複数の実施形態では、以前に説明したように、学習された関数がサポートベクターベースの学習された関数である場合、マシンデータは、特徴ベクトルとしてフォーマットされることがある。例えば、1つ又は複数の実施形態では、マシンデータは、画像に変換されることがある。次いで、画像は、特徴ベクトルとしてフォーマットされることがある。
【0060】
戻って
図4Bの例示的な例を参照すると、1つ又は複数の実施形態では、第1の期間412に渡って収集されたマシンデータは、第1のマシンデータ画像に変換されることがある。第1のマシンデータ画像のサイズは、ピクセル単位での長さ(l)と幅(w)との乗算によって定義されることがある。マシンデータ画像のピクセル単位での長さ(l)は、第1の期間に含まれる時間間隔の数に等しいことがある。第1のマシンデータ画像のピクセル単位での幅(w)は、マシンデータ値(d
n)の数(n)に等しいことがある。次いで、第1のマシンデータ画像は、第1の期間412内の各マシンデータ変数のピクセル値に該当する値が格納されたサイズl×wの特徴ベクトルとしてフォーマットされることがある。
【0061】
他の実施形態では、第1のマシンデータ408は、生のマシンデータ値が格納された特徴ベクトルとしてフォーマットされることがある。
【0062】
第1のマシンデータ408をフォーマットした後、第2の期間414に存在する動作コード410が決定されることがある(ブロック504)。第1のマシンデータ408を入力として使用し、それぞれの動作コード410を出力として使用することにより、動作コード410を、第1のマシンデータ408とマッピングすることができる。これにより、トレーニング用に、ニューラルネットワーク140へ入力される第1の「自己ラベル付けされた」マシンデータが得られる(ブロック506)。
【0063】
次いで、第1の動作コード410とマッピングされた第1のマシンデータ408をニューラルネットワーク140に入力した後、第1の期間412及び第2の期間414は、等しい時間量だけ時間ずらしされることがある。追加のマシンデータが、時間ずらしされた期間に対応するそれぞれの動作コードとマッピングされ、且つ、上述した工程を使用して、ニューラルネットワーク140をトレーニングするために使用されることがある。
【0064】
図4Cは、機械学習(ML)システム130がトレーニング段階にあるときの、ニューラルネットワーク140への入力用にフォーマットされた第2のマシンデータ416の例を示す。
【0065】
次に、
図4Cに関してより詳細に説明するように、ニューラルネットワークは、出力としてそれぞれの動作コードとマッピングされたマシンデータを入力として使用してトレーニングして(ブロック506)、処理ツール用にトレーニングされたニューラルネットワークを生成することがあり、ここで、複数の入力の各々は、複数の期間に基づいて複数の出力とマッピングされている。
【0066】
図4Cを参照すると、第2のマシンデータ416は、データプロセッサ135によってフォーマットされ、それぞれの動作コード418とマッピングされる(例えば、ラベル付けされる)。第2のマシンデータ416は、第1の期間412及び第2の期間414を等しい時間量だけ時間ずらしすることにより、フォーマットされることがある。第1の期間412及び第2の期間414を時間ずらしした後、第2のマシンデータ416は、
図4Bで説明したのと同じ工程を使用して、時間ずらしされた第1の期間420内に含まれるマシンデータを第2の特徴ベクトルに格納することにより、フォーマットされる。
【0067】
第2のマシンデータ416を生成した後、データプロセッサ135は、時間ずらしされた第2の期間422内に存在する動作コード418を決定することがある。次いで、第2のマシンデータ416を入力として使用し、それぞれの動作コード418を出力として使用することにより、動作コード418を、第2のマシンデータ416とマッピングし、ニューラルネットワーク140に供給することができる。この工程は、ニューラルネットワーク140が十分にトレーニングされるまで、所定の数のマシンデータを使用して、繰り返されることがある。これにより、半導体処理ツール120用の第1のトレーニング済ニューラルネットワークを形成することができる。
【0068】
様々な実施形態では、対応する動作コードにマッピングされた所定の数のマシンデータを用いて第1のニューラルネットワークを生成した後、第1のニューラルネットワークの性能を試験して、十分にトレーニングされているかどうかを確認することがある。1つ又は複数の実施形態では、第1のニューラルネットワークは、マッピングされていない一連のマシンデータを第1のニューラルネットワークに入力し、不具合検出器150の出力を既知の動作コードと比較することにより、試験されることがある。上記で説明したように、第1のニューラルネットワークは、各動作コードに対応する確率の組を出力することがある。次いで、第1のニューラルネットワークによって出力された確率に基づいて、不具合検出器150は、半導体処理ツール120の将来の動作コードを予測することがある。したがって、最も高い確率を有する出力が、第1のニューラルネットワークの予測とみなされる。1つ又は複数の実施形態では、第1のニューラルネットワークは、試験中に使用されるマッピングされていないマシンデータ毎のニューラルネットワークの出力が、最小閾値確率を伴って適切な出力を予測する場合には、半導体処理ツール120用に十分にトレーニングされていることになる。最小閾値確率は、ユーザによって設定されることがあり、例えば90%~98%の範囲内であり得る。
【0069】
試験中の出力が、要求される閾値確率を満たさない場合、第1のニューラルネットワークは、更なる所定の数のマッピングされたマシンデータに対して、
図4A~
図4Cで説明した工程を使用して更にトレーニングされることがある。例えば、再トレーニング中、ニューラルネットワーク140並びに/又は第1の持続時間412及び第2の持続時間414などの持続時間が変更されることがある。実施形態によっては、所望の閾値予測可能性を有する満足のいくトレーニング済ニューラルネットワークが得られるまで、複数のニューラルネットワークを並行して(又は順に)生成して時間を節約することがある。
【0070】
様々な実施形態では、半導体処理ツール120用にトレーニングされた第1のニューラルネットワークは、MLシステム130のメモリ210に保存されることがある。次いで、MLシステム130は、別の半導体処理ツール上に実装されることがある。1つ又は複数の実施形態では、別の半導体処理ツールが半導体処理ツール120と同じタイプのものである場合、大幅な追加のトレーニングは必要ではないことがある。他の実施形態では、別の半導体処理ツールが異なるタイプの処理ツールである場合、ニューラルネットワークは、
図4A~
図4Cで説明した工程を使用して、更にトレーニングされることがある。これにより、この別の半導体処理ツール用にトレーニングされた別のニューラルネットワークがもたらされることがある。
【0071】
図4Dを参照すると、半導体処理ツール120用の第1のニューラルネットワークを生成した後、第1のニューラルネットワークは、半導体処理ツールコントローラ110に結合されることがあり、且つ、ツールの不具合を示す出力を生成するために使用されることがある(ブロック508)。上記で説明したように、動作中、データプロセッサ135は、更なるマシンデータを継続的に収集して蓄積し、その更なるマシンデータをフォーマットすることがある。様々な実施形態では、更なるマシンデータは、マッピングされず、複数の更なる期間に渡って収集されたマシンデータに対応することがある。様々な実施形態では、更なる期間は、第1の期間と同じ持続時間を有することがある。
【0072】
戻って
図4Dを参照すると、第1の更なる期間426に渡って蓄積されたマシンデータを含む第1の更なるマシンデータ424が、第1のニューラルネットワークに供給されることがある。トレーニングに基づく第1のニューラルネットワークは、ツールの将来の状態の確率を、不具合検出器150に出力することがある。不具合検出器150は、第1のニューラルネットワークの出力に基づいて、半導体処理ツール120が不具合状態に達しつつあるかどうかを、半導体処理ツールコントローラ110及びユーザに知らせることがある。不具合検出器150は、半導体処理ツール120が不具合状態に達しつつあると判断した場合、半導体処理ツールコントローラ110及びユーザに信号を送り、ウェーハの稼働を停止する。有利には、これにより、不具合を引き起こす処理パラメータをユーザが調節することが可能になり、ウェーハの廃棄が防止される。
【0073】
図4Eを参照すると、第1の更なる期間426がシフトされていることがあり、時間ずらしされた第1の更なる期間432に渡って蓄積されたマシンデータに対応する第2の更なるマシンデータ430が、フォーマットされ、半導体処理ツール不具合を予測するために使用されることがある。この工程は、処理が完了するまで繰り返されることがある。
【0074】
様々な実施形態では、機械学習(ML)システム130は、並行してトレーニングされた複数のニューラルネットワークを含むことがある。複数のニューラルネットワークが使用される場合、各ニューラルネットワークは、異なるサイズの期間に渡って生成されたマッピング済マシンデータを用いて、トレーニングされる。例えば、2つのニューラルネットワークが使用される場合、一方のニューラルネットワークは、他方のニューラルネットワークよりも短い期間に渡って生成されたマシンデータを用いてトレーニングされることがある。有利には、これにより、半導体処理ツール120のための最適なマシンデータ寸法を決定するために、複数のニューラルネットワークをトレーニングすることが可能になる。
【0075】
図6は、本出願の実施形態による追加の半導体処理ツールの不具合状態を予測するのに使用される追加の半導体処理ツール上にトレーニングされたニューラルネットワークを実装するために使用される、例示的な処理フローを示すフローチャートである。
【0076】
ブロック602に示すように、また
図1を参照して説明したように、ニューラルネットワーク140は、半導体処理ツール120に結合されたMLシステム130のプロセッサ上で初期化される。
【0077】
次に、ブロック604に示し、
図1を参照して説明したように、ニューラルネットワーク140を初期化した後、ニューラルネットワーク140は、第1の半導体処理120ツールが不具合状態に達するかどうかを予測するようにトレーニングされることがある。ニューラルネットワーク140は、
図4A~
図4Cで説明でしたのと同じ方法でトレーニングされることがある。
【0078】
次に、ブロック606に示し、
図1及び
図2を参照して説明したように、ニューラルネットワーク140が十分にトレーニングされた後、ニューラルネットワーク140はMLシステム130のメモリ210に保存されることがある。
【0079】
次に、ブロック608に示すように、ニューラルネットワークがMLシステム130のメモリ210に保存された後、MLシステム130は、別の半導体処理ツール上に実装されることがある。様々な実施形態では、別の半導体処理ツールは、半導体処理ツール120と同じタイプのツールであり得る。1つ又は複数の実施形態では、第1及び第2の半導体処理ツールは両方とも、同じ製造設備(ファブ)内に配置されることがある。他の実施形態では、第1及び第2の半導体処理ツールは、異なる地理的な位置を有する異なるファブに配置されることがある。有利には、それらの半導体処理ツールは同じタイプのものであるので、ニューラルネットワーク140を再度トレーニングする必要はない場合がある。有利には、トレーニングされたニューラルネットワークは、そのニューラルネットワークがトレーニングされた第1の場所とは異なる第2の場所に実装されることがあるが、処理パラメータ/レシピを含めてマシンデータを第2の場所に転送する必要はない。これにより、データのエクスポート及び秘匿性に関係する問題が回避される。
【0080】
様々な実施形態では、単一の人工(AI)アルゴリズムを使用して、半導体処理工場ラインの複数の半導体処理ツールにわたる動作不具合を予測することがある。
【0081】
図7は、本出願の実施形態による不具合予測システムを示すブロック図を示す。
【0082】
様々な実施形態を適用して、共通の機械学習システムを有する複数の処理ツールを含めることができる。
【0083】
図7を参照すると、第1の半導体処理ツール702、第2の半導体処理ツール704、第3の半導体処理ツール706、及び第4の半導体処理ツール708が、機械学習(ML)システム130に結合されることがある。第1の半導体処理ツール702、第2の半導体処理ツール704、第3の半導体処理ツール706、及び第4の半導体処理ツール708は、
図1で説明した半導体処理ツール120に類似しており、それらのツールの説明は参照により組み込まれ、ここでは繰り返されない。
【0084】
図7は、4つの半導体処理ツールを示しているが、これは、MLシステム130に結合され得る半導体処理ツールの数を示しているわけではない。
【0085】
1つ又は複数の実施形態では、MLシステム130は、各半導体処理ツールからマシンデータ及び動作コードを収集し、工場ラインに亘る不具合をどのように予測するかを自己学習し、工場ラインに渡る動作不具合を予測するために使用されることがある。
【0086】
有利には、単一のMLシステム130を使用することにより、MLシステム130が複数の半導体ツール間の相関関係を学習し評価することが可能になることがある。例えば、複数のチャンバ間でウェーハを移動させることができるロボットハンドラ、及び/又は複数のチャンバ機器は全て、MLシステム130に結合されることがある。例えば、MLシステムは、ウェーハが堆積チャンバを出た後でアニーリングチャンバによって引き起こされた不具合、又は、ウェーハを搬送する間にロボットハンドラによって引き起こされるが、ウェーハがアニーリングチャンバを通過した後などの後続の処理後に確認される不具合、又は、ウェーハがリソグラフィ工程の後で現像された後でしか気付かない、位置合わせツールによって引き起こされた不具合、を検出することができる場合がある。このことの利点の1つは、複数の半導体処理ツールの処理パラメータ間の相関関係を、個別に且つ全体的に、単一のMLシステム130によって評価することができ、単一のMLシステム130は、近い将来に起きる不具合を予測したときにウェーハの処理を停止し、ウェーハの廃棄を防ぐことができる、ということである。
【0087】
様々な実施形態では、半導体処理工場ラインは、区画化され、半導体処理ツールの不具合を予測するのに使用される複数のAIアルゴリズムに結合されることがある。
【0088】
図8は、本出願の実施形態による半導体処理不具合予測システムを示すブロック図を示す。
【0089】
図8を参照すると、第1の半導体処理ツール702及び第2の半導体処理ツール704は第1の機械学習(ML)システム802に結合されることがあり、第3の半導体処理ツール706は第2のMLシステム804に結合されることがあり、第4の半導体処理ツール708は第3のMLシステム806に結合されることがある。第1のMLシステム802、第2のMLシステム804、及び第3のMLシステムは、
図1で説明したMLシステム130に類似しており、それらの説明は参照により組み込まれ、ここでは繰り返されない。
【0090】
これは、生産ラインを示すことがあり、この生産ラインでは、ウェーハは半導体処理ツール702、第2の半導体処理ツール704、第3の半導体処理ツール706、及び第4の半導体処理ツール708を順に通過する。したがって、これらの処理ツールは別々のモジュールにグループ化されており、各モジュールは、独自の機械学習システムを有する。したがって、複数の機械学習システムがセットアップされ、各モジュールにおいて近い将来に起こる不具合を防止するように設計されることがある。
【0091】
図示した例では4つの半導体処理ツールが示されているが、処理する半導体処理ツールの数及び1つのMLシステムに結合されるツールの数は、本開示によって限定はされない。
【0092】
他の実施形態では、上記で考察したように、MLシステム130は、半導体処理ツール120とは異なるタイプのツールであり得る別の半導体処理ツール上に実装されることがある。この場合には、ニューラルネットワーク140を更にトレーニングして、その別の半導体処理ツール上で動作させることができる。
【0093】
本発明の例示的な実施形態をここで要約する。他の実施形態も、本明細書の全体及び本明細書で出願される特許請求の範囲から理解することができる。
【0094】
実施例1.方法であって、半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、この第1の処理ツールマシンデータは、処置中の1つ又は複数の離散的な時間間隔に関連付けられた動作コードにマッピングされた処理データを含むことと、第1の処理ツールからの第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから、第1の処理ツールの不具合を示す第1の出力を生成することと、を含む方法。
【0095】
実施例2.第1の出力に基づいて、少なくとも1つの処理ツールにおける半導体基板の処置を停止すること、を更に含む、実施例1に記載の方法。
【0096】
実施例3.他の半導体基板を処置している間に第2の処理ツールから第2の処理ツールマシンデータを収集することであって、第2の処理ツールマシンデータは、第1の処理ツールマシンデータと類似の態様で配列されており、第1のニューラルネットワークのトレーニングは、第1のニューラルネットワークを第2の処理ツールマシンデータを用いてトレーニングすることを含むこと、を更に含む、実施例1又は2の何れか一項に記載の方法。
【0097】
実施例4.処理データは、半導体基板の処置中の処理コンディションを示し、動作コードは、半導体基板の処置中の第1の処理ツールの1つ又は複数のコンディションを示す、実施例1~3の何れか一項に記載の方法。
【0098】
実施例5.処理データは、半導体基板の処置中の現場測定データを含む、実施例1~4の何れか一項に記載の方法。
【0099】
実施例6.動作コードは、警報/警告コンディション、ツール状態情報、又はツール使用情報を含む、実施例1~5の何れか一項に記載の方法。
【0100】
実施例7.第1の処理ツールから第1の処理ツールマシンデータを収集することが、第1の場所で実施され、第2の処理ツールから第2の処理ツールマシンデータを収集することが、第1の場所とは異なる第2の場所で実施される、実施例1~6の何れか一項に記載の方法。
【0101】
実施例8.少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから第2の処理ツールの不具合を示す第2の出力を生成することを更に含む、実施例1~7の何れか一項に記載の方法。
【0102】
実施例9.他の半導体基板を処置している間に第2の処理ツールマシンデータを収集することであって、第2の処理ツールマシンデータは、第1の処理ツールマシンデータと類似の態様で配列されていることと、第2の処理ツールマシンデータを使用して第2のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからの後続のマシンデータを適用することに少なくとも部分的に基づいて、第2のニューラルネットワークから不具合を示す第2の出力を生成することと、を更に含む、実施例1~8の何れか一項に記載の方法。
【0103】
実施例10.ツールシステムであって、プロセッサと、このプロセッサに結合され、プロセッサで実行されることになるプログラムを含む、非一時的メモリと、を含み、このプログラムは、半導体基板を処置している間に第1の処理ツールから第1の処理ツールマシンデータを収集することであって、この第1の処理ツールマシンデータは、処置中の1つ又は複数の離散的な時間間隔に関連付けられた動作コードにマッピングされた処理データを含むことと、第1の処理ツールマシンデータを用いて第1のニューラルネットワークをトレーニングすることと、少なくとも1つの処理ツールからのマッピングされていないマシンデータを適用することに少なくとも部分的に基づいて、第1のニューラルネットワークから、不具合を示す第1の出力を生成することと、を行うための命令を含む、ツールシステム。
【0104】
実施例11.プログラムは、第1の出力に基づいて、その少なくとも1つの処理ツールにおける半導体基板の処置を停止させる命令を更に含む、実施例10に記載のツールシステム。
【0105】
実施例12.第1の処理ツールを更に含む、実施例10又は11の何れか一項に記載のツールシステム。
【0106】
実施例13.プログラムは、第1のニューラルネットワークを非一時的メモリに記憶する命令を更に含む、実施例10~12の何れか一項に記載のツールシステム。
【0107】
実施例14.プログラムは、第1の処理ツールマシンデータの処理データを、第1のニューラルネットワークをトレーニングするための複数の画像に変換する命令を更に含む、実施例10~13の何れか一項に記載のツールシステム。
【0108】
実施例15.処理データは、半導体基板の処置中の処理コンディションを示し、動作コードは、半導体基板の処置中の第1の処理ツールの1つ又は複数のコンディションを示す、実施例10~14の何れか一項に記載のツールシステム。
【0109】
実施例16.動作コードは、警報/警告コンディション、ツール状態情報、又はツール使用情報を含む、実施例10~15の何れか一項に記載のツールシステム。
【0110】
実施例17.方法であって、ウェーハを処理するための第1の半導体処理ツールに結合された第1の機械学習システムのプロセッサ上でニューラルネットワークを初期化することと、第1の半導体処理ツールの不具合を予測するようにニューラルネットワークをトレーニングすることと、ニューラルネットワークをトレーニングした後で、そのニューラルネットワークを第1の機械学習システムのメモリに保存することと、第2の半導体処理ツール上に第1の機械学習システムを実装することと、を含む方法。
【0111】
実施例18.第1の半導体処理ツールと第2の半導体処理ツールは、同じタイプのツールである、実施例17に記載の方法。
【0112】
実施例19.第1の半導体処理ツールと第2の半導体処理ツールは、異なるタイプのツールである、実施例17又は18の何れか一項に記載の方法。
【0113】
実施例20.第1の機械学習システムを第2の半導体処理ツール上に実装することは、ニューラルネットワークをトレーニングして第2の半導体処理ツールの不具合を予測することを更に含む、実施例17~19の何れか一項に記載の方法。
【0114】
実施例21.第1の半導体処理ツールと第2の半導体処理ツールは、異なる製造設備に配置されている、実施例17~20の何れか一項に記載の方法。
【0115】
実施例22.第1の半導体処理ツールと第2の半導体処理ツールは、同じ製造設備に配置されている、実施例17~21の何れか一項に記載の方法。
【0116】
本発明は、例示的な実施形態を参照して説明されているが、本明細書は、限定的な意味で解釈されることを意図するものではない。当業者であれば、本明細書を参照することにより、それらの例示的な実施形態の様々な修正形態及び組み合わせ並びに本発明の別の実施形態が明らかになるであろう。したがって、添付の特許請求の範囲は、そのようなあらゆる修正形態又は実施形態を包含することが意図されている。
【国際調査報告】