Run-to-run control in manufacturing systems using machine learning

Machine learning is used to predict and correct substrate variations in manufacturing systems, enhancing throughput and efficiency by adjusting process policies based on upstream data, addressing the challenges of conventional control systems.

JP7877486B2Active Publication Date: 2026-06-22APPLIED MATERIALS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
APPLIED MATERIALS INC
Filing Date
2023-04-26
Publication Date
2026-06-22

AI Technical Summary

Technical Problem

Conventional process control systems in manufacturing systems struggle to determine which process control variable settings to modify and how much to modify them to optimize substrate characteristics, leading to substrate drift, shift, and variation, which reduces throughput and efficiency.

Method used

Implementing machine learning techniques, specifically variational recurrent autoencoders, to predict measurement drift from target measurements and adjust process policies based on upstream process data, allowing for early detection and correction of substrate variations.

Benefits of technology

This approach improves manufacturing system throughput and efficiency by enabling early detection and correction of substrate variations, reducing latency and compensating for defects without additional processing operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007877486000001
    Figure 0007877486000001
  • Figure 0007877486000002
    Figure 0007877486000002
  • Figure 0007877486000003
    Figure 0007877486000003
Patent Text Reader

Abstract

First data associated with a first process performed on a first layer of a substrate is identified. The first layer is further processed according to a second process. The first data is provided as an input to a machine learning model trained to predict metrology measurements for a layer of a substrate in a manufacturing system. An amount of drift from a target value of a set of first metrology measurements of the first layer after the first process and / or the second process is completed is determined. Modifications to a recipe for the second process are determined taking into account the determined amount of drift and second data associated with a second substrate layer previously processed in the manufacturing system. The second process is updated based on the determined one or more modifications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to manufacturing systems, and more particularly, to run-to-run control in manufacturing systems using machine learning.

Background Art

[0002] As the size of electronic devices continues to shrink, the complexity of substrate processing has been continuously increasing. Technologies for manufacturing substrates involve a plurality of different processes, and advanced technologies (e.g., plasma etching) involve more than 20 different processes. A number of process control variables in substrate processes can affect the characteristics of each substrate after the substrate process is completed. Run-to-run (R2R) process control refers to a technique for modifying process strategies between runs in order to minimize substrate drift, shift, and / or variation. A process control system can modify a process strategy by modifying or adjusting settings associated with one or more process control variables associated with the process strategy (e.g., for optimizing the process, for matching the characteristics of each substrate to target characteristics, etc.). It can be difficult for a process control system to determine which process control variable settings to modify and / or how much to modify the process control variable settings in order to optimize each process and / or match substrate characteristics to target characteristics.

Summary of the Invention

[0003] Some of the embodiments described relate to a method for run-to-run (R2R) control in a manufacturing system using machine learning. The method includes identifying first data associated with a first process performed on a first layer of a substrate in the manufacturing system. The first layer of the substrate is further processed in the manufacturing system according to a second process. The method further includes providing the first data as input to a machine learning model. The machine learning model is trained to predict measurements for one or more layers of the substrate processed in the manufacturing system, and the drift of the predicted measurements from target measurements. The method further includes determining, based on one or more outputs of the machine learning model, the amount of drift of the first set of measurements for the first layer of the substrate from a target set of measurements after the completion of at least one of the first or second processes. The method further includes determining one or more modifications to the process policy of the second process, taking into account the determined amount of drift and second data associated with a second layer of the substrate. The second layer of the substrate is pre-processed in the manufacturing system according to a third process. This method further includes the step of updating the process policy of the second process based on one or more modifications determined.

[0004] In some embodiments, the system includes a memory and a processing unit coupled to the memory. The processing unit identifies first data associated with a first process performed on a first layer of a substrate in a manufacturing system. The first layer of the substrate is further processed in the manufacturing system according to a second process. The processing unit further provides the first data as input to a machine learning model. The machine learning model is trained to predict measurements for one or more layers of the substrate processed in the manufacturing system, and the drift of the predicted measurements from target measurements. Based on one or more outputs of the machine learning model, the processing unit further determines the amount of drift of the first set of measurements for the first layer of the substrate after the completion of at least one of the first or second processes from the target set of measurements. Taking into account the determined amount of drift and second data associated with a second layer of the substrate, the processing unit further determines one or more modifications to the process policy of the second process. The second layer of the substrate is pre-processed in the manufacturing system according to a third process. The processing unit further updates the process policy of the second process based on the determined one or more modifications.

[0005] In some embodiments, a non-transient computer-readable storage medium includes instructions, when executed by the processing unit, that cause the processing unit to identify first data associated with a first process performed on a first layer of a substrate in a manufacturing system. The first layer of the substrate is further processed in the manufacturing system according to a second process. The processing unit further provides the first data as input to a machine learning model. The machine learning model is trained to predict measurements for one or more layers of the substrate processed in the manufacturing system, and the drift of the predicted measurements from target measurements. Based on one or more outputs of the machine learning model, the processing unit further determines the amount of drift of the set of first measurements for the first layer of the substrate after the completion of at least one of the first or second processes from the set of target measurements. Taking into account the determined amount of drift and second data associated with a second layer of the substrate, the processing unit further determines one or more modifications to the process policy of the second process. The second layer of the substrate is pre-processed in the manufacturing system according to a third process. The processing unit further updates the process policy of the second process based on one or more determined modifications.

[0006] 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]

[0007] [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 run-to-run (R2R) control engine according to an aspect of the present disclosure. [Figure 3]This is a flowchart of a method for R2R control in a manufacturing system using machine learning, according to an aspect of this disclosure. [Figure 4] This is an example of R2R control in a manufacturing system using machine learning, according to the aspects of this disclosure. [Figure 5] This is a flowchart of a method for training a machine learning model according to the aspects of this disclosure. [Figure 6] 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]

[0008] Embodiments described herein provide systems and methods for run-to-run (R2R) control in manufacturing systems using machine learning. In some cases, a substrate may undergo a considerable number of processes before it can be included in the final product. For example, lithography techniques involve depositing multiple material layers onto the surface of a substrate and using the deposited layers to form a very complex pattern (e.g., by etching away parts of one or more of the deposited layers). Before a complex pattern can be formed on the substrate and it can be included in the final product, the substrate may undergo multiple substrate processes (e.g., processes for depositing each layer onto the substrate, processes for etching away parts of one or more layers from the substrate surface, etc.). As the size of electronic devices continues to shrink, the complexity of the patterns formed on the substrate increases, thereby increasing the overall complexity of substrate processing. For example, in some integrated circuits, the substrate may undergo more than 50 lithography cycles (e.g., one or more deposition processes preceding and / or following one or more etching processes) before the target pattern is formed on the substrate surface.

