# Patent

## Title
Method and apparatus for classifying manufacturing outputs

## Abstract

A method for process monitoring involves acquiring data samples associated with a plurality of manufacturing related variables for a plurality of outputs of a manufacturing process. The distance of each data sample relative to every other data sample is then calculated. The outputs are then grouped based on the Euclidean distances that satisfy a boundary determining criterion.

## Background
FIELD OF THE INVENTION
The present invention relates to methods and apparatus for process monitoring and, more specifically, classifying outputs of manufacturing processes.
BACKGROUND OF THE INVENTION
Historically, semiconductor device manufacturers have managed the transition to tighter process/materials specifications by depending on process tool manufacturers to design better and faster process/hardware configurations. As device geometries shrink to the nanometer scale, however, the increasing complexity of manufacturing processes has changed the landscape that must be negotiated to meet and maintain process/materials specifications.
A typical process tool used today in semiconductor manufacturing is described by a set of several thousand variables. In some cases, of these several thousand variables, there will be several hundred relevant dynamic variables. The dynamic variables (e.g., gas flow, gas pressure, delivered power, current, voltage) change based on, for example, the specific processing recipe, the step in the overall set of processing steps, or errors or faults occurring in the manufacturing process.
By way of example, if a given semi wafer manufacturing process has 200 dynamic variables that are each sampled by a data acquisition system at a rate of one sample per second (or faster) and a wafer requires 30 seconds to process, the data acquisition system will acquire 6000 data points (or more). It is quite difficult for an operator to look at the raw data traces plotted on a screen for each of the 200 variables to determine if, for example, the process is progressing properly or if a fault has occurred that would cause a defect in a specific wafer.
Meaningful application of this potential flood of data in process control is a formidable task. Simpler approaches, such as univariate statistical process control (USPC), are well established, but have limitations. USPC is effective in the observation and control of a single response parameter but advanced device fabrication requires control of multiple manufacturing variables simultaneously. Manufacturing variables typically have complex interrelationships that USPC can neither evaluate nor control.
A need therefore exists for improved systems and methods for detecting and classifying defects associated with manufacturing processes and outputs of the manufacturing processes.
SUMMARY OF THE INVENTION
The present invention features methods for process monitoring. More particularly, the present invention features methods for classifying detected faults of manufacturing processes.
The invention, in one aspect, features a method for process monitoring. The method involves acquiring data samples associated with a plurality of manufacturing related variables for outputs of a manufacturing process (for example, a semiconductor manufacturing process). The method also involves calculating the distance (e.g., Euclidean distance) of each data sample relative to every other data sample. The method also involves grouping outputs based on the distances that satisfy a boundary determining criterion.
In some embodiments, the boundary determining criterion involves grouping data samples (e.g., measurements) located within a predefined distance relative to each other. The boundary defining criterion can be selected by a user. The predefined distance can be based on an analytical, experimental, or empirical model. In some embodiments, the method for process monitoring also involves associating a classification with a group (e.g., measurement group). In some embodiments, the classification associated with the group is a manufacturing defect. In some embodiments, the distance is calculated by the Mahalanobis distance method or the Manhattan distance method.
In some embodiments, the method also involves plotting the plurality of data samples as points in a phase space. In some embodiments, calculating the distance involves calculating the Euclidean distance of each point in phase space relative to every other point in phase space. In some embodiments, the plurality of manufacturing related variables represent one or more states of the manufacturing process.
In some embodiments, the method also involves computing mathematical transformations of the data acquired for each output. In some embodiments, computing mathematical transformations involves computing principal components and loadings associated with the data acquired for each measurement. In some embodiments, the method also involves calculating the distance of each data sample relative to every other data samples based on the mathematical transformations.
In some embodiments, the outputs of the manufacturing process are wafers produced by a semiconductor manufacturing process. The method also can involve identifying the classification of outputs of a manufacturing process based on the Euclidean distance of a data sample associated with the manufacturing sample relative to the groups. The method also can involve grouping the groups themselves, based on whether the groups have common characteristics. The method also can involve developing a model for predicting the group associated with a new manufacturing output based on calculating the distance of the new manufacturing output relative to the distances associated with each of the groups. In some embodiments, the method also involves modifying the boundary determining criterion based on new manufacturing outputs.
In another aspect, the invention features a system for process monitoring. The system includes means for acquiring data samples associated with a plurality of manufacturing related variables for outputs of a manufacturing process. The system also includes means for calculating the distance of each data sample relative to every other data sample. The system also includes means for grouping outputs based on the distances that satisfy a boundary determining criterion.



BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects feature and advantages of the invention, as well as the invention itself, will be more fully understood from the following illustrative description, when read together with the accompanying drawings which are not necessarily to scale.
FIG. 1 is a flow diagram of a method for process monitoring and grouping outputs of the process, according to an illustrative embodiment of the invention.
FIG. 2 is a flow diagram of a method for process monitoring and grouping outputs of the process, according to an illustrative embodiment of the invention.



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
FIG. 1 is a flow diagram 100 of a method for process monitoring. In this embodiment, the method involves acquiring data samples (step 104) associated with a plurality of manufacturing related variables (e.g., variables associated with manufacturing tools, processes, internal, and external sensors) for a plurality of outputs of a manufacturing process. The method can be implemented with, for example, a computer processor or personal computer. In some embodiments, the outputs of the manufacturing process are wafers produced by a semiconductor manufacturing process.
In some embodiments, the manufacturing related variables are one or more states of the manufacturing process. Manufacturing related variables may include, for example, gas flow, gas pressure, gas valve position, gas temperature, coolant temperature, delivered power, reflected power, current, voltage, capacitance, resistance, inductance and impedance. Data for manufacturing related variables may be acquired using, for example, one or more sensors (e.g., process sensor, residual gas analyzer, optical emission spectrometer, Fourier transform infrared spectrometer, VI probe, particle counter, gas flow monitor, gas pressure monitor, temperature gage, and self excited electron resonance spectrometer). In one embodiment, the manufacturing process involves removing photoresist material from the surface of semiconductor wafers as a step in a semiconductor processing procedure. In this embodiment, the method of the invention described with respect to FIG. 1 is used to group wafers produced by the manufacturing procedure into different classes of wafers (e.g., wafers with photoresist and wafers without photoresist).
The next step in the flow diagram 100 involves calculating (step 108) the distances (e.g., Euclidean distances) of each data sample relative to every other data sample. In one embodiment, the distances are Euclidean distances and are calculated using EQN. 1.




  
    
      
        D
        =
        
          
            (
            
              
                ∑
                
                  i
                  =
                  1
                
                N
              
              ⁢
              
                
                  (
                  
                    
                      a
                      i
                    
                    -
                    
                      b
                      i
                    
                  
                  )
                
                2
              
            
            )
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        1
      
    
  




where D is the distance between two points (a and b) in N dimensional space.

By way of example, in a case where a and b are points in three-dimensional space, a has the coordinates (a1,a2,a3), b has the coordinates (b1,b2,b3), and the distance between a and b is given by:

D=√{square root over ((a1−b1)2+(a2−b2)2+(a3−b3)2)}{square root over ((a1−b1)2+(a2−b2)2+(a3−b3)2)}{square root over ((a1−b1)2+(a2−b2)2+(a3−b3)2)}  EQN. 2

The next step in the flow diagram 100 involves grouping the data samples (step 112) based on the Euclidean distances that satisfy a boundary determining criterion. In some embodiments, the boundary determining criterion involves grouping those data samples that are located within a predefined distance relative to each other. In some embodiments, the boundary defining criterion is selected by a user. In some embodiments, the boundary determining criterion (e.g., grouping those data samples that are located within a predefined distance relative to each other) is based on an analytical, experimental, or empirical model.
Alternative methods for determining distances can be used to calculate the distance of each data sample relative to every other data sample. By way of example, in some embodiments, Mahalanobis distance can be calculated for each data sample relative to every other data sample.

D=√{square root over ((a−b)1S−1(a−b))}{square root over ((a−b)1S−1(a−b))}  EQN. 3

where S−1 is the covariance matrix and where:

D=||a||=√{square root over (atS−1a)}  EQN. 4

is the norm of a.

