説明

欠陥検査装置、及び画像処理装置

【課題】マルチコアプロセッサ12を用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置を提供する。
【解決手段】表面にパターンが形成された試料を撮像する撮像手段と、撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段4bと、複数の画像ブロックに対してパターンの欠陥を検出する欠陥検出処理を並列に行う並列処理手段5とを備え、並列処理手段5には複数のコア13、14を有するマルチコアプロセッサ12を複数使用する。マルチコアプロセッサ12毎に、画像ブロックの欠陥検出処理が行われる。複数のコア13、14は、画像ブロックの欠陥検出処理を行う演算コア13と、画像ブロックを分割手段4bから受信する制御コア14とを有し、演算コア13が欠陥検出処理を行う画像ブロックは、制御コア14を介して用意される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、試料に形成されたパターンの欠陥を検査する欠陥検査装置、及び、それに用いられる画像処理装置に関する。
【背景技術】
【0002】
欠陥検査装置は、半導体ウエハや、表示装置や、ホトマスクなどの試料の表面に形成される微細なパターンの欠陥を検査するのに用いられている。欠陥検査装置では、試料のパターンを撮像して得られた画像データを、画像処理することで欠陥の検出を行い、検出された欠陥から欠陥の特徴(座標、形状、大きさ、種類など)を欠陥情報として出力することで、欠陥の検査を行っている。
【0003】
そして、欠陥検査装置としては、半導体ウエハをイメージセンサなどで撮像した大量の画像データを、所定の大きさの画像ブロックに分割し、その画像ブロックを複数のプロセッサを使用して並列処理することによって、高速な画像処理を行うものが知られている(特に、特許文献1と2参照)。また、近年のプロセッサの主流はマルチコアプロセッサに移行しており、マルチコアプロセッサの活用による製品の小型化、省電力化、低価格化が進められている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−286586号公報
【特許文献2】特開2010−216963号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
半導体ウエハ等の試料の表面に形成されたパターンの微細化が一層進められており、画像データのデータ量が膨大化している。これに伴う画像処理に要する時間の長大化を抑制するため、マルチコアプロセッサの多コア化が推進されている。しかし、アムダールの法則により、画像処理の処理性能がコア数に比例しないことが明らかになってきている。多コア化したマルチコアプロセッサを用いても、コア数の他に、画像処理の処理性能を略比例して(線形的に)増減できるパラメータを有する(スケーラブル性を有する)欠陥検査装置があれば、パターンの微細化に合わせて、処理能力をスケーラブルに向上させること
ができ有用である。
【0006】
そこで、本発明が解決しようとする課題は、マルチコアプロセッサを用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置、及び、それに用いられる画像処理装置を提供することである。
【課題を解決するための手段】
【0007】
本発明は、表面にパターンが形成された試料を撮像する撮像手段と、 前記撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、 前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段とを備え、前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用する欠陥検査装置であることを特徴としている。
【発明の効果】
【0008】
本発明によれば、マルチコアプロセッサを用いても画像処理の処理性能をスケーラブルに向上させることが可能な欠陥検査装置、及び、それに用いられる画像処理装置を提供できる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態に係る欠陥検査装置の構成図である。
【図2】欠陥検査装置が有する画像処理部を構成する全体制御部とマルチプロセッサユニットの構成図(その1)である。
【図3】欠陥検査装置が有する画像処理部を構成する全体制御部とマルチプロセッサユニットの構成図(その2)である。
【図4】本発明の実施形態に係る欠陥検査装置による欠陥検査方法のフローチャート(その1)である。
【図5】本発明の実施形態に係る欠陥検査装置による欠陥検査方法のフローチャート(その2)である。
【図6】実施形態2を説明する図(その1)
【図7】実施形態2を説明する図(その2)
【図8】実施形態2を説明する図(その3)
【発明を実施するための形態】
【0010】
次に、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、各図において、共通する部分には同一の符号を付し重複した説明を省略している。
【実施形態1】
【0011】
図1に、本発明の実施形態に係る欠陥検査装置1の構成図を示す。欠陥検査装置1は、画像取得部(撮像手段)6と、画像処理部(欠陥検査装置に用いられる画像処理装置)2と、外部装置9とで概略構成されている。欠陥検査装置1では、試料11として、例えば図1に示すように半導体ウエハを検査することができる。半導体ウエハのほかにも、液晶画面のような表示装置や、半導体ウエハや表示装置の製造に用いられるホトマスク等を検査することができる。なお、半導体ウエハ(試料)11上には、複数の半導体チップ11aが形成されている。複数の半導体チップ11aはマトリックス状に配列されている。
【0012】
画像取得部6は、半導体チップ11aの表面に形成されたパターンと、何らかの原因により生じた欠陥を撮像する。画像取得部6は、センサ7と、A/D変換回路8とを有している。センサ7としては、例えば、TDI(Time Delay and Integration)センサ、CCDセンサ等のラインセンサを用いることができる。センサ7は、半導体ウエハ11の表面からの光(反射光)を受光して画像信号を取得する。A/D変換回路8は、その画像信号をアナログ信号からデジタル信号へ変換する。センサ7は、半導体ウエハ(試料)11上をスキャンしながら、画像信号を取得することで、半導体ウエハ11(半導体チップ11a)の全面にわたる二次元の画像データを取得することができる。この画像データは、画像取得部6から画像処理部2に入力される。
【0013】
外部装置9は、図示を省略したが、入力装置と、表示装置と、記憶装置とを有している。入力装置と表示装置とで、ユーザインターフェイス(例えば、グラフィカルユーザインターフェイス:GUI)を構成している。欠陥検査で用いるプログラム(演算プログラムとシーケンスプログラム)や、設定値、検査条件などの制御情報(演算パラメータ)は、入力装置からユーザインターフェイスを通して、外部装置9内の記憶装置と画像処理部2に入力される。外部装置9内の記憶装置は、そのプログラム、制御情報(演算パラメータ)、この欠陥検査による検査結果などを記憶する。なお、欠陥検査による検査結果は、画
像処理部2が、画像データから欠陥を検出し、その欠陥の特徴(座標、形状、大きさ、種類など)を欠陥情報として作成する。外部装置9は、この欠陥情報を、表示装置に表示することで、オペレータにそれぞれの欠陥の種類の確認を促す。オペレータは、表示された欠陥情報に基づき、入力装置を用いて、それぞれの欠陥の種類を入力し、決定する。この決定も検査結果として記憶装置に記憶される。
【0014】
画像処理部2は、画像取得部6から入力された画像データを記憶する画像メモリ3と、画像データに画像処理を施すマルチプロセッサユニット(並列処理手段)5と、画像処理部2、画像取得部6、及び外部装置9を含む欠陥検査装置1全体の動作を制御する全体制御部4とを備えている。マルチプロセッサユニット(並列処理手段)5は、複数のマルチコアプロセッサを有している。
【0015】
画像メモリ3は、複数の半導体チップ11aの画像データを記憶可能なメモリ空間を有している。全体制御部4は、画像メモリ3から画像ブロックを切出す機能(画像データを分割して、複数の画像ブロックを生成し分配する機能)を有しており、全体制御部4の領域計算をもとに切出された画像ブロックは、マルチプロセッサユニット5に入力される。
【0016】
全体制御部4は、マルチプロセッサユニット5との画像ブロックの送信や検査結果の受信等のデータ交換を行う。また、全体制御部4は、画像メモリ3に蓄積される画像データの制御を行う。全体制御部4は、外部装置9から入力されるプログラム(演算プログラムとシーケンスプログラム)や、設定値、検査条件などの制御情報(演算パラメータ)を所定のプロセッサ(マルチプロセッサユニット5)にロード・設定し、前記プロセッサ(マルチプロセッサユニット5)を作動させ、制御情報に基づいた欠陥検出処理(画像処理)を実施する。全体制御部4は、マルチプロセッサユニット5から画像処理の結果である検
査結果を受信し、外部装置9へ送信する。
【0017】
図2に、画像処理部2が有する全体制御部4とマルチプロセッサユニット5の構成図を示す。全体制御部4は、処理制御手段4aと、分割手段4bを有している。マルチプロセッサユニット5は、複数のコアを有するマルチコアプロセッサ12(12a、12b)を複数有している。
【0018】
処理制御手段4aは、プログラム(演算プログラムとシーケンスプログラム)や、設定値、検査条件などの制御情報(演算パラメータ)を、マルチプロセッサユニット5のマルチコアプロセッサ12(12a、12b)にロード・設定し、前記マルチコアプロセッサ12(12a、12b)を作動させ、制御情報に基づいた欠陥検出処理(画像処理)を実施する。
【0019】
分割手段4bは、画像取得部6(図1参照)で撮像され画像メモリ3に記憶されている画像データを、複数の画像ブロックに分割し、マルチプロセッサユニット5のマルチコアプロセッサ12(12a、12b)に送信する。マルチコアプロセッサ12(12a、12b)では、受信した画像ブロックについて、前記欠陥検出処理(画像処理)を実施し、検査結果(演算結果)を生成して、全体制御部4へ送信する。
【0020】
マルチプロセッサユニット(並列処理手段)5は、複数のマルチコアプロセッサ12(12a、12b)を有している。複数のマルチコアプロセッサ12(12a、12b)は、分割手段4bにより分割・分配された画像ブロックを、演算パラメータにしたがうプログラムの並列した実行によって、前記欠陥検出処理(画像処理)を並行して実施し、処理結果として得られる検査結果(演算結果)を全体制御部4に送信する。マルチプロセッサユニット5を構成する複数のマルチコアプロセッサ12(12a、12b)ではそれぞれ、ある一定数のコアが1つの半導体基板(チップ)内に形成されている。そして、マルチ
コアプロセッサ12(12a、12b)の数を変更することによって、欠陥検査装置1の処理能力を、スケーラブルに増減させることができる。
【0021】
図3に、画像処理部2が有する全体制御部4とマルチプロセッサユニット5との接続の関係を示す。マルチプロセッサユニット5は、複数のマルチコアプロセッサ12(12a、12b)を有し、複数のマルチコアプロセッサ12(12a、12b)はそれぞれ、複数のコア(制御コア14と演算コア13(13a、13b)を有している。制御コア14は、マルチコアプロセッサ12(12a、12b)毎について、図3では、1つの例を示したが、これに限らず、複数であってもよい。また、演算コア13(13a、13b)は、マルチコアプロセッサ12(12a、12b)毎について、図3では、2つの例を示したが、これに限らず、1つであっても3つ以上であってもよい。制御コア14は、演算コア13(13a、13b)のそれぞれに対して、直接、接続している。
【0022】
制御コア14は、画像ブロックを、分割手段4bから画像バス16を介して受信する。演算コア13(13a、13b)のそれぞれは、画像ブロックの前記欠陥検出処理を行う。演算コア13(13a、13b)が欠陥検出処理を行う画像ブロックは、制御コア14を介して用意される。欠陥検出処理は、主に、遅延処理と差分検出処理とを有している。遅延処理は、入力した先の画像ブロックを遅延させる。遅延処理は、先の画像ブロックを後に入力した画像ブロックが差分検出処理に入るのと同じタイミングで、差分検出処理に入れる。差分検出処理は、先の画像ブロックと後の画像ブロックとの対応する画素における信号強度の差分を検出する。差分検出処理では、検出した差分より、欠陥の有無を判定する。この欠陥の判定では、前記差分に対して判定するためのしきい値が設定される。このしきい値は、前記した演算パラメータをもとに演算コア13(13a、13b)で算出される。また、欠陥が検出された(欠陥があると判定された)画素の画像ブロック内の位置や信号強度などの特徴量が、検査結果(演算結果)として取得され、処理制御手段4aへ送信される。
【0023】
制御コア14は、いわゆる、前記欠陥検出処理(画像処理)以外の処理を実施し、演算コア13(13a、13b)は、その前記欠陥検出処理(画像処理)を専門に実施する。すなわち、演算コア13(13a、13b)が、前記欠陥検出処理(画像処理)を専ら実施できるように、制御コア14は、前記欠陥検出処理(画像処理)に必要な制御処理を実施している。具体的に、制御コア14は、外部制御割込みとなる演算パラメータや画像ブロックの受信を行う。また、制御コア14は、処理シーケンス制御として、受信した画像ブロックを更に分割して、複数の演算コア13(13a、13b)に分配して分担し、並列処理させる。さらに、制御コア14は、処理シーケンス制御として、受信した画像ブロック(例えば、半導体チップ11a(図1参照)の1つ分の画像データ)を半導体チップ11aの前記しきい値の異なる領域毎に分割して、予め異なるしきい値(演算パラメータ)を設定した演算コア13aと演算コア13bに分配し、並列処理させる。同様に、制御コア14は、処理シーケンス制御として、受信した画像ブロック(例えば、半導体チップ11a(図1参照)の1つ分の画像データ)を半導体チップ11aのメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域とに分割して、予めメモリ領域用と論理回路用で異なるアルゴリズムの前記遅延処理と前記差分検出処理を実行する演算プログラムをロードした演算コア13aと演算コア13bに分配し、並列処理させる。演算コア13(13a、13b)は、前記欠陥検出処理(画像処理)を専ら実施できるので、処理能力を高く維持でき、また、複数の演算コア13(13a、13b)で、前記欠陥検出処理(画像処理)を、並列に実施できるので、処理能力を高めることができる。また、演算コア13aを、複数設け、同一の欠陥検出処理(例えば、演算パラメータが同一)を並列に行うことで処理能力を高めることができる。同様に、演算コア13bを、複数設け、同一の欠陥検出処理(例えば、演算パラメータが同一、ただし、演算コア13aの演算パラメータとは異なる)を並列に行うことで処理能力を高めることができる。前記のように、複数の演算コア13(13a、13b)で動作する欠陥検出処理を、目的に応じて演算コア13(13a、13b)毎に変更することを可能とすることで、検査対象に適した複数の欠陥検出処理を行うことができ、複数の出力結果を出力することができる。複数のこの出力結果は、検査対象によって選別あるいは結合(統合)して出力される。
【0024】
1つのマルチコアプロセッサ12(12a、12b)を構成する制御コア14と演算コア13(13a、13b)とは、1つの半導体チップ内に形成されている。そのため、制御コア14と演算コア13(13a、13b)との間の送受信は高速で行うことができる。
【0025】
全体制御部4の処理制御手段4aは、複数のマルチコアプロセッサ12(12a、12b)毎の制御コア14と、1つの共通の制御バス15によって接続している。なお、この接続は、制御バス15に限らず、ネットワークの通信手段や、バスとネットワークの組合せであってもよい。これにより、処理制御手段4aと複数の制御コア14の間で、高速に、演算パラメータや、演算結果等を送受信することができる。
【0026】
また、全体制御部4の分割手段4bは、複数のマルチコアプロセッサ12(12a、12b)毎の制御コア14と、1つの共通の画像バス16によって接続している。なお、この接続は、画像バス16に限らず、ネットワークの通信手段や、バスとネットワークの組合せであってもよい。これにより、分割手段4bと複数の制御コア14の間で、高速に、画像ブロックを送受信することができる。
【0027】
マルチコアプロセッサ12を増設する際には、既設の制御バス15と画像バス16とに、増設するマルチコアプロセッサ12を接続すればよい。マルチコアプロセッサ12を減らす際には、制御バス15と画像バス16とから、外すマルチコアプロセッサ12を外せばよい。このように、マルチコアプロセッサ12(12a、12b)の個数を変更することができ、このような規模の拡縮によって、欠陥検査装置1の処理能力を、スケーラブルに増減させることができる。
【0028】
図4と図5に、本発明の実施形態に係る欠陥検査装置1による欠陥検査方法のフローチャートを示す。このフローチャートでは、外部装置9(図1参照)と、全体制御部4と、制御コア14と、演算コア13(13a、13b)とにおいて説明する。
【0029】
まず、ステップS1で、外部装置9は、GUIによって、演算コア13(13a、13b)で実行される演算プログラムと、制御コア14で実行されるシーケンスプログラムの入力をオペレータに促し、演算プログラムとシーケンスプログラムを登録する。演算コア13a、13b毎に異なる演算プログラムを登録してもよい。
【0030】
ステップS2で、外部装置9は、GUIによって、次の欠陥検査で使用する演算プログラムとシーケンスプログラムの選択をオペレータに促し、選択された演算プログラムとシーケンスプログラムの方法を記憶する。
【0031】
ステップS3で、外部装置9は、選択された演算プログラムとシーケンスプログラムに関する情報を、全体制御部4へ転送する。
【0032】
ステップS4で、全体制御部4は、選択された演算プログラムとシーケンスプログラムを、制御コア14へ転送する。
【0033】
ステップS5で、制御コア14は、選択されて転送されたシーケンスプログラムを、ロードする(読み込む)。
【0034】
ステップS6で、制御コア14は、選択されて転送された演算プログラムを、演算コア13(13a、13b)へ転送する。
【0035】
ステップS7で、演算コア13(13a、13b)は、選択されて転送された演算プログラムを、ロードする(読み込む)。
【0036】
ステップS8で、外部装置9は、GUIによって、演算コア13(13a、13b)において、演算プログラムの実行の際に使用される演算パラメータの入力をオペレータに促し、入力された演算パラメータを記憶する。
【0037】
ステップS9で、外部装置9は、演算コア13(13a、13b)にロードされている演算プログラムが、演算パラメータに対して最適か否か判定する。例えば、演算パラメータとして、半導体チップ11aにおいてメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域の座標や面積等を取得しておく。メモリ領域にはメモリ回路において欠陥を良好に検出可能な演算プログラムを実行することが望ましい。また、ロジック領域にはロジック回路において欠陥を良好に検出可能な演算プログラムを実行することが望ましい。ステップS9の判定では、ロードされている演算プログラムが、前記のような
演算パラメータとの対応関係になっているか否か判定する。対応関係になっていれば、最適であるとして(ステップS9、Yes)、ステップS15へ進む。対応関係になっていなければ、最適ではないとして(ステップS9、No)、ステップS10へ進む。
【0038】
ステップS10で、外部装置9は、入力した演算パラメータに対応する演算プログラムを再選択し記憶する。
【0039】
ステップS11で、外部装置9は、読み出した演算プログラムまたはその情報を、全体制御部4へ転送する。
【0040】
ステップS12で、全体制御部4は、読み出した演算プログラムを、制御バス15を介して、制御コア14へ転送する。
【0041】
ステップS13で、制御コア14は、読み出した演算プログラムを、演算コア13(13a、13b)へ転送する。
【0042】
ステップS14で、演算コア13(13a、13b)は、読み出した演算プログラムを、ロードする(読み込む)。
【0043】
ステップS15で、外部装置9は、ステップS8で入力された演算パラメータを、全体制御部4へ転送する。
【0044】
ステップS16で、全体制御部4は、入力された演算パラメータを、制御バス15を介して、制御コア14へ転送する。
【0045】
ステップS17で、制御コア14は、入力された演算パラメータを、演算コア13(13a、13b)へ通知したり、演算コア13(13a、13b)の演算プログラム上に設定したりする。演算パラメータを、演算コア13(13a、13b)に送信して設定しなくても、制御コア14が演算パラメータを受信したことを示す情報(例えば、割込み通知情報)を、演算コア13(13a、13b)に通知してもよい。これによれば、複数の演算コア13(13a、13b)が共有情報として、制御コア14が保持する演算パラメータを参照することができる。
【0046】
次に、図5のステップS21で、画像取得部6で半導体ウエハ11の画像データが取得される。全体制御部4の画像メモリ3に画像データが記憶される。全体制御部4の分割手段4bは、画像メモリ3から画像データを取得する。
【0047】
ステップS22で、全体制御部4の分割手段4bは、画像データを分割して、画像ブロックを生成する。
【0048】
ステップS23で、全体制御部4の分割手段4bは、画像ブロックを、複数のマルチコアプロセッサ12(12a、12b)それぞれの制御コア14に画像バス16を介して、送信(分配)する。
【0049】
ステップS24で、制御コア14は、画像ブロックの受信がトリガとなり、ロードされているシーケンスプログラムによるシーケンス制御をスタートさせる。複数のマルチコアプロセッサ12(12a、12b)における並列処理がスタートする。
【0050】
ステップS25で、制御コア14は、画像ブロックを受信したことを、演算コア13(13a、13b)へ通知したり、受信した画像ブロックを、演算コア13(13a、13b)に送信したりする。画像ブロックを、演算コア13(13a、13b)に送信して記憶させなくても、制御コア14が画像ブロックを受信したことを示す情報(例えば、割込み通知情報)を、演算コア13(13a、13b)に通知してもよい。これによれば、複数の演算コア13(13a、13b)が共有データとして、制御コア14が保持する画像ブロックを参照することができる。
【0051】
ステップS26で、複数の演算コア13(13a、13b)は、それぞれにロードされた演算プログラムを実行することで、互いに並列に画像処理(欠陥検出処理)を実施する。例えば、ステップS25で、制御コア14が、画像ブロックを更に分割して、複数の演算コア13(13a、13b)に分配し、このステップS26で、並列処理させる。また、例えば、ステップS25で、制御コア14が、受信した画像ブロックを半導体チップ11aの前記しきい値の異なる領域毎に分割して、予め異なるしきい値(演算パラメータ)を設定した演算コア13aと演算コア13bに分配し、このステップS26で、並列処理
させる。また、例えば、ステップS25で、制御コア14が、受信した画像ブロックを半導体チップ11aのメモリ回路が形成されたメモリ領域と論理回路が形成されたロジック領域とに分割して、予めメモリ領域用と論理回路用で異なるアルゴリズムの前記遅延処理と前記差分検出処理を実行する演算プログラムをロードした演算コア13aと演算コア13bに分配し、このステップS26で、並列処理させる。
【0052】
ステップS27で、複数の演算コア13(13a、13b)は、画像処理(欠陥検出処理)の実施によって取得された欠陥の位置等の検査結果を、制御コア14へ、送信する。
【0053】
ステップS28で、制御コア14は、検査結果を送信した演算コア13(13a、13b)のコア名(識別子)を検出する。
【0054】
ステップS29で、制御コア14は、すべての画像ブロックの検査が完了しているか否か判定する。すべての画像ブロックの検査が完了している場合は(ステップS29、Yes)、ステップS30へ進む。まだ、すべての画像ブロックの検査が完了していない場合は(ステップS29、No)、ステップS25へ戻り、まだ、送信されていない画像ブロックを分割したものを、ステップS28で検出したコア名(識別子)に対応し処理待ち状態の演算コア13(13a、13b)に送信する。
【0055】
ステップS30で、制御コア14は、複数の演算コア13(13a、13b)から送信された検査結果を統合する。具体的には、分割された画像ブロック内の位置として検出されている欠陥の座標を、分割前の画像ブロック内の位置としての欠陥座標に変換することなどであるが、演算コア13(13a、13b)でこれらの処理を行ってもよい。また、複数の演算コア13(13a、13b)で検出した欠陥数の合算や検査結果を結果データとして纏め編集することもできる。
【0056】
ステップS31で、制御コア14は、パラメータなどであらかじめ規定された単位で統合した検査結果を、全体制御部4の処理制御手段4aへ送信する。
【0057】
ステップS32で、処理制御手段4aは、検査結果がすべて送信されてきたか否か判定する。検査結果がすべて送信されてきた場合は(ステップS32、Yes)、ステップS33へ進む。まだ、検査結果がすべて送信されてきていない場合は(ステップS32、No)、ステップS23へ戻り、まだ、送信されていない画像ブロックを、予め検出しておいた処理待ち状態のマルチコアプロセッサ12(12a、12b)に送信する。
【0058】
ステップS33で、処理制御手段4aは、複数のマルチコアプロセッサ12(12a、12b)から送信された検査結果を統合する。具体的には、画像ブロック内の位置として検出されている欠陥の座標を、分割前の画像データ(半導体ウエハ11)内の位置としての欠陥座標に変換することなどであるが、各マルチコアプロセッサ12(12a、12b)内の処理としてこれらの処理を行ってもよい。また、複数のマルチコアプロセッサ12(12a、12b)から重複検出された検査結果の統合や、検査結果をパラメータ等で指定された形式でファイルに変換することもできる。
【0059】
ステップS34で、処理制御手段4aは、画像データ(半導体ウエハ11)のレベルで統合した検査結果を、外部装置9へ送信する。
【0060】
ステップS35で、外部装置9は、検査結果を記憶するとともに表示し、オペレータの確認を促す。オペレータによる検査結果の確認の入力を、前記検査結果とともに記憶する。
【実施形態2】
【0061】
次に本発明の第2実施形態について説明する。本実施形態が実施形態1と主に異なる点は以下の通りである。
(1)検査対象に対して複数の方向に配置された画像取得部を有すること。(2)少なくとも1方向に走査することによって得られた画像を保存するのに十分な容量を有する記憶部を有すること。(3)複数の画像をパケット化してマルチコアプロセッサ内で処理すること。他の点については実施形態1と同様である。
【0062】
図6は、本実施形態の装置構成を説明する図である。本実施形態では、実施形態1の構成に加えて、センサ601、A/D変換回路602、画像メモリ603を有する。つまり、本実施形態の欠陥検査装置は、検査対象に対して複数の方向に配置された画像取得部を有している。
【0063】
全体制御部4には、1回の走査605によって得られた画像を保存するのに十分な容量を有する画像記憶部604が接続されている。センサ7、センサ601によって得られた画像は全体制御部によって画像記憶部604に保存されることになる。
【0064】
図7は、本実施形態での全体制御部4とマルチプロセッサユニット5との関係を説明する図である。分割手段4bは画像記憶部604に記憶されている画像を、複数の画像ブロックに分割し、複数の画像ブロックをパケットとして、マルチプロセッサユニット5のマルチコアプロセッサ12(12a、12b)に送信する。
【0065】
本実施例ではパケットの種類は幾つか考えられる。図8は本実施例におけるパケットの種類の例を説明する図である。パケット801には同じダイについてセンサ7で得られた画像ブロック8011、及びセンサ601で得られた画像ブロック8012が含まれている。
【0066】
パケット802には第1のダイについてのセンサ7で得られた画像ブロック8021、第1のダイに隣接する第2のダイについてセンサ7で得られた画像ブロック8022、第1のダイについてのセンサ601で得られた画像ブロック8023、第2のダイについてセンサ601で得られた画像ブロック8024が含まれている。いずれのパケットにも、画像ブロックに対する制御情報が付されている。
【0067】
次にマルチコアプロセッサ12a、12bについて説明する。制御コア14は分割手段4bから送信されたパケットを受け取る。制御コア14はパケットに付された制御情報を参照して、パケットが含む画像ブロックの処理に適切な演算プログラムを処理制御手段、又は制御コア内のメモリから読み出し、演算コア13a、13bへロードする。演算コア13a、はロードされた演算プログラムに基づいて画像ブロックを処理する。
【0068】
図8のパケット801を制御コア14が受け取った場合は、例えば、まず受信した画像ブロック8011を演算コア13aに送信し、画像ブロック8012は演算コア13bに送信する。演算コア13aは画像ブロック8011をメモリ領域とロジック領域とに分割する。そして、演算コア13aは、予めロードされたメモリ領域用の遅延処理プログラム、及び差分検出処理プログラムを使用してメモリ領域を処理し、ロジック回路用の遅延処理プログラム、差分検出処理プログラムを使用してロジック領域を処理する。同様に、演算コア13bは画像ブロック8012をメモリ領域とロジック領域とに分割する。そして、演算コア13bは、予めロードされたメモリ領域用の遅延処理プログラム、及び差分検出処理プログラムを使用してメモリ領域を処理し、ロジック回路用の遅延処理プログラム、差分検出処理プログラムを使用してロジック領域を処理する。本実施形態を適用する欠陥検査装置を散乱光を検出する暗視野型検査装置とした場合を例にとると、暗視野型では、画像ブロック8011、8012の像は大きく異なることがある。よって、演算コア13a、13bへロードされるプログラムは、暗視野像の検出方位による差異を考慮したものとなり、それぞれ異なる種類のものとなる場合もある。また、パケット801には同じ画像ブロックを2つ含ませ、演算コア13a、13bで異なるプログラムを使用して処理しても良い。
【0069】
図8のパケット802をマルチコアプロセッサ12aの制御コア14が受け取った場合は、例えば、まず受信した画像ブロック8021、8023を演算コア13aに送信し、画像ブロック8022、8024は演算コア13bに送信する。演算コア13aは画像ブロック8021、8023に対して互いの座標が一致するよう位置合わせ処理を行う。演算コア13bは画像ブロック8021、8023に対して互いの座標が一致するよう位置合わせ処理を行う。位置合わせ処理が行われ座標が一致した画像ブロック8021、8023はマルチコアプロセッサ12bの制御コアへ送信され、パケット801を扱う場合と同様の手順により遅延処理、及び差分検出処理が行われる。位置合わせ処理が行われ座標が一致した画像ブロック8022、8024は他のマルチコアプロセッサへ送信される。遅延処理、及び差分検出処理が行われることになる。なお、マルチコアプロセッサ12aの演算コア13a、演算コア13bのメモリ容量が2つの画像ブロック、位置合わせ用のプログラム、遅延処理プログラム、差分検出処理プログラムを保存するのに十分な容量があれば、位置合わせ処理後に引き続き遅延処理、差分検出処理が行われる場合もある。
【0070】
パケット801、802について処理する場合を説明したが、いずれの場合でも処理結果は全体制御部4を経由して、記憶部604へ記憶される場合もあるし、外部装置9へ送信される場合もある。また、いずれの場合でも、メモリ領域とロジック領域との分割は制御コア14で行ってもよい。また分割手段4bが記憶部604からパケットを読み出すタイミングは任意のタイミングに制御可能である。また、本実施形態に開示される内容はいわゆる明視野型の検査装置に適用しても良い。
【符号の説明】
【0071】
1 欠陥検査装置
2 画像処理部(欠陥検査装置に用いられる画像処理装置)
3 画像メモリ
4 全体制御部
4a 処理制御手段
4b 分割手段
5 マルチプロセッサユニット(並列処理手段)
6 画像取得部(撮像手段)
7 センサ
8 A/D変換回路
9 外部装置
11 半導体ウエハ(試料)
11a 半導体チップ
12、12a、12b マルチコアプロセッサ
13、13a、13b 演算コア
14 制御コア
15 制御バス
16 画像バス

【特許請求の範囲】
【請求項1】
表面にパターンが形成された試料を撮像する撮像手段と、
前記撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、
前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段と、を備え、
前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用し、
さらに、前記複数のコアは、
前記画像ブロックの前記欠陥検出処理を行う演算コアと、
前記画像ブロックを前記分割手段から受信する制御コアと、を含み、
前記演算コアが前記欠陥検出処理を行う前記画像ブロックは、前記制御コアを介して用意されることを特徴とする欠陥検査装置。
【請求項2】
請求項1に記載の欠陥検査装置において、
前記撮像手段は前記試料に対して複数の方向に配置された複数のセンサであり、
さらに、
少なくとも1走査することにより得られた複数の画像を保存することが可能な記憶部を有し、
前記分割手段は、前記複数の画像像の中から任意のデータをパケットとして送信し、
前記パケットには、第1の画像データ、及び前記第2の画像データが含まれ、
前記マルチコアプロセッサは、前記パケットを受信し、
前記マルチコアプロセッサは、第1の演算コアと、第2の演算コアとを有し、
前記第1の演算コア、又は前記第2の演算コアは前記第1の画像データと前記第2の画像データとの位置合わせを行うことを特徴とする欠陥検査装置。
【請求項3】
請求項2に記載の欠陥検査装置において、
前記第1の画像データは第1の暗視野画像データであり、
前記第2の画像データは第2の暗視野画像データであり、
前記第1の暗視野画像データ、及び前記第2の暗視野画像データは第1のダイについてのものであり、
さらに、前記パケットには、前記第1のダイと隣接するダイについて第1のセンサによって得られた第3の暗視野画像データ、及び前記第2のセンサによって得られた第4の暗視野画像データが含まれ、
前記第1の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行い、
前記第2の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行うことを特徴とする欠陥検査装置。
【請求項4】
請求項3に記載の欠陥検査装置において、
前記第1の演算コアは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行い、
前記第2の演算コアは前記位置合わせが行われた前記第3の暗視野画像データ、及び前記第4の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項5】
請求項3に記載の欠陥検査装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項6】
請求項3に記載の欠陥検査装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第3の暗視野画像データ、及び前記第4の暗視野画像データに対して欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項7】
請求項1に記載の欠陥検査装置において
前記マルチコアプロセッサ毎に、前記画像ブロックの前記欠陥検出処理が行われることを特徴とする欠陥検査装置。
【請求項8】
請求項1に記載の欠陥検査装置において、
複数の前記演算コアが、同一の前記欠陥検出処理を並列に行うことで高速に前記欠陥検出処理を行うことを特徴とする欠陥検査装置。
【請求項9】
請求項1に記載の欠陥検査装置において、
複数の前記演算コアは、互いに異なる前記欠陥検出処理を行うことを特徴とする請求項3に記載の欠陥検査装置。
【請求項10】
請求項1に記載の欠陥検査装置において、
複数の前記演算コアで動作する前記欠陥検出処理を、目的に応じて前記コア毎に変更することを可能とすることで、検査対象に適した複数の前記欠陥検出処理を行うことにより複数の出力結果を出力することを特徴とする欠陥検査装置。
【請求項11】
請求項10に記載の欠陥検査装置において、
複数の前記出力結果を前記検査対象によって選別あるいは結合して出力することを特徴とする欠陥検査装置。
【請求項12】
請求項11に記載に欠陥検査装置において、
複数の前記マルチコアプロセッサは、拡縮可能な共通のバスあるいはネットワークの通信手段及びバスとネットワークの組合せによって、前記分割手段に接続され、
前記マルチコアプロセッサの個数は可変であることを特徴とする欠陥検査装置。
【請求項13】
欠陥検査装置に用いられる画像処理装置において、
撮像手段で撮像された画像データを、複数の画像ブロックに分割する分割手段と、
前記複数の画像ブロックに対して、前記パターンの欠陥を検出する欠陥検出処理を、並列に行う並列処理手段と、を備え、
前記並列処理手段には、複数のコアを有するマルチコアプロセッサを複数使用し、
さらに、前記複数のコアは、
前記画像ブロックの前記欠陥検出処理を行う演算コアと、
前記画像ブロックを前記分割手段から受信する制御コアと、を含み
前記演算コアが前記欠陥検出処理を行う前記画像ブロックは、前記制御コアを介して用意されることを特徴とする画像処理装置。
【請求項14】
請求項13に記載の画像処理装置において、
前記撮像手段は前記試料に対して複数の方向に配置された複数のセンサであり、
さらに、
少なくとも1走査することにより得られた複数の画像を保存することが可能な記憶部を有し、
前記分割手段は、前記複数の画像の中から任意のデータをパケットとして送信し、
前記パケットには、第1の画像データ、及び前記第2の画像データが含まれ、
前記マルチコアプロセッサは、前記パケットを受信し、
前記マルチコアプロセッサは、第1の演算コアと、第2の演算コアとを有し、
前記第1の演算コア、又は前記第2の演算コアは前記第1の画像データと前記第2の画像データとの位置合わせを行うことを特徴とする画像処理装置。
【請求項15】
請求項14に記載の画像処理装置において、
前記第1の画像データは第1の暗視野画像データであり、
前記第2の画像データは第2の暗視野画像データであり、
前記第1の暗視野画像データ、及び前記第2の暗視野画像データは第1のダイについてのものであり、
さらに、前記パケットには、前記第1のダイと隣接するダイについて第1のセンサによって得られた第3の暗視野画像データ、及び前記第2のセンサによって得られた第4の暗視野画像データが含まれ、
前記第1の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行い、
前記第2の演算コアは前記第1の暗視野画像データと前記第2の暗視野画像データとの位置合わせを行うことを特徴とする画像処理装置。
【請求項16】
請求項15に記載の画像処理装置において、
前記第1の演算コアは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行い、
前記第2の演算コアは前記位置合わせが行われた前記第3の暗視野画像データ、及び前記第4の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。
【請求項17】
請求項15に記載の画像処理装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第1の暗視野画像データ、及び前記第2の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。
【請求項18】
請求項16に記載の画像処理装置において、
ネットワークで接続された他のマルチコアプロセッサを有し、
前記他のマルチコアプロセッサは前記位置合わせが行われた前記第3の暗視野画像データ、及び前記第4の暗視野画像データに対して欠陥検出処理を行うことを特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−64732(P2013−64732A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−182834(P2012−182834)
【出願日】平成24年8月22日(2012.8.22)
【出願人】(501387839)株式会社日立ハイテクノロジーズ (4,325)
【Fターム(参考)】