Methods and computerreadable storage medium of processing substrates

TWI935301BActive Publication Date: 2026-08-11APPLIED MATERIALS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
TW112118507
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-05-19
Filing Date
2023-05-18
Publication Date
2026-08-11
Estimated Expiration
2043-05-17

AI Technical Summary

Technical Problem

Conventional substrate processing systems suffer from high false positives and false negatives due to rigid guard bands that do not account for trace-to-trace variability and dynamic changes, leading to material waste, reduced yield, and increased downtime.

Method used

The system employs dynamic guard bands generated from trace-level data analysis, allowing for time-dependent variations and adaptive adjustments based on machine learning models to accurately classify substrate quality, reducing false alarms and improving process efficiency.

Benefits of technology

This approach significantly reduces material waste, increases yield, minimizes equipment downtime, and optimizes processing by accurately identifying and addressing substrate quality issues in real-time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001905236_001
    Figure TWG2TB001905236_001
  • Figure TWG2TB001905236_002
    Figure TWG2TB001905236_002
  • Figure TWG2TB001905236_003
    Figure TWG2TB001905236_003
Patent Text Reader

Abstract

A method includes: identifying tracking data comprising a plurality of data points, the tracking data being associated with a substrate produced via a substrate processing system having attribute values ​​that satisfy a threshold. The method further includes: determining a dynamically acceptable region outside a guard band limit based on the tracking data. The method further includes: causing a correction action associated with the substrate processing system to be performed based on the dynamically acceptable region outside the guard band limit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to guard tapes, and in particular to guard tapes in substrate processing systems. Prior Art

[0002] Products can be produced by performing one or more manufacturing processes using manufacturing equipment. For example, substrate processing equipment can be used to produce substrates through substrate processing operations. Products with specific properties are produced. Sensor data is monitored in conjunction with the substrate manufacturing process. Summary of the Invention

[0003] The following is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. This summary is not intended to identify key or critical elements of the disclosure, nor is it intended to delineate any scope of the specific embodiments of the disclosure or any scope of the claims. The sole purpose of this summary is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0004] In one aspect of the present disclosure, a method includes identifying tracking data comprising a plurality of data points, the tracking data associated with a substrate produced by a substrate processing system having a property value that satisfies a threshold. The method further includes determining a dynamic acceptable region outside of a guard band limit based on the tracking data. The method further includes causing execution of a corrective action associated with the substrate processing system based on the dynamic acceptable region outside of the guard band limit.

[0005] In one aspect of the present disclosure, a method includes identifying tracking data comprising a plurality of data points, the tracking data associated with a substrate produced by a substrate processing system. The method further includes comparing the tracking data to an acceptable region outside of a guard band limit. The method further includes updating the acceptable region outside of the guard band limit based on the tracking data in response to one or more data points of the tracking data being within the acceptable region. Corrective action associated with the substrate processing system is performed based on at least a portion of the tracking data being outside of the acceptable region outside of the guard band limit.

[0006] In one aspect of the present disclosure, a non-transitory computer-readable storage medium stores instructions that, when executed, cause a processing device to perform operations. The operations include identifying tracking data comprising a plurality of data points associated with substrates produced by a substrate processing system having a property value that satisfies a threshold. The operations further include determining a dynamic acceptable region outside of a guard band limit based on the tracking data. The operations further include causing a corrective action associated with the substrate processing system to be performed based on the dynamic acceptable region outside of the guard band limit. Simple diagram description

[0007] The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings.

[0008] FIG1 illustrates a block diagram of an exemplary system architecture according to certain embodiments.

[0009] 2A-D are flow diagrams of methods associated with generating guard bands according to certain embodiments.

[0010] 3A-D are flow diagrams of methods associated with guard band violation profiling, according to certain embodiments.

[0011] 4A-D are flow diagrams of methods associated with dynamically acceptable regions outside of guard band limits, according to certain embodiments.

[0012] 5A-E illustrate graphs of allowed types of changes according to certain embodiments.

[0013] 6A-E illustrate guard band violation analysis according to certain embodiments.

[0014] 7A-F illustrate dynamically acceptable regions outside of guard band limits according to certain embodiments.

[0015] 8A-B illustrate guard band adaptation in accordance with certain embodiments.

[0016] FIG9 illustrates a block diagram of a computer system according to some embodiments. Implementation Method

[0017] This article describes techniques related to guard bands in substrate processing systems (e.g., guard band enforcement, guard band violation analysis, and dynamic regions outside of guard bands). Guard bands can be upper and lower thresholds around a target value (e.g., a permissible error range). Sensor data can be compared to the guard bands to determine whether the sensor data is within the threshold (e.g., a good substrate) or outside the threshold (e.g., a bad substrate).

[0018] Products are produced by performing one or more manufacturing processes using manufacturing equipment. Products with specific attributes are produced. For example, substrate processing equipment is used to produce substrates through substrate processing operations. Substrates that meet specific attribute values ​​(e.g., dimensions verified by metrology data) are used, while substrates that do not meet the specific attribute values ​​are discarded. Sensor data associated with substrate processing operations is collected over time. Sensor data is monitored for a variety of purposes, including attempting to produce substrates that meet specific attribute values, attempting to verify that the equipment is operating properly, attempting to determine when the equipment needs current or future repair or replacement, and attempting to determine adjustments to equipment parameters to make the process more efficient (e.g., in terms of yield or quality, throughput or quantity, cost, or lifetime). For simplicity of explanation, this discussion will focus on the goal of attempting to produce substrates that meet specific attribute values.

[0019] Traditionally, sensor data is aggregated within a specific recipe or recipe operation associated with the equipment producing substrates. This aggregation is defined using a set of statistics, such as mean and variance. These aggregated statistics are then compared to set limits, such as the mean falling between a lower and upper value. If the sensor data is within the limits, the substrate is estimated to meet the specified attribute value; if the sensor data is outside the limits, the substrate is estimated to fail to meet the specified attribute value. Limits that are too narrow can lead to false positives (e.g., incorrectly predicting that the substrate will fail to meet the attribute value). Limits that are too broad can lead to false negatives (e.g., incorrectly predicting that the substrate will meet the attribute value). Variations in sensor data and substrate processing equipment can result in many false positives. Expanding the limits to accommodate variations in sensor data and substrate processing equipment can result in many false negatives. Conventional systems incorrectly label substrates as meeting or failing attribute values, leading to material waste, reduced yield, product defects, increased user time, increased equipment downtime, and more. Attempting to correct erroneous labeling requires additional processing overhead, bandwidth, energy consumption, metrology operations, user time, and more.

[0020] The methods, apparatus, and systems of the present disclosure provide guard band improvements in substrate processing systems that address these and other deficiencies of conventional solutions.

[0021] In some embodiments, a processing device identifies trace data associated with the production of substrates having property values ​​that meet a threshold (e.g., good substrates). The trace data may include sets of sensor data associated with the production of different substrates and from different sensor types. In some embodiments, the data is analyzed at the trace level using guard bands (e.g., as opposed to simply providing summary statistics for sensors across a recipe or recipe run). Guard bands can provide upper and lower bounds on the length of the trace data. This offers several advantages over summary statistics (e.g., the present disclosure can identify and analyze specific violations in the trace data). The processing device generates initial guard bands based on the trace data (e.g., 3 sigma around the mean of the trace data for each time window in the data, where the 3 sigma is determined by analyzing multiple data runs for the specific time window). The processing device determines an allowable variation type for the guard band based on the trace data. Because the trace data is for good wafers, the allowable variation type for the guard band can be a time shift (e.g., a shift in the x-direction) of one or more sets of sensor data to meet the mean of the sensor data. The allowable variation type can include an upper guard band bound that is a different distance from the mean of the trace data than a lower guard band bound. The allowed variation types may include wider guard band limits and narrower guard band limits at specific portions of the guard band. The processing device generates the guard band based on the tracking data and the allowed variation types. The processing device compares additional tracking data (e.g., that may pertain to good or bad substrates) to the guard band, and in response to one or more data points not being within the guard band, the processing device causes corrective action to be taken (e.g., discarding the substrate, interrupting substrate processing operations, initiating substrate inspection, etc.).

[0022] In some embodiments, tracking data for both good and bad substrates is used to determine or update guard bands based on a better understanding of the differences between good and bad tracking data, where the bad tracking data can be a single category or multiple categories representing different patterns or degrees of bad substrates.

[0023] In some embodiments, a processing device identifies tracking data associated with the production of substrates having attribute values ​​that meet a threshold (e.g., good substrates). The processing device determines a guard band violation data point in the tracking data based on the guard bands. The processing device determines a guard band violation shape representation based on the guard band violation data point. The processing device compares additional tracking data (e.g., potentially belonging to good or bad substrates) with the guard bands to determine the guard band violation data point. The processing device determines a classification of the guard band violation data point (e.g., whether the guard band violation data point corresponds to a good wafer or a bad wafer) based on the guard band violation shape representation.

[0024] In some embodiments, a processing device identifies tracking data associated with the production of substrates having property values ​​that meet a threshold (e.g., good substrates). Based on the tracking data, the processing device determines a dynamic acceptable region outside of a guard band limit. The dynamic acceptable region is a region outside of the guard band that corresponds to data points for good substrates resulting from acceptable noise, acceptable drift, and so on. The processing device compares additional tracking data (e.g., which may belong to good or bad substrates) to the acceptable region outside of the guard band limit. In response to one or more data points being outside of the acceptable region, the processing device causes corrective action to be taken (e.g., discarding the substrate, etc.). In response to one or more data points being within the acceptable region, the processing device causes the acceptable region to be updated. For example, the updated acceptable region may allow for additional drift or noise based on an average of the processed additional tracking data.

[0025] In some embodiments, a processing device (e.g., performing a guardband method) presents the results of trace data runs that are summarized as being within acceptable guardband limits, trace data runs that have violations (including characteristics of the shape of these violations), and / or areas where the processing device (e.g., performing a guardband method) cannot definitively determine that a violation has occurred. The processing device (e.g., performing a guardband method) can allow a user (e.g., a subject matter expert) to verify or rebut the conclusions and positions of the guardband method. The processing device (e.g., performing a guardband method) can use feedback from the user (e.g., a subject matter expert) to update the guardband limits, other violation assessments, and / or guardband characteristics.

[0026] Various aspects of the present disclosure offer technical advantages over conventional solutions. Compared to conventional solutions, the present disclosure has fewer false positives and fewer false negatives. This results in less material waste, higher yields, fewer defective products, less user time, less equipment downtime, and more. Compared to conventional solutions, the present disclosure requires fewer repairs for substrate mismarks. This reduces processing processor overhead, bandwidth usage, energy consumption, metrology operations, user time, and more.

[0027] While some embodiments of the present disclosure are described with respect to substrate processing, in some embodiments, the present disclosure is applicable to other types of manufacturing processes.

[0028] Some embodiments of the present disclosure are described with respect to monitoring sensor data for the purpose of producing substrates that meet specific property values. In some embodiments, the present disclosure may monitor sensor data for other purposes, such as verifying that equipment is operating properly, determining when to perform repair or replacement of equipment or equipment components (e.g., preventive maintenance), determining adjustments to equipment parameters to make a process more efficient (e.g., in terms of aspects or metrics such as yield or quality, processing or quantity, cost or lifetime), and / or the like.

[0029] Some embodiments of the present disclosure are described with respect to causing corrective actions to be performed. In some embodiments, causing corrective actions to be performed may include identifying features of the tracking data as degraded, different, and / or similar.

[0030] FIG1 is a block diagram illustrating an exemplary system 100 (an exemplary system architecture) according to certain embodiments. System 100 includes a client device 120, manufacturing equipment 124 (e.g., substrate processing equipment), sensors 126, metrology equipment 128, a prediction server 112, and data storage 140. Prediction server 112 may be part of prediction system 110. Prediction system 110 may also include server machines 170 and 180. Prediction system 110 may be used to predict whether an anomaly has occurred, detect whether an anomaly has occurred, and so on (e.g., using guard band techniques).

