(57)【要約】【課題】ウエハマップのスクラッチの有無を精度よく判定する。【解決手段】スクラッチ判定装置は、それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成する。次に、スクラッチ判定装置は、複数のウエハマップ画像、および、前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する。そして、スクラッチ判定装置は、学習済みの機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う。【選択図】図２
2019161073.tif 000002
【特許請求の範囲】
【請求項１】
それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行し、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う
処理をコンピュータに実行させることを特徴とするスクラッチ判定プログラム。
【請求項２】
前記画像認識処理は、
前記ウエハマップ画像の一部の領域に対する認識処理を集約したものである
ことを特徴とする請求項１に記載のスクラッチ判定プログラム。
【請求項３】
前記ウエハマップ画像上のランダムネスは、
前記ウエハマップ画像の示すフェイルＩＣのうち、前記フェイルＩＣを中心とした所定のウィンドウ枠内に存在する、当該フェイルＩＣに並ぶ他のフェイルＩＣの数の並びの指標値が所定の閾値未満であるフェイルＩＣ群である
ことを特徴とする請求項１に記載のスクラッチ判定プログラム。
【請求項４】
前記並びの指標値は、
前記フェイルＩＣを中心とした所定のウィンドウ枠内において、当該フェイルＩＣを中心とした各方向における当該フェイルＩＣに並ぶ他のフェイルＩＣの数の最大値である
ことを特徴とする請求項３に記載のスクラッチ判定プログラム。
【請求項５】
前記閾値は、
スクラッチの有るウエハマップ画像およびスクラッチの無いウエハマップ画像における前記並びの指標値の統計データに基づき算出された値である
ことを特徴とする請求項３に記載のスクラッチ判定プログラム。
【請求項６】
前記コンピュータは、
前記機械学習モデルの学習を実行する際、さらに、前記ランダムネスを示すウエハマップ画像を用いる
ことを特徴とする請求項１に記載のスクラッチ判定プログラム。
【請求項７】
それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する
処理をコンピュータに実行させることを特徴とするスクラッチ判定プログラム。
【請求項８】
それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成する生成部と、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する学習部と、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う判定部と
を備えることを特徴とするスクラッチ判定装置。
【請求項９】
それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行し、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う
処理をコンピュータが実行することを特徴とするスクラッチ判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、スクラッチ判定プログラム、スクラッチ判定装置およびスクラッチ判定方法に関する。
【背景技術】
【０００２】
従来、半導体のウエハ上に欠陥が生じているチップ（不良チップ）の位置をマッピングしたウエハマップが作成されている。そして、作成されたウエハマップにおける欠陥位置のパターン（不良パターン）から、ウエハの不良パターンを識別することが行われている。この不良パターンには、例えば、欠陥位置が線状に並んでいるスクラッチと呼ばれる不良パターンがある。
【０００３】
このスクラッチを検出するため、例えば、ルールベースでウエハマップの画像認識処理を行い、その画像認識処理の結果に基づき、スクラッチの有無を判定していた。ここでウエハマップの画像認識処理における処理量を低減するため、ウエハマップから切り出した所定の範囲それぞれの画像認識処理の結果を集約することで、スクラッチの有無を判定していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２０６４３９号公報
【特許文献２】特開２００４−１５８８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の従来技術のように、ウエハマップの所定の範囲それぞれの画像認識処理の結果を集約しても、スクラッチの有無を精度よく判定できない場合があった。
【０００６】
例えば、ウエハマップの所定の範囲それぞれについて画像認識処理を行い、各範囲から線状の成分を検出することでスクラッチの有無を判定する場合を考える。この場合、いずれかの範囲において線状の成分が検出できないと、スクラッチ無と判定される。このため、スクラッチの一部が途切れているスクラッチについては検出できず、スクラッチを見逃してしまうことがあった。また、ウエハマップ上の各範囲に線状の成分はあるが、全体としては線状ではない不良パターンについても、スクラッチ有と判定されることがあった。このため、スクラッチを誤検出してしまうことがあった。
【０００７】
１つの側面では、ウエハマップのスクラッチの有無を精度よく判定するための、スクラッチ判定プログラム、スクラッチ判定装置およびスクラッチ判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、コンピュータに、それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成させる。また、コンピュータに、複数のウエハマップ画像、および、前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行させる。さらに、コンピュータに、学習済みの機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行わせる。
【発明の効果】
【０００９】
本発明の一実施態様によれば、ウエハマップのスクラッチの有無を精度よく判定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかるスクラッチ判定装置の構成を例示するブロック図である。
【図２】図２は、実施形態にかかるスクラッチ判定装置の機能構成を例示するブロック図である。
【図３】図３は、ランダム欠陥の判定および教師データの生成の一例を説明する図である。
【図４】図４は、ランダム欠陥の判定の一例を説明する図である。
【図５】図５は、教師データ用のウエハマップの一例を示す図である。
【図６】図６は、教師データを用いた機械学習モデル（スクラッチ有無判定モデル）の生成の一例を説明する図である。
【図７】図７は、並びの指標値の算出の一例を説明する図である。
【図８】図８は、並びの指標値の算出手順の一例を示すフローチャートである。
【図９】図９は、並びの指標値の算出手順の一例を説明する図である。
【図１０】図１０は、スクラッチ判定装置の処理手順の一例を示すフローチャートである。
【図１１】図１１は、図１０のＳ１１の教師データの生成処理の手順の一例を示すフローチャートである。
【図１２】図１２は、図１１のＳ１１２のウエハマップ中の各フェイルＩＣがランダム欠陥か否かの判定処理の手順の一例を示すフローチャートである。
【図１３】図１３は、図１０のＳ１３のスクラッチ有無の判定処理の手順の一例を示すフローチャートである。
【図１４】図１４は、ウエハマップの一例を示す図である。
【図１５】図１５は、並びの指標値の算出手順の一例を示すフローチャートである。
【図１６】図１６は、並びの指標値の算出手順の一例を説明する図である。
【図１７】図１７は、１０００個のウエハマップ中の９３２９７個のフェイルＩＣに対する並びの指標値の分布の一例を示すグラフである。
【図１８】図１８は、実施形態にかかるスクラッチ判定装置のハードウェア構成を例示するブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかるスクラッチ判定プログラム、スクラッチ判定装置およびスクラッチ判定方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するスクラッチ判定プログラム、スクラッチ判定装置およびスクラッチ判定方法は、一例を示すに過ぎず、本発明を限定するものではない。
【００１２】
図１は、実施形態にかかるスクラッチ判定装置の構成を例示するブロック図である。図１に示すスクラッチ判定装置１は、半導体のウエハ上に欠陥が生じているチップ（不良チップ）の位置をマッピングしたウエハマップ（ウエハマップ画像）を取得する。
【００１３】
スクラッチ判定装置１は、ＰＣ（Personal  Computer）等であり、入力部１０、出力部２０、処理部３０および記憶部４０を有する。
【００１４】
入力部１０は、各種情報を処理部３０に入力する。例えば、入力部１０は、ユーザの指示を受け付けて、受け付けた指示に従って、外部装置から各種情報を取得し、取得した各種情報を処理部３０に入力する。入力部１０は、マウスやキーボードなどの操作受付デバイスであってもよい。入力部１０は、例えば、ウエハ上での複数のチップそれぞれの位置、および、複数のチップそれぞれに関するテスト情報を示すウエハマップを処理部３０に入力する。
【００１５】
出力部２０は、各種の情報を出力する。例えば、出力部２０は、処理部３０によるウエハマップ上のスクラッチの有無の判定結果を表示装置に表示する。なお、出力部２０はスクラッチの有無の判定結果を音声で出力してもよい。出力部２０のデバイスの一例としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスや、音声を出力する音声出力デバイスが挙げられる。
【００１６】
処理部３０は、ＣＰＵ（Central  Processing  Unit）等であり、スクラッチ有無判定プログラムを実行することにより、生成部３１、学習部３２および判定部３３としての機能を果たす。
【００１７】
記憶部４０は、各種情報を記憶する。例えば、記憶部４０は、処理部３０で実行されるスクラッチ有無判定プログラムを記憶する。また、記憶部４０は、例えば、入力部１０より入力されたウエハマップを記憶する。
【００１８】
図２は、実施形態にかかるスクラッチ判定装置の機能構成を例示するブロック図である。
【００１９】
生成部３１は、スクラッチ有無判定モデル５２（後記）の作成に用いる教師データを生成する。例えば、生成部３１は、スクラッチのウエハマップの教師データとして、入力部１０より入力されたスクラッチ有のウエハマップから、ランダム欠陥（ランダムネス）を除去した前処理済ウエハマップを生成する。
【００２０】
例えば、生成部３１は、ラベル付きウエハマップデータ５１のうち、スクラッチ有のラベルが付されたウエハマップを取り出す。次に、生成部３１は、取り出したウエハマップの一部の領域（例えば、ターゲットとなるフェイルＩＣ（製造されたＩＣのテストでフェイルしたＩＣ）を中心としたウィンドウ枠）に対する画像認識処理を行い、領域内のフェイルＩＣがランダム欠陥か否かを判定する。そして、生成部３１は、ウエハマップの各領域の判定結果を集約することより、ウエハマップの各フェイルＩＣがランダム欠陥か否かの判定結果を得る。そして、生成部３１は、ウエハマップから、ランダム欠陥と判定されたフェイルＩＣを除去し、前処理済ウエハマップを生成する。
【００２１】
ラベル付きウエハマップデータ５１は、スクラッチの有無に関するラベルが付されたウエハマップのデータ群である。
【００２２】
生成部３１は、ランダム欠陥判定部３１１および教師データ生成部３１２を有する。
【００２３】
ランダム欠陥判定部３１１は、ウエハマップの各フェイルＩＣがランダム欠陥か否かを判定する。
【００２４】
ここで、ランダム欠陥判定部３１１は、フェイルＩＣがランダム欠陥か否かを判定するため、例えば、ウエハマップのフェイルＩＣの並びの指標値を用いる。この並びの指標値の詳細は後記するが、ウエハマップ上のあるフェイルＩＣ（ターゲット）を中心とした所定のウィンドウ枠内に、他のフェイルＩＣがどの程度並んでいるかを示した指標値である（図４参照）。この並びの指標値が小さいほど、ターゲットのフェイルＩＣはスクラッチの一部ではない可能性が高い、つまり、当該フェイルＩＣはランダム欠陥である可能性が高いことになる。このランダム欠陥判定部３１１は、上記の並びの指標値を算出する並びの指標値算出部３１２を備える。
【００２５】
図３は、ランダム欠陥の判定および教師データの生成の一例を説明する図である。図３に示すように、例えば、ランダム欠陥判定部３１１は、ウエハマップの各フェイルＩＣがランダム欠陥か否かを判定する。
【００２６】
例えば、ランダム欠陥判定部３１１がウエハマップのフェイルＩＣの中からターゲットのフェイルＩＣを選択し、当該ターゲットのフェイルＩＣを中心としたウィンドウ枠内のフェイルＩＣの並びの指標値を算出する。
【００２７】
図４は、ランダム欠陥の判定の一例を説明する図である。例えば、並びの指標値算出部３１２は、図４に示すウィンドウ枠内のターゲットのフェイルＩＣに対する並びの指標値（４．０）を算出する。ここで、並びの指標値の閾値が５．０の場合、並びの指標値（４．０）は、閾値（５．０）未満なので、ランダム欠陥判定部３１１は、当該フェイルＩＣをランダム欠陥と判定する。一方、並びの指標値が閾値（５．０）以上であれば、ランダム欠陥判定部３１１は、当該フェイルＩＣをランダム欠陥ではないと判定する。
【００２８】
ランダム欠陥判定部３１１は、ウエハマップのフェイルＩＣそれぞれをターゲットとして選択し、上記の処理を実行することで、ウエハマップの各フェイルＩＣがランダム欠陥か否かを判定する。
【００２９】
なお、上記の並びの指標値の閾値は、スクラッチ判定装置１のユーザが設定した値でもよいし、蓄積されたウエハマップのデータから自動で算出した値でもよい。
【００３０】
なお、従来、ウィンドウ枠内のフェイルＩＣの密度により、ランダム欠陥か否かを判定する方法もあったが、スクラッチのようにフェイルＩＣの密度が低くなるものについてランダム欠陥と判定されないことがあった。しかし、ランダム欠陥判定部３１１は、ウィンドウ枠内のターゲットのフェイルＩＣに対する並びの指標値を用いて、当該フェイルＩＣがランダム欠陥か否かを判定する。その結果、ランダム欠陥判定部３１１は、スクラッチを含むウエハマップ上の各フェイルＩＣがランダム欠陥か否かを精度よく判定することができる。
【００３１】
図２の教師データ生成部３１３は、教師データとなるウエハマップを生成する。ここでの教師データは、スクラッチのウエハマップのデータ、および、非スクラッチのウエハマップのデータである。例えば、教師データ生成部３１３は、スクラッチ有のラベルが付されたウエハマップから、ランダム欠陥判定部３１１によりランダム欠陥と判定されたフェイルＩＣを除去したウエハマップを生成する。そして、教師データ生成部３１３は、生成したウエハマップを、教師データのスクラッチのウエハマップのデータに追加する。
【００３２】
例えば、教師データ生成部３１３は、図３に示す元のウエハマップ（スクラッチ有のラベルが付されたウエハマップ、（１））から、ランダム欠陥を除去したウエハマップ（（２））を生成する。そして、教師データ生成部３１３は、図３の元のウエハマップ（（１））と、ランダム欠陥を除去したウエハマップ（（２））を、教師データのスクラッチのウエハマップのデータに追加する（図６参照）。
【００３３】
なお、教師データ生成部３１３は、図３に示す元のウエハマップ（（１））からランダム欠陥のみを残したウエハマップ（（３））を、教師データの非スクラッチのウエハマップのデータに追加してもよい（図６参照）。
【００３４】
図５は、教師データ用のウエハマップの一例を示す図である。例えば、教師データ生成部３１３は、図５に示す元のウエハマップ（スクラッチ有のラベルの付されたウエハマップ）と、元のウエハマップからランダム欠陥を除去したウエハマップとを、教師データのスクラッチのウエハマップのデータに追加する。また、教師データ生成部３１３は、図５に示す元のウエハマップからランダム欠陥のみを残したウエハマップを、教師データの非スクラッチのウエハマップのデータに追加してもよい。
【００３５】
図２の学習部３２は、教師データを用いて、機械学習モデル（スクラッチ有無判定モデル５２）の学習を実行する。図６は、教師データを用いた機械学習モデル（スクラッチ有無判定モデル５２）の生成の一例を説明する図である。例えば、学習部３２は、図６に示すように、スクラッチのウエハマップのデータと、非スクラッチのウエハマップのデータとを教師データとして用いてＣＮＮ（Convolutional  Neural  Network）等の機械学習を実行し、スクラッチ有無判定モデル５２を作成する。
【００３６】
このスクラッチ有無判定モデル５２は、例えば、スクラッチ有のウエハマップ上のフェイルＩＣの配置の特徴量等を示した情報である。このスクラッチ有無判定モデル５２は、後記する判定部３３がウエハマップのスクラッチの有無を判定する際に用いられる。
【００３７】
このように学習部３２は、スクラッチ有のラベルが付されたウエハマップからランダム欠陥を除去したウエハマップを用いて機械学習を行い、ウエハマップ有無判定モデル５２を作成する。その結果、学習部３２は、ウエハマップ上のスクラッチの有無を精度よく判定できるスクラッチ有無判定モデル５２を作成することができる。
【００３８】
判定部３３は、スクラッチ有無判定モデル５２を用いて、ウエハマップのスクラッチの有無を判定する。例えば、判定部３３は、スクラッチ有無判定モデル５２を用いて、判定対象のウエハマップデータ５３（スクラッチ有無のラベルが付されていないウエハマップ群）のスクラッチの有無を判定する。そして、判定部３３は、ウエハマップのスクラッチの有無の判定結果を出力する。
【００３９】
以上説明したスクラッチ判定装置１によれば、ウエハマップのスクラッチの有無を精度よく判定することができる。
【００４０】
ここで、並びの指標値算出部３１２による並びの指標値の算出を、具体例を交えながら、詳細に説明する。図７は、並びの指標値の算出の一例を説明する図である。ここでは、図７に示すように、ターゲットのフェイルＩＣを中心として、５＊５のウィンドウ枠内における並びの指標値を算出する場合を例に説明する。
【００４１】
まず、並びの指標値算出部３１２は、ウィンドウ枠内のウエハマップのラドン変換を行う。ここで、並びの指標値算出部３１２は、ラドン変換を行う際、ウィンドウ枠内のターゲットのフェイルＩＣを中心とし、投影面を回転させながら、各方向におけるフェイルＩＣの投影値を算出する。なお、図７は、各ウィンドウ枠内のフェイルＩＣのうち、矢印の方向に並ぶフェイルＩＣの数を投影座標上の投影値として示している。例えば、図７の符号７０１，７０２に示すように、ウィンドウ枠内において矢印の方向に並ぶフェイルＩＣの数が多いと、矢印の方向に直交する投影座標上の投影値は大きくなる。
【００４２】
並びの指標値算出部３１２は、上記のようにウィンドウ枠内のターゲットのフェイルＩＣを中心とした各方向の投影値の算出を行う。これにより、並びの指標値算出部３１２は、ターゲットのフェイルＩＣを中心とした各方向における他のフェイルＩＣの並びを数値化することができる。その結果、並びの指標値算出部３１２は、ターゲットとなるフェイルＩＣに対し、例えば、縦、横、斜め等、どの方向にフェイルＩＣが並んでいても、フェイルＩＣの並びを数値化することができる。
【００４３】
ここで、並びの指標値算出部３１２による並びの指標値の算出手順を、具体例を用いて説明する。図８は、並びの指標値の算出手順の一例を示すフローチャートである。図９は、並びの指標値の算出手順の一例を説明する図である。
【００４４】
例えば、並びの指標値算出部３１２は、ウィンドウ枠のうち、ターゲットの位置の値を充分大きな値（例えば、１００）、フェイルＩＣの位置の値を１、それ以外の位置の値を０とした行列を作成する（図８のＳ１）。例えば、並びの指標値算出部３１２は、図９に示すウィンドウ枠について、符号９０１に示す行列を作成する。
【００４５】
Ｓ１の後、並びの指標値算出部３１２は、Ｓ１で作成した行列にラドン変換をかけた行列を求める（Ｓ２）。例えば、並びの指標値算出部３１２は、図９の符号９０１に示す行列にラドン変換をかけて符号９０２に示す行列を求める。なお、符号９０２に示す行列において、縦軸は角度を示し、横軸は各角度の投影値を示す。
【００４６】
Ｓ２の後、並びの指標値算出部３１２は、ラドン変換後の行列の要素の最大値を抽出し、ターゲットに設定した値（例えば、１００）を引き、並びの指標値とする（Ｓ３）。例えば、並びの指標値算出部３１２は、図９の符号９０２に示す行列の要素の最大値（１２０）から、Ｓ１でターゲットに設定した値（１００）を引いた値（２０）を並びの指標値とする。
【００４７】
このようにすることで、並びの指標値算出部３１２は、ウエハマップの各フェイルＩＣに対し、どの方向にフェイルＩＣが並んでいても、フェイルＩＣの並びの指標値を算出することができる。
【００４８】
次に、図１０を用いて、スクラッチ判定装置１の処理手順の一例を説明する。図１０は、スクラッチ判定装置の処理手順の一例を示すフローチャートである。
【００４９】
例えば、スクラッチ判定装置１の生成部３１は、ラベル付きウエハマップデータ５１を用いて教師データを生成する（Ｓ１１）。つまり、生成部３１は、教師データとして、スクラッチのウエハマップのデータと、非スクラッチのウエハマップのデータとを生成する。Ｓ１１の後、学習部３２は、Ｓ１１で生成した教師データを用いた機械学習により、スクラッチ有無判定モデル５２を作成する（Ｓ１２）。その後、判定部３３は、判定対象のウエハマップデータ５３に対し、Ｓ１２で作成したスクラッチ有無判定モデル５２を用いてスクラッチ有無の判定を行う（Ｓ１３）。
【００５０】
次に、図１１を用いて、図１０のＳ１１の教師データの生成処理を詳細に説明する。図１１は、図１０のＳ１１の教師データの生成処理の手順の一例を示すフローチャートである。
【００５１】
例えば、生成部３１のランダム欠陥判定部３１１は、ラベル付きウエハマップデータ５１からスクラッチ有のウエハマップを１つ選択する（Ｓ１１１）。次に、ランダム欠陥判定部３１１は、Ｓ１１１で選択したウエハマップ中の各フェイルＩＣがランダム欠陥か否かを判定する（Ｓ１１２）。
【００５２】
Ｓ１１２の後、教師データ生成部３１３は、Ｓ１１１で選択したウエハマップからランダム欠陥を除去したウエハマップを生成する（Ｓ１１３）。そして、教師データ生成部３１３は、学習のための教師データに、スクラッチのウエハマップのデータとして、ランダム欠陥を除去したウエハマップと、元のウエハマップとを加える。また、教師データ生成部３１３は、非スクラッチのウエハマップのデータとして、ランダム欠陥のみを残したウエハマップを加える（Ｓ１１４）。
【００５３】
Ｓ１１４の後、生成部３１は、ラベル付きウエハマップデータ５１における全てのスクラッチ有のウエハマップを処理済みであれば（Ｓ１１５でＹｅｓ）、Ｓ１１６の処理へ進む。そして、教師データ生成部３１３は、教師データに、非スクラッチのウエハマップのデータとして、ラベル付きウエハマップデータ５１におけるスクラッチ無のウエハマップ集合を追加する（Ｓ１１６）。一方、生成部３１は、ラベル付きウエハマップデータ５１のスクラッチ有のウエハマップのうち、未処理のウエハマップがあれば（Ｓ１１５でＮｏ）、Ｓ１１１の処理へ戻る。
【００５４】
このようにすることで、生成部３１は、教師データを生成することができる。
【００５５】
次に、図１２を用いて、図１１のＳ１１２のウエハマップ中の各フェイルＩＣがランダム欠陥か否かを判定する処理を詳細に説明する。図１２は、図１１のＳ１１２のウエハマップ中の各フェイルＩＣがランダム欠陥か否かの判定処理の手順の一例を示すフローチャートである。
【００５６】
例えば、ランダム欠陥判定部３１１は、ウエハマップ中のフェイルＩＣの１つをターゲットとして選択し（図１２のＳ１２１）、ターゲットに対し、ウィンドウ枠を定義する（Ｓ１２２）。次に、ランダム欠陥判定部３１１の並びの指標値算出部３１２は、ウィンドウ枠内で、ターゲットに対するフェイルＩＣの並びの指標値を算出する（Ｓ１２３）。そして、ランダム欠陥判定部３１１は、Ｓ１２３で算出した並びの指標値＜閾値なら、ターゲットはランダム欠陥と判定する（Ｓ１２４）。その後、ランダム欠陥判定部３１１がウエハマップ中の全フェイルＩＣを処理済みと判定した場合（Ｓ１２５でＹｅｓ）、各フェイルＩＣがランダム欠陥か否かの判定結果を出力する（Ｓ１２６）。一方、ランダム欠陥判定部３１１がウエハマップ中に未処理のフェイルＩＣがあると判定した場合（Ｓ１２５でＮｏ）、Ｓ１２１の処理に戻る。このようにすることで、ランダム欠陥判定部３１１は、ウエハマップ中の各フェイルＩＣがランダム欠陥か否かを判定することができる。
【００５７】
次に、図１３を用いて、図１０のＳ１３のスクラッチ有無を判定する処理を詳細に説明する。図１３は、図１０のＳ１３のスクラッチ有無の判定処理の手順の一例を示すフローチャートである。
【００５８】
例えば、判定部３３は、判定対象のウエハマップデータ５３の入力を受け付ける（図１３のＳ１３１）。次に、判定部３３は、Ｓ１３１で受け付けた判定対象のウエハマップデータ５３の各ウエハマップに対し、スクラッチ有無判定モデル５２を用いてスクラッチ有無の判定を行う（Ｓ１３２）。そして、判定部３３は、ウエハマップのスクラッチ有無の判定結果を出力する（Ｓ１３３）。このようにすることで、判定部３３は、ウエハマップのスクラッチ有無を判定することができる。
【００５９】
図１４は、ウエハマップの一例を示す図である。例えば、図１４の符号１４０１に示すようにスクラッチの線が途中で切れているウエハマップの場合、従来技術のようにウエハマップの各領域（図１４の破線で囲った領域）から直線成分を検出し、それを集約する方法ではスクラッチを検出できないことがあった。また、例えば、図１４の符号１４０２に示すように、全体として見るとスクラッチの無いウエハマップの場合であっても、従来技術のようにウエハマップの各領域から直線成分を検出し、それを集約する方法では、スクラッチを誤検出してしまうことがあった。
【００６０】
しかし、スクラッチ判定装置１は、スクラッチ有のウエハマップからランダム欠陥を除去した教師データの学習により作成したモデルを用いて、ウエハマップのスクラッチ有無の判定を行う。その結果、スクラッチ判定装置１は、上記のようなスクラッチの線が途中で切れているウエハマップについても、スクラッチを検出することができる。また、スクラッチ判定装置１は、上記のような全体として見るとスクラッチの無いウエハマップについても、スクラッチ無と判定することができる。
【００６１】
なお、並びの指標値算出部３１２は、並びの指標値の算出する際、ウィンドウ枠におけるターゲットの位置を示す行列（行列Ａ）と、ターゲットの位置およびフェイルＩＣの位置を示す行列（行列Ｂ）とを用いても算出してもよい。図１５は、並びの指標値の算出手順の一例を示すフローチャートである。図１６は、並びの指標値の算出手順の一例を説明する図である。なお、図１６に示す行列Ａ，Ｂの縦軸は角度を示し、横軸は各角度の投影値を示す。
【００６２】
例えば、並びの指標値算出部３１２は、ウィンドウ枠のうち、ターゲットの位置の値のみを１とした行列Ａと、フェイルＩＣの位置の値を１、それ以外の位置の値を０とした行列Ｂとを作成する（図１５のＳ２１）。例えば、並びの指標値算出部３１２は、図１６に示すウィンドウ枠について、ターゲットの位置の値のみを１とした行列Ａと、フェイルＩＣの位置の値を１、それ以外の位置の値を０とした行列Ｂとを作成する。
【００６３】
Ｓ２１の後、並びの指標値算出部３１２は、Ｓ２１で作成した２つの行列（行列Ａ，Ｂ）にラドン変換をかけて、行列Ａ´，Ｂ´を求める（Ｓ２２）。例えば、並びの指標値算出部３１２は、図１６に示す行列Ａにラドン変換をかけて行列Ａ´を求め、図１６に示す行列Ｂにラドン変換をかけて行列Ｂ´を求める。なお、並びの指標値算出部３１２は、ラドン変換に替えて、ハフ変換をかけてもよい。
【００６４】
Ｓ２２の後、並びの指標値算出部３１２は、行列Ａ´を用いて、行列Ｂ´の各要素のうち、ターゲットと関係のある投影値が入っている要素を特定し、特定した要素の示す投影値のうち、最大値を並びの指標値とする（Ｓ２３）。
【００６５】
例えば、並びの指標値算出部３１２は、図１６に示す行列Ａ´において、ターゲットと関係のある投影値のある要素として、「１」が並ぶ行（上から５行目）の要素を特定する。次に、並びの指標値算出部３１２は、行列Ｂ´における当該行（上から５行目）に並ぶ要素をターゲットと関係のある投影値と判定する。そして、並びの指標値算出部３１２は、ターゲットと関係のある投影値のうち、最大値（例えば、「５」）を並びの指標値とする。
【００６６】
このようにすることでも、並びの指標値算出部３１２は、ウエハマップの各フェイルＩＣに対し、各方向におけるフェイルＩＣの並びの指標値を算出することができる。
【００６７】
また、並びの指標値の閾値は、以下のようにして算出した値でもよい。例えば、スクラッチ有のラベルが付されたウエハマップと、スクラッチ無のラベルが付されたウエハマップとをそれぞれ同じ数ずつ含むウエハマップのデータを用意する。そして、スクラッチ判定装置１は、用意されたウエハマップのデータから、例えば、ランダムサンプリングを行い、サンプリングされたウエハマップの各フェイルＩＣの並びの指標値の分布を求める。
【００６８】
図１７は、１０００個のウエハマップ中の９３２９７個のフェイルＩＣに対する並びの指標値の分布の一例を示すグラフである。グラフの横軸は、フェイルＩＣの並びの指標値を示し、縦軸は、当該並びの指標値を持つフェイルＩＣの数を示す。
【００６９】
スクラッチ判定装置１は、例えば、図１７に示すフェイルＩＣの並びの指標値に基づき、並びの指標値の閾値を設定する。例えば、スクラッチ判定装置１は、図１７に示すフェイルＩＣ群の並びの指標値の「μ（平均値）＋σ（標準偏差）」を、並びの指標値の閾値として設定する。または、スクラッチ判定装置１は、図１７に示すフェイルＩＣの並びの指標値の「μ（平均値）＋３＊σ（標準偏差）」を並びの指標値の閾値として設定してもよい。
【００７０】
上記のように、実際のウエハマップのデータにおけるフェイルＩＣの並びの指標値の分布に基づき、並びの指標値の閾値を設定することで、スクラッチ判定装置１は、ウエハマップにおけるスクラッチ有無を精度よく判定することができる。
【００７１】
スクラッチ判定装置１で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００７２】
ところで、上記の各実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウェア）の一例を説明する。図１８は、実施形態にかかるスクラッチ判定装置のハードウェア構成を例示するブロック図である。
【００７３】
図１８が示すように、スクラッチ判定装置１は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、スクラッチ判定装置１は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、スクラッチ判定装置１は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、スクラッチ判定装置１内の各部（１０１〜１０９）は、バス１１０に接続される。
【００７４】
ハードディスク装置１０９には、上記の実施形態で説明した各種の処理を実行するためのプログラム１１１が記憶される。また、ハードディスク装置１０９には、プログラム１１１が参照する各種データ１１２（ラベル付きウエハマップデータ５１、判定対象のウエハマップデータ５３）が記憶される。入力装置１０２は、例えば、スクラッチ判定装置１の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００７５】
ＣＰＵ１０１は、ハードディスク装置１０９に記憶されたプログラム１１１を読み出して、ＲＡＭ１０８に展開して実行することで、各種の処理を行う。なお、プログラム１１１は、ハードディスク装置１０９に記憶されていなくてもよい。例えば、スクラッチ判定装置１が読み取り可能な記憶媒体に記憶されたプログラム１１１を、スクラッチ判定装置１が読み出して実行するようにしてもよい。スクラッチ判定装置１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラム１１１を記憶させておき、スクラッチ判定装置１がこれらからプログラム１１１を読み出して実行するようにしてもよい。
【００７６】
以上の実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行し、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う
処理をコンピュータに実行させることを特徴とするスクラッチ判定プログラム。
【００７８】
（付記２）前記画像認識処理は、
前記ウエハマップ画像の一部の領域に対する認識処理を集約したものである
ことを特徴とする付記１に記載のスクラッチ判定プログラム。
【００７９】
（付記３）前記ウエハマップ画像上のランダムネスは、
前記ウエハマップ画像の示すフェイルＩＣのうち、前記フェイルＩＣを中心とした所定のウィンドウ枠内に存在する、当該フェイルＩＣに並ぶ他のフェイルＩＣの数の並びの指標値が所定の閾値未満であるフェイルＩＣ群である、
ことを特徴とする付記１に記載のスクラッチ判定プログラム。
【００８０】
（付記４）前記並びの指標値は、
前記フェイルＩＣを中心とした所定のウィンドウ枠内において、当該フェイルＩＣを中心とした各方向における当該フェイルＩＣに並ぶ他のフェイルＩＣの数の最大値である、
ことを特徴とする付記３に記載のスクラッチ判定プログラム。
【００８１】
（付記５）前記閾値は、
スクラッチの有るウエハマップ画像およびスクラッチの無いウエハマップ画像における前記並びの指標値の統計データに基づき算出された値である、
ことを特徴とする付記３に記載のスクラッチ判定プログラム。
【００８２】
（付記６）前記コンピュータは、
前記機械学習モデルの学習を実行する際、さらに、前記ランダムネスを示すウエハマップ画像を用いる、
ことを特徴とする付記１に記載のスクラッチ判定プログラム。
【００８３】
（付記７）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する
処理をコンピュータに実行させることを特徴とするスクラッチ判定プログラム。
【００８４】
（付記８）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成する生成部と、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する学習部と、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う判定部と
を備えることを特徴とするスクラッチ判定装置。
【００８５】
（付記９）前記画像認識処理は、
前記ウエハマップ画像の一部の領域に対する認識処理を集約したものである
ことを特徴とする付記８に記載のスクラッチ判定装置。
【００８６】
（付記１０）前記ウエハマップ画像上のランダムネスは、
前記ウエハマップ画像の示すフェイルＩＣのうち、前記フェイルＩＣを中心とした所定のウィンドウ枠内に存在する、当該フェイルＩＣに並ぶ他のフェイルＩＣの数の並びの指標値が所定の閾値未満であるフェイルＩＣ群である
ことを特徴とする付記８に記載のスクラッチ判定装置。
【００８７】
（付記１１）前記並びの指標値は、
前記フェイルＩＣを中心とした所定のウィンドウ枠内において、当該フェイルＩＣを中心とした各方向における当該フェイルＩＣに並ぶ他のフェイルＩＣの数の最大値である
ことを特徴とする付記１０に記載のスクラッチ判定装置。
【００８８】
（付記１２）前記閾値は、
スクラッチの有るウエハマップ画像およびスクラッチの無いウエハマップ画像における前記並びの指標値の統計データに基づき算出された値である
ことを特徴とする付記１０に記載のスクラッチ判定装置。
【００８９】
（付記１３）前記学習部は、
前記機械学習モデルの学習を実行する際、さらに、前記ランダムネスを示すウエハマップ画像を用いる
ことを特徴とする付記８に記載のスクラッチ判定装置。
【００９０】
（付記１４）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成部と、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する学習部と
を備えることを特徴とするスクラッチ判定装置。
【００９１】
（付記１５）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行し、
学習済みの前記機械学習モデルを用いて、入力されるウエハマップ画像のスクラッチ有無の判定を行う
処理をコンピュータが実行することを特徴とするスクラッチ判定方法。
【００９２】
（付記１６）前記画像認識処理は、
前記ウエハマップ画像の一部の領域に対する認識処理を集約したものである
ことを特徴とする付記１５に記載のスクラッチ判定方法。
【００９３】
（付記１７）前記ウエハマップ画像上のランダムネスは、
前記ウエハマップ画像の示すフェイルＩＣのうち、前記フェイルＩＣを中心とした所定のウィンドウ枠内に存在する、当該フェイルＩＣに並ぶ他のフェイルＩＣの数の並びの指標値が所定の閾値未満であるフェイルＩＣ群である
ことを特徴とする付記１５に記載のスクラッチ判定方法。
【００９４】
（付記１８）前記並びの指標値は、
前記フェイルＩＣを中心とした所定のウィンドウ枠内において、当該フェイルＩＣを中心とした各方向における当該フェイルＩＣに並ぶ他のフェイルＩＣの数の最大値である
ことを特徴とする付記１７に記載のスクラッチ判定方法。
【００９５】
（付記１９）前記閾値は、
スクラッチの有るウエハマップ画像およびスクラッチの無いウエハマップ画像における前記並びの指標値の統計データに基づき算出された値である
ことを特徴とする付記１７に記載のスクラッチ判定方法。
【００９６】
（付記２０）前記コンピュータは、
前記機械学習モデルの学習を実行する際、さらに、前記ランダムネスを示すウエハマップ画像を用いる
ことを特徴とする付記１５に記載のスクラッチ判定方法。
【００９７】
（付記２１）それぞれスクラッチの有無に関するラベル情報が付された複数のウエハマップ画像から、所定の認識ルールに基づく画像認識処理により、ランダムネスを除去した複数の前処理済ウエハマップ画像を生成し、
前記複数のウエハマップ画像、および、前記前処理済ウエハマップ画像を用いて、機械学習モデルの学習を実行する
処理をコンピュータが実行することを特徴とするスクラッチ判定方法。
【符号の説明】
【００９８】
１…スクラッチ判定装置
１０…入力部
２０…出力部
３０…処理部
３１…生成部
３２…学習部
３３…判定部
４０…記憶部
【図１】
2019161073.tif 000003
【図２】
2019161073.tif 000004
【図３】
2019161073.tif 000005
【図４】
2019161073.tif 000006
【図５】
2019161073.tif 000007
【図６】
2019161073.tif 000008
【図７】
2019161073.tif 000009
【図８】
2019161073.tif 000010
【図９】
2019161073.tif 000011
【図１０】
2019161073.tif 000012
【図１１】
2019161073.tif 000013
【図１２】
2019161073.tif 000014
【図１３】
2019161073.tif 000015
【図１４】
2019161073.tif 000016
【図１５】
2019161073.tif 000017
【図１６】
2019161073.tif 000018
【図１７】
2019161073.tif 000019
【図１８】
2019161073.tif 000020