The next step in the flow diagram 100 involves associating a classification (step 116) with one or more of the groups defined in step 112. In some embodiments, the classification can be a desirable or undesirable trait or feature of the manufacturing output. In some embodiments, classifying the groups (step 116 can involve classifying a specific group as a manufacturing defect.
By way of example, experimental data can be used to identify outputs of a manufacturing process that have a common fault. In this manner, a user can identify the average distance between those data points that characterize this common fault. The average distance can then be used to define the boundary criterion for the group characterizing the common fault. Each new output of the manufacturing process can then be evaluated using steps 108, 112, and 116. If the distance between the new data samples and those located within the group characterizing the common fault satisfies the boundary determining criterion (having a distance less than the average distance previously determined for the group), the new output is classified as a member of that group.
Alternative schemes may be used to group manufacturing outputs. For example, the weighted average of the distance between data samples can be used to define a boundary criterion for a group. In some embodiments there may be two or more groups identified in the data samples evaluated. Each group may possess different characteristics. The characteristics may be associated with, for example, various fault conditions and/or performance properties of the manufacturing outputs.
FIG. 2 is a flow diagram 200 of a method for process monitoring. The method involves acquiring data samples (step 104) associated with a plurality of manufacturing related variables for a plurality of outputs of a manufacturing process. In this embodiment of the invention, the method also involves computing mathematical transformations (step 204) of the data samples acquired for each output. In this manner, the number of dimensions (variables) of the original data (acquired in step 104) is reduced down to smaller number of independent variables.
A suitable mathematical transformation method is the Principal Component Analysis (PCA) method. By way of example, this method may be implemented by using the SIMCA-P+ multivariate analysis software package (Umetrics, offices in Kinnelon, N.J.). The PCA method involves formatting in a matrix X (see EQN. 5) the data acquired (step 104), where the matrix X has N rows and K columns. K is the number of manufacturing related variables (e.g., residual gas analysis spectra measurements) and N is the number of data samples (e.g., observations or number of wafers) of the manufacturing process.




  
    
      
        X
        =
        
          [
          
            
              
                1
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                K
              
            
            
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
            
            
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
            
            
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
            
            
              
                N
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
              
                ⋯
              
            
          
          ]
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        5
      
    
  




The mathematical transformation method (step 204) then involves calculating the average and standard deviation for each column K of the matrix X. The method (step 204) then involves centering and scaling each column K of the matrix X. The average of each column is subtracted from each entry in the corresponding column of the matrix X (centering). Each entry in the matrix X is then divided by the standard deviation of the corresponding column of the matrix X (scaling).
The Principal Component Analysis (PCA) method then involves reducing the number of dimensions (K variables) of the original data (original matrix X) down to a few independent variables that are a linear combination of the original data (K variables of original matrix X).
In one embodiment, the method (step 204) then involves determining the principal components and loadings of the data using an non-linear iterative partial least squares (NIPALS) method, as given by the following equation:

X=TP′+E  EQN. 6

where T is the scores matrix, P is the loading matrix, P′ is the transpose of the P matrix, and E is the residual matrix. The scores matrix T is given by:





  
    
      
        T
        =
        
          (
          
            
              
                
                  t
                  
                    1
                    ,
                    1
                  
                
              
              
                
                  t
                  
                    2
                    ,
                    1
                  
                
              
              
                
                  t
                  
                    3
                    ,
                    1
                  
                
              
              
                ⋯
              
              
                
                  t
                  
                    A
                    ,
                    1
                  
                
              
            
            
              
                
                  t
                  
                    1
                    ,
                    2
                  
                
              
              
                
                  t
                  
                    2
                    ,
                    2
                  
                
              
              
                
                  t
                  
                    3
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  t
                  
                    A
                    ,
                    2
                  
                
              
            
            
              
                
                  t
                  
                    1
                    ,
                    3
                  
                
              
              
                
                  t
                  
                    2
                    ,
                    3
                  
                
              
              
                
                  t
                  
                    3
                    ,
                    3
                  
                
              
              
                ⋯
              
              
                
                  t
                  
                    A
                    ,
                    3
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  t
                  
                    1
                    ,
                    N
                  
                
              
              
                
                  t
                  
                    2
                    ,
                    N
                  
                
              
              
                
                  t
                  
                    3
                    ,
                    N
                  
                
              
              
                ⋯
              
              
                
                  t
                  
                    A
                    ,
                    N
                  
                
              
            
          
          )
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        7
      
    
  




and the loading matrix P is given by:





  
    
      
        P
        =
        
          (
          
            
              
                
                  p
                  
                    1
                    ,
                    1
                  
                
              
              
                
                  p
                  
                    2
                    ,
                    1
                  
                
              
              
                
                  p
                  
                    3
                    ,
                    1
                  
                
              
              
                ⋯
              
              
                
                  p
                  
                    A
                    ,
                    1
                  
                
              
            
            
              
                
                  p
                  
                    1
                    ,
                    2
                  
                
              
              
                
                  p
                  
                    2
                    ,
                    2
                  
                
              
              
                
                  p
                  
                    3
                    ,
                    2
                  
                
              
              
                ⋯
              
              
                
                  p
                  
                    A
                    ,
                    2
                  
                
              
            
            
              
                
                  p
                  
                    1
                    ,
                    3
                  
                
              
              
                
                  p
                  
                    2
                    ,
                    3
                  
                
              
              
                
                  p
                  
                    3
                    ,
                    3
                  
                
              
              
                ⋯
              
              
                
                  p
                  
                    A
                    ,
                    3
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋮
              
              
                ⋰
              
              
                ⋮
              
            
            
              
                
                  p
                  
                    1
                    ,
                    k
                  
                
              
              
                
                  p
                  
                    2
                    ,
                    k
                  
                
              
              
                
                  p
                  
                    3
                    ,
                    k
                  
                
              
              
                ⋯
              
              
                
                  p
                  
                    A
                    ,
                    k
                  
                
              
            
          
          )
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        8
      
    
  




where, for example, t1,1 is the 1st component of the first principal component and p1,5 is the load component for the 5th parameter in the 1st load vector. Each row of the T matrix [i.e., (t1,1, t2,1, t3,1, . . . , tA,1)] is the score vector for the corresponding observation from the data (X) matrix. By way of example, the third row of the T matrix is the score vector for the third data observation. Each score is a linear combination of all the actual measured parameters. The subscript A is the total number of principal components corresponding to the original data matrix X (see EQN. 5). The subscript k is the total number of measured parameters (data samples) in the original data matrix X.

The NIPALS method then involves iteratively employing the following equations:




  
    
      
        
          p
          1
          ′
        
        =
        
          
            
              t
              1
              ′
            
            ⁢
            X
          
          
            
              t
              1
              ′
            
            ⁢
            
              t
              1
            
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        9
      
    
  




where starting with an initial condition for the t1 vector initially equal to the column of the X matrix (EQN. 5) having the maximum variance.

The NIPALS method then involves normalizing p1 as follows:

∥p1∥=1.0  EQN. 10

and then employing the following equation:





  
    
      
        
          t
          1
        
        =
        
          
            Xp
            1
          
          
            
              p
              1
              ′
            
            ⁢
            
              p
              1
            
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        11
      
    
  




The calculations of EQNS. 9-11 are then repeated until the calculations converge. By way of example, a user may specify (based on user experience) that the calculations have converged when




  
    
      
        
          
            
            
              
                t
                1
              
              -
              
                t
                
                  1
                  ⁢
                  old
                
              
            
            
          
          
            
            
              t
              1
            
            
          
        
        <
        
          10
          
            -
            6
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        12
      
    
  




where t1old is the value of t1 from the prior iteration of performing the calculations using EQNS. 9-11.

The residual matrix E is then determined from the following relationship:

E=X−t1p1′  EQN. 13

The residual matrix E is then used in place of matrix X in EQNS. 9 and 11 to calculate the second principal component (t2) and the second load vector (p2). The steps associated with EQNS. 9-13 are then similarly performed for each additional principal component (tA). The methods described herein are applicable to applications involving multiple numbers of principal components. The process described can be implemented when there is missing data when the following correction is used:

Let cik=1 if xik is defined. Let cik=0 if xik is missing. Then





  
    
      
        
          t
          i
        
        =
        
          
            
              ∑
              k
              
                
              
            
            ⁢
            
              
                c
                ik
              
              ⁢
              
                x
                ik
              
              ⁢
              
                p
                k
              
            
          
          
            
              ∑
              k
              
                
              
            
            ⁢
            
              
                c
                ik
              
              ⁢
              
                p
                k
                2
              
            
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        14
      
    
  
  
    
      
        
          p
          k
        
        =
        
          
            
              ∑
              i
              
                
              
            
            ⁢
            
              
                c
                ik
              
              ⁢
              
                x
                ik
              
              ⁢
              
                t
                i
              
            
          
          
            
              ∑
              i
              
                
              
            
            ⁢
            
              
                c
                ik
              
              ⁢
              
                t
                i
                2
              
            
          
        
      
    
    
      
        EQN
        .
        
          
        
        ⁢
        15
      
    
  




The next step then involves calculating the distances (step 108) of each data sample relative to every other data sample based on the principal component coordinates.
The next step in the flow diagram 200 involves grouping the data samples (step 112) based on the distances that satisfy a boundary determining criterion, similarly as previously described herein. The boundary determining criterion can involve grouping those data samples that are located within a predefined distance relative to each other.
The next step in the flow diagram 200 involves associating a classification (step 116) with one or more of the groups defined in step 112. The classification can be a desirable or undesirable trait or feature of the manufacturing output. In some embodiments, an operator may associate an arbitrary classification (e.g., Class A) with a group. An operator might do this where the classification type is initially unknown (e.g., set as Class A as a placeholder) and will be subsequently defined based on metrology measurements made after a batch of the manufacturing outputs are completely processed.
By way of illustration, an experiment was conducted to classify outputs of a semiconductor wafer manufacturing process. In this experiment, 217 wafers were output by the manufacturing process. Nineteen (19) manufacturing parameters were acquired once per second during each of four (4) different process steps used to fabricate the wafers. EQN. 5 was used to format the manufacturing data, the matrix X has K=19 columns (corresponding to 19 manufacturing parameters) and N has approximately 22,000 rows (for 217 wafers, sampled once per second for approximately 100 seconds per wafer).
Using a method similar to the Principal Component Analysis method described previously herein, the data matrix X was transformed to produce for each wafer a principal component location in a nine (9) dimensional phase space defined by (t1, t2, t3, t4, t5, t6, t7, t8, t9).
EQN. 1 was then used to calculate the Euclidean distances of each point in phase space (each of the 217 wafers) relative to every other point in phase space (each of the 217 wafers). The wafers located within a distance of 5.0 of each other were grouped together and designated as a class.
Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention and are considered to be encompassed thereby. Accordingly, the invention is not to be defined only by the preceding illustrative description.

## Claims

1. A method for process monitoring, comprising:
a) acquiring data samples associated with a plurality of manufacturing related variables for outputs of a manufacturing process;
b) calculating the distance of each data sample relative to every other data sample; and
c) grouping outputs based on the distances that satisfy a boundary determining criterion.

