Substrate Processing Endpoint Detection Using Machine Learning

A machine learning-based endpoint detection system addresses the inaccuracies of existing systems by using normalized spectral data to provide real-time measurements, ensuring accurate endpoint detection and preventing defects in semiconductor manufacturing.

JP7655690B2Active Publication Date: 2025-04-02APPLIED MATERIALS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023575391
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-10
Filing Date
2022-06-09
Publication Date
2025-04-02
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

Existing endpoint detection systems for substrate processing in manufacturing systems fail to accurately and efficiently monitor the processing stages of semiconductors and integrated circuit devices, leading to potential underprocessing or overprocessing, which can result in defective devices.

Method used

The implementation of a machine learning-based endpoint detection system that utilizes spectral data collected during substrate processing. This system involves training machine learning models with historical spectral data to generate normalized data, which is then used to provide real-time measurements and determine the endpoint of the processing by comparing the measurements to predefined metrics.

Benefits of technology

The system effectively prevents underprocessing and overprocessing by providing accurate real-time measurements, thereby improving the quality and yield of semiconductor devices and reducing the number of defects in the manufacturing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007655690000001
    Figure 0007655690000001
  • Figure 0007655690000002
    Figure 0007655690000002
  • Figure 0007655690000003
    Figure 0007655690000003
Patent Text Reader

Abstract

A method and system for substrate processing endpoint detection is provided. A set of machine learning models are trained to provide metrology measurements associated with a particular type of metrology measurement for a substrate based on the spectral data collected for the substrate. Each machine learning model is selected to which future spectral data collected during future substrate processing of future substrates is applied, taking into account a performance evaluation associated with the particular type of metrology measurement. Current spectral data is collected during a current processing of a current substrate and provided as an input to each machine learning model. Indications of each metrology measurement corresponding to the current substrate are extracted from one or more outputs of the trained machine learning models. In response to determining that each metrology measurement satisfies a metrology metric, instructions are generated, including a command to stop the current processing.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to manufacturing systems, and more particularly, to substrate processing endpoint detection using machine learning.

[0002] The manufacture of microelectronic and integrated circuit devices often involves performing numerous operations on semiconductor, dielectric, and conductive substrates. In some cases, single crystals, semiconductor films, coatings, and numerous other materials are used in the manufacture of electronic devices and other practical applications. As selected types of atoms are added (e.g., by deposition) or removed (e.g., by etching) from the substrate, efficient and accurate endpoint monitoring techniques and systems are of value. Under-processing (e.g., under-deposition, under-etching) and over-processing (e.g., over-deposition, over-processing) can result in devices that operate substandardly. Thus, optical control systems that can monitor the various stages of device manufacturing in real time can greatly improve product quality and are particularly useful in light of the ever-increasing demand for high quality semiconductor devices. Overview

[0003] Some of the described embodiments cover a method of training a machine learning model to provide metrology measurements for a current substrate being processed according to a current process at a first manufacturing system. The method includes obtaining a set of historical spectral data associated with a previous substrate processed at a second manufacturing system according to a previous process. The set of historical spectral data includes historical spectral data collected for the previous substrate during each of a set of steps of the previous process. The method further includes generating a set of normalized historical spectral data based on the set of historical spectral data. The set of normalized historical spectral data is generated based on a difference between a first historical spectral data collected during an initial step of the set of steps of the previous process and a second historical spectral data collected during one or more subsequent steps of the set of steps. The method further includes generating training data for the machine learning model. Generating the training data includes generating a training input including a subset of historical spectral data extracted from the set of normalized historical spectral data. The subset of historical spectral data includes an indication of one or more historical spectral features associated with a particular type of metrology measurement. Generating the training data further includes generating a target output for the training input. The target outputs include historical metrology measurements of previous substrates and historical metrology measurements associated with the particular type of metrology measurement. The method further includes providing training data for training the machine learning model based on (i) a set of training inputs comprising training inputs and (ii) a set of target outputs comprising the target outputs.

[0004] In some embodiments, the system includes a memory that stores the trained machine learning model and a processing device coupled to the memory. The processing device receives a set of spectral data associated with a current substrate being processed at the manufacturing system according to a current process. The received set of spectral data is associated with a current step of the current process being performed on the current substrate. The processing device further generates a set of normalized spectral data based on the received set of spectral data. The normalized set of spectral data is generated based on a difference between spectral data collected during a current step of the current process and spectral data collected during a previous step of the current process. The processing device further provides a subset of spectral data extracted from the set of normalized spectral data as an input to the trained machine learning model. The subset of spectral data includes an indication of one or more spectral features corresponding to a particular type of metrology measurement. The processing device further obtains one or more outputs of the trained machine learning model. The processing device further extracts from the one or more outputs metrology measurement data identifying one or more metrology measurements associated with the particular type of metrology measurement, one or more metrology measurements obtained for a previous substrate processed at the manufacturing system according to a previous process, and an indication of a confidence level that each of the one or more metrology measurements corresponds to the current substrate.

[0005] In some embodiments, a non-transitory computer readable storage medium includes instructions that, when executed by a processing device, cause the processing device to receive a set of spectral data associated with a current substrate being processed at the manufacturing system according to a current process. The received set of spectral data is associated with a current step of the current process being performed on the current substrate. The processing device further generates a set of normalized spectral data based on the received set of spectral data. The normalized set of spectral data is generated based on a difference between spectral data collected during a current step of the current process and spectral data collected during a previous step of the current process. The processing device further provides a subset of the spectral data extracted from the set of normalized spectral data as an input to the trained machine learning model. The subset of spectral data includes an indication of one or more spectral features corresponding to a particular type of metrology measurement. The processing device further obtains one or more outputs of the trained machine learning model. The processing device further extracts from the one or more outputs metrology measurement data identifying one or more metrology measurements associated with the particular type of metrology measurement, one or more metrology measurements obtained for a previous substrate processed at the manufacturing system according to a previous process, and an indication of a confidence level that each of the one or more metrology measurements corresponds to the current substrate.

[0006] In some embodiments, a method is provided that includes providing training data for training each of a set of machine learning models to provide metrology measurements associated with a particular type of metrology measurement of a substrate based on spectral data collected during a substrate process performed on the substrate. Each of the set of machine learning models is associated with a different type of a set of machine learning model type types. The method further includes assigning a performance rating to each of the set of machine learning models based on an accuracy of a provided value of the metrology measurement provided by each of the machine learning models given a value of the metrology measurement, the measurements being generated based on historical metrology data collected by a metrology device for a previous substrate of the set of previous substrates. The method further includes selecting each of the machine learning models to be applied to future spectral data collected during a future substrate process performed on a future substrate given the performance rating of each of the set of machine learning models.

[0007] In some embodiments, the system includes a memory and a processing device coupled to the memory. The processing device obtains a trained machine learning model trained to provide a current value for a metrology measurement based on current spectral data collected during a current processing of a current substrate at a manufacturing system. The trained machine learning model is associated with a performance evaluation that satisfies a performance criterion associated with a type of metrology measurement. The processing device further provides the current spectral data as an input to the trained machine learning model. The processing device further extracts an indication of each metrology measurement corresponding to the current substrate from one or more outputs of the trained machine learning model. Each metrology measurement is associated with a type of metrology measurement. The processing device further generates instructions including a command to terminate a current process at the manufacturing system in response to determining that each metrology measurement satisfies a metrology criterion associated with the current process.

[0008] In some embodiments, the non-transitory computer readable storage medium includes instructions that, when executed by a processing device, cause the processing device to provide training data for training each of a set of machine learning models to provide metrology measurements associated with a particular type of metrology measurement of a substrate based on the spectral data collected during a substrate process performed on the substrate. Each of the set of machine learning models is associated with a different type of the set of machine learning model types. The processing device further assigns a performance rating to each of the set of machine learning models based on an accuracy of the metrology measurement provided by each of the machine learning models given the measurement values ​​of the metrology measurements. The measurements are generated based on historical metrology data collected by the metrology device for previous substrates of the set of previous substrates. The processing device further selects each of the machine learning models to be applied to future spectral data collected during future substrate processes performed on future substrates given the performance rating of each of the set of machine learning models. [Brief description of the drawings]

[0009] The present disclosure is illustrated by way of example, and not limitation, in the accompanying drawings in which like reference numerals indicate like elements. It should be noted that different references to "one embodiment" or "one embodiment" in the present disclosure do not necessarily refer to the same embodiment, and such references mean at least one. [Figure 1] 1 illustrates an exemplary computer system architecture in accordance with an aspect of the present disclosure. [Diagram 2] FIG. 1 illustrates a top schematic view of an exemplary manufacturing system according to aspects of the present disclosure. [Diagram 3] 1 illustrates an exemplary system architecture for endpoint detection of substrate processing, according to an aspect of the present disclosure. [Figure 4] 1 is a flowchart of a method for training a machine learning model according to an aspect of the present disclosure. [Diagram 5] 1 is a schematic cross-sectional side view of an endpoint detection apparatus according to an aspect of the present disclosure. [Figure 6]1 is a flowchart of a method for obtaining data for use in a machine learning model, according to an aspect of the present disclosure. [Figure 7A] ~ [Figure 7F] FIG. 1 illustrates the acquisition of data for use in a machine learning model, according to an aspect of the present disclosure. [Figure 8] 1 is a flowchart of a method for estimating metrology of a profile of a substrate using a machine learning model, according to an aspect of the present disclosure. [Figure 9] 1 is a flowchart of a method for selecting a machine learning model for estimating a type of metrology measurement, according to an aspect of the present disclosure. [Figure 10] 1 is a flowchart of a method for detecting an endpoint of substrate processing using a machine learning model, according to an aspect of the present disclosure. [Figure 11] FIG. 1 illustrates a block diagram of an exemplary computer system that operates in accordance with one or more aspects of the present disclosure. Detailed Description of the Preferred Embodiments

[0010] Embodiments of the present disclosure are directed to an endpoint detection system with enhanced spectral data collection. A substrate process (e.g., a deposition process, an etch process, etc.) may be performed on a substrate in a process chamber of a manufacturing system. An endpoint of a substrate process refers to a point in the process at which the profile of the substrate corresponds to (i.e., matches or substantially matches) a target substrate profile. For example, a mask containing a pattern of the target substrate profile may be used during an etch process of a substrate, such as a silicon wafer. The mask may be placed on the surface of the wafer and exposed to a reactive (e.g., wet or dry etch) environment to remove portions of the substrate not protected by the mask. An endpoint of an etch process refers to a point in the etch process at which the substrate profile corresponds to the pattern of the target substrate profile provided by the mask.

[0011] Deviations from the processing recipe can cause variations in the rate and / or uniformity of substrate processing. For example, changes in the etching environment or differences in photomask patterns can cause variations in the rate and uniformity of etching across the surface of a substrate or between etching multiple substrates. Tracking and responding to such variations requires accurate, tunable optical endpoint systems capable of collecting accurate and substantial optical response data that characterize the surface of the substrate at various time periods during substrate processing. The goal of accuracy is further driven by shrinking dimensions of microelectronic devices, increasingly complex photomask designs, and increasing demands for device uniformity. Existing endpoint detection systems are often unable to keep up with these increasing technological demands.

[0012] Aspects and embodiments of the present disclosure address this and other deficiencies of the prior art with a method and system for substrate processing endpoint detection using machine learning. An endpoint detection device can be coupled to or disposed with a processing chamber and configured to collect spectral data of the substrate during substrate processing. Spectral data refers to data related to the intensity of the energy waves (i.e., the intensity or amount of energy) detected for each wavelength of light reflected from the surface of the substrate. The endpoint detection device can transmit the collected spectral data to a processing device (e.g., a system controller of the manufacturing system) of a manufacturing system including the processing chamber. The processing device can generate normalized spectral data based on the spectral data collected by the endpoint detection device, and can extract a subset of the spectral data from the normalized spectral data that includes spectral features associated with a particular type of metrology (e.g., critical dimension, etc.).

