(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】半導体試料の検査に使用可能な訓練セットの生成
(51)【国際特許分類】
G06N 20/00 20190101AFI20221102BHJP
G06N 3/08 20060101ALI20221102BHJP
G01N 21/956 20060101ALI20221102BHJP
G06T 1/00 20060101ALI20221102BHJP
G06T 1/40 20060101ALI20221102BHJP
H01L 21/66 20060101ALI20221102BHJP
【FI】
G06N20/00
G06N3/08
G01N21/956 A
G06T1/00 305A
G06T1/40
H01L21/66 J
【外国語出願】
(21)【出願番号】P 2021054655
(22)【出願日】2021-03-29
【審査請求日】2022-01-04
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】504144253
【氏名又は名称】アプライド マテリアルズ イスラエル リミテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】エラド ベン バルーク
(72)【発明者】
【氏名】シャロム エルカヤム
(72)【発明者】
【氏名】シャウル コーエン
(72)【発明者】
【氏名】タル ベン-シュロモ
【審査官】石川 亮
(56)【参考文献】
【文献】米国特許出願公開第2017/0345140(US,A1)
【文献】米国特許出願公開第2020/0183035(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 1/00
G06T 1/40
G06T 7/00
H01L 21/00
H01L 21/66
G01N 21/956
(57)【特許請求の範囲】
【請求項1】
試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成するためのコンピュータ化された方法であって、
それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、
前記グループ内の所与の
訓練画像について、
i)訓練パッチの第1のバッチを生成するステップであり、
前記所与の訓練画像を、前記所与の訓練画像上の複数の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および
前記試料の物理的プロセスによって引き起こされる変動をシミュレートするために、前記第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの前記第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびに
ii)訓練パッチの第2のバッチを生成するステップであり、
前記複数の第1の位置を前記所与の訓練画像上の複数の第2の位置にシフトし、それによって、前記複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および、
前記第2の複数の元のパッチに対する前記拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、
前記所与の
訓練画像に対応する訓練パッチの少なくとも前記第1のバッチおよび前記第2のバッチを前記訓練セットに含めるステップと、
を含む、プロセッサおよびメモリ回路(PMC)によって実行される、コンピュータ化された方法。
【請求項2】
前記訓練セットが、ランタイム画像に基づく自動欠陥検出、自動欠陥レビュー、自動欠陥分類、自動セグメンテーション、および自動計測を含むグループから選択された少なくとも1つの検査プロセスに使用可能なDNNを訓練するために使用される、請求項1に記載のコンピュータ化された手法。
【請求項3】
完了基準が満たされるまで訓練パッチの第2のバッチの前記生成を1回または複数回繰り返すステップと、訓練パッチの1つまたは複数のバッチを発生させるステップと、前記1つまたは複数のバッチを前記訓練セットに含めるステップと、をさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項4】
前記第1の複数の元のパッチおよび/または前記第2の複数の元のパッチを前記訓練セットに含めるステップをさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項5】
前記第1の位置が、グリッドに従って予め決定されている、請求項1に記載のコンピュータ化された方法。
【請求項6】
前記第1の位置が、複数の所定の位置をランダムにシフトすることによって得られる、請求項1に記載のコンピュータ化された方法。
【請求項7】
前記シフトが、ランダムなオフセットでランダムな方向に従って実行される、請求項1に記載のコンピュータ化された方法。
【請求項8】
前記シミュレートされた変動が、プロセス変動およびグレーレベル変動を含むグループから選択される、請求項1に記載のコンピュータ化された方法。
【請求項9】
前記第1の複数の元のパッチの少なくとも一部を前記拡張するステップが、確率関数に従って、前記第1の複数の元のパッチ内の各元のパッチを拡張するか否を判定し、それによって、肯定的な判定を有する前記第1の複数の元のパッチの前記少なくとも一部を取得するステップをさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項10】
前記第1の複数の元のパッチの前記少なくとも一部が、確率関数に基づいて決定されたそれぞれの拡張強度で拡張される、請求項1に記載のコンピュータ化された方法。
【請求項11】
各訓練画像に対応する訓練パッチの前記第1のバッチを前記DNNの訓練のために第1のエポックに含めるステップと、各訓練画像に対応する訓練パッチの前記第2のバッチを前記DNNの訓練のために第2のエポックに含めるステップと、をさらに含む、請求項1に記載のコンピュータ化された方法。
【請求項12】
試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成するコンピュータ化されたシステムであって、
それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、
前記グループ内の所与の
訓練画像について、
i)訓練パッチの第1のバッチを生成するステップであり、
前記所与の訓練画像を、前記所与の訓練画像上の複数の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および
前記試料の物理的プロセスによって引き起こされる変動をシミュレートするために、前記第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの前記第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびに
ii)訓練パッチの第2のバッチを生成するステップであり、
前記複数の第1の位置を前記所与の訓練画像上の複数の第2の位置にシフトし、それによって、前記複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および、
前記第2の複数の元のパッチに対する前記拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、
前記所与の
訓練画像に対応する訓練パッチの少なくとも前記第1のバッチおよび前記第2のバッチを前記訓練セットに含めるステップと、
を行うように構成されたプロセッサおよびメモリ回路(PMC)を備える、コンピュータ化されたシステム。
【請求項13】
前記訓練セットが、ランタイム画像に基づく自動欠陥検出、自動欠陥レビュー、自動欠陥分類、自動セグメンテーション、および自動計測を含むグループから選択された少なくとも1つの検査プロセスに使用可能なDNNを訓練するために使用される、請求項12に記載のコンピュータ化されたシステム。
【請求項14】
前記PMCが、完了基準が満たされるまで訓練パッチの第2のバッチの前記生成を1回または複数回繰り返して、訓練パッチの1つまたは複数のバッチを発生させ、前記1つまたは複数のバッチを前記訓練セットに含めるようにさらに構成されている、請求項12に記載のコンピュータ化されたシステム。
【請求項15】
前記第1の位置が、複数の所定の位置をランダムにシフトすることによって得られる、請求項12に記載のコンピュータ化されたシステム。
【請求項16】
前記シフトが、ランダムなオフセットでランダムな方向に従って実行される、請求項12に記載のコンピュータ化されたシステム。
【請求項17】
前記シミュレートされた変動が、プロセス変動およびグレーレベル変動を含むグループから選択される、請求項12に記載のコンピュータ化されたシステム。
【請求項18】
前記PMCが、確率関数に従って、前記第1の複数の元のパッチ内の各元のパッチを拡張するか否かを判定し、それによって、肯定的な判定を有する前記第1の複数の元のパッチの前記少なくとも一部を取得することによって、前記第1の複数の元のパッチの少なくとも一部を拡張するようにさらに構成されている、請求項12に記載のコンピュータ化されたシステム。
【請求項19】
前記第1の複数の元のパッチの前記少なくとも一部が、確率関数に基づいて決定されたそれぞれの拡張強度で拡張される、請求項12に記載のコンピュータ化されたシステム。
【請求項20】
コンピュータによって実行されると、前記コンピュータに、試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成する方法を実行させる命令のプログラムを明白に具現化する非一時的なコンピュータ可読ストレージ媒体であって、前記方法が
それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、
前記グループ内の所与の
訓練画像について、
i)訓練パッチの第1のバッチを生成するステップであり、
前記所与の訓練画像を、前記所与の訓練画像上の複数
の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および
前記試料の物理的プロセスによって引き起こされる変動をシミュレートするために、前記第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの前記第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびに
ii)訓練パッチの第2のバッチを生成するステップであり、
前記複数の第1の位置を前記所与の訓練画像上の複数の第2の位置にシフトし、それによって、第2の複数の元のパッチを取得すること、および
前記第2の複数の元のパッチに対する前記拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、
前記所与の
訓練画像に対応する訓練パッチの少なくとも前記第1のバッチおよび前記第2のバッチを前記訓練セットに含めるステップと、
を含む、非一時的なコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の主題は、一般に、試料の検査の分野に関し、より詳細には、試料の検査を自動化することに関する。
【背景技術】
【0002】
製造されたデバイスの超大規模集積化に関連付けられた高密度および高性能に対する現在の要求は、サブミクロンの特徴、トランジスタ速度および回路速度の向上、ならびに信頼性の改善を必要としている。このような要求は、高精度かつ均一性を有するデバイス特徴の形成を必要としており、これには、デバイスがまだ半導体ウエハの形態である間にデバイスを自動検査することを含む製造プロセスの注意深いモニタリングが必要である。
【0003】
本明細書で使用される「試料」という用語は、半導体集積回路、磁気ヘッド、フラットパネルディスプレイ、および他の半導体製造物品の製造に使用される、あらゆる種類のウエハ、マスク、および他の構造体、それらの組合せならびに/または部分を包含するように広範に解釈されるべきである。
【0004】
本明細書で使用される「検査」という用語は、あらゆる種類の計測関連の動作、ならびに製造中の試料の欠陥の検出および/または分類に関連する動作を包含するように広範に解釈されるべきである。検査は、検査される試料の製造中または製造後に非破壊検査ツールを使用することによって行われる。非限定的な例として、検査プロセスは、同じまたは異なる検査ツールを使用して、試料もしくはその一部に関して行われる(単一もしくは複数スキャンの)ランタイムスキャン、サンプリング、レビュー、測定、分類、および/または他の動作を含むことができる。同様に、検査は、検査される試料の製造前に行うことができ、例えば、検査方策を生成することおよび/または他のセットアップ動作を含むことができる。特に明記しない限り、本明細書で使用される「検査」という用語またはその派生語は、検査領域の解像度またはサイズに関して限定されないことに留意されたい。様々な非破壊検査ツールには、非限定的な例として、走査型電子顕微鏡、原子間力顕微鏡、光学検査ツールなどが含まれる。
【0005】
非限定的な例として、ランタイム検査は、2段階手順、例えば、試料の検査とそれに続く潜在的な欠陥のサンプリングされた位置のレビューを用いることができる。第1段階中に、試料の表面が高速かつ比較的低解像度で検査される。第1段階では、欠陥の可能性が高い試料上の疑わしい位置を示すために。欠陥マップが作成される。第2段階中に、疑わしい位置の少なくとも一部が比較的高い解像度でより徹底的に解析される。両方の段階を同じ検査ツールで実施することができる場合もあれば、これらの2つの段階を異なる検査ツールで実施する場合もある。
【0006】
検査プロセスは、半導体製造中の様々なステップで使用され、試料上の欠陥を検出および分類するとともに計測関連の動作を実行する。検査の有効性は、例えば、自動欠陥分類(ADC)、自動欠陥レビュー(ADR)などのプロセスを自動化することによって高めることができる。
【発明の概要】
【0007】
本開示の主題の特定の態様によると、試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成する方法が提供され、本方法は、プロセッサおよびメモリ回路(PMC)によって実行され、本方法は、それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、グループ内の所与の各訓練画像について、i)訓練パッチの第1のバッチを生成するステップであって、所与の訓練画像を、所与の訓練画像上の複数の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および試料の物理的プロセスによって引き起こされる変動をシミュレートするために、第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびにii)訓練パッチの第2のバッチを生成するステップであり、複数の第1の位置を所与の訓練画像上の複数の第2の位置にシフトし、それによって、複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および第2の複数の元のパッチに対する拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、所与の各訓練画像に対応する訓練パッチの少なくとも第1のバッチおよび第2のバッチを訓練セットに含めるステップと、を含む。
【0008】
上記の特徴に加えて、本開示の主題のこの態様による方法は、技術的に可能な任意の所望の組合せまたは順列で、以下に列挙される特徴(i)~(viii)のうちの1つまたは複数を含むことができる。
(i)訓練セットは、ランタイム画像に基づく自動欠陥検出、自動欠陥レビュー、自動欠陥分類、自動セグメンテーション、および自動計測を含むグループから選択された少なくとも1つの検査プロセスに使用可能なDNNを訓練するために使用することができる。
(ii)本方法は、完了基準が満たされるまで訓練パッチの第2のバッチの生成を1回または複数回繰り返すステップと、訓練パッチの1つまたは複数のバッチを発生させるステップと、1つまたは複数のバッチを訓練セットに含めるステップと、をさらに含むことができる。
(iii)本方法は、第1の複数の元のパッチおよび/または第2の複数の元のパッチを訓練セットに含めるステップをさらに含むことができる。
(iv)所定の位置は、グリッドに従うことができる。
(v)シフトは、ランダムなオフセットでランダムな方向に従って実行することができる。
(vi)シミュレートされた変動は、プロセス変動および/またはグレーレベル変動を含むことができる。
(vii)本方法は、各訓練画像に対応する訓練パッチの第1のバッチをDNNの訓練のための第1のエポックに含めるステップと、各訓練画像に対応する訓練パッチの第2のバッチをDNNの訓練のための第2のエポックに含めるステップと、をさらに含むことができる。
(viii)訓練画像は、レビューツールから取得した高解像度画像とすることができる。
【0009】
本開示の主題の他の態様によると、試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成するシステムが提供され、本システムは、それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、グループ内の所与の各訓練画像について、i)訓練パッチの第1のバッチを生成するステップであって、所与の訓練画像を、所与の訓練画像上の複数の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および試料の物理的プロセスによって引き起こされる変動をシミュレートするために、第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびにii)訓練パッチの第2のバッチを生成するステップであって、複数の第1の位置を所与の訓練画像上の複数の第2の位置にランダムにシフトし、それによって、複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および第2の複数の元のパッチに対する拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、所与の各訓練画像に対応する訓練パッチの少なくとも第1のバッチおよび第2のバッチを訓練セットに含めるステップと、を行うように構成されたプロセッサおよびメモリ回路(PMC)を備える。
【0010】
開示された主題のこの態様は、技術的に可能な任意の所望の組合せまたは順列において、必要な変更を加えて、本方法に関して上で列挙された特徴(i)~(viii)のうちの1つまたは複数を含むことができる。
【0011】
本開示の主題の他の態様によると、コンピュータによって実行されると、コンピュータに、試料の検査に使用可能なディープニューラルネットワーク(DNN)を訓練するための訓練セットを生成する方法を実行させる命令を含む非一時的なコンピュータ可読媒体が提供され、本方法は、それぞれが試料の少なくとも一部を表す訓練画像のグループを取得するステップと、グループ内の所与の各訓練画像について、i)訓練パッチの第1のバッチを生成するステップであって、所与の訓練画像を、所与の訓練画像上の複数の第1の位置に従って、第1の複数の元のパッチにトリミングすること、および試料の物理的プロセスによって引き起こされる変動をシミュレートするために、第1の複数の元のパッチの少なくとも一部を拡張し、訓練パッチの第1のバッチを構成する第1の複数の拡張パッチを発生させること、を含むステップ、ならびに、ii)訓練パッチの第2のバッチを生成するステップであって、複数の第1の位置を所与の訓練画像上の複数の第2の位置にシフトし、それによって、複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および第2の複数の元のパッチに対する拡張を繰り返して、第2の複数の拡張パッチを生成し、それによって、訓練パッチの第2のバッチを発生させること、を含むステップと、所与の各訓練画像に対応する訓練パッチの少なくとも第1のバッチおよび第2のバッチを訓練セットに含めるステップと、を含む。
【0012】
開示された主題のこの態様は、技術的に可能な任意の所望の組合せまたは順列において、必要な変更を加えて、本方法に関して上で列挙された特徴(i)~(viii)のうちの1つまたは複数を含むことができる。
【0013】
本開示を理解し、本開示が実際にどのように実行され得るかを理解するために、ここで添付の図面を参照して、非限定的な例としてのみ実施形態を説明する。
【図面の簡単な説明】
【0014】
【
図1】本開示の主題の特定の実施形態による検査システムの一般化されたブロック図である。
【
図2】本開示の主題の特定の実施形態による、半導体試料の検査に使用可能なDNNを訓練するための訓練セットを生成するための一般化された流れ図である。
【
図3】本開示の主題の特定の実施形態による、DNNを訓練するための、生成された訓練セットを使用する一般化された流れ図である。
【
図4】本開示の主題の特定の実施形態による、FP画像のセグメンテーションのための、
図3を参照して上で詳述された技法を実施する例を示す図である。
【
図5】本開示の主題の特定の実施形態による、初期位置のシフト後に得られた第2の複数の元のパッチの例を示す図である。
【
図6】本開示の主題の特定の実施形態による、元のパッチと拡張されたパッチのペアの例を示す図である。
【
図7】本開示の主題の特定の実施形態に従って生成されたFP画像および対応するセグメンテーションマップの例を示す図である。
【発明を実施するための形態】
【0015】
以下の詳細な説明では、本開示の完全な理解を提供するために数多くの具体的な詳細が記載される。しかしながら、本開示の主題がこれらの具体的な詳細なしに実行され得ることを当業者は理解されるであろう。他の事例では、本開示の主題を不明瞭にしないように、よく知られている方法、手順、構成要素、および回路は、詳細に説明されていない。
【0016】
特に明記しない限り、以下の議論から明らかなように、本明細書全体を通して、「生成する」、「訓練する」、「取得する」、「トリミングする」、「拡張する」、「シフトする」、「繰り返す」、「含む」などの用語を利用する議論は、データを操作および/または他のデータに変換するコンピュータの動作ならびに/あるいはプロセスを指し、前記データは、電子量などの物理量として表され、および/または、前記データは、物理的対象を表すことが理解される。「コンピュータ」という用語は、非限定的な例として、本出願で開示されるFPEI(製造プロセス検査情報)システムおよびそのそれぞれの部分を含む、データ処理能力を有するあらゆる種類のハードウェアベースの電子デバイスを包含するように広範に解釈されるべきである。
【0017】
本明細書で使用される「非一時的メモリ」および「非一時的ストレージ媒体」という用語は、本開示の主題に適したあらゆる揮発性または不揮発性コンピュータメモリを包含するように広範に解釈されるべきである。
【0018】
本明細書で使用される「欠陥」という用語は、試料上または試料内に形成されたあらゆる種類の異常または望ましくない特徴を包含するように広範に解釈されるべきである。
【0019】
本明細書で使用される「設計データ」という用語は、試料の階層的な物理設計(レイアウト)を示すあらゆるデータを包含するように広範に解釈されるべきである。設計データは、それぞれの設計者が提供することができ、および/または物理設計から(例えば、複雑なシミュレーション、単純な幾何学的演算、およびブール演算などを介して)導出することができる。設計データは、非限定的な例として、GDSIIフォーマット、OASISフォーマットなどの異なるフォーマットで提供することができる。設計データは、ベクトルフォーマット、グレースケール強度画像フォーマットなどで表示することができる。
【0020】
特に明記しない限り、別個の実施形態の文脈で説明される本開示の主題の特定の特徴は、単一の実施形態において組み合わせて提供することもできることが理解される。逆に、単一の実施形態の文脈で説明される本開示の主題の様々な特徴は、別個に、または任意の適切なサブコンビネーションで提供することもできる。以下の詳細な説明では、方法および装置の完全な理解を提供するために、数多くの具体的な詳細が記載される。
【0021】
これを念頭に置いて、本開示の主題の特定の実施形態による検査システムの機能ブロック図を示す
図1に注目する。
【0022】
図1に示す検査システム100は、試料製造プロセスの一部として、半導体試料(例えば、ウエハおよび/またはその一部)の検査に使用することができる。図示する検査システム100は、試料製造中に得られた画像(以下、製造プロセス(FP)画像と呼ぶ)を使用して、計測関連および/または欠陥関連情報を自動的に決定することができるコンピュータベースのシステム101を備える。システム101は、以下、FPEI(製造プロセス検査情報)システムと呼ばれる。本開示の主題の特定の実施形態によると、FPEIシステム101は、
図3を参照して以下でさらに詳細に説明するように、試料の少なくとも一部を表す画像のセグメンテーションを実行するように構成することができる。システム101は、1つまたは複数の検査ツール120に動作可能に接続することができる。検査ツールは、FP画像をキャプチャするように、および/またはキャプチャされたFP画像をレビューするように、および/またはキャプチャされた画像に関連する測定を可能にするかもしくは提供するように構成されている。FPEIシステムは、設計データサーバ110およびストレージユニット122にさらに動作可能に接続することができる。
【0023】
例えば、FP画像は、製造プロセス中にキャプチャされた試料(例えば、ウエハまたはその一部)の画像、様々な前処理段階によって得られたキャプチャされた画像の派生物(例えば、SEMまたは光学検査システムによってキャプチャされたウエハもしくはフォトマスクの一部の画像、ADCによって分類される欠陥を大まかに中心とするSEM画像、欠陥がADRによって位置特定されるより大きな領域のSEM画像、同じマスク位置に対応する異なる検査モダリティの登録画像、セグメント化された画像、高さマップ画像など)、およびコンピュータによって生成された設計データベースの画像から選択することができる。
【0024】
本明細書で使用される「検査ツール」という用語は、非限定的な例として、試料もしくはその一部に関して提供される撮像、スキャン(単一または複数のスキャン)、サンプリング、レビュー、測定、分類、および/または他のプロセスを含む、検査関連プロセスで使用することができるあらゆるツールを包含するように広範に解釈されるべきである。1つまたは複数の検査ツール120は、1つもしくは複数の検査ツールおよび/または1つもしくは複数のレビューツールを含むことができる。場合によっては、検査ツール120のうちの少なくとも1つは、試料(例えば、ウエハ全体、ダイ全体、またはその一部)をスキャンして、潜在的な欠陥を検出するための検査画像を(典型的には、比較的高速および/または低解像度で)キャプチャするように構成された検査ツールとすることができる。場合によっては、検査ツール120のうちの少なくとも1つは、潜在的な欠陥が本当に欠陥であるかどうかを確認するために、検査ツールによって検出された欠陥のうちの少なくとも一部のレビュー画像をキャプチャするように構成されたレビューツールとすることができる。このようなレビューツールは、通常、ダイの断片を一度に1つずつ(典型的には、比較的低速および/または高解像度で)検査するように構成されている。検査ツールおよびレビューツールは、同じ場所または異なる場所に配置された異なるツール、あるいは2つの異なるモードで動作する単一のツールとすることができる。場合によっては、少なくとも1つの検査ツールが計測能力を有することができる。
【0025】
本開示の範囲を何ら限定することなく、検査ツール120は、光学撮像機、電子ビーム検査機などの様々なタイプの検査機として実装することができることにも留意されたい。場合によっては、同じ検査ツールが低解像度の画像データおよび高解像度の画像データを提供することができる。
【0026】
FPEIシステム101は、ハードウェアベースのI/Oインターフェース126に動作可能に接続されたプロセッサおよびメモリ回路(PMC)102を含む。PMC102は、
図2を参照してさらに詳述されるように、FPEIシステムを動作させるために必要なすべての処理を提供するように構成されており、プロセッサ(別個に図示せず)およびメモリ(別個に図示せず)を備える。PMC102のプロセッサは、PMCに含まれる非一時的なコンピュータ可読メモリに実装されたコンピュータ可読命令に従って、いくつかの機能モジュールを実行するように構成することができる。このような機能モジュールは、以下、PMCに含まれるものとして言及される。PMC102に含まれる機能モジュールは、訓練セット生成器104を含む。
【0027】
特定の実施形態によると、訓練セット生成器104は、それぞれが試料の少なくとも一部を表す訓練画像のグループを取得し、グループ内の所与の各訓練画像について、訓練パッチの第1のバッチおよび訓練パッチの第2のバッチを生成し、所与の各訓練画像に対応する訓練パッチの少なくとも第1のバッチおよび第2のバッチを訓練セットに含めるように構成することができる。第1のバッチは、所与の訓練画像を、所与の訓練画像上の複数の第1の位置に従って第1の複数の元のパッチにトリミングし、試料の物理的プロセスによって引き起こされる変動をシミュレートするために、第1の複数の元のパッチの少なくともいくつか/一部を拡張し、訓練パッチの第1のバッチを構成する第1の複数の拡張パッチを発生させることによって生成され得る。第2のバッチは、所与の訓練画像上で複数の第1の位置を複数の第2の位置にシフトし、それによって複数の第2の位置に対応する第2の複数の元のパッチを取得し、第2の複数の元のパッチに対する拡張を繰り返して第2の複数の拡張パッチを生成し、それによって訓練パッチの第2のバッチを発生させることによって生成され得る。生成プロセスの詳細は、
図2を参照して以下に説明する。
【0028】
特定の実施形態では、機能モジュールは、ディープニューラルネットワーク(DNN)106をさらに備えることができる。DNN106は、製造(FP)入力データに基づいてアプリケーション関連データを出力するためのディープニューラルネットワークを使用してデータ処理を可能にするように構成することができる。任意で、PMC102は、入力データをDNNに転送する前に前処理を提供するように構成されたプレDNNモジュール(別個に図示せず)、および/またはDNNによって生成された後処理データを提供するように構成されたポストDNNモジュール(別個に図示せず)をさらに備えることができる。FPEIシステム101、PMC102、およびそれらの内部の機能モジュールの動作は、
図2を参照してさらに詳述される。
【0029】
DNN106は、それぞれのDNNアーキテクチャに従って編成された層を含む教師ありまたは教師なしDNNモデルを備えることができる。非限定的な例として、DNNの層は、畳み込みニューラルネットワーク(CNN)アーキテクチャ、リカレントニューラルネットワークアーキテクチャ、リカーシブニューラルネットワークアーキテクチャ、敵対的生成ネットワーク(GAN)アーキテクチャなどに従って編成することができる。任意で、層の少なくとも一部を複数のDNNサブネットワークに編成することができる。DNNの各層は、当技術分野では、典型的には、次元、ニューロン、またはノードと呼ばれる複数の基本的な計算要素(CE)を含むことができる。
【0030】
一般に、所与の層の計算要素は、先行層および/または後続層のCEと接続することができる。先行層のCEと後続層のCEとの間の各接続は、重み付け値に関連付けられている。所与のCEは、それぞれの接続を介して先行層のCEから入力を受信することができ、所与の各接続は、所与の接続の入力に適用することができる重み付け値に関連付けられている。重み付け値は、接続の相対的な強度、したがって、所与のCEの出力に対するそれぞれの入力の相対的な影響を決定することができる。所与のCEは、活性化値(例えば、入力の加重和)を計算し、計算された活性化に活性化関数を適用することによって出力をさらに導出するように構成することができる。活性化関数は、例えば、恒等関数、決定論的関数(例えば、線形、シグモイド、しきい値など)、確率関数、または他の適切な関数とすることができる。所与のCEからの出力は、それぞれの接続を介して後続層のCEに伝達することができる。同様に、上記したように、CEの出力における各接続は、後続層のCEの入力として受信される前に、CEの出力に適用することができる重み付け値に関連付けることができる。重み付け値に加えて、接続およびCEに関連付けられたしきい値(制限機能を含む)が存在することができる。
【0031】
ディープニューラルネットワークの重み付けおよび/またはしきい値は、訓練前に最初に選択することができ、訓練中にさらに反復的に調整または修正され、訓練されたDNNにおいて最適な重み付けおよび/またはしきい値のセットを達成することができる。各反復の後、DNNモジュールによって生成された実際の出力と、それぞれの訓練データセットに関連付けられた目標出力との差を決定することができる。この差は、誤差値と呼ばれることがある。訓練は、誤差値を示す損失/コスト関数が所定の値未満である場合、または反復間の性能の限定的な変化が達成された場合に、完了したと判断することができる。任意で、DNN全体を訓練する前に、DNNサブネットワークの少なくとも一部(存在する場合は)を個別に訓練することができる。
【0032】
ディープニューラルネットワークの重み/しきい値を調整するために使用されるDNN入力データのセットは、以下、訓練セットと呼ばれる。
【0033】
本開示の主題の教示は、DNN106の特定のアーキテクチャによって拘束されないことに留意されたい。
【0034】
DNN106の代わりにまたはそれに加えて、PMC102は、例えば、セグメンテーションモジュール、および/または欠陥検出モジュール、および/または自動欠陥レビューモジュール(ADR)、および/または自動欠陥分類モジュール(ADC)、および/または計測関連モジュール、および/または半導体試料の検査に使用可能な他の検査モジュールなどの、1つまたは複数の検査モジュールを備えることができる。任意で、1つまたは複数の検査モジュールは、DNN106を備えることができる。任意で、DNN106は、検査モジュール間で共有することができ、あるいは代替として1つまたは複数の検査モジュールのそれぞれは、それ自体のDNN106を備えることができる。
【0035】
特定の実施形態によると、システム101は、ストレージユニット122を備えることができる。ストレージユニット122は、システム101を動作させるのに必要な任意のデータ、例えば、システム101の入力および出力に関連するデータ、ならびにシステム101によって生成された中間処理結果を記憶するように構成することができる。例として、ストレージユニット122は、検査ツール120によって生成された画像および/またはその派生物を記憶するように構成することができる。したがって、1つまたは複数の画像は、ストレージユニット122から取り出され、さらなる処理のためにPMC102に提供され得る。
【0036】
一部の実施形態では、システム101は、システム101に関連するユーザ指定の入力を可能にするように構成されたコンピュータベースのグラフィカルユーザインターフェース(GUI)124を任意で備えることができる。例えば、ユーザは、試料の画像データを含む、試料の視覚的表現を(例えば、GUI124の一部を形成するディスプレイによって)提示され得る。ユーザは、GUIを介して、特定の動作パラメータを定義するオプションが提供され得る。ユーザは、GUI上で動作結果を見ることもできる。
【0037】
図2を参照してさらに詳述するように、システム101は、I/Oインターフェース126を介してFP入力データを受信するように構成されている。FP入力データは、検査ツール120によって生成されたデータ(および/またはその派生物および/またはそれに関連付けられたメタデータ)ならびに/あるいは1つまたは複数のデータ保管場所に記憶されたデータを含むことができる。FP入力データは、画像データ(例えば、キャプチャされた画像、キャプチャされた画像から派生した画像、シミュレートされた画像、合成画像など)および関連付けられた数値データ(例えば、メタデータ、手作りの属性など)を含むことができることに留意されたい。画像データは、試料の関心対象の層および/または1つもしくは複数の他の層に関連するデータを含むことができることにさらに留意されたい。本開示の一部の実施形態では、訓練目的のために、FP入力データは、DNNを訓練するために使用可能な訓練セットを準備する目的のための訓練画像のグループを含むことができる。画像データは、それに関連付けられたメタデータ(例えば、ピクセルサイズ、欠陥タイプのテキスト記述、画像キャプチャプロセスのパラメータなど)と一緒に受信および処理され得ることに留意されたい。
【0038】
FPEIシステムは、受信したFP入力データの少なくとも一部を処理し、I/Oインターフェース126を介して、結果(またはその一部)をストレージユニット122、および/または検査ツール120、および/またはGUI124(結果をレンダリングするための)、および/または外部システム(例えば、FABの歩留まり管理システム(YMS))に送信するようにさらに構成されている。
【0039】
当業者は、本開示の主題の教示が
図1に示されているシステムによって拘束されず、等価なおよび/または修正された機能性を別のやり方で統合もしくは分割することができ、ソフトウェアと、ファームウェアおよび/またはハードウェアとの任意の適切な組合せで実装することができることを容易に理解するであろう。
【0040】
図1に示す検査システムは、分散コンピューティング環境で実施することができ、その場合、
図1に示す前述の機能モジュールをいくつかのローカルおよび/またはリモート装置に分散させることができ、通信ネットワークを介してリンクさせることができることに留意されたい。別の実施形態では、検査ツール120、ストレージユニット122、および/またはGUI124のうちの少なくとも一部は、検査システム100の外部にあり、I/Oインターフェース126を介してシステム101とデータ通信して動作することができることにさらに留意されたい。システム101は、検査ツールと連携して使用されるスタンドアロンコンピュータとして実装することができる。代替として、システム101のそれぞれの機能は、少なくとも部分的に、1つまたは複数の検査ツール120と統合され、それによって、検査関連プロセスにおける検査ツール120の機能性を容易にし、強化することができる。
【0041】
例示のみを目的として、以下の説明は、半導体試料の検査に使用可能なDNNを訓練するための訓練セットを生成するために提供される。当業者は、本開示の主題の教示が、例えば、サポートベクタマシン(SVM)などの様々なタイプの機械学習モデル、および例えば、セグメンテーション、欠陥検出、ADR、ADC、自動ナビゲーションモジュール、自動セグメンテーションモジュール、計測関連モジュールなどの様々な検査に適用可能であることを容易に理解するであろう。
【0042】
図2を参照すると、本開示の主題の特定の実施形態による、半導体試料の検査に使用可能なDNNを訓練するための訓練セットを生成する一般化された流れ図が示されている。
【0043】
それぞれが試料の少なくとも一部を表す訓練画像のグループが取得され得る(210)(例えば、I/Oインターフェース126を介して訓練セット生成器104によって)。
【0044】
アプリケーションに応じて、訓練画像は、試料の製造プロセスにおいて取得された試料の「実世界」の画像とすることができる。非限定的な例として、画像は、1つまたは複数の低解像度の検査機(例えば、光学検査システム、低解像度のSEMなど)を使用して試料を検査することによって取得することができる。代替的または追加的に、画像は、高解像度の機械を使用して試料を検査することによって取得することができる(例えば、レビューのために選択された潜在的な欠陥位置のサブセットは、走査型電子顕微鏡(SEM)または原子間力顕微鏡(AFM)などによってレビューすることができる)。
【0045】
一部の実施形態では、訓練画像に関連付けられたグラウンドトゥルースデータも取得することができる。例として、グラウンドトゥルースデータは、例えば、欠陥サイズ、配向、背景セグメントなどのアプリケーション固有の情報を示す画像および/またはラベルを含むことができる。グラウンドトゥルースデータは、合成によって生成されたもの(例えば、CADベースの画像)、実際に生成されたもの(例えば、キャプチャされた画像)、機械学習アノテーションによって生成されたもの(特徴抽出および解析に基づくラベル)、人間のアノテーションによって生成されたもの、または上記の組合せなどであってもよい。一実施形態では、本開示の主題に従って生成された訓練セットは、FP画像のセグメンテーションに使用可能なDNNを訓練するために使用することができ、FP画像に関連付けられたグラウンドトゥルースデータは、訓練画像上のセグメントを示すラベルである。例えば、セグメントは、FP画像に提示される構造要素を表すことができる。
【0046】
ディープニューラルネットワークを訓練するためには、DNNを十分に訓練するために、大規模な訓練データベースが一般に必要であることが認識されている。しかし、半導体試料の検査に使用可能なDNNを訓練する場合、利用可能な訓練画像が非常に限られており、取得が困難な場合があるため、十分な訓練データを得ることは、既知の課題である。特に、教師あり学習では、必要に応じて十分な量の完全にアノテートされた画像データを取得することは、非常に困難である。したがって、本開示の主題の特定の実施形態によると、限られた量の画像データに基づいて訓練セットを生成する方法が提案される。
【0047】
具体的には、グループ内の所与の各訓練画像について、画像パッチの複数のバッチを生成することができる。例として、訓練パッチの第1のバッチを(例えば、訓練セット生成器104によって)生成することができ(220)、これには、所与の訓練画像を、訓練画像上の複数の第1の位置に従って第1の複数の元のパッチにトリミングすること(222)、および試料の物理的プロセスによって引き起こされる1つまたは複数の変動をシミュレートするために、第1の複数の元のパッチを拡張し(224)、第1の複数の拡張されたパッチを発生させることが含まれる。第1の複数の拡張パッチは、訓練パッチの第1のバッチを構成する。特定の実施形態によると、物理的プロセスは、試料の製造プロセスおよび/または検査プロセスを指すことができる。
【0048】
一部の実施形態では、訓練パッチの第1のバッチを生成するために、複数の第1の位置は、グリッドに従って定義された複数の所定の位置とすることができ、所与の訓練画像を、所定の第1の位置に従って第1の複数の元のパッチにトリミングすることができる。例として、グリッド内のアンカーポイント(例えば、グリッド内の交点)は、所定の第1の位置として機能することができ、パッチは、所定のサイズ/寸法およびステップサイズ(すなわち、隣接するパッチ間のオーバーラップ量)で、これらのアンカーポイントを中心として生成することができる。例えば、訓練画像は、1000×1000ピクセルの寸法であってもよく、訓練パッチは、100×100、150×150、または200×200ピクセルなどのサイズでトリミングすることができ、ステップサイズは、隣接するパッチ間のハーフパッチオーバラップである。
【0049】
一部の実施形態では、複数の第1の位置は、アンカーポイントの位置などの複数の所定の位置をシフトすることによって得ることができる。例として、シフトは、確率関数に従って、各所定の位置についてランダムに実行することができる。例えば、グリッド内の第1のアンカーポイントについては、確率関数に従って、第1のアンカーポイントを(例えば、ランダムなオフセットでランダムな方向に)シフトするように決定することができるのに対して、第2のアンカーポイントについては、確率関数に従って、第2のアンカーポイントを全くシフトしないように決定することができる。シフトされると決定されたアンカーポイントは、グリッド内の交点の周りでランダムにシフトすることができ(例えば、各アンカーポイントは、ランダムなオフセットでランダムな方向にシフトする)、シフトした位置は、画像パッチをトリミングするための第1の位置として使用される。別の例として、シフトは、各所定の位置をシフトする方法を定義する所定のリストに従って実行することができる。パッチの位置をシフトすることによって、生成されたパッチのカバレッジの多様性を高めることができる。本明細書で使用される確率関数という用語は、事象の異なる可能性のある結果の発生確率を与える確率分布関数を指すことができる。例として、確率関数は、均一な確率分布関数とすることができる。
【0050】
次いで、元のパッチは、試料の物理的プロセスによって引き起こされる可能性のある変動をシミュレートする目的で拡張することができる。これは、訓練画像の量が限られており、したがって、訓練中に製造プロセスおよび/または検査プロセスの一般的な物理現象のすべてに遭遇することができるわけではないためである。パッチに対して拡張を実行し、拡張されたパッチを訓練セットに含めることによって、訓練セットの多様性を大幅に高めることができ、これらの変動に対する訓練のロバスト性を高めることができる。
【0051】
一般的に言えば、画像の拡張は、ノイズの追加、ぼかし、幾何学的変換(回転、伸張、異なる角度のシミュレーション、トリミング、倍率変更など)、トーンマッピング、画像の1つまたは複数のピクセルのベクトル情報の変更(例えば、取得の視点もしくはチャネルの追加および/または変更など)などの様々な画像処理技術によって提供することができる。
【0052】
一部の実施形態では、拡張技法は、アプリケーションに依存しないやり方で訓練画像に適用することができる。例として、セグメンテーション関連アプリケーション、および/または欠陥検出関連アプリケーション、および/または分類関連アプリケーションについては、シミュレートされた変動は、グレーレベル変動および/またはプロセス変動(PV)などを含むことができ、このような変動の影響をシミュレートするために、以下の拡張プロセスのうちの1つまたは複数を適用することができる。
【0053】
特定の実施形態によると、グレーレベルの変動は、試料の検査プロセスの物理的影響によって引き起こされることがある。例として、異なる検査ツールによって撮られた画像のグレーレベルは、同じ解像度で同じウエハの同じ場所でキャプチャされた場合であっても、要因によって異なることがある。これは、例えば、検査ツール/検出器などの異なる物理的構成および較正によって引き起こされることがある。さらに、ウエハの様々な場所から撮られた画像のグレーレベルも変化することがある。したがって、FP画像をキャプチャするツール以外のツールによってキャプチャされた画像に基づいて、および/またはウエハの様々な場所でキャプチャされた画像に基づいてDNNを訓練することは、DNNの一般化能力を低下させる可能性がある。
【0054】
したがって、このような影響をシミュレートするために、画像パッチのグレーレベル強度を調整することができる。例として、各画像パッチについて、画像パッチのピクセル値ヒストグラムを生成することができ、グレーレベルバイアス数をバイアス範囲内でランダムに選択して、ヒストグラムに適用することができる。例えば、バイアス範囲は、画像内のピクセル値範囲(またはその一部)の所定のパーセンテージとして決定することができ、各画像パッチに適用されるバイアス数の選択は、範囲内の一様分布に従うことができる。このような拡張された画像を含む訓練セットは、ツール変動に対するロバスト性を高めることができ、複数のツールから訓練データを収集する必要性を減らすことができる。
【0055】
別の例として、画像パッチのグレーレベル強度は、画像パッチのコントラストを変更することによって調整することもできる。例えば、より良好なコントラストを得るために、画像パッチのピクセル値ヒストグラムを引き延ばすことができる。
【0056】
さらなる実施形態によると、グレーレベル変動は、色変動(CV)を含むことができる。色変動は、(例えば、層の厚さの変動に起因して)単一の画像内で、または欠陥と参照画像との間で起きる可能性がある。CVは、異なるツール較正から生じる可能性があり、画像内のGLの局所的な変化によって特徴付けられ得る。このような影響に対処するために、元の画像パッチは、異なる所望のレベルの追加された変動を有するように、拡張することができる。したがって、そのような拡張された画像を含む訓練セットは、FP画像の色変動に対するロバスト性を高めることができる。
【0057】
特定の実施形態によると、プロセス変動(PV)の影響によって引き起こされることがあるパターン変動は、異なる画像に現れることがある。プロセス変動は、試料の製造プロセスの変更によって引き起こされる変動を指すことができる。例として、製造プロセスは、異なる検査画像間で特定の構造/パターンのわずかなずれ/倍率変更/歪みを引き起こすことがあり、これが結果として、画像のパターン変動となる。別の例として、製造プロセスは、試料の厚さの変動を引き起こすことがあり、この変動は、反射率に影響を及ぼし、したがって、ひいては結果として得られる検査画像のグレーレベルに影響を及ぼす。例えば、ダイ間の材料の厚さの変動は、2つのダイ間で異なる反射率をもたらすことがあり、これにより、2つのダイの画像の背景グレーレベル値が異なることになる。
【0058】
そのような影響に対処するために、場合によっては、例えば、倍率変更、反転などの拡張技法を、パターン変動を調整するために画像パッチまたはその少なくとも一部に適用することができる。
【0059】
場合によっては、物理的プロセスの他の可能性のある影響としては、ノイズ(例えば、各グレーレベル強度は、異なるスケールのノイズ強度を含む)、集束誤差(例えば、一部のパターンは、他のパターンよりも集束誤差に敏感である)、帯電効果(これにより、FP画像と参照画像との間に人為的な差異が生じることがあり、検査プロセスに実質的に影響を及ぼす可能性がある)、四重検出器の較正(これは、最適でない可能性があり、結果として、異なる視点内で重複した画像をもたらす可能性がある)などを挙げることができるが、これらに限定されない。
【0060】
ここで
図6に目を向けると、本開示の主題の特定の実施形態による、元のパッチと拡張されたパッチのペアの例が示されている。図示するように、元のパッチ602は、例えば、PV、グレーレベル変動、および/またはCVなどによって引き起こされる変動に対処するために上述したような拡張プロセスのうちの1つまたは複数を経て、対応する拡張パッチ604が生成されている。例として、本実施例における拡張パッチ604は、PV、倍率変更、およびグレーレベル変動によって引き起こされる影響をシミュレートするために合成された。例えば、拡張パッチ604におけるポリゴンの輪郭、ポリゴンのサイズ、および全体的なグレーレベル強度が、元のパッチ602と比較して調整されたことが分かる。
【0061】
本開示の主題の特定の実施形態によると、第1の複数の元のパッチの少なくともいくつか/一部を拡張することができる。例として、第1の複数の元のパッチの各元のパッチについて、例えば確率関数に従って、元のパッチを拡張するか否かをランダムに判定することができる。したがって、確率関数を使用することによって、パッチの少なくとも一部が拡張されるように決定される。第1の複数の元のパッチの少なくとも一部の各画像パッチについて、対応する画像拡張技法を使用することによって、上述した干渉する変動/影響のうちの1つまたは複数をシミュレートすることができる。場合によっては、第1の複数の元のパッチの少なくとも一部は、確率関数に従って決定されたそれぞれの拡張強度で拡張される。別の例として、各パッチを拡張するか否かの判定、および/または適用する特定の拡張技法、および/または適用する特定の拡張強度は、それぞれの所定のリストに従って判定することができる。例えば、所定の判定リストは、どの元のパッチを拡張するかを含むことができ、拡張リストは、どの拡張技法および/または特定の強度を各パッチに適用するかを含むことができる。
【0062】
拡張プロセスの特定の実施形態(上述したものを含む)の利点の中には、訓練されたDNNに対する干渉効果の影響を低減すること、したがって、例えば、セグメンテーション、ADC、ADR、マッチング、計測、および他の検査タスクなどの異なるアプリケーションのために訓練されたDNNを実装することのロバスト性および有効性を改善することがある。
【0063】
前述したように、拡張技法は、アプリケーションに依存しないやり方で訓練画像に適用することができる。例として、欠陥検出関連のアプリケーションについては、例えば、ノイズの追加、ぼかし、トーンマッピング、合成欠陥の注入、欠陥トーンの修正などの拡張技法を、上述した技法の代わりに、またはそれに加えて適用することができる。分類関連のアプリケーションについては、例えば、幾何学的変換、トーンマッピング、合成欠陥の注入、欠陥トーンの修正などの拡張技法を、上述した技法の代わりに、またはそれに加えて適用することができる。
【0064】
代替的または追加的に、画像は、合成データ(例えば、欠陥関連データ、シミュレートされたコネクタまたは他のオブジェクト、他の画像からの注入など)を使用して拡張することができる。非限定的な例として、既知の欠陥タイプの利用可能な画像(および/またはパラメータ)を使用して、画像に新しい欠陥を移植すること、画像内の既存の欠陥の欠陥度合(defectiveness)を増幅すること、画像から欠陥を除去すること、画像の欠陥を偽装する(検出を困難にする)ことなどができる。
【0065】
さらに代替的または追加的に、画像は、セグメンテーション、欠陥輪郭抽出、および/または高さマップ計算を使用して拡張することができ、ならびに/あるいは対応するCADベースの画像と一緒に処理することによって取得することができる。
【0066】
ブロック220を参照して上述したように、訓練パッチの第1のバッチが生成された後、グループ内の所与の各訓練画像について、訓練パッチの第2のバッチを生成することができ(230)(例えば、訓練セット生成器104によって)、これには、所与の訓練画像上で複数の第1の位置を複数の第2の位置にシフトし(232)、それによって複数の第2の位置に対応する第2の複数の元のパッチを取得すること、および第2の複数の元のパッチに対して拡張を繰り返して(234)、第2の複数の拡張されたパッチを生成し、それによって訓練パッチの第2のバッチを発生させることが含まれる。グループ内の各訓練画像について訓練パッチの第1および第2のバッチが生成されると、すべての訓練画像に対する両方のバッチを、DNNの訓練に使用される訓練セットに含めることができる。
【0067】
特定の実施形態によると、上述したシフトおよび拡張は、訓練パッチの1つまたは複数の追加のバッチを生成するように、1回または複数回繰り返すことができる。追加のバッチも訓練セットに含めることができる。場合によっては、第1および第2の複数の元のパッチも訓練セットに含めることができる。
【0068】
一部の実施形態では、シフトは、パッチの第1のバッチを生成することに関して上述したのと同様のやり方で、各第1の位置についてそれぞれ実行することができる。各第1の位置は、確率関数に従ってシフトさせるか否かをランダムに判定することができる。例として、画像上の第2の複数の位置を取得するために、初期位置のそれぞれ(または少なくともその一部)をランダムなオフセットでランダムな方向にシフトすることができる。画像を第2の複数の位置に従ってトリミングして、第2の複数の元のパッチを取得することができる。ここで
図5に目を向けると、本開示の主題の特定の実施形態による、初期位置のシフト後に得られた第2の複数の元のパッチの例が示されている。図示するように、パッチは、図の破線の四角によってマークされているように、異なる位置502に従ってトリミングされ得る。これらの位置は、対応する初期位置からランダムにシフトさせた後に得られる。初期位置が所定のグリッドに従って決定されると仮定すると、見て分かるように、各現在位置502は、対応する初期位置からのそれぞれのランダム化によるものである(例えば、異なるオフセットで異なる方向にシフトされている)。場合によっては、位置のうちの一部は、例えば、オフセットがゼロであると決定された場合、まったくシフトされないことが可能である。
【0069】
一部の実施形態では、訓練セットを生成することは、拡張訓練パッチに関して拡張グラウンドトゥルースデータを取得することと、拡張訓練パッチと拡張グラウンドトゥルースデータとを関連付けることと、をさらに含むことができる。拡張グラウンドトゥルースデータに関連付けられた拡張訓練パッチのバッチを含む、生成された訓練セットは、PMC102のメモリに記憶させることができる。生成された拡張画像は、グラウンドトゥルースデータに関連付けて訓練セットに追加することができる。場合によっては、元の画像および拡張画像を同じグラウンドトゥルースデータに関連付けることができる。代替として、拡張画像を拡張グラウンドトゥルースデータ(例えば、訓練セット内の拡張クラス分布)に関連付けることができる。
【0070】
同様に、元の訓練画像および訓練パッチに関連付けられたグラウンドトゥルースデータについては、拡張グラウンドトゥルースデータを、コンピュータシステムの支援の有無にかかわらず、拡張された画像パッチを解析する人によって提供することができる。代替的または追加的に、拡張グラウンドトゥルースデータは、拡張訓練パッチを導出する際にそれぞれの元のパッチにおいて提供された拡張に対応する元のグラウンドトゥルースデータを処理することによって、FPEIシステムによって生成され得る。
【0071】
本開示の主題の特定の実施形態によると、生成された訓練セット内の訓練画像パッチの数は、「実世界」の訓練サンプルの数よりも実質的に多くてもよい。例えば、訓練画像のグループは、数十の訓練サンプルを含むことができ、一方、本開示の主題の特定の実施形態に従って生成された訓練セットは、少なくとも数千の訓練サンプルを含むことができる。画像のキャプチャおよびそのアノテーションは、時間がかかり、場合によってはコストもかかるプロセスであることに留意されたい。画像をトリミングし、画像パッチを拡張することによって、訓練セットに十分な量の訓練サンプルを生成することにより、DNN訓練の効率化が可能になる。
【0072】
さらに、拡張および合成画像生成の技法により、生成された訓練セットを特定のアプリケーションの要件に合わせて調整することが可能になる。非限定的な例として、特定のクラス(例えば、少数クラス)の欠陥に関連するFABデータの欠如は、それぞれの欠陥を提示する合成画像および/または拡張画像によって補うことができる。さらなる非限定的な例として、特定の層に関連する適切なFABデータの欠如は、この層に関連する合成画像によって補うことができる。同様に、ツール変動の訓練に必要な特定のツールからのデータの欠如は、このツールに関連する合成画像によって補うことができる。
【0073】
ここで
図3に目を向けると、本開示の主題の特定の実施形態による、DNNを訓練するための生成された訓練セットを使用する一般化された流れ図が示されている。
【0074】
訓練段階310では、
図2に記載されたプロセスに従って生成された訓練セットを取得する(312)と、FPEIシステム101は、DNN106を使用して、訓練セットを反復的に処理し、訓練ベースのパラメータ(例えば、DNNの重みなど)のアプリケーション固有のセットを提供し、それによって、アプリケーション固有の訓練されたDNNを取得する(314)ことができる。訓練ベースのパラメータは、アプリケーション固有のコスト関数に対応する。例として、セグメンテーション関連のアプリケーションについては、コスト関数は、セグメンテーションの精度に関連することができる(例えば、正しいセグメンテーションラベルマップ対予測ラベルマップ)。別の例として、欠陥検出関連のアプリケーションについては、コスト関数は、検出精度と、誤検出および過剰検出に対するペナルティとに関連することができる。さらなる例として、分類関連のアプリケーションについては、コスト関数は、分類誤差に関連することができる。任意で、DNNを使用して訓練セットを処理することは、プレDNNモジュールによる前処理動作(例えば、入力チャネルの選択、サイズ変更/トリミングなど)およびポストDNNモジュールによる後処理動作(例えば、空間ピラミッドプーリング、マルチスケールプーリング、フィッシャーベクトルなどを実行すること)を含むことができる。アプリケーション固有の最適化された重みに加えて、訓練ベースのパラメータは、最適化されたアプリケーション固有のしきい値、アプリケーション固有の前処理パラメータ、およびアプリケーション固有の後処理パラメータをさらに含むことができる。
【0075】
一部の実施形態では、図示された訓練プロセスは、循環的であってもよく、DNNが十分に訓練されるまで数回繰り返されてもよいことに留意されたい。例として、訓練プロセスは、訓練パッチの第1のバッチを使用することから開始することができる。例えば、ブロック220に記載されたプロセスに従って生成された、各訓練画像に対する訓練パッチの第1のバッチは、訓練の第1のエポック(例えば、訓練セットを完全に経ること)を実行するために使用することができる。ユーザは、初期訓練セット(例えば、訓練パッチの第1のバッチ)に基づいてDNNが到達した結果に対するフィードバックを提供することができる。提供されるフィードバックは、例えば、感度の変更、グラウンドトゥルースセグメンテーションの更新、ならびに/あるいはセグメンテーションアプリケーションのための関心領域(ROI)の手動定義、分類アプリケーションのための1つもしくは複数のピクセル、領域および/または欠陥の手動再分類、欠陥検出アプリケーションのためのマスク/バウンディングボックスの再定義などを含むことができる。
【0076】
PMCは、受け取ったフィードバックに基づいて次の訓練サイクルを調整することができる。調整は、訓練セットの更新(例えば、グラウンドトゥルースデータおよび/または拡張アルゴリズムの更新、追加の拡張訓練サンプルの取得など)、コスト関数の更新、プレDNNおよび/またはポストDNNのアルゴリズムの更新などのうちの少なくとも1つを含むことができる。次の訓練サイクル(すなわち、第2のエポック)は、ブロック230に記載されたプロセスに従って生成されるような、各訓練画像に対応する訓練パッチの第2のバッチを使用することによって開始することができる。
【0077】
訓練段階が完了すると、訓練されたDNNをランタイム320において特定のアプリケーションに使用することができる。PMC102は、訓練されたDNNを使用して、1つまたは複数のランタイムFP画像を一緒に処理し(322)、それによって、アプリケーション固有の検査関連データを取得することができる(324)。1つまたは複数のFP画像は、同じまたは異なる検査モダリティによって取得することができる。訓練データは、それぞれのアプリケーションに使用されるFP画像に対応するものとすることに留意されたい。
【0078】
非限定的な例として、アプリケーション固有の検査関連データは、その意味がアプリケーションに依存する値のピクセルごとのマップ(例えば、欠陥検出のためのバイナリマップ、セグメンテーションのためのラベルマップ、ファミリタイプまたは一般クラスを示すニューサンスファミリ予測(nuisance family prediction)のための離散マップ、欠陥タイプ分類のための離散マップ、クロスモダリティまたはダイツーモデル(D2M)回帰のための連続値など)を表すことができる。ピクセルごとのマップは、ピクセルについて得られた値の確率を示すピクセルごとの確率マップとともにさらに取得することができる。
【0079】
代替的または追加的に、アプリケーション固有の検査関連データは、例えば、欠陥属性、特定の構造要素および/または層に対するセグメンテーションラベル、自動欠陥レビューアプリケーションのための欠陥バウンディングボックス候補および関連付けられた欠陥度合確率、自動欠陥分類アプリケーションのための欠陥クラスおよびクラス確率などの、より大きな領域(ピクセルごとではない)の画像コンテンツ全体を要約した1つまたは複数の値を表すことができる。代替的または追加的に、検査関連データは、計測目的に使用可能である場合がある。例えば、セグメンテーションマップは、試料の画像に対して測定を実行するために使用することができる。
【0080】
図4を参照すると、本開示の主題の特定の実施形態による、FP画像のセグメンテーションのために
図3を参照して上で詳述された技法を実施する例が示されている。特に明記しない限り、本明細書で使用される「セグメンテーション」という用語は、画像を意味のある部分/セグメント(例えば、背景と前景、ノイズのある領域とノイズのない領域、構造要素、欠陥と非欠陥など)に分割し、一方で、そのようなセグメントを示すピクセルごとまたは領域ごとの値を提供する任意のプロセスを包含するように広範に解釈されるべきである。例として、そのようなセグメンテーションは、試料に対して測定を実行するための計測ツールによって使用することができる。別の例として、「セグメンテーション」という用語は、属性を構築する際の(例えば、欠陥が主パターン上にあるか、背景上にあるか、またはその両方にあるかどうかを定義するための)ADC、各セグメントに対してセグメント固有の検出しきい値を適用するためのADRなどにも使用可能である場合がある。
【0081】
本プロセスは、DNNのセグメンテーション固有の訓練のセットアップ段階410と、訓練されたDNNを画像セグメンテーションに使用するランタイム段階420と、を含む。
【0082】
セットアップ410中に、訓練画像およびグラウンドトゥルースデータのグループを取得すると、PMC102は、
図2を参照して上述したような技法を使用してセグメンテーション訓練セットを生成することができ(412)、生成されたセグメンテーション訓練セットを使用して、セグメンテーション関連の訓練パラメータによって特徴付けられた訓練されたセグメンテーションDNNを取得する(414)。
【0083】
訓練画像のグループは、以前にキャプチャされた低解像度画像および/または高解像度画像、ならびに任意でCADベースの画像を含むことができる。例として、訓練画像は、レビューツール(例えば、SEM)から得られた高解像度のレビュー画像とすることができる。得られたグラウンドトゥルースデータは、それぞれの訓練画像に関連付けられたセグメント関連データの情報を与える。非限定的な例として、所与の訓練画像に関連付けられたセグメント関連データは、ピクセルごとまたは領域ごとのセグメンテーションラベル、CADポリゴン、ROIなどの情報を与えることができる。訓練セットが生成されると、訓練セット内の拡張訓練パッチを、それぞれの拡張訓練パッチに関するセグメント関連情報を与える拡張グラウンドトゥルースデータに関連付けることができる。
【0084】
セグメンテーション訓練セットを生成すると(412)、PMCは、訓練セットを使用してDNNを訓練する(414)。訓練プロセスにより、セグメンテーション関連の訓練パラメータを用いて訓練されたDNNが生成される。
【0085】
ランタイム420中に、PMCは、訓練されたセグメンテーションDNNを使用して、セグメント化される1つまたは複数のキャプチャされたFP画像を含む1つまたは複数のランタイム画像を処理し(422)、各画像のセグメンテーションマップを提供する(424)。得られたセグメンテーションマップは、画像上の異なるセグメントを示すピクセルごとまたは領域ごとのセグメンテーションラベルの情報を与えることができる。例として、ある層のポリゴンは、あるセグメンテーションラベルを有することができ、別の層のポリゴンは、異なるセグメンテーションラベルを有することができ、一方、背景は、別のセグメンテーションラベルを有することができる。
【0086】
ここで
図7に目を向けると、本開示の主題の特定の実施形態に従って生成されたFP画像および対応するセグメンテーションマップの例が示されている。図示するように、FP画像702は、訓練されたセグメンテーションDNN701によって処理され、DNNの出力は、異なる色が異なるセグメントを表すセグメンテーションマップ704である。例として、水平要素706、垂直要素708、および背景710の3つのセグメントが示されている。
【0087】
本開示の主題の特定の実施形態によると、セグメンテーションDNNは、セグメンテーションの性能を改善する目的で特定のアーキテクチャで設計されている。例として、DNNは、画像の高速かつ正確なセグメンテーションのための畳み込みネットワークであるU-Netネットワークアーキテクチャを適用することができる。U-Netのアーキテクチャは、より少ない訓練画像で動作し、より正確なセグメンテーションを生成するように修正および拡張されている。
【0088】
一部の実施形態では、訓練中に高解像度情報を維持しながら勾配消失の問題を克服するために、セグメンテーションDNNは、そのような問題を解決するためのU-Netベースのアーキテクチャを適用することができる。勾配消失問題は、勾配ベースの学習方法および逆伝搬を用いてニューラルネットワークを訓練する際に見られる既知の課題である。そのような方法では、ニューラルネットワークの重みのそれぞれが、訓練の各反復において現在の重みに対する誤差関数の偏微分に比例した更新を受け取る。問題は、場合によっては、勾配が小さくなり(すなわち、消失し)、重みがその値を変えるのが効果的に阻止されることである。最悪の場合、これによりニューラルネットワークのさらなる訓練が完全に停止することがある。U-Netベースのネットワークは、より良好な勾配流を有するように設計されており、したがって、この問題を効果的に解決することができる。
【0089】
一部の実施形態では、セグメンテーションDNNの訓練中に、DNNによって生成された実際の出力とそれぞれの訓練データに関連付けられたグラウンドトゥルースデータとの間の差として計算される主損失関数(例えば、交差エントロピー誤差)に加えて、セグメンテーションDNNは、セグメンテーションの感度を改善することに特化した1つまたは複数の追加の損失関数を含むことができる。1つまたは複数の追加の損失関数は、試料およびその画像の物理的知識を示すことができる。特定の実施形態によると、1つまたは複数の追加の損失関数を追加して、セグメンテーションの滑らかさおよび一貫性を改善することができる。
【0090】
本開示は、その適用において、本明細書に含まれる、または図面に示される説明に記載された詳細に限定されないことを理解されたい。
【0091】
本開示によるシステムは、少なくとも部分的に、適切にプログラムされたコンピュータ上に実装され得ることも理解されよう。同様に、本開示は、本開示の方法を実行するためのコンピュータによって読み取り可能なコンピュータプログラムを企図している。本開示は、本開示の方法を実行するためのコンピュータによって実行可能な命令のプログラムを明白に具現化する非一時的なコンピュータ可読メモリをさらに企図している。
【0092】
本開示は、他の実施形態が可能であり、様々なやり方で実施および実行することができる。したがって、本明細書で用いられる語句および術語は、説明を目的としたものであり、限定的なものと見なされるべきでないことを理解されたい。そのため、当業者は、本開示の基礎となる概念が、本開示の主題のいくつかの目的を実行するための他の構造、方法、およびシステムを設計するための基礎として容易に利用され得ることを理解するであろう。
【0093】
当業者は、添付の特許請求の範囲において、および添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく、前述したように、様々な修正および変更を本開示の実施形態に適用することができることを容易に理解するであろう。
【符号の説明】
【0094】
100 検査システム
101 FPEIシステム
102 プロセッサおよびメモリ回路
104 訓練セット生成器
106 ディープニューラルネットワーク
110 設計データサーバ
120 検査ツール
122 ストレージユニット
124 グラフィカルユーザインターフェース
126 I/Oインターフェース
310、410 訓練段階
320、420 ランタイム段階
701 セグメンテーションDNN
702 FP画像
704 セグメンテーションマップ
706 水平要素
708 垂直要素
710 背景