[0009] A manufacturing system may include a process control subsystem (hereinafter also referred to herein as a process control system or simply a process controller), which is configured to adjust and / or modify the settings of the processes performed on a substrate (or a lot or batch of substrates) in order to optimize each process and / or to bring the characteristics of the substrate (or lot of substrates) to match target characteristics. Run-to-run (R2R) process control refers to the technique of adjusting or modifying the settings of the process policy for a substrate process in order to minimize substrate drift, shift, and / or variability. In some cases, the characteristics of the substrate after the completion of the first substrate process may affect the characteristics of the substrate after the completion of subsequent substrate processes. For example, multiple deposition processes can be performed to deposit layers of material on the surface of a substrate (e.g., according to the lithography cycle described above). The characteristics of the initial layer deposited on the surface of the substrate may affect the characteristics of subsequent layers deposited on that initial layer. In addition, one or more processes can be performed on the initial layer before depositing one or more subsequent layers on the initial layer to prepare it for the subsequent layer processes. For example, a chemical mechanical polishing process can be performed on the initial layer to prepare it for the deposition of subsequent layers. Such a process is referred to as the upstream process in this specification.

[0010] As described above, the process control subsystem can adjust and / or modify the settings of the substrate process. Because each process performed on the substrate can affect the substrate's properties, it can be difficult for the process control subsystem to identify which settings should be adjusted or modified, and / or to what extent each setting should be adjusted or modified. Some systems can collect measurement data of the substrate after the process is complete, and the process control subsystem can use this collected measurement data to determine which settings should be modified, and / or how they should be adjusted or modified, for subsequent processes performed on the substrate. However, collecting measurement data for each substrate, or even for a portion of the substrates in a lot, can be quite time-consuming, which can reduce overall throughput and increase the overall latency of the manufacturing system. In addition, conventional process control subsystems do not consider how the substrate's properties are affected by upstream processes performed on the substrate to prepare it for subsequent substrate processes (e.g., subsequent deposition processes, subsequent etching processes, etc.). Conventional process control systems do not detect variations and / or defects in substrate properties caused by upstream processes until the substrate process has been performed and measurement data of the substrate has been collected. Therefore, conventional process control systems do not adjust or modify the board process settings before starting the board process to counteract variations and / or defects in board characteristics caused by upstream processes, and variations or defects may be present in the board after the board process is complete. In some cases, such systems can perform additional processing operations to compensate for such variations or defects. In other cases, such variations or defects cannot be compensated for, and therefore the board becomes unusable. Compensating for variations or defects through additional processing operations, and / or removing unusable boards from the manufacturing system, can reduce overall throughput and efficiency and increase the overall latency of the manufacturing system.

[0011] Aspects of this disclosure address the shortcomings of the prior art by providing systems and methods for run-to-run (R2R) control in manufacturing systems using machine learning. In some embodiments, a substrate (or lot or batch of substrates) may undergo multiple substrate processes in a manufacturing system (e.g., according to lithography techniques). Each process may, in some embodiments, correspond to each layer of the substrate. For illustrative purposes only, a substrate process performed on a layer of a substrate (e.g., to deposit one or more layers, or to etch away part of one or more layers) is referred to herein as the current layer process. Such a layer is referred to herein as the current layer. A substrate process previously performed on a layer of a substrate (e.g., before the current layer process) is referred to herein as the preceding layer process. Such a layer is referred to herein as the preceding layer or initial layer. A process performed to prepare the substrate for the current layer process is referred to herein as the upstream process. Examples of upstream processes in some embodiments may include polishing processes (e.g., chemical mechanical polishing processes), roughening processes, etching processes, deposition processes, and the like.

[0012] In some embodiments, the process control system can use machine learning techniques to determine one or more modifications to the current layer process performed on the substrate. For example, after the completion of an upstream process (e.g., before the start of the current layer process), the process control system can identify data associated with the upstream process. In some embodiments, the upstream process data may include data associated with one or more operations and / or settings associated with the process policy of the upstream process, data collected by one or more sensors of the manufacturing system before, during, or after the execution of the upstream process. The process control system can provide the upstream process data as input to a machine learning model trained to predict the amount of drift of the predicted measurements from the target measurements of the substrate after the upstream process, and the measured values ​​for one or more layers of the substrate processed according to the upstream process. In some embodiments, the machine learning model may be a variational recurrent autoencoder model, or a corresponding model. In response to providing the upstream process data as input to the machine learning model, the process control system can obtain one or more outputs of the machine learning model and, based on the obtained outputs, determine the amount of drift of the measured values ​​of the substrate from the target measurements. In some embodiments, the determined drift amount can correspond to a first correction factor that the process control system applies to adjust or modify the settings associated with the process policy of the current layer process.

[0013] In some embodiments, measurement data can be collected after the execution of a preceding layer process on the substrate (e.g., using a measuring device). The process control system can determine the amount of drift of the collected measurement data from the target measurement of the substrate after the preceding layer process by comparing the collected measurement data with a target measurement. In some embodiments, the determined amount of drift may correspond to a second correction factor that the process control system applies to adjust or modify the settings associated with the process policy of the current layer process. In additional or alternative embodiments, additional measurement data can be collected after the execution of the process policy of the current layer process on other substrates in the manufacturing system (e.g., using a measuring device). The process control system can determine the amount of drift of the additional measurement data for the substrate after the current layer process from the target measurement, as described above. The determined amount of drift may correspond to a third correction factor that the process control system applies to adjust or modify the settings associated with the process policy of the current layer process, as described above.

[0014] In some embodiments, the process control system can determine one or more modifications to the process policy of the current layer process, taking into account a first correction factor, a second correction factor, and / or a third correction factor, and can apply this one or more modification to the process policy. After the substrate has been processed according to the current layer process policy, the process control system can identify the measurement data collected for the substrate and use the identified measurement data to further adjust or modify the settings associated with the current layer process policy for future substrates to be processed in the manufacturing system. Further details regarding determining one or more modifications to the current layer process policy and performing the current layer process are provided herein.

[0015] Embodiments of the present disclosure provide techniques for optimizing substrate processes and / or controlling substrate characteristics after substrate processing using machine learning. Embodiments of the present disclosure utilize machine learning techniques to determine the amount of drift of post-upstream process measurements from target measurements without removing the substrate from the manufacturing system to obtain such measurements. This improves the overall throughput of the manufacturing system and reduces the overall latency of the manufacturing system. Furthermore, embodiments of the present disclosure enable the process control system to consider substrate variations caused by upstream processes when deciding whether and / or to adjust or modify settings for the current layer process. Thus, variations in substrate characteristics and / or defects can be detected and corrected earlier and after fewer substrate processes, which further improves the overall throughput and efficiency of the manufacturing system and further reduces the overall latency of the manufacturing system.

[0016] 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.), a computing system 150, 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.

[0017] 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 hardware parameters such as the settings or components of the manufacturing apparatus 124 (e.g., size, type, etc.) or manufacturing parameters such as 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., readings from the apparatus as it processes products). The sensor data may differ from one substrate to another.

