CROSS REFERENCE TO RELATED APPLICATION(S)
The application is based upon and claims the benefit of priority from Japanese Patent Application No. 2011-042464 filed on Feb. 28, 2011; the entire content of which are incorporated herein by reference.
Embodiments of the present invention relate to a quality estimation apparatus, a quality estimation method and a non-transitory computer-readable medium storing a program that causes a computer to execute the quality estimation method.
In semiconductor manufacturing, components formed on a wafer are subjected to quality inspection (such as electric characteristic inspection, etc.) by a halfway inspection step. Because a large number of components are generally formed on a wafer, it is difficult to grasp accurate qualities of the respective components based on inspection of all the components.
There is consequently known a technique of preparing past wafer processing-time data (e.g. quality tendency) as prior knowledge and estimating qualities of components based on the data. It is however difficult to estimate qualities of components, for example, when the qualities show a tendency to be out of prior knowledge.
Embodiments of the present invention will be described in detail based on the following figures, wherein:
A quality estimation apparatus includes: a storage module which stores designation information for designating inspection targets to be subjected to sampling inspection in estimation targets including the inspection targets and non-inspection targets, characteristic values obtained by the sampling inspection of the inspection targets and criterion information for determining qualities of the inspection targets based on the characteristic values; a threshold value calculator which calculates threshold values indicating qualities of the inspection targets from the characteristic values of the inspection targets by using the criterion information; and a clustering module which classifies the estimation targets in clusters so that the clusters have probability distributions with the threshold values used as a variable.
Embodiments of the invention will be described below.
For example, in a process of inspecting a wafer 1 on which components 3 such as a magnetic head, etc. are formed, a quality estimation apparatus according to this embodiment performs sampling inspection (hereinafter referred to as inspection) of some components 3 on the wafer 1 to thereby obtain an inspection result (e.g. electric characteristic such as resistance).
Although direct quality ranks are given to components 3 which have been already inspected, estimated quality ranks are given to remaining components 3 which have not been inspected yet. On this occasion, all the components 3 are classified (subjected clustering) into clusters each of which has a probability distribution with the quality rank as a variable (hereinafter referred to as rank probability distribution) and which are different in quality tendency (variation or combination of quality ranks). The same quality rank is given to components 3 which have not been inspected yet and which are conclusively classified into the same cluster.
Incidentally, the term “quality ranks of components 3” means a yardstick for expressing quality given in accordance with electric characteristic. Description will be made here on the assumption that the four quality ranks of high rank (A), middle rank (B), low rank (C) and fault (F) are provided.
The quality estimation apparatus according to this embodiment will be described below in detail with reference to
If necessary, the quality estimation apparatus further may have an output module 60 which outputs an estimation result of conclusive quality ranks of the components 3 estimated by the quality estimation module 50.
Incidentally, as shown in
In this embodiment, the inspection module 10 inspects components 3 designated as targets of sampling inspection and obtains a result of the inspection. The quality rank calculator 20 calculates the quality ranks of the inspected components 3 based on the inspection result.
The clustering module 100 calculates an expected value of a rank probability distribution of each cluster by using the quality ranks of the inspected components 3 based on a predetermined probability statistical model. The clustering module 100 updates the probability of classifying components 3 into each cluster based on the expected values of the rank probability distributions and estimates the cluster into which components 3 are classified conclusively.
Conclusively, the quality estimation module 50 gives quality ranks of components 3 based on the clusters into which components 3 are classified by the clustering module 100.
Operations of the inspection module 10 and the quality rank calculator 20 will be described below with reference to a flow chart shown in
The inspection module 10 receives component position data (Table 1) and inspection designation data (Table 2) from the storage module 40 (S101). The component position data and the inspection designation data are given in the storage module 40 in advance. The component position data indicates positions of components 3 on the wafer 1. The inspection designation data designates components 3 to be inspected.
In this embodiment, as shown in
Component ID's are allocated to the components 3 in order to identify the components 3 uniquely. The component ID of each component 3 contains a wafer ID for identifying a wafer 1 to which the component 3 belongs, a block ID for identifying a block 2 to which the component 3 belongs, and index values (i, j) for identifying an index to which the component 3 belongs.
As shown in
For example, the component ID of a component 3 with a wafer ID of 1, a block ID of 7 and index values of (8, 3) is given as 1-7-8-3.
As shown in Table 1, the component position data contains a block ID, index values (i, j), and coordinates (x, y) expressing the position of an index identified by the index values. As shown in
For example, it is to be understood that a component 3 having a component ID given as 1-7-8-3 is formed in a position 16 mm distant in an x-axis direction and 3 mm distant in a y-axis direction from the origin O of a block 2 having a block ID given as 7 in a wafer 1 having a wafer ID given as 1.
As shown in Table 2, the inspection designation data contains a component ID, and an inspection flag which indicates whether the component 3 identified by the component ID is a target of inspection or not. Here, the inspection flag is set as “yes” if the component 3 is a target of inspection, but the inspection flag is set as “no” if the component 3 is not a target of inspection.
For example, the inspection flag is set as “yes” so that about one tenth of the total number of components 3 is targets of inspection.
For example, a component 3 identified by a component ID given as 1-7-1-1 in Table 2 is a target of inspection because the inspection flag of the component 3 is set as “yes”. On the other hand, a component 3 identified by a component ID given as 1-7-4-2 is not a target of inspection because the inspection flag of the component 3 is set as “no”.
Incidentally, in the following description, components 3 having the inspection flag set as “yes” in inspection designation data are called “inspection targets 3a”, components 3 having the inspection flag set as “no” are called “estimation targets 3b”, and all components 3 inclusive of the two types of components are simply called “components 3”.
The sampler 500 extracts a wafer 1 and loads the wafer 1 into the tester 600 (S102).
Then, the tester 600 selects a component ID of an inspection target 3a o by referring to the inspection designation data (S103). On this occasion, the tester 600 can select component ID's in order of description in the inspection designation data.
The tester 600 specifies the position where the inspection target 3a of the component ID selected by the step S102 is formed on the wafer 1, by referring to the component position data, and inspects the inspection target 3a, for example, based on an electric characteristic test or the like to receive a characteristic value (S104). On this occasion, when a plurality of characteristic values are received, the inspection target 3a can be inspected based on different tests. Incidentally, the characteristic value is stored in the storage module 40.
The quality rank calculator 20 receives criterion data (Table 3) from the storage module 40 (S105). The criterion data is given to the storage module 40 in advance and is a criterion for determining the quality rank.
As shown in Table 3, the criterion data contains a quality rank, and numerical values of upper and lower limits of the characteristic value when the quality rank is given. The characteristic value is a numerical result directly obtained from inspection. Accordingly, the criterion data indicates the quality rank given to the inspected component 3 based on the numerical result obtained from inspection.
One characteristic value may be contained in the criterion data or a plurality of characteristic values may be contained in the criterion data as shown in Table 3.
Then, the quality rank calculator 20 determines the quality rank in which the characteristic value as an inspection result obtained by the step S104 is contained, by referring to the criterion data, and therefore calculates the determined quality rank as a quality rank yij of an inspection target 3a formed on an index having index values (i, j) (S106).
On this occasion, when two characteristic values (e.g. characteristic value 1 and characteristic value 2) are contained in the criterion data, for example, lower one of quality ranks in which the respective characteristic values are contained may be calculated as a quality rank yij of the inspection target 3a.
For example, when the characteristic value 1 and characteristic value 2 of the inspection target 3a obtained from inspection are 40.0 and 3.0 respectively, a middle rank (B) is calculated as a quality rank yij of the inspection target 3a.
The quality rank yij of the inspection target 3a calculated by the quality rank calculator 20 as described above is stored in the storage module 40 (S107).
After the quality rank yij of one inspection target 3a is calculated in this manner, the steps S102 to S107 are repeated until quality ranks yij of all the inspection targets 3a are calculated.
The initial value calculator 30 sets an initial value of the estimated value xij of a component 3 formed on an index having index values (i, j), and stores the initial value in the storage module 40. The estimated value xij indicates a cluster k which is one of K clusters and into which the component 3 is estimated to be classified. For example, the initial value of the estimated value xij may be set at random based on random number generation.
The initial value calculator 30 further sets an initial value of the probability (hereinafter referred to as belonging probability) q(xij=k) of classifying the component (i, j) into the cluster k, and stores the initial value in the storage module 40. For example, when the maximum cluster number K which will be described later is used, q(xij=k)=1/K can be calculated as an initial value on the assumption that the component 3 belongs to respective clusters equiprobably.
The storage module 40 stores not only the estimated value xij and the belonging probability q(xij=k) of the component 3 but also a parameter set given in advance and required for clustering.
Here, the parameter set contains quality rank number L, maximum cluster number K, neighborhood region size R, and inter-neighborhood correlation coefficient C.
The quality rank number L indicates the number of ranks classified as quality ranks. In this embodiment, description will be made on the assumption of L=4 as described above.
The maximum cluster number K indicates the maximum number of distributions classified as rank probability distributions, that is, the maximum number of clusters formed by clustering.
The neighborhood region size R is a parameter for determining how macroscopically the quality rank tendency of inspection targets 3a present in the surrounding region is considered when the quality rank of an estimation target 3b is estimated. Specifically, the neighborhood region size R expresses the width of one side of a rectangular region around an estimation target 3b. The rectangular region determined by the neighborhood region size R is defined as the neighborhood region of the estimation target 3b located in the center.
In this case, the neighborhood (i′, j′) of the estimation target 3b located in index values (i, j) can be represented by the following expression.
i=(R−1)/2≦i′≦i+(R−1)/2, j−(R−1)/2≦j′≦j+(R−1)/2. [Expression 1]
The inter-neighborhood correlation coefficient C is a parameter for determining how the quality rank tendency in the neighborhood region determined by the neighborhood region size R has influence on estimation of the quality rank of the estimation target 3b.
In the following description, a component 3 formed in index values (i, j) is regarded as component n (1≦n≧N), and the estimated value of the component n is regarded as xn. Here, N represents the total number of components 3 in a wafer 1.
The clustering module 100 has a parameter update module 110, a probability distribution estimation module 120, and a belonging probability estimation module 130. The parameter update module 110 updates parameters required for clustering. The probability distribution estimation module 120 calculates probability distributions required for clustering. The belonging probability estimation module 130 calculates probabilities of belonging of components 3 to clusters.
In this embodiment, the clustering module 100 performs clustering of components 3 by estimating probability distributions of respective clusters based on a variation Bayes method (e.g. Non-Patent Document 1). On this occasion, a Dirichlet process is used as a probability statistical model.
Operation of the clustering module 100 will be described below in detail with reference to a flow chart shown in
The parameter update module 110 receives the aforementioned parameter set from the storage module 40 (S201). Then, the parameter update module 110 selects a component 3 (S202). On this occasion, for example, components 3 can be selected in order of component ID.
Then, the parameter update module 110 updates update parameters concerned with the Dirichlet process in accordance with the following expression based on the aforementioned input (S203). Incidentally, on this occasion, any real numbers are given as initial values of the update parameters in advance.
η1←η1+K−1
η2←η2+Σk=1K−1[ψ(βk,2)−ψ(βk,1+βk,2)]. [Expression 2]
In the aforementioned expression, Ψ(·) represents a digamma function.
In the aforementioned expression, βk,1 and βk,2 are parameters concerned with the probability of belonging of an estimation target to a cluster k. Any real numbers are given as initial values of the parameters in advance.
Then, the probability distribution estimation module 120 receives the initial value of the belonging probability of each component 3 as an input and calculates the logarithm of the belonging probability.
A specific calculation method will be described below.
The probability distribution estimation module 120 receives initial values of belonging probabilities and a parameter set from the storage module 40 and receives update parameters updated in accordance with [Expression 2] from the parameter update module 110 (S204).
Then, the probability distribution estimation module 120 calculates expected values of parameters concerned with the belonging probabilities for all clusters based on the inputs in accordance with the following [Expression 3] and [Expression 4].
First, the parameters βk,1 and βk,2 are updated in accordance with the following expression based on the update parameters η1 i and η2 updated in accordance with [Expression 2] and the initial values of the belonging probabilities q (S205).
Then, expected values are calculated in accordance with the following expression based on the parameters βk,1 and βk,2 updated in accordance with [Expression 3] (S206). Incidentally, <·>x in the following expression represents an expected value (average) in x.
<log νk>νk←Ψ(βk,1)−Ψ(βk,1+βk,2),
<log(1−νk)>νk←Ψ(βk,2)−Ψ(βk,1+βk,2). [Expression 4]
The logarithm of the belonging probability πk in the Dirichlet process is calculated in accordance with the following expression based on the expected values calculated as described above (S207).
log πk(ν)=<log νk>νk+Σk=1K−1<(1−νk)>νk. [Expression 5]
Then, the probability distribution estimation module 120 calculates the expected value of the logarithm of a rank probability distribution which is a quality rank probability distribution of a cluster k, based on the quality ranks yn of inspection targets.
Specifically, expected values of logarithms of rank probability distributions for all clusters are calculated in accordance with [Expression 6] and [Expression 7].
First, a superparameter ω of rank probability is updated in accordance with the following expression (S208). Here, any real number is given as the initial value ω0 of the superparameter in advance.
ωk,l←ω0+Σn=1Nq(xn=k)I[yn−l]. [Expression 6]
The expected value of the logarithm of the rank probability distribution θ is calculated based on the thus updated superparameter in accordance with the following expression (S209). Incidentally, in the aforementioned expression, L represents the number of quality ranks, and I represents a quality rank. In the aforementioned expression, I[·] is an indicator function which returns 1 only in the case of yn=1 but returns 0 in the other case.
<log θk,l>θk,l←Ψ(ωk,l)'1Ψ(Lω0+Σn=1Nq(xn=K)). [Expression 7]
Then, the probability distribution estimation module 120 calculates the logarithm of the probability p that the probability distribution of quality ranks yn of inspection targets 3a present in the neighborhood region of a component 3 will coincide with a cluster k (hereinafter referred to as coincidence probability) for all clusters in accordance with the following expression (S210).
log p(xn=k|W(n);C)←C(Σx
Incidentally, in the aforementioned expression, I[·] is an indicator function which returns 1 only in the case of xm=k but returns 0 in the other case. In the aforementioned expression, C represents an inter-neighborhood correlation coefficient.
The belonging probability estimation module 130 receives the logarithm of the belonging probability, the expected value of the logarithm of the rank probability distribution and the logarithm of the coincidence probability calculated for all clusters by the probability distribution estimation module 120 as described above (S211).
Then, the belonging probability estimation module 130 updates the logarithm of the belonging probability q indicating the probability of belonging of a component 3 to each cluster in accordance with the following expression based on the above description (S212). Although updating is performed here based on addition of logarithms, each probability and a corresponding expected value may be multiplied directly.
log q(xn=k)←log p(xn=k)+log πk(ν)+<log θk,l>θk,l. [Expression 9]
As described above, the logarithm of the belonging probability is updated in consideration of the tendency in the neighborhood region. Then, the belonging probability is divided by the sum of belonging probabilities concerned with all clusters as in the following expression to thereby perform normalization (S213).
Then, while the cluster k of the maximized probability in the belonging probability distribution of a component 3 is regarded as the estimated value of the component 3, that is, as the cluster to which the component 3 belongs, the quality rank having the maximum probability in the rank probability distribution of the cluster to which the component 3 belongs is set as the quality rank of the component 3 (S214).
The clustering module 100 repeats the steps S203 to S214. That is, in the step S203 after the step S214, the update parameters η1 and η2 are updated newly in accordance with [Expression 2] based on the parameters βk,1 and βk,2 which were updated one cycle ago.
Then, in the step S205, the parameters βk,1 and βk,2 are updated newly in accordance with [Expression 3] based on the update parameters η1 and η2 updated newly and the belonging probability updated one cycle ago. Then, processing in the steps S206 to S214 is executed.
The clustering module 100 calculates the difference between the newly updated belonging probability and the previous belonging probability to the updating, and terminates the repetitive calculation when the difference converges into a value not larger than a predetermined value.
The aforementioned process is applied to all components 3 so that quality ranks are conclusively estimated for all components 3 in accordance with [Expression 8] in consideration of quality ranks of inspection targets 3a in the neighborhood region of each component 3.
The quality estimation module 50 gives conclusive quality ranks to components 3 based on the quality ranks of the components estimated based on repetitive calculation by the clustering module 100.
On this occasion, for example, the quality ranks of the components 3 estimated by the clustering module 100 may be used directly as the conclusive quality ranks of the components 3 (
Alternatively, for example, the quality ranks of the components 3 in each block 2 estimated by the clustering module 100 may be collected so that the most frequent quality rank can be regarded as the quality rank of the block 2 as a whole (
When quality ranks are to be estimated more finely than the above description, for example, blocks may be divided more finely as shown in
For example, the output module 60 is a display device etc. which displays the conclusive quality ranks of the components estimated by the quality estimation module 50.
Although this embodiment has been described in the case where quality ranks of components 3 take discrete values, quality ranks of components 3 may be regarded as vectors which take continuous values like characteristic values per se of inspection targets 3a inspected by the inspection module 10.
In this case, the probability distribution estimation module 120 calculates logarithmic likelihood of yn under each cluster k based on the average and covariance matrix of quality ranks yn of inspection targets 3a in the cluster k instead of the rank probability distribution calculated in the steps S208 and S209.
Then, the logarithm of the belonging probability is updated in accordance with the following expression based on the logarithmic likelihood and the belonging probability and coincidence probability calculated in the steps S207 and S210. In the following expression, the third term in the right side represents the logarithmic likelihood.
log q(xn=k)←log p(xn=k)+log πk (ν)+log p(yn|μk. Σk). [Expression 11]
In accordance with the quality estimation apparatus according to this embodiment, more accurate qualities of all components formed on a wafer can be estimated by performing as few sampling inspections as possible at the time of processing of one wafer without necessity of prior knowledge.
A quality estimation apparatus according to this embodiment adds inspection targets 3a newly from estimation targets 3b when there is a quality rank of a probability substantially equal to the rank probability distribution of each cluster after the estimated value estimated by the clustering module 100 converges into a value.
The quality estimation apparatus according to this embodiment has, in addition to the configuration of the quality estimation apparatus according to the first embodiment, an inspection target calculator 70 which calculates inspection targets 3a to be added newly.
The inspection target calculator 70 uses a quality rank of the highest probability in the rank probability distribution of the cluster and other quality ranks as pairs of quality ranks and generates distributions of the number of components (hereinafter referred to as number distributions) in each pair based on the pair and the number of components belonging to the cluster.
Then, the number distributions of each pair are verified with respect to whether there is a rate difference or not. When there is any pair having no difference between the rates, the cluster is regarded as a full inspection target so that inspection targets 3a to be added newly are calculated.
On this occasion, for example, verification can be performed by a null hypothesis on the assumption that “there is no difference between the rates”. In
Fore example, in a test at a significant level of 5%, when the thus calculated significant probability p value is smaller than 0.05, the aforementioned assumption is rejected so that determination can be made that “it cannot be said that there is no difference between the rates”. When the calculated significant probability p value is not smaller than 0.05, determination can be made that “there is no difference between the rates”.
Accordingly, when there is any pair on which the assumption is rejected in the aforementioned test, the inspection target calculator 70 sets the cluster as a full inspection target.
In accordance with the quality estimation apparatus according to this embodiment, ambiguity over the estimated values estimated by the clustering module 100 can be reduced so that more accurate quality ranks of components 3 can be estimated.
A quality estimation apparatus according to this embodiment adds inspection targets 3a newly from estimation targets 3b when inspection targets having the inspection flag set as “yes” in inspection designation data are so defective that inspection cannot be made.
The quality estimation apparatus according to this embodiment has, in addition to the configuration of the quality estimation apparatus according to the first embodiment, an inspection target calculator 80 which calculates inspection targets 3a to be added newly.
For example, the inspection target calculator 80 uses four adjacent components 3 as a combination and calculates inspection targets 3a to be added newly, based on non-coincidence of quality ranks of the four components 3.
Operation of the inspection target calculator 80 will be described below in detail with reference to
In this embodiment, inspection targets 3a initially designated for inspection are defective (components as represented by X in
Therefore, non-coincidence of quality ranks of four components 3 which have been not inspected yet is obtained. It is found from
In this embodiment, four components 3 in each of the seven places are set as new inspection targets 3a (components hatched in
A result of the new inspection is used as an input, so that quality ranks are estimated by the clustering module 100.
The inspection target calculator 80 repeats the aforementioned process until the result converges into a value or by a predetermined number of times.
Accordingly, even when inspection targets 3a are defective initially, ambiguity of estimated values of quality ranks can be reduced so that more accurate quality ranks of components 3 can be estimated.
In accordance with the quality estimation apparatus according to at least one of the aforementioned embodiments, more accurate qualities of all components formed on a wafer can be estimated by minimum sampling inspection at the time of processing of one wafer without necessity of prior knowledge.
While certain embodiment has been described, the embodiment has been presented by way of example only, and is not intended to limit the scope of the inventions. 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 spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2011-042464 | Feb 2011 | JP | national |