[0013] The processing device can provide the subset of the spectral data as input to a machine learning model trained to provide metrology measurements associated with a particular type of metrology measurement of the substrate during the time period the spectral data is collected. The machine learning model can be selected to apply to the substrate's spectral data from a set of trained machine learning models, each associated with a different machine learning model type. The machine learning model can be selected as the trained machine learning model having a performance rating that meets a performance criterion for the particular type of metrology measurement. In some embodiments, the machine learning model is trained and selected for use by a system controller. In other or similar embodiments, the machine learning model is trained and / or selected for use by another processing device separate from the system controller of the manufacturing system (e.g., an offline server that is not accessible to users of the manufacturing system).

[0014] The processing device may obtain one or more outputs of the trained machine learning model and extract a provided metrology measurement for the substrate from the one or more outputs. The processing device may determine whether the provided metrology measurement satisfies the metric criteria (i.e., whether the provided metrology measurement approximately corresponds to a target metrology measurement for the substrate processing). If the provided metrology measurement satisfies the metric criteria, an endpoint of the substrate processing may be indicated as being reached (i.e., the current profile of the substrate corresponds to the target substrate profile). In response to determining that the metric criteria has been met, the processing device may terminate substrate processing at the processing chamber. For example, the processing device may generate an instruction to terminate substrate processing. In response to determining that the metric criteria has not been met, the processing device may continue substrate processing at the processing chamber (e.g., the processing device does not generate an instruction for the processing chamber).

[0015] Aspects of the present disclosure address deficiencies of the prior art by providing a system and method for training and using machine learning models to detect an endpoint of substrate processing. An endpoint detection device connected to a processing chamber can collect spectral data of a substrate at a particular frequency during substrate processing. The collected spectral data is provided as an input to a trained machine learning model to provide real-time estimates of certain types of metrology measurements of the substrate and is used to determine whether an endpoint of substrate processing has been reached. The frequency collection of spectral data and the estimation of metrology measurements enables frequency endpoint monitoring in the processing chamber to prevent the possibility of under-processing (e.g., under-etching, under-deposition, etc.) or over-processing (e.g., over-etching, over-deposition, etc.) of the substrate. As a result, the number of defects occurring within the manufacturing system is reduced, improving overall system efficiency and overall system yield.

[0016] A particular type of metrology measurement of a substrate may be selected (e.g., by an operator, engineer, etc.) as an endpoint metric that indicates an endpoint of substrate processing with greater accuracy than other endpoint metrics associated with other types of metrology measurements. A machine learning model is trained and selected from a set of different types of machine learning models as a model having a performance rating that meets a performance criterion associated with the particular type of metrology measurement. Thus, the metrology measurements provided for the substrate are associated with a greater accuracy than other metrology measurements provided by conventional metrology estimation systems. Thus, the metrology measurements provided by the selected machine learning model are associated with a high accuracy rating, improving the accuracy of endpoint detection based on the metrology measurements provided, further preventing the possibility of under- or over-processing of the substrate.

[0017] Furthermore, as described above, machine learning models can be trained and selected from a set of machine learning models on a processing device separate from the system controller of the manufacturing system, thereby significantly reducing the amount of system resources consumed by the system controller, improving overall system efficiency and reducing overall system latency.

[0018] The disclosed endpoint detection system provides enhanced spectral data collection not possible with conventional endpoint detection systems. The optical bundle of the disclosed endpoint detection system allows for the transmission of multiple incident optical signals from the light source component to the substrate surface and multiple reflected optical signals from the substrate surface to the photodetector without the use of additional equipment (such as beam splitters) that may reduce the power of the transmitted signal. As such, the optical bundle collects the reflected light more efficiently, reduces signal loss in the reflected light beam, and allows the reflected optical signal to be larger overall than conventional fiber optic cables. The collimator assembly of the endpoint detection system produces a beam of incident light with a uniform spatial profile over a wide range of wavelengths. For example, the width of the incident light beam can be the same for the 250 nm spectral component of the beam as it is for the 750 nm spectral component of the beam. Furthermore, the width of the incident light beam can be the same even when beam alignments differ between different manufacturing systems. The improved uniformity allows for more accurate measurement of the optical response of the target portion of the substrate surface in the processing chamber, thus providing more accurate data that allows for more accurate determination of the state of the substrate profile during substrate processing.

[0019] FIG. 1 illustrates an exemplary computer system architecture 100 according to an aspect of the disclosure. The computer system architecture 100 includes a client device 120, a manufacturing tool 122, a metrology tool 132, a prediction server 112 (e.g., for generating prediction data, providing model adaptation, using a knowledge base, etc.), and a data store 150. The prediction server 112 may be part of a prediction system 110. Furthermore, the prediction system 110 may include server machines 170, 180. In some embodiments, the computer system architecture 100 may include or be part of a manufacturing system for processing substrates (e.g., such as the manufacturing system 200 of FIG. 2). In additional or alternative embodiments, the computer system architecture 100 may include or be part of an endpoint detection system for detecting an endpoint of substrate processing. Further details regarding the endpoint detection system are provided in connection with FIG. 3.

[0020] The components of the client devices 120, the manufacturing equipment 122, the metrology equipment 132, the prediction system 110, and / or the data store 150 may be coupled to one another via a network 140. In some embodiments, the network 140 is a public network that provides the client devices 120 with access to the prediction server 112, the data store 150, and other publicly available computing devices. In some embodiments, the network 140 is a private network that provides the client devices 120 with access to the manufacturing equipment 122, the metrology equipment 132, the data store 150, and other privately available computing devices. The network 140 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0021] The client devices 120 may 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.

[0022] The manufacturing tool 122 may produce a product or perform an action over a period of time according to a recipe. In some embodiments, the manufacturing tool 122 may include or be part of a processing tool that includes one or more stations (e.g., processing chambers, transfer chambers, load locks, etc.) configured to perform different actions on a substrate. Additionally, in some embodiments, the manufacturing tool 122 may include an endpoint detection device 124 configured to collect data used to detect an endpoint of a process performed on a substrate in the manufacturing tool 122. An endpoint of a substrate process refers to a point in the process at which the profile of the substrate corresponds (i.e., matches or substantially matches) a target profile. The endpoint detection device 124 may include one or more components configured to collect and / or generate spectral data related to one or more portions of a profile of a substrate surface during substrate processing. Spectral data refers to data related to the detected wave intensity (i.e., the intensity or amount of energy) for each wavelength of the detected wave.

[0023] In some embodiments, the endpoint detection apparatus 124 may include a fiber optic bundle and collimator assembly configured to direct incident light from a light source to a surface of the substrate and transmit reflected light from the surface of the substrate to a light detection component. A processing device (e.g., a system controller of a processing tool) coupled to the endpoint detection apparatus 124 may generate spectral data of a profile of the substrate based on the reflected light transmitted to the light detection component. In other or similar embodiments, the endpoint detection apparatus 124 may include a sensor configured to generate spectral data related to the substrate profile. Such sensors may include a reflectance sensor, an ellipsometry sensor, a thermal spectrum sensor, a capacitance sensor, etc. Further details regarding the fabrication apparatus 122 and the endpoint detection apparatus 124 are provided in connection with FIGS. 2 and 5, respectively.

[0024] In some embodiments, one or more stations of the manufacturing tool 122 may include sensors configured to generate and / or collect sensor data related to the manufacturing tool 122. The sensor data may include one or more values ​​of temperature (e.g., heater temperature), space (SP), pressure, high frequency frequency (HFRF), electrostatic chuck (ESC) voltage, current, flow rate, power, voltage, etc. The sensor data may relate to or be indicative of manufacturing parameters such as hardware parameters (e.g., settings or components (e.g., size, type, etc.) of the manufacturing tool 122, etc.) or processing parameters of the manufacturing tool 122. The sensor data may be provided while the manufacturing tool 122 is performing substrate processing. The sensor data may vary from substrate to substrate.

[0025] In some embodiments, the fabrication tool 122 may include a metrology tool 126. The metrology tool 126 may be configured to generate metrology data related to substrates processed by the fabrication tool 122. 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. Additionally, in some embodiments, the metrology data may include one or more values ​​of surface profile property data (e.g., etch rate, etch rate uniformity, critical dimension of one or more features included in a surface of the substrate, critical dimension uniformity across a surface of the substrate, edge placement error, etc.). The metrology data may be final or semi-final. The metrology data may vary from substrate to substrate.

[0026] The metrology tool 126 may be configured to generate metrology data related to the substrate before or after substrate processing. The metrology tool 126 may be integrated with a station of a processing tool of the manufacturing tool 122. In some embodiments, the metrology tool 126 may be coupled to or part of a station of a processing tool that is maintained in a vacuum environment (e.g., a processing chamber, a transfer chamber, etc.). Such a metrology tool 126 is referred to as an integrated metrology tool 128. Thus, the substrate can be measured by the integrated metrology tool 128 while the substrate is in a vacuum environment. For example, after a substrate process (e.g., an etch process, a deposition process, etc.) is performed on the substrate, metrology data of the processed substrate can be generated by the integrated metrology tool 128 without removing the processed substrate from the vacuum environment. In other or similar embodiments, the metrology tool 126 may be coupled to or part of a processing tool station that is not maintained in a vacuum environment (e.g., a factory interface module, etc.). Such a metrology tool 126 is referred to as an in-line metrology tool 130. Thus, the substrate is measured by the in-line metrology tool 130 outside of a vacuum environment.

[0027] In addition to or instead of the metrology tool 126, the computer system architecture 100 may include a metrology tool 132. The metrology tool 132 may include a metrology measurement device that is separate (i.e., external) from the manufacturing equipment 122. For example, the metrology tool 132 may be a stand-alone device that is not coupled to any station of the manufacturing equipment 122. To obtain measurements of a substrate using the metrology tool 132, a user (e.g., an engineer, an operator) of the manufacturing system may remove a substrate processed in the manufacturing equipment 124 from the manufacturing equipment 122 and transfer the substrate to the metrology tool 132 for measurement. In some embodiments, the metrology tool 132 may transfer metrology data generated for the substrate to a client device 120 coupled to the metrology tool 132 via the network 140 (e.g., for presentation to a manufacturing user such as an operator or engineer). In other or similar embodiments, a user of the manufacturing system may obtain metrology data of the substrate from the metrology tool 132 and provide the metrology data to the computer system architecture via a graphical user interface (GUI) of the client device 120.

[0028] The data store 150 may be a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or other type of component or device capable of storing data. The data store 150 may include multiple storage components (e.g., multiple drives or multiple databases) that may span multiple computing devices (e.g., multiple server computers). The data store 150 may store spectral data, non-spectral data (e.g., sensor data), metrology data, predictive data, and the like. The spectral data may include historical spectral data (e.g., spectral data generated for previous substrates processed on the manufacturing tool 122 or other manufacturing tools coupled to the data store 150 via the network 140) and / or current spectral data (spectral data generated for the current substrate being processed on the manufacturing tool 122). The current spectral data may be data from which the predictive data is generated. In some embodiments, the metrology data may include historical metrology data (e.g., metrology measurements of previous substrates processed on the manufacturing tool 122 or other manufacturing tools). The data store 150 may also store contextual data associated with substrates being processed in the manufacturing system (eg, recipe name, recipe step number, preventive maintenance indicators, operator, etc.).

[0029] One or more portions of data store 150 can be configured to store data that is not accessible to users of the manufacturing system. In some embodiments, all data stored in data store 150 may not be accessible by users of the manufacturing system. In other or similar embodiments, some of the data stored in data store 150 is not accessible by users, while other portions of the data stored in data store 150 are accessible by users. In some embodiments, the inaccessible data stored in data store 150 is encrypted using an encryption mechanism unknown to the users (e.g., the data is encrypted using a private encryption key). In other or similar embodiments, data store 150 may include multiple data stores where data that is not accessible to users is stored in a first data store and data that is accessible to users is stored in a second data store.

[0030] In some embodiments, prediction system 110 includes a server machine 170 and a server machine 180. 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 a machine learning model 190 or a set of machine learning models 190. Some operations of training set generator 172 are described in more detail below with respect to FIG. 4. In some embodiments, training set generator 172 can split the training data into a training set, a validation set, and a test set.

[0031] The server machine 180 may include a training engine 182. An engine may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions executed on a processing device, general-purpose computer system, or dedicated machine, etc.), firmware, microcode, or a combination thereof. The training engine 182 may train a machine learning model 190 or a set of machine learning models 190. The machine learning model 190 may refer to a model artifact generated by the training engine 182 using training data including training inputs and corresponding target outputs (correct answers for each training input). The training engine 182 may find patterns in the training data that map the training inputs to the target outputs (predicted answers) and provide a machine learning model 190 that captures these patterns. The machine learning model 190 may include a linear regression model, a partial least squares regression model, a Gaussian regression model, a random forest model, a support vector machine model, a neural network, a ridge regression model, etc.

