Abstract:
A method, system, and medium of modeling and/or for controlling a manufacturing process is disclosed. In particular, a method according to embodiments of the present invention includes the step of identifying one or more input parameters. Each input parameter causes a change in at least two outputs. The method also includes the step of storing values of the identified inputs and corresponding empirical output values along with predicted output values. The predicted output values are calculated based on, in part, the values of the identified inputs. The method also includes the step of calculating a set of transform coefficients by minimizing a score equation that is a function of differences between one or more of the empirical output values and their corresponding predicted output values. The method further includes the steps of receiving a new set of values for the identified inputs, transforming the new set of values for the identified input using the set of coefficients, and calculating a set of predicted output values using the transformed input values.

Description:
RELATED APPLICATION 
   This application claims priority from U.S. Provisional Application No. 60/426,393, filed Nov. 15, 2002, which is incorporated herein by reference. 

   FIELD OF THE INVENTION  
   The present invention relates to a method, system and medium for modeling and controlling processes. More specifically, the present invention relates to modeling and controlling semiconductor-processing equipment that has multivariate input parameters. 
   BACKGROUND OF THE INVENTION  
   In manufacturing products that include precision discrete parts (e.g., microelectronic chips on silicon substrates), controlling manufacturing processes plays a crucial role. Controlling such processes may require, among other things, monitoring the characteristics of manufactured parts (e.g., processed wafers, hereinafter referred to as outputs) and adjusting input parameters accordingly. By adjusting the values of the input parameters, different types of outputs can be produced and the characteristics of the outputs can also be controlled. 
   For automating the control of the manufacturing processes, a mathematical model of the processing equipment can be used. One example of such a model is called a predictive model. This model is used to predict the future output values (e.g., the characteristics of products) based on historical information (e.g., input parameter values and the corresponding output qualities). 
   One such predictive model is an offset technique, which is illustrated in  FIG. 1 . In particular, the values of a number of input parameters  101  are received by an input/output dependency model  103 , which calculates a predicted output value y 1   Pred    105  based on the input values. A corrector  109  then compares the predicted value y 1   Pred  with an actual output value y 1   a    107  for the given values of the input parameters. If the predicted and actual output values are similar to each other within a certain range, no change is made to the input/output dependency model  103 . If the predicted and actual output values are different (e.g., outside the range) from each other, the predictor input/output dependency model  103  is modified by adjusting an offset value (O 1 )  111  based on the magnitude of the difference. 
   In equipment that has more than one output, at least some of the outputs may include mutual (shared) inputs. This means the output values of the equipment are not completely independent from each other (e.g., changing an input to adjust a given output may unintentionally change the characteristics of other outputs). In a conventional modeling technique, each output has its own correction system as if the output values are independent from each other. Because the dependencies between the different outputs are not accounted for by the conventional technique, it does not always lead to accurate predictions. In addition, adjusting one offset of one output can affect other outputs. 
   SUMMARY OF THE INVENTION  
   Embodiments of the present invention advantageously overcome the above-described shortcomings of the aforementioned techniques. More specifically, embodiments of the present invention provide a system, method and medium for controlling semiconductor-processing equipment that has multivariate input parameters and outputs. 
   Embodiments of the present invention minimize the effects of outputs being interdependent from each other. This is achieved by providing input parameter transformations having transformation coefficients. The coefficients are obtained by minimizing a score function. This, in turn, allows accurate models to be obtained. Using the models, highly precise control of manufacturing equipment is accomplished. 
   In particular, an example method according to embodiments of the present invention includes the steps of identifying at least one input that causes a change in at least two of a plurality of outputs, storing values of the identified inputs and corresponding empirical output values, and calculating and storing predicted output values, based on, in part, the values of the identified inputs. The example method may further include the steps of calculating a set of transform coefficients by minimizing a score equation that is a function of, in part, differences between one or more of the empirical output values and their corresponding predicted output values, and calculating one or more input values for one or more desired output values based on, in part, the calculated set of transform coefficients. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS  
     The detailed description of the present application showing various distinctive features may be best understood when the detailed description is read in reference to the appended drawings in which: 
       FIG. 1  is a diagram showing a conventional offset model; 
       FIG. 2  is a diagram illustrating processing equipment; 
       FIG. 3  is a diagram illustrating a model of the processing equipment shown in  FIG. 2  in accordance with embodiments of the present invention; 
       FIG. 4  is a block diagram illustrating various components of embodiments of the present invention; 
       FIG. 5  is a flow chart illustrating processing steps of embodiments of the present invention; 
       FIG. 6  is a diagram illustrating a CMP process; 
       FIG. 7  is a block diagram representation of an example embodiment of a computer configured to perform embodiments of the present invention; and 
       FIG. 8  is a diagram illustrating an example of a memory medium that can be used for storing computer programs of embodiments of the present invention. 
   

   DETAILED DESCRIPTION  
   Embodiments of the present invention generally provide systems, methods and mediums for creating one or more adaptive process models to mathematically represent multivariate input parameter systems. The present invention is particularly applicable in a manufacturing process such as manufacturing and/or processing semiconductor wafers. In particular, the present invention relates to modeling techniques as used by equipment involved in the manufacturing of semiconductor wafers. A general overview of embodiments of the present invention is provided below. It will be followed by a specific example implementation of the present invention. 
   Before discussing embodiments of the present invention,  FIG. 2  shows a simplified graphical representation of processing equipment  205  with input parameters  201  and outputs  203 . Examples of processing equipment include etcher tools, deposition tools, chemical mechanical planarization (CMP) tools, etc. The processing equipment  205  can include one or more tools. Depending upon the values of the input parameters  201 , different processes can be achieved. For instance, in a deposition tool, different types of layers can be deposited on a wafer and/or the thickness of the layer can be varied. 
   As a general overview of embodiments of the present invention, in  FIG. 3 , the processing equipment  205  has a set of input parameters  301 , a set of predicted outputs  303 , and a prediction model  305  therebetween (replacing the processing equipment of  FIG. 2 ). The overall goal of the prediction model is to minimize differences between the predicted output values and empirically collected output values (i.e., the actual output values). Once the prediction model is optimized (e.g., the differences between the predicted and actual output values have been minimized), the model can then be used in setting input parameters based on desired output values. In other words, for a given set of desired output values, the model can be used in a reverse fashion to calculate the input parameter values that would cause output values close to the desired output values. The calculated input parameter values are also known as recipes. 
   In embodiments of the present invention, the step of obtaining the predictive model can be divided into two steps. The first is to transform the values of the input parameters  301  into transformed input values  307 . The second is to use the transformed input values  307  in calculating predicted output values  303 . 
   With respect to the transformation, input parameter values (X 1 ,X 2 ,X 3 ) along with coefficient vector {right arrow over (P)} are transformed into (X′ 1 ,X′ 2 , and X′ 3 ) by transform functions ψ 1 , ψ 2 , and ψ 3 . Examples of transformation functions include:
     1) X′ 1 =PX 1 ; X′ 2 =PX 2  (In this example, the value of {right arrow over (P)} is identical for both X 1  and X 2 .)   2) X′ 1 =P 11 X 1 +P 12 X 1   2 ; X′ 2 =P 21 X 1 +P 22 X 2   2 +P cross  X 1  X 2  (In this example, P 11 , P 12 , P 21 , P 22  and P cross  can have different values.)   

   The coefficient values are calculated by the steps of: a. collecting historical information on input parameter values and actual output values; b. creating a score function based on the collected information; and c. finding the coefficient values that minimize the score function, S p . 
   The above steps are described by making references to semiconductor processing tools. As such, the step of collecting the historical information entails a set of data points for processing a number of wafers. In particular, input parameter values and actual output values for a number of wafers that have been processed by the processing equipment would be collected. This collection would then be used in the next step of minimizing the score function. 
   Here, the score function, S p , is: 
             S   p     =       ∑     i   ,   k       ⁢         W     i   ,   k       ⁡     (       y   actual     i   ⁢           ⁢   k       -       y   predicted     i   ⁢           ⁢   k       ⁡     (         X   →         i   ⁢             ′       ⁡     (         X   →     i     ,     P   →       )       )         )       2             
