JP2014070956A - Image processing apparatus, visual inspection device, image processing method, and visual inspection method - Google Patents

Image processing apparatus, visual inspection device, image processing method, and visual inspection method Download PDF

Info

Publication number
JP2014070956A
JP2014070956A JP2012216204A JP2012216204A JP2014070956A JP 2014070956 A JP2014070956 A JP 2014070956A JP 2012216204 A JP2012216204 A JP 2012216204A JP 2012216204 A JP2012216204 A JP 2012216204A JP 2014070956 A JP2014070956 A JP 2014070956A
Authority
JP
Japan
Prior art keywords
inspection
processor
image processing
command
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012216204A
Other languages
Japanese (ja)
Other versions
JP6074210B2 (en
Inventor
Ken Saruwatari
健 猿渡
Yuichiro Hikita
雄一郎 疋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP2012216204A priority Critical patent/JP6074210B2/en
Publication of JP2014070956A publication Critical patent/JP2014070956A/en
Application granted granted Critical
Publication of JP6074210B2 publication Critical patent/JP6074210B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technology for improving inspection processing efficiency in employing a processor having a plurality of cores.SOLUTION: A visual inspection device 1 detects a pattern defect formed on a substrate 9. The visual inspection device 1 includes: an image processing part 59 equipped with a GPU 591 having a plurality of GPU cores 5910; a buffer memory 53 storing an inspection image to be inspected; an inspection task holding part 51 which holds inspection tasks including a plurality of inspection commands and generated for each inspection section SEC formed by dividing the inspection image into plurality of sections; and a GPU control unit 57 which registers a second inspection command on the GPU 591 when there is no dependency between a first inspection command registered in advance on the GPU 591 and the second inspection command not registered on the GPU 591.

Description

本発明は、複数のコアを有するプロセッサを用いて、画像を処理する技術に関する。   The present invention relates to a technique for processing an image using a processor having a plurality of cores.

従来、半導体ウエハ等の基板上に形成された回路パターンの欠陥を検出するに際して、回路パターンの画像を取得し、基準となる参照画像との比較に基づいて、欠陥箇所を抽出する外観検査が行われている。最近では、処理を高速に行うため、複数のプロセッサ(プロセッサエレメント)を備えた並列データ処理型の外観検査装置が提案されている(例えば、特許文献1)。   Conventionally, when detecting a defect in a circuit pattern formed on a substrate such as a semiconductor wafer, an appearance inspection is performed in which an image of the circuit pattern is acquired and a defect portion is extracted based on a comparison with a reference image serving as a reference. It has been broken. Recently, in order to perform processing at high speed, a parallel data processing type appearance inspection apparatus including a plurality of processors (processor elements) has been proposed (for example, Patent Document 1).

具体的に、特許文献1に記載の外観検査装置では、ラインセンサでスキャン撮影した画像を分割する際に、全体制御コンピュータが、複数のプロセッサエレメントの各々に分割された画像を分配する条件を設定する。そして画像分配処理部は、その分配条件に従って上記画像を分割し、それぞれをプロセッサエレメントに転送する。そして各プロセッサエレメントは、規定された検査処理を行って、回路パターンの欠陥を抽出する。   Specifically, in the appearance inspection apparatus described in Patent Document 1, when dividing an image scanned by a line sensor, the overall control computer sets a condition for distributing the divided image to each of a plurality of processor elements. To do. Then, the image distribution processing unit divides the image according to the distribution condition, and transfers each of the images to the processor element. Each processor element performs a prescribed inspection process to extract a defect in the circuit pattern.

また、特許文献1に記載の外観検査装置では、プロセッサエレメントの処理能力や、検査アルゴリズム毎の演算負荷に基づいて、切り出す画像の範囲を調整している。これにより、各プロセッサエレメントに負荷が均等にかかるようにして、プロセッサエレメントの処理能力を効率よく活用するようにしている。   Moreover, in the appearance inspection apparatus described in Patent Document 1, the range of an image to be cut out is adjusted based on the processing capability of the processor element and the calculation load for each inspection algorithm. As a result, the load is applied evenly to each processor element so that the processing capacity of the processor element is efficiently utilized.

特開2011−028410号公報JP 2011-028410 A

最近のプロセッサには、内部に複数の演算コアを備え、それらを並列に動作させて、データ処理を高速に行うプロセッサ(マルチコアプロセッサ)がある。このようなプロセッサの1つに、GPU(Graphics Processing Unit)が知られているが、このGPUは、例えば数十個〜数千個のコアを備えており、超並列プロセッサとも呼ばれている。このようなマルチコアプロセッサを、上述した外観検査装置に適用することも考えられる。   Recent processors include a processor (multi-core processor) that includes a plurality of arithmetic cores inside and operates them in parallel to perform data processing at high speed. A GPU (Graphics Processing Unit) is known as one of such processors, and this GPU includes, for example, tens to thousands of cores, and is also called a massively parallel processor. It is also conceivable to apply such a multi-core processor to the above-described visual inspection apparatus.

しかしながら、特許文献1の発明は、複数のプロセッサに対して、並列処理させることを目的とするものである。このため、特許文献1では、マルチコアプロセッサにおいて、演算処理を効率的に行うことは考慮されていない。このため、従来の外観検査装置にマルチコアプロセッサを適用したとしても、検査処理の効率を向上することはできない。   However, the invention of Patent Document 1 is intended to cause a plurality of processors to perform parallel processing. For this reason, Patent Document 1 does not consider the efficient execution of arithmetic processing in a multi-core processor. For this reason, even if a multi-core processor is applied to a conventional visual inspection apparatus, the efficiency of the inspection process cannot be improved.

本発明は、上記課題に鑑みなされたものであり、複数のコアを有するプロセッサを用いたときに、検査処理の効率を向上させる技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a technique for improving the efficiency of inspection processing when a processor having a plurality of cores is used.

上記の課題を解決するため、第1の態様は、画像処理装置であって、複数のコアを有するプロセッサを備える画像処理部と、検査対象となる検査画像を記憶する画像記憶部と、前記検査画像を複数に分割して得られる検査セクション毎に生成された、前記プロセッサが実行する複数の検査コマンドを含む検査タスクを保持する検査タスク保持部と、前記複数の検査コマンドを、前記プロセッサに登録して実行させるプロセッサ制御部とを備え、前記プロセッサ制御部は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録である第二検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する。   In order to solve the above-described problem, a first aspect is an image processing apparatus, an image processing unit including a processor having a plurality of cores, an image storage unit that stores an inspection image to be inspected, and the inspection An inspection task holding unit for holding an inspection task including a plurality of inspection commands executed by the processor, which is generated for each inspection section obtained by dividing an image into a plurality of parts, and registers the plurality of inspection commands in the processor A processor control unit to be executed, and the processor control unit includes a first inspection command previously registered in the processor among the plurality of inspection commands included in one inspection task and an unregistered in the processor The second inspection command is registered in the processor when there is no dependency in the processing content with the second inspection command.

また、第2の態様は、第1の態様に係る画像処理装置において、前記プロセッサ制御部は、前記プロセッサに登録された複数の検査コマンドを、前記プロセッサに並行に実行させる。   According to a second aspect, in the image processing apparatus according to the first aspect, the processor control unit causes the processor to execute a plurality of inspection commands registered in the processor in parallel.

また、第3の態様は、第1または第2の態様に係る画像処理装置であって、前記画像処理部が、前記プロセッサを複数備えており、複数の前記検査タスクが、複数の前記プロセッサにそれぞれ分配される。   A third aspect is the image processing apparatus according to the first or second aspect, wherein the image processing unit includes a plurality of the processors, and the plurality of inspection tasks are assigned to the plurality of processors. Each is distributed.

また、第4の態様は、第1から第3までの態様のいずれか1態様に係る画像処理装置において、前記プロセッサ制御部は、前記第一検査コマンドおよび第二検査コマンドの種類に基づいて、前記プロセッサに前記第二コマンドを登録するか否かを判断する。   Further, in a fourth aspect, in the image processing apparatus according to any one of the first to third aspects, the processor control unit is configured based on the types of the first inspection command and the second inspection command. It is determined whether or not the second command is registered in the processor.

また、第5の態様は、基板に形成されたパターンを検査する外観検査装置において、第1から第4までの態様のいずれか1態様に係る画像処理装置と、基板を撮影して前記検査画像を取得する撮影部とを備え、前記画像処理部は、前記基板に形成されたパターンの欠陥を検査する。   Further, a fifth aspect is an appearance inspection apparatus for inspecting a pattern formed on a substrate, the image processing apparatus according to any one of the first to fourth aspects, and the inspection image obtained by photographing the substrate. The image processing unit inspects a defect of a pattern formed on the substrate.

また、第6の態様は、第5の態様に係る外観検査装置において、前記複数の検査コマンドは、非繰り返しパターンを検査するダイ検査コマンドと、繰り返しパターンを検査するアレイ検査コマンドとを含む。   According to a sixth aspect, in the visual inspection apparatus according to the fifth aspect, the plurality of inspection commands include a die inspection command for inspecting a non-repeated pattern and an array inspection command for inspecting a repetitive pattern.

また、第7の態様は、画像処理方法であって、(a)検査対象である検査画像を、複数に分割して得られた検査セクション毎に、複数のコアを有するプロセッサが実行する複数の検査コマンドで構成される検査タスクを生成する工程と、(b)前記複数の検査コマンドを、前記プロセッサに登録して実行させる工程とを含み、前記(b)工程は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録の第二の検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する工程である。   The seventh aspect is an image processing method, wherein (a) a plurality of processors executed by a processor having a plurality of cores is executed for each inspection section obtained by dividing an inspection image to be inspected into a plurality of sections. A step of generating an inspection task composed of inspection commands; and (b) a step of registering and executing the plurality of inspection commands in the processor, wherein the step (b) includes one inspection task. Among the plurality of inspection commands included, when there is no dependency in the processing content between the first inspection command previously registered in the processor and the second inspection command not registered in the processor, the processor Registering the second inspection command;

また、第8の態様は、第7の態様に係る画像処理方法において、(c)前記(b)工程にて前記プロセッサに登録された前記複数の検査コマンドを、前記プロセッサが並列に実行する工程、をさらに含む。   According to an eighth aspect, in the image processing method according to the seventh aspect, (c) a step in which the processor executes the plurality of inspection commands registered in the processor in the step (b) in parallel. Further included.

また、第9の態様は、基板に形成されたパターンを検査する外観検査方法であって、(A)基板を撮影することによって、検査画像を取得する工程、(B)前記検査画像を複数に分割して得られる検査セクション毎に、複数のコアを有するプロセッサが実行する複数の検査コマンドを含む検査タスクを生成する工程と、(C)前記複数の検査コマンドを、前記プロセッサに登録して実行させる工程とを含み、前記(C)工程は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録の第二の検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する工程である。   Further, a ninth aspect is an appearance inspection method for inspecting a pattern formed on a substrate, and (A) a step of acquiring an inspection image by photographing the substrate, and (B) a plurality of the inspection images. Generating a test task including a plurality of test commands executed by a processor having a plurality of cores for each test section obtained by dividing; and (C) registering and executing the plurality of test commands in the processor. The step (C) includes, among the plurality of inspection commands included in one inspection task, a first inspection command previously registered in the processor and a second unregistered in the processor. This is a step of registering the second inspection command in the processor when there is no dependency on the processing content with the inspection command.

また、第10の態様は、第9の態様に係る外観検査方法において、(D)前記(C)工程にて前記プロセッサに登録された前記複数の検査コマンドを、前記プロセッサが並列に実行する工程、をさらに含む。   According to a tenth aspect, in the visual inspection method according to the ninth aspect, (D) a step in which the processor executes the plurality of inspection commands registered in the processor in the step (C) in parallel. Further included.

第1〜第10の態様によると、プロセッサに先に登録された第一検査コマンドとまだ登録されていない第二検査コマンドとの間で、処理内容に依存関係がないときに、第二検査コマンドをプロセッサに登録する。これにより、同一のプロセッサにおいて、第一検査コマンドと第二検査コマンドとを並列に実行できるので、演算処理の効率を向上させることができる。   According to the first to tenth aspects, when there is no dependency in the processing content between the first inspection command registered in the processor and the second inspection command not yet registered, the second inspection command Is registered in the processor. Thereby, since the first inspection command and the second inspection command can be executed in parallel in the same processor, the efficiency of the arithmetic processing can be improved.

また、第2の態様に係る画像処理装置によると、複数の検査コマンドを並列に処理することができる。   Moreover, according to the image processing apparatus which concerns on a 2nd aspect, a some test | inspection command can be processed in parallel.

また、第3の態様に係る画像処理装置によると、複数の検査タスクを並列に処理することができる。   Moreover, according to the image processing apparatus which concerns on a 3rd aspect, a some test | inspection task can be processed in parallel.

また、第4の態様に係る画像処理装置によると、第二検査コマンドを登録するかどうかを、制御部に迅速かつ適切に判断させることができる。   Moreover, according to the image processing apparatus which concerns on a 4th aspect, it can be made to determine quickly and appropriately whether a 2nd test command is registered.

また、第5の態様によると、撮影部によって基板を撮影することで、検査画像を取得し、これを検査することができる。   Moreover, according to the 5th aspect, a test | inspection image can be acquired and this can be test | inspected by image | photographing a board | substrate with an imaging | photography part.

また、第6の態様によると、繰り返しパターンおよび非繰り返しパターンの欠陥をそれぞれ適切に検査することができる。   Moreover, according to the 6th aspect, the defect of a repeating pattern and a non-repeating pattern can each be test | inspected appropriately.

実施形態に係る外観検査装置の概略構成図である。It is a schematic block diagram of the external appearance inspection apparatus which concerns on embodiment. 実施形態に係る外観検査装置の機能ブロック図である。It is a functional block diagram of the external appearance inspection apparatus which concerns on embodiment. 基板の一例を示す概略平面図である。It is a schematic plan view which shows an example of a board | substrate. 図3に示される1つのダイの概略平面図である。FIG. 4 is a schematic plan view of one die shown in FIG. 3. スキャン撮影の一例を示す図である。It is a figure which shows an example of scan imaging | photography. 図5に示されるスキャン撮影で得た画像に対して検査セクションを設定する過程を説明するための図である。It is a figure for demonstrating the process which sets an inspection section with respect to the image obtained by the scanning imaging | photography shown by FIG. その他のスキャン撮影の例を示す図である。It is a figure which shows the example of other scan imaging | photography. 図7に示されるスキャン撮影で得た画像に対して検査セクションを設定する過程を説明するための図である。It is a figure for demonstrating the process which sets an inspection section with respect to the image obtained by the scanning imaging | photography shown by FIG. 検査セクション毎に、検査タスクが生成される様子を説明する図である。It is a figure explaining a mode that an inspection task is generated for every inspection section. 検査コマンドの例を説明するための図である。It is a figure for demonstrating the example of a test | inspection command. GPUが複数の検査コマンドを実行するときのタイムチャートの一例を示す図である。It is a figure which shows an example of a time chart when GPU performs a some inspection command. 並列に実行できない検査コマンドの例を説明するための図である。It is a figure for demonstrating the example of the test | inspection command which cannot be performed in parallel. 比較例に係るGPUが複数の検査コマンドを実行するときのタイムチャートの一例を示す図である。It is a figure which shows an example of a time chart when GPU which concerns on a comparative example performs a some test | inspection command. 検査対象領域分割するその他の例を説明するための図である。It is a figure for demonstrating the other example which divides | segments a test object area | region.

以下、図面を参照して実施形態を詳細に説明する。ただし、この実施形態に記載されている構成はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, embodiments will be described in detail with reference to the drawings. However, the configuration described in this embodiment is merely an example, and is not intended to limit the scope of the present invention.

<1. 第1実施形態>
<1.1. 外観検査装置1の構成>
図1は、実施形態に係る外観検査装置1の概略構成図である。また図2は、実施形態に係る外観検査装置1の機能ブロック図である。なお、図1および以降の各図においては、理解容易のため、必要に応じて各部の寸法や数を誇張または簡略化して描いている場合がある。また、図1および以降の各図においては、それぞれの位置関係の理解を容易にするため、Z軸方向を鉛直方向、XY平面を水平面とするXYZ直交座標系を付している場合がある。
<1. First Embodiment>
<1.1. Configuration of Appearance Inspection Apparatus 1>
FIG. 1 is a schematic configuration diagram of an appearance inspection apparatus 1 according to the embodiment. FIG. 2 is a functional block diagram of the appearance inspection apparatus 1 according to the embodiment. In addition, in FIG. 1 and each subsequent figure, the dimension and number of each part may be exaggerated or simplified as needed for easy understanding. In addition, in FIG. 1 and subsequent drawings, in order to facilitate understanding of the positional relationship, an XYZ orthogonal coordinate system in which the Z-axis direction is the vertical direction and the XY plane is the horizontal plane may be attached.

外観検査装置1は、被検査物である半導体基板9(以下、単に「基板9」という。)に形成されたパターン(回路パターン等)の欠陥を、撮影部3によって撮影して得た画像(検査画像)に基づいて検査する装置である。外観検査装置1は、基板9を保持するステージ2(基板保持部)、ステージ2を水平方向(X軸方向およびY軸方向)に移動させるステージ移動機構21、基板9の鉛直方向上側(+Z側)の上面を撮影する撮影部3、ステージ2等の外観検査装置1の各構成の動作を制御する制御部4、撮影部3によって撮影された画像に基づいてパターンの欠陥検出を行う画像処理装置5、および、画像処理装置5によって取得された欠陥データを処理する欠陥データ処理部6を備えている。   The appearance inspection apparatus 1 captures an image (image (such as a circuit pattern)) formed on a semiconductor substrate 9 (hereinafter simply referred to as “substrate 9”), which is an object to be inspected, by photographing a defect with a photographing unit 3. It is an apparatus for inspecting based on an inspection image. The appearance inspection apparatus 1 includes a stage 2 (substrate holding unit) that holds the substrate 9, a stage moving mechanism 21 that moves the stage 2 in the horizontal direction (X-axis direction and Y-axis direction), and a vertical upper side (+ Z side) of the substrate 9. ), A control unit 4 that controls the operation of each component of the appearance inspection apparatus 1 such as the stage 2, and an image processing apparatus that detects a defect in a pattern based on an image photographed by the photographing unit 3. 5 and a defect data processing unit 6 for processing the defect data acquired by the image processing apparatus 5.