[0032] The training engine 182 may also validate the trained machine learning models 190 using the corresponding feature sets of the validation set from the training set generator 172. In some embodiments, the training engine 182 may assign a performance rating to each of the set of trained machine learning models 190. The performance rating may correspond to the accuracy of each trained model, the speed of each model, and / or the efficiency of each model. The training engine 182 may select trained machine learning models 190 having a performance rating that meets the performance criteria used by the prediction component 114, according to embodiments described herein. Further details regarding the training engine 182 are provided in connection with FIG. 9.

[0033] The prediction server 112 includes a prediction engine 114 that can provide spectral data of a portion of a current substrate being processed by the manufacturing tool 122 as input to a trained machine learning model 190 and run the trained model 190 on the input to obtain one or more outputs. In some embodiments, the trained model 190 executed by the prediction engine 114 is selected by the training engine 182 as having a performance evaluation that meets the performance criteria, as described above. Also, as further described in connection with FIG. 8, in some embodiments, the prediction engine 114 can extract data from the output of the trained machine learning model 190 and use the confidence data to provide metrology measurements of the portion of the substrate.

[0034] The confidence data may include or indicate a level of confidence that the measurement value corresponds to one or more characteristics of the substrate associated with the current spectral data. In one example, the confidence level is a real number between 0 and 1, where 0 indicates no confidence that the measurement value corresponds to one or more characteristics of the substrate associated with the current spectral data, and 1 indicates absolute confidence that the measurement value corresponds to one or more characteristics of the substrate associated with the current spectral data. In some embodiments, the endpoint detection system may provide measurements of a substrate being processed in the manufacturing system and determine the measurements using the prediction system 110 instead of determining measurements using the in-line metrology tool 128, the integrated metrology tool 130, and / or the external metrology tool 132. The endpoint detection system may determine whether an endpoint of substrate processing has been reached based on the measurements provided for the substrate according to embodiments provided herein.

[0035] It should be noted that in some other embodiments, the functionality of server machines 170 and 180, as well as prediction server 112, may be provided by a greater or lesser number of machines. For example, in some embodiments, server machines 170 and 180 may be integrated into a single machine, and in some other or similar embodiments, server machines 170 and 180 and prediction server 112 may be integrated into a single machine. In general, functionality described in one embodiment as being performed by server machine 170, server machine 180, and / or prediction server 112 may also be performed on client device 120. Furthermore, functionality attributed to a particular component may also be performed by multiple components, either different or working in conjunction. Further details regarding the grouping of functionality of server machines 170, 180 and prediction server 112 are provided in connection with FIG. 3.

[0036] In embodiments, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass a "user" that is an entity controlled by multiple users and / or automated sources. For example, a "user" may be considered to be a set of individual users that are federated as a group of administrators.

[0037] 2 is a top schematic view of an exemplary manufacturing system 200. The manufacturing system 200 can perform one or more processes on a substrate 202. The substrate 202 can be any suitable rigid, fixed-dimension, planar article (e.g., a silicon-containing disk or wafer, a patterned wafer, a glass plate, etc.) suitable for fabricating electronic devices or circuit components thereon in accordance with aspects of the present disclosure. In some embodiments, the manufacturing system 200 can include or be part of the computer system architecture 110 in accordance with the embodiments described in connection with FIG. 1.

[0038] The manufacturing system 200 may include a processing tool 204 and a factory interface 206 coupled to the processing tool 204. The processing tool 204 may include a housing 208 having a transfer chamber 210 therein. The transfer chamber 210 may include one or more processing chambers (also referred to as process chambers) 214, 216, 218 disposed around and coupled to the transfer chamber 210. The processing chambers 214, 216, 218 may be coupled to the transfer chamber 210 via respective ports (e.g., slit valves, etc.). The transfer chamber 210 may also include a transfer chamber robot 212 configured to transfer the substrate 202 between the processing chambers 214, 216, 218, the load lock 220, etc. The transfer chamber robot 212 may include one or more arms, each of which may include one or more end effectors at the end of each arm. The end effectors may be configured to handle a particular object, such as a wafer.

[0039] Additionally, in some embodiments, the transfer chamber 210 may include a metrology device, such as the integrated metrology device 128 described with respect to FIG. 1. The integrated metrology device 128 may be configured to generate metrology data related to the substrate 202 before or during substrate processing while the substrate is maintained in a vacuum environment. As shown in FIG. 2, the integrated metrology device 128 may be located within the transfer chamber 210. In other or similar embodiments, the integrated metrology device 128 may be coupled to the transfer chamber 210. When the integrated metrology device 128 is located within or coupled to the transfer chamber 210, metrology data related to the substrate 202 may be generated without removing the substrate 202 from the vacuum environment (e.g., transferred to the factory interface 206).

[0040] The processing chambers 214, 216, 218 may be adapted to perform any number of processes on the substrate 202. The same or different substrate processes may be performed in each processing chamber 214, 216, 218. Substrate processes may include atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, hardening, pre-cleaning, metal or metal oxide removal, and the like. Other processes may be performed on the substrate therein. In some embodiments, an endpoint detection device (e.g., the endpoint detection device 124 described with respect to FIG. 1) may be coupled to or disposed within the processing chambers 214, 216, 218. The endpoint detection device 124 may be configured to collect spectral data regarding a profile of the substrate surface during substrate processing. A processing device coupled to the endpoint detection apparatus 124 (e.g., system controller 228) can determine whether an endpoint of the etch process has been reached (i.e., whether a target profile has been etched into the substrate surface) based on the collected spectral data. In some embodiments, one or more components of the endpoint detection apparatus 124 can include components described with respect to FIG. 5 (e.g., fiber optic bundles, collimator assemblies, etc.). In other or similar embodiments, the endpoint detection apparatus 124 can include one or more sensors disposed inside or outside the processing chambers 214, 216, 218 and configured to collect spectral data regarding a portion of the substrate 202 and / or an environment within the processing chambers 214, 216, 218 before, after, or during substrate processing.

[0041] A load lock 220 may also be coupled to the housing 208 and the transfer chamber 210. The load lock 220 may be configured to interface and couple with the transfer chamber 210 on one side and with the factory interface 206 on the other side. In some embodiments, the load lock 220 may have an environmentally controlled atmosphere that can be changed from a vacuum environment (where substrates are transferred to and from the transfer chamber 210) to an inert gas environment at or near atmospheric pressure (where substrates are transferred to and from the factory interface 206).

[0042] The factory interface 206 may be any suitable enclosure, such as, for example, a front-end equipment module (EFEM). The factory interface 206 may be configured to receive substrates 202 from substrate carriers 222 (e.g., front-opening unified pods (FOUPs)) docked to various load ports 224 of the factory interface 206. A factory interface robot 226 (shown in dashed lines) may be configured to transport substrates between the substrate carriers (also referred to as containers) and the load locks 220. In other and / or similar embodiments, the factory interface 206 may be configured to receive replacement parts from a replacement part storage container 222.

[0043] In some embodiments, the manufacturing system 200 may include a metrology device configured to generate metrology data related to the substrate 202 outside of a vacuum environment. For example, as shown in FIG. 2, the integrated metrology device 128 may be coupled to a process chamber (e.g., process chambers 214, 216, and / or 218). The integrated metrology device 128 may be configured to generate metrology data related to the substrate 202 before the substrate 202 is placed in the vacuum environment (e.g., transferred to a load lock 220) and / or after the substrate 202 is removed from the vacuum environment (e.g., removed from the load lock 220). While FIG. 2 illustrates the in-line metrology device 130 coupled to the factory interface 206, the in-line metrology device 130 may be coupled to any portion of the process tool 204 that is outside of a vacuum environment (e.g., coupled to a load lock 220, etc.).

[0044] The manufacturing system 200 may also be connected to a client device (e.g., client device 120 of FIG. 1 ) configured to provide information to a user (e.g., an operator) regarding the manufacturing system 200. In some embodiments, the client device may provide information to a user of the manufacturing system 200 via one or more graphical user interfaces (GUIs). For example, the client device may provide information regarding the endpoint of substrate processing performed in the processing chambers 214, 216, 218 via the GUI.

[0045] The manufacturing system 200 may also include or be coupled to a system controller 228. The system controller 228 may be and / or include a computing device (e.g., a personal computer, a server computer, a programmable logic controller (PLC), a microcontroller, etc.), which may be a general-purpose processing device (e.g., a microprocessor, a central processing device, etc.). More specifically, the processing device 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 that executes other instruction sets, or a processor that executes a combination of instruction sets. The processing device may also be one or more special-purpose processing devices (e.g., an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc.). The system controller 228 may include a data storage device (e.g., one or more disk drives and / or solid state drives), a main memory, a static memory, a network interface, and / or other components. The system controller 228 may execute instructions to perform any one or more of the methods and / or embodiments described herein. In some embodiments, the system controller 228 may execute instructions to perform one or more operations in the manufacturing system 300 according to a process recipe. The instructions may be stored in a computer-readable storage medium, which may include a main memory, a static memory, a secondary storage device, and / or a processing device (during execution of the instructions).

[0046] In some embodiments, the system controller 228 may receive data from sensors or other components (e.g., endpoint detection device 124, etc.) included on or within various portions of the manufacturing system 300 (e.g., processing chambers 314, 316, 318, transfer chamber 310, load lock 320, etc.). The data received by the system controller 228 may include spectral data and / or non-spectral data for a portion of the substrate 302. For purposes of this description, the system controller 228 is described as receiving data from an endpoint detection device 124 connected to or disposed within the processing chambers 314, 316, 318. However, the system controller 228 may receive data from any portion of the manufacturing system 200 and may use the data received from that portion in accordance with embodiments described herein. In an illustrative example, the system controller 228 may receive spectral data from an endpoint detection device 124 coupled to the processing chambers 214, 216, 218 before, after, or during substrate processing in the processing chambers 214, 216, 218. Data received from the endpoint detection device 124 or other sensors of the manufacturing system 200 may be stored in a data store 250. The data store 250 may be included as a component within the system controller 228 or may be a separate component from the system controller 228. In some embodiments, the data store 250 may be part of or include a portion of the data store 150, as described in connection with FIG.

[0047] 3 illustrates an exemplary system architecture 300 for endpoint detection of substrate processing in accordance with aspects of the present disclosure. In some embodiments, endpoint detection system 300 may include or be part of one or more components of computer architecture 100 and / or manufacturing system 200. Endpoint detection system 300 may include one or more components of manufacturing equipment 124 (e.g., endpoint detection equipment 126, etc.), metrology equipment 130, server machine 320, and server machine 350.

[0048] As described above, the manufacturing tool 122 can produce a product or perform an action over a period of time according to a recipe. The manufacturing tool 122 can include a process chamber 310 configured to perform substrate processing of a substrate according to a substrate processing recipe. In some embodiments, the process chamber 310 can be any of the process chambers 214, 218, 218 described in connection with FIG. 2. The manufacturing tool 122 can also include an endpoint detection device 124 as described herein. The endpoint detection device 124 can be coupled to or disposed within the process chamber 310 and can collect spectral data used to detect the endpoint of a step of the substrate processing recipe. In some embodiments, the manufacturing tool 122 can also include an integrated metrology device 128 as described herein. The integrated metrology device 128 can be configured to generate metrology data related to the substrate before or after the substrate processing is completed.

[0049] The manufacturing equipment 122 may be coupled to a server machine 320. The server machine 320 may include a processing device 322 and / or a data store 332. In some embodiments, the processing device 322 may be configured to execute one or more instructions to perform operations at the manufacturing equipment 122. For example, the processing device 322 may include or be part of the system controller 228 described in connection with FIG. 2. In some embodiments, the data store 332 may include or be part of the data store 150 and / or the data store 250.

