This disclosure relates generally to modeling a semiconductor manufacturing process, and particularly to modeling nonlinearity and nonstationarity characteristics of a semiconductor manufacturing process.
A Gaussian process is a generalization of the Gaussian probability distribution. Whereas a probability distribution describes random variables which are scalars or vectors (for multivariate distributions), a stochastic process governs properties of corresponding functions. A Gaussian Process Model (GPM) is a data interpolation model based on a Bayesian inference method, and it can be used to infer a relationship between a set of input parameters and a set of targets, or outputs, parameters. Mixture model infers attributes of a population from samples without disclosing identities of the samples. In Dirichlet Process (DP), an input distribution is a random distribution and an input parameter is a positive real number. A draw from Dirichlet process returns a random distribution including values drawn from the input random distribution. By replacing random variables with random probability measures drawn from a DP, this results in a nested Dirichlet process (nDP). Temporal Dirichlet process mixture model (TDPMM) is a generalization of DP that automatically grows the number of clusters as input data grows. TDPMM is also known as a dynamic clustering. nDP handles clustering of probability distributions and multilevel clustering simultaneously. TDPMM handles evolutionary clustering (i.e., dynamic clustering) where clustering of input data changes over time due to evolving nature of these input data. Dynamic Linear Model (DLM) is used to model and predict time-series data based on explanatory factors (i.e., characteristics of populations) through a pair of equations—an observation equation and an evolution/system equation. A Bayesian inference method is a method used to update a probability estimate as additional input or additional information becomes available.
A “nonparametric” model assumes that a corresponding model structure is not fixed. Rather, the model evolves as more input data becomes available. DP, nDP, TDPMM, and GPM are nonparametric Bayesian models. “Multivariate” statistics is a form of statistics concurrently observing and analyzing a plurality of outcome variables. “Multivariate” normal distribution is a generalization of one-dimensional normal distribution to higher dimensions.
Trace data is data recorded from many different sensors during one or more processing steps in a semiconductor manufacturing process. In other words, trace data includes signals measured from the sensors mounted on manufacturing tools in semiconductor processing. A process of semiconductor manufacturing often requires hundreds of sequential steps, each one of which could lead to a yield loss. Consequently, maintaining product quality in a semiconductor manufacturing facility often requires a strict control of hundreds or even thousands of process variables. The process variables are the variables which can be adjusted by a control computing system to ensure a product quality and yield rate of semiconductor chips manufactured by the semiconductor manufacturing process. Metrology data is measurement data collected from products (e.g., semiconductor chips, etc.), while the trace data is sensor data collected from manufacturing tools and chambers.
There are provided a method, a system and a computer program product for modeling a semiconductor manufacturing process. The system receives trace data, process variables data and metrology data, obtained during the semiconductor manufacturing process. The system creates, based on the received trace data, the received process variables data and the received metrology data, a performance model of the semiconductor manufacturing process. The created performance model captures nonlinearity characteristics of the semiconductor manufacturing process. The system predicts, based on the created performance model, future values of the received metrology data of products manufactured in the semiconductor manufacturing process. The system detects nonstationarity characteristics of the semiconductor manufacturing process.
The system updates the created performance model when a significant change is detected in the semiconductor manufacturing process.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings, in which:
With rapid growth of sensor and measurement technologies, an abundance of production data is available both real-time (e.g., flow rate, temperature, humidity, etc.) and off-line (e.g., goodness-of-fit (GOF), etc.) A GOF value may indicate how well a predicted measurement value from a data model represents an actual measurement value. This abundance of the production data provides an opportunity to develop a systematic performance prediction and monitoring method to capture an underlying process complexity and enhances a process control capability. Data streams (e.g., trace data, process variables data, metrology data, etc.) may change over time due to underlying process dynamics.
A current method for building a model for performance prediction and monitoring does not consider nonlinearity or nonstationarity characteristics or both commonly existing in a semiconductor manufacturing process. Nonlinearity characteristic refers to a situation where an output is not directly proportional to an input. A nonlinear system refers to a system which does not satisfy a superposition principle applied to a linear system, e.g., F(x+y+z . . . )=F(x)+F(y)+F(z) + . . . . A “stationary” process refers to a stochastic process whose joint probability distribution does not change when shifted in time or space. A “nonstationary” process refers to a stochastic process with variable probability distribution. Semiconductor manufacturing process includes, but is not limited to: deposition steps (i.e., steps for adding materials to semiconductor wafers), removal steps (e.g., etching), patterning steps (e.g., lithography), etc. Models (e.g., a known linear regression model) built by the current method do not consider nonlinearity characteristic of the semiconductor manufacturing process. Nonlinear models (e.g., a known recurrent neural network models, etc.) built by the current method need a huge amount of data (e.g., 10 terabyte, etc.) and re-training for prediction due to the nonlinearity characteristic of the semiconductor manufacturing process. Models (e.g., a known auto-regressive moving average (ARMA) model) built by the current method do not consider nonstationarity characteristic of the semiconductor manufacturing process.
In this disclosure, there are provided a method, a system and a computer program product for continuously predicting and monitoring performance of a semiconductor manufacturing process with consideration of the nonlinearity and the nonstationarity characteristics of the semiconductor manufacturing process. A semiconductor manufacturing process includes one or more manufacturing steps, e.g., etching, chemical deposition, CMP (Chemical-Mechanical Planarization—a step for smoothing surfaces of a semiconductor wafer), which exhibit nonlinearity and nonstationarity characteristics. These one or more manufacturing steps accommodate a time-varying nature, e.g., trace data from these manufacturing steps would vary from time to time. Due to this time-varying nature, a performance model that predicts and monitors the semiconductor manufacturing process needs to be updated when a significant change is detected in new data stream (e.g., new trace data, new process variables data, new metrology data). How to detect a “significant change” in a data stream is described in detail below in conjunction with
In
At 130-140 shown in
At 145 shown in
An example of the created performance model is as follows: nonlinear regression model for the Goodness-of-Fit (GOF) measurement of semiconductor products is represented, for example, by y=ƒ1(X), where y is the GOF of the semiconductor products, and X includes features extracted from the received trace data and the received process variables data. ƒ1(·)refers to any function that represents the nonlinear regression model. Another example of the created performance model is Gaussian Process Model (GPM) for the throughput of semiconductor products (the number of wafers produced per unit time), which is the performance for a semiconductor manufacturing tool or a semiconductor fab. This Gaussian Process Model can be represented, for example, by z=ƒ2(X), where z is the throughput value and X are the features from the received trace data, from prior throughput data, and from availability times of upstream semiconductor manufacturing tools. ƒ2(·) refers to any function that represents GPM.
For each cluster, e.g., cluster 1 (220), cluster 2 (225), . . . , cluster n (230) shown in
Returning to
Once a performance model is created, e.g., by using Dynamic Linear Model, etc., a linear or nonlinear relationship between a target variable y and an input variable X, y=ƒ(X) becomes known: for example, a relationship between the received metrology data and the received process variables may indicate nonlinearity characteristics. With newly collected trace data and process variable data X* 105, predicted values of future target variable (e.g., metrology data, throughput data or yield rate data) can be calculated as ŷ=ƒ(X*) , where ŷ is a vector of the predicted values. When values of y*, newly collected metrology data, throughput data, or yield rate data, are available, the performance prediction component 245 compares ŷ and values of y*. In one embodiment, these newly collected trace data, process variable data, and metrology data is stored in a storage device 190.
Returning to
When newly collected trace data, metrology data and process variables data 105 are available, a monitoring and model updating component 260 shown in
Returning to
At 165-170, the change detection component 270 shown in
The change detection component 270 evaluates, e.g., in real-time or off-line, whether a significant change has taken place in the semiconductor manufacturing process. The significant change may include, but is not limited to: a detection of the first-type cluster, a detection of the second-type cluster, or a detection of the third-type cluster.
Statistical techniques or model based change detection methods can be used to detect the significant changes in the data stream 205. Those techniques and methods include, but are not limited to: Statistical Process Control techniques, and parametric, semi-parametric or non-parametric model based change detection methods, and Temporal Dirichlet Process Mixture Model (“TDPMM”). TDPMM can model an evolution of cluster parameters and popularity over time T using any time series model, i.e. TDPMM can update the cluster parameters sequentially.
Returning to
At 175, the model update component 275 updates the performance model created at 145 when the significant change is detected in the clusters 220-230 of the data streams 105-110. In order to update the created performance model, the model update component 275 runs a Bayesian inference method with the created performance model and the first-type cluster, the second-type cluster and the third-type cluster. Thus, the components 265-275 are used to continuously monitor the semiconductor manufacturing process in order to detect the significant change. The components 265-275 are also used to update the created performance model upon detecting the significant change in the semiconductor manufacturing process.
In one embodiment, the components 210, 215, 240-245 and 265-275 are implemented by one or more computing systems shown in
While the invention has been particularly shown and described with respect to illustrative and preformed embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention which should be limited only by the scope of the appended claims.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with a system, apparatus, or device running an instruction.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with a system, apparatus, or device running an instruction.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may run entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which run via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which run on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more operable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be run substantially concurrently, or the blocks may sometimes be run in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
This application is a continuation of U.S. patent application Ser. No. 13/934,398 filed Jul. 3, 2013 the entire content and disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 13934398 | Jul 2013 | US |
Child | 14026650 | US |