ステージ移動機構21は、ステージ2を、Y軸方向に移動させるY方向移動機構22、X方向に移動するX方向移動機構23、および、ステージ2をZ軸方向に移動させてフォーカス調整を行うステージ昇降機構24を備えている。Y方向移動機構22はモータ221に接続されたボールねじ(図示せず。)と、X方向移動機構23に固定されたボールねじに螺合するナット部材(図示せず。)と、を有している。モータ221が回転することにより、X方向移動機構23がガイドレール222に沿ってY軸方向に移動する。X方向移動機構23もY方向移動機構22と同様の構成を備えており、モータ231により図示しないボールねじを回転させることで、ステージ2を一対のガイドレール232に沿ってX方向に移動させる。なお、ステージ移動機構21には、ボールねじを利用するものの他、リニアモータ等の直動機構を利用することも考えられる。   The stage moving mechanism 21 includes a Y-direction moving mechanism 22 that moves the stage 2 in the Y-axis direction, an X-direction moving mechanism 23 that moves in the X direction, and a stage that performs focus adjustment by moving the stage 2 in the Z-axis direction. An elevating mechanism 24 is provided. The Y-direction moving mechanism 22 has a ball screw (not shown) connected to the motor 221 and a nut member (not shown) screwed to the ball screw fixed to the X-direction moving mechanism 23. ing. As the motor 221 rotates, the X-direction moving mechanism 23 moves along the guide rail 222 in the Y-axis direction. The X-direction moving mechanism 23 has the same configuration as the Y-direction moving mechanism 22, and the stage 2 is moved in the X direction along the pair of guide rails 232 by rotating a ball screw (not shown) by the motor 231. The stage moving mechanism 21 may use a linear motion mechanism such as a linear motor in addition to a ball screw.

基板9は、検査中、ステージ2の上面に吸着固定されている。このため、ステージ移動機構21によりステージ2をX方向またはY方向に移動させることで、撮影部3に対して基板9を相対的に移動させることができる。外観検査装置1においては、基板9をX軸方向またはY軸方向に移動させて、図示を省略するハロゲンランプやLED等の照射部から、可視光が基板9に面照射またはライン状に照射される。そして、基板9にて反射した反射光が、撮影部3の備える検出器(ここでは、ラインセンサ31)によって検出される。なお、可視光に代えて、紫外光、赤外光を照射するようにしてもよい。また、光源として、電子線またはレーザ光を出射するものが利用されてもよい。   The substrate 9 is fixed to the upper surface of the stage 2 by suction during inspection. For this reason, the substrate 9 can be moved relative to the imaging unit 3 by moving the stage 2 in the X direction or the Y direction by the stage moving mechanism 21. In the visual inspection apparatus 1, the substrate 9 is moved in the X-axis direction or the Y-axis direction, and visible light is irradiated onto the substrate 9 in a surface or line form from an irradiation unit such as a halogen lamp or an LED (not shown). The And the reflected light reflected by the board | substrate 9 is detected by the detector (here line sensor 31) with which the imaging | photography part 3 is provided. Note that instead of visible light, ultraviolet light or infrared light may be irradiated. Moreover, what emits an electron beam or a laser beam may be utilized as a light source.