where:
     i—number of wafer;   k—number of output;   y actual —an actual output value;   y predicted —a predicted output value, as calculated based on transformed inputs for a particular wafer i ({right arrow over (X)} i′ );   {right arrow over (X)} i′ =(X 1   i′ ,X 2   i′ ,X 3   i′ ) is the transformed input vector, calculated on the base of the actual input; and {right arrow over (X)} i =(X 1   i ,X 2   i ,X 3   i ) for wafer i together with the transformation parameters {right arrow over (P)}. This calculation is performed using the following transformation functions:
 
ψ 1 (X 1 ,X 2 ,X 3 ,{right arrow over (P)}): ψ 2 (X 1 ,X 2 ,X 3 ,{right arrow over (P)}); and ψ 3 (X 1 ,X 2 ,X 3 ,{right arrow over (P)}).
 
The next step, as noted above, is to minimize the score S p , i.e., to find {right arrow over (P)} values that provide the minimum of
   
   
     
       
         
           
             S 
             p 
           
           ⁡ 
           
             ( 
             
               
                 S 
                 p 
               
               ⁢ 
               
                 ⟶ 
                 p 
               
               ⁢ 
               min 
             
             ) 
           
         
       
     
   
   The above-described steps calculate an optimal {right arrow over (P)} (i.e., a vector of coefficients for input transformation functions) such that the prediction model of the present invention provides the closest possible predicted outputs to the actual outputs. In a processing model with multivariate input parameters, when the score is minimized, the negative effect of the interdependencies between output values on the model accuracy would also be minimized. 
   Now turning to describe an example implementation of the embodiments described above, as shown in  FIG. 4 , the example implementation includes a number of components: an input transformer  401 , an input-output dependency model  403 , a corrector  405  and a storage device  407 . All these components can be implemented in hardware, firmware, software and/or any combination thereof. 
   These components are further explained by also referring to  FIG. 5 . In particular, the historical information (i.e., y a   ik ,{right arrow over (X)} i ) is stored into the storage device  407 . The corrector  405  then retrieves the historical information (y a   ik , {right arrow over (X)} i ) from the storage device  407  (step  501 ). Since the retrieved historical information contains raw input parameter values, the information is sent to the input transformer  401  along with coefficients {right arrow over (P)} (step  503 ). The coefficient {right arrow over (P)} can be stored in the storage device  407  or in the corrector  405 . 
   The input transformer  401 , upon receiving the information from the corrector  405 , calculates transformed input parameter values {right arrow over (X)} i′  (step  505 ). Once the transformed input parameter values are calculated, the input transformer  401  sends the transformed input values to the corrector  405 . 
   The corrector  405 , upon receiving the transformed input parameter values from the input transformer  401 , sends the transformed input parameter values to the input/output dependence model  403 . The input/output dependency model  403  then calculates predicted output parameter values y pred  (step  507 ). The corrector  405  then calculates the score S p , and sets a new {right arrow over (P)} (a vector of parameters of input transformation functions) in order to minimize the score S p  (step  509 ). These steps can be repeated until an optimum {right arrow over (P)} that yields a minimal score S p  is obtained, and return the optimum {right arrow over (P)}. Each time new data is obtained, a new score from new data is created and a new optimum {right arrow over (P)} value is calculated. This newly calculated vector {right arrow over (P)} could be used for transforming the input values, meaning: {right arrow over (P)} new ≡{right arrow over (P)} optimum . 
   In embodiments of the present invention, the optimum coefficients can be combined with the most recent vector such that: {right arrow over (P)} new ≡{right arrow over (P)} previous +K({right arrow over (P)} optimum −{right arrow over (P)} previous ) wherein K&lt;1. 
   As a new set of data points arrives, a new optimum {right arrow over (P)} can be recalculated. 
   Once a set of coefficients is calculated, a set of input values can be obtained (e.g., a recipe) for a desired set of output values. More specifically, from a set of desired values, a set of transformed input values, {right arrow over (X)} i′ , can be obtained by reversing the predictive model (e.g., the input/output dependence model  403 ). The transformed input values can then be reverse transformed using the coefficients {right arrow over (P)} to obtain the input value to produce the desired output values. 
   In the above-described embodiments, the raw input values are transformed using the calculated coefficients. The transformation is required to account for the dependencies among input parameters as graphically illustrated in  FIG. 6 . More specifically, a surface of a wafer having five regions with varying degrees of roughness is to be polished by a CMP process. The goal is to achieve a flat surface depicted by a dotted line in  FIG. 6 . In conventional techniques, one region would be polished without regard to the other regions. However, polishing one region can affect the polishing of another region (e.g., when an offset is applied in region  1  in order to bring the height in region  1  down to the broken line, the height in region  2  is also influenced by the changes of region  1 ). Using the embodiments of the present invention, these dependencies are accounted for. 
   An example embodiment of the computer in which embodiments of the present invention operate (e.g., the various components described in  FIG. 4 ) is described below in connection with  FIGS. 7-8 .  FIG. 7  illustrates a block diagram of one example of the internal hardware  713  of a computer configured to perform embodiments of the present invention. A bus  756  serves as the main information highway interconnecting various components therein. CPU  758  is the central processing unit of the internal hardware  713 , performing calculations and logic operations required to execute embodiments of the present invention as well as other programs. Read only memory (ROM)  760  and random access memory (RAM)  762  constitute the main memory. Disk controller  764  interfaces one or more disk drives to the system bus  756 . These disk drives are, for example, floppy disk drives  770 , or CD ROM or DVD (digital video disks) drives  766 , or internal or external hard drives  768 . These various disk drives and disk controllers are optional devices. 
   A display interface  772  interfaces display  748  and permits information from the bus  756  to be displayed on display  748 . Communications with external devices, such as the other components of the system described above, occur utilizing, for example, communication port  774 . Optical fibers and/or electrical cables and/or conductors and/or optical communication (e.g., infrared, and the like) and/or wireless communication (e.g., radio frequency (RF), and the like) can be used as the transport medium between the external devices and communication port  774 . Peripheral interface  754  interfaces the keyboard  750  and mouse  752 , permitting input data to be transmitted to bus  756 . In addition to these components, the internal hardware  713  also optionally includes an infrared transmitter and/or infrared receiver. Infrared transmitters are optionally utilized when the computer system is used in conjunction with one or more of the processing components/stations/modules that transmit/receive data via infrared signal transmission. Instead of utilizing an infrared transmitter or infrared receiver, the computer system may also optionally use a low power radio transmitter  780  and/or a low power radio receiver  782 . The low power radio transmitter transmits the signal for reception by components of the production process, and receives signals from the components via the low power radio receiver. The low power radio transmitter and/or receiver are standard devices in industry. 
   Although the computer in  FIG. 7  is illustrated having a single processor, a single hard disk drive and a single local memory, the analyzer is optionally suitably equipped with any multitude or combination of processors or storage devices. For example, the computer may be replaced by, or combined with, any suitable processing system operative in accordance with the principles of embodiments of the present invention, including sophisticated calculators, and hand-held, laptop/notebook, mini, mainframe and super computers, as well as processing system network combinations of the same. 
     FIG. 8  is an illustration of an example computer readable memory medium  884  utilizable for storing computer readable code or instructions. As one example, medium  884  may be used with disk drives illustrated in  FIG. 7 . Typically, memory media such as floppy disks, or a CD ROM, or a digital video disk will contain, for example, a multi-byte locale for a single byte language and the program information for controlling the modeler to enable the computer to perform the functions described herein. Alternatively, ROM  760  and/or RAM  762  illustrated in  FIG. 7  can also be used to store the program information that is used to instruct the central processing unit  758  to perform the operations associated with various automated processes of the present invention. Other examples of suitable computer readable media for storing information include magnetic, electronic, or optical (including holographic) storage, some combination thereof, etc. 
   In general, it should be emphasized that the various components of embodiments of the present invention can be implemented in hardware, software or a combination thereof. In such embodiments, the various components and steps would be implemented in hardware and/or software to perform the functions of embodiments of the present invention. Any presently available or future developed computer software language and/or hardware components can be employed in such embodiments of the present invention. For example, at least some of the functionality mentioned above could be implemented using Visual Basic, C, C++, or any assembly language appropriate in view of the processor(s) being used. It could also be written in an interpretive environment such as Java and transported to multiple destinations to various users. 
   The many features and advantages of embodiments of the present invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention. For instance, output values can be transformed similar to the transform performed on the input parameters, and operations can be performed on the transformed output values similar to those performed on the transformed input parameters.