[0018] 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, the systems of the system architecture 100 (for example, the computing system 150, the 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.

[0019] 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, the client device 120 displays a graphical user interface (GUI) that allows the user to provide measurement values ​​of substrates processed in the manufacturing system as input. In other or similar embodiments, the client device 120 may display another GUI that allows the user to provide a display as input of the type of substrate processed in the manufacturing system, the type of process performed on the substrate, and / or the type of equipment in the manufacturing system.

[0020] The datastore 140 can be memory (e.g., random access memory), drives (e.g., hard drives, flash drives), a database system, or another type of component or device capable of storing data. The datastore 140 may include multiple storage components (e.g., multiple drives or multiple databases) that can extend to multiple computing devices (e.g., multiple server computers). In some embodiments, the datastore 140 may store data (referred to herein as process data) associated with processes performed on or performed on one or more substrates in the manufacturing apparatus 124. The process data may include a display of process policies associated with the process and / or settings for one or more operations of the process policies. A process policy refers to a set or series of operations and / or instructions associated with a process performed in the manufacturing apparatus 124. For example, a deposition process policy may include a set or series of operations and / or instructions associated with performing a deposition process on substrates in the process chamber of the manufacturing apparatus 124. In some embodiments, a process policy may include a set of operations and / or instructions associated with transporting substrates in and out of a particular station of the manufacturing apparatus 124. For example, a deposition process strategy may include a set of operations and / or a series of operations associated with transporting the substrate into the process chamber (e.g., from the transfer chamber via a transfer chamber robot, etc.) before the deposition process is initiated, and / or out of the process chamber (e.g., into the transfer chamber via a transfer chamber robot, etc.) after the deposition process is completed. In some embodiments, process data may refer to historical process data (e.g., process data associated with a previous process performed using the manufacturing apparatus 124) and / or current process data (e.g., process data associated with a current process performed or to be performed using the manufacturing apparatus 124).

[0021] In additional or alternative embodiments, the data store 140 can store data (referred to herein as sensor data) collected about the substrate by sensors of the manufacturing apparatus 124 or sensors coupled to the manufacturing apparatus 124 before, during, and / or after the execution of the substrate process. For example, the process chamber can include one or more sensors (e.g., temperature sensors, spectral sensors, etc.) configured to collect data about the substrate and / or the environment within the process chamber before, during, or after the substrate process. A computing system associated with the system architecture 100 (e.g., the prediction system 110, the computing system 150, the system controller for the manufacturing apparatus 124, etc.) can receive the sensor data collected before, during, or after the substrate process and store the sensor data in the data store 140. In some embodiments, the sensor data can refer to historical sensor data (e.g., sensor data collected about a previous substrate processed according to a previous substrate process) and / or current sensor data (e.g., sensor data collected about the current substrate being processed or scheduled to be processed according to the current substrate process).

[0022] In some embodiments, the data store 140 can store additional types of data. For example, the data store can store measurement data associated with substrates processed using the manufacturing apparatus 124. The measurement data can include historical measurement data (e.g., measurement readings generated for a previous substrate processed using the manufacturing apparatus 124) and / or current measurement data (e.g., measurement readings generated for the current substrate processed using the manufacturing apparatus 124). The data store 140 can also store context data associated with one or more substrates (e.g., previous substrates, current substrates, etc.) in the manufacturing system. The context data can include identifiers of process strategies, identifiers of substrates (and / or lots of substrates), preventive maintenance indicators, identifiers of operators, and the like.

[0023] 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.

[0024] The computing system 150 may include a run-to-run (R2R) control engine 152 and / or a predictive component 114. The R2R control engine 152 may be configured to adjust and / or modify the process policy settings for processes performed (or to be performed) using the manufacturing apparatus 124, for example, to optimize the process and / or to bring the characteristics of the substrate (e.g., after the completion of the process) to match target characteristics. In some embodiments, the R2R control engine 152 may adjust and / or modify the process policy settings associated with the current process performed on the substrate in the manufacturing apparatus 124, taking into account data associated with previous processes performed on the substrate and / or data associated with upstream processes performed on the substrate. In some embodiments, one or more processes performed using the manufacturing apparatus 124 may correspond to lithography techniques for forming one or more complex patterns on the surface of the substrate. Each process may correspond to each layer of the substrate. Substrate processes performed on layers of the substrate (e.g., depositing one or more layers, etching off parts of one or more layers, etc.) are referred to herein as current layer processes. Such layers are referred to herein as current layers, as described above. A substrate process previously performed on a layer of the substrate (for example, before the current layer process is performed) is referred to herein as a preceding layer process. Such a layer is referred to herein as a preceding layer or initial layer, as described above. A process performed to prepare the substrate for the current layer process is referred to herein as an upstream process (for example, a polishing process, a roughening process, an etching process, etc.). In some embodiments, an upstream process may be performed on the preceding layer (for example, to prepare it for the deposition of the current layer on top of the preceding layer).

[0025] In some embodiments, the R2R control engine 152 can determine one or more settings of the process strategy associated with the current layer process to be adjusted, and / or how much to adjust the settings of each process strategy, based on data associated with the previous layer of the substrate and / or data associated with upstream processes performed on the current layer of the substrate. In some embodiments, the R2R control engine 152 can obtain measurement data associated with the previous layer of the substrate (e.g., from the data store 140), and determine the amount of drift from the target measurement data associated with the substrate from the obtained measurement data. In some embodiments, the R2R control engine 152 can determine a first correction factor used to adjust the settings of the process strategy for the current layer based on the determined amount of drift. Further details regarding determining the amount of drift associated with the measurement of the previous layer and determining the correction factor associated with the previous layer are provided herein.

[0026] In additional or alternative embodiments, the R2R control engine 152 may determine a second correction factor used to adjust the process policy settings for the current layer based on data associated with an upstream process performed on the current layer of the substrate. For example, the R2R control engine 152 may acquire process data and / or sensor data associated with an upstream process performed on the current layer of the substrate and provide the acquired process data and / or sensor data to the prediction component 114. The prediction component 114 may provide the process data and / or sensor data as input to a trained machine learning model 190, as described below. In some embodiments, the machine learning model 190 may be trained to predict, based on a given process data and sensor data, the amount of drift of the measurement values ​​associated with the substrate and the measurement values ​​from target measurement values. Further details regarding the trained machine learning model 190 are provided herein. The prediction component 114 may provide one or more outputs of the trained machine learning model 190 to the R2R control engine 152. The R2R control engine 152 can determine a second correction coefficient based on one or more outputs of a trained machine learning model 190, according to embodiments described herein.

[0027] In some embodiments, the R2R control engine 152 can determine a third correction factor used to adjust the settings of the current layer process policy based on data associated with a preceding substrate processed according to the current layer policy. For example, the R2R control engine 152 can acquire measurement data collected for a preceding substrate processed according to the current layer policy, and after completion of the current layer process, can determine the amount of drift of the acquired measurement data from the target measurement data associated with the substrate. In some embodiments, the third correction factor can correspond to the determined amount of drift. Further details regarding the determination of the third correction factor are provided below in more detail.

[0028] In some embodiments, the R2R control engine 152 can determine which settings for the current layer process should be adjusted by considering a first correction factor, a second correction factor, and / or a third correction factor. The R2R control engine 152 can further or alternatively determine, according to embodiments described herein, how much the settings for the current layer process should be adjusted by considering the first correction factor, the second correction factor, and / or the third correction factor. In some embodiments, the R2R control engine 152 can modify the process policy associated with the current layer process based on the determined modification or adjustment to the process policy settings. In some embodiments, the R2R control engine 152 can provide a display of the modified process policy to a system controller associated with the manufacturing apparatus 124. The system controller can execute the current layer process based on the modified process policy according to embodiments of this disclosure. Further details regarding the R2R control engine 152 and modifications of the current layer process policy are provided 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., sets of data inputs and sets of target outputs) for training, validating, and / or testing a machine learning model 190. As described above, the machine learning model 190 can be trained to predict the amount of drift of measurement data associated with a substrate, and in some embodiments, the measurement data, from target measurement data associated with the substrate, based on given process data and / or sensor data associated with an upstream process performed on the current layer of the substrate. Some operations of the training set generator 172 are described in detail below with reference to Figure 5. In some embodiments, the training set generator 172 can divide the training data into training sets, validation sets, and test sets. 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 can provide process data and / or sensor data associated with an upstream process performed on the current layer of the substrate as input to a trained machine learning model 190, run the trained machine learning model 190 on that input to obtain one or more outputs. As described in detail below with respect to Figure 3, in some embodiments, the prediction component 114 can also extract measurement data from one or more outputs of the trained machine learning model 190 and use the extracted measurement data to determine one or more measurement values ​​associated with the current layer of the substrate after the upstream process. In some embodiments, the prediction component 114 can also determine the amount of drift of one or more measurement values ​​from a target measurement value. In some embodiments, the prediction component 114 can provide the determined measurement values ​​and / or determined drift values ​​to the R2R control engine 152. In additional or alternative embodiments, the prediction component 114 can provide one or more outputs of the trained machine learning model 190 to the R2R control engine 152. In some embodiments, the R2R control engine 152 can determine the amount of drift of one or more measured values ​​associated with the current layer of the substrate after the upstream process, and / or the amount of drift of one or more measured values ​​from a target measured value. The R2R control engine 152 can determine a second correction coefficient based on the amount of drift, according to embodiments described herein.

