Machine learning-based equipment parameter management in manufacturing systems
Patent Information
- Application Number
- JP2025511583
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-08-22
- Filing Date
- 2023-08-21
- Publication Date
- 2026-09-14
- Estimated Expiration
- 2043-08-21
Smart Images

Figure 0007920442000001 
Figure 0007920442000002 
Figure 0007920442000003
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to manufacturing systems, and more particularly to management of apparatus parameters in manufacturing systems using machine learning. Background Art
[0002] As the size of electronic devices continues to shrink, the complexity of substrate processing continues to increase. Techniques for manufacturing substrates may involve a plurality of different processes. Furthermore, a plurality of apparatuses may be used to manufacture substrates, and many apparatuses constitute a substrate manufacturing system and / or a substrate manufacturing facility. Each apparatus can operate based on a plurality of apparatus parameters. The apparatus parameters can determine how the apparatus may operate. A set of a plurality of apparatus parameters can be used as a benchmark for operating the apparatus to manufacture substrates. In order to optimize the processes performed by the substrate manufacturing apparatus, determining how much to modify a set of apparatus parameters and / or individual apparatus parameters can be difficult and time-consuming. Summary of the Invention
[0003] The following is a simplified summary of the present disclosure to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the present disclosure. It is not intended to identify key or critical elements of the present disclosure, nor to delineate the scope of the specific embodiments of the present disclosure or the scope of the claims. Its sole purpose is to present some concepts of the present disclosure in a simplified form as a prelude to the more detailed description presented later.
[0004] In some embodiments, the method includes the step of receiving first data associated with equipment parameters. The first data represents the equipment settings of one process tool among a plurality of process tools in a first manufacturing system. The method further includes the step of providing the first data as input to a trained machine learning model. The trained machine learning model is trained using historical data on the equipment parameters of the plurality of process tools in the first manufacturing system. The method further includes the step of obtaining predicted values of metrics corresponding to the equipment parameters as output of the trained machine learning model. The method further includes the steps of comparing the predicted values of the metrics with the first data and taking corrective actions based on the comparison.
[0005] In some embodiments, the system includes memory and a processing unit coupled to the memory. The processing unit receives first data associated with equipment parameters. The first data represents the equipment settings for one of several process tools in a first manufacturing system. The processing unit further provides the first data as input to a trained machine learning model. The trained machine learning model is trained using historical data on the equipment parameters of several process tools in the first manufacturing system. The processing unit further obtains predicted values of metrics corresponding to the equipment parameters as output of the trained machine learning model. The processing unit further compares the predicted values of the metrics with the first data and takes corrective action based on the comparison.
[0006] In some embodiments, a non-temporary computer-readable medium, when executed by the processor, includes instructions causing the processor to receive first data associated with a device parameter. The first data represents the device configuration of one of several process tools in a first manufacturing system. The processor further provides the first data as input to a trained machine learning model. The trained machine learning model is trained using historical data on the device parameters of several process tools in the first manufacturing system. The processor further obtains predicted values of metrics corresponding to the device parameters as output of the trained machine learning model. The processor further compares the predicted values of the metrics with the first data and takes corrective action based on the comparison.
[0007] This disclosure is illustrated, not limited, in the drawings of the accompanying drawings, where similar reference numerals indicate similar elements. Different references to “an” or “one” embodiments in this disclosure do not necessarily refer to the same embodiment, but rather mean at least one. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows an exemplary system architecture according to an aspect of this disclosure. [Figure 2] This is a block diagram of an exemplary device parameter management engine according to an aspect of the present disclosure. [Figure 3] This is a flowchart of a method for managing equipment parameters in a manufacturing system according to an aspect of this disclosure. [Figure 4] This is a flowchart of a method for training a machine learning model according to the aspects of this disclosure. [Figure 5] This figure shows a model training workflow and a model application workflow for device parameter management according to one embodiment. [Figure 6] This is a flowchart of a method for estimating device parameters using machine learning according to the aspects of this disclosure. [Figure 7] This is a block diagram of an exemplary computer system operating in accordance with one or more aspects of the present disclosure. [Modes for carrying out the invention]
[0009] Embodiments described herein provide systems and methods for machine learning-based control of equipment parameters in manufacturing systems. 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 the size of electronic devices continues to shrink, process tools are becoming increasingly complex. For example, each process tool may include multiple sensors, valves, heating elements, or other components to perform substrate processing during the 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 the setting of a heating element placed in a process chamber. In another example, an equipment parameter may relate to the calibration settings of sensors (e.g., temperature sensors, flow sensors, etc.) that monitor the internal conditions of a process tool (e.g., process chamber, transfer chamber, etc.). In yet another example, an equipment parameter may reflect the offset required for a substrate transfer robot to operate relative to a given reference point (e.g., a "zero" point).
[0011] As substrates are processed, at least some equipment parameters may change to ensure that the substrates being processed in the manufacturing system continue to meet process objectives. Similarly, some equipment parameters may change as the equipment wears down. For example, a sensor may gradually deviate from its calibration and begin reporting incorrect sensor data to the controller (e.g., processing unit, processor, etc.). One or more equipment parameters related to sensor calibration may be modified during substrate processing to ensure that the sensor data accurately reflects the process state (e.g., substrate process, process chamber state, etc.). Some equipment parameters differ 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 operating hours, maintenance schedules, component variations, etc.), and therefore, different equipment parameters associated with the same setup of different process tools may need to have different values.
[0012] Certain equipment parameters may be more important (e.g., more critical) than others. For example, a change to a given equipment parameter may have a greater impact on substrate processing than a similar change to a given equipment parameter. Because this change can be caused by a change in equipment parameters, it may be beneficial to monitor equipment parameters to prevent them from drifting outside a predetermined range. In some cases, drifting equipment parameters may indicate to the user (e.g., an engineer or technician) that there is a defect in a component of the substrate manufacturing system. Drifting equipment parameters may also indicate that the processed substrate may not match the target processing result. Corrective action may be required to bring the equipment parameters back within their predetermined range.
[0013] A set of equipment parameters associated with a manufacturing system's process tools (e.g., a list of equipment parameters) can be used as a benchmark for operating the manufacturing system. For example, a list of equipment parameters can indicate the initial settings of several components of a process tool in a manufacturing system. When a new manufacturing system is put into operation (e.g., when it is first run to manufacture circuit boards), the manufacturing system can operate using the initial list of equipment parameters. Each individual equipment parameter may be modified over time to optimize the manufacturing system and / or to account for differences in process tools, such as component tolerances and variations.
[0014] Traditionally, one or more users of a manufacturing system (e.g., a human user) edited the list of equipment parameters. The user (or multiple users) could determine the default value or range of default values for each equipment parameter after extensive research and / or experimentation. The user could also determine the importance of each equipment parameter and assign an importance value to each. The user could make these decisions by reviewing data collected during the operation of the manufacturing system. Because of the large (sometimes extremely large) number of equipment parameters, users could spend a tremendous amount of time and resources editing the list of equipment parameters and their default values.
[0015] Aspects of this disclosure address the shortcomings of conventional methods for monitoring equipment parameters and assigning default values to them by providing a system and method for managing equipment parameters in a manufacturing system using machine learning. In some embodiments, a processing unit (e.g., a processor, 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 an equipment parameter is within an appropriate range of values. 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 the 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 a severity value to each equipment parameter, each severity value corresponding to the severity of each equipment parameter. Machine learning techniques can also be used to predict updates for each equipment parameter based on the current value and historical data of the equipment parameter. Through machine learning, the equipment parameters may be modified to optimize the manufacturing of substrates in a manufacturing facility.
[0016] Embodiments of this disclosure provide techniques for optimizing a substrate manufacturing process using machine learning. Embodiments of this disclosure utilize machine learning techniques to monitor and / or update equipment parameters during substrate manufacturing and / or substrate processing. Furthermore, embodiments of this disclosure utilize machine learning techniques to edit a list of equipment parameters and assign default values, default ranges, and / or default importance values to each equipment parameter. Traditionally, performing the functions described in this disclosure relied on human users. Therefore, the methods and systems disclosed herein can reduce the time required to edit the list of equipment parameters and can largely eliminate the human bias and inaccuracies of conventional methods. Furthermore, the systems and methods described herein can be used to quickly address fluctuations in equipment parameters, thereby improving the accuracy and overall throughput of the manufacturing system.
[0017] Figure 1 shows an exemplary system architecture 100 according to an aspect 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, a manufacturing apparatus 124, a measuring apparatus 128, a prediction server 112 (for example, 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 apparatus 124 may include sensors configured to capture data of substrates being processed in the manufacturing system. In some embodiments, the manufacturing apparatus 124 and sensors may be part of a sensor system including a sensor server (e.g., a field service server (FSS) in a manufacturing facility) and a sensor identifier reader (e.g., a forward-opening unified pod (FOUP) radio frequency identification (RFID) reader for a sensor system). In some embodiments, the measuring device 128 may be part of a measuring system that includes a measuring server (e.g., a measuring database, measuring folders, etc.) and a measuring identifier reader (e.g., a FOUP RFID reader for the measuring system). Although the measuring device 128 and the manufacturing device 124 are shown as separate components in Figure 1, it should be noted that the measuring device 128 may be included as part of the manufacturing device 124. For example, the manufacturing device 124 may include process tools. One or more components of the measuring device 128 may be integrated into one or more components or stations of the process tools. For example, one or more components of the measuring device 128 may be integrated into the factory interface, load lock, transfer chamber, process chamber, and / or one or more additional stations of the process tools of the manufacturing device 124.
[0018] The manufacturing apparatus 124 produces products by running runs according to a policy and / or over a period of time. The manufacturing apparatus 124 may include one or more sensors configured to generate data on the substrate (called sensor data) during the substrate process. The sensor data may include one or more values such as 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 indicate manufacturing parameters such as hardware parameters such as the settings or components of the manufacturing apparatus 124 (e.g., size, type, etc.), apparatus parameters of the manufacturing apparatus 124, or process parameters of the manufacturing apparatus 124. The sensor data may be provided while the manufacturing apparatus 124 is running the manufacturing process (e.g., apparatus readings as it processes products). The sensor data may differ from substrate to substrate.
[0019] In some embodiments, the manufacturing apparatus 124 operates based on apparatus parameters (e.g., parameters, hardware parameters, apparatus constants, etc.). Parameters may determine the behavior of the manufacturing apparatus. In some examples, apparatus parameters include calibration values, offset values, and / or scaling factor values related to the operation of the manufacturing apparatus 124. In certain examples, the processing unit (e.g., processor) of the manufacturing apparatus 124 can use the scaling factor to scale data received via sensors. In another example, the processing unit can use the calibration value to calibrate one or more sensors. In some embodiments, 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 tools, such as increased operating time or increased wear. In some embodiments, some parameters of a given manufacturing tool may remain constant over time. Some parameters may change 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, periodic maintenance, cleaning, etc.). Some parameters are qualitative, meaning they relate to the operating mode of the manufacturing tool. Data regarding the device parameters may be stored in datastore 140, as described herein.
[0020] The measuring device 128 provides measurement data associated with a substrate (e.g., a wafer) processed by the manufacturing device 124. The measurement data may include one or more values from among film property data (e.g., wafer space film properties), dimensions (e.g., thickness, height), dielectric constant, dopant concentration, density, defects, etc. In some embodiments, the measurement data may further include values of one or more surface profile property data (e.g., etching rate, etching rate uniformity, limit dimensions of one or more features contained on the surface of the substrate, uniformity of limit dimensions across the surface of the substrate, edge placement error, etc.). The measurement data may be for a finished product or a semi-finished product. The measurement data may differ from substrate to substrate. In some embodiments, the measuring device 128 can collect measurement data for each substrate processed by the manufacturing device 124. In other or similar embodiments, the measuring device 128 can collect measurement data for a subset of substrates processed by the manufacturing device 124. For example, a large number of substrates can be processed by the manufacturing device 124. The measuring device 128 can collect measurement data from a portion of the substrates in a lot (for example, 15% of the substrates in a lot, 20% of the substrates in a lot, etc.). In some embodiments, a system of the system architecture 100 (for example, a prediction system 110) can associate the measurement data collected for a portion of the substrates in a lot as representative of the measurement data for each substrate in the lot.
[0021] The client device 120 includes computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablet computers, netbook computers, network-attached televisions ("smart TVs"), network-attached media players (e.g., Blu-ray® players), set-top boxes, over-the-top (OTT) streaming devices, and operator boxes. In some embodiments, measurement data may be received from the client device 120. In some embodiments, apparatus parameter data may be received from the client device 120. In some embodiments, the client device 120 displays a graphical user interface (GUI) through which the user can provide measurement values of substrates processed in the manufacturing system as input. In some embodiments, the GUI may allow the user to provide apparatus parameter values associated with the manufacturing apparatus 124 as input. In other or similar embodiments, the client device 120 may display another GUI that allows the user to provide a display of the type of substrate processed in the manufacturing system, the type of process performed on the substrate, and / or the type of apparatus in the manufacturing system as input.
[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 a plurality of storage components (e.g., a plurality of drives or a plurality of databases) that may span a plurality of computing devices (e.g., a plurality of server computers). In some embodiments, the data store 140 may store data associated with parameters of a manufacturing tool (referred to herein as parameter data). The parameter data may include instructions for one or more manufacturing apparatus settings. The manufacturing apparatus settings may relate to sensor calibration and / or other apparatus parameters. In some embodiments, the parameter data may refer to historical parameter data (e.g., parameter data associated with previous settings of the manufacturing apparatus 124), and / or current parameter data (e.g., parameter data associated with current apparatus settings).
[0023] In additional or alternative embodiments, data store 140 can store data collected for a substrate by sensors of manufacturing apparatus 124 or sensors coupled to manufacturing apparatus 124 before, during, and / or after performance of a substrate process (referred to herein as sensor data). For example, a process chamber can include one or more sensors (e.g., a temperature sensor, a spectral sensor, etc.) configured to collect data of the substrate and / or an environment within the process chamber before, during, or after a substrate process. A computing system associated with system architecture 100 (e.g., prediction system 110, a system controller for manufacturing apparatus 124, etc.) can receive sensor data collected before, during, or after the substrate process, and can store the sensor data in data store 140. In some embodiments, sensor data can refer to historical sensor data (e.g., sensor data collected for a previous substrate processed in accordance with a previous substrate process) and / or current sensor data (e.g., sensor data collected for a current substrate being processed or to be processed in accordance with a current substrate process).
[0024] In some embodiments, data store 140 can store additional types of data. For example, the data store can store metrology data associated with substrates processed using manufacturing apparatus 124. Metrology data can include historical metrology data (e.g., metrology measurements generated for previous substrates processed using manufacturing apparatus 124) and / or current metrology data (e.g., metrology measurements generated for a current substrate processed using manufacturing apparatus 124). Data store 140 can also store context data associated with one or more substrates (e.g., previous substrates, current substrates, etc.) in a manufacturing system. Context data can include process recipe identifiers, identifiers of substrates (and / or lots of substrates), preventive maintenance indicators, operator identifiers, among others.
[0025] In some embodiments, the data store 140 may be configured to store data that is inaccessible to users of the manufacturing system (e.g., operators, engineers, etc.). For example, process data, sensor data, measurement 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 the data store 140 is inaccessible to users of the manufacturing system (e.g., operators). In other or similar embodiments, some of the data stored in the data store 140 is inaccessible to users, while other parts of the data stored in the data store 140 are accessible to users. In some embodiments, one or more parts of the data stored in the data store 140 are encrypted using an encryption mechanism unknown to users (e.g., the data is encrypted using a secret encryption key). In other or similar embodiments, the 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 instrument 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 connected to the prediction server 112 via the network 130 (for example, 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 the instrument parameters of the manufacturing apparatus 124 to optimize substrate processing in the manufacturing system. In some embodiments, the EP management engine 152 may determine predicted values corresponding to the instrument parameters (for example, via the prediction system 110). In some embodiments, the EP management engine 152 may output a list of instrument parameters corresponding to process tools of the manufacturing apparatus 124. The list of instrument parameters may include predicted default values and / or ranges of default values corresponding to each instrument parameter. 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 the equipment settings (e.g., for the manufacturing equipment 124) based on these equipment parameters and / or based on historical equipment parameter data. In some embodiments, the EP management engine 152 can update the equipment settings and / or equipment parameters based on metrics output from a trained machine learning model (e.g., predicted values, predicted characteristic values, predicted classification values, predicted importance values, etc.). In some examples, the EP management engine 152 updates equipment parameters based on the reception of metrics (e.g., output from a trained machine learning model, output from a prediction system 110, etc.) indicating that the settings of a process tool (e.g., process chamber, transfer chamber, etc.) have drifted. In some embodiments, the EP management engine 152 may update equipment parameters (e.g., corresponding to the manufacturing equipment 124) based on various tool states. For example, the EP management engine 152 can update equipment parameters based on tool failure states, tool maintenance states (e.g., preventive maintenance states), and / or normal operating states, etc. In some embodiments, one or more equipment parameters reflect various tool states. In some embodiments, the EP management engine 152 may provide notifications to be displayed on a GUI (e.g., on the client device 120) indicating that the process tool settings have drifted and 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 the equipment parameters to determine whether similar process tools (e.g., on the manufacturing equipment 124) are processing the substrate in a similar manner (e.g., substantially similar manner) to achieve the target process results.
[0028] With respect to Figure 2, as described below herein, in some embodiments, the EP management engine 152 can characterize the device parameters. In some embodiments, the EP management engine 152 can determine the characteristics of the device parameters. In some embodiments, the EP management engine 152 can classify the device parameters based on their characteristics (e.g., the device parameters described herein above), as described in more detail below herein. In some embodiments, the EP management engine 152 can assign and / or predict default values and / or ranges of default values for the device parameters, as described herein. In some embodiments, as described herein, the EP management engine 152 can detect whether the device parameter values have drifted and / or should be updated. In many embodiments, the above functions of the EP management engine 152 can be achieved using machine learning techniques, as described below herein.
[0029] In some embodiments, the prediction system 110 includes server machines 170 and 180. Server machine 170 includes a training set generator 172 that can generate training datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing a machine learning model 190. As described herein, the machine learning model 190 can be trained to predict one or more metrics corresponding to a given instrument parameter based on instrument parameter data and / or sensor data associated with one or more process tools. In some examples, the machine learning model 190 can predict updated instrument parameters and / or updated instrument settings. In some examples, the machine learning model 190 (and / or another machine learning model) can predict characterization and / or classification of a given instrument parameter. In some examples, the machine learning model 190 (and / or another machine learning model) can predict importance values corresponding to an instrument parameter. The predicted importance values can indicate the importance of the instrument parameter. For example, the predicted importance values can indicate how much the associated instrument parameter influences the change. Some operations of the training set generator 172 are described in detail below with reference to Figure 4. In some embodiments, the training set generator 172 can 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 can refer to hardware (e.g., circuits, custom logic, programmable logic, microcode, processors, etc.), software (e.g., processors, general-purpose computer systems, or instructions executed on a custom machine), firmware, microcode, or a combination thereof. The training engine 182 can train a machine learning model 190. The machine learning model 190 can refer to a model artifact created by the training engine 182 using training data that includes training inputs and corresponding target outputs (the correct answers for each training input). The training engine 182 can find patterns in the training data that map 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 the following: support vector machines (SVMs), radial basis functions (RBFs), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithms (k-NNs), linear regression, random forests, neural networks (e.g., artificial neural networks), 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 can validate the trained machine learning models 190 using the corresponding feature sets of the validation sets from the training set generator 172. The validation engine 184 can determine the accuracy of each of the trained machine learning models 190 based on the corresponding feature sets of the validation sets. The validation engine 184 can discard trained machine learning models 190 that have accuracy that does not meet a threshold accuracy. In some embodiments, the selection engine 185 can select trained machine learning models 190 that have accuracy that meets a threshold accuracy. In some embodiments, the selection engine 185 can select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0032] The test engine 188 can test the trained machine learning models 190 using the corresponding feature sets of the test sets from the training set generator 172. For example, a first trained machine learning model 190 trained using the first feature set of the training set can be tested using the first feature set of the test set. Based on the test sets, the test engine 188 can determine which of all trained machine learning models has the highest accuracy.
[0033] The prediction server 112 includes a prediction component 114 that provides equipment parameter data and / or sensor data associated with the manufacturing equipment 124 as input to a trained machine learning model 190, and runs the trained machine learning model 190 on that input to obtain one or more outputs. As described herein, in some embodiments, the outputs from the machine learning model 190 may include predicted equipment parameter updates associated with the equipment parameters of the manufacturing equipment 124, predicted equipment parameter classification / characterization, predicted equipment parameter default values / ranges, and / or other predicted metrics.
[0034] The client device 120, manufacturing equipment 124, measuring equipment 128, prediction server 112, data store 140, server machine 170, and server machine 180 can be connected to each other via network 130. In some embodiments, network 130 is a public network that provides client device 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 device 120 with access to manufacturing equipment 124, measuring 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 embodiments, the functionality of server machines 170 and 180, and the prediction server 112, may be provided by fewer machines. For example, in some embodiments, server machines 170 and 180 may be integrated into a single machine, and in some other or similar embodiments, server machines 170 and 180, and the prediction server 112 may be integrated into a single machine. In other or similar embodiments, server machines 170, 180, and / or the prediction server 112 can be integrated into a single machine or one or more machines.
[0036] In general, functions described in one embodiment as being performed by server machine 170, server machine 180, and / or prediction server 112 can also be performed on client device 120. In addition, functions that belong to a particular component may be performed by different components or multiple components working together.
[0037] In some embodiments, “User” can represent a single individual. However, other embodiments of this disclosure include cases where “User” is an entity and / or automated source controlled by multiple users. For example, a set of individual users integrated as a group of administrators may be considered “User.”
[0038] Figure 2 is a block diagram of an exemplary EP management engine 152 according to an aspect of the present disclosure. As shown in Figure 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 a network 130, bus, etc., as described with respect to Figure 1). In some embodiments, the memory 250 may correspond to one or more portions of a data store 140.
[0039] The characterization component 210 can be configured to determine the characterization of the 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 variability below a threshold), a randomly distributed value, an increasing value (e.g., like a counter), and / or a text value. As described herein, 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 across process tools, etc.) as described herein.
[0040] The classification component 212 can be configured to classify equipment parameters based on one or more characteristics of the equipment parameters. The classification component 212 can generate and / or access EP classification data 252 during the classification operation. In some examples, the classification component 212 can assign classification values (e.g., metrics) to equipment parameters based on the characteristics of the equipment parameters. The classification values can indicate that the equipment parameters belong to discrete classification groups. The classification values may be numerical. For example, the classification component 212 can assign classification value 1 to an equipment parameter, which indicates that the equipment parameter is consistent for all similar tools in the manufacturing system. In some embodiments, equipment parameters that remain constant, as described in the previous example, may be numerical or text values. In another example, the classification component 212 can assign classification value 2 to an equipment parameter, which indicates that the equipment parameter is constant within a specified process tool (e.g., process chamber), but variation between process tools may be acceptable. In a third example, the classification component 212 can assign classification value 3 to an equipment parameter, which indicates that the equipment parameter falls within a certain range in the process tool. In another example, the classification component 212 may assign a classification value of 4 to a device parameter, indicating that the device parameter is within a certain range across a fleet of similar process tools. In yet another example, the classification component 212 may assign a classification value of 5 to a device parameter, indicating that the device parameter remains constant, but its value may change during preventive maintenance work. In yet another example, the classification component 212 may assign a classification value of 6 to a device parameter, indicating that the device parameter may always have a changing value. In yet another example, the classification component 212 may assign a classification value of 6 to a device parameter, indicating that the device parameter increases at regular intervals (for example, the device parameter is a counter). In some embodiments, the classification component 212 may assign other classification values not described herein to the device parameter.In some embodiments, the classification component 212 classifies the device parameters based on EP characteristic evaluation data 254 and / or EP value data 256 (e.g., current EP value data and / or past EP value data).
[0041] The default value component 214 can be configured to assign default values and / or default value ranges to device 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, through machine learning techniques, the default value component 214 may determine default values and / or default ranges corresponding to each device parameter. Specifically, the default value component 214 may determine that the default value of a given device parameter should be a specific determined value. Similarly, the default value component 214 may determine that the value of another given device parameter should be within a specific determined range of values (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 the device 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 the device parameter should have a value at a specific determined default setpoint. In some examples, the default value component 214 may determine that a given device parameter should have a specific text value as a default. For example, the default value component 214 may determine that the text value of a given device parameter should indicate that the process tool should operate in a specific default mode. In some embodiments, the default value component 214 may use EP classification data 252 and / or EP characterization data 254, in addition to the data used and / or generated as described above herein, to determine the default device parameter values and / or ranges.
[0042] The detection component 216 can be configured to detect whether the device 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 that the device parameter value has drifted outside the expected range. In some examples, the detection component 216 monitors current EP value data 256 indicating that the device parameter value is outside the threshold (e.g., indicated by EP threshold data 258) and / or has changed from the setpoint (e.g., indicated by EP setpoint data 260). The detection component 216 can compare the device parameter value to a default value and / or a default range (e.g., determined by machine learning as described herein). The detection component 216 can use machine learning techniques to make such detections. For example, the detection component 216 can utilize one or more trained machine learning models (e.g., Model 190 in Figure 1) when detecting anomalies in the device parameter data. In some embodiments, the detection component 216 can use EP value data 256 from history to determine that an instrument parameter value is outside the expected range and / or differs from the expected value. In some embodiments, the detection component 216 can determine corrective action (e.g., indicated by corrective action data 262). In some embodiments, the detection component 216 can determine that an instrument setting associated with an instrument parameter should be updated based on the output of a machine learning model. In some embodiments, the detection component 216 may determine corrective action based on comparing the predicted value of a metric corresponding to an instrument parameter (e.g., the predicted value of the instrument parameter) with the current EP value data 256. In some embodiments, a notification of 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] Figure 3 is a flowchart of a method 300 for managing equipment parameters in a manufacturing system according to an aspect of the present disclosure. Method 300 is performed by processing logic that may include hardware (circuits, dedicated logic, etc.), software (such as that which runs on a general-purpose computer system or a dedicated machine), firmware, or any combination thereof. In one embodiment, Method 300 can be performed by one or more components of a system architecture, such as the system architecture 100 in Figure 1. In other or similar embodiments, one or more operations of Method 300 can be performed by one or more other machines not shown in the figure. In some embodiments, one or more operations of Method 300 can be performed by the EP management engine 152. In yet another or similar embodiments, one or more operations of Method 300 can be performed by the prediction component 114.
[0044] For the sake of simplicity, the methods are shown and described as a series of actions. However, the actions provided herein can be performed in various orders and / or simultaneously, as well as in conjunction with other actions not shown and described herein. Furthermore, not all illustrated actions are necessarily performed in order to carry out the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and recognize that the methods can, alternatively, be represented as a series of interrelated states, via a state diagram or events. Furthermore, it should be understood that the methods disclosed herein can be stored in a product to facilitate the transfer and transmission of such methods to a computing device. The term "product," as used herein, is intended to encompass computer programs accessible from any computer-readable device or storage medium.
[0045] In block 308, the processing logic receives data associated with the equipment parameters. For example, the processing logic (e.g., of the EP management engine 152) receives data indicating the equipment parameters (e.g., past and / or current EP value data 256). In some embodiments, the processing logic receives data relating to the equipment parameters of multiple process tools in the manufacturing system. For example, the 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 period of time and / or a certain number of cycles in the manufacturing system. In some examples, the data is collected over a period of time such as one day, two days, or one week. In some examples, the data is collected during a preventive maintenance cycle. In some embodiments, the data relates to the EP value data 256 in Figure 2.
[0046] In block 310, the processing logic (e.g., of the EP management engine 152) characterizes the device parameter based on the data received in block 308. Characterization of the device parameter can be performed by the characterization component 210 in Figure 2. In some embodiments, the processing logic (e.g., of the characterization component 210) can determine that a given device 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), a randomly distributed value, an increasing value (e.g., like a counter), and / or a text value, as described herein. The processing logic can determine one or more characteristics of the device parameter based on the data received in block 308. In some embodiments, the characteristics of the device parameter are reflected in a metric corresponding to the device parameter. For example, the metric may indicate that the device parameter has characteristics as described herein.
[0047] In block 312, the processing logic (e.g., of the EP management engine 152) classifies the device parameters based on the characteristics determined in block 310. The classification of device parameters may be performed by the classification component 212 in Figure 2. In some embodiments, the processing logic (e.g., of the classification component 212) can assign classification values to device parameters based on the characteristics of the device parameters, as described herein. The classification values can indicate that the device parameters belong to discrete classification groups, as described herein. In some embodiments, the classification of device parameters is reflected in a metric corresponding to the device parameters. For example, the metric can indicate that the device parameters belong to discrete classification groups, as described herein. The metric can indicate that a particular classification value has been assigned to a device parameter. Similar device parameters may be assigned similar classification values.
[0048] In block 314, the processing logic (e.g., of the EP management engine 152) generates default device parameter values. In some embodiments, the default values are determined based on data received in block 308 (e.g., EP value data 256 from history) and / or classification in block 312. In some embodiments, the processing logic generates a range of default values corresponding to the device parameter. For example, in response to a device parameter having a characteristic indicating that the device parameter can have a range of values (e.g., in block 310), the processing logic may determine an upper and / or lower limit of that range. The upper and / or lower limit may be default boundaries determined by the processing logic. In another example, in response to a device parameter having a characteristic indicating that the device parameter should have discrete values (e.g., in block 310), the processing logic may determine a setpoint corresponding to that device parameter. The setpoint may be a default value assigned to the device parameter. In some embodiments, the default value and / or range of default values are reflected in a metric corresponding to the device parameter. For example, the metric may indicate the default value and / or range of default values for the device parameter, as described herein. In some embodiments, a list of equipment parameters can be generated by analyzing the equipment parameters of multiple process tools in a manufacturing system (for example, as is done for individual equipment parameters in blocks 310, 312, and 314). This list can be used as a benchmark for 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 (reflecting, for example, 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 before adjusting the equipment parameters in the second manufacturing system.Furthermore, the processing logic can determine the importance (e.g., importance value) of the device parameters based on the characterization, classification, and / or historical values of the device parameters.
[0049] In block 316, the processing logic (e.g., of the EP management engine 152) generates threshold conditions corresponding to the device parameters. In some examples, the threshold conditions are based on data received in block 308, characterization determined in block 310, classification determined in block 312, and / or default values or ranges of default values determined in block 314. The threshold conditions may also be trigger conditions for triggering corrective actions, as described herein. For example, a threshold condition may indicate that corrective action should be taken if the value of the device parameter drifts and / or changes by a threshold amount from the default value and / or default range determined in block 314. The threshold condition may set a tolerance range for the value of the device parameter before corrective action is taken. In another example, a threshold condition may allow the value of the device parameter to deviate by a threshold amount (e.g., a specific percentage of the range) from the default range (e.g., determined in block 314) before a preventive action is taken. If the value of the device 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, the threshold condition may indicate that it is acceptable for the value of a device parameter to be outside the default range for a certain period of time, or to be different from a setpoint (e.g., the default value).
[0050] In block 318, the processing logic (for example, of the EP management engine 152) monitors the device parameter values. In some embodiments, the processing logic receives data indicating the values of the device parameters when the substrate is processed (for example, by one or more process tools in a manufacturing facility). The processing logic can monitor the device parameters for changes in their values.
[0051] In block 320, the processing logic (e.g., of the EP management engine 152) determines whether the value of the device parameter satisfies the threshold condition determined in block 316. If the device parameter value satisfies the threshold condition, the method may terminate. However, if the device parameter value does not satisfy the threshold condition, the method may proceed to block 322. In some embodiments, the processing logic compares the predicted value of the metric (determined, e.g., in blocks 310, 312, and / or 314) with the data received (e.g., in block 308 and / or during substrate processing). The processing logic may determine any discrepancy between the predicted value of the metric and the data. In some embodiments, the operation of block 318 and / or block 320 is performed by the detection component 216 in Figure 2.
[0052] In block 322, the processing logic (e.g., of the EP management engine 152) can be prompted to perform corrective actions. In some embodiments, the corrective action may include updating the device settings associated with the device parameters. By updating the settings, the values of the device parameters can be returned to their default values and / or within the range of default values. In some embodiments, the corrective action includes providing a notification for display on the GUI. The notification may indicate a discrepancy between the data and the predicted values of the metrics (e.g., determined in blocks 310, 312, and / or 314). In some embodiments, the notification may indicate (e.g., to a user) that the values of the device parameters should be updated. In some embodiments, the notification may indicate a failure of a process tool component and / or a failure of the process tool. In some embodiments, the user can override the processing logic by providing input (e.g., via the GUI) that the device parameters should not be updated. In some embodiments, the user can provide input that the device parameters should be updated by an amount determined by the user. User input may be included in the machine learning training data, as described later with reference to Figure 4. Following the operation of block 322, the method can loop back to block 318.
[0053] In some embodiments, any of blocks 310, 312, 314, 316, and / or 320 may be executed using machine learning techniques as described herein.
[0054] Figure 4 is a flowchart 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 that may include hardware (circuits, dedicated logic, etc.), software (such as that which runs on a general-purpose computer system or a dedicated machine), firmware, or any combination thereof. In one embodiment, Method 400 can be performed by one or more components of a system architecture, such as the system architecture 100 in Figure 1. In other or similar embodiments, one or more operations of Method 400 can be performed by one or more other machines not shown in the figure. In some embodiments, one or more operations of Method 400 can be performed by a prediction server 112 of a prediction system 110. In other or similar embodiments, one or more operations of Method 400 can be performed by an EP management engine 152.
[0055] For the sake of simplicity, the methods are shown and described as a series of actions. However, the actions provided herein can be performed in various orders and / or simultaneously, as well as in conjunction with other actions not shown and described herein. Furthermore, not all illustrated actions are necessarily performed in order to carry out the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and recognize that the methods can, alternatively, be represented as a series of interrelated states, via a state diagram or events. Furthermore, it should be understood that the methods disclosed herein can be stored in a product to facilitate the transfer and transmission of such methods to a computing device. The term "product," as used herein, is intended to encompass computer programs accessible from any computer-readable device or storage medium.
[0056] In block 410, the processing logic initializes the training set T to an empty set (e.g., {}). In block 412, the 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 the processing of the substrate by the multiple process tools. The historical data may be collected over a period of time (e.g., a period such as a day, a week, or a preventive maintenance cycle, as described herein). In some embodiments, the historical data may further include contextual data associated with past equipment parameters. For example, the historical data may include indications of known faulty process tools and / or known faulty data. In some embodiments, the processing logic may identify the historical data from the data store 140 and / or memory 250, as described above.
[0057] In block 414, the 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 the characterization, classification, and / or default values or ranges of default values of past equipment parameters. The historical metrics may be generated after the 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. The processing logic can identify a set of historical metrics from data store 140 and / or memory 250 according to the embodiments described above.
[0058] In block 416, the processing logic generates training input data based on identified historical data associated with past device parameters. In some embodiments, the training input may include a set of normalized device parameter data (including, for example, device parameter values as described herein).
[0059] In block 418, the processing logic can generate target output data based on an identified set of historical metrics. In some embodiments, the generated target output data can correspond to metrics of device parameters (e.g., classification metrics, characterization metrics, value metrics, etc.).
[0060] In block 420, the processing logic generates a mapping between the training input data and the target output data. In block 422, the processing logic adds the mapping to the training set T.
[0061] In block 424, the processing logic determines whether the training set T contains a sufficient amount of training data to train a machine learning model. Note that in some embodiments, the sufficiency of the training set T can be determined simply based on the number of mappings in the training set, while in some other embodiments, the sufficiency of the training set T can be determined based on the number of input / output mappings, or, instead, on one or more other criteria (e.g., a measure of the diversity of the training examples). If it is determined that the training set does not contain a sufficient amount of training data to train a machine learning model, method 400 returns to block 412. If it is determined that the training set T contains a sufficient amount of training data to train a machine learning model, method 500 proceeds to block 428.
[0062] In block 428, the processing logic provides a training set T for training a machine learning model. In one embodiment, the training set T is provided to the training engine 182 of the server machine 180 for training. For a neural network, for example, the input values of a given input / output mapping are input to the neural network, and the output values of the input / output mapping are stored in the output nodes of the neural network. The connection weights of the neural network are then adjusted according to a learning algorithm (e.g., backpropagation), 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, according to the embodiments described above, a given process data and / or sensor data, a measurement associated with the substrate, and the amount of drift of the measurement from a target measurement.
[0063] Figure 5 shows a model training workflow 505 and a model application workflow 517 for device parameter management according to one embodiment. The model training workflow 505 and the model application workflow 517 may be executed by processing logic performed by the processor of the computing device. One or more of these workflows 505, 517 may be executed, for example, by one or more machine learning models implemented on the processing unit, and / or by other software and / or firmware running on the processing unit.
[0064] The model training workflow 505 involves training one or more machine learning models (e.g., deep learning models) to determine predicted metrics associated with the equipment parameters of process tools in a manufacturing system. The model application workflow 517 involves applying one or more trained machine learning models to perform equipment parameter management. Each of the equipment parameters 512 can represent the equipment settings of a process tool.
[0065] Various machine learning outputs are described herein. A specific number and configuration of machine learning models are described and shown. However, it should be understood that the number and type of machine learning models used, as well as the configuration of such machine learning models, can be changed to achieve the same or similar final results. Therefore, the configurations of machine learning models described and shown are merely examples and should not be interpreted 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 characteristic value or classification value, and a second machine learning model may be trained to determine a second predicted metric, such as a predicted instrument parameter value or a range of predicted instrument parameter values. Further or alternatively, different machine learning models may be trained to perform different combinations of tasks. In one example, one or more machine learning models may be trained, and the trained machine learning (ML) model is a single shared neural network having multiple shared layers and multiple separate upper-level output layers, each output layer producing a different prediction, classification, identification, etc. For example, a first upper-level output layer may determine a characteristic value or classification value, and a second upper-level output layer may determine a predicted value for an instrument 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. An artificial neural network generally includes a feature representation component with classifier or regression layers that map features to a target output space. For example, a convolutional neural network (CNN) hosts multiple convolutional filter layers. Pooling may be performed, and nonlinearity may be handled in lower layers, and a multilayer perceptron is commonly added on top of those lower layers 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 cascaded manner 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. A deep neural network includes layers in a hierarchical structure, where different layers learn different levels of representation 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 learn on its own which features are best placed at which levels. In "deep learning," "deep" refers to the number of layers to which the data is transformed. More precisely, deep learning systems have a considerable credit assignment path (CAP) depth. A CAP is a chain of transformations from input to output. A CAP describes the latent causal relationship between the input and output. In the case of a feedforward neural network, the CAP depth may be the depth of the network, or it may be the number of hidden layers plus one. In the case of a recurrent neural network, where a signal may propagate through layers two or more times, the CAP depth is potentially unlimited.
[0068] Training a neural network may be achieved in a supervised learning manner, which involves feeding the network a training dataset consisting of labeled inputs, observing its outputs, defining the error (by measuring the difference between the output and the labeled value), and adjusting the network's weights across all layers and nodes of the network using techniques such as deep gradient descent and backpropagation to minimize the error. In many applications, repeating this process across a large number of labeled inputs in the training dataset results in a network that can produce the correct output even when presented with inputs different from those present in the training dataset.
[0069] For the model training workflow 505, a training dataset must be formed using a training dataset containing hundreds, thousands, tens of thousands, hundreds of thousands, or more instrument parameters 512. The data may include, for example, historical instrument parameter values, characterizations, and / or classifications. This data can be processed to generate one or more training datasets 536 for training one or more machine learning models. The training data items in the training dataset 536 may include instrument parameters 512, instrument parameter classifications, instrument parameter characterizations, and / or instrument parameter values.
[0070] To perform training, the processing logic inputs the training dataset 536 into one or more untrained machine learning models. Before inputting the first input into the machine learning models, the machine learning models can be initialized. The processing logic trains the untrained machine learning models based on the training dataset to produce one or more trained machine learning models that perform the various operations described above. Training can be performed by inputting input data one by one into the machine learning, such as one or more instrument parameters 512 (e.g., instrument parameter characterization, instrument parameter classification, instrument parameter values, etc.) and / or age information of process tools (e.g., process tool components).
[0071] A machine learning model processes inputs and produces outputs. An artificial neural network includes an input layer consisting of data point values. The next layer is called a hidden layer, and each node in the hidden layer receives one or more of the input values. Each node contains parameters (e.g., weights) to apply to the input values. Thus, each node essentially inputs the input values into a multivariate function (e.g., a nonlinear mathematical transformation) to produce output values. 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 of the previous layer, and each node applies weights to these values and then produces its own output values. This can be done in each layer. The final layer is the output layer, which has one node for each class, prediction, and / or output that the machine learning model can produce.
[0072] Therefore, the output may include one or more predictions or inferences (e.g., predicted values of metrics corresponding to device parameters). The processing logic can compare the output estimated metric with a historical metric. The processing logic determines an error (i.e., classification error) based on the difference between the estimated metric and the target metric. Based on the error, the processing logic adjusts the weights of one or more nodes of the machine learning model. 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 to the node) for one or more of its nodes. Parameters may be updated in a backpropagation manner, with the top layer nodes being updated first, followed by the nodes of the next layer, and so on. The artificial neural network consists of multiple “neuron” layers, each receiving values from the neurons of the previous layer as input. The parameters of each neuron include weights associated with the values received from each of the neurons of the previous layer. Therefore, adjusting parameters may involve adjusting the 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 the stopping criteria have been met. The stopping criteria may be a target accuracy level, a target number of images processed from the training dataset, a target change in parameters relative to one or more previous data points, a combination of these, and / or other criteria. In one embodiment, the stopping criteria are 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 criteria are met when the accuracy of the machine learning model no longer improves. If the stopping criteria are not met, further training is performed. If the stopping criteria are 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] In the model application workflow 517, according to one embodiment, the input data 562 may be input to one or more EP metric decisioners 567, each of which may include a trained neural network or other model. Alternatively, one or more EP metric decisioners 567 may apply an image processing algorithm to determine the chamber component state. The input data may include values of instrument parameters (e.g., characteristic values, classification values, numerical values, etc.). Based on the input data 562, the EP metric decisioners 567 may output one or more predicted EP metrics 569. The predicted EP metrics 569 may include metrics corresponding to instrument parameters (e.g., metrics reflecting one or more of characteristic, classification, or value, etc.).
[0075] The action decisioner 572 can determine one or more actions 570 to be performed based on the predicted EP metrics 569. In one embodiment, the action decisioner 572 compares the predicted EP metrics with data indicating the instrument settings. If one or more of the predicted EP metrics differ from the data by a threshold amount, the action decisioner 572 may determine that it is recommended to update the instrument parameters and / or instrument settings for future substrate processing and may output a recommendation or notification to update the instrument parameters and / or instrument settings. In some embodiments, the action decisioner 572 automatically updates the instrument parameter metrics based on the predicted EP metrics 569 that meet one or more criteria. However, in some embodiments, the user may provide input (e.g., via a GUI) to update the instrument parameters (e.g., based on an outputted recommendation or notification). The user may provide input to the processing logic to not update the instrument parameters, or to update the instrument parameters by a specified amount (e.g., specified by the user). In some examples, the user may provide input to update the instrument parameters by an amount different from the amount recommended by the action decisioner 572.
[0076] Figure 6 is a flowchart 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 that may include hardware (circuits, dedicated logic, etc.), software (such as that which runs on a general-purpose computer system or a dedicated machine), firmware, or any combination thereof. In one embodiment, Method 600 can be performed by one or more components of a system architecture, such as the system architecture 100 in Figure 1. In other or similar embodiments, one or more operations of Method 600 can be performed by one or more other machines not shown. In some embodiments, one or more operations of Method 600 can be performed by a prediction server 112 of a prediction system 110. In other or similar embodiments, one or more operations of Method 600 can be performed by an EP management engine 152.
[0077] For the sake of simplicity, the methods are shown and described as a series of actions. However, the actions provided herein can be performed in various orders and / or simultaneously, and in conjunction with other actions not shown and described herein. Furthermore, not all illustrated actions are necessarily performed in order to carry out the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and recognize that the methods can, alternatively, be represented as a series of interrelated states, via a state diagram or events. Furthermore, it should be understood that the methods disclosed herein can be stored in a product to facilitate the transfer and transmission of such methods to a computing device. The term "product," as used herein, is intended to encompass computer programs accessible from any computer-readable device or storage medium.
[0078] In block 610, the processing logic (e.g., the processing unit, EP management engine 152, etc.) receives first data associated with the device parameters. In some embodiments, the device parameters include one or more calibration values, offset values, and / or scaling factor values associated with a process tool (e.g., components of the process tool). The first data may indicate the device settings for one of several process tools in a first manufacturing system. In some examples, the first data reflects one or more values and / or characteristics of the device parameters. Each of the values may correspond to the settings of the process tool.
[0079] In block 612, the processing logic provides a first data as input to the trained machine learning model (e.g., Model 190 in Figure 1). In some embodiments, the trained machine learning model is trained using historical data relating to the equipment parameters of multiple process tools. For example, the trained machine learning model may be trained using input data that identifies each equipment parameter of each process tool in a manufacturing system. The trained machine learning model may be trained using target output data that identifies the metric values corresponding to each equipment parameter. In some embodiments, the processing logic receives second data associated with the equipment parameters and provides this 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 updates to one or more equipment parameters (e.g., one or more updates to one or more equipment parameter values).
[0080] In block 614, the processing logic obtains predicted values for metrics corresponding to the device parameters as output of a trained machine learning model. In some embodiments, the predicted values for metrics may include predicted characteristic evaluation values that represent the characteristics of the device parameters. In some embodiments, the predicted values for metrics may include predicted default values associated with the setpoints of the device parameters. In some embodiments, the predicted values for metrics may include a predicted range of default values associated with the device parameters.
[0081] In block 616, the processing logic compares the predicted value of a metric with the first data. For example, the processing logic can compare the predicted value of a metric that reflects predicted equipment parameter values with the equipment parameter values reflected in the first data. In another example, the processing logic can compare the predicted value of a metric that reflects predicted characteristic values with the characteristic values of the equipment parameters reflected in the first data.
[0082] In block 618, the processing logic performs a corrective action (e.g., causes a corrective action to be performed) based on the comparison in block 616. In some embodiments, the corrective action may be performed in response to a determination that there is a discrepancy between the predicted value of a metric and the first data. For example, the corrective action may be performed in response to a determination that the predicted characteristic value (reflected by the predicted metric, for example) does not match the characteristic value reflected in the first data. In another example, the corrective action may be performed in response to a determination that the predicted device parameter value (reflected by the predicted metric, for example) does not match the device parameter value reflected in the first data. In some embodiments, the corrective action includes updating the device settings associated with the device parameters. For example, the device settings may be updated so that the device parameter values and / or characteristic values match (e.g., more closely match) the predicted values / characteristic values reflected in the predicted metric, etc. In some embodiments, notification of the corrective action may be provided to the GUI.
[0083] Figure 7 shows a block diagram of an exemplary computer system 700 operating according to one or more embodiments of this disclosure. In alternative embodiments, the machine may be connected to (e.g., networked) other machines in a local area network (LAN), intranet, extranet, or internet. The machine may operate as a server or client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), tablet computer, set-top box (STB), personal digital assistant (PDA), mobile phone, web appliance, server, network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be performed by that machine. Furthermore, although only a single machine is shown, the term “machine” should also be interpreted to include any set of machines (e.g., computers) that individually or collectively execute a set of instructions (or sets of instructions) to perform one or more of the methodologies discussed herein. In this embodiment, the computing device 700 may correspond to the prediction server 112 in Figure 1 and / or another processing unit of the manufacturing system 100.
[0084] An exemplary computing device 700 includes a processing unit 702, main memory 704 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), static memory 706 (e.g., flash memory, static random access memory (SRAM), etc.), and secondary memory (e.g., data storage device 728), which communicate with each other via a bus 708.
[0085] The processing unit 702 may represent one or more general-purpose processors, such as a microprocessor or a central processing unit. More specifically, the processing unit 702 may be a composite instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor that implements other instruction sets, or a processor that implements a combination of instruction sets. The processing unit 702 may also be one or more dedicated processing units, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor. The processing unit 702 may be a system-on-a-chip (SoC), a programmable logic control unit (PLC), or other types of processing units, or may include them. The 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 the 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 generator 720 (e.g., a speaker).
[0087] The data storage device 728 may include a machine-readable storage medium (or more specifically, a non-temporary computer-readable storage medium) 724 storing a set of one or more instructions 726 that embody one or more of the methodologies or functions described herein. Here, a non-temporary storage medium means a storage medium other than a carrier. The instructions 726 may also be entirely or at least partially present in the main memory 704 and / or the processing unit 702 during their execution by the computer device 700, and the main memory 704 and the processing unit 702 also constitute a computer-readable storage medium.
[0088] The computer-readable storage medium 724 can also be used to store Model 190 and data used to train Model 190. The computer-readable storage medium 724 can also store a software library containing methods for calling Model 190. Although the computer-readable storage medium 724 is shown as a single medium in exemplary embodiments, the term “computer-readable storage medium” should be interpreted to include a single or multiple mediums (e.g., centralized or distributed databases, 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 executed by a machine, causing a machine to execute one or more of the methodologies of this disclosure. Accordingly, the term “computer-readable storage medium” should be interpreted to include, but not be limited to, solid memory, as well as optical and magnetic media.
[0089] The foregoing description includes numerous specific details, such as examples of specific systems, components, and methods, in order to provide a good understanding of some embodiments of the Disclosure. However, it will be apparent to those skilled in the art that at least some embodiments of the Disclosure can be carried out without these specific details. In other instances, well-known components or methods are not described in detail or are presented in the form of simple block diagrams, in order to avoid unnecessarily obscuring the Disclosure. Thus, the specific details described are merely illustrative. Certain embodiments may differ from these exemplary details and are still intended to be within the scope of the Disclosure.
[0090] Throughout this specification, any reference to “one embodiment” or “a particular embodiment” means that a specific feature, structure, or characteristic described in relation to an embodiment is included in at least one embodiment. Therefore, occurrences of the phrase “in one embodiment” or “a particular 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 inclusive “or” rather than exclusive “or.” Where the terms “about” or “approximately” are used herein, this is intended to mean that the presented nominal values are accurate within ±10%.
[0091] Although the operations of the methods described herein are shown and described in a specific order, the order of operations of each method may be modified so that certain operations may be performed in reverse order, or so that certain operations may be performed at least partially concurrently with other operations. In another embodiment, instructions or suboperations of separate operations may be performed intermittently and / or alternately.
[0092] It should be understood that the above description is illustrative and not limiting. Many other embodiments will become apparent to those skilled in the art upon reading and understanding the above description. Therefore, the scope of this disclosure should be determined by reference to the appended claims, together with the entire scope of equivalents to which such claims are granted.
Claims
1. The steps include receiving first data indicating input values for setting the equipment parameters of one of several process tools in a first manufacturing system, A step of providing at least the first data as input to a trained machine learning model, wherein the trained machine learning model is trained using historical data relating to the equipment parameters of the plurality of process tools of the first manufacturing system, The steps include obtaining predicted values of metrics corresponding to the device parameters as output of the trained machine learning model, The steps include comparing the predicted value of the metric with the first data, Based on the comparison step, the steps include updating the settings for calibrating the device parameters, A method that includes this.
2. The method according to claim 1, wherein the settings for calibration of the device parameters are updated to match the predicted value of the metric.
3. A step of providing a notification on a graphical user interface (GUI) indicating a discrepancy between the first data and the predicted value of the metric, The method according to claim 1, further comprising:
4. The method according to claim 1, wherein the historical data relating to the device parameters of the plurality of process tools includes training input data that identifies each device parameter and target output data that identifies the value of a metric corresponding to each device parameter.
5. The steps include receiving second data associated with the device parameters, The steps include providing the second data as training input data to the trained machine learning model to further train the trained machine learning model, The method according to claim 4, further comprising:
6. The predicted value of the metric is Predictive characteristic evaluation values that show the characteristics of the aforementioned device parameters, or Predicted default values associated with the setting points of the device parameters, The method according to claim 1, comprising one or more of the above.
7. For implementation in the second manufacturing system, a step of outputting at least one of the predicted characteristic evaluation value or the predicted default value, The method according to claim 6, further comprising:
8. The method according to claim 1, wherein the apparatus parameter includes one or more of the calibration value, offset value, or scaling factor value associated with the process tool.
9. Memory and A processing unit coupled to the memory, First data is received that indicates input values for setting the equipment parameters of one of several process tools in a first manufacturing system. At least the first data is provided as input to a trained machine learning model, and the trained machine learning model is trained using historical data relating to the equipment parameters of the plurality of process tools of the first manufacturing system. As the output of the trained machine learning model, predictive values of metrics corresponding to the device parameters are obtained. The predicted value of the metric is compared with the first data, Based on the above comparison, update the settings for calibrating the device parameters. Processing device and A system equipped with these features.
10. The system according to claim 9, wherein the settings for calibrating the device parameters are updated to match the predicted value of the metric.
11. The aforementioned processing apparatus The system according to claim 9, further providing a notification on a graphical user interface (GUI) indicating a discrepancy between the first data and the predicted value of the metric.
12. The system according to claim 9, wherein the historical data relating to the device parameters of the plurality of process tools includes training input data that identifies each device parameter and target output data that identifies the value of a metric corresponding to each device parameter.
13. The predicted value of the metric is Predictive characteristic evaluation values that show the characteristics of the aforementioned device parameters, or Predicted default values associated with the setting points of the device parameters, The system according to claim 9, comprising one or more of the above.
14. The system according to claim 9, wherein the apparatus parameters include one or more of the calibration values, offset values, or scaling coefficient values associated with the process tool.
15. When executed by the processing unit, the processing unit will First data is received that indicates input values for setting the device parameters of one of the process tools among multiple process tools of the first manufacturing system. At least the first data is provided as input to a trained machine learning model, and the trained machine learning model is trained using historical data relating to the equipment parameters of the plurality of process tools of the first manufacturing system. As output of the trained machine learning model, predictive values of metrics corresponding to the device parameters are obtained. The predicted value of the metric is compared with the first data. Based on the above comparison, update the settings for calibrating the device parameters. A non-temporary computer-readable medium containing instructions.
16. The non-temporary computer-readable medium according to claim 15, wherein the settings for calibrating the device parameters are updated to match the predicted value of the metric.
17. The non-temporary computer-readable medium according to claim 15, wherein the historical data relating to the device parameters of the plurality of process tools includes training input data that identifies each device parameter and target output data that identifies a metric value corresponding to each device parameter.
18. The aforementioned processing apparatus Further receiving second data associated with the aforementioned device parameters, The second data is provided to the trained machine learning model as training input data to further train the trained machine learning model. The non-temporary computer-readable medium according to claim 17.
19. The predicted value of the metric is Predictive characteristic evaluation values that show the characteristics of the aforementioned device parameters, or Predicted default values associated with the setting points of the device parameters, A non-temporary computer-readable medium according to claim 15, comprising one or more of the above.
20. The non-temporary computer-readable medium according to claim 15, wherein the device parameters include one or more of the calibration values, offset values, or scaling coefficient values 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