Edge defect detection via image analysis
Patent Information
- Application Number
- CN202380067627.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-21
- Filing Date
- 2023-09-19
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-09-19
Smart Images

Figure CN119907991B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to image analysis, and more specifically to edge defect detection via image analysis. Background Technology
[0002] Manufacturing equipment includes various parts used to produce products. For example, substrate processing equipment includes parts for producing substrates (e.g., processing substrates). The quality and cleanliness of these parts affect the product's performance data. Summary of the Invention
[0003] The following is a simplified overview of this disclosure to provide a basic understanding of some aspects of it. This disclosure is not a comprehensive summary of the disclosure. It is not intended to identify key or essential elements of the disclosure, nor is it intended to define any scope of any particular implementation or claim. The sole purpose of this disclosure is to present some concepts of the disclosure in a simplified form as a prelude to the [implementations] presented later.
[0004] In one aspect of this disclosure, a method includes: identifying an image of the edge of a base recess formed by a substrate processing system. The method further includes: predicting, based on the image, whether an attribute value of the base edge satisfies a threshold. The method further includes: in response to the edge attribute value satisfying the threshold, causing a correction action associated with the base to be performed.
[0005] In another aspect of this disclosure, there is a non-transitory computer-readable storage medium storing instructions that, when executed, cause a processing device to perform operations. The operations include: identifying an image of the edge of a base recess formed by a substrate processing system. The operations further include: predicting, based on the image, whether an attribute value of the base edge satisfies a threshold. The operations further include: in response to the edge attribute value satisfying the threshold, causing a correction action associated with the base to be performed.
[0006] In another aspect of this disclosure, a system includes a memory and a processing means coupled to the memory. The processing means is used to identify an image of the edge of a base recess formed by a base of a substrate processing system. The processing means further predicts, based on the image, whether an attribute value of the base edge meets a threshold. The processing means further causes a correction action associated with the base to be performed in response to the edge attribute value meeting the threshold. Attached Figure Description
[0007] This disclosure is illustrated in the accompanying drawings by way of example rather than limitation.
[0008] Figure 1 This is a block diagram illustrating an exemplary system architecture according to certain embodiments.
[0009] Figure 2 A dataset generator for creating a dataset for a machine learning model is shown according to some embodiments.
[0010] Figure 3 This is a block diagram illustrating the determination of prediction data according to certain embodiments.
[0011] Figures 4A to 4C Parts of a substrate processing apparatus according to certain embodiments are shown.
[0012] Figures 5A to 5E Images of components of a substrate processing apparatus according to certain embodiments are shown.
[0013] Figures 6A to 6D Images of components of a substrate processing apparatus according to certain embodiments are shown.
[0014] Figures 7A to 7E This is a flowchart of a method associated with edge defect detection according to certain embodiments.
[0015] Figure 8 This is a block diagram illustrating a computer system according to certain embodiments. Detailed Implementation
[0016] This article describes techniques for edge defect detection via image analysis (e.g., automated quality control inspection of substrate edges, and using image analysis to detect wafer recess edge defects in substrates).
[0017] Manufacturing equipment includes various parts used to produce products. For example, substrate processing equipment includes parts for producing substrates (e.g., processing substrates). Some parts, such as bases, form edges (e.g., recessed edges formed on the upper surface of the base). The quality and cleanliness of these parts affect the product's performance data. For example, a base with damaged or accumulated recessed edges may result in the produced substrate's performance data failing to meet thresholds (e.g., producing defective wafers).
[0018] In some conventional systems, parts are manually inspected to attempt to determine if they meet quality and cleanliness standards for producing substrates with performance data that will meet thresholds. Depending on the user performing the inspection, manual inspection can be time-consuming and inaccurate. Inaccurate manual inspection may lead to the use of defective parts or premature part replacement.
[0019] In some conventional systems, intervals are scheduled for the execution of maintenance operations on components (e.g., cleaning, repair, and replacement). These intervals are set to attempt to keep components under conditions conducive to producing substrates with performance data that will meet thresholds (e.g., cleaning, repairing, and replacing components before producing defective wafers). Over time, components may become damaged, worn, or accumulate foreign matter, conditions that may not occur within the set intervals (e.g., they may occur before or after the set intervals). Prematurely repairing or replacing components results in waste, time consumption, reduced yield, and production interruptions. Overdue repairs or replacements can lead to substrate performance data failing to meet thresholds and equipment damage.
[0020] The devices, systems, and methods disclosed herein provide edge defect detection via image analysis.
[0021] The processing device identifies an image of the edge of a substrate processing equipment component (e.g., a base). An image of the substantially horizontal upper surface of the base may be captured. The base may have one or more recesses (e.g., base cavities). The base may include an upper surface forming one or more recesses (e.g., base cavities). The recesses may be further formed by one or more sidewalls (e.g., substantially vertical sidewalls) and a lower surface. The intersection of the upper surface and the sidewalls of the recess is an edge (e.g., an upper edge). The base cavity may be configured to receive a substrate for performing substrate processing operations. Over time, defects may appear at the edge (e.g., due to placing and removing the substrate in the base cavity).
[0022] The processing device predicts whether the attribute values of the base's edges meet a threshold based on the image.
[0023] In some embodiments, the processing apparatus determines, based on the image, at least one of the height of a portion of the image associated with an edge or the number of pixels associated with an edge crack. An edge with stacking or damage (e.g., cracking) may have a height that meets a threshold in the image (e.g., greater than the height in an image of a substrate producing a good wafer). A damaged (e.g., cracked) edge may have a certain number of pixels associated with the edge crack that meet a threshold, such as white pixels (e.g., greater than the number of white pixels in an image of a substrate producing a good wafer).
[0024] In some embodiments, an image is provided to a trained machine learning model, and an output associated with the predicted data is received from the machine learning model.
[0025] In response to attribute values of edges that meet thresholds (e.g., edge height meeting threshold height, number of pixels meeting threshold amount, and predicted data indicating that the attribute value meets the threshold), the processing device induces the execution of correction actions associated with components of the substrate processing equipment. Correction actions may include providing alarms, initiating cleaning processes, initiating repair processes, initiating replacement of substrate processing equipment components, and initiating further inspections.
[0026] This disclosure offers technological advantages in every aspect. It avoids the time-consuming, inaccurate, and subjective nature of traditional manual inspection. It enables corrective actions related to substrate processing equipment components to produce substrates that meet thresholds, prevent equipment damage, increase throughput, and avoid production interruptions.
[0027] Some embodiments of this disclosure describe the performance of edge defect detection on a base. In some embodiments, the invention can be used to perform edge defect detection on other components (e.g., substrate processing equipment components), such as electrostatic chucks and edge rings.
[0028] Some embodiments of this disclosure describe performing edge defect detection on base recesses (e.g., grooves formed by a component) created by a base. In some embodiments, this disclosure can be used to perform edge defect detection on other portions of a component (e.g., a substrate processing device component); other portions such as peripheral edges and platforms, etc.
[0029] Some embodiments of this disclosure describe performing edge defect detection on edges that are substantially vertical and form a circular shape (e.g., a circular recess in a base). In some embodiments, this disclosure can be used to perform edge defect detection on other types of edges; other types of edges such as substantially non-perpendicular edges and edges that do not form a circular shape (e.g., edges that form rectangular, triangular, and oval shapes, etc.).
[0030] As used herein, the term “production” can refer to producing a final version of a product (e.g., a fully processed substrate) or an intermediate version of a product (e.g., a partially processed substrate). As used herein, “producing a substrate” can refer to processing a substrate by performing one or more substrate processing operations.
[0031] Figure 1 The frame system 100, illustrating an exemplary system 100 (exemplary system architecture) according to certain embodiments, includes a client device 120, manufacturing equipment 124, a sensor 126, a metering device 128, a prediction server 112, and a data storage 140. In some embodiments, the prediction server 112 is part of the prediction system 110. In some embodiments, the prediction system 110 further includes server machines 170 and 180.
[0032] In some embodiments, one or more of the following components—client device 120, manufacturing equipment 124, sensor 126, metering device 128, prediction server 112, data storage 140, server machine 170, and / or server machine 180—are coupled to each other via network 130 to generate prediction data 160, thereby performing edge defect detection. In some embodiments, network 130 is a public network that provides client device 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 device 120 with access to manufacturing equipment 124, sensor 126, metering device 128, data storage 140, and other privately available computing devices. In some embodiments, network 130 includes 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., LTE networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0033] In some embodiments, client device 120 includes a computing device such as a personal computer (PC), laptop computer, mobile phone, smartphone, tablet computer, laptop, etc. In some embodiments, client device 120 includes a correction action component 122. In some embodiments, the correction action component 122 may also be included in the prediction system 110 (e.g., a machine learning processing system). In some embodiments, the correction action component 122 is alternatively included in the prediction system 110 (e.g., not in the client device 120). Client device 120 includes an operating system that allows a user to merge, generate, view, or edit data, provide instructions to the prediction system 110 (e.g., the machine learning processing system), etc., or more of these activities.
[0034] In some embodiments, the correction action component 122 (e.g., a graphical user interface (GUI) displayed via the client device 120) receives user input, receives sensor data 142 from sensors, and receives performance data 152 from the metering device 128, etc. In some embodiments, the correction action component 122 transmits data (e.g., user input, sensor data 142, performance data 152, etc.) to the prediction system 110, receives prediction data 160 from the prediction system 110, determines a correction action based on the prediction data 160, and causes the correction measure to be implemented. In some embodiments, the correction action component 122 stores data (e.g., user input, sensor data 142, and performance data 152, etc.) in the data storage 140, and the prediction server 112 retrieves data from the data storage 140. In some embodiments, the prediction server 112 stores the output of a trained machine learning model 190 (e.g., prediction data 160) in the data storage 140, and the client device 120 retrieves the output from the data storage 140. In some embodiments, the correction action component 122 receives an instruction for a correction action from the prediction system 110 (e.g., based on prediction data 160) and causes the execution of the correction action.
[0035] In some embodiments, the predicted data 160 is associated with a corrective action. In some embodiments, the corrective action is associated with one or more of the following: cleaning a substrate processing equipment part, repairing a substrate processing equipment part, replacing a substrate processing equipment part, computational process control (CPC), statistical process control (SPC) (e.g., SPC compared with a 3-sigma chart, etc.), advanced process control (APC), model-based process control, preventative operation and maintenance, design optimization, manufacturing parameter updates, feedback control, machine learning modification, or the like. In some embodiments, the corrective action includes providing an alarm (e.g., not using an alarm for the substrate processing equipment part or manufacturing equipment 124 if the predicted data 160 indicates a predicted anomaly, such as an anomaly in the substrate processing equipment part or product). In some embodiments, the corrective action includes providing feedback control (e.g., cleaning, repairing, and / or replacing the substrate processing equipment part in response to the predicted data 160 indicating a predicted anomaly). In some embodiments, the corrective action includes providing machine learning (e.g., causing modification of the substrate processing equipment part based on the predicted data 160).
[0036] In some embodiments, prediction server 112, server machine 170, and server machine 180 each include one or more computing devices, such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, graphics processing units (GPUs), application-specific integrated circuits (ASICs) for accelerators (e.g., tensor processing units (TPUs)), etc.
[0037] Prediction server 112 includes prediction component 114. In some embodiments, prediction component 114 receives sensor data 142 (e.g., received from client device 120, retrieved from data storage 140) and generates prediction data 160 associated with edge defect detection. In some embodiments, prediction component 114 uses one or more trained machine learning models 190 to determine the prediction data 160 for edge defect detection. In some embodiments, the trained machine learning model 190 is trained using historical sensor data 144 and historical performance data 154.
[0038] In some embodiments, prediction system 110 (e.g., prediction server 112, prediction component 114) uses supervised machine learning (e.g., supervised datasets, historical sensor data 144 labeled with historical performance data 154, etc.) to generate prediction data 160. In some embodiments, prediction system 110 uses semi-supervised learning (e.g., semi-supervised datasets, performance data 152 being a predicted percentage, etc.) to generate prediction data 160. In some embodiments, prediction system 110 uses unsupervised machine learning (e.g., unsupervised datasets, clusters, clusters based on historical sensor data 144, etc.) to generate prediction data 160.
[0039] In some embodiments, manufacturing equipment 124 (e.g., a clustering tool) is part of a substrate processing system (e.g., an integrated processing system). Manufacturing equipment 124 includes a controller, a housing system (e.g., a substrate carrier, a front-opening wafer transfer box (FOUP), an automated teach pendant FOUP, a process kit housing system, a substrate housing system, and a box, etc.), a side storage box (SSP), an alignment device (e.g., an alignment chamber), a factory interface (e.g., a device front-end module (EFEM)), a loading gate, a transfer chamber, one or more processing chambers, a robotic arm (e.g., disposed in the transfer chamber and disposed in the front interface, etc.), and / or the like. The housing system, SSP, and loading gate are mounted to the factory interface, and the robotic arm disposed in the factory interface is used to transfer contents (e.g., substrates, process kit rings, carriers, and verification chips, etc.) between the housing system, SSP, loading gate, and factory interface. An alignment device is disposed in the factory interface to align the contents. A loading gate and a processing chamber are mounted to a transfer chamber, and a robotic arm disposed in the transfer chamber is used to transfer contents (e.g., substrates, processing kit rings, carriers, and verification wafers, etc.) between the loading gate, processing chamber, and transfer chamber. In some embodiments, manufacturing apparatus 124 includes components of a substrate processing system. In some embodiments, sensor data 142 includes parameters of processes (e.g., etching, heating, cooling, transfer, handling, and flow, etc.) performed by components of manufacturing apparatus 124. In some embodiments, substrate processing equipment parts are components of the processing chamber (e.g., nozzles, bases, electrostatic chucks, and edge rings, etc.).
[0040] In some embodiments, sensor 126 provides sensor data 142 (e.g., sensor values, such as historical and current sensor values) associated with manufacturing equipment 124. In some embodiments, sensor 126 includes imaging sensors (e.g., cameras, image capture devices, etc.), pressure sensors, temperature sensors, flow sensors, spectral sensors, and / or one or more sensors such as these. In some embodiments, sensor data 142 is used for equipment health and / or product health (e.g., product quality). In some embodiments, sensor data 142 is received over a period of time.
[0041] In some embodiments, sensor 126 provides sensor data 142, such as image data, leakage rate, temperature, pressure, flow rate (e.g., gas flow rate), pumping efficiency, spacing (SP), high frequency radio frequency (HFRF), current, power, voltage, and / or values of one or more of these.
[0042] In some embodiments, sensor data 142 (e.g., historical sensor data 144, current sensor data 146, etc.) is processed by client device 120 and / or prediction server 112. In some embodiments, processing of sensor data 142 includes generating features. In some embodiments, features are a portion of sensor data (e.g., a cropped image), processed image data (e.g., a processed image), a pattern in sensor data 142 (e.g., slope, width, height, and peak values, etc.), or a combination of values from sensor data 142 (e.g., power derived from voltage and current, etc.). In some embodiments, sensor data 142 includes features used by prediction component 114 to obtain prediction data 160.
[0043] In some embodiments, metrology device 128 (e.g., imaging device, spectroscopic device, ellipticity device, etc.) is used to determine metrological data (e.g., inspection data, image data, spectral data, ellipticity data, material composition, optical or structural data, etc.) corresponding to a substrate produced by manufacturing equipment 124 (e.g., substrate processing equipment). In some examples, after the manufacturing equipment 124 processes the substrate, metrology device 128 is used to inspect portions (e.g., layers) of the substrate. In some embodiments, metrology device 128 performs scanning acoustic microscopy (SAM), ultrasound inspection, X-ray inspection, and / or computed tomography (CT) inspection. In some examples, after the manufacturing equipment 124 deposits one or more layers on the substrate, metrology device 128 is used to determine the quality of the processed substrate (e.g., layer thickness, layer uniformity, interlayer spacing, and / or the like). In some embodiments, metrology device 128 includes image capture means (e.g., SAM device, ultrasound device, X-ray device, CT device, and / or the like). In some embodiments, performance data 152 includes metrological data from metrology device 128.
[0044] In some embodiments, data storage 140 is a memory (e.g., random access memory), a disk drive (e.g., hard disk, USB flash drive), a database system, or another type of component or device capable of storing data. In some embodiments, data storage 140 includes multiple storage components (e.g., multiple disk drives or multiple databases) spanning multiple computing devices (e.g., multiple server computers). In some embodiments, data storage 140 stores one or more of sensor data 142, performance data 152, and / or prediction data 160.
[0045] Sensor data 142 includes historical sensor data 144 and current sensor data 146. In some embodiments, sensor data 142 may include image data, pressure data, pressure range, temperature data, temperature range, flow rate data, power data, comparison parameters for comparing inspection data with threshold data, threshold data, cooling rate data, cooling rate range, and / or one or more of the like. In some embodiments, at least a portion of sensor data 142 originates from sensor 126.
[0046] Performance data 152 includes historical performance data 154 and current performance data 156. Performance data 152 may include attribute values of substrate processing equipment components (e.g., bases) and indications of whether the attribute values of substrate processing equipment components (e.g., bases) meet thresholds. In some examples, performance data 152 indicates whether the substrate is properly designed, properly manufactured, and / or properly functioning. In some embodiments, at least a portion of performance data 152 is associated with the quality of the substrate produced by manufacturing equipment 124. In some embodiments, at least a portion of performance data 152 is based on metrological data from metrology equipment 128 (e.g., historical performance data 154 includes metrological data indicating correctly processed substrates, substrate characteristic data, and yield, etc.). In some embodiments, at least a portion of performance data 152 is based on substrate inspection (e.g., current performance data 156 based on actual inspection). In some embodiments, performance data 152 includes absolute value indications (e.g., combining interface inspection data indications to calculate values that miss a threshold data, deformation values to calculate values that miss a threshold deformation value), or relative value indications (e.g., combining interface inspection data indications to calculate values that miss a threshold data by 5%, deformation values to calculate values that miss a threshold deformation value by 5%). In some embodiments, performance data 152 indicates that a threshold error amount is met (e.g., at least 5% error in production, at least 5% error in flow, at least 5% error in deformation, and specification limits).
[0047] In some embodiments, client device 120 provides performance data 152 (e.g., product data). In some examples, client device 120 (e.g., based on user input) provides performance data 152 indicating product anomalies (e.g., defective products). In some embodiments, performance data 152 includes the quantity of normal or abnormal products produced (e.g., 98% normal products). In some embodiments, performance data 152 indicates the quantity of products being produced that are predicted to be normal or abnormal. In some embodiments, performance data 152 includes the output of the previous batch of products, average output, predicted output, predicted number of defective or non-defective products, or one or more of these. In some examples, in response to the output of the first batch of products being 98% (e.g., 98% of products are normal, 2% are abnormal), client device 120 provides performance data 152 indicating that an upcoming batch of products will have 98% output.
[0048] In some embodiments, historical data includes one or more of historical sensor data 144 and / or historical performance data 154 (e.g., at least a portion used to train machine learning model 190). Current data includes one or more of current sensor data 146 and / or current performance data 156 (e.g., at least a portion of which will be fed into the trained machine learning model 190 after training model 190 using historical data). In some embodiments, current data is used to retrain the trained machine learning model 190.
[0049] In some embodiments, the prediction data 160 is used to induce a correction action on a substrate processing device component.
[0050] Metering products to identify faulty components (e.g., bonded metal plate structures) produced by substrate processing equipment that do not meet quality thresholds is expensive in terms of time, metering equipment 128, energy consumption, and bandwidth used for transmitting and processing metering data. By providing sensor data 142 to model 190 and receiving predictive data 160 from model 190, system 100 has the advantage of avoiding the expensive processing of using metering equipment 128 and discarding substrates.
[0051] Using substrate processing equipment parts that cause defective products to perform the manufacturing process is costly in terms of time, energy, products, substrate processing equipment parts, manufacturing equipment 124, identifying substrate processing equipment parts that cause defective products, cleaning substrate processing equipment parts, repairing substrate processing equipment parts, replacing substrate processing equipment parts, and discarding old components. By providing sensor data 142 to model 190, receiving predictive data 160 from model 190, and inducing corrective actions based on the predictive data 160, system 100 has the technical advantage of avoiding the costs of producing, identifying, and discarding defective substrates.
[0052] In some embodiments, the prediction system 110 further includes server machines 170 and 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) to train, validate, and / or test multiple machine learning models 190. The dataset generator 172 has functions for data collection, compilation, reduction, and / or partitioning to bring the data into a form suitable for machine learning. In some embodiments (e.g., for small datasets), partitioning for post-training validation (e.g., explicit partitioning) is not used. Repeated cross-validation (e.g., 5-fold cross-validation, leave-one-out cross-validation) can be used during training, where a given dataset is actually repeatedly partitioned into different training and validation sets during training. Models (e.g., the best model and the model with the highest accuracy, etc.) are selected from model vectors on automatically separated combined subsets. In some embodiments, the dataset generator 172 may explicitly partition historical data (e.g., historical sensor data 144 and corresponding historical performance data 154) 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 this embodiment, reference will be made below. Figure 2 and Figure 7A The following describes some operations of the dataset generator 172 in detail. In some embodiments, the prediction system 110 (e.g., via prediction component 114) generates multiple sets of features (e.g., training features). In some examples, the first set of features corresponds to a first set of sensor data of a first type (e.g., derived from the first set of sensors, a first combination of values from the first set of sensors, and a first pattern from the values of the first set of sensors) corresponding to each dataset (e.g., training set, validation set, and test set), while the second set of features corresponds to a second set of sensor data of a second type (e.g., derived from a second set of sensors different from the first set of sensors, a second combination of values different from the first combination, and a second pattern different from the first pattern) corresponding to each dataset.
[0053] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a testing engine 186. In some embodiments, an engine (e.g., training engine 182, validation engine 184, selection engine 185, and testing engine 186) refers to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, and processing devices), software (e.g., instructions running on a processing device, general-purpose computer system, or special-purpose computer), firmware, microcode, or a combination of the above. Training engine 182 is capable of training machine learning model 190 using one or more sets of features associated with a training set from dataset generator 172. In some embodiments, training engine 182 generates multiple trained machine learning models 190, each training machine learning model 190 corresponding to a different set of parameters (e.g., sensor data 142) and a corresponding response (e.g., performance data 152) of the training set. In some embodiments, multiple models are trained on the same parameters with different objectives for the purpose of modeling multiple effects. In some examples, sensor data 142 from all sensors 126 (e.g., sensors 1-5) is used to train a first trained machine learning model, a first subset of sensor data (e.g. from sensors 1, 2, and 4) is used to train a second trained machine learning model, and a second subset of sensor data that partially overlaps with the first feature subset (e.g. from sensors 1, 3, 4, and 5) is used to train a third trained machine learning model.
[0054] The validation engine 184 is capable of validating the trained machine learning model 190 using a corresponding feature set from the validation set generated by the dataset generator 172. For example, a first set of features from the validation set is used to validate a first trained machine learning model 190 trained using a first set of features from the training set. The validation engine 184 determines the accuracy of each trained machine learning model 190 based on the corresponding feature set from the validation set. The validation engine 184 evaluates and labels (e.g., discards) trained machine learning models 190 with accuracy that does not meet a threshold accuracy. In some embodiments, the selection engine 185 is capable of selecting one or more trained machine learning models 190 with accuracy that meets the threshold accuracy. In some embodiments, the selection engine 185 is capable of selecting the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0055] The testing engine 186 can test the trained machine learning model 190 using the corresponding feature set of the test set from the dataset generator 172. For example, it can use the first set of features from the test set to test the first trained machine learning model 190 trained using the first set of features from the training set. The testing engine 186 determines the trained machine learning model 190 with the highest accuracy among all trained machine learning models based on the test set.
[0056] In some embodiments, machine learning model 190 (e.g., for classification) refers to a model artifact (e.g., correctly classifying conditions or ranking orders corresponding to training inputs) created by training engine 182 using a training set containing data inputs and corresponding target outputs. Patterns in the dataset can be found, mapping the data inputs to the target output (correct classification or ranking), and providing the machine learning model 190 with images capturing these patterns. In some embodiments, machine learning model 190 uses one or more of Gaussian process regression (GPR), Gaussian process classification (GPC), Bayesian neural networks, neural network Gaussian processes, deep belief networks, Gaussian mixture models, or other probabilistic learning methods. Non-probabilistic methods may also be used, including one or more of support vector machines (SVM), radial basis functions (RBF), clustering, nearest neighbor algorithms (k-NN), linear regression, random forests, and neural networks (e.g., artificial neural networks). In some embodiments, machine learning model 190 is a multivariate analysis (MVA) regression model.
[0057] Prediction component 114 provides current sensor data 146 (e.g., as input) to a trained machine learning model 190 and runs the trained machine learning model 190 (e.g., to obtain one or more outputs based on the input). Prediction component 114 is capable of determining (e.g., extracting) prediction data 160 from the trained machine learning model 190 and determining (e.g., extracting) uncertainty data indicating the confidence level of prediction data 160 corresponding to current performance data 156. In some embodiments, prediction component 114 or correction action component 122 uses uncertainty data (e.g., an uncertainty function or a extraction function derived from an uncertainty function) to determine whether to use prediction data 160 to perform a correction action or whether to further train model 190.
[0058] For illustrative and not limiting purposes, aspects of this disclosure describe using historical data (i.e., previous data, historical sensor data 144, and historical performance data 154) to train one or more machine learning models 190 and providing current sensor data 146 to one or more trained probabilistic machine learning models 190 to determine predicted data 160. In other embodiments, (e.g., without using trained machine learning models), heuristic or rule-based models are used to determine predicted data 160. In other embodiments, non-probabilistic machine learning models may be used. Prediction component 114 monitors historical sensor data 144 and historical performance data 154. In some embodiments, regarding Figure 2 Any information described in data input 210 is monitored or used in other ways in a heuristic or rule-based model.
[0059] In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 is provided by a smaller number of machines. For example, in some embodiments, server machines 170 and 180 are integrated into a single machine, while in other embodiments, server machine 170, server machine 180, and prediction server 112 are integrated into a single machine. In some embodiments, client device 120 and prediction server 112 are integrated into a single machine.
[0060] Generally, if appropriate, functions described in one embodiment as being performed by client device 120, prediction server 112, server machine 170, and server machine 180 may also be performed on prediction server 112 in other embodiments. Furthermore, the functionality of a particular component may be performed by different or multiple components operating together. For example, in some embodiments, prediction server 112 determines a correction action based on prediction data 160. In another example, client device 120 determines prediction data 160 based on data received from a trained machine learning model.
[0061] Furthermore, the functionality of a particular component may be performed by different or multiple components operating together. In some embodiments, one or more of the prediction server 112, server machine 170, or server machine 180 are accessed as a service provided to other systems or devices through an appropriate application programming interface (API).
[0062] In some embodiments, a "user" is referred to as a single individual. However, other embodiments of this disclosure cover a "user" as an entity controlled by multiple users and / or sources of automation. In some examples, a group of individual users united as a set of administrators is considered a "user".
[0063] Although the embodiments of this disclosure are discussed based on predictive data 160 for edge defect detection of parts in a substrate processing apparatus in a manufacturing facility (e.g., a substrate processing facility), in some embodiments, this disclosure can also be generally applied to quality inspection. The embodiments can generally be applied to determining the quality of parts based on different types of data.
[0064] Figure 2 This illustrates methods for creating machine learning models according to certain embodiments (e.g.) Figure 1 The dataset generator 272 (e.g., model 190) of the dataset. Figure 1 Dataset generator 272). In some embodiments, dataset generator 272 is Figure 1 Part of server machine 170. (By...) Figure 2 The datasets generated by dataset generator 272 can be used to train machine learning models (see, for example, see...). Figure 7D ), to trigger the execution of corrective actions (e.g., see Figure 7E ).
[0065] Dataset generator 272 (e.g., Figure 1 The dataset generator 172) creates datasets for machine learning models (e.g., Figure 1 The dataset of model 190). The dataset generator 272 uses historical sensor data 244 (e.g., Figure 1 Historical sensor data 144) and historical performance data 254 (e.g., Figure 1 The dataset was created using historical performance data (154). Figure 2 System 200 shows a dataset generator 272, data input 210, and target output 220 (e.g., target data).
[0066] In some embodiments, dataset generator 272 generates datasets (e.g., training sets, validation sets, and test sets); the datasets contain one or more data inputs 210 (e.g., training inputs, validation inputs, and test inputs) and one or more target outputs 220 corresponding to the data inputs 210. The datasets also include mapped data that maps the data inputs 210 to the target outputs 220. Data inputs 210 are also referred to as “features,” “attributes,” or “information.” In some embodiments, dataset generator 272 provides the datasets to training engine 182, validation engine 184, or testing engine 186, wherein the datasets are used to train, validate, or test machine learning models 190. Reference Figure 7A Some embodiments for generating training sets are further described below.
[0067] In some embodiments, the dataset generator 272 generates a data input 210 and a target output 220. In some embodiments, the data input 210 includes one or more sets of historical sensor data 244. In some embodiments, the historical sensor data 244 includes one or more sets of sensor data from one or more types of sensors, combinations of sensor data from one or more types of sensors, patterns of sensor data from one or more types of sensors, and / or the like.
[0068] In some embodiments, the dataset generator 272 generates a first data input corresponding to a first set of historical sensor data 244A to train, validate, or test a first machine learning model, and the dataset generator 272 generates a second data input corresponding to a second set of historical sensor data 244B to train, validate, or test a second machine learning model.
[0069] In some embodiments, the dataset generator 272 discretizes (e.g., segments) one or more of the data input 210 or the target output 220 (e.g., for use in a classification algorithm for a regression problem). Discretization of the data input 210 or the target output 220 (e.g., segmentation via a sliding window) transforms continuous values of variables into discrete values. In some embodiments, the discrete values of the data input 210 indicate discrete historical sensor data 244 to obtain the target output 220 (e.g., discrete historical performance data 254).
[0070] The data input 210 and target output 220 used to train, validate, or test the machine learning model include information specific to a particular facility (e.g., a particular substrate manufacturing facility). In some examples, historical sensor data 244 and historical performance data 254 are for the same manufacturing facility.
[0071] In some embodiments, the information used to train the machine learning model comes from a specific type of manufacturing equipment 124 with specific characteristics in a manufacturing facility, and allows the trained machine learning model to determine the outcome of a specific group of manufacturing equipment 124 based on inputs of current parameters (e.g., current sensor data 146) associated with one or more components sharing characteristics of a specific group. In some embodiments, the information used to train the machine learning model is for components from two or more manufacturing facilities, and allows the trained machine learning model to determine the outcome of a component based on inputs from one manufacturing facility.
[0072] In some embodiments, after generating a dataset and using the dataset to train, validate, or test the machine learning model 190, the machine learning model 190 is further trained, validated, or tested (e.g., Figure 1The current performance data 156) or adjustments (e.g., adjusting the weights associated with the input data of the machine learning model 190, such as connection weights in a neural network).
[0073] Figure 3 This illustrates a method for generating predictive data 360 according to certain embodiments (e.g., Figure 1 The frame system 300 of the system 300 (predicted data 160) is used to transmit data via a trained machine learning model (e.g., Figure 1 The model 190) determines the predicted data 360 for edge defect detection (e.g., for performing correction actions).
[0074] At box 310, system 300 (e.g., Figure 1 The prediction system 110 (e.g., via) Figure 1 The server machine 170's dataset generator 172) executes historical data (e.g., Figure 1 The model 190 partitions historical sensor data 344 and historical performance data 354 to generate training set 302, validation set 304, and test set 306. In some examples, the training set is 60% of the historical data, the validation set is 20% of the historical data, and the test set is 20% of the historical data. System 300 generates multiple sets of features for each of the training set, validation set, and test set. In some examples, if the historical data includes data from 20 sensors (e.g., ...), ... Figure 1 Given sensors 126 and features derived from 100 products (e.g., each product corresponding to sensor data from 20 sensors), the first set of features is for sensors 1-10, the second set is for sensors 11-20, the training set is for products 1-60, the validation set is for products 61-80, and the test set is for products 81-100. In this example, the first set of features for the training set would be the parameters from sensors 1-10 for products 1-60.
[0075] At box 312, system 300 uses training set 302 (e.g. via...). Figure 1The system 300 uses a training engine 182 to perform model training. In some embodiments, the system 300 uses multiple sets of features from a training set 302 (e.g., a first set of features from training set 302 and a second set of features from training set 302, etc.) to train multiple models. For example, the system 300 trains machine learning models to generate a first trained machine learning model using a first set of features from the training set (e.g., sensor data from sensors 1-10 for products 1-60) and a second trained machine learning model using a second set of features from the training set (e.g., sensor data from sensors 11-20 for products 1-60). In some embodiments, the first trained machine learning model and the second trained machine learning model are combined to generate a third trained machine learning model (e.g., in some embodiments, the third trained machine learning model is a better predictor than either the first trained machine learning model or the second trained machine learning model itself). In some embodiments, feature sets used for comparing models overlap (e.g., the first set of features is sensor data from sensors 1-15, while the second set of features is sensor data from sensors 5-20). In some embodiments, hundreds of models are generated, including models with various feature arrangements and model combinations.
[0076] At box 314, system 300 (e.g., via...) Figure 1 The validation engine 184 performs model validation using validation set 304. System 300 uses the corresponding feature set of validation set 304 to validate each trained model. For example, system 300 uses a first set of features from the validation set (e.g., parameters from sensors 1-10 for products 61-80) to validate a first trained machine learning model, and uses a second set of features from the validation set (e.g., parameters from sensors 11-20 for products 61-80) to validate a second trained machine learning model. In some embodiments, system 300 validates hundreds of models generated at box 312 (e.g., models with various feature permutations and combinations of models, etc.). At box 314, system 300 (e.g., after model validation) determines the accuracy of each of one or more models and determines whether one or more trained models have an accuracy that meets a threshold accuracy. In response to determining that no trained model has an accuracy that meets the threshold accuracy, the flow returns to box 312; in box 312, system 300 performs model training using different feature sets from the training set. In response to determining that one or more trained models have an accuracy that meets a threshold, the process continues to box 316. System 300 discards trained machine learning models with an accuracy below the threshold (e.g., based on the validation set).
[0077] At box 316, system 300 (e.g., via...) Figure 1The selection engine 185 performs model selection to determine which of one or more trained models that meets a threshold accuracy has the highest accuracy (e.g., selecting model 308 based on validation in box 314). In response to the determination that two or more trained models meeting the threshold accuracy have the same accuracy, the process returns to box 312; in box 312, system 300 performs model training using a further refined training set corresponding to a further refined feature set to determine the trained model with the highest accuracy.
[0078] At box 318, system 300 uses test set 306 to (e.g., via...) Figure 1 The test engine 186 performs model testing to test the selected model 308. System 300 uses a first set of features from the test set (e.g., sensor data from sensors 1-10 for products 81-100) to test the first trained machine learning model to determine if the first trained machine learning model meets a threshold accuracy (e.g., based on the first set of features from test set 306). In response to the selected model 308's accuracy not meeting the threshold accuracy (e.g., the selected model 308 overfits the training set 302 and / or the validation set 304 and is not suitable for other datasets such as test set 306), the process continues to box 312; in box 312, system 300 performs model training (e.g., retraining) using different training sets corresponding to different feature sets (e.g., sensor data from different sensors). In response to determining that the selected model 308 has an accuracy that meets the threshold accuracy based on test set 306, the process continues to box 320. At least in box 312, the model learns patterns in historical data to make predictions, and in box 318, system 300 applies the model to the remaining data (e.g., test set 306) to test the predictions.
[0079] At box 320, system 300 uses a trained model (e.g., selected model 308) to receive current sensor data 346 (e.g., Figure 1 The current sensor data 146), and the predicted data 360 (e.g., extracted) from the training model. Figure 1 The predicted data 160 is used for edge defect detection to perform correction actions. In some embodiments, the current sensor data 346 corresponds to features of the same type in the historical sensor data 344. In some embodiments, the current sensor data 346 corresponds to features of the same type as a subset of features in the historical sensor data 344 used to train the selected model 308.
[0080] In some embodiments, current data is received. In some embodiments, the current data includes current performance data 356 (e.g., ...). Figure 1Current performance data 156) and / or current sensor data 346. In some embodiments, at least a portion of the current data is from a metering device (e.g., current performance data 156) and / or current sensor data 346. Figure 1 The measurement device 128) receives or inputs via the user. In some embodiments, model 308 is retrained based on current data. In some embodiments, a new model is trained based on current performance data 356 and current sensor data 346.
[0081] In some embodiments, one or more of blocks 310-320 occur in various orders and / or occur together with other operations not presented and described herein. In some embodiments, one or more of blocks 310-320 are not performed. For example, in some embodiments, one or more of the following are not performed: data partitioning in block 310, model validation in block 314, model selection in block 316, and / or model testing in block 318.
[0082] Figures 4A to 4C A component 410 of a substrate processing apparatus according to certain embodiments is shown. Figure 4A This is a top view of component 410 of the substrate processing equipment. Figure 4B This is a perspective view of component 410 of the substrate processing equipment, and Figure 4C This is a perspective view of the substrate processing equipment component 410 and the image capturing device 400.
[0083] The substrate processing equipment component 410 may be a nozzle, a base, an edge ring, or an electrostatic chuck, etc. In some embodiments, the substrate processing equipment component 410 is cylindrical (e.g., with a circular periphery). In some embodiments, the upper surface 414 of the substrate processing equipment component 410 forms one or more recesses 412 (e.g., base recesses, wafer recesses, and base cavities). In some embodiments, the upper surface 414 of the substrate processing equipment component 410 forms two or more recesses 412 (e.g., two or more base cavities). In some embodiments, the upper surface of the substrate processing equipment component 410 forms three or more recesses 412 (e.g., three or more base cavities). In some embodiments, the upper surface of the substrate processing equipment component 410 forms four or more recesses 412 (e.g., four or more base cavities). In some embodiments, the upper surface of the substrate processing equipment component 410 forms five or more recesses 412 (e.g., five or more base cavities). In some embodiments, the upper surface of the substrate processing device component 410 is formed with six or more recesses 412 (e.g., six or more base recesses).
[0084] Each recess 412 (e.g., a cavity) may be further formed by one or more sidewalls 418 and a lower wall. Each recess 412 may be formed by a sidewall 418 having a substantially circular perimeter and a substantially vertical height. The sidewall 418 may be substantially perpendicular (e.g., 90-95 degrees, 90-100 degrees, and 95-100 degrees, etc.) to the lower wall and / or the upper surface 414. Each recess 412 may be formed by a lower wall; the lower wall is substantially planar, substantially parallel to the upper surface 414 of the substrate processing device part 410, and / or substantially perpendicular (e.g., 90-95 degrees, 90-100 degrees, and 95-100 degrees, etc.) to the sidewall 418. The sidewall 418 and the upper surface 414 may intersect at an edge 416 (e.g., an upper edge, a rounded edge). The sidewall 418 and the lower surface may intersect at a lower edge. Defects in edge 416 (e.g., the upper edge where sidewall 418 and upper surface 414 intersect) can lead to defects in the substrate produced by substrate processing equipment part 410.
[0085] The substrate processing apparatus component 410 may be configured to receive a substrate (e.g., a substrate having a circular periphery) in a recess 412 for performing substrate processing operations. The substrate processing apparatus component 410 may be disposed in a processing chamber configured to perform one or more substrate processing operations. The substrate processing apparatus component 410 and / or one or more portions of the processing chamber may be rotatable relative to each other, allowing different substrate processing operations to be performed on the substrate disposed in the recess 412. The recess 412 (e.g., and the substrate disposed in the recess 412) may be separated from each other by barriers (e.g., air curtains and partitions).
[0086] like Figure 4C As shown, an angle recognition component 420 (e.g., a protector) may be disposed in a recess 412 formed by a substrate processing equipment part 410 (e.g., the protector may be placed on top of a base recess to define an angle across a circumferential edge). An image capture device 400 may be used to capture images (e.g., sensor data 142) of the angle recognition component 420 and the edge 416 (the intersection of the sidewall 418 and the upper surface 414) of the substrate processing equipment part 410 (e.g., the base) forming the recess 412 (e.g., the base recess).
[0087] Angle recognition component 420 may have markings (e.g., per degree and per five degrees, etc.). Angle recognition component 420 may be a protector placed on top of a base recess to properly define the angle across the circumferential edge. Image capture device 400 may include a lamp (e.g., a light-emitting diode (LED)), a diffuser (e.g., a white diffuser), and a camera configured to capture input images at constant angular intervals. In some embodiments, image capture device 400 captures video and derives an image from the video.
[0088] In some embodiments, the image capturing device 400 is moved (e.g., manually) to different locations to capture images. In some embodiments, the image capturing device 400 includes an actuation device (e.g., a motor); the actuation device moves the camera (e.g., automatically) to different locations to capture images.
[0089] Figures 5A to 5E A substrate processing apparatus component 510 is shown according to certain embodiments (e.g., Figures 4A to 4C Images 500A-500E of substrate processing equipment component 410).
[0090] like Figure 5A As shown, an image 500A can be captured (e.g., the original image, the original input image). This can be achieved by using an angle recognition component 520 (e.g., Figure 4C An angle recognition component 420 is placed on or in a recess 512 (e.g., a base recess) to capture an image to correctly define the angle across the circumferential edge. A light (e.g., an LED) with a diffuser (e.g., a white diffuser) and a camera can be used to capture the input image (e.g., a still image and / or video) at constant angular intervals.
[0091] Image 500A may include at least a predetermined amount of markings (e.g., at least 5 degrees) of the angle recognition component 520. Image 500A may include forming a recess 512 (e.g., Figures 4A to 4C The edge 516 of the sidewall 418 of the recess 412 (base recess) (e.g., the intersection of the sidewall and the upper surface).
[0092] refer to Figure 5B Image 500B can be an already processed image 500A. Image 500A can be converted to grayscale to generate image 500B. Vertical and horizontal cropping windows can use grayscale to highlight edges.
[0093] refer to Figure 5C Image 500C (e.g., a grayscale cropped image) can be an already processed image 500A and / or image 500B. Dynamic bidirectional cropping can be applied to image 500B to obtain a specific region (e.g., the edge of the base) within a given angular interval (e.g., 5 degrees) in the image.
[0094] refer to Figure 5DImage 500D can be a processed image 500A, image 500B, and / or image 500C. Image 500D can be a thresholded image after initial cropping. Lines in image 500D can mark the asymmetry of image 500D relative to the center line. For edge segmentation, adaptive thresholding can be applied based on a predetermined grid size (e.g., an optimized grid size) to convert it into a binary image (e.g., with only black and white pixels). To eliminate background distortion, contour detection can be applied. Contours with smaller areas can be eliminated. For finer evaluation, additional smoothing can be applied to the background to highlight the edges of the base. Smoothing can include reducing the size of a shape to be smaller than a threshold size (e.g., a small dot) to separate the shape from the edge, thereby allowing the shape to be removed.
[0095] refer to Figure 5E Image 500E can be an already processed image 500A, image 500B, image 500C, and / or image 500D. Image 500E can be the final cropped image after removing background distortion and smoothing the background. In image 500E, the distribution of pixels highlighting edge cracks can be used to perform dynamic rotation (e.g., to make the image symmetrical) and final cropping can be performed.
[0096] Figures 6A to 6D A substrate processing apparatus component 610 is shown according to certain embodiments (e.g., Figures 4A to 4C Substrate processing equipment component 410, and Figures 5A to 5E Image 600 of substrate processing equipment component 510.
[0097] Figures 6A to 6C This can be a binary image. In a binary image, white pixels highlight the outline of edge defects. In some embodiments, linear scaling is applied to convert pixels to metric units (e.g., millimeters (mm)). The total number of white pixels in the image can be counted to analyze edges (e.g., damaged areas). The total vertical height of the image can indicate the extension height of the edge due to the crack. A "good" or "bad" classification can be performed by counting (e.g., quantity) the white pixels and comparing the extension height of the edge to a standard height. The entire process can be repeated for each recess in the base, for all possible angular intervals.
[0098] refer to Figure 6AImage 600A may be a substrate processing device part 610 with an edge that meets a threshold attribute value (e.g., the substrate processing device part has a "good" classification). Image 600A may display a standard reference height and a smaller number of white pixels on top. The height of image 600A may not meet a threshold height (e.g., the height is less than the height indicating an edge defect). The number of white pixels in image 600A may not meet a threshold amount (e.g., the number of white pixels is less than the number of white pixels indicating an edge defect).
[0099] refer to Figure 6B Image 600B may be a substrate processing device part 610 with an edge that does not meet a threshold attribute value (e.g., the substrate processing device part has a "good" classification). Image 600B may have an extended height and a greater number of white pixels at the top. The height of image 600B may meet a threshold height (e.g., the height is equal to or greater than the height indicating an edge defect). The number of white pixels in image 600B may meet a threshold amount (e.g., the number of white pixels is equal to or greater than the number of white pixels indicating an edge defect).
[0100] refer to Figure 6C Image 600C may be a substrate processing device part 610 with an edge having an attribute value that does not meet a threshold. The height 604 of image 600C meets a threshold height (e.g., greater than the height of the base edge of a substrate that produces performance data that meets the threshold). The number of a type of pixel 602 (e.g., white pixels) meets a threshold amount (e.g., the number of white pixels representing the region of an edge crack is greater than the number of white pixels at the base edge of a substrate that produces performance data that meets the threshold).
[0101] refer to Figure 6D Image 600D may be of substrate processing device component 610. Substrate processing device component 610 may include an upper surface 614 forming one or more recesses 612 (e.g., base recesses). Recesses 612 may be formed by sidewalls 618 and a lower surface. The intersection of sidewalls 618 and upper surface 614 may be an edge 616 (e.g., an upper edge).
[0102] The x-distance 620, y-distance 630, and / or z-distance 640 can be measured for substrate processing equipment component 610. Boundary y-bottom 632 can be the lower edge at the intersection of the lower surface and sidewall 618. Boundary x-top 622 and boundary x-bottom 624 can form the boundary between the sidewall 618 and the upper surface 614 of substrate processing equipment component 610. Edge defects (e.g., broken edges) at the top of edge 616 cause an increase in x-distance 620 (e.g., the height of an edge crack), an increase in z-distance 640 (e.g., the width of an edge crack), and a decrease in y-distance 630 (e.g., the distance between boundary y-bottom 632 and boundary x-bottom 624). Height 604 can be the sum of x-distance 620 and y-distance 630.
[0103] In some embodiments, height 604 is determined via automation (e.g., via processing logic). In some embodiments, the automatic height of edge 616 is compared with the manually calculated width of edge 616 (e.g., x distance 620, (X+Y)-Y).
[0104] Figures 7A to 7E This is a flowchart of methods 700A-700E associated with edge defect detection according to certain embodiments. In some embodiments, 700A-700E is executed by processing logic; the processing logic includes hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, and processing devices, etc.), software (e.g., instructions running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination of the above. In some embodiments, methods 700A-700E are executed at least partially by prediction system 110 and / or client device 120. In some embodiments, method 700A is executed at least partially by prediction system 110 (e.g., ... Figure 1 Server machine 170 and dataset generator 172, and Figure 2 The dataset generator 272) performs the operation. In some embodiments, the prediction system 110 uses method 700A to generate a dataset to perform at least one of training, validating, or testing a machine learning model. In some embodiments, methods 700B-700C are performed by client device 120. In some embodiments, method 700D is performed by server machine 180 (e.g., training engine 182, etc.). In some embodiments, method 700E is performed by prediction server 112 (e.g., prediction component 114). In some embodiments, method 700C is performed by client device 120 (e.g., correction action component 122). In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., the prediction system 110, server machine 180, prediction server 112, etc.), cause the processing device to perform one or more of methods 700A-700E.
[0105] For ease of explanation, methods 700A-700E are depicted and described as a series of operations. However, operations according to this disclosure may occur in various sequences and / or simultaneously with other operations not presented and described herein. Furthermore, in some embodiments, not all illustrated operations are to be performed to implement methods 700A-700E according to the disclosed objectives. Additionally, those skilled in the art will understand and recognize that methods 700A-700E may alternatively be represented as a series of interrelated states via state diagrams or events.
[0106] In some embodiments, one or more of methods 700A-700E are used to distinguish between good and bad parts, eliminate manual inspection and judgment regarding the end of part life, determine the end of substrate life, identify patterns of crack location and use them to improve coating (e.g., silicon carbide (SiC)) treatment, correlate crack occurrence with deposition conditions, shift the treatment window to a state that reduces cracks, detect cracks within a threshold accuracy, and / or one or more of the like.
[0107] Figure 7A This is a flowchart of a method 700A for generating a dataset for a machine learning model that generates predictive data (e.g., predictive data 160 in Figure 7).
[0108] refer to Figure 7A In some embodiments, at block 702, the processing logic implements method 700A to initialize the training set T as an empty set.
[0109] At box 704, the processing logic generates data containing sensor data (e.g., Figure 1 Historical sensor data 144 Figure 2 The first data input (e.g., first training input, first verification input) includes historical sensor data 244, etc. In some embodiments, the first data input includes a first set of features specific to the sensor data type, and the second data input includes a second set of features specific to the sensor data type (e.g., regarding historical sensor data 244, etc.). Figure 2 (As described).
[0110] At block 706, the processing logic generates a first target output for one or more data inputs (e.g., a first data input). In some embodiments, the first target output is historical performance data (e.g., Figure 1 Historical performance data 154 Figure 2 Historical performance data (254).
[0111] At box 708, the processing logic may optionally generate image data indicating the input / output image. The input / output image (or image data) refers to the data input (e.g., one or more data inputs as described herein), the target output of the data input (e.g., where the target output identifies historical performance data 154), and the association between the data input(s) and the target output(s).
[0112] At box 710, the processing logic will add the image data generated at box 708 to the dataset T.
[0113] At box 712, a logical branch is processed based on whether the dataset T is sufficient to perform at least one of training, validating, and / or testing the machine learning model 190 (e.g., the uncertainty of the trained machine learning model meets a threshold uncertainty). If yes, execution proceeds to box 714; otherwise, execution continues back to box 704. It should be noted that in some embodiments, the sufficiency of the dataset T is simply determined based on the number of input / output mappings in the dataset; while in some other embodiments, the sufficiency of the dataset T is determined based on one or more other criteria (e.g., measures of the diversity and accuracy of data examples, etc.) in addition to or instead of the number of input / output mappings.
[0114] At box 714, the processing logic provides (e.g., to server machine 180) a dataset T to train, validate, and / or test the machine learning model 190. In some embodiments, dataset T is a training set and is trained via a training engine 182 provided to server machine 180. In some embodiments, dataset T is a validation set and is validated via a validation engine 184 provided to server machine 180. In some embodiments, dataset T is a test set and is tested via a test engine 186 provided to server machine 180. For example, in the case of a neural network, input values (e.g., numerical values associated with data input 210) of a given input / output mapping are input into the neural network, and output values (e.g., numerical values associated with target output 220) of the input / output mapping are stored in the output nodes of the neural network. The connection weights in the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and this process is repeated for other input / output mappings in dataset T.
[0115] Following box 714, the machine learning model (e.g., machine learning model 190) can be trained using training engine 182 of server machine 180, validated using validation engine 184 of server machine 180, or tested using test engine 186 of server machine 180. The machine learning model is implemented by prediction component 114 (of prediction server 112) to generate prediction data (e.g., prediction data 160) for edge defect detection, thereby causing the execution of corrective actions.
[0116] Figure 7B This is method 700B associated with edge defect detection via image analysis according to certain embodiments. In some embodiments, method 700B is performed before and after cleaning of substrate processing equipment parts. Through method 700B, processing logic can dynamically detect the edges of the base recess from a digital image, and the processing logic can evaluate height and edge characteristics to further classify the edges of the base recess as meeting threshold conditions (e.g., good or poor condition).
[0117] At block 720 of method 700B, the processing logic identification substrate processing device component (e.g., Figures 4A to 4C The image shows the edge of a substrate processing device component 410. The substrate processing device component may be a base, an edge ring, or an electrostatic chuck, etc.
[0118] In some embodiments, the processing logic originates from the image capture device (e.g., Figure 4C The image capturing device 400 receives the image. An angle recognition component (e.g., Figure 4C An angle recognition component 420 is placed in or on a recess formed by a substrate processing device component (e.g., a base recess formed by a base). An image capturing device can project light (e.g., emitted via an LED light with a white diffuser) onto the edges of the substrate processing device component and the angle recognition component. The camera of the image capturing device can capture images at a constant angular interval between the edges and the angle recognition component. In some embodiments, the image capturing device can capture video containing images.
[0119] At box 722, the processing logic predicts whether the attribute values of the edges meet a threshold based on the image. The processing logic is executable. Figure 7C Method 700C Figure 7D Method 700D and / or Figure 7E Method 700E uses one or more boxes to predict whether the attribute values of the edges meet a threshold.
[0120] In some embodiments, attribute values include one or more of the following: edge height, number of pixels associated with edge deformation, etc. A threshold may indicate a substrate processing equipment part predicted to produce a substrate that does not have performance data that meets the threshold (e.g., defective). A threshold may indicate a substrate processing equipment part that needs to undergo corrective actions (e.g., cleaning, repair, and replacement) to produce a substrate with performance data that meets the threshold (e.g., a good wafer).
[0121] The processing logic can determine the location (e.g., the angular location of a defect present at the circumference of the cavity), size (e.g., the height of a defect present at the circumference of the cavity), and / or number of defects on the edge (e.g., a wafer recess).
[0122] At box 724, in response to the attribute value meeting the threshold, the process continues to box 726. At box 724, in response to the attribute value not meeting the threshold, the process continues to box 720, where subsequent images of the edges of the substrate processing device parts are identified and method 700B is repeated.
[0123] At box 726, the processing logic causes the execution of calibration actions associated with the substrate processing equipment components. Calibration actions may include one or more of the following: providing an alarm, initiating a cleaning action, initiating a repair action, initiating a replacement, and determining the predicted end of life of the substrate processing equipment components.
[0124] Repeatable boxes 720-726 continue until the attribute value of each edge meets a threshold. In some embodiments, the processing logic can predict the end of the lifespan of the substrate processing device part based on the number of correction actions (e.g., cleaning cycles) performed until the attribute values of the edges of the substrate processing device part meet the threshold.
[0125] Figure 7C This is a method associated with edge defect detection via image analysis according to certain embodiments. In some embodiments, method 700B is performed before and after cleaning of substrate processing equipment parts.
[0126] At box 730, an image of the edge of the processing logic identification substrate processing device component is processed (e.g., see...). Figure 5A ). Figure 7C The frame 730 can be similar Figure 7B The frame is 720.
[0127] At box 732, the processing logic converts the image to grayscale (see, for example, see...). Figure 5B In some embodiments, the image is captured in grayscale.
[0128] At box 734, the processing logic crops the image via bidirectional cropping (see, for example, see...). Figures 5B to 5CDynamic bidirectional cropping can be applied to obtain regions of the image within a predetermined angular interval (e.g., five degrees) (e.g., the edge of the base).
[0129] At box 736, the processing logic converts the image into a binary image (e.g., for edge segmentation) via adaptive thresholding based on a predetermined grid size (e.g., an optimized grid size). The binary image may consist of only black and white pixels.
[0130] In some embodiments, the processing logic applies a threshold pixel value to the image. In some embodiments, the image's pixel format is a byte image, where pixel values are numbers stored as 8-bit integers, giving a range of possible values from 0 to 255, where 0 is black and 255 is white. The processing logic may convert all pixel values above the threshold pixel value (e.g., 200) to white (e.g., a pixel value of 255) and all pixel values below the threshold pixel value (e.g., 200) to black (e.g., a pixel value of 0). This may remove gray pixel values from the image.
[0131] At box 738, the processing logic removes background distortion in the image by applying contour detection. Contours with small areas (e.g., areas smaller than a threshold) can be eliminated. For viewfinder evaluation, additional smoothing processing can be applied to the background to highlight the edges of the substrate processing device components. Smoothing may include reducing the size of a shape smaller than a threshold size (e.g., a small dot) to separate the shape from the edges, thereby removing the shape (e.g., via removing background distortion in box 738).
[0132] In some embodiments, the centroid of the edge in the y-direction is determined. If the contour is a threshold distance from the centroid, the processing logic may remove the contour.
[0133] At box 740, the processing logic dynamically rotates the image so that at least a portion of the image is substantially symmetrical (e.g., Figure 5D A rotatable image where the bottom left and bottom right black pixels are symmetrical about the center line.
[0134] At box 742, the processing logic performs the final cropping of the image. This final cropping can be performed after removing background distortion and smoothing the background.
[0135] At box 744, the processing logic applies linear scaling to the image to convert the units of pixels (e.g., converting pixels to metric units such as millimeters). White pixels highlight the outlines occupied by edge defects.
[0136] At box 746, the processing logic determines the height of a portion of the image associated with the edge based on the image (e.g., Figure 6CThe height of 604) or pixels associated with edge cracks (e.g., Figure 6C The number of white pixels (602) can be used to analyze damaged areas (e.g., edge defects). The total vertical height of the image can indicate the extension height of the edge due to the crack. A "good" or "bad" classification can be performed by counting the white pixels and comparing the extension height of the edge to a standard height.
[0137] At box 748, the processing logic determines whether the edge height meets the threshold height. If the edge height meets the threshold height, the process continues to box 752. If the edge height does not meet the threshold height, the process continues to box 750.
[0138] At box 750, the processing logic determines whether the number of pixels meets a threshold amount. In response to the number of pixels meeting the threshold height, the process continues to box 752. In response to the edge height not meeting the threshold height, the process continues to box 730. Method 700C can be repeated for each recess of the substrate processing device part (e.g., a base) for all corner intervals (e.g., every 5-degree interval around the edge).
[0139] At box 752, the processing logic prompts the execution of a correction action associated with the substrate processing equipment component. Figure 7C The box 752 can be similar Figure 7B Box 726.
[0140] Figure 7D It is used for training machine learning models (e.g., Figure 1 The method of Model 190), which uses a machine learning model to determine predictive data for edge defect detection via image analysis (e.g., Figure 1 The predicted data is 160).
[0141] refer to Figure 7D At block 760 of method 700D, the logic identifies historical sensor data (e.g., Figure 1 Historical sensor data 144, historical input sensor data). Historical sensor data may include historical images of the edges of the substrate processing device. This can be achieved through... Figure 7C Method 700C performs one or more operations to process the historical image (e.g., process the historical image by one or more of boxes 732-744).
[0142] In some embodiments, a network of available images of substrate processing equipment parts is available. In some embodiments, the second portion of the image is a substrate processing equipment part having attribute values that meet a threshold (e.g., an image of a defective substrate with broken edges, see [link]). Figures 6B to 6CIn some embodiments, the first portion of the image is a substrate processing device part having attribute values that do not meet a threshold (e.g., a good base image, see...). Figure 6A ).
[0143] Process historical performance data of logical recognition at box 762 (e.g.) Figure 1 Historical performance data (154, historical output performance data). At least a portion of historical sensor data and historical performance data may be associated with new substrate processing equipment parts (e.g., for benchmarking). Historical performance data may be an indication of whether the attribute values of the substrate processing equipment parts meet thresholds. Historical performance data may indicate whether the substrate processing equipment parts are new. Historical performance data may indicate whether the substrate processing equipment parts are defective. Historical performance data may be an indication of whether the performance data (e.g., attribute values, defect quantity, etc.) of the substrate produced by the substrate processing equipment parts meet thresholds (e.g., good wafer or bad wafer).
[0144] At box 764, the processing logic uses data input containing historical sensor data and target output containing historical performance data to train a machine learning model to generate a trained machine learning model.
[0145] In some embodiments, processing logic (e.g., via a trained machine learning model) correlates chamber wafer performance (e.g., defects, uniformity, etc.) with quantified defects on the substrate. Defect size and location can be compared and tracked (e.g., via digital recording) between cleaning operations and between substrates, and / or potential problem areas on substrate processing equipment parts related to chamber design and / or process conditions can be identified. In some examples, if the substrate has a substrate defect located close to the same position as an edge defect on a substrate processing equipment part, a corrective action is performed.
[0146] In some embodiments, the historical sensor data in block 760 includes historical images of historical substrate processing equipment parts, and the historical performance data in block 762 corresponds to historical substrate processing equipment parts. Historical performance data may be associated with substrate quality; substrate quality includes substrate metrology, substrate throughput, and substrate defects, etc. Historical performance data may be associated with the quality of substrate processing equipment parts; the quality of substrate processing equipment parts includes manual inspection, metrology of substrate processing equipment parts, and failure times of substrate processing equipment parts, etc. At block 764, a machine learning model can be trained using data input containing historical images and a target output containing historical performance data to generate a trained machine learning model configured to predict whether attribute values of substrate processing equipment parts meet thresholds. Figure 7B At box 722, the processing logic can use the trained machine learning model trained by method 700D in Figure D to determine whether the attribute value meets the threshold.
[0147] Figure 7E It is used to use trained machine learning models (e.g., Figure 1 The method 700E uses model 190) to perform edge defect detection to trigger the execution of correction actions.
[0148] refer to Figure 7E At block 780 of method 700E, logic is used to identify sensor data. In some embodiments, the sensor data at block 780 includes images of substrate processing equipment components. Figure 7E The frame 780 can be similar Figure 7B The frame is 720.
[0149] At block 782, the processing logic provides sensor data as a data input (e.g., via...). Figure 7D The trained machine learning model (frame 764).
[0150] At box 784, the processing logic receives the output associated with the predicted data from the trained machine learning model.
[0151] At box 786, the processing logic prompts the execution of correction actions based on the predicted data. Figure 7E The box 786 can be similar Figure 7B Box 726.
[0152] Figure 8 This is a block diagram illustrating a computer system 800 according to certain embodiments. In some embodiments, the computer system 800 is one or more of a client device 120, a prediction system 110, a server machine 170, a server machine 180, or a prediction server 112.
[0153] In some embodiments, computer system 800 is connected (e.g., via a network, such as a local area network (LAN), internal network, external network, or the Internet) to other computer systems. In some embodiments, computer system 800 operates as a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. In some embodiments, computer system 800 is a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, network device, server, network router, switch, or bridge, or any means capable of executing (sequentially or otherwise) a set of instructions specifying the action to be taken by the means. Furthermore, the term "computer" should include any collection of computers that individually or jointly execute a set (or more) of instructions to perform any one or more methods described herein.
[0154] In a further aspect, the computer system 800 includes a processing device 802, a volatile memory 804 (e.g., random access memory (RAM)), a non-volatile memory 806 (e.g., read-only memory (ROM) or electronically erasable programmable ROM (EEPROM)), and a data storage device 816, the above devices / memories communicating with each other via a bus 808.
[0155] In some embodiments, the processing device 802 is provided by one or more processors; the processors are such as general-purpose processors (e.g., complex instruction set computing (CISC) microprocessors, reduced instruction set computing (RISC) microprocessors, very long instruction word (VLIW) microprocessors, microprocessors that implement other types of instruction sets, or microprocessors that implement a combination of multiple types of instruction sets) or special-purpose processors (e.g., application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), or network processors).
[0156] In some embodiments, the computer system 800 further includes a network interface device 822 (e.g., coupled to a network 874). In some embodiments, the computer system 800 also includes a video display 810 (e.g., an LCD), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820.
[0157] In some embodiments, the data storage device 816 includes a non-transitory computer-readable storage medium 824 storing instructions 826 encoded for any one or more of the methods or functions described herein, including instructions for... Figure 1 Instructions are encoded for components (e.g., correction action component 122, prediction component 114, etc.) and can be used to implement the methods described herein (e.g., one or more of methods 700A-700E).
[0158] In some embodiments, the instructions 826 also reside wholly or partially within the volatile memory 804 and / or the processing device 802 during execution by the computer system 800; thus, in some embodiments, the volatile memory 804 and the processing device 802 also constitute machine-readable storage media.
[0159] Although computer-readable storage medium 824 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" should include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" should also include any tangible medium capable of storing or encoding a set of instructions for execution by a computer, which causes the computer to perform any or more of the methods described herein. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0160] In some embodiments, the methods, components, and features described herein are implemented by separate hardware components or integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. In some embodiments, the methods, components, and features are implemented by firmware modules or functional circuitry systems within a hardware device. In some embodiments, the methods, components, and features are implemented as any combination of hardware devices and computer program components or as a computer program.
[0161] Unless otherwise specified, terms such as “identify,” “predict,” “cause,” “capture,” “process,” “convert,” “crop,” “threshold,” “remove,” “rotate,” “provide,” “obtain,” “train,” “further train,” “retrain,” “receive,” “determine,” “update,” or similar terms refer to actions and processes performed or implemented by a computer system; whereby the computer system manipulates and converts data represented as physical (electronic) quantities within computer system caches and memories into other data similarly represented as physical quantities within computer system memory or caches or other such information storage, transmission, or display devices. In some embodiments, the terms “first,” “second,” “third,” and “fourth,” etc., as used herein are intended as labels to distinguish different components and do not have a meaning according to the order of their numerical names.
[0162] The examples described herein also relate to devices for performing the methods described herein. In some embodiments, the device is specifically configured to perform the methods described herein, or includes a general-purpose computer system selectively programmed by a computer program stored in a computer system. Such computer programs are stored in a computer-readable tangible storage medium.
[0163] The methods and illustrative examples described herein are not inherently associated with any particular computer or other device. In some embodiments, various general-purpose systems are used in accordance with the teachings described herein. In some embodiments, more specialized apparatus is created to perform each of the methods described herein and / or their respective functions, routines, subroutines, or operations. Structural examples of various such systems are set forth in the foregoing description.
[0164] The above description is intended to be illustrative and not restrictive. Although this disclosure has been described with reference to specific illustrative examples and embodiments, it should be understood that this disclosure is not limited to the described examples and embodiments. The scope of this disclosure should be determined by referring to the appended claims and the full scope of their equivalents.
Claims
1. A method, the method comprising: Image of the edge of a base recess formed in the upper surface of the base of a substrate processing system; Based on the image, predict whether the attribute value of the edge of the base meets a threshold, wherein the attribute value includes at least one of the height of the edge or pixels associated with the deformation of the edge; and The correction action associated with the base is performed in response to the attribute value of the edge satisfying a threshold.
2. The method of claim 1, wherein: The image is captured in response to an angle recognition component disposed in the recess of the base and light projected onto the edge and the angle recognition component; and At least a portion of the angle recognition component is in the image.
3. The method of claim 1, further comprising: Video of the edge is captured by moving the image capturing device along the edge; as well as The video is processed to identify a plurality of images at predetermined angular intervals, the plurality of images including the image.
4. The method of claim 1, wherein the image: Converted to grayscale; Cropped via dynamic bidirectional cropping; and Based on a predetermined grid size, the image is converted into a binary image via adaptive thresholding. The binary image includes pixels of a first type and pixels of a second type, wherein the pixels of the first type indicate edge defects of the edge.
5. The method of claim 1, wherein at least a portion of the background distortion in the image is removed by applying contour detection to the image.
6. The method of claim 1, wherein the image is dynamically rotated such that at least a portion of the image is substantially symmetrical.
7. The method of claim 1, wherein predicting whether the attribute value satisfies the threshold comprises: The image is provided as input to the trained machine learning model; The trained machine learning model yields an output associated with the predicted data. as well as Based on the predicted data, it is determined whether the attribute value of the edge meets the threshold.
8. The method of claim 7, wherein the trained machine learning model is trained using an input including a historical image of the historical base and a target output including historical performance data of the historical base.
9. A non-transitory computer-readable storage medium storing instructions, said instructions, when executed, causing a processing device to perform operations, said operations including: Image of the edge of a base recess formed in the upper surface of the base of a substrate processing system; Based on the image, predict whether the attribute value of the edge of the base meets a threshold, wherein the attribute value includes at least one of the height of the edge or the pixels associated with the deformation of the edge; as well as The correction action associated with the base is performed in response to the attribute value of the edge satisfying the threshold.
10. The non-transitory computer-readable storage medium of claim 9, wherein: The image is captured in response to an angle recognition component disposed in the recess of the base and light projected onto the edge and the angle recognition component; and At least a portion of the angle recognition component is in the image.
11. The non-transitory computer-readable storage medium of claim 9, wherein the operation further comprises: Video of the edge is captured by moving the image capturing device along the edge; as well as The video is processed to identify a plurality of images at predetermined angular intervals, the plurality of images including the image.
12. The non-transitory computer-readable storage medium of claim 9, wherein the image: Converted to grayscale; Cropped via dynamic two-way cropping; and Based on a predetermined grid size, the image is converted into a binary image via adaptive thresholding. The binary image includes pixels of a first type and pixels of a second type, wherein the pixels of the first type indicate edge defects of the edge.
13. The non-transitory computer-readable storage medium of claim 9, wherein: At least a portion of the background distortion in the image is removed by applying contour detection to the image; and The image is dynamically rotated such that at least a portion of the image is substantially symmetrical.
14. The non-transitory computer-readable storage medium of claim 9, wherein predicting whether the attribute value satisfies the threshold comprises: The image is provided as input to the trained machine learning model; The trained machine learning model yields an output associated with the predicted data. as well as Based on the predicted data, it is determined whether the attribute value of the edge meets the threshold.
15. A system comprising: Memory; as well as Processing device, the processing device being coupled to the memory, the processing device: Image of the edge of a base recess formed in the upper surface of the base of a substrate processing system; Based on the image, predict whether the attribute value of the edge of the base meets a threshold, wherein the attribute value includes at least one of the height of the edge or the pixels associated with the deformation of the edge; as well as The correction action associated with the base is performed in response to the attribute value of the edge satisfying the threshold.
16. The system of claim 15, wherein: The image is captured in response to an angle recognition component disposed in the recess of the base and light projected onto the edge and the angle recognition component; and At least a portion of the angle recognition component is in the image.
17. The system of claim 15, wherein the processing apparatus further comprises: Video of the edge is captured by moving the image capturing device along the edge; and The video is processed to identify a plurality of images at predetermined angular intervals, the plurality of images including the image.
Citation Information
Patent Citations
Visual inspection apparatus, visual inspection method, and peripheral edge inspection unit that can be mounted on visual inspection apparatus
CN101167171A
Eccentricity evaluation method, and method of manufacturing epitaxial wafer
JP2015201599A