[0034] The client device 120, manufacturing equipment 124, measuring equipment 128, prediction server 112, data store 140, computing system 150, 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 computing system 150, 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, as well as 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, as well as the prediction server 112, may be integrated into a single machine. In other or similar embodiments, server machines 170, 180, the prediction server 112, and / or the computing system 150 can be integrated into a single machine or one or more machines.

[0036] In general, functions described in one embodiment as being performed by computing system 150, 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 run-to-run (R2R) control engine 152 according to an aspect of the present disclosure. As shown in Figure 2, the R2R control engine 152 may include a preceding layer control component 210, an upstream process component 212, a current layer feedforward control component 214, and / or a current layer feedback control component 216. In some embodiments, the R2R control engine 152 may be connected to a memory 250 (e.g., via a network 130 as described with respect to Figure 1, via a bus, etc.). In some embodiments, the memory 250 may correspond to one or more portions of a data store 140.

[0039] The preceding layer control component 210 may be configured to determine a first correction factor (e.g., preceding layer correction factor 260) used to adjust and / or modify the settings associated with the process policy of the current layer, as described above. As described above, the measuring device 128 may, in some embodiments, generate measurement data associated with the preceding layer of a substrate processed using the manufacturing device 124. For example, after the preceding layer substrate process is completed in the manufacturing device 124, the substrate can be transferred to the measuring device 128, which can generate measurement data and store it in memory 250 as preceding layer measurement data 252. Note that in some embodiments, measurement data may not be generated for each substrate processed using the manufacturing device 124. For example, the manufacturing device 124 may process a lot of two or more substrates. Measurement data 252 may be generated for some of the substrates included in the lot, as described above. Measurement data 252 generated for some of the substrates included in the lot may, in some embodiments, be associated with each substrate in the lot. In additional or alternative embodiments, measurement data 252 may be generated for each substrate processed using the manufacturing device 124. The control component 210 of the preceding layer can acquire measurement data 252 of the preceding layer and determine the correction coefficient 260 of the preceding layer, according to the embodiments described herein.

[0040] In some embodiments, the upstream process component 212 may be configured to determine a second correction factor (e.g., upstream process correction factor 262) used to adjust and / or modify the process policy settings for the current layer. In some embodiments, as described above, the upstream process component 212 may retrieve process data (e.g., upstream process data 254) and / or sensor data (e.g., upstream process sensor data 256) associated with the upstream process performed on the current layer of the substrate from memory 250, and may provide the upstream process data 254 and / or upstream process sensor data 256 as input to the machine learning model 190. In other or similar embodiments, as described above, the upstream process component 212 may provide the upstream process data 254 and / or upstream process sensor data 256 to the prediction component 114, and the prediction component 114 may provide the data 254 and / or data 356 as input to the machine learning model 190. The upstream process component 212 (and / or prediction component 114) can determine measurement data associated with the current layer of the substrate based on one or more outputs of the machine learning model 190, as described above, and can determine the upstream process correction coefficient 262 based on the determined measurement data and / or the determined drift of the measurement data from the target measurement data, according to the embodiments described herein.

[0041] The current layer feedforward control component 214 can be configured to determine one or more modifications to the process policy associated with the current layer process performed on the substrate. In some embodiments, the current layer feedforward control component 214 can determine one or more modifications based on a preceding layer correction factor 260, an upstream process correction factor 262, and / or a current layer correction factor 264, and the determined one or more modifications can be stored in memory 250 as process policy modification data 266. Further details regarding determining one or more modifications to the process policy are provided herein.

[0042] In some embodiments, the current layer feedback control component 216 can be configured to determine a third correction factor (e.g., current layer correction factor 264) used to adjust and / or modify the settings of the current process policy. In some embodiments, as described above, a preceding substrate can be processed according to the current layer process policy. The measuring device 128 can generate measurement data associated with the preceding substrate after the completion of the current layer process, and this measurement data can be stored in the memory 250 as current layer measurement data 258. The current layer feedback control component 216 can determine the current layer correction factor 264 taking into account the current layer measurement data 258, according to embodiments described herein.

