Edge defect detection using image analysis
An image analysis system with machine learning models accurately detects edge defects in substrate processing equipment, enhancing throughput and product quality by avoiding manual inspection inaccuracies and premature component replacement.
Patent Information
- Application Number
- JP2025517294
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-21
- Filing Date
- 2023-09-19
- Publication Date
- 2025-09-29
AI Technical Summary
Conventional manual inspection of substrate processing equipment components, such as susceptors, is time-consuming, inaccurate, and can lead to premature replacement or failure to detect defects, resulting in defective products and equipment damage.
An image analysis-based system that uses a processing device to identify and predict edge defects in substrate processing equipment components, triggering corrective actions based on machine learning models to ensure quality and cleanliness standards are met.
The system improves throughput, avoids production interruptions, and ensures consistent product quality by accurately detecting edge defects and triggering timely corrective actions, reducing waste and equipment damage.
Smart Images

Figure 2025532115000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE This disclosure relates to image analysis, and more particularly to edge defect detection through image analysis. [Background technology]
[0002] Production equipment includes various components used to manufacture products. For example, substrate processing equipment includes components used to manufacture substrates (e.g., process substrates). The quality and cleanliness of the components affect the performance data of the product. Summary of the Invention
[0003] The following is a simplified summary of the present disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure, nor is it intended to delineate any scope of particular embodiments of the disclosure or any scope of the claims. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In an aspect of the present disclosure, a method includes identifying an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system, the method further includes predicting whether a characteristic value of the edge of the susceptor satisfies a threshold value based on the image, and the method further includes triggering execution of a corrective action related to the susceptor in response to the characteristic value of the edge satisfying the threshold value.
[0005] In another aspect of the present disclosure, a non-transitory computer-readable storage medium storing instructions that, when executed, cause a processing device to perform operations, including identifying an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system. The operations further include predicting, based on the image, whether a characteristic value of the edge of the susceptor satisfies a threshold. The operations further include causing execution of a corrective action related to the susceptor in response to the characteristic value of the edge satisfying the threshold.
[0006] In another aspect of the present disclosure, a system includes a memory and a processing device coupled to the memory. The processing device can identify an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system. The processing device can further predict, based on the image, whether a characteristic value of the edge of the susceptor satisfies a threshold. The processing device can further trigger execution of a corrective action related to the susceptor in response to the characteristic value of the edge satisfying the threshold.
[0007] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary system configuration, according to certain embodiments. [Figure 2] FIG. 1 illustrates a dataset generator for creating a dataset for a machine learning model, according to certain embodiments. [Figure 3] FIG. 1 is a block diagram illustrating determining predictive data, according to certain embodiments. [Figures 4A-4C] 1A-1C illustrate substrate processing equipment components according to certain embodiments. [Figures 5A-5E] 1A-1C illustrate images of substrate processing equipment components, according to certain embodiments. [Figures 6A-6D] 1A-1C illustrate images of substrate processing equipment components, according to certain embodiments. [Figures 7A-7E]1 is a flowchart of a method relating to edge defect detection, in accordance with certain embodiments. [Figure 8] FIG. 1 is a block diagram illustrating a computer system, in accordance with certain embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0009] SUMMARY Techniques related to edge defect detection through image analysis (eg, automated quality control checks of susceptor edges, detection of wafer pocket edge defects in susceptors using image analysis) are described herein.
[0010] Production equipment includes various components used to manufacture products. For example, substrate processing equipment includes components used to manufacture substrates (e.g., process substrates). Some components, such as susceptors, form edges (e.g., pocket edges formed on the top surface of the susceptor). The quality and cleanliness of the components affect the performance data of the product. For example, a susceptor with a damaged or buildup-containing pocket edge may produce substrates whose performance data does not meet a threshold (e.g., produce defective wafers).
[0011] Some conventional systems manually inspect parts to determine if they meet quality and cleanliness standards, thereby attempting to produce substrates with performance data that meet thresholds. Manual inspection is time-consuming, dependent on the user performing the inspection, and can be inaccurate. Inaccuracies in manual inspection can lead to the use of defective parts or premature replacement of parts.
[0012] In some conventional systems, intervals are scheduled for performing maintenance operations (e.g., cleaning, repair, replacement) on components. The intervals are set to attempt to keep the components in a condition for producing substrates with performance data that will meet a threshold (e.g., cleaning, repairing, and replacing the components before the components produce defective wafers). Over time, components become damaged, wear out, develop foreign material buildup, etc., which may not occur at the set interval (e.g., occur before or after the set interval). Premature repair or replacement of components is wasteful, time-consuming, reduces throughput, interrupts production, etc. Delays in repairing or replacing components can result in the production of substrates with performance data that do not meet the threshold, damage to equipment, etc.
[0013] The devices, systems, and methods disclosed herein provide edge defect detection through image analysis.
[0014] The processing device identifies an image of an edge of a substrate processing equipment component (e.g., a susceptor). The image can capture a substantially horizontal top surface of the susceptor. The susceptor can form one or more recesses (e.g., susceptor pockets). The susceptor can include a top surface that forms one or more recesses (e.g., susceptor pockets). The recesses can be further defined by one or more sidewalls (e.g., substantially vertical sidewalls) and a bottom surface. The location where the top surface and sidewalls of the recess meet is an edge (e.g., an upper edge). The susceptor pocket can be configured to receive a substrate to perform a substrate processing operation. The edge can develop defects over time (e.g., due to placing and removing a substrate from the susceptor pocket).
[0015] The processing device predicts, based on the image, whether a characteristic value of the edge of the susceptor satisfies a threshold value.
[0016] In some embodiments, the processing device determines, based on the image, at least one of the height of a portion of the image associated with an edge or the amount of pixels associated with edge cracks. An edge with buildup or a damaged (e.g., cracked) edge may have a height in the image that meets a threshold (e.g., greater than the height of an image of a susceptor that produces a good wafer). A damaged (e.g., cracked) edge may have a number of pixels associated with edge cracks (e.g., white pixels) that meets a threshold (e.g., greater than the number of white pixels in an image of a susceptor that produces a good wafer).
[0017] In some embodiments, the images are provided to a trained machine learning model and an output related to the predicted data is received from the machine learning model.
[0018] In response to the characteristic value of the edge satisfying a threshold value (e.g., the height of the edge meets a threshold height, the amount of pixels meets a threshold amount, the prediction data indicating that the characteristic value meets a threshold value), the processing device triggers the performance of a corrective action associated with the substrate processing equipment component. The corrective action may include providing a warning, triggering a cleaning process, triggering a repair process, replacing the substrate processing equipment component, triggering further inspection, etc.
[0019] Aspects of the present disclosure provide technical advantages. The present disclosure avoids the time, inaccuracy, and subjectivity of traditional manual inspection. The present disclosure produces substrates that meet thresholds, avoids equipment damage, improves throughput, avoids production interruptions, and triggers corrective actions related to substrate processing equipment components.
[0020] Some embodiments of the present disclosure describe performing edge defect detection on susceptors. In some embodiments, the present disclosure can be used to perform edge defect detection on other components (e.g., substrate processing equipment components) such as electrostatic chucks, edge rings, etc.
[0021] Some embodiments of the present disclosure describe performing edge defect detection on susceptor pockets formed by a susceptor (e.g., recesses formed by a part). In some embodiments, the present disclosure can be used to perform edge defect detection on other portions of a part (e.g., substrate processing equipment part), such as perimeter edges, mesas, etc.
[0022] Some embodiments of the present disclosure describe performing edge defect detection on edges that are substantially vertical and form a circle (e.g., a circular recess in a susceptor). In some embodiments, the present disclosure can be used to perform edge defect detection on other types of edges, such as edges that are not substantially vertical, edges that do not form a circle (e.g., edges that form a rectangular shape, a triangular shape, an oval shape, etc.).
[0023] As used herein, the term "manufacture" 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, manufacturing a substrate can refer to processing a substrate through the performance of one or more substrate processing operations.
[0024] 1 is a block diagram illustrating an example system 100 (an example system configuration) according to certain embodiments. System 100 includes client devices 120, production equipment 124, sensors 126, measurement equipment 128, prediction server 112, and data store 140. In some embodiments, prediction server 112 is part of prediction system 110. In some embodiments, prediction system 110 further includes server machines 170 and 180.
[0025] In some embodiments, one or more of client device 120, production equipment 124, sensors 126, metrology equipment 128, prediction server 112, data store 140, server machine 170, and / or server machine 180 are coupled to one another via network 130 to generate prediction data 160 for 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 store 140, and other publicly available computing devices. In some embodiments, network 130 is a private network that provides client device 120 with access to production equipment 124, sensors 126, metrology equipment 128, data store 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., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0026] In some embodiments, client device 120 includes a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a netbook computer, or the like. In some embodiments, client device 120 includes a corrective action component 122. In some embodiments, corrective action component 122 may also be included in prediction system 110 (e.g., a machine learning processing system). In some embodiments, corrective action component 122 is alternatively included in prediction system 110 (e.g., instead of being included in client device 120). Client device 120 includes an operating system that enables a user to one or more of: integrate, generate, review, or edit data, and provide instructions to a prediction system (e.g., a machine learning processing system).
[0027] In some embodiments, the corrective action component 122 receives user input (e.g., via a graphical user interface (GUI) displayed via the client device 120), receives sensor data 142 from sensors, receives performance data 152 from measurement equipment 128, etc. In some embodiments, the corrective 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 corrective actions based on the prediction data 160, and causes the corrective actions to be implemented. In some embodiments, the corrective action component 122 stores the data (e.g., user input, sensor data 142, performance data 1542, etc.) in the data store 140, and the prediction server 112 retrieves the data from the data store 140. In some embodiments, prediction server 112 stores the output of trained machine learning model 190 (e.g., prediction data 160) in data store 140, and client device 120 retrieves the output from data store 140. In some embodiments, corrective action component 122 receives instructions for corrective actions (e.g., based on prediction data 160) from prediction system 110 and causes the corrective actions to be executed.
[0028] In some embodiments, the predictive data 160 is associated with a corrective action. In some embodiments, the corrective action is associated with one or more of cleaning a substrate processing equipment component, repairing a substrate processing equipment component, replacing a substrate processing equipment component, computational process control (CPC), statistical process control (SPC) (e.g., SPC for comparison to a three-sigma graph, etc.), advanced process control (APC), model-based process control, preventative maintenance, design optimization, updating production parameters, feedback control, machine learning correction, etc. In some embodiments, the corrective action includes providing a warning (e.g., a warning to not use a substrate processing equipment component or production equipment 124 if the predictive data 160 indicates a predicted anomaly, such as a substrate processing equipment component or product anomaly). In some embodiments, the corrective action includes providing feedback control (e.g., cleaning, repairing, and / or replacing a substrate processing equipment component in response to the predictive data 160 indicating a predicted anomaly). In some embodiments, the corrective action includes providing machine learning (e.g., modifying a substrate processing equipment component based on the predictive data 160).
[0029] In some embodiments, prediction server 112, server machine 170, and server machine 180 each include one or more computing devices such as a rack-mounted server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application-specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), or the like.
[0030] Prediction server 112 includes a prediction component 114. In some embodiments, prediction component 114 receives sensor data 142 (e.g., received from client device 120 and retrieved from data store 140) and generates predictive data 160 related to edge defect detection. In some embodiments, prediction component 114 uses one or more trained machine learning models 190 to determine predictive data 160 for edge defect detection. In some embodiments, trained machine learning models 190 are trained using historical sensor data 144 and historical performance data 154.
[0031] In some embodiments, the prediction system 110 (e.g., prediction server 112, prediction component 114) uses supervised machine learning (e.g., supervised dataset, historical sensor data 144 labeled with historical performance data 154, etc.) to generate the predicted data 160. In some embodiments, the prediction system 110 uses semi-supervised learning (e.g., semi-supervised dataset, performance data 152 is a predictive percentage, etc.) to generate the predicted data 160. In some embodiments, the prediction system 110 uses unsupervised machine learning (e.g., unsupervised dataset, clustering, clustering based on historical sensor data 144, etc.) to generate the predicted data 160.
[0032] In some embodiments, the production equipment 124 (e.g., a cluster tool) is part of a substrate processing system (e.g., an integrated processing system). The production equipment 124 includes one or more of a controller, an enclosure system (e.g., a substrate carrier, a front-opening unified pod (FOUP), an autoteach FOUP, a process kit enclosure system, a substrate enclosure system, a cassette, etc.), a side storage pod (SSP), an aligner device (e.g., an aligner chamber), a factory interface (e.g., a front end of equipment module (EFEM)), a load lock, a transfer chamber, one or more processing chambers, a robot arm (e.g., disposed in the transfer chamber, disposed in the front interface, etc.), etc. The enclosure system, the SSP, and the load lock are attached to the factory interface, and the robot arm disposed in the factory interface can transfer contents (e.g., substrates, process kit rings, carriers, verification wafers, etc.) between the enclosure system, the SSP, the load lock, and the factory interface. An aligner device is disposed in the factory interface to align the contents. The load locks and processing chambers are attached to a transfer chamber, and a robot arm disposed in the transfer chamber can transfer contents (e.g., substrates, process kit rings, carriers, validation wafers, etc.) between the load locks, processing chambers, and transfer chambers. In some embodiments, the production equipment 124 includes components of a substrate processing system. In some embodiments, the sensor data 142 includes parameters of processes (e.g., etching, heating, cooling, transfer, processing, flow, etc.) performed by components of the production equipment 124. In some embodiments, the substrate processing equipment parts are components of processing chambers (e.g., showerheads, susceptors, electrostatic chucks, edge rings, etc.).
[0033] In some embodiments, the sensors 126 provide sensor data 142 (e.g., sensor values, such as historical and current sensor values) related to the production equipment 124. In some embodiments, the sensors 126 include one or more of an imaging sensor (e.g., a camera, an image capture device, etc.), a pressure sensor, a temperature sensor, a flow sensor, a spectroscopic sensor, etc. In some embodiments, the sensor data 142 is used for equipment health and / or product health (e.g., product quality). In some embodiments, the sensor data 142 is received over a period of time.
[0034] In some embodiments, the sensor 126 provides sensor data 142 such as one or more values of image data, leak rate, temperature, pressure, flow rate (e.g., gas flow rate), pump efficiency, spacing (SP), high frequency radio frequency (HFRF), current, power, voltage, etc.
[0035] 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 by prediction server 112. In some embodiments, processing sensor data 142 includes generating features. In some embodiments, the features are portions of the sensor data (e.g., a cropped image), processed image data (e.g., a processed image), patterns of sensor data 142 (e.g., slope, width, height, peaks, etc.), or combinations 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 predicted data 160.
[0036] In some embodiments, metrology equipment 128 (e.g., imaging equipment, spectroscopy equipment, ellipsometry equipment, etc.) is used to determine metrology data (e.g., inspection data, image data, spectroscopic data, ellipsometry data, material composition, optical, or structural data, etc.) corresponding to substrates produced by production equipment 124 (e.g., substrate processing equipment). In some examples, metrology equipment 128 is used to inspect a portion (e.g., a layer) of a substrate after production equipment 124 processes the substrate. In some embodiments, metrology equipment 128 performs scanning acoustic microscopy (SAM), ultrasound inspection, X-ray inspection, and / or computed tomography (CT) inspection. In some examples, metrology equipment 128 is used to determine the quality of the processed substrate (e.g., layer thickness, layer uniformity, interlayer spacing of layers, etc.) after production equipment 124 deposits one or more layers on the substrate. In some embodiments, metrology equipment 128 includes an image capture device (e.g., SAM equipment, ultrasound equipment, X-ray equipment, CT equipment, etc.). In some embodiments, the performance data 152 includes measurement data from the measurement equipment 128 .
[0037] In some embodiments, data store 140 is memory (e.g., random access memory), a drive (e.g., a hard drive, a flash drive), a database system, or another type of component or device capable of storing data. In some embodiments, data store 140 includes multiple storage components (e.g., multiple drives or multiple databases) across multiple computing devices (e.g., multiple server computers). In some embodiments, data store 140 stores one or more of sensor data 142, performance data 152, and / or forecast data 160.
[0038] Sensor data 142 includes historical sensor data 144 and current sensor data 146. In some embodiments, sensor data 142 may include one or more of image data, pressure data, a pressure range, temperature data, a temperature range, flow rate data, power data, a comparison parameter for comparing inspection data to threshold data, threshold data, cooling rate data, a cooling rate range, etc. In some embodiments, at least a portion of sensor data 142 is from sensor 126.
[0039] The performance data 152 includes historical performance data 154 and current performance data 156. The performance data 152 may include characteristic values of substrate processing equipment components (e.g., susceptors), an indication of whether the characteristic values of the substrate processing equipment components (e.g., susceptors) meet thresholds, etc. In some examples, the performance data 152 indicates whether a substrate is properly designed, properly manufactured, and / or properly functioning. In some embodiments, at least a portion of the performance data 152 is related to the quality of substrates produced by the production equipment 124. In some embodiments, at least a portion of the performance data 152 is based on metrology data from the metrology equipment 128 (e.g., historical performance data 154 includes metrology data indicative of properly processed substrates, substrate characteristic data, yield, etc.). In some embodiments, at least a portion of the performance data 152 is based on inspection of the substrate (e.g., current performance data 156 based on actual inspection). In some embodiments, the performance data 152 includes an indication of an absolute value (e.g., a deformation value that falls short of the threshold deformation value by a calculated value, indicating that the bond interface inspection data is below the threshold data by a calculated value) or a relative value (e.g., a deformation that falls short of the threshold deformation by 5%, indicating that the bond interface inspection data is below the threshold data by 5%). In some embodiments, the performance data 152 indicates that a threshold amount of error (e.g., at least 5% error in manufacturing, at least 5% error in flow rate, at least 5% error in deformation, specification limits) has been met.
[0040] In some embodiments, client device 120 provides performance data 152 (e.g., product data). In some examples, client device 120 provides (e.g., based on user input) performance data 152 indicating product anomalies (e.g., defective products). In some embodiments, performance data 152 includes the amount of product manufactured that was normal or abnormal (e.g., 98% normal product). In some embodiments, performance data 152 indicates the amount of product being manufactured that is predicted to be normal or abnormal. In some embodiments, performance data 152 includes one or more of the yield of a previous batch of product, the average yield, the predicted yield, the predicted amount of defective or non-defective product, etc. In some examples, in response to a first batch of product having a yield of 98% (e.g., 98% of the product were normal and 2% were abnormal), client device 120 provides performance data 152 indicating that an upcoming batch of product may have a 98% yield.
[0041] In some embodiments, the historical data includes one or more of historical sensor data 144 and / or historical performance data 154 (e.g., at least a portion for training machine learning model 190). The current data includes one or more of current sensor data 146 and / or current performance data 156 (e.g., at least a portion that is input to trained machine learning model 190 after training model 190 using historical data). In some embodiments, the current data is used to retrain trained machine learning model 190.
[0042] In some embodiments, the predictive data 160 may be used to trigger the implementation of corrective actions on substrate processing equipment components.
[0043] Performing metrology on products to determine substrate processing equipment parts that do not meet threshold quality and incorrectly manufactured components (e.g., bonded metal plate structures) is costly in terms of time used, metrology equipment 128 used, energy consumed, bandwidth used to send the metrology data, processor overhead to process the metrology data, etc. By providing sensor data 142 to model 190 and receiving predicted data 160 from model 190, system 100 has the technical advantage of avoiding the costly process of using metrology equipment 128 and scrapping substrates.
[0044] Running a production process using substrate processing equipment parts that result in defective product is costly in time, energy, product, substrate processing equipment parts, and production equipment 124, and the cost of identifying the substrate processing equipment parts, causing defective product, cleaning the substrate processing equipment parts, repairing the substrate processing equipment parts, replacing the substrate processing equipment parts, scrapping the old components, etc. By providing sensor data 142 to model 190, receiving predictive data 160 from model 190, and triggering corrective action based on predictive data 160, system 100 has the technical advantage of avoiding the costs of manufacturing, identifying, and scrapping defective substrates.
[0045] In some embodiments, the prediction system 110 further includes a server machine 170 and a server machine 180. The server machine 170 includes a dataset generator 172 that can generate datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing the machine learning model 190. The dataset generator 172 has the functionality to collect, compile, reduce, and / or partition data to prepare the data for machine learning. In some embodiments (e.g., for small datasets), partitioning for training and validation (e.g., explicit partitioning) is not used. Repeated cross-validation (e.g., 5-fold cross-validation, leave-one-out cross-validation) may be used during training, in which a given dataset is actually repeatedly partitioned into different training and validation sets during training. A model (e.g., the best model, the model with the highest accuracy, etc.) is automatically selected from the vector of models on the separated combined subset. In some embodiments, the dataset generator 172 may explicitly divide the 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, some operations of the dataset generator 172 are described in detail below with respect to Figures 2 and 7A. In some embodiments, the prediction system 110 (e.g., via the 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 types of sensor data (e.g., from a first set of sensors, a first combination of values from the first set of sensors, a first pattern in values from the first set of sensors) corresponding to each of the datasets (e.g., a training set, a validation set, and a test set), and the second set of features corresponds to a second set of types of sensor data (e.g., from a second set of sensors different from the first set of sensors, a second combination of values different from the first combination, a second pattern different from the first pattern) corresponding to each of the datasets.
[0046] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a test engine 186. In some embodiments, engines (e.g., training engine 182, validation engine 184, selection engine 185, and test engine 186) refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions executing on a processing device, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination thereof. Training engine 182 can train 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 corresponding to a distinct set of parameters (e.g., sensor data 142) and corresponding responses (e.g., performance data 152) of the training set. In some embodiments, multiple models are trained on the same parameters with distinct targets for the purpose of modeling multiple effects. In some examples, a first trained machine learning model was trained using sensor data 142 from all sensors 126 (e.g., sensors 1 through 5), a second trained machine learning model was trained using a first subset of sensor data (e.g., from sensors 1, 2, and 4), and a third trained machine learning model was trained using a second subset of sensor data (e.g., from sensors 1, 3, 4, and 5) that partially overlaps with the first subset of features.
[0047] The validation engine 184 may validate the trained machine learning models 190 using a corresponding set of validation set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features is validated using a first set of validation set features. The validation engine 184 determines the accuracy of each of the trained machine learning models 190 based on the corresponding set of validation set features. The validation engine 184 evaluates and flags (e.g., discards) trained machine learning models 190 that have an accuracy that does not meet a threshold accuracy. In some embodiments, the selection engine 185 may select one or more trained machine learning models 190 that have an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 185 may select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.
[0048] The test engine 186 can test the trained machine learning models 190 using a corresponding set of test set features from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of training set features is tested using a first set of test set features. The test engine 186 determines the trained machine learning model 190 with the highest accuracy among all of the trained machine learning models based on the test set.
[0049] In some embodiments, machine learning model 190 (e.g., used for classification) refers to a model artifact created by training engine 182 using a training set that includes data inputs and corresponding target outputs (e.g., correctly classifying a condition or ordinal level for each training input). Patterns in the dataset that map the data inputs to the target outputs (correct classifications or levels) may be found, and machine learning model 190 is provided with a mapping that captures 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 can also be used, including one or more of support vector machines (SVMs), radial basis functions (RBFs), clustering, nearest neighbor algorithms (k-NNs), linear regression, random forests, neural networks (e.g., artificial neural networks), etc. In some embodiments, machine learning model 190 is a multivariate analysis (MVA) regression model.
[0050] The prediction component 114 provides the current sensor data 146 (e.g., as input) to the trained machine learning model 190 and executes the trained machine learning model 190 (e.g., for the input, to obtain one or more outputs). The prediction component 114 can determine (e.g., extract) predicted data 160 from the trained machine learning model 190 and determine (e.g., extract) uncertainty data that indicates a level of confidence that the predicted data 160 corresponds to the current performance data 156. In some embodiments, the prediction component 114 or the corrective action component 122 uses the uncertainty data (e.g., an uncertainty function, or a retrieval function derived from the uncertainty function) to determine whether to use the predicted data 160 to perform corrective action or whether to further train the model 190.
[0051] For purposes of explanation and not limitation, aspects of the present disclosure describe training one or more machine learning models 190 using historical data (i.e., previous data, historical sensor data 144, and historical performance data 154) and providing current sensor data 146 to one or more trained probabilistic machine learning models 190 to determine predicted data 160. In other implementations, heuristic or rule-based models are used to determine predicted data 160 (e.g., without using a trained machine learning model). In other implementations, non-probabilistic machine learning models may be used. The prediction component 114 monitors the historical sensor data 144 and the historical performance data 154. In some embodiments, any of the information described with respect to data input 210 in FIG. 2 is monitored or otherwise used in the heuristic or rule-based models.
[0052] In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 is provided by fewer machines. For example, in some embodiments, server machines 170 and 180 are combined into a single machine, while in some other embodiments, server machine 170, server machine 180, and prediction server 112 are combined into a single machine. In some embodiments, client device 120 and prediction server 112 are combined into a single machine.
[0053] In general, 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 by prediction server 112 in other embodiments, where appropriate. In addition, functions attributed to particular components may be performed by various or multiple components operating together. For example, in some embodiments, prediction server 112 determines corrective actions 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.
[0054] Additionally, the functionality of a particular component may be performed by various or multiple components working together. In some embodiments, one or more of prediction server 112, server machine 170, or server machine 180 are accessed as a service offered to other systems or devices through an appropriate application programming interface (API).
[0055] In some embodiments, a "user" is represented as a single individual. However, other embodiments of the present disclosure encompass a "user" that is an entity controlled by multiple users and / or automated sources. In some examples, a set of individual users federated as a group of administrators is considered a "user."
[0056] Although embodiments of the present disclosure are discussed with respect to determining predictive data 160 for edge defect detection of substrate processing equipment parts in a production facility (e.g., substrate processing facility), in some embodiments the present disclosure may also be applied to quality detection generally. Embodiments may be applied generally to determining part quality based on different types of data.
[0057] 2 illustrates a dataset generator 272 (e.g., dataset generator 172 of FIG. 1 ) for creating a dataset for a machine learning model (e.g., model 190 of FIG. 1 ), according to certain embodiments. In some embodiments, dataset generator 272 is part of server machine 170 of FIG. 1 . The dataset generated by dataset generator 272 of FIG. 2 can be used to train a machine learning model (e.g., see FIG. 7D ) and trigger the execution of corrective actions (e.g., see FIG. 7E ).
[0058] A dataset generator 272 (e.g., dataset generator 172 in FIG. 1 ) creates a dataset for a machine learning model (e.g., model 190 in FIG. 1 ). The dataset generator 272 creates the dataset using historical sensor data 244 (e.g., historical sensor data 144 in FIG. 1 ) and historical performance data 254 (e.g., historical performance data 154 in FIG. 1 ). The system 200 in FIG. 2 shows the dataset generator 272, a data input 210, and a target output 220 (e.g., target data).
[0059] In some embodiments, the dataset generator 272 generates a dataset (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210 (e.g., training inputs, validation inputs, test inputs) and one or more target outputs 220 that correspond to the data inputs 210. The dataset further includes mapping data that maps the data inputs 210 to the target outputs 220. The data inputs 210 are also referred to as “features,” “attributes,” or “information.” In some embodiments, the dataset generator 272 provides the dataset to the training engine 182, the validation engine 184, or the test engine 186, and the dataset is used to train, validate, or test the machine learning model 190. Some embodiments of generating a training set are further described with respect to FIG. 7A .
[0060] In some embodiments, dataset generator 272 generates data input 210 and target output 220. In some embodiments, data input 210 includes one or more sets of historical sensor data 244. In some embodiments, historical sensor data 244 includes one or more of sensor data from one or more types of sensors, combinations of sensor data from one or more types of sensors, patterns from sensor data from one or more types of sensors, etc.
[0061] In some embodiments, the dataset generator 272 generates a first data input corresponding to a first set of historical sensor data 244A for training, validating, or testing 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 for training, validating, or testing a second machine learning model.
[0062] In some embodiments, the dataset generator 272 discretizes (e.g., segments) one or more of the data inputs 210 or the target outputs 220 (e.g., for use in a classification algorithm for a regression problem). Discretizing the data inputs 210 or the target outputs 220 (e.g., segmenting by a sliding window) converts continuous values of variables into discrete values. In some embodiments, the discrete values of the data inputs 210 represent discrete historical sensor data 244 to obtain the target outputs 220 (e.g., discrete historical performance data 254).
[0063] The data inputs 210 and target outputs 220 for training, validating, or testing a machine learning model include information for a particular facility (e.g., for a particular substrate production facility). In some examples, the historical sensor data 244 and the historical performance data 254 are for the same production facility.
[0064] In some embodiments, the information used to train the machine learning model is from a particular type of production equipment 124 in a production facility having particular characteristics, allowing the trained machine learning model to determine an outcome for a particular group of production equipment 124 based on current parameter inputs (e.g., current sensor data 146) associated with one or more components that share the characteristics of the particular group. In some embodiments, the information used to train the machine learning model is for components from more than one production facility, allowing the trained machine learning model to determine an outcome for a component based on inputs from one production facility.
[0065] In some embodiments, after generating the 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., current performance data 156 in FIG. 1 ) or adjusted (e.g., adjusting weights associated with the input data of the machine learning model 190, such as connection weights in a neural network).
[0066] 3 is a block diagram illustrating a system 300 for generating predictive data 360 (e.g., predictive data 160 of FIG. 1 ), according to certain embodiments. System 300 is used to determine predictive data 360 via a trained machine learning model (e.g., model 190 of FIG. 1 ) for edge defect detection (e.g., for performing corrective actions).
[0067] In block 310, the system 300 (e.g., the prediction system 110 of FIG. 1 ) performs data splitting (e.g., via the dataset generator 172 of the server machine 170 of FIG. 1 ) of historical data (e.g., the historical sensor data 344 and the historical performance data 354 for the model 190 of FIG. 1 ) to generate a training set 302, a validation set 304, and a 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. The 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 features derived from 20 sensors (e.g., sensor 126 in FIG. 1 ) and 100 products (e.g., products each corresponding to sensor data from the 20 sensors), the first set of features would be sensors 1-10, the second set of features would be sensors 11-20, the training set would be products 1-60, the validation set would be products 61-80, and the test set would be products 81-100. In this example, the first set of features for the training set would be parameters from sensors 1-10 for products 1-60.
[0068] At block 312, system 300 performs model training using training set 302 (e.g., via training engine 182 of FIG. 1 ). In some embodiments, system 300 trains multiple models using multiple sets of features in training set 302 (e.g., a first set of features in training set 302, a second set of features in training set 302, etc.). For example, system 300 trains machine learning models to generate a first trained machine learning model using a first set of features in the training set (e.g., sensor data from sensors 1-10 of products 1-60) and generate a second trained machine learning model using a second set of features in the training set (e.g., sensor data from sensors 11-20 of 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., which, in some embodiments, is a better predictor than either the first or second trained machine learning model alone). In some embodiments, the sets of features used in comparing the models overlap (e.g., a first set of features is sensor data from sensors 1-15, and a second set of features is sensor data from sensors 5-20). In some embodiments, hundreds of models are generated, including models with various permutations of features and combinations of models.
[0069] At block 314, the system 300 performs model validation using the validation set 304 (e.g., via the validation engine 184 of FIG. 1 ). The system 300 validates each of the trained models using a corresponding set of features in the validation set 304. For example, the system 300 validates a first trained machine learning model using a first set of features in the validation set (e.g., parameters from sensors 1-10 of products 61-80) and validates a second trained machine learning model using a second set of features in the validation set (e.g., parameters from sensors 11-20 of products 61-80). In some embodiments, the system 300 validates hundreds of models (e.g., models with various permutations of features, combinations of models, etc.) generated at block 312. At block 314, the system 300 determines the accuracy of each of the one or more trained models (e.g., via model validation) and determines whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to a determination that none of the trained models have an accuracy that meets the threshold accuracy, flow returns to block 312, where the system 300 performs model training using a different set of features from the training set. In response to a determination that one or more of the trained models have an accuracy that meets the threshold accuracy, flow proceeds to block 316. The system 300 discards trained machine learning models that have an accuracy that is less than the threshold accuracy (e.g., based on a validation set).
[0070] In block 316, the system 300 performs model selection (e.g., via selection engine 185 of FIG. 1 ) to determine which of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., selected model 308 based on validation in block 314). In response to a determination that two or more of the trained models that meet the threshold accuracy have the same accuracy, flow returns to block 312, and the system 300 performs model training using a further refined training set corresponding to the further refined set of features to determine the trained model with the highest accuracy.
[0071] At block 318, the system 300 performs model testing (e.g., via test engine 186 of FIG. 1 ) using the test set 306 to test the selected model 308. The system 300 tests the first trained machine learning model using a first set of features in the test set (e.g., sensor data from sensors 1-10 of products 81-100) and determines that the first trained machine learning model meets a threshold accuracy (e.g., based on the first set of features in the test set 306). In response to the accuracy of the selected model 308 not meeting the threshold accuracy (e.g., the selected model 308 overfits the training set 302 and / or the validation set 304 and cannot be applied to other datasets, such as the test set 306), flow proceeds to block 312, where the system 300 performs model training (e.g., retraining) using a different training set corresponding to a different set of features (e.g., sensor data from a different sensor). In response to a determination that the selected model 308 has an accuracy that meets the threshold accuracy based on the test set 306, flow proceeds to block 320. At least in block 312, the model learns patterns in past data to make predictions, and in block 318, the system 300 applies the model to the remaining data (e.g., the test set 306) to test the predictions.
[0072] In block 320, the system 300 receives current sensor data 346 (e.g., current sensor data 146 of FIG. 1 ) using a trained model (e.g., selected model 308) and determines (e.g., extracts) predicted data 360 (e.g., predicted data 160 of FIG. 1 ) for edge defect detection from the trained model to perform corrective action. In some embodiments, the current sensor data 346 corresponds to the same feature types in the historical sensor data 344. In some embodiments, the current sensor data 346 corresponds to the same feature types as a subset of the feature types in the historical sensor data 344 used to train the selected model 308.
[0073] In some embodiments, current data is received. In some embodiments, the current data includes current performance data 356 (e.g., current performance data 156 of FIG. 1 ) and / or current sensor data 346. In some embodiments, at least a portion of the current data is received from a measurement device (e.g., measurement device 128 of FIG. 1 ) or via user input. In some embodiments, model 308 is retrained based on the current data. In some embodiments, a new model is trained based on current performance data 356 and current sensor data 346.
[0074] In some embodiments, one or more of blocks 310-320 are performed in various orders and / or 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 data partitioning of block 310, model validation of block 314, model selection of block 316, and / or model testing of block 318 are not performed.
[0075] 4A-4C illustrate a substrate processing equipment component 410 according to certain embodiments. Figure 4A is a top view of the substrate processing equipment component 410, Figure 4B is a perspective view of the substrate processing equipment component 410, and Figure 4C is a perspective view of the substrate processing equipment component 410 and an image capture device 400.
[0076] The substrate processing equipment component 410 can be a showerhead, a susceptor, an edge ring, an electrostatic chuck, etc. In some embodiments, the substrate processing equipment component 410 is cylindrical (e.g., circular periphery). In some embodiments, the top surface 414 of the substrate processing equipment component 410 forms one or more recesses 412 (e.g., susceptor pocket, wafer pocket, susceptor pocket). In some embodiments, the top surface 414 of the substrate processing equipment component 410 forms two or more recesses 412 (e.g., two or more susceptor pockets). In some embodiments, the top surface of the substrate processing equipment component 410 forms three or more recesses 412 (e.g., three or more susceptor pockets). In some embodiments, the top surface of the substrate processing equipment component 410 forms four or more recesses 412 (e.g., four or more susceptor pockets). In some embodiments, the top surface of the substrate processing equipment component 410 forms five or more recesses 412 (e.g., five or more susceptor pockets). In some embodiments, the top surface of the substrate processing equipment component 410 forms six or more recesses 412 (eg, six or more susceptor pockets).
[0077] Each recess 412 (e.g., pocket) may be further defined by one or more sidewalls 418 and a bottom wall. Each recess 412 may be defined 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, 95-100 degrees, etc.) to the bottom wall and / or top surface 414. Each recess 412 may be defined by a bottom wall that is substantially planar, substantially parallel to the top surface 414 of the substrate processing equipment component 410, and / or substantially perpendicular (e.g., 90-95 degrees, 90-100 degrees, 95-100 degrees, etc.) to the sidewall 418. The sidewall 418 and top surface 414 may meet at an edge 416 (e.g., an upper edge, a circular edge). The sidewall 418 and bottom surface may meet at a lower edge. Imperfections in the edge 416 (eg, the top edge where the sidewall 418 meets the top surface 414 ) can result in defects in substrates produced by the substrate processing equipment component 410 .
[0078] The substrate processing equipment components 410 can be configured to receive substrates (e.g., substrates having circular peripheries) in the recesses 412 for performing substrate processing operations. The substrate processing equipment components 410 can be disposed in processing chambers configured to perform one or more substrate processing operations. The substrate processing equipment components 410 and / or one or more portions of the processing chambers can rotate relative to one another so that different substrate processing operations can be performed on substrates disposed in the recesses 412. The recesses 412 (e.g., and the substrates disposed in the recesses 412) can be separated from one another by barriers (e.g., air curtains, partitions, etc.).
[0079] 4C , an angle discrimination 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 susceptor pocket to define an angel across its peripheral edge). The image capture device 400 may be used to capture an image (e.g., sensor data 142) of the angle discrimination component 420 and an edge 416 (e.g., where a sidewall 418 and a top surface 414 meet) of the substrate processing equipment part 410 (e.g., a susceptor) that forms the recess 412 (e.g., a susceptor pocket).
[0080] The angle identification component 420 can have markings (e.g., every 1 degree, every 5 degrees, etc.). The angle identification component 420 can be a protector placed on top of the susceptor pocket to properly define the angle across the perimeter edge. The image capture device 400 can include a light (e.g., a light emitting diode (LED)), a diffuser (e.g., a white diffuser), and a camera configured to capture input images at regular angular intervals. In some embodiments, the image capture device 400 captures video, and the images are derived from the video.
[0081] In some embodiments, image capture device 400 is moved (e.g., moved manually) to different locations to capture images. In some embodiments, image capture device 400 includes a drive device (e.g., a motor) that moves (e.g., automatically moves) the camera to different locations to capture images.
[0082] 5A-5E show images 500A-500E of a substrate processing equipment component 510 (eg, substrate processing equipment component 410 of FIGS. 4A-4C) according to certain embodiments.
[0083] Referring to Figure 5A, an image 500A (e.g., a raw image, an original input image) can be captured. The image can be captured by placing an angle discrimination component 520 (e.g., angle discrimination component 420 of Figure 4C) on or within a recess 512 (e.g., a susceptor pocket) to appropriately angle it across the perimeter edge. A light (e.g., an LED) with a diffuser (e.g., a white diffuser) and a camera can be used to capture input images (e.g., still images and / or video) at regular angular intervals.
[0084] Image 500A can include markings of at least a predetermined amount (e.g., at least 5 degrees) of angle identification feature 520. Image 500A can include an edge 516 (e.g., where the side wall meets the top surface) of sidewall 418 that forms recess 512 (e.g., recess 412, susceptor pocket, in FIGS. 4A-4C).
[0085] 5B, image 500B may be processed image 500A. Image 500A may be converted to grayscale to generate image 500B. Vertical and horizontal cropping windows may highlight edges in grayscale.
[0086] 5C, image 500C (e.g., a grayscale cropped image) may be processed image 500A and / or image 500B. Dynamic bidirectional cropping may be applied to image 500B to obtain a specific region of the image (e.g., the edge of the susceptor) within a given angular interval (e.g., 5 degrees).
[0087] Referring to FIG. 5D, image 500D may be processed image 500A, image 500B, and / or image 500C. Image 500D may be a threshold image after preliminary cropping. Lines in image 500D may highlight asymmetry of image 500D relative to the centerline. In edge segmentation, adaptive thresholding may be applied based on a predetermined grid size (e.g., an optimized grid size) for conversion to a binary image (e.g., having only black and white pixels). Contour detection may be applied to remove background distortion. Contours with smaller areas may be removed. For more detailed evaluation, additional smoothing of the background may be performed to highlight the edges of the susceptor. Smoothing may include reducing the size of shapes (e.g., small dots) smaller than a threshold size to separate the shapes from the edges so that they can be removed.
[0088] 5E, image 500E may be processed image 500A, image 500B, image 500C, and / or image 500D. Image 500E may be a final cropped image after removing background distortion and smoothing the background. In image 500E, a distribution of pixels that highlights edge cracks may be used to perform dynamic rotation (e.g., to make the image symmetrical) and final cropping.
[0089] 6A-6D show images 600 of a substrate processing equipment component 610 (eg, substrate processing equipment component 410 of FIGS. 4A-4C, substrate processing equipment component 510 of FIGS. 5A-5E) according to certain embodiments.
[0090] 6A-6C may be binary images. In binary images, white pixels can 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 can be calculated to analyze the edge (e.g., damaged area). The total vertical height of the image may indicate the extended height of the edge due to a crack. A "good" or "bad" classification can be performed by counting (e.g., amount) of white pixels and comparing the extended height to the standard height of the edge. The entire process may be repeated at all possible angle intervals for each pocket of the susceptor.
[0091] 6A , image 600A may be of a substrate processing equipment part 610 having an edge with a characteristic value that meets a threshold (e.g., the substrate processing equipment part has a “good” classification). Image 600A may show a standard reference height and a lower number of white pixels at the top. The height of image 600A may not meet a threshold height (e.g., the height is less than the height that indicates an edge defect). The amount of white pixels in image 600A may not meet a threshold amount (e.g., the amount of white pixels is less than the amount of white pixels that indicates an edge defect).
[0092] 6B, image 600B may be of a substrate processing equipment part 610 having an edge with a characteristic value that does not meet a threshold (e.g., the substrate processing equipment part has a "good" classification). Image 600B may have an extended height and a higher 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 that indicates an edge defect). The amount of white pixels in image 600B may meet a threshold amount (e.g., the amount of white pixels is equal to or greater than the amount of white pixels that indicates an edge defect).
[0093] 6C, image 600C is of a substrate processing equipment part 610 having an edge with a characteristic value that does not meet a threshold. The height 604 of image 600C meets a threshold height (e.g., greater than the height of a susceptor edge that would produce a substrate with performance data that meets the threshold). The amount of a certain type of pixel 602 (e.g., white pixels) meets a threshold amount (e.g., the amount of white pixels indicating an area of edge cracking is greater than the amount of white pixels of a susceptor edge that would produce a substrate with performance data that meets the threshold).
[0094] 6D, image 600D may be of a substrate processing equipment part 610. The substrate processing equipment part 610 may include a top surface 614 that forms one or more recesses 612 (e.g., susceptor pockets). The recesses 612 may be formed by sidewalls 618 and a bottom surface. Where the sidewalls 618 and the top surface 614 meet may be an edge 616 (e.g., a top edge, a rounded edge).
[0095] For the substrate processing equipment component 610, an x-distance 620, a y-distance 630, and / or a z-distance 640 can be measured. A boundary y-bottom 632 can be the lower edge where the bottom surface meets the sidewall 618. A boundary x-top 622 and a boundary x-bottom 624 can form the boundary between the sidewall 618 and the top surface 614 of the substrate processing equipment component 610. An edge defect (e.g., a crack edge) above the edge 616 increases the x-distance 620 (e.g., the height of the edge crack), increases the z-distance 640 (e.g., the width of the edge crack), and decreases the y-distance 630 (e.g., the distance between the boundary y-bottom 632 and the boundary x-bottom 624). The height 604 can be the sum of the x-distance 620 and the y-distance 630.
[0096] In some embodiments, height 604 is determined automatically (e.g., by processing logic). In some embodiments, the automated height of edge 616 is compared to a manually calculated width of edge 616 (e.g., x-distance 620, (X+Y)-Y).
[0097] 7A-7E are flow diagrams of methods 700A-700E related to edge defect detection, according to certain embodiments. In some embodiments, methods 700A-700E are performed by processing logic including hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions executing on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In some embodiments, methods 700A-700E are performed at least in part by prediction system 110 and / or client device 120. In some embodiments, method 700A is performed at least in part by prediction system 110 (e.g., server machine 170 and dataset generator 172 of FIG. 1 , dataset generator 272 of FIG. 2 ). In some embodiments, prediction system 110 uses method 700A to generate a dataset for 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., corrective action component 122). In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., prediction system 110, server machine 180, prediction server 112, etc.), cause the processing device to perform one or more of methods 700A-700E.
[0098] For ease of explanation, methods 700A-700E are illustrated and described as a series of operations. However, operations in accordance with the present disclosure may occur in various orders and / or simultaneously, with other operations not shown and described herein. Furthermore, in some embodiments, not all illustrated operations are performed to implement methods 700A-700E in accordance with the subject matter of the present disclosure. Additionally, those skilled in the art will understand and appreciate that methods 700A-700E may alternatively be represented as a series of interrelated states via a state diagram or events.
[0099] In some embodiments, one or more of methods 700A-700E are used to one or more of: distinguish between good and bad parts; eliminate human inspection and judgment regarding end of part life; determine end of life of a susceptor; identify crack location patterns and use them to improve coating (e.g., silicon carbide (SiC)) processes; correlate crack initiation with deposition conditions and use them to move the process window to regions with fewer cracks; detect cracks within a threshold accuracy; etc.
[0100] FIG. 7A is a flow diagram of a method 700A for generating a dataset for a machine learning model for generating predicted data (eg, predicted data 160 of FIG. 1) according to certain embodiments.
[0101] Referring to FIG. 7A, in some embodiments, at block 702, processing logic performing method 700A initializes a training set T to an empty set.
[0102] At block 704, processing logic generates a first data input (e.g., a first training input, a first validation input) that includes sensor data (e.g., historical sensor data 144 of FIG. 1 , historical sensor data 244 of FIG. 2 , etc.). In some embodiments, the first data input includes a first set of features related to the type of sensor data, and the second data input includes a second set of features related to the type of sensor data (e.g., as described with respect to FIG. 2 ).
[0103] At block 706, processing logic generates a first target output for one or more of the data inputs (e.g., a first data input). In some embodiments, the first target output is historical performance data (e.g., historical performance data 154 of FIG. 1, historical performance data 254 of FIG. 2).
[0104] At block 708, processing logic optionally generates mapping data indicating an input / output mapping. The input / output mapping (or mapping data) refers to a data input (e.g., one or more of the data inputs described herein), a target output for the data input (e.g., where the target output identifies historical performance data 154), and an association between the data input and the target output.
[0105] At block 710, processing logic adds the mapping data generated at block 708 to the dataset T.
[0106] At block 712, processing logic branches based on whether dataset T is sufficient for at least one of training, validation, and / or testing of machine learning model 190 (e.g., whether the uncertainty of the trained machine learning model meets a threshold uncertainty). If so, execution proceeds to block 714; if not, execution returns to block 704. Note that in some embodiments, the sufficiency of dataset T is determined solely based on the number of input / output mappings in the dataset, while in some other implementations, the sufficiency of dataset T is determined based on one or more other criteria (e.g., a measure of diversity of the data examples, accuracy, etc.) in addition to or instead of the number of input / output mappings.
[0107] At block 714, processing logic provides dataset T (e.g., to server machine 180) to train, validate, and / or test machine learning model 190. In some embodiments, dataset T is a training set and is provided to training engine 182 of server machine 180 to perform training. In some embodiments, dataset T is a validation set and is provided to validation engine 184 of server machine 180 to perform validation. In some embodiments, dataset T is a test set and is provided to test engine 186 of server machine 180 to perform testing. In the case of a neural network, for example, input values (e.g., numerical values associated with data inputs 210) of a given input / output mapping are input to the neural network, and output values (e.g., numerical values associated with target outputs 220) of the input / output mapping are stored in output nodes of the neural network. The connection weights of the neural network are then adjusted according to a learning algorithm (e.g., backpropagation, etc.), and this procedure is repeated for other input / output mappings of dataset T.
[0108] After block 714, the machine learning model (e.g., machine learning model 190) may be at least one of 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 trained machine learning model is implemented by prediction component 114 (of prediction server 112) to generate predicted data (e.g., predicted data 160) for edge defect detection to trigger the execution of corrective actions.
[0109] 7B illustrates a method 700B relating to edge defect detection through image analysis, according to certain embodiments. In some embodiments, method 700B is performed before and after cleaning of substrate processing equipment components. Through method 700B, processing logic can dynamically detect susceptor pocket edges from digital images, and the processing logic can evaluate height and edge characteristics to further classify the susceptor pocket edges as meeting a threshold condition (e.g., good condition or bad condition).
[0110] At block 720 of method 700B, processing logic identifies an image of an edge of a substrate processing equipment component (e.g., substrate processing equipment component 410 of FIGS. 4A-4C). The substrate processing equipment component may be a susceptor, an edge ring, an electrostatic chuck, etc.
[0111] In some embodiments, the processing logic receives images from an image capture device (e.g., image capture device 400 of FIG. 4C ). An angle discrimination component (e.g., angle discrimination component 420 of FIG. 4C ) can be positioned within or on a recess formed by a substrate processing equipment component (e.g., a susceptor pocket formed by a susceptor). The image capture device can project light (e.g., emitted via an LED light with a white diffuser) onto the edge and angle discrimination component of the substrate processing equipment component. A camera of the image capture device can capture images at regular angular intervals of the edge and angle discrimination component. In some embodiments, the image capture device can capture a video including the images.
[0112] At block 722, processing logic predicts, based on the image, whether the feature value of the edge satisfies a threshold. Processing logic may perform one or more blocks of method 700C of Figure 7C, method 700D of Figure 7D, and / or method 700E of Figure 7E to predict whether the feature value of the edge satisfies a threshold.
[0113] In some embodiments, the characteristic value includes one or more of an edge height, a quantity of pixels associated with an edge deformation, etc. The threshold value may indicate a substrate processing equipment component that is predicted to produce substrates that do not have performance data that meets the threshold (e.g., have defects). The threshold value may indicate a substrate processing equipment component that should undergo corrective action (e.g., cleaning, repair, replacement, etc.) to produce substrates that have performance data that meet the threshold (e.g., good wafers).
[0114] The processing logic can determine the location (e.g., angular position of the defect around the pocket), size (e.g., height of the defect around the pocket), and / or quantity of the defect relative to the edge (e.g., wafer pocket).
[0115] In response to the characteristic value satisfying the threshold value at block 724, the flow proceeds to block 726. In response to the characteristic value not satisfying the threshold value at block 724, the flow proceeds to block 720 where a subsequent image of the edge of the substrate processing equipment part is identified and method 700B is repeated.
[0116] At block 726, processing logic causes the performance of a corrective action associated with the substrate processing equipment component. The corrective action may include one or more of providing a warning, causing a cleaning action, causing a repair action, causing a replacement, determining a predicted end of life for the substrate processing equipment component, etc.
[0117] Blocks 720-726 may be repeated until the characteristic value for each of the edges meets the threshold. In some embodiments, processing logic may predict the end of life of the substrate processing equipment component based on the number of corrective actions (e.g., cleaning cycles) taken until the characteristic value for the edge of the substrate processing equipment component meets the threshold.
[0118] 7C is a method relating to edge defect detection through image analysis, according to certain embodiments. In some embodiments, method 700B is performed before and after cleaning of substrate processing equipment parts.
[0119] In block 730, processing logic identifies an image of an edge of a substrate processing equipment part (see, for example, Figure 5A.) Block 730 of Figure 7C may be similar to block 720 of Figure 7B.
[0120] At block 732, processing logic converts the image to grayscale (see, e.g., FIG. 5B). In some embodiments, the image is captured in grayscale.
[0121] At block 734, processing logic crops the image via bidirectional cropping (see, e.g., FIGS. 5B-5C). Dynamic bidirectional cropping can be applied to capture regions of the image (e.g., the edge of the susceptor) within a predetermined angular interval (e.g., 5 degrees).
[0122] At block 736, processing logic converts the image to 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 contain only black and white pixels.
[0123] In some embodiments, processing logic applies a threshold pixel value to the image. In some embodiments, the pixel format of the image is a byte image, and pixel values are numbers stored as 8-bit integers providing a range of possible values from 0 to 255, where 0 is black and 255 is white. The processing logic can convert all pixel values above the threshold pixel value (e.g., 200) to white (e.g., a pixel value of 255) and can convert all pixel values below the threshold pixel value (e.g., 200) to black (e.g., a pixel value of 0). This can remove gray pixel values from the image.
[0124] At block 738, processing logic removes background distortion in the image through application of edge detection. Edges with smaller areas (e.g., areas below a threshold) may be removed. For viewfinder evaluation, additional smoothing of the background may be performed to highlight edges of substrate processing equipment components. Smoothing may include reducing the size of shapes (e.g., small dots) that are smaller than a threshold size to separate the shapes from edges so that they can be removed (e.g., via the removal of background distortion at block 738).
[0125] In some embodiments, the centroid of the edge in the y direction is determined. If the contour is a threshold distance away from the centroid, processing logic may remove the contour.
[0126] At block 740, processing logic dynamically rotates the image so that at least a portion of the image is substantially symmetrical (e.g., FIG. 5D). The image may be rotated so that the black pixel at the bottom left of the image and the black pixel at the bottom right of the image are symmetrical about a centerline.
[0127] At block 742, processing logic performs a final cropping of the image. The final cropping may be performed after removing background distortion and smoothing the background.
[0128] At block 744, processing logic applies linear scaling to the image to convert units of pixels (e.g., converting pixels to metric units such as millimeters). White pixels may highlight contours that occupy edge defects.
[0129] At block 746, the processing logic determines, based on the image, at least one of the height of the portion of the image associated with the edge (e.g., height 604 in FIG. 6C ) or the quality of the pixel associated with the edge crack (e.g., pixel 602 in FIG. 6C ). The total number of white pixels may be calculated to analyze the damaged area (e.g., edge defect). The total vertical height of the image may indicate the extended height of the edge due to the crack. A "good" or "bad" classification may be performed by comparing the number of white pixels and the extended height with the standard height of the edge.
[0130] At block 748, processing logic determines whether the height of the edge meets a threshold height. In response to the height of the edge meeting the threshold height, flow proceeds to block 752. In response to the height of the edge not meeting the threshold height, flow proceeds to block 750.
[0131] At block 750, processing logic determines whether the amount of pixels meets a threshold amount. In response to the amount of pixels meeting the threshold height, the flow proceeds to block 752. In response to the edge height not meeting the threshold height, the flow proceeds to block 730. Method 700C can be repeated for each pocket of a substrate processing equipment part (e.g., a susceptor) at all angular intervals (e.g., at each 5 degree interval around the edge).
[0132] In block 752, processing logic causes the execution of a corrective action associated with the substrate processing equipment component. Block 752 of Figure 7C may be similar to block 726 of Figure 7B.
[0133] FIG. 7D is a method for training a machine learning model (e.g., model 190 of FIG. 1) to determine predictive data (e.g., predictive data 160 of FIG. 1) for edge defect detection by image analysis.
[0134] 7D, in block 760 of method 700D, processing logic identifies past sensor data (e.g., past sensor data 144 of FIG. 1, past input sensor data). The past sensor data may include past images of an edge of the substrate processing equipment. The past images may have been processed by one or more of the operations of method 700C of FIG. 7C (e.g., processed via one or more of blocks 732-744).
[0135] In some embodiments, a network of available images of substrate processing equipment components is available. In some embodiments, the second portion of images are of substrate processing equipment components having characteristic values that meet a threshold (e.g., bad susceptor images with broken edges, see FIGS. 6B-6C). In some embodiments, the first portion of images are of substrate processing equipment components having characteristic values that do not meet a threshold (e.g., good susceptor images, see FIG. 6A).
[0136] At block 762, processing logic identifies historical performance data (e.g., historical performance data 154 of FIG. 1 , historical output performance data). At least a portion of the historical sensor data and historical performance data may be associated with a new substrate processing equipment part (e.g., used for benchmarking). The historical performance data may be an indication of whether a characteristic value of the substrate processing equipment part meets a threshold. The historical performance data may be an indication of whether the substrate processing equipment part is new. The historical performance data may be an indication of whether the substrate processing equipment part has defects. The historical performance data may be an indication of whether performance data (e.g., characteristic value, amount of defects, etc.) of substrates produced by the substrate processing equipment part meets a threshold (e.g., good wafers or bad wafers).
[0137] At block 764, processing logic trains a machine learning model using data inputs including historical sensor data and target outputs including historical performance data to generate a trained machine learning model.
[0138] In some embodiments, processing logic (e.g., via a trained machine learning model) correlates chamber wafer performance (e.g., defects, uniformity, etc.) with the quantified defects in the susceptor. The size and location of the defects can be compared and tracked (e.g., via digital records) between cleaning operations, between susceptors, and / or to identify potential problem areas in the substrate processing equipment components that correlate with chamber design and / or process conditions. In some examples, if a substrate has a substrate defect adjacent to the same location as an edge defect in the substrate processing equipment component, corrective action should be implemented.
[0139] In some embodiments, the historical sensor data of block 760 includes historical images of the substrate processing equipment component, and the historical performance data of block 762 corresponds to historical substrate processing equipment components. The historical performance data may be associated with substrate quality, such as substrate metrology data, substrate throughput, substrate defects, etc. The historical performance data may be associated with substrate processing equipment component quality, such as manual inspection, substrate processing equipment component metrology data, time to failure of the substrate processing equipment component, etc. In block 764, a machine learning model may be trained using data inputs including the historical images and target outputs including the historical performance data to generate a trained machine learning model configured to predict whether a characteristic value of the substrate processing equipment component meets a threshold. In block 722 of FIG. 7B, processing logic may use the trained machine learning model trained via method 700D of FIG. D to determine whether the characteristic value meets its threshold.
[0140] FIG. 7E is a method 700E for triggering the execution of corrective actions using a trained machine learning model for edge defect detection (eg, model 190 of FIG. 1).
[0141] 7E, in block 780 of method 700E, processing logic identifies sensor data. In some embodiments, the sensor data in block 780 includes images of substrate processing equipment components. Block 780 of FIG. 7E can be similar to block 720 of FIG. 7B.
[0142] At block 782, processing logic provides the sensor data as data input to a trained machine learning model (e.g., trained via block 764 of FIG. 7D).
[0143] At block 784, processing logic receives output from the trained machine learning model related to the predicted data.
[0144] At block 786, processing logic causes the execution of corrective actions based on the predictive data. Block 786 of Figure 7E may be similar to block 726 of Figure 7B.
[0145] 8 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 the client device 120, the prediction system 110, the server machine 170, the server machine 180, or the prediction server 112.
[0146] In some embodiments, computer system 800 is connected to other computer systems (e.g., via a network such as a local area network (LAN), an intranet, an extranet, or the Internet). In some embodiments, computer system 800 operates as a server or a 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 provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, switch, or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Furthermore, the term "computer" is intended to include any collection of computers that individually or collectively execute a set (or sets) of instructions to perform any one or more of the methods described herein.
[0147] In a further aspect, 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 electrically erasable programmable ROM (EEPROM)), and a data storage device 816, which communicate with each other via a bus 808.
[0148] In some embodiments, processing device 802 is provided by one or more processors, such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIM) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of instruction set types), or a special-purpose processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0149] In some embodiments, computer system 800 further includes a network interface device 822 (e.g., coupled to network 874). In some embodiments, computer system 800 further includes a video display unit 810 (e.g., LCD), an alphanumeric input device 812 (e.g., keyboard), a cursor control device 814 (e.g., mouse), and a signal generating device 820.
[0150] In some implementations, the data storage device 816 includes a non-transitory computer-readable storage medium 824 that stores instructions 826 encoding any one or more of the methods or functions described herein, including instructions encoding the components of FIG. 1 (e.g., the corrective action component 122, the prediction component 114, etc.) and instructions for performing the methods described herein (e.g., one or more of methods 700A-700E).
[0151] In some embodiments, the instructions 826 also reside, completely or partially, within the volatile memory 804 and / or within the processing device 802 during execution by the computer system 800; and thus, in some embodiments, the volatile memory 804 and the processing device 802 also constitute machine-readable storage media.
[0152] Although computer-readable storage medium 824 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" is intended to include a single medium or multiple media (e.g., centralized or distributed databases, and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" is also intended to include any tangible medium that can store or encode a set of instructions for execution by a computer that cause the computer to perform any one or more of the methods described herein. The term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0153] In some embodiments, the methods, components, and features described herein are implemented by discrete hardware components or are integrated into the functionality of other hardware components, such as an ASIC, FPGA, DSP, or similar device. In some embodiments, the methods, components, and features are implemented by firmware modules or functional circuitry within a hardware device. In some embodiments, the methods, components, and features are implemented in any combination of hardware devices and computer program components, or in a computer program.
[0154] Unless otherwise specified, terms such as "identify," "predict," "cause," "capture," "process," "convert," "crop," "threshold," "remove," "rotate," "provide," "acquire," "train," "further train," "retrain," "receive," "determine," "update," and the like refer to actions and processes performed or implemented by a computer system that manipulate data represented as physical (electronic) quantities in computer system registers and memory and convert it into other data similarly represented as physical quantities in computer system memory or registers, or other such information storage, transmission, or display devices. In some embodiments, the terms "first," "second," "third," "fourth," and the like, as used herein, are meant as labels to distinguish different elements and do not have any ordering meaning due to their numerical designation.
[0155] The examples described herein also relate to apparatus for performing the methods described herein. In some embodiments, the apparatus comprises a general-purpose computer system that is specially constructed to perform the methods described herein or that is selectively programmed by a computer program stored on the computer system. Such a computer program is stored on a computer-readable tangible storage medium.
[0156] The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. In some embodiments, various general-purpose systems are used in accordance with the teachings described herein. In some embodiments, more specialized apparatus are constructed to perform the methods described herein and / or each of their individual functions, routines, subroutines, or operations. Examples of structures for various of these systems are set forth in the description above.
[0157] The above description is illustrative, and not limiting. While the present disclosure has been described with reference to particular illustrative examples and embodiments, it will be recognized that the present disclosure is not limited to the described examples and embodiments. The scope of the present disclosure should be determined with reference to the following claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. Identifying an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system; predicting whether a characteristic value of the edge of the susceptor satisfies a threshold value based on the image; triggering execution of a corrective action associated with the susceptor in response to the characteristic value of the edge satisfying a threshold value; A method comprising:
2. The method of claim 1 , wherein the characteristic value comprises at least one of a height of the edge or a pixel associated with a deformation of the edge.
3. the image is captured in response to an angle discrimination component being disposed in the susceptor pocket and light being projected onto the edge and the angle discrimination component; The method of claim 1 , wherein at least a portion of the angle-discriminating component is within the image.
4. capturing a video of the edge by moving an image capture device along the edge; processing the video to identify a plurality of images at predetermined angular intervals, the plurality of images including the image; The method of claim 1 further comprising:
5. The image is It is converted to grayscale, being cropped via dynamic bidirectional cropping; and converting the image into a binary image comprising first and second type pixels via adaptive thresholding based on a predetermined grid size, the first type pixels indicating edge defects at the edges. The method of claim 1 , wherein
6. The method of claim 1 , wherein at least a portion of the background distortion in the image is removed through application of edge detection to the image.
7. The method of claim 1 , wherein the image is dynamically rotated to make at least a portion of the image substantially symmetrical.
8. predicting whether the characteristic value satisfies the threshold value providing the image as an input to a trained machine learning model; obtaining an output from the trained machine learning model related to predicted data; determining whether the characteristic value of the edge satisfies the threshold based on the prediction data; The method of claim 1 , comprising:
9. 10. The method of claim 8, wherein the trained machine learning model is trained using inputs including past images of past susceptors and target outputs including past performance data of the past susceptors.
10. A non-transitory computer-readable storage medium storing instructions that, when executed, Identifying an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system; predicting whether a characteristic value of the edge of the susceptor satisfies a threshold value based on the image; triggering execution of a corrective action associated with the susceptor in response to the characteristic value of the edge satisfying a threshold value; A non-transitory computer-readable storage medium that causes a processing device to perform operations including:
11. The non-transitory computer-readable storage medium of claim 10 , wherein the characteristic value comprises at least one of a height of the edge or pixels associated with a deformation of the edge.
12. the image is captured in response to an angle discrimination component being disposed in the susceptor pocket and light being projected onto the edge and the angle discrimination component; The non-transitory computer-readable storage medium of claim 10 , wherein at least a portion of the angle-discriminating component is within the image.
13. The operation is capturing a video of the edge by moving an image capture device along the edge; processing the video to identify a plurality of images at predetermined angular intervals, the plurality of images including the image; 11. The non-transitory computer-readable storage medium of claim 10, further comprising:
14. The image is It is converted to grayscale, being cropped via dynamic bidirectional cropping; and converting the image into a binary image comprising first and second type pixels via adaptive thresholding based on a predetermined grid size, the first type pixels indicating edge defects at the edges. The non-transitory computer-readable storage medium of claim 10 , wherein:
15. At least a portion of the background distortion in the image is removed through application of edge detection to the image; the image is dynamically rotated to make at least a portion of the image substantially symmetrical; 11. The non-transitory computer-readable storage medium of claim 10.
16. predicting whether the characteristic value satisfies the threshold value providing the image as an input to a trained machine learning model; obtaining an output from the trained machine learning model related to predicted data; determining whether the characteristic value of the edge satisfies the threshold value based on the prediction data; 11. The non-transitory computer-readable storage medium of claim 10, comprising:
17. Memory and a processing device coupled to the memory, Identifying an image of an edge of a susceptor pocket formed by a susceptor of a substrate processing system; predicting whether a characteristic value of the edge of the susceptor satisfies a threshold value based on the image; triggering execution of a corrective action associated with the susceptor in response to the characteristic value of the edge satisfying a threshold value; a processing device for performing A system including:
18. The system of claim 17 , wherein the characteristic value comprises at least one of a height of the edge or a pixel associated with a deformation of the edge.
19. the image is captured in response to an angle discrimination component being disposed in the susceptor pocket and light being projected onto the edge and the angle discrimination component; The system of claim 17 , wherein at least a portion of the angle-discriminating component is within the image.
20. the processing device: capturing a video of the edge by moving an image capture device along the edge; processing the video to identify a plurality of images at predetermined angular intervals, the plurality of images including the image; The system of claim 17 further comprising:
Citation Information
Patent Citations
Cleaning method and device, and exposure method and device
JP2010153407A
Substrate position detection device, film formation device having the same, and substrate position detection method
JP2012094814A
Estimation of lifetime remaining for consumable part in semiconductor manufacturing chamber
JP2016154224A
Substrate holding member, substrate processing device, method for controlling substrate processing device, and storage medium storing program
JP2019137898A
Plasma processing device, wear amount specification method and edge ring
JP2022089061A