[0031] In some embodiments, fabrication equipment 124 (e.g., a cluster tool) is part of a substrate processing system (e.g., an integrated processing system). Fabrication equipment 124 includes a controller, a housing system (e.g., a substrate carrier, a front-opening pod (FOUP), a teach-in FOUP, a process kit enclosure system, a substrate enclosure system, a cassette, etc.), a side storage station (SSP), an aligner device (e.g., an aligner chamber), a factory interface (e.g., an equipment front-end module (EFEM)), a loadlock, a transfer chamber, one or more process chambers, a robot (e.g., disposed in the transfer chamber, disposed in the front-end interface, etc.), and / or the like. The housing system, the SSP, and a loadlock mounted to the factory interface, as well as the robot disposed in the factory interface, are used to transfer content (e.g., substrates, process kit rings, carriers, verification wafers, etc.) between the housing system, the SSP, the loadlock, and the factory interface. The aligner device is disposed in the factory interface to align the content. The load locks and processing chambers are mounted to the transfer chamber, and a robotic arm is positioned within the transfer chamber to transfer contents (e.g., substrates, process kit rings, carriers, verification wafers, etc.) between the load locks, processing chambers, and transfer chambers. In some embodiments, fabrication equipment 124 comprises components of a substrate processing system. In some embodiments, fabrication equipment 124 is used to produce one or more products (e.g., substrates, semiconductors, wafers, etc.). In some embodiments, fabrication equipment 124 is used to produce one or more components to be used in a substrate processing system.

[0032] Sensors 126 may be coupled to manufacturing equipment 124. Sensors 126 may provide sensor data associated with manufacturing equipment 124 (e.g., associated with the production of a corresponding product, such as a substrate, by manufacturing equipment 124). The sensor data may be stored as measured values ​​as a function of time (e.g., tracking data 142). Tracking data 142 may include historical tracking data 144 and current tracking data 146. Tracking data 142 may be used to monitor equipment health and / or product health (e.g., product quality). Manufacturing equipment 124 may produce products according to a recipe or by executing runs over a period of time. In some embodiments, tracking data 142 may include one or more of temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), electrostatic chuck voltage (ESC), current, flow rate, power, voltage, and the like. Tracking data 142 may be associated with or indicate manufacturing parameters, such as hardware parameters of manufacturing equipment 124 (e.g., configuration or components (e.g., size, type, etc.)) or process parameters of the manufacturing equipment. Data associated with certain hardware parameters may alternatively or additionally be stored as manufacturing parameters. Manufacturing parameters may indicate input settings of manufacturing equipment (e.g., heater power, airflow, etc.). Tracking data 142 and / or manufacturing parameters (e.g., equipment readings while processing a product) may be provided as manufacturing equipment 124 performs a manufacturing process. Tracking data 142 may be different for each product (e.g., each substrate).

[0033] Metrology equipment 128 can be used to measure properties of products such as substrates (e.g., processed substrates, partially processed substrates, etc.). Metrology equipment can be combined with analytics to estimate or better determine metrology values. Metrology data can be included in performance data 150 along with other performance indicators such as equipment maintenance and yield. Performance data 150 can include historical performance data 152 and current performance data 154. Metrology data and / or performance data 150 can include virtual metrology data, non-virtual metrology data, a mixture of virtual and non-virtual metrology data, and the like.

[0034] In some embodiments, trace data 142, performance data 150, and / or manufacturing parameters may be processed (e.g., by client device 120 and / or by prediction server 112). Processing of trace data 142 may include generating features. In some embodiments, a feature is a pattern in trace data 142 or performance data 150 (e.g., slope, width, height, peak value, etc.) or a combination of values ​​from trace data 142 or performance data 150 (e.g., power from voltage and current, etc.). Trace data 142 may include features that may be used by prediction component 114 and / or client device 120 to perform signal processing and / or to derive prediction data 168 for performing corrective actions. Prediction component 114 may be used to predict whether an anomaly has occurred, detect whether an anomaly has occurred, and so on (e.g., using guard band techniques).

[0035] Each instance (e.g., a collection) of tracking data 142 may correspond to a product (e.g., a substrate), a set of manufacturing equipment 124, a type of substrate produced by the manufacturing equipment 124, etc. Each instance of performance data 150 or manufacturing parameters may likewise correspond to a product, a set of manufacturing equipment, a type of substrate produced by the manufacturing equipment, etc. The data storage 140 may further store information associated with different groups of data types, such as indicating a set of tracking data, sensor data, a set of metrology data, and / or a set of manufacturing parameters associated with the same product, manufacturing equipment, substrate type, etc.

[0036] In some embodiments, the prediction system 110 may generate the prediction data 168 using supervised machine learning (e.g., a supervised dataset, performance data 150 including metrology data, tracking data 142 used to train the model 190 associated with good and bad substrates, etc.). In some embodiments, the prediction system 110 may generate the prediction data 168 using semi-supervised machine learning (e.g., a semi-supervised dataset, performance data 150 as a prediction ratio, tracking data 142 used to train the model 190 associated only with good substrates, etc.). In some embodiments, the prediction system 110 may generate the prediction data 168 using unsupervised machine learning (e.g., an unsupervised dataset, clustering, clustering based on tracking data 142, etc.). In some embodiments, the prediction system 110 may generate the prediction data 168 using a model that is one or more of a machine learning model, a statistical model, etc.

[0037] Client device 120 , manufacturing equipment 124 , sensor 126 , metrology equipment 128 , prediction server 112 , data storage 140 , server machine 170 , and server machine 180 may be coupled to each other via network 130 to generate prediction data 168 for performing corrective actions.

[0038] In some embodiments, network 130 is a public network that provides client devices 120 with access to prediction server 112, data storage 140, and other publicly available computing devices. In some embodiments, network 130 is a private network that provides client devices 120 with access to manufacturing equipment 124, sensors 126, metrology equipment 128, data storage 140, and other private computing devices. Network 130 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0039] Client device 120 may include a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet, a netbook computer, an Internet-connected television ("Smart TV"), an Internet-connected media player (e.g., a Blu-ray player), a set-top box, an OTT streaming device, an operator box, etc. Client device 120 may include a corrective action component 122. Corrective action component 122 may receive user input (e.g., via a graphical user interface (GUI) displayed by client device 120).

[0040] In some embodiments, corrective action component 122 obtains tracking data 142 (e.g., current tracking data 146) associated with manufacturing equipment 124 (e.g., from data storage 140, etc.) and provides tracking data 142 (e.g., current tracking data 146) associated with manufacturing equipment 124 to prediction system 110. In some embodiments, corrective action component 122 stores tracking data 142 in data storage 140, and prediction server 112 retrieves tracking data 142 from data storage 140. In some embodiments, prediction server 112 may store the output of trained machine learning model 190 (e.g., prediction data 168) in data storage 140, and client device 120 may retrieve the output from data storage 140. In some embodiments, corrective action component 122 receives an indication of a corrective action from prediction system 110 and causes the corrective action to be implemented. The client device 120 may include an operating system that allows a user to perform one or more operations of generating, viewing, or editing data (eg, instructions associated with the manufacturing equipment 124, corrective actions associated with the manufacturing equipment 124, etc.).

[0041] In some embodiments, historical performance data 152 corresponds to historical attribute data for a product (e.g., generated using manufacturing parameters associated with historical tracking data 144 and stored manufacturing parameters), while predictive data 168 corresponds to predicted attribute data (e.g., attribute data for a product that will be produced (or has already been produced) using current tracking data 146 and / or manufacturing parameters). In some embodiments, predictive data 168 is predicted metrology data (e.g., virtual metrology data) for a product that will be produced or has already been produced based on the conditions recorded as current tracking data 146 and / or manufacturing parameters. In some embodiments, predictive data 168 is an indication of anomalies (e.g., an abnormal product, an abnormal component, abnormal manufacturing equipment 124, abnormal energy usage, etc.) and one or more causes of the anomaly. In some embodiments, predictive data 168 is an indication of changes or drifts over time in certain components of manufacturing equipment 124, sensors 126, metrology equipment 128, etc. In some embodiments, predictive data 168 is an indication of the end of life of a component of manufacturing equipment 124, sensors 126, metrology equipment 128, etc.

[0042] Performing manufacturing processes that result in defective products can be expensive in terms of time, energy, products, parts, manufacturing equipment 124, identifying defects, and discarding defective products. By generating predictive data 168 based on tracking data 142 and causing corrective actions to be performed based on predictive data 168, system 100 can have the technical advantage of avoiding the costs of producing, identifying, and discarding defective products.

[0043] Executing a manufacturing process can result in components of manufacturing equipment 124 failing, leading to significant costs in terms of downtime, product damage, equipment damage, and the need to quickly order replacement components. By generating predictive data 168 based on tracking data 142 (e.g., manufacturing parameters currently being used or to be used to manufacture a product) and initiating corrective actions (e.g., predicted operational maintenance, such as replacing, treating, or cleaning components) based on predictive data 168, system 100 can provide a technical advantage in avoiding the costs of one or more of unexpected component failures, unplanned downtime, lost productivity, unexpected equipment failures, product scrap, and the like. Monitoring the performance of components (e.g., manufacturing equipment 124, sensors 126, metrology equipment 128, etc.) over time can provide an indication of component degradation.

[0044] Manufacturing parameters may not be optimal for producing a product, which may result in costly consequences, such as increased consumption of resources (e.g., energy, coolant, gas, etc.), increased production time for the product, increased component failures, increased number of defective products, etc. By generating predictive data 168 based on features of the tracking data 142 and causing corrective actions to be performed (e.g., setting optimal manufacturing parameters) based on the predictive data 168, the system 100 can have the technical advantage of using optimal manufacturing parameters (e.g., hardware parameters, process parameters, optimized design) to avoid the costly consequences of suboptimal manufacturing parameters.

[0045] Corrective actions may be associated with one or more of computational process control (CPC), statistical process control (SPC) (e.g., SPC for determining SPC on electronic components under process control, SPC for predicting useful life of components, SPC compared to 3-sigma charts, etc.), advanced process control (APC), model-based process control, preventative operational maintenance, design optimization, updating of manufacturing parameters or updating of manufacturing recipes for current or future manufacturing processes, feedback control, machine learning modifications, and the like.

[0046] In some embodiments, the corrective action includes providing an alert (e.g., an alert to halt or not perform a manufacturing process if the predictive data 168 indicates a predicted anomaly, such as an anomaly of a product, component, or manufacturing equipment 124). In some embodiments, the corrective action includes scheduling preventive maintenance. In some embodiments, the corrective action includes scheduling corrective maintenance. In some embodiments, the corrective action includes updating a process recipe to produce a subsequent substrate. In some embodiments, the corrective action may be determined based on an ongoing substrate processing process and may include updating the current process. In some embodiments, the corrective action includes correcting for chamber drift associated with the manufacturing equipment 124 (e.g., substrate processing equipment). In some embodiments, the corrective action includes correcting for sensor drift of a sensor associated with the manufacturing equipment 124 (e.g., substrate processing equipment). In some embodiments, the corrective action includes providing feedback control (e.g., modifying a manufacturing parameter in response to the predictive data 168 indicating a predicted anomaly). In some embodiments, the corrective action includes providing machine learning (e.g., modifying one or more manufacturing parameters based on the predictive data 168). In some embodiments, execution of the corrective action includes causing an update to one or more manufacturing parameters. In some embodiments, one or more corrective actions are performed in association with a component of the substrate processing equipment.

[0047] Manufacturing parameters may include hardware parameters (e.g., replacing a component, using certain components, replacing a process wafer, updating firmware, etc.) and / or process parameters (e.g., temperature, pressure, flow rate, rate, current, voltage, gas flow rate, lifting speed, etc.). In some embodiments, the corrective action includes initiating preventive operational maintenance (e.g., replacing, treating, cleaning, etc. a component of the manufacturing equipment 124). In some embodiments, the corrective action includes initiating design optimization (e.g., updating manufacturing parameters, manufacturing processes, manufacturing equipment 124 for an optimized product, etc.). In some embodiments, the corrective action includes updating a recipe (e.g., placing the manufacturing equipment 124 in idle mode, sleep mode, preheating mode, etc.).

[0048] Prediction server 112, server machine 170, and server machine 180 may each include one or more computing devices, such as a rack server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application-specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc.

[0049] Prediction server 112 may include prediction component 114. In some embodiments, prediction component 114 may obtain current tracking data 146 (e.g., received from client device 120 and retrieved from data storage 140) and generate output (e.g., prediction data 168) for executing corrective actions associated with manufacturing equipment 124 based on the current data. In some embodiments, prediction component 114 may use one or more trained models 190 to determine output for executing corrective actions based on the current data. In some embodiments, prediction component 114 predicts that an anomaly has occurred or is about to occur. In some embodiments, prediction component 114 predicts that another event has occurred or is likely to occur.