[0043] Figure 3 is a flowchart of Method 300 for R2R control in a manufacturing system using machine learning, 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 R2R control engine 152 of the computing system 150. In other or similar embodiments, one or more operations of Method 300 can be performed by the system controller 228. 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 310, the processing logic identifies first data associated with a first process performed on a first layer of the substrate in the manufacturing system. In some embodiments, the first process may correspond to an upstream process performed on the current layer of the substrate using the manufacturing apparatus 124. As described above, the upstream process may be a process performed to prepare the substrate for the current layer process. In some embodiments, the upstream process may include polishing, roughening, etching, and the like. For example, the upstream process may include a chemical mechanical polishing process to prepare the preceding layer of the substrate for deposition of the current layer on the preceding layer.

[0046] Figure 4 shows an example of R2R control in a manufacturing system using machine learning according to an aspect of the present disclosure. As shown in Figure 4, the manufacturing apparatus 124 can be used to perform one or more pre-layer processes 410 on a substrate (or lot of substrates) in the manufacturing system. As also shown in Figure 4, the manufacturing apparatus 124 (or other apparatus in the manufacturing system) can be used to perform one or more upstream processes 412 on a substrate (or lot of substrates) (e.g., after the completion of one or more pre-layer processes 410). Processing logic (e.g., the upstream process component 212 of the R2R control engine 152) can acquire data associated with the upstream processes 412. In some embodiments, the upstream process component 212 can acquire upstream process data from memory 250 and / or data store 140, as described above. In other or similar embodiments, a processing component associated with the manufacturing apparatus 124 (e.g., a system controller 450) can retrieve the first data (e.g., from memory 250 and / or data store 140) and transmit the first data to an upstream process component 212 (e.g., via network 130, via bus, etc.).

[0047] Upstream process data may include policy data 254 associated with the upstream process 412 performed on the substrate, and / or sensor data 256 collected by sensors in the manufacturing system or sensors coupled to the manufacturing system before, during, and / or after the execution of the upstream process 412. Following the previous example, policy data 254 for the chemical mechanical polishing process may include a representation of one or more operations performed during the process, a representation of the characteristics of the pads used in the chemical mechanical polishing process (e.g., pad material, pad diameter, pad hardness, pad compression ratio, etc.), a representation of the rotational speed and / or rotational angle of the pads during the chemical mechanical polishing process, a representation of one or more materials used to perform the chemical mechanical polishing process and / or the concentration of such materials, downforce associated with the chemical mechanical polishing process, speed, relative speed, and / or other kinematic properties of one or more moving parts involved in the chemical mechanical polishing process, substrate-pad interface properties, etc. Sensor data 256 may include data collected by sensors before, during, and / or after the execution of the chemical mechanical polishing process.

[0048] In some embodiments, the amount of upstream process data identified, or otherwise acquired, by the upstream process component 212 may be quite large and / or may include data that does not correspond to specific features of the current layer of the substrate. Therefore, in some embodiments, the upstream process component 212 can analyze the upstream process data to identify portions of the upstream process data that correspond to specific features of the current layer of the substrate, and extract the identified data as first data. In some embodiments, the upstream process component 212 may include a feature analysis module 414 configured to analyze the upstream process data to identify data related to specific features of the current layer of the substrate. The feature analysis module 414 may provide one or more portions of the upstream process data as input to one or more dimensionality reduction functions. The dimensionality reduction functions can plot the upstream process data as points in real coordinate space and can identify uncorrelated variables in the data points. Data points corresponding to correlated variables can be associated with upstream process data related to specific features of the current layer of the substrate. In some embodiments, the dimensionality reduction function may correspond to at least one of a principal component analysis function, a partial least squares analysis function, or an autoencoder function. The feature analysis module 414 may acquire one or more outputs of the dimensionality reduction functions. In some embodiments, one or more outputs of the dimensionality reduction function may indicate data points corresponding to correlation variables. In some embodiments, one or more outputs may include a display of one or more portions of upstream process data related to specific features of the current layer of the substrate. In some embodiments, the feature analysis module 414 may extract first data from one or more outputs.

[0049] Referring back to Figure 3, in block 312, the processing logic (e.g., upstream process component 212) provides the first data as input to the machine learning model. In some embodiments, the machine learning model may correspond to machine learning model 190. As described above, machine learning model 190 can be trained to predict the measurement values ​​of one or more layers of a substrate following an upstream process based on given process data and / or sensor data, and in some embodiments, to predict the amount of drift of the predicted measurement values ​​from the target measurement values ​​of the substrate after the upstream process. In some embodiments, machine learning model 190 can be trained according to the embodiments described with respect to Figure 5.

[0050] In some embodiments, the upstream process component 212 can directly provide the first data as input to the machine learning model 190, and one or more outputs of the model 190 can be obtained. In other or similar embodiments, the upstream process component 212 can provide the first data to the prediction component 114, and the prediction component 114 can provide the first data as input to the machine learning model 190. In such embodiments, the prediction component 114 can obtain one or more outputs of the model 190, and in some embodiments, one or more outputs can be provided to the upstream process component 212. The outputs of the machine learning model 190 may include measurement data showing one or more sets of measurement values, and for each set of measurement values, an indication of confidence that each set of measurement values ​​corresponds to the current layer of the substrate (e.g., after completion of the upstream process and / or after completion of the current layer process). In some embodiments, the measurement data may also show the amount of drift of each set of measurement values ​​from a target set of measurement values. In some embodiments, the target set of measurement values ​​may be provided to the system 100 by a user of the manufacturing system (e.g., a developer, engineer, operator, etc.). In other or similar embodiments, the target set of measurement values ​​can be determined by taking into account experimental data associated with a preceding substrate processed according to an upstream process policy and / or a current layer process policy (e.g., by the R2R control engine 152, by the system controller 450, etc.).

[0051] In some embodiments, the upstream process component 212 and / or the prediction component 114 can identify each set of metric measurements that have a confidence level that satisfies a confidence criterion. In some embodiments, a confidence level can satisfy a confidence criterion if its confidence level satisfies and / or exceeds a threshold confidence level. In other or similar embodiments, a confidence level can satisfy a confidence criterion if its confidence level satisfies and / or exceeds a threshold confidence level and is higher than other confidence levels associated with other sets of metric measurements. In response to identifying each set of metric measurements that have a confidence level that satisfies a confidence criterion, the upstream process component 212 and / or the prediction component 114 can extract the identified extracted set of metric measurements and / or drift amounts from one or more outputs of the machine learning model 190. In some embodiments, the output of the machine learning model 190 may include one or more sets of metric measurements rather than the drift amount from the target metric measurement for each set of metric measurements. In such embodiments, the upstream process component 212 and / or prediction component 114 can extract a set of measurement values ​​that have a confidence level that satisfies the confidence criteria, as described above, and can determine the amount of drift by comparing the extracted set of measurement values ​​with the target measurement values.