[0050] The processing device 322 can be configured to receive data from one or more components of the manufacturing tool 122 (i.e., over a network). For example, the processing device 322 can receive spectral data 336 collected by the endpoint detection tool 124 during substrate processing of the substrate in the processing chamber 310. In another example, the processing device 322 can receive metrology data 338 collected by the integrated metrology tool 128 before and / or after substrate processing of the substrate. The metrology data 338 can include metrology measurements made on the substrate by the integrated metrology tool 128. In some embodiments, the processing device 322 can store the received spectral data and / or the received metrology data 338 in a data store 332.

[0051] In some embodiments, the processing device 322 can receive metrology data 338 from other metrology tools. For example, in some embodiments, the server 320 can be connected (i.e., over a network) to the in-line metrology tool 130. As described herein, a substrate can be removed from a processing chamber 210 and transferred to the in-line metrology tool 130. The in-line metrology tool 130 can generate metrology data 338 for the substrate and transmit the generated metrology data 338 to the processing device 322 over a network. In another example, a substrate can be removed from a manufacturing tool 122 and transferred to an external metrology tool, such as the external metrology tool 132 described in connection with FIG. 1A. A client device, such as the client device 120, can be connected (i.e., over a network) to the server 320. In some embodiments, a user of the manufacturing tool 122 can obtain metrology data 338 using the external metrology tool 132 and can provide the obtained metrology data 338 via a GUI of the client device 120. The client device 120 can transmit the metrology data 338 over a network. In additional or alternative embodiments, the external metrology device 132 can be coupled to the server 320 via a network, and the external metrology device 132 can transmit the metrology data 338 directly to the processing device 332 .

[0052] The processing device 322 may include a prediction engine 328 and a process endpoint engine 330. The prediction engine 328 may be configured to provide metrology measurements based on spectral data 336 collected for a substrate during substrate processing. For example, the prediction engine 328 may provide the spectral data 336 collected for a current process performed on a current substrate in the process chamber 310 as an input to the trained machine learning model 334. The prediction engine 328 may obtain as an output of the machine learning model 334, metrology data 338 including an indication of metrology measurements corresponding to the current substrate. In some embodiments, the prediction engine 328 may correspond to the prediction engine 114 described in connection with FIG. 1 .

[0053] As shown in FIG. 3, in some embodiments, the processing device 322 can include a training set generator 324 and / or a training engine 326. In some embodiments, the training set generator 324 can correspond to the training set generator 172 described in connection with FIG. 1, and / or the training engine 326 can correspond to the training engine 182. The training set generator 324 can be configured to generate a training set 340 for training a machine learning model 334 or a set of machine learning models 334. For example, the training set generator 324 can generate training inputs based on historical spectral data 336 associated with previous substrates. In some embodiments, the training set generator 324 can retrieve the historical spectral data 336 from the data store 332 and generate the training inputs. The training set generator 324 can generate target outputs for the training inputs based on historical metrology data 338 acquired for previous substrates. As described above, the historical metrology data 338 can be generated by the in-line metrology tool 128, the integrated metrology tool 130, or the external metrology tool 132. Training set generator 324 can include the generated training inputs and the generated target outputs in training set 340. Details regarding the generation of training set 340 are provided in connection with FIG.

[0054] The training engine 326 can be configured to train, validate, and / or test a machine learning model 334 or a set of machine learning models 334. The training engine 326 can provide a training set 340 for training the machine learning model 334 and storing the trained machine learning model in the data store 332. In some embodiments, the training engine 326 can use a validation set 342 to validate the trained machine learning model 334. The validation set 342 can include spectral data 336 and metrology data 338 acquired for a previous substrate (i.e., processed in the process chamber 310 or another process chamber). The training set generator 324 and / or the training engine 326 can generate the validation set 342 based on the historical spectral data 336 and historical metrology data 338 acquired for a previous substrate. In some embodiments, the validation set 342 can include the historical spectral data 336, historical metrology data 338 that is different from the historical spectral data 336, and historical metrology data 338 included in the training set 340.

[0055] The training engine 326 can provide the spectral data 336 of the previous substrate as an input to the trained machine learning model 334 and can extract metrology measurements of the previous substrate from one or more outputs of the trained model 334. The training engine 336 can assign a performance score to the trained model 334 based on the accuracy of the metrology measurements of the previous substrate given the metrology data 338 of the previous substrate included in the validation set 342. In response to determining that the performance score meets the performance score criteria (e.g., exceeds a performance score threshold, etc.), the training engine 336 can select a trained model to be used to provide future metrology measurements of future substrates processed in the process chamber 310. Further details regarding the selection of the trained model 334 are provided in connection with FIG. 9.

[0056] As mentioned above, in some embodiments, the training set generator 324 and / or the training engine 326 may be components of the processing device 322 at the server 320. In additional or alternative embodiments, the training set generator 324 and / or the training engine 326 may be components of the processing device 352 at the server 350. The server 350 may include or be part of a computing system separate from the manufacturing system 200. As mentioned above, in some embodiments, the server 320 may include or be part of the system controller 228 described in connection with FIG. 2. In such an embodiment, the server 350 may include or be part of a computing system that is coupled to the system controller 228 (i.e., via a network) but separate from the system controller 228. For example, a user of the manufacturing system 200 may be provided with access to data stored in one or more portions of the data store 332 or one or more processes executed at the processing device 322. However, a user of manufacturing system 200 may not be provided with access to the data stored in one or more portions of data store 354 or to any of the processes performed by processing device 352 .

[0057] The processing device 352 can be configured to execute the training set generator 324 and / or the training engine 326 in a manner similar to the processing device 322. In some embodiments, the server 350 can be coupled to the manufacturing equipment 122 and / or the in-line metrology equipment 130 via a network. Thus, in accordance with the embodiments described with respect to the processing device 322, the processing device 352 can obtain the spectral data 336 and the metrology data 338 used by the training set generator 324 and / or the training engine 326 to generate the training set 340 and the validation set 342. In other or similar embodiments, the server 350 is not connected to the manufacturing equipment 122 and / or the external metrology equipment 130. Thus, the processing device 352 can obtain the spectral data 336 and the metrology data 338 from the processing device 322. For example, as previously described, the processing device 322 can receive the spectral data 336 from the endpoint detection equipment 124. The processing device 322 can transmit the received spectral data 336 to the processing device 352 (i.e., via a network). In some embodiments, the processing device 352 can store the spectral data 336 in a data store 352. In some embodiments, the processing device 322 can similarly transmit metrology data 338 acquired for the substrate to the processing device 352. For example, as described above, the processing device 322 can receive the metrology data 338 from the in-line metrology tool 128, the integrated metrology tool 130, and / or the external metrology tool 132. The processing device 352 can transmit the received metrology data 338 from the processing device 322, and in some embodiments, can store the metrology data 338 in a data store 354.

[0058] The training set generator 324 of the processing device 352 can generate the training set 340 according to the embodiments described above. The training engine 326 of the processing device 352 can train and / or validate the machine learning model 340 according to the embodiments described above. In some embodiments, the server 350 can be coupled to other manufacturing tools and / or other server machines different from the manufacturing tool 122 and / or the server machine 320. According to embodiments described herein, the processing device 352 can obtain the spectral data 336 and / or metrology data 338 from the other manufacturing tools and / or server machines. In some embodiments, the training set 340 and / or validation set 342 can be generated based on the spectral data 336 and metrology data 338 acquired for substrates processed in the process chamber 310 and other spectral data and metrology data acquired for other substrates processed in process chambers of other manufacturing systems.

[0059] In response to the training engine 326 selecting the trained model 334 to be applied to future spectral data for future substrates in the processing chamber 310, the processing device 352 can send the trained model 334 to the processing device 322. As described above, the prediction engine 328 can use the trained model 334 to provide metrology measurements for future substrates in the processing chamber 310.

[0060] The process endpoint engine 330 of the processing device 322 may be configured to detect an endpoint of a process performed on a substrate in the processing chamber 310. The process endpoint engine 330 may obtain metrology measurements of a current substrate in the processing chamber 310 from the prediction engine 328. In response to determining that the metrology measurements satisfy the metrology metric (e.g., correspond to a target metrology measurement), the process endpoint engine 330 may generate instructions including a command to terminate the current process (or a current step of the current process) in the processing chamber 310. The processing device 322 may send instructions to the fabrication tool 122 to terminate the current process on the current substrate. In response to determining that the metrology metric is not satisfied, the process endpoint engine 330 may cause the current process to continue on the current substrate (e.g., not generate an instruction to terminate the process). Further details related to detecting an endpoint of a current process are provided in connection with FIG. 10.

[0061] 4 is a flow chart of a method 400 for training a machine learning model according to an aspect of the disclosure. The method 400 is performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or a combination thereof. In one embodiment, the method 400 may be performed by a computer system such as the computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 400 may be performed by one or more other machines not shown. In some aspects, one or more operations of the method 400 may be performed by the training set generator 324 of the server machine 320 or the server machine 350 described in connection with FIG. 3.

[0062] At block 410, processing logic initializes a training set T to an empty set (e.g., {}). At block 412, processing logic acquires spectral data associated with a substrate processed in a processing chamber of the manufacturing system. In some embodiments, the spectral data can be received from one or more sensors disposed within or coupled to the processing chamber. In other or similar embodiments, the spectral data can be received from an endpoint detection device disposed within or coupled to the processing chamber. FIG. 5 is a schematic side cross-sectional view of an endpoint detection device 124 coupled to a processing chamber 310, according to aspects of the present disclosure. In some embodiments, the processing chamber 310 can be used for processes in which a corrosive plasma environment is provided. For example, the processing chamber 310 can be a chamber for a plasma etcher or plasma etch reactor, a plasma cleaner, or the like. In other or similar embodiments, the processing chamber 310 can be used for processes in which a non-corrosive environment is provided. For example, the processing chamber 310 can be used as a chemical vapor deposition (CVD) chamber, a physical vapor deposition (PVD) chamber, an atomic layer deposition (ALD) chamber, an ion-assisted deposition (IAD) chamber, and other types of processing chambers.

[0063] Briefly, the processing chamber 310 includes a chamber body 502, a lid 530, and / or a showerhead (not shown) that enclose an internal volume 506. The chamber body 502 generally includes a sidewall 508 and a bottom 512. The showerhead may include a showerhead base and a showerhead gas distribution plate. The lid 530 and / or the showerhead may be supported on the sidewall 508 of the chamber body 502. The lid 530 (or showerhead) may be open to allow access to the internal volume 506 of the processing chamber 510 and may provide a seal to the processing chamber 510 when closed. A gas panel (not shown) may be coupled to the processing chamber 510 and may provide processing and / or cleaning gases to the internal volume 506 via the lid 530 and nozzles (e.g., through openings in the showerhead or lid and nozzles) and / or the showerhead. An exhaust port 526 may be defined in the chamber body 502, and the internal volume 506 may be coupled to a pumping system 528. The pumping system 528 may include one or more pumps and a throttle valve used to evacuate and adjust the pressure of the interior volume 506 of the processing chamber 510. A substrate support assembly 548 is disposed within the interior volume 506, below the lid 530 and / or the showerhead. The substrate support assembly 548 holds a substrate (such as, for example, substrate 202 in FIG. 2) during processing. In one embodiment, the substrate support assembly 548 includes a pedestal 552 that supports an electrostatic chuck 550.

[0064] The endpoint detection system 124 can be configured to optically monitor the environment of the internal volume 506 during substrate processing of the substrate 202. In some embodiments, the endpoint detection system 124 can be mechanically coupled to the chamber body 502 and optically interfaced with the environment of the internal volume 506 (i.e., via an optical interface 570). The endpoint detection system 124 can include a collimator assembly 554, a fiber optic bundle 556, an optical component 562, a processing device 576, and, in some embodiments, a polarizer component 568. As shown in FIG. 5, the collimator assembly 554 can be coupled to a chamber interface 570. In some embodiments, the chamber interface 570 can be an orifice, a converging or diverging lens, a transparent slab, or any other device or material capable of transmitting light between the collimator assembly 554 or the environment of the internal volume 506. Although FIG. 5 shows the chamber interface 570 embedded in the lid 530, the chamber interface 570 can be embedded in or coupled to any portion of the processing chamber 310 (e.g., the sidewalls 508, the bottom 510, etc.).