[0050] Model 190 can be a single model or multiple models. Models can be applied sequentially, multiple models can be used simultaneously, the appropriate model can be selected based on some metric, a combination of these approaches can be used, and so on. Model 190 (or the models included in model 190) can be machine learning models, including supervised, unsupervised, or semi-supervised machine learning models. Model 190 can also be a non-machine learning model, such as a statistical model or correlation model.

[0051] In some embodiments, a first model 190 is used to generate guard bands (e.g., see Figures 2A-D), a second model 190 is used for guard band violation analysis (e.g., see Figures 3A-D), and a third model 190 is used to generate dynamic regions outside the guard bands (e.g., see Figures 4A-D).

[0052] In some embodiments, the data input to model 190 may include tracking data 142 from a single sensor 126. In other embodiments, the data input to model 190 may include tracking data 142 from many sensors 126 indicating values ​​of different properties. The data input may include manufacturing parameters. Features extracted from tracking data 142, methods for extracting features, corrective actions and / or predictive data 168 associated with the features, and methods for associating corrective actions and / or predictive data 168 may all be specific to the data provided as input.

[0053] In some embodiments, prediction component 114 receives current tracking data 146 and provides current tracking data 146 as input to model 190, and obtains output from model 190 indicating prediction data 168. In some embodiments, prediction data 168 indicates performance data 150 (e.g., metrology data, yield, etc.). In some embodiments, prediction data 168 indicates corrective action.

[0054] In some embodiments, model 190 takes tracking data 142 as input (e.g., data indicating a recipe, manufacturing equipment component, etc. associated with tracking data 142) and generates prediction data 168 as output. Model 190 can be a single model or include multiple models. Model 190 can determine which processing to perform based on the input data, or a user can indicate which analysis is appropriate for the input data, or a combination of these.

[0055] Data storage 140 can be a memory (e.g., random access memory), a disk drive (e.g., a hard drive, a flash drive), a database system, or another type of component or device capable of storing data. Data storage 140 can include multiple storage components (e.g., multiple disk drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). Data storage 140 can store tracking data 142, performance data 150, and prediction data 168. Tracking data 142 can include historical tracking data 144 and current tracking data 146. Tracking data can include temporal tracking of sensor data over the duration of a manufacturing process, association of data with physical sensors, pre-processed data (e.g., averages and composite data), and data indicating changes in sensor performance over time (e.g., across multiple manufacturing processes). Manufacturing parameter and performance data 150 can include similar characteristics. Historical tracking data 144, manufacturing parameters, and historical performance data 152 can be historical data (e.g., at least a portion of which is used to train model 190). Current tracking data 146 may be current data (eg, at least a portion to be input into model 190 , following historical data) for which predictive data 168 is to be generated (eg, for performing corrective action).

[0056] In some embodiments, prediction system 110 also includes server machine 170 and server machine 180. Server machine 170 includes a dataset generator 172 capable of generating datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing one or more models, such as machine learning models. Model 190 may include one or more machine learning models, or may be other types of models, such as statistical models. Models incorporating machine learning may be trained using input data, and in some cases, target output data. Models that do not incorporate machine learning may also be trained. In some embodiments, dataset generator 172 may partition historical data (e.g., historical tracking data 144, manufacturing parameters, or historical performance data 152 stored in data storage 140) into a training set (e.g., 60 percent of the historical data), a validation set (e.g., 20 percent of the historical data), and a test set (e.g., 20 percent of the historical data). In some embodiments, prediction system 110 (e.g., via prediction component 114) generates multiple sets of elements. For example, a first set of elements can correspond to a first set of sensor data of a type (e.g., from a first set of sensors, a first combination of values ​​from the first set of sensors, a first pattern in values ​​from the first set of sensors) for each dataset (e.g., a training set, a validation set, and a test set), and a second set of elements can correspond to a second set of sensor data of a type (e.g., from a different set of sensors than the first set, a second combination of values ​​than the first combination, a second pattern than the first pattern) for each dataset.

[0057] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a test engine 186. The engines (e.g., the training engine 182, the validation engine 184, the selection engine 185, and the test engine 186) can represent hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, a processing device, etc.), software (such as running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 can be capable of training the machine learning model 190, or various machine learning models included in the model 190, using one or more sets of elements associated with the training set from the data set generator 172. The training engine 182 can generate multiple trained machine learning models 190, where each trained machine learning model 190 corresponds to a different set of elements of the training set (e.g., sensor data from a different sensor set). For example, a first trained machine learning model may be trained using all elements (e.g., X1-X5), a second trained machine learning model may be trained using a first subset of elements (e.g., X1, X2, X4), and a third trained machine learning model may have been trained using a second subset of elements (e.g., X1, X3, X4, and X5) that may partially overlap with the first subset of elements. The dataset generator 172 may receive the output of a trained machine learning model (e.g., a model trained to perform a first operation of tracking data processing), collect the data into training, validation, and test datasets, and use the datasets to train a second machine learning model (e.g., a model to be trained to perform a second operation of tracking data processing).

[0058] Validation engine 184 may be able to validate trained machine learning models 190 using the corresponding set of elements from the validation set from dataset generator 172. For example, the first set of elements from the validation set may be used to validate a first trained machine learning model 190 trained using the first set of elements from the training set. Validation engine 184 may determine the accuracy of each trained machine learning model 190 based on the corresponding set of elements from the validation set. Validation engine 184 may discard trained machine learning models 190 that have an accuracy that does not meet a threshold accuracy. In some embodiments, selection engine 185 may be able to select one or more trained machine learning models 190 that have an accuracy that meets a threshold accuracy. In some embodiments, selection engine 185 may be able to select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190. In some embodiments, validation engine 184 and selection engine 185 may repeat this process for each machine learning model included in model 190.

[0059] In some embodiments, the validation engine 184 performs verification and / or validation (e.g., verification and validation (V&V)). Verification and validation can be separate processes that are used together to determine whether a product, service, or system (e.g., a machine learning model) meets requirements and specifications and achieves its intended purpose. Verification may include ensuring that the machine learning model meets the needs of customers or other identified stakeholders (e.g., regarding external customer acceptance and applicability). Validation may include evaluating whether the machine learning model complies with specifications, requirements, specifications, or mandates (e.g., internal processes).

[0060] The testing engine 186 may be able to validate the trained machine learning model 190 using a corresponding set of elements from the test set from the data set generator 172. For example, the first set of elements from the test set may be used to test the first trained machine learning model 190 trained using the first set of elements from the training set. The testing engine 186 may determine, based on the test set, the trained machine learning model included in the model 190 that has the highest accuracy among all trained machine learning models. The testing engine 186 may repeat this process for each machine learning model included in the model 190.

[0061] Model 190 may represent a model artifact created by training engine 182 using a training set consisting of data inputs and corresponding target outputs (correct answers for each training input). Patterns in the data set that map the data inputs to target outputs (correct answers) may be found, and a mapping may be provided to the machine learning model to capture these patterns. The machine learning model may utilize one or more of support vector machines (SVMs), radial basis functions (RBFs), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor (k-NN), linear regression, random forests, neural networks (e.g., artificial neural networks), and the like.

[0062] Prediction component 114 may provide current tracking data 146 to model 190 and may run the trained machine learning model 190 on the input to obtain one or more outputs. Prediction component 114 may be able to determine (e.g., extract) prediction data 168 from the output of model 190 and may determine (e.g., extract) confidence data from the output indicating a confidence level regarding whether prediction data 168 is an accurate predictor of a process associated with input data for a product produced or to be produced using manufacturing equipment 124 using current tracking data 146 and / or manufacturing parameters. Prediction component 114 may also be able to determine a confidence range associated with the predicted event, such as a remaining useful life (RUL) window including an upper and lower bound. Prediction component 114 or corrective action component 122 may use the confidence data to determine whether and / or when to initiate corrective action associated with manufacturing equipment 124 based on prediction data 168.

[0063] The confidence data may include or indicate a confidence level regarding whether the prediction data 168 is an accurate prediction of the product associated with at least a portion of the input data. In one example, the confidence level is a real number between 0 and 1, where 0 indicates a lack of confidence that the prediction data 168 is an accurate prediction of the product processed based on the input data, and 1 indicates absolute confidence that the prediction data 168 accurately predicts the properties of the product processed based on the input data. In response to the confidence data indicating a confidence level below a threshold level for a predetermined number of instances (e.g., a percentage of instances, a frequency of instances, a frequency of occurrence, a total number of instances, etc.), the prediction component 114 may cause the model 190 to be retrained (e.g., based on current tracking data 146, manufacturing parameters, current performance data 154, etc.).

[0064] For purposes of illustration and not limitation, aspects of the present disclosure describe using historical data (e.g., historical tracking data 144, historical performance data 152) to train one or more machine learning models 190, and inputting current data (e.g., current tracking data 146) into the one or more trained machine learning models 190 to determine prediction data 168. In other embodiments, heuristic models or rule-based models are used to determine prediction data 168 (e.g., without using trained machine learning models). Prediction component 114 can monitor historical tracking data 144 and historical performance data 152.

[0065] In some embodiments, the functionality of client device 120, prediction server 130, server machine 170, and server machine 180 may be provided by a smaller number of machines. For example, in some embodiments, server machines 170 and 180 may be integrated into a single machine, while in other embodiments, server machine 170, server machine 180, and prediction server 112 may be integrated into a single machine. In some embodiments, client device 120 and prediction server 112 may be integrated into a single machine.

[0066] Generally, where appropriate, functions described in one embodiment as being performed by client device 120, prediction server 130, server machine 170, and server machine 180 may also be performed by prediction server 112 in other embodiments. Furthermore, functions attributed to a particular component may be performed by different or multiple components operating together. For example, in some embodiments, prediction server 112 may determine corrective actions based on prediction data 168. In another example, client device 120 may determine prediction data 168 based on output from a trained machine learning model.

[0067] Additionally, the functionality of a particular component may be performed by different or multiple components operating together. One or more of the prediction server 112, server machine 170, or server machine 180 may be accessed as a service provided to other systems or devices via an appropriate application programming interface (API).

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

[0069] Embodiments of the present disclosure may be applied to data quality assessment, feature enhancement, model evaluation, virtual metering (VM), predictive maintenance (PdM), extreme optimization, anomaly or fault detection, anomaly or fault classification, etc.

[0070] Figures 2A-D, 3A-D, and 4A-D are flow diagrams of methods 200A-D, 300A-D, and 400A-D associated with guard bands, according to certain embodiments. In some embodiments, methods 200A-D, 300A-D, and 400A-D are performed by processing logic comprising hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, a processing device, etc.), software (such as running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In some embodiments, methods 200A-D, 300A-D, and 400A-D are performed at least in part by prediction system 110. In some embodiments, methods 200A-D, 300A-D, and 400A-D are performed at least in part by prediction system 110 (e.g., prediction server 112, prediction component 114), client device 120 (e.g., a corrective action component), manufacturing equipment 124, and / or metrology equipment 128. In some embodiments, the non-transitory storage medium stores instructions that, when executed by a processing device (e.g., a processing device of prediction system 110, a processing device of server machine 180, a processing device of prediction server 112, etc.), cause the processing device to perform one or more of methods 200A-D, 300A-D, and 400A-D.

[0071] To simplify explanation, methods 200A-D, 300A-D, and 400A-D are described and illustrated as a series of operations. However, operations according to the present disclosure may occur in various orders and / or concurrently, and with other operations not presented and described herein. Furthermore, in some embodiments, not all illustrated operations are performed to implement methods 200A-D, 300A-D, and 400A-D according to the disclosed subject matter. Furthermore, those skilled in the art will understand and appreciate that methods 200A-D, 300A-D, and 400A-D may alternatively be represented as a series of interrelated states via state diagrams or events.

[0072] In some embodiments, Figures 2A-D and 3A-D relate to sequential data guardband analysis (e.g., sequential guardband analysis for fault detection and classification (FDC)) for improved fault diagnosis, fault classification, and prediction. In some embodiments, the present disclosure uses guardband fault diagnosis full trace analysis (FTA) to provide improved analysis of sequential data streams (e.g., trace data) to provide improved detection, classification, and prediction, including reducing false positives (e.g., false alarms) and missed alarms (e.g., false negatives). Conventional sensor trace analysis can suffer from false positives and missed negatives (e.g., failure to adequately capture normal variations, failure to adjust models over time, failure to handle recipe endpoint determination, failure to account for out-of-phase traces, failure to transfer models to different domains, etc.), resulting in low conventional guardband adoption. Conventional summary statistics can also miss portions of trace data (e.g., transient regions). The present disclosure addresses false positives and missed negatives and adaptively provides robustness and flexibility over time to address different domains (e.g., see Figures 8A-B). The present disclosure can use guard bands to analyze both transient and steady-state regions and extract complex features (eg, more complex than unique variable analysis (UVA)).

[0073] The guard bands of the present disclosure can be used to detect anomalies or faults that appear in trace data but may not conform to typical anomaly shapes, such as spikes or oscillations. Conventional guard bands can suffer from output quality issues based on false positives (e.g., in transients), amplification of transition boundaries, trace-to-trace variability that is interpreted as anomalies, and the treatment of all violations equally without analysis or quantification. The guard bands of the present disclosure can address these shortcomings. The guard bands of the present disclosure can be provided independently or combined with other analytical capabilities, such as semi-automatic feature extraction (SFE).

[0074] Guardbands are defined channels for a data stream, intended to identify areas of commonality (e.g., acceptable values) based on their location within the data stream. A data stream is typically sensor values ​​over the course of some event (e.g., a production run). A data stream is typically trace data, which is a sequence of data values ​​presented and positioned as a function of time (e.g., with time on the x-axis). The ordering may not be time-based (e.g., it may be an indication of a count of something, such as the number of products produced or the number of errors recorded). The term "acceptable" is a function of the application environment and the goal of the guardband analysis. For example, "acceptable" could mean "no anomalies" or "no faults." A guardband channel can have upper and lower limits. In some embodiments, these limits can be calculated using statistical methods over the duration of the data stream. For example, a channel can represent the plus or minus 3-sigma of multiple trace values ​​for a particular sensor, where the variance is calculated at each time value in the data stream. Smoothing techniques (e.g., time-windowed averaging) can be employed to make the channel more noise-resistant and smoother.

[0075] FTA guardbands can be used to identify abnormal traces with slight oscillations during transient periods. FTA guardbands can be used to analyze multiple traces or trace partitions from a specific sensor across multiple runs. FTA guardbands establish upper and lower limits that indicate the normal range or channel (e.g., 3-sigma) of sensor data over time. The solution can identify and analyze excursions from the guardband. FTA functionality can be used in a complementary manner with SFE to provide comprehensive analysis and serve as input to a fingerprint library. Guardbands can be associated with a single sensor (UVA) or multiple sensors (multivariate analysis (MVA)). For MVA, the sensor value (e.g., the y-axis) can be a metric representing some combination of sensors involved in the MVA.

[0076] In some embodiments, the guard band may include multiple guard bands (e.g., a warning guard band completely contained within an error guard band). In some embodiments, the first region is a normal region that is independent of other parameters, the second region is a good or bad region classified based on analysis of other parameters, and the third region is a fault region that is independent of other parameters.

[0077] In some embodiments, the x-axis parameter of the guard band or the parameter defining the ordered aspect of the data is time (eg, a granularity related to the sensor read rate). In some embodiments, the substrate number in the processing tool may correspond to the substrate process.

[0078] In some embodiments, guard band violation definitions can be anomalies, faults, warnings, event triggers, and / or predictions. The determination and interpretation of guard band violations may be related to the purpose of the guard band (e.g., fault or anomaly detection). A single data point outside the guard band channel may indicate a fault. A probability distribution function can be used to define the area, duration, and magnitude of the portion of the trace that includes the violation region. These violation regions (e.g., violation region attribute values) can be evaluated to interpret whether a fault exists.

[0079] Figures 2A-D are flow diagrams of methods 200A-D associated with generating guard bands, according to certain embodiments. Figure 2A is a flow diagram of method 200A associated with generating guard bands, Figure 2B is a flow diagram of method 200B associated with using guard bands, Figure 2C is a flow diagram of method 200C associated with generating guard bands via machine learning, and Figure 2D is a flow diagram of method 200D associated with using guard bands via machine learning.

[0080] 2A , in some embodiments, at block 202, processing logic identifies tracking data associated with the production (via a substrate processing system) of substrates having property values ​​that meet a threshold (e.g., good substrates). The tracking data includes a separate set of sensor data for each substrate over time. In some embodiments, the tracking data includes sensor data from multiple different sensors (e.g., different types of sensor data) for each substrate.

[0081] At block 204 , processing logic determines the type of changes allowed (eg, guard bands) based on the tracking data.

[0082] In some embodiments, processing logic generates guard bands based on the trace data. The guard bands can include upper and lower limits for fault detection (e.g., anomaly detection). In some embodiments, to form the guard bands, an average of all trace data is generated, and an offset (e.g., 3 sigma) from the average is used as the upper and lower limits. Typically, the upper and lower limits are equidistant from the average of the trace data.

[0083] Since the trace data is for a good substrate, any variation in the guard band formed by the trace data is an allowed type of variation.

[0084] In some embodiments, block 204 includes processing logic at block 210 to determine trace-to-trace variability of the trace data (see Figures 5A-B). In some embodiments, the allowed types of variation include trace-to-trace variability due to time offset. The trace data may include sensor values ​​(e.g., y-axis) over time (e.g., x-axis). Due to differences in the time at which sensor data recording began, some sets of sensor data may shift over time (e.g., time offset on the x-axis). In some embodiments, processing logic tracks trace-to-trace differences and autonomously adjusts guardband changes when normal time offset variations are detected. This prevents false positives from occurring when a recipe step or trace varies slightly. This increases robustness and reduces false positives.

[0085] In some embodiments, block 204 includes processing logic for determining an upper limit that differs from a lower limit based on the tracking data at block 212 (see FIG5C ). In some embodiments, the allowed change types include a first allowed type of change that forms the upper limit of the guard band and a second allowed type of change that forms the lower limit of the guard band. The first allowed type of change (e.g., amount) can be different from the second allowed type of change (e.g., amount). Changes on each side of the guard band are calculated separately (e.g., during signal transitions) to reduce false positives.

[0086] In some embodiments, block 204 includes processing logic for determining location-dependent changes in the trace data at block 214 (see FIG5D ). Parameters and weights (e.g., duration, level, area, concatenation of consecutive violations, etc.) and other guardband settings can be adjusted based on the location within the guardband (e.g., along the x-axis). Examples include: 1) adjusting along the x-axis corresponding to different operations in the process to make the guardband more (or less) sensitive or adaptive; 2) adjusting the guardband based on signal properties (e.g., being less aggressive in regions where the guardband changes rapidly in the y-direction and more aggressive in regions where the guardband value is relatively constant); 3) adjusting the guardband based on alerts detected along the guardband (e.g., adjusting the distribution parameters after detecting the first spike to be more (or less) sensitive to future spike features on this trace); and so on. This improves guardband performance and further allows for the incorporation of subject matter expertise into guardband analysis.

