This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2010-002173, filed on Jan. 7, 2010, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate to generally to a pattern evaluation system, a pattern evaluation method and a semiconductor device manufacturing method.
To evaluate a pattern, in particular, to evaluate a micropattern of a semiconductor, the following method has heretofore been used: A pattern to be evaluated is imaged by, for example, a scanning electron microscope (SEM) to obtain an SEM image. This SEM image is subjected to particular image processing and then a variety of dimensions are measured. In this way, a desired evaluation (inspection) result is obtained. In general, the same apparatus is used both in acquiring the image of the pattern to be evaluated and in evaluating this image.
In response to increasingly miniaturized and complicated semiconductors, there has recently been a growing need for a variety of high-level image processing. Accordingly, one method has been proposed wherein a pattern is evaluated by an apparatus different from an image acquiring apparatus. In this connection, there has been proposed a system as one example. In this system, a series of images acquired by, for example, a critical dimension (CD)-SEM is registered in an image Data Base together with acquisition conditions for these images. The images are rapidly processed by a server exclusive for image processing. In such a system, high-level image processing is rapidly performed for a great number of pattern images. To this end, a high-speed CPU is mounted on the server exclusive for image processing, and a distributed computing technique is used. This enables efficient processing. In the distributed computing, a plurality of computers connected to one another by a network perform one or more processes (hereinafter referred to as “jobs”). A distributed computing system generally comprises one computer designated as a master, and a plurality of computers called clusters. For example, if 1000 images are processed by 100 clusters, one cluster has only to process 10 images. This allows a significant reduction in processing time. Thus, if all of the clusters can be allocated to one job, image processing is performed in the shortest time.
However, provided that all the available clusters are allocated to processing when the image acquisition is simultaneous with the image processing, there may rise following problem. Specifically, the time for the image processing is shorter than the time for the image acquisition. After finishing the processing, the clusters have a waiting time (idling time) until a next image comes. As a result, the whole system may have a wasteful CPU resource.
On the other hand, if a small number of clusters are allocated in order to avoid the idling, the speed of the image processing does not catch up with the speed of the image acquisition, leading to a decrease in the throughput of the pattern evaluation.
Thus, according to the conventional art, the image acquisition time and the image processing time cannot be predicted when various kinds of pattern images have to be evaluated by various evaluation methods, for example, particularly when a semiconductor pattern is evaluated. Therefore, the number of allocated clusters cannot be optimized. This leads to disadvantages such as an increased processing time and decreased efficiency of the server.
In the accompanying drawings:
In accordance with an embodiment, a pattern evaluation system includes an image acquisition unit, a plurality of image processing units, and a control unit which controls the plurality of image processing units. The image acquisition unit loads a series of images of a pattern to be evaluated. The images are acquired at a first speed. The plurality of image processing units process the series of images at a second speed and then output a result of the evaluation of the pattern to be evaluated. The control unit allocates at least some of the image processing units to the processing of the series of images and causes these image processing units to perform distributed processing. Assuming that n is the number of images to be processed in one distributed processing, that Toh is an overhead time of the distributed processing, and that Ti and Tp are the first and second speeds, respectively, the control unit obtains the optimum number m of image processing units to be allocated in accordance with the following equation:
nTi=Toh+n/m×Tp.
Embodiments will now be explained with reference to the accompanying drawings. SEM image data supplied from a CD-SEM is suitably described below as an example of image data for a pattern to be evaluated. This is, however, illustrative only. It should be understood that the following embodiment are also applicable to, for example, image data acquired from optical equipment such as a digital camera or scanner. However, to evaluate a micropattern of a semiconductor device, it is desirable to use the SEM image for its high resolution. In addition, it is to be noted that like parts are provided with like signs throughout the accompanying drawings and are repeatedly described only when necessary.
(1) Pattern Evaluation System
A pattern evaluation system 1 shown in
The image loading unit 10 is connected to the memory MR1, and also connected to an external CD-SEM unit 300 via a bus line BUS. The CD-SEM 300 is connected to a memory MR200. The CD-SEM 300 acquires SEM images Img1 to Imgn (n is a natural number of 2 or more) of patterns of the same shape formed on, for example, a semiconductor substrate. The CD-SEM 300 then stores these images together with their collateral information. Here, the collateral information not only includes SEM image acquisition conditions but also includes information indicating attributes of a pattern to be evaluated, such as a product name, a process name and a production lot number. The time when each of the SEM images is acquired is also written in the collateral information as a time stamp. In accordance with an image registration program created and read in advance, the image loading unit 10 monitors the CD-SEM 300 via the bus line BUS. When the acquisition of the SEM images is started, the image loading unit 10 retrieves, via the bus line BUS and the CD-SEM 300, the SEM images Img1 to Imgn and their collateral information stored in the memory MR200, and stores the images and collateral information in the memory MR1.
The master node MN is connected to the cluster nodes CN1 to CNM (M is a natural number of 2 or more) and the memory MR3. A recipe file in which a specific procedure of a later-described pattern evaluation method is written is stored in the memory MR3. The master node MN reads the recipe file, and supplies the read recipe file to the cluster nodes CN1 to CNM. The master node MN then allocates and supplies the image Img to be processed to the cluster nodes CN1 to CNm (m≦M). Thus, the pattern is evaluated in accordance with the individual recipe.
When the individual image processing recipe and the allocated data for the image Img are supplied from the master node MN, the cluster nodes CN1 to CNM perform image processing, measure necessary parts of the pattern to be evaluated, and from an obtained measurement value, evaluate the pattern to be evaluated. Then, the cluster nodes CN1 to CNM send the results of the evaluation to the master node MN. The cluster nodes CN1 to CNM also supply the master node MN with information on a per-image image processing time Tp. In response to the supplied pattern evaluation results, the master node MN stores the evaluation results, and displays the evaluation results on, for example, a liquid crystal display (not shown).
(2) Pattern Evaluation Method
The operation of the pattern evaluation system 1 shown in
First, an image unit to be subjected to distributed processing for one Job (hereinafter referred to as a “batch image processing number n (n is a natural number of 2 or more)” is set (step S1). An optimum value is selected for the batch image processing number n in accordance with, for example, the load of the whole job as well as the scale and performance of the distributed computing system. In the case described below as one example only, 1000 images are processed and evaluated in a job A, and the batch image processing number is set at 100 (n=100).
Then, imaging of a pattern to be evaluated is started (step S2). In this embodiment, the pattern to be evaluated is imaged by the CD-SEM 300 shown in
When the first SEM image Img1 is acquired up and stored in the memory MR200, the image loading unit 10 starts loading the image (step S3). The image loading unit 10 loads the SEM image Img1 from the memory MR200 via the CD-SEM 300, and stores the SEM image Img1 in the memory MR1 together with collateral information. This image loading processing sequentially continues for the batch image processing number, that is, until the SEM image Img100 is reached.
The master node MN monitors the memory MR1. When a new SEM image Img is stored in the memory MR1, the master node MN causes the cluster node CN to perform image processing in accordance with a procedure previously designated by a recipe file. More specifically, the master node MN refers to an individual recipe table written in the recipe file with the use of the collateral information for the SEM image Img. Then, the master node MN allocates the cluster node CN to image processing, and supplies the cluster node CN with a proper individual recipe and data for the SEM image Img so that the cluster node CN performs the image processing. When the second SEM image Img2 is stored in the memory MR1, the master node MN obtains an image acquisition interval Ti from the image acquisition time included in the collateral information for the SEM images Img1 and Img2 (step S4). This interval Ti is the image acquisition time per image. Moreover, the master node MN measures, as the distributed processing overhead time Toh, a time in which the individual recipe and the data for the SEM image Img are transferred to each cluster node CN (step S5).
The master node MN allocates, for example, the cluster node CN1 to the processing of the first SEM image Img1. When the cluster node CN1 finishes the processing of the SEM image Img1, the cluster node CN1 measures the processing time Tp (step S6), and supplies the main cluster MN with the processing time Tp together with the evaluation result.
The distributed processing overhead time Toh is dependent on the sizes and numbers of images to be processed at a time (in addition to, for example, the communication speed of a network of the system and the performance of a CPU), but can be obtained in advance by actual measurements. In this embodiment, the actual measurement values are stored in advance in the memory MR3 as a table. By referring to the table regarding the distributed processing overhead time Toh, the main cluster MN obtains the optimum number m of the cluster nodes CN to be allocated, in accordance with Equation (1) (step S7).
nTi=Toh+n/m×Tp (1)
wherein n: the number of images to be processed at a time
When the optimum number m of the cluster nodes is thus decided, the master node MN causes the m cluster nodes CN1 to CNm to process the 100 SEM images (step S8).
In accordance with the procedure described above, next 100 images are stored in the memory MR1 at the point where the processing of the former 100 images has been completed. Therefore, the master node MN can immediately cause the cluster nodes CN1 to CNm to process the next 100 SEM images. This enables a series of image processing to be efficiently performed with the minimum CPU resource (number of cluster nodes).
The advantages of the pattern evaluation method according to this embodiment are more specifically described in comparison with a given referential example.
If the cluster computers CC start image processing after waiting for all 1000 images to be transferred as the Job A, it takes (Toh+5000) seconds. Therefore, in this example as well, image acquisition and image processing start at the same time. If one image is processed every time one image is acquired, the overhead time Toh cannot be 0. This prevents efficient processing. Thus, in order to complete the image processing in the shortest time, processing of, for example, 100 images Img1 to Img100 is started before these 100 images are acquired.
Here, if the operator allocates 100 cluster computers CC1 to CC100, the processing of the images Img1 to Img100 is completed in (Toh+5) seconds. However, next 100 images (Img101 to Img200) are acquired and then transferred to the memory MR1 100 seconds later. Therefore, the cluster computers are free of work and idle for (100−(Toh+5)) seconds. This state is shown in a processing diagram of
In contrast, according to the embodiment described above, the number of cluster nodes CN is estimated and these cluster nodes are allocated so that the time of acquiring the images Img1 to Img100 may be substantially the same as the time required for the images Img1 to Img100 to be processed by the cluster nodes CN1 to CNm. Thus, it is possible to judge whether the number of remaining cluster nodes CN can be assigned to another Job, e.g., the Job B in this example in accordance with the estimated number of cluster nodes allocated to the Job A. When the remaining cluster nodes CN can be assigned to another Job, it is possible to allocate the cluster nodes CN1 to CNM to the Job A and the Job B so that the Job A and the Job B may be processed at the same time, for example, as shown in a processing diagram of
Thus, according to this embodiment, a series of images of a pattern to be evaluated can be rapidly processed, and the efficiency of an image processing server can be improved. Consequently, costs for a pattern evaluation can be reduced.
(3) Semiconductor Device Manufacturing Method
When a semiconductor device is manufactured by a process which uses the above-described pattern evaluation method and which includes a highly efficient and low-cost inspection process, the semiconductor device can be manufactured with higher throughput and yield.
More specifically, a substrate is extracted per production lot, and a pattern formed on the extracted semiconductor substrate is inspected by the pattern evaluation method described above. When the substrate is judged as a nondefective product as a result of the inspection, the rest of the manufacturing process is continuously executed for the whole production lot to which the inspected substrate belongs. On the other hand, when the substrate is judged as a defective product as a result of the inspection and can be reworked, rework processing is executed for the production lot to which the substrate judged as the defective product belongs. When the rework processing is finished, the substrate is extracted from the production lot, and the pattern is again inspected. If the extracted substrate is judged as a nondefective product as a result of the reinspection, the rest of the manufacturing process is executed for the production lot finished with the rework processing. In addition, when the rework processing is impossible, the production lot to which the substrate judged as the defective product belongs is disposed of. The cause of the defect is analyzed, and results of the analysis are fed back to a person in charge of designing, a person in charge of an upstream process or the like.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the invention. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the sprit of the inventions.
For example, in the pattern evaluation system 1 described above, the image loading unit 10 is connected to the external CD-SEM 300 via the bus line BUS. However, as long as secrecy is maintained when, for example, an encryption technology is used together, the image loading unit 10 may be connected not exclusively via the bus line BUS but via a general communication line such as the Internet.
Furthermore, the image loading unit 10 that operates in accordance with a predetermined image registration program has been described above. However, this is not a limitation. For example, the image loading unit 10 may be connected to the master node MN and thus supplied with a control signal. On the basis of this control signal, the image loading unit 10 may perform the operation described above. Moreover, in the embodiment described above, the image loading unit 10 is an independent unit different from the master node MN. However, this is not a limitation. The master node MN may include the image loading unit 10 therein.
The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and sprit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2010-2173 | Jan 2010 | JP | national |