[0052] As described above, in some embodiments, the machine learning model 190 can be a variational recurrent autoencoder (VRAE) model. The VRAE model can be trained to extract data from upstream process data corresponding to specific features of the current layer and to predict the drift of the measured values ​​from the target measured values, taking into account the extracted features. Thus, the upstream process data acquired by the upstream process component 212 can correspond to first data provided as input to the VRAE model. For example, as shown in Figure 4, in some embodiments, the upstream process component 212 may include a VRAE engine 416. In response to the acquisition of upstream process data, the VRAE engine 416 of the upstream process component 212 can directly provide the upstream process data as input to the VRAE model, instead of providing the upstream data to the feature analysis module 414, as described above with respect to additional embodiments. The VRAE engine 416 can extract from one or more outputs of the VRAE model the amount of drift of the predicted set of measured values ​​for the current layer of the substrate from the target measured values. In some embodiments, the VRAE model can be trained based on historical data collected about preceding, upstream, and / or current layer processes performed in the manufacturing system or other manufacturing systems associated with the system architecture 100.

[0053] In block 314, the processing logic (e.g., upstream process component 212) determines, based on one or more outputs of the machine learning model 190, the amount of drift of a first set of measurements for the first layer of the substrate from a target set of measurements after at least one of the first process (e.g., upstream process 412) or a second process (e.g., current layer process) has been completed. As described above, in some embodiments, one or more outputs of the machine learning model 190 may include, for each set of measurements, a representation of the amount of drift of each set of measurements from a target set of measurements. Thus, the upstream process component 212 can determine the amount of drift of a set of measurements for the first layer of the substrate based on the representation of the amount of drift extracted from one or more outputs of the machine learning model 190. In other or similar embodiments, the upstream process component 212 may determine the amount of drift by comparing a set of measurements extracted from one or more outputs of the machine learning model 190 with a target set of measurements, as described above. In some embodiments, the upstream process component 212 may further determine the amount of drift based on one or more additional measurements taken for a preceding substrate processed according to the upstream process policy and / or the process policy of the current layer. For example, the upstream process component 212 may take additional measurements taken for the preceding substrate (e.g., from the data store 140 and / or memory 250) to determine whether the measurements for the preceding substrate and / or the current substrate tend to drift from the target measurements (e.g., exceed a lot threshold number). In some embodiments, the upstream process component 212 may determine the amount of drift taking the determined trend into consideration.

[0054] In block 316, the processing logic (e.g., the current layer feedforward control component 214) determines one or more modifications to the process policy of a second process (e.g., the current layer process) and second data associated with the second layer of the substrate (e.g., the preceding layer). As described above, in some embodiments, the amount of drift in the set of measured values ​​associated with the current layer of the substrate can correspond to a correction factor (e.g., correction factor 262) used to adjust the setting of the process policy for the current layer. For example, the amount of drift in the set of measured values ​​can indicate that the difference between the predicted smoothness of the current layer of the substrate and the target smoothness of the current layer before the start of the current layer process (e.g., deposition of the current layer) is off by a certain number of units. Thus, the correction factor 262 can correspond to the difference or variation in the predicted smoothness of the current layer from the target smoothness that should be corrected when adjusting and / or modifying the setting of the process policy for the current layer. As shown in Figure 4, the determined correction factor 262 can be provided to the current layer feedforward control component 214. The feedforward control component 214 can determine one or more modifications to the process policy, taking into account the correction coefficient 262, according to the embodiments described below.

[0055] As shown in Figure 4, measurement data 254 can be collected for a substrate processed according to the preceding layer process 410, according to the embodiments described above. The preceding layer control component 210 can identify and otherwise acquire the measurement data 254 (e.g., from data store 140, from memory 250, etc.) and compare the measurement data 254 with target measurement data (e.g., target measurement values) associated with the substrate after completion of the preceding layer process 410. In some embodiments, the target measurement data associated with the substrate after completion of the preceding layer process 410 can be provided by the user of the manufacturing system and / or determined based on experimental data collected for a preceding substrate processed according to the preceding layer process 410, according to the embodiments described above. The preceding layer control component 210 can determine the amount of drift of the measurement data 254 from the target measurement data, according to the embodiments described above. The correction factor 260 can correspond to the determined amount of drift, as described above with respect to the correction factor 262.

[0056] As shown in Figure 4, the feedforward control component 214 of the current layer can obtain another correction coefficient 264 from the feedback control component 216 of the current layer. As described above, the feedback control component 216 of the current layer can identify and otherwise acquire measurement data collected for a preceding substrate processed according to the process strategy of the current layer. The feedback control component 216 of the current layer can compare the measurement data acquired for the preceding substrate with target measurement data (e.g., target measurement values) of the substrate processed according to the process strategy of the current layer, and based on the comparison, can determine the amount of drift of the acquired measurement values. The target measurement data of the substrate processed according to the process strategy of the current layer can be provided by the user of the manufacturing system and / or determined based on experimental data collected for a preceding substrate processed according to the process strategy of the current layer. The correction coefficient 264 can correspond to the determined amount of drift of the preceding substrate processed according to the substrate process of the current layer, as described above with respect to the correction coefficients 260 and 262.

[0057] As described above, the current layer feedforward control component 214 can determine one or more modifications to the current layer process policy based on the correction coefficients 260, 262, and / or 264. In some embodiments, the current layer feedforward control component 214 can determine one or more modifications to the current layer process policy by considering one or more rules associated with the current layer process. For example, a user of the manufacturing system (e.g., a developer, operator, engineer, etc.) can be provided with an indication of one or more modifications to be made to the process policy, taking into account the variability detected for each layer of the substrate. The current layer feedforward control component 214 can determine a modification or adjustment to be applied to one or more settings of the current layer process policy by comparing the correction coefficients 260, 262, and / or 264 with the variability and / or corrections included in the provided modifications. In another example, the current layer feedforward control component 214 (or the R2R control engine 152 and / or another component of system 100) may identify, and otherwise acquire, historical and / or experimental data associated with adjustments and / or modifications made to the substrate process policy in response to the variability detected for each layer of the substrate. The historical and / or historical data may, in one example, include a representation of the variability or differences that occurred after the completion of the preceding layer process 410, upstream process 412, and / or current layer process 420 according to the unmodified current layer process policy, and a representation of one or more adjustments of modifications made to the current layer process policy in consideration of the variability or differences. The current layer feedforward control component 214 may compare correction coefficients 260, 262, and / or 264 with the identified historical and / or experimental data to determine the modifications or adjustments to be applied to one or more settings of the current layer process policy.

[0058] In additional or alternative embodiments, the current layer feedforward control component 214 may provide correction coefficients 260, 262, and / or 264 as input to a machine learning model trained to predict one or more modifications made to the process policy to make the substrate characteristics conform to target characteristics, based on one or more given correction coefficients. In some embodiments, the machine learning model may be trained using historical and / or experimental data associated with prior substrates processed in a manufacturing system according to a prior layer process 410, an upstream process 412, and / or the current layer process 420. In other or similar embodiments, the machine learning model may be trained based on historical and / or experimental data collected for prior substrates processed in other manufacturing systems. The current layer feedforward control component 214 may obtain one or more outputs of the machine learning model. In some embodiments, one or more outputs may include process modification data, which includes one or more sets of process policy modifications, and for each set of process policy modifications, an indication of confidence that each set of process policy modifications conforms to the target characteristics of the substrate. The feedforward control component 214 in the current layer can identify a set of process policy modifications that have a confidence level that satisfies a confidence criterion (e.g., exceeding a threshold confidence level).

