Process Recipe Creation and Matching Using Feature Models
Machine learning feature models optimize semiconductor wafer processing by creating and matching recipes, addressing resource inefficiencies and metrology limitations, resulting in improved process stability and reduced waste.
Patent Information
- Application Number
- JP2023570465
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-13
- Filing Date
- 2022-09-09
- Publication Date
- 2025-07-23
- Estimated Expiration
- 2042-09-09
AI Technical Summary
The complexity of semiconductor wafer processing and the inefficiencies in process optimization due to resource consumption and inadequate precision metrology data lead to sub-optimal process recipes and increased waste, particularly in high-mix, low-volume manufacturing operations.
Utilizing machine learning feature models to create and match process recipes by analyzing feature models, determining predicted processing parameters, and generating candidate recipes that optimize for desired characteristics, thereby reducing manual adjustments and improving process stability.
Enhances process capability, reduces waste, and minimizes costs by optimizing recipe settings through automated adjustments, ensuring faster deployment and improved device yield.
Smart Images

Figure 0007712394000026 
Figure 0007712394000027 
Figure 0007712394000028
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to manufacturing systems, and more particularly, to process recipe creation and matching using feature models.
Background Art
[0002] As device sizes shrink, the complexity of semiconductor wafer processing is increasing. Common wafer processing methods have multiple different processes, and some advanced methods (e.g., plasma etching) have 20 or more processes. Each process has a number of process control variables, also called "knobs", that can be used to adjust and optimize performance. Thus, the space available to adjust and optimize a given process is theoretically very large.
[0003] Process engineers use their experience and expertise to select a preliminary baseline process and fine-tune that process based on a limited number of wafers (or parts of wafers, called coupons) dedicated to the design of experiment (DoE). The goal of DoE is to adapt the process to achieve the desired specifications on the wafer. However, dedicating entire wafers or parts of wafers for DoE data collection consumes valuable resources. Thus, often the process adopted is an executable process but not necessarily the optimal solution.
[0004] Another bottleneck is caused by insufficient in-line precision metrology data. For precision metrology, typically, destructive techniques such as transmission electron microscopy (TEM) are used. However, since TEM is extremely time-consuming, TEM generally does not generate sufficient statistical data and appropriate coverage across the wafer. Also, since TEM is a destructive technique, it may not be possible to incorporate TEM into the production line. SUMMARY OF THE INVENTION
[0005] In some embodiments, a method is provided. The method includes receiving, by a processing device, a set of feature models, wherein each feature model of the set of feature models corresponds to a respective feature related to processing of a component; receiving, by the processing device, a set of target characteristics for processing the component, wherein the set of target characteristics includes a respective target for each feature; determining, by the processing device, one or more sets of predicted processing parameters based on the set of feature models and in view of the set of target characteristics; generating, by the processing device, one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted processing parameters, wherein the one or more candidate process recipes each correspond to a set of predicted characteristics including respective predicted characteristic values resulting from component processing for each feature; and selecting, by the processing device, a process recipe for processing the component from the one or more candidate process recipes.
[0006] In some embodiments, a system is provided that includes a memory and a processing device coupled to the memory. The processing device is to receive a set of feature models, where each feature model in the set of feature models corresponds to respective features related to the processing of the components; receive a set of target characteristics for processing the components, where the set of target characteristics includes respective targets for each feature; determine one or more sets of predicted processing parameters based on the set of feature models and in view of the set of target characteristics; generate one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted processing parameters, where the one or more candidate process recipes each correspond to a set of predicted characteristics including respective predicted characteristic values resulting from the component processing for each feature; and select a process recipe for processing the components from the one or more candidate process recipes.
[0007] In some embodiments, a non - transitory computer - readable storage medium is provided. The non - transitory computer - readable storage medium includes instructions that, when executed by a processing device, cause the processing device to receive a set of feature models, wherein each feature model in the set of feature models corresponds to respective features related to the processing of components; receive a set of target characteristics for processing the components, wherein the set of target characteristics includes respective targets for each feature; determine one or more sets of predicted processing parameters based on the set of feature models and in view of the set of target characteristics; generate one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted processing parameters, wherein the one or more candidate process recipes each correspond to a set of predicted characteristics including respective predicted characteristic values resulting from component processing for each feature; and select a process recipe for processing the components from the one or more candidate process recipes.
[0008] The present disclosure is shown, by way of example and not limitation, in the figures of the accompanying drawings in which like reference numerals indicate like elements. Note that different references to "an" or "one" embodiment in the present disclosure are not necessarily to the same embodiment, and such references mean at least one.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
DETAILED DESCRIPTION OF THE INVENTION
[0010] The implementations described herein provide process recipe (“recipe”) creation and matching using a machine learning feature model. Manufacturing processes can be interrupted by various factors such as wear and tear on equipment, process drift, inconsistent operation, maintenance events, and product changes. Process interruptions can result in lots that are out of specification or off target. For example, to address pad wear in a chemical mechanical polishing process that results in differences in wafer thickness, a process engineer can make recipe adjustments to ensure proper process targeting. Other differences due to the age of the tool can also lead to wafer scrap if not corrected.
[0011] Advanced process control (APC) tools, such as a run-to-run (R2R) controller, can be used to monitor and reduce process variations. R2R controllers, such as the Applied SmartFactory (registered trademark) run-to-run solution provided by Applied Materials (registered trademark), can improve process capability (Cpk) and optimize recipe parameters from batch-to-batch (B2B), lot-to-lot (L2L), and / or wafer-to-wafer (W2W) based on knowledge such as material context, feedback from process models, incoming variations, and measurement data. The R2R controller can be used to improve processes implemented during front-end semiconductor wafer manufacturing, semiconductor assembly and test, display manufacturing, and the like. With R2R, manufacturers can perform automatic adjustments to the process to maintain the required target values for specific characteristics, such as wafer thickness and critical dimensions. Manufacturers can also use measurement data from each process operation to adjust the process recipe on an R2R basis and define customized strategies, such as rework, to be implemented in an automated fashion. The solution is designed to support high-mix and low-volume manufacturing operations, which have always presented challenges in the industry.
[0012] Conventionally, a recipe for a processing method can be embodied as a table of recipe settings that includes a set of inputs or recipe parameters (the "parameters"), which are manually input by a user (e.g., a process engineer) to achieve a set of target characteristics (e.g., on-wafer properties), also called a set of goals. For example, the inputs can correspond to the rows of the table, and the processes can correspond to the columns of the table. However, such manual population of the parameters and / or processes can lead to recipes that are not optimized in view of multiple desired properties. For example, complex interrelationships can exist between the desired properties, and modifying the recipe parameters and / or processes to achieve a desired property can have potentially unintended results for one or more other desired properties. Thus, sub-optimal recipes can be created by not taking into account all of these complex interrelationships.
[0013] Aspects of the present disclosure address the above and other deficiencies by providing recipe creation and matching using a feature model (e.g., a machine learning feature model). The recipe creation and matching described herein can be implemented using a set of feature models. The feature model can be of the type of a regression model with a teacher. An example of a feature model is of the form TIFF0007712394000001.tif7170's multi-input single-output (MISO) feature model, where the input TIFF0007712394000002.tif5170 includes a plurality of parameters organized as a vector, and the output Y is a single scalar output. Another example of a feature model is of the form TIFF0007712394000003.tif7170's multi-input multi-output (MIMO) feature model, where the input TIFF0007712394000004.tif5170 includes a plurality of parameters organized as a vector, and the output TIFF0007712394000005.tif5170 contains a plurality of outputs organized as vectors. One type of MIMO feature model is a spatial output MIMO that further defines spatial coordinates for each output. The feature model can be implemented using any suitable regression algorithm. Examples of regression algorithms include linear regression, Gaussian process regression, partial least squares, gradient boosting trees, random forests, fully connected neural networks, and the like.
[0014] In the context of recipe creation described herein, a set of feature models can each include several individual feature models corresponding to desired features (e.g., on-wafer features). For example, each feature model can be a spatial MIMO model, in which the input vector includes input recipe parameters, the output vector includes output measurements of features at different locations on the wafer, and spatial locations (e.g., X-Y coordinates) for each output measurement can be included. Exemplarily, a user can input desired requirements for each feature. Using a numerical optimization routine based on the feature model, the continuous process space can be explored to obtain an optimal set of recipes in view of the desired requirements. Moreover, the recipes can be used by a matching technique to generate a set of offsets to correct for a mismatch between the expected or desired process behavior indicated by the recipe and the current or predicted behavior.
[0015] Advantages of the present disclosure include, but are not limited to, an increase in speed-to-value, a faster deployment time, minimization of risk during development, robustness to incoming noise to improve recipe stability, improvement of process capabilities, minimization of discarded wafers and send-ahead wafers, and reduction or elimination of manual adjustments. Accordingly, aspects of the present disclosure can improve device yield and reduce costs.
[0016] FIG. 1 shows an exemplary computer system architecture 100 according to an aspect of the present disclosure. The computer system architecture 100 can include a client device 120, a prediction server 112 (e.g., for generating prediction data, providing model adaptation, using a knowledge base, etc.), and a data store 140. The prediction server 112 can be part of a prediction system 110. The prediction system 110 can further include server machines 170 and 180. In some embodiments, the computer system architecture 100 can be included as part of a manufacturing system for processing substrates or wafers. In such embodiments, the computer system architecture 100 can include manufacturing equipment 124, measurement equipment 128, and / or test equipment (not shown).
[0017] The manufacturing equipment 124 can operate according to a recipe or over a period of time to produce products such as electronic devices. The manufacturing equipment 124 can include process chambers such as the tool / chamber 220 described with respect to FIG. 2. The manufacturing equipment 124 can perform processes on wafers (e.g., substrates, semiconductors, etc.) in the process chamber. Examples of wafer processes include a deposition process for depositing a film on the surface of the wafer, an etching process for forming a pattern on the surface of the wafer, a wafer heating process for heating the wafer to a target temperature before the deposition process or the etching process, a wafer cooling process for cooling the wafer to a target temperature following the deposition process and / or the etching process, etc. The manufacturing equipment 124 can perform each process according to a process recipe. The process recipe can define a specific set of operations to be performed on the wafer during the process and can include one or more settings associated with each operation. For example, the wafer heating process can include a position setting for the wafer disposed in the process chamber, a temperature setting for the process chamber, a pressure setting for the process chamber, a pressure setting for the process chamber, etc.
[0018] In some embodiments, the manufacturing apparatus 124 can include one or more sensors 126 configured to generate process sensor data about the environment inside or outside of and / or about a wafer disposed within the process chamber. The sensor data can include one or more values such as temperature (e.g., heater temperature), setpoint (SP), pressure, high frequency radio frequency (HFRF), voltage of an electrostatic chuck (ESC), current, flow rate, power, voltage, and the like. The sensor data can be related to or indicative of manufacturing parameters such as hardware parameters (e.g., size, type, etc.) of the manufacturing apparatus 124 or process parameters of the manufacturing apparatus 124. The sensor data can be provided while the manufacturing apparatus 124 is performing a manufacturing process (e.g., read values of the apparatus while processing a product). The sensor data can be different for each wafer processed in the manufacturing apparatus 124.
[0019] The measurement device 128 can provide measurement data related to a wafer (e.g., a wafer, etc.) processed by the manufacturing device 124. In some embodiments, the measurement data can include data generated for a film on the surface of the wafer before, during, or after a deposition and / or etching process is performed on the wafer. For example, the measurement data can include film property data (e.g., wafer spatial film properties), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. generated for the wafer after completion of the wafer process. In some embodiments, the measurement data can further include data related to a portion of the wafer that does not undergo a deposition and / or etching process. For example, a film can be deposited on the upper surface of the wafer before an etching process that will etch away a portion of the film to create a target wafer surface pattern. A wafer heating process can be initiated for the wafer to heat the wafer to a target temperature before the start of the etching process.
[0020] The client device 120 can include computing devices such as a personal computer (PC), laptop, mobile phone, smartphone, tablet computer, netbook computer, network-connected television (“smart TV”), network-connected media player (e.g., Blu-ray player), set-top box, over-the-top (OTT) streaming device, operator box, etc. In some embodiments, the computer system architecture 100 can receive from the client device 120 data related to a process recipe for a process to be performed on a wafer in the manufacturing equipment 124. For example, the client device 120 can display a graphical user interface (GUI), and the GUI enables a user (e.g., an engineer, operator, developer, etc.) to provide, as input, data related to one or more process recipe settings for a wafer heating process and / or a wafer cooling process to be performed on a wafer in a process chamber of the manufacturing equipment 124.
[0021] Data store 140 can be a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or another type of component or device capable of storing data. Data store 140 can include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). In some embodiments, data store 140 can store sensor data, measurement data, prediction data, and / or context data. Sensor data can include historical sensor data (e.g., sensor data generated by sensor 126 for a previous wafer processed in manufacturing equipment 124), and / or current sensor data (e.g., sensor data generated by sensor 126 for the current wafer being processed in manufacturing equipment 124). In some embodiments, the current sensor data can be the data from which prediction data is generated. Sensor data can include, but is not limited to, data indicating the temperature of one or more components of manufacturing equipment 124 (e.g., the temperature of the lid and / or window of the process chamber, the temperature of a heating element embedded within a wafer support assembly of the process chamber, etc.), data indicating the temperature of the wafer during the wafer process, data indicating the pressure in one or more parts of the environment within manufacturing equipment 124 (e.g., the pressure of the environment between the lid and / or window of the process chamber and the surface of the wafer, the pressure of the environment between the surface of the wafer and the surface of the wafer support assembly, etc.), data indicating the concentration or flow rate of one or more gases flowing into manufacturing equipment 124 before, during, and / or after the wafer process, etc. The data store can, in some embodiments, store measurement data. Measurement data can include historical measurement data (e.g., measurement data generated by measurement device 128 for a previous wafer processed in manufacturing equipment 124).
[0022] Context data refers to data related to wafer processes implemented in the wafer and / or manufacturing equipment 124. In some embodiments, the context data can include data related to the wafer (e.g., an identifier for the wafer, the type of the wafer, etc.). The context data can include, additionally or alternatively, data related to one or more components of the manufacturing equipment 124 used to process the wafer. For example, the context data can include an identifier for one or more components of the manufacturing equipment 124, one or more physical characteristics related to the one or more components (e.g., the emissivity of the one or more components, the molecular weight of the one or more components, etc.), an identifier related to an operator of the manufacturing equipment 124, the type of process implemented in the manufacturing equipment 124, and the like.
[0023] In additional or alternative embodiments, the context data can include data related to the process recipe implemented on the wafer in the manufacturing equipment 124. For example, the context data can include an identifier of the name for the process recipe, an operation number for the operation of the process recipe, or settings for one or more operations of the process recipe (referred to herein as process recipe settings). The process recipe settings can include position settings for the wafer, or for one or more components of the manufacturing equipment 124, such as the position of the wafer disposed within the process chamber relative to the lid and / or window of the process chamber, the position of the wafer relative to the wafer support assembly of the process chamber, the position of the wafer support assembly relative to the lid and / or window of the process chamber, the speed of movement of the wafer support assembly (with or without a wafer) towards or away from the lid and / or window of the process chamber, the speed of movement of the wafer towards or away from the surface of the wafer support assembly, etc. The process recipe settings can also include temperature and / or pressure settings for one or more components of the manufacturing equipment 124 and / or for the wafer disposed within the manufacturing equipment 124. The process recipe settings can also include gas flow settings for the wafer process, including settings indicating the target composition and / or concentration of the gas flowing into the process chamber of the manufacturing equipment 124, the flow rate of the gas flowing into the process chamber, the temperature of the gas flowing into the process chamber, etc.
[0024] Context data can include historical context data (e.g., context data for a previous wafer process performed on a previous wafer in manufacturing equipment 124), and / or current context data (e.g., context data for a wafer process currently being performed or to be performed on a current wafer in manufacturing equipment 124). According to the embodiments described herein, the current context data can be the data on which prediction data is generated. The historical context data and / or the current context data can be provided to system 100 via the GUI of client device 120 according to the embodiments described above.
[0025] In some embodiments, data store 140 can be configured to store data that is not accessible to a user of the manufacturing system. For example, test data, context data, etc. for a wafer support assembly are not accessible to a user (e.g., an operator) of the manufacturing system and / or the test system. In some embodiments, all data stored in data store 140 can be inaccessible to a user of the system. In other or similar embodiments, some portions of the data stored in data store 140 can be inaccessible to a user, while other portions of the data stored in data store 140 can be accessible to a user. In some embodiments, one or more portions of the data stored in data store 140 can be encrypted using an encryption mechanism unknown to the user (e.g., the data is encrypted using a secret encryption key). In other or similar embodiments, data store 140 can include multiple data stores in which data that is inaccessible to a user is stored in one or more first data stores, and data that is accessible to a user is stored in one or more second data stores.
[0026] In some embodiments, the prediction system 110 can include the server machine 170 and / or the server machine 180. The server machine 170 includes a training set generator 172 capable of generating a training data set (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing a machine learning model 190 (e.g., a feature model). For example, according to the embodiments provided herein, the training set generator 172 can generate a training set for training, validating, and / or testing the machine learning model 190 to predict a process recipe setting for a process to be performed on a wafer in the manufacturing equipment 124.
[0027] In some embodiments, the training set generator 172 can generate a training set for the machine learning model 190 based on historical sensor, measurement, and / or context data related to one or more previous wafer processes performed in the manufacturing equipment 124. In additional or alternative embodiments, the training set generator 172 can generate a training set for the machine learning model 190 based on predicted or simulated sensor, measurement, and / or context data generated by a digital replica model (e.g., a digital twin) of the manufacturing equipment 124. The digital replica model (also referred to herein as a digital replica) can be, in some embodiments, an algorithmic model that simulates the manufacturing equipment 124.
[0028] In some embodiments, the digital representation server 160 can be a digital replica of the manufacturing equipment 124. The digital representation server 160 can use supervised machine learning, semi-supervised learning, unsupervised machine learning, or any combination thereof to generate a virtual representation of the physical elements and / or dynamics of how the manufacturing equipment 124 operates. The digital representation server 160 can be updated via reinforcement learning using periodic updates from the sensors 126 and / or data related to generating and maintaining digital replica data of the manufacturing equipment 124, such as sensor data, performance data (e.g., data related to the efficiency, latency, throughput, etc. of one or more components of the manufacturing equipment 124), library data, and the like. In some embodiments, the digital representation server 160 can include a process chamber model 162 related to the physical elements and dynamics of the process chamber of the manufacturing equipment 124.
[0029] The digital representation server 160 can generate simulation data used to determine how the manufacturing equipment 124 functions based on current or simulated parameters. The simulation data can be stored in the data store 140 in some embodiments. In some embodiments, the simulation data can include one or more process recipe settings related to a wafer process (e.g., a wafer temperature control process) for a wafer in a process chamber. The simulation data can also include predicted characteristic data and / or predicted measurement data (e.g., virtual measurement data) of a digital replica of the manufacturing equipment 124 (e.g., of a product to be produced or produced using current sensor data in the data store 140). The simulation data can also include an indication of an anomaly (e.g., an abnormal product, an abnormal component, an abnormal manufacturing equipment 124, abnormal energy usage, etc.) and one or more causes of the anomaly. The simulation data can further include an indication of the end of life of a component of the manufacturing equipment 124. The simulation data is comprehensive and can cover all mechanical and / or electrical aspects of the manufacturing equipment 124.
[0030] As described above, the training set generator 172 can generate training data for the model 190 based on the predicted data or the simulated data obtained from the digital representation server 160. For example, the training set generator 172 can generate one or more sets of process recipe settings to simulate the process in the process chamber of the manufacturing equipment 124 using the process chamber model 162, and can provide the set of process recipe settings to the digital representation server 160. In some embodiments, the data output by the process chamber model 162 can include the pressure difference between the first space of the process chamber environment and the second space of the process chamber environment. The first space of the process chamber environment can include the space between the upper surface of the wafer and the ceiling of the process chamber (e.g., the lid, the window, etc.). The second space of the process chamber environment can include the space between the bottom surface of the wafer and the upper surface of the wafer support assembly that supports the wafer during the simulated wafer process. In additional or alternative embodiments, the data output by the process chamber model 162 can include data related to the rate of change of the temperature of the wafer between the initial period of the wafer process (referred to as the ramping rate) and the final period of the wafer process. In some embodiments, the training set generator 172 can divide the training data (e.g., data for a physical process and / or simulated data) into a training set, a validation set, and a test set. In some embodiments, the prediction system 110 generates multiple sets of training data.
[0031] Server machine 180 can include a training engine 182, a verification engine 184, a selection engine 186, and / or a test engine 188. The engines can refer to hardware (e.g., circuits, dedicated logic, programmable logic, microcode, processing devices, etc.), software (such as instructions running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 may be capable of training a machine learning model 190. The machine learning model 190 can refer to a model artifact created by the training engine 182 using training data that includes training inputs and corresponding target outputs (the correct answers for each training input). The training engine 182 can find patterns in the training data that map the training inputs to the target outputs (the answers to be predicted) and provide a machine learning model 190 that captures these patterns. The machine learning model 190 can use one or more of support vector machine (SVM), radial basis function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithm (k-NN), linear regression, random forest, neural network (e.g., artificial neural network), etc.
[0032] The verification engine 184 may be able to verify the trained machine learning model 190 using the corresponding set of features of the verification set from the training set generator 172. The verification engine 184 can determine the accuracy of each of the trained machine learning models 190 based on the corresponding set of features of the verification set. The verification engine 184 can discard the trained machine learning models 190 that have an accuracy that does not meet the threshold accuracy. In some embodiments, the selection engine 186 may be able to select the trained machine learning models 190 that have an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 186 may be able to select the trained machine learning model 190 that has the highest accuracy among the trained machine learning models 190.
[0033] The test engine 188 may be able to test the trained machine learning model 190 using the corresponding set of features of the test set from the training set generator 172. For example, a first trained machine learning model 190 trained using a first set of features of the training set can be tested using a first set of features of the test set. The test engine 188 can determine the trained machine learning model 190 that has the highest accuracy among all of the trained machine learning models based on the test set.
[0034] The prediction server 112 includes a prediction component 114 that can provide one or more process recipe settings corresponding to the spatial profile of the current wafer to be processed in the manufacturing equipment 124. As will be described in detail below, in some embodiments, the prediction component 114 can provide data related to the process recipe for the process to be performed on the wafer as an input to the model 190 and obtain one or more outputs of the model 190. In some embodiments, the data related to the process recipe can include instructions for one or more operations to be performed on the process recipe and the target temperature of the wafer at the end of the wafer process. The process recipe data can include one or more target wafer process settings to be applied during the wafer process in some embodiments. The prediction server 112 can provide a set of process recipe settings corresponding to one or more operations and / or target temperatures for the wafer based on one or more outputs of the model 190. In response to determining that the set of process recipe settings meets a level of reliability criteria, the prediction server 112 can cause a wafer process to be performed on the wafer in the process chamber according to the determined process recipe settings.
[0035] In some embodiments, the prediction server 112 can send an instruction of one or more process recipe settings to the client device 120 as a proposed modification to one or more target wafer process recipe settings. The client device 120 can display the proposed modification to the target wafer process recipe settings via the GUI of the client device 120. A user of the system 100 (e.g., an operator, a technician, a developer, etc.) can interact with one or more elements of the GUI of the client device 120 to start or not start a wafer process for the wafer according to one or more process recipe settings obtained from the output of the model 190.
[0036] The client device 120, the manufacturing equipment 124, the data store 140, the digital representation server 160, the prediction server 112, the server machine 170, and the server machine 180 can be coupled to each other via the network 130. In some embodiments, the network 130 is a public network that provides the client device 120 with access to the prediction server 112, the data store 140, and other publicly available computing devices. In some embodiments, the network 130 is a private network that provides the client device 120 with access to the manufacturing equipment 124, the data store 140, the digital representation server 160, the prediction server 112, and other privately available computing devices. The network 130 can include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0037] Note that in some other implementations, the functions of the digital representation server 160, the server machines 170 and 180, and the prediction server 112 can be provided by a smaller number of machines. For example, in some embodiments, the digital representation server 160, the server machine 170 and / or the server machine 180 can be incorporated into a single machine, and in some other or similar embodiments, the digital representation server 160, the server machine 170 and / or the server machine 180, and the prediction server 112 can be incorporated into a single machine.
[0038] Generally, the functions described in one implementation as being performed by digital representation server 160, server machine 170, server machine 180, and / or prediction server 112 may also be performed on client device 120. Further, functions ascribed to particular components may be performed by different or multiple components that operate together.
[0039] In an embodiment, a "user" may be represented as a single individual. However, other embodiments of the present disclosure include where a "user" is an entity controlled by multiple users and / or automated sources. For example, a set of individual users federated as a group of administrators may be considered a "user".
[0040] FIG. 2 is a diagram of a system 200 for implementing process recipe creation and matching using a feature model (e.g., a machine learning feature model) according to an aspect of the present disclosure. As shown, system 200 includes an unprocessed substrate or wafer 210 received by tool / chamber 220 for producing processed wafer 230. More particularly, tool / chamber 220 can utilize a set of process recipes ("recipes") to produce processed wafer 230 from unprocessed wafer 210. Although a wafer is shown, according to the embodiments described herein, any suitable component may be processed.
[0041] System 200 includes a recipe creation component 240. The recipe creation component 240 models the expected process behavior for a set of recipe parameters in view of a set of desired on-wafer properties, also referred to as a set of target or target characteristics, and generates a recipe 242 having a recipe setting based on the set of targets. The recipe creation component 240 can model the expected process behavior by creating a feature model (e.g., the machine learning model 190 of FIG. 1). The recipe setting can include a set of recipe parameters and a set of processes. For example, the recipe setting can include one or more related recipe parameters for achieving the set of targets. The recipe 242 can be implemented by a tool / chamber 220 for performing the processing of the wafer 210 in view of the recipe 242. Thus, the target can be converted into a recipe 242 for processing the unprocessed wafer 210 using the tool / chamber 220 to obtain the processed wafer 230. Next, further details regarding the recipe creation component 240 are described below with reference to FIG. 3.
[0042] Figure 3 is a diagram of a system 300 for implementing process recipe creation according to an aspect of the present disclosure. As shown, a set of target characteristics 310 and a set of feature models 320 are received by a numerical optimizer component 330. The set of target characteristics 310 can be received as input from a user. The set of target characteristics 310 can include a plurality of features and respective targets for each feature, where each target corresponds to an expected or desired value or range of values for its corresponding feature. Examples of targets include "mean", "less than", "greater than", "as low as possible", "profile target", etc. A profile target enables a user to specify a profile across a wafer. In this exemplary example, the set of target characteristics 310 specifies a thickness feature with an "average" of 1000 angstroms (Å) and a corresponding target of an expected or desired value (i.e., the target for thickness is an average thickness of 1000 Å), a resistance feature with a corresponding target of "greater than" and a value of 2.03 ohmmeters (i.e., the target for resistance is a resistance greater than 2.03 ohmmeters), and a stress feature with a corresponding target of "as low as possible" (i.e., as close to 0 as possible).
[0043] A set of feature models 320, including several feature models, is shown. In some implementations, the set of feature models 320 includes a set of regression models. For example, the feature model can include a MIMO model (e.g., a spatial MIMO model). Each individual feature model targets a specific feature. For example, the feature models shown in system 300 include a thickness feature model 322, a resistance feature model 324, and a stress feature model 326. In some examples, a smaller subset of the inputs, or a "set of relevant inputs", can be identified as the primary factors affecting the on-wafer properties, and other operations / parameters are pre-processing or post-processing operations that prepare for a specific action. Thus, the feature models can be created for each feature based on a set of relevant inputs. The inputs 320 to the feature models can include manufacturing parameters (e.g., process parameters, hardware parameters). The output of the feature model can be measurement data or performance data. For example, the inputs to the feature model can be temperature, pressure, and flow rate, and the output of the feature model can be thickness. Each feature model 320 can output a corresponding feature (e.g., the type of measurement data, the type of performance data, etc.). As described in more detail herein, the use of individualized feature models for each feature can enable greater control over achieving the desired properties.
[0044] In some implementations, Design of Experiments (DoE) techniques are used to generate a set of feature models 320. The DoE techniques can be used to detect wafer sensitivity in view of changing recipe parameters. DoE is the design of any information gathering activity where there is variability. DoE analysis is the analysis of data generated from the execution of DoE (i.e., DoE data). In some implementations, the DoE data includes recipe parameters, recipe parameter values, and measured values (e.g., wafer measurements). For example, in the case of a DoE analysis where five recipe parameters can be varied, the DoE can be performed by running multiple experiments where each of the five recipe parameters is varied according to a predetermined value for each experiment. The wafers from each experiment are then measured at various locations and can be related to their corresponding recipe parameters. Sensitivity values can be calculated by comparing the variation of the recipe parameters from each experiment to the variation of the measured values from each measurement location. The sensitivity values are then typically averaged to determine the average sensitivity of the wafer with respect to a particular recipe parameter. The sensitivity can be calculated corresponding to the averaged radial sensitivity values across the wafer.
[0045] As will be described in more detail below, each feature model in the set of feature models 320 can be used to generate a recipe based on the set of target characteristics 310 by capturing the spatial relationships between their corresponding features. To do this, the set of feature models 320 can be provided to a numerical optimizer component 330. The numerical optimizer component 330 executes numerical search and optimization routines to generate an output in view of the set of feature models 320 and the set of target characteristics 310. In some implementations, the output of the numerical optimizer component 330 can include, or can be used to generate, at least one pre-populated recipe 340. The pre-populated recipe 340 has a recipe configuration that includes a set of inputs as rows and a set of processes as columns. Each entry (e.g., x1~x6) in the recipe 340 indicates an entry for the inputs required in each process.
[0046] In some implementations, the output includes at least one set of recipe parameters. Each set of recipe parameters can be paired with a desired value for each feature (indicated by the set of target characteristics 310) and a predicted value for each feature. In some implementations, the predicted value is an average value. Each set of recipe parameters can be ordered or ranked in view of how well each set of recipe parameters achieves the set of target characteristics 310. In this exemplary example, as described above, one target is that the desired average thickness is 1000 angstroms (Å), and thus, in view of each constraint specified by the feature model, it is optimal to find a combination of recipe parameters that results in a predicted average thickness as close as possible to 1000 Å. Another target is that the desired resistance is greater than 2.03, and thus, in view of each constraint specified by the feature model, it is optimal to find a combination of recipe parameters that results in a predicted resistance greater than 2.03. The number of sets of recipe parameters output by the numerical optimizer component 330 can be a default number and / or can be customized by the user. For example, the output can include the top 10 sets of recipe parameters, the top 25 sets of recipe parameters, a single set of recipe parameters, etc.
[0047] Ideally, the set of recipe parameters will simultaneously satisfy each of the target characteristics of the set of target characteristics 310. However, there may be cases where the numerical optimizer component 330 cannot generate a recipe solution that simultaneously satisfies each of the target characteristics of the set of target characteristics 310. For example, the numerical optimizer component 330 may find a set of recipe parameters that satisfy the target for at least one characteristic (at least one satisfied characteristic), but where the target for at least one other characteristic (at least one unsatisfied characteristic) is predicted to be sacrificed. In such cases, the output generated by the numerical optimizer component 330 may be a Pareto frontier or Pareto front that includes at least one set of Pareto-efficient recipe parameters. Generally, the Pareto front is a set of Pareto-efficient solutions where no objective can be improved without sacrificing at least one other objective. That is, the Pareto front includes non-dominated solutions. Additionally or alternatively, the output can include solutions that achieve the target for, for example, the unsatisfied characteristics, and an estimated trade-off for the satisfied characteristic(s) may be observed. This can be particularly useful when it is important to ensure that characteristics determined by the numerical optimizer component 330 not to be satisfied can be satisfied by the recipe.
[0048] The numerical optimizer component 330 operates by inverting the feature model and performing a search in a high-dimensional input and output space. For example, assume that each feature model is a spatial MIMO model of the form TIFF0007712394000006.tif7170. To invert the feature model, TIFF0007712394000007.tif5170 can be solved as follows: TIFF0007712394000008.tif6170. In many cases, the function TIFF0007712394000009.tif7170 is complex and may not be easily invertible. To address this, the numerical optimizer component 330 can implement a search routine for pseudo-inverting TIFF0007712394000010.tif7170. For example, the numerical optimizer component 330 can search for a TIFF0007712394000012.tif5170 that minimizes the error between TIFF0007712394000011.tif7170 and the desired TIFF0007712394000013.tif5170. Further, the gradient of
[0049] TIFF0007712394000014.tif7170 may be unknown or difficult to estimate. This means that gradient-based search routines may not be optimal, and in some implementations, the numerical optimizer component 330 can implement a gradient-free search. Moreover, since some solutions may be more preferable than others, it may be advantageous to find multiple solutions or minima. Examples of search routines that can be used by the numerical optimizer component 330 include swarm-based search routines and / or genetic-based search routines. Thus, the numerical optimizer can search through a continuous space that satisfies multiple criteria, as compared to trying to manually balance multiple desired properties through a discrete space. Further details regarding the operation of the numerical optimizer component 330 are described below with reference to FIGS. 4 and 5.FIG. 4 is a diagram of a system 400 for performing numerical optimization on a single feature model according to an aspect of the present disclosure. As shown, system 400 includes a set of feature models 410, each including one or more feature models corresponding to a feature, and a set of target characteristics 420, each including one or more targets (e.g., desired properties) corresponding to each one of the features. Each target is related to or will be related to a cost function. The set of feature models 410 and the set of target characteristics 420 are received by a numerical optimizer 430 to generate an output 440, such as those described above with reference to FIG. 3.
[0050] As shown, numerical optimizer 430 includes a cost function component 432. The cost function component 432 creates a cost function for each feature model and target characteristic and selects an optimization algorithm to minimize the cost with respect to the feature model and target characteristic. Examples of cost functions of the cost function component 432 include mean, minimum sigma, minimum range, etc.
[0051] For example, the cost C can be defined by the formula C = D×(Δ + ∂×err), where D is the desirability of the feature (only applicable if there are multiple features), Δ is a function of the feature model that captures the difference between what is desired and what the feature model predicts for the input, err is the estimated error or reliability in the prediction, and ∂ is the error penalty. The error penalty helps the optimization to prefer solutions with higher reliability over solutions with lower reliability when there are two or more solutions.
[0052] A customized cost function can be created to improve the optimization process. For example, the mean cost C mean The mean cost function for calculating can be Defined by TIFF0007712394000015.tif7170, where rMSE is the root mean square error of the square, TIFF0007712394000016.tif7170 is the target output for TIFF0007712394000017.tif7170, and the minimum sigma cost function for calculating the minimum sigma cost C sigma can be defined as TIFF0007712394000018.tif8170, where sigma refers to the standard deviation, and a less than cost function for calculating a less than cost C can be defined as follows. That is, < if TIFF0007712394000019.tif26170, i.e., TIFF0007712394000020.tif7170, then m = 0 and n = TIFF0007712394000021.tif7170, and in other cases, m = TIFF0007712394000022.tif6170 and n = 0. Alternatively, TIFF0007712394000023.tif6170 can be replaced, for example, by TIFF0007712394000024.tif6170. By doing so, all output targets can be made smaller than the maximum output of TIFF0007712394000025.tif6170. The m term controls the average across the wafer, and the n term controls the sigma (i.e., variability) across the wafer.
[0053] If it is known that solutions for all desired targets potentially exist in the solution space, the cost function outputs can be merged by summing the outputs of each individual cost function in the total component 434. This new cost function can then be minimized using an optimization component 436 that implements one or more optimization routines. Examples of methods that can be used to minimize the new cost function include particle swarm, Nelder-Mead, genetic search, etc.
[0054] However, if it is known that it is not possible to simultaneously achieve each target characteristic in the set of target characteristics 420, the cost function can remain as an individual cost function, and a family of genetic search algorithms can be used by the optimization component 438. For example, the family of genetic search algorithms can be a multiobjective evolutionary algorithm (MoEA) that generates an output 442. The output can include a Pareto front for the set of target characteristics 420.
[0055] Exemplarily, the set of feature models 410 can include regression models. Linear regression can be used to find values, β values, from experimental data that minimize the error between the predicted output and the actual output. Each regression model can be created at a measurement location (e.g., for 49-point measurements, there will be 49 regression models). The β values can be regarded as sensitivity parameters that specify the sensitivity at each measurement location. To find recipe conditions for on-wafer targets, the optimization routine can be used to find recipe inputs (e.g., temperature, power) that minimize the error between the expected performance output and the observed performance output. Then, optimization can be performed based on the regression model to find recipe conditions for on-wafer targets by (1) employing one or more cost functions to define the difference between the predicted value for any input and the desired value, and (2) finding the input conditions that minimize the one or more cost functions, and thus finding the recipe settings to find the desired on-wafer target.
[0056] Referring back to FIG. 2, system 200 can further include a recipe matching component 250. The matching component 250 receives a recipe model from the recipe creation component 240, receives process feedback from the tool / chamber 220, and generates a set of recipe offsets (“offsets”) 252 by performing matching. For example, the process feedback can include the current or predicted performance behavior of the process performed by the tool / chamber 220. In this exemplary example, the current or predicted performance behavior is the current or predicted wafer performance behavior. The matching can be performed to generate the offset 252 by searching for an offset from the inputs defined in the recipe 242 that matches the current or predicted performance behavior to the desired or expected performance behavior corresponding to the recipe 242. That is, the offset 252 corrects for a change or drift in performance behavior (e.g., on-wafer performance) resulting from a mismatch between the current or predicted performance behavior and the expected or desired performance behavior. In an alternative implementation, the offset 252 can be a new set of recipe settings for generating a recipe (e.g., using the recipe creation component 240).
[0057] In some implementations, the current or predicted performance can be measured by any suitable measurement technique. Examples of measurement techniques include on-board measurement, in-line measurement, and virtual measurement.
[0058] On-board measurement can refer to measurements performed on the device itself within the die or on a test structure having similar characteristics as the device. Depending on the measurement technique used, the test structure may include, but is not limited to, structures similar to logic or memory devices on a wafer. On-board measurement can be based on optical measurements (e.g., collecting in-situ optical emission spectra from a device or test structure, or macro 2D mapping using optical targets) or other types of measurements. These optical or other measurements can be in-chamber (in-situ) or out-of-chamber (ex-situ), yet still under vacuum or at a factory interface (not necessarily under vacuum) on a process platform that may have multiple chambers.
[0059] Inline measurement can refer to measurements that can be performed outside of a processing chamber without the need to remove the wafer from the production line. An example of inline measurement is a scanning electron microscope (SEM), and advanced versions thereof can provide high precision and a wide range of modalities. Advanced SEMs can include a backscattered electron (BSE) sensor in addition to a secondary emission detector, and can include the ability to measure electron emission at various tilt angles and various landing energies ranging from hundreds of electron volts to tens of kilo-electron volts. The SEM has the ability to create a wide database of measurement data in a non-destructive manner. Customized SEM-based inline measurement by electron beam (“e-beam”) simulation, data collection, image characterization, and feature extraction, as well as statistical analysis, may be referred to as “customized measurement”. Advanced SEM tools can be used as the basis for high-precision non-destructive three-dimensional feature-level profiling, which is central to customized measurement.
[0060] Virtual metrology can refer to predicted measurements (e.g., dimensions) of a wafer that are determined based on sensor data taken by various sensors in or outside of a chamber without directly measuring the wafer. VM can include time traces of various process variables such as pressure, temperature, RF power, current, voltage, flow control position, etc.
[0061] In some implementations, current or predicted performance can be estimated from a MIMO sensor-based model. Further details regarding the MIMO sensor-based model are then described below with reference to FIG. 5.
[0062] FIG. 5 is a diagram of a system 500 that includes a sensor model for implementing process recipe creation and matching using a feature model (e.g., a machine learning feature model) according to aspects of the present disclosure. As shown, system 500 includes a data storage 510. The data storage 510 stores real-time sensor data (e.g., sensor feedback data). System 500 further includes a sensor model component 520 that implements the sensor model. The sensor model is a MIMO model (e.g., a regression model) that uses sensor data from the data storage 510 to generate predicted performance behavior (e.g., on-wafer performance behavior) for use by a matching component 530 as described above with reference to FIG. 2.
[0063] The sensor model is mathematically similar to the feature model, except that different inputs are used. For example, a set of recipe settings can be used as an input for the feature model, and a set of sensor feedback data obtained from a tool / chamber can be used as an input for the sensor model. Examples of data that can be included in the set of sensor feedback data include pressure readings, valve positions, heater power, and the like. That is, the sensor model can be regarded as the implementation of virtual measurement. The sensor model can be used to show the current behavior, and the recipe model can be used to show the expected behavior. The matching component 530 calculates the offset between the current behavior (e.g., indicated by the sensor model) and the expected behavior in order to calculate the offset.
[0064] FIG. 6 is a flowchart of a method 600 for implementing process recipe creation using a feature model (e.g., a machine learning feature model) according to an aspect of the present disclosure. The method 600 can be implemented by processing logic that can include hardware (circuits, dedicated logic, etc.), software (such as that running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, the method 600 can be implemented by a computer system, such as the computer system architecture 100 of FIG. 1. In other or similar implementations, one or more operations of the method 600 can be performed by one or more other machines not shown in the figures.
[0065] For simplicity of explanation, the methods are shown and described as a series of acts. However, acts in accordance with this disclosure can occur in various orders and / or concurrently, and with other acts not presented and described herein. Further, not all illustrated acts may be performed to implement a method in accordance with the disclosed subject matter. Further, one of ordinary skill in the art will understand and appreciate that the methods can alternatively be represented as a series of interrelated states via a state diagram or events. Further, it should be understood that the methods disclosed herein can be stored on a manufacture article to facilitate transporting and transferring such methods to a computing device. As used herein, the term manufacture article is intended to encompass a computer program accessible from any computer readable device or storage medium.
[0066] In block 610, the processing logic receives a set of feature models. For example, the set of feature models can include machine learning feature models (e.g., the machine learning model 190 of FIG. 1). The set of feature models each includes several feature models corresponding to features related to the processing of components. Examples of features include thickness, resistance, stress, etc. For example, the component can be a wafer or a substrate. In some implementations, each feature model is a regression model. For example, each feature model can be a MIMO model (e.g., a spatial MIMO model). In some embodiments, the feature model can have inputs of manufacturing parameters (e.g., process parameters, hardware parameters) such as temperature, pressure, flow rate, etc. The feature model can have outputs such as thickness, resistance, stress, etc. (e.g., measurement data, performance data). Each feature model can have different outputs corresponding to specific features (e.g., types of measurement data, types of performance data). In some embodiments, target measurement data or target performance data can be provided to the feature model (e.g., an inverted feature model), and predicted manufacturing parameters (e.g., to be used to obtain the target measurement data or target performance data) are received from the feature model. In some embodiments, manufacturing parameters are provided to the feature model, and predicted measurement data or predicted performance data are received from the feature model.
[0067] In block 620, the processing logic receives a set of target characteristics. For example, the set of target characteristics can include target measurement data or target performance data. The set of target characteristics can include several features and several targets corresponding to each one of those features. For example, the thickness feature can have a target with the value "equal to" and "1000 Å" such that the target for the thickness feature is a thickness equal to an average of 1000 Å. As another example, the resistance feature can have a target with the value "greater than" and "2.03" such that the target for the resistance feature is a resistance greater than 2.03.
[0068] In block 630, the processing logic determines one or more sets of predicted processing parameters based on a set of feature models, in view of a set of target characteristics, and in block 640, the processing logic generates one or more candidate process recipes for processing a component, each corresponding to one of the one or more sets of predicted processing parameters. In some implementations, the component is a wafer. Each set of predicted processing parameters includes some parameters (e.g., temperature, pressure) related to the operations performed during component processing. Block 630 and block 640 can be performed as individual operations or as simultaneous operations.
[0069] Generating one or more candidate process recipes can include using numerical optimization to minimize the difference between the target characteristics and the corresponding predicted characteristics. For example, generating one or more candidate process recipes can include obtaining at least one cost function based on the set of feature models and the set of target characteristics, and obtaining a set of candidate process recipes by minimizing the at least one cost function. For example, the set of candidate process recipes can include a plurality of candidate process recipes, the plurality of candidate process recipes are ranked based on how well they satisfy the set of target characteristics, and the process recipe can be selected by the user as the process recipe with the highest ranking. In some cases, there is no candidate process recipe that satisfies each of the conditions of the set of target characteristics. In such cases, a Pareto front of candidate process recipes can be generated and displayed in the GUI, and the process recipe can be selected by the user via the GUI based on property preferences. Further details regarding numerical optimization were described above with reference to FIG. 4.
[0070] In block 650, the processing logic selects a process recipe from one or more candidate process recipes. Selecting a process recipe can include receiving a selection of a process recipe from a user via a graphical user interface (GUI) that lists a set of candidate process recipes.
[0071] In block 660, the processing logic causes a process tool to process components using the process recipe. Further details regarding blocks 610 - 640 were described above with reference to FIGS. 2 - 4.
[0072] FIG. 7 is a flowchart of a method 700 for implementing process recipe matching to generate an offset using a feature model (e.g., a machine learning feature model). Method 700 can be implemented by processing logic that includes hardware (circuits, dedicated logic, etc.), software (such as that running on a general - purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, method 700 can be implemented by a computer system, such as the computer system architecture 100 of FIG. 1. In other or similar implementations, one or more operations of method 700 can be implemented by one or more other machines not shown in the figures.
[0073] For simplicity of explanation, the methods are shown and described as a series of acts. However, acts in accordance with the present disclosure may occur in various orders and / or simultaneously, as well as with other acts not presented and described herein. Further, not all illustrated acts may be performed in order to implement the methods according to the disclosed subject matter. Further, one of ordinary skill in the art will understand and appreciate that the methods may alternatively be represented as a series of interrelated states via a state diagram or events. Further, it should be understood that the methods disclosed herein may be stored on a manufactured article in order to facilitate transporting and transferring such methods to a computing device. As used herein, the term manufactured article is intended to include a computer program accessible from any computer-readable device or storage medium.
[0074] At block 710, the processing logic receives the expected performance for processing the component and the observed performance for processing the component using the process recipe. The expected performance corresponds to the (one or more) feature model outputs (e.g., (one or more) machine learning feature model outputs) for the current set of recipe settings. In some implementations, the component is a wafer or substrate. The observed performance may be the current performance of the actual process using the process recipe (e.g., process feedback).
[0075] At block 720, the processing logic determines whether the difference between the expected performance and the observed performance meets a threshold condition. In some embodiments, it may be determined whether the difference between the expected performance and the observed performance is greater than a threshold difference. For example, the threshold difference may be selected as a difference that is “close enough” to the expected performance so as not to require a modification of the process recipe corresponding to the observed performance. Any suitable technique may be used to determine the difference between the expected performance and the observed performance. In some embodiments, regression techniques may be used.
[0076] If a threshold condition is met (e.g., the difference is greater than a threshold difference), the set of inputs need not be modified and the process ends. In other cases, at block 730, the processing logic generates a new process recipe for processing the components based on the difference. Generating a new process recipe can include generating an output associated with the new process recipe based on the difference and generating a recipe based on the output. In some implementations, the output includes the new process recipe. In some implementations, the output includes a set of offsets for correcting the performance difference. For example, the set of offsets can modify the set of inputs used to generate the process recipe previously used to process the components in an attempt to match the expected performance, thereby generating a modified set of inputs for generating the new process recipe.
[0077] At block 740, the processing logic obtains new observed performance using the new process recipe. The process can return to block 720 to determine whether the difference between the expected performance and the new observed performance meets the threshold condition.
[0078] FIG. 8 shows a block diagram of an exemplary computing device 800 that operates in accordance with one or more aspects of the present disclosure. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), intranet, extranet, or the Internet. The machine may operate as a server machine or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), tablet computer, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch or bridge, or any machine capable of executing a set (sequential or otherwise) of instructions that specify actions to be taken by that machine. Further, although only a single machine is shown, the term "machine" shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies described herein. In an embodiment, computing device 800 may correspond to prediction server 112 of FIG. 1 or another processing device of system 100.
[0079] The exemplary computing device 800 includes a processing device 802, a main memory 804 (e.g., dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), read only memory (ROM), flash memory), a static memory 806 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., data storage device 828) that communicate with each other via bus 808.
[0080] The processing device 802 can represent one or more general-purpose processors, such as a microprocessor, a central processing unit, etc. More specifically, the processing device 802 can be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. The processing device 802 can also be one or more dedicated processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processing device 802 can also be, or can include, a system-on-chip (SoC), a programmable logic controller (PLC), or other types of processing devices. The processing device 802 is configured to execute processing logic for performing the operations described herein.
[0081] The computing device 800 can further include a network interface device 822 for communicating with the network 864. The computing device 800 can also include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820 (e.g., a speaker).
[0082] The data storage device 828 can include a machine-readable storage medium (or more particularly, a non-transitory computer-readable storage medium) 824 storing one or more sets of instructions 826 that embody any one or more of the methodologies or functions described herein. However, the non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions 826 can also be present, in whole or at least partially, within the main memory 804 and / or within the processing device 802 during execution of the instructions 826 by the computer device 800, and the main memory 804 and the processing device 802 also constitute a computer-readable storage medium.
[0083] The computer-readable storage medium 824 can also be used to store the model 190 and the data used to train the model 190. The computer-readable storage medium 824 can also store a software library that includes a method for invoking the model 190. Although the computer-readable storage medium 824 is shown as a single medium in the exemplary embodiments, the term "computer-readable storage medium" shall be construed to include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) storing one or more sets of instructions. The term "computer-readable storage medium" shall also be construed to include any medium that is capable of storing or encoding a set of instructions for machine execution and that causes a machine to perform any one or more of the methodologies of the present disclosure. The term "computer-readable storage medium" shall therefore be construed to include, without limitation, solid-state memory and optical and magnetic media.
[0084] The preceding description sets forth numerous specific details, such as examples of particular systems, components, methods, etc., in order to provide a good understanding of some embodiments of the present disclosure. However, it will be apparent to those skilled in the art that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components or methods are not described in detail or are presented in a simple block diagram format in order to avoid obscuring the present disclosure unnecessarily. Accordingly, the specific details described are merely examples. Specific implementations may vary from these exemplary details and still be contemplated as falling within the scope of the present disclosure.
[0085] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or property described in connection with that embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Further, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". When the terms "about" or "approximately" are used in this specification, this is meant to indicate that the stated nominal value is accurate within ±10%.
[0086] The operations of the methods described herein are presented and described in a particular order, but the order of the operations of each method may be varied so that some operations may be performed at least partially concurrently with other operations and so that some operations may be performed in the reverse order. In another embodiment, the instructions or sub-operations of distinct operations may be in an intermittent and / or alternating fashion.
[0087] It should be understood that the above description is illustrative and not restrictive. Many other embodiments will be apparent to those of ordinary skill in the art upon reading and understanding the above description. Accordingly, the scope of the present disclosure should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
Claim 1 Receiving, by a processing device, a set of feature models, wherein each feature model in the set of feature models corresponds to respective features related to processing of components; Receiving, by the processing device, a set of target characteristics for processing the components, wherein the set of target characteristics includes respective targets for each feature; Determining, by the processing device, one or more sets of predicted processing parameters based on the set of feature models and in view of the set of target characteristics; Generating, by the processing device, one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted processing parameters, wherein the one or more candidate process recipes each correspond to a set of predicted characteristics including respective predicted characteristic values resulting from component processing for each feature; Selecting, by the processing device, a process recipe for processing the components from the one or more candidate process recipes A method comprising. Claim 2 The method of claim 1, wherein the set of feature models is a set of spatial multiple-input multiple-output (MIMO) models. Claim 3 The method of claim 1, wherein generating the one or more candidate process recipes includes using numerical optimization to minimize a difference between the target characteristics and corresponding predicted characteristics. Claim 4 Generating the one or more candidate process recipes includes Obtaining a cost function based on the set of feature models and the set of target characteristics; Minimizing the cost function to obtain each set of predicted characteristics The method of claim 3, comprising. Claim 5 Further comprising failing, by the processing device, to identify a candidate process recipe that satisfies each target characteristic in the set of target characteristics Including, The process recipe includes a set of Pareto-efficient recipe parameters, The method of claim 1. Claim 6 The method according to claim 1, further comprising causing the process tool to process the component using the process recipe by the processing device.
7. Receiving, by the processing device, an expected performance for processing the component using the process recipe and an observed performance for processing the component using the process recipe; Determining, by the processing device, that a difference between the expected performance and the observed performance does not meet a threshold condition; Generating, by the processing device, a new process recipe for processing the component based on the difference The method according to claim 1, further comprising.
8. A system comprising a memory and a processing device coupled to the memory, wherein the processing device receives a set of feature models, each feature model in the set of feature models corresponding to a respective feature related to the processing of a component; receives a set of target characteristics for processing the component by the processing device, the set of target characteristics including a respective target for each feature; determining one or more sets of predicted processing parameters based on the set of feature models in view of the set of target characteristics; generating one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted processing parameters, the one or more candidate process recipes each corresponding to a set of predicted characteristics including respective predicted characteristic values resulting from component processing for each feature; selecting a process recipe for processing the component from the one or more candidate process recipes The system is for performing operations including.
9. The system according to claim 8, wherein the set of feature models is a set of spatial multiple-input multiple-output (MIMO) models.
10. The system of claim 8, wherein generating the one or more candidate process recipes includes using numerical optimization to minimize a difference between target characteristics and corresponding predicted characteristics.
11. Generating the one or more candidate process recipes includes obtaining a cost function based on the set of feature models and the set of target characteristics; and minimizing the cost function to obtain each set of predicted characteristics. The system of claim 10.
12. The operation further includes failing to identify a candidate process recipe that satisfies each target characteristic of the set of target characteristics; wherein the process recipe includes a set of Pareto-efficient recipe parameters. The system of claim 8.
13. The system of claim 8, wherein the operation further includes causing a process tool to process the component using the process recipe.
14. The operation includes receiving an expected performance for processing the component and an observed performance for processing the component using the process recipe; determining that a difference between the expected performance and the observed performance does not meet a threshold condition; and generating a new process recipe for processing the component based on the difference. The system of claim 13.
15. A non-transitory machine-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to receive a set of feature models, wherein each feature model of the set of feature models corresponds to a respective feature related to processing of a component; receive, by the processing device, a set of target characteristics for processing the component, wherein the set of target characteristics includes respective targets for each feature; determine, based on the set of feature models, one or more sets of predicted processing parameters in view of the set of target characteristics. generating one or more candidate process recipes, each corresponding to a respective one of the one or more sets of predicted process parameters, wherein the one or more candidate process recipes each correspond to a set of predicted characteristics including, for each feature, a respective predicted characteristic value resulting from component processing selecting a process recipe for processing the component from the one or more candidate process recipes A non-transitory machine-readable storage medium that causes an operation including the above to be performed
16. The non-transitory machine-readable storage medium according to claim 15, wherein the set of feature models is a set of spatial multiple-input multiple-output (MIMO) models
17. Generating the one or more candidate process recipes includes obtaining a cost function based on the set of feature models and the set of target characteristics minimizing the cost function to obtain each set of predicted characteristics The non-transitory machine-readable storage medium according to claim 15, including using numerical optimization to minimize the difference between the target characteristics and the corresponding predicted characteristics
18. The operation further includes failing to identify a candidate process recipe that satisfies each target characteristic in the set of target characteristics and the process recipe includes a set of Pareto-efficient recipe parameters The non-transitory machine-readable storage medium according to claim 15
19. The non-transitory machine-readable storage medium according to claim 15, wherein the operation further includes causing a process tool to process the component using the process recipe
20. The operation includes receiving an expected performance for processing the component and an observed performance for processing the component using the process recipe determining that the difference between the expected performance and the observed performance does not meet a threshold condition generating a new process recipe for processing the component based on the difference The non-transitory machine-readable storage medium according to claim 15, further including the above
Citation Information
Patent Citations
Suitable Recipe Selection
JP2014513415A
Search device, search method, and plasma processing device
JP2019165123A
Adaptive Recipe Selector
US20120252141A1