[0087] In some embodiments, block 204 includes processing logic for determining a trace segment of the trace data at block 216 (see FIG5E ). In some embodiments, the allowed change type is further based on the segment of the portion of the trace data (e.g., a change in value associated with a change exceeding a threshold, a value within a threshold). For example, a characteristic (e.g., within a threshold) can trigger a wider guard band for the next segment of the guard band. In some embodiments, the allowed change type is further based on a characteristic extracted from the trace data.

[0088] In some embodiments, block 204 includes processing logic that performs feature extraction (e.g., semi-automatic feature extraction (SFE)) of the trace data at block 218. For example, guard band parameters can be varied for different segments or for different features. This improves guard band performance and overall analysis by allowing different capabilities (e.g., guard bands, feature extraction, and / or trace segmentation) to be combined.

[0089] In some embodiments, the trace data includes sensor data from different types of sensors and the allowed variation types are through MVA. The MVA metric combines the values ​​of multiple sensors into a single metric (e.g., the first principal component in principal component analysis (PCA)). Guard band parameters can be applied across multiple guard bands using MVA techniques. Examples include: (1) determining violations and violation distributions as a function of violation characteristics across two or more traces that occur (or do not occur) simultaneously; and / or (2) dynamically associating guard bands for a signal based on one or more other signals. This improves guard band performance, further allows subject matter expertise to be incorporated into guard band analysis, and allows correlations between multiple signals to be resolved.

[0090] In some embodiments, the features include one or more of: persistent features (e.g., ramps and flats); user-defined features (e.g., a series of ramps and slopes); intermittent features, such as ramps, flats, and FTA features; x-offset; y-offset; shape; length; warp; and the like.

[0091] At block 205, processing logic generates guard bands based on the allowed types of variation. For example, guard bands can allow for time offsets (e.g., on the x-axis), different upper and lower limits, multivariate (e.g., multiple variables) analysis, segmentation of trace data sections, extraction of trace data features, etc. In some embodiments, guard bands are generated by training a machine learning model, as shown in FIG2C .

[0092] At block 208, processing logic causes corrective action associated with the substrate processing system to be performed based on the guard band. Block 208 may include comparing additional tracking data to the guard band to determine whether to perform corrective action (eg, see FIG. 2B).

[0093] Referring to FIG. 2B , in some embodiments, at block 222, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG. 2A ). The tracking data may be associated with substrates for which it is unknown whether the attribute data of the substrates meets a threshold (e.g., a good substrate) or does not meet the threshold (e.g., a bad substrate). The tracking data includes a separate set of sensor data for each substrate over time. In some embodiments, the tracking data includes sensor data from multiple different sensors (e.g., different types of sensor data) for each substrate.

[0094] At block 224, processing logic compares the trace data to guard bands that have been generated based on the allowed types of changes (eg, see block 206 of FIG. 2A). Guard bands may have upper and lower bounds on data points over time.

[0095] At block 226, processing logic determines that one or more data points of the tracking data are not within the guard band. The one or more data points may include at least one data point above an upper limit and / or at least one data point below a lower limit (e.g., the data point does not match a data point of a substrate having a property value that satisfies a threshold).

[0096] At block 228, processing logic causes corrective actions associated with the substrate processing system to be executed. In some embodiments, the corrective actions include providing an alarm, interrupting substrate processing equipment, initiating a substrate inspection, discarding a substrate, updating manufacturing parameters, etc. In some embodiments, the corrective actions executed are specific to the type or number of data points outside the guard band.

[0097] Referring to FIG2C , in some embodiments, at block 242, processing logic identifies historical tracking data associated with the production of substrates through the substrate processing system. In some embodiments, the substrates (e.g., good substrates) have attribute values ​​that meet a threshold. Block 242 can be similar to block 202 of FIG2A . In some embodiments, the substrates (e.g., bad substrates) have attribute values ​​that do not meet the threshold.

[0098] In some embodiments, processing logic identifies historical performance data associated with the historical tracking data at block 244. In some examples, the historical performance data indicates whether the substrates are good substrates or bad substrates (e.g., all substrates have a property value that meets a threshold, and all substrates have a property value that does not meet the threshold).

[0099] At block 246, processing logic trains a machine learning model with data inputs including historical tracking data (e.g., and target outputs including historical performance data) to generate a trained machine learning model that indicates guard bands associated with the allowed types of changes. The training of the machine learning model may base the guard bands on the allowed types of changes described in block 204 of FIG. 2A.

[0100] The trained machine learning model can be used to determine whether additional tracking data meets the protection band (e.g., see Figure 2D).

[0101] Referring to FIG. 2D , in some embodiments, at block 262, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG. 2C ). The tracking data may be associated with a substrate for which it is unknown whether the attribute data of the substrate meets a threshold (e.g., a good substrate) or does not meet a threshold (e.g., a bad substrate). Block 262 may be similar to block 242 of FIG. 2B .

[0102] At block 264 , processing logic provides the trace data as input to a trained machine learning model associated with the guard bands generated based on the allowed change types (eg, the trained machine learning model of 246 of FIG. 2C ).

[0103] At block 266 , processing logic receives output from the trained machine learning model indicating prediction data.

[0104] At block 268, the processing logic determines that one or more data points of the tracking data are not within a guard band of the trained machine learning model based on the prediction data. The one or more data points may be above an upper limit of the guard band or below a lower limit of the guard band.

[0105] At block 270, processing logic causes corrective actions associated with the substrate processing system to be performed based on the predicted data. Block 270 may be similar to block 228 of Figure 2B.