[0059] In block 318, the processing logic (e.g., the current layer feedforward control component 214) updates the process policy of the second process based on one or more determined modifications. The current layer feedforward control component 214 can identify the process policy associated with the current layer process (e.g., in the data store 140, memory 250, etc.) and can update one or more settings of the process policy taking into account the one or more determined modifications. The modified process policy 418 can correspond to the current layer process policy modified according to the one or more determined modifications, as shown in Figure 4. In some embodiments, the current layer feedforward control component 214 can transmit the modified process policy 418 to the system controller 450 (e.g., via the network 130, via the bus). In other or similar embodiments, the current layer feedforward control component 214 can store the modified process policy 418 in the data store 140 and / or memory 250. The system controller 450 can access the modified process policy 418 via the datastore 140 and / or memory 250 (for example, via the network 130, via the bus, etc.).

[0060] In some embodiments, the system controller 450 can execute the current layer process 420 on a substrate using the manufacturing apparatus 124 according to a modified process policy 418. The system controller 450 can execute the current layer process 420 by executing one or more instructions associated with the modified process policy 418. After the completion of the current layer process 420, the substrate is transferred to the measuring apparatus 128, which can collect measurement data 422 associated with the substrate. In some embodiments, the current layer feedback control component 216 can determine the amount of drift of the measurement data 422 from the target measurement data associated with the substrate after the execution of the current layer process 420, according to the embodiments described above. In some embodiments, the current layer feedback control component 216 can determine another correction factor 264 based on the determined amount of drift of the measurement data 422. The determined correction factor 264 can be used by the current layer feedforward control component 214 to determine one or more modifications or adjustments to be applied to the modified process policy 418 before the current layer process 420 is executed on future substrates in the manufacturing system.

[0061] Figure 5 is a flowchart of a method 500 for training a machine learning model (e.g., machine learning model 190) according to an aspect of the present disclosure. Method 500 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 500 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 500 can be performed by one or more other machines not shown in the figure. In some embodiments, one or more operations of Method 500 can be performed by a prediction server 112 of a prediction system 110. In other or similar embodiments, one or more operations of Method 500 can be performed by an R2R control engine 152 of a computing system 150. In yet another or similar embodiments, one or more operations of Method 500 can be performed by a system controller 450.

[0062] 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.

[0063] In block 510, the processing logic initializes the training set T to an empty set (e.g., {}). In block 512, the processing logic identifies historical data associated with a first historical process performed on a first layer of a preceding substrate in the manufacturing system. In some embodiments, the first historical process may correspond to an upstream historical process performed to prepare the substrate for the current historical layer process, according to the embodiments described above. The historical data may include historical process data associated with the historical process, and / or historical sensor data collected before, during, or after the execution of the historical process. In some embodiments, the historical data may further include contextual data associated with the historical process. For example, the history may include a display of the process chamber on which the historical process was performed, a display of the lot associated with the preceding substrate, and so on. In some embodiments, the processing logic may identify the historical data from the data store 140 and / or memory 250, as described above.

[0064] In block 514, the processing logic identifies a set of historical measurement values ​​obtained for a preceding substrate after at least one of a first historical process or a second historical process for a first layer has been completed in the manufacturing system. In some embodiments, the second historical process may correspond to a current historical layer process. After the completion of the first historical process and / or the second historical process, historical measurement values ​​can be generated for the preceding substrate (e.g., using measuring device 128) and stored in datastore 140 and / or memory 250. The processing logic can identify a set of historical measurement values ​​from datastore 140 and / or memory 250 according to the embodiments described above.

[0065] In block 516, the processing logic generates first training data based on identified historical data associated with a first process in the history. As described above, in some embodiments, the machine learning model 190 can be a variational recurrent autoencoder model. In such embodiments, the first training data may include identified historical data associated with a first process in the history. In other or similar embodiments, the processing logic may provide the identified historical data as input to one or more dimensionality reduction functions. The dimensionality reduction functions may correspond to the dimensionality reduction functions described with respect to the feature analysis module 414 in Figure 4. The processing logic may obtain one or more outputs of the dimensionality reduction functions. One or more outputs of the dimensionality reduction functions may correspond to a portion of the historical data associated with a particular feature of the current layer in the history of the preceding substrate.

[0066] The processing logic may include relevant portions of historical data in the generated first training data. In additional or alternative embodiments, the processing logic may also include in the first training data a representation of specific data clusters corresponding to historical processes performed on a preceding substrate. In exemplary examples, the processing logic may provide context data, historical data, and / or relevant portions of historical data as inputs to one or more data clustering functions. The data clustering functions may be configured to determine which data cluster to assign the relevant portions of historical data to, taking into account one or more features associated with the context data and / or historical data. In some embodiments, the historical data may be clustered taking into account the type of equipment used to perform the historical process (e.g., indicated by the context data), the types of defects and / or variability detected on the preceding substrate (e.g., indicated by the historical process data and / or historical sensor data), and / or one or more settings of the process policy of the historical process (e.g., indicated by the historical process data). The processing logic may extract identifiers associated with specific clusters associated with relevant portions of historical data from one or more outputs of the data clustering functions, and may include the extracted identifiers, along with the relevant portions of historical data, in the generated first training data. Note that in additional or alternative embodiments, the processing logic may not provide relevant portions of the historical data (and / or historical context data and / or historical data) as input to the clustering function. Instead, relevant portions of the historical data may be clustered by a machine learning model (e.g., according to one or more machine learning techniques).

[0067] In block 518, the processing logic can generate second training data based on the identified set of historical measurements. In some embodiments, the generated second training data may include one or more representations of the identified set of historical measurements. In block 520, the processing logic generates mappings between the first and second training data. In block 522, the processing logic adds the mappings to the training set T. In block 524, 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 may 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 may 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 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 500 returns to block 512. If it is determined that training set T contains a sufficient amount of training data to train a machine learning model, method 500 proceeds to block 528.

[0068] In block 528, 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 528, 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.

[0069] Figure 6 shows a block diagram of an exemplary computer system 600 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 600 may correspond to the prediction server 112 and / or computing system 150 in Figure 1, the system controller 450 in Figure 4, and / or other processing units of the manufacturing system 100.

[0070] An exemplary computing device 600 includes a processing unit 602, main memory 604 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), static memory 606 (e.g., flash memory, static random access memory (SRAM), etc.), and secondary memory (e.g., data storage device 628), which communicate with each other via bus 608.

[0071] The processing unit 602 may represent one or more general-purpose processors, such as a microprocessor or a central processing unit. More specifically, the processing unit 602 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 602 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 602 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 602 is configured to execute processing logic for performing the operations and steps discussed herein.