2. The method of claim 1 wherein the distance is selected from the group consisting of Euclidean distance, Mahalanobis distance and Manhattan distance.

3. The method of claim 1 wherein the boundary determining criterion comprises grouping data samples located within a predefined distance relative to each other.

4. The method of claim 1, comprising associating a classification with a group.

5. The method of claim 4 wherein the classification is a manufacturing defect.

6. The method of claim 1, comprising plotting the plurality of data samples as points in a phase space.

7. The method of claim 6 wherein calculating the distance comprises calculating the Euclidean distance of each point in phase space relative to every other point in phase space.

8. The method of claim 1 wherein the plurality of manufacturing related variables is one or more states of the manufacturing process.

9. The method of claim 1, comprising computing mathematical transformations of the data samples acquired for each output.

10. The method of claim 1 wherein computing mathematical transformations comprises computing principal components and loadings associated with the data samples acquired for each output.

11. The method of claim 9, comprising calculating the Euclidean distance of each data sample from every other data sample based on the mathematical transformations.

12. The method of claim 1 wherein the outputs of the manufacturing process are wafers produced by a semiconductor manufacturing process.

13. The method of claim 1 wherein the boundary defining criterion is selected by a user.

14. The method of claim 3 wherein the predefined distance is based on an analytical, experimental, or empirical model.

15. The method of claim 1, comprising identifying classification of outputs of a manufacturing process based on the Euclidean distance of a data sample relative to the groups.

16. The method of claim 1, comprising further grouping the groups based on whether the groups have common characteristics.

17. The method of claim 1, comprising developing a model for predicting output class of a new manufacturing output based on calculating the Euclidean distance of the data samples of the new manufacturing output relative to the groups.

18. The method of claim 1, comprising modifying the boundary determining criterion based on new manufacturing outputs.

19. A method for semiconductor process monitoring, comprising:
a) acquiring data samples associated with a plurality of manufacturing related variables for outputs of a semiconductor manufacturing process;
b) calculating the distance of each data sample relative to every other data sample; and
c) grouping outputs based on the distances that satisfy a boundary determining criterion.

20. A system for process monitoring, comprising:
a) means for acquiring data samples associated with a plurality of manufacturing related variables for outputs of a manufacturing process;
b) means for calculating the distance of each data sample relative to every other data sample; and
c) means for grouping outputs based on the distances that satisfy a boundary determining criterion.