Equipment parameter management in manufacturing systems using machine learning
Machine learning is employed to manage equipment parameters in manufacturing systems, addressing the challenge of optimizing substrate processing by reducing human intervention and enhancing production accuracy and throughput.
Patent Information
- Application Number
- JP2025511583
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-22
- Filing Date
- 2023-08-21
- Publication Date
- 2025-09-17
- Estimated Expiration
- 2043-08-21
AI Technical Summary
Determining optimal equipment parameters for substrate manufacturing systems is difficult and time-consuming, especially as electronic devices shrink in size and process complexity increases, leading to variations in equipment performance due to wear and calibration issues.
Utilizing machine learning techniques to monitor, update, and assign default values and ranges to equipment parameters, reducing human bias and improving accuracy and throughput by predicting optimal settings based on historical data.
Enhances the efficiency and precision of substrate manufacturing processes by quickly addressing parameter variations and optimizing equipment settings, thereby improving production accuracy and overall system performance.
Smart Images

Figure 2025530713000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present disclosure relate generally to manufacturing systems, and more particularly to managing equipment parameters in manufacturing systems using machine learning. [Background technology]
[0002] As electronic devices continue to shrink in size, the complexity of substrate processing continues to increase. Technologies for manufacturing substrates may include multiple different processes. Furthermore, multiple pieces of equipment may be used to manufacture substrates, with many pieces of equipment comprising a substrate manufacturing system and / or a substrate manufacturing facility. Each piece of equipment may operate based on multiple equipment parameters. The equipment parameters may determine how the equipment may operate. A set of multiple equipment parameters may be used as a benchmark for operating the equipment to manufacture substrates. Determining how much to modify a set of equipment parameters and / or individual equipment parameters to optimize the process performed by the substrate manufacturing equipment can be difficult and time-consuming. 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 some embodiments, a method includes receiving first data associated with an equipment parameter. The first data indicates an equipment setting of one of a plurality of process tools in a first manufacturing system. The method further includes providing the first data as an input to a trained machine learning model. The trained machine learning model is trained using historical data related to the equipment parameters of the plurality of process tools in the first manufacturing system. The method further includes obtaining, as an output of the trained machine learning model, a predicted value of a metric corresponding to the equipment parameter. The method further includes comparing the predicted value of the metric with the first data and performing a corrective action based on the comparison.
[0005] In some embodiments, the system includes a memory and a processing device coupled to the memory. The processing device receives first data associated with an equipment parameter. The first data indicates an equipment setting of one of a plurality of process tools in a first manufacturing system. The processing device further provides the first data as an input to a trained machine learning model. The trained machine learning model is trained using historical data related to the equipment parameters of the plurality of process tools in the first manufacturing system. The processing device further obtains, as an output of the trained machine learning model, a predicted value of a metric corresponding to the equipment parameter. The processing device further compares the predicted value of the metric with the first data and performs a corrective action based on the comparison.
[0006] In some embodiments, the non-transitory computer-readable medium includes instructions that, when executed by a processing device, cause the processing device to receive first data associated with an equipment parameter. The first data indicates an equipment setting for one of a plurality of process tools in a first manufacturing system. The processing device further provides the first data as an input to a trained machine learning model. The trained machine learning model is trained using historical data related to the equipment parameters of the plurality of process tools in the first manufacturing system. The processing device further obtains, as an output of the trained machine learning model, a predicted value of a metric corresponding to the equipment parameter. The processing device further compares the predicted value of the metric with the first data and performs a corrective action based on the comparison.
[0007] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to like elements. It should be noted that different references to "an" or "one" embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an exemplary system architecture according to aspects of the present disclosure. [Figure 2] FIG. 2 is a block diagram of an example device parameter management engine according to an aspect of the present disclosure. [Figure 3] 1 is a flow diagram of a method for equipment parameter management in a manufacturing system according to an aspect of the present disclosure. [Figure 4] 1 is a flow diagram of a method for training a machine learning model according to an aspect of the present disclosure. [Figure 5] FIG. 1 illustrates a model training workflow and a model application workflow for equipment parameter management, according to one embodiment. [Figure 6] 1 is a flow diagram of a method for estimating device parameters using machine learning, according to an aspect of the present disclosure. [Figure 7] FIG. 1 is a block diagram of an exemplary computer system that operates in accordance with one or more aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0009] Embodiments described herein provide systems and methods for equipment parameter management in manufacturing systems using machine learning. In some cases, multiple process tools may be used to process substrates. Each tool may perform one or more operations to process a substrate, or each tool may perform multiple operations to process multiple substrates. As electronic devices continue to shrink in size, process tools become increasingly complex. For example, each process tool may include multiple sensors, valves, heating elements, or other components to perform substrate processing during a substrate manufacturing process. Each component of a process tool may operate based on one or more parameters (e.g., associated with one or more settings).
[0010] A substrate manufacturing system including many process tools may have multiple (e.g., hundreds or sometimes thousands) equipment parameters. As described herein, each equipment parameter may correspond to an individual setting of a process tool. For example, an equipment parameter may correspond to a setting of a heating element disposed within a process chamber. In another example, an equipment parameter may relate to a calibration setting of a sensor (e.g., temperature sensor, flow sensor, etc.) that monitors a condition inside a process tool (e.g., process chamber, transfer chamber, etc.). In another example, an equipment parameter may reflect an offset for a substrate transfer robot to operate relative to a predetermined reference (e.g., a "zero" point).
[0011] As substrates are processed, at least some equipment parameters may change so that substrates processed in a manufacturing system continue to meet process targets. Similarly, some equipment parameters may change as equipment wears. For example, a sensor may gradually fall out of calibration and begin reporting erroneous sensor data to a controller (e.g., processing equipment, processor, etc.). One or more equipment parameters related to sensor calibration may be altered during substrate processing so that the sensor data accurately reflects the state of the process (e.g., substrate process, process chamber state, etc.). Some equipment parameters vary from tool to tool. For example, similar process tools (e.g., process chambers, substrate process robots, etc.) may experience different wear due to substrate processing (e.g., due to different uptime, maintenance schedules, component variations, etc.), thereby requiring equipment parameters associated with the same settings in different process tools to have different values.
[0012] Certain equipment parameters may be more critical (e.g., more important) than other equipment parameters. For example, a change to a first given equipment parameter may alter substrate processing more than a similar change to a second given equipment parameter. Because this change may result from a change in the equipment parameter, it may be beneficial to monitor the equipment parameter to prevent the equipment parameter from drifting outside of a predetermined range of values. In some examples, a drifting equipment parameter may indicate to a user (e.g., an engineer, technician, etc.) that a component of the substrate manufacturing system is defective. A drifting equipment parameter may also indicate that processed substrates may not match target processing results. Corrective action may be required to bring the equipment parameter back within its predetermined range.
[0013] A collection of equipment parameters (e.g., a list of equipment parameters) associated with the process tools of a manufacturing system can be used as a benchmark for operating the manufacturing system. For example, the list of equipment parameters can indicate the initial settings for multiple components of the process tools in the manufacturing system. When a new manufacturing system is commissioned (e.g., when it is first run to manufacture substrates), the manufacturing system can operate using the initial list of equipment parameters. Each individual equipment parameter can be changed over time to optimize the manufacturing system and / or to account for differences in the process tools, such as component tolerances and variations.
[0014] Traditionally, one or more users (e.g., human users) of a manufacturing system compile a list of equipment parameters. The user (or users) may, after extensive research and / or experimentation, determine a default value or range of default values for each equipment parameter. The user may also determine the importance of each equipment parameter and assign an importance value to each equipment parameter. The user may make these decisions by reviewing data collected during operation of the manufacturing system. Due to the large (sometimes prohibitive) number of equipment parameters, users may spend significant time and resources compiling the list and default values of the equipment parameters.
[0015] Aspects of the present disclosure address deficiencies in conventional methods of monitoring equipment parameters and assigning default values to them by providing systems and methods for equipment parameter management in a manufacturing system using machine learning. In some embodiments, a processing device (e.g., a processor, a controller, etc.) can receive data associated with one or more equipment parameters (e.g., from a manufacturing system). Machine learning techniques can be used to determine whether the equipment parameters are within an appropriate value range. In addition, machine learning techniques can be used to assign default values and / or default ranges to multiple equipment parameters using historical equipment parameter data collected during operation of the manufacturing system over a time interval (e.g., a day, a preventive maintenance cycle, etc.). Furthermore, machine learning techniques can be used to assign importance values to each of the equipment parameters, each importance value corresponding to a respective importance of the equipment parameter. Machine learning techniques can also be used to predict updates to each of the equipment parameters based on the equipment parameter's current value and historical data. Through machine learning, the equipment parameters may be modified to optimize the production of substrates at the manufacturing facility.
[0016] Embodiments of the present disclosure provide techniques for optimizing substrate manufacturing processes using machine learning. Embodiments of the present disclosure utilize machine learning techniques to monitor and / or update equipment parameters during substrate manufacturing and / or substrate processing. Furthermore, embodiments of the present disclosure utilize machine learning techniques to compile a list of equipment parameters and assign default values, default ranges, and / or default importance values to each equipment parameter. Traditionally, human users have been relied upon to perform the functions described in this disclosure. Therefore, the methods and systems disclosed herein can reduce the time it takes to compile a list of equipment parameters and can largely eliminate the human bias and inaccuracies of traditional methods. Furthermore, variations in equipment parameters can be quickly addressed using the systems and methods described herein, thereby improving the accuracy and overall throughput of a manufacturing system.
[0017] FIG. 1 illustrates an exemplary system architecture 100 according to aspects of the present disclosure. In some embodiments, the system architecture 100 may be included as part of a manufacturing system for processing substrates. The system architecture 100 may include one or more client devices 120, manufacturing tools 124, metrology tools 128, a prediction server 112 (e.g., for generating prediction data, providing model fitting, using a knowledge base, etc.), and a data store 140. The prediction server 112 may be part of a prediction system 110. The prediction system 110 may further include server machines 170 and 180. The manufacturing tools 124 may include sensors configured to capture data on substrates being processed in the manufacturing system. In some embodiments, the manufacturing tools 124 and sensors may be part of a sensor system including a sensor server (e.g., a field service server (FSS) at a manufacturing facility) and a sensor identifier reader (e.g., a front-opening unified pod (FOUP) radio frequency identification (RFID) reader for the sensor system). In some embodiments, the metrology tool 128 can be part of a metrology system that includes a metrology server (e.g., a metrology database, a metrology folder, etc.) and a metrology identifier reader (e.g., a FOUP RFID reader for the metrology system). While the metrology tool 128 and the manufacturing tool 124 are shown in FIG. 1 as separate components, it should be noted that the metrology tool 128 can be included as part of the manufacturing tool 124. For example, the manufacturing tool 124 can include a process tool. One or more components of the metrology tool 128 can be integrated into one or more components or stations of the process tool. For example, one or more components of the metrology tool 128 can be integrated into a factory interface, a load lock, a transfer chamber, a process chamber, and / or one or more additional stations of the process tool of the manufacturing tool 124.
[0018] The manufacturing tool 124 produces a product according to a recipe and / or run over a period of time. The manufacturing tool 124 may include one or more sensors configured to generate data (referred to as sensor data) about the substrate during substrate processing. The sensor data 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 rate, power, voltage, etc. The sensor data may be associated with or indicative of a manufacturing parameter, such as a hardware parameter, such as a setting or component (e.g., size, type, etc.) of the manufacturing tool 124, an equipment parameter of the manufacturing tool 124, or a process parameter of the manufacturing tool 124. The sensor data may be provided while the manufacturing tool 124 is performing a manufacturing process (e.g., equipment readings as the product is being processed). The sensor data may vary from substrate to substrate.
[0019] In some embodiments, the manufacturing equipment 124 operates based on equipment parameters (e.g., parameters, hardware parameters, equipment constants, etc.). The parameters may determine the behavior of the manufacturing equipment. In some examples, the equipment parameters include calibration values, offset values, and / or scaling factor values for the operation of the manufacturing equipment 124. In particular examples, a processing unit (e.g., a processor) of the manufacturing equipment 124 may utilize a scaling factor to scale data received via a sensor. In another example, the processing unit may utilize a calibration value to calibrate one or more sensors. In some embodiments, the parameters may be constant (e.g., substantially constant) across multiple manufacturing tools. However, even similar manufacturing tools may have different parameters based on differences between the tools, such as increased operating hours, increased wear, etc. In some embodiments, some parameters of a given manufacturing tool may remain constant over time. Some parameters may vary within a range of values. Some parameters may increase over time (e.g., counter parameters). In some embodiments, some parameters are reset and / or changed during maintenance of the manufacturing tool (e.g., preventive maintenance, corrective maintenance, scheduled maintenance, cleaning, etc.). Some parameters are qualitative, meaning that they relate to the operating mode of the manufacturing tool. Data regarding the equipment parameters may be stored in data store 140, as described herein.
[0020] The metrology tool 128 provides metrology data associated with substrates (e.g., wafers, etc.) processed by the fabrication tool 124. The metrology data may include one or more values of film property data (e.g., wafer-spatial film properties), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. In some embodiments, the metrology data may further include values of one or more surface profile property data (e.g., etch rate, etch rate uniformity, critical dimensions of one or more features included in the surface of the substrate, uniformity of critical dimensions across the surface of the substrate, edge placement error, etc.). The metrology data may be for finished or semi-finished products. The metrology data may vary from substrate to substrate. In some embodiments, the metrology tool 128 may collect metrology data for each substrate processed by the fabrication tool 124. In other or similar embodiments, the metrology tool 128 may collect metrology data for a portion of the substrates processed by the fabrication tool 124. For example, multiple substrates may be processed by the fabrication tool 124. The metrology tool 128 may collect metrology data for a portion of the substrates in the lot (e.g., 15% of the substrates in the lot, 20% of the substrates in the lot, etc.) In some embodiments, a system of the system architecture 100 (e.g., the prediction system 110) may associate the metrology data collected for the portion of the substrates in the lot as representative of the metrology data for each substrate in the lot.
[0021] Client device 120 includes computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablet computers, netbook computers, network-connected televisions (“smart TVs”), network-connected media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. In some embodiments, metrology data may be received from client device 120. In some embodiments, equipment parameter data may be received from client device 120. In some embodiments, client device 120 displays a graphical user interface (GUI) that enables a user to provide as input metrology measurements of substrates processed in a manufacturing system. In some embodiments, the GUI enables a user to provide as input equipment parameter values associated with manufacturing equipment 124. In other or similar embodiments, client device 120 may display another GUI that enables a user to provide as input an indication of the type of substrate being processed in the manufacturing system, the type of process being performed on the substrate, and / or the type of equipment in the manufacturing system.
[0022] The data store 140 may be a 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. The 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). In some embodiments, the data store 140 may store data associated with parameters of manufacturing tools (referred to herein as parameter data). The parameter data may include instructions for one or more manufacturing equipment settings. The manufacturing equipment settings may relate to sensor calibrations and / or other equipment parameters. In some embodiments, the parameter data may refer to historical parameter data (e.g., parameter data associated with a previous setting of the manufacturing equipment 124) and / or current parameter data (e.g., parameter data associated with a current equipment setting).
[0023] In additional or alternative embodiments, the data store 140 can store data (referred to herein as sensor data) collected about a substrate by sensors of or coupled to the fabrication tool 124 before, during, and / or after a substrate process. For example, a process chamber may include one or more sensors (e.g., temperature sensors, spectral sensors, etc.) configured to collect data about the substrate and / or the environment within the process chamber before, during, or after a substrate process. A computing system associated with the system architecture 100 (e.g., the prediction system 110, a system controller for the fabrication tool 124, etc.) can receive the sensor data collected before, during, or after a substrate process and can store the sensor data in the data store 140. In some embodiments, the sensor data can refer to historical sensor data (e.g., sensor data collected about a previous substrate processed according to a previous substrate process) and / or current sensor data (e.g., sensor data collected about a current substrate being processed or to be processed according to a current substrate process).
[0024] The data store 140, in some embodiments, may store additional types of data. For example, the data store may store metrology data associated with substrates processed using the manufacturing tool 124. The metrology data may include historical metrology data (e.g., metrology measurements generated for a previous substrate processed using the manufacturing tool 124) and / or current metrology data (e.g., metrology measurements generated for a current substrate processed using the manufacturing tool 124). The data store 140 may also store context data associated with one or more substrates (e.g., previous substrate, current substrate, etc.) in the manufacturing system. The context data may include a process recipe identifier, a substrate (and / or lot of substrate) identifier, preventive maintenance indicators, an operator identifier, etc.
[0025] In some embodiments, data store 140 can be configured to store data that is inaccessible to users (e.g., operators, engineers, etc.) of the manufacturing system. For example, process data, sensor data, metrology data, and / or context data acquired about a substrate may be inaccessible to users of the manufacturing system. In some embodiments, all data stored in data store 140 is inaccessible to users (e.g., operators) of the manufacturing system. In other or similar embodiments, some of the data stored in data store 140 is inaccessible to users, while other portions of the data stored in data store 140 are accessible to users. In some embodiments, one or more portions of the data stored in data store 140 are encrypted using an encryption mechanism unknown to the users (e.g., the data is encrypted using a secret encryption key). In other or similar embodiments, data store 140 includes multiple data stores, where data inaccessible to users is stored in one or more first data stores and data accessible to users is stored in one or more second data stores.
[0026] The prediction server 112 may include an equipment parameter (EP) management engine 152 and / or a prediction component 114. In some embodiments, the prediction component 114 and / or the EP management engine 152 are part of the prediction server 112 or are connected to the prediction server 112 via the network 130 (e.g., the prediction component 114 and / or the EP management engine 152 are part of a computing system connected to the network 130). The EP management engine 152 may be configured to adjust and / or modify equipment parameters of the manufacturing tools 124 to optimize substrate processing in the manufacturing system. The EP management engine 152, in some embodiments, may determine predicted values corresponding to the equipment parameters (e.g., via the prediction system 110). In some embodiments, the EP management engine 152 may output a list of equipment parameters corresponding to process tools of the manufacturing tools 124. The list of equipment parameters may include predicted default values and / or default value ranges corresponding to each of the equipment parameters. The predicted values may be determined via the prediction system 110, as described herein.
[0027] In some embodiments, the EP management engine 152 can update equipment settings (e.g., of a manufacturing tool 124) based on these equipment parameters and / or based on historical equipment parameter data. In some embodiments, the EP management engine 152 can update equipment settings and / or equipment parameters based on metrics (e.g., predicted values, predicted characterization values, predicted classification values, predicted importance values, etc.) output from a trained machine learning model. In some examples, the EP management engine 152 updates equipment parameters based on receiving metrics (e.g., output from a trained machine learning model, output from the prediction system 110, etc.) indicating that settings of a process tool (e.g., a process chamber, a transfer chamber, etc.) have drifted. In some embodiments, the EP management engine 152 may update equipment parameters (e.g., corresponding to a manufacturing tool 124) based on various tool conditions. For example, the EP management engine 152 can update equipment parameters based on a tool fault condition, a tool maintenance condition (e.g., a preventive maintenance condition), and / or a normal operating condition, etc. In some embodiments, one or more equipment parameters reflect various tool conditions. In some embodiments, the EP management engine 152 may provide a notification for display on a GUI (e.g., of the client device 120) indicating that a process tool setting has drifted and that the equipment parameters should be updated. In some embodiments, a list of equipment parameters (e.g., generated and / or edited by the EP management engine 152) may be output along with predicted default values for use in another manufacturing system. In some embodiments, the EP management engine 152 may monitor equipment parameters to determine whether similar process tools (e.g., of the manufacturing equipment 124) are processing substrates in a similar manner (e.g., in a substantially similar manner) to achieve a target process result.
[0028] As described herein below with respect to FIG. 2 , in some embodiments, the EP management engine 152 can characterize device parameters. In some embodiments, the EP management engine 152 can determine characteristics of device parameters. In some embodiments, the EP management engine 152 can classify device parameters based on characteristics (e.g., of device parameters described above) as described in more detail herein below. In some embodiments, the EP management engine 152 can assign and / or predict default values and / or default value ranges for device parameters as described herein. In some embodiments, as described herein, the EP management engine 152 can detect whether device parameter values have drifted and / or should be updated. In many embodiments, the above-described functionality of the EP management engine 152 can be achieved using machine learning techniques as described herein below.
[0029] In some embodiments, the prediction system 110 includes a server machine 170 and a server machine 180. The server machine 170 includes a training set generator 172 that can generate a training dataset (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing the machine learning model 190. As described herein, the machine learning model 190 can be trained to predict one or more metrics corresponding to equipment parameters based on given equipment parameter data and / or sensor data associated with one or more process tools. In some examples, the machine learning model 190 can predict updated equipment parameters and / or updated equipment settings. In some examples, the machine learning model 190 (and / or another machine learning model) can predict the characterization and / or classification of a given equipment parameter. In some examples, the machine learning model 190 (and / or another machine learning model) can predict an importance value corresponding to an equipment parameter. The predicted importance value can indicate the importance of the equipment parameter. For example, the predicted importance value can indicate how much the associated equipment parameter affects a change. Some operations of the training set generator 172 are described in more detail below with respect to Figure 4. In some embodiments, the training set generator 172 may divide the training data into a training set, a validation set, and a test set. In some embodiments, the prediction system 110 generates multiple sets of training data.
[0030] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine 186, and / or a test engine 188. An engine may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, a processing unit, etc.), software (e.g., instructions executing on a processing unit, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 may train a machine learning model 190. The machine learning model 190 may refer to a model artifact created by the training engine 182 using training data including training inputs and corresponding target outputs (correct answers for each training input). The training engine 182 may find patterns in the training data that map the training inputs to target outputs (predicted answers) and provide a machine learning model 190 that captures these patterns. In some embodiments, the machine learning model 190 uses one or more of a support vector machine (SVM), a radial basis function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, a k-nearest neighbor algorithm (k-NN), linear regression, random forests, neural networks (e.g., artificial neural networks), clustering techniques (e.g., hierarchical clustering techniques), association techniques (e.g., a priori techniques), classification techniques (e.g., decision trees, random forest techniques, etc.), variational recurrent autoencoders, etc.
[0031] The validation engine 184 may validate the trained machine learning models 190 using the corresponding feature sets of the validation set from the training set generator 172. The validation engine 184 may determine the accuracy of each of the trained machine learning models 190 based on the corresponding feature sets of the validation set. The validation engine 184 may discard trained machine learning models 190 having an accuracy that does not meet a threshold accuracy. In some embodiments, the selection engine 185 may select a trained machine learning model 190 having an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 185 may select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0032] The test engine 188 may test the trained machine learning model 190 using the corresponding feature set of the test set from the training set generator 172. For example, a first trained machine learning model 190 trained using a first feature set of the training set may be tested using a first feature set of the test set. The test engine 188 may determine the trained machine learning model 190 with the highest accuracy of all the trained machine learning models based on the test set.
[0033] The prediction server 112 includes a prediction component 114 that can provide equipment parameter data and / or sensor data associated with the manufacturing equipment 124 as input to a trained machine learning model 190 and execute the trained machine learning model 190 on the input to obtain one or more outputs. As described herein, in some embodiments, the output from the machine learning model 190 may include predicted equipment parameter updates, predicted equipment parameter classifications / characterizations, predicted equipment parameter default values / ranges, and / or other predicted metrics associated with the equipment parameters of the manufacturing equipment 124.
[0034] Client devices 120, manufacturing equipment 124, metrology equipment 128, prediction server 112, data store 140, server machine 170, and server machine 180 can be coupled to each other via network 130. In some embodiments, network 130 is a public network that provides client devices 120 with access to prediction server 112, data store 140, and / or 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, metrology 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.
[0035] It should be noted that in some other implementations, the functionality of server machines 170 and 180 and prediction server 112 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 or similar embodiments, server machines 170 and 180 and prediction server 112 may be combined into a single machine. In other or similar embodiments, server machines 170, 180, and / or prediction server 112 may be combined into a single machine or one or more machines.
[0036] In general, functionality described in one embodiment as being performed by server machine 170, server machine 180, and / or prediction server 112 may also be performed on client device 120. Additionally, functionality attributed to a particular component may be performed by a different component or multiple components working together.
[0037] In embodiments, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass cases where a "user" is an entity and / or automated source controlled by multiple users. For example, a set of individual users aggregated as a group of administrators may be considered a "user."
[0038] 2 is a block diagram of an example EP management engine 152 according to aspects of the present disclosure. As shown in FIG. 2, the EP management engine 152 may include a characterization component 210, a classification component 212, a default value component 214, and / or a detection component 216. In some embodiments, the EP management engine 152 may be connected to a memory 250 (e.g., via the network 130, a bus, etc., described with respect to FIG. 1 ). The memory 250, in some embodiments, may correspond to one or more portions of the data store 140.
[0039] The characterization component 210 can be configured to determine a characterization of an equipment parameter. For example, the characterization component 210 can determine that a given equipment parameter should have a constant value within a fleet (e.g., a fleet of similar process tools), a constant value within a tool, a quasi-constant value (e.g., substantially constant, with only variation below a threshold, etc.), a randomly distributed value, an increasing value (e.g., like a counter), and / or a text value. As described herein above, equipment parameter data can be collected from the manufacturing equipment 124 (e.g., EP value data 256, EP threshold data 258, EP setpoint data 260, current EP data 262, etc.). The equipment parameter data can be used by the characterization component 210 to determine one or more characteristics of the equipment parameter (e.g., whether the equipment parameter has a constant or nearly constant value, whether the equipment parameter is consistent between process tools, etc.), as described herein above.
[0040] The classification component 212 can be configured to classify the equipment parameter based on one or more characteristics of the equipment parameter. The classification component 212 can generate and / or access EP classification data 252 during a classification operation. In some examples, the classification component 212 can assign a classification value (e.g., a metric) to the equipment parameter based on the characteristics of the equipment parameter. The classification value can indicate that the equipment parameter belongs to a discrete classification group. The classification value may be numeric. For example, the classification component 212 can assign a classification value of 1 to the equipment parameter, indicating that the equipment parameter is consistent across all similar tools in the manufacturing system. In some embodiments, as described in the immediately preceding example, an equipment parameter that remains constant may be a numeric or text value. In another example, the classification component 212 can assign a classification value of 2 to the equipment parameter, indicating that the equipment parameter is constant within a specified process tool (e.g., a process chamber), but that variation between process tools may be tolerated. In a third example, the classification component 212 can assign a classification value of 3 to the equipment parameter, indicating that the equipment parameter falls within a range within the process tool. In another example, the classification component 212 can assign a classification value of 4 to an equipment parameter, indicating that the equipment parameter falls within a range across a fleet of similar process tools. In another example, the classification component 212 can assign a classification value of 5 to an equipment parameter, indicating that the equipment parameter remains constant, but that the value of the equipment parameter may change during preventive maintenance procedures. In another example, the classification component 212 can assign a classification value of 6 to an equipment parameter, indicating that the equipment parameter may constantly change value. In another example, the classification component 212 can assign a classification value of 6 to an equipment parameter, indicating that the equipment parameter increases at regular intervals (e.g., the equipment parameter is a counter). In some embodiments, the classification component 212 can assign other classification values not described herein to an equipment parameter.In some embodiments, the classification component 212 classifies the device parameters based on the EP characterization data 254 and / or the EP value data 256 (eg, current EP value data and / or historical EP value data).
[0041] The default value component 214 can be configured to assign default values and / or default value ranges to equipment parameters. During operation, the default value component 214 can generate and / or access EP value data 256, EP threshold data 258, and / or EP setpoint data 260. In some examples, via machine learning techniques, the default value component 214 may determine default values and / or default ranges corresponding to each equipment parameter. Specifically, the default value component 214 may determine that the default value of a given equipment parameter should be a specific determined value. Similarly, the default value component 214 may determine that the value of another given equipment parameter should be within a specific determined value range (e.g., between a determined lower limit and a determined upper limit). In some embodiments, the default value component 214 generates EP threshold data 258 indicating that an equipment parameter should have a value within a specific determined default threshold. Similarly, in some embodiments, the default value component 214 generates EP setpoint data 260 indicating that an equipment parameter should have a value at a specific determined default setpoint. In some examples, the default value component 214 may determine that a given equipment parameter should have a particular text value as a default. For example, the default value component 214 may determine that a text value of a given equipment parameter should indicate that the process tool should operate in a particular default mode. In some embodiments, the default value component 214 may use the EP classification data 252 and / or the EP characterization data 254 to determine the default equipment parameter values and / or ranges, in addition to the data used and / or generated as described herein above.
[0042] The detection component 216 can be configured to detect whether an equipment parameter value has drifted and / or should be updated. In some embodiments, the detection component 216 can use EP threshold data 258, EP setpoint data 260, EP value data 256, and / or corrective action data 262 during operation. In some embodiments, the detection component 216 can detect when an equipment parameter value has drifted outside an expected range. In some examples, the detection component 216 monitors current EP value data 256, which indicates that the equipment parameter value is outside a threshold (e.g., as indicated by EP threshold data 258) and / or has changed from a setpoint (e.g., as indicated by EP setpoint data 260). The detection component 216 can compare the equipment parameter value to a default value and / or default range (e.g., determined by machine learning as described herein). The detection component 216 can use machine learning techniques to perform such detection. For example, the detection component 216 can utilize one or more trained machine learning models (e.g., model 190 of FIG. 1 ) in detecting anomalies in the equipment parameter data. In some examples, the detection component 216 can utilize the historical EP value data 256 to determine that an equipment parameter value is outside an expected range and / or differs from an expected value. In some embodiments, the detection component 216 can determine a corrective action (e.g., as indicated by corrective action data 262). In some examples, the detection component 216 can determine that an equipment setting associated with the equipment parameter should be updated based on the output of a machine learning model. In some embodiments, the detection component 216 may determine the corrective action based on comparing a predicted value of a metric corresponding to the equipment parameter (e.g., a predicted value of the equipment parameter) with the current EP value data 256. In some embodiments, a notification of the corrective action is provided for display on a graphical user interface (GUI). The notification may indicate a discrepancy between the current EP value data and the predicted value of the metric.
[0043] FIG. 3 is a flow diagram of a method 300 for equipment parameter management in a manufacturing system according to an aspect of the present disclosure. Method 300 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one embodiment, method 300 may be performed by one or more components of a system architecture, such as system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of method 300 may be performed by one or more other machines not shown in the figure. In some aspects, one or more operations of method 300 may be performed by EP management engine 152. In yet other or similar aspects, one or more operations of method 300 may be performed by prediction component 114.
[0044] For ease of explanation, methods are shown and described as a series of acts. However, acts according to the present disclosure can be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Moreover, not all illustrated acts need be performed to implement a method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method can alternatively be represented as a series of interrelated states via a state diagram or events. Furthermore, it should be appreciated that the methods disclosed herein can be stored on an article of manufacture to facilitate transport and transfer of such methodologies to a computing device. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0045] At block 308, processing logic receives data associated with the equipment parameter. For example, processing logic (e.g., of EP management engine 152) receives data indicative of the equipment parameter (e.g., past and / or current EP value data 256). In some embodiments, processing logic receives data related to equipment parameters of multiple process tools in the manufacturing system. For example, processing logic may receive current and / or past values, metrics, and / or other characteristics associated with one or more equipment parameters of one or more process tools in the manufacturing system. The received data may be data collected over a certain period and / or a certain number of cycles of the manufacturing system. In some examples, the data is collected for a certain period of time, such as one day, two days, one week, etc. In some examples, the data is collected during a preventive maintenance cycle. In some embodiments, the data relates to EP value data 256 of FIG. 2.
[0046] In block 310, processing logic (e.g., of the EP management engine 152) characterizes the equipment parameter based on the data received in block 308. The characterization of the equipment parameter may be performed by the characterization component 210 of FIG. 2. In some embodiments, the processing logic (e.g., of the characterization component 210) may determine that a given equipment parameter should have a constant value within a fleet (e.g., a fleet of similar process tools), a constant value within a tool, a quasi-constant value (e.g., substantially constant, with only variation below a threshold, etc.), a randomly distributed value, an increasing value (e.g., like a counter), and / or a text value, as described herein. The processing logic may determine one or more characteristics of the equipment parameter based on the data received in block 308. In some embodiments, the characteristics of the equipment parameter are reflected in a metric corresponding to the equipment parameter. For example, the metric may indicate that the equipment parameter has a characteristic as described herein.
[0047] At block 312, processing logic (e.g., of EP management engine 152) classifies the equipment parameter based on the characteristics determined at block 310. The classification of the equipment parameter may be performed by classification component 212 of FIG. 2. In some embodiments, processing logic (e.g., of classification component 212) may assign a classification value to the equipment parameter based on the characteristics of the equipment parameter, as described herein. The classification value may indicate that the equipment parameter belongs to a discrete classification group, as described herein. In some embodiments, the classification of the equipment parameter is reflected in a metric corresponding to the equipment parameter. For example, the metric may indicate that the equipment parameter belongs to a discrete classification group, as described herein. The metric may indicate that the equipment parameter is assigned a particular classification value. Similar equipment parameters may be assigned similar classification values.
[0048] At block 314, processing logic (e.g., of EP management engine 152) generates a default device parameter value. In some embodiments, the default value is determined based on the data received at block 308 (e.g., historical EP value data 256) and / or based on the classification at block 312. In some embodiments, processing logic generates a default value range corresponding to the device parameter. For example, in response to an device parameter having a characteristic indicating that the device parameter can have a range of values (e.g., at block 310), processing logic may determine an upper and / or lower limit for the value range. The upper and / or lower limit may be default boundaries determined by processing logic. In another example, in response to an device parameter having a characteristic indicating that the device parameter should have discrete values (e.g., at block 310), processing logic may determine a setpoint corresponding to the device parameter. The setpoint may be a default value assigned to the device parameter. In some embodiments, the default value and / or default value range is reflected in a metric corresponding to the device parameter. For example, the metric may indicate the default value and / or default value range for the device parameter, as described herein. In some embodiments, a list of equipment parameters can be generated by analyzing each equipment parameter of multiple process tools in a manufacturing system (e.g., as is done for each individual equipment parameter in blocks 310, 312, and 314). This list can be used as a benchmark for the equipment parameters associated with the manufacturing system. In some embodiments, this list can be output for implementation in another manufacturing system. For example, a benchmark list of equipment parameters determined in a first manufacturing system (e.g., reflecting predicted equipment parameter characterization values, predicted equipment parameter classification values, predicted equipment parameter numerical values, etc.) can be used as a starting point in a second manufacturing system prior to adjusting the equipment parameters in the second manufacturing system.Additionally, processing logic may determine the importance (e.g., importance value) of the equipment parameter based on the characterization, classification, and / or historical value of the equipment parameter.
[0049] At block 316, processing logic (e.g., of the EP management engine 152) generates a threshold condition corresponding to the equipment parameter. In some examples, the threshold condition is based on the data received at block 308, the characterization determined at block 310, the classification determined at block 312, and / or the default value or range of values determined at block 314. The threshold condition may be a trigger condition for triggering a corrective action, as described herein. For example, the threshold condition may indicate that a corrective action needs to be taken if the value of the equipment parameter drifts and / or changes by a threshold amount from the default value and / or range determined at block 314. The threshold condition may establish a tolerance range for the value of the equipment parameter before a corrective action is taken. As another example, the threshold condition may allow the value of the equipment parameter to deviate from the default range (e.g., determined at block 314) by a threshold amount (e.g., a certain percentage of the range) before a preventive action is taken. If the value of the equipment parameter returns to the default range without exceeding the threshold condition, no preventive action may be taken. In some embodiments, the threshold condition may be associated with a duration. For example, a threshold condition may indicate that the value of a device parameter is allowed to be outside a default range or different from a set point (eg, a default value) for a certain amount of time.
[0050] At block 318, processing logic (e.g., of EP management engine 152) monitors equipment parameter values. In some embodiments, processing logic receives data indicating values of equipment parameters as substrates are processed (e.g., by one or more process tools at a fabrication facility). Processing logic may monitor the equipment parameters for changes in their values.
[0051] In block 320, processing logic (e.g., of EP management engine 152) determines whether the value of the equipment parameter satisfies the threshold condition determined in block 316. If the equipment parameter value satisfies the threshold condition, the method may end. However, if the equipment parameter value does not satisfy the threshold condition, the method may proceed to block 322. In some embodiments, processing logic compares the predicted value of the metric (e.g., determined in blocks 310, 312, and / or 314) with data received (e.g., in block 308 and / or during substrate processing). The processing logic may determine a discrepancy between the predicted value of the metric and the data. In some embodiments, the operations of block 318 and / or block 320 are performed by detection component 216 of FIG. 2 .
[0052] In block 322, processing logic (e.g., of the EP management engine 152) may cause a corrective action to be executed. In some embodiments, the corrective action may include updating an equipment setting associated with the equipment parameter. Updating the setting may return the value of the equipment parameter to a default value and / or a default range of values. In some embodiments, the corrective action may include providing a notification for display on a GUI. The notification may indicate a discrepancy between the data and a predicted value of the metric (e.g., determined in blocks 310, 312, and / or 314). In some embodiments, the notification may indicate (e.g., to a user) that the value of the equipment parameter should be updated. In some embodiments, the notification may indicate a process tool component failure and / or a process tool failure. In some embodiments, a user may override the processing logic by providing input (e.g., via a GUI) that the equipment parameter should not be updated. In some embodiments, a user may provide input that the equipment parameter should be updated by a user-determined amount. The user input may be included in the machine learning training data, as described below with reference to FIG. 4. Following the operations of block 322, the method may loop to block 318.
[0053] In some embodiments, any of block 310, block 312, block 314, block 316, and / or block 320 may be performed using machine learning techniques as described herein.
[0054] FIG. 4 is a flow diagram of a method 400 for training a machine learning model (e.g., machine learning model 190) according to an aspect of the present disclosure. Method 400 is performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic), software (e.g., running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, method 400 may be performed by one or more components of a system architecture, such as system architecture 100 of FIG. 1. In other or similar implementations, one or more operations of method 400 may be performed by one or more other machines not shown in the figure. In some aspects, one or more operations of method 400 may be performed by prediction server 112 of prediction system 110. In other or similar aspects, one or more operations of method 400 may be performed by EP management engine 152.
[0055] For ease of explanation, methods are shown and described as a series of acts. However, acts according to the present disclosure can be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Moreover, not all illustrated acts need be performed to implement a method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method can alternatively be represented as a series of interrelated states via a state diagram or events. Furthermore, it should be appreciated that the methods disclosed herein can be stored on an article of manufacture to facilitate transport and transfer of such methodologies to a computing device. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0056] At block 410, processing logic initializes a training set T to an empty set (e.g., {}). At block 412, processing logic identifies historical data associated with past equipment parameters of multiple process tools in the manufacturing system. In some embodiments, the historical data reflects past equipment parameter values. The historical data may include data collected during processing of substrates by multiple process tools. The historical data may have been collected over a period of time (e.g., a day, a week, a preventive maintenance cycle, etc., as described herein). In some embodiments, the historical data may further include context data associated with the past equipment parameters. For example, the historical data may include an indication of known bad process tools and / or known bad data. In some embodiments, processing logic may identify the historical data from data store 140 and / or memory 250, as described above.
[0057] At block 414, processing logic identifies a set of historical metrics corresponding to past equipment parameters of multiple process tools in the manufacturing system. In some embodiments, the historical metrics may correspond to past equipment parameter characterizations, classifications, and / or default values or ranges of default values. The historical metrics may be generated after collection of historical data during substrate processing (e.g., by one or more process tools) and stored in data store 140 and / or memory 250. Processing logic may identify the set of historical metrics from data store 140 and / or memory 250 according to embodiments described above.
[0058] At block 416, processing logic generates training input data based on the identified historical data associated with past equipment parameters. In some embodiments, the training input may include a set of normalized equipment parameter data (e.g., including equipment parameter values as described herein).
[0059] At block 418, processing logic may generate target output data based on the identified set of historical metrics. The generated target output data may, in some embodiments, correspond to metrics (e.g., classification metrics, characterization metrics, value metrics, etc.) of device parameters.
[0060] At block 420, processing logic generates a mapping between the training input data and the target output data. At block 422, processing logic adds the mapping to the training set T.
[0061] At block 424, processing logic determines whether training set T includes a sufficient amount of training data to train the machine learning model. Note that in some implementations, the sufficiency of training set T may be determined solely based on the number of mappings in the training set, while in some other implementations, the sufficiency of training set T may be determined based on one or more other criteria (e.g., a measure of diversity of training examples, etc.) in addition to or instead of the number of input / output mappings. If it is determined that the training set does not include a sufficient amount of training data to train the machine learning model, method 400 returns to block 412. If it is determined that training set T includes a sufficient amount of training data to train the machine learning model, method 500 proceeds to block 428.
[0062] At block 428, processing logic provides a training set T for training the machine learning model. In one embodiment, the training set T is provided to the training engine 182 of the server machine 180 to perform the training. In the case of a neural network, for example, input values of a given input / output mapping are input to the neural network, and output values of the input / output mapping are stored in output nodes of the neural network. The connection weights of the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and this procedure is repeated for other input / output mappings in the training set T. After block 428, the machine learning model 190 can be used to predict given process data and / or sensor data, metrology measurements associated with the substrate, and the amount of drift of the metrology measurements from a target metrology measurement, according to the embodiments described above.
[0063] 5 illustrates a model training workflow 505 and a model application workflow 517 for equipment parameter management, according to one embodiment. The model training workflow 505 and the model application workflow 517 may be performed by processing logic executed by a processor of a computing device. One or more of these workflows 505, 517 may be performed, for example, by one or more machine learning models implemented on the processing device and / or other software and / or firmware executing on the processing device.
[0064] The model training workflow 505 is to train one or more machine learning models (e.g., deep learning models) to determine predicted metrics associated with equipment parameters of process tools in a manufacturing system. The model application workflow 517 is to apply one or more trained machine learning models to perform equipment parameter management. Each of the equipment parameters 512 can indicate equipment settings of a process tool.
[0065] Various machine learning outputs are described herein. Specific numbers and configurations of machine learning models are described and shown. However, it should be understood that the number and types of machine learning models used, as well as the configurations of such machine learning models, can be changed to achieve the same or similar end results. Therefore, the configurations of the machine learning models described and shown are merely examples and should not be construed as limiting.
[0066] In some embodiments, one or more machine learning models are trained to perform one or more metric prediction tasks. Each task may be performed by a separate machine learning model. Alternatively, a single machine learning model may perform each or a subset of the tasks. For example, a first machine learning model may be trained to determine a first predicted metric, such as a characterization value or a classification value, and a second machine learning model may be trained to determine a second predicted metric, such as a predicted device parameter value or a range of predicted device parameter values. Additionally or alternatively, different machine learning models may be trained to perform different combinations of tasks. In one example, one or several machine learning models may be trained, and the trained machine learning (ML) model is a single shared neural network with multiple shared layers and multiple higher-level, individual output layers, each output layer outputting a different prediction, classification, identification, etc. For example, a first higher-level output layer may determine a characterization value or a classification value, and a second higher-level output layer may determine a predicted value of the device parameter.
[0067] One type of machine learning model that can be used to perform some or all of the above tasks is an artificial neural network, such as a deep neural network. Artificial neural networks generally include a feature representation component with a classifier or recurrent layer that maps features to a target output space. For example, a convolutional neural network (CNN) hosts multiple convolutional filter layers. Pooling may be performed and nonlinearities may be handled in lower layers, on top of which a multilayer perceptron is typically added to map the top-layer features extracted by the convolutional layers to a decision (e.g., classification output). Deep learning is a type of machine learning algorithm that uses multiple layers of nonlinear processing units in a cascade for feature extraction and transformation. Each subsequent layer uses the output from the previous layer as input. Deep neural networks can be trained in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. Deep neural networks include a hierarchical structure of layers, with different layers learning different levels of representations corresponding to different levels of abstraction. In deep learning, each level learns to transform its input data into a slightly more abstract and complex representation. Notably, the deep learning process can teach itself which features are best placed at which levels. The "deep" in "deep learning" refers to the number of layers through which data is transformed. More precisely, deep learning systems have significant credit assignment path (CAP) depth. A CAP is a chain of transformations from input to output. A CAP describes the potential causal relationship between input and output. For feedforward neural networks, the CAP depth may be the depth of the network or the number of hidden layers plus one. For recurrent neural networks, where a signal may propagate through layers more than once, the CAP depth is potentially unlimited.
[0068] Training a neural network may be accomplished in a supervised learning fashion, which involves feeding a training data set of labeled inputs through the network, observing its outputs, defining an error (by measuring the difference between the output and the label value), and adjusting the network weights across all layers and nodes of the network using techniques such as deep gradient descent and backpropagation so that the error is minimized. In many applications, repeating this process across many labeled inputs in the training data set results in a network that can produce correct outputs even when presented with inputs that differ from those present in the training data set.
[0069] For the model training workflow 505, a training data set containing hundreds, thousands, tens of thousands, hundreds of thousands, or more equipment parameters 512 must be used to form a training data set. The data may include, for example, historical equipment parameter values, characterizations, and / or classifications. This data can be processed to generate one or more training data sets 536 for training one or more machine learning models. The training data items in the training data set 536 may include equipment parameters 512, equipment parameter classifications, equipment parameter characterizations, and / or equipment parameter values.
[0070] To perform training, processing logic inputs the training dataset 536 into one or more untrained machine learning models. Before inputting the first input to the machine learning models, the machine learning models can be initialized. Processing logic trains the untrained machine learning models based on the training dataset to generate one or more trained machine learning models that perform various operations, such as those described above. Training can be performed by inputting input data, such as one or more equipment parameters 512 (e.g., equipment parameter characterizations, equipment parameter classifications, equipment parameter values, etc.) and / or age information of the process tool (e.g., process tool components), into the machine learning model one by one.
[0071] Machine learning models process inputs to generate outputs. An artificial neural network includes an input layer made up of data point values. The next layer is called the hidden layer, and each node in the hidden layer receives one or more of the input values. Each node includes parameters (e.g., weights) that it applies to the input values. Thus, each node essentially inputs the input values into a multivariate function (e.g., a nonlinear mathematical transformation) to generate an output value. The next layer may be another hidden layer or an output layer. In either case, the nodes in the next layer receive output values from the nodes in the previous layer, and each node applies a weight to these values and then generates its own output value. This can occur at each layer. The final layer is the output layer, which contains one node for each class, prediction, and / or output that the machine learning model can generate.
[0072] The output may therefore include one or more predictions or inferences (e.g., predicted values of metrics corresponding to device parameters). Processing logic may compare the output estimated metrics with historical metrics. Processing logic determines an error (i.e., classification error) based on the difference between the estimated metrics and the target metrics. Processing logic adjusts the weights of one or more nodes of the machine learning model based on the error. An error term or delta may be determined for each node of the artificial neural network. Based on this error, the artificial neural network adjusts one or more of its parameters (weights of one or more inputs of the node) for one or more of its nodes. Parameters may be updated in a back-propagation fashion, with nodes in the top layer updated first, followed by nodes in the next layer, and so on. An artificial neural network includes multiple layers of "neurons," each receiving values as inputs from neurons in the previous layer. The parameters of each neuron include weights associated with values received from each of the neurons in the previous layer. Adjusting the parameters may therefore include adjusting weights assigned to each of the inputs of one or more neurons in one or more layers of the artificial neural network.
[0073] Once the model parameters are optimized, model validation can be performed to determine whether the model has improved and to determine the current accuracy of the deep learning model. After one or more training rounds, the processing logic can determine whether a stopping criterion has been met. The stopping criterion may be a target accuracy level, a target number of processed images from the training dataset, a target amount of change in parameters relative to one or more previous data points, combinations thereof, and / or other criteria. In one embodiment, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy has been achieved. The threshold accuracy may be, for example, 70%, 40%, or 90% accuracy. In one embodiment, the stopping criterion is met when the accuracy of the machine learning model no longer improves. If the stopping criterion is not met, further training is performed. If the stopping criterion is met, training can be completed. Once the machine learning model is trained, the model can be tested using a reserved portion of the training dataset. Once one or more trained machine learning models 538 are generated, they may be stored in model storage 545 or added to the EP management engine 152.
[0074] For the model application workflow 517, according to one embodiment, the input data 562 may be input to one or more EP metric determiners 567, each of which may include a trained neural network or other model. Additionally or alternatively, the one or more EP metric determiners 567 may apply image processing algorithms to determine chamber component conditions. The input data may include values of equipment parameters (e.g., characterization values, classification values, numeric values, etc.). Based on the input data 562, the EP metric determiners 567 may output one or more predicted EP metrics 569. The predicted EP metrics 569 may include metrics corresponding to the equipment parameters (e.g., metrics reflecting one or more of the characterizations, classifications, or values, etc.).
[0075] The action determiner 572 can determine one or more actions 570 to perform based on the predicted EP metrics 569. In one embodiment, the action determiner 572 compares the predicted EP metrics to data indicative of equipment settings. If one or more of the predicted EP metrics differ from the data by more than a threshold amount, the action determiner 572 can determine that updating equipment parameters and / or equipment settings is recommended for future substrate processing and can output a recommendation or notification to update the equipment parameters and / or equipment settings. In some embodiments, the action determiner 572 automatically updates the equipment parameter metrics based on the predicted EP metrics 569 that meet one or more criteria. However, in some embodiments, a user may provide input (e.g., via a GUI) to update the equipment parameters (e.g., based on the output recommendation or notification). The user can provide input to processing logic to not update the equipment parameters or to update the equipment parameters by a specified amount (e.g., specified by the user). In some examples, the user can provide input to update the equipment parameters by an amount different from the amount recommended by the action determiner 572.
[0076] FIG. 6 is a flow diagram of a method 600 for estimating device parameters using machine learning according to an aspect of the present disclosure. Method 600 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, method 600 may be performed by one or more components of a system architecture, such as system architecture 100 of FIG. 1. In other or similar implementations, one or more operations of method 600 may be performed by one or more other machines not shown. In some aspects, one or more operations of method 600 may be performed by prediction server 112 of prediction system 110. In other or similar aspects, one or more operations of method 600 may be performed by EP management engine 152.
[0077] For ease of explanation, methods are shown and described as a series of acts. However, acts according to the present disclosure can be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Moreover, not all illustrated acts need be performed to implement a method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method can alternatively be represented as a series of interrelated states via a state diagram or events. Furthermore, it will be appreciated that the methods disclosed herein can be stored on an article of manufacture to facilitate transport and transfer of such methodologies to a computing device. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0078] At block 610, processing logic (e.g., of a processing device, EP management engine 152, etc.) receives first data associated with an equipment parameter. In some embodiments, the equipment parameter includes one or more of a calibration value, an offset value, and / or a scaling factor value associated with a process tool (e.g., a component of a process tool, etc.). The first data may indicate an equipment setting of one of a plurality of process tools in the first manufacturing system. In some examples, the first data reflects one or more values and / or characteristics of the equipment parameter. Each of the values may correspond to a setting of the process tool.
[0079] At block 612, processing logic provides first data as input to a trained machine learning model (e.g., model 190 of FIG. 1 ). In some embodiments, the trained machine learning model is trained using historical data related to equipment parameters of multiple process tools. For example, the trained machine learning model may be trained using input data identifying each equipment parameter of each process tool in a manufacturing system. The trained machine learning model may be trained using target output data identifying a value of a metric corresponding to each equipment parameter. In some embodiments, processing logic receives second data associated with the equipment parameters and provides the second data to the trained machine learning model as further training input data to further train the trained machine learning model. In some embodiments, the second data is data collected after an update to one or more equipment parameters (e.g., one or more updates to one or more equipment parameter values).
[0080] At block 614, processing logic obtains a predicted value of a metric corresponding to the equipment parameter as an output of the trained machine learning model. In some embodiments, the predicted value of the metric may include a predicted characterization value indicative of a characteristic of the equipment parameter. In some embodiments, the predicted value of the metric may include a predicted default value associated with a setpoint for the equipment parameter. In some embodiments, the predicted value of the metric may include a predicted range of a default value associated with the equipment parameter.
[0081] At block 616, processing logic compares the predicted value of the metric to the first data. For example, processing logic may compare the predicted value of the metric reflecting a predicted device parameter value to the device parameter value reflected in the first data. In another example, processing logic may compare the predicted value of the metric reflecting a predicted characterization value to the device parameter characterization value reflected in the first data.
[0082] At block 618, processing logic performs a corrective action (e.g., causes the corrective action to be performed) based on the comparison at block 616. In some embodiments, the corrective action may be performed in response to determining that a discrepancy exists between the predicted value of the metric and the first data. For example, the corrective action may be performed in response to determining that a predicted characterization value (e.g., as reflected by the predicted metric) does not match the characterization value reflected in the first data. In another example, the corrective action may be performed in response to determining that a predicted device parameter value (e.g., as reflected by the predicted metric) does not match the device parameter value reflected in the first data. In some embodiments, the corrective action includes updating device settings associated with the device parameter. For example, the device settings may be updated to update the value and / or characterization of the device parameter to match (e.g., more closely match) the predicted value / characterization, etc. reflected in the predicted metric. In some embodiments, notification of the corrective action may be provided in the GUI.
[0083] FIG. 7 illustrates a block diagram of an exemplary computer system 700 that operates in accordance with one or more aspects of the present disclosure. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine may operate as a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet computer, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, a switch, or a bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Furthermore, while only a single machine is shown, the term “machine” should also be interpreted to include any collection of machines (e.g., computers) that individually or jointly execute a set (or sets) of instructions to perform any one or more of the methodologies discussed herein. In an embodiment, the computing device 700 may correspond to the prediction server 112 of FIG. 1 and / or another processing device of the manufacturing system 100.
[0084] The exemplary computing device 700 includes a processing unit 702, a main memory 704 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 706 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device 728), which communicate with each other via a bus 708.
[0085] Processing unit 702 may represent one or more general-purpose processors, such as a microprocessor, a central processing unit, or the like. More specifically, processing unit 702 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. Processing unit 702 may also be one or more special-purpose processing units, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. Processing unit 702 may be or include a system-on-chip (SoC), a programmable logic controller (PLC), or other type of processing unit. Processing unit 702 is configured to execute processing logic for performing the operations discussed herein.
[0086] The computing device 700 may further include a network interface device 722 for communicating with a network 764. The computing device 700 may also include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), and a signal generating device 720 (e.g., a speaker).
[0087] The data storage device 728 may include a machine-readable storage medium (or, more specifically, a non-transitory computer-readable storage medium) 724 having stored thereon a set of one or more instructions 726 that embody any one or more of the methodologies or functions described herein. Here, non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions 726 may also reside, completely or at least partially, within the main memory 704 and / or within the processing unit 702 during execution thereof by the computing device 700, with the main memory 704 and the processing unit 702 also constituting computer-readable storage media.
[0088] The computer-readable storage medium 724 can also be used to store the model 190 and data used to train the model 190. The computer-readable storage medium 724 can also store a software library containing methods for invoking the model 190. While the computer-readable storage medium 724 is shown in the exemplary embodiment as being a single medium, the term "computer-readable storage medium" should be interpreted 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 instructions. The term "computer-readable storage medium" should also be interpreted to include any medium capable of storing or encoding a set of instructions that are executed by a machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. Accordingly, the term "computer-readable storage medium" should be interpreted to include, but is not limited to, solid-state memory, and optical and magnetic media.
[0089] The foregoing description has set forth numerous specific details, such as examples of specific systems, components, methods, etc., to provide a thorough understanding of some embodiments of the present disclosure. However, it will be apparent to those skilled in the art that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components or methods have not been described in detail or have been presented in simple block diagram form to avoid unnecessarily obscuring the disclosure. Thus, the specific details described are merely exemplary. Particular implementations may vary from these exemplary details and still be construed as being within the scope of the present disclosure.
[0090] Throughout this specification, a reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." When the term "about" or "approximately" is used herein, it is intended to mean that the stated nominal value is accurate to within ±10%.
[0091] Although the operations of the methods herein are shown and described in a particular order, the order of the operations of each method may be changed such that certain operations may be performed at least in part concurrently with other operations, or such that certain operations may be performed in reverse order. In alternative embodiments, instructions or sub-operations of separate operations may be performed intermittently and / or alternately.
[0092] It is to be understood that the above description is intended to be illustrative, and not limiting. Many other embodiments will be apparent to those skilled in the art upon reading and understanding the above description. The scope of the present disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. receiving first data indicative of settings associated with equipment parameters of one of a plurality of process tools of a first manufacturing system; providing at least the first data as input to a trained machine learning model, the trained machine learning model being trained using historical data regarding equipment parameters of the plurality of process tools of the first manufacturing system; obtaining, as an output of the trained machine learning model, a predicted value of a metric corresponding to the device parameter; comparing the predicted value of the metric with the first data; performing corrective action based on said comparing step; A method comprising:
2. updating the device settings associated with the device parameters based on the predicted values of the metrics; The method of claim 1 further comprising:
3. The corrective measures are: providing a notification for display on a graphical user interface (GUI) indicating a discrepancy between the first data and the predicted value of the metric; The method of claim 1 , comprising:
4. 2. The method of claim 1, wherein the historical data for the equipment parameters of the plurality of process tools comprises training input data identifying each equipment parameter and target output data identifying a value of a metric corresponding to each equipment parameter.
5. receiving second data associated with the device parameter; providing the second data as training input data to the trained machine learning model to further train the trained machine learning model; The method of claim 4 further comprising:
6. The predicted value of the metric is: a predicted characterization value indicative of a characteristic of said device parameter; or a predicted default value associated with the setpoint of said equipment parameter; The method of claim 1 , comprising one or more of:
7. outputting at least one of the predicted characterization values or the predicted default values for implementation at a second manufacturing system; The method of claim 6 further comprising:
8. The method of claim 1 , wherein the equipment parameters include one or more of a calibration value, an offset value, or a scaling factor value associated with the process tool.
9. Memory and a processing unit coupled to the memory, receiving first data indicative of settings associated with equipment parameters of one of the plurality of process tools of the first manufacturing system; providing at least the first data as input to a trained machine learning model, the trained machine learning model being trained using historical data regarding equipment parameters of the plurality of process tools of the first manufacturing system; obtaining, as an output of the trained machine learning model, a predicted value of a metric corresponding to the device parameter; comparing the predicted value of the metric to the first data; performing corrective action based on said comparison; a processing device; A system comprising:
10. The processing device further updating the device settings associated with the device parameters based on the predicted values of the metrics. The system of claim 9.
11. The corrective measures are: providing a notification for display on a graphical user interface (GUI) indicating a discrepancy between the first data and the predicted value of the metric; The system of claim 9 , comprising:
12. 10. The system of claim 9, wherein the historical data regarding the equipment parameters of the plurality of process tools comprises training input data identifying each equipment parameter and target output data identifying a value of a metric corresponding to each equipment parameter.
13. The predicted value of the metric is: a predicted characterization value indicative of a characteristic of said device parameter; or a predicted default value associated with the setpoint of said equipment parameter; The system of claim 9 , comprising one or more of:
14. 10. The system of claim 9, wherein the equipment parameters include one or more of a calibration value, an offset value, or a scaling factor value associated with the process tool.
15. When executed by a processor, the processor: receiving first data indicative of settings associated with equipment parameters of one of the plurality of process tools of the first manufacturing system; providing at least the first data as input to a trained machine learning model, the trained machine learning model being trained using historical data regarding equipment parameters of the plurality of process tools of the first manufacturing system; obtaining, as an output of the trained machine learning model, a predicted value of a metric corresponding to the device parameter; comparing the predicted value of the metric with the first data; performing corrective action based on said comparison; A non-transitory computer-readable medium containing instructions.
16. The processing device further updating the device settings associated with the device parameters based on the predicted values of the metrics.
16. The non-transitory computer-readable medium of claim 15.
17. 16. The non-transitory computer-readable medium of claim 15, wherein the historical data regarding the equipment parameters of the plurality of process tools includes training input data identifying each equipment parameter and target output data identifying a value of a metric corresponding to each equipment parameter.
18. The processing device further receiving second data associated with the device parameter; providing the second data as training input data to the trained machine learning model to further train the trained machine learning model; 20. The non-transitory computer-readable medium of claim 17.
19. The predicted value of the metric is: a predicted characterization value indicative of a characteristic of said device parameter; or a predicted default value associated with the setpoint of said equipment parameter; 16. The non-transitory computer-readable medium of claim 15, comprising one or more of:
20. 16. The non-transitory computer-readable medium of claim 15, wherein the equipment parameters include one or more of a calibration value, an offset value, or a scaling factor value associated with the process tool.
Citation Information
Patent Citations
Correcting component failures in ion implantation semiconductor manufacturing tools
JP2022523101A
Electronic system for testing and controlling semiconductor manufacturing equipment
US20180182653A1
Automatic and adaptive fault detection and classification limits
US20210042570A1