Run-to-run control in manufacturing systems using machine learning
By employing machine learning models to predict measurement drift and adjust process strategies in real-time, the challenges of substrate drift and variation in manufacturing systems are addressed, resulting in improved throughput, efficiency, and substrate quality.
Patent Information
- Application Number
- JP2024562821
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-04-27
- Filing Date
- 2023-04-26
- Publication Date
- 2025-05-15
- Estimated Expiration
- 2043-04-26
AI Technical Summary
Existing run-to-run (R2R) process control systems in manufacturing systems face challenges in determining the optimal adjustments to process control variables to minimize substrate drift, shifting, and variation, especially due to the complexity of substrate processing and the lack of real-time feedback from upstream processes.
The implementation of machine learning models, specifically trained to predict measurement drift and adjust process strategies in real-time, allows for the identification of necessary modifications to process settings based on data from previous processes, including upstream processes, thereby optimizing substrate properties and reducing variability.
This approach enhances the throughput and efficiency of manufacturing systems by enabling early detection and correction of substrate property variations, reducing latency, and improving the overall quality of substrates by optimizing process strategies in real-time.
Smart Images

Figure 2025515458000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to manufacturing systems, and more particularly, to run-to-run control in manufacturing systems using machine learning. [Background technology]
[0002] As electronic devices continue to shrink in size, the complexity of substrate processing continues to increase. Some techniques for manufacturing substrates involve multiple different processes, with advanced techniques (e.g., plasma etching) involving 20 or more different processes. Numerous process control variables in a substrate process can affect the properties of each substrate after the substrate process is completed. Run-to-run (R2R) process control refers to a technique for modifying a process recipe between runs to minimize drift, shift, and / or variation in the substrate. A process control system can modify the process recipe by modifying or adjusting settings associated with one or more process control variables associated with the process recipe (e.g., to optimize a process, to cause a characteristic of each substrate to correspond to a target characteristic, etc.). It can be difficult for a process control system to determine which process control variable settings to modify and / or to what extent to modify the process control variable settings to optimize a respective process and / or to cause a substrate characteristic to correspond to a target characteristic. Summary of the Invention
[0003] Some of the described embodiments are directed 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 according to a second process in the manufacturing system. The method further includes providing the first data as an input to a machine learning model. The machine learning model is trained to predict metrology measurements for one or more layers of the substrate processed in the manufacturing system and a drift of the predicted metrology measurements from a target metrology measurement. The method further includes determining an amount of drift of a set of first metrology measurements for the first layer of the substrate after at least one of the first process or the second process is completed from a set of target metrology measurements based on one or more outputs of the machine learning model. The method further includes determining one or more modifications to a process recipe for the second process in consideration of the determined amount of drift and second data associated with the second layer of the substrate. The second layer of the substrate has previously been processed according to a third process in the manufacturing system. The method further includes updating the process recipe for the second process based on the determined one or more modifications.
[0004] In some embodiments, the system includes a memory and a processing device coupled to the memory. The processing device identifies 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 according to a second process in the manufacturing system. The processing device further provides the first data as an input to a machine learning model. The machine learning model is trained to predict metrology measurements for one or more layers of the substrate processed in the manufacturing system and a drift of the predicted metrology measurements from a target metrology measurement. The processing device further determines an amount of drift of the set of first metrology measurements for the first layer of the substrate after at least one of the first process or the second process is completed from a target metrology measurement set based on one or more outputs of the machine learning model. The processing device further determines one or more modifications to a process recipe for the second process in consideration of the determined amount of drift and second data associated with the second layer of the substrate. The second layer of the substrate has been previously processed according to a third process in the manufacturing system. The processing device further updates the process recipe for the second process based on the determined one or more modifications.
[0005] In some embodiments, the non-transitory computer-readable storage medium includes instructions that, when executed by the processing device, cause the processing device 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 according to a second process in the manufacturing system. The processing device further provides the first data as an input to a machine learning model. The machine learning model is trained to predict metrology measurements for one or more layers of the substrate processed in the manufacturing system and a drift of the predicted metrology measurements from a target metrology measurement. The processing device further determines an amount of drift of the set of first metrology measurements for the first layer of the substrate after at least one of the first process or the second process is completed from a set of target metrology measurements based on one or more outputs of the machine learning model. The processing device further determines one or more modifications to a process recipe for the second process in consideration of the determined amount of drift and second data associated with the second layer of the substrate. The second layer of the substrate has previously been processed according to a third process in the manufacturing system. The processing device further updates the process recipe of the second process based on the determined one or more modifications.
[0006] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to like elements. It should be noted that different references to "an" or "one" embodiment in the present disclosure are not necessarily to the same embodiment, and such references mean at least one. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 illustrates an exemplary system architecture according to aspects of the present disclosure. [Diagram 2] FIG. 1 is a block diagram of an example run-to-run (R2R) control engine, according to an aspect of the present disclosure. [Diagram 3]1 is a flow diagram of a method for R2R control in a manufacturing system using machine learning, according to an aspect of the present disclosure. [Figure 4] 1 is an example of R2R control in a manufacturing system using machine learning, according to an embodiment of the present disclosure. [Diagram 5] 1 is a flow diagram of a method for training a machine learning model according to an aspect of the present disclosure. [Figure 6] FIG. 1 is a block diagram of an example computer system that operates in accordance with one or more aspects of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] The embodiments described herein provide a system and method for run-to-run (R2R) control in a manufacturing system using machine learning. In some cases, a substrate may undergo a significant number of processes before the substrate can be included in a final product. For example, lithography techniques involve depositing multiple layers of material on a surface of a substrate and using the deposited layers to form a highly complex pattern (e.g., by etching away a portion of one or more of the deposited layers). Before a complex pattern is formed on the substrate so that the substrate can be included in a final product, the substrate may undergo multiple substrate processes (e.g., processes for depositing each respective layer on the substrate, processes for etching away a portion of one or more layers from the substrate surface, etc.). As electronic devices continue to shrink in size, the complexity of the patterns formed on the substrate increases, thereby increasing the overall complexity of substrate processing. For example, in some integrated circuits, a substrate may undergo as many as 50 or more lithography cycles (e.g., one or more deposition processes preceding and / or following one or more etching processes, etc.) before a target pattern is formed on the substrate's surface.
[0009] The manufacturing system may include a process control subsystem (also referred to herein as a process control system or simply a process controller) configured to adjust and / or modify settings of a process performed on a substrate (or a lot or batch of substrates) to optimize the respective process and / or to cause characteristics of the substrate (or lot of substrates) to correspond to target characteristics. Run-to-run (R2R) process control refers to a technique for adjusting or modifying settings of a process recipe for a substrate process to minimize drift, shift, and / or variation of the substrate. In some cases, characteristics of a substrate after completion of an initial substrate process may affect characteristics of the substrate after completion of a subsequent substrate process. For example, multiple deposition processes may be performed to deposit layers of material on a surface of a substrate (e.g., according to the lithography cycle described above). Characteristics of an initial layer deposited on the surface of the substrate may affect characteristics of a subsequent layer deposited on the initial layer. In addition, one or more processes may be performed on the initial layer to prepare it for the process of the subsequent layer before depositing one or more subsequent layers on the initial layer. For example, a chemical mechanical polishing process may be performed on the initial layer to prepare the initial layer for deposition of the subsequent layer. Such processes are referred to herein as upstream processes.
[0010] As described above, the process control subsystem can adjust and / or modify settings of a substrate process. Because each process performed on a substrate can affect the substrate's characteristics, it can be difficult for the process control subsystem to identify which settings to adjust or modify and / or to what extent each setting should be adjusted or modified. In some systems, metrology data of the substrate after the process is completed can be collected, and the process control subsystem can determine which settings to adjust or modify and / or how to adjust or modify the settings for subsequent processes performed on the substrate based on the collected metrology data. However, collecting metrology data for each substrate, or even for a portion of the substrates in a lot, can take a significant amount of time, which can reduce overall throughput and increase the overall latency of the manufacturing system. In addition, conventional process control subsystems do not consider how substrate characteristics are affected by upstream processes performed on the substrate to prepare the substrate for subsequent substrate processes (e.g., a subsequent deposition process, a subsequent etch process, etc.). Conventional process control systems do not detect variations and / or defects in substrate characteristics caused by upstream processes until the substrate process is performed and metrology data is collected for the substrate. Thus, conventional process control systems do not adjust or modify substrate process settings prior to initiating substrate processing to combat variations and / or defects in substrate characteristics caused by upstream processes, and variations or defects may be present in the substrate after substrate processing is completed. Such systems may, in some cases, perform additional processing operations to correct for such variations or defects. In other cases, they may not be able to correct for such variations or defects, and thus render the substrate unusable. Correcting the variations or defects with additional processing operations and / or removing unusable substrates from the manufacturing system may reduce overall throughput and efficiency and increase overall latency of the manufacturing system.
[0011] Aspects of the present disclosure address deficiencies in the prior art by providing systems and methods for run-to-run (R2R) control in a manufacturing system using machine learning. In some embodiments, a substrate (or a lot or batch of substrates) may undergo multiple substrate processes (e.g., according to lithography techniques) in a manufacturing system. Each process may correspond, in some embodiments, to a respective layer of the substrate. For purposes of explanation and illustration only, a substrate process that is performed on a layer of the substrate (e.g., to deposit one or more layers, to etch away portions of one or more layers, etc.) is referred to herein as a current layer process. Such a layer is referred to herein as a current layer. A substrate process that was previously performed on a layer of the substrate (e.g., prior to the performance of a current layer process) is referred to herein as a previous layer process. Such a layer is referred to herein as a previous layer or initial layer. A process that is performed to prepare a substrate for a current layer process is referred to herein as an upstream process. Examples of upstream processes may include, in some embodiments, a polishing process (e.g., a chemical mechanical polishing process, etc.), a roughening process, an etching process, a deposition process, etc.
[0012] The process control system, in some embodiments, can use machine learning techniques to determine one or more modifications to a current layer process to be performed on a substrate. For example, after completion of an upstream process (e.g., before initiation of a current layer process), the process control system can identify data associated with the upstream process. The upstream process data, in some embodiments, can include data associated with one or more operations and / or settings associated with a process recipe of the upstream process, data collected by one or more sensors of the manufacturing system before, during, or after execution of the upstream process, etc. The process control system can provide the upstream process data as input to a machine learning model trained to predict metrology measurements for one or more layers of a substrate processed according to the upstream process and an amount of drift of the predicted metrology measurements from a target metrology measurement of the substrate after the upstream process. In some embodiments, the machine learning model can be or otherwise correspond to a variational recursive autoencoder 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 can determine an amount of drift of the metrology measurements of the substrate from a target metrology measurement based on the obtained outputs. The determined amount of drift, in some embodiments, may correspond to a first correction factor that the process control system applies to adjust or modify settings associated with the process recipe of the current layer process.
[0013] In some embodiments, metrology data may be collected (e.g., using a metrology device) after performance of a previous layer process on the substrate. The process control system may determine an amount of drift of the collected metrology data from a target metrology measurement of the substrate after the previous layer process by comparing the collected metrology data to a target metrology measurement. The determined amount of drift may, in some embodiments, correspond to a second correction factor that the process control system applies to adjust or modify settings associated with the process recipe of the current layer process. In additional or alternative embodiments, additional metrology data may be collected (e.g., using a metrology device) after performance of the process recipe of the current layer process on other substrates at the manufacturing system. The process control system may determine an amount of drift of the additional metrology data from a target metrology measurement of the substrate after the current layer process, 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 settings associated with the process recipe of the current layer process, as described above.
[0014] The process control system, in some embodiments, can determine one or more modifications to the process recipe for the current layer process taking into account the first correction factor, the second correction factor, and / or the third correction factor, and can apply the one or more modifications to the process recipe. After the substrate is processed according to the process recipe for the current layer, the process control system can identify metrology data collected for the substrate and can use the identified metrology data to further adjust or modify settings associated with the process recipe for the current layer for future substrates processed in the manufacturing system. Further details regarding determining one or more modifications to the process recipe for the current layer 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 properties after substrate processing using machine learning. Embodiments of the present disclosure utilize machine learning techniques to determine the amount of drift of metrology measurements after an upstream process from a target metrology measurement without removing the substrate from the manufacturing system to obtain such measurements. Thus, the overall throughput of the manufacturing system is improved and the overall latency of the manufacturing system is reduced. Furthermore, embodiments of the present disclosure enable a process control system to take into account substrate variations caused by upstream processes when determining whether and / or to what extent to adjust or modify settings for a current layer process. Thus, substrate property variations 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] FIG. 1 illustrates an exemplary system architecture 100 according to aspects of the disclosure. In some embodiments, the system architecture 100 may be included as part of a manufacturing system for processing substrates. The system architecture 100 may include one or more client devices 120, manufacturing equipment 124, metrology equipment 128, a prediction server 112 (e.g., 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 equipment 124 may include a sensor configured to capture data of a substrate being processed in the manufacturing system. In some embodiments, the manufacturing equipment 124 and the sensor may be part of a sensor system including a sensor server (e.g., a field service server (FSS) at a manufacturing facility) and a sensor identifier reader (e.g., a front-opening unified pod (FOUP) radio frequency identification (RFID) reader for the sensor system). In some embodiments, the metrology tool 128 can be part of a metrology system that includes a metrology server (e.g., metrology database, metrology folder, etc.) and a metrology identifier reader (e.g., a FOUP RFID reader for the metrology system). Although the metrology tool 128 and the manufacturing tool 124 are shown in FIG. 1 as separate components, it should be noted that the metrology tool 128 can be included as part of the manufacturing tool 124. For example, the manufacturing tool 124 can include a process tool. One or more components of the metrology tool 128 can be integrated into one or more components or stations of the process tool. For example, one or more components of the metrology tool 128 can be integrated into a factory interface, a load lock, a transfer chamber, a process chamber, and / or one or more additional stations of the process tool of the manufacturing tool 124.
[0017] The manufacturing equipment 124 produces a product according to a recipe and / or run over a period of time. The manufacturing equipment 124 may include one or more sensors configured to generate data (referred to as sensor data) of the substrate during the substrate process. The sensor data may include one or more values of temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), electrostatic chuck (ESC) voltage, current, flow rate, power, voltage, etc. The sensor data may be associated with or indicative of a hardware parameter, such as a setting or component (e.g., size, type, etc.) of the manufacturing equipment 124, or a manufacturing parameter, such as a process parameter of the manufacturing equipment 124. The sensor data may be provided while the manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings as it processes the product). The sensor data may vary from substrate to substrate.
[0018] The metrology tool 128 provides metrology data associated with substrates (e.g., wafers, etc.) processed by the fabrication tool 124. The metrology data may include one or more values of film property data (e.g., wafer spatial film properties), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. In some embodiments, the metrology data may further include values of one or more surface profile property data (e.g., etch rate, etch rate uniformity, critical dimension of one or more features included in the surface of the substrate, uniformity of critical dimension across the surface of the substrate, edge placement error, etc.). The metrology data may be of a finished product or a semi-finished product. The metrology data may vary from substrate to substrate. In some embodiments, the metrology tool 128 may collect metrology data for each substrate processed by the fabrication tool 124. In other or similar embodiments, the metrology tool 128 may collect metrology data for a portion of substrates processed by the fabrication tool 124. For example, multiple substrates may be processed by the fabrication tool 124. The metrology tool 128 may collect metrology data for a portion of the substrates in the lot (e.g., 15% of the substrates in the lot, 20% of the substrates in the lot, etc.) In some embodiments, a system of the system architecture 100 (e.g., computing system 150, prediction system 110) may associate the metrology data collected for the portion of the substrates in the lot as representative of the metrology data for each substrate in the lot.
[0019] Client devices 120 include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablet computers, netbook computers, network-connected televisions ("smart TVs"), network-connected media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. In some embodiments, metrology data may be received from client devices 120. In some embodiments, client devices 120 display a graphical user interface (GUI) that allows a user to provide as input metrology measurements of substrates processed at a manufacturing system. In other or similar embodiments, client devices 120 may display another GUI that allows a user to provide as input an indication of the type of substrate being processed at the manufacturing system, the type of process being performed on the substrate, and / or the type of equipment in the manufacturing system.
[0020] The data store 140 can be a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or another type of component or device capable of storing data. The data store 140 can include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). In some embodiments, the data store 140 can store data (referred to herein as process data) associated with a process that has been or is being performed on one or more substrates on the manufacturing tool 124. The process data can include an indication of a process recipe associated with the process and / or settings for one or more operations of the process recipe. A process recipe refers to a set or sequence of operations and / or instructions associated with a process performed on the manufacturing tool 124. For example, a deposition process recipe can include a set or sequence of operations and / or instructions associated with performing a deposition process on a substrate in a process chamber of the manufacturing tool 124. In some embodiments, a process recipe can include a set of operations and / or instructions associated with transporting a substrate into and / or out of a particular station of the manufacturing tool 124. For example, a deposition process recipe may also include a set and / or sequence of operations associated with transporting a substrate into a process chamber before a deposition process is initiated (e.g., from a transfer chamber via a transfer chamber robot, etc.) and / or out of a process chamber after a deposition process is completed (e.g., into a transfer chamber via a transfer chamber robot, etc.) In some embodiments, process data may refer to historical process data (e.g., process data associated with a previous process performed using the manufacturing tool 124) and / or current process data (e.g., process data associated with a current process that has been performed or is being performed using the manufacturing tool 124).
[0021] In additional or alternative embodiments, the data store 140 can store data (referred to herein as sensor data) collected about a substrate by sensors of or coupled to the manufacturing tool 124 before, during, and / or after a substrate process. For example, a process chamber can include one or more sensors (e.g., temperature sensors, spectral sensors, etc.) configured to collect data of the substrate and / or environment in the process chamber before, during, or after a substrate process. A computing system associated with the system architecture 100 (e.g., the prediction system 110, the computing system 150, a system controller for the manufacturing tool 124, etc.) can receive the sensor data collected before, during, or after a substrate process and can store the sensor data in the data store 140. In some embodiments, the sensor data can refer to historical sensor data (e.g., sensor data collected about a previous substrate processed according to a previous substrate process) and / or current sensor data (e.g., sensor data collected about a current substrate being processed or to be processed according to a current substrate process).
[0022] The data store 140 may store additional types of data in some embodiments. For example, the data store may store metrology data associated with substrates processed using the manufacturing tool 124. The metrology data may include historical metrology data (e.g., metrology measurements generated for prior substrates processed using the manufacturing tool 124) and / or current metrology data (e.g., metrology measurements generated for current substrates processed using the manufacturing tool 124). The data store 140 may also store context data associated with one or more substrates (e.g., prior substrates, current substrates, etc.) in the manufacturing system. The context data may include an identifier for a process recipe, an identifier for a substrate (and / or a lot of substrates), preventive maintenance indicators, an operator identifier, etc.
[0023] In some embodiments, data store 140 can be configured to store data that is not accessible to users (e.g., operators, engineers, etc.) of the manufacturing system. For example, process data, sensor data, metrology data, and / or context data acquired about a substrate may not be accessible to users of the manufacturing system. In some embodiments, all data stored in data store 140 is inaccessible to users (e.g., operators) of the manufacturing system. In other or similar embodiments, some of the data stored in data store 140 is inaccessible to users, while other portions of the data stored in data store 140 are accessible to users. In some embodiments, one or more portions of the data stored in data store 140 are encrypted using an encryption mechanism unknown to the users (e.g., the data is encrypted using a secret encryption key). In other or similar embodiments, data store 140 includes multiple data stores, where data inaccessible to users is stored in one or more first data stores and data accessible to users is stored in one or more second data stores.
[0024] The computing system 150 may include a run-to-run (R2R) control engine 152 and / or a prediction component 114. The R2R control engine 152 may be configured to adjust and / or modify settings of a process recipe for a process performed (or being performed) using the manufacturing tool 124 to optimize the process and / or to cause a characteristic of the substrate (e.g., after completion of the process) to correspond to a target characteristic, etc. In some embodiments, the R2R control engine 152 may adjust and / or modify settings of a process recipe associated with a current process performed on a substrate in the manufacturing tool 124, taking into account data associated with a previous process performed on the substrate and / or data associated with an upstream process performed on the substrate. In some embodiments, the one or more processes performed using the manufacturing tool 124 may correspond to a lithography technique for forming one or more complex patterns on a surface of the substrate. Each process may correspond to a respective layer of the substrate. A substrate process performed on a layer of the substrate (e.g., depositing one or more layers, etching away portions of one or more layers, etc.) is referred to herein as a current layer process. Such a layer is referred to herein as a current layer, as described above. A substrate process previously performed on a layer of a substrate (e.g., prior to the performance of a current layer process) is referred to herein as a previous layer process. Such layers are referred to herein as previous or initial layers, as described above. Processing performed to prepare the substrate for a current layer process is referred to herein as an upstream process (e.g., a polishing process, a roughening process, an etching process, etc.). In some embodiments, an upstream process may be performed on a previous layer (e.g., to prepare for deposition of a current layer on the previous layer, etc.).
[0025] The R2R control engine 152, in some embodiments, can determine how much to adjust one or more settings of a process recipe associated with a current layer process to be adjusted and / or the settings of each process recipe based on data associated with a previous layer of the substrate and / or data associated with an upstream process performed on the current layer of the substrate. In some embodiments, the R2R control engine 152 can obtain metrology data (e.g., from the data store 140) associated with a previous layer of the substrate (or lot of substrates) and can determine, from the obtained metrology data, an amount of drift from target metrology data associated with the substrate. The R2R control engine 152, in some embodiments, can determine a first correction factor used to adjust the settings of the process recipe of the current layer based on the determined amount of drift. Further details regarding determining an amount of drift associated with a metrology of a previous layer and determining a correction factor associated with a previous layer are provided herein.
[0026] In additional or alternative embodiments, the R2R control engine 152 can determine a second correction factor used to adjust the settings of the process recipe 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 can obtain process data and / or sensor data associated with an upstream process performed on the current layer of the substrate and can provide the obtained process data and / or sensor data to the prediction component 114. The prediction component 114 can provide the process data and / or sensor data as input to a trained machine learning model 190, as described below. The machine learning model 190 can be trained in some embodiments to predict metrology measurements associated with the substrate and the amount of drift of the metrology measurements from a target metrology measurement based on the given process data and sensor data. Further details regarding the trained machine learning model 190 are provided herein. The prediction component 114 can 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 the second correction factor based on one or more outputs of the trained machine learning model 190 according to embodiments described herein.
[0027] The R2R control engine 152, in some embodiments, can determine a third correction factor used to adjust the settings of the process recipe for the current layer based on data associated with a previous substrate processed according to the recipe for the current layer. For example, the R2R control engine 152 can obtain metrology data collected for a previous substrate processed according to the recipe for the current layer, and can determine an amount of drift of the obtained metrology data from target metrology data associated with the substrate after completion of the current layer process. The third correction factor, in some embodiments, can correspond to the determined amount of drift. Further details regarding determining the third correction factor are provided in more detail below.
[0028] The R2R control engine 152, in some embodiments, can determine which settings for the current layer process should be adjusted taking into account the first correction factor, the second correction factor, and / or the third correction factor. The R2R control engine 152 can additionally or alternatively determine how much the settings for the current layer process should be adjusted taking into account the first correction factor, the second correction factor, and / or the third correction factor according to embodiments described herein. In some embodiments, the R2R control engine 152 can modify a process recipe associated with the current layer process based on the determined modifications or adjustments to the settings of the process recipe. The R2R control engine 152, in some embodiments, can provide an indication of the modified process recipe to a system controller associated with the manufacturing tool 124. The system controller can execute the current layer process based on the modified process recipe according to embodiments of the present disclosure. Further details regarding the R2R control engine 152 and modifying the process recipe for the current layer are provided herein.
[0029] In some embodiments, the prediction system 110 includes a server machine 170 and a server machine 180. The server machine 170 includes a training set generator 172 that can generate a training data set (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing the machine learning model 190. As described above, the machine learning model 190 can be trained to predict metrology data associated with a substrate, and in some embodiments, an amount of drift of the metrology data from target metrology data associated with the substrate, based on given process data and / or sensor data associated with an upstream process performed on a current layer of the substrate. Some operations of the training set generator 172 are described in more detail below with respect to FIG. 5. In some embodiments, the training set generator 172 can divide the training data into a training set, a validation set, and a test set. In some embodiments, the prediction system 110 generates multiple sets of training data.
[0030] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine 186, and / or a test engine 188. An engine can refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, a processing unit, etc.), software (e.g., instructions executed on a processing unit, a general-purpose computer system, or a dedicated 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 including training inputs and corresponding target outputs (correct answers for each training input). The training engine 182 can find patterns in the training data that map the training inputs to the target outputs (predicted answers) and provide a machine learning model 190 that captures these patterns. In some embodiments, the machine learning model 190 uses one or more of a support vector machine (SVM), a radial basis function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithm (k-NN), linear regression, random forests, neural networks (e.g., artificial neural networks), clustering techniques (e.g., hierarchical clustering techniques), association techniques (e.g., a priori techniques), classification techniques (e.g., decision trees, random forest techniques, etc.), variational recurrent autoencoders, and the like.
[0031] The validation engine 184 may validate the trained machine learning models 190 using the corresponding feature sets of the validation set from the training set generator 172. The validation engine 184 may determine the accuracy of each of the trained machine learning models 190 based on the corresponding feature sets of the validation set. The validation engine 184 may discard the trained machine learning models 190 that have an accuracy that does not meet the threshold accuracy. In some embodiments, the selection engine 185 may select the trained machine learning model 190 that has an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 185 may select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0032] The test engine 188 may test the trained machine learning models 190 using the corresponding feature set of the test set from the training set generator 172. For example, a first trained machine learning model 190 trained using a first feature set of the training set may be tested using a first feature set of the test set. The test engine 188 may determine the trained machine learning model 190 with the highest accuracy of all the trained machine learning models based on the test set.
[0033] The prediction server 112 includes a prediction component 114 that can provide process data and / or sensor data associated with an upstream process performed on a current layer of a substrate as input to a trained machine learning model 190 and execute the trained machine learning model 190 on the input to obtain one or more outputs. As described in more detail below with respect to FIG. 3, in some embodiments, the prediction component 114 can also extract metrology data from one or more outputs of the trained machine learning model 190 and use the extracted metrology data to determine one or more metrology measurements associated with a current layer of a substrate after an upstream process. In some embodiments, the prediction component 114 can also determine an amount of drift of one or more metrology measurements from a target metrology measurement. The prediction component 114 can provide the determined metrology measurements and / or the determined amount of drift to the R2R control engine 152 in some embodiments. 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. The R2R control engine 152, in some embodiments, can determine an amount of drift of one or more metrology measurements associated with a current layer of the substrate after an upstream process and / or one or more metrology measurements from a target metrology measurement. The R2R control engine 152 can determine a second correction factor based on the amount of drift according to embodiments described herein.
[0034] The client devices 120, the manufacturing equipment 124, the metrology equipment 128, the prediction server 112, the data store 140, the computing system 150, the server machine 170, and the server machine 180 can be coupled to each other via the network 130. In some embodiments, the network 130 is a public network that provides the client devices 120 with access to the computing system 150, the prediction server 112, the data store 140, and / or other publicly available computing devices. In some embodiments, the network 130 is a private network that provides the client devices 120 with access to the manufacturing equipment 124, the metrology equipment 128, the data store 140, and other privately available computing devices. The network 130 can include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0035] It should be noted that in some other implementations, the functionality of server machines 170 and 180 and prediction server 112 may be provided by a fewer number of machines. For example, in some embodiments, server machines 170 and 180 may be combined into a single machine, and in some other or similar embodiments, server machines 170 and 180 and prediction server 112 may be combined into a single machine. In other or similar embodiments, server machines 170, 180, prediction server 112, and / or computing system 150 may be combined into a single machine or one or more machines.
[0036] In general, functionality described in one embodiment as being performed by computing system 150, server machine 170, server machine 180, and / or prediction server 112 may also be performed on client device 120. Additionally, functionality attributed to a particular component may be performed by different components or multiple components working together.
[0037] In embodiments, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass cases where a "user" is an entity and / or automated source controlled by multiple users. For example, a set of individual users aggregated as a group of administrators may be considered a "user."
[0038] 2 is a block diagram of an example run-to-run (R2R) control engine 152 according to aspects of the disclosure. As shown in FIG. 2, the R2R control engine 152 may include a previous 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 described with respect to FIG. 1, via a bus, etc.). The memory 250 may correspond to one or more portions of the data store 140 in some embodiments.
[0039] The previous layer control component 210 can be configured to determine a first correction factor (e.g., previous layer correction factor 260) used to adjust and / or modify settings associated with the process recipe of the current layer, as described above. As described above, the metrology tool 128 can generate metrology data associated with a previous layer of a substrate processed using the manufacturing tool 124, in some embodiments. For example, after substrate processing of a previous layer is completed in the manufacturing tool 124, the substrate can be transferred to the metrology tool 128, and metrology data can be generated and stored in the memory 250 as previous layer metrology data 252. It should be noted that in some embodiments, metrology data may not be generated for each substrate processed using the manufacturing tool 124. For example, the manufacturing tool 124 can be used to process a lot of two or more substrates. The metrology data 252 can be generated for a portion of the substrates included in the lot, as described above. The metrology data 252 generated for a portion of the substrates included in the lot can be associated with each substrate in the lot, in some embodiments. In additional or alternative embodiments, the metrology data 252 can be generated for each substrate processed using the manufacturing tool 124. The previous layer control component 210 can obtain previous layer metrology data 252 and determine previous layer correction factors 260 according to embodiments described herein.
[0040] The upstream process component 212, in some embodiments, can be configured to determine a second correction factor (e.g., upstream process correction factor 262) used to adjust and / or modify the settings of the process recipe for the current layer. In some embodiments, the upstream process component 212 can 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 the memory 250, as described above, and can provide the upstream process data 254 and / or the upstream process sensor data 256 as inputs to the machine learning model 190. In other or similar embodiments, the upstream process component 212 can provide the upstream process data 254 and / or the upstream process sensor data 256 to the prediction component 114, as described above, and the prediction component 114 can provide the data 254 and / or the data 356 as inputs to the machine learning model 190. The upstream process component 212 (and / or the prediction component 114) can determine metrology 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 upstream process correction factors 262 based on the determined metrology data and / or the determined drift of the metrology data from the target metrology data according to embodiments described herein.
[0041] The current layer feedforward control component 214 can be configured to determine one or more corrections to a process recipe associated with a current layer process performed on a substrate. In some embodiments, the current layer feedforward control component 214 can determine one or more corrections based on a previous layer correction factor 260, an upstream process correction factor 262, and / or a current layer correction factor 264, and can store the determined one or more corrections in the memory 250 as process recipe correction data 266. Further details regarding determining one or more corrections to a process recipe are provided herein.
[0042] The current layer feedback control component 216, in some embodiments, can be configured to determine a third correction factor (e.g., current layer correction factor 264) used to adjust and / or modify settings of the current process recipe. In some embodiments, the previous substrate can be processed according to the process recipe of the current layer, as described above. The metrology tool 128 can generate metrology data associated with the previous substrate after completion of the current layer process, and the metrology data can be stored in the memory 250 as current layer metrology data 258. The current layer feedback control component 216 can determine the current layer correction factor 264 taking into account the current layer metrology data 258 according to embodiments described herein.
[0043] FIG. 3 is a flow diagram of a method 300 for R2R control in a manufacturing system using machine learning, according to an aspect of the disclosure. The method 300 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or dedicated machine), firmware, or some combination thereof. In one embodiment, the method 300 may be performed by one or more components of a system architecture, such as the system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 300 may be performed by one or more other machines not shown in the figure. In some aspects, one or more operations of the method 300 may be performed by the R2R control engine 152 of the computing system 150. In other or similar aspects, one or more operations of the method 300 may be performed by the system controller 228. In yet other or similar aspects, one or more operations of the method 300 may be performed by the prediction component 114.
[0044] For ease of explanation, the method is shown and described as a series of acts. However, acts according to the present disclosure can be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Moreover, not all acts shown need to be performed to implement a method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method can alternatively be represented as a series of interrelated states via a state diagram or events. Furthermore, it should be appreciated that the methods disclosed herein can be stored in an article of manufacture to facilitate transporting and transferring such methods to a computing device. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0045] At block 310, processing logic identifies first data associated with a first process performed on a first layer of a substrate in a manufacturing system. In some embodiments, the first process may correspond to an upstream process performed on a current layer of a substrate using a manufacturing tool 124. As discussed above, the upstream process may be a process performed to prepare the substrate for a current layer process. In some embodiments, the upstream process may include a polishing process, a roughening process, an etching process, and the like. In one example, the upstream process may include a chemical mechanical polishing process to prepare a previous layer of a substrate for deposition of a current layer on the previous layer.
[0046] FIG. 4 illustrates an example of R2R control in a manufacturing system using machine learning, according to aspects of the disclosure. As shown in FIG. 4, a manufacturing tool 124 may be used to perform one or more previous layer processes 410 on a substrate (or a lot of substrates) in the manufacturing system. As also shown in FIG. 4, a manufacturing tool 124 (or other tool of the manufacturing system) may be used to perform one or more upstream processes 412 on a substrate (or a lot of substrates) (e.g., after completion of one or more previous layer processes 410). Processing logic (e.g., upstream process component 212 of R2R control engine 152) may retrieve data associated with the upstream process 412. In some embodiments, upstream process component 212 may retrieve the 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 equipment 124 (e.g., system controller 450) may obtain the first data (e.g., from memory 250 and / or data store 140) and may transmit the first data to the upstream process component 212 (e.g., via network 130, via a bus, etc.).
[0047] The upstream process data may include recipe data 254 associated with an upstream process 412 performed on the substrate, and / or sensor data 256 collected by sensors in or coupled to the manufacturing system before, during, and / or after the upstream process 412 is performed. Following the previous example, recipe data 254 for a chemical mechanical polishing process may include an indication of one or more operations performed during the process, an indication of characteristics of a pad used for the chemical mechanical polishing process (e.g., pad material, pad diameter, pad hardness, pad compressibility, etc.), an indication of the rotation speed and / or rotation angle of the pad during the chemical mechanical polishing process, an indication of one or more materials and / or concentrations of such materials used to perform the chemical mechanical polishing process, downforce associated with the chemical mechanical polishing process, speeds, relative velocities, and / or other kinematic characteristics of one or more moving parts involved in the chemical mechanical polishing process, substrate-pad interface characteristics, etc. The sensor data 256 may include data collected by sensors before, during, and / or after the chemical mechanical polishing process is performed.
[0048] In some embodiments, the amount of upstream process data identified or otherwise obtained by the upstream process component 212 may be significant and / or may include data that does not correspond to a particular feature of the current layer of the substrate. Thus, in some embodiments, the upstream process component 212 may analyze the upstream process data to identify portions of the upstream process data that correspond to a particular feature of the current layer of the substrate and extract the identified data as the 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 a particular feature of the current layer of the substrate. The feature analysis module 414 may provide one or more portions of the upstream process data as inputs to one or more dimensionality reduction functions. The dimensionality reduction function may plot the upstream process data as points in real coordinate space and may identify uncorrelated variables of the data points. The data points corresponding to correlated variables may be associated with the upstream process data related to the particular feature 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 obtain one or more outputs of the dimensionality reduction function. In some embodiments, one or more outputs of the dimensionality reduction function may indicate data points corresponding to the correlated variables. In some embodiments, the one or more outputs may include an indication of one or more portions of the upstream process data that are associated with a particular feature of the current layer of the substrate. The feature analysis module 414 may extract the first data from the one or more outputs in some embodiments.
[0049] 3, in block 312, processing logic (e.g., upstream process component 212) provides the first data as an input to a machine learning model. The machine learning model, in some embodiments, may correspond to machine learning model 190. As described above, machine learning model 190 may be trained to predict metrology measurements 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 an amount of drift of the predicted metrology measurements from a target metrology measurement of the substrate after the upstream process. Machine learning model 190, in some embodiments, may be trained according to an embodiment described with respect to FIG.
[0050] In some embodiments, the upstream process component 212 can provide the first data directly as an input to the machine learning model 190 and can obtain one or more outputs of the model 190. 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 an 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 can provide one or more outputs to the upstream process component 212. The output of the machine learning model 190 can include metrology data indicative of one or more sets of metrology measurements and, for each set of metrology measurements, an indication of a confidence level that the respective set of metrology measurements corresponds to a 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 metrology data can also indicate an amount of drift of each set of metrology measurements from a target set of metrology measurements. In some embodiments, the target set of metrology measurements can be provided to the system 100 by a user (e.g., a developer, an engineer, an operator, etc.) of the manufacturing system. In other or similar embodiments, the set of target metrology measurements can be determined (e.g., by the R2R control engine 152, by the system controller 450, etc.) taking into account experimental data associated with the upstream process recipe and / or a previous substrate that was processed according to the process recipe for the current layer.
[0051] In some embodiments, the upstream process component 212 and / or the predictive component 114 can identify a set of respective metrology measurements having a confidence that meets the confidence criteria. In some embodiments, a confidence can meet the confidence criteria if the confidence meets and / or exceeds a threshold confidence. In other or similar embodiments, a confidence can meet the confidence criteria if the confidence meets and / or exceeds a threshold confidence and is higher than other confidences associated with other sets of metrology measurements. In response to identifying a set of respective metrology measurements having a confidence that meets the confidence criteria, the upstream process component 212 and / or the predictive component 114 can extract the identified extracted metrology measurement set and / or drift amount from one or more outputs of the machine learning model 190. In some embodiments, the output of the machine learning model 190 can include a set of one or more metrology measurements, rather than the drift amount from a target metrology measurement for each set of metrology measurements. In such an embodiment, the upstream process component 212 and / or the prediction component 114 can extract a set of metrology measurements having a confidence that meets the confidence criteria, as described above, and can compare the extracted set of metrology measurements to the target metrology measurements to determine the amount of drift.
[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 the upstream process data corresponding to certain features of the current layer and predict the drift of metrology measurements from target metrology measurements given the extracted features. Thus, the upstream process data acquired by the upstream process component 212 can correspond to the first data provided as an input to the VRAE model. For example, as shown in FIG. 4, the upstream process component 212 can include a VRAE engine 416 in some embodiments. In response to acquiring the upstream process data, the VRAE engine 416 of the upstream process component 212 can directly provide the upstream process data as an 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 the amount of drift of the set of predicted metrology measurements for the current layer of the substrate from the target metrology measurements from one or more outputs of the VRAE model. In some embodiments, the VRAE model may be trained based on historical data collected for previous layer processes, upstream processes, and / or current layer processes executed in the manufacturing system or other manufacturing systems associated with system architecture 100.
[0053] At block 314, the processing logic (e.g., the upstream process component 212) determines an amount of drift of the set of first metrology measurements for the first layer of the substrate after at least one of the first process (e.g., the upstream process 412) or the second process (e.g., the current layer process) is completed from a target metrology measurement set based on the one or more outputs of the machine learning model 190. As described above, in some embodiments, the one or more outputs of the machine learning model 190 may include, for each set of metrology measurements, an indication of an amount of drift of the respective set of metrology measurements from a target metrology measurement. Thus, the upstream process component 212 may determine an amount of drift of the set of metrology measurements for the first layer of the substrate based on the indication of the amount of drift extracted from the one or more outputs of the machine learning model 190. In other or similar embodiments, the upstream process component 212 may compare the set of metrology measurements extracted from the one or more outputs of the machine learning model 190 to the target metrology measurements to determine the amount of drift, as described above. In some embodiments, the upstream process component 212 can further determine the amount of drift based on one or more additional metrology measurements obtained for a previous substrate processed according to the upstream process recipe and / or the process recipe for the current layer. For example, the upstream process component 212 can obtain (e.g., from the data store 140 and / or the memory 250) the additional metrology measurements obtained for the previous substrate to determine whether the metrology measurements for the previous substrate and / or the current substrate tend to drift (e.g., beyond a threshold number of lots) from a target metrology measurement. In some embodiments, the upstream process component 212 can determine the amount of drift taking into account the determined tendency.
[0054] In block 316, the processing logic (e.g., the current layer feedforward control component 214) determines one or more modifications to the process recipe of the second process (e.g., the current layer process) and the second data associated with the second layer (e.g., the previous layer) of the substrate. As described above, in some embodiments, the amount of drift of the set of metrology measurements associated with the current layer of the substrate can correspond to a correction factor (e.g., the correction factor 262) used to adjust the settings of the process recipe of the current layer. For example, the amount of drift of the set of metrology measurements 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) deviates by a certain number of units. Thus, the correction factor 262 can correspond to a difference or variation of the predicted smoothness of the current layer from the target smoothness to be corrected when adjusting and / or modifying the settings of the process recipe of the current layer. As shown in FIG. 4, the determined correction factor 262 can be provided to the current layer feedforward control component 214. The feedforward control component 214 may take into account the correction factors 262 to determine one or more modifications to the process recipe, according to embodiments described below.
[0055] As shown in FIG. 4, metrology data 254 may be collected for a substrate processed according to a previous layer process 410, according to the embodiments described above. The previous layer control component 210 may identify or otherwise obtain (e.g., from the data store 140, from the memory 250, etc.) the metrology data 254 and compare the metrology data 254 to target metrology data (e.g., target metrology measurements) associated with the substrate after completion of the previous layer process 410. In some embodiments, the target metrology data associated with the substrate after completion of the previous layer process 410 may be provided by a user of the manufacturing system and / or may be determined based on experimental data collected for a previous substrate processed according to the previous layer process 410, according to the embodiments described above. The previous layer control component 210 may determine an amount of drift of the metrology data 254 from the target metrology data, according to the embodiments described above. A correction factor 260 may correspond to the determined amount of drift, as described above with respect to the correction factor 262.
[0056] As also shown in FIG. 4 , the feedforward control component 214 of the current layer can obtain another correction factor 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 or otherwise obtain metrology data collected for a previous substrate processed according to the process recipe of the current layer. The feedback control component 216 of the current layer can compare the metrology data acquired for the previous substrate to target metrology data (e.g., target metrology measurements) for a substrate processed according to the process recipe of the current layer and can determine an amount of drift in the collected metrology measurements based on the comparison. The target metrology data for a substrate processed according to the process recipe of the current layer can be provided by a user of the manufacturing system and / or can be determined based on experimental data collected for a previous substrate processed according to the process recipe of the current layer, according to the embodiments described above. The correction factor 264 can correspond to the determined amount of drift for a previous substrate processed according to the substrate process of the current layer, as described above with respect to the correction factors 260 and 262.
[0057] As described above, the current layer feedforward control component 214 can determine one or more modifications to the process recipe for the current layer 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 process recipe for the current layer taking into account one or more rules associated with the current layer process. For example, a user of the manufacturing system (e.g., a developer, an operator, an engineer, etc.) can be provided with an indication of one or more modifications to be made to the process recipe taking into account the variations detected for the respective layers of the substrate. The current layer feedforward control component 214 can compare the correction coefficients 260, 262, and / or 264 to the variations and / or corrections included in the provided modifications to determine the modifications or adjustments to be applied to one or more settings of the process recipe for the current layer. In another example, the current layer feedforward control component 214 (or the R2R control engine 152 and / or another component of the system 100) can identify or otherwise obtain historical and / or experimental data associated with adjustments and / or modifications made to the substrate process recipe in response to the detected variations for the respective layer of the substrate. The historical and / or experimental data can, in one example, include an indication of the variations or differences that occurred following completion of the previous layer process 410, the upstream process 412, and / or the current layer process 420 according to the unmodified current layer process recipe, and an indication of one or more adjustments of modifications made to the current layer process recipe to account for the variations or differences. The current layer feedforward control component 214 can compare the correction factors 260, 262, and / or 264 to the identified historical and / or experimental data to determine the modifications or adjustments to apply to one or more settings of the current layer process recipe.
[0058] In additional or alternative embodiments, the current layer feedforward control component 214 can provide the correction coefficients 260, 262, and / or 264 as inputs to a machine learning model trained to predict one or more modifications to be made to the process recipe to cause the substrate's characteristics to correspond to the target characteristics based on one or more given correction coefficients. The machine learning model, in some embodiments, can be trained using historical and / or experimental data associated with a previous substrate processed according to the previous layer process 410, the upstream process 412, and / or the current layer process 420 in the manufacturing system. In other or similar embodiments, the machine learning model can be trained based on historical and / or experimental data collected for a previous substrate processed in another manufacturing system. The current layer feedforward control component 214 can obtain one or more outputs of the machine learning model. The one or more outputs, in some embodiments, can include process correction data including a set of one or more process recipe corrections and, for each set of process recipe corrections, an indication of a confidence level that the respective set of process recipe corrections corresponds to the substrate's target characteristics. The feedforward control component 214 of the current layer can identify a set of process recipe modifications having a confidence that meets a confidence criterion (eg, exceeds a threshold confidence level).
[0059] In block 318, the processing logic (e.g., the current layer feedforward control component 214) updates the process strategy of the second process based on the determined one or more modifications. The current layer feedforward control component 214 can identify a process strategy 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 strategy to account for the determined one or more modifications. The modified process strategy 418 can correspond to the current layer process strategy modified according to the determined one or more modifications, as shown in FIG. 4. In some embodiments, the current layer feedforward control component 214 can transmit the modified process strategy 418 to the system controller 450 (e.g., via the network 130, via a bus). In other or similar embodiments, the current layer feedforward control component 214 can store the modified process strategy 418 in the data store 140 and / or memory 250. The system controller 450 may access the modified process recipe 418 via the data store 140 and / or the memory 250 (eg, via the network 130, via a bus, etc.).
[0060] The system controller 450, in some embodiments, can execute the current layer process 420 on the substrate using the manufacturing tool 124 according to the modified process recipe 418. The system controller 450 can execute the current layer process 420 by executing one or more instructions associated with the modified process recipe 418. After completion of the current layer process 420, the substrate is transferred to the metrology tool 128, which can collect metrology data 422 associated with the substrate. In some embodiments, the current layer feedback control component 216 can determine an amount of drift of the metrology data 422 from target metrology data associated with the substrate after execution of the current layer process 420 according to the previously described embodiments. The current layer feedback control component 216 can determine another correction factor 264 based on the determined amount of drift of the metrology data 422, in some embodiments. 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 recipe 418 before the current layer process 420 is executed on future substrates in the manufacturing system.
[0061] FIG. 5 is a flow diagram of a method 500 for training a machine learning model (such as, for example, machine learning model 190) according to an aspect of the disclosure. Method 500 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or dedicated machine), firmware, or some combination thereof. In one implementation, method 500 may be performed by one or more components of a system architecture, such as system architecture 100 of FIG. 1. In other or similar implementations, one or more operations of method 500 may be performed by one or more other machines not shown in the figure. In some aspects, one or more operations of method 500 may be performed by prediction server 112 of prediction system 110. In other or similar aspects, one or more operations of method 500 may be performed by R2R control engine 152 of computing system 150. In yet other or similar aspects, one or more operations of method 500 may be performed by system controller 450.
[0062] For ease of explanation, the method is shown and described as a series of acts. However, acts according to the present disclosure can be performed in various orders and / or simultaneously, as well as with other acts not shown and described herein. Moreover, not all acts shown need to be performed to implement a method in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that a method can alternatively be represented as a series of interrelated states via a state diagram or events. Furthermore, it should be appreciated that the methods disclosed herein can be stored in an article of manufacture to facilitate transporting and transferring such methods to a computing device. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0063] At block 510, processing logic initializes a training set T to an empty set (e.g., {}). At block 512, processing logic identifies historical data associated with a historical first process performed on a first layer of a prior substrate in the manufacturing system. In some embodiments, the historical first process may correspond to a historical upstream process performed to prepare the substrate for a historical current 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 historical process. In some embodiments, the historical data may further include contextual data associated with the historical process. For example, the history may include an indication of a process chamber in which the historical process was performed, an indication of a lot associated with the prior substrate, etc. In some embodiments, processing logic may identify the historical data from data store 140 and / or memory 250, as described above.
[0064] At block 514, the processing logic identifies a set of historical metrology measurements taken on a predecessor substrate after at least one of the historical first process or the historical second process for the first layer has been completed in the manufacturing system. In some embodiments, the historical second process may correspond to the historical current layer process. After completion of the historical first process and / or the historical second process, historical metrology measurements may be generated for the predecessor substrate (e.g., using the metrology device 128) and stored in the data store 140 and / or memory 250. The processing logic may identify the set of historical metrology measurements from the data store 140 and / or memory 250 according to the previously described embodiments.
[0065] At block 516, the processing logic generates first training data based on the identified historical data associated with the historical first process. As described above, in some embodiments, the machine learning model 190 may be a variational recurrent autoencoder model. In such embodiments, the first training data may include the identified historical data associated with the historical first process. 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 of FIG. 4. The processing logic may obtain one or more outputs of the dimensionality reduction functions. The 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 of the previous substrate history.
[0066] The processing logic can include the relevant portion of the historical data in the generated first training data. In additional or alternative embodiments, the processing logic can also include in the first training data an indication of a particular data cluster corresponding to a historical process performed on the prior substrate. In an illustrative example, the processing logic can provide the context data, the historical data, and / or the relevant portion of the historical data as inputs to one or more data clustering functions. The data clustering function can be configured to determine to which data cluster the relevant portion of the historical data is assigned given one or more features associated with the context data and / or the historical data. In some embodiments, the historical data can be clustered given the type of equipment used to perform the historical process (e.g., as indicated by the context data), the type of defects and / or variations detected on the prior substrate (e.g., as indicated by the historical process data and / or the historical sensor data), and / or one or more settings of the process recipe of the historical process (e.g., as indicated by the historical process data). The processing logic can extract an identifier associated with the particular cluster associated with the relevant portion of the historical data from one or more outputs of the data clustering function, and can include the extracted identifier along with the relevant portion of the historical data in the generated first training data. It should be noted that in additional or alternative embodiments, the processing logic may not provide relevant portions of the historical data (and / or the historical context data and / or the historical data) as input to a 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] At block 518, processing logic may generate second training data based on the identified set of historical metrology measurements. The generated second training data may, in some embodiments, include one or more representations of the identified set of historical metrology measurements. At block 520, processing logic generates a mapping between the first training data and the second training data. At block 522, processing logic adds the mapping to a training set T. At block 524, processing logic determines whether the training set T includes a sufficient amount of training data to train the machine learning model. Note that in some implementations, the sufficiency of the training set T may be determined solely based on the number of mappings in the training set, while in some other implementations, the sufficiency of the training set T may be determined based on one or more other criteria (e.g., a measure of diversity of the training examples, etc.) in addition to or instead of the number of input / output mappings. If it is determined that the training set does not include a sufficient amount of training data to train the machine learning model, the method 500 returns to block 512. If it is determined that the training set T contains a sufficient amount of training data to train the machine learning model, the method 500 proceeds to block 528.
[0068] In block 528, the processing logic provides a training set T to train the machine learning model. In one embodiment, the training set T is provided to the training engine 182 of the server machine 180 to perform the training. In the case of a neural network, for example, input values of a given input / output mapping are input to the neural network, and output values of the input / output mapping are stored in 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, etc.), 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 given process data and / or sensor data, metrology measurements associated with the substrate, and the amount of drift of the metrology measurements from a target metrology measurement, according to the above-described embodiments.
[0069] FIG. 6 illustrates a block diagram of an exemplary computer system 600 that operates according to one or more aspects of the disclosure. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine may operate as a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet computer, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Furthermore, although only a single machine is shown, the term "machine" should also be construed to include any collection of machines (e.g., computers) that individually or jointly execute a set (or sets) of instructions to perform any one or more of the methodologies discussed herein. In an embodiment, the computing device 600 may correspond to the prediction server 112 and / or the computing system 150 of FIG. 1, the system controller 450 of FIG. 4, and / or another processing device of the manufacturing system 100.
[0070] The exemplary computing device 600 includes a processing unit 602, a main memory 604 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 606 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device 628), which communicate with each other via a bus 608.
[0071] The processing unit 602 may represent one or more general-purpose processors, such as a microprocessor, a central processing unit, etc. More specifically, the processing unit 602 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. The processing unit 602 may also be one or more special-purpose processing units, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processing unit 602 may be or include a system on a chip (SoC), a programmable logic controller (PLC), or other types of processing units. 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 a 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 generating device 620 (e.g., a speaker).
[0073] The data storage device 628 may include a machine-readable storage medium (or, more specifically, a non-transitory computer-readable storage medium) 624 having stored thereon a set of one or more instructions 626 embodying any one or more of the methodologies or functions described herein. Here, a non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions 626 may also reside, completely or at least partially, within the main memory 604 and / or within the processing unit 602 during execution thereof by the computing device 600, with the main memory 604 and the processing unit 602 also constituting computer-readable storage media.
[0074] The computer-readable storage medium 624 can also be used to store the model 190 and data used to train the model 190. The computer-readable storage medium 624 can also store a software library that includes a method for invoking the model 190. Although the computer-readable storage medium 624 is shown in the exemplary embodiment as being a single medium, the term "computer-readable storage medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more sets of instructions. The term "computer-readable storage medium" should also be interpreted to include any medium capable of storing or encoding a set of instructions executed by a machine and causing the machine to perform any one or more of the methodologies of the present disclosure. Thus, the term "computer-readable storage medium" should be interpreted to include, but not limited to, solid-state memory, and optical and magnetic media.
[0075] The foregoing description sets forth numerous specific details, such as examples of specific systems, components, methods, and the like, to provide a good understanding of some embodiments of the present disclosure. However, it will be apparent to one skilled in the art that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components or methods have not been described in detail or have been presented in simple block diagram form to avoid unnecessarily obscuring the present disclosure. Thus, the specific details described are merely exemplary. Particular implementations may differ from these exemplary details and still be contemplated to be within the scope of the present disclosure.
[0076] Throughout this specification, reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". When the term "about" or "approximately" is used herein, it is intended to mean that the nominal value presented is accurate to within ±10%.
[0077] Although the operations of the methods herein are shown and described in a particular order, the order of operations of each method may be changed such that certain operations may be performed at least in part concurrently with other operations, or such that certain operations may be performed in reverse order. In alternative embodiments, instructions or sub-operations of separate operations may be performed intermittently and / or alternatingly.
[0078] It is to be understood that the above description is intended to be illustrative, and not limiting. Many other embodiments will be apparent to those skilled in the art upon reading and understanding the above description. The scope of the present disclosure should therefore be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. identifying 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 being further processed in the manufacturing system according to a second process; providing the first data as input to a machine learning model, the machine learning model being trained to predict metrology measurements for one or more layers of substrates processed in the manufacturing system; determining an amount of drift of a first set of metrology measurements of the first layer of the substrate after at least one of the first process or the second process is completed from a target set of metrology measurements based on one or more outputs of the machine learning model; determining one or more modifications to a process recipe 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 having been previously processed according to a third process in the manufacturing system; and updating the process recipe of the second process based on the determined one or more modifications; A method comprising:
2. 10. The method of claim 1 , wherein the one or more modifications to the process recipe of the second process are further determined by considering third data including one or more metrology measurements associated with another substrate processed according to the second process in the manufacturing system.
3. identifying the first data associated with the first process performed on the first layer of the substrate, providing a dataset associated with the first process performed on the first layer of the substrate as an input to one or more dimensionality reduction functions; Extracting the first data from an output of the one or more dimensionality reduction functions; The method of claim 1 , comprising:
4. The method of 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 of claim 1 , wherein the machine learning model is a variational autoencoder model.
6. identifying a second set of metrology measurements for the first layer of the substrate, the second set of metrology measurements being generated for the first layer of the substrate after substrate processing for the first layer of the substrate has been completed in accordance with the updated process recipe; updating at least one of the updated process recipe or another process recipe for the third process taking into account the identified second set of metrology measurements; The method of claim 1 further comprising:
7. The method of claim 1 , wherein the process recipe corresponds to one or more operations associated with a lithographic process.
8. The method of claim 7 , wherein the first process performed on the first layer of the substrate comprises at least one of a chemical mechanical polishing process, an etching process, or a deposition process.
9. 2. The method of 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 before the one or more first operations.
10. Memory, 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, the first layer of the substrate being further processed in the manufacturing system according to a second process; providing the first data as an input to a machine learning model, the machine learning model being trained to predict metrology measurements for one or more layers of substrates processed in the manufacturing system; determining an amount of drift of a first set of metrology measurements for the first layer of the substrate after at least one of the first process or the second process is completed from a target set of metrology measurements based on one or more outputs of the machine learning model; determining one or more modifications to a process recipe for the second process in consideration of the determined amount of drift and second data associated with a second layer of the substrate, the second layer of the substrate having been previously processed in the manufacturing system according to a third process; updating the process recipe of the second process based on the determined one or more modifications. A processing device; A system comprising:
11. 11. The system of claim 10, wherein the one or more modifications to the process recipe of the second process are further determined by considering third data including one or more metrology measurements associated with another substrate processed according to the second process in the manufacturing system.
12. to identify the first data associated with the first process performed on the first layer of the substrate, the processing device: providing a dataset associated with the first process performed on the first layer of the substrate as an input to one or more dimensionality reduction functions; Extracting the first data from an output of the one or more dimensionality reduction functions. The system of claim 10.
13. The system of 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 of claim 10 , wherein the machine learning model is a variational autoencoder model.
15. The processing device further comprises: identifying a second set of metrology measurements for the first layer of the substrate, the second set of metrology measurements being generated for the first layer of the substrate after substrate processing for the first layer of the substrate has been completed in accordance with the updated process recipe; updating at least one of the updated process recipe or another process recipe for the third process in view of the identified second set of metrology measurements. The system of claim 10.
16. 11. The system of 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 that are performed before the one or more first operations.
17. When executed by a processor, the processor identifying 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 being further processed in the manufacturing system according to a second process; providing the first data as an input to a machine learning model, the machine learning model being trained to predict metrology measurements for one or more layers of substrates processed in the manufacturing system; determining an amount of drift of a first set of metrology measurements for the first layer of the substrate after at least one of the first process or the second process is completed from a target set of metrology measurements based on one or more outputs of the machine learning model; determining one or more modifications to a process recipe for 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 having been previously processed in the manufacturing system according to a third process; updating the process recipe of the second process based on the determined one or more modifications. A non-transitory computer-readable medium containing instructions.
18. 20. The non-transitory computer readable medium of claim 17, wherein the one or more modifications to the process recipe of the second process are further determined in consideration of third data including one or more metrology measurements associated with another substrate processed according to the second process in the manufacturing system.
19. to identify the first data associated with the first process performed on the first layer of the substrate, the processing device: providing a dataset associated with the first process performed on the first layer of the substrate as an input to one or more dimensionality reduction functions; Extracting the first data from an output of the one or more dimensionality reduction functions.
20. The non-transitory computer-readable medium of claim 17.
20. 20. The non-transitory computer-readable medium of 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 before the one or more first operations.
Citation Information
Patent Citations
Polishing device, polishing method, and machine learning device
JP2020053550A
Semiconductor manufacturing apparatus management system and method therefor
JP2020123675A
Sensor metrology data intergration
US20200264335A1
Detecting and correcting substrate process drift using machine learning
US20220066411A1
Method for applying a deposition model in a semiconductor manufacturing process
WO2021001109A1