[0065] A first end of the fiber optic bundle 556 can be coupled to the collimator assembly 554, and a second end of the fiber optic bundle 556 can be coupled to the optical component 562. The optical component 562 can include a light source 564 configured to generate light. As used herein, "light" refers to electromagnetic radiation in any spectral range, including visible light, near infrared (IR), near ultraviolet (UV), and the like. Additionally, "light" can include unpolarized (e.g., natural) light, linearly, circularly, or elliptically polarized light, partially polarized light, focused light, diverging light, collimated light, and the like. In some embodiments, the light source 564 can include a narrowband light source, such as a light emitting diode (LED), a laser, a light bulb, and the like. In other or similar embodiments, the light source 564 can include a broadband light source. In some embodiments, the light source 564 can include two or more component light sources, such as multiple narrowband light sources that (when taken together) generate a broadband light input. The light source 564 can include additional optical elements (i.e., filters, absorbers, polarizers, and the like) to control the spectral distribution and / or polarization of the light.

[0066] Light generated by the light source 564 (referred to herein as input light) may be transmitted to the collimator assembly 554 via one or more emitting optical fibers 558 of the light bundle 556. In response to receiving the input light via the emitting optical fibers 558, the collimator assembly 554 is configured to convert the input light into a light beam 572. For example, the input light may pass through one or more optical elements of the collimator assembly 554, such as lenses, reflectors, filters, apertures, etc. In some embodiments, the spatial characteristics of the light beam generated by the collimator assembly 554 may be the same for multiple spectral components of the light beam 572. For example, the diameter of the light beam 572 may be the same within a wide range of wavelengths λ of the input light, and thus the various spectral components included in the light beam 572. In some embodiments, the collimator assembly 554 may include one or more achromatic lenses. Thus, the light beam 572 generated by the collimator assembly 554 may be an achromatic light beam.

[0067] As shown in FIG. 5, in some embodiments, the collimator assembly 554 can include a polarizer component 568. The polarizer component 568 is configured to polarize the unpolarized light (e.g., natural light) generated by the light source 564. For example, the polarizer component 568 can convert the unpolarized input light to linearly polarized, circularly polarized, or elliptically polarized light. Note that while FIG. 5 illustrates the polarizer component 568 as part of the collimator assembly 554, the polarizer component 568 can be coupled to any portion of the endpoint detection device 124 that passes the input light to the optical interface 570. For example, the polarizer component 568 can be connected to the outlet of the light source 564 light, the outlet of one or more emitting optical fibers 558, between the collimator assembly and the optical interface 570, etc.

[0068] The collimator 572 can direct the light beam 572 through the optical interface 570 to the surface of the substrate 202 disposed on the substrate support assembly 548. The light beam 572 can be reflected off the surface of the substrate 202 as a reflected light beam 574 and received by the collimator assembly 554. The one or more input optical fibers 560 of the optical bundle 556 can transmit the reflected light beam 574 to a photodetector 566 of the optical component 562. The photodetector 566 can include one or more spectrometers, spectrometers, diffraction gratings, mirrors, lenses, photodiodes, and other devices. The photodetector 566, alone or in conjunction with a processing device 576, can determine one or more optical responses associated with the surface of the substrate 202 based on the reflected light beam 574. For example, the photodetector 566 and / or the processing device 576 can determine the reflectance R(λ), the refractive index n(λ), or any other optical quantity that can be used to characterize the substrate 202 based on the reflected light 574. In some embodiments, the optical response can be used to characterize the substrate 202 in terms of polarization dependence of reflectance, the angle of rotation of the plane of polarization upon reflection, the emission intensity, etc. As described in connection with this application, spectral data can refer to data corresponding to the optical response of the reflected light 574 and / or optical properties of the substrate 202 derived from the optical response of the reflected light 574.

[0069] In some embodiments, the processing device 576 can be included as part of a system controller (e.g., system controller 228) for a fabrication system that includes the processing chamber 310. In such embodiments, the processing device 576 can store the generated spectral data for the substrate 202 in a data store (e.g., data store 250, 332, 352, etc.) coupled to the processing device 576. In other or similar embodiments, the processing device 576 can be a processing component separate from the system controller but coupled to the system controller via a network. The processing device 576 can transmit the generated spectral data to the system controller for storage in a data store for each of the fabrication systems.

[0070] Returning to FIG. 4 , at block 414, processing logic obtains metrology data for the substrate. As discussed above, the metrology data may include one or more values ​​of film property data (e.g., spatial film properties of the wafer, etc.), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. Additionally, in some embodiments, the metrology data may include one or more values ​​of surface profile property data (e.g., etch rate, etch rate uniformity, critical dimensions of one or more features included in a surface of the substrate, critical dimension uniformity across the substrate surface, edge placement error, etc.). In some embodiments, the metrology measurements may be received from a metrology tool (e.g., in-line metrology tool 126, integrated metrology tool 128, etc.) of the fabrication system 200. For example, after substrate processing is completed, the substrate may be transferred to the in-line metrology tool 128 or integrated metrology tool 130 of the fabrication system 200. The in-line metrology tool 128 or the integrated metrology tool 130 may generate metrology data related to the substrate and transmit the metrology data over a network to a computing device containing processing logic (e.g., server machine 320, server machine 350, etc.) In other or similar embodiments, metrology measurements may be received from a metrology tool separate from the manufacturing system 200 (e.g., external metrology tool 132) as described herein.

[0071] At block 416, processing logic generates training inputs based on the spectral data acquired for the substrate at block 412. In some embodiments, the training inputs may include a set of normalized spectral data generated based on the spectral data acquired for the substrate. The set of normalized spectral data may include one or more spectral features corresponding to a particular type of metrology measurement. Further details regarding generation of training inputs are described in conjunction with FIG. 6. At block 418, processing logic may generate target outputs based on the metrology data acquired for the substrate at block 414. The target outputs may correspond to metrology values ​​related to the substrate. For example, at block 414, processing logic may acquire metrology data indicative of a film thickness at one or more portions of a surface of the substrate after an etch process. Processing logic may generate target outputs corresponding to an etch rate and / or an etch rate uniformity based on the metrology data acquired for the etch process and process data.

[0072] At block 420, processing logic generates an input / output mapping, which refers to training inputs that include or are based on data for the substrate, and target outputs for the training inputs, where the target outputs identify measurements for the substrate, and the training inputs are associated with (mapped to) the target outputs. At block 422, processing logic adds the input / output mapping to a training set T.

[0073] At block 424, the processing logic determines whether the training set T includes a sufficient amount of training data to train the machine learning model. In some embodiments, the sufficiency of the training set T may be determined solely based on the number of input / output mappings in the training set, while in other embodiments, the sufficiency of the training set T may be determined based on one or more other criteria (such as a measure of diversity of the training examples) in addition to or instead of the number of input / output mappings. Upon determining that the training set T includes a sufficient amount of training data to train the machine learning model, the processing logic provides the training set T to the machine learning model. Upon determining that the training set does not include a sufficient amount of training data to train the machine learning model, the method 400 returns to block 412.

[0074] At block 426, the processing logic provides a training set T for training the machine learning model. In some embodiments, the training set T is provided to the training engine 326 of the server machine 320 and / or the server machine 350 to perform the training. For example, in the case of a neural network, input values ​​of a particular input-output mapping (e.g., spectral data of a previous substrate) are input to the neural network, and output values ​​of the input-output mapping are stored at the output nodes of the neural network. The connection weights in the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and the procedure is repeated for other input-output mappings in the training set T. After block 426, the machine learning model 190 can be used to provide measurements of future substrates to be processed in the manufacturing system (e.g., according to method 800 of FIG. 8, described below).

[0075] FIG. 6 is a flow chart of a method 600 for obtaining data for use in a machine learning model (e.g., machine learning model 334) according to an aspect of the disclosure. Method 600 is performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine, etc.), firmware, or any combination thereof. In one embodiment, method 600 may be performed by a computer system such as computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of method 600 may be performed by one or more other machines not shown. In some aspects, one or more operations of method 600 may be performed by server machine 320 or training set generator 324 of server machine 350 described in connection with FIG. 3. Additionally or alternatively, one or more operations of method 600 may be performed by prediction engine 328 of server machine 350. In one example, the training set generator 324 may perform the operations described in association with one or more of blocks 610-624 to generate the training inputs according to the embodiment described in association with method 400 of Figure 4. In another example, the prediction engine 328 may perform the operations described in association with one or more of blocks 620-624 to obtain a subset of the spectral data to provide as input to the trained machine learning model, as described in association with method 800 of Figure 8.

[0076] At block 610, the processing logic may obtain spectral data associated with the substrate. In some embodiments, the spectral data may correspond to spectral data obtained by the processing logic of the training set generator 324, as described in connection with block 412 of the method 400. In other or similar embodiments, the spectral data may correspond to spectral data obtained by the processing logic of the prediction engine 328, as described herein. FIG. 7A illustrates spectral data collected for a substrate during substrate processing, according to embodiments described herein. As shown in FIG. 7A, the spectral data may correspond to amplitudes of light waves having particular wavelengths of an optical signal detected by a sensor or endpoint detection device disposed in or coupled to the processing chamber during each period of substrate processing. For example, the spectral data may correspond to amplitudes of wavelengths X, Y, and Z detected by the endpoint detection device 124 during the beginning (e.g., time 0 seconds), middle (e.g., time 1 second to time N-1 seconds), and end (e.g., time N seconds) of a period of etching processing of the substrate.

[0077] 6, in some embodiments, processing logic may additionally acquire metrology data related to the substrate. Processing logic may acquire the metrology data according to the embodiments described in relation to block 414 of method 400.

[0078] At block 612, processing logic may obtain data associated with a rate of a substrate process performed on the substrate. In some embodiments, the substrate process may be an etch process and the rate data may be an etch rate of the etch process. In other or similar embodiments, the substrate process may be a deposition process and the rate data may be a deposition rate of the deposition process. It should be noted that the substrate process may be other processes other than an etch process and / or a deposition process and processing logic may obtain corresponding rate data associated with each substrate process.

[0079] In some embodiments, the processing logic can obtain the rate data based on the context data and / or metrology data of the substrate. For example, the obtained metrology data can indicate a thickness of a film deposited on a surface of the substrate before and / or after substrate processing. FIG. 7B illustrates an example of rate data of a substrate processing according to embodiments described herein. Data points 702 indicate a thickness of a film deposited on a surface of the substrate before an etch process. Data points 704 indicate a thickness of a film after substrate processing. The processing logic can obtain the data points 704 based on metrology data collected on the substrate after an etch process according to embodiments described herein. In some embodiments, the processing logic can obtain the data points 702 based on metrology data collected on the substrate before an etch process. In other or similar embodiments, the processing logic can obtain the data points 702 based on data that was not generated by the metrology tool before the etch process. For example, a user of the manufacturing system can provide data related to a film thickness (e.g., from a substrate specification) via a client device connected to the manufacturing system prior to substrate processing. In another example, the metrology tool can generate metrology data for another substrate before another etch process is performed. Data points 702 may represent film thicknesses obtained based on metrology data collected on other substrates.

[0080] In some embodiments, processing logic may obtain an indication of the length of the substrate processing from context data associated with the substrate (e.g., stored in data store 150). For example, processing logic may obtain data from data store 150 indicating that an etch process for the substrate began at an initial time period of 0 seconds, and that the etch process was completed at about a final time period of N. Thus, processing logic may determine that the length of the etch process is approximately N seconds.

[0081] Processing logic may determine a processing rate based on the difference in film thickness before and after substrate processing and the length of substrate processing. For example, processing logic may determine that data point 702 corresponds to a film thickness of 10 angstroms (Å) and data point 704 corresponds to a film thickness of 2 Å (i.e., 8 Å of the film is etched away during the etching process). Based on the obtained context data, processing logic may determine that the length of the etching process is 8 seconds. Thus, processing logic may determine that the etch rate 706 of the etching process is approximately 1 Å / sec.