なお、本実施形態では、ステージ移動機構21がステージ2を移動させることで、基板9を撮影部3に対し、XY平面内で相対的に移動させている。しかしながら、ステージ2を固定して、撮影部3を移動させてもよい。もちろん、ステージ2および撮影部3の双方を個別に移動させてもよい。つまり、撮影部3に対して基板9を相対的に移動させることができるのであれば、外観検査装置1はどのように構成されていてもよい。   In the present embodiment, the stage moving mechanism 21 moves the stage 2 to move the substrate 9 relative to the photographing unit 3 in the XY plane. However, the stage 2 may be fixed and the photographing unit 3 may be moved. Of course, both the stage 2 and the photographing unit 3 may be moved individually. That is, the appearance inspection apparatus 1 may be configured in any manner as long as the substrate 9 can be moved relative to the imaging unit 3.

撮影部3は、ラインセンサ31を備えている。ラインセンサ31は、基板9に照射された電子線またはレーザ光等を検出する複数の検出素子が一列に配列されることで構成されている。ラインセンサ31によって検出された検出信号は、図示しないADコンバータによって適宜デジタルデータ化され、補正処理等の所定の処理を経て、画像信号として画像処理装置5のバッファメモリ53に順次送信される。このようにして、バッファメモリ53に、検査対象である検査画像が保存される。バッファメモリ53は、画像データ記憶部の一例である。また、撮影部3は、検査画像をバッファメモリ53に保存すると共に、ラインセンサ31によって取り込んだライン数(取り込み済みライン数)をバッファメモリ53に保存する。   The imaging unit 3 includes a line sensor 31. The line sensor 31 is configured by arranging a plurality of detection elements that detect an electron beam or laser light irradiated on the substrate 9 in a line. A detection signal detected by the line sensor 31 is appropriately converted into digital data by an AD converter (not shown), and is sequentially transmitted as an image signal to the buffer memory 53 of the image processing device 5 through a predetermined process such as a correction process. In this way, the inspection image to be inspected is stored in the buffer memory 53. The buffer memory 53 is an example of an image data storage unit. In addition, the imaging unit 3 stores the inspection image in the buffer memory 53 and also stores the number of lines captured by the line sensor 31 (the number of captured lines) in the buffer memory 53.

なお、本実施形態では、撮影部3にラインセンサ31が採用されているが、ラインセンサ31の代わりにCCD等のエリアセンサを採用することも考えられる。   In the present embodiment, the line sensor 31 is employed in the photographing unit 3, but an area sensor such as a CCD may be employed instead of the line sensor 31.

制御部4は、CPU(Central Processing Unit)、RAM(Random Access Memory)を備える一般的なコンピュータとして構成されている。図2に示される、検査レシピ作成部41、検査タスク生成部43およびステージ制御部45は、CPUがプログラムに従って動作することによりソフトウェア的に実現される機能ブロックである。なお、これらの機能の一部または全部が、専用の回路等によってハードウェア的に実現されてもよい。   The control unit 4 is configured as a general computer including a CPU (Central Processing Unit) and a RAM (Random Access Memory). The inspection recipe creation unit 41, the inspection task generation unit 43, and the stage control unit 45 illustrated in FIG. 2 are functional blocks that are realized in software by the CPU operating according to a program. Note that some or all of these functions may be realized in hardware by a dedicated circuit or the like.

