On-wafer dimensionality reduction
By applying machine learning to reduce the dimensionality of metrology data, the method optimizes substrate manufacturing processes, reducing energy and resource use while improving predictive accuracy.
Patent Information
- Application Number
- JP2024508695
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-08-11
- Filing Date
- 2022-08-17
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2042-08-17
AI Technical Summary
Conventional manufacturing processes for substrates, such as wafers, are time-consuming and resource-intensive due to the need for repeated cycles of parameter adjustment, leading to suboptimal results and high energy consumption, particularly when dealing with high-dimensional metrology data that overwhelms machine learning models.
Utilizing machine learning models to reduce the dimensionality of metrology data through nonlinear fits, enabling the generation of compressed data that can predict manufacturing parameters for optimal substrate production, thereby reducing processor overhead, energy consumption, and bandwidth usage.
The method achieves reduced processing time, energy consumption, and resource utilization by employing compressed data for predictive manufacturing actions, minimizing the production of suboptimal products and components.
Smart Images

Figure 0007772915000001 
Figure 0007772915000002 
Figure 0007772915000003
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE The present disclosure relates to dimensionality reduction, and more particularly to on-wafer dimensionality reduction. [Background technology]
[0002] The product may be produced by performing one or more manufacturing processes using a manufacturing device. For example, a semiconductor manufacturing device may be used to produce a substrate through a semiconductor manufacturing process. The product should be produced with specific properties suitable for the target application. Summary of the Invention
[0003] The following is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure, nor to delineate the scope or claims of particular embodiments of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In one aspect of the present disclosure, a method includes receiving first metrology data associated with a first substrate produced by a first manufacturing tool. The method further includes training the first machine learning model with a data input including the first metrology data to generate a first trained machine learning model. The first trained machine learning model is capable of reducing the dimensionality of second metrology data associated with a second substrate produced by the second manufacturing tool to perform one or more corrective actions associated with a second manufacturing tool.
[0005] In another aspect of the present disclosure, a method includes receiving metrology data associated with a substrate produced by a manufacturing equipment, and providing the metrology data as an input to a first trained machine learning model to reduce the dimensionality of the metrology data to generate compressed data. The method further includes obtaining the compressed data from the first trained machine learning model, and triggering the execution of one or more corrective actions associated with the manufacturing equipment based on the compressed data.
[0006] In another aspect of the present disclosure, a non-transitory machine-readable storage medium is provided that stores instructions that, when executed, cause a processing device to perform a process. The process includes receiving first metrology data associated with a first substrate produced by a first manufacturing equipment. The process further includes training the first machine learning model with a data input including the first metrology data to generate a first trained machine learning model. The first trained machine learning model is capable of reducing the dimensionality of second metrology data associated with a second substrate produced by the second manufacturing equipment to perform one or more corrective actions associated with a second manufacturing equipment.
[0007] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary system architecture, according to some embodiments. [Figure 2] 1A-B illustrate a dataset generator for creating a dataset for a machine learning model, according to some embodiments. [Figure 3] 1A-B are block diagrams illustrating determining predictive data according to some embodiments. [Figure 4A] FIG. 1 is a flow diagram of a method associated with generating predictive data for triggering corrective action, according to some embodiments. [Figure 4B] FIG. 1 is a flow diagram of a method associated with generating predictive data for triggering corrective action, according to some embodiments. [Figure 4C] FIG. 1 is a flow diagram of a method associated with generating predictive data for triggering corrective action, according to some embodiments. [Figure 4D] FIG. 1 is a flow diagram of a method associated with generating predictive data for triggering corrective action, according to some embodiments. [Figure 4E] FIG. 1 is a flow diagram of a method associated with generating predictive data for triggering corrective action, according to some embodiments. [Figure 5] FIG. 1 illustrates the processing of a machine learning model, according to some embodiments. [Figure 6] FIG. 1 is a block diagram illustrating a computer system according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0009] Described herein are techniques for on-wafer (e.g., metrology data of a substrate) dimensionality reduction (e.g., for reducing target variables, for reducing the dimensionality of data associated with a substrate, and for using this compressed data). A manufacturing device can be used to fabricate a product, such as a substrate (e.g., a wafer, a semiconductor). The properties of the fabricated substrate should meet target properties for a specific functionality. Manufacturing parameters should be selected to attempt to fabricate a substrate that meets the target properties. There are many manufacturing parameters (e.g., hardware parameters, process parameters, etc.) that cause the resulting properties of the substrate. Conventional systems perform a cycle of selecting manufacturing parameters, fabricating a substrate, determining the properties of the substrate, and determining whether the properties match the target properties, and then repeating the cycle with updated manufacturing parameters until the properties match the target properties. This process is extremely time-consuming, wastes substrates, and consumes energy. With so many manufacturing parameters to choose from and limited time and materials, this process often results in suboptimal manufacturing parameters and a suboptimal product.
[0010] Machine learning models can be used to select manufacturing parameters. Across many manufacturing processes, machine learning models can be trained to recognize correlations between manufacturing parameters (e.g., configuration inputs to processing or hardware devices, readings from sensors during the process, etc.) and metrology data associated with substrates fabricated based on the manufacturing parameters. The trained machine learning models can be used to predict what inputs are likely to produce a target output.
[0011] Metrology data can be extremely multidimensional (e.g., high on-wafer dimensionality), e.g., with thousands of data points describing a single substrate. This form of metrology data is difficult to handle, slowing down data manipulation and processing and is particularly problematic for machine learning models, which are traditionally trained on many examples to attempt to accurately predict numerous target manufacturing parameters to produce substrates that meet the target characteristics. In practice, such volumes of training data may be prohibitive, in addition to the inconveniences of working with large datasets, such as increased energy consumption, processor overhead, and bandwidth used.
[0012] Some conventional systems consider only a subset of manufacturing parameters, such as temperature and pressure, while ignoring hundreds or thousands of other manufacturing parameters. This results in suboptimal manufacturing parameters and a suboptimal product because many of the manufacturing parameters are not considered. Even with fewer manufacturing parameters to process, this conventional approach still has a lot of measurement data to process, which results in increased energy consumption, processor overhead, and bandwidth usage.
[0013] The disclosed methods and devices address at least these shortcomings of conventional solutions. In some embodiments, a processing device receives first metrology data of a first substrate fabricated by a manufacturing apparatus. The processing device provides the first metrology data as a data input for training a first machine learning model to generate a trained machine learning model. Training the first machine learning model may include reducing the dimensionality of the first metrology data to form first compressed data (e.g., finding a nonlinear fit to reduce the dimensionality), and generating first reconstructed data based on the first compressed data, the first reconstructed data being substantially similar to the first metrology data.
[0014] The first trained machine learning model is configured to receive a data input of second metrology data associated with substrates fabricated by the second manufacturing tool and reduce a dimensionality of the second metrology data to produce second compressed data. In some embodiments, the trained machine learning model reduces a dimensionality of the second metrology data using nonlinear correlations in the second metrology data to generate the second compressed data. One or more corrective actions can be performed based on the second compressed data.
[0015] The second metrology data is associated with a second substrate produced by a second manufacturing tool. Second manufacturing parameters (e.g., sensor data, hardware set points, process recipes, etc.) are associated with manufacturing the second substrate (e.g., processing parameters, hardware parameters, sensor data, etc.). In some embodiments, a second machine learning model is trained using a data input of the second manufacturing parameters (e.g., sensor data) and a target output of the second compressed data to generate a second trained machine learning model. In some embodiments, the manufacturing parameters (e.g., of a process recipe) may be input to the second trained machine learning model, and predicted metrology data may be output. In some embodiments, the model is inverted, and the target metrology data is input to the inverted model, and the manufacturing parameters are output. In some embodiments, sensor data associated with manufacturing the substrate is input to the trained model, and predicted metrology data (e.g., to avoid performing a metrology process) is output.
[0016] Aspects of the present disclosure provide technical advantages over conventional solutions. The present disclosure results in reduced processor overhead, energy consumption, and bandwidth usage by using compressed data instead of large amounts of metrology data. The present disclosure may result in performing less metrology processing because fewer features of the metrology data may be used compared to conventional solutions. The present disclosure may result in predicting metrology data for substrates instead of conventional solutions that perform metrology processing on all of the substrates. Aspects of the present disclosure also result in using metrology data from fewer substrates, which reduces material used compared to conventional solutions. The present disclosure may reduce the dimensionality of the metrology data (e.g., target output variable space), which results in fewer substrates to be produced and studied compared to conventional solutions.
[0017] In some embodiments, this disclosure describes providing measurement data as a data input for training a machine learning model to generate compressed data (e.g., compressed measurement data) for training a second model, and as an input to the trained machine learning model. In some embodiments, sensor data may be provided as a data input for training a machine learning model to generate compressed data (e.g., compressed sensor data) for training the second model, and as an input to the trained machine learning model.
[0018] In some embodiments, this disclosure describes generating compressed data (e.g., compressed measurement data, compressed sensor data) for training a second model. In some embodiments, the compressed data may be used for other processes other than training a machine learning model (e.g., generating analytics, heuristics, lookup tables, comparing the compressed data to other compressed data, etc.).
[0019] 1 is a block diagram illustrating an example system 100 (example system architecture) according to some embodiments. System 100 includes client devices 120, manufacturing equipment 124, sensors 126, metrology equipment 128, a prediction server 112, and a data store 140. Prediction server 112 may be part of a prediction system 110. Prediction system 110 may further include server machines 170 and 180.
[0020] The sensors 126 may provide sensor data 142 associated with the manufacturing equipment 124 (e.g., associated with producing a corresponding product, such as a substrate, by the manufacturing equipment 124). The sensor data 142 may be used for equipment health and / or product health (e.g., product quality). The manufacturing equipment 124 may produce a product according to a recipe or by executing an operation over a period of time. In some embodiments, the sensor data 142 may include one or more values of temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), electrostatic chuck (ESC) voltage, current, flow, power, voltage, etc. The sensor data 142 may be associated with or indicative of manufacturing parameters, such as hardware parameters of the manufacturing equipment 124 (e.g., settings or components (e.g., size, type, etc.) or process parameters of the manufacturing equipment 124). Data associated with some hardware parameters may alternatively or additionally be stored as manufacturing parameters 150, which may include historical manufacturing parameters 152 and current manufacturing parameters 154. Manufacturing parameters 150 may indicate input settings for a manufacturing device (e.g., heater power, gas flow, etc.). Sensor data 142 and / or manufacturing parameters 150 may be provided while manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings as a product is being processed). Sensor data 142 may be different for each product (e.g., each substrate).
[0021] In some embodiments, the sensor data 142, the metrology data 160, or the manufacturing parameters 150 may be processed (e.g., by the client device 120 and / or by the prediction server 112). The processing of the sensor data 142 may include generating features. In some embodiments, the features are patterns (e.g., slope, width, height, peaks, etc.) in the sensor data 142, the metrology data 160, and / or the manufacturing parameters 150, or combinations of values from the sensor data 142, the metrology data, and / or the manufacturing parameters (e.g., power derived from voltage and current, etc.). The sensor data 142 may include features, which may be used by the prediction component 114 to perform signal processing and / or to obtain predictive data 168 for taking corrective actions.
[0022] Each instance (e.g., set) of sensor data 142 may correspond to a product (e.g., a substrate), a set of manufacturing equipment, a type of substrate produced by the manufacturing equipment, etc. Each instance of metrology data 160 and manufacturing parameters 150 may similarly correspond to a product, a set of manufacturing equipment, a type of substrate produced by the manufacturing equipment, etc. The data store may further store information relating sets of different data types, e.g., information indicating that a set of sensor data, a set of metrology data, and a set of manufacturing parameters are all associated with the same product, manufacturing equipment, type of substrate, etc.
[0023] In some embodiments, the prediction system 110 may generate the predicted data 168 using supervised machine learning (e.g., a supervised data set, the predicted data 168 includes measured data, etc.). In some embodiments, the prediction system 110 may generate the predicted data 168 using semi-supervised learning (e.g., a semi-supervised data set, the predicted data 168 is a predicted percentage, etc.). In some embodiments, the prediction system 110 may generate the predicted data 168 using unsupervised machine learning (e.g., an unsupervised data set, clustering, clustering based on measured data 160, etc.).
[0024] The client devices 120, manufacturing equipment 124, sensors 126, measurement equipment 128, prediction server 112, data store 140, server machine 170, and server machine 180 may be coupled to one another via network 130 to generate predictive data 168 for performing corrective actions.
[0025] In some embodiments, network 130 is a public network that provides client devices 120 with access to prediction server 112, data store 140, and other publicly available computing devices. In some embodiments, network 130 is a private network that provides client devices 120 with access to manufacturing equipment 124, sensors 126, measurement equipment 128, data store 140, and other privately available computing devices. Network 130 may 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.
[0026] The client device 120 may include a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a netbook computer, a network-connected television ("smart TV"), a network-connected media player (e.g., a Blu-ray player), a set-top box, an over-the-top (OTT) streaming device, an operator box, etc. The client device 120 may include a corrective action component 122. The corrective action component 122 may receive user input of instructions associated with the manufacturing equipment 124 (e.g., via a graphical user interface (GUI) displayed via the client device 120). In some embodiments, the corrective action component 122 sends instructions to the prediction system 110, receives output (e.g., prediction data 168) from the prediction system 110, determines a corrective action based on the output, and causes the corrective action to be implemented. In some embodiments, the corrective action component 122 obtains sensor data 142 (e.g., current sensor data 146) associated with the manufacturing equipment 124 (e.g., from the data store 140, etc.) and provides the sensor data 142 (e.g., current sensor data 146) associated with the manufacturing equipment 124 to the prediction system 110. In some embodiments, the corrective action component 122 stores the sensor data 142 in the data store 140, and the prediction server 112 retrieves the sensor data 142 from the data store 140. In some embodiments, the prediction server 112 may store the output (e.g., predicted data 168) of the trained machine learning model(s) 190 in the data store 140, and the client device 120 may retrieve the output from the data store 140. In some embodiments, the corrective action component 122 receives a corrective action instruction from the prediction system 110 and causes the corrective action to be implemented.Each client device 120 may include an operating system that enables a user to one or more of create, view, or edit data (e.g., instructions associated with a manufacturing equipment 124, corrective actions associated with a manufacturing equipment 124, etc.).
[0027] In some embodiments, historical metrology data 162 corresponds to historical characteristic data of a product (e.g., produced using historical sensor data 144 and manufacturing parameters associated with historical manufacturing parameters 152), and predictive data 168 is associated with predicted characteristic data (e.g., of a product that will be or has been produced under conditions recorded by current sensor data 146 and / or current manufacturing parameters 154). In some embodiments, predictive data 168 is predicted metrology data (e.g., virtual metrology data) of a product that will be or has been produced according to conditions recorded as current sensor data 146 and / or current manufacturing parameters 154. In some embodiments, predictive data 168 is an indication of an anomaly (e.g., an abnormal product, an abnormal component, an abnormal manufacturing equipment 124, an abnormal energy usage, etc.) and one or more causes of the anomaly. In some embodiments, predictive data 168 is an indication of a change or variation over time in some component, such as manufacturing equipment 124, sensors 126, or measurement equipment 128. In some embodiments, the predictive data 168 is an indication of the end of life of a component, such as a manufacturing device 124, a sensor 126, or a metrology device 128.
[0028] Running a manufacturing process that results in a defective product can be costly in time, energy, product, components, manufacturing equipment 124, costs of identifying the defects and discarding the defective product, etc. By inputting sensor data 142 (e.g., manufacturing parameters that are being used or will be used to manufacture the product), receiving output of predictive data 168, and performing corrective action based on the predictive data 168, system 100 can have the technical advantage of avoiding the costs of manufacturing, identifying, and discarding defective products.
[0029] Running a manufacturing process that results in a component failure of manufacturing equipment 124 can be costly in downtime, product damage, equipment damage, rush ordering of replacement components, etc. By inputting sensor data 142 (e.g., manufacturing parameters that are being or will be used to manufacture a product), receiving output of predictive data 168, and performing corrective action (e.g., predicted operational maintenance, such as replacing, treating, cleaning, etc., of a component) based on the predictive data 168, system 100 can have the technical advantage of avoiding the costs of one or more of unexpected component failures, unscheduled downtime, lost productivity, unexpected equipment failures, product scrap, etc. Monitoring the performance of components, e.g., manufacturing equipment 124, sensors 126, metrology devices 128, etc., over time can provide an indication of a deteriorating component.
[0030] The manufacturing parameters may not be optimal for making the product, which may have costly consequences such as increased consumption of resources (e.g., energy, coolant, gas, etc.), increased time to manufacture the product, increased component failures, increased quantity of defective products, etc. By inputting the sensor data 142 into the trained machine learning model 190, receiving the output of the prediction data 168, and taking corrective action (e.g., based on the prediction data 168) to update the manufacturing parameters (e.g., set optimal manufacturing parameters), the system 100 may have the technical advantage of using optimal manufacturing parameters (e.g., hardware parameters, process parameters, optimal design) to avoid the costly consequences of non-optimal manufacturing parameters.
[0031] The corrective action may be associated with one or more of computational process control (CPC), statistical process control (SPC) (e.g., SPC on electronic components to determine the process under control, SPC to predict the useful life of components, SPC for comparison with 3 sigma graphs, etc.), advanced process control (APC), model-based process control, preventative operational maintenance, design optimization, manufacturing parameter updates, manufacturing recipe updates, feedback control, machine learning corrections, etc.
[0032] In some embodiments, the corrective action includes providing an alert (e.g., an alarm to stop or not run a manufacturing process if the predictive data 168 indicates a predicted anomaly, such as an anomaly in a product, component, or manufacturing equipment 124). In some embodiments, the corrective action includes providing feedback control (e.g., modifying a manufacturing parameter in response to the predictive data 168 indicating a predicted anomaly). In some embodiments, the corrective action includes providing machine learning (e.g., modifying one or more manufacturing parameters based on the predictive data 168). In some embodiments, performing the corrective action includes causing an update to one or more manufacturing parameters.
[0033] The manufacturing parameters may include hardware parameters (e.g., replacing a component, using a particular component, replacing a processing chip, updating firmware, etc.) and / or process parameters (e.g., temperature, pressure, flow rate, speed, current, voltage, gas flow, lift speed, etc.). In some embodiments, the corrective action includes triggering preventive operational maintenance (e.g., replacing, treating, cleaning, etc., a component of the manufacturing equipment 124). In some embodiments, the corrective action includes triggering design optimization (e.g., updating manufacturing parameters, the manufacturing process, the manufacturing equipment 124, etc., for an optimized product). In some embodiments, the corrective action includes updating a recipe (e.g., the manufacturing equipment 124 is in idle mode, sleep mode, warm-up mode, etc.).
[0034] Prediction server 112, server machine 170, and server machine 180 may each include one or more computing devices such as a rack-mounted server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application-specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc.
[0035] The prediction server 112 may include a prediction component 114. In some embodiments, the prediction component 114 may receive (e.g., received from the client device 120, retrieved from the data store 140) current sensor data 146 and / or current manufacturing parameters 154 and generate output (e.g., predictive data 168) for performing corrective actions associated with the manufacturing equipment 124 based on the current data. In some embodiments, the prediction component 114 may use one or more trained machine learning models 190 to determine the output for performing corrective actions based on the current data.
[0036] In some embodiments, measurement data 160 may be provided to a trained machine learning model 190A. This measurement data may be historical measurement data 162 or current measurement data 164. The machine learning model 190A may be used to dimensionally reduce the measurement data. The dimensional reduction may be performed using a nonlinear fit, where the machine learning model 190A is trained to find nonlinear correlations in the measurement data, dimensionally reduce the data into a compressed form, and validate the nonlinear fit by reconstructing the measurement data from the compressed form and ensuring that the measurement data is substantially similar to the input measurement data. The machine learning model 190A may include an artificial neural network. In some embodiments, the model 190A may further include a deep learning network. The machine learning model 190A may include one or more of a convolutional neural network model, a deep belief network, a feedforward neural network, a multilayer neural network, an autoencoder, etc.
[0037] The past measurement data 162 may be used as input to the trained machine learning model 190A. The output compressed past measurement data (past compressed data) may then be used by other components of the system 100, for example, to train a second machine learning model 190B. The current measurement data 164 may be used as input to the trained machine learning model 190A. The output compressed measurement data may then be used in other components of the system 100, for example, as input to a second trained machine learning model, model 190B. The trained machine learning model 190A may also take compressed measurement data as input, for example, from the second trained machine learning model 190B. The trained machine learning model 190A may then substantially accurately reconstruct the measurement data from the compressed data provided as input to the trained machine learning model 190A.
[0038] Dimensionality reduction of metrology data 160 has significant technical advantages compared to working with a full metrology data set. Metrology data 160 for a single substrate can be a large amount of data, potentially thousands of data points, and can be costly to work with in terms of computation time and energy, bandwidth for transmitting the metrology data 160, etc. Training a machine learning model, e.g., machine learning model 190B, with metrology data 160 as the target output data can suffer, especially from large metrology data sets. For machine learning model 190B to have useful prediction accuracy for a large set of substrate data points, a large number of training substrates will be used to train the model. Performing measurements can be costly in terms of time used, metrology equipment 128 used, energy consumed, computational expense for processing the data, etc. Training machine learning model 190B with compressed data 166 (e.g., a dimensionally reduced compressed data set) as the target output can obtain acceptable prediction power, less energy consumed, less processor overhead, and less bandwidth used using significantly fewer substrates, which reduces these costs.
[0039] It will be understood that in some embodiments, the type of data provided to model 190 may be varied and still fall within the scope of the present disclosure. In some embodiments, sensor data 142 or manufacturing parameters 150 may be provided to trained machine learning model 190A for dimensionality reduction to generate compressed data 166 (e.g., compressed sensor data, compressed manufacturing data). In some embodiments, data indicative of metrology data 160 may be provided as input to trained machine learning model 190B, and data indicative of sensor data 142 or manufacturing parameters 150 predicted to produce the input metrology data 160 may be output. Either or both of input metrology data 160, output sensor data 142, or manufacturing parameters 150 may be in compressed form (e.g., compressed by trained machine learning model 190A).
[0040] In some embodiments, prediction component 114 receives current sensor data 146 and / or current manufacturing parameters 154, performs signal processing to decompose the current data into a set of current data, provides the set of current data as input to trained machine learning model 190B, and obtains output from trained machine learning model 190B indicative of predicted data 168. In some embodiments, the predicted data represents the metrology data (e.g., a prediction of current metrology data 164) represented in a compressed form. In some embodiments, the compressed data may be sent to second machine learning model 190A. Machine learning model 190A, in some embodiments, may reconstruct the complete metrology data (e.g., reconstructed data 169) from the compressed data.
[0041] In some embodiments, the prediction component 114 may receive the current sensor data 146 and / or the current manufacturing parameters 154 and perform preprocessing, such as extracting patterns in the data or combining the data into new composite data. The prediction component 114 may then provide the data as input to the trained machine learning model 190B. The prediction component 114 may receive predicted metrology data, represented in a compressed form, from the trained machine learning model 190B. The prediction component 114 may then provide the compressed data to the trained machine learning model 190A, which then reconstructs the substrate metrology data by dimensionally expanding the compressed data using a nonlinear fit. The prediction component 114 may then receive the predicted metrology data (e.g., reconstructed data 169) as output from the machine learning model 190A.
[0042] In some embodiments, trained machine learning model 190A and trained machine learning model 190B may be separate models. In some embodiments, trained machine learning model 190A and trained machine learning model 190B may be the same model 190 (e.g., an ensemble model). Prediction component 114 may receive current sensor data 146 and / or current manufacturing parameters 154, provide the data to trained machine learning model 190 (e.g., an ensemble model), and obtain output from trained machine learning model 190 indicative of predicted data 168.
[0043] In some embodiments, trained machine learning model 190A may be trained using historical metrology data 162. In some embodiments, trained machine learning model 190B may be trained using historical sensor data 144, historical production parameters 152, and historical metrology data 162, represented in compressed form by trained machine learning model 190A. It will be understood that other combinations of data are within the scope of the present disclosure, such as training machine learning model 190A to compress historical sensor data 144 and / or historical production parameters 152, and training machine learning model 190B using historical metrology data 162 and compressed data from trained machine learning model 190A. A combined trained machine learning model 190 (e.g., an ensemble model) may be trained using historical metrology data 162, historical sensor data 144, and / or historical production parameters 152.
[0044] Data store 140 may be memory (e.g., random access memory), a drive (e.g., a hard drive, a flash drive), a database system, or another type of component or device capable of storing data. Data store 140 may include multiple storage components (e.g., multiple drives or multiple databases) that may span multiple computing devices (e.g., multiple server computers). Data store 140 may store sensor data 142, manufacturing parameters 150, metrology data 160, compressed data 166, and forecast data 168. Sensor data 142 may include historical sensor data 144 and current sensor data 146. Sensor data may include time traces of sensor data over the duration of a manufacturing process, associations of data with physical sensors, preprocessed data such as averages and composite data, and data indicative of sensor performance over time (i.e., many manufacturing processes). Manufacturing parameters 150 and metrology data 160 may contain similar characteristics. The historical sensor data 144, the historical manufacturing parameters 152, and the historical metrology data 162 may be historical data (e.g., at least a portion for training the machine learning model 190). The current sensor data 146 may be current data (e.g., at least a portion to be input into the trained machine learning model 190 following the historical data) from which the predictive data 168 will be generated (e.g., to perform corrective action). The compressed data 166 may include any of the above types of data, such as sensor data, manufacturing data, and metrology data, as both historical and current data, represented in compressed form. The compressed data 166 may have been compressed from the sensor data 142, the manufacturing parameters 150, or the metrology data 160 by the trained machine learning model 190A.
[0045] In some embodiments, prediction system 110 further includes server machine 170 and server machine 180. Server machine 170 includes dataset generator 172, which can generate datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing machine learning model(s) 190. Some operations of dataset generator 172 are described in detail below with respect to FIGS. 2A-2B and 4A. In some embodiments, dataset generator 172 may divide historical data (e.g., historical sensor data 144, historical manufacturing parameters 152, historical metrology data 162, or compressed versions thereof stored in data store 140 as compressed data 166) into a training set (e.g., 60% of the historical data), a validation set (e.g., 20% of the historical data), and a test set (e.g., 20% of the historical data). In some embodiments, prediction system 110 generates multiple sets of features (e.g., via prediction component 114). For example, a first set of features may correspond to a first set of types of sensor data (e.g., from a first set of sensors, a first combination of values from the first set of sensors, a first pattern in values from the first set of sensors) corresponding to each of the datasets (e.g., a training set, a validation set, and a test set), and a second set of features may correspond to a second set of types of sensor data (e.g., from a second set of sensors different from the first set of sensors, a second combination of values different from the first combination, a second pattern different from the first pattern) corresponding to each of the datasets.
[0046] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a test engine 186. The engines (e.g., training engine 182, validation engine 184, selection engine 185, and test engine 186) may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. Training engine 182 may be capable of training machine learning model 190 using one or more sets of features associated with a training set from dataset generator 172. Training engine 182 may generate multiple trained machine learning models 190, each corresponding to a distinct set of features of the training set (e.g., sensor data from a distinct set of sensors). For example, a first trained machine learning model may have been trained using all features (e.g., X1-X5), a second trained machine learning model may have been trained using a first subset of features (e.g., X1, X2, X4), and a third trained machine learning model may have been trained using a second subset of features (e.g., X1, X3, X4, and X5) that may partially overlap with the first subset of features. The dataset generator 172 may receive the output of the trained machine learning model (e.g., 190A), compile the data into training, validation, and test datasets, and use the datasets to train a second machine learning model (e.g., 190B).
[0047] The validation engine 184 may be capable of validating the trained machine learning models 190 using a corresponding set of validation set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features may be validated using a first set of validation set features. The validation engine 184 may determine the accuracy of each of the trained machine learning models 190 based on the corresponding set of validation set features. The validation engine 184 may discard trained machine learning models 190 with accuracies that do not meet a threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting one or more trained machine learning models 190 with accuracies that meet the threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0048] The testing engine 186 may be capable of testing the trained machine learning models 190 using a corresponding set of test set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features may be tested using a first set of test set features. The testing engine 186 may determine the trained machine learning model 190 with the highest accuracy of all of the trained machine learning models based on the test set.
[0049] Machine learning model 190 may refer to a model artifact created by training engine 182 using a training set that includes data inputs and corresponding target outputs (correct answers for each training input). Patterns in the dataset that map data inputs to target outputs (correct answers) may be found, and machine learning model 190 is provided with a mapping that captures these patterns. Machine learning model 190 may use one or more of support vector machines (SVMs), radial basis functions (RBFs), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithms (k-NNs), linear regression, random forests, neural networks (e.g., artificial neural networks), etc.
[0050] The prediction component 114 may provide the current sensor data 146 to the trained machine learning model 190 and may run the trained machine learning model 190 on the input to obtain one or more outputs. The prediction component 114 may be able to determine (e.g., extract) predictive data 168 from the output of the trained machine learning model 190 and may determine (e.g., extract) confidence data from the output that indicates a level of confidence that the predictive data 168 is an accurate predictor of a process associated with the current sensor data 146 and / or input data about products made or to be made using the manufacturing equipment 124 with the current manufacturing parameters 154. The prediction component 114 or the corrective action component 122 may use the confidence data to decide whether to trigger a corrective action associated with the manufacturing equipment 124 based on the predictive data 168.
[0051] The confidence data may include or indicate a level of confidence that the prediction data 168 is an accurate prediction for a product associated with at least a portion of the input data. In one example, the confidence level is a real number between 0 and 1, inclusive, where 0 indicates no confidence that the prediction data 168 is an accurate prediction for a product processed according to the input data and 1 indicates absolute confidence that the prediction data 168 will accurately predict the characteristics of a product processed according to the input data. In some embodiments, the input data may instead be measurement data, output predicted sensor data, and / or manufacturing parameters, and the confidence data is a level of confidence that a product having the characteristics of the input data will result from processing associated with the output data. In response to the confidence data indicating a level of confidence below a threshold level for a predetermined number of instances (e.g., a percentage of instances, a frequency of instances, a total number of instances, etc.), the prediction component 114 may cause the trained machine learning model 190 to be retrained (e.g., based on the current sensor data 146, the current manufacturing parameters 154, the current measurement data 164, etc.).
[0052] For purposes of explanation and not limitation, aspects of the present disclosure describe using historical data (e.g., historical sensor data 144, historical manufacturing parameters 152, and historical metrology data 162) to train one or more machine learning models 190 and inputting current data (e.g., current sensor data 146, current manufacturing parameters 154, and current metrology data 164) into the one or more trained machine learning models 190 to determine predicted data 168. In other embodiments, a heuristic or rule-based model is used to determine the predicted data 168 (e.g., without using a trained machine learning model). The input to this rule-based model may be compressed data compressed by the trained machine learning model 190A. The prediction component 114 may monitor the historical sensor data 144, historical manufacturing parameters 152, and historical metrology data 162. Any of the information described with respect to the data input 210 in FIGS. 2A-2B may be monitored or, in some cases, used in the heuristic or rule-based model.
[0053] In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 may be provided by fewer machines. For example, in some embodiments, server machines 170 and 180 may be combined into a single machine, and in some other embodiments, server machine 170, server machine 180, and prediction server 112 may be combined into a single machine. In some embodiments, client device 120 and prediction server 112 may be combined into a single machine.
[0054] Generally, functions described in one embodiment as being performed by client device 120, prediction server 112, server machine 170, and server machine 180 may, where appropriate, also be performed on prediction server 112 in other embodiments. Furthermore, functionality attributed to particular components may be performed by different or multiple components operating together. For example, in some embodiments, prediction server 112 may determine corrective actions based on prediction data 168. In another example, client device 120 may determine prediction data 168 based on output from a trained machine learning model.
[0055] Additionally, the functionality of a particular component may be performed by different or multiple components working together. One or more of prediction server 112, server machine 170, or server machine 180 may be accessed as a service offered to other systems or devices through an appropriate application programming interface (API).
[0056] In embodiments, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass a "user" being 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."
[0057] Embodiments of the present disclosure may be applied to data quality assessment, feature enhancement, model assessment, virtual metrology (VM), predictive maintenance (PdM), constraint optimization, and the like.
[0058] Although embodiments of the present disclosure are described with respect to generating predictive data 168 to perform corrective actions at a manufacturing facility (e.g., a semiconductor manufacturing facility), embodiments may also be applied generally to improved data processing by using trained machine learning models to reduce the dimensionality of data into a compressed form. Embodiments may also be applied generally to characterizing and monitoring based on different types of data.
[0059] 2A-2B illustrate one or more exemplary dataset generators 272 (e.g., dataset generator 172 of FIG. 1 ) for creating a dataset for a machine learning model (e.g., model 190 of FIG. 1 ), according to some embodiments. Each dataset generator 272 may be part of server machine 170 of FIG. 1 . In some embodiments, both dataset generators 272 of FIGS. 2A-2B are the same dataset generator. In some embodiments, the dataset generators from each of FIGS. 2A-2B are separate dataset generators.
[0060] Referring to FIG. 2A , a system 200A including a dataset generator 272A (e.g., dataset generator 172 in FIG. 1 ) creates a dataset for a machine learning model (e.g., model 190A in FIG. 1 ). The dataset generator 272A may create the dataset using historical measurement data 262 (e.g., historical measurement data 162 in FIG. 1 ). The system 200A may be used to generate datasets for training, testing, and validating an unsupervised machine learning model (e.g., machine learning model 190A in FIG. 1 ). In some embodiments, the machine learning model is not provided with a target output dataset, as in supervised machine learning. The machine learning model may be trained to manipulate input data according to some fitting and then reverse the fitting to reconstruct data substantially similar to the input data. The manipulation of the data may be dimensionality reduction, converting the input data into a compressed form. The fitting used for dimensionality reduction may be a nonlinear fitting. The system 200A in FIG. 2A shows the dataset generator 272A and a data input 210A.
[0061] 2B , a system 200B including a dataset generator 272B (e.g., dataset generator 172 of FIG. 1 ) creates a dataset for a machine learning model (e.g., model 190B of FIG. 1 ). The dataset generator 272B may create the dataset using historical sensor data 244 and historical manufacturing parameters 252. These datasets may be provided as training inputs to the machine learning model, e.g., model 190B of FIG. 1 . The dataset generator 272B may also provide compressed measurement data as a target output to the machine learning model during training. The compressed measurement data may represent historical measurement data (e.g., historical measurement data 162 of FIG. 1 ) that has been compressed by the trained machine learning model (e.g., model 190A of FIG. 1 ).
[0062] It is within the scope of this disclosure for different combinations of data to be condensed and used as training inputs and target variables in the various machine learning models disclosed herein. For example, a machine learning model may be trained on historical metrology data to generate as output manufacturing parameters, or metrology data in condensed form, that are predicted to result in the fabrication of subsequent substrates whose properties match the input metrology data, and still be within the scope of this disclosure.
[0063] 2A-2B , in some embodiments, the dataset generator 272 generates a dataset (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210 (e.g., training inputs, validation inputs, test inputs) and may include one or more target outputs 220 corresponding to the data inputs 210. The dataset may also include mapping data that maps the data inputs 210 to the target outputs 220. The data inputs 210 may also be referred to as “features,” “attributes,” or “information.” In some embodiments, the dataset generator 272 may provide a dataset to the training engine 182, the validation engine 184, or the test engine 186, which uses the dataset to train, validate, or test the machine learning model 190. Some embodiments of generating a training set may be further described with respect to FIG. 4B .
[0064] In some embodiments, dataset generator 272 generates data input 210 and does not generate target output 220 to feed to the unsupervised machine learning model (e.g., dataset generator 272A generates a set of historical metrology data 262A-262Z as data input 210A). In some embodiments, dataset generator 272 generates data input 210 and target output 220 (e.g., dataset generator 272B generates a set of historical sensor data 244A-244Z and a set of historical manufacturing parameters 252A-252Z as data input 210B and generates compressed data 230B as target output 220B). In some embodiments, data input 210 may include one or more sets of historical sensor data 244 or historical manufacturing parameters 252. Each instance of historical sensor data 244 or historical manufacturing parameters 252 may include one or more of sensor data from one or more types of sensors, a combination of sensor data from one or more types of sensors, a pattern from sensor data from one or more types of sensors, a manufacturing parameter from one or more manufacturing parameters, a combination of some manufacturing parameter data with some sensor data, etc.
[0065] In some embodiments, the dataset generator 272 may generate a first data input corresponding to a first set of historical sensor data 244A and / or historical manufacturing parameters 252A for training, validating, or testing a first machine learning model, and the dataset generator 272 may generate a second data input corresponding to a second set of historical sensor data 244B and / or historical manufacturing parameters 252B for training, validating, or testing a second machine learning model.
[0066] In some embodiments, the dataset generator 272 may discretize (e.g., segment) one or more of the data inputs 210 or the target outputs 220 (e.g., for use in a classification algorithm for a regression problem). Discretizing the data inputs 210 or the target outputs 220 (e.g., segmentation via a sliding window) may convert continuous values of variables into discrete values. In some embodiments, the discrete values for the data inputs 210 represent discrete past sensor data 244 for obtaining the target output 220 (e.g., discrete compressed data 230B).
[0067] The data inputs 210 and target outputs 220 for training, validating, or testing a machine learning model may include information about a particular facility (e.g., about a particular semiconductor manufacturing facility). For example, the historical sensor data 244 and the compressed data 230B may be for the same manufacturing facility. In another example, the historical manufacturing parameters 252 and the compressed data 230B may be for the same manufacturing facility.
[0068] In some embodiments, the information used to train the machine learning model may be from a particular type of manufacturing equipment in a manufacturing facility having particular characteristics (e.g., manufacturing equipment 124 in FIG. 1 ), allowing the trained machine learning model to determine outcomes for a particular group of manufacturing equipment 124 based on input for current sensor data (e.g., current sensor data 146) associated with one or more components that share the characteristics of the particular group. In some embodiments, the information used to train the machine learning model may be for components from more than one manufacturing facility, allowing the trained machine learning model to determine outcomes for components based on input from one manufacturing facility.
[0069] In some embodiments, after generating the dataset and using the dataset to train, validate, or test the machine learning model 190, the machine learning model 190 may be further trained, validated, or tested, or tuned (e.g., by adjusting weights associated with the input data of the machine learning model 190, such as connection weights of a neural network).
[0070] 3A-3B are block diagrams illustrating a system 300 for generating output data (e.g., prediction data 168 of FIG. 1 ) according to some embodiments. System 300 may be used to compress input data into a reduced-dimensional form (e.g., model 190A of FIG. 1 ) and / or determine corrective actions associated with manufacturing equipment 124 based on prediction data 368 (e.g., model 190B of FIG. 1 ).
[0071] 3A, in block 310A, system 300A (e.g., a component of prediction system 110 of FIG. 1) performs data splitting (e.g., via dataset generator 172 of server machine 170 of FIG. 1) of historical data (e.g., historical measurement data 362 for model 190A of FIG. 1) to generate training set 302A, validation set 304A, and test set 306A. For example, the training set may be 60% of the historical data, the validation set may be 20% of the historical data, and the test set may be 20% of the historical data.
[0072] At block 312A, the system 300A performs model training (e.g., via the training engine 182 of FIG. 1 ) using the training set 302A. The system 300A may train multiple models using multiple sets of features from the training set 302A (e.g., a first set of features from the training set 302A, a second set of features from the training set 302A, etc.). For example, the system 300 may train a machine learning model to generate a first trained machine learning model using a first set of features in the training set (e.g., a subset of metrology data for a subset of substrates) and to generate a second trained machine learning model using a second set of features in the training set (e.g., data different from the data used to train the first machine learning model, that differs with respect to data selection, substrate selection, or both). In some embodiments, the first trained machine learning model and the second trained machine learning model may be combined to generate a third trained machine learning model (e.g., which may be a better predictor than the first or second trained machine learning models themselves). In some embodiments, the sets of features used in comparing the models may overlap (e.g., one model may be trained with a set of substrates that have some substrates in common with the set used to train the other model). In some embodiments, hundreds of models may be generated, including models with various permutations of features and combinations of models.
[0073] At block 314A, the system 300A performs model validation (e.g., via the validation engine 184 of FIG. 1 ) using the validation set 304A. The system 300A may validate each of the trained models using a corresponding set of features in the validation set 304A. For example, the validation set 304A may use the same subset of metrology data used to train the machine learning model, but for a different set of substrates. The subset of metrology data may be a type of metrology data, a subset of data points, a different pre-processing method, etc. In some embodiments, the system 300A may validate hundreds of models (e.g., models with various permutations of features, combinations of models, etc.) generated at block 312A. At block 314A, the system 300A may determine the accuracy of each of the one or more trained models (e.g., via model validation) and determine whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to determining that none of the trained models have an accuracy that meets the threshold accuracy, flow returns to block 312A, where the system 300A performs model training using a different set of features from the training set. In response to determining that one or more of the trained models have an accuracy that meets the threshold accuracy, flow continues to block 316A. The system 300A may discard trained machine learning models that have an accuracy below the threshold accuracy (e.g., based on a validation set).
[0074] In block 316A, the system 300A performs model selection (e.g., via the selection engine 185 of FIG. 1 ) to determine which of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., selected model 308A based on the validation of block 314A). In response to determining that two or more of the trained models that meet the threshold accuracy have the same accuracy, flow may return to block 312A, where the system 300A performs model training using a further refined training set corresponding to a further refined set of features to determine the trained model with the highest accuracy.
[0075] At block 318A, the system 300A performs model testing (e.g., via the test engine 186 of FIG. 1 ) using the test set 306A to test the selected model 308A. The system 300A may test the first trained machine learning model using the first set of features in the test set (e.g., the same subset of metrology features for the third set of substrates) and determine that the first trained machine learning model meets a threshold accuracy (e.g., based on the first set of features in the test set 306A). In response to the accuracy of the selected model 308A not meeting the threshold accuracy (e.g., the selected model 308A is overfitted to the training set 302A and / or the validation set 304A and is not applicable to other data sets, such as the test set 306A), flow continues to block 312A, where the system 300A performs model training (e.g., retraining) using a different training set, potentially corresponding to a different set of features, or a reorganization of the substrates split into training, validation, and test sets. In response to determining, based on the test set 306A, that the selected model 308A has an accuracy that meets the threshold accuracy, flow continues to block 320A. At least in block 312A, the model may learn patterns in past data to make predictions, and in block 318A, the system 300A may apply the model to the remaining data (e.g., the test set 306A) to test the predictions.
[0076] In block 320A, the system 300A receives historical metrology data 363 (e.g., historical metrology data 162 of FIG. 1 ) using a trained model (e.g., selected model 308A), determines (e.g., extracts) compressed data 366 (e.g., predicted data 168 of FIG. 1 ) from the output of the trained model, and performs an action (e.g., performs corrective action related to the manufacturing equipment 124 of FIG. 1 in light of the compressed data 366, provides the compressed data 366 to another model, potentially a machine learning model, etc.). In some embodiments, the historical metrology data 363 used as input to the trained machine learning model may be the same as the historical metrology data 362 used to train the machine learning model. In some embodiments, the sets of historical metrology data may overlap or have no data in common. In some embodiments, only a subset of the metrology data may be used as input to the trained machine learning model. The subset of data may correspond to the subset of data used to train the machine learning model.
[0077] 3B , in block 310B, system 300B (e.g., a component of prediction system 110 of FIG. 1 ) performs data partitioning (e.g., via dataset generator 172 of server machine 170 of FIG. 1 ) of historical data (e.g., historical sensor data 360 and compressed data 366 representing metrology data for a substrate for model 190B of FIG. 1 ) to generate training set 302B, validation set 304B, and test set 306B. For purposes of concise presentation, an embodiment with only this combination of data is shown and described with respect to FIG. 3B , but it will be understood that other combinations are possible and fall within the scope of the present disclosure. For example, manufacturing parameters may be used instead of or along with sensor data, the use of sensor data as input and compressed metrology data as output may be reversed, and more or different categories of data may be in compressed form.
[0078] The generation of training set 302B, validation set 304B, and test set 306B may be tailored for a particular application. For example, the training set may be 60% of the historical data, the validation set may be 20% of the historical data, and the test set may be 20% of the historical data. System 300B may generate multiple sets of features for each of the training set, validation set, and test set. For example, if the historical data includes features derived from sensor data from 20 sensors (e.g., sensor 126 in FIG. 1 ) and 100 products (e.g., products each corresponding to sensor data from the 20 sensors), a first set of features may be sensors 1-10, a second set of features may be sensors 11-20, the training set may be products 1-60, the validation set may be products 61-80, and the test set may be products 81-100. In this example, the first set of features for the training set would be sensor data from sensors 1-10 for products 1-60.
[0079] At block 312B, system 300B performs model training (e.g., via training engine 182 of FIG. 1 ) using training set 302B. System 300B may train multiple models using multiple sets of features from training set 302B (e.g., a first set of features from training set 302B, a second set of features from training set 302B, etc.). For example, system 300B may train machine learning models to generate a first trained machine learning model using a first set of features in the training set (e.g., sensor data from sensors 1-10 for products 1-60) and to generate a second trained machine learning model using a second set of features in the training set (e.g., sensor data from sensors 11-20 for products 1-60). In some embodiments, the first trained machine learning model and the second trained machine learning model may be combined to generate a third trained machine learning model (e.g., which may be a better predictor than the first or second trained machine learning models themselves). In some embodiments, the sets of features used in comparing the models may overlap (e.g., a first set of features is sensor data from sensors 1-15, and a second set of features is sensor data from sensors 5-20). In some embodiments, hundreds of models may be generated, including models with various permutations of features and combinations of models.
[0080] At block 314B, system 300B performs model validation (e.g., via validation engine 184 of FIG. 1 ) using validation set 304B. System 300B may validate each of the trained models using a corresponding set of features in validation set 304B. For example, system 300B may validate a first trained machine learning model using a first set of features in the validation set (e.g., sensor data from sensors 1-10 for products 61-80) and a second trained machine learning model using a second set of features in the validation set (e.g., sensor data from sensors 11-20 for products 61-80). In some embodiments, system 300B may validate hundreds of models (e.g., models with various permutations of features, combinations of models, etc.) generated in block 312B. In block 314B, the system 300B may determine the accuracy of each of the one or more trained models (e.g., via model validation) and may determine whether one or more of the trained models have an accuracy that meets the threshold accuracy. In response to determining that none of the trained models have an accuracy that meets the threshold accuracy, the flow returns to block 312B, and the system 300B performs model training using a different set of features from the training set. In response to determining that one or more of the trained models have an accuracy that meets the threshold accuracy, the flow continues to block 316B. The system 300B may discard trained machine learning models that have an accuracy below the threshold accuracy (e.g., based on a validation set).
[0081] In block 316B, the system 300B performs model selection (e.g., via the selection engine 185 of FIG. 1 ) to determine which of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., selected model 308B based on the validation of block 314B). In response to determining that two or more of the trained models that meet the threshold accuracy have the same accuracy, flow may return to block 312B, where the system 300B performs model training using a further refined training set corresponding to a further refined set of features to determine the trained model with the highest accuracy.
[0082] At block 318B, the system 300B performs model testing (e.g., via the test engine 186 of FIG. 1 ) using the test set 306B to test the selected model 308B. The system 300B may test the first trained machine learning model using a first set of features in the test set (e.g., sensor data from sensors 1-10 for products 81-100) and determine that the first trained machine learning model meets a threshold accuracy (e.g., based on the first set of features in the test set 306B). In response to the accuracy of the selected model 308B not meeting the threshold accuracy (e.g., the selected model 308B is overfitted to the training set 302B and / or the validation set 304B and is not applicable to other datasets, such as the test set 306B), flow continues to block 312B, where the system 300B performs model training (e.g., retraining) using a different training set (e.g., sensor data from a different sensor) corresponding to a different set of features. In response to determining, based on the test set 306B, that the selected model 308B has an accuracy that meets the threshold accuracy, flow continues to block 320B. At least in block 312B, the model may learn patterns in past data to make predictions, and in block 318B, the system 300B may apply the model to the remaining data (e.g., the test set 306B) to test the predictions.
[0083] In block 320B, the system 300B receives current sensor data 352 (e.g., current sensor data 146 of FIG. 1 ) using the trained model (e.g., selected model 308B) and determines (e.g., extracts) predicted data 368 (e.g., predicted data 168 of FIG. 1 ) from the output of the trained model to perform signal processing or corrective action associated with the manufacturing equipment 124. In some embodiments, the current sensor data 352 may correspond to the same types of features in the historical sensor data. In some embodiments, the current sensor data 352 corresponds to the same types of features as a subset of the types of features in the historical sensor data used to train the selected model 308B.
[0084] In some embodiments, current data is received. The current data may include current sensor data 352 (e.g., current sensor data 146 of FIG. 1 ) and / or current metrology data 350. As described above with respect to FIG. 3A , what is depicted and described is one exemplary embodiment of how the data may be processed, but it will be understood that other data combinations are possible and within the scope of the present disclosure. Measured metrology data, e.g., current metrology data 350, may also be input to model training in block 312B along with the current sensor data 352. Model 308B is retrained based on the current data. In some embodiments, a new model is trained based on the current metrology data 350 and the current sensor data 352.
[0085] In some embodiments, one or more of acts 310-320 may be performed in various orders and / or with other acts not presented and described herein. In some embodiments, one or more of acts 310-320 may not be performed. For example, in some embodiments, one or more of data partitioning of block 310, model validation of block 314, model selection of block 316, or model testing of block 318 may not be performed.
[0086] 4A-4E are flow diagrams of methods 400A-400E associated with generating predictive data for triggering corrective actions, according to some embodiments. Methods 400A-400E may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions executing on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In some embodiments, methods 400A-400E may be performed in part by prediction system 110. Method 400A may be performed in part by prediction system 110 (e.g., server machine 170 and dataset generator 172 of FIG. 1 , dataset generator 272 of FIGS. 2A-2B ). Prediction system 110 may use method 400A to generate a dataset for at least one of training, validating, or testing a machine learning model, according to embodiments of the present disclosure. Methods 400B and 400D may be performed by server machine 180 (e.g., training engine 182, etc.). Methods 400C and 400E may be performed by prediction server 112 (e.g., prediction component 114). In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., of prediction system 110, of server machine 180, of prediction server 112, etc.), cause the processing device to perform one or more of methods 400A-400E.
[0087] For ease of explanation, methods 400A-400E are shown and described as a series of operations. However, operations according to the present disclosure may occur in various orders and / or simultaneously, as well as with other operations not shown and described herein. Moreover, not all of the operations shown may be performed to implement methods 400A-400E in accordance with the disclosed subject matter. Furthermore, those skilled in the art will understand and appreciate that methods 400A-400E may alternatively be represented as a series of interrelated states via a state diagram or events.
[0088] FIG. 4A is a flow diagram of a method 400A for generating a dataset for a machine learning model for generating predictive data (eg, predictive data 168 of FIG. 1) according to some embodiments.
[0089] Referring to FIG. 4A, in some embodiments, at block 401, processing logic performing method 400A initializes a training set T to an empty set.
[0090] At block 402, processing logic generates a first data input (e.g., a first training input, a first validation input), which may include one or more of sensor data (e.g., historical sensor data 144 of FIG. 1 , historical sensor data 244 of FIG. 2B ), metrology data (e.g., historical metrology data 162 of FIG. 1 ), manufacturing parameters (e.g., historical manufacturing parameters 152 of FIG. 1 ), etc. In some embodiments, the first data input may include a first set of features for a type of data, and the second data input may include a second set of features for a type of data (e.g., as described with respect to FIG. 3B ).
[0091] In some embodiments, at block 403, processing logic generates a first target output for one or more of the data inputs (e.g., the first data input). In some embodiments, the first target output is measurement data (e.g., historical measurement data 162 or compressed data 166 of FIG. 1 ) (e.g., for model 190B). In some embodiments, no target output is generated (e.g., an unsupervised machine learning model capable of reducing the dimensionality of input data to a compressed form may reconstruct the full dimensional data and compare the reconstructed data to the input data rather than requiring a target output to be provided).
[0092] At block 404, processing logic optionally generates mapping data indicating an input / output mapping. The input / output mapping (or mapping data) may refer to data inputs (e.g., one or more of the data inputs described herein), target outputs for the data inputs, and associations between the data input(s) and the target outputs. In some embodiments, such as in connection with a machine learning model that does not provide a target output, block 404 may not be performed.
[0093] At block 405, in some embodiments, processing logic adds the mapping data generated at block 404 to the dataset T.
[0094] At block 406, processing logic branches based on whether dataset T is sufficient for at least one of training, validating, and / or testing machine learning model 190. If so, execution proceeds to block 407; otherwise, execution continues back to block 402. Note that in some embodiments, the sufficiency of dataset T may be determined solely based on the number of inputs, which in some embodiments are mapped to outputs, in the dataset; in some other embodiments, the sufficiency of dataset T may be determined based on one or more other criteria (e.g., a measure of diversity of the data examples, accuracy, etc.) in addition to or instead of the number of inputs.
[0095] At block 407, processing logic provides dataset T (e.g., to server machine 180) for training, validating, and / or testing machine learning model 190. In some embodiments, dataset T is a training set and is provided to training engine 182 of server machine 180 to perform training. In some embodiments, dataset T is a validation set and is provided to validation engine 184 of server machine 180 to perform validation. In some embodiments, dataset T is a test set and is provided to test engine 186 of server machine 180 to perform testing. In the case of a neural network, for example, input values (e.g., numerical values associated with data inputs 210) of a given input / output mapping are input to the neural network, and output values (e.g., numerical values associated with target outputs 220) of the input / output mapping are stored in output nodes of the neural network. Connection weights in the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and the procedure is repeated for other input / output mappings in dataset T. After block 407, the machine learning model (e.g., machine learning model 190) may be at least one of trained using training engine 182 of server machine 180, validated using validation engine 184 of server machine 180, or tested using testing engine 186 of server machine 180. The trained machine learning model may be implemented by prediction component 114 (of prediction server 112) to generate prediction data 168 for performing signal processing or for taking corrective actions associated with manufacturing equipment 124.
[0096] FIG. 4B is a method 400B for training a machine learning model (eg, model 190A of FIG. 1) to dimensionally reduce data into a compressed form.
[0097] Referring to FIG. 4B, at block 410 of method 400B, processing logic receives metrology data (eg, historical metrology data) associated with producing a product (eg, a substrate) by a manufacturing device.
[0098] At block 412, processing logic may perform pre-processing on the metrology data. Pre-processing the metrology data may include selecting a subset of available metrology data, determining data fits, combining available data, etc. The metrology data may include thickness data, in-plane displacement data, chemical data, optical data, or any other metrology data associated with the substrate.
[0099] At block 414, processing logic trains a machine learning model using data input including measurement data (e.g., historical measurement data, preprocessed measurement data) to generate a trained machine learning model. The trained machine learning model may be capable of reducing the dimensionality of the measurement data (e.g., generating an output indicative of the input measurement data expressed in a compressed form) to perform corrective action. The machine learning model may use nonlinear fitting to compress the measurement data. The machine learning model may be an unsupervised model without a provided target output. Alternatively, the machine learning model may accept historical measurement data as input and perform nonlinear fitting to compress the data into a compressed form with reduced dimensionality. The machine learning model may then reconstruct the measurement data from the compressed data. The machine learning model may then compare the reconstructed data with the input measurement data and determine the accuracy of the model (e.g., using validation engine 184 of FIG. 1 ) based on how faithfully the measurement data was reconstructed from the compressed data (e.g., the reconstructed measurement data is within 1%, 5%, 10%, 20% of the actual measurement data). The training of the machine learning model may use metrology data associated with the production of any type or combination of types of fabricated substrates (e.g., using any combination of types of fabrication equipment, such as fabrication equipment 124 of FIG. 1 ). In some embodiments, the machine learning model may be trained on the thickness data of all available substrates of a design fabricated on any compatible fabrication equipment. The machine learning model may then be used to compress the thickness metrology data of any subsequent substrates of the same design fabricated on any type (e.g., a new type) of fabrication equipment. Many such combinations of data types, substrates, fabrication equipment designs, physical equipment components, etc. are possible and may be chosen to optimize a particular use case. In some embodiments, the machine learning model is trained using metrology data of good (e.g., defect-free) products (e.g., substrates). In some embodiments, the machine learning model is trained using metrology data of good and abnormal products.
[0100] FIG. 4C is a method 400C for using a machine learning model (eg, model 190A of FIG. 1) to dimensionally reduce data, according to some embodiments.
[0101] Referring to FIG. 4C , at block 420 of method 400C, processing logic receives metrology data (e.g., current metrology data) associated with a substrate fabricated by a manufacturing tool. The manufacturing tool may be the same as or different from the manufacturing tool that fabricated the substrate in block 410 of FIG. 4B (e.g., associated with the metrology data used to train the machine learning model). The metrology data in block 420 may be received from a metrology tool (e.g., metrology tool 128 of FIG. 1 ) or from memory (e.g., data store 140 of FIG. 1 ). In some embodiments, the metrology data in FIG. 4C is the same as the metrology data in FIG. 4B . For example, a model may reduce the first metrology data in FIG. 4B to be used in subsequent modeling. In some embodiments, FIG. 4B trains a machine learning model on the first metrology data to generate a first trained machine learning model, and then FIG. 4C uses the trained machine learning model on second metrology data that is different from the first metrology data.
[0102] In block 422, processing logic may preprocess the measurement data, which may include truncating the data, grouping the data, combining the data, etc. The processing performed in this block may correspond to that performed in block 412 of FIG.
[0103] At block 424, processing logic provides the (possibly preprocessed) measurement data as input to a trained machine learning model (e.g., model 190A of FIG. 1 ), which may have been trained to reduce the dimensionality of the input and output compressed data (e.g., the input data represented in a compressed form).
[0104] At block 426, processing logic obtains compressed data from the trained machine learning model, where the compressed data corresponds to the data input (e.g., current measurement data) represented in a compressed form with reduced dimensionality.
[0105] At block 428, processing logic causes the execution of one or more corrective actions associated with the manufacturing equipment based on the compressed data. In some embodiments, the corrective actions may be chosen based on output from a second trained machine learning model (e.g., see FIG. 4D ) that was trained based on the compressed data obtained at block 426 (e.g., see FIG. 4E ).
[0106] FIG. 4D is a method 400D for training a machine learning model (eg, model 190B of FIG. 1) to determine predictive data and trigger the execution of corrective actions, according to some embodiments.
[0107] 4D , at block 440 of method 400D, processing logic receives compression data (e.g., compression historical metrology data) associated with a set of substrates. The compression data is received from a trained machine learning model (e.g., model 190A of FIG. 1 , the trained machine learning model of FIG. 4C ). The compression data may be retrieved by processing logic from memory (e.g., data store 140 of FIG. 1 ) rather than directly from another machine learning model. In some cases, two or more machine learning models may be part of a single composite machine learning model. In this case, training one component of this composite model may involve receiving an output from another component of the model as a training input for the component of the model to be trained.
[0108] At block 442, processing logic receives historical data associated with the fabrication of the set of substrates. The historical data may be historical sensor data, historical fabrication parameters, and / or other historical data associated with the fabrication of the substrates (e.g., providing information about the processing conditions of the substrates). The historical data is mapped to the compression metrology data received at block 440. The historical data associated with the fabrication of the substrates may undergo pre-processing (not shown).
[0109] At block 444, processing logic trains a machine learning model using input data including historical data (e.g., historical sensor data, historical manufacturing parameters, etc.) and target output data of the compressed data received at block 440 to generate a trained machine learning model.
[0110] In some embodiments, the trained machine learning model may be further trained or retrained using additional input data (e.g., sensor data, manufacturing parameters) and additional compression data associated with additional substrates. The further training or retraining may account for or predict variations in manufacturing equipment, sensors, metrology devices, etc., to predict equipment failures, reflect changes to procedures or recipes, etc.
[0111] FIG. 4E is a method 400E for using a trained machine learning model (eg, model 190B of FIG. 1) to determine predictive data.
[0112] 4E, at block 460 of method 400E, processing logic receives current data (e.g., sensor data, manufacturing parameters) associated with a substrate manufacturing process. In some embodiments, the data is sensor data associated with a substrate produced by a manufacturing tool. For example, the sensor data may include temperature values, pressure values, etc. determined by sensors in a processing chamber of the manufacturing tool. In some embodiments, the data is manufacturing parameters associated with a substrate produced or to be produced by the manufacturing tool. For example, the manufacturing parameters may be set points in a process recipe that was used to produce the substrate or that will be used to produce the substrate.
[0113] At block 462, processing logic provides current data as input to the trained machine learning model. The current data may be of the same or similar type as the historical data of blocks 442-444 of FIG. 4D that was used to train the machine learning model.
[0114] At block 464, processing logic obtains one or more outputs from the trained machine learning model that are indicative of predicted data. In some embodiments, the predicted data may be predicted measurement data represented in a compressed form.
[0115] At block 466, the processing logic causes the execution of a corrective action. In some embodiments, the corrective action may be performed based on the output of the trained machine learning model after the output has been further processed (e.g., after the measurement data has been reconstructed from the compressed data output by the trained machine learning model). In some embodiments, the type of compressed data and the type of data provided to the trained machine learning model as input and as target output differ. Utilizing compressed measurement data in a nonlinear manner by a trained machine learning model provides technical advantages in many different contexts. Thus, the types of corrective actions consistent with this disclosure may vary widely. In some embodiments, performing a corrective action may include one or more of: providing an alert to a user, interrupting functionality of a manufacturing equipment, updating manufacturing parameters including process parameters and / or hardware parameters, scheduling replacement of a component of the manufacturing equipment, causing one or more components to be in a sleep or idle mode at a particular time during the production of a product to reduce energy usage, replacing one or more components to reduce energy usage, causing preventative maintenance, causing a component modification (e.g., tightening mounting fasteners, replacing bindings, etc.), correcting sensor variations of sensors associated with the manufacturing equipment, correcting chamber variations, updating a process recipe, etc. The predictive data and / or corrective action may indicate a combination (e.g., a combination of components, a combination of manufacturing parameters) that is causing the anomaly (e.g., one of the items from the combination alone may not cause the anomaly by itself).
[0116] 4A-4E are related to compressing metrology data and using the compressed metrology data as a target output, in some embodiments, input data (e.g., sensor data, manufacturing parameters, etc.) is compressed and the compressed input data is input to a machine learning model or a trained machine learning model. In some embodiments, the target output (e.g., metrology data) and / or the input data (e.g., sensor data, manufacturing parameters, etc.) are compressed for training and / or use in a machine learning model.
[0117] FIG. 5 is a diagram of the processing of a model 500 (eg, a machine learning model) that is capable of reducing the dimensionality of input data, according to some embodiments.
[0118] The input data 510 of the model 500 is data associated with fabrication of a substrate. In some embodiments, the input data 510 includes one or more of metrology data, manufacturing parameters, sensor data, or a combination thereof. The input data 510 may be pre-processed data. In some embodiments, the input data 510 is metrology data associated with the substrate. The metrology data may be of any (or many) types, including thickness, in-plane displacement, chemical properties, electronic properties, optical properties, etc.
[0119] The model 500 includes a first portion 520 (e.g., an encoder) and a second portion (e.g., a decoder). In some embodiments, the model is one or more of an autoencoder, a convolutional neural network model, or the like. The first portion 520 dimensionally reduces input data 510 (e.g., measurement data) to a compressed form (e.g., compressed data 530). During training of the machine learning model 500, the first portion 520 may find a function to fit the input data 510 without guidance from a user. The reduction (e.g., compressing, encoding) may be performed over several stages (i.e., first converting the input data 510 to partially compressed data and then further converting it to compressed data 530), or the reduction (e.g., compressing, encoding) may be performed in a single stage.
[0120] The second part 540 takes the compressed data 530 as input and produces output data 550 (e.g., reconstructed data 169 of FIG. 1 ). During training, the model 500 is trained to minimize the difference between the input data 510 and the output data 550, where the output 550 is a reconstruction of the input data 510 from the compressed data 530. A penalty may also be imposed on the dimensionality of the compressed data 530 to avoid the minimization function used to train the model 500 returning a function with poor compression (e.g., an identity function that perfectly recreates the input data 510 but does not compress the data to a reduced dimension).
[0121] The function(s) utilized by first portion 520 and second portion 540 may be nonlinear in nature. All processes of model 500 (i.e., both reduction and reconstruction, both encoding and decoding, etc.) may be used in some applications. In other applications, only some capabilities may be utilized. For example, during training, model 500 may pass input data 510 through first portion 520 to form compressed data 530, then through second portion 540 to determine output data 550, which is then compared to input data 510 to determine that output data 550 is substantially similar to input data 510. In some embodiments, only some of these actions may be used during use of model 500. First portion 520 may be used to compress input data 510, and model 500 may produce compressed data 530 as output. In other embodiments, the second portion 540 may be used to reconstruct data based on using the compressed data 530 as input, with the reconstructed full-dimensional data being provided as output data 550.
[0122] As an example, in some embodiments, a user may utilize a predictive model, and full dimensional output data from the predictive model is inconvenient or impossible. In this case, the trained model 500 may be used to output compressed data 530 from various inputs 510, and the set of compressed data 530 may be used as a target output for training a predictive machine learning model. Once the predictive model is trained, it may be used to generate some output data, which will be represented in compressed form. The data in compressed form may then be reconstructed by the second portion 540 to generate output data 550. The output data may be a reflection of the quality of the low dimensional representation of the compressed data 530 (e.g., how similar the input data 510 and the output data 550 are to each other is a reflection of how accurate the compressed data 530 is). The model 500 may then be used by a processing device or a user to perform some corrective action. In some embodiments, the model 500 may include an artificial neural network. In some embodiments, the model 500 may further include a deep learning network. The model 500 may include a convolutional neural network, a deep belief network, a feedforward neural network, or a multi-layer neural network. The processing device may receive one or more outputs from the predictive model indicating predicted data. The predicted data may indicate one or more of predicted anomalies in products, predicted anomalies in components of manufacturing equipment, predicted energy usage, predicted component failures, etc. The predicted data may indicate variations (e.g., from chamber matching for product-to-product uniformity) causing anomalies in products and / or manufacturing equipment. For example, abnormal characteristics of manufacturing equipment (e.g., increased energy, variation over time, high motorcycle count, etc.) may indicate that corrective action should be taken. Utilizing compressed data in training and using a second predictive model offers several technical advantages, such as reduced processor load and training using smaller data sets than can be done using uncompressed data.
[0123] 6 is a block diagram illustrating a computer system 600, according to some embodiments. In some embodiments, computer system 600 may be connected to other computer systems (e.g., via a network, such as a local area network (LAN), an intranet, an extranet, or the Internet). Computer system 600 may operate in the capacity of a server computer or a client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. Computer system 600 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a web appliance, a server, a network router, switch, or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Furthermore, the term “computer” is intended to include any collection of computers that individually or together execute a set (or sets) of instructions to perform any one or more of the methodologies described herein.
[0124] In a further aspect, computer system 600 may include a processing device 602, a volatile memory 604 (e.g., random access memory (RAM)), a non-volatile memory 606 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 618, which may communicate with each other via a bus 608.
[0125] The processing device 602 may be provided by one or more processors, such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of types of instruction sets), or a special-purpose processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0126] Computer system 600 may further include a network interface device 622 (e.g., coupled to a network 674). Computer system 600 may also include a video display unit 610 (e.g., an LCD), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generating device 620.
[0127] In some embodiments, the data storage device 618 may include a non-transitory computer-readable storage medium 624 (e.g., a non-transitory machine-readable medium) that may store instructions 626 encoding any one or more of the methods or functions described herein, including instructions for encoding the components of FIG. 1 (e.g., the prediction component 114, the model 190, etc.) and for implementing the methods described herein.
[0128] The instructions 626 may also reside, completely or partially, within the volatile memory 604 and / or within the processing device 602 during execution thereof by the computer system 600; thus, the volatile memory 604 and the processing device 602 may also constitute machine-readable storage media.
[0129] Although the computer-readable storage medium 624 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" is intended to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" is also intended to include any tangible medium that is capable of storing or encoding a set of instructions for execution by a computer, causing the computer to perform any one or more of the methodologies described herein. The term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0130] The methods, components, and features described herein may be implemented by discrete hardware components or may be integrated into the functionality of other hardware components, such as an ASIC, FPGA, DSP, or similar device. Furthermore, the methods, components, and features may be implemented by firmware modules or functional circuits within a hardware device. Furthermore, the methods, components, and features may be implemented in any combination of hardware devices and computer program components, or implemented in a computer program.
[0131] Unless otherwise specified, terms such as "receiving," "executing," "providing," "obtaining," "causing," "accessing," "determining," "adding," "using," "training," "reducing," "generating," "correcting," and the like refer to actions and processes performed or implemented by a computer system that manipulate data represented as physical (electronic) quantities in computer system registers and memory and transform that data into other data similarly represented as physical quantities in the computer system memory or registers, or other such information storage, transmission, or display device. Also, as used herein, terms such as "first," "second," "third," "fourth," and the like are meant as labels to distinguish between different elements and may not have any ordering meaning due to their numerical designation.
[0132] The examples described herein also relate to apparatus for performing the methods described herein. The apparatus may be specially constructed to perform the methods described herein, or the apparatus may comprise a general-purpose computer system that is selectively programmed by a computer program stored on the computer system. Such a computer program may be stored on a computer-readable tangible storage medium.
[0133] The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the methods described herein and / or each of their individual functions, routines, subroutines, or processes. Example structures for a variety of these systems are set forth in the description above.
[0134] The above description is illustrative, and not limiting. While the present disclosure has been described with reference to particular illustrative examples and embodiments, it will be recognized that the present disclosure is not limited to the described examples and embodiments. The scope of the present disclosure should be determined with reference to the following claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. receiving first metrology data associated with a first plurality of substrates produced by a first manufacturing tool; training a first machine learning model with a data input including the first metrology data to generate a first trained machine learning model, the first trained machine learning model being capable of reducing a dimensionality of second metrology data associated with a second plurality of substrates produced by the second manufacturing equipment to perform one or more corrective actions associated with the second manufacturing equipment; receiving first manufacturing parameters associated with the first plurality of substrates; training a second machine learning model to predict a manufacturing condition associated with a target metrology value by providing an output of the first trained machine learning model including the reduced-dimensional representation of the second metrology data as a training input and the first manufacturing parameter as a target output; A method comprising:
2. training the first machine learning model reducing the dimensionality of the first metrology data to form first compressed data; generating first reconstructed data based on the first compressed data, the first reconstructed data being substantially similar to the first measured data; The method of claim 1 , comprising:
3. 10. The method of claim 1, wherein the first trained machine learning model is capable of reducing a dimensionality of the second measurement data to generate second compressed data.
4. The one or more corrective actions: Providing an alert to the user; updating process parameters of one or more sets of manufacturing equipment; updating hardware parameters of the one or more sets of manufacturing equipment; correcting sensor variation for sensors associated with the one or more sets of manufacturing equipment; correcting chamber variations associated with the one or more sets of manufacturing equipment; or Updating the process recipe for preparing subsequent substrates The method of claim 1 , comprising one or more of:
5. The method of claim 2 , wherein the reducing the dimensionality of the first metrology data is via a non-linear fit.
6. The method of claim 1 , wherein the first metrology data includes one or more of thickness data or in-plane displacement data.
7. The method of claim 1 , wherein the first machine learning model is a convolutional neural network model.
8. receiving metrology data associated with a plurality of substrates produced by the manufacturing apparatus; providing the measurement data as first input data to a first trained machine learning model to reduce the dimensionality of the measurement data to generate compressed data; obtaining the compressed data from the first trained machine learning model; providing data including at least one of sensor data or manufacturing parameters as second input data to a second trained machine learning model; obtaining output data from the second trained machine learning model, the output data including compressed data corresponding to the second input data; triggering the execution of one or more corrective actions associated with the manufacturing equipment based on the compressed data and the output data corresponding to the second input data; and A method comprising:
9. 9. The method of claim 8, wherein the first trained machine learning model is trained by reducing the dimensionality of past measurement data to create past compressed data, and generating reconstructed data based on the past compressed data, the reconstructed data being substantially similar to the past measurement data.
10. 10. The method of claim 8, wherein a second machine learning model is to be trained based on a data input including current data associated with producing the plurality of substrates by the manufacturing equipment and a target output including the compressed data for performing the one or more corrective actions.
11. The one or more corrective actions: Providing an alert to the user; updating process parameters of the manufacturing equipment; updating hardware parameters of the manufacturing equipment; correcting sensor drift for sensors associated with the manufacturing equipment; correcting chamber variations associated with the manufacturing equipment; or Updating the process recipe for preparing subsequent substrates The method of claim 8, comprising one or more of:
12. The method of claim 8 , wherein the metrology data includes one or more of thickness data or in-plane displacement data.
13. 10. The method of claim 8, wherein the first trained machine learning model comprises a convolutional neural network model.
14. A non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing device to perform a process, the process comprising: receiving first metrology data associated with a first plurality of substrates produced by a first manufacturing tool; training a first machine learning model with a data input including the first metrology data to generate a first trained machine learning model, the first trained machine learning model being capable of reducing a dimensionality of second metrology data associated with a second plurality of substrates produced by the second manufacturing equipment to perform one or more corrective actions associated with the second manufacturing equipment; receiving first manufacturing parameters associated with the first plurality of substrates; training a second machine learning model to predict a manufacturing condition associated with a target metrology value by providing an output of the first trained machine learning model including the reduced-dimensional representation of the second metrology data as a training input and the first manufacturing parameter as a target output; 1. A non-transitory machine-readable storage medium, comprising:
15. training the first machine learning model reducing the dimensionality of the first metrology data to form first compressed data; generating first reconstructed data based on the first compressed data, the first reconstructed data being substantially similar to the first measured data; 15. The non-transitory machine-readable storage medium of claim 14, comprising:
16. 15. The non-transitory machine-readable storage medium of claim 14, wherein the first trained machine learning model is capable of reducing a dimensionality of the second measurement data to generate second compressed data.
17. 16. The non-transitory machine-readable storage medium of claim 15, wherein the reducing the dimensionality of the first metrology data is via non-linear fitting.
18. 15. The non-transitory machine-readable storage medium of claim 14, wherein the first machine learning model comprises one or more of a convolutional neural network model, a deep belief network, a feedforward neural network, a multi-layer neural network, or an autoencoder.
Citation Information
Patent Citations
Device functioning as sensor node and data center, sensor network, communication method, and program
JP2019220104A
Chamber matching using neural networks in semiconductor manufacturing tools.
JP2022519348A
Chamber matching with neural networks in semiconductor equipment tools
US20200243359A1