[0082] It should be noted that in some embodiments, the processing logic may determine the rate of substrate processing based on other techniques. In some embodiments, the processing logic may obtain rate data for substrate processing based on data provided by a user of the fabrication system. For example, a user of the fabrication system may provide an etch rate for the etch process via a client device connected to the fabrication system. In other or similar embodiments, the processing logic may determine the rate of substrate processing based on process recipe data associated with the substrate. In another example, the processing logic may obtain etch process recipe data from the data store 150 and determine the etch rate for the etch process based on an amount of etch plasma generated in the process chamber during one or more periods of the etch process. Also, in some embodiments, the processing logic may determine whether the process rate is constant during the period of substrate processing. For example, a user may indicate via a client device that the etch rate for the etch process is constant. Alternatively, a user may provide an indication that the etch rate is not constant during the etch process and may provide an indication of the etch rate at each time point during the etch process. In another example, the processing logic may determine whether the process rate is constant based on process recipe data according to the above-described embodiments. Additionally, if the process rate is not constant, the process logic may determine the process rate based on process recipe data (e.g., based on the amount of etch plasma generated in the process chamber at each time in the process chamber).

[0083] At block 614, processing logic may generate synthetic metrology data for the substrate based on the rate data acquired for the substrate. In some embodiments, the synthetic metrology data for the substrate may correspond to an estimated thickness of a film on the substrate surface at one or more intermediate time periods between an initial period of substrate processing and a final period of substrate processing. In some embodiments, processing logic may generate synthetic metrology data for each intermediate time period for which spectral data for the substrate was generated during substrate processing. FIG. 7C illustrates synthetic data generated for a substrate according to embodiments described herein. As described in FIG. 7B, processing logic may determine an etch rate 706 for the etch process based on data points 702, 704, and a length of the etch process (e.g., obtained from context data for the etch process). Processing logic may determine a thickness of a film at other times during the etch process based on the determined etch rate 706. According to the example provided previously, processing logic may determine that the length of the etch process is about 8 seconds and that the etch rate 706 is about 1 Å / sec. Thus, the processing logic may estimate that the film thickness is approximately 9 Å 1 second after the start of the etching process, approximately 8 Å 2 seconds after the start of the etching process, etc. The composite metrology data may correspond to an estimated film thickness at each of a series of time periods between the initial time period and the final time period.

[0084] At block 616, processing logic may map the acquired spectral data to acquired metrology data and composite metrology data for the substrate. As shown in FIG. 7D, processing logic may map metrology data obtained at an initial and final period of substrate processing to spectral data collected during each period of substrate processing. For example, processing logic may map an initial thickness of the film during an initial period of the etch process (i.e., data point 702) to the amplitude of each wavelength detected by the endpoint detection device 124 during the initial period. Additionally or alternatively, processing logic may map composite metrology data generated associated with each intermediate period of the etch process to the amplitude of each wavelength detected during each intermediate period.

[0085] At block 618, processing logic may generate normalized spectral data for the substrate. Normalized spectral data may refer to spectral data that has been adjusted to account for differences that naturally result in data collected for substrate processes performed in different process chambers or at different times (e.g., processes performed during a morning shift versus processes performed during an afternoon or evening shift). In some embodiments, processing logic may generate the normalized spectral data by selecting a set of spectral data as baseline spectral data. In some embodiments, the baseline spectral data may be spectral data collected during an initial period of substrate processing. Processing logic may determine an amplitude of one or more wavelengths of the detected optical signal based on the selected set of spectral data. In some embodiments, processing logic may determine an amplitude of each wavelength of the detected optical signal during the initial period of substrate processing. In other or similar embodiments, processing logic may determine an amplitude of a particular wavelength of the detected optical signal. For example, processing logic may determine one or more particular wavelengths of the detected signal that correspond to a particular metrology measurement of the metrology data of the substrate.

[0086] In some embodiments, the processing logic can determine one or more wavelengths corresponding to a particular metrology measurement using a wave analysis model, such as a rigorous coupled wave analysis (RCWA) model. The wave analysis model can be a theoretical model trained to provide spectral wavelengths (i.e., theoretical spectral wavelengths) corresponding to metrology measurements associated with a particular type of metrology measurement with greater accuracy than other spectral wavelengths. For example, the wave analysis model can be trained to identify a range of spectral wavelengths. Some wavelengths in the spectral wavelength range may behave differently than other wavelengths in the wavelength range when considering changes in critical dimensions across the surface of the substrate. Such spectral wavelengths can indicate critical dimension measurements with greater accuracy than other spectral wavelengths of the optical signal detected by the endpoint detection apparatus 200. The processing logic can provide one or more portions of the acquired spectral data as inputs to a wave analysis model and obtain one or more outputs of the wave analysis model. The processing logic can extract a range of spectral wavelengths corresponding to a particular metrology measurement from the one or more outputs. In some embodiments, the range of spectral wavelengths can correspond to a particular portion of the optical spectrum. For example, the range of spectral wavelengths can correspond to a particular color (e.g., green) of the visible light spectrum. In additional or alternative embodiments, the ranges of spectral wavelengths may correspond to particular wavelengths in the light spectrum. In response to extracting the ranges of spectral wavelengths, the processing logic may select baseline spectral data for each range of spectral wavelengths included in the set of spectral data.

[0087] In response to determining the amplitude of the one or more wavelengths of the detected optical signal at the initial time period, processing logic can determine the amplitude of the one or more wavelengths at each subsequent time period for which spectral data is collected during substrate processing. As described above, the endpoint detection device 124 can collect spectral data for the substrate at one or more intermediate time periods (e.g., from time 1 second to time N-1 seconds) and a final time period (e.g., time N seconds) of the etch process. Thus, processing logic can determine the amplitude of each of the one or more wavelengths of the detected optical signal at each intermediate and final time period.

[0088] In some embodiments, processing logic may generate normalized spectral data for the substrate based on a difference between an amplitude of one or more wavelengths in an initial period of the etching process and an amplitude of one or more wavelengths in each subsequent period (i.e., each intermediate and final period of the etching process). In an illustrative example, processing logic may determine that the amplitude of wavelength X in the initial period is about 10 units and that the amplitude of wavelength X in the first intermediate period is about 11 units. The normalized spectral data may include a first normalized spectral data point indicating that the normalized amplitude of wavelength X in the first intermediate period is about 1 unit (e.g., the difference between the amplitude of wavelength X in the initial period and the amplitude of wavelength X in the second intermediate period). Also, processing logic may determine that wavelength X in the second intermediate period is about 12 units. Thus, the normalized spectral data may include a second normalized spectral data point indicating that the normalized amplitude of wavelength X in the second intermediate period is about 2 units. Processing logic may generate normalized spectral data for each intermediate and final period according to the above example.

[0089] In other or similar embodiments, processing logic may generate normalized spectral data for the substrate based on a ratio between an amplitude of one or more wavelengths during each subsequent time period of the etch process and an amplitude of one or more wavelengths during the initial time period. For example, processing logic may determine that an amplitude of wavelength X during the initial time period is about 5 units and an amplitude of wavelength X during a first intermediate time period is about 10 units. The normalized spectral data may include a first normalized spectral data point indicating that a normalized amplitude of wavelength X during the first intermediate time period is about 2 units (e.g., a ratio of the amplitude of wavelength X during the second time period to the amplitude of wavelength X during the first time period).

[0090] 7D further illustrates an example of normalized spectral data mapped to synthetic metrology data acquired for substrate processing. As discussed above, normalized spectral data ignores any variance (e.g., process chamber differences, process run time differences, etc.) present in the raw spectral data collected by the endpoint detection device 124. As shown here in FIG. 7D, each line representing the normalized spectral data for each wavelength is smoother compared to each line representing the raw spectral data for each wavelength in FIG. 7A. As discussed above, in some embodiments, the processing logic may generate the normalized spectral data based on a difference between the amplitude of one or more wavelengths in an initial time period and the amplitude of one or more wavelengths in each subsequent time period. In such embodiments, at time 0, the magnitude of each wavelength is approximately 0 units. In other or similar embodiments, the processing logic may generate the normalized spectral data based on a ratio between the amplitude of one or more wavelengths in each subsequent time period and the amplitude of one or more wavelengths in the initial time period. In such embodiments, at time 0, the magnitude of each wavelength is approximately 1 unit.

[0091] Referring back to FIG. 6 , at block 620, processing logic may extract from the normalized spectral data a set of spectral data including one or more spectral features corresponding to a particular type of metrology measurement. In some embodiments, processing logic may perform a principal component analysis (PCA) to select the most significant features of the spectral data. Principal component analysis refers to analyzing a set of points in real coordinate space and performing a basis change on the set of points. In some embodiments, the set of spectral features includes a wavelength range of the detected light corresponding to a particular type of metrology measurement. In such an embodiment, processing logic may identify a particular wavelength based on an output of the wave analysis model described above. For example, processing logic may provide data related to the structure of the substrate (e.g., CD, thickness, material properties, SWA, etc.) as input to the wave analysis model and extract one or more outputs. Processing logic may determine that a particular range of the light spectrum corresponds to a particular type of metrology measurement and that wavelengths X and Y fall within the particular range based on the one or more outputs. In additional or alternative embodiments, the output of the wave analysis model may indicate that wavelengths X and Y correspond to a particular type of metrology measurement. In response to identifying a particular wavelength corresponding to a particular type of metrology measurement, processing logic can extract a set of spectral data corresponding to wavelengths X and Y from the normalized spectral data.

[0092] In some embodiments, the set of spectral features includes spectral trends or patterns present in the spectral data for one or more wavelengths corresponding to a particular type of metrology measurement. The processing logic may perform one or more analysis operations (e.g., RCWA, two-dimensional scanning operations, etc.) on the normalized spectral data for one or more wavelengths to identify spectral trends or patterns corresponding to a particular type of metrology measurement. In some embodiments, the processing logic may identify a portion of the normalized spectral data for a particular wavelength that is associated with a particular type of metrology measurement. For example, the processing logic may identify that the normalized spectral data for wavelength Y between the initial time period and the first intermediate time period is associated with a critical dimension measurement. Data range 710 in FIG. 7E illustrates such identified normalized spectral data. In other or similar embodiments, the processing logic may identify a portion of the normalized spectral data that exhibits a spectral trend or pattern common to each wavelength associated with a particular type of metrology measurement. For example, the processing logic may identify a spectral trend common to wavelength X and wavelength Y. Data ranges 712, 714, 716 in FIG. 7E illustrate such identified normalized spectral data.

[0093] In other or similar embodiments, the processing logic can identify portions of the normalized spectral data that correspond to particular types of measurements based on results of a two-dimensional scan of the calibration substrate. A calibration substrate can refer to a substrate that includes one or more profile features that correspond to target profile features associated with a particular substrate process. The calibration substrate can be placed in a scanning device (e.g., a metrology device or other device) configured to scan a surface of the substrate and collect spectral data related to the topography of the substrate profile. The collected spectral data can include sets of spectral data each associated with a particular portion or region of the substrate surface. The processing logic can obtain the data for the calibration substrate and, based on the sets of spectral data, can identify portions or regions of the calibration substrate that include a profile pattern that is different from other profile patterns at other portions of the substrate surface. The processing logic can identify spectral trends in the normalized spectral data for wavelengths X, Y, and Z that correspond to the spectral data of the individual profile patterns collected during the two-dimensional scan of the calibration substrate.

[0094] Referring back to FIG. 6, at block 622, processing logic may identify a subset of spectral data from the extracted set of spectral data that is associated with a particular period of the substrate processing. In some embodiments, the particular period of the substrate processing may include a final period of the substrate processing and / or one or more intermediate periods of the substrate processing adjacent to the final period. In other or similar embodiments, the particular period of the substrate processing may include a period that is closest to a current period of the current substrate processing. FIG. 7F illustrates a subset 718 of spectral data associated with a final period of the etch processing (i.e., time N) and an adjacent intermediate period of the etch processing (i.e., time N-1). Processing logic may identify the subset 718 from the data range 710-716 extracted from the normalized spectral data.

[0095] As described above, one or more operations of the method 600 can be performed by the training set generator 324. For example, the training set generator 324 can perform operations 610-622 to obtain the subset 718. According to an embodiment provided in connection with FIG. 4, the subset 718 can be included in the training input generated for training the machine learning model 334. In other or similar embodiments, one or more operations of the method 600 can be performed by the prediction engine 328. For example, the prediction engine 328 can perform operations 610 and 618-622 to obtain the subset 718. The subset 718 can be provided as an input to the trained program. According to an embodiment described in connection with FIG. 8 below, the subset 718 can be provided as an input to the trained machine learning model 334.

