The present invention relates to a method and system for monitoring, adjusting, and controlling a process control output data in integrated circuit (IC) manufacturing, and, more particularly, to a method and system for utilizing multivariate analysis to monitor, adjust, and control process control output data in a semiconductor manufacturing process.
Throughout the various stages of plasma processing, such as semiconductor or display manufacturing, etc., critical process parameters may vary significantly. Processing conditions change over time with the slightest changes in critical process parameters creating undesirable results. Small changes can easily occur in the composition or pressure of an etch gas, process chamber, or substrate temperature. As such, plasma processing facilities require constant monitoring. Even under conditions expected to yield nominally the same results, the development of the depositions for example of insulating (or conducting) layers on the fixtures of the plasma processing facility alter the electrical impedance of the processing facility and, hence, alter the existing electrical configuration by which power is coupled into the plasma facility. As such, the plasma densities and plasma uniformities change with time (i.e., age) despite the consistency of input parameters.
During the manufacture of semiconductor ICs, monitoring and controlling process parameters are critical for acquiring the highest IC product yield and quality. For example, the precise control of etch feature critical dimensions is critical in the damascene structure process that is utilized for forming IC wiring levels and interconnect structures through inter- and intra-level dielectric layers, as well as gate contacts. Yet, the required process control is hampered by the above noted changes occurring within the plasma processing facility.
Conventionally, after-the-effect observations of the resultant etch process or resultant etch structure are used as a best guest basis to alter the process control model in an attempt to “correct” the process. Such after-the-effect approaches to process control waste product as the process model is corrected. Further, such after-the-effect changes are not designed to predict changes to the process model.
A method and system for monitoring, adjusting, and controlling process control output data in integrated circuit (IC) manufacturing is described that alters the process model to control the process model on a predictive model response to target changes.
These and other objects of the present invention are provided by a method and system and computer readable medium for controlling a process in a semiconductor manufacturing system, as well as a graphical user interface for predicting and optimizing process control input and output data. The method of controlling a process in the semiconductor manufacturing system involves: setting process control input data for the process in the semiconductor manufacturing system; measuring process control output data from the process in the semiconductor manufacturing system; determining a relationship between the process control output data and the process control input data to a target result of the process; setting target process control output data; and calculating new process control input data by minimizing a difference between the target process control output data and predicted process control output data, wherein the predicted process control output data is determined using the relationship with the new process control input data.
A control system in one embodiment of the present invention for controlling a process in a semiconductor manufacturing system involves: a process tool controller configured to be coupled to a process tool for executing the process, wherein the process tool controller includes a process recipe controller configured to set and adjust process control input data for the process, and to set target process control output data to a target result of the process, and a process model coupled to the process recipe controller and configured to provide a relationship between the process control input data and the process control output data. The process recipe controller generates new process control input data by minimizing a difference between the target process control output data and process control output data predicted by the relationship using the new process control input data.
A semiconductor manufacturing system in one embodiment of the present invention for performing a process involves: a process tool for executing the process; and a process tool controller coupled to the process tool, wherein the process tool controller includes a process recipe controller configured to set and adjust process control input data for the process, and set target process control output data to a target result of the process, and a process model coupled to the process recipe controller and configured to provide a relationship between the process control input data and the process control output data, wherein the process recipe controller generates new process control input data by minimizing a difference between the target process control output data and process control output data predicted by the relationship using the new process control input data.
A graphical user interface (GUI) in one embodiment of the present invention for utilizing a process model to predict process control output data from process control input data involves: means for entering an input change to at least one parameter in the process control input data using at least one delta field in the GUI; means for executing the process model to determine an output change in at least one parameter of the process control output data using the input change; and means for displaying the output change in an output field in the GUI.
A graphical user interface (GUI) in one embodiment of the present invention for optimizing process control input data to achieve target process control output data using a process model involves: means for entering a target change to at least one parameter in the process control output data; means for executing the process model to optimize an input change to at least one parameter in the process control input data by using the target change; and means for displaying the input change in a delta field in the GUI.
A more complete appreciation of the present invention and many attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
Referring now to the drawings, wherein like reference numerals designate identical, or corresponding parts throughout the several views, and more particularly to
According to one embodiment of the present invention, a semiconductor manufacturing system 1 is depicted in
The process recipe controller 110 is configured to receive process control output data from metrology tool 140, predicted process control output data from the process model 150, and target process control output data. Using this data, the process recipe controller 110 is configured to adjust the process control input data in order to achieve the target process control output data.
Furthermore, the process model correction algorithm 130 is configured to receive process control output data from metrology tool 140 as well as a weighting factor set in the process model correction filter 120. Given the current process control input data, the process model correction algorithm 130 can determine a correction to the process model. The process model 150 is thereafter updated using the correction set forth in the process model correction algorithm 130.
In the illustrated embodiment depicted in
According to the illustrated embodiment of the present invention depicted in
Substrate 25 can be, for example, transferred into and out of process tool 10 through a slot valve (not shown) and chamber feed-through (not shown) via robotic substrate transfer system where it is received by substrate lift pins (not shown) housed within substrate holder 20 and mechanically translated by devices housed therein. Once substrate 25 is received from substrate transfer system, it is lowered to an upper surface of substrate holder 20.
For example, substrate 25 can be affixed to the substrate holder 20 via an electrostatic clamping system 28. Furthermore, substrate holder 20 can further include a cooling system including a re-circulating coolant flow that receives heat from substrate holder 20 and transfers heat to a heat exchanger system (not shown), or when heating, transfers heat from the heat exchanger system. Moreover, gas can be delivered to the back-side of the substrate via a backside gas system 26 to improve the gas-gap thermal conductance between substrate 25 and substrate holder 20. Such a system can be utilized when temperature control of the substrate is required at elevated or reduced temperatures. For example, temperature control of the substrate can be useful at temperatures in excess of the steady-state temperature achieved due to a balance of the heat flux delivered to the substrate 25 from the plasma and the heat flux removed from substrate 25 by conduction to the substrate holder 20. In other embodiments, heating elements, such as resistive heating elements, or thermoelectric heaters/coolers can be included.
As shown in
Alternately, RF power can be applied to the substrate holder electrode at multiple frequencies. Furthermore, impedance match network 32 serves to maximize the transfer of RF power to plasma in processing chamber 10 by minimizing the reflected power. Various match network topologies (e.g., L-type, π-type, T-type, etc.) and automatic control methods can be utilized.
With continuing reference to
Vacuum pump system 58 can, for example, include a turbo-molecular vacuum pump (TMP) capable of a pumping speed up to 5000 liters per second (and greater) and a gate valve for throttling the chamber pressure. In conventional plasma processing devices utilized for dry plasma etch, a 1000 to 3000 liter per second TMP is generally employed. TMPs are useful for low pressure processing, typically less than 50 mTorr. At higher pressures, the TMP pumping speed falls off dramatically. For high pressure processing (i.e., greater than 100 mTorr), a mechanical booster pump and dry roughing pump can be used. Furthermore, a device for monitoring chamber pressure (not shown) is coupled to the process chamber 16. The pressure measuring device can be, for example, a Type 628B Baratron absolute capacitance manometer commercially available from MKS Instruments, Inc. (Andover, Mass.).
Additionally, process control system 100 can include a plurality of sensors coupled to process tool 10 to measure tool data and process tool controller 55 can be coupled to the sensors to receive tool data. The sensors can include both sensors that are intrinsic to the process tool 10 and sensors extrinsic to the process tool 10. Sensors intrinsic to process tool 10 can include those sensors pertaining to the functionality of process tool 10 such as the measurement of the Helium backside gas pressure, Helium backside flow, electrostatic clamping (ESC) voltage, ESC current, substrate holder 20 temperature (or lower electrode (LEL) temperature), coolant temperature, upper electrode (UEL) temperature, forward RF power, reflected RF power, RF self-induced DC bias, RF peak-to-peak voltage, chamber wall temperature, process gas flow rates, process gas partial pressures, chamber pressure, capacitor settings (i.e., C1 and C2 positions), a focus ring thickness, RF hours, focus ring RF hours, and any statistic thereof. Alternatively, sensors extrinsic to process tool 10 can include those not directly related to the functionality of process tool 10 such as a light detection device 34 for monitoring the light emitted from the plasma in processing region 45 as shown in
The light detection device 34 can include a detector such as a (silicon) photodiode or a photomultiplier tube (PMT) for measuring the total light intensity emitted from the plasma. The light detection device 34 can further include an optical filter such as a narrow-band interference filter. In an alternate embodiment, the light detection device 34 includes a line CCD (charge coupled device) or CID (charge injection device) array and a light dispersing device such as a grating or a prism. Additionally, light detection device 34 can include a monochromator (e.g., grating/detector system) for measuring light at a given wavelength, or a spectrometer (e.g., with a rotating grating) for measuring the light spectrum such as, for example, the device described in U.S. Pat. No. 5,888,337.
The light detection device 34 can include a high resolution OES sensor from Peak Sensor Systems. Such an OES sensor has a broad spectrum that spans the ultraviolet (UV), visible (VIS) and near infrared (NIR) light spectrums. The resolution is approximately 1.4 Angstroms, that is, the sensor is capable of collecting 5550 wavelengths from 240 to 1000 nm. The sensor is equipped with high sensitivity miniature fiber optic UV-VIS-NIR spectrometers which are, in turn, integrated with 2048 pixel linear CCD arrays.
The spectrometers receive light transmitted through single and bundled optical fibers, where the light output from the optical fibers is dispersed across the line CCD array using a fixed grating. Similar to the configuration described above, light emitting through an optical vacuum window is focused onto the input end of the optical fibers via a convex spherical lens. Three spectrometers, each specifically tuned for a given spectral range (UV, VIS and NIR), form a sensor for a process chamber. Each spectrometer includes an independent A/D converter. And lastly, depending upon the sensor utilization, a full emission spectrum can be recorded every 0.1 to 1.0 seconds.
The electrical measurement device 36 can include, for example, a current and/or voltage probe, a power meter, or spectrum analyzer. For example, plasma processing systems often employ RF power to form plasma, in which case, an RF transmission line, such as a coaxial cable or structure, is employed to couple RF energy to the plasma through an electrical coupling element (i.e., inductive coil, electrode, etc.). Electrical measurements using, for example, a current-voltage probe, can be exercised anywhere within the electrical (RF) circuit, such as within an RF transmission line. Furthermore, the measurement of an electrical signal, such as a time trace of voltage or current, permits the transformation of the signal into frequency space using discrete Fourier series representation (assuming a periodic signal). Thereafter, the Fourier spectrum (or for a time varying signal, the frequency spectrum) can be monitored and analyzed to characterize the state of semiconductor manufacturing system 1. A voltage-current probe can be, for example, a device as described in detail in pending U.S. Application Ser. No. 60/259,862 filed on Jan. 8, 2001, and U.S. Pat. No. 5,467,013, each of which is incorporated herein by reference in its entirety.
In alternate embodiments, electrical measurement device 36 can include a broadband RF antenna useful for measuring a radiated RF field external to semiconductor manufacturing system 1. A commercially available broadband RF antenna is a broadband antenna such as Antenna Research Model RAM-220 (0.1 MHz to 300 MHz).
In general, the plurality of sensors can include any number of sensors, intrinsic and extrinsic, which can be coupled to process tool 10 to provide tool data to the process tool controller 55.
Process tool controller 55 includes a microprocessor, memory, and a digital I/O port (potentially including D/A and/or A/D converters) capable of generating control voltages sufficient to communicate and activate inputs to semiconductor manufacturing system 1 as well as monitor outputs from semiconductor manufacturing system 1. As shown in
As shown in
As shown in
As shown in
Alternately, the plasma can be formed using electron cyclotron resonance (ECR). In yet another embodiment, the plasma is formed from the launching of a Helicon wave. In yet another embodiment, the plasma is formed from a propagating surface wave.
As discussed above, the process control system 100 includes a process tool controller 55, wherein the process tool controller 55 is configured to set the process control input data necessary to operate the process tool 10. For example, the set of process control input data can be selected to achieve a target set of process control output data. The process tool controller 55 is further capable of executing at least one algorithm to receive process control output data from the metrology tool 140, determine a relationship (process model 150) between the process control input data and the process control output data, update the process model from run-to-run, utilize the process model to optimize process control input data for target process control output data, and utilize the process model for process control.
The process model 150 establishes a relationship between the process control input data and process control output data and, therefore, the process model 150 enables the prediction of process control output data for a given observation of process control input data. The following describes the method of constructing the process model 150.
In an example, the semiconductor manufacturing system 1 can be a plasma processing device configured for dry plasma etching. More specifically, the plasma processing device can include an etch system, such as that depicted in
For a dielectric etch process such as that illustrated in
The measurement of critical dimensions and slope can be performed directly using a scanning electron microscope (SEM) to view SEM micrographs from cleaved substrates, or indirectly using advanced, in-situ technology such as, for example, DUV spectroscopic ellipsometry (e.g., see “Specular spectroscopic scatterometry”, IEEE Transactions on Semiconductor Manufacturing, Vol. 14, No. 2, May 2001, which is incorporated herein by reference in its entirety). A commercially available product featuring optical digital profilometry (ODP) is that sold and distributed by Timbre Technologies, Inc., A TEL Company (5341 Randall Place, Fremont, Calif. 94538) coupled with the hardware from Therma-Wave, Inc. (1250 Reliance Way, Fremont, Calif. 94539).
Each set of data, including both process control input data and process control output data, includes an observation set, where either a single observation can be made per substrate or a plurality of observations can be performed per substrate. Each observation in an observation set, including both process control input data and process control output data, can include an nth order statistic (e.g., time average, rms of time trace, skewness of time trace, cross-correlation, auto-correlation, variance, etc.). Additionally, an observation can include a square, or cross-product of parameter data.
For example, using the set of process control input data parameters described above, a design of experiments (DOE) can be performed. The DOE can include a Box-Behnken design having three (3) levels, five (5) factors (i.e., process control input data parameters), and six (6) centerpoints, which translates into forty six (46) observations (or substrate runs).
Given a plurality of observations sets, a relationship can be determined between the process control input data in the plurality of observation sets and the process control output data in the plurality of observation sets using multivariate analysis (MVA). One exemplary MVA technique for determining such a relationship is partial least squares (PLS) modeling.
Using PLS analysis, observation sets of process control input data are received from a plurality of sensors, or the current process recipe condition. For each observation set, process control input data can be stored as a row in a matrix {overscore (X)} and process control output data can be stored as a row in matrix {overscore (Y)}. Hence, once the matrix {overscore (X)} is assembled, each row represents a different observation and each column represents a different process control input data parameter, and, once the matrix {overscore (Y)} is assembled, each row represents a different observation and each column represents a different process control output data parameter. Hence, using the set of parameters described above as an example, matrix {overscore (X)} is a rectangular matrix of dimensions 46 by 5. Similarly, by way of example, matrix {overscore (Y)} is a rectangular matrix of dimensions 46 by 6. More generally, matrix {overscore (X)} can be an m by n matrix, and matrix {overscore (Y)} can be an m by p matrix. Once all of the data is stored in the matrices, the data can be mean-centered and/or normalized, if desired. The process of mean-centering the data stored in a matrix column involves computing a mean value of the column elements and subtracting the mean value from each element. Moreover, the data residing in a column of the matrix can be normalized by the standard deviation of the data in the column.
In the PLS analysis, a set of loading (or correlation) coefficients can be defined which relate the process control input data ({overscore (X)}) to the process control output data ({overscore (Y)}). In general, for multivariate analysis, the relationship between the process control input data and the process control output data can be expressed as follows:
where {overscore (X)} represents the m by n matrix described above, {overscore (B)} represents an n by p (p<n) loading (or correlation) matrix and {overscore (Y)} represents the m by p matrix described above.
Once the data matrices {overscore (X)} and {overscore (Y)} are assembled, a relationship designed to best approximate the {overscore (X)} and {overscore (Y)} spaces and to maximize the correlation between {overscore (X)} and {overscore (Y)} is established using PLS analysis.
In the PLS analysis model, the matrices {overscore (X)} and {overscore (Y)} are decomposed as follows:
{overscore (X)}={overscore (TP)}T+Ē; (2a)
{overscore (Y)}={overscore (UC)}T+{overscore (F)}; (2b)
and
Ū={overscore (T)}+{overscore (H)}; (2c)
where {overscore (T)} is a matrix of scores that summarizes the {overscore (X)} variables, {overscore (P)} is a matrix of loadings for matrix {overscore (X)}, Ū is a matrix of scores that summarizes the {overscore (Y)} variables, {overscore (C)} is a matrix of weights expressing the correlation between {overscore (Y)} and {overscore (T)}({overscore (X)}), and Ē, {overscore (F)} and {overscore (H)} are matrices of residuals. Furthermore, in the PLS analysis model, there are additional loadings {overscore (W)} called weights that correlate Ū and {overscore (X)}, and are used to calculate {overscore (T)}. In summary, the PLS analysis geometrically corresponds to fitting a line, plane or hyper plane to both the {overscore (X)} and {overscore (Y)} data represented as points in a multidimensional space, with the objective of well approximating the original data tables {overscore (X)} and {overscore (Y)}, and maximizing the covariance between the observation positions on the hyper planes.
The variable importance in the projection (VIP) data can be utilized to identify those parameters of the input data set (i.e., process control input data) that contribute most to the correlation between {overscore (X)} and {overscore (Y)}. For example, using the exemplary etch process described above, the five (5) process control input data parameters can be reduced to C4F8 flow rate, O2 flow rate, and process pressure.
In general, such software outputs other important information regarding the descriptive power of the model (i.e., the quality of the correlation. obtained between {overscore (X)} and {overscore (Y)}), and the predictive power of the model. For example, SIMCA-P iteratively computes one PLS component at a time, that is one vector each of X-scores {overscore (T)}, Y-scores Ū, weights {overscore (W)} and {overscore (C)}, and loadings {overscore (P)}. The PLS components are calculated in descending order of importance. After each PLS component, SIMCA-P can display the following: the fraction of the sum of squares (SS) of all Y's and X's explained by the current component (R2X, R2Y); the fraction of variance of all the Y's and X's explained by the current component (R2Xadj, R2Yadj); the cumulative SS of all the Y's and X's explained by all extracted components (R2X(cum), R2Y(cum)); and the cumulative variance of all the Y's and X's explained by all extracted components (R2Xadj(cum), R2Yadj(cum)).
Furthermore, for every active variable, the fraction of SS (R2V) or variance (R2Vadj) explained can be displayed. This value is computed for the current component as well as cumulatively for all PLS components. For response variables {overscore (Y)}, this value corresponds to R2 (the multiple correlation coefficient), the “goodness” of the fit. For example, utilizing the data above, Table I presents this value for {overscore (Y)} (R2VY(cum)) for each process control output data parameter, namely, the critical dimension at the top of a trench 260, the critical dimension at the bottom of a trench 262, the slope of the trench sidewall 264, the critical dimension at the top of the contact 270, the critical dimension at the bottom of the contact 272, and the slope of the sidewall of the contact 274 (see
In general, additional criterion used to determine the model dimensionality (number of significant PLS components), is cross validation. With cross validation, observations are kept out of the model development, then the response values ({overscore (Y)}) for the kept out observations are predicted by the model, and compared with the actual values. This procedure is repeated several times until every observation has been kept out once and only once. The prediction error sum of squares (PRESS) is the squared differences between observed {overscore (Y)} and predicted values when the observations were kept out. For every dimension, the overall PRESS/SS is computed, where SS is the residual sum of squares of the previous dimension, and also (PRESS/SS)m for each {overscore (Y)} variable (m). These values are good measures of the predictive power of the model. For example, SIMCA-P can present this information as follows: the fraction of the total variation of the Y's that can be predicted by a component (Q2=(1.0−PRESS/SS)); the fraction of the variation of a variable Ym that can be predicted by a component (Q2V=(1.0−PRESS/SS)m); the cumulative Q2 for the extracted components (Q2cum=Π(1.0−PRESS/SS)a); and the cumulative Q2V of a variable (Q2Vcum=Π(1.0−PRESS/SS)ka).
Referring now to
Additionally, a first inclusion field 308, a second inclusion field 310, and a third inclusion field 312 can be utilized to identify those parameters to which change can be made. For instance, if an inclusion field is checked, a change to the specific parameter is not allowed. Furthermore, a first minimum and first maximum range 314 is provided for specifying a minimum value and a maximum value between which a change to the first parameter can be affected, a second minimum and a second maximum range 316 is provided for specifying a minimum value and a maximum value between which a change to the second parameter can be affected, and a third minimum and a third maximum range 318 is provided for specifying a minimum value and a maximum value between which a change to the third parameter can be affected. For example, the minimum and maximum range can be set to identify the parameter range with the highest confidence in prediction provided by the process model. Although only three process control input data parameters are addressed herein, more or less can be utilized and, hence, the present invention is not to be limited in scope in any manner by this example.
Referring still to
Referring still to
In 520, the process is executed using the process control input data as input to the process. The process can, for example, include an etch process, a deposition-process, a spin coating process, a diffusion process, an oxidation process, a thermal process, etc.
In 530, process control output data is measured for the process performed in the semiconductor manufacturing system. The process control output data can include one or more data parameters indicative of the performance of the process. For example, in an etch system, the one or more data parameters can include at least one of a critical dimension, a slope of a feature sidewall (e.g. etch feature sidewall profile), an etch depth, an etch rate, a uniformity, an etch selectivity (ratio of the rate at which a first material is etched to the rate at which a second material is etched), etc. Alternately, for example, in a deposition process, the one or more data parameters can include at least one of a deposition rate, a film property (e.g. film stress, porosity, etc.), a uniformity, a film thickness, etc. Alternately, for example, in a plasma process, the one or more data parameters can include at least one of a plasma density (obtained, for example, from a Langmuir probe), an ion energy (obtained, for example, from an ion energy spectrum analyzer), a concentration of a chemical specie (obtained, for example, from optical emission spectroscopy), a temperature, a pressure, etc. Alternatively, for example, in a spin coating system, the one or more data parameters can include at least one of a mask (e.g., photoresist) film thickness, a mask (e.g., photoresist) pattern critical dimension, etc.
In 540, a relationship (such as for example process model 150 in
Y=ƒ(X)+C, (3)
where {overscore (Y)} is a vector comprising the process control output data, X is a vector comprising the process control input data as well as, for example, its square terms and cross terms, and C is a vector including constants that can, for example, be updated from run-to-run (e.g., substrate-to-substrate, observation-to-observation, etc.). Alternately, for example, when the process control input data includes only a single input data parameter and the process control output data includes only a single output data parameter, the process model can include a single input single output (SISO) model, viz.
y=ƒ(x)+c=b2x2+b1x+c. (4)
where y, x are single-valued variables, and c is a constant.
In 550, target process control output data yT, YT is/are set by an operator, or a user to a desired target result of the process. The target data can be set either locally at the process tool, or remotely.
In 560, once the target process control output data are set for the process, a difference between the target process control output data and the process control output data measured for the process is determined. If in 562 the difference exceeds a threshold, then new process control input data are calculated in 580. If in 562 the difference does not exceed the threshold, then the old process control input data are used. The option to include this comparison provides the method of controlling the process with the ability to avoid too sensitive control, i.e., changes are made to the process control input data when the current process control output data are within an acceptable distance from the target data.
In 580, the new process control input data are calculated by minimizing the difference between the target process control output data set in 550 and process control output data predicted by the process model in 540 using the new process control input data applied to the process model. For example, using a SISO process model, the minimization problem can be expressed as
or, more generally for a MIMO process model,
where ‘k+1’ represents the new data for a new process. The algorithm utilized can, for example, include a Newton-Rhapson solver. Since the minimization problem is an optimization problem, three situations can be encountered when attempting to solve the optimization problem, namely, an exact solution, an under-determined problem, and an over-determined problem. In cases where multiple solutions exist, another criterion is that the change between the old value(s) for the process control input data and the new process control input data should be minimized, viz.
or, more generally,
In 564, an option to weight the process control input data during the calculation of new process control input data using, for instance, a MIMO process model is provided. If the option is selected, at least one data parameter within the set of process control input data is weighted in 566. For example, one data parameter can be given a greater weighting relative to another data parameter and, therefore, the change in the process control input data necessary to achieve a target process control output data favors the more heavily weighted data parameter. The minimization problem solved in 580, now becomes (for a MIMO process model)
In 568, an option to weight the process control output data during the calculation of new process control input data using a MIMO process model is provided. If the option is selected, at least one data parameter within the set of process control output data is weighted in 570. For example, one data parameter can be given a greater weighting relative to another data parameter and, therefore, the change in the process control input data necessary favors the more heavily weighted data parameter. The minimization problem solved in 580, now becomes (for a MIMO process model)
where W is a process control output data weighting matrix.
In 590, a process is executed in the semiconductor manufacturing system using either the current process control input data, or the new process control input data determined in 580.
In 600, process control output data are measured for the process executed in 590.
In 602, a determination is made to update the relationship (or process model) established in 540. If an update to the process model is requested, then the process model is updated in 604. For example, an exponentially weighted moving average (EWMA) filter can be employed for performing the update, viz.
ck+1=λ(yk−b2xk2−b1xk)+(1−λ)ck, (9a)
or, more generally for a MIMO process model,
Ck+1=λ(Yk−ƒ(Xk))+(1−λ)Ck, (9b)
where λ represents an EWMA filter coefficient (0≦λ≦1). For example, when λ=0, the process model is not updated, and the constant c remains unchanged from process ‘k’ to process ‘k+1’. When λ=1, the process model is updated, and the constant c assumes none of the old constant ck from process ‘k’ to process ‘k+1’.
The computer system 1201 may include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).
The computer system 1201 performs a portion or all of the processing steps of the invention in response to the internal processor 1203 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 1204. Such instructions may be read into the main memory 1204 from another computer readable medium, such as a hard disk 1207 or a removable media drive 1208. Such capability being compatible mostly with the embodiment in which the electronic monitoring device is outside the semiconductor processing system 12. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1204. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
As stated above, the computer system 1201 includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media suitable for the present invention are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.
Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 1201, for driving a device or devices for implementing the invention, and for enabling the computer system 1201 to interact with a human user (e.g., to interact with consumable part disposal personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.
The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.
The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the internal processor 1203 for execution. A computer readable medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk 1207 or the removable media drive 1208. Volatile media includes dynamic memory, such as the main memory 1204. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 1202. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to internal processor 1203 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer such as for example the tool controller 26 can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions to the electronic monitoring device 10. An infrared detector coupled to the bus 1202 can receive the data carried in the infrared signal and place the data on the bus 1202. The bus 1202 carries the data to the main memory 1204, from which the internal processor 1203 retrieves and executes the instructions. The instructions received by the main memory 1204 may optionally be stored on storage device 1207 or 1208 either before or after execution by the internal processor 1203.
The computer system 1201 also includes a communication interface 1213 coupled to the bus 1202. The communication interface 1213 provides a two-way data communication coupling to a network link 1214 that is connected to, for example, a local area network (LAN) 1215, or to another communications network 1216 such as the Internet. For example, the communication interface 1213 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 1213 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 1213 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
The network link 1214 typically provides data communication through one or more networks to other data devices. For example, the network link 1214 may provide a connection to another computer through a local network 1215 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 1216. The local network 1214 and the communications network 1216 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc). The signals through the various networks and the signals on the network link 1214 and through the communication interface 1213, which carry the digital data to and from the computer system 1201 maybe implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term “bits” is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a “wired” communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computer system 1201 can transmit and receive data, including program code, through the network(s) 1215 and 1216, the network link 1214, and the communication interface 1213. Moreover, the network link 1214 may provide a connection through a LAN 1215 to a mobile device 1217 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.
Although only certain exemplary embodiments of this invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention.
Number | Name | Date | Kind |
---|---|---|---|
5940299 | Choi et al. | Aug 1999 | A |
6249712 | Boiquaye | Jun 2001 | B1 |
6587744 | Stoddard et al. | Jul 2003 | B1 |
6853920 | Hsiung et al. | Feb 2005 | B1 |
20040267399 | Funk | Dec 2004 | A1 |
20050071039 | Mitrovic | Mar 2005 | A1 |
20050221514 | Pasadyn et al. | Oct 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050222781 A1 | Oct 2005 | US |