(57)【要約】【課題】マルチコアプロセッサ１２を用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置を提供する。【解決手段】表面にパターンが形成された試料を撮像する撮像手段と、撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段４ｂと、複数の画像ブロックに対してパターンの欠陥を検出する欠陥検出処理を並列に行う並列処理手段５とを備え、並列処理手段５には複数のコア１３、１４を有するマルチコアプロセッサ１２を複数使用する。マルチコアプロセッサ１２毎に、画像ブロックの欠陥検出処理が行われる。複数のコア１３、１４は、画像ブロックの欠陥検出処理を行う演算コア１３と、画像ブロックを分割手段４ｂから受信する制御コア１４とを有し、演算コア１３が欠陥検出処理を行う画像ブロックは、制御コア１４を介して用意される。【選択図】図３
2013064732.tif 000002
【特許請求の範囲】
【請求項１】
表面にパターンが形成された試料を撮像する撮像手段と、
前記撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、
前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段と、を備え、
前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用し、
さらに、前記複数のコアは、
前記画像ブロックの前記欠陥検出処理を行う演算コアと、
前記画像ブロックを前記分割手段から受信する制御コアと、を含み、
前記演算コアが前記欠陥検出処理を行う前記画像ブロックは、前記制御コアを介して用意されることを特徴とする欠陥検査装置。
【請求項２】
請求項１に記載の欠陥検査装置において、
前記撮像手段は前記試料に対して複数の方向に配置された複数のセンサであり、
さらに、
少なくとも１走査することにより得られた複数の画像を保存することが可能な記憶部を有し、
前記分割手段は、前記複数の画像像の中から任意のデータをパケットとして送信し、
前記パケットには、第1の画像データ、及び前記第２の画像データが含まれ、
前記マルチコアプロセッサは、前記パケットを受信し、
前記マルチコアプロセッサは、第1の演算コアと、第２の演算コアとを有し、
前記第1の演算コア、又は前記第２の演算コアは前記第1の画像データと前記第2の画像データとの位置合わせを行うことを特徴とする欠陥検査装置。
【請求項３】
請求項２に記載の欠陥検査装置において、
前記第１の画像データは第１の暗視野画像データであり、
前記第２の画像データは第２の暗視野画像データであり、
前記第1の暗視野画像データ、及び前記第2の暗視野画像データは第1のダイについてのものであり、
さらに、前記パケットには、前記第1のダイと隣接するダイについて第1のセンサによって得られた第３の暗視野画像データ、及び前記第2のセンサによって得られた第４の暗視野画像データが含まれ、
前記第1の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行い、
前記第２の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行うことを特徴とする欠陥検査装置。
【請求項４】
請求項３に記載の欠陥検査装置において、
前記第1の演算コアは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行い、
前記第２の演算コアは前記位置合わせが行われた前記第３の暗視野画像データ、及び前記第４の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項５】
請求項３に記載の欠陥検査装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項６】
請求項３に記載の欠陥検査装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第３の暗視野画像データ、及び前記第４の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項７】
請求項１に記載の欠陥検査装置において
前記マルチコアプロセッサ毎に、前記画像ブロックの前記欠陥検出処理が行われることを特徴とする欠陥検査装置。
【請求項８】
請求項１に記載の欠陥検査装置において、
複数の前記演算コアが、同一の前記欠陥検出処理を並列に行うことで高速に前記欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項９】
請求項１に記載の欠陥検査装置において、
複数の前記演算コアは、互いに異なる前記欠陥検出処理を行うことを特徴とする請求項３に記載の欠陥検査装置。
【請求項１０】
請求項１に記載の欠陥検査装置において、
複数の前記演算コアで動作する前記欠陥検出処理を、目的に応じて前記コア毎に変更することを可能とすることで、検査対象に適した複数の前記欠陥検出処理を行うことにより複数の出力結果を出力することを特徴とする欠陥検査装置。
【請求項１１】
請求項１０に記載の欠陥検査装置において、
複数の前記出力結果を前記検査対象によって選別あるいは結合して出力することを特徴とする欠陥検査装置。
【請求項１２】
請求項１１に記載に欠陥検査装置において、
複数の前記マルチコアプロセッサは、拡縮可能な共通のバスあるいはネットワークの通信手段及びバスとネットワークの組合せによって、前記分割手段に接続され、
前記マルチコアプロセッサの個数は可変であることを特徴とする欠陥検査装置。
【請求項１３】
欠陥検査装置に用いられる画像処理装置において、
撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、
前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段と、を備え、
前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用し、
さらに、前記複数のコアは、
前記画像ブロックの前記欠陥検出処理を行う演算コアと、
前記画像ブロックを前記分割手段から受信する制御コアと、を含み
前記演算コアが前記欠陥検出処理を行う前記画像ブロックは、前記制御コアを介して用意されることを特徴とする画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置において、
前記撮像手段は前記試料に対して複数の方向に配置された複数のセンサであり、
さらに、
少なくとも１走査することにより得られた複数の画像を保存することが可能な記憶部を有し、
前記分割手段は、前記複数の画像の中から任意のデータをパケットとして送信し、
前記パケットには、第1の画像データ、及び前記第２の画像データが含まれ、
前記マルチコアプロセッサは、前記パケットを受信し、
前記マルチコアプロセッサは、第1の演算コアと、第２の演算コアとを有し、
前記第1の演算コア、又は前記第２の演算コアは前記第1の画像データと前記第2の画像データとの位置合わせを行うことを特徴とする画像処理装置。
【請求項１５】
請求項１４に記載の画像処理装置において、
前記第１の画像データは第１の暗視野画像データであり、
前記第２の画像データは第２の暗視野画像データであり、
前記第1の暗視野画像データ、及び前記第2の暗視野画像データは第1のダイについてのものであり、
さらに、前記パケットには、前記第1のダイと隣接するダイについて第1のセンサによって得られた第３の暗視野画像データ、及び前記第2のセンサによって得られた第４の暗視野画像データが含まれ、
前記第1の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行い、
前記第２の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行うことを特徴とする画像処理装置。
【請求項１６】
請求項１５に記載の画像処理装置において、
前記第1の演算コアは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行い、
前記第２の演算コアは前記位置合わせが行われた前記第３の暗視野画像データ、及び前記第４の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。
【請求項１７】
請求項１５に記載の画像処理装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。
【請求項１８】
請求項１６に記載の画像処理装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第３の暗視野画像データ、及び前記第４の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試料に形成されたパターンの欠陥を検査する欠陥検査装置、及び、それに用いられる画像処理装置に関する。
【背景技術】
【０００２】
欠陥検査装置は、半導体ウエハや、表示装置や、ホトマスクなどの試料の表面に形成される微細なパターンの欠陥を検査するのに用いられている。欠陥検査装置では、試料のパターンを撮像して得られた画像データを、画像処理することで欠陥の検出を行い、検出された欠陥から欠陥の特徴（座標、形状、大きさ、種類など）を欠陥情報として出力することで、欠陥の検査を行っている。
【０００３】
そして、欠陥検査装置としては、半導体ウエハをイメージセンサなどで撮像した大量の画像データを、所定の大きさの画像ブロックに分割し、その画像ブロックを複数のプロセッサを使用して並列処理することによって、高速な画像処理を行うものが知られている（特に、特許文献１と２参照）。また、近年のプロセッサの主流はマルチコアプロセッサに移行しており、マルチコアプロセッサの活用による製品の小型化、省電力化、低価格化が進められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２８６５８６号公報
【特許文献２】特開２０１０−２１６９６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
半導体ウエハ等の試料の表面に形成されたパターンの微細化が一層進められており、画像データのデータ量が膨大化している。これに伴う画像処理に要する時間の長大化を抑制するため、マルチコアプロセッサの多コア化が推進されている。しかし、アムダールの法則により、画像処理の処理性能がコア数に比例しないことが明らかになってきている。多コア化したマルチコアプロセッサを用いても、コア数の他に、画像処理の処理性能を略比例して（線形的に）増減できるパラメータを有する（スケーラブル性を有する）欠陥検査装置があれば、パターンの微細化に合わせて、処理能力をスケーラブルに向上させること
ができ有用である。
【０００６】
そこで、本発明が解決しようとする課題は、マルチコアプロセッサを用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置、及び、それに用いられる画像処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、表面にパターンが形成された試料を撮像する撮像手段と、  前記撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、  前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段とを備え、前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用する欠陥検査装置であることを特徴としている。
【発明の効果】
【０００８】
本発明によれば、マルチコアプロセッサを用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置、及び、それに用いられる画像処理装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る欠陥検査装置の構成図である。
【図２】欠陥検査装置が有する画像処理部を構成する全体制御部とマルチプロセッサユニットの構成図（その１）である。
【図３】欠陥検査装置が有する画像処理部を構成する全体制御部とマルチプロセッサユニットの構成図（その２）である。
【図４】本発明の実施形態に係る欠陥検査装置による欠陥検査方法のフローチャート（その１）である。
【図５】本発明の実施形態に係る欠陥検査装置による欠陥検査方法のフローチャート（その２）である。
【図６】実施形態２を説明する図（その１）
【図７】実施形態２を説明する図（その２）
【図８】実施形態２を説明する図（その３）
【発明を実施するための形態】
【００１０】
次に、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、各図において、共通する部分には同一の符号を付し重複した説明を省略している。
【実施形態１】
【００１１】
図１に、本発明の実施形態に係る欠陥検査装置１の構成図を示す。欠陥検査装置１は、画像取得部（撮像手段）６と、画像処理部（欠陥検査装置に用いられる画像処理装置）２と、外部装置９とで概略構成されている。欠陥検査装置１では、試料１１として、例えば図１に示すように半導体ウエハを検査することができる。半導体ウエハのほかにも、液晶画面のような表示装置や、半導体ウエハや表示装置の製造に用いられるホトマスク等を検査することができる。なお、半導体ウエハ（試料）１１上には、複数の半導体チップ１１ａが形成されている。複数の半導体チップ１１ａはマトリックス状に配列されている。
【００１２】
画像取得部６は、半導体チップ１１ａの表面に形成されたパターンと、何らかの原因により生じた欠陥を撮像する。画像取得部６は、センサ７と、Ａ／Ｄ変換回路８とを有している。センサ７としては、例えば、ＴＤＩ（Time Delay and Integration）センサ、ＣＣＤセンサ等のラインセンサを用いることができる。センサ７は、半導体ウエハ１１の表面からの光（反射光）を受光して画像信号を取得する。Ａ／Ｄ変換回路８は、その画像信号をアナログ信号からデジタル信号へ変換する。センサ７は、半導体ウエハ（試料）１１上をスキャンしながら、画像信号を取得することで、半導体ウエハ１１（半導体チップ１１ａ）の全面にわたる二次元の画像データを取得することができる。この画像データは、画像取得部６から画像処理部２に入力される。
【００１３】
外部装置９は、図示を省略したが、入力装置と、表示装置と、記憶装置とを有している。入力装置と表示装置とで、ユーザインターフェイス（例えば、グラフィカルユーザインターフェイス：ＧＵＩ）を構成している。欠陥検査で用いるプログラム（演算プログラムとシーケンスプログラム）や、設定値、検査条件などの制御情報（演算パラメータ）は、入力装置からユーザインターフェイスを通して、外部装置９内の記憶装置と画像処理部２に入力される。外部装置９内の記憶装置は、そのプログラム、制御情報（演算パラメータ）、この欠陥検査による検査結果などを記憶する。なお、欠陥検査による検査結果は、画
像処理部２が、画像データから欠陥を検出し、その欠陥の特徴（座標、形状、大きさ、種類など）を欠陥情報として作成する。外部装置９は、この欠陥情報を、表示装置に表示することで、オペレータにそれぞれの欠陥の種類の確認を促す。オペレータは、表示された欠陥情報に基づき、入力装置を用いて、それぞれの欠陥の種類を入力し、決定する。この決定も検査結果として記憶装置に記憶される。
【００１４】
画像処理部２は、画像取得部６から入力された画像データを記憶する画像メモリ３と、画像データに画像処理を施すマルチプロセッサユニット（並列処理手段）５と、画像処理部２、画像取得部６、及び外部装置９を含む欠陥検査装置１全体の動作を制御する全体制御部４とを備えている。マルチプロセッサユニット（並列処理手段）５は、複数のマルチコアプロセッサを有している。
【００１５】
画像メモリ３は、複数の半導体チップ１１ａの画像データを記憶可能なメモリ空間を有している。全体制御部４は、画像メモリ３から画像ブロックを切出す機能（画像データを分割して、複数の画像ブロックを生成し分配する機能）を有しており、全体制御部４の領域計算をもとに切出された画像ブロックは、マルチプロセッサユニット５に入力される。
【００１６】
全体制御部４は、マルチプロセッサユニット５との画像ブロックの送信や検査結果の受信等のデータ交換を行う。また、全体制御部４は、画像メモリ３に蓄積される画像データの制御を行う。全体制御部４は、外部装置９から入力されるプログラム（演算プログラムとシーケンスプログラム）や、設定値、検査条件などの制御情報（演算パラメータ）を所定のプロセッサ（マルチプロセッサユニット５）にロード・設定し、前記プロセッサ（マルチプロセッサユニット５）を作動させ、制御情報に基づいた欠陥検出処理（画像処理）を実施する。全体制御部４は、マルチプロセッサユニット５から画像処理の結果である検
査結果を受信し、外部装置９へ送信する。
【００１７】
図２に、画像処理部２が有する全体制御部４とマルチプロセッサユニット５の構成図を示す。全体制御部４は、処理制御手段４ａと、分割手段４ｂを有している。マルチプロセッサユニット５は、複数のコアを有するマルチコアプロセッサ１２（１２ａ、１２ｂ）を複数有している。
【００１８】
処理制御手段４ａは、プログラム（演算プログラムとシーケンスプログラム）や、設定値、検査条件などの制御情報（演算パラメータ）を、マルチプロセッサユニット５のマルチコアプロセッサ１２（１２ａ、１２ｂ）にロード・設定し、前記マルチコアプロセッサ１２（１２ａ、１２ｂ）を作動させ、制御情報に基づいた欠陥検出処理（画像処理）を実施する。
【００１９】
分割手段４ｂは、画像取得部６（図１参照）で撮像され画像メモリ３に記憶されている画像データを、複数の画像ブロックに分割し、マルチプロセッサユニット５のマルチコアプロセッサ１２（１２ａ、１２ｂ）に送信する。マルチコアプロセッサ１２（１２ａ、１２ｂ）では、受信した画像ブロックについて、前記欠陥検出処理（画像処理）を実施し、検査結果（演算結果）を生成して、全体制御部４へ送信する。
【００２０】
マルチプロセッサユニット（並列処理手段）５は、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）を有している。複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）は、分割手段４ｂにより分割・分配された画像ブロックを、演算パラメータにしたがうプログラムの並列した実行によって、前記欠陥検出処理（画像処理）を並行して実施し、処理結果として得られる検査結果（演算結果）を全体制御部４に送信する。マルチプロセッサユニット５を構成する複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）ではそれぞれ、ある一定数のコアが１つの半導体基板（チップ）内に形成されている。そして、マルチ
コアプロセッサ１２（１２ａ、１２ｂ）の数を変更することによって、欠陥検査装置１の処理能力を、スケーラブルに増減させることができる。
【００２１】
図３に、画像処理部２が有する全体制御部４とマルチプロセッサユニット５との接続の関係を示す。マルチプロセッサユニット５は、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）を有し、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）はそれぞれ、複数のコア（制御コア１４と演算コア１３（１３ａ、１３ｂ）を有している。制御コア１４は、マルチコアプロセッサ１２（１２ａ、１２ｂ）毎について、図３では、１つの例を示したが、これに限らず、複数であってもよい。また、演算コア１３（１３ａ、１３ｂ）は、マルチコアプロセッサ１２（１２ａ、１２ｂ）毎について、図３では、２つの例を示したが、これに限らず、１つであっても３つ以上であってもよい。制御コア１４は、演算コア１３（１３ａ、１３ｂ）のそれぞれに対して、直接、接続している。
【００２２】
制御コア１４は、画像ブロックを、分割手段４ｂから画像バス１６を介して受信する。演算コア１３（１３ａ、１３ｂ）のそれぞれは、画像ブロックの前記欠陥検出処理を行う。演算コア１３（１３ａ、１３ｂ）が欠陥検出処理を行う画像ブロックは、制御コア１４を介して用意される。欠陥検出処理は、主に、遅延処理と差分検出処理とを有している。遅延処理は、入力した先の画像ブロックを遅延させる。遅延処理は、先の画像ブロックを後に入力した画像ブロックが差分検出処理に入るのと同じタイミングで、差分検出処理に入れる。差分検出処理は、先の画像ブロックと後の画像ブロックとの対応する画素における信号強度の差分を検出する。差分検出処理では、検出した差分より、欠陥の有無を判定する。この欠陥の判定では、前記差分に対して判定するためのしきい値が設定される。このしきい値は、前記した演算パラメータをもとに演算コア１３（１３ａ、１３ｂ）で算出される。また、欠陥が検出された（欠陥があると判定された）画素の画像ブロック内の位置や信号強度などの特徴量が、検査結果（演算結果）として取得され、処理制御手段４ａへ送信される。
【００２３】
制御コア１４は、いわゆる、前記欠陥検出処理（画像処理）以外の処理を実施し、演算コア１３（１３ａ、１３ｂ）は、その前記欠陥検出処理（画像処理）を専門に実施する。すなわち、演算コア１３（１３ａ、１３ｂ）が、前記欠陥検出処理（画像処理）を専ら実施できるように、制御コア１４は、前記欠陥検出処理（画像処理）に必要な制御処理を実施している。具体的に、制御コア１４は、外部制御割込みとなる演算パラメータや画像ブロックの受信を行う。また、制御コア１４は、処理シーケンス制御として、受信した画像ブロックを更に分割して、複数の演算コア１３（１３ａ、１３ｂ）に分配して分担し、並列処理させる。さらに、制御コア１４は、処理シーケンス制御として、受信した画像ブロック（例えば、半導体チップ１１ａ（図１参照）の１つ分の画像データ）を半導体チップ１１ａの前記しきい値の異なる領域毎に分割して、予め異なるしきい値（演算パラメータ）を設定した演算コア１３ａと演算コア１３ｂに分配し、並列処理させる。同様に、制御コア１４は、処理シーケンス制御として、受信した画像ブロック（例えば、半導体チップ１１ａ（図１参照）の１つ分の画像データ）を半導体チップ１１ａのメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域とに分割して、予めメモリ領域用と論理回路用で異なるアルゴリズムの前記遅延処理と前記差分検出処理を実行する演算プログラムをロードした演算コア１３ａと演算コア１３ｂに分配し、並列処理させる。演算コア１３（１３ａ、１３ｂ）は、前記欠陥検出処理（画像処理）を専ら実施できるので、処理能力を高く維持でき、また、複数の演算コア１３（１３ａ、１３ｂ）で、前記欠陥検出処理（画像処理）を、並列に実施できるので、処理能力を高めることができる。また、演算コア１３ａを、複数設け、同一の欠陥検出処理（例えば、演算パラメータが同一）を並列に行うことで処理能力を高めることができる。同様に、演算コア１３ｂを、複数設け、同一の欠陥検出処理（例えば、演算パラメータが同一、ただし、演算コア１３ａの演算パラメータとは異なる）を並列に行うことで処理能力を高めることができる。前記のように、複数の演算コア１３（１３ａ、１３ｂ）で動作する欠陥検出処理を、目的に応じて演算コア１３（１３ａ、１３ｂ）毎に変更することを可能とすることで、検査対象に適した複数の欠陥検出処理を行うことができ、複数の出力結果を出力することができる。複数のこの出力結果は、検査対象によって選別あるいは結合（統合）して出力される。
【００２４】
１つのマルチコアプロセッサ１２（１２ａ、１２ｂ）を構成する制御コア１４と演算コア１３（１３ａ、１３ｂ）とは、１つの半導体チップ内に形成されている。そのため、制御コア１４と演算コア１３（１３ａ、１３ｂ）との間の送受信は高速で行うことができる。
【００２５】
全体制御部４の処理制御手段４ａは、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）毎の制御コア１４と、１つの共通の制御バス１５によって接続している。なお、この接続は、制御バス１５に限らず、ネットワークの通信手段や、バスとネットワークの組合せであってもよい。これにより、処理制御手段４ａと複数の制御コア１４の間で、高速に、演算パラメータや、演算結果等を送受信することができる。
【００２６】
また、全体制御部４の分割手段４ｂは、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）毎の制御コア１４と、１つの共通の画像バス１６によって接続している。なお、この接続は、画像バス１６に限らず、ネットワークの通信手段や、バスとネットワークの組合せであってもよい。これにより、分割手段４ｂと複数の制御コア１４の間で、高速に、画像ブロックを送受信することができる。
【００２７】
マルチコアプロセッサ１２を増設する際には、既設の制御バス１５と画像バス１６とに、増設するマルチコアプロセッサ１２を接続すればよい。マルチコアプロセッサ１２を減らす際には、制御バス１５と画像バス１６とから、外すマルチコアプロセッサ１２を外せばよい。このように、マルチコアプロセッサ１２（１２ａ、１２ｂ）の個数を変更することができ、このような規模の拡縮によって、欠陥検査装置１の処理能力を、スケーラブルに増減させることができる。
【００２８】
図４と図５に、本発明の実施形態に係る欠陥検査装置１による欠陥検査方法のフローチャートを示す。このフローチャートでは、外部装置９（図１参照）と、全体制御部４と、制御コア１４と、演算コア１３（１３ａ、１３ｂ）とにおいて説明する。
【００２９】
まず、ステップＳ１で、外部装置９は、ＧＵＩによって、演算コア１３（１３ａ、１３ｂ）で実行される演算プログラムと、制御コア１４で実行されるシーケンスプログラムの入力をオペレータに促し、演算プログラムとシーケンスプログラムを登録する。演算コア１３ａ、１３ｂ毎に異なる演算プログラムを登録してもよい。
【００３０】
ステップＳ２で、外部装置９は、ＧＵＩによって、次の欠陥検査で使用する演算プログラムとシーケンスプログラムの選択をオペレータに促し、選択された演算プログラムとシーケンスプログラムの方法を記憶する。
【００３１】
ステップＳ３で、外部装置９は、選択された演算プログラムとシーケンスプログラムに関する情報を、全体制御部４へ転送する。
【００３２】
ステップＳ４で、全体制御部４は、選択された演算プログラムとシーケンスプログラムを、制御コア１４へ転送する。
【００３３】
ステップＳ５で、制御コア１４は、選択されて転送されたシーケンスプログラムを、ロードする（読み込む）。
【００３４】
ステップＳ６で、制御コア１４は、選択されて転送された演算プログラムを、演算コア１３（１３ａ、１３ｂ）へ転送する。
【００３５】
ステップＳ７で、演算コア１３（１３ａ、１３ｂ）は、選択されて転送された演算プログラムを、ロードする（読み込む）。
【００３６】
ステップＳ８で、外部装置９は、ＧＵＩによって、演算コア１３（１３ａ、１３ｂ）において、演算プログラムの実行の際に使用される演算パラメータの入力をオペレータに促し、入力された演算パラメータを記憶する。
【００３７】
ステップＳ９で、外部装置９は、演算コア１３（１３ａ、１３ｂ）にロードされている演算プログラムが、演算パラメータに対して最適か否か判定する。例えば、演算パラメータとして、半導体チップ１１ａにおいてメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域の座標や面積等を取得しておく。メモリ領域にはメモリ回路において欠陥を良好に検出可能な演算プログラムを実行することが望ましい。また、ロジック領域にはロジック回路において欠陥を良好に検出可能な演算プログラムを実行することが望ましい。ステップＳ９の判定では、ロードされている演算プログラムが、前記のような
演算パラメータとの対応関係になっているか否か判定する。対応関係になっていれば、最適であるとして（ステップＳ９、Ｙｅｓ）、ステップＳ１５へ進む。対応関係になっていなければ、最適ではないとして（ステップＳ９、Ｎｏ）、ステップＳ１０へ進む。
【００３８】
ステップＳ１０で、外部装置９は、入力した演算パラメータに対応する演算プログラムを再選択し記憶する。
【００３９】
ステップＳ１１で、外部装置９は、読み出した演算プログラムまたはその情報を、全体制御部４へ転送する。
【００４０】
ステップＳ１２で、全体制御部４は、読み出した演算プログラムを、制御バス１５を介して、制御コア１４へ転送する。
【００４１】
ステップＳ１３で、制御コア１４は、読み出した演算プログラムを、演算コア１３（１３ａ、１３ｂ）へ転送する。
【００４２】
ステップＳ１４で、演算コア１３（１３ａ、１３ｂ）は、読み出した演算プログラムを、ロードする（読み込む）。
【００４３】
ステップＳ１５で、外部装置９は、ステップＳ８で入力された演算パラメータを、全体制御部４へ転送する。
【００４４】
ステップＳ１６で、全体制御部４は、入力された演算パラメータを、制御バス１５を介して、制御コア１４へ転送する。
【００４５】
ステップＳ１７で、制御コア１４は、入力された演算パラメータを、演算コア１３（１３ａ、１３ｂ）へ通知したり、演算コア１３（１３ａ、１３ｂ）の演算プログラム上に設定したりする。演算パラメータを、演算コア１３（１３ａ、１３ｂ）に送信して設定しなくても、制御コア１４が演算パラメータを受信したことを示す情報（例えば、割込み通知情報）を、演算コア１３（１３ａ、１３ｂ）に通知してもよい。これによれば、複数の演算コア１３（１３ａ、１３ｂ）が共有情報として、制御コア１４が保持する演算パラメータを参照することができる。
【００４６】
次に、図５のステップＳ２１で、画像取得部６で半導体ウエハ１１の画像データが取得される。全体制御部４の画像メモリ３に画像データが記憶される。全体制御部４の分割手段４ｂは、画像メモリ３から画像データを取得する。
【００４７】
ステップＳ２２で、全体制御部４の分割手段４ｂは、画像データを分割して、画像ブロックを生成する。
【００４８】
ステップＳ２３で、全体制御部４の分割手段４ｂは、画像ブロックを、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）それぞれの制御コア１４に画像バス１６を介して、送信（分配）する。
【００４９】
ステップＳ２４で、制御コア１４は、画像ブロックの受信がトリガとなり、ロードされているシーケンスプログラムによるシーケンス制御をスタートさせる。複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）における並列処理がスタートする。
【００５０】
ステップＳ２５で、制御コア１４は、画像ブロックを受信したことを、演算コア１３（１３ａ、１３ｂ）へ通知したり、受信した画像ブロックを、演算コア１３（１３ａ、１３ｂ）に送信したりする。画像ブロックを、演算コア１３（１３ａ、１３ｂ）に送信して記憶させなくても、制御コア１４が画像ブロックを受信したことを示す情報（例えば、割込み通知情報）を、演算コア１３（１３ａ、１３ｂ）に通知してもよい。これによれば、複数の演算コア１３（１３ａ、１３ｂ）が共有データとして、制御コア１４が保持する画像ブロックを参照することができる。
【００５１】
ステップＳ２６で、複数の演算コア１３（１３ａ、１３ｂ）は、それぞれにロードされた演算プログラムを実行することで、互いに並列に画像処理（欠陥検出処理）を実施する。例えば、ステップＳ２５で、制御コア１４が、画像ブロックを更に分割して、複数の演算コア１３（１３ａ、１３ｂ）に分配し、このステップＳ２６で、並列処理させる。また、例えば、ステップＳ２５で、制御コア１４が、受信した画像ブロックを半導体チップ１１ａの前記しきい値の異なる領域毎に分割して、予め異なるしきい値（演算パラメータ）を設定した演算コア１３ａと演算コア１３ｂに分配し、このステップＳ２６で、並列処理
させる。また、例えば、ステップＳ２５で、制御コア１４が、受信した画像ブロックを半導体チップ１１ａのメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域とに分割して、予めメモリ領域用と論理回路用で異なるアルゴリズムの前記遅延処理と前記差分検出処理を実行する演算プログラムをロードした演算コア１３ａと演算コア１３ｂに分配し、このステップＳ２６で、並列処理させる。
【００５２】
ステップＳ２７で、複数の演算コア１３（１３ａ、１３ｂ）は、画像処理（欠陥検出処理）の実施によって取得された欠陥の位置等の検査結果を、制御コア１４へ、送信する。
【００５３】
ステップＳ２８で、制御コア１４は、検査結果を送信した演算コア１３（１３ａ、１３ｂ）のコア名（識別子）を検出する。
【００５４】
ステップＳ２９で、制御コア１４は、すべての画像ブロックの検査が完了しているか否か判定する。すべての画像ブロックの検査が完了している場合は（ステップＳ２９、Ｙｅｓ）、ステップＳ３０へ進む。まだ、すべての画像ブロックの検査が完了していない場合は（ステップＳ２９、Ｎｏ）、ステップＳ２５へ戻り、まだ、送信されていない画像ブロックを分割したものを、ステップＳ２８で検出したコア名（識別子）に対応し処理待ち状態の演算コア１３（１３ａ、１３ｂ）に送信する。
【００５５】
ステップＳ３０で、制御コア１４は、複数の演算コア１３（１３ａ、１３ｂ）から送信された検査結果を統合する。具体的には、分割された画像ブロック内の位置として検出されている欠陥の座標を、分割前の画像ブロック内の位置としての欠陥座標に変換することなどであるが、演算コア１３（１３ａ、１３ｂ）でこれらの処理を行ってもよい。また、複数の演算コア１３（１３ａ、１３ｂ）で検出した欠陥数の合算や検査結果を結果データとして纏め編集することもできる。
【００５６】
ステップＳ３１で、制御コア１４は、パラメータなどであらかじめ規定された単位で統合した検査結果を、全体制御部４の処理制御手段４ａへ送信する。
【００５７】
ステップＳ３２で、処理制御手段４ａは、検査結果がすべて送信されてきたか否か判定する。検査結果がすべて送信されてきた場合は（ステップＳ３２、Ｙｅｓ）、ステップＳ３３へ進む。まだ、検査結果がすべて送信されてきていない場合は（ステップＳ３２、Ｎｏ）、ステップＳ２３へ戻り、まだ、送信されていない画像ブロックを、予め検出しておいた処理待ち状態のマルチコアプロセッサ１２（１２ａ、１２ｂ）に送信する。
【００５８】
ステップＳ３３で、処理制御手段４ａは、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）から送信された検査結果を統合する。具体的には、画像ブロック内の位置として検出されている欠陥の座標を、分割前の画像データ（半導体ウエハ１１）内の位置としての欠陥座標に変換することなどであるが、各マルチコアプロセッサ１２（１２ａ、１２ｂ）内の処理としてこれらの処理を行ってもよい。また、複数のマルチコアプロセッサ１２（１２ａ、１２ｂ）から重複検出された検査結果の統合や、検査結果をパラメータ等で指定された形式でファイルに変換することもできる。
【００５９】
ステップＳ３４で、処理制御手段４ａは、画像データ（半導体ウエハ１１）のレベルで統合した検査結果を、外部装置９へ送信する。
【００６０】
ステップＳ３５で、外部装置９は、検査結果を記憶するとともに表示し、オペレータの確認を促す。オペレータによる検査結果の確認の入力を、前記検査結果とともに記憶する。
【実施形態２】
【００６１】
次に本発明の第２実施形態について説明する。本実施形態が実施形態１と主に異なる点は以下の通りである。
（１）検査対象に対して複数の方向に配置された画像取得部を有すること。（２）少なくとも１方向に走査することによって得られた画像を保存するのに十分な容量を有する記憶部を有すること。（３）複数の画像をパケット化してマルチコアプロセッサ内で処理すること。他の点については実施形態１と同様である。
【００６２】
図６は、本実施形態の装置構成を説明する図である。本実施形態では、実施形態１の構成に加えて、センサ６０１、Ａ/Ｄ変換回路６０２、画像メモリ６０３を有する。つまり、本実施形態の欠陥検査装置は、検査対象に対して複数の方向に配置された画像取得部を有している。
【００６３】
全体制御部４には、１回の走査６０５によって得られた画像を保存するのに十分な容量を有する画像記憶部６０４が接続されている。センサ７、センサ６０１によって得られた画像は全体制御部によって画像記憶部６０４に保存されることになる。
【００６４】
図７は、本実施形態での全体制御部４とマルチプロセッサユニット５との関係を説明する図である。分割手段４bは画像記憶部６０４に記憶されている画像を、複数の画像ブロックに分割し、複数の画像ブロックをパケットとして、マルチプロセッサユニット５のマルチコアプロセッサ１２（１２ａ、１２ｂ）に送信する。
【００６５】
本実施例ではパケットの種類は幾つか考えられる。図８は本実施例におけるパケットの種類の例を説明する図である。パケット８０１には同じダイについてセンサ７で得られた画像ブロック８０１１、及びセンサ６０１で得られた画像ブロック８０１２が含まれている。
【００６６】
パケット８０２には第1のダイについてのセンサ７で得られた画像ブロック８０２１、第1のダイに隣接する第2のダイについてセンサ７で得られた画像ブロック８０２２、第1のダイについてのセンサ６０１で得られた画像ブロック８０２３、第2のダイについてセンサ６０１で得られた画像ブロック８０２４が含まれている。いずれのパケットにも、画像ブロックに対する制御情報が付されている。
【００６７】
次にマルチコアプロセッサ１２a、１２bについて説明する。制御コア１４は分割手段４bから送信されたパケットを受け取る。制御コア１４はパケットに付された制御情報を参照して、パケットが含む画像ブロックの処理に適切な演算プログラムを処理制御手段、又は制御コア内のメモリから読み出し、演算コア１３a、１３bへロードする。演算コア１３a、はロードされた演算プログラムに基づいて画像ブロックを処理する。
【００６８】
図８のパケット８０１を制御コア１４が受け取った場合は、例えば、まず受信した画像ブロック８０１１を演算コア１３aに送信し、画像ブロック８０１２は演算コア１３bに送信する。演算コア１３aは画像ブロック８０１１をメモリ領域とロジック領域とに分割する。そして、演算コア１３aは、予めロードされたメモリ領域用の遅延処理プログラム、及び差分検出処理プログラムを使用してメモリ領域を処理し、ロジック回路用の遅延処理プログラム、差分検出処理プログラムを使用してロジック領域を処理する。同様に、演算コア１３ｂは画像ブロック８０１２をメモリ領域とロジック領域とに分割する。そして、演算コア１３bは、予めロードされたメモリ領域用の遅延処理プログラム、及び差分検出処理プログラムを使用してメモリ領域を処理し、ロジック回路用の遅延処理プログラム、差分検出処理プログラムを使用してロジック領域を処理する。本実施形態を適用する欠陥検査装置を散乱光を検出する暗視野型検査装置とした場合を例にとると、暗視野型では、画像ブロック８０１１、８０１２の像は大きく異なることがある。よって、演算コア１３a、１３bへロードされるプログラムは、暗視野像の検出方位による差異を考慮したものとなり、それぞれ異なる種類のものとなる場合もある。また、パケット８０１には同じ画像ブロックを２つ含ませ、演算コア１３a、１３ｂで異なるプログラムを使用して処理しても良い。
【００６９】
図８のパケット８０２をマルチコアプロセッサ１２aの制御コア１４が受け取った場合は、例えば、まず受信した画像ブロック８０２１、８０２３を演算コア１３aに送信し、画像ブロック８０２２、８０２４は演算コア１３bに送信する。演算コア１３aは画像ブロック８０２１、８０２３に対して互いの座標が一致するよう位置合わせ処理を行う。演算コア１３bは画像ブロック８０２１、８０２３に対して互いの座標が一致するよう位置合わせ処理を行う。位置合わせ処理が行われ座標が一致した画像ブロック８０２１、８０２３はマルチコアプロセッサ１２bの制御コアへ送信され、パケット８０１を扱う場合と同様の手順により遅延処理、及び差分検出処理が行われる。位置合わせ処理が行われ座標が一致した画像ブロック８０２２、８０２４は他のマルチコアプロセッサへ送信される。遅延処理、及び差分検出処理が行われることになる。なお、マルチコアプロセッサ１２aの演算コア１３a、演算コア１３bのメモリ容量が２つの画像ブロック、位置合わせ用のプログラム、遅延処理プログラム、差分検出処理プログラムを保存するのに十分な容量があれば、位置合わせ処理後に引き続き遅延処理、差分検出処理が行われる場合もある。
【００７０】
パケット８０１、８０２について処理する場合を説明したが、いずれの場合でも処理結果は全体制御部４を経由して、記憶部６０４へ記憶される場合もあるし、外部装置９へ送信される場合もある。また、いずれの場合でも、メモリ領域とロジック領域との分割は制御コア１４で行ってもよい。また分割手段４bが記憶部６０４からパケットを読み出すタイミングは任意のタイミングに制御可能である。また、本実施形態に開示される内容はいわゆる明視野型の検査装置に適用しても良い。
【符号の説明】
【００７１】
１      欠陥検査装置
２      画像処理部（欠陥検査装置に用いられる画像処理装置）
３      画像メモリ
４      全体制御部
４ａ    処理制御手段
４ｂ    分割手段
５      マルチプロセッサユニット（並列処理手段）
６      画像取得部（撮像手段）
７      センサ
８      Ａ／Ｄ変換回路
９      外部装置
１１    半導体ウエハ（試料）
１１ａ  半導体チップ
１２、１２ａ、１２ｂ  マルチコアプロセッサ
１３、１３ａ、１３ｂ  演算コア
１４    制御コア
１５    制御バス
１６    画像バス
【図１】
2013064732.tif 000003
【図２】
2013064732.tif 000004
【図３】
2013064732.tif 000005
【図４】
2013064732.tif 000006
【図５】
2013064732.tif 000007
【図６】
2013064732.tif 000008
【図７】
2013064732.tif 000009
【図８】
2013064732.tif 000010