検査レシピ作成部41は、オペレータが外観検査装置1において実行する検査内容を決定するために、検査レシピを作成するGUIを提供するものである。検査レシピは、検査前にオペレータから与えられる検査条件である。オペレータは、操作部49を介して検査条件(例えば、基板9上におけるダイ91の配置情報、同一ダイ91内における繰り返しパターン領域93および繰り返しパターン領域95の配置情報、検査範囲、検査方法、または、検査パラメータ等)の設定を行う。検査パラメータとしては、例えば、画像上におけるノイズ除去のためのフィルタの設定値、または、パターン欠陥を判断するための閾値(例えば、画素の濃度値)等が含まれる。   The inspection recipe creation unit 41 provides a GUI for creating an inspection recipe in order for the operator to determine the inspection contents to be executed in the appearance inspection apparatus 1. The inspection recipe is an inspection condition given by the operator before the inspection. The operator can inspect the inspection conditions (for example, the arrangement information of the die 91 on the substrate 9, the arrangement information of the repeated pattern region 93 and the repeated pattern region 95 in the same die 91, the inspection range, the inspection method, or the like via the operation unit 49. Set the inspection parameters. The inspection parameter includes, for example, a filter setting value for noise removal on the image, a threshold value (for example, a pixel density value) for determining a pattern defect, or the like.

検査タスク生成部43は、検査レシピ作成部41によって作成された検査レシピに基づいて、検査タスクを生成する。検査タスクは、後述するGPU591が実行する検査処理の単位である。検査タスクには、例えば、後述する各GPU591が検査を行う部分の座標情報、検査タイプ(後述するダイ検査またはアレイ検査)、または、個々の検査処理に適用される検査パラメータ等が含まれる。   The inspection task generation unit 43 generates an inspection task based on the inspection recipe created by the inspection recipe creation unit 41. The inspection task is a unit of inspection processing executed by the GPU 591 described later. The inspection task includes, for example, coordinate information of a part to be inspected by each GPU 591 to be described later, an inspection type (die inspection or array inspection to be described later), or inspection parameters applied to individual inspection processing.

検査タスク生成部43は、作成した複数の検査タスクを、検査が開始可能になるスキャン撮影の取り込みライン数でソートし、検査タスク保持部51に全検査タスクを保存する(キューイング)。これにより、基板9の内、スキャン撮影が完了した部分から、順次検査を開始することが可能となる。   The inspection task generation unit 43 sorts the plurality of inspection tasks that have been created by the number of lines for scanning imaging that can start inspection, and stores all inspection tasks in the inspection task holding unit 51 (queuing). Thereby, it becomes possible to start the inspection sequentially from the portion of the substrate 9 where the scanning imaging is completed.

ステージ制御部45は、モータ221,231の駆動を制御することにより、ステージ2のX軸方向またはY軸方向の移動量、移動速度等を制御する。ステージ制御部45は、検査レシピによって指定された基板9上の特定領域を撮影するように、ステージ2の移動を制御する。   The stage control unit 45 controls the amount of movement, the moving speed, and the like of the stage 2 in the X-axis direction or Y-axis direction by controlling the driving of the motors 221 and 231. The stage control unit 45 controls the movement of the stage 2 so as to photograph a specific area on the substrate 9 designated by the inspection recipe.

制御部4には、各種情報を表示する液晶モニタ等で構成される表示部47、および、制御部4に対してオペレータが各種情報を操作入力するためのマウスまたはキーボード等で構成される操作部49が接続されている。なお、表示部47をタッチパネルで構成することにより、表示部47が操作部49の機能の一部または全部を兼ねることも考えられる。表示部47に表示される情報に基づいて、制御部4に対して、操作部49を介した各種指示入力を行うことができる。   The control unit 4 includes a display unit 47 configured by a liquid crystal monitor or the like for displaying various information, and an operation unit configured by a mouse or a keyboard for an operator to input various information to the control unit 4. 49 is connected. In addition, it is also conceivable that the display unit 47 may function as part or all of the functions of the operation unit 49 by configuring the display unit 47 with a touch panel. Various instructions can be input to the control unit 4 via the operation unit 49 based on the information displayed on the display unit 47.

画像処理装置5は、制御部4と同様に、CPUやRAM等を備えた一般的なコンピュータとして構成されており、パターン欠陥検出に関する各種演算処理を行う。画像処理装置5は、検査タスク保持部51、バッファメモリ53および画像処理制御部55を備えている。画像処理制御部55は、複数のGPU制御部57を含んでいる。画像処理制御部55は、CPUが図示しないプログラムに従って動作することによりソフトウェア的に実現される機能ブロックである。また、画像処理装置5は、複数のGPU591を有する画像処理部59を備えている。複数のGPU591の各々は、対応するGPU制御部57によって動作が制御される。また、各GPU591は、複数のGPUコア5910(図11参照)を備えた、マルチコアプロセッサを構成する。   Similar to the control unit 4, the image processing device 5 is configured as a general computer including a CPU, a RAM, and the like, and performs various arithmetic processes related to pattern defect detection. The image processing device 5 includes an inspection task holding unit 51, a buffer memory 53, and an image processing control unit 55. The image processing control unit 55 includes a plurality of GPU control units 57. The image processing control unit 55 is a functional block realized by software by the CPU operating according to a program (not shown). Further, the image processing apparatus 5 includes an image processing unit 59 having a plurality of GPUs 591. The operation of each of the plurality of GPUs 591 is controlled by the corresponding GPU control unit 57. Further, each GPU 591 constitutes a multi-core processor including a plurality of GPU cores 5910 (see FIG. 11).

なお、制御部4および画像処理装置5は、LAN等の通信回線で接続された2台のコンピュータで構成されるが、1台のコンピュータで構成されることも考えられる。   The control unit 4 and the image processing apparatus 5 are configured by two computers connected by a communication line such as a LAN, but may be configured by a single computer.

検査タスク保持部51は、検査タスク生成部43が生成した検査タスクを保存するための記憶部(RAM等の一時的に情報を記憶するものも含む。)である。検査タスク保持部51に対しては、画像処理制御部55がアクセスする(具体的には、複数のGPU制御部57が非同期かつ排他的にアクセスする)。そして、検査タスク保持部51において、所定の順序で並べられた複数の検査タスクのうちの1つが、適宜取り出される。   The inspection task holding unit 51 is a storage unit (including one that temporarily stores information such as a RAM) for storing the inspection task generated by the inspection task generation unit 43. The image processing control unit 55 accesses the inspection task holding unit 51 (specifically, a plurality of GPU control units 57 access asynchronously and exclusively). Then, in the inspection task holding unit 51, one of a plurality of inspection tasks arranged in a predetermined order is appropriately taken out.

バッファメモリ53は、上述したように、ラインセンサ31が順次検出する検出信号に基づいた画像信号(画像データ)を逐次保存する記憶部である。バッファメモリ53に蓄積される画像信号は、ラインセンサ31が検出した回数(つまりライン数)に応じたデータ量の画像データとなる。バッファメモリ53は、画像データ記憶部の一例である。   As described above, the buffer memory 53 is a storage unit that sequentially stores image signals (image data) based on detection signals that are sequentially detected by the line sensor 31. The image signal stored in the buffer memory 53 is image data having a data amount corresponding to the number of times (that is, the number of lines) detected by the line sensor 31. The buffer memory 53 is an example of an image data storage unit.

画像処理制御部55は、複数のGPU591に対して、検査タスクに基づく画像処理を完了した順に、検査タスク保持部51に保持された次の新たな検査タスクに従って、新たな画像処理を順次実行させる。このように、外観検査装置1においては、複数の検査タスクがどの画像処理部59で実行されるかはあらかじめ定められていない。したがって、外観検査装置1においては、複数の検査タスクのうちの1つを実行するGPU591が、実際に検査が開始されてから順次決定されるようになっている。ただし、検査を開始するに際して、予め、各検査タスクを実行するGPU591が決められていてもよい。   The image processing control unit 55 causes the plurality of GPUs 591 to sequentially execute new image processing according to the next new inspection task held in the inspection task holding unit 51 in the order in which image processing based on the inspection task is completed. . Thus, in the appearance inspection apparatus 1, it is not determined in advance which image processing unit 59 executes a plurality of inspection tasks. Therefore, in the appearance inspection apparatus 1, the GPU 591 that executes one of the plurality of inspection tasks is sequentially determined after the inspection is actually started. However, when starting the inspection, a GPU 591 for executing each inspection task may be determined in advance.

上述したように、各GPU制御部57は、複数のGPU591のうち、特定のGPU591を制御する。GPU制御部57は、検査タスク保持部51にアクセスして検査タスクを取得し、該検査タスクに記述された指示に沿って、GPU591を動作させる。GPU制御部57は、プロセッサ制御部の一例である。   As described above, each GPU control unit 57 controls a specific GPU 591 among the plurality of GPUs 591. The GPU control unit 57 accesses the inspection task holding unit 51 to acquire the inspection task, and operates the GPU 591 according to an instruction described in the inspection task. The GPU control unit 57 is an example of a processor control unit.

各GPU591は、画像処理用メモリ593に接続されている。GPU591と画像処理用メモリ593とは、例えば1つのビデオカード(グラフィックカード)で構成されており、PCI Express規格のシリアルバス等を介して、バッファメモリ53またはGPU制御部57と通信可能に接続されている。   Each GPU 591 is connected to an image processing memory 593. The GPU 591 and the image processing memory 593 are composed of, for example, one video card (graphic card), and are connected to the buffer memory 53 or the GPU control unit 57 via a PCI Express standard serial bus or the like. ing.

GPU591は、例えば、米国nVIDIA社等が提供するGPGPU(General Purpose Computing on Graphics Processing Unit)等を利用することができる。GPU591は、複数のプログラマブルシェーダ(3Dグラフィックスにおいて定義された3Dモデルや光源の情報を元に、その見え方を計算するプログラムのコード(ソフトウェア)およびそれを実行するハードウェアであり、処理内容がプログラム可能なもの)を備えており、該プログラマブルシェーダが所定のプログラムに従って動作することにより、パターン欠陥検出に関わる並列性の高い演算処理を行う。つまり、このプログラマブルシェーダは、GPUコアを構成する。プログラムシェーダを動作させるためのプログラム開発には、例えば、米国nVIDIA社が提供するCUDA(Compute Unified Device Architecture)、OpenCL等の様々な開発環境を利用することができる。   As the GPU 591, for example, GPGPU (General Purpose Computing on Graphics Processing Unit) provided by nvidia, Inc. of the United States or the like can be used. The GPU 591 is a plurality of programmable shaders (program code (software) that calculates the appearance based on 3D models defined in 3D graphics and information on light sources, and hardware that executes the code. The programmable shader operates according to a predetermined program, and performs highly parallel arithmetic processing related to pattern defect detection. That is, this programmable shader constitutes a GPU core. For development of a program for operating the program shader, for example, various development environments such as CUDA (Compute Unified Device Architecture) and OpenCL provided by nVISIA, USA can be used.

画像処理用メモリ593は、GPU591が作業を行う領域を供する記憶部である。例えば、一般的なビデオカードに搭載される、グラフィック処理に適したGDDR(Graphics Double Data Rate)規格のメモリを、画像処理用メモリ593としてよい。なお、近年市販されているビデオカードには、数ギガバイトのビデオメモリが搭載されているものが多数あり、画像処理用メモリ593としては十分な容量を備えている。   The image processing memory 593 is a storage unit that provides an area where the GPU 591 performs work. For example, an image processing memory 593 may be a GDDR (Graphics Double Data Rate) standard memory mounted on a general video card and suitable for graphic processing. Note that many commercially available video cards are equipped with a video memory of several gigabytes, and the image processing memory 593 has a sufficient capacity.

図1に示される欠陥データ処理部6は、各画像処理部59において検出された欠陥情報を収集して、検査結果を図示しない記憶部(RAM等の一時的に情報を記憶するものも含む。)に保存する。欠陥情報としては、具体的には、パターン欠陥が検出された位置の座標情報、欠陥箇所の面積情報、または、欠陥画素の濃度値等が含まれる。もちろん、欠陥情報はこれらのようなものに限定されるものではない。なお、欠陥データ処理部6は、CPUおよびRAMを備えた1台のコンピュータで構成されてもよいが、制御部4または画像処理装置5が欠陥データ処理部6の機能を兼ね備えるようにすることも考えられる。   The defect data processing unit 6 shown in FIG. 1 also includes a storage unit (such as a RAM that temporarily stores information such as a RAM) that collects defect information detected by each image processing unit 59 and stores an inspection result. ). Specifically, the defect information includes the coordinate information of the position where the pattern defect is detected, the area information of the defective portion, the density value of the defective pixel, and the like. Of course, the defect information is not limited to such information. The defect data processing unit 6 may be configured by a single computer including a CPU and a RAM, but the control unit 4 or the image processing device 5 may also have the function of the defect data processing unit 6. Conceivable.

<1.2. パターン欠陥の検査処理>
外観検査装置1において検査処理が開始された場合、まず、オペレータの操作入力に基づいて、検査レシピ作成部41により検査レシピが生成される。この検査レシピ作成時には、オペレータは、検査する範囲や、適用する検査方法等の各種検査条件の指定を行う。検査タスク生成部43は、この作成された検査レシピに基づいて、検査タスクを作成する。作成された検査タスクは、検査タスク保持部51に保存される。また、外観検査装置1は、ステージ制御部45によって、検査レシピに従ってステージ2を移動させるとともに、撮影部3により検査範囲の撮影を行う。
<1.2. Pattern defect inspection processing>
When an inspection process is started in the appearance inspection apparatus 1, first, an inspection recipe is generated by the inspection recipe creation unit 41 based on an operation input by an operator. When creating the inspection recipe, the operator designates various inspection conditions such as an inspection range and an inspection method to be applied. The inspection task generation unit 43 creates an inspection task based on the created inspection recipe. The created inspection task is stored in the inspection task holding unit 51. In addition, the appearance inspection apparatus 1 moves the stage 2 according to the inspection recipe by the stage control unit 45 and performs imaging of the inspection range by the imaging unit 3.

図3は、基板9の一例を示す概略平面図である。図3に示される基板9は、円形状の半導体ウエハであり、その表面には、複数のダイ91が形成されている。図3に示される撮影領域300は、ラインセンサ31がY軸方向に沿ってスキャン撮影した領域を示している。   FIG. 3 is a schematic plan view showing an example of the substrate 9. A substrate 9 shown in FIG. 3 is a circular semiconductor wafer, and a plurality of dies 91 are formed on the surface thereof. An imaging area 300 shown in FIG. 3 indicates an area where the line sensor 31 performs scanning imaging along the Y-axis direction.

図4は、図3に示される1つのダイ91の概略平面図である。図4に示されるダイ91は、同一領域内で回路パターンの繰り返し性が低い領域(以下、非繰り返しパターン領域93という。)と、メモリセル等のように同一領域内で回路パターンの繰り返し性がある領域(以下、繰り返しパターン領域95という。)とが混在している。   FIG. 4 is a schematic plan view of one die 91 shown in FIG. The die 91 shown in FIG. 4 has a circuit pattern repeatability within the same region (hereinafter referred to as a non-repeated pattern region 93) and a circuit pattern repeatability within the same region such as a memory cell. A certain area (hereinafter referred to as a repeated pattern area 95) is mixed.

図5は、スキャン撮影の一例を示す図である。図6は、図5に示されるスキャン撮影で得た画像に対して検査セクションSECを設定する過程を説明するための図である。   FIG. 5 is a diagram illustrating an example of scan imaging. FIG. 6 is a diagram for explaining the process of setting the examination section SEC for the image obtained by the scan photographing shown in FIG.

外観検査装置1では、スキャン撮影して得た画像を、複数の画像に分割し、その分割画像を検査セクションSECとする。そして、この検査セクションSEC毎に、検査タスクが作成される。検査セクションSECは、ダイ91の大きさ、検査に要する演算量、または、画像処理部59の処理能力などの各種条件に応じて可変とされているが、予め検査セクションSECの最大サイズが規定されている。この理由は、検査セクションのサイズが大きすぎると、画像処理量が、画像処理部59の処理能力(GPU591の演算処理能力、画像処理用メモリ593などのメモリ容量等)を超える虞があるからである。そこで、画像処理部59が適切に画像処理を行うことができるように、経験的に、検査セクションの最大サイズが予め定められている。   In the appearance inspection apparatus 1, an image obtained by scanning is divided into a plurality of images, and the divided image is set as an inspection section SEC. An inspection task is created for each inspection section SEC. The inspection section SEC is variable according to various conditions such as the size of the die 91, the amount of calculation required for the inspection, or the processing capability of the image processing unit 59, but the maximum size of the inspection section SEC is defined in advance. ing. This is because if the size of the examination section is too large, the amount of image processing may exceed the processing capacity of the image processing unit 59 (the processing capacity of the GPU 591, the memory capacity of the image processing memory 593, etc.). is there. Therefore, the maximum size of the examination section is determined in advance so that the image processing unit 59 can appropriately perform image processing.

本実施形態では、検査セクションSECの横幅DT11(X方向の長さ)は、撮影領域300の横幅に一致するように設定されている。そして、検査セクションの高さ幅DT13(Y方向の長さ)について、最大高さ幅DTM13が予め定められている。すなわち、最大高さ幅DTM13のときに、検査セクションSECが最大サイズとなる。なお、検査セクションSECの横幅DT11についても、最大横幅を予め規定しておき、その最大横幅までの範囲で適宜変更できるようにしてもよい。   In the present embodiment, the horizontal width DT11 (the length in the X direction) of the inspection section SEC is set to match the horizontal width of the imaging region 300. The maximum height width DTM13 is determined in advance for the height width DT13 (the length in the Y direction) of the inspection section. That is, the inspection section SEC has the maximum size at the maximum height width DTM13. Note that the maximum width may be defined in advance for the width DT11 of the inspection section SEC, and may be changed as appropriate within the range up to the maximum width.

次に、検査セクションSECのサイズが決定されるのであるが、本実施形態では、ダイ91のサイズによってそのサイズが決定される。例えば、図5に示される例では、検査セクションの最大高さ幅DTM13は、1つのダイ91の縦方向の長さよりも長くなっている。このような場合、できるだけ多くのダイ91が含まれるように、検査セクションSECの高さ幅DT13が決定される。つまり、図5に示される例の場合、検査セクションの最大高さ幅DTM13は、隣接する2つのダイ91の縦方向の長さよりも若干長い。このため、図6に示されるように、−Y側にあるダイ91の−Y側端部から、該ダイ91に+Y側に隣接するダイ91の+Y側端部までの長さが、検査セクションSECの高さ幅DT13に設定される。また、検査セクションSECの位置も、これらの隣接する2つのダイ91が丁度含まれるように設定される。   Next, the size of the inspection section SEC is determined. In this embodiment, the size is determined by the size of the die 91. For example, in the example shown in FIG. 5, the maximum height width DTM13 of the inspection section is longer than the vertical length of one die 91. In such a case, the height width DT13 of the inspection section SEC is determined so as to include as many dies 91 as possible. That is, in the example shown in FIG. 5, the maximum height width DTM13 of the inspection section is slightly longer than the length in the vertical direction of two adjacent dies 91. Therefore, as shown in FIG. 6, the length from the −Y side end of the die 91 on the −Y side to the + Y side end of the die 91 adjacent to the die 91 on the + Y side is the inspection section. The SEC height width DT13 is set. The position of the inspection section SEC is also set so that these two adjacent dies 91 are just included.

このように、ダイ91の縦方向の長さが比較的短い場合には、できるだけ多くのダイ91を含むように、検査セクションSECが設定される。これにより、各検査セクションSECが小さくなりすぎることを抑制できる。検査セクションSECを小さくしすぎた場合、画像データの転送処理時に発生する通信等のためのオーバーヘッドの時間が、画像データ自体の転送時間に対して相対的に大きくなり、転送効率が大幅に悪化する場合がある。したがって、検査セクションSECが小さくなることを抑制することで、転送効率を高く維持することができる。   As described above, when the longitudinal length of the die 91 is relatively short, the inspection section SEC is set so as to include as many dies 91 as possible. Thereby, it can suppress that each test | inspection section SEC becomes small too much. If the inspection section SEC is made too small, the overhead time for communication or the like that occurs during the transfer processing of the image data becomes relatively large with respect to the transfer time of the image data itself, and transfer efficiency is greatly deteriorated. There is a case. Therefore, the transfer efficiency can be kept high by suppressing the inspection section SEC from becoming smaller.

図7は、その他のスキャン撮影の例を示す図である。また、図8は、図7に示されるスキャン撮影で得た画像に対して検査セクションSECを設定する過程を説明するための図である。   FIG. 7 is a diagram illustrating another example of scan photography. FIG. 8 is a diagram for explaining the process of setting the examination section SEC for the image obtained by the scan photographing shown in FIG.

図7に示される例では、図5および図6に示される例とは異なり、ダイ91Aの縦方向の長さが検査セクションの最大高さ幅DTM13よりも大きくなっている。この場合、ダイ91Aの縦方向の長さをできるだけ少ない分割数n(nは2以上の自然数)で等分したときに、その1つ分の長さが、検査セクションSECの最大高さ幅DTM13を超えないときに、その1つの分の長さが検査セクションSECの高さ幅DT13に設定される。例えば図7に示される例では、検査セクションの最大高さ幅DTM13が、ダイ91Aの縦方向の長さよりも短く、かつ、該縦方向の長さの半分以上となっている。このため、図8に示されるように、検査セクションの高さ幅DT13は、ダイ91Aを縦方向において2分割したときの、その一つ分の長さに設定される。   In the example shown in FIG. 7, unlike the examples shown in FIGS. 5 and 6, the longitudinal length of the die 91A is larger than the maximum height width DTM13 of the inspection section. In this case, when the vertical length of the die 91A is equally divided by the smallest possible number of divisions n (n is a natural number of 2 or more), the length of one is the maximum height width DTM13 of the inspection section SEC. Is not exceeded, the length of one portion is set as the height width DT13 of the inspection section SEC. For example, in the example shown in FIG. 7, the maximum height width DTM13 of the inspection section is shorter than the length of the die 91A in the vertical direction and more than half of the length in the vertical direction. For this reason, as shown in FIG. 8, the height width DT13 of the inspection section is set to a length corresponding to one when the die 91A is divided into two in the vertical direction.

このように、比較的大きいダイ91Aの場合に、縦方向に等分割して検査セクションの高さ幅DT13を決定することにより、1つの検査セクションが大きくなりすぎることを抑制できる。これにより、画像処理量が、画像処理部59の処理能力(GPU591の演算処理能力、画像処理用メモリ593などのメモリ容量等)を超える虞がなくなり、画像処理部59が適切に画像処理を行うことができる。   As described above, in the case of the relatively large die 91A, it is possible to prevent one inspection section from becoming too large by determining the height width DT13 of the inspection section by equally dividing in the vertical direction. As a result, there is no possibility that the image processing amount exceeds the processing capability of the image processing unit 59 (the processing capability of the GPU 591, the memory capacity of the image processing memory 593, etc.), and the image processing unit 59 appropriately performs image processing. be able to.

次に、検査セクションSEC毎に検査タスクを作成する点について説明する。なお、以下の説明では、図6に示されるように、比較的小さいダイ91をスキャン撮影して得た場合を例に挙げて説明する。ただし、図8に示されるような、比較的大きいダイ91Aであっても、同様に検査を実行できることはいうまでもない。   Next, the point that an inspection task is created for each inspection section SEC will be described. In the following description, as shown in FIG. 6, a case where a comparatively small die 91 is obtained by scanning is described as an example. However, it goes without saying that even a relatively large die 91A as shown in FIG. 8 can be similarly inspected.

図9は、検査セクションSEC毎に、検査タスクが生成される様子を説明する図である。検査セクションSECが設定されると、検査タスク生成部43が、検査セクションSEC毎に、1つの検査タスクを生成する。検査タスクは、各プロセッサ(GPU591)に分配する検査処理の単位である。図9に示される例では、3つの検査セクションSEC1〜SEC3が設定されているため、これらに対応する検査タスクT1〜T3が生成される。なお、1つの検査セクションSECに対して、複数種類の検査を行う溜めに、複数の検査タスクを生成してもよい。   FIG. 9 is a diagram illustrating a state in which an inspection task is generated for each inspection section SEC. When the inspection section SEC is set, the inspection task generation unit 43 generates one inspection task for each inspection section SEC. The inspection task is a unit of inspection processing distributed to each processor (GPU 591). In the example shown in FIG. 9, since three inspection sections SEC1 to SEC3 are set, inspection tasks T1 to T3 corresponding to these are generated. A plurality of inspection tasks may be generated in a reservoir for performing a plurality of types of inspections for one inspection section SEC.

各検査タスクT1〜T3は、各検査セクションSEC1〜3の位置情報の他、複数の検査コマンド(検査コマンドC11,C12,C13・・・、検査コマンドC21,C22,C23・・・、検査コマンドC31,C32,C33・・・)で構成されている。検査コマンドは、各プロセッサ(GPU591)が実行する検査処理の最小実行単位である。   Each inspection task T1 to T3 includes a plurality of inspection commands (inspection commands C11, C12, C13..., Inspection commands C21, C22, C23..., Inspection command C31 in addition to the position information of the inspection sections SEC1 to SEC3. , C32, C33... The inspection command is a minimum execution unit of inspection processing executed by each processor (GPU 591).

図10は、検査コマンドの例を説明するための図である。本実施形態では、非繰り返しパターン領域93と繰り返しパターン領域95に対して異なる検査方法が適用される。具体的に、非繰り返しパターン領域93については、いわゆるダイ検査が適用される。また、繰り返しパターン領域95については、アレイ検査が適用される。   FIG. 10 is a diagram for explaining an example of the inspection command. In the present embodiment, different inspection methods are applied to the non-repeated pattern region 93 and the repeated pattern region 95. Specifically, a so-called die inspection is applied to the non-repeated pattern region 93. For the repeated pattern region 95, array inspection is applied.

非繰り返しパターン領域93に適用されるダイ検査とは、検査対象のダイ91と、これとは異なるダイ91とを比較することによって、パターン欠陥を検出する検査方法である。異なるダイ91は、任意の位置にあるものを選択し得るが、例えば、ラインセンサ31の長手方向と平行な方向に隣接するダイ91を選択すればよい。   The die inspection applied to the non-repeated pattern region 93 is an inspection method for detecting a pattern defect by comparing a die 91 to be inspected with a die 91 different from the die 91. Different dies 91 can be selected at arbitrary positions. For example, the dies 91 adjacent in the direction parallel to the longitudinal direction of the line sensor 31 may be selected.

繰り返しパターン領域95に適用されるアレイ検査とは、検査対象である1つのダイ91内における、繰り返しパターン同士を比較することにより、パターン欠陥を検出する検査方法である。比較される2つの繰り返しパターンは、隣接していてもよいし、離れていてもよい。   The array inspection applied to the repetitive pattern region 95 is an inspection method for detecting a pattern defect by comparing repetitive patterns in one die 91 to be inspected. The two repeated patterns to be compared may be adjacent to each other or separated from each other.

このように、非繰り返しパターン領域93と繰り返しパターン領域95とは、異なる検査が適用される。このため、図10に示されるように、検査セクションSEC1は、非繰り返しパターン領域93に対応する領域と繰り返しパターン領域95に対応する領域とに分割される。さらに、本実施形態では、非繰り返しパターン領域93と繰り返しパターン領域95とに分割された領域は、矩形の領域に分割される。このため、図10に示される検査セクションSEC1では、16個の矩形領域A1−1〜A1−16に分割される。なお、検査セクションSEC1を必ずしも矩形領域に分割する必要はなく、任意の形状の領域に分割することが可能である。   As described above, different inspections are applied to the non-repeated pattern region 93 and the repeated pattern region 95. For this reason, as shown in FIG. 10, the inspection section SEC <b> 1 is divided into a region corresponding to the non-repeated pattern region 93 and a region corresponding to the repeated pattern region 95. Further, in the present embodiment, the area divided into the non-repeating pattern area 93 and the repeating pattern area 95 is divided into rectangular areas. For this reason, the inspection section SEC1 shown in FIG. 10 is divided into 16 rectangular areas A1-1 to A1-16. Note that the inspection section SEC1 does not necessarily have to be divided into rectangular areas, but can be divided into areas of arbitrary shapes.

具体的に、矩形領域A1−1〜A1−3,A1−5〜A1−7,A1−9〜A1−11,A1−13〜A1−15は、非繰り返しパターン領域93に対応する。このため、これらの領域について、GPU591にダイ検査を実行させるダイ検査コマンドが検査タスクT1に登録される。一方、矩形領域A1−4,A1−8,A1−12,A1−16は、繰り返しパターン領域95に対応する。このため、これらの領域について、GPU591にアレイ検査を実行させるアレイ検査コマンドが検査タスクT1に登録されることとなる。   Specifically, the rectangular areas A1-1 to A1-3, A1-5 to A1-7, A1-9 to A1-11, and A1-13 to A1-15 correspond to the non-repeating pattern area 93. Therefore, a die inspection command for causing the GPU 591 to perform die inspection is registered in the inspection task T1 for these areas. On the other hand, the rectangular areas A1-4, A1-8, A1-12, A1-16 correspond to the repeated pattern area 95. Therefore, for these areas, an array inspection command for causing the GPU 591 to perform array inspection is registered in the inspection task T1.

各GPU制御部57は、検査タスク保持部51に非同期かつ排他的にアクセスして、1つの検査タスクを取得する。検査タスクを取得したGPU制御部57は、その情報を元に、まず、バッファメモリ53に記録されたスキャン撮影の取り込み済みライン数が、本検査タスクの検査開始に必要な取り込みライン数を超えているかどうかを判定する。取り込み済みライン数が、検査に必要な取り込みライン数を超えていない場合、GPU制御部57は、超えるまで待機する。取り込み済み取り込みライン数が、検査に必要な取り込みライン数を超えている場合、GPU制御部57は、GPU591に接続されている画像処理用メモリ593に、検査する範囲の画像(検査画像)を、バッファメモリ53から取り込ませる。   Each GPU control unit 57 asynchronously and exclusively accesses the inspection task holding unit 51 to acquire one inspection task. Based on the information, the GPU control unit 57 that has acquired the inspection task first exceeds the number of acquired lines of scan shooting recorded in the buffer memory 53 beyond the number of acquired lines necessary for starting the inspection of this inspection task. Determine whether or not. If the number of captured lines does not exceed the number of captured lines necessary for the inspection, the GPU control unit 57 waits until it exceeds. If the number of captured capture lines exceeds the number of capture lines necessary for inspection, the GPU control unit 57 stores an image (inspection image) in a range to be inspected in the image processing memory 593 connected to the GPU 591. The data is fetched from the buffer memory 53.

次に、GPU制御部57は、検査タスクに含まれる複数の検査コマンドから、1つの検査コマンドを取得して、該検査コマンドにおいて指定された処理をGPU591に登録する。また、GPU制御部57は、同一の検査タスクから、次の検査コマンドを取得し、先に登録した検査コマンド(第一検査コマンド)と次の検査コマンド(第二検査コマンド)との間で、処理内容に依存関係があるか否かを判定する。そして、依存関係がない場合、すなわち、先の検査コマンドと新たな検査コマンドとが同時に処理可能なものである場合、先の検査コマンドが完了するのを待たずに、次の検査コマンドをGPU591に登録して、その処理を実行させる。このように、並列に実行可能な検査コマンドの処理が、非同期に(つまり、処理の完了を待たずに)次々とGPU591に登録される。   Next, the GPU control unit 57 acquires one inspection command from a plurality of inspection commands included in the inspection task, and registers the processing specified in the inspection command in the GPU 591. Further, the GPU control unit 57 acquires the next inspection command from the same inspection task, and between the inspection command (first inspection command) and the next inspection command (second inspection command) registered in advance, It is determined whether or not the processing content has a dependency. If there is no dependency, that is, if the previous test command and the new test command can be processed simultaneously, the next test command is sent to the GPU 591 without waiting for the previous test command to be completed. Register and have it run. In this way, the processing of test commands that can be executed in parallel is registered in the GPU 591 one after another asynchronously (that is, without waiting for completion of processing).

図11は、GPU591が複数の検査コマンドを実行するときのタイムチャートの一例を示す図である。図11に示される例では、GPU591は、21個のGPUコア5910を備えている。なお、このGPUコア数は、一例であり、適宜変更可能である。また、図11に示される例では、GPU591は、検査コマンドC1−1〜C1−16を実行している。これらの検査コマンドC1−1〜C1−16は、図10に示される、矩形領域A1−1〜A1−16について検査する、ダイ検査コマンドまたはアレイ検査コマンドにそれぞれ該当する。また、図11において、横軸は、各検査コマンドの実行に割り当てられるGPUコア5910の数量を示しており、縦軸は時間を示している。   FIG. 11 is a diagram illustrating an example of a time chart when the GPU 591 executes a plurality of inspection commands. In the example illustrated in FIG. 11, the GPU 591 includes 21 GPU cores 5910. The number of GPU cores is an example, and can be changed as appropriate. In the example shown in FIG. 11, the GPU 591 executes inspection commands C1-1 to C1-16. These inspection commands C1-1 to C1-16 correspond to a die inspection command or an array inspection command for inspecting the rectangular areas A1-1 to A1-16 shown in FIG. In FIG. 11, the horizontal axis indicates the number of GPU cores 5910 assigned to the execution of each inspection command, and the vertical axis indicates time.

図11に示される例では、各検査コマンドに割り当てられるGPUコア数は、以下のように設定されている。
(グループ1)検査コマンドC1−1,C1−5,C1−9,C1−13・・・21個
(グループ2)検査コマンドC1−2,C1−6,C1−10,C1−14・・・5個
(グループ3)検査コマンドC1−3,C1−7,C1−11,C−15・・・12個
(グループ4)検査コマンドC1−4,C1−8,C1−12,C1−16・・・14個
In the example shown in FIG. 11, the number of GPU cores assigned to each inspection command is set as follows.
(Group 1) Inspection commands C1-1, C1-5, C1-9, C1-13... 21 (Group 2) Inspection commands C1-2, C1-6, C1-10, C1-14. 5 (group 3) inspection commands C1-3, C1-7, C1-11, C-15... 12 (group 4) inspection commands C1-4, C1-8, C1-12, C1-16. ..14 pieces

グループ1〜3の検査コマンドは、ダイ検査コマンド、グループ4の検査コマンドは、アレイ検査コマンドに相当する。ここで、ダイ検査コマンドとアレイ検査コマンドとは、それぞれ処理内容に依存関係がないため、並列に実行可能な検査コマンドとなっている。つまり、検査コマンドC1−1〜C1−16は、いずれも、相互に並列に実行可能な検査コマンドである。しかしながら、グループ1とグループ4の検査コマンドは、割り当てられるGPUコア数が比較的多く、他の検査コマンドのためにGPUコア5910を提供することができない。このため、これらの検査コマンドは、1つずつ順番に実行されることとなる。   The inspection commands for groups 1 to 3 correspond to die inspection commands, and the inspection commands for group 4 correspond to array inspection commands. Here, the die inspection command and the array inspection command are inspection commands that can be executed in parallel because there is no dependency on processing contents. That is, the inspection commands C1-1 to C1-16 are all inspection commands that can be executed in parallel with each other. However, the inspection commands of group 1 and group 4 have a relatively large number of allocated GPU cores, and cannot provide the GPU core 5910 for other inspection commands. For this reason, these inspection commands are executed one by one in order.

一方、グループ2とグループ3の検査コマンドは、同時に実行したとしても、割り当てられるGPUコア数の和(=7+11)が全GPU数(=21)を超えないため、GPU591が並列に実行可能となっている。   On the other hand, even if the inspection commands for group 2 and group 3 are executed at the same time, the sum of the number of allocated GPU cores (= 7 + 11) does not exceed the total number of GPUs (= 21), so that GPU 591 can be executed in parallel. ing.

なお、上記の例では、各検査コマンドに割り当てられるGPUコア数に基づいて、複数の検査コマンドを同時に実行するか否かが決定される。しかしながら、各検査コマンドに消費されるレジスタまたはオンチップ・メモリの容量等の条件を鑑みて、2以上の検査コマンドを同時に登録して実行させるか否かを決定するようにしてもよい。   In the above example, whether or not to execute a plurality of inspection commands simultaneously is determined based on the number of GPU cores assigned to each inspection command. However, in view of conditions such as the capacity of the register or on-chip memory consumed by each inspection command, it may be determined whether or not two or more inspection commands are registered and executed simultaneously.

図12は、並列に実行できない検査コマンドの例を説明するための図である。図11において実行される検査コマンドC1−1〜C1−16は、並列に処理可能な検査コマンドであった。これに対して、検査コマンド同士の処理内容に依存関係がある場合、GPU591がこれらの検査コマンドを同時に実行することができない。   FIG. 12 is a diagram for explaining an example of a test command that cannot be executed in parallel. The inspection commands C1-1 to C1-16 executed in FIG. 11 are inspection commands that can be processed in parallel. On the other hand, when there is a dependency relationship between the processing contents of the inspection commands, the GPU 591 cannot execute these inspection commands at the same time.

例えば、ダイ検査またはアレイ検査後に、その検査結果に対して「マスク処理」を行う場合がある。具体的に、ダイ91上の特定部分について欠陥が必ず現れることが分かっている等の諸事情がある場合に、ダイ検査後またはアレイ検査後に、上記特定部分に関する検査結果をマスク処理して破棄する場合がある。つまり、マスク処理をGPU591に実行させるためのマスク処理コマンドC34は、ダイ検査コマンドC31,C32またはアレイ検査コマンドC33と同時に実行することはできない(図12参照)。   For example, after the die inspection or the array inspection, “mask processing” may be performed on the inspection result. Specifically, when there are various circumstances such that it is known that a defect always appears on a specific part on the die 91, the inspection result on the specific part is masked and discarded after the die inspection or the array inspection. There is a case. That is, the mask processing command C34 for causing the GPU 591 to execute the mask processing cannot be executed simultaneously with the die inspection commands C31 and C32 or the array inspection command C33 (see FIG. 12).

このように、次にGPU591に登録しようとする検査コマンド(第二検査コマンド)と、先に登録した検査コマンド(第一検査コマンド)との間で、処理内容に依存関係があるために、同時に実行できない場合、GPU制御部57は、先に登録した検査コマンド(第一検査コマンド)が完了した後に、次の検査コマンド(第二検査コマンド)をGPU591に登録する。   As described above, since there is a dependency on the processing contents between the inspection command (second inspection command) to be registered next in the GPU 591 and the inspection command (first inspection command) registered in advance, If it cannot be executed, the GPU control unit 57 registers the next inspection command (second inspection command) in the GPU 591 after the previously registered inspection command (first inspection command) is completed.

また、同時に実行できない検査コマンドの例として、「出力処理」がある。具体的に、出力処理とは、ダイ検査またはアレイ検査によって検出した欠陥を、欠陥データ処理部6に出力する際に、例えば、検査の種別(ダイ検査またはアレイ検査)の明示、欠陥箇所の位置情報、欠陥箇所の画像の切り出し等をGPU591に実行させる処理である。この出力処理を実行させる出力処理コマンドも、アレイ検査コマンドまたはダイ検査コマンドの後でしか実行できない場合がある。したがって、このような出力処理コマンドも、アレイ検査コマンドまたはダイ検査コマンドが先に完了してから、GPU591に登録されることとなる。   An example of an inspection command that cannot be executed simultaneously is “output processing”. Specifically, output processing refers to, for example, specifying the type of inspection (die inspection or array inspection) and the position of a defect when outputting defects detected by die inspection or array inspection to the defect data processing unit 6. This is a process for causing the GPU 591 to execute information, image extraction of a defective portion, and the like. An output processing command for executing this output processing may also be executed only after an array inspection command or a die inspection command. Therefore, such an output processing command is also registered in the GPU 591 after the array inspection command or the die inspection command is completed first.

GPU制御部57は、先に登録した検査コマンドと次に登録すべき検査コマンドについて、処理内容に依存関係があるかどうか(つまり、並列処理可能かどうか)を判断する際、これらの検査コマンドの種類のみに基づいて判断すればよい。具体的には、「ダイ検査コマンド」、「アレイ検査コマンド」、「マスク処理コマンド」または「出力処理コマンド」といったコマンドの種類が参照されればよい。これにより、GPU制御部57によって、検査コマンドをGPU591に高速かつ適切に登録することが可能となる。   The GPU control unit 57 determines whether or not there is a dependency relationship between the processing contents of the inspection command registered first and the inspection command to be registered next (that is, whether parallel processing is possible). Judgment should be based on the type alone. Specifically, a command type such as “die inspection command”, “array inspection command”, “mask processing command”, or “output processing command” may be referred to. As a result, the GPU control unit 57 can register the inspection command in the GPU 591 at high speed and appropriately.

以上のようにして、GPU591が、1つの検査タスクに含まれる全検査コマンドの実行を完了すると、GPU制御部57は、GPU591によって生成された欠陥情報を、欠陥データ処理部6に出力する。そして、各GPU制御部57が各GPU591に並列して各検査タスクを実行させることで、検査タスク保持部51に保持されている全検査タスクが順次実行される。また、検査タスク保持部51に保存されている全検査タスクが完了すると、基板9の別の場所について、スキャン撮影が行われる。このようにして、基板9の所望の範囲についての検査が行われる。   As described above, when the GPU 591 completes the execution of all the inspection commands included in one inspection task, the GPU control unit 57 outputs the defect information generated by the GPU 591 to the defect data processing unit 6. Then, each GPU control unit 57 executes each inspection task in parallel with each GPU 591 so that all inspection tasks held in the inspection task holding unit 51 are executed sequentially. In addition, when all the inspection tasks stored in the inspection task holding unit 51 are completed, scan imaging is performed for another place on the substrate 9. In this way, the inspection of the desired range of the substrate 9 is performed.

<1.3. 効果>
以上のように、本実施形態では、先にGPU591に登録された検査コマンド(第一検査コマンド)と、次に登録する(未登録の)検査コマンド(第二検査コマンド)との間で、処理内容に依存関係がない場合、GPU591に次の検査コマンド(第二検査コマンド)が登録される。GPU591において、先の検査コマンド(第一検査コマンド)と次の検査コマンド(第二検査コマンド)とを、並列に処理することが可能となるため、演算処理の効率を向上することができる。
<1.3. Effect>
As described above, in the present embodiment, processing is performed between the inspection command (first inspection command) registered in the GPU 591 and the inspection command (second registration command) registered next (unregistered). If there is no dependency in the contents, the next inspection command (second inspection command) is registered in the GPU 591. In the GPU 591, the previous inspection command (first inspection command) and the next inspection command (second inspection command) can be processed in parallel, so that the efficiency of arithmetic processing can be improved.

図13は、比較例に係るGPU591が複数の検査コマンドを実行するときのタイムチャートの一例を示す図である。この図13に示される比較例では、検査コマンドC1−1〜C1−16について、処理内容の依存関係に関わらず、順番に実行されている。この場合、GPUコア5910が動作していない時間が多く存在しており、マルチコアプロセッサであるGPU591の優位性が生かされていない。   FIG. 13 is a diagram illustrating an example of a time chart when the GPU 591 according to the comparative example executes a plurality of inspection commands. In the comparative example shown in FIG. 13, the inspection commands C1-1 to C1-16 are executed in order regardless of the dependency of the processing contents. In this case, there are many times when the GPU core 5910 is not operating, and the superiority of the GPU 591 that is a multi-core processor is not utilized.

これに対して、本実施例では、図11に示されるように、並列処理が可能な検査コマンドについては、複数のGPUコア5910によって、並列に実行される。これにより、GPUコア5910が動作していない時間を顕著に減らすことができる。つまり、演算処理の効率を向上することができる。   On the other hand, in this embodiment, as shown in FIG. 11, test commands that can be processed in parallel are executed in parallel by a plurality of GPU cores 5910. Thereby, the time when the GPU core 5910 is not operating can be significantly reduced. That is, the efficiency of arithmetic processing can be improved.

<2. 変形例>
以上、実施形態について説明してきたが、本発明は上記のようなものに限定されるものではなく、様々な変形が可能である。
<2. Modification>
Although the embodiment has been described above, the present invention is not limited to the above, and various modifications are possible.

例えば、上記実施形態では、図10に示されるように、検査対象領域である検査セクションSEC1を、非繰り返しパターン領域93および繰り返しパターン領域95で分割し、さらにそれらを矩形領域に分割して、それぞれの矩形領域毎に検査コマンドが割り当てられる。しかしながら、検査対象領域を分割する方法は、このようなものに限定されない。   For example, in the above embodiment, as shown in FIG. 10, the inspection section SEC1, which is the inspection target area, is divided into a non-repeated pattern area 93 and a repeated pattern area 95, and further divided into rectangular areas, An inspection command is assigned to each rectangular area. However, the method of dividing the inspection target region is not limited to such a method.

例えば、図14に示されるように、1つのダイ91Bにおいて、四角形の検査対象領域R11および略円形の検査対象領域R13が存在する場合に、これらの検査対象領域R11,R13を多数の矩形領域に分割することが考えられる。このように、検査セクションを細かく分割することで、矩形領域毎に適用される検査(ダイ検査またはアレイ検査)において、検査条件(例えば、欠陥か否かを判定するための閾値等)を矩形領域毎に異ならせることができる。これにより、より綿密な検査を実施することができる。   For example, as shown in FIG. 14, when a rectangular inspection target region R11 and a substantially circular inspection target region R13 exist in one die 91B, these inspection target regions R11 and R13 are made into a large number of rectangular regions. It is possible to divide. In this way, by dividing the inspection section finely, in the inspection (die inspection or array inspection) applied to each rectangular area, the inspection condition (for example, a threshold value for determining whether or not the defect is present) is set to the rectangular area. Can be different for each. Thereby, a more detailed inspection can be performed.

また、上記実施形態では、複数のGPU591を用いて、検査処理を並列に行うようにしているが、例えば、これを複数のCPUに代行させることも考えられる。この場合、例えばCPUとRAMを備えた複数台のコンピュータを用意し、GPU591をCPUで代用し、また、画像処理用メモリ593をRAMで代用すればよい。1台のコンピュータに、複数のCPUを搭載するいわゆるマルチCPUで代用することも考えられる。なお、一般的には、CPUを利用するよりも、GPU591を利用した方が、欠陥検出に関する画像処理を高速に行うことができる。   In the above embodiment, a plurality of GPUs 591 are used to perform the inspection processing in parallel. For example, it is conceivable that a plurality of CPUs are substituted for this. In this case, for example, a plurality of computers including a CPU and a RAM may be prepared, the GPU 591 may be replaced with a CPU, and the image processing memory 593 may be replaced with a RAM. It is conceivable to substitute a so-called multi-CPU in which a plurality of CPUs are mounted on one computer. In general, image processing related to defect detection can be performed at a higher speed when the GPU 591 is used than when the CPU is used.

また、GPU591の代わりに、Cell(Cell Broadband Engine(株式会社ソニー・コンピュータエンタテインメントの商標))のように、種類の異なる複数のプロセッサコアを備えた、ヘテロジニアスマルチコアのプロセッサを採用することも考えられる。   It is also possible to adopt a heterogeneous multi-core processor having a plurality of different processor cores such as Cell (Cell Broadband Engine (trademark of Sony Computer Entertainment Inc.)) instead of the GPU 591. .

また、上記実施形態では、GPU591毎に、専用の画像処理用メモリ593が用意されている。しかしながら、各GPU591が、共通の画像処理用メモリにアクセスするように構成されていてもよい。   In the above embodiment, a dedicated image processing memory 593 is prepared for each GPU 591. However, each GPU 591 may be configured to access a common image processing memory.

また、上記実施形態では、基板9を半導体基板としているが、本発明は、フォトマスク用ガラス基板、表示装置用基板、光ディスク用基板、磁気ディスク用基板、光磁気ディスク用基板、プリント基板、または、太陽電池用基板等の各種基板の画像処理、または、外観検査処理を行う場合にも有効である。   In the above embodiment, the substrate 9 is a semiconductor substrate. However, in the present invention, the glass substrate for photomask, the substrate for display device, the substrate for optical disk, the substrate for magnetic disk, the substrate for magneto-optical disk, the printed board, It is also effective when performing image processing or visual inspection processing of various substrates such as solar cell substrates.

さらに、上記実施形態および変形例で示される各構成は、矛盾が生じない限りにおいて相互に組み合わせたり、または、省略したりすることができることはいうまでもない。   Furthermore, it goes without saying that the configurations shown in the above-described embodiments and modifications can be combined with each other or omitted as long as no contradiction arises.

1 外観検査装置
2 ステージ
21 ステージ移動機構
3 撮影部
31 ラインセンサ
4 制御部
41 検査レシピ作成部
43 検査タスク生成部
45 ステージ制御部
5 画像処理装置
51 検査タスク保持部
53 バッファメモリ
55 画像処理制御部
57 GPU制御部(プロセッサ制御部)
59 画像処理部
5910 GPUコア(コア)
591 GPU(プロセッサ)
593 画像処理用メモリ
6 欠陥データ処理部
9 基板
91,91A,91B ダイ
93 非繰り返しパターン領域
95 繰り返しパターン領域
A1〜A16 矩形領域
C1〜C16 検査コマンド
C31,C32 ダイ検査コマンド
C33 アレイ検査コマンド
C34 マスク処理コマンド
DT11 横幅
DT13 高さ幅
DTM13 最大高さ幅
R11,R13 検査対象領域
T1〜T3 検査タスク
SEC,SEC1〜SEC3 検査セクション
DESCRIPTION OF SYMBOLS 1 Appearance inspection apparatus 2 Stage 21 Stage moving mechanism 3 Image pick-up part 31 Line sensor 4 Control part 41 Inspection recipe preparation part 43 Inspection task production | generation part 45 Stage control part 5 Image processing apparatus 51 Inspection task holding part 53 Buffer memory 55 Image processing control part 57 GPU control unit (processor control unit)
59 Image processor 5910 GPU core (core)
591 GPU (processor)
593 Image processing memory 6 Defect data processing unit 9 Substrate 91, 91A, 91B Die 93 Non-repeated pattern area 95 Repetitive pattern area A1-A16 Rectangular area C1-C16 Inspection command C31, C32 Die inspection command C33 Array inspection command C34 Mask processing Command DT11 Width DT13 Height Width DTM13 Maximum Height Width R11, R13 Inspection Area T1-T3 Inspection Task SEC, SEC1-SEC3 Inspection Section

Claims (10)

画像処理装置であって、
複数のコアを有するプロセッサを備える画像処理部と、
検査対象となる検査画像を記憶する画像記憶部と、
前記検査画像を複数に分割して得られる検査セクション毎に生成された、前記プロセッサが実行する複数の検査コマンドを含む検査タスクを保持する検査タスク保持部と、
前記複数の検査コマンドを、前記プロセッサに登録して実行させるプロセッサ制御部と、
を備え、
前記プロセッサ制御部は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録である第二検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する、画像処理装置。
An image processing apparatus,
An image processing unit comprising a processor having a plurality of cores;
An image storage unit for storing an inspection image to be inspected;
An inspection task holding unit that holds an inspection task including a plurality of inspection commands executed by the processor, generated for each inspection section obtained by dividing the inspection image into a plurality of parts;
A processor control unit that registers and executes the plurality of inspection commands in the processor;
With
The processor control unit, among the plurality of inspection commands included in one inspection task, between a first inspection command previously registered in the processor and a second inspection command not registered in the processor, An image processing apparatus for registering the second inspection command in the processor when there is no dependency in processing contents.
請求項1に記載の画像処理装置において、
前記プロセッサ制御部は、前記プロセッサに登録された複数の検査コマンドを、前記プロセッサに並行に実行させる、画像処理装置。
The image processing apparatus according to claim 1.
The processor control unit causes the processor to execute a plurality of inspection commands registered in the processor in parallel.
請求項1または2に記載の画像処理装置において、
前記画像処理部が、前記プロセッサを複数備えており、
複数の前記検査タスクが、複数の前記プロセッサにそれぞれ分配される、画像処理装置。
The image processing apparatus according to claim 1 or 2,
The image processing unit includes a plurality of the processors,
An image processing apparatus, wherein a plurality of inspection tasks are respectively distributed to the plurality of processors.
請求項1から3までのいずれか1項に記載の画像処理装置において、
前記プロセッサ制御部は、前記第一検査コマンドおよび第二検査コマンドの種類に基づいて、前記プロセッサに前記第二コマンドを登録するか否かを判断する、画像処理装置。
The image processing apparatus according to any one of claims 1 to 3,
The image processing apparatus, wherein the processor control unit determines whether to register the second command in the processor based on types of the first inspection command and the second inspection command.
基板に形成されたパターンを検査する外観検査装置であって、
請求項1から4までのいずれか1項に記載の画像処理装置と、
基板を撮影して前記検査画像を取得する撮影部と、
を備え、
前記画像処理部は、前記基板に形成されたパターンの欠陥を検査する、外観検査装置。
An appearance inspection apparatus for inspecting a pattern formed on a substrate,
An image processing apparatus according to any one of claims 1 to 4,
A photographing unit for photographing the substrate and obtaining the inspection image;
With
The image processing unit is an appearance inspection apparatus that inspects a defect of a pattern formed on the substrate.
請求項5に記載の外観検査装置において、
前記複数の検査コマンドは、非繰り返しパターンを検査するダイ検査コマンドと、繰り返しパターンを検査するアレイ検査コマンドとを含む、外観検査装置。
The appearance inspection apparatus according to claim 5,
The visual inspection apparatus, wherein the plurality of inspection commands include a die inspection command for inspecting a non-repeated pattern and an array inspection command for inspecting a repetitive pattern.
画像処理方法であって、
(a) 検査対象である検査画像を、複数に分割して得られた検査セクション毎に、複数のコアを有するプロセッサが実行する複数の検査コマンドで構成される検査タスクを生成する工程と、
(b) 前記複数の検査コマンドを、前記プロセッサに登録して実行させる工程と、
を含み、
前記(b)工程は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録の第二の検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する工程である、画像処理方法。
An image processing method comprising:
(a) generating an inspection task composed of a plurality of inspection commands executed by a processor having a plurality of cores for each inspection section obtained by dividing an inspection image to be inspected into a plurality of sections;
(b) registering and executing the plurality of inspection commands in the processor;
Including
In the step (b), among the plurality of inspection commands included in one inspection task, between the first inspection command previously registered in the processor and the second inspection command not registered in the processor. An image processing method, which is a step of registering the second inspection command in the processor when there is no dependency in processing contents.
請求項7に記載の画像処理方法において、
(c) 前記(b)工程にて前記プロセッサに登録された前記複数の検査コマンドを、前記プロセッサが並列に実行する工程、
をさらに含む、画像処理方法。
The image processing method according to claim 7.
(c) a step in which the processor executes the plurality of inspection commands registered in the processor in the step (b) in parallel;
An image processing method further comprising:
基板に形成されたパターンを検査する外観検査方法であって、
(A) 基板を撮影することによって、検査画像を取得する工程、
(B) 前記検査画像を複数に分割して得られる検査セクション毎に、複数のコアを有するプロセッサが実行する複数の検査コマンドを含む検査タスクを生成する工程と、
(C) 前記複数の検査コマンドを、前記プロセッサに登録して実行させる工程と、
を含み、
前記(C)工程は、1つの前記検査タスクに含まれる前記複数の検査コマンドのうち、前記プロセッサに先に登録した第一検査コマンドと前記プロセッサに未登録の第二の検査コマンドとの間で、処理内容に依存関係がないとき、前記プロセッサに前記第二検査コマンドを登録する工程である、外観検査方法。
An appearance inspection method for inspecting a pattern formed on a substrate,
(A) a process of obtaining an inspection image by photographing the substrate;
(B) generating an inspection task including a plurality of inspection commands to be executed by a processor having a plurality of cores for each inspection section obtained by dividing the inspection image into a plurality of sections;
(C) registering and executing the plurality of inspection commands in the processor;
Including
In the step (C), among the plurality of inspection commands included in one inspection task, between the first inspection command previously registered in the processor and the second inspection command not registered in the processor. An appearance inspection method, which is a step of registering the second inspection command in the processor when there is no dependency in processing contents.
請求項9に記載の外観検査方法において、
(D) 前記(C)工程にて前記プロセッサに登録された前記複数の検査コマンドを、前記プロセッサが並列に実行する工程、
をさらに含む、外観検査方法。
The visual inspection method according to claim 9,
(D) a step in which the processor executes the plurality of inspection commands registered in the processor in the step (C) in parallel;
A visual inspection method further comprising:
JP2012216204A 2012-09-28 2012-09-28 Image processing apparatus, appearance inspection apparatus, image processing method, and appearance inspection method Active JP6074210B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012216204A JP6074210B2 (en) 2012-09-28 2012-09-28 Image processing apparatus, appearance inspection apparatus, image processing method, and appearance inspection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012216204A JP6074210B2 (en) 2012-09-28 2012-09-28 Image processing apparatus, appearance inspection apparatus, image processing method, and appearance inspection method

Publications (2)

Publication Number Publication Date
JP2014070956A true JP2014070956A (en) 2014-04-21
JP6074210B2 JP6074210B2 (en) 2017-02-01

Family

ID=50746303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012216204A Active JP6074210B2 (en) 2012-09-28 2012-09-28 Image processing apparatus, appearance inspection apparatus, image processing method, and appearance inspection method

Country Status (1)

Country Link
JP (1) JP6074210B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7441861B2 (en) 2020-01-09 2024-03-01 日立Astemo株式会社 Arithmetic device and inspection method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101110A (en) * 1991-10-04 1993-04-23 Toshiba Corp Data base arithmetic processing unit
JP2009281898A (en) * 2008-05-23 2009-12-03 Hitachi High-Technologies Corp Defect inspection method and apparatus for the same
JP2010218130A (en) * 2009-03-16 2010-09-30 Mitsubishi Electric Corp Drawing control device
JP2011065645A (en) * 2009-09-18 2011-03-31 Square Enix Co Ltd Multi-core processor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101110A (en) * 1991-10-04 1993-04-23 Toshiba Corp Data base arithmetic processing unit
JP2009281898A (en) * 2008-05-23 2009-12-03 Hitachi High-Technologies Corp Defect inspection method and apparatus for the same
JP2010218130A (en) * 2009-03-16 2010-09-30 Mitsubishi Electric Corp Drawing control device
JP2011065645A (en) * 2009-09-18 2011-03-31 Square Enix Co Ltd Multi-core processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7441861B2 (en) 2020-01-09 2024-03-01 日立Astemo株式会社 Arithmetic device and inspection method

Also Published As

Publication number Publication date
JP6074210B2 (en) 2017-02-01

Similar Documents

Publication Publication Date Title
US9196031B2 (en) Appearance inspection apparatus and method
TW200539059A (en) Scalable shader architecture
JP2004012360A (en) Pattern inspection device, pattern inspection method, and program
KR100380909B1 (en) Appearance inspection apparatus and appearance inspection method
JP2016530521A (en) Board inspection equipment
JP4564768B2 (en) Pattern inspection method and apparatus
JPH04148544A (en) Wire bonding inspector
JP2011222636A (en) Inspection apparatus, inspection method, and defect coordinate correction method
JP2009031006A (en) Visual inspection device and method
JP6074210B2 (en) Image processing apparatus, appearance inspection apparatus, image processing method, and appearance inspection method
US9659361B2 (en) Measuring apparatus that generates positional deviation distribution of a pattern on a target object
JP2013148380A (en) Visual inspection device
JP2005091161A (en) Defect-confirming system and defect-confirming method
JP2014062837A (en) Defect inspection device and defect reviewing device
US9811896B2 (en) Measuring apparatus
JP2013024666A (en) Defect detection method and defect detection device
JP2013148363A (en) Visual inspection device
JP2002296753A (en) Graphic data developing method
JP2005241310A (en) Visual examination device, visual examination method and visual examination program
JP6460660B2 (en) Data operation device, data operation method, and defect inspection device
JP2014032100A (en) Pattern inspection device and pattern inspection method
JP2017194587A (en) Inspection method and inspection device for color filter
JP4089302B2 (en) Appearance inspection apparatus and appearance inspection method
JP2015042942A (en) Image processor, defect detection device, image processing method, program, and, recording medium
US9824413B2 (en) Sort-free threading model for a multi-threaded graphics pipeline

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170106

R150 Certificate of patent or registration of utility model

Ref document number: 6074210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250