[0072] The computing device 600 may further include a network interface device 622 for communicating with the network 664. The computing device 600 may also include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generator 620 (e.g., a speaker).

[0073] The data storage device 628 may include a machine-readable storage medium (or more specifically, a non-temporary computer-readable storage medium) 624 storing a set of one or more instructions 626 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 626 may also reside entirely or at least partially in the main memory 604 and / or the processing unit 602 during their execution by the computer device 600, and the main memory 604 and the processing unit 602 also constitute a computer-readable storage medium.

[0074] The computer-readable storage medium 624 can also be used to store Model 190 and data used to train Model 190. The computer-readable storage medium 624 can also store a software library containing methods for calling Model 190. Although the computer-readable storage medium 624 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.

[0075] 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.

[0076] 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%.

[0077] 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.

[0078] 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. A step of identifying first data associated with a first process performed on a first layer of a substrate in a manufacturing system, wherein the first layer of the substrate is further processed in the manufacturing system according to a second process, A step of providing the first data as input to a machine learning model, wherein the machine learning model is trained to predict measurement values ​​for one or more layers of a substrate processed in the manufacturing system; A step of determining, based on one or more outputs of the machine learning model, the amount of drift of a first set of measurement values ​​of the first layer of the substrate after the completion of at least one of the first process or the second process, from a target set of measurement values; A step of determining one or more modifications to the process policy of the second process, taking into consideration the determined drift amount and second data associated with the second layer of the substrate, wherein the second layer of the substrate has been previously processed in the manufacturing system according to a third process, A step of updating the process policy of the second process based on one or more modifications determined above, Methods that include...

2. The method according to claim 1, wherein the one or more modifications to the process strategy of the second process are further determined in consideration of third data including one or more measured values ​​associated with another substrate processed in the manufacturing system according to the second process.

3. The step of identifying the first data associated with the first process performed on the first layer of the substrate is: The dataset associated with the first process performed on the first layer of the substrate is provided as input to one or more dimensionality reduction functions, Extracting the first data from the output of one or more dimensionality reduction functions, The method according to claim 1, including the method described in claim 1.

4. The method according to claim 3, wherein the one or more dimensionality reduction functions include at least one of a principal component analysis function, a partial least squares analysis function, or an autoencoder function.

5. The method according to claim 1, wherein the machine learning model is a variational autoencoder model.

6. A step of identifying a second set of measurement values ​​for the first layer of the substrate, wherein the second set of measurement values ​​is generated for the first layer of the substrate after the substrate process for the first layer of the substrate is completed according to the updated process policy, A step of updating at least one of the process strategies for the third process or another process strategy, taking into account the identified second set of measurement values, The method according to claim 1, further comprising:

7. The method according to claim 1, wherein the process strategy corresponds to one or more operations associated with a lithography process.

8. The method according to claim 7, wherein the first process performed on the first layer of the substrate includes at least one of a chemical mechanical polishing process, an etching process, or a deposition process.

9. The method according to claim 1, wherein the first process comprises a chemical mechanical polishing process, the second process comprises one or more first operations of a lithography process, and the third process comprises one or more second operations of the lithography process performed prior to the one or more first operations.

10. Memory and A processing unit coupled to the memory, Identifying first data associated with a first process performed on a first layer of a substrate in a manufacturing system, and determining that the first layer of the substrate is further processed in the manufacturing system according to a second process. The first data is provided as input to a machine learning model, and the machine learning model is trained to predict measurement values ​​for one or more layers of a substrate processed in the manufacturing system. Based on one or more outputs of the machine learning model, the amount of drift of the first set of measurement values ​​for the first layer of the substrate after the completion of at least one of the first process or the second process from a target set of measurement values ​​is determined. Taking into account the determined drift amount and the second data associated with the second layer of the substrate, one or more modifications to the process policy of the second process are determined, and the second layer of the substrate has been previously processed in the manufacturing system according to the third process. Based on the one or more modifications determined above, update the process strategy of the second process. Processing device and A system that includes these features.

11. The system according to claim 10, wherein the one or more modifications to the process strategy of the second process are further determined in consideration of third data including one or more measurement values ​​associated with another substrate processed in the manufacturing system according to the second process.

12. In order to identify the first data associated with the first process performed on the first layer of the substrate, the processing apparatus A dataset associated with the first process performed on the first layer of the substrate is provided as input to one or more dimensionality reduction functions. The first data is extracted from the output of one or more dimensionality reduction functions. The system according to claim 10.

13. The system according to claim 12, wherein the one or more dimensionality reduction functions include at least one of a principal component analysis function, a partial least squares analysis function, or an autoencoder function.

14. The system according to claim 10, wherein the machine learning model is a variational autoencoder model.

15. The aforementioned processing apparatus further Identify a second set of measurement values ​​for the first layer of the substrate, and the second set of measurement values ​​is generated for the first layer of the substrate after the substrate process for the first layer of the substrate is completed according to the updated process strategy. Considering the identified second set of measurement values, update at least one of the process strategies for the third process or another process strategy. The system according to claim 10.

16. The system according to claim 10, wherein the first process comprises a chemical mechanical polishing process, the second process comprises one or more first operations of a lithography process, and the third process comprises one or more second operations of the lithography process performed prior to the one or more first operations.

17. When executed by the processing unit, the processing unit The manufacturing system identifies first data associated with a first process performed on a first layer of a substrate, and the first layer of the substrate is further processed in the manufacturing system according to a second process. The first data is provided as input to a machine learning model, and the machine learning model is trained to predict measurement values ​​for one or more layers of a substrate processed in the manufacturing system. Based on one or more outputs of the machine learning model, the amount of drift of the first set of measurement values ​​for the first layer of the substrate after the completion of at least one of the first process or the second process from a target set of measurement values ​​is determined. Taking into account the determined drift amount and the second data associated with the second layer of the substrate, one or more modifications to the process strategy of the second process are determined, and the second layer of the substrate has been previously processed in the manufacturing system according to the third process. Based on the one or more modifications determined above, the process strategy of the second process is updated. A non-temporary computer-readable medium containing instructions.

18. The non-temporary computer-readable medium according to claim 17, wherein the one or more modifications to the process policy of the second process are further determined in consideration of third data including one or more measurement values ​​associated with another substrate processed in the manufacturing system according to the second process.

19. In order to identify the first data associated with the first process performed on the first layer of the substrate, the processing apparatus A dataset associated with the first process performed on the first layer of the substrate is provided as input to one or more dimensionality reduction functions. The first data is extracted from the output of one or more dimensionality reduction functions. The non-temporary computer-readable medium according to claim 17.

20. The non-temporary computer-readable medium according to claim 17, wherein the first process comprises a chemical mechanical polishing process, the second process comprises one or more first operations of a lithography process, and the third process comprises one or more second operations of the lithography process performed prior to the one or more first operations.