[0106] Figures 3A-D are flow charts of methods associated with guard band violation profiling, according to certain embodiments. Figure 3A is a flow chart of method 300A associated with determining a guard band violation shape representation to classify a guard band violation data point, Figure 3B is a flow chart of method 300B associated with classifying a guard band violation data point based on the guard band violation shape representation, Figure 3C is a flow chart of method 300C associated with training a machine learning model for classifying guard band violation data points, and Figure 3D is a flow chart of method 300D associated with classifying a guard band violation data point using the trained machine learning model.

[0107] 3A , in some embodiments, at block 302 , processing logic identifies tracking data associated with the production (via a substrate processing system) of substrates having attribute values ​​that meet a threshold (e.g., good substrates). Block 302 may be similar to block 202 of FIG. 2A .

[0108] At block 304, processing logic identifies a guard band associated with the trace data. The guard band may be generated based on method 200A of FIG. 2A or method 200C of FIG. 2C.

[0109] At block 306, the processing logic determines a guard band violation data point of the tracking data based on the guard band. The guard band violation data point includes a data point of the tracking data that is above an upper limit of the guard band and / or a data point of the tracking data that is below a lower limit of the guard band.

[0110] In some embodiments, the trace data comes from different types of sensors and the determination of guard band violation data points is via multivariate (eg, multivariate) analysis.

[0111] In some embodiments, determining the guard band violation data point includes segmenting a portion of the trace data associated with a change in value exceeding a threshold change. In some embodiments, determining the guard band violation data point includes extracting features from the trace data.

[0112] At block 308 , processing logic determines a guard band violation shape representation based on the guard band violation data points (see FIGS. 6A-E ).

[0113] In some embodiments, the guard band violation shape characterization is a weighted combination of one or more of guard band violation duration (e.g., the number of sequential guard band violation data points outside the guard band limits), guard band violation magnitude (e.g., how far above an upper limit or below a lower limit a guard band violation data point is), guard band violation area (e.g., the area between a line passing through the guard band violation data point and the guard band limits), guard band violation location (e.g., the location of the guard band violation data point relative to the guard band limits), and / or guard band violation intermittency (e.g., how often a guard band violation data point exceeds an upper guard band limit and / or a lower guard band limit).

[0114] In some embodiments, determining the shape of a guardband violation involves concatenating consecutive violations into a single violation. By analyzing the behavior between consecutive violations, it is possible to better understand whether the violations are related. Typical analysis may include the time between violations, the level of recovery between violations, and the similarity of factors leading to consecutive violations (e.g., x-direction offset). Concatenating consecutive violations improves guardband performance by identifying systemic issues rather than guardband violations. This reduces the chatter in guardband violation reports and allows subject matter expertise to be incorporated into guardband analysis.

[0115] Guardband violation shape characterization can be used to characterize any guardband feature based on parameters related to duration, level, area, etc. These parameters can be weighted to better capture specific violation types.

[0116] At block 310, processing logic causes execution of a corrective action associated with the substrate processing system based on the guard band violation shape representation. Block 310 may include classifying additional guard band violation data points of the additional tracking data based on the guard band violation shape representation to determine whether to execute the corrective action (e.g., see FIG. 3B ).

[0117] Referring to FIG. 3B , in some embodiments, at block 322, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG. 3A ). The tracking data may be associated with a substrate for which it is unknown whether the attribute data of the substrate meets a threshold (e.g., a good substrate) or does not meet a threshold (e.g., a bad substrate). Block 322 may be similar to block 222 of FIG. 2B .

[0118] At block 324, processing logic identifies a guard band associated with the tracking data. Block 324 may be similar to block 304 of FIG. 3A .

[0119] At block 326, processing logic determines a guard band violation data point of the tracking data based on the guard band. A guard band violation data point includes a data point of the tracking data that exceeds an upper limit of the guard band and / or a data point of the tracking data that falls below a lower limit of the guard band. Block 326 may be similar to block 306 of FIG. 3A .

[0120] At block 328, processing logic identifies a guard band violation shape representation. The guard band violation shape representation may be determined at block 308 of FIG3A. The guard band violation shape representation may indicate a particular type (e.g., shape, area, duration, size, location, intermittent, etc.) of guard band violation to be classified as an anomaly (e.g., perform corrective action) or not an anomaly (e.g., do not perform corrective action).

[0121] At block 330, processing logic determines a classification for the guard band violation data point based on the guard band violation shape representation. In some embodiments, the classification indicates whether the guard band violation data point is an anomaly. In some embodiments, the classification indicates a type of anomaly associated with the guard band violation data point. In some embodiments, the classification indicates a type of corrective action to be performed associated with the guard band violation data point.

[0122] At block 332, processing logic causes execution of a corrective action associated with the substrate processing system based on the classification. Execution of the corrective action at block 332 may be similar to execution of the corrective action at block 228 of FIG. 2B.

[0123] 3C , in some embodiments, at block 342, processing logic identifies tracking data associated with the production (via the substrate processing system) of substrates having attribute values ​​that meet a threshold (e.g., good substrates). Block 302 may be similar to block 202 of FIG. 2A , block 242 of FIG. 2C , and / or block 302 of FIG. 3A .

[0124] At block 344, processing logic identifies historical performance data associated with the historical tracking data. In some examples, the historical performance data indicates whether the substrates are good substrates or bad substrates (e.g., all substrates have attribute values ​​that meet a threshold, or all substrates have attribute values ​​that do not meet the threshold). Block 344 can be similar to block 244 of FIG. 2C .

[0125] At block 346, processing logic identifies a guard band associated with the trace data. The guard band may be generated based on method 200A of FIG. 2A or method 200C of FIG. 2C. Block 346 may be similar to block 304 of FIG. 3B.

[0126] At block 348, processing logic determines historical guard band violation data points of the historical tracking data based on the guard bands. Guard band violation data points include data points in the historical tracking data that exceed an upper limit of the guard band and / or data points in the tracking data that fall below a lower limit of the guard band. Block 348 may be similar to block 306 of FIG. 3A .

[0127] At block 350, processing logic trains a machine learning model using data inputs including historical guard band violation data points (e.g., the target output includes historical performance data) to generate a trained machine learning model associated with a guard band violation shape representation to classify additional guard band violation data points. The trained machine learning model can be used by FIG3D . In some embodiments, the guard band violation data points and the violation shape representation (e.g., shape summary statistics) are provided to the trained machine learning model to classify the guard band violation data points. In some embodiments, the guard band violation shape representation is determined based on the guard band violation data points (e.g., see block 308 of FIG3B ).

[0128] Referring to FIG3D , in some embodiments, at block 362, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG3C ). The tracking data may be associated with a substrate for which it is unknown whether the attribute data of the substrate meets a threshold (e.g., a good substrate) or does not meet the threshold (e.g., a bad substrate). Block 362 may be similar to block 342 of FIG3B .

[0129] At block 364, processing logic identifies a guard band associated with the tracking data. Block 364 may be similar to block 304 of FIG. 3A, block 324 of FIG. 3B, and / or block 344 of FIG. 3C.

[0130] At block 366, processing logic determines a guard band violation data point for the tracking data based on the guard band. A guard band violation data point includes a data point for the tracking data that exceeds an upper guard band limit and / or a data point for the tracking data that falls below a lower guard band limit. Block 366 may be similar to block 306 of FIG. 3A , block 326 of FIG. 3B , and / or block 346 of FIG. 3C .

[0131] At block 368, processing logic provides the guard band violation data points as input to a trained machine learning model (e.g., trained via block 350 of FIG. 3C ) associated with the guard band violation shape representation. In some embodiments, the guard band violation data points and the guard band violation shape representation (e.g., shape summary statistics) are provided as input to the trained machine learning model to classify the guard band violation data points. In some embodiments, the guard band violation shape representation is determined based on the guard band violation data points (e.g., see block 308 of FIG. 3B ).

[0132] At block 370 , processing logic receives output from the trained machine learning model indicating prediction data.

[0133] At block 372, processing logic determines a classification for one or more data points of the tracking data based on the prediction data. The classification at block 372 may be similar to the classification at block 330 of FIG. 3B .

[0134] At block 384, processing logic causes execution of corrective actions associated with the substrate processing system based on the classification. Block 384 may be similar to block 332 of Figure 3B.

[0135] Figures 4A-D are flow diagrams of methods associated with dynamic acceptable regions outside of guardband limits (e.g., tracking time-dependent changes in data), according to certain embodiments. Figure 4A is a flow diagram of method 400A associated with determining an acceptable region outside of guardband limits, Figure 4B is a flow diagram of method 400B associated with using and potentially adjusting an acceptable region outside of guardband limits, Figure 4C is a flow diagram of method 400C associated with a trained machine learning model for determining an acceptable region outside of guardband limits, and Figure 4D is a flow diagram of method 400D associated with using a trained machine learning model to use and potentially adjust an acceptable region outside of guardband limits.

[0136] Tracking data for a good wafer may vary over time due to acceptable drift, oscillation, noise, spikes, etc.

[0137] 4A , in some embodiments, at block 402, processing logic identifies tracking data associated with the production (via a substrate processing system) of substrates having attribute values ​​that meet a threshold (e.g., good substrates). Block 302 may be similar to block 202 of FIG. 2A and / or block 302 of FIG. 3A .

[0138] At block 404 , processing logic determines a dynamically acceptable region outside of the guard band limits based on the trace data.

[0139] In some embodiments, processing logic determines the upper and lower limits of the guard band based on the tracking data (e.g., via block 206 of FIG. 2A , via block 246 of FIG. 2C , via 3 sigma of the average of the tracking data, etc.). The area between the upper and lower limits of the guard band is a safe zone (e.g., a green zone), and data points in this zone are considered good.

[0140] Processing logic determines an acceptable region outside the guard band limits. The acceptable region can be a warning region (e.g., a yellow region) where data points are still normal and are used to track the dynamics of the substrate processing system. An abnormal region (e.g., a red region) is outside the acceptable region, and data points within the abnormal region are considered positive (e.g., abnormal).

[0141] The acceptable region can be determined by user input (e.g., 1 sigma, 4 angstrom sensor data change, 4% sensor data change, etc.) outside the guard band limit. The acceptable region can change over time (e.g., a dynamic acceptable region). In some embodiments, a predetermined amount of sensor value change outside the guard band limit is acceptable for a predetermined amount of time (e.g., a predetermined number of runs). For example, a 4 angstrom or 4% change in sensor value relative to the guard band limit for 10 runs may be acceptable.

[0142] The dynamic acceptable region and / or guardband limits may change over time. For example, after a predetermined number of runs (e.g., 10 runs), the acceptable region and / or guardband limits may be adjusted by a predetermined amount (e.g., increased by 4 angstroms, widened by 4%, etc.). As the dynamic acceptable region and / or guardband limits change over time, a new acceptable region may be updated.

[0143] At block 406, processing logic causes execution of corrective actions associated with the substrate processing equipment based on the dynamic acceptable region being outside the guard band limits. Execution of the corrective actions may be based on additional tracking data being outside the acceptable region (see FIG. 4B ).

[0144] Referring to FIG. 4B , in some embodiments, at block 422, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG. 4A ). The tracking data may be associated with a substrate for which it is unknown whether the attribute data of the substrate meets a threshold (e.g., a good substrate) or does not meet the threshold (e.g., a bad substrate). Block 422 may be similar to block 222 of FIG. 2B and / or block 322 of FIG. 3B .

[0145] At block 424, processing logic compares the trace data to a dynamic acceptable region outside the guard band limits. The dynamic acceptable region may be determined by block 404 of FIG. 4A.

[0146] At block 426 , processing logic updates the dynamic acceptable region outside of the guard band limits based on the tracking data in response to one or more data points of the tracking data being within the dynamic acceptable region.

[0147] At block 428, processing logic causes execution of corrective actions associated with the substrate processing equipment in response to one or more data points of the tracking data being outside of the dynamically acceptable region. Execution of the corrective actions at block 428 may be similar to execution of the corrective actions at block 228 of FIG. 2B and / or block 332 of FIG. 3B.

[0148] 4C , in some embodiments, at block 442, processing logic identifies tracking data associated with the production (via the substrate processing system) of substrates having attribute values ​​that meet a threshold (e.g., good substrates). Block 302 may be similar to block 202 of FIG. 2A , block 242 of FIG. 2C , block 302 of FIG. 3A , block 342 of FIG. 3C , and / or block 402 of FIG. 4A .

