EP1444556A1 - Semiconductor run-to-run control system with state and model parameter estimation - Google Patents

Semiconductor run-to-run control system with state and model parameter estimation

Info

Publication number
EP1444556A1
EP1444556A1 EP02806777A EP02806777A EP1444556A1 EP 1444556 A1 EP1444556 A1 EP 1444556A1 EP 02806777 A EP02806777 A EP 02806777A EP 02806777 A EP02806777 A EP 02806777A EP 1444556 A1 EP1444556 A1 EP 1444556A1
Authority
EP
European Patent Office
Prior art keywords
model
database
measurements
estimate
missing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02806777A
Other languages
German (de)
French (fr)
Other versions
EP1444556A4 (en
Inventor
Keith A. Edwards
Jianping Zou.
James A. Mullins
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Azenta Inc
Original Assignee
Brooks Automation Inc
Brooks PRI Automation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/046,359 external-priority patent/US6725098B2/en
Application filed by Brooks Automation Inc, Brooks PRI Automation Inc filed Critical Brooks Automation Inc
Publication of EP1444556A1 publication Critical patent/EP1444556A1/en
Publication of EP1444556A4 publication Critical patent/EP1444556A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Definitions

  • the present invention relates to the field of semiconductor processing and, more particularly, to run-to-run control in semiconductor processing.
  • Run-to-run (R2R) control and fault detection (FDC) in semiconductor processing refers to the practice of updating equipment recipe settings based upon product measurements that occur after process completion.
  • the practice applies in the semiconductor industry due to the inability to measure the product characteristics in situ.
  • CMP chemical- mechanical-planarization
  • pad rotational speeds, applied forces, and other parameters are measurable, but the film thickness, the actual product variable, is not.
  • lithography the exposure power, exposure time and focus may be determined, but the actual overlay errors are not measured until after the development of the resist, a separate process occurring long after the lithographic exposure.
  • the method for controlling a manufacturing process includes: processing materials using a process input and producing a process output, storing the process input in a database, the storing including using a timestamp, and storing at least one measurement of the process output in the database aligned with each process input using the timestamp.
  • the method further includes iterating over the data in the database to estimate one or more coefficients for a model, and, if one or more measurements is missing, replacing the missing measurements based on a prediction from said model.
  • the model is updated with said coefficient estimates.
  • the method additionally includes iterating over the data from the database to estimate a process state, and, if one or more of the measurements is missing from the database, replacing the missing measurements for the database based on prediction from the model.
  • the model is updated with said process state estimate.
  • the replacement of missing measurements during parameter or state estimation can be accomplished implicitly or explicitly.
  • a controller may receive the updated model and utilize the model to produce the next process input.
  • the updated model may also be utilized to generate an estimate for a measurable process variable, wherein the estimate can be compared to an actual measurement to determine if the estimate is within confidence limits. If the estimate is not within- confidence limits, a fault is indicated.
  • the method includes one or more modules coupled to the database, the one or more modules including at least a sorting module configured to sort measurements received asynchronously from the process according to the timestamp, the sorted measurements including later arriving measurements to allow the next process input to be based at least in part on an error calculated using later available measurements.
  • the sorting module also sorts the data in the database for use during parameter estimation or state estimation. If actual measurements become available a time period after model coefficient estimation or process state estimation, for one or more measurements which was missing, the predicted measurements for the previously missing measurements are replaced with the actual measurements, and the actual measurements are stored in the database. In subsequent model coefficient estimation and process state estimation, the actual measurements are used in place of the predicted measurements.
  • the time period during which one is waiting for the actual measurements to become available may be variable in the present invention.
  • the state estimator filter and parameter estimator filter comprise separate receding-horizon filters that compute estimates using a constrained least-squares approach.
  • the least-squares optimization requires the solution to a quadratic program.
  • Figure 1 labeled "prior art”, illustrates an exemplary processing system of semiconductor wafers by a semiconductor tool.
  • FIG. 2 is a block diagram of a control system in accordance with an embodiment of the present invention.
  • Figure 3 is a timing diagram illustrating operation of a state/parameter estimator in accordance with an embodiment of the present invention.
  • Figure 4 is- a flow diagram of a method in accordance with an embodiment of the present invention.
  • Figure 5 illustrates a confidence region during fault detection in accordance with an embodiment of the present invention.
  • the present invention provides a method and system for efficiently and accurately processing materials, for which processing measurements are collected asynchronously from material processing, such as in semiconductor processing. 'The present invention also provides a method for combined state and parameter estimation in a R2R control application.
  • an embodiment of a prior art control system shows a process input 106, which may be raw materials, partially processed materials, or other process inputs, such as semiconductor materials, that are processed on a process tool 104.
  • Controller 102 is coupled to process tool 104 to provide one or more control input signals.
  • Process tool 104 processes the materials of process input 106 and outputs process output 108.
  • Control system 200 includes a process 210 for processing materials coupled to a controller 202.
  • Controller 202 receives a process setpoint r 212 and outputs computed process inputs u 214.
  • Process 210 receives an actual process input v 218 which includes the computed process input 214, as altered by an operator-induced input disturbance ⁇ u 216.
  • Actual process input v 218 is further received by an input/output repository 208, which may be implemented as a database.
  • Process 210 processes materials and outputs processed products requiring measurements.
  • Process 210 delivers the products and the parameters of - the products.
  • the output of the process tool 210 is measured.
  • the measurements are shown as block 224 and include: (i) measurements that are done in situ; (ii) measurements done shortly after processing; and (iii) later accomplished measurements.
  • Control system 200 operates on the measurements to add a disturbance d 222 via a transfer function, such as disturbance transfer function matrix 220.
  • the process measurements are shown as process output ⁇ 226 and are further provided to input/output repository 208.
  • measurements y 226 are generally collected asynchronously from actual material processing in process tool 210.
  • the input measurement of such to process tool 210 may be shown as a dashed line.
  • Input/output repository 208 provides data 228 to both a model 262 and to a state/parameter estimator 206.
  • Input/output repository 208 can be implemented as a database that accumulates past inputs and measurements.
  • Input/output repository 208 further includes a sorter for sorting the inputs and measurements according to a process timestamp and a receding horizon filter or an appropriate substitute filter that handles missing measurements. Sorter also sorts the data for use during either state estimation or parameter estimation.
  • State/parameter estimator 206 receives data from model 262 as well and provides an updated model to controller 202. Controller 202, unlike controller 102, computes process inputs based on the updated model. The model is updated based on coefficient and process state estimates computed by state/parameter estimator 206.
  • state/parameter estimator 206 employs more than one filter as estimators for different components of the model 262. State/parameter estimator 206 employs one filter for parameter estimation and another filter for state estimation.
  • none, one, or a plurality of measurements on a product from past process runs may be performed by measurement tool 224.
  • Coupled to input/output repository 208 are several modules 250-258.
  • the modules include data storage module 250 that captures and stores actual process vectors and measured process output vectors from the input/output repository 208.
  • Pairing module 252 pairs the process input and output vectors according to a process timestamp or a plurality of predicted process timestamps.
  • Sorting module 254 sorts the input/output vector pairs according to the process timestamp(s). Sorting module 254 also sorts the data for use during either state estimation or parameter estimation.
  • Compute module 256 computes a predicted process output or a plurality of process outputs using the process model, and estimation module 258 estimates a process state vector from process inputs, output predictions and actual output vectors.
  • estimation module 258 estimates updated model coefficients from process outputs, the model output predictions and the actual output vectors. More particularly, data storage module 250 and pairing module 252 include routines to capture the actual process input v 218, attach a timestamp signifying the start of the process 210, store the input v 218 into a sorted list of process input/output pairs for maintenance in input/output repository 208, capture the product measurements y 226 and affiliate them with the corresponding process input v 218 in the stored list within the input/output repository 208.
  • Input/output repository 208 may be implemented as a database for storing the coordinated input/output pairs for each unit of product.
  • the unit of product may be implemented as a lot of wafers or individual wafers, depending on the granularity of control of a particular site and configuration parameters for the state/parameter estimator 206.
  • the configuration parameters may include the horizon length, the expiration date for measurements and weight matrices. The expiration date of the measurements is a timestamp prior to which the system 200 ignores all process inputs and product measurements. Further configuration parameters are described below.
  • Process model 262 can be characterized as follows:
  • Equation (1) The explanation of the symbols appearing in Equation (1) appears in Table 1 below.
  • Table 2 gives a description of the resulting disturbance model for various choices for ⁇ and w, which is a white noise process.
  • the disturbance may be composed of several sub-vectors each containing information about the tool's, a durable's (e.g., reticle), or a product layer's additive contribution to the state model.
  • the modifications to Equation (1) required to accommodate these separate contributions would be known to those skilled in the art.
  • the matrices A, B, and G are usually known from process considerations.
  • the coefficients in the matrix C are often indicative of different products' contributions to the process outcome as measured in the output variable, y.
  • both unknown disturbances, embodied in the variable d, and unknown model coefficients in C may be present.
  • controller 202 may consist of several types of controllers, including a model-predictive control (MPC) type controller, a direct model inverter type controller and simple proportional-integral controllers.
  • MPC model-predictive control
  • DRC direct model inverter
  • simple proportional-integral controllers simple proportional-integral controllers
  • Variable J is the objective function value
  • vt> is the state error for lot z + 1 in the horizon
  • v. is the error between the model predictions and measurements for lot i in the horizon
  • Q t , R t are weighting matrices for lot / in the horizon
  • x 0 is the initial condition of the state for the first lot, or wafer, in the horizon
  • x is the state estimate for lot, or wafer
  • y t is the measurement for lot, or wafer, in the horizon
  • a l+l , B l+l , C, +1 are state-space matrices for lot + 1 in the horizon
  • w mn , w max , f mm , F, max define constraints on the state error and state estimates.
  • Equation (2) can be reformulated as follows:
  • Equation (3) where w is of dimension (N + 1) • n s x 1 , u is of dimension (N + 1) • n u x 1 , y and Y are of dimension (N + 1) • n x 1 , matrix A is of dimension (N + 1) • n y x (N + 1) • n s , M B is of dimension (N + 1) • n y x (N + 1) • n u , M c is of dimension (N + 1) • n y x n s , Q is of dimension (N + 1) • n. x (N + 1) • n s , and R is of dimension (N + 1) • n y x (N + l)-n y .- The parameters in the constraint of Equation (3) are defined in (5) as:
  • E m ⁇ n , E max are of dimension (N + 1) • n s x 1 , F m ,F A and E c are of dimension (N+ ⁇ ) -n_ x (N+l) -n s , and E s is of dimension (N + ⁇ - n ⁇ x ⁇ +l) - ⁇ .
  • the missing measurements are replaced with the model predictions.
  • This replacement can be accomplished explicitly by calculating the predicted measurement values from the model 262 and using them in place of the missing measurements.
  • the replacement may also be accomplished, implicitly by zeroing the rows of M A and 7 in Equations (3) and (4) that correspond to the missing measurements. Either approach forces the elements of v in Equation (2) corresponding to the missing measurements to be 0.
  • the state/parameter estimator 206 can store more past values than just the number in the estimate horizon, N. It stores all data up to and including the N-1 lots (or wafers) processed immediately prior to the lot (or wafer) with the oldest missing information. When a new measurement arrives, the state/parameter estimator 206 iterates over the sorted list of IO pairs stored in the input/output repository 208 in groups of N data points, dropping the oldest and adding the next point into the horizon of N points with each iteration. If a data point with a missing value appears in any group of the JV points, the state/parameter estimator 206 substitutes the model's 262 prediction for that point. It does not assume that the error for that point is zero. The state/parameter estimator 206 still estimates an error for that point during its solution of the QP.
  • the input/output repository 208 substitutes the new measurement in the sorted list held in the database.
  • the state/parameter estimator 206 uses the actual measurement instead of the model's 262 prediction for that point, and iterates over all the points from N points prior to the updated measurement to the current point, correcting prior estimates that were based upon use of the model's predictions.
  • a time limit can be imposed, there is no requirement that the missing values become available within a set time period, and the time period during which the measurements become available can be variable.
  • Fig. 3 a sequence progression of estimation intervals of a missing values state/parameter estimator is shown.
  • the horizon used for configuring state/parameter estimator 206 includes a horizon, (N), of 3.
  • N a horizon
  • Fig. 3 illustrates four iterations 302, 304, 306 and 308, with each identified against a time index. Furthermore, each iteration illustrates an expiration limit 310, 312, 314 and 316.
  • a measurement for an arbitrary lot or wafer, (j) is received.
  • Data storage module 250 inserts a new measurement in the list maintained within the input/output repository 208 at the appropriate position.
  • the appropriate position is determined in accordance with the receding horizon filter based upon the relevant process timestamp.
  • Fig. 3 illustrates the new points as points 322, 324, 326 and 328.
  • State/parameter estimator 206 retrieves the sorted list of input/output data from the input/output repository 208 and iterates over successive groups of N data points to arrive at a current estimate of the process state. In the example shown in Fig. 3, one of the values in the list is missing, as shown in iteration 302 by point 332.
  • state/parameter estimator 206 can apply the model 262 prediction for that point.
  • the model 262 prediction may be applied for point 334, except that the input repository 208 must continue to retain more than N-7 data points due to the missing value in the middle of the known data.
  • the previously missing data is obtained.
  • Data storage module 250 inserts the data 326 into the input/output repository 208 in the placeholder location for the missing data.
  • State/parameter estimator 206 then iterates over the entire list again, this time using the actual data, not the model 262 prediction for the previously missing data point.
  • input/output repository 208 trims the data list to only the N-l data points needed in anticipation of the N* value at the next iteration.
  • input/output repository 208 trims the data list to only the N-l data points needed in anticipation of the N* value at the next iteration.
  • the system 200 operates ' as it did for iteration /, because there are no missing data points in the list.
  • Equation (6) provides the equations that the state/parameter estimator 206 uses to update the model coefficients of the matrix (J during parameter estimation.
  • the parameter estimator filter is similar to the state estimator filter, except that the optimization uses data for the same product/layer from multiple process tools.
  • sorting module 254 sorts the data in the input/output repository's 208 database for use by the parameter estimator filter.
  • the parameter estimator filter relies on the data manager module to substitute the missing values into the data sequence when appropriate. In this way, parameter estimation benefits from the useful handling of missing and out-of-order data handling that the data manager module provides during state estimation.
  • Block 402 provides for the initialization of the model coefficients, in model 262, and the disturbances, ⁇ u 216, to initial values.
  • a recommended process input, u is computed using the current model 262.
  • the output target, y, and the controller algorithm uu, cuo ⁇ wu, me u ⁇ cictiui uicii pi ⁇ viues ine acuiai input value, v u + ⁇ u, to the process.
  • the material being manufactured is then processed in block 408, and the actual process output, y, is measured in block 410.
  • state/parameter estimator 206 computes new coefficients for model 262 using the parameter estimation algorithm.
  • Block 414 provides for model 262 to be updated with the new model coefficients computed in block 412.
  • state/parameter estimator 206 computes a new disturbance estimate using the state estimation algorithm, and model 262 is updated with this new disturbance estimate.
  • Block 418 involves the optional process of fault detection, described below.
  • a new recommended process input, u is computed in block 404, the current model 262, as updated in blocks 414 and 416, is used to perform the computation.
  • the parameter estimation and state estimation occur in separate steps. However, the order of these steps is immaterial.
  • the state/parameter estimator 206 ensures that controller 202 always has access to the most up-to- date model. Furthermore, by substituting the predicted output of model 262 in the input/output (I/O) sequence when measurements have not been received, the estimator 206 makes the full use of all the information available to it, including the process model 262, without requiring the onerous restriction that processing wait until measurements are complete.
  • a common prior art approach ignores the lot with the missing measurement, essentially assuming that the error for that lot is zero.
  • Another prior art approach is to delay estimation until the time that the controller must supply a new input to the process. This prior art approach causes excessively slow controller calculations and does not address the missing values problem. It does reduce the number of missing values in the sequence, on average, because by waiting the controller allows more time to complete measurements in unmeasured lots or wafers.
  • Fault detection applications require a bit of additional processing.
  • the initial condition of the states following a maintenance event like wet cleans in plasma etchers, confuse the fault detection algorithm into identifying a fault when none really exists.
  • the state/parameter estimator 206 compensates for these shifts by estimating the initial state from initial wafer processing in the same way as described above in the State Estimation section.
  • the fault detection algorithms suffer from the same problem as R2R controllers based upon models built from blanket wafers, rather than product wafers.
  • the (j , matrix provides the relationship between the blanket wafer model and the product wafer model for each product .
  • the additional processing required for fault detection is that following state and parameter estimation, the model 262 residuals must be compared to the measured data. Since both parameter estimation and state estimation provide confidence estimates for their respective outputs, the system can compare the model residuals to the expected levels of variation and identify faults when the measured data fall outside the anticipated confidence intervals. Sufficient measurement data must be accumulated before fault detection becomes reliable. It is believed that measurement data of about two to three times the number of states being measured is sufficient to reliably determine if a fault is occurring. In an alternative embodiment, fault detection could begin when the confidence limits have been reduced to a predefined value.
  • CI confidence interval
  • step (2) Use the result from step (2) to calculate estimated covariance matrix of estimated parameter, P ⁇
  • N(0,1) is the standard normal distribution with zero mean and variance one.
  • a rejection of residual prediction error being white noise has in general, l,2,... ,n y (12) where ⁇ represents the significant level, and could be found from t-statistics table (for example, the value of 2.17 represents the level of significance of 3%). ._. _L calculation
  • the estimated co-variance matrix of estimated parameter, P M is determined as follows:
  • N(0,1) is the standard normal distribution with zero mean and ya ⁇ ance one.
  • ⁇ N is the vector of estimated state disturbance
  • n s is the number of states
  • N is the estimation horizon.
  • represents the significant level, and could be found from t-statistics table (for example, the value of 2.17 represents the level of significance of 3%).
  • PCA Principle Component Analysis
  • a threshold (from a confidence interval, e.g., 95%) defines a hyper-elliptical confidence region 502. Any residuals outside this region 502 will be considered to be a fault.
  • An example of a fault is identified by reference numeral 504.
  • control system may set to alarm or shut down the tool.
  • program storage media and signal bearing media include recordable type media such as floppy disks, CD-ROM, and magnetic tape transmission type media such as digital and analog communications links, as well as other media storage and distribution systems.
  • the present invention may be implemented as those skilled in the art will recognize, in whole or in part, in standard Integrated Circuits, Application Specific Integrated Circuits (ASICs), as a computer program running on a general-purpose machine having appropriate hardware, such as one or more computers, as firmware, or as virtually any combination thereof and that designing the circuitry and/or writing the code for the software or firmware would be well within the skill of one of ordinary skill in the art, in view of this disclosure.
  • ASICs Application Specific Integrated Circuits

Abstract

A method for a run-to-run (R2R) control system includes processing materials using a process input and producing a process output, storing the process input in a database, the storing including using a timestamp, and storing at least one measurement of the process output in the database aligned with each process input using the timestamp. The method further includes iterating over the data in the database to estimate one or more coefficients for a model, and, if one or more measurements is missing, replacing the missing measurements based on a prediction from said model. The model is updated with said coefficient estimates. The method additionally includes iterating over the data from the database to estimate a process state, and, if one or more of the measurements is missing from the database, replacing the missing measurements based on prediction from the model. The model is updated with said process state estimate. A controller may receive the updated model and utilize the model to produce the next process input. The updated model may also be utilized to generate an estimate for a measurable process variable, wherein the estimate can be compared to an actual measurement to determine if the estimate is within confidence limits. If the estimate is not within confidence limits, a fault is indicated.

Description

SEMICONDUCTOR RUN-TO-RUN CONTROL SYSTEM WITH STATE AND MODEL PARAMETER ESTIMATION
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to the field of semiconductor processing and, more particularly, to run-to-run control in semiconductor processing.
Description of the Related Art
Run-to-run (R2R) control and fault detection (FDC) in semiconductor processing refers to the practice of updating equipment recipe settings based upon product measurements that occur after process completion. The practice applies in the semiconductor industry due to the inability to measure the product characteristics in situ. For example, in the chemical- mechanical-planarization (CMP) process, pad rotational speeds, applied forces, and other parameters are measurable, but the film thickness, the actual product variable, is not. Similarly, in lithography, the exposure power, exposure time and focus may be determined, but the actual overlay errors are not measured until after the development of the resist, a separate process occurring long after the lithographic exposure. Other examples exist, but the primary applications occur in lithography (overlay and critical dimension (CD)), plasma etch and CMP.
The best way to implement effective R2R control is with an approach using a reliable process model due to the long measurement delays often associated with these implementations. However, a common problem in the R2R control and FDC of these processes is that the model coefficients are not well known and that the experiments to refine the values are too laborious. A need exists for an approach to simultaneously estimate the state of the process and refine the model coefficients using data gathered during closed-loop controller operation. Complicating this problem is the fact that some of the state variables and some of the model coefficients reflect information on different components of the problem. For example, some coefficients may be product dependent, but not tool dependent. Some of the state variables may reflect the state of some aspect of the tool and others may reflect the contribution of a consumable or auxiliary component, like a reticle. A method that accommodates these needs in effective R2R control would solve many manufacturing difficulties in making semiconductors.
In the prior art, a method for combined state and parameter estimation in a run-to-run control application has not been available. Various approaches to parts of the problem are known. In the prior art, state estimation is utilized to estimate the tool state from the measured data, assuming the product contributions are known, constant and included in the model. However, if the model contains some coefficient errors, an inevitable eventuality, then using the control system to control processes producing more than one product causes apparent disturbance changes each time the product changes. Product changes in a typical foundry fab occur essentially every lot of wafers. Thus, disturbance estimation with a constant model delivers performance that is highly dependent on the accuracy of the model coefficients.
In the prior art, others implement an adaptive form of the estimator that estimates a model coefficient that characterizes the current state of the tool, but ignores the additive disturbance contributed by the process tool or consumables in the process. This approach introduces the same problem as disturbance estimation alone. The controller attributes all of the error to the model coefficients. Since different products have different model coefficients, and the tool disturbance is commingled with product contribution in the coefficients, when products are switched in production, the errors propagate, appearing in the output as random errors. However the errors are not random, but instead are due to the inability of the system to properly assign the sources of errors.
What is needed is a method to combine the capability to do both additive state disturbance estimation and model parameter estimation so that the error sources are properly assigned, allowing product switching with minimum system upset. What is further needed is an approach to this problem that (i) combines parameter and state/parameter estimation using manufacturing data to simultaneously refine the product and auxiliary model contributions; and (ii) estimates the tool state. SUMMARY OF THE INVENTION
Having a reliable process model is essential to implementing an effective run-to-run (R2R) control system, particularly in view of the long measurement delays associated with such systems. A need has existed for an approach that both estimates the state of the process and refines the model coefficients using data gathered during closed-loop controller operation.
In accordance with the present invention, a method for combined state and parameter estimation in a R2R control application is provided. More particularly, the method for controlling a manufacturing process includes: processing materials using a process input and producing a process output, storing the process input in a database, the storing including using a timestamp, and storing at least one measurement of the process output in the database aligned with each process input using the timestamp. The method further includes iterating over the data in the database to estimate one or more coefficients for a model, and, if one or more measurements is missing, replacing the missing measurements based on a prediction from said model. The model is updated with said coefficient estimates. The method additionally includes iterating over the data from the database to estimate a process state, and, if one or more of the measurements is missing from the database, replacing the missing measurements for the database based on prediction from the model. The model is updated with said process state estimate. The replacement of missing measurements during parameter or state estimation can be accomplished implicitly or explicitly. A controller may receive the updated model and utilize the model to produce the next process input. The updated model may also be utilized to generate an estimate for a measurable process variable, wherein the estimate can be compared to an actual measurement to determine if the estimate is within confidence limits. If the estimate is not within- confidence limits, a fault is indicated.
According to one embodiment, the method includes one or more modules coupled to the database, the one or more modules including at least a sorting module configured to sort measurements received asynchronously from the process according to the timestamp, the sorted measurements including later arriving measurements to allow the next process input to be based at least in part on an error calculated using later available measurements. The sorting module also sorts the data in the database for use during parameter estimation or state estimation. If actual measurements become available a time period after model coefficient estimation or process state estimation, for one or more measurements which was missing, the predicted measurements for the previously missing measurements are replaced with the actual measurements, and the actual measurements are stored in the database. In subsequent model coefficient estimation and process state estimation, the actual measurements are used in place of the predicted measurements. The time period during which one is waiting for the actual measurements to become available may be variable in the present invention.
In one embodiment, the state estimator filter and parameter estimator filter comprise separate receding-horizon filters that compute estimates using a constrained least-squares approach. The least-squares optimization requires the solution to a quadratic program.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element.
Figure 1, labeled "prior art", illustrates an exemplary processing system of semiconductor wafers by a semiconductor tool.
Figure 2 is a block diagram of a control system in accordance with an embodiment of the present invention.
Figure 3 is a timing diagram illustrating operation of a state/parameter estimator in accordance with an embodiment of the present invention.
Figure 4 is- a flow diagram of a method in accordance with an embodiment of the present invention.
Figure 5 illustrates a confidence region during fault detection in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION
I. Overview The embodiments of the present invention as described below provide features that may be altered or developed according to specific development goals, business concerns and system requirements that may vary from one implementation to another. It will be appreciated that any such alterations of the features of the present invention would be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
The present invention provides a method and system for efficiently and accurately processing materials, for which processing measurements are collected asynchronously from material processing, such as in semiconductor processing. 'The present invention also provides a method for combined state and parameter estimation in a R2R control application.
Referring to Fig. 1, an embodiment of a prior art control system shows a process input 106, which may be raw materials, partially processed materials, or other process inputs, such as semiconductor materials, that are processed on a process tool 104. Controller 102 is coupled to process tool 104 to provide one or more control input signals. Process tool 104 processes the materials of process input 106 and outputs process output 108.
Referring now to Fig. 2, an R2R control system in accordance with the present invention is shown. Control system 200 includes a process 210 for processing materials coupled to a controller 202. Controller 202 receives a process setpoint r 212 and outputs computed process inputs u 214. Process 210 receives an actual process input v 218 which includes the computed process input 214, as altered by an operator-induced input disturbance Δu 216. Actual process input v 218 is further received by an input/output repository 208, which may be implemented as a database.
Process 210, like process tool 104, processes materials and outputs processed products requiring measurements. Process 210 delivers the products and the parameters of - the products. The output of the process tool 210 is measured. The measurements are shown as block 224 and include: (i) measurements that are done in situ; (ii) measurements done shortly after processing; and (iii) later accomplished measurements. Control system 200 operates on the measurements to add a disturbance d 222 via a transfer function, such as disturbance transfer function matrix 220. The process measurements are shown as process output^ 226 and are further provided to input/output repository 208. Importantly, measurements y 226 are generally collected asynchronously from actual material processing in process tool 210. Thus, the input measurement of such to process tool 210 may be shown as a dashed line.
Input/output repository 208 provides data 228 to both a model 262 and to a state/parameter estimator 206. Input/output repository 208 can be implemented as a database that accumulates past inputs and measurements. Input/output repository 208 further includes a sorter for sorting the inputs and measurements according to a process timestamp and a receding horizon filter or an appropriate substitute filter that handles missing measurements. Sorter also sorts the data for use during either state estimation or parameter estimation. State/parameter estimator 206 receives data from model 262 as well and provides an updated model to controller 202. Controller 202, unlike controller 102, computes process inputs based on the updated model. The model is updated based on coefficient and process state estimates computed by state/parameter estimator 206.
As described in more detail below, the state/parameter estimator 206 employs more than one filter as estimators for different components of the model 262. State/parameter estimator 206 employs one filter for parameter estimation and another filter for state estimation.
In operation, between process runs, none, one, or a plurality of measurements on a product from past process runs may be performed by measurement tool 224.
Coupled to input/output repository 208 are several modules 250-258. The modules include data storage module 250 that captures and stores actual process vectors and measured process output vectors from the input/output repository 208. Pairing module 252 pairs the process input and output vectors according to a process timestamp or a plurality of predicted process timestamps. Sorting module 254 sorts the input/output vector pairs according to the process timestamp(s). Sorting module 254 also sorts the data for use during either state estimation or parameter estimation. Compute module 256 computes a predicted process output or a plurality of process outputs using the process model, and estimation module 258 estimates a process state vector from process inputs, output predictions and actual output vectors. In addition, estimation module 258 estimates updated model coefficients from process outputs, the model output predictions and the actual output vectors. More particularly, data storage module 250 and pairing module 252 include routines to capture the actual process input v 218, attach a timestamp signifying the start of the process 210, store the input v 218 into a sorted list of process input/output pairs for maintenance in input/output repository 208, capture the product measurements y 226 and affiliate them with the corresponding process input v 218 in the stored list within the input/output repository 208.
Input/output repository 208 may be implemented as a database for storing the coordinated input/output pairs for each unit of product. In a semiconductor processing environment, the unit of product may be implemented as a lot of wafers or individual wafers, depending on the granularity of control of a particular site and configuration parameters for the state/parameter estimator 206. Furthermore, the configuration parameters may include the horizon length, the expiration date for measurements and weight matrices. The expiration date of the measurements is a timestamp prior to which the system 200 ignores all process inputs and product measurements. Further configuration parameters are described below.
II. Process Model
Process model 262 can be characterized as follows:
*»_ = ΛJxk +BJuk +&dk d k+_ = 0'dk Jr Wk (1)
The explanation of the symbols appearing in Equation (1) appears in Table 1 below. The choice of α and a model for w allow one skilled in the art to shape the underlying disturbance model for the system. Table 2 gives a description of the resulting disturbance model for various choices for α and w, which is a white noise process. In addition, the disturbance may be composed of several sub-vectors each containing information about the tool's, a durable's (e.g., reticle), or a product layer's additive contribution to the state model. The modifications to Equation (1) required to accommodate these separate contributions would be known to those skilled in the art. The matrices A, B, and G are usually known from process considerations. However, the coefficients in the matrix C, are often indicative of different products' contributions to the process outcome as measured in the output variable, y. Hence, depending on the particular process, both unknown disturbances, embodied in the variable d, and unknown model coefficients in C, may be present.
Table 1: Symbols for process model equations
Table 2: Use of disturbance dynamic matrix to tailor the disturbance model
III. Controller
Referring to controller 202, discussed above, implementations of this controller may consist of several types of controllers, including a model-predictive control (MPC) type controller, a direct model inverter type controller and simple proportional-integral controllers.
IV. State Estimation
In one embodiment, the state estimator filter of state/parameter estimator 206 is a receding-hoπzon filter that computes state and output error estimates using a constrained, least-squares approach. This least-squares optimization requires the solution to a quadratic program (QP). Equation (2) gives the basic formulation of the least squares problem for the estimator. Subject to : x0 = XQ + w_x x,+1 = . 4ϊ+,-*, +_Bf+,*l + s/| _=0,N-1 (2) y, = C,x, + v, _=0,N
J r"run ≤ Fx / ≤ - f max
Variable J is the objective function value, vt> is the state error for lot z + 1 in the horizon, v. is the error between the model predictions and measurements for lot i in the horizon, Qt , Rt are weighting matrices for lot / in the horizon, x0 is the initial condition of the state for the first lot, or wafer, in the horizon, x, is the state estimate for lot, or wafer, i in the horizon, yt is the measurement for lot, or wafer, in the horizon, Al+l , Bl+l , C,+1 are state-space matrices for lot + 1 in the horizon, and wmn , wmax , fmm , F, max define constraints on the state error and state estimates. The variables w. , wmιn , wma}i , fmm , x, , and fmax are vectors of dimension n. x 1 , where ns is the number of states. The variable u, is a vector of dimension nu x 1 , where nu is the number of process inputs. The variables v, and >. are vectors of dimension ny x 1 , where ny is the number of process outputs. Through algebraic manipulations, Equation (2) can be reformulated as follows:
(3) min J = w'(Q + MA' RMA)w-2Y'RMAw+ Y'RY
M Subject to : Emm < FM (FAw+ FBu + Fcx0) ≤ Emax
where the parameters in the objective function of Equation (3) are defined as follows in (4):
W = Y = y M Bu - Mcx0
Cn c, Q-x 0 ••• ... 0
0 Qo '••
MΛ β=
■■. 0 NY[A, CNANAN_ c 0 • • β*-, ι=N
(4)
Co CXA\
Mc =
, where w is of dimension (N + 1) • ns x 1 , u is of dimension (N + 1) • nu x 1 , y and Y are of dimension (N + 1) • n x 1 , matrix A is of dimension (N + 1) • ny x (N + 1) • ns , MB is of dimension (N + 1) • ny x (N + 1) • nu , Mc is of dimension (N + 1) • ny x ns , Q is of dimension (N + 1) • n. x (N + 1) • ns , and R is of dimension (N + 1) • ny x (N + l)-ny.- The parameters in the constraint of Equation (3) are defined in (5) as:
0 I
FA =
: "-. * •. ' •. 0
1 j ^4, • • • ANAN_X AN I ι=N
(5)
, where Emιn , Emax are of dimension (N + 1) • ns x 1 , Fm,FA and Ec are of dimension (N+ϊ) -n_ x (N+l) -ns , and Es is of dimension (N + ^ - n^ x ^+l) -^ .
When there are missing measurements in input/output repository 208, the missing measurements are replaced with the model predictions. This replacement can be accomplished explicitly by calculating the predicted measurement values from the model 262 and using them in place of the missing measurements. The replacement may also be accomplished, implicitly by zeroing the rows of MA and 7 in Equations (3) and (4) that correspond to the missing measurements. Either approach forces the elements of v in Equation (2) corresponding to the missing measurements to be 0.
The state/parameter estimator 206 can store more past values than just the number in the estimate horizon, N. It stores all data up to and including the N-1 lots (or wafers) processed immediately prior to the lot (or wafer) with the oldest missing information. When a new measurement arrives, the state/parameter estimator 206 iterates over the sorted list of IO pairs stored in the input/output repository 208 in groups of N data points, dropping the oldest and adding the next point into the horizon of N points with each iteration. If a data point with a missing value appears in any group of the JV points, the state/parameter estimator 206 substitutes the model's 262 prediction for that point. It does not assume that the error for that point is zero. The state/parameter estimator 206 still estimates an error for that point during its solution of the QP.
When a measurement value for a previously missing value becomes available, the input/output repository 208 substitutes the new measurement in the sorted list held in the database. Upon the next request for a process input, the state/parameter estimator 206 uses the actual measurement instead of the model's 262 prediction for that point, and iterates over all the points from N points prior to the updated measurement to the current point, correcting prior estimates that were based upon use of the model's predictions. Although a time limit can be imposed, there is no requirement that the missing values become available within a set time period, and the time period during which the measurements become available can be variable.
Referring now to Fig. 3, a sequence progression of estimation intervals of a missing values state/parameter estimator is shown. In Fig. 3, the horizon used for configuring state/parameter estimator 206 includes a horizon, (N), of 3. However, one of ordinary skill in the art will appreciate that the N chosen is subject to system requirements and other considerations. Fig. 3 illustrates four iterations 302, 304, 306 and 308, with each identified against a time index. Furthermore, each iteration illustrates an expiration limit 310, 312, 314 and 316. At each filter iteration (k), 302, 304, 306 and 308, a measurement for an arbitrary lot or wafer, (j), is received. Data storage module 250 inserts a new measurement in the list maintained within the input/output repository 208 at the appropriate position. The appropriate position is determined in accordance with the receding horizon filter based upon the relevant process timestamp. Fig. 3 illustrates the new points as points 322, 324, 326 and 328. State/parameter estimator 206 retrieves the sorted list of input/output data from the input/output repository 208 and iterates over successive groups of N data points to arrive at a current estimate of the process state. In the example shown in Fig. 3, one of the values in the list is missing, as shown in iteration 302 by point 332. In accordance with one embodiment of the invention, state/parameter estimator 206 can apply the model 262 prediction for that point. Similarly, for iteration +7, identified as reference numeral 304, the model 262 prediction may be applied for point 334, except that the input repository 208 must continue to retain more than N-7 data points due to the missing value in the middle of the known data. At iteration y'+2, identified as reference numeral 306, the previously missing data is obtained. Data storage module 250 inserts the data 326 into the input/output repository 208 in the placeholder location for the missing data. State/parameter estimator 206 then iterates over the entire list again, this time using the actual data, not the model 262 prediction for the previously missing data point. After completion of this iteration, input/output repository 208 trims the data list to only the N-l data points needed in anticipation of the N* value at the next iteration. At iteration +3, identified as reference numeral 308, the system 200 operates ' as it did for iteration /, because there are no missing data points in the list.
V. Parameter Estimation
Equation (6) provides the equations that the state/parameter estimator 206 uses to update the model coefficients of the matrix (J during parameter estimation.
Subject to: x0 =xg
The parameter estimator filter is similar to the state estimator filter, except that the optimization uses data for the same product/layer from multiple process tools. As discussed above, sorting module 254 sorts the data in the input/output repository's 208 database for use by the parameter estimator filter. The parameter estimator filter relies on the data manager module to substitute the missing values into the data sequence when appropriate. In this way, parameter estimation benefits from the useful handling of missing and out-of-order data handling that the data manager module provides during state estimation.
Referring to Fig. 4, a flow diagram illustrates the methods described above. Block 402 provides for the initialization of the model coefficients, in model 262, and the disturbances, Δu 216, to initial values. Next, in block 404, a recommended process input, u, is computed using the current model 262. The output target, y, and the controller algorithm uu, cuoυ wu, me uμcictiui uicii piυviues ine acuiai input value, v = u + Δu, to the process. The material being manufactured is then processed in block 408, and the actual process output, y, is measured in block 410. In block 412, state/parameter estimator 206 computes new coefficients for model 262 using the parameter estimation algorithm. Block 414 provides for model 262 to be updated with the new model coefficients computed in block 412. In block 416, state/parameter estimator 206 computes a new disturbance estimate using the state estimation algorithm, and model 262 is updated with this new disturbance estimate. Block 418 involves the optional process of fault detection, described below. Each time a new recommended process input, u, is computed in block 404, the current model 262, as updated in blocks 414 and 416, is used to perform the computation. As reflected in Fig. 4, the parameter estimation and state estimation occur in separate steps. However, the order of these steps is immaterial.
Referring to controller 202 in Fig. 2 in combination with Fig. 3 and Fig. 4, the state/parameter estimator 206 ensures that controller 202 always has access to the most up-to- date model. Furthermore, by substituting the predicted output of model 262 in the input/output (I/O) sequence when measurements have not been received, the estimator 206 makes the full use of all the information available to it, including the process model 262, without requiring the onerous restriction that processing wait until measurements are complete. A common prior art approach ignores the lot with the missing measurement, essentially assuming that the error for that lot is zero. Another prior art approach is to delay estimation until the time that the controller must supply a new input to the process. This prior art approach causes excessively slow controller calculations and does not address the missing values problem. It does reduce the number of missing values in the sequence, on average, because by waiting the controller allows more time to complete measurements in unmeasured lots or wafers.
Those skilled in the art will recognize that other filtering approaches, besides those described above, could be used during parameter and state estimation. For example, a 1st order filter or Kalman ilter could be used. However, the filtering approaches described above allow for the handling of constraints, which cannot be handled with these other filtering approaches. VI. Fault Detection
Fault detection applications require a bit of additional processing. In many fault detection applications, the initial condition of the states following a maintenance event, like wet cleans in plasma etchers, confuse the fault detection algorithm into identifying a fault when none really exists. The state/parameter estimator 206 compensates for these shifts by estimating the initial state from initial wafer processing in the same way as described above in the State Estimation section. In addition, the fault detection algorithms suffer from the same problem as R2R controllers based upon models built from blanket wafers, rather than product wafers. The (j , matrix provides the relationship between the blanket wafer model and the product wafer model for each product . These two capabilities allow initial modeling based on blanket wafers, lowering the cost of model development, and compensate for performance shifts of process tools following maintenance events.
The additional processing required for fault detection is that following state and parameter estimation, the model 262 residuals must be compared to the measured data. Since both parameter estimation and state estimation provide confidence estimates for their respective outputs, the system can compare the model residuals to the expected levels of variation and identify faults when the measured data fall outside the anticipated confidence intervals. Sufficient measurement data must be accumulated before fault detection becomes reliable. It is believed that measurement data of about two to three times the number of states being measured is sufficient to reliably determine if a fault is occurring. In an alternative embodiment, fault detection could begin when the confidence limits have been reduced to a predefined value.
As discussed below, two steps are. involved in the confidence interval (CI) calculation: (1) whiteness test and (2) calculating CI. The whiteness test will test the property of the residual (or predicted output "error") which gives the "confidence" of the CI calculation.
A. CI Calculation for Parameter Estimation
The following steps are used to calculate CI for parameter estimation, 1. Test whiteness of residuals. 2. Calculate estimated covariance matrix of the residual.
3. Use the result from step (2) to calculate estimated covariance matrix of estimated parameter, P^
4. Denote P to be the z'th diagonal element of Pu, then,
where N(0,1) is the standard normal distribution with zero mean and variance one.
For the given significant level α (for example, the value of 2.17 represents the level of significance of 3%),
where ΘN' is the tth estimated parameter, and θ ' is the tth real parameter. See S. Weisberg,
Applied Linear Regression (Second Edition), John Wiley & Sons (1985), which is incorporated herein by reference
1. Whiteness Test
To test the whiteness of the residuals, let
£N = N ~ *_V j = ^11 ^21 " * Sny\ S\2 ' " £ny2 ' " S\N ' " £nyN J W where Y is the vector of measured output, and YN r is the vector of predicted output. For missing measurements, the value of the measurement will be replaced by a predicted value from the model 262. Then, the following are computed:
R.( .2,...,« y (10)
W l,2,...,ny (11)
The whiteness test could be stated as below: a rejection of residual prediction error being white noise has in general, l,2,... ,ny (12) where α represents the significant level, and could be found from t-statistics table (for example, the value of 2.17 represents the level of significance of 3%). ._. _L calculation
After the whiteness test, the estimated co-variance matrix of the residual is calculated as follows:
(13)
Λ"-N-^ ^^
RN = λNI (14)
: > Y ΛNy - -YJ, is defined in equation (9).
The estimated co-variance matrix of estimated parameter, PM, is determined as follows:
PN = ( QΦ 1 Q*»QΦN { QΦN)~l (15)
Next, denote P to be the Ith diagonal element of PN, then,
For the given significant level α,
θ - JE <θ'<θ +α E 07)
B. CI Calculation for State Estimation
The following steps are used to calculate CI for state estimation,
1. Test whiteness of estimated state disturbance.
2. Calculate estimated covariance matrix of estimated states, PN
3. Denote P^ to be the tth diagonal element of PN, then,
Z = L=£-~N{0,\) (18)
where N(0,1) is the standard normal distribution with zero mean and yaπance one.
For the given significant level α (for example, the value of 2.17 represents the level of significance of 3%), xN , -t.JpJi<x!<xN' +<xJpϊ (19) where xN' is the zth estimated state, and x' is the tth real state.
1. Whiteness Test
To test whiteness of the estimated state disturbance, let = |_εi l S21 ' " Sπ, l £I2 ' " S n,2 ' " £I/V ' " EnsN J (20)
where εN is the vector of estimated state disturbance, ns is the number of states, and N is the estimation horizon. Then, the following are computed:
<(°) = ∑ > NR '^ = ^ = l' i = l>2>->n* (2D
i = l,2,...,ns (22)
The whiteness test could be stated as below: a rejection of state disturbance being white noise has in general,
for any of > l, i = l,2,...,ns (23) where α represents the significant level, and could be found from t-statistics table (for example, the value of 2.17 represents the level of significance of 3%).
2. CI Calculation
When the state disturbance is white, the co-variance matrix of the current estimated states is given by,
"hen
where x' is the / •th state of the process. For the given significant level α,
Principle Component Analysis (PCA) is used to detect faults. The smallest loading vector is determined by the percent variance method, and residuals are projected from the loading factor.
As illustrated in Fig. 5, a threshold (from a confidence interval, e.g., 95%) defines a hyper-elliptical confidence region 502. Any residuals outside this region 502 will be considered to be a fault. An example of a fault is identified by reference numeral 504.
When a fault is detected, the control system may set to alarm or shut down the tool. V. Other Embodiments
Those skilled in the art will appreciate that embodiments disclosed herein may be implemented as software program instructions capable of being distributed as one or more program products, in a variety of forms, including computer program products, and that the present invention applies equally regardless of the particular type of program storage media or signal bearing media used to actually carry out the distribution. Examples of program storage media and signal bearing media include recordable type media such as floppy disks, CD-ROM, and magnetic tape transmission type media such as digital and analog communications links, as well as other media storage and distribution systems.
Additionally, the foregoing detailed description has set forth various embodiments of the present invention via the use of block diagrams, flowcharts, and/or examples. It will be understood by those skilled within the art that each block diagram component, flowchart step, and operations and/or components illustrated by the use of examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or any combination thereof. The present invention may be implemented as those skilled in the art will recognize, in whole or in part, in standard Integrated Circuits, Application Specific Integrated Circuits (ASICs), as a computer program running on a general-purpose machine having appropriate hardware, such as one or more computers, as firmware, or as virtually any combination thereof and that designing the circuitry and/or writing the code for the software or firmware would be well within the skill of one of ordinary skill in the art, in view of this disclosure.
While the invention has been described with respect to the embodiments and variations set forth above, these embodiments and variations are illustrative and the invention is not. to be considered limited in scope to these embodiments and variations. Accordingly, various other embodiments and modifications and improvements not described herein may be within the spirit and scope of the present invention, as defined by the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method for controlling a manufacturing process, includes: processing using a process input and producing a process output; storing the process input in a database; storing at least one measurement of the process output in the database associated with each process input; iterating over data from the database to estimate a process state; if one or more measurements is missing from the database, replacing the missing measurements for the database based on a prediction from a model; and updating said model with said process state estimate.
2. The method of claim 1, wherein if actual measurements become available a time period after process state estimation, for said one or more measurements which was missing, replacing the predicted measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent process state estimation.
3. The method of claim 1 wherein a controller receives the updated model and utilizes said updated model to produce the next process input.
4. The method of claim 3 wherein the controller comprises one or more of a model-predictive control (MPC) type controller, a direct model inverter type controller, and a simple integral controller.
5. The method of claim 3 wherein the controller minimizes the error in each run of the process using the estimate of the process state.
6. The method of claim 1 wherein the process operates on either a lot or a part of a lot of semiconductor devices.
7 The method of claim 1 wherein the database is coupled to one or more modules that operate on the database.
8. The method of claim 7 wherein the modules include an estimation module, a compute module, a sort module, a pairing module and a data storage module.
9. The method of claim 1 wherein the manufacturing process is a run-to-run (R2R) process for one or more of the following processes: a chemical-mechanical- planarization (CMP) process, a lithography process and a plasma etching process.
10. The method of claim 2 wherein said time period can be variable.
11. The method of claim 1 wherein said storing of the process input includes providing a timestamp, and wherein said at least one measurement of the process output is associated with each process input using the timestamp.
12. A control system includes: a controller capable of providing a process input; a process coupled to the controller to receive the process input and provide a process output; a database configured to receive the process input and a measurement of the process output, the database capable of associating each process input and each process output; a model capable of providing a model output; and a state estimator coupled to receive the database output and the model output, the state estimator coupled to the controller and capable of generating process state estimates,; and configured to provide an updated model to said controller based on said process state, estimates.
13. The control system of claim 12 wherein the process operates on a lot or a part of a lot of semiconductor devices.
14. The control system of claim 12 wherein the controller includes one or more of the following model-predictive control (MPC) type controller, a direct model inverter type controller, and a simple integral controller.
15. An apparatus includes : means for processing using a process input and producing a process output; means for storing the process input in a database, the means for storing including providing a timestamp; means for storing at least one measurement of the process output in the database aligned with each process input using the timestamp; means for iterating over the data from the database to estimate a process state; means for replacing measurements missing from the database based on a prediction from a model; and means for updating said model with said process state estimate.
16. A method for controlling a manufacturing process, includes: processing using a process input and producing a process output; storing the process input in a database; storing at least one measurement of the process output in the database associated with each process input; iterating over data from the database to estimate a process state, wherein a constrained quadratic optimization is solved at each iteration of data; if one or more measurements is missing from the database, replacing the missing measurements for the database based on a prediction from a model; and updating said model with said process state estimate.
17. The method of claim 16, wherein if actual measurements become available a time period after process state estimation, for said one or more measurements which was missingj replacing the predicted measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent process state estimation.
18. The method of claim 16. wherein a controller receives the updated model and utilizes said updated model to produce the next process input.
9. The method of claim 17 wherein said time period can be variable.
20. The method of claim 16 wherein said storing of the process input includes providing a timestamp, and wherein said at least one measurement of the process output is associated with each process input using the timestamp.
21. A method for controlling a manufacturing process, includes: providing a database with process input data and associated process output data; iterating over data from the database to estimate a process state; if one or more measurements is missing from the database, replacing the missing measurements for the database based on a prediction from a model; and updating said model with said process state estimate.
22. The method of claim 21, wherein if actual measurements become available a time period after process state estimation, for said one or more measurements which was missing, replacing the predicted measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent process state estimation.
23. The method of claim 21 wherein a controller receives the updated model and utilizes said updated model to produce the next process input.
24. The method of claim 22 wherein said time period can be variable.
25. The method of claim 21 wherein said process output data is associated with said process nput data using a timestamp.
26. The method of claim 21 further including solving a constrained quadratic optimization at each iteration of said data.
27. A program storage media readable by a machine and containing instructions for performing the method contained in claim 1.
28. A program storage media readable by a machine and containing instructions for performing the method contained in claim 16.
29. A program storage media readable by a machine and containing instructions for performing the method contained in claim 21.
30. A method for controlling a manufacturing process, includes: processing using a process input and producing a process output; storing the process input in a database; storing at least one measurement of the process output in the database associated with each process input; iterating over data from the database to estimate one or more coefficients for a model; if one or more measurements is missing from the database during model coefficient estimation, replacing the missing measurements for the database based on a prediction from said model; updating said model with said coefficient estimates; iterating over data from the database to estimate a process state; if one or more measurements is missing from the database during process state estimation, replacing the missing measurements for the database based on a prediction from said model; and updating said model with said process state estimate.
31. The method of claim 30 wherein if actual measurements become available a time period after model coefficient estimation or process state estimation, for said one or more measurements which was missing, replacing the predicted measurements for the previously missing measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent model coefficient estimation' and process state estimation.
32. The method of claim 30 wherein a controller receives the updated model and utilizes said updated model to produce the next process input.
33. The method of claim 32 wherein the controller comprises one or more of a model-predictive control (MPC) type controller, a direct model inverter type controller, and a simple integral controller.
34. The method of claim 32 wherein the controller minimizes the error in each run of the process using the estimate of the process state.
35. The method of claim 30 wherein the process operates on either a lot or a part of a lot of semiconductor devices.
36. The method of claim 30 wherein the database is coupled to one or more modules that operate on the database.
37. The method of claim 36 wherein the modules include an estimation module, a compute module, a sort module, a pairing module and a data storage module.
38. The method of claim 30 wherein said model coefficient estimation and said process state estimation includes providing a confidence limit.
39. The method of claim 38 further including utilizing said updated model to generate an estimate for a measurable process variable, and comparing an actual measurement to said estimate to determine if said estimate is within said confidence limits, wherein if said estimate is not within said confidence limits, a fault is indicated.
40. The method of claim 31 wherein said time period can be variable.
41. The method of claim 30 wherein the replacing of missing measurements for the database is accomplished either explicitly or implicitly.
42. The method of claim 30 further including solving a constrained quadratic optimization at each iteration of said data.
43. The method of claim 30 wherein said storing of the process input includes providing a timestamp, and wherein said at least one measurement of the process output is associated with each process input using the timestamp.
44. A method for controlling a manufacturing process, includes: processing using a process input and producing a process output; storing the process input in a database; storing at least one measurement of the process output in the database associated with each process input; iterating over data from the database to estimate one or more coefficients for a model, wherein a constrained quadratic optimization is solved at each iteration of said data; if one or more measurements is missing from the database during model coefficient estimation, replacing the missing measurements for the database based on a prediction from said model; updating said model with said coefficient estimates; iterating over data from the database to estimate a process state, wherein a constrained quadratic optimization is solved at each iteration of said data; if one or more measurements is missing from the database during process state estimation, replacing the missing measurements for the database based on a prediction from said model; and updating said model with said process state estimate.
45. The method of claim 44 wherein if actual measurements become available a time period after model coefficient estimation or process state estimation, for said one or more measurements which was missing, replacing the predicted measurements for the previously missing measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent model coefficient estimation and process state estimation.
46. The method of claim 44 wherein a controller receives the updated model and utilizes said updated model to produce the next process input.
47. The method of claim 46 wherein the controller comprises one or more of a model-predictive control (MPC) type controller, a direct model inverter type controller, and a simple integral controller.
48. The method of claim 46 wherein the controller minimizes the error in each run of the process using the estimate of the process state.
49. The method of claim 44 wherein the process operates on either a lot or a part of a lot of semiconductor devices.
50. The method of claim 44 wherein the database is coupled to one or more modules that operate on the database.
51. The method of claim 50 wherein the modules include an estimation module, a compute module, a sort module, a pairing module and a data storage module.
52. The method of claim 44 wherein said model coefficient estimation and said process state estimation includes providing a confidence limit.
53. The method of claim 52 further including utilizing said updated model to generate an estimate for a measurable process variable, and comparing an actual measurement to said estimate to determine if said estimate is within said confidence limits, wherein if said estimate is not within said confidence limits, a fault is indicated.
54. The method of claim 45 wherein said time period can be variable.
55. The method of claim 44 wherein the replacing of missing measurements for the database is accomplished either explicitly or implicitly.
56. The method" of claim 44 wherein said storing of the process input includes providing a timestamp, and wherein said at least one measurement of the process output is associated with each process input using the timestamp.
57. A method for controlling a manufacturing process, includes: providing a database with process input data and associated process output data; iterating over data from the database to estimate one or more coefficients for a model; if one or more measurements is missing from the database during model coefficient estimation, replacing the missing measurements for the database based on a prediction from said model; updating said model with said coefficient estimates; iterating over data from the database to estimate a process state; if one or more measurements is missing from the database during process state estimation, replacing the" missing measurements for the database based on a prediction from said model; and updating said model with said process state estimate.
58. The method of claim 57 wherein if actual measurements become available a time period after model coefficient estimation or process state estimation, for said one or more measurements which was missing, replacing the predicted measurements for the previously missing measurements with said actual measurements, storing said actual measurements in said database, and utilizing said actual measurements in subsequent model coefficient estimation and process state estimation.
59. The method of claim 57 wherein said model coefficient estimation and said process state estimation includes providing a confidence limit.
60. The method of claim 59 further including utilizing said updated model to generate an estimate for a measurable process variable, and comparing an actual measurement to said .estimate to determine if said estimate is. within said confidence limits; wherein if said estimate is not within said confidence limits, a fault is indicated.
61. The method of claim 58 wherein said time period can be variable.
62.. The method of claim 57 wherein the replacing of missing measurements for the database is accomplished either explicitly or implicitly.
63. The method of claim 57 further including solving a constrained quadratic optimization at each iteration of said data.
64. A program storage media readable by a machine and containing instructions for performing the method contained in claim 30.
65. A program storage media readable by a machine and containing instructions for performing the method contained in claim 44.
66. A program storage media readable by a machine and containing instructions for performing the method contained in claim 57.
EP02806777A 2001-10-23 2002-10-23 Semiconductor run-to-run control system with state and model parameter estimation Withdrawn EP1444556A4 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US171758 1999-12-22
US10/046,359 US6725098B2 (en) 2001-10-23 2001-10-23 Semiconductor run-to-run control system with missing and out-of-order measurement handling
US46359 2001-10-23
US10/171,758 US6748280B1 (en) 2001-10-23 2002-06-14 Semiconductor run-to-run control system with state and model parameter estimation
PCT/US2002/033853 WO2003096130A1 (en) 2001-10-23 2002-10-23 Semiconductor run-to-run control system with state and model parameter estimation

Publications (2)

Publication Number Publication Date
EP1444556A1 true EP1444556A1 (en) 2004-08-11
EP1444556A4 EP1444556A4 (en) 2006-06-07

Family

ID=29422652

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02806777A Withdrawn EP1444556A4 (en) 2001-10-23 2002-10-23 Semiconductor run-to-run control system with state and model parameter estimation

Country Status (4)

Country Link
EP (1) EP1444556A4 (en)
CN (1) CN100354776C (en)
AU (1) AU2002367635A1 (en)
WO (1) WO2003096130A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689296B2 (en) * 2006-04-28 2010-03-30 Honeywell Asca Inc. Apparatus and method for controlling a paper machine or other machine using measurement predictions based on asynchronous sensor information
NL2003919A (en) * 2008-12-24 2010-06-28 Asml Netherlands Bv An optimization method and a lithographic cell.
US8355810B2 (en) * 2009-01-29 2013-01-15 Applied Materials, Inc. Method and system for estimating context offsets for run-to-run control in a semiconductor fabrication facility
JP5969919B2 (en) * 2012-12-28 2016-08-17 アズビル株式会社 Optimization device and method, and control device and method
US9405286B2 (en) * 2013-03-01 2016-08-02 Fisher-Rosemount Systems, Inc. Use of predictors in process control systems with wireless or intermittent process measurements
US9264162B2 (en) 2013-05-23 2016-02-16 Honeywell Limited Wireless position-time synchronization for scanning sensor devices
CN104933052B (en) * 2014-03-17 2019-02-01 华为技术有限公司 The estimation method and data true value estimation device of data true value
US10761522B2 (en) * 2016-09-16 2020-09-01 Honeywell Limited Closed-loop model parameter identification techniques for industrial model-based process controllers
CN107884708A (en) * 2017-10-18 2018-04-06 广东电网有限责任公司佛山供电局 A kind of switch performance diagnostic method based on switch service data
CN108875207B (en) * 2018-06-15 2022-11-11 岭东核电有限公司 Nuclear reactor optimization design method and system
CN109932908B (en) * 2019-03-20 2022-03-01 杭州电子科技大学 Multi-directional principal component analysis process monitoring method based on alarm reliability fusion
CN111611536B (en) * 2020-05-19 2023-04-07 浙江中控技术股份有限公司 Data processing method, data processing device, storage medium and electronic equipment
CN113536983B (en) * 2021-06-29 2023-12-12 辽宁工业大学 Petroleum pipeline stealing positioning method based on P-RLS adaptive filtering time delay estimation
CN113742472B (en) * 2021-09-15 2022-05-27 达而观科技(北京)有限公司 Data mining method and device based on customer service marketing scene

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710700A (en) * 1995-12-18 1998-01-20 International Business Machines Corporation Optimizing functional operation in manufacturing control
US5859964A (en) * 1996-10-25 1999-01-12 Advanced Micro Devices, Inc. System and method for performing real time data acquisition, process modeling and fault detection of wafer fabrication processes
US5926690A (en) * 1997-05-28 1999-07-20 Advanced Micro Devices, Inc. Run-to-run control process for controlling critical dimensions
WO2000079355A1 (en) * 1999-06-22 2000-12-28 Brooks Automation, Inc. Run-to-run controller for use in microelectronic fabrication

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002839A (en) * 1992-11-24 1999-12-14 Pavilion Technologies Predictive network with graphically determined preprocess transforms
US5448684A (en) * 1993-11-12 1995-09-05 Motorola, Inc. Neural network, neuron, and method for recognizing a missing input valve
WO2000010059A1 (en) * 1998-08-17 2000-02-24 Aspen Technology, Inc. Sensor validation apparatus and method
US6542782B1 (en) * 1998-12-31 2003-04-01 Z. Joseph Lu Systems for generating and using a lookup table with process facility control systems and models of the same, and methods of operating such systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710700A (en) * 1995-12-18 1998-01-20 International Business Machines Corporation Optimizing functional operation in manufacturing control
US5859964A (en) * 1996-10-25 1999-01-12 Advanced Micro Devices, Inc. System and method for performing real time data acquisition, process modeling and fault detection of wafer fabrication processes
US5926690A (en) * 1997-05-28 1999-07-20 Advanced Micro Devices, Inc. Run-to-run control process for controlling critical dimensions
WO2000079355A1 (en) * 1999-06-22 2000-12-28 Brooks Automation, Inc. Run-to-run controller for use in microelectronic fabrication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO03096130A1 *

Also Published As

Publication number Publication date
CN1592873A (en) 2005-03-09
CN100354776C (en) 2007-12-12
WO2003096130A1 (en) 2003-11-20
AU2002367635A1 (en) 2003-11-11
EP1444556A4 (en) 2006-06-07

Similar Documents

Publication Publication Date Title
US6748280B1 (en) Semiconductor run-to-run control system with state and model parameter estimation
US9240360B2 (en) Run-to-run control utilizing virtual metrology in semiconductor manufacturing
KR101003558B1 (en) Probability constrained optimization for electrical fabrication control
KR101113203B1 (en) Adjusting a sampling rate based on state estimation results
EP1444556A1 (en) Semiconductor run-to-run control system with state and model parameter estimation
US7542880B2 (en) Time weighted moving average filter
WO2006041543A1 (en) Method and system for dynamically adjusting metrology sampling based upon available metrology capacity
US7869894B2 (en) Method and system for advanced process control using a combination of weighted relative bias values
US20060036345A1 (en) Systems and method for lights-out manufacturing
Su et al. A processing quality prognostics scheme for plasma sputtering in TFT-LCD manufacturing
CN113711128A (en) Method for determining a correction for a lithographic apparatus
Chien et al. A novel approach to hedge and compensate the critical dimension variation of the developed-and-etched circuit patterns for yield enhancement in semiconductor manufacturing
US8515567B2 (en) Enhanced state estimation based upon information credibility
Mozumder et al. A monitor wafer based controller for semiconductor processes
Jiang et al. Integrating SPC and EPC methods for quality improvement
US7738986B2 (en) Method and apparatus for compensating metrology data for site bias prior to filtering
US6912433B1 (en) Determining a next tool state based on fault detection information
US20030022404A1 (en) System processing time computation method, system processing time computation device, and recording medium with system processing time computation program recorded thereon
Musacchio et al. On the utility of run to run control in semiconductor manufacturing
Qin et al. Control and monitoring of semiconductor manufacturing processes: Challenges and opportunities
Lee Advanced process control and optimal sampling in semiconductor manufacturing
Toprac et al. Advanced method for run-to-run control of photolithography overlay registration in high-mix semiconductor production
Prabhu Performance monitoring of run-to-run control systems used in semiconductor manufacturing
Chen et al. Neural network model predictive control for nonlinear MIMO processes with unmeasured disturbances
Chen et al. Advanced process control of metal sputter deposition using a time series analysis

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040524

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RIN1 Information on inventor provided before grant (corrected)

Inventor name: MULLINS, JAMES, A.

Inventor name: ZOU. JIANPING

Inventor name: EDWARDS, KEITH, A.

A4 Supplementary search report drawn up and despatched

Effective date: 20060425

RIC1 Information provided on ipc code assigned before grant

Ipc: H01L 21/66 20060101AFI20060420BHEP

17Q First examination report despatched

Effective date: 20061030

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20100504