(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】欠陥リスクを推定し、プロセスレシピを最適化するために、欠陥モデルを使用すること
(51)【国際特許分類】
H01L 21/02 20060101AFI20240723BHJP
【FI】
H01L21/02 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023570464
(86)(22)【出願日】2022-08-15
(85)【翻訳文提出日】2024-01-11
(86)【国際出願番号】 US2022040371
(87)【国際公開番号】W WO2023022999
(87)【国際公開日】2023-02-23
(32)【優先日】2021-08-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】キャントウェル, ダーマット ピー.
(72)【発明者】
【氏名】ワン, チャンコン
(72)【発明者】
【氏名】チョプラ, ナスリーン
(72)【発明者】
【氏名】オ, ムンキュ
(57)【要約】
システムが、メモリと、メモリに動作可能に結合された処理デバイスとを含み、処理デバイスは、少なくとも1つの欠陥タイプに関する欠陥影響を識別するためのトレーニングされた機械学習モデルへの入力として、電子デバイス製造に関係するプロセスに関連するデータを受信することを含む動作を実施するためのものである。プロセスに関連するデータは、構成要素を処理するためのレシピ設定の入力セット、構成要素を処理することによって達成されるべき所望の特性のセット、またはレシピ設定のセットのうちの各設定についての許容範囲を指定する制約のセットのうちの少なくとも1つを含む。動作は、トレーニングされた機械学習モデルに、プロセスに関連するデータを適用することによって、出力を取得することをさらに含む。出力は、少なくとも1つの欠陥タイプに関する欠陥影響を表す。
【選択図】
図2
【特許請求の範囲】
【請求項1】
処理デバイスによって、電子デバイス製造に関係するプロセスに関連するトレーニング入力データを受信することであって、前記トレーニング入力データが、前記プロセスに関係する実験データのセットを含む、トレーニング入力データを受信することと、
前記処理デバイスによって、前記トレーニング入力データについてのターゲット出力データを取得することであって、前記ターゲット出力データが、欠陥タイプのセットを識別する、ターゲット出力データを取得することと、
前記処理デバイスによって、機械学習モデルのセットをトレーニングするために前記トレーニング入力データと前記ターゲット出力データとを提供することであって、機械学習モデルの前記セットのうちの各機械学習モデルが、欠陥タイプの前記セットのうちの少なくとも1つの欠陥タイプに関する欠陥影響を識別するためにトレーニングされる、前記トレーニング入力データと前記ターゲット出力データとを提供することと
を含む方法。
【請求項2】
前記プロセッサデバイスによって、前記トレーニング入力データを、機械学習モデルの前記セットをトレーニングするための機械学習フォーマットを有する欠陥モデルトレーニングデータに変換することをさらに含む、請求項1に記載の方法。
【請求項3】
前記処理デバイスによって、機械学習モデルの前記セットからの、初期にトレーニングされた機械学習モデルを受信することと、
前記処理デバイスによって、調節入力データを受信することと、
前記調節入力データに基づいて、調節された機械学習モデルを取得するために、前記初期にトレーニングされた機械学習モデルを調節することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記処理デバイスによって、機械学習モデルの前記セットからの、選択された機械学習モデルを受信することと、
前記選択された機械学習モデルへの入力として、前記プロセスに関連するデータを受信することと、
前記選択された機械学習モデルに、前記プロセスに関連する前記データを適用することによって、出力を取得することであって、前記出力が、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を表す、出力を取得することと
をさらに含む、請求項1に記載の方法。
【請求項5】
プロセスレシピに関連するデータが、プロセスレシピのためのレシピ設定のセットを含み、前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、前記レシピ設定に鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項6】
前記プロセスレシピに関連する前記データが、プロセスレシピのためのレシピ設定のセットと、レシピ設定の前記セットのうちの各設定についての許容範囲を指定する制約のセットとを含み、
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、前記レシピ設定に鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを最小化する、レシピ設定の制約されたセットを含む、
請求項4に記載の方法。
【請求項7】
前記プロセスレシピに関連する前記データが、所望の特性のセットを含み、
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、前記レシピ設定に鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを最小化しながら、所望の特性の前記セットを達成する、レシピ設定のセットを含む、
請求項4に記載の方法。
【請求項8】
前記処理デバイスによって、前記出力に鑑みて、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を考慮する、前記プロセスを実施するためのプロセスレシピを生成することと、
前記処理デバイスによって、プロセスツールに、前記プロセスレシピを使用して前記プロセスを実施させることと
をさらに含む、請求項4に記載の方法。
【請求項9】
メモリと、
前記メモリに動作可能に結合された処理デバイスと
を備えるシステムであって、前記処理デバイスは、
少なくとも1つの欠陥タイプに関する欠陥影響を識別するためのトレーニングされた機械学習モデルへの入力として、電子デバイス製造に関係するプロセスに関連するデータを受信することであって、前記プロセスに関連する前記データが、構成要素を処理するためのレシピ設定の入力セット、前記構成要素を処理することによって達成されるべき所望の特性のセット、またはレシピ設定の前記セットのうちの各設定についての許容範囲を指定する制約のセットのうちの少なくとも1つを含む、プロセスに関連するデータを受信することと、
前記トレーニングされた機械学習モデルに、前記プロセスに関連する前記データを適用することによって、出力を取得することであって、前記出力が、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を表す、出力を取得することと
を含む動作を実施するためのものである、システム。
【請求項10】
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、前記レシピ設定に鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを含む、請求項9に記載のシステム。
【請求項11】
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを最小化する、レシピ設定の出力セットを含む、請求項9に記載のシステム。
【請求項12】
前記動作が、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を考慮する、前記プロセスを実施するためのレシピ設定の前記出力セットに基づいて、プロセスレシピを生成することをさらに含む、請求項11に記載のシステム。
【請求項13】
前記動作が、プロセスツールに、前記プロセスレシピを使用して前記電子デバイス製造プロセスを実施させることをさらに含む、請求項12に記載のシステム。
【請求項14】
前記動作が、前記データを受信するより前に、トレーニング入力データとターゲット出力データとに基づいて機械学習モデルをトレーニングすることによって、前記トレーニングされた機械学習モデルを取得することをさらに含み、前記トレーニング入力データが、前記プロセスに関係する実験データのセットを含む、請求項9に記載のシステム。
【請求項15】
命令を記憶する非一時的機械可読ストレージ媒体であって、前記命令は、処理デバイスによって実行されたとき、前記処理デバイスに、
少なくとも1つの欠陥タイプに関する欠陥影響を識別するためのトレーニングされた機械学習モデルへの入力として、電子デバイス製造に関係するプロセスに関連するデータを受信することであって、前記プロセスに関連する前記データが、構成要素を処理するためのレシピ設定の入力セット、前記構成要素を処理することによって達成されるべき所望の特性のセット、またはレシピ設定の前記セットのうちの各設定についての許容範囲を指定する制約のセットのうちの少なくとも1つを含む、プロセスに関連するデータを受信することと、
前記トレーニングされた機械学習モデルに、前記プロセスに関連する前記データを適用することによって、出力を取得することであって、前記出力が、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を表す、出力を取得することと
を含む動作を実施させる、非一時的機械可読ストレージ媒体。
【請求項16】
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、前記レシピ設定に鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを含む、請求項15に記載の非一時的機械可読ストレージ媒体。
【請求項17】
前記出力は、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプについての推定された欠陥カウント、または、レシピ設定の前記セットに鑑みた、前記少なくとも1つの欠陥タイプが性能に影響を及ぼす確率のうちの少なくとも1つを最小化する、レシピ設定の出力セットを含む、請求項15に記載の非一時的機械可読ストレージ媒体。
【請求項18】
前記動作が、前記少なくとも1つの欠陥タイプに関する前記欠陥影響を考慮する、前記プロセスを実施するためのレシピ設定の前記出力セットに基づいて、プロセスレシピを生成することをさらに含む、請求項17に記載の非一時的機械可読ストレージ媒体。
【請求項19】
前記動作が、プロセスツールに、前記プロセスレシピを使用して前記プロセスを実施させることをさらに含む、請求項18に記載の非一時的機械可読ストレージ媒体。
【請求項20】
前記動作が、前記データを受信するより前に、トレーニング入力データとターゲット出力データとに基づいて機械学習モデルをトレーニングすることによって、前記トレーニングされた機械学習モデルを取得することをさらに含み、前記トレーニング入力データが、前記プロセスに関係する実験データのセットを含む、請求項15に記載の非一時的機械可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、製造システムに関し、より詳細には、欠陥リスクを推定し、プロセスレシピ(process recipe)を最適化するために、欠陥モデルを使用することに関する。
【背景技術】
【0002】
デバイスサイズが縮小するにつれて、半導体ウエハ処理の複雑さが増加している。一般的なプロセスは、複数の異なるステップを有し、プラズマエッチングなど、いくつかの高度なプロセスは、20個さらにはそれ以上のステップを有し得る。各ステップは、性能を最適化するために関連付けられた多数のノブを有する。したがって、所与のプロセスを調節および最適化するために利用可能な空間は、理論的には極めて大きい。
【0003】
プロセス技術者は自身の経験および専門知識を使用して、予備ベースラインプロセスを選択し、実験の設計(DoE:design of experiment)に専用の限られた数のウエハ(または、クーポンと呼ばれる、ウエハの部分)に基づいて、そのプロセスを微調節する。DoEの目標は、ウエハ上で所望の仕様を達成するようにプロセスを適合させることである。しかしながら、DoEデータ収集のために全ウエハまたはウエハの部分を専用化することは、貴重なリソースを消費する。したがって、しばしば、採用されたプロセスは、実行可能なプロセスであるが、必ずしも最適解とは限らないことがある。
【0004】
別のボトルネックが、不十分なインライン高精度計測(precision metrology)データによってもたらされる。高精度計測について、通常、誘導結合プラズマ質量分析(ICP-MS:inductively-coupled plasma mass spectrometry)など、破壊的な技法が使用される。しかしながら、ICP-MSは極めて時間がかかり得るので、ICP-MSは、概して、十分な統計的データを生成せず、強い基板/膜干渉を受け得る。また、ICP-MSは、破壊的な技法であるので、生産ラインに効果的に組み込まれないことがある。
【発明の概要】
【0005】
いくつかの実施形態では、方法が提供される。本方法は、処理デバイスによって、電子デバイス製造に関係するプロセスに関連するトレーニング入力データを受信することを含む。トレーニング入力データは、プロセスに関係する実験データのセットを含む。本方法は、処理デバイスによって、トレーニング入力データについてのターゲット出力データを取得することをさらに含む。ターゲット出力データは、欠陥タイプのセットを識別する。本方法は、処理デバイスによって、機械学習モデルのセットをトレーニングするためにトレーニング入力データとターゲット出力データとを提供することをさらに含む。機械学習モデルのセットのうちの各機械学習モデルが、欠陥タイプのセットのうちの少なくとも1つの欠陥タイプに関する欠陥影響を識別するためにトレーニングされる。
【0006】
いくつかの実施形態では、システムが提供される。本システムは、メモリと、メモリに動作可能に結合された処理デバイスとを含み、処理デバイスは、少なくとも1つの欠陥タイプに関する欠陥影響を識別するためのトレーニングされた機械学習モデルへの入力として、電子デバイス製造に関係するプロセスに関連するデータを受信することを含む動作を実施するためのものである。プロセスに関連するデータは、構成要素を処理するためのレシピ設定の入力セット、構成要素を処理することによって達成されるべき所望の特性のセット、またはレシピ設定のセットのうちの各設定についての許容範囲を指定する制約のセットのうちの少なくとも1つを含む。動作は、トレーニングされた機械学習モデルに、プロセスに関連するデータを適用することによって、出力を取得することをさらに含む。出力は、少なくとも1つの欠陥タイプに関する欠陥影響を表す。
【0007】
いくつかの実施形態では、非一時的コンピュータ可読ストレージ媒体が提供される。本非一時的コンピュータ可読ストレージ媒体は、命令を含み、命令は、処理デバイスによって実行されたとき、処理デバイスに、少なくとも1つの欠陥タイプに関する欠陥影響を識別するためのトレーニングされた機械学習モデルへの入力として、電子デバイス製造に関係するプロセスに関連するデータを受信することを含む動作を実施させる。プロセスに関連するデータは、構成要素を処理するためのレシピ設定の入力セット、構成要素を処理することによって達成されるべき所望の特性のセット、またはレシピ設定のセットのうちの各設定についての許容範囲を指定する制約のセットのうちの少なくとも1つを含む。動作は、トレーニングされた機械学習モデルに、プロセスに関連するデータを適用することによって、出力を取得することをさらに含む。出力は、少なくとも1つの欠陥タイプに関する欠陥影響を表す。
【0008】
本開示は、限定ではなく例として、同様の参照符号が同様の要素を示す添付の図面の図に示される。本開示における「1つの(an)」または「1つの(one)」実施形態に対する異なる言及は必ずしも同じ実施形態に対するものでなく、そのような言及は少なくとも1つを意味することに留意されたい。
【図面の簡単な説明】
【0009】
【
図1】本開示の態様による、例示的なコンピュータシステムアーキテクチャを示す図である。
【
図2】本開示の態様による、プロセスレシピを生成するために欠陥モデルを使用するためのシステムのブロック図である。
【
図3】本開示の態様による、プロセスレシピを生成するために、少なくとも1つのトレーニングされた欠陥モデルを使用するための方法のフローチャートである。
【
図4】本開示の態様による、少なくとも1つのトレーニングされた欠陥モデルを生成するために、入力トレーニングデータに基づいて欠陥モデルトレーニングデータを取得するための方法のフローチャートである。
【
図5】本開示の態様による、少なくとも1つのトレーニングされた欠陥モデルを生成するために、少なくとも1つの初期のトレーニングされた欠陥モデルを調節するための方法のフローチャートである。
【
図6】本開示の1つまたは複数の態様に従って動作する例示的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0010】
本明細書で説明される実装形態は、半導体デバイス欠陥についての機械学習モデルを使用するプロセスレシピ作成を提供する。プロセスレシピ作成は、一般に、反復的プロセスである。欠陥を引き起こすことがあるプロセス条件は、ウエハまたは基板が稼働され、プロセス後計測(post-process metrology)が実施されるまで、知られていないことがある。実験のおよび専門家の知識が、このプロセスをガイドするのを助けることができる。従来の方法は、この情報を体系的にキャプチャしない。さらに、欠陥は、しばしば、変動するソースおよび生成機構を伴う、複数の物理的および/または化学的プロセスの最終結果であり、これは、特に、異なる変数の潜在的相互作用を考慮すると、データ解釈を難しくすることがある。
【0011】
本開示の態様は、半導体デバイス欠陥についての機械学習モデルを使用するプロセスレシピ作成を提供することによって、上述のおよび他の欠如に対処する。製造システムのための処理デバイスが、トレーニングされた機械学習モデルへの入力として、プロセスレシピに関連するデータを提供することができる。いくつかの実施形態では、処理デバイスは、製造システムのためのクライアントデバイスからデータを受信することができる。ユーザ(たとえば、オペレータ、技術者など)は、クライアントデバイスのグラフィカルユーザインターフェース(GUI)を介して、プロセスレシピに関連するデータを提供することができ、クライアントデバイスは、製造システムのための処理デバイスに、受信されたデータを送信することができる。
【0012】
機械学習モデルは、半導体デバイス欠陥、および/または半導体デバイス欠陥がオンウエハ(on-wafer)性能に影響を及ぼすことの確率を予測するように、トレーニングされ得る。機械学習モデルは、欠陥生成対レシピ条件に関する、いくつかのソースから取得されたトレーニングデータを使用して、トレーニングされ得る。トレーニングデータから、分類モデルおよび/または回帰モデルを含む、モデルのセットが作成され得る。欠陥タイプおよび使用事例に応じて、モデルのセットは、欠陥の確率を推定し、欠陥カウントを推定し、プロセス空間をいくつかの領域(たとえば、良好な領域、警告領域、および不良な(障害)領域)にセグメント化することができる。モデルのセットは、任意のモデル化されたプロセス条件について、推定された欠陥性能に関する追加のガイダンスを提供するために、プロセス開発ツールとともに使用され得、プロセス性能と欠陥性能の両方についての共最適化を達成することができる。この追加のガイダンスは、プロセス開発が、欠陥確率が高い空間にそれるのを阻止することができる。数値最適化器が、欠陥についての潜在性を最小化することができる、代替プロセス設定を提案するのを支援するために追加され得る。モデルのセットは、次いで、ウエハを処理する前に、所与のプロセス条件についての欠陥生成の潜在的リスクに関するフィードバックを提供することによって、プロセスレシピ作成を加速およびガイドするために、半導体デバイス製造中に利用され得る。トレーニングされた機械学習モデルの出力に基づいて取得される、プロセスレシピのための設定を適用することによって、半導体デバイス欠陥は、著しく低減され得る。したがって、プロセスチャンバのより少ない数の基板および/または構成要素が欠陥のあるものとなり、これは、製造システム/プロセスの全体的スループットおよび効率を改善する。
【0013】
図1は、本開示の態様による、例示的なコンピュータシステムアーキテクチャ100を示す。コンピュータシステムアーキテクチャ100は、クライアントデバイス120と、(たとえば、予測データを生成するための、モデル適応を提供するための、知識ベースを使用するためのなどの)予測サーバ112と、データストア140とを含むことができる。予測サーバ112は、予測システム110の一部であり得る。予測システム110は、サーバマシン170および180をさらに含むことができる。いくつかの実施形態では、コンピュータシステムアーキテクチャ100は、基板またはウエハを処理するための製造システムの一部として含まれ得る。そのような実施形態では、コンピュータシステムアーキテクチャ100は、製造機器124、計測機器128および/またはテスト機器(図示せず)を含むことができる。
【0014】
製造機器124は、レシピに従って、またはある時間期間にわたって稼働を実施して、電子デバイスなど、製品を生産することができる。製造機器124は、
図2に関して説明されるプロセスチャンバ200など、プロセスチャンバを含むことができる。製造機器124は、プロセスチャンバにおいてウエハ(たとえば、ウエハなど)についてのプロセスを実施することができる。ウエハプロセスの例は、ウエハの表面上に膜を堆積させるための堆積プロセス、ウエハの表面上にパターンを形成するためのエッチングプロセス、堆積プロセスまたはエッチングプロセスより前にターゲット温度までウエハを加熱するためのウエハ加熱プロセス、堆積プロセスおよび/またはエッチングプロセスに続いてターゲット温度までウエハを冷却するためのウエハ冷却プロセスなどを含む。製造機器124は、プロセスレシピに従って各プロセスを実施することができる。プロセスレシピは、プロセス中にウエハについて実施されるべき動作の特定のセットを定義し、各動作に関連する1つまたは複数の設定を含むことができる。たとえば、ウエハ加熱プロセスは、プロセスチャンバ内に配設されたウエハについての位置設定、プロセスチャンバについての温度設定、プロセスチャンバについての圧力設定、プロセスチャンバについての圧力設定などを含むことができる。
【0015】
いくつかの実施形態では、製造機器124は、プロセスチャンバ内のまたはその外部の環境、および/あるいはプロセスチャンバ内に配設されたウエハについての、プロセスセンサデータを生成するように構成された、1つまたは複数のセンサ126を含むことができる。センサデータは、温度(たとえば、ヒータ温度)、間隔(SP)、圧力、高周波数高周波(HFRF:high frequency radio frequency)、静電チャック(ESC)の電圧、電流、流量、電力、電圧などのうちの1つまたは複数の値を含むことができる。センサデータは、製造機器124の設定または構成要素(たとえば、サイズ、タイプなど)などのハードウェアパラメータ、あるいは製造機器124のプロセスパラメータなど、製造パラメータに関連するか、または製造パラメータを示すことができる。センサデータは、製造機器124が製造プロセスを実施している間に提供され得る(たとえば、製品を処理しているときの機器の読取値)。センサデータは、製造機器124において処理される各ウエハについて異なり得る。
【0016】
計測機器128は、製造機器124によって処理されるウエハ(たとえば、ウエハなど)に関連する、計測データを提供することができる。いくつかの実施形態では、計測データは、堆積および/またはエッチングプロセスがウエハについて実施される前に、その間に、あるいはその後に、そのウエハの表面上の膜について生成されたデータを含むことができる。たとえば、計測データは、ウエハプロセスの完了の後にウエハについて生成された、膜特性データ(たとえば、ウエハ空間的膜特性)、寸法(たとえば、厚さ、高さなど)、誘電率、ドーパント濃度、密度、欠陥などの値を含むことができる。いくつかの実施形態では、計測データは、堆積および/またはエッチングプロセスを受けないウエハの一部分に関連するデータをさらに含むことができる。たとえば、膜の一部分をエッチング除去し、ターゲットウエハ表面パターンを作成することになるエッチングプロセスより前に、膜がウエハの上面上に堆積され得る。ウエハ加熱プロセスが、ウエハについて開始されて、エッチングプロセスの開始より前にターゲット温度までウエハを加熱することができる。
【0017】
クライアントデバイス120は、パーソナルコンピュータ(PC)、ラップトップ、モバイルフォン、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワーク接続テレビジョン(「スマートTV」)、ネットワーク接続メディアプレーヤ(たとえば、Blu-rayプレーヤ)、セットトップボックス、オーバーザトップ(OTT)ストリーミングデバイス、オペレータボックスなど、コンピューティングデバイスを含むことができる。いくつかの実施形態では、コンピュータシステムアーキテクチャ100は、クライアントデバイス120から、製造機器124においてウエハについて実施されるべきプロセスのためのプロセスレシピに関連するデータを受信することができる。たとえば、クライアントデバイス120は、グラフィカルユーザインターフェース(GUI)を表示することができ、GUIは、ユーザ(たとえば、技術者、オペレータ、デベロッパなど)が、入力として、製造機器124のプロセスチャンバにおいてウエハについて実施されるべきウエハ加熱プロセスおよび/またはウエハ冷却プロセスのための1つまたは複数のプロセスレシピ設定に関連するデータを提供することを可能にする。
【0018】
データストア140は、メモリ(たとえば、ランダムアクセスメモリ)、ドライブ(たとえば、ハードドライブ、フラッシュドライブ)、データベースシステム、あるいはデータを記憶することが可能な別のタイプの構成要素またはデバイスであり得る。データストア140は、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)にわたることができる複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含むことができる。いくつかの実施形態では、データストア140は、センサデータ、計測データ、予測データ、および/またはコンテキストデータを記憶することができる。センサデータは、履歴センサデータ(たとえば、製造機器124において処理された前のウエハについてセンサ126によって生成されたセンサデータ)、および/または現在のセンサデータ(たとえば、製造機器124において処理されている現在のウエハについてセンサ126によって生成されたセンサデータ)を含むことができる。いくつかの実施形態では、現在のセンサデータは、予測データが生成されるデータであり得る。センサデータは、限定はしないが、製造機器124の1つまたは複数の構成要素の温度(たとえば、プロセスチャンバのふたおよび/または窓の温度、プロセスチャンバのウエハ支持アセンブリ(wafer support assembly)内に埋め込まれた加熱要素(heating element)の温度など)を示すデータ、ウエハプロセス中のウエハの温度を示すデータ、製造機器124内の環境の1つまたは複数の部分における圧力(たとえば、プロセスチャンバのふたおよび/または窓と、ウエハの表面との間の環境の圧力、ウエハの表面とウエハ支持アセンブリの表面との間の環境の圧力など)を示すデータ、ウエハプロセスの前に、その間におよび/またはその後に、製造機器124に流入される1つまたは複数のガスの濃度または流量を示すデータなどを含むことができる。データストアは、いくつかの実施形態では、計測データを記憶することができる。計測データは、履歴計測データ(たとえば、製造機器124において処理された前のウエハについて計測機器128によって生成された計測データ)を含むことができる。
【0019】
コンテキストデータは、ウエハおよび/または製造機器124において実施されるウエハプロセスに関連するデータを指す。いくつかの実施形態では、コンテキストデータは、(たとえば、ウエハについての識別子、ウエハのタイプなどの)ウエハに関連するデータを含むことができる。コンテキストデータは、追加または代替として、ウエハを処理するために使用される製造機器124の1つまたは複数の構成要素に関連するデータを含むことができる。たとえば、コンテキストデータは、製造機器124の1つまたは複数の構成要素についての識別子、1つまたは複数の構成要素に関連する1つまたは複数の物理的特性(たとえば、1つまたは複数の構成要素の放射率、1つまたは複数の構成要素の分子量など)、製造機器124のオペレータに関連する識別子、製造機器124において実施されるプロセスのタイプなどを含むことができる。
【0020】
追加または代替の実施形態では、コンテキストデータは、製造機器124においてウエハについて実施されるプロセスレシピに関連するデータを含むことができる。たとえば、コンテキストデータは、プロセスレシピについての名前の識別子、プロセスレシピの動作についての動作番号、または(本明細書ではプロセスレシピ設定と呼ばれる)プロセスレシピの1つまたは複数の動作についての設定を含むことができる。プロセスレシピ設定は、プロセスチャンバのふたおよび/または窓に対する、プロセスチャンバ内に配設されたウエハの位置、プロセスチャンバのウエハ支持アセンブリに対するウエハの位置、プロセスチャンバのふたおよび/または窓に対するウエハ支持アセンブリの位置、プロセスチャンバのふたおよび/または窓に向かう、あるいはそこから離れる、(ウエハをもつまたはもたない)ウエハ支持アセンブリの移動の速さ、ウエハ支持アセンブリの表面に向かう、またはそこから離れる、ウエハの移動の速さなどについての設定など、ウエハ、または製造機器124の1つまたは複数の構成要素についての位置設定を含むことができる。プロセスレシピ設定は、製造機器124の1つまたは複数の構成要素および/または製造機器124内に配設されたウエハについての温度および/または圧力設定をも含むことができる。プロセスレシピ設定は、製造機器124のプロセスチャンバに流入されるガスのターゲット組成物および/または濃度、プロセスチャンバに流入されるガスの流量、プロセスチャンバに流入されるガスの温度などを示す設定を含む、ウエハプロセスのためのガス流設定をも含むことができる。
【0021】
コンテキストデータは、履歴コンテキストデータ(たとえば、製造機器124において前のウエハについて実施された前のウエハプロセスのためのコンテキストデータ)、および/または現在のコンテキストデータ(たとえば、製造機器124において現在のウエハについて現在実施されたまたは実施されるべきウエハプロセスのためのコンテキストデータ)を含むことができる。現在のコンテキストデータは、本明細書で説明される実施形態によれば、予測データが生成されるデータであり得る。履歴コンテキストデータおよび/または現在のコンテキストデータは、前に説明された実施形態によれば、クライアントデバイス120のGUIを介してシステム100に提供され得る。
【0022】
いくつかの実施形態では、データストア140は、製造システムのユーザにとってアクセス可能でないデータを記憶するように構成され得る。たとえば、ウエハ支持アセンブリについてのテストデータ、コンテキストデータなどは、製造システムおよび/またはテストシステムのユーザ(たとえば、オペレータ)にとってアクセス可能でない。いくつかの実施形態では、データストア140において記憶されるすべてのデータは、システムのユーザによってアクセス不可能であり得る。他のまたは同様の実施形態では、データストア140において記憶されるデータのある部分は、ユーザによってアクセス不可能であり得るが、データストア140において記憶されるデータの別の部分は、ユーザによってアクセス可能であり得る。いくつかの実施形態では、データストア140において記憶されるデータの1つまたは複数の部分は、ユーザに知られていない暗号化機構を使用して暗号化され得る(たとえば、データは、秘密暗号化鍵を使用して暗号化される)。他のまたは同様の実施形態では、データストア140は、ユーザにとってアクセス不可能であるデータが1つまたは複数の第1のデータストアに記憶され、ユーザにとってアクセス可能であるデータが1つまたは複数の第2のデータストアに記憶される、複数のデータストアを含むことができる。
【0023】
いくつかの実施形態では、予測システム110は、サーバマシン170および/またはサーバマシン180を含むことができる。サーバマシン170は、機械学習モデル190をトレーニング、確認、および/またはテストするためのトレーニングデータセット(たとえば、データ入力のセットおよびターゲット出力のセット)を生成することが可能である、トレーニングセットジェネレータ172を含む。たとえば、トレーニングセットジェネレータ172は、本明細書で提供される実施形態によれば、製造機器124においてウエハについて実施されるべきプロセスのためのプロセスレシピ設定を予測するために、機械学習モデル190をトレーニング、確認、および/またはテストするためのトレーニングセットを生成することができる。
【0024】
いくつかの実施形態では、トレーニングセットジェネレータ172は、製造機器124において実施された1つまたは複数の前のウエハプロセスに関連する、履歴センサ、計測、および/またはコンテキストデータに基づいて、機械学習モデル190のためのトレーニングセットを生成することができる。追加または代替の実施形態では、トレーニングセットジェネレータ172は、製造機器124のデジタルレプリカモデル(たとえば、デジタルツイン)によって生成された、予測またはシミュレートされたセンサ、計測、および/またはコンテキストデータに基づいて、機械学習モデル190のためのトレーニングセットを生成することができる。(本明細書ではデジタルレプリカとも呼ばれる)デジタルレプリカモデルは、いくつかの実施形態では、製造機器124をシミュレートするアルゴリズムモデルであり得る。
【0025】
いくつかの実施形態では、デジタル表現サーバ160が、製造機器124のデジタルレプリカであり得る。デジタル表現サーバ160は、製造機器124がどのように動作するかの物理的要素および/またはダイナミクスの仮想表現を生成するために、教師あり機械学習、半教師あり学習、教師なし機械学習、またはそれらの任意の組合せを使用することができる。デジタル表現サーバ160は、センサ126からの定期的更新を使用して、ならびに/または、センサデータ、性能データ(たとえば、製造機器124の1つまたは複数の構成要素の効率、レイテンシ、スループットなどに関連するデータ)、ライブラリデータなど、製造機器124のデジタルレプリカデータを生成および維持することに関連するデータを使用して、強化学習を介して更新され得る。いくつかの実施形態では、デジタル表現サーバ160は、製造機器124のプロセスチャンバの物理的要素およびダイナミクスに関連する処理チャンバモデル162を含むことができる。
【0026】
デジタル表現サーバ160は、製造機器124が現在のまたはシミュレートされたパラメータに基づいてどのように機能するかを決定するために使用されるシミュレーションデータを生成することができる。シミュレーションデータは、いくつかの実施形態では、データストア140において記憶され得る。いくつかの実施形態では、シミュレーションデータは、プロセスチャンバにおけるウエハについてのウエハプロセスに関連する1つまたは複数のプロセスレシピ設定を含むことができる。シミュレーションデータは、製造機器124のデジタルレプリカの(たとえば、データストア140における現在のセンサデータを使用して生産されるべきまたは生産された製品の)予測された特性データおよび/または予測された計測データ(たとえば、仮想計測データ)をも含むことができる。シミュレーションデータは、異常(たとえば、異常な製品、異常な構成要素、異常な製造機器124、異常なエネルギー使用など)と、異常の1つまたは複数の原因との指示をも含むことができる。シミュレーションデータは、製造機器124の構成要素の寿命の終了の指示をさらに含むことができる。シミュレーションデータは、網羅的であり、製造機器124のあらゆる機械的および/または電気的側面をカバーすることができる。
【0027】
上記で説明されたように、トレーニングセットジェネレータ172は、デジタル表現サーバ160から取得された予測データまたはシミュレートされたデータに基づいて、モデル190のためのトレーニングデータを生成することができる。たとえば、トレーニングセットジェネレータ172は、プロセスチャンバモデル162を使用して製造機器124のプロセスチャンバにおけるプロセスをシミュレートするために、プロセスレシピ設定の1つまたは複数のセットを生成し、デジタル表現サーバ160にプロセスレシピ設定のセットを提供することができる。いくつかの実施形態では、プロセスチャンバモデル162によって出力されるデータは、プロセスチャンバ環境の第1の空間とプロセスチャンバ環境の第2の空間との間の圧力差を含むことができる。プロセスチャンバ環境の第1の空間は、ウエハの上面と、プロセスチャンバの天井(たとえば、ふた、窓など)との間の空間を含むことができる。プロセスチャンバ環境の第2の空間は、ウエハの底面と、シミュレートされたウエハプロセス中にウエハを支持するウエハ支持アセンブリの上面との間の空間を含むことができる。追加または代替の実施形態では、プロセスチャンバモデル162によって出力されるデータは、(ランピング率と呼ばれる)ウエハプロセスの初期期間とウエハプロセスの最終期間との間のウエハの温度の変化率に関連するデータを含むことができる。いくつかの実施形態では、トレーニングセットジェネレータ172は、トレーニングデータ(たとえば、物理的プロセスのためのデータおよび/またはシミュレートされたデータ)を、トレーニングセットと確認セットとテストセットとに区分することができる。いくつかの実施形態では、予測システム110は、トレーニングデータの複数のセットを生成する。トレーニングセットジェネレータ172のいくつかの動作が、
図2に関して以下で詳細に説明される。
【0028】
サーバマシン180は、トレーニングエンジン182、確認エンジン184、選択エンジン186、および/またはテストエンジン188を含むことができる。エンジンは、ハードウェア(たとえば、回路、専用論理、プログラマブル論理、マイクロコード、処理デバイスなど)、(処理デバイス、汎用コンピュータシステム、または専用機械上で稼働される命令などの)ソフトウェア、ファームウェア、マイクロコード、またはそれらの組合せを指すことができる。トレーニングエンジン182は、機械学習モデル190をトレーニングすることが可能であり得る。機械学習モデル190は、トレーニング入力と、対応するターゲット出力(それぞれのトレーニング入力についての正しい答え)とを含むトレーニングデータを使用して、トレーニングエンジン182によって作成される、モデルアーティファクトを指すことができる。トレーニングエンジン182は、トレーニング入力をターゲット出力(予測されるべき答え)にマッピングする、トレーニングデータにおけるパターンを見つけ、これらのパターンをキャプチャする機械学習モデル190を提供することができる。機械学習モデル190は、分類、サポートベクターマシン(SVM)、放射基底関数(RBF)、クラスタリング、教師あり機械学習、半教師あり機械学習、教師なし機械学習、k最近傍法アルゴリズム(k-NN)、線形回帰、ロジスティック回帰、ランダムフォレスト、ニューラルネットワーク(たとえば、人工ニューラルネットワーク)などのうちの1つまたは複数を使用することができる。
【0029】
確認エンジン184は、トレーニングされた機械学習モデル190を、トレーニングセットジェネレータ172からの確認セットの特徴の対応するセットを使用して、確認することが可能であり得る。確認エンジン184は、トレーニングされた機械学習モデル190の各々の正確さを、確認セットの特徴の対応するセットに基づいて、決定することができる。確認エンジン184は、しきい値正確さを満足しない正確さを有する、トレーニングされた機械学習モデル190を廃棄することができる。いくつかの実施形態では、選択エンジン186は、しきい値正確さを満足する正確さを有する、トレーニングされた機械学習モデル190を選択することが可能であり得る。いくつかの実施形態では、選択エンジン186は、トレーニングされた機械学習モデル190のうちの最も高い正確さを有するトレーニングされた機械学習モデル190を選択することが可能であり得る。
【0030】
テストエンジン188は、トレーニングされた機械学習モデル190を、データセットジェネレータ172からのテストセットの特徴の対応するセットを使用して、テストすることが可能であり得る。たとえば、トレーニングセットの特徴の第1のセットを使用してトレーニングされた、第1のトレーニングされた機械学習モデル190が、テストセットの特徴の第1のセットを使用してテストされ得る。テストエンジン186は、テストセットに基づいて、トレーニングされた機械学習モデルのすべてのうちの最も高い正確さを有するトレーニングされた機械学習モデル190を決定することができる。
【0031】
予測サーバ112は、製造機器124において処理されるべき現在の基板についての1つまたは複数のプロセスレシピ設定、および/または欠陥に関係するデータ(たとえば、欠陥のリスクの推定、あるいは予想される欠陥密度またはカウント)を提供することが可能である、予測構成要素114を含む。
図6に関して以下で詳細に説明されるように、いくつかの実施形態では、予測構成要素114は、モデル190への入力として、基板について実施されるべき基板プロセスのためのプロセスレシピに関連するデータを提供し、モデル190の1つまたは複数の出力を取得することが可能である。いくつかの実施形態では、プロセスレシピに関連するデータは、プロセスレシピについて実施されるべき1つまたは複数の動作と、基板プロセスの最終期間における基板についてのターゲット温度との指示を含むことができる。プロセスレシピデータは、いくつかの実施形態では、基板プロセス中に適用されるべき1つまたは複数のターゲット基板プロセス設定を含むことができる。予測サーバ112は、モデル190の1つまたは複数の出力に基づいて、基板についての1つまたは複数の動作および/またはターゲット温度に対応するプロセスレシピ設定のセットを決定することができる。プロセスレシピ設定の決定されたセットが信頼性基準のレベルを満たすと決定したことに応答して、予測サーバ112は、決定されたプロセスレシピ設定に従って、プロセスチャンバにおいて基板について基板プロセスを実施させることができる。
【0032】
いくつかの実施形態では、予測サーバ112は、1つまたは複数のターゲット基板プロセスレシピ設定に対する提案された修正として、クライアントデバイス120に1つまたは複数のプロセスレシピ設定の指示を送信することができる。クライアントデバイス120は、クライアントデバイス120のGUIを介して、ターゲット基板プロセスレシピ設定に対する提案された修正を表示することができる。システム100のユーザ(たとえば、オペレータ、技術者、デベロッパなど)は、モデル190の出力から取得された1つまたは複数のプロセスレシピ設定に従って、基板について基板プロセスを開始させるためにまたは開始させないために、クライアントデバイス120のGUIの1つまたは複数の要素と対話することができる。
【0033】
クライアントデバイス120と、製造機器124と、データストア140と、デジタル表現サーバ160と、予測サーバ112と、サーバマシン170と、サーバマシン180とは、ネットワーク130を介して互いに結合され得る。いくつかの実施形態では、ネットワーク130は、クライアントデバイス120に、予測サーバ112、データストア140、および他の公的に利用可能なコンピューティングデバイスへのアクセスを提供する、パブリックネットワークである。いくつかの実施形態では、ネットワーク130は、クライアントデバイス120に、製造機器124、データストア140、デジタル表現サーバ160、予測サーバ112、および他の私的に利用可能なコンピューティングデバイスへのアクセスを提供する、プライベートネットワークである。ネットワーク130は、1つまたは複数のワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤードネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークまたはWi-Fiネットワーク)、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、クラウドコンピューティングネットワーク、および/またはそれらの組合せを含むことができる。
【0034】
いくつかの他の実装形態では、デジタル表現サーバ160、サーバマシン170および180、ならびに予測サーバ112の機能は、より少ない数の機械によって提供され得ることに留意されたい。たとえば、いくつかの実施形態では、デジタル表現サーバ160、サーバマシン170および/またはサーバマシン180が、単一の機械に組み込まれ得、いくつかの他のまたは同様の実施形態では、デジタル表現サーバ160、サーバマシン170および/またはサーバマシン180、ならびに予測サーバ112が、単一の機械に組み込まれ得る。
【0035】
概して、デジタル表現サーバ160、サーバマシン170、サーバマシン180、および/または予測サーバ112によって実施されるものとして一実装形態において説明される機能は、クライアントデバイス120上でも実施され得る。さらに、特定の構成要素のものとされる機能は、一緒に動作する、異なるまたは複数の構成要素によって実施され得る。
【0036】
実施形態では、「ユーザ」が、単一の個人として表され得る。しかしながら、本開示の他の実施形態は、「ユーザ」が、複数のユーザおよび/または自動ソースによって制御されるエンティティであることを包含する。たとえば、管理者のグループとしてフェデレーションされた(federated)個人ユーザのセットが、「ユーザ」と見なされ得る。
【0037】
図2は、本開示の態様による、プロセスレシピを生成するために欠陥モデルを使用するためのシステム200の図である。示されているように、システム200は、機械学習セクション210を含む。機械学習セクション210は、入力トレーニングデータ220を受信して、トレーニングされた欠陥モデルのセット214を生成する、欠陥モデルトレーニング構成要素212を含むことができる。トレーニングされた欠陥モデルのセット214は、各々、それぞれの欠陥タイプに対応する、1つまたは複数のトレーニングされた欠陥モデルを含むことができる。欠陥は、何らかの望ましくないオンウエハ条件または特徴(たとえば、粒子、汚染)として定義され得る。
【0038】
入力トレーニングデータ220は、たとえば、実験データのセットおよび/または専門家知識のセットを含むことができる。専門家知識のセットは、1つまたは複数の専門家ソースからマイニングされたデータを含むことができる。専門家ソースの例は、文献、組織内の専門知識、専門家の直観などを含む。
【0039】
たとえば、実験データのセットは、物理モデルデータのセットを含むことができる。物理モデルデータのセットは、1つまたは複数の物理ベースモデルを含むことができる。実験データのセットは、構造化実験からのデータ(構造化実験データ)および/または非構造化実験からのデータ(非構造化実験データ)を含むことができる。構造実験データは、定義された構造(たとえば、数学的構造)に基づいて取得される実験データを指すが、非構造化実験データは、(たとえば、刊行物などの外部ソースからの)定義された構造に基づいて取得されない実験データを指す。
【0040】
たとえば、構造化実験データは、実験の設計(DoE)技法を使用して取得されたDoEデータを含むことができる。たとえば、DoE技法は、レシピパラメータを変更することに鑑みてウエハ感度を検出するために使用され得る。DoEは、変動が存在する任意の情報収集活動の設計であり、DoE分析は、DoEの実行から生成されたデータ(すなわち、DoEデータ)の分析である。いくつかの実装形態では、DoEデータは、レシピパラメータと、レシピパラメータ値と、測定値(たとえば、ウエハ測定値)とを含む。たとえば、5つのレシピパラメータが変動させられ得るDoE分析の場合、DoEは、5つのレシピパラメータの各々が、各実験について、あらかじめ決定された値に従って変動させられる、複数の実験を稼働することによって実施され得る。各実験からのウエハは、次いで、様々なロケーションにおいて測定され、それらの対応するレシピパラメータに関連し得る。感度値は、実験の各々から、レシピパラメータの変動を、各測定ロケーションからの測定値の変動と比較することによって、計算され得る。感度値は、次いで、通常、特定のレシピパラメータに対するウエハの平均感度を決定するために、平均化される。感度は、ウエハにわたる平均化された半径方向感度値に対応して計算され得る。
【0041】
実験データのセットは、入力に対応する予測子のセットと、出力に対応する応答のセットとを含むことができる。たとえば、予測子は、レシピ設定、センサデータ、またはそれらの組合せであり得る。応答は、1つまたは複数のトレーニングされた欠陥モデルに対応する、1つまたは複数の欠陥タイプを含むことができる。
【0042】
いくつかの実施形態では、入力トレーニングデータ220は、機械学習モデルをトレーニングするための好適なフォーマットで受信されない。これに対処するために、欠陥モデルトレーニング構成要素212は、入力トレーニングデータ220を、トレーニングされた欠陥モデルのセット214を生成するための機械学習フォーマットを有する欠陥モデルトレーニングデータに変換することができる。いくつかの実施形態では、入力トレーニングデータ220は、欠陥モデルトレーニングデータとして、機械学習フォーマットで受信される。
【0043】
以下でさらに詳細に説明されるように、トレーニングされた欠陥モデルのセット214のうちの各トレーニングされた欠陥モデルが、電子デバイス製造に関係するプロセス中に、その対応する欠陥タイプの欠陥をモデル化するために使用され得る。たとえば、トレーニングされた欠陥モデルは、ウエハ処理中に、その対応する欠陥タイプの欠陥をモデル化するために使用され得る。いくつかの実施形態では、トレーニングされた欠陥モデルは、回帰タイプ方法(たとえば、ニューラルネットワーク、一般化された線形モデル)を使用して、予想される欠陥カウントを推定するために使用される。いくつかの実施形態では、トレーニングされた欠陥モデルは、欠陥の確率に基づいて入力領域を分類するために使用され得る(たとえば、ニューラルネットワーク分類器、ロジスティック回帰)。入力トレーニングデータ220を受信し、トレーニングされた欠陥モデルのセット214を生成することに関するさらなる詳細が、
図3~
図5を参照しながら以下でさらに詳細に説明される。
【0044】
機械学習セクション210は、トレーニングされた欠陥モデル推論構成要素216をさらに含むことができる。トレーニングされた欠陥モデル推論構成要素は、トレーニングされた欠陥モデルのセット214と入力推論データ230とを受信し、入力推論データ230に基づいて、トレーニングされた欠陥モデルのセット214を使用して推論を実施して、推論出力218を生成することができる。推論は、実験データ点間の補間を可能にするために実施され得る。
【0045】
入力推論データ230は、欠陥モデルタイプと使用事例とによって定義される、プロセスレシピのためのレシピ設定のセット、センサデータ、材料データ、機器関係情報などのうちの1つまたは複数を含むことができる。推論出力218は、低い欠陥カウントを有する可能性があるレシピ条件へのガイドとして働くことができる。追加または代替として、推論出力218は、欠陥確率を最小化しながら、所望のオンウエハ条件をもたらすレシピ条件を見つけるために、数値最適化ルーチンと組み合わせて使用され得る。
【0046】
たとえば、いくつかの実施形態では、入力推論データ230は、プロセスレシピのためのレシピ設定のセットを含み、推論出力218は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を含む。
【0047】
いくつかの実施形態では、入力推論データ230は、レシピ設定のセットと、レシピ設定のセットのうちの各設定についての許容範囲を指定する制約のセットとを含み、推論出力218は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を最小化する、レシピ設定の制約されたセットを含む。
【0048】
いくつかの実施形態では、入力推論データ230は、所望の特性のセットを含み、推論出力218は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を最小化しながら、所望の特性のセットを達成する、レシピ設定のセットを含む。たとえば、所望の特性のセットは、プロセスの性能から生じる性能目標(たとえば、ウエハプロセスから生じるオンウエハ性能目標)のセットを含むことができる。
【0049】
入力推論データ230を受信し、推論出力218を生成することに関するさらなる詳細が、
図3を参照しながら以下でさらに詳細に説明される。システム200は、レシピ作成構成要素240をさらに含むことができる。レシピ作成構成要素240は、推論出力218を受信し、推論出力に基づくレシピ設定を有するレシピ250を生成する。レシピ設定は、レシピパラメータのセットと、レシピステップのセットとを含むことができる。たとえば、レシピ設定は、目標のセットを達成するための1つまたは複数の関連のあるレシピパラメータを含むことができる。システム200は、レシピ250を使用して、処理されたウエハ280を生産するためのツール/チャンバ270によって受け取られる、処理されていない基板またはウエハ260をさらに含むことができる。ツール/チャンバ270の処理からのフィードバックが、レシピ250をさらに調節するために使用され得る。ウエハが示されているが、本明細書で説明される実施形態によれば、任意の好適な構成要素が処理され得る。レシピ作成構成要素240とレシピ250とによって実施される動作に関するさらなる詳細が、
図3を参照しながら以下でさらに詳細に説明される。
【0050】
説明を簡単にするために、本明細書で説明される方法は、一連の行為として示され、説明される。ただし、本開示による行為は、様々な順序でおよび/または同時に、ならびに本明細書で提示および説明されない他の行為とともに行われ得る。さらに、開示される主題による方法を実装するために、すべての図示された行為が実施されるとは限らない。さらに、当業者は、方法が、代替的に、状態図またはイベントを介して一連の相互に関係する状態として表され得ることを理解し、諒解するであろう。さらに、本明細書で開示される方法は、そのような方法をコンピューティングデバイスにトランスポートおよび転送することを容易にするために、製造品に記憶されることが可能であることを諒解されたい。本明細書で使用される、製造品という用語は、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータプログラムを包含するものとする。
【0051】
図3は、本開示の態様による、プロセスレシピを生成するために、少なくとも1つのトレーニングされた欠陥モデルを使用するための方法のフローチャートである。方法300は、ハードウェア(回路、専用論理など)、(汎用コンピュータシステムまたは専用機械上で稼働されるものなどの)ソフトウェア、ファームウェア、またはそれらの何らかの組合せを含むことができる、処理論理によって実施される。一実装形態では、方法300は、
図1のコンピュータシステムアーキテクチャ100など、コンピュータシステムによって実施され得る。他のまたは同様の実装形態では、方法300の1つまたは複数の動作は、図に示されていない1つまたは複数の他の機械によって実施され得る。いくつかの態様では、方法400の1つまたは複数の動作は、サーバマシン170のトレーニングセットジェネレータ172によって実施され得る。
【0052】
ブロック310において、処理論理は、電子デバイス製造に関係するプロセスに関連するトレーニング入力データと、トレーニング入力データについてのターゲット出力データとを受信する。たとえば、トレーニング入力データは、実験データ(たとえば、教師ありおよび/または教師なし実験データ)のセット、物理モデルのセット、専門家知識のセットなどのうちの1つまたは複数を含むことができる。ターゲット出力データは、欠陥タイプのセットを識別する。
【0053】
ブロック320において、処理論理は、機械学習モデルのセットをトレーニングするためにトレーニング入力データとターゲット出力データとを提供する。機械学習モデルのセットのうちの各機械学習モデルが、欠陥タイプのセットのうちの少なくとも1つの欠陥タイプに関する欠陥影響を識別するためにトレーニングされる。たとえば、機械学習モデルのセットは、回帰モデル、分類器モデルなどのうちの1つまたは複数を含むことができる。したがって、各機械学習モデルは、欠陥モデルと呼ばれることがある。
【0054】
いくつかの実施形態では、トレーニング入力データは、機械学習モデルをトレーニングするための好適なフォーマットで受信されない。これに対処するために、トレーニング入力データを提供することは、トレーニング入力データを、機械学習フォーマットを有する欠陥モデルトレーニングデータに変換することを含むことができる。入力トレーニングデータを欠陥モデルトレーニングデータに変換することに関するさらなる詳細が、
図4を参照しながら以下で説明される。代替的に、トレーニング入力データは、ブロック310において、好適な機械学習フォーマットで受信され得る。
【0055】
ブロック330において、処理論理は、トレーニング入力データとターゲット出力データとに基づいて、機械学習モデルのセットのうちの各機械学習モデルをトレーニングする。いくつかの実施形態では、機械学習モデルのセットのうちの各機械学習モデルをトレーニングすることは、1つまたは複数の初期にトレーニングされた機械学習モデルを取得することと、1つまたは複数の初期にトレーニングされた機械学習モデルを調節することとを含む。調節は、1つまたは複数の初期にトレーニングされた機械学習モデルの性能を微調節し、したがって、その性能を改善するために、実施され得る。これらの実施形態に関するさらなる詳細が、
図5を参照しながら以下で説明される。
【0056】
ブロック340において、処理論理は、機械学習モデルのセットからの、選択された機械学習モデルと、選択された機械学習モデルへの入力としての、プロセスに関連するデータとを受信する。いくつかの実施形態では、プロセスに関連するデータは、プロセスレシピデータを含む。たとえば、プロセスレシピデータは、プロセスレシピのためのレシピ設定のセットを含むことができる。いくつかの実施形態では、プロセスに関連するデータは、センサデータを含む。
【0057】
ブロック350において、処理論理は、選択された機械学習モデルに、プロセスに関連するデータを適用することによって、出力を取得する。出力は、少なくとも1つの欠陥タイプに関係する欠陥影響を表すことができる。
【0058】
いくつかの実施形態では、プロセスに関連するデータは、プロセスレシピのためのレシピ設定のセットを含み、出力は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を含む。
【0059】
いくつかの実施形態では、プロセスに関連するデータは、レシピ設定のセットと、レシピ設定のセットのうちの各設定についての許容範囲を指定する制約のセットとを含み、出力は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を最小化する、レシピ設定の制約されたセットを含む。
【0060】
いくつかの実施形態では、プロセスに関連するデータは、所望の特性のセットを含み、出力は、レシピ設定のセットに鑑みた、1つまたは複数の欠陥タイプの各々についての推定された欠陥カウント、および/または、レシピ設定に鑑みた、1つまたは複数の欠陥タイプの各々が性能に影響を及ぼす確率を最小化しながら、所望の特性のセットを達成する、レシピ設定のセットを含む。たとえば、所望の特性のセットは、プロセスの性能から生じる性能目標(たとえば、ウエハプロセスから生じるオンウエハ性能目標)のセットを含むことができる。
【0061】
出力は、現在のレシピパラメータまたは入力に鑑みて、処理を実施するための欠陥を示す(たとえば、予測する)ために使用され得る。たとえば、指示は、望ましくない欠陥カウントを予想する確率に対応することができる。追加または代替として、出力は、欠陥の確率を低減するか、またはさもなければ、欠陥に関して、高いリスクのプロセスから低いリスクのプロセスにプロセスを移すために使用され得る、レシピ入力の潜在的組合せを示すことができる。たとえば、出力は、レシピにすでにリストされている1つまたは複数の入力を修正すること(たとえば、増加または減少させること)、レシピに1つまたは複数の新しい入力を追加することなどを提案することができる。
【0062】
ブロック360において、処理論理は、出力に鑑みて、欠陥影響を考慮する、プロセスを実施するためのプロセスレシピを生成する。プロセスレシピは、電子デバイスに関連する構成要素を処理するためのレシピ設定を含むことができる。たとえば、プロセスレシピは、ウエハを処理するために使用されるレシピであり得る。レシピ設定は、レシピパラメータのセットと、レシピステップのセットとを含むことができる。たとえば、レシピ設定は、目標のセットを達成するための1つまたは複数の関連のあるレシピパラメータを含むことができる。
【0063】
ブロック370において、処理論理は、プロセスツールに、プロセスレシピを使用してプロセスを実施させる。プロセスツールは、構成要素を処理するために使用される、任意のツール、チャンバなどであり得る。たとえば、プロセスツールは、ウエハを処理することができる。処理からのフィードバックが、レシピ(たとえば、レシピ設定)をさらに調節するために使用され得る。
【0064】
図4は、本開示の態様による、機械学習モデルのセットをトレーニングするために使用される欠陥モデルトレーニングデータを取得するための方法400のフローチャートである。方法400は、ハードウェア(回路、専用論理など)、(汎用コンピュータシステムまたは専用機械上で稼働されるものなどの)ソフトウェア、ファームウェア、またはそれらの何らかの組合せを含むことができる、処理論理によって実施される。一実装形態では、方法400は、
図1のコンピュータシステムアーキテクチャ100など、コンピュータシステムによって実施され得る。他のまたは同様の実装形態では、方法400の1つまたは複数の動作は、図に示されていない1つまたは複数の他の機械によって実施され得る。いくつかの態様では、方法400の1つまたは複数の動作は、サーバマシン170のトレーニングセットジェネレータ172によって実施され得る。
【0065】
ブロック410において、処理論理は、トレーニング入力データを受信する。トレーニング入力データは、
図2および
図3を参照しながら上記で説明されたトレーニング入力と同様であり得る。この例では、入力トレーニングデータは、機械学習モデルをトレーニングするための好適なフォーマットで受信されないと仮定される。
【0066】
これに対処するために、ブロック420において、処理論理は、トレーニング入力データを欠陥モデルトレーニングデータに変換する。欠陥モデルトレーニングデータは、機械学習モデルをトレーニングするために使用され得る好適な機械学習フォーマットを有する。たとえば、トレーニング入力データを欠陥モデルトレーニングデータに変換することは、トレーニング入力データを、機械学習パイプラインにおいて使用するための機械学習フォーマットに変える(たとえば、再コーディング)することを含むことができる。
【0067】
ブロック430において、処理論理は、機械学習モデルのセットをトレーニングするために欠陥モデルトレーニングデータを提供する。たとえば、欠陥モデルトレーニングデータは、ターゲット出力データとともに提供され得る。ブロック410~430に関するさらなる詳細は、
図2および
図3を参照しながら上記で説明された。
【0068】
図5は、本開示の態様による、少なくとも1つのトレーニングされた欠陥モデルを生成するために、少なくとも1つの初期のトレーニングされた欠陥モデルを調節するための方法500のフローチャートである。方法500は、ハードウェア(回路、専用論理など)、(汎用コンピュータシステムまたは専用機械上で稼働されるものなどの)ソフトウェア、ファームウェア、またはそれらの何らかの組合せを含むことができる、処理論理によって実施される。一実装形態では、方法500は、
図1のコンピュータシステムアーキテクチャ100など、コンピュータシステムによって実施され得る。他のまたは同様の実装形態では、方法500の1つまたは複数の動作は、図に示されていない1つまたは複数の他の機械によって実施され得る。いくつかの態様では、方法600の1つまたは複数の動作は、予測サーバ112によって実施され得る。
【0069】
ブロック510において、処理論理は、少なくとも1つの初期にトレーニングされた機械学習モデルを取得する。初期にトレーニングされた機械学習モデルは、欠陥タイプのセットのうちの少なくとも1つの欠陥タイプに関する欠陥影響を識別するためにトレーニングされ得る。たとえば、初期にトレーニングされた機械学習モデルは、回帰モデル、分類器モデルなどであり得る。したがって、初期にトレーニングされた機械学習モデルは、初期にトレーニングされた欠陥モデルと呼ばれることがある。たとえば、初期にトレーニングされた機械学習モデルは、
図2~
図4を参照しながら上記で説明されたように、トレーニング入力データとターゲット出力データとに基づいて生成され得る。
【0070】
ブロック520において、処理論理は、調節入力データを受信する。たとえば、調節入力データは、確認データを含むことができる。確認データは、初期にトレーニングされた機械学習モデルを取得するために実施されたトレーニング中に保留されていたデータを含む。
【0071】
ブロック530において、処理論理は、入力調節データに基づいて、調節された機械学習モデルを取得するために、初期にトレーニングされた欠陥モデルを調節する。たとえば、初期にトレーニングされた欠陥モデルを調節することは、より正確なモデル結果を達成するために、初期のトレーニングされた欠陥モデルの1つまたは複数のパラメータ(たとえば、ハイパーパラメータ)を修正することを含むことができる。
【0072】
いくつかの実施形態では、ブロック520において受信された調節入力データは、初期にトレーニングされた機械学習モデルを調節するための好適な機械学習フォーマットで提供されない。これに対処するために、初期にトレーニングされた機械学習モデルを調節することは、調節入力データを、初期にトレーニングされた欠陥モデルを調節するための機械学習フォーマットを有する欠陥モデル調節データに変換することを含むことができる。たとえば、調節入力データを欠陥モデル調節データに変換することは、調節入力データを、機械学習パイプラインにおいて使用するための機械学習フォーマットに変える(たとえば、再コーディング)することを含むことができる。いくつかの実施形態では、ブロック520において受信された調節入力データは、初期にトレーニングされた機械学習モデルを調節するための好適な機械学習フォーマットで提供される。
【0073】
図6は、本開示の1つまたは複数の態様に従って動作する例示的なコンピューティングデバイス600のブロック図を示す。代替実施形態では、機械は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネット中で他の機械に接続され(たとえば、ネットワーク化され)得る。機械は、クライアントサーバネットワーク環境内のサーバ機械またはクライアント機械の資格で動作するか、あるいはピアツーピア(または分散型)ネットワーク環境内のピア機械として動作することができる。機械は、パーソナルコンピュータ(PC)、タブレットコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチまたはブリッジ、あるいはその機械によってとられるべきアクションを指定する命令のセット(連続またはそれ以外)を実行することが可能な任意の機械であり得る。さらに、単一の機械のみが示されているが、「機械」という用語はまた、本明細書で説明される方法論のうちのいずれか1つまたは複数を実施するために命令のセット(または複数のセット)を個々にまたは一緒に実行する、機械(たとえば、コンピュータ)の任意の集合を含むと解釈されるものとする。実施形態では、コンピューティングデバイス600は、
図1の予測サーバ112またはシステム100の別の処理デバイスに対応することができる。
【0074】
例示的なコンピューティングデバイス600は、バス608を介して互いと通信する、処理デバイス602と、メインメモリ604(たとえば、読取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)と、スタティックメモリ606(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)と、2次メモリ(たとえば、データストレージデバイス628)とを含む。
【0075】
処理デバイス602は、マイクロプロセッサ、中央処理ユニットなど、1つまたは複数の汎用プロセッサを表すことができる。より詳細には、処理デバイス602は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサであり得る。処理デバイス602はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなど、1つまたは複数の専用処理デバイスであり得る。処理デバイス602はまた、システムオンチップ(SoC)、プラグラム可能な論理制御装置(PLC)、または他のタイプの処理デバイスであるか、あるいはそれを含むことができる。処理デバイス602は、本明細書で説明される動作およびステップを実施するための処理論理を実行するように構成される。
【0076】
コンピューティングデバイス600は、ネットワーク664と通信するためのネットワークインターフェースデバイス622をさらに含むことができる。コンピューティングデバイス600は、ビデオディスプレイユニット610(たとえば、液晶ディスプレイ(LCD)またはカソード線管(CRT))と、英数字入力デバイス612(たとえば、キーボード)と、カーソル制御デバイス614(たとえば、マウス)と、信号生成デバイス620(たとえば、スピーカー)とをも含むことができる。
【0077】
データストレージデバイス628は、本明細書で説明される方法論または機能のうちのいずれか1つまたは複数を具現する命令626の1つまたは複数のセットが記憶された機械可読ストレージ媒体(またはより詳細には、非一時的コンピュータ可読ストレージ媒体)624を含むことができる。ただし、非一時的ストレージ媒体は、キャリア波以外のストレージ媒体を指す。命令626はまた、コンピュータデバイス600による命令626の実行中に、メインメモリ604内におよび/または処理デバイス602内に完全にまたは少なくとも部分的に存在することができ、メインメモリ604および処理デバイス602は、コンピュータ可読ストレージ媒体をも構成する。
【0078】
コンピュータ可読ストレージ媒体624はまた、モデル190と、モデル190をトレーニングするために使用されるデータとを記憶するために使用され得る。コンピュータ可読ストレージ媒体624は、モデル190を呼び出すメソッドを含んでいるソフトウェアライブラリをも記憶することができる。コンピュータ可読ストレージ媒体624は、例示的な実施形態において単一の媒体であることが示されているが、「コンピュータ可読ストレージ媒体」という用語は、命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中型または分散型データベース、ならびに/または関連するキャッシュおよびサーバ)を含むと解釈されるものとする。「コンピュータ可読ストレージ媒体」という用語はまた、機械による実行のための命令のセットを記憶または符号化することが可能であり、機械に本開示の方法論のうちのいずれか1つまたは複数を実施させる、任意の媒体を含むと解釈されるものとする。「コンピュータ可読ストレージ媒体」という用語は、したがって、限定はしないが、固体メモリと、光および磁気媒体とを含むと解釈されるものとする。
【0079】
先行する説明は、本開示のいくつかの実施形態の良好な理解を提供するために、特定のシステム、構成要素、方法の例など、多数の具体的な詳細を記載する。しかしながら、これらの具体的な詳細なしに本開示の少なくともいくつかの実施形態が実践され得ることは、当業者には明らかであろう。他の事例では、よく知られている構成要素または方法は、本開示を不必要に不明瞭にすることを回避するために、詳細に説明されないか、または単純なブロック図フォーマットで提示される。したがって、記載される具体的な詳細は例にすぎない。特定の実装形態は、これらの例示的な詳細から変動し、依然として、本開示の範囲内に入ることが企図され得る。
【0080】
本明細書全体にわたる、「1つの実施形態(one embodiment)」または「1つの実施形態(an embodiment)」への言及は、その実施形態に関して説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたる様々な場所における、「1つの実施形態では(in one embodiment)」または「1つの実施形態では(in an embodiment)」という句の出現は、必ずしもすべて同じ実施形態に言及するものとは限らない。さらに、「または(or)」という用語は、排他的な「または」ではなく、包含的な「または」を意味するものとする。「約(about)」または「約(approximately)」という用語が本明細書で使用されるとき、これは、提示された公称値が±10%以内の精度であることを意味するものとする。
【0081】
本明細書の方法の動作は、特定の順序で示され、説明されるが、各方法の動作の順序は、いくつかの動作が、少なくとも部分的に、他の動作と同時に実施され得るように、いくつかの動作が逆順序で実施され得るように、変えられ得る。別の実施形態では、別個の動作の命令またはサブ動作は、断続的なおよび/または交互の様式におけるものであり得る。
【0082】
上記の説明は、例示的なものであり、限定的なものではないことを理解されたい。多くの他の実施形態は、上記の説明を読み、理解すると、当業者には明らかであろう。したがって、本開示の範囲は、添付の特許請求の範囲を参照しながら、そのような特許請求の範囲が権利を与えられる等価物の全範囲とともに、決定されるべきである。
【国際調査報告】