[0149] At block 444, processing logic identifies historical performance data associated with the historical tracking data. In some examples, the historical performance data indicates whether the substrates are good substrates or bad substrates (e.g., all substrates have attribute values ​​that meet a threshold, and all substrates have attribute values ​​that do not meet the threshold). Block 444 can be similar to block 244 of FIG. 2C and / or block 344 of FIG. 3C.

[0150] At block 446, processing logic trains a machine learning model using data inputs including historical tracking data (e.g., and target outputs including historical performance data) to generate a trained machine learning model indicating a dynamic acceptable region outside of the guard band limits. The trained machine learning model can be used by FIG. 4D.

[0151] Referring to FIG4D , in some embodiments, at block 462, processing logic identifies tracking data associated with substrate production via a substrate processing system (e.g., the same substrate processing system as in FIG4C ). The tracking data may be associated with a substrate for which it is unknown whether the attribute data of the substrate meets a threshold (e.g., a good substrate) or does not meet a threshold (e.g., a bad substrate). Block 362 may be similar to block 442 of FIG4B .

[0152] At block 464 , processing logic provides the trace data as input to a trained machine learning model associated with a dynamically acceptable region outside of the guard band limits (eg, the trained machine learning model of 446 of FIG. 4C ).

[0153] At block 466 , processing logic receives output from the trained machine learning model indicating prediction data.

[0154] At block 468, processing logic updates the dynamic acceptable region outside of the guard band limits in response to determining that one or more data points of the tracking data are within the acceptable region based on the forecast data. Block 468 may be similar to block 426 of FIG. 4B.

[0155] At block 470, processing logic causes execution of corrective action associated with the substrate processing system in response to determining that one or more data points of the tracking data are outside of an acceptable region based on the predicted data. Block 470 may be similar to block 428 of FIG. 4B.

[0156] Figures 5A-E illustrate charts 500A-E of variation in allowable types according to certain embodiments (e.g., see Figures 2A-D). Figures 5A-B illustrate charts 500A-B of inter-track variability. Figure 5C illustrates chart 500C where the upper limit differs from the lower limit. Figure 5D illustrates chart 500D of position-dependent variation. Figure 5E illustrates chart 500E of trajectory segmentation.

[0157] Referring to FIG5A , graph 500A illustrates tracking data 502A-B. Tracking data 502A may be sensor data (e.g., from one or more sensors) for the production of a first substrate (e.g., one or more first substrates), and tracking data 502B may be sensor data (e.g., from the same one or more sensors) for a second substrate (e.g., one or more second substrates). Tracking data 502B may be acquired earlier in the substrate production operation than tracking data 502A, resulting in an offset in the x-direction (e.g., with the x-axis representing time and the y-axis representing sensor values, tracking data 502A may rise earlier than tracking data 502B). This is referred to as inter-track variability (e.g., variation).

[0158] Referring to FIG5B , graph 500B illustrates time-varying tracking data associated with the production of numerous substrates. Guard band 504A that fails to account for inter-track variability results in many false positives (e.g., many guard band violation data points that do not correspond to defective substrates). In some examples, line 506 is calculated by taking the average of the tracking data, and guard band 504A is created by taking 3 sigma from line 506, such that guard band 504A is equidistant from line 506 over time. Inter-track variability results in many false positives for guard band 504A, and simply expanding guard band 504A results in many false negatives (e.g., expanding guard band 504A would not capture data points that deviate in the y-direction).

[0159] Guard bands 504B are generated to account for inter-trace variability using method 200A of FIG. 2A or method 200C of FIG. 2C . Trace data from good substrates is used to determine the type of variability allowed. For example, initial guard bands 504A can be generated from trace data from good substrates. Then, for substrates with property values ​​that meet a threshold, guard bands 504A are widened in the x-direction (e.g., level-expanded) in regions to account for inter-trace variability, forming guard bands 504B.

[0160] 5C , graph 500C illustrates a graph 500C where the upper limit is different from the lower limit.

[0161] As discussed in FIG5B , guard band 504A can have upper and lower limits equidistant from line 506 passing through the mean of the trace data (e.g., 3 sigma). Trace data from good wafers may have different amounts of variation above and below line 506. By simply making the upper and lower limits of guard band 504A equidistant, many false positives may be present.

[0162] By using method 200A of FIG2A or method 200C of FIG2C , guard band 504B is generated that takes into account upper and lower limits that differ from each other. For example, as shown in FIG5C , at the beginning of the transition, upper variation 508A may be greater than lower variation 508B, and at the end of the transition, lower variation 508D may be greater than upper variation 508C.

[0163] 5D , a graph 500D illustrates position-dependent changes.

[0164] As discussed in Figure 5B , guard band 504A can have upper and lower limits (e.g., 3 sigma) that are the same distance from line 506, which passes through the mean of the trace data, over time. Tracing data from good wafers may have different amounts of variation at different times. Having guard band 504A of the same size over time can result in many false positives.

[0165] The generated guard band 504B by the method 200A of FIG2A or the method 200C of FIG2C accounts for different amounts of variation 510 over time. For example, as shown in FIG5D , there may be low variation 510A in a flat region (e.g., the distance between the upper and lower limits of the guard band 504B for a good substrate is small) and there may be high variation 510B in a transient region (e.g., the distance between the upper and lower limits of the guard band 504B for a good substrate is large).

[0166] Referring to FIG5E , graph 500E illustrates a graph 500E of a segmented trace. As discussed in FIG5B , guard band 504A can have upper and lower limits (e.g., 3 sigma) that are the same distance over time from line 506 passing through the mean of the trace profile. In some embodiments, the trace profile changes by more than a threshold amount (e.g., see area 512 in FIG5E ).

[0167] If the two boundaries are close to each other, an intermediate position can be used. If one of the boundaries is close to a boundary with a change greater than a threshold amount, the segment boundary can be maintained.

[0168] The two segments in the trace data showing sharp changes in the original boundary may not be deleted from the trace data.The parameters of the guard band can be adjusted based on the knowledge of the segmentation of the sharp change segmentation points in the region 512.

[0169] The abrupt change in region 512 may be one or more of the following:

[0170] 1) Track the slope change of a data segment from negative to positive or from positive to negative (e.g., slope(right)*slope(left)<0);

[0171] 2) the slope of the right segment and / or the left segment exceeds a threshold slope (e.g., abs(slope(right))>0.1 or abs(slope(left))>0.1 (in normal values)); and / or