[0096] 8 is a flow chart of a method 800 for estimating metrology of a profile of a substrate using a machine learning model, according to an aspect of the disclosure. The method 800 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or any combination thereof. In one embodiment, the method 800 may be performed by a computer system, such as the computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 800 may be performed by one or more other machines not shown. In some aspects, one or more operations of the method 800 may be performed by the prediction engine 328 of the server machine 320 described in connection with FIG. 3.

[0097] At block 810, processing logic receives spectral data associated with a substrate being processed in a processing chamber of the manufacturing system. In some embodiments, the spectral data may be received from an endpoint detection device, such as endpoint detection device 124, or other sensor disposed in or coupled to the processing chamber, in accordance with embodiments described above. At block 812, one or more subsets of normalized spectral data are obtained that include indices of spectral features corresponding to particular types of metrology measurements. In some embodiments, processing logic may obtain the one or more subsets of normalized spectral data by performing one or more operations (e.g., operations 618-622) described in conjunction with method 600 of FIG. 6. At block 816, processing logic provides the extracted one or more subsets of normalized spectral data as input to a trained machine learning model. In some embodiments, the trained machine learning model may correspond to machine learning model 334 described in conjunction with FIG. 3. In some embodiments, training engine 326 selects machine learning model 334 for use by prediction engine 328 in accordance with embodiments described in conjunction with FIG. 9. At block 818, processing logic obtains one or more outputs of the machine learning model. At block 820, processing logic extracts metrology measurement data from the one or more outputs that identifies (i) one or more metrology measurements associated with a particular type of metrology measurement, and (2) an indication of a level of confidence that each of the one or more metrology measurements corresponds to a profile of the substrate. In one example, the confidence is a real number between 0 and 1. It should be noted that in some embodiments, the confidence level does not correspond to a probability. For example, the sum of the confidence levels of all metrology measurements may not equal 1.

[0098] In some embodiments, processing logic may use the metrology measurement data to provide metrology measurements for substrates being processed in the manufacturing system. In some embodiments, a substrate is identified as being associated with a metrology measurement if a confidence level of the metrology measurement satisfies a threshold condition. In response to determining that the confidence level exceeds the threshold confidence level, processing logic may determine that a confidence level of the metrology measurement satisfies the threshold condition. Processing logic may provide the metrology measurements to a process endpoint engine 330 according to an embodiment described in connection with FIG. 10 .

[0099] 9 is a flow chart of a method 900 for selecting a machine learning model for estimating a type of metrology measurement, according to an aspect of the disclosure. The method 900 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine, etc.), firmware, or any combination thereof. In one embodiment, the method 900 may be performed by a computer system, such as the computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 900 may be performed by one or more other machines not shown. In some aspects, one or more operations of the method 900 may be performed by the training engine 326 of the server machine 320 described in connection with FIG. 3.

[0100] At block 910, processing logic receives training data and / or validation data for a set of machine learning models. Each of the set of machine learning models can correspond to a different machine learning model type. For example, each of the set of machine learning models can correspond to a linear regression model, a partial least squares regression model, a Gaussian regression model, a random forest model, a support vector machine model, a neural network, a ridge regression model, etc. In some embodiments, processing logic can receive the training data and validation data from a training set generator 324 of server machine 320 or 350. The training set generator 324 can generate the training data according to an embodiment described in connection with method 400 of FIG. 4. In other or similar embodiments, processing logic can receive training data from the training set generator 324 and generate validation data based on the received training data. As described in connection with FIG. 3, the training data can correspond to training set 340 and the validation data can correspond to data included in validation set 342.

[0101] At block 912, the processing logic trains each of the set of machine learning models using the received training data. At block 914, the processing logic performs one or more test operations on each of the set of machine learning models using the validation data. As described above, the validation set 342 can include spectral and metrology data of a previous substrate processed in the process chamber that differs from the spectral and metrology data included in the training data. To perform the one or more test operations, the processing logic can provide the spectral data of the validation set 342 as input to each of the set of trained machine learning models and obtain one or more outputs of each of the trained models. The processing logic can extract metrology measurements from the one or more obtained outputs according to embodiments provided herein.

[0102] At block 916, processing logic assigns a performance rating to each of the set of machine learning models based on the results of the one or more test operations performed in relation to block 914. In some embodiments, processing logic may assign a performance rating to each machine learning model based on the accuracy score determined for the machine learning model. Processing logic may determine the accuracy score based on a difference between a metrology measurement extracted from the output of each machine learning model and an actual metrology measurement of the substrate being below a threshold difference value. For example, as described in relation to block 914, processing logic may provide spectral data from the validation set 342 as input to each machine learning model and may extract a metrology value from the output of the model. Processing logic may compare the extracted metrology value to an actual metrology value associated with the provided spectral data of the validation set 342. Processing logic may assign an accuracy score to the model based on a difference between the extracted value and the actual value of the validation set 342. For example, if the difference between the extracted value and the actual value generated by the model is small, processing logic may assign each model a high accuracy score. Similarly, if the difference is large, processing logic may assign each model a low accuracy score.

[0103] In additional or alternative embodiments, the processing logic may further assign a performance rating to each machine learning model based on the speed score determined for the machine learning model. In some embodiments, the processing logic may determine the speed score based on an amount of time between the processing logic providing the spectral data as input to the model and one or more outputs of the model being obtained. In other or similar embodiments, the processing logic may determine the speed score based on an amount of time between the processing logic providing the spectral data as input to the model and the processing logic extracting metrology measurements from the obtained one or more outputs. In one example, the processing logic may assign a speed score to each model if the amount of time between the processing logic providing the spectral data as input to the model and the model providing one or more outputs (or the processing logic extracting metrology measurements) is small.

[0104] In some embodiments, the processing logic can assign a performance rating to each machine learning model based on the efficiency score determined for the machine learning model. As described in connection with FIG. 3, in some embodiments, the training engine 356 can be included in a server machine 350 separate from the server machine 320. In such an embodiment, the training engine 356 can train each of the set of machine learning models on the server machine 350. The training engine 356 can perform one or more test operations described in connection with block 914 to determine which of the set of machine learning models are sent to the server machine 320 for use by the prediction engine 328. The processing logic can determine an efficiency score for each machine learning model. The determination is made based on an overall system efficiency (e.g., for a manufacturing system) for the transmission of each machine learning model from the server machine 350 to the server machine 320 and / or the initialization of each machine learning model on the server machine 320. In an embodiment, the processing logic may determine the efficiency score based on the amount of memory used to store each trained machine learning model, the amount of memory available in the data store 332 of the server machine 320, the amount of network bandwidth available to transmit each trained machine learning model to the server machine 320, etc.

[0105] At block 918, the processing logic determines whether the performance criteria is met based on the performance rating assigned to each of the machine learning models. In some embodiments, the processing logic may determine whether the performance criteria is met by determining whether the performance rating assigned to each of the machine learning models (i.e., determined based on the accuracy score, and in some embodiments, the speed score and / or efficiency score) exceeds a performance score threshold. In other or similar embodiments, the processing logic may determine whether the performance criteria is met by determining whether the accuracy score of each model exceeds a threshold score and whether the overall performance rating (i.e., determined based on the accuracy score and the speed score and / or efficiency score) exceeds a performance rating threshold. In some embodiments, the multiple trained machine learning models may be associated with an accuracy score and / or performance rating that each meets the threshold score and / or threshold rating. In such embodiments, the processing logic may determine that each model of the multiple trained models is associated with the highest accuracy score and / or performance rating that meets the performance criteria. In some embodiments, the processing logic may determine that no trained machine learning model of the set of machine learning models is associated with an accuracy score and / or performance rating that each meets the threshold score and / or threshold rating. In such an embodiment, processing logic may determine that none of the models meet the performance criteria.

[0106] In response to determining that the performance criteria have been met, processing logic proceeds to block 920. At block 920, processing logic selects respective machine learning models to be applied to future spectral data collected for future substrates processed according to the future substrate processing. As described above, in some embodiments, the training engine 326 may be included in the prediction engine 328 of the server machine 320. In such embodiments, in response to the selection of the respective machine learning models to be applied to the future spectral data, processing logic may store the respective machine learning models and / or an indication that the respective models will be used by the prediction engine 328 in the data store 332. In other embodiments, the training engine 326 may be included in the server machine 350. In such embodiments, in response to the training engine 326 selecting the respective machine learning models to be applied to the future spectral data, the server machine 350 may transmit the respective machine learning models to the server 320 for storage in the data store 150.

[0107] In response to determining that the performance criteria is not met, the processing logic proceeds to block 922. At block 922, the processing logic receives additional training data for further training the set of machine learning models. The processing logic may receive the additional training data from a training set generator 324 according to the above-described embodiments.

[0108] 10 is a flow chart of a method 1000 for detecting an endpoint of substrate processing using a machine learning model, according to an aspect of the disclosure. The method 1000 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine, etc.), firmware, or any combination thereof. In one embodiment, the method 1000 may be performed by a computer system, such as the computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 1000 may be performed by one or more other machines not shown. In some aspects, one or more operations of the method 1000 may be performed by a processing endpoint engine 330 of the server machine 320 described in connection with FIG. 3.

[0109] At block 1010, processing logic receives spectral data associated with a current substrate being processed according to a current process in the manufacturing system 200. As previously described, in some embodiments, the processing logic may receive the current spectral data from the endpoint detection device 124 or other sensors disposed in or connected to the process chamber performing the current process. In some embodiments, the processing logic may receive the current spectral data for a particular period of the current process. For example, the endpoint detection device 124 may be configured to collect spectral data for the current substrate at particular intervals (e.g., once per second) during substrate processing. The endpoint detection device 124 may collect spectral data at each interval of the substrate processing and transmit the spectral data to the server machine 320, where it is received by the processing logic of the process endpoint engine 330.

[0110] At block 1012, processing logic determines whether the substrate criteria are met. In some embodiments, processing logic may determine that the substrate criteria are met by determining that the received spectral data corresponds to spectral data associated with a particular type of substrate process and / or a particular type of substrate. For example, processing logic may retrieve (e.g., from data store 150) previously collected spectral data for a particular type of substrate processed according to a particular type of process. The previously collected spectral data may include one or more spectral data features (e.g., spectral signatures) specific to a type of substrate and / or type of process, or a particular step or time period of a type of process. Processing logic may determine whether the received spectral data for the current substrate includes one or more spectral data features that correspond to (i.e., are approximately equal to) each of the spectral data features included in the previously collected spectral data.

[0111] In response to determining that the current spectral data features do not correspond to the spectral features of the previously collected data, the processing logic may determine that the substrate criteria have not been met. A determination that the current spectral data features do not correspond to the spectral features of the previously collected data may indicate that the current substrate is not associated with an expected type of substrate for substrate processing, or that the current process or a step of the current process does not correspond to the expected type or step of the current process. Thus, in response to the processing logic determining that the substrate criteria have not been met, the method 1000 proceeds to block 1014, where the processing logic transmits an alert to a client device of the manufacturing system 200. The alert may include an indication that the current substrate does not correspond to the expected type of substrate for the current substrate, and / or that the current process or a step of the process may not correspond to the expected type or step of the process.

[0112] In response to determining that the current spectral data features correspond to the spectral features of the previously collected data, the processing logic may determine that the substrate criteria are met. In response to the processing logic determining that the substrate criteria are met, the method 1000 proceeds to block 1016. At block 1016, the processing logic provides the spectral data to be used as an input to the trained machine learning model. In some embodiments, the processing logic may provide the spectral data to the prediction engine 328, which may enable the prediction engine 328 to perform one or more operations of the method 800 described in connection with FIG. 8.

[0113] At block 1018, processing logic obtains an extracted metrology measurement from one or more outputs of the trained machine learning model. In some embodiments, processing logic may receive an indication of the metrology measurement from the prediction engine 328 obtained according to method 800. At block 1020, processing logic determines whether the metrology metric is met. In some embodiments, processing logic may determine whether the metrology metric is met by determining whether the extracted metrology measurement corresponds to a metrology measurement associated with an endpoint of the current process. If the difference between the extracted metrology value and the endpoint value is below a difference threshold, the extracted metrology value may correspond to a metrology value associated with an endpoint of the current process.

[0114] In response to processing logic determining that the metrology metric has been met, method 1000 proceeds to block 1022. At block 1022, processing logic generates an instruction to terminate a current process in the manufacturing system. In some embodiments, processing logic may send an instruction to a system controller (e.g., system controller 228), causing the system controller to terminate the current process. In other or similar embodiments, processing logic may send an instruction to a local processing device of the processing chamber, causing the processing chamber to terminate the current process. In additional or alternative embodiments, processing logic may send the spectral data and the extracted metrology measurements to training set generator 324 (i.e., server machine 320 or server machine 350) for use as additional training data.

[0115] In response to processing logic determining that the metrology metric has not been met, method 1000 proceeds to block 1024. At block 1024, processing logic continues the current process on the current substrate. In some embodiments, processing logic may continue the current process by sending an instruction to the system controller 228 or a local controller for the processing chamber to continue the current process. In other or similar embodiments, processing logic may continue the current process without generating and sending an instruction. Processing logic may send the spectral data and extracted metrology measurements to a training set generator 324 to be used as additional training data, as described above.

[0116] Referring back to block 1020, in some embodiments, the processing logic may further determine whether the metrology metric criteria is met by determining whether the extracted metrology measurements are within a range of expected metrology measurements associated with the duration of the current process. The expected metrology measurement range may include a set of values ​​expected to be associated with the current substrate in the current duration of the current process. For example, if the duration is expected to be the final duration of the current substrate process (i.e., considering the process data of the current substrate process and the previous substrate process), the expected metrology measurement range may include expected values ​​adjacent to the endpoint metrology value (e.g., endpoint value ±X, etc.). In response to determining that the extracted metrology values ​​do not fall within the expected range of metrology values, the processing logic may send an alert to a client device of the manufacturing system, as described above. In some embodiments, the processing logic may determine that the accuracy of the trained machine learning model no longer meets the accuracy criteria (i.e., the overall accuracy of the trained machine learning model falls below an overall accuracy threshold) in consideration of the extracted metrology measurements. Accordingly, the processing logic may send a notification to the client device indicating that the machine learning model should be retrained. In some embodiments, the processing logic may send a notification to the training set generator 324 and / or the training engine 326 to retrain the machine learning model according to embodiments described herein.

[0117] FIG. 11 illustrates a diagrammatic representation of a machine in the exemplary form of a computing device 1100 capable of executing a set of instructions to cause the machine to perform any one or more of the methodologies described herein. 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 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, switch or bridge, or any machine capable of executing a set of instructions (sequence or otherwise) that specify actions for the machine to perform. Furthermore, although only a single machine is illustrated, the term "machine" is intended to include a collection of machines (e.g., computers) that individually or jointly execute one or more sets of instructions (or sets) to perform any one or more of the methodologies described herein. In an embodiment, computing device 1100 may correspond to one or more of server machine 170, server machine 180, prediction server 112, or system controller 228, server machine 320, or server machine 350, as described herein.

[0118] The exemplary computing device 1100 includes a processing device 1102, a main memory 1104 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM), such as synchronous DRAM (SDRAM), etc.), a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., data storage device 928), which communicate with each other via a bus 908.

[0119] The processing device 1102 may represent one or more general-purpose processors, such as a microprocessor, a central processing device, or the like. More specifically, the processing device 902 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 executing other instruction sets, or a processor executing a combination of instruction sets. The processing device 1102 may also be one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. The processing device 902 may also be or include a system on a chip (SoC), a programmable logic controller (PLC), or other types of processing devices. The processing device 1102 is configured to execute processing logic for performing the operations and processes described herein.

[0120] Additionally, the computing device 1100 may include a network interface device 1122 for communicating with a network 1164. The computing device 1100 may also include a video display unit 1110 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 1112 (e.g., a keyboard), a cursor control device 1114 (e.g., a mouse), and a signal generating device 1120 (e.g., a speaker).

[0121] The data storage device 1128 may include a machine-readable storage medium (or, more specifically, a non-transitory computer-readable storage medium) 1124 on which is stored one or more sets of instructions 1126 embodying any one or more of the methods or functions described herein. Here, non-transitory storage medium refers to a storage medium other than a carrier wave. Also, the instructions 1126 may reside, completely or at least partially, within the main memory 1104 and / or the processing device during execution by the processing device 1102, which together constitute the computing device 1100, the main memory 1104, and the computer-readable storage medium.

[0122] While computer-readable storage medium 1124 is shown in the exemplary embodiment to be a single medium, the term "computer-readable storage medium" refers to 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" is also intended to include any medium that can store or encode a set of instructions for execution by a machine, causing the machine to perform any one or more of the methods of the present disclosure. Thus, the term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0123] In the preceding description, numerous specific details, such as examples of specific systems, components, methods, etc., have been set forth to provide a thorough understanding of some embodiments of the present disclosure. However, it will be apparent to those skilled in the art that at least some embodiments of the present disclosure can 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 illustrative. A particular implementation may differ from these example details and still be considered to be within the scope of the present disclosure.

[0124] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". When the term "about" or "approximately" is used herein, it is intended to mean that the stated nominal value is accurate to within ±10%.

[0125] Although the operations of the methods herein are shown and described in a particular order, the order of the operations of each method can be changed, certain operations can be performed in reverse order, and certain operations can be performed, at least in part, in parallel with other operations. In other embodiments, instructions or sub-operations of individual operations can be performed in an intermittent and / or alternating manner.

[0126] It is understood that the above description is intended to be illustrative, and not restrictive. 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. A method comprising: providing, in a computer system, training data for training each of a plurality of machine learning models based on spectral data collected during a substrate process performed on the substrate, and providing metrology measurements associated with a particular type of metrology measurement of the substrate, each of the plurality of machine learning models associated with a different type of a set of machine learning model types; assigning, in the computer system, a performance rating to each of the plurality of machine learning models based on the accuracy of the metrology measurements provided by each machine learning model given metrology measurement values, the measurements being generated based on historical metrology data collected by the metrology device on previous substrates of a set of previous substrates; and selecting, in the computer system, each of the plurality of machine learning models to be applied to future spectral data collected during future substrate processing performed on the future substrates, taking into account a performance evaluation of each of the plurality of machine learning models. receiving, within the computer system, historical spectral data collected during prior substrate processing performed on additional prior substrates of the set of prior substrates; acquiring, in the computer system, historical metrology measurements of the additional substrate, the historical metrology measurements being generated based on additional historical metrology data collected by a metrology device of an additional, previous substrate; Generating training data for training each of a plurality of machine learning models in a computer system, comprising: generating a training input comprising historical spectral data; generating target outputs for the training inputs, the target outputs including historical metrology measurements for the additional substrates; 2. The method of claim 1 , wherein providing training data for training each of the plurality of machine learning models comprises generating the training data comprising providing (i) a set of training inputs comprising the training inputs, and (ii) a set of target outputs comprising the target outputs.

3. The method of claim 2 , wherein the historical spectral data is received from at least one of a system controller of a manufacturing system that performed a previous substrate processing or an endpoint detection system that detects an endpoint of a substrate processing of the manufacturing system.

4. The method of claim 2 , wherein the future process is performed on a future substrate in a first manufacturing system and the previous process is performed on a previous substrate in a second manufacturing system that is different from the first manufacturing system.

5. A process of obtaining, in a computer system, a validation data set for a prior set of substrates, the validation data set including: (i) historical spectral data collected during prior substrate processing performed on additional prior substrates in the prior set of substrates; and (ii) measured metrology measurements; providing, in a computer system, the historical spectral data as input to each of a plurality of machine learning models; extracting, in a computer system, metrology measurements from one or more outputs of each machine learning model; and determining, in the computer system, an accuracy of each machine learning model based on a difference between the extracted metrology measurements and the metrology measurements.

6. 10. The method of claim 1, wherein the performance assessment for each of the plurality of machine learning models is further assigned based on at least one of a speed at which each machine learning model provides an extracted value of the metrology measurement, or an amount of time to transmit each machine learning model to a processing device of the manufacturing system configured to perform future substrate processing on future substrates.

7. 2. The method of claim 1, wherein selecting each machine learning model to be applied to future spectral data comprises determining that a performance score assigned to each machine learning model satisfies a score criterion.

8. Determining that the performance evaluation assigned to each machine learning model satisfies a performance criterion includes: The method of claim 7 , comprising determining that the performance evaluation exceeds a performance evaluation threshold, the performance evaluation being greater than the performance evaluations of other ones of the machine learning models.

9. In a computer system, in response to determining that a performance rating assigned to any one of the plurality of machine learning models does not exceed a performance rating threshold, acquiring additional training data for each of the plurality of machine learning models; and providing, in the computer system, additional training data for further training each of the plurality of machine learning models.

10. 2. The method of claim 1, wherein the set of machine learning model types includes a linear regression model type, a partial least squares regression model type, a Gaussian regression model type, a random forest model type, a support vector machine model type, a neural network type, or a ridge regression model type.

11. 1. A system comprising: Memory, a processing device coupled to a memory, obtaining a machine learning model trained to provide a current value of a metrology measurement based on current spectral data collected during current processing of a current substrate in the manufacturing system, the trained machine learning model being associated with a performance evaluation that meets a performance criterion associated with a type of metrology measurement; providing the current spectral data as an input to a trained machine learning model; and extracting from one or more outputs of the trained machine learning model an indication of each metrology measurement corresponding to the current substrate, each metrology measurement being associated with a metrology measurement type; A system including a processing device that generates instructions including a command to terminate a current process in the manufacturing system in response to a determination that each measurement satisfies a metrology metric associated with the current process.

12. the processing device is part of a system controller of a manufacturing system that performs current processing of a substrate; The system of claim 11 , wherein to obtain the trained machine learning model, the processing device receives the trained machine learning model from a processing device of a computing system coupled to the system controller.

13. The system of claim 11 , wherein to obtain the trained machine learning model, the processing device provides training data for training the machine learning model and provides current values ​​of the metrology measurements.

14. The processing device obtains current spectral data collected during current processing of the current substrate; 12. The system of claim 11, responsive to determining that the current spectral data does not correspond to the target spectral data associated with the current substrate, sending an error notification to a client device coupled to the manufacturing system.

15. 12. The system of claim 11, wherein to determine that each metrology measurement satisfies a metrology metric, the processing device determines that each metrology measurement corresponds to a target metrology measurement associated with a current processing of a current substrate.

16. In response to determining that each metrology measurement does not meet the metrology metric criterion, the processing device: Sending an error notification to a client device connected to the manufacturing system; or 12. The system of claim 11, further comprising: providing the collected spectral data and each metrology measurement as training data to further train the trained machine learning model.

17. 12. The system of claim 11, wherein the trained machine learning model is associated with at least one of a linear regression model type, a partial least squares regression model type, a Gaussian regression model type, a random forest model type, a support vector model type, a neural network type, or a ridge regression model type.

18. 12. The system of claim 11, wherein the trained machine learning model is trained using historical spectral data collected during a previous substrate processing performed on a previous substrate at an additional manufacturing system different from the manufacturing system performing the current processing of the current substrate.

19. A non-transitory computer readable medium containing instructions that, when executed by a processing device, cause the processing device to: providing training data for training each of a plurality of machine learning models based on the spectral data collected during a substrate process performed on the substrate, providing metrology measurements associated with a particular type of metrology measurement of the substrate, each of the plurality of machine learning models being associated with a different type of the set of machine learning model types; assigning a performance rating to each of the plurality of machine learning models based on an accuracy of the metrology measurements provided by each of the machine learning models given the metrology measurement values, the measurements being generated based on historical metrology data collected by the metrology device for previous substrates of the set of previous substrates; A non-transitory computer readable medium for selecting, based on a performance evaluation of each of a plurality of machine learning models, a respective machine learning model to be applied to future spectral data collected during future substrate processing performed on the future substrate.

20. 20. The non-transitory computer readable medium of claim 19, wherein to determine that each metrology measurement satisfies a metrology metric, the processing device determines that each metrology measurement corresponds to a target metrology value associated with a current processing of a current substrate.

Citation Information

Patent Citations

  • Machine Learning Systems for Monitoring of Semiconductor Processing

    US20190286075A1

  • Apparatus, systems, and methods for improved joint coordinate teaching accuracy of robots

    US20200324410A1