[0172] 3) The mean change (e.g., standard deviation) of two connected segments is greater than the mean change (e.g., standard deviation) of the next two segments by a threshold amount (e.g., mean(std[right,left])>2*mean(std[right_2,left_2]).

[0173] If two adjacent segments of trace data have (1), (2), and (3) from above, then the segment boundary (e.g., the data points in region 512) can be considered a fixed boundary. In some embodiments, region 512 as a segment boundary results in the generation of guard bands 504B for points in region 512 rather than removing data points in 512 from the generation of guard bands 504B. In some embodiments, region 512 as a segment boundary results in data points in region 512 becoming the limits of guard bands 504B with a smaller allowable variation.

[0174] 6A-E illustrate guard band violation analysis (eg, see FIGs. 3A-D ) in accordance with certain embodiments.

[0175] In FIG6A , tracking data is displayed on each of graphs 602A-Z (e.g., block 302 in FIG3A , block 344 in FIG3C ). Each graph 602A-Z may illustrate tracking data for the production of a different substrate, where each substrate is a good substrate (e.g., having a property value that satisfies a threshold). Each graph 602A-Z also illustrates a guard band, and each graph 602A-Z has some data point groups that fall outside the guard band limits. These data point groups are referred to as guard band violation data point groups 604A-Z (e.g., data point groups associated with guard band violations). Because the tracking data is for good substrates, guard band violation data point groups 604A-Z violate the guard band but do not indicate a bad substrate (e.g., they are false positives).

[0176] Parameters 606 are extracted for each set of guardband violation data points 604 in the trace data. Parameters 606 may include area, duration, amplitude, etc. In some examples, the area may be the area between the guardband limit and a portion of the trace data that passes outside the guardband limit. In some examples, the duration may be the amount of time that the sequential guardband violation data points are outside the guardband limit. The amplitude may be the magnitude (e.g., y-value) of the difference (e.g., in the y-direction) between the guardband violation data point and the guardband limit. In some examples, each guardband violation data point may have a corresponding parameter input.

[0177] The parameters 606 and the joint probability density function of the parameters 606 can be used to form a graph 608. The graph 608 can be generated by fitting a multivariate Gaussian distribution (e.g., finding the joint probability density function of the three variables). The guard band violation data point group 604 can form a guard band violation shape representation 610 (e.g., a circle on the graph 608) surrounding the guard band violation data point group 604 (e.g., the good guard band violation data point 614A).

[0178] Graph 608 including guard band violation shape representation 610 may be used to generate graph 612. Graph 608 shows guard band violation shape representation 610, which separates good guard band violation data points 614A corresponding to good substrates from bad guard band violation data points 614B corresponding to bad substrates.

[0179] In response to the set of guard band violation data points 604 for a good substrate, a guard band violation shape representation 610 surrounds (e.g., encloses) the data points for the good substrate in the graph 608. The guard band violation shape representation 610 can be used to determine whether a future set of guard band violation data points 604 is a good guard band violation data point 614A corresponding to a good substrate (e.g., inside the guard band violation shape representation 610 on the graph 608 and below the guard band violation shape representation 610 on the graph 612) or a bad substrate (e.g., outside the guard band violation shape representation 610 on the graph 608 and above the guard band violation shape representation 610 on the graph 612).

[0180] In some embodiments, the set of guard band violation data points 604 for the parameters 606, the graph 608, and the graph 612 corresponds to a bad substrate (e.g., a substrate having a property value that does not meet a threshold value). A guard band violation shape representation 610 then surrounds (e.g., encloses) the data points for the bad substrate in the graph 608. The guard band violation shape representation 610 can be used to determine whether a future substrate is bad (e.g., within the guard band violation shape representation 610 on the graph 608 and below the guard band violation shape representation 610 on the graph 612) or good (e.g., outside the guard band violation shape representation 610 on the graph 608 and above the guard band violation shape representation 610 on the graph 612).

[0181] In response to a guard band violation data point group 604 for a particular type of substrate (e.g., a particular type of defective substrate, a substrate having a particular property value that does not meet a threshold), a guard band violation shape representation 610 surrounds (e.g., encloses) the data points for the particular type of substrate. The guard band violation shape representation 610 can be used to determine whether a future substrate is a substrate of the particular type (e.g., within the guard band violation shape representation 610 on the graph 608 and below the guard band violation shape representation 610 on the graph 612) or is not a substrate of the particular type (e.g., outside the guard band violation shape representation 610 on the graph 608 and above the guard band violation shape representation 610 on the graph 612).

[0182] 6B illustrates a graph 620 of a guard band violation profile according to certain embodiments. Graph 620 includes a band average 622 (e.g., average trace data), a guard band limit 624, an offset 626 between the guard band limit 624 and the band average 622, and guard band violation data points 628. Graph 620 has a gap 638 between a first guard band violation data point 628A and a second guard band violation data point 628B.

[0183] The violation duration 630 of the guard band violation data point 628 is the distance (eg, duration of the violation in the x-direction) between the first guard band violation data point 628A outside the guard band limit 624 and the last guard band violation data point 628B outside the guard band limit 624 .

[0184] The violation magnitude 632 (eg, maximum violation, peak violation) is the distance between the guard band limit 624 and a guard band violation data point 628 (eg, the guard band violation data point 628 that is farthest from the guard band limit 624 in the y-direction).

[0185] The violation region 634 is the area between the line passing through the guard band violation data points and the guard band limit 624 (eg, the average value of the violations).

[0186] The violation location 636 may be the location (eg, x-value, time value, where the violation is located) of the maximum violation magnitude 632 .

[0187] Violation intermittency can include merging or splitting two or more violations.

[0188] The guard band violation shape representation 610 can be further based on one or more of a violation duration 630, a violation magnitude 632, a violation area 634, and / or a violation location 636. Guard band violation data points 628 corresponding to a violation duration 630, a violation magnitude 632, a violation area 634, and / or a violation location 636 that meet a threshold value can be ignored. Guard band violation data points 628 corresponding to a violation duration 630, a violation magnitude 632, a violation area 634, and / or a violation location 636 that meet a threshold value can correspond to a substrate type (e.g., a good substrate, a bad substrate, a bad substrate type, etc.).

[0189] 6C illustrates a graph 640 of a guard band violation profile according to certain embodiments. Graph 640 includes a band average 622 (e.g., average trace data), a guard band limit 624, instances of guard band violation data points 628, a gap 638 between two instances of guard band violation data points 628, and a violation magnitude 632 between the band average 622 and the last guard band violation data point 628 of the first instance of the guard band violation data point 628. Line 642 is located between the data point with the band average 622, which is the last guard band violation data point of the first instance of the guard band violation data point 628C, and the data point corresponding to the first guard band violation data point of the second instance of the guard band violation data point 628D.

[0190] The guard band violation shape representation 610 can classify the substrate or trace data as good, bad, or bad type based on the number of violations. In response to the length of the line 642 meeting a threshold (e.g., being sufficiently large), the first instance of the guard band violation data point 628C and the second instance of the guard band violation data point 628D are considered a single violation. Otherwise, the first instance of the guard band violation data point 628C and the second instance of the guard band violation data point 628D are considered separate violations.

[0191] 6D illustrates a flow diagram of a method 660 for guard band violation profiling according to some embodiments. Classification of guard band violation data points can be performed via multivariate (eg, multivariate) analysis (eg, based on sensor data from different types of sensors).

[0192] In some embodiments, trace data from sensors 662A-N is individually compared to corresponding guard bands 664A-N. Guard band violation data points from the comparison of trace data from sensor 662 with guard band 664 are processed through a violation probability density function (pdf) 666 and compared to a threshold 668 to provide test trace data 670.

[0193] The test trace data provides a score 672 for each sensor 662. A score ranking 674 is performed based on the score 672. A sensor importance ranking 676 is performed based on the score ranking 674. A composite score 677 is generated based on the sensor importance ranking 676. The composite score 677 is compared to a composite threshold 678 to provide a fault detection result 679 (e.g., classifying a guard band violation data point as a good substrate or a bad substrate, an anomaly detection result).

[0194] 6E illustrates a flow chart of a method 680 for guard band violation profiling according to certain embodiments. Guard band violation shape characterization may be based on guard band violation data points and segment feature extraction.

[0195] At block 682, the tracking data is identified. This can be similar to block 302 of FIG. 3A and / or block 342 of FIG. 3C for generating guard bands. This can be similar to block 322 of FIG. 3B and / or block 362 of FIG. 3D for using guard bands.

[0196] At block 684, a full trace analysis is performed on the trace data from block 682. For example, the area, duration, amplitude, etc. may be determined (see, e.g., FIG6A-C ).

[0197] At block 686, a guard band model is generated based on the complete trace analysis of the trace data. This may be similar to block 206 of FIG. 2A and / or block 246 of FIG. 2C.

[0198] At block 688, abnormal features (e.g., guard band violation data points) are determined by comparing the trace data to a guard band model (e.g., guard bands). This can be similar to block 306 of FIG. 3A , block 326 of FIG. 3B , block 346 of FIG. 3C for training a model, and / or block 366 of FIG. 3D . The abnormal features (e.g., guard band violation data points) can be persistent or intermittent.

[0199] At block 690, segment feature extraction is performed on the tracking data of block 682. This may be similar to FIG5E (e.g., segment boundaries, such as data points in region 512 of FIG5E, are considered fixed boundaries). In some embodiments, the guard band model generates anomaly features of block 688 that can be combined with features identified at block 690 (e.g., persistent features of block 692 and intermittent features of block 692).

[0200] At block 692, persistent features of the tracking data are determined based on the segmented feature extraction of block 690. A persistent feature may be a feature of the tracking data that meets a threshold number of occurrences.

[0201] At block 694, feature parameter correlation of the persistent feature of the tracking data is performed (e.g., based on subject matter expertise 699, such as user input). Feature parameter correlation can be based on parameters such as amplitude, location, area, duration, etc. (see FIG6B ). In some embodiments, guard band violation shape characterization can classify guard band violation data points corresponding to the persistent feature as being associated with a good substrate.

[0202] At block 696, intermittent features of the trace data are determined based on the segmented feature extraction of block 690. An intermittent feature may be a feature of the trace data that does not meet a threshold number of occurrences.

[0203] At block 698, feature presence correlation is performed based on the intermittent features from block 696, the anomalous features from block 688, and / or subject matter expertise 699. In some embodiments, the guard band violation shape characterization may classify guard band violation data points corresponding to the intermittent features as being associated with a bad substrate.

[0204] 7A-F illustrate dynamically acceptable regions outside of guard band limits according to certain embodiments.

[0205] FIG7A illustrates a flow diagram of a method 700 associated with a dynamic region outside of a guard band limit.

[0206] At block 702, processing logic identifies baseline tracking data. This can be similar to block 302 of FIG. 3A and / or block 342 of FIG. 3C for generating guard bands. This can be similar to block 322 of FIG. 3B and / or block 362 of FIG. 3D for using guard bands.

[0207] At block 704, processing logic identifies a guard band based on the tracking data. The guard band may be generated by block 206 of FIG. 2A and / or block 246 of FIG. 2C.

[0208] At block 706 , processing logic performs a multivariate (eg, multivariate) analysis (MVA) distribution based on the guard band and baseline tracking data.

[0209] At block 708, processing logic identifies a probability on the baseline tracking data. The probability can be the probability that the data point is in a safe region (e.g., region 736 of graph 734 or graph 742 of FIG. 7B ), an alarm region (e.g., region 738 of graph 734 or graph 742 of FIG. 7B ), or an abnormal region (e.g., region 740 of graph 734 or graph 742 of FIG. 7B ).

[0210] At block 710, processing logic generates an internal threshold value. The internal threshold value may be a line separating an alarm region (e.g., region 738 of graph 734 or graph 742 of FIG. 7B ) from an abnormal region (e.g., region 740 of graph 734 or graph 742 of FIG. 7B ).

[0211] At block 712, processing logic generates an enhanced tracking profile. The enhanced tracking profile may be a simulated tracking profile formed by adjusting the baseline tracking profile of block 702 by one or more of blocks 714-720.

[0212] At block 714, the enhanced tracking data may include tracking data with less drift. The drift may include sensor values ​​that increase in the y-direction relative to the baseline tracking data of block 702.

[0213] At block 716, the enhanced tracking data may include tracking data with less repetition. One or more portions of the baseline tracking data of block 702 may be repeated over time (eg, in the x-direction).

[0214] At block 718, the enhanced tracking data may include tracking data with less noise (eg, and / or oscillations). The baseline tracking data of block 702 may be adjusted (eg, increased and decreased) in the y-direction to simulate noise.

[0215] At block 720, the enhanced tracking data may include tracking data with smaller spikes. The baseline tracking data of block 702 may include peaks and valleys to simulate small spikes.

[0216] At block 722, processing logic identifies the probability of adding the baseline tracking data to the enhanced tracking data. Block 722 can be similar to block 708.

[0217] At block 724, processing logic generates an external threshold value. Block 724 may be similar to block 710.

[0218] 7B illustrates the dynamic region outside of the guard band limits. Graph 730 illustrates baseline tracking data (eg, of block 702), and graph 732 illustrates enhanced tracking data (eg, of block 712).

[0219] Graph 734 illustrates region 736 (e.g., permitted region, green region), region 738 (e.g., warning region, yellow region), and region 740 (e.g., abnormal region). Graph 734 may be generated based on tracking data from a good substrate. All data points on graph 734 may be in region 736 or region 738.

[0220] Graph 742 shows new tracking data used to determine whether a substrate is good or bad. Graph 742 includes tracking data in regions 736, 738, and 740. Data points in region 740 correspond to bad substrates. Region 738 (e.g., the yellow region, the warning region) is recalculated based on the data points in region 738.

[0221] FIG7C illustrates a flow diagram of a method 744 associated with a dynamic region outside of the guard band limits.

[0222] At block 746, processing logic identifies a training set of tracking data. The training set may be previous tracking data for producing substrates using the substrate processing equipment.

[0223] At block 748, processing logic identifies new tracking data. In some embodiments, the new tracking data includes new sensor data associated with producing a new substrate using the same substrate processing equipment as in block 746 or using a different substrate processing equipment. In some embodiments, the new tracking data includes simulated tracking data generated based on the tracking data of block 746 and including one or more of drift, noise, spikes, oscillations, and the like.

[0224] At block 750, processing logic ranks the new trace data from block 748. The new trace data may be ranked based on being representative of (e.g., close to) the trace data from block 746. The new trace data may be ranked based on proximity to one another (e.g., to remove anomalies). Data points in the new trace data may be ranked as good (e.g., green zone), acceptable and used for guard band adjustment (e.g., yellow zone), or abnormal (e.g., red zone). For example, data points in the new trace data may be within the green zone (e.g., no guard band adjustment is input), within the acceptable yellow zone (e.g., no anomalies, but a guard band adjustment is input), or within the abnormal red zone (e.g., anomalies, but no guard band adjustment is input).

[0225] At block 752, processing logic selects at least a portion of the new tracking data from block 748 (e.g., based on the ranking from block 750). Processing logic may select the highest ranked tracking data based on the ranking from block 750.

[0226] At block 754, processing logic updates (e.g., see FIG. 7E ) or retrains (e.g., see FIG. 7F ) the old guard band based on the training set and / or tracking data selected from block 752. Processing logic can trigger a guard band update when certain criteria are met (e.g., the tracking data is noisy, the tracking data is not drifting, etc.).

[0227] At block 756 , processing logic identifies the new guard band that has been updated or retrained from block 754 .

[0228] 7D illustrates the dynamic region outside the guard band limits. Graph 760 illustrates new trace data (eg, from block 748 of FIG. 7C ), and graph 762 illustrates the trace ranking of the trace data of graph 760 (eg, see block 750 of FIG. 7C ).

[0229] Graph 764 illustrates the selected trajectory (e.g., block 752 from FIG. 7C ), and graph 766 illustrates the updated adaptive guard band (e.g., the new guard band of block 756 from FIG. 7C ) from the selected trajectory (e.g., the most informative trajectory) from graph 764 .

[0230] Figure 7E illustrates the dynamic region outside the noise guard band limits. Block diagram 770A illustrates the accumulation of processing data (e.g., tracking data) used to generate the guard band. In response to processing logic detecting noise (e.g., periodic changes), the processing logic updates the guard band using all historical data.

[0231] Graph 772A illustrates initial tracking data (eg, first 60 traces), and graph 774A illustrates the initial guard band for the tracking data of graph 772A.

[0232] Graph 776A illustrates trace data (eg, the first 120 traces) and graph 778A illustrates subsequent guard bands for the trace data of graph 776 A. As shown in graph 778A, the guard bands widen over time to accommodate increases in acceptable noise.

[0233] Figure 7F illustrates the dynamic region outside of the drift guardband limits. Block diagram 770A illustrates that older historical data (e.g., previous trace data) is forgotten, and only some amount (e.g., zero or more) of newer historical data is combined with new processing data (e.g., current trace data) to generate the guardband. In response to processing logic detecting drift (e.g., a change in the sensor value in the y-direction over time), the processing logic triggers the forgetting mechanism and updates the guardband using only the most recent trace data.

[0234] Graph 772B illustrates initial tracking data (eg, first 50 traces) and graph 774B illustrates the initial guard band for the tracking data of graph 772B.

[0235] Graph 776B illustrates trace data (e.g., the next 50 traces) and graph 778B illustrates subsequent guard bands for the trace data of graph 776B. As shown in graph 778B, the guard bands move (e.g., rise) in the y-direction over time to accommodate acceptable drift.

[0236] 8A-B illustrate guard band adaptation according to certain embodiments. The guard band adaptation shown in any portion of FIG8A-B can be used with any of the methods of the present disclosure (e.g., FIG2A-D, 3A-D, and / or 4A-D) to adapt the guard band to system dynamics (e.g., not to violations such as fault level transitions).

[0237] Figure 8A illustrates horizontal scaling. Graph 810A illustrates tracking data 812A and tracking data 812B. Tracking data 812A and 812B can have different scales in the y-direction. As shown in graph 810B, tracking data 812A and / or tracking data 812B can be horizontally scaled (e.g., recipe endpoint horizontal scaling).

[0238] In some embodiments, tracking data 812A and 812B are for good substrates. By horizontally scaling, more accurate guard bands can be created based on tracking data 812A and 812B. By horizontally scaling tracking data that may correspond to good or bad substrates, the difference between the tracking data and the guard bands can be more accurately identified (e.g., reducing false positives and false negatives).

[0239] FIG8B illustrates vertical scaling and horizontal warping. Graph 850A illustrates tracking data 812A and tracking data 812B having different scales in the y-direction. Vertical scaling of tracking data 812A and 812B of graph 850A can be performed to generate graph 850B (e.g., amplitude normalization). Horizontal warping of tracking data 812A and 812B of graph 850B can be performed to generate graph 850C (e.g., dynamic time warping).

[0240] By tracking warping and scaling, out-of-phase and different amplitude factors can be ignored. Horizontal warping is applied to ignore out-of-phase factors and preserve vertical noise. Vertical and horizontal scaling is applied to address domain transmission (e.g., applying guard bands to different domains, such as different recipes).

[0241] Figure 9 illustrates a block diagram of a computer system 900, according to certain embodiments. In some embodiments, computer system 900 can be connected to other computer systems (e.g., via a network such as a local area network (LAN), an intranet, an extranet, or the Internet). Computer system 900 can operate in the capacity of a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. Computer system 900 can be a personal computer (PC), a tablet, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a web appliance, a server, a network router, a switch, or a bridge, or any device capable of executing a set of instructions specifying actions to be taken by the device (sequentially or otherwise). Furthermore, the term "computer" shall include any collection of computers that individually or collectively execute a set (or multiple sets) of instructions to perform any one or more of the methods described herein.

[0242] In another embodiment, the computer system 900 may include a processing device 902, a volatile memory 904 (e.g., random access memory (RAM)), a non-volatile memory 906 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 918, which may communicate with each other via a bus 908.

[0243] The processing device 902 may be implemented by one or more processors, such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of multiple types of instruction sets) or a special-purpose processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).

[0244] The computer system 900 may further include a network interface device 922 (e.g., coupled to the network 974). The computer system 900 may also include a video display unit 910 (e.g., an LCD), an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), and a signal generating device 920.

[0245] In some embodiments, the data storage device 918 may include a non-transitory computer-readable storage medium 924 (e.g., a non-transitory machine-readable storage medium) on which instructions 926 encoding any one or more of the methods or functions described herein may be stored, including instructions encoding components of FIG. 1 (e.g., the prediction component 114 for prediction or detection, the model 190, etc.) and for implementing the methods described herein. When executed, the instructions stored in the memory cause the processing device to perform one or more operations described herein.

[0246] During execution of the instructions by the computer system 900, the instructions 926 may reside, in whole or in part, in the volatile memory 904 and / or the processing device 902. Thus, the volatile memory 904 and the processing device 902 may also constitute machine-readable storage media.

[0247] Although computer-readable storage medium 924 is shown as a single medium in the exemplary embodiment, the term "computer-readable storage medium" should be construed to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) storing one or more executable instruction sets. The term "computer-readable storage medium" should also be construed to include any tangible medium capable of storing or encoding an instruction set to be executed by a computer and causing the computer to perform any one or more of the methods of the present disclosure. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, and optical and magnetic media.

[0248] The methods, components, and features described herein can be implemented as discrete hardware components or integrated into the functionality of other hardware components, such as ASICs, FPGAs, DSPs, or similar devices. Furthermore, the methods, components, and features can be implemented as firmware modules or functional circuitry within a hardware device. Furthermore, the methods, components, and features can be implemented as any combination of hardware devices and computer program components, or as a computer program.

[0249] Unless otherwise expressly stated, terms such as "identify," "generate," "cause," "provide," "receive," "determine," "update," "compare," "train," "distort," "scale," and "acquire" refer to operations and procedures of a computer system or similar electronic computing device that manipulate and transform data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's registers or memories or other such information storage, transmission, or display devices. Furthermore, terms such as "first," "second," "third," and "fourth" as used herein are used to distinguish between different elements and may not have an ordinal meaning based on their numerical designations.

[0250] The examples described herein also relate to apparatus for performing the methods described herein. This apparatus may be specially configured to perform the methods described herein, or it may comprise a general-purpose computer system selectively programmed by a computer program stored in the computer system. This computer program may be stored in a tangible computer-readable storage medium.

[0251] The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatuses to perform the methods described herein and / or each of their respective functions, routines, subroutines, or operations. Examples of various such system configurations are set forth in the description above.

[0252] The above description is intended to be illustrative, not restrictive. Although the present disclosure has been described with reference to specific illustrative examples and embodiments, it will be appreciated that the present disclosure is not limited to the described examples and embodiments. Accordingly, the scope of the disclosure should be determined with reference to the following claims, and encompasses the full scope of equivalents of those claims.

[0253] 100: System 110: Prediction System 112: Prediction Server 114: Prediction Component 120: Client device 122: Correction action parts 124: Manufacturing Equipment 126:Sensor 128: Measuring equipment 130: Prediction Server 140:Data Storage 142:Tracking Information 144: Historical tracking data 146: Current tracking data 150: Performance data 152: Historical performance data 154: Current performance information 168: Forecast Data 170: Server Machine 172:Data Group Generator 180: Server Machine 182: Training Engine 184:Verification Engine 185:Select Engine 186:Test Engine 190: Machine Learning Model 506: Line 512: Area 606: Parameters 608: Charts 610: Guard band violation shape characterization 612: Charts 620: Charts 622: with average value 624: Guard Band Limit 626:Offset 630:Violation duration 632: Violation Range 634: Illegal area 636: Illegal location 638: Gap 640:Chart 642: Line 660: Line 666:Violation Probability Density Function (pdf) 668:Threshold 670:Test tracking data 672: score 674: Score Ranking 676: Sensor Importance Ranking 677: Comprehensive score 678: Comprehensive Threshold 679: Fault detection results 680: Method 682: Block 684: Block 686: Block 688: Block 690: Block 692: Block 694: Block 696: Block 698: Block 699: Subject Matter Expertise 700: Method 702: Block 704: Block 706: Block 708: Block 710: Block 712: Block 714: Block 716: Block 718: Block 720: Block 722: Block 724: Block 730: Charts 732: Chart 734:Chart 736: Area 738: Area 740: Area 742:Chart 744:Method 746: Cube 748: Cube 750: Block 752: Cube 754: Block 756: Block 760: Charts 762: Chart 764:Chart 766:Chart 900: Computer System 902: Processing device 904: Volatile memory 906: Non-volatile memory 908: Bus 910: Video display unit 912: Alphanumeric input device 914: Cursor control device 918: Data storage device 920: Signal generating device 922: Network Interface Device 924: Computer-readable media 926: Instructions 974: Instructions 200A-D: Method 202-208: Operation 222-228: Operation 242-246: Operation 262-270: Operation 300A-C: Method 302-310: Operation 322-332: Operation 342-350: Operation 362-374: Operation 400A-D: Method 402-406: Operation 422-428: Operation 442-446: Operation 462-470: Operation 500A-E: Diagram 502A: Tracking Information 502B: Tracking Information 504A: Protective tape 504B: Protective tape 508A: Upper side changes 508B: Changes on the lower side 508C: Upper side changes 508D: Changes on the lower side 510A: Changes 602A-602Z: Charts 604A-Z: Protection zone violation data point group 614A: Well protected with illegal data points 614B: Bad protection zone violation data point 628A: First protection zone violation data point 628B: Second protection zone violation data point 628C: Protected illegal data points 628D: Protected illegal data points 662A-N:Sensor 664A-N: Protective tape 770A: Block Diagram 772A: Chart 772B: Chart 774A: Chart 774B:Chart 776A: Chart 776B:Chart 778A: Chart 778B:Chart 810A: Chart 810B: Charts 812A: Tracking Information 812B: Tracking Information 850A: Diagram 850B:Chart 850C:Chart

[0254] Domestic storage information (please note the order of storage institution, date, and number) none Overseas deposit information (please note the order of deposit country, institution, date, and number) none

Claims

1. A substrate processing method comprising the steps of: identifying tracking data comprising a plurality of data points, the tracking data being associated with a substrate having attribute values ​​satisfying a threshold value produced via a substrate processing system; determining a dynamically acceptable region outside a guard band limit based on the tracking data; and causing a correction action associated with the substrate processing system to be performed based on the dynamically acceptable region outside the guard band limit.

2. The method as described in claim 1, wherein the tracking data comprises a first portion and a second portion, the second portion occurring after the first portion, wherein the dynamic acceptable region is associated with one or more of drift or noise associated with the substrate processing system.

3. The method as described in claim 1, wherein the step of determining the dynamically acceptable area outside the protection zone limits comprises the following steps: training a machine learning model from data input including the tracking data to generate a trained machine learning model that indicates the dynamically acceptable area outside the protection zone limits.

4. The method as described in claim 1, further comprising the step of adjusting the guard band limits based on input data within the dynamically receivable area.

5. The method as described in claim 1, further comprising the step of: horizontally distorting a portion of the tracking data without vertically distorting it to ignore out-of-phase factors while preserving vertical noise.

6. The method as described in claim 1, further comprising the step of: vertically and horizontally scaling a portion of the tracking data to ignore variations in recipe endpoints and magnitudes.

7. The method as described in claim 1, wherein the dynamically acceptable region is a first value and a second value, the first value being in a first portion of the protection bands and the second value being in a second portion of the protection bands.

8. The method as described in claim 1, wherein the tracking data comprises historical tracking data and simulated tracking data, the simulated tracking data being generated by applying one or more of drift, oscillation, noise, or spikes to the historical tracking data.

9. The method as described in claim 1, wherein the resulting step of the execution of the correction action comprises the steps of: providing additional tracking data as input to a trained machine learning model; receiving an output containing prediction data from the trained machine learning model; and determining, based on the prediction data, that at least a portion of the additional tracking data is outside the dynamically acceptable area outside the protection zone limits.

10. A substrate processing method comprising the steps of: identifying tracking data comprising a plurality of data points associated with a substrate produced via a substrate processing system; comparing the tracking data with an acceptable area outside a guard band limit; and updating the acceptable area outside the guard band limit based on the tracking data in response to one or more data points of the tracking data being located within the acceptable area, wherein the execution of a correction action associated with the substrate processing system is based on at least a portion of the tracking data being located outside the acceptable area outside the guard band limit.

11. The method as described in claim 10, wherein the tracking data comprises a first portion and a second portion, the second portion occurring after the first portion, wherein the update of the acceptable area is based on one or more of drift or noise associated with the substrate processing system.

12. The method as described in claim 10, wherein the acceptable area outside the protection zone is associated with a trained machine learning model trained by data input including historical tracking data over time.

13. The method as described in claim 12, wherein the data input further comprises analog tracking data generated by applying one or more of drift, oscillation, noise, or spikes to the historical tracking data.

14. The method as described in claim 10, further comprising the step of: horizontally distorting a portion of the tracking data without vertically distorting it to ignore out-of-phase factors while preserving vertical noise.

15. The method as described in claim 10, further comprising the step of: vertically and horizontally scaling a portion of the tracking data to ignore variations in recipe endpoints and magnitudes.

16. The method as described in claim 10, wherein the acceptable region is a first value and a second value, the first value being in a first portion of the protection bands and the second value being in a second portion of the protection bands.

17. The method of claim 10, wherein the comparison step of the tracking data with the acceptable area outside the protection zone limits comprises the following steps: providing the tracking data as input to a trained machine learning model; receiving an output containing prediction data from the trained machine learning model; and determining, based on the prediction data, that at least a portion of the tracking data is within the protection zone limits, within the acceptable area, or outside the acceptable area.

18. A non-transitory computer-readable storage medium storing instructions thereon, which, when executed by a processing device, cause the processing device to perform substrate processing operations, the operations comprising: identifying tracking data comprising a plurality of data points associated with a substrate having attribute values ​​satisfying a threshold value produced via a substrate processing system; determining a dynamically acceptable region outside a guard band limit based on the tracking data; and causing a correction action associated with the substrate processing system to be performed based on the dynamically acceptable region outside the guard band limit.

19. The non-transitory computer-readable storage medium as described in claim 18, wherein the tracking data comprises a first portion and a second portion, the second portion occurring after the first portion, wherein the dynamic acceptable region is associated with one or more of drift or noise associated with the substrate processing system.

20. The non-transitory computer-readable storage medium as described in claim 18, wherein the step of determining the dynamically acceptable area outside the protection band limits comprises the following steps: training a machine learning model from data input containing the tracking data to generate a trained machine learning model that indicates the dynamically acceptable area outside the protection band limits.

Citation Information

Patent Citations

  • Scheduling substrate routing and processing

    TW202205038A

  • Mounted circuit board producing system

    US5560533A