Epitaxial film defect determination
By applying frequency domain filters and feature detection to substrate image data, combined with machine learning models, epitaxial film defects can be detected and classified quickly and accurately, solving the problems of time-consuming and costly traditional methods and achieving efficient defect detection and correction.
Patent Information
- Application Number
- CN202480027568.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-10-01
- Filing Date
- 2024-10-04
- Publication Date
- 2025-11-18
Smart Images

Figure CN120981900A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to methods associated with epitaxial films manufactured using equipment. More specifically, this disclosure relates to the determination of defects in epitaxial films. Background Technology
[0002] Products can be manufactured by performing one or more manufacturing processes using manufacturing equipment. For example, semiconductor manufacturing equipment can be used to produce substrates via semiconductor manufacturing processes. The produced products must have specific properties suitable for the target application. Images of the products (such as the manufactured equipment) can be taken, which can enhance the understanding of equipment functionality, faults, and performance, and can be used for metrology or inspection, or similar purposes. Products may include defects, which can be characterized based on the images of the products. Summary of the Invention
[0003] The following is a simplified summary of this disclosure to provide a basic understanding of some aspects of it. This summary is not a comprehensive overview of this disclosure. It is not intended to identify key or essential elements of this disclosure, nor is it intended to define any scope of any particular implementation of this disclosure or any scope of the claims. Its sole purpose is to present some concepts of this disclosure in a simplified form as a prelude to the more detailed description that follows.
[0004] In one aspect of this disclosure, a method includes the step of: obtaining first image data of a substrate including an epitaxial film by a processing device. The method further includes the step of: applying a frequency domain filter to the first image data to obtain filtered image data. The method further includes the step of: determining the number of epitaxial defects represented in the first image data by performing feature detection on the filtered image data. The method further includes the step of: performing a correction operation based on the number of epitaxial defects.
[0005] In another aspect of this disclosure, a non-transitory machine-readable storage medium stores instructions that, when executed, cause a processing device to perform an operation. The operation includes the following steps: obtaining first image data of a substrate including an epitaxial film; applying a frequency domain filter to the first image data; determining, by performing feature detection, the number of epitaxial defects represented in the first image data; and performing a correction action based on the number of epitaxial defects.
[0006] In another aspect of this disclosure, a system includes a memory and a processing device coupled to the memory. The processing device is configured to: acquire first image data of a substrate including an epitaxial film. The processing device is further configured to: apply a frequency domain filter to the first image data. The processing device is further configured to: determine the number of epitaxial defects represented in the first image data by performing feature detection. The processing device is further configured to: perform a correction operation based on the number of epitaxial defects. Attached Figure Description
[0007] This disclosure is illustrated in the accompanying drawings by way of example rather than limitation.
[0008] Figure 1 These are block diagrams illustrating exemplary system architectures based on certain implementation methods.
[0009] Figure 2A A block diagram of a system, including an example dataset generator for creating datasets for one or more supervised models, is depicted according to some implementations.
[0010] Figure 2B A block diagram of an example dataset generator for creating datasets for a supervised model, according to some implementations, is depicted, the supervised model being configured to generate an indication of the predicted epitaxial defect properties of a substrate.
[0011] Figure 3 The diagram illustrates a system for generating output data, based on some implementation methods.
[0012] Figure 4A This is a flowchart illustrating a method for generating datasets for machine learning models, based on some implementation methods.
[0013] Figure 4B This is a flowchart of a method for performing correction actions based on epitaxial film defects, according to some implementation methods.
[0014] Figure 4C This is a flowchart of a method for training and utilizing machine learning models in conjunction with epitaxial defect determination, based on some implementation methods.
[0015] Figure 5A This is a block diagram of a process for generating epitaxial film defect data according to some implementation methods.
[0016] Figure 5B These are example epitaxial defect diagrams of a substrate according to some implementation methods.
[0017] Figure 6 It is a block diagram illustrating a computer system based on some implementation methods. Detailed Implementation
[0018] This document describes techniques related to identifying, determining, and classifying defects in the epitaxial film of a substrate. Manufacturing equipment is used to produce products, such as substrates (e.g., wafers, semiconductors). Manufacturing equipment may include manufacturing or processing chambers to isolate the substrate from the environment. The properties of the produced substrate must meet target values to facilitate the realization of specific functionalities. Manufacturing parameters are selected to produce substrates that meet the target property values. Target property values may include target defect parameters, such as a target maximum number of defects, a target maximum defect density, a target count of the density of two or more types of defects, etc. Many manufacturing parameters (such as hardware parameters, process parameters, etc.) contribute to the properties of the processed substrate. The manufacturing system can control the parameters by specifying setpoints for the property values, receiving data from sensors located within the manufacturing chamber, and adjusting the manufacturing equipment until the sensor readings match the setpoints. In some embodiments, trained machine learning models are used to improve the performance of the manufacturing equipment and / or improve the performance of the manufactured substrate.
[0019] Classifying, counting, and identifying the location of defects induced by substrate manufacturing operations allows for improvements in manufacturing operations, equipment, and substrate design. The substrate may include an epitaxial film. An epitaxial film is a layer of crystalline material deposited on a substrate that is also crystalline. In some cases, the arrangement of the epitaxial film (e.g., based on the lattice properties of the deposited material) is consistent with the arrangement of the underlying substrate. In other cases, the lattice properties of the deposited material may differ from those of the underlying material, which may lead to defect formation in the epitaxial film. Epitaxial films may exhibit defects not present in other types of deposition processes, including dislocations (e.g., deviations from a regular atomic arrangement along a line), point defects (e.g., related to missing or extra atoms in the lattice), stacking faults (e.g., related to interruptions in a regular stacking sequence of crystal planes), impurities that disrupt the regular lattice structure, and underlying lattice defects that lead to defects in the arrangement of subsequent crystal layers. Common manifestations of epitaxial defects include pits (e.g., small, roughly circular defects present in a substrate image) and crosshairs (e.g., a series of parallel lines present in a substrate image).
[0020] In some cases, the determination of epitaxial defects can be performed manually using a couponing method. During couponing, a portion of a substrate (e.g., a semiconductor wafer) can be designed or designated for testing for epitaxial defects. The coupon portion can be removed (e.g., cut) from the substrate. The presence of epitaxial defects in the coupon portion can be examined. In some cases, the coupon is relatively small compared to the substrate. The cost of coupon generation, separation from the substrate, testing, etc., can be high. For example, classifying epitaxial defects may involve manual review of one or more images of the coupon by a subject matter expert, which can be time-consuming, expensive, and potentially inaccurate. Furthermore, in some cases, it is impossible to remove the coupon from certain substrates, thus reducing the applicability of couponing techniques in epitaxial film defect detection.
[0021] Epitaxial defects can be small, such as nanometers to micrometers. Determining the location of epitaxial defects can involve subject matter experts reviewing high-resolution images to make these defects visible. In some cases, the substrate of interest, including the epitaxial film, may be many orders of magnitude larger than the epitaxial defects (which are, for example, related to defects in the film's lattice). For example, the diameter of the substrate could be 300 mm. Under such conditions, providing a drawing of the epitaxial defects of a portion of the substrate large enough to confidently infer the nature of the defects can be prohibitively expensive, time-consuming, inconvenient, or impossible. For example, it might be necessary to image the entire surface of the substrate using thousands of images, which could involve trained users performing hours of defect classification, defect counting, etc., to produce any feasible insights related to the epitaxial defects. The associated time, expertise, and cost investment in improving a manufacturing system based on epitaxial defects can be prohibitive.
[0022] The systems, apparatus, and methods disclosed herein address one or more drawbacks of conventional systems for treating epitaxial film defects. In some embodiments, image data of a substrate including the epitaxial film is generated. The image data can be generated via a variety of different imaging techniques. Imaging techniques may include optical microscopy, scanning electron microscopy, transmission electron microscopy, or other imaging techniques. In some embodiments, the substrate may be silicon. The epitaxial film may be a material having lattice properties different from those of the underlying substrate.
[0023] In some implementations, epitaxial defects can be embellished by performing an etching operation. Epitaxial defects can be locations where the crystal structure of the epitaxial film is interrupted, disrupted, or otherwise disturbed. Compared to other locations on the epitaxial film, epitaxial defects may be more sensitive to etching conditions (e.g., plasma etching, chemical etching, etc.). By performing an etching operation, one or more selected imaging techniques can image epitaxial defects more clearly.
[0024] In some implementations, one or more preprocessing steps may be performed to adjust the image data of the substrate. For example, artifact removal, image smoothing or sharpening operations, noise reduction techniques such as Gaussian blur, or similar techniques may be performed on the image data.
[0025] In some implementations, the spatial image can be transformed to the frequency domain. This transformation can be performed by executing a Fourier transform, Fourier series decomposition, applying a fast Fourier transform algorithm, or similar techniques. Frequency domain filters can be applied to the frequency domain image data to, for example, improve the detection of defects of the target type.
[0026] In some implementations, the number of epitaxial defects can be determined by a processing device. The determination of the number of epitaxial defects can be performed by one or more feature detection methods. For example, a Hough transform operation can be performed to detect approximately circular etch pits, a contour detection operation can be performed to detect crosshairs, and so on. Furthermore, the density of various types of defects can be determined based on defect counts. The distribution of target-type defects can be determined based on imaging location, defect counts, defect density, etc.
[0027] Compared to traditional solutions, the system disclosed herein offers technological advantages. Imaging can be performed using non-destructive methods (e.g., optical microscopy), which provides more benefits compared to traditional sample testing methods. Imaging can be performed by capturing an image of the substrate using optical microscopy. Furthermore, automated detection, classification, and analysis of defects by processing equipment can be performed, which is faster, requires less user input, has less chance of user error, and requires less input from subject matter experts compared to manual classification, counting, and / or further analysis of epitaxial defects.
[0028] In one aspect of this disclosure, a method includes the step of: obtaining first image data of a substrate including an epitaxial film by a processing device. The method further includes the step of: applying a frequency domain filter to the first image data to obtain filtered image data. The method further includes the step of: determining the number of epitaxial defects represented in the first image data by performing feature detection on the filtered image data. The method further includes the step of: performing a correction operation based on the number of epitaxial defects.
[0029] In another aspect of this disclosure, a non-transitory machine-readable storage medium stores instructions that, when executed, cause a processing device to perform an operation. The operation includes the following steps: obtaining first image data of a substrate including an epitaxial film; applying a frequency domain filter to the first image data; determining, by performing feature detection, the number of epitaxial defects represented in the first image data; and performing a correction action based on the number of epitaxial defects.
[0030] In another aspect of this disclosure, a system includes a memory and a processing device coupled to the memory. The processing device is configured to: acquire first image data of a substrate including an epitaxial film. The processing device is further configured to: apply a frequency domain filter to the first image data. The processing device is further configured to: determine the number of epitaxial defects represented in the first image data by performing feature detection. The processing device is further configured to: perform a correction operation based on the number of epitaxial defects.
[0031] Figure 1 This is a block diagram illustrating an exemplary system 100 (exemplary system architecture) according to some implementation methods. System 100 includes a client device 120, manufacturing equipment 124, a sensor 126, a metering device 128, a prediction server 112, and a data storage device 140. The prediction server 112 may be part of the prediction system 110. The prediction system 110 may further include server machines 170 and 180.
[0032] Sensor 126 can provide sensor data 142 associated with manufacturing equipment 124 (e.g., associated with the production of a corresponding product (e.g., a substrate) by manufacturing equipment 124). Sensor data 142 can be used to determine the health of the equipment and / or the health of the product (e.g., product quality). Manufacturing equipment 124 may produce a product according to a formula or perform an operation over a period of time. In some embodiments, sensor data 142 may include values for one or more of the following: optical sensor data, spectral data, temperature (e.g., heater temperature), spacing (SP), pressure, high-frequency radio frequency (HFRF), radio frequency (RF) matching voltage, radio frequency matching current, RF matching capacitor position, electrostatic chuck (ESC) voltage, actuator position, current, flow rate, power, voltage, etc. Sensor data 142 may include historical sensor data and current sensor data. Current sensor data may be associated with a currently processed product, a recently processed product, several recently processed products, etc. Historical sensor data may include stored data associated with previously produced products. Historical sensor data and / or current sensor data may include attribute data, such as manufacturing equipment ID or design, sensor ID, type and / or location tags, manufacturing equipment status tags, such as current failures, service life, etc.
[0033] Sensor data 142 may be associated with or indicate manufacturing parameters, such as hardware parameters of manufacturing equipment 124 (e.g., hardware settings or installed components, such as size, type, etc.) or process parameters of manufacturing equipment 124 (e.g., heater settings, gas flow rate, etc.). Data associated with some hardware parameters and / or process parameters may be stored alternatively or additionally as manufacturing parameters 150, which may include historical manufacturing parameters (e.g., associated with historical processing jobs) and current manufacturing parameters. Manufacturing parameters 150 may indicate input settings for the manufacturing equipment (e.g., heater power, gas flow rate, etc.). Sensor data 142 and / or manufacturing parameters 150 may be available while manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings when processing products). Sensor data 142 may be different for each product (e.g., each substrate). The substrate may have property values (film thickness, film strain, etc.) measured by metrology equipment 128 (e.g., measured at a separate metrology facility). Metrology data 160 may be a component of data storage 140. Measurement data 160 may include historical measurement data 164 (e.g., measurement data associated with previously processed products). Measurement data 160 may include current measurement data 166 (e.g., measurement data for one or more target substrates, one or more substrates of interest, or the like). In some embodiments, current measurement data 166 may be provided to one or more processing devices to perform epitaxial film defect determination. In some embodiments, current measurement data 166 may be provided to one or more trained machine learning models to perform epitaxial film defect determination.
[0034] In some implementations, metering data 160 can be provided without using a separate metering facility, such as in-situ metering data (e.g., meters or metering proxies collected during processing), aggregated metering data (e.g., meters or metering proxies collected when the product is in a chamber or under vacuum, but not during processing operations), online metering data (e.g., data collected after the substrate is removed from the vacuum), etc. Metering data 160 may include current metering data 166 (e.g., metering data associated with the current or most recently processed product).
[0035] The metrology equipment 128 may include an imaging instrument, such as one for performing substrate imaging techniques. The metrology data 160 may include image data generated by the imaging instrument of the metrology equipment 128. The imaging techniques performed by the metrology equipment 128 may include one or more optical microscopes, scanning electron microscopes, transmission electron microscopes, or similar techniques.
[0036] In some embodiments, sensor data 142, metrological data 160, or manufacturing parameters 150 may be processed (e.g., by client device 120 and / or prediction server 112). Processing of sensor data 142 may include generating and / or detecting features. In some embodiments, features are patterns (e.g., slope, width, height, peak, etc.) in sensor data 142, metrological data 160, and / or manufacturing parameters 150, or numerical combinations from sensor data 142, metrological data, and / or manufacturing parameters (e.g., power derived from voltage and current, etc.). In some embodiments, features are relationships between portions of shape or image data, such as circles indicating epitaxial etch pits, outlines indicating epitaxial crosshairs, etc. Sensor data 142, manufacturing parameters 150, and / or metrological data 160 may include features, and these features may be used by prediction unit 114 to perform signal processing and / or obtain prediction data 168 for performing correction actions.
[0037] Each instance (e.g., a group) of sensor data 142 can correspond to a product (e.g., a substrate), a set of manufacturing equipment, the type of substrate produced by the manufacturing equipment, etc. Similarly, each instance of measurement data 160 and manufacturing parameters 150 can correspond to a product, a set of manufacturing equipment, the type of substrate produced by the manufacturing equipment, etc. The data storage can further store information relating to different data types, such as information indicating that a set of sensor data, a set of measurement data, and a set of manufacturing parameters are all associated with the same product, manufacturing equipment, substrate type, etc.
[0038] The prediction system 110 can be used to generate prediction data 168. Prediction data 168 can be generated by performing image processing operations on image data of one or more substrates. Prediction data 168 can be data indicating epitaxial defects in the substrates. Prediction data 168 can indicate the classification, count, location, density, severity, etc., of epitaxial defects in one or more substrates. Prediction data 168 can be generated by performing feature detection operations on image data associated with one or more substrates. The operation for determining epitaxial defects in the substrates can be performed by the prediction server 112, prediction component 114, etc.
[0039] In some implementations, the prediction system 110 may be used to generate prediction data 168 using one or more trained machine learning models. In some implementations, the prediction system 110 may use supervised machine learning to generate the prediction data 168. Supervised machine learning refers to operations associated with a machine learning model provided with labeled training data (e.g., image data labeled with epitaxial defect counts). In some implementations, the prediction system 110 may use unsupervised machine learning to generate the prediction data 168. Unsupervised machine learning refers to operations associated with a machine learning model trained using unlabeled inputs. Unsupervised machine learning operations may include clustering results, principal component analysis, anomaly detection, etc. In some implementations, the prediction system 110 may use semi-supervised learning to generate the prediction data 168 (e.g., training data may include a mixture of labeled and unlabeled data, etc.).
[0040] Client device 120, manufacturing equipment 124, sensor 126, metering equipment 128, prediction server 112, data storage 140, server machine 170, and server machine 180 can be coupled to each other via network 130 to generate prediction data 168 and perform correction actions. In some embodiments, network 130 may provide access to cloud-based services. Operations performed by client device 120, prediction system 110, data storage 140, etc., can be performed by virtual cloud-based devices.
[0041] In some embodiments, network 130 is a public network that provides client device 120 with access to prediction server 112, data storage 140, and other publicly available computing devices. In some embodiments, network 130 is a private network that provides client device 120 with access to manufacturing equipment 124, sensors 126, metering equipment 128, data storage 140, and other privately available computing devices. Network 130 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., LTE networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations of the above.
[0042] Client device 120 may include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablets, netbooks, network-connected televisions ("smart TVs"), network-connected media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. Client device 120 may include a correction action component 122. Correction action component 122 may receive user input (e.g., via a graphical user interface (GUI) displayed on client device 120) indicating a command associated with manufacturing equipment 124. In some embodiments, correction action component 122 transmits instructions to prediction system 110, receives output (e.g., prediction data 168) from prediction system 110, determines a correction action based on the output, and causes the correction action to be performed. In some embodiments, correction action component 122 obtains sensor data 142 associated with manufacturing equipment 124 (e.g., current sensor data 146) (e.g., obtained from data storage 140, etc.) and provides the sensor data 142 associated with manufacturing equipment 124 (e.g., current sensor data 146) to prediction system 110.
[0043] In some embodiments, the correction action component 122 may acquire current metrological data 166 (e.g., one or more images of the substrate of interest, possibly including indications of epitaxial defects). The correction action component 122 may provide the current metrological data 166 to the prediction system 110 to determine the presence of epitaxial defects in the substrate. The prediction system 110 may utilize image processing, feature detection operations, image filtering, frequency domain transformation, and other techniques for making determinations associated with the metrological data and epitaxial defects. The prediction system 110 may provide one or more images of the substrate to a trained machine learning model (e.g., model 190) to make determinations associated with epitaxial defects in the substrate. In some embodiments, model 190 may represent one or more physics-based models, image processing models, or machine learning models. In some embodiments, model 190 may be alternatively or additionally configured to make predictions indicating unimaged portions of the substrate (e.g., generating prediction data 168). For example, model 190 may be configured to predict the properties of unimaged portions of the substrate (e.g., epitaxial defect location and / or classification) based on image data of imaged portions of the substrate.
[0044] In some embodiments, the prediction data 168 generated by the prediction system 110 may include instructions for corrective actions to be performed. In some embodiments, the corrective action component 122 receives instructions for corrective actions from the prediction system 110 and causes the corrective actions to be performed. Each client device 120 includes an operation system that allows a user to perform one or more operations to generate, view, or edit data (e.g., instructions associated with manufacturing equipment 124, corrective actions associated with manufacturing equipment 124, etc.).
[0045] In some embodiments, metrological data 160 (e.g., historical metrological data 164) corresponds to historical property data of the product, while predictive data 168 is associated with predicted property data. Historical metrological data 164 may correspond to a product processed using manufacturing parameters and / or formulations associated with historical sensor data and historical manufacturing parameters. Predictive data 168 may include analysis performed on the metrological data to generate additional insights into the performance of the manufacturing system, chamber, formulation, substrate, etc. In some embodiments, predictive data 168 is or includes predicted metrological data (e.g., virtual metrological data, virtual synthetic micrographs) of a product to be produced or a product already produced based on conditions recorded as current sensor data, current measurement data, current metrological data, and / or current manufacturing parameters. In some embodiments, predictive data 168 is or includes indications of any anomalies (e.g., abnormal products, abnormal components, abnormal manufacturing equipment 124, abnormal energy usage, etc.) and one or more optional causes of the anomalies. In some embodiments, predictive data 168 is an indication of a change or drift over time of a component of manufacturing equipment 124, sensor 126, metrological equipment 128, etc. In some embodiments, the predictive data 168 is an indication of the end of the lifespan of a component of the manufacturing equipment 124, sensor 126, metering equipment 128, or the like. In some embodiments, the predictive data 168 is an indication of the progress of an ongoing processing operation (e.g., for process control).
[0046] Performing manufacturing processes that result in defective products can be costly in terms of time, energy, products, components, manufacturing equipment 124, the cost of identifying and discarding defects, and additional environmental impacts from the manufacturing, characterization, and / or discarding processes. By inputting current metrological data 166 indicating epitaxial defects into the prediction system 110, receiving the output of prediction data 168, and performing corrective actions based on the prediction data 168, the system 100 can have the technical advantage of avoiding the costs of producing, identifying, and discarding defective products. For example, after the deposition of an epitaxial film but before additional manufacturing steps to produce the finished product, the substrate can be screened by utilizing imaging data to determine whether the epitaxial defects fall within target thresholds (e.g., thresholds for frequency, density, location, classification, etc.). Substrates that do not meet the target performance thresholds can be excluded from further processing, thereby avoiding the costs associated with producing defective products.
[0047] Executing a manufacturing process that could lead to component failure in manufacturing equipment 124 could result in losses such as downtime, product damage, equipment damage, and the need to order replacement parts. By inputting current metering data 166 into the prediction system 110, receiving the output of prediction data 168, and performing corrective actions based on the prediction data 168 (such as predicted operational maintenance, such as component replacement, handling, cleaning, etc.), system 100 can offer cost advantages in avoiding one or more of the following: unexpected component failure, unplanned downtime, productivity loss, unexpected equipment failure, and product scrap. Monitoring the performance of components (such as manufacturing equipment 124, sensors 126, metering equipment 128, and the like) over time can provide indications of deteriorating, drifting, and / or aging components.
[0048] Manufacturing parameters may be suboptimal for product production, potentially leading to costly consequences such as increased resource consumption (e.g., energy, coolant, gas), increased production time, increased component failures, increased number of defective products, and increased environmental impact. By inputting measurement instructions into the prediction system 110, receiving prediction data 168, and performing correction actions to update manufacturing parameters (e.g., setting optimal manufacturing parameters), system 100 can possess the technical advantage of using optimal manufacturing parameters (e.g., hardware parameters, process parameters, optimal design) to avoid the costly consequences of suboptimal manufacturing parameters.
[0049] Corrective actions can be associated with one or more of the following: computational process control (CPC), statistical process control (SPC) (e.g., performing SPC on electronic components to determine the process to be controlled, performing SPC to predict the useful life of components, performing SPC to compare with a 3-sigma chart, etc.), advanced process control (APC), model-based process control, preventive operation and maintenance, design optimization, updating manufacturing parameters, updating manufacturing recipes, feedback control, machine learning modifications, etc.
[0050] In some embodiments, corrective actions include providing alerts (e.g., providing an alert to stop or not perform the manufacturing process if predicted data 168 indicates a predicted anomaly, such as an anomaly in the product, component, or manufacturing equipment 124). In some embodiments, the machine learning model is trained to monitor the progress of the processing job (e.g., monitoring in-situ sensor data to predict whether the manufacturing process has reached completion). In some embodiments, the machine learning model may send an instruction to end the processing job when the model determines that the process is complete. In some embodiments, corrective actions include providing feedback control (e.g., modifying manufacturing parameters in response to predicted data 168 indicating a predicted anomaly). In some embodiments, the execution of corrective actions includes causing an update to one or more manufacturing parameters. In some embodiments, corrective actions include excluding one or more substrates from further processing, marking one or more substrates for additional metrology or other investigations, or similar actions (e.g., substrate screening). In some embodiments, the execution of corrective actions may include scheduling and / or performing one or more maintenance operations, including component cleaning or replacement, chamber cleaning, chamber aging, etc. In some embodiments, the execution of corrective actions may include retraining the machine learning model associated with manufacturing equipment 124. In some implementations, the execution of the correction action may include training a new machine learning model associated with the manufacturing equipment 124.
[0051] Manufacturing parameters 150 may include hardware parameters (e.g., information indicating which components are installed in manufacturing equipment 124, component replacement, component age, software version or update, etc.) and / or process parameters (e.g., temperature, pressure, flow rate, speed, current, voltage, gas flow rate, lift speed, etc.). In some embodiments, corrective actions include causing preventative operational maintenance (e.g., replacing, handling, cleaning, etc., components of manufacturing equipment 124). In some embodiments, corrective actions include causing design optimization (e.g., updating manufacturing parameters, manufacturing processes, manufacturing equipment 124, etc., for an optimized product). In some embodiments, corrective actions include updating formulations (e.g., changing the timing of the manufacturing subsystem entering idle or active modes, changing the setpoints of various property values, etc.).
[0052] Prediction server 112, server machine 170, and server machine 180 may each include one or more computing devices, such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, graphics processing units (GPUs), accelerator application-specific integrated circuits (ASICs) (e.g., tensor processing units (TPUs)), etc. The operation of prediction server 112, server machine 170, server machine 180, data storage 140, etc., can be performed by cloud computing services, cloud data storage services, etc.
[0053] Prediction server 112 may include prediction component 114. In some embodiments, prediction component 114 may receive current measurement data 166 and generate output (e.g., prediction data 168) based on the current data for performing correction actions associated with manufacturing equipment 124. Receiving current measurement data 166 may include obtaining data from client device 120. Receiving current measurement data 166 may include retrieving data from data storage 140. In some embodiments, prediction data 168 may include one or more predicted performance measurements of the processed product. In some embodiments, prediction data 168 may include a count, classification, density, and / or location map of epitaxial defects represented in image data of the substrate, predicted properties of epitaxial defects based on image data of the substrate, etc.
[0054] In some embodiments, the prediction unit 114 can determine epitaxial defects represented in image data (e.g., measurement data 160) based on image processing operations. For example, the prediction unit 114 can receive substrate image data. The prediction unit 114 can perform preprocessing to improve the usability of the image, such as Gaussian blurring, sharpening, etc. The prediction unit 114 can perform transformation operations (e.g., Fourier transform) to transform the image data from the spatial domain to the frequency domain. The prediction unit 114 can apply filtering to the frequency domain image data. The filters can be designed to emphasize, highlight, or similarly target one or more epitaxial defects. In some embodiments, multiple filters can be applied to the image of the substrate to generate multiple filtered image data for determining different types of epitaxial defects. The prediction unit 114 can perform additional image processing techniques, such as transforming the image data back to the spatial domain, performing image limiting, etc. Image limiting can include increasing the contrast of the image to, for example, improve feature detection, defect detection, defect classification, etc. Image calibration may include adjusting each pixel with a brightness greater than a threshold to maximum brightness (e.g., brightness of 1) and each pixel with a brightness less than a threshold to minimum brightness (e.g., brightness of 0). Prediction unit 114 may perform feature detection operations (e.g., contour detection, circle detection, or similar operations) to determine evidence of the presence of extensional defects in the image data.
[0055] In some embodiments, one or more operations of epitaxial film defect determination can be adjusted to improve the performance of epitaxial film defect determination. In some embodiments, defect labeling data 162 can be provided to adjust the parameters of epitaxial film defect determination. Defect labeling data 162 may include information indicating defects in one or more substrates, one or more images, or the like, generated by a method different from the method to which defect labeling data 162 is to be used for adjustment. For example, defect labeling data 162 can be provided by a subject matter expert who manually determines the characteristics of defects in the epitaxial film. Defect labeling data 162 can be used to adjust the parameters of the epitaxial film defect determination system to improve the performance of the film defect determination system. Example parameters that can be adjusted include image preprocessing parameters (e.g., Gaussian blur standard deviation), image filtering parameters (e.g., frequency domain filter shape), image limiting parameters (e.g., adjustment threshold and adjustment value), feature thresholds for including detected features in defect classification, etc.
[0056] In some implementations, the output of the epitaxial film defect determination process can be used to adjust, calibrate, and / or train further processes. For example, if the epitaxial film defect determination process meets a target performance threshold (e.g., one or more target accuracy thresholds), then the output epitaxial film defect data can be used as defect labeling data 162 to adjust the parameters of other models. In some implementations, the defect characterization output by the epitaxial film defect determination system can be used as training input and / or target output to train a machine learning model.
[0057] Manufacturing equipment 124 may be associated with one or more machine tilt models (e.g., model 190). The machine learning model associated with manufacturing equipment 124 can perform a variety of tasks, including process control, classification, performance prediction, etc. Model 190 can be trained using data associated with manufacturing equipment 124 or the products processed by manufacturing equipment 124, such as sensor data 142 (collected, for example, by sensor 126), manufacturing parameters 150 (as associated, for example, with process control of manufacturing equipment 124), metrology data 160 (as generated, for example, by metrology equipment 128), etc.
[0058] In some implementations, the prediction system 110 may include a machine learning model for predicting unmeasured defect properties of the substrate. For example, an imaging technique that generates images of a subset of the substrate's surface may be performed. The machine learning model (which is executed, for example, by the prediction unit 114) may be used to predict the defect properties of unmeasured portions of the substrate, for example, based on training data from other substrates having similar epitaxial film defect properties.
[0059] One type of machine learning model that can be used to perform some or all of the tasks mentioned above is an artificial neural network, such as a deep neural network. Artificial neural networks typically include feature representation components with classifier or regression layers that map features to a desired output space. For example, a convolutional neural network (CNN) contains multiple layers of convolutional filters. At the lower layers, pooling is performed, and nonlinear problems can be solved. On top of these lower layers, multiple perceptrons are typically attached, mapping the top-level features extracted by the convolutional layers to a decision (e.g., a classification output). CNNs have particular applicability in image processing, such as processing substrate image data for epitaxial defect determination.
[0060] Recurrent Neural Networks (RNNs) are another type of machine learning model. RNN models are designed to interpret a series of inputs where the inputs are inherently related to each other, such as time-tracking data or sequential data. The output of the perceptron in an RNN is fed back into the perceptron as input to produce the next output.
[0061] Deep learning is a class of machine learning algorithms that uses cascaded layers of non-linear processing units to extract and transform features. Each successive layer uses the output from the previous layer as input. Deep neural networks can learn in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. Deep neural networks consist of a hierarchical structure of layers, with different layers learning different representations corresponding to different levels of abstraction. In deep learning, each layer learns to transform its input data into a slightly more abstract and comprehensive representation. In image recognition applications, for example, the original input might be a matrix of pixels; the first representational layer abstracts the pixels and encodes the edges; the second layer composes and encodes the arrangement of the edges; the third layer encodes higher-level shapes (e.g., teeth, lips, gums); and the fourth layer identifies the scanning action. Notably, the deep learning process can learn on its own which features are best placed at which layer. The "depth" in "deep learning" refers to the number of layers through which the data is transformed. More precisely, deep learning systems have a considerable credit allocation path (CAP) depth. The CAP theorem is a transformation chain from input to output. CAP describes the underlying causal relationship between the input and output. For feedforward neural networks, the depth of the CAP can be the depth of the network, and can be the number of hidden layers plus one. For recurrent neural networks where a signal can propagate through a layer more than once, the CAP depth may be infinite.
[0062] In some embodiments, the prediction unit 114 receives current sensor data, current metrology data 166, and / or current manufacturing parameters, performs signal processing to decompose the current data into multiple sets of current data, provides these multiple sets of current data as input to a trained model 190, and obtains an output from the trained model 190 indicating predicted data 168. In some embodiments, the prediction unit 114 receives metrology data of the substrate (e.g., predicted metrology data based on sensor data) and provides the metrology data to the trained model 190. For example, the current sensor data may include sensor data indicating the metrology (e.g., geometry) of the substrate. The model 190 may be configured to accept data indicating the metrology of the substrate and generate a predicted property of epitaxial defects of the substrate as output. In some embodiments, the predicted data indicates metrology data (e.g., a prediction of substrate quality). In some embodiments, the predicted data indicates the health of a component. In some embodiments, the predicted data indicates processing progress (e.g., for terminating a processing operation).
[0063] In some implementations, the various models discussed in conjunction with Model 190 (e.g., supervised machine learning models, unsupervised machine learning models, etc.) can be combined into a single model (e.g., an ensemble model), or they can be separate models.
[0064] Data can be transferred back and forth between several dissimilar models included in model 190 and prediction component 114. In some implementations, some or all of these operations may alternatively be performed by different devices, such as client device 120, server machine 170, server machine 180, etc. Those skilled in the art will understand that variations in data flow, which components perform which processes, and which models are provided with which data are all within the scope of this disclosure.
[0065] Data storage 140 may be a memory (e.g., random access memory), a drive (e.g., a hard drive, flash drive), a database system, a cloud-accessible storage system, or another type of component or device capable of storing data. Data storage 140 may include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). Data storage 140 may store sensor data 142, manufacturing parameters 150, measurement data 160, synthetic data 162, and predictive data 168.
[0066] In some implementations, the prediction system 110 further includes server machine 170 and server machine 180. Server machine 170 includes a dataset generator 172 capable of generating datasets (e.g., a set of data inputs and a set of target outputs) to train, validate, and / or test model 190, including one or more machine learning models. The following... Figure 2A-2B Section 4A describes some operations of the dataset generator 172 in detail. In some implementations, the dataset generator 172 can divide historical data (e.g., historical econometric data 164) into a training set (e.g., 60 percent of historical data), a validation set (e.g., 20 percent of historical data), and a test set (e.g., 20 percent of historical data).
[0067] In some implementations, the prediction system 110 (e.g., via prediction component 114) generates multiple sets of features. For example, a first set of features may correspond to a first type of sensor data (e.g., from a first set of metrology equipment, a first combination of values from the first set of sensors, a first type of substrate imaging technology, etc.), the first type of sensor data corresponding to each of the datasets (e.g., training set, validation set, and test set), and a second set of features may correspond to a second type 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 mode different from the first mode), the second type of sensor data corresponding to each of the datasets.
[0068] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a testing engine 186. Engines (e.g., training engine 182, validation engine 184, selection engine 185, and testing engine 186) can refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions running on a processing device, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination thereof. Training engine 182 is capable of training model 190 using one or more sets of features associated with a training set from dataset generator 172. Training engine 182 can generate multiple trained models 190, each corresponding to a different set of features in the training set (e.g., sensor data from a different set of sensors). For example, a first trained model can be trained using all features (e.g., X1-X5), a second trained model can be trained using a first subset of features (e.g., X1, X2, X4), and a third trained model can be trained using a second subset of features (e.g., X1, X3, X4, and X5), the second subset of features potentially overlapping with the first subset of features. The dataset generator 172 can receive the output of the trained model, collect the data into a training dataset, a validation dataset, and a test dataset, and use these datasets to train a second model (e.g., a machine learning model configured to output predicted data, correct actions, etc.).
[0069] The validation engine 184 can validate the trained model 190 using a corresponding set of features from the validation set provided by the dataset generator 172. For example, a first trained machine learning model 190 trained using a first set of features from the training set can be validated using a first set of features from the validation set. The validation engine 184 can determine the accuracy of each trained model 190 based on the corresponding set of features from the validation set. The validation engine 184 can discard trained models 190 whose accuracy does not meet a threshold accuracy. In some embodiments, the selection engine 185 can select one or more trained models 190 whose accuracy meets the threshold accuracy. In some embodiments, the selection engine 185 can select the trained model 190 with the highest accuracy among the trained models 190.
[0070] The testing engine 186 can test the trained model 190 using a corresponding set of features from the test set provided by the dataset generator 172. For example, a first trained machine learning model 190 trained using the first set of features from the training set can be tested using the first set of features from the test set. The testing engine 186 can then determine the trained model 190 that has the highest accuracy among all trained models based on the test set.
[0071] In the case of a machine learning model, model 190 can refer to a model artifact created by training engine 182 using a training set, which includes data inputs and corresponding target outputs (the correct answers to the corresponding training inputs). Patterns in the dataset that map data inputs to target outputs (correct answers) can be identified, and mappings capturing these patterns can be provided to machine learning model 190. Machine learning model 190 can use one or more of the following: Support Vector Machine (SVM), Radial Basis Function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithm (k-NN), linear regression, random forest, neural networks (e.g., artificial neural networks, recurrent neural networks), etc.
[0072] Prediction component 114 can provide current data to model 190 and can run model 190 on input to obtain one or more outputs. For example, prediction component 114 can provide current sensor data 146 to model 190 and can run model 190 on input to obtain one or more outputs. Prediction component 114 is able to determine (e.g., extract) prediction data 168 based on the output of model 190. Prediction component 114 can determine (e.g., extract) confidence data based on the output, which indicates the confidence level of prediction data 168 as an accurate predictor of the process associated with the input data for a product to be produced using or to be produced using manufacturing equipment 124 with current sensor data 146 and / or current manufacturing parameters. Prediction component 114 or correction action component 122 can use the confidence data to determine whether to induce a correction action associated with manufacturing equipment 124 based on prediction data 168.
[0073] Confidence data may include or indicate the level of confidence that prediction data 168 is an accurate prediction of a product or component associated with at least a portion of the input data. In one example, the confidence level is a real number between 0 and 1 (inclusive), where 0 indicates no confidence that prediction data 168 is an accurate prediction of the component health of a product processed based on the input data or a component of manufacturing equipment 124, and 1 indicates absolute confidence that prediction data 168 accurately predicts the nature of a product processed based on the input data or the component health of a component of manufacturing equipment 124. In response to confidence data indicating a confidence level below a threshold level for a predetermined number of instances (e.g., instance percentage, instance frequency, total number of instances, etc.), prediction of component 114 may cause the trained model 190 to be retrained (e.g., retrained based on current sensor data 146, current manufacturing parameters, etc.). In some embodiments, retraining may include generating one or more datasets using historical data (e.g., via dataset generator 172).
[0074] For illustrative and not limiting purposes, aspects of this disclosure describe using historical data (e.g., historical sensor data, historical manufacturing parameters) to train one or more machine learning models 190, and inputting current data (e.g., current sensor data, current manufacturing parameters, and current metrology data) into said one or more trained machine learning models to determine predicted data 168. In other embodiments, heuristic models, physics-based models, or rule-based models are used to determine predicted data 168 (e.g., in the absence of a trained machine learning model). In some embodiments, such a model can be trained using historical data. The prediction component 114 can monitor historical sensor data 144, historical manufacturing parameters, and metrology data 160. Figure 2A-2B Any information described in the data inputs 210A-210B can be monitored or used in other ways in heuristic models, physics-based models, or rule-based models.
[0075] In some implementations, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 can be provided by a smaller number of machines. For example, in some implementations, server machines 170 and 180 can be consolidated into a single machine, while in other implementations, server machine 170, server machine 180, and prediction server 112 can be consolidated into a single machine. In some implementations, client device 120 and prediction server 112 can be consolidated into a single machine. In some implementations, the functionality of client device 120, prediction server 112, server machine 170, server machine 180, and data storage 140 can be performed by cloud-based services.
[0076] Generally, the functions described in one embodiment as being performed by client device 120, prediction server 112, server machine 170, and server machine 180 may also be performed on prediction server 112 in other embodiments, depending on the circumstances. Furthermore, functionality attributable to specific components may also be performed by different components or multiple components operating together. For example, in some embodiments, prediction server 112 may determine a correction action based on prediction data 168. In another example, client device 120 may determine prediction data 168 based on the output from a trained machine learning model.
[0077] Furthermore, the function of a specific component can also be performed by different or multiple components operating together. One or more of the prediction server 112, server machine 170, or server machine 180 can be accessed as a service provided to other systems or devices through an appropriate application programming interface (API).
[0078] In this implementation, a "user" may be referred to as a single individual. However, other implementations of this disclosure include "users" as entities controlled by multiple users and / or automated sources. For example, a group of individual users collectively acting as an administrator group can be considered "users".
[0079] Figure 2A -B describes a method for creating datasets for modeling (e.g.) according to certain implementations. Figure 1 Example dataset generators 272A-B (e.g., for model 190) are used for training, testing, and validation. Figure 1 A block diagram of dataset generator 272. Each dataset generator 272 can be... Figure 1 It is part of server machine 170. In some implementations, several machine learning models associated with manufacturing equipment 124 can be trained, used, and maintained (e.g., within the manufacturing facility). Each model can be associated with a dataset generator 272, multiple models can share a dataset generator 272, and so on.
[0080] Figure 2A System 200A is described, the system comprising methods for providing one or more supervised models (e.g. Figure 1 A dataset generator 272A creates a dataset from model 190. The dataset generator 272A can create datasets using historical data (e.g., data input 210A, target output 220A). In some implementations, a dataset generator similar to dataset generator 272A can be used to train unsupervised machine learning models; for example, the target output 220A may not be generated by dataset generator 272A.
[0081] Dataset generator 272A can generate datasets for training, testing, and validating models. In some embodiments, dataset generator 272A can generate datasets for machine learning models. In some embodiments, dataset generator 272A can generate datasets for training, testing, and / or validating models configured to generate characterizations of epitaxial defects on a substrate. The machine learning model is provided with a set of historical metrological data 264A as data input 210A. The machine learning model can be configured to accept metrological data as input data and produce characterizations of epitaxial film defects as output.
[0082] Dataset generator 272A can be used to generate data for any type of machine learning model that takes metrological data as input. Dataset generator 272A can be used to generate data for a machine learning model that generates predicted metrological data for a substrate. Dataset generator 272A can be used to generate data for a machine learning model configured to provide substrate screening. Dataset generator 272A can be used to generate data for a machine learning model configured to identify product anomalies and / or processing equipment errors. Dataset generator 272A can be used to generate data for a machine learning model configured to predict the epitaxial defect properties of a substrate.
[0083] In some implementations, dataset generator 272A generates a dataset (e.g., training set, validation set, test set) that includes one or more data inputs 210A (e.g., training input, validation input, test input). Data inputs 210A can be provided to training engine 182, validation engine 184, or testing engine 186. The dataset can be used to train, validate, or test a model.
[0084] In some implementations, data input 210A may include one or more sets of data. As an example, system 200A may generate multiple sets of data, which may include one or more of the following: metrological data from one or more types of metrological equipment, combinations of data from one or more types of metrological equipment, metrological data from one or more locations on an associated substrate, patterns from metrological data of one or more types of imaging, etc.
[0085] In some implementations, data input 210A may include one or more sets of data. As an example, system 200A may generate multiple sets of historical metrology data, which may include one or more of the following: metrology data for a set of device dimensions (including, for example, the height and width of the device, but excluding optical data or surface roughness, etc.), metrology data derived from one or more types of sensors, combinations of metrology data derived from one or more types of sensors, patterns from metrology data, metrology data preprocessed in different ways, metrology data generated by different equipment and / or technologies, etc. Each set of data input 210A may include data describing different manufacturing aspects, such as a combination of metrology data and sensor data, a combination of metrology data and manufacturing parameters, a combination of some metrology data, some manufacturing parameter data, and some sensor data, etc.
[0086] In some implementations, dataset generator 272A can generate a first data input corresponding to a first set of historical econometric data 264A to train, validate, or test a first machine learning model. Dataset generator 272A can generate a second data input corresponding to a second set of historical econometric data (e.g., a set of historical econometric data 264B, not shown) to train, validate, or test a second machine learning model. Other sets of historical econometric data can be further utilized to generate other machine learning models. Any number of sets of historical econometric data can be used to generate any number of machine learning models, up to the last set of historical econometric data 264N (where N represents any target quantity of datasets, models, etc.).
[0087] In some embodiments, dataset generator 272A generates datasets (e.g., training sets, validation sets, test sets) including one or more data inputs 210A (e.g., training inputs, validation inputs, test inputs) and may include one or more target outputs 220A corresponding to the data inputs 210A. The dataset may also include mapping data that maps the data inputs 210A to the target outputs 220A. In some embodiments, dataset generator 272A may generate data for training a machine learning model configured to output a representation of epitaxial defects included in the input image data, for example, as output defect data 268. In some embodiments, output defect data 268 may be generated by another system for determining epitaxial defects in a substrate; for example, target output 220A may be output by another model, algorithm, prediction system, etc. Output defect data 268 may be generated by... Figure 1 The prediction system 110 generates the data. The data input 210A is also referred to as "features," "attributes," or "information." In some implementations, the dataset generator 272A may provide datasets to the training engine 182, validation engine 184, or testing engine 186, where the datasets are used to train, validate, or test machine learning models (e.g., synthetic data generator 174, including one of the machine learning models in model 190, ensemble model 190, etc.).
[0088] Figure 2B A block diagram depicts an example dataset generator 272B for creating datasets for a supervised model, configured to generate indications of predicted epitaxial defect properties of a substrate, according to some embodiments. The dataset generator 272B (e.g., Figure 1 The system 200B (dataset generator 172) is for one or more machine learning models (e.g., dataset generator 172) Figure 1 Model 190) creates a dataset. The dataset generator 272B can create datasets using historical data (e.g., data input 210B).
[0089] Example dataset generator 272B is configured to generate datasets for a machine learning model that takes image data of a portion of a substrate as input and produces predicted defect data of a second portion of the substrate (e.g., the entire surface of the substrate) as output. Similar dataset generators (or similar operations of dataset generator 272B) can be used to configure machine learning models to perform different functions, such as a machine learning model configured to receive metrological image data as input and produce a predicted root cause of epitaxial defects as output, a machine learning model configured to receive image data of the substrate as input and produce recommended correction actions as output, and so on. Dataset generator 272B may share features and / or functions with dataset generator 272A.
[0090] Dataset generator 272B can generate datasets to train, test, and validate machine learning models. The machine learning model is provided with a set of substrate image data 262A (e.g., image data of one or more portions of the substrate, location data associated with the image data and identifying associated substrate locations, etc.) as data input 210B. The machine learning model can include two or more individual models (e.g., the machine learning model can be an ensemble model). The machine learning model can be configured to generate output data, which includes predicted substrate defect data (e.g., predicted substrate defect data in substrate portions not included in the image data provided as input). In some embodiments, training may not include providing a target output to the machine learning model. Dataset generator 272B can generate datasets to train unsupervised machine learning models, for example, models configured to generate clustering data, outlier detection data, anomaly detection data, etc., as outputs. Dataset generator 272B can generate a target output 220B accompanying the data input 210B. The target output 220B may include output substrate defect data 269, such as an output indicating defects in substrate portions not included in the input data, for configuring a machine learning model to predict epitaxial defect properties (e.g., defect classification, count, density, location, etc.) in substrate portions not associated with image data provided as input to the machine learning model.
[0091] In some implementations, dataset generator 272B generates datasets (e.g., training sets, validation sets, test sets) that include one or more data inputs 210B (e.g., training inputs, validation inputs, test inputs). Data inputs 210B are also referred to as "features," "attributes," or "information." In some implementations, dataset generator 272B may provide datasets to training engine 182, validation engine 184, or testing engine 186, wherein the datasets are used to train, validate, or test machine learning models (e.g., training sets, validation sets, test ... Figure 1 (Model 190). Figure 4ASome implementation methods for generating the training set are further described.
[0092] In some implementations, dataset generator 272B can generate a first data input corresponding to a first set of substrate image data 262A to train, validate, or test a first machine learning model, and dataset generator 272A can generate a second data input corresponding to a second set of data (e.g., a set of substrate image data 262B, not shown) to train, validate, or test a second machine learning model. Other sets of substrate image data can be further utilized to generate other machine learning models. Any number of sets of substrate image data can be used to generate any number of machine learning models up to the last set of substrate image data 262N (where N represents any target quantity of datasets, models, etc.).
[0093] Data input 210B used for training, validating, or testing machine learning models may include information specific to a particular manufacturing chamber (e.g., for a particular substrate manufacturing apparatus). In some embodiments, data input 210B may include information specific to a particular type of manufacturing apparatus (e.g., manufacturing apparatus sharing specific characteristics). Data input 210B may include data associated with a particular type of equipment, such as intended function, design, production using a specific formula, etc. Training a machine learning model based on the type of equipment, apparatus, formula, etc., can enable the trained model to generate realistic synthetic sensor data in various environments (e.g., for different facilities, products, etc.).
[0094] In some implementations, after a dataset is generated and a machine learning model is trained, validated, or tested using the dataset, the model can be further trained, validated, tested, or tuned (e.g., adjusting the weights or parameters associated with the model's input data, such as connection weights in a neural network).
[0095] Figure 3 Based on some implementation methods, this describes the method for generating output data (e.g. Figure 1 A block diagram of system 300 (predicting data 168). In some embodiments, system 300 may be coupled with a machine learning model configured to generate predictions of epitaxial film defects (e.g., [missing information]). Figure 1 The system 300 can be used in conjunction with model 190. In some embodiments, the system 300 can be used in conjunction with a machine learning model to determine corrective actions associated with manufacturing equipment. In some embodiments, the system 300 can be used in conjunction with a machine learning model to determine errors in the manufacturing equipment. In some embodiments, the system 300 can be used in conjunction with a machine learning model to predict the epitaxial film defect properties of a substrate. The system 300 can be used in conjunction with a machine learning model associated with the manufacturing system that has different functionality than the listed machine learning models.
[0096] At box 310, system 300 (e.g.) Figure 1 The predictive system 110 (components) performs data partitioning (e.g., via...) on the data to be used for training, validating, and / or testing the machine learning model. Figure 1 The server machine 170 has a dataset generator 172. In some embodiments, the training epitaxial film data 364 includes historical data, such as historical metrological data, historical classification data (e.g., classification of epitaxial defects associated with the same substrate as the substrate represented by the metrological data), historical microscopic image data, etc. In some embodiments, the classification data may be generated by an epitaxial film defect system (e.g., Figure 1 The prediction system 110 provides the training data 364. The training epitaxial membrane data 364 can be partitioned at box 310 to generate a training set 302, a validation set 304, and a test set 306. For example, the training set can be 60% of the training data, the validation set can be 20% of the training data, and the test set can be 20% of the training data.
[0097] The generation of training set 302, validation set 304, and test set 306 can be customized for a specific application. For example, the training set could be 60% of the training data, the validation set could be 20% of the training data, and the test set could be 20% of the training data. System 300 can generate multiple sets of features for each of the training set, validation set, and test set. For example, if the training epitaxial film data 364 includes sensor data, including data from 20 sensors (e.g.,...) Figure 1 Given sensor data from sensor 126 and features derived from 10 manufacturing parameters (e.g., manufacturing parameters corresponding to the same processing run as the sensor data from those 20 sensors), the sensor data can be divided into a first group of features including sensors 1-10 and a second group of features including sensors 11-20. The manufacturing parameters can also be divided into several groups, for example, a first group including parameters 1-5 and a second group including parameters 6-10. Target input, target output, or both can be grouped, or neither can be grouped. Multiple models can be trained on different groups of data.
[0098] At box 312, system 300 uses training set 302 to perform model training (e.g., via...). Figure 1The training engine 182 executes the training. Training machine learning models and / or physics-based models (e.g., digital twins) can be implemented in a supervised learning manner, which involves feeding a training dataset containing labeled inputs to the model, observing its output, defining an error (defined by measuring the difference between the output and the label value), and using techniques such as deep gradient descent and backpropagation to adjust the model's weights to minimize the error. In many applications, repeating this process for many labeled inputs in the training dataset produces a model that can produce the correct output when an input different from the inputs present in the training dataset appears. In some implementations, the training of machine learning models can be implemented in an unsupervised manner, for example, without feeding labels or classifications during training. Unsupervised models can be configured to perform anomaly detection, result clustering, etc.
[0099] For each training data item in the training dataset, the training data item can be input into the model (e.g., into a machine learning model). The model can then process the input training data item (e.g., an image of a substrate) to produce an output. For example, the output may include a characterization of epitaxial defects in the substrate. The output can be compared with the labels of the training data items (e.g., epitaxial film defect data classified by another reliable method).
[0100] The processing logic then compares the resulting output (e.g., predicted extensional defect data) with labels included in the training data items (e.g., labeled extensional defect data). The processing logic determines the error (i.e., classification error) based on the difference between the output and the label. The processing logic then adjusts one or more weights and / or values of the model based on this error.
[0101] In training a neural network, an error term or delta can be determined for each node in the artificial neural network. Based on this error, the artificial neural network adjusts one or more parameters (weights of one or more inputs to a node) of one or more of its nodes. Parameters can be updated via backpropagation, such that nodes in the highest layer are updated first, then nodes in the next layer, and so on. An artificial neural network contains multiple layers of "neurons," where each layer receives values as input from neurons in the layer above it. The parameters of each neuron include weights associated with the values received from each neuron in the layer above it. Therefore, adjusting the parameters can include adjusting the weights assigned to each input of one or more neurons in one or more layers of the artificial neural network.
[0102] System 300 can use multiple sets of features from training set 302 (e.g., a first set of features from training set 302, a second set of features from training set 302, etc.) to train multiple models. For example, system 300 can train models to generate a first trained model using a first set of features from the training set (e.g., sensor data from sensors 1-10, measurement 1-10, etc.) and a second trained model using a second set of features from the training set (e.g., sensor data from sensors 11-20, measurement 11-20, etc.). In some embodiments, the first trained model and the second trained model can be combined to generate a third trained model (which may be, for example, a better predictor than either the first trained model or the second trained model itself). In some embodiments, the sets of features used for comparing models can overlap (e.g., the first set of features is sensor data from sensors 1-15, and the second set of features is from sensors 5-20). In some embodiments, hundreds of models can be generated, including models and model combinations with various permutations and combinations of features.
[0103] At box 314, system 300 uses validation set 304 to perform model validation (e.g., via...). Figure 1 The system 300 can use a corresponding set of features from the validation set 304 to validate each trained model. For example, the system 300 can use a first set of features from the validation set (e.g., sensor data from sensors 1-10, or measurement 1-10) to validate a first trained model, and a second set of features from the validation set (e.g., sensor data from sensors 11-20, or measurement 11-20) to validate a second trained model. In some implementations, the system 300 can validate hundreds of models generated at block 312 (e.g., models with various permutations and combinations of features, model combinations, etc.). At block 314, the system 300 can determine the accuracy of each of the one or more trained models (e.g., determined via model validation), and can determine whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to determining that none of the trained models have an accuracy that meets the threshold accuracy, the flow returns to block 312, where the system 300 performs model training using different sets of features from the training set. In response to determining that one or more of the trained models have an accuracy that meets a threshold accuracy, the process continues to box 316. System 300 may discard trained models with an accuracy less than the threshold accuracy (e.g., based on the validation set).
[0104] At box 316, system 300 performs model selection (e.g. via...). Figure 1The selection engine 185 performs the selection to determine which of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., based on the validation of box 314 for the selected model 308). In response to determining that two or more of the trained models that meet the threshold accuracy have the same accuracy, the process may return to box 312, where the system 300 performs model training using a further refined training set corresponding to each further refined set of features to determine the trained model with the highest accuracy.
[0105] At box 318, system 300 uses test set 306 to perform model tests (e.g., via...). Figure 1 The system 300 uses test engine 186 to test the selected model 308. The system 300 can use a first set of features from the test set (e.g., sensor data from sensors 1-10) to test the first trained model to determine if it meets a threshold accuracy. Determining whether the first trained model meets the threshold accuracy can be based on the first set of features from test set 306. In response to the selected model 308's accuracy not meeting the threshold accuracy, the process continues to box 312, where the system 300 performs model training (e.g., retraining) using different training sets corresponding to different sets of features. If the selected model 308 overfits to training set 302 and / or validation set 304, then the selected model 308's accuracy may not meet the threshold accuracy. If the selected model 308 is not suitable for other datasets (including test set 306), then the selected model 308's accuracy may not meet the threshold accuracy. Training using different features can include training using data from different sensors, different manufacturing parameters, etc. In response to determining, based on test set 306, that the selected model 308 has an accuracy that meets a threshold accuracy, the process continues to box 320. At least in box 312, the model can learn patterns in the training data to make predictions. In box 318, system 300 can apply the model to the remaining data (e.g., test set 306) to test the predictions.
[0106] At box 320, system 300 uses a trained model (e.g., selected model 308) to receive current data 322 and determines (e.g., extracts) predicted data 324 based on the output of the trained model. Current data 322 may be image data related to a process, operation, substrate, or action of interest. Current data 322 may be image data of at least a portion of the substrate of interest. Current data 322 may be metrological data of the substrate of interest. Current data 322 may be manufacturing parameters related to a process under development, redevelopment, investigation, etc. Figure 1The correction actions associated with the manufacturing equipment 124 can be performed based on the predicted data 324. In some embodiments, the current data 322 may correspond to features of the same type in historical data used to train the machine learning model. In some embodiments, the current data 322 corresponds to a subset of feature types in historical data used to train the selected model 308. For example, the machine learning model can be trained using multiple manufacturing parameters and configured to produce output based on a subset of the manufacturing parameters.
[0107] In some implementations, the performance of the machine learning model trained, validated, and tested by system 300 may degrade. For example, the manufacturing system associated with the trained machine learning model may undergo gradual or sudden changes. Changes in the manufacturing system may cause a degrade in the performance of the trained machine learning model. A new model can be generated to replace the degraded machine learning model. The new model can be generated by modifying the old model through retraining, by generating a completely new model, and so on.
[0108] The generation of a new model may include providing additional training data 346. The generation of a new model may further include providing current data 322, such as data already used by the model to make predictions. In some implementations, when providing current data 322 for generating a new model, the current data may be labeled with an indication of the accuracy of predictions generated by the model based on the current data 322. Additional training data 346 may be provided to the model training at box 312 to generate one or more new machine learning models, update, retrain, and / or improve the selected model 308, etc.
[0109] In some implementations, one or more of actions 310-320 may occur in various orders and / or occur together with other actions not presented or described herein. In some implementations, one or more of actions 310-320 may not be performed. For example, in some implementations, one or more of the following may not be performed: data partitioning in block 310, model validation in block 314, model selection in block 316, or model testing in block 318.
[0110] Figure 3 A system configured for training, validating, testing, and using one or more machine learning models is described. The machine learning models are configured to accept data (e.g., setpoints provided to manufacturing equipment, sensor data, measurement data, etc.) as input and output data (e.g., prediction data, correction action data, classification data, etc.). The operations of dividing, training, validating, selecting, testing, and using the various boxes of system 300 can be performed similarly to train a second model using different types of data. Retraining can also be performed using the current data 322 and / or additional training data 346.
[0111] Figures 4A-4C This is a flowchart of method 400A-400C. Figures 4A-4C This is related to the determination of epitaxial film defects on the substrate, including defect classification, defect counting, defect prediction, and recommendations for correction actions based on epitaxial film defects. Figures 4A-4C One or more of these methods may be associated with training and utilizing machine learning models according to certain implementations. Methods 400A-400C can be executed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions running on a processing device, general-purpose computer system, or special-purpose machine), firmware, microcode, or a combination thereof. In some implementations, methods 400A-400C may be partially executed by prediction system 110. Method 400A may be partially executed by prediction system 110 (e.g., ... Figure 1 Server machine 170 and dataset generator 172, Figure 2A-2B The dataset generators 272A-272B execute the methods. According to embodiments of this disclosure, the prediction system 110 can use method 400A to generate a dataset for at least one operation in training, validating, or testing a machine learning model. Methods 400B-C can be executed by prediction server 112 (e.g., prediction component 114) and / or server machine 180 (e.g., training, validation, and testing operations can be performed by server machine 180). In some embodiments, a non-transitory machine-readable storage medium stores instructions that, when executed by a processing device (e.g., the processing device of prediction system 110, the processing device of server machine 180, the processing device of prediction server 112, etc.), cause the processing device to perform one or more of methods 400A-400C.
[0112] For ease of explanation, methods 400A-400C are depicted and described as a series of operations. However, operations according to this disclosure may occur in various orders and / or in parallel, and may occur together with other operations not presented or described herein. Furthermore, not all illustrated operations need to be performed to implement methods 400A-400C according to the disclosed subject matter. Moreover, those skilled in the art will understand that methods 400A-400C may alternatively be represented as a series of interrelated states via state diagrams or events.
[0113] Figure 4A This is a flowchart of a method 400A for generating datasets for machine learning models, based on some implementation methods. (See also...) Figure 4A In some implementations, at block 401, the processing logic of method 400A initializes the training set T to an empty set.
[0114] At block 402, the processing logic generates a first data input (e.g., a first training input, a first verification input), which may include one or more of the following: sensor data, manufacturing parameters, measurement data, etc. In some embodiments, the first data input may include a first set of features of each type of data, and the second data input may include a second set of features of each type of data (e.g., ...). Figure 3 (Description of the description). In some embodiments, the data input includes historical metrological data. In some embodiments, the data input includes historical image data, including indications of epitaxial film defects.
[0115] In some implementations, at block 403, the processing logic optionally generates a first target output for one or more data inputs (e.g., a first data input). In some implementations, the inputs include one or more measurements, and the target output is one or more characteristics of an epitaxial defect related to the measurement. In some implementations, the first target output of the machine learning model is predicted data. In some implementations, the input data may be in the form of data indicating epitaxial defects, and the target output may be a list of potentially faulty parts, as in the case where the machine learning model is configured to identify a faulty manufacturing system. In some implementations, no target output is generated (e.g., an unsupervised machine learning model capable of grouping or finding correlations in the input data without requiring a target output).
[0116] At block 404, the processing logic optionally generates mapping data that indicates the input / output mapping. The input / output mapping (or mapping data) may refer to data inputs (such as one or more data inputs as described herein), a target output for the data inputs, and the association between the data inputs and the target output. In some implementations (such as those associated with machine learning models that do not provide a target output), block 404 may not be executed.
[0117] In some implementations, at box 405, the processing logic adds the mapping data generated at box 404 to the dataset T.
[0118] At box 406, the processing logic is based on dataset T for training, validating, and / or testing machine learning models (e.g., ...). Figure 1The branch is determined by whether at least one operation in the synthetic data generator 174 or model 190 is sufficient. If so, execution continues to block 407; otherwise, execution returns to block 402. It should be noted that in some embodiments, the sufficiency of the dataset T may be determined solely based on the number of inputs mapped to the output in some embodiments, while in others, the sufficiency of the dataset T may be determined in addition to or instead of the number of inputs based on one or more other criteria (e.g., a measure of the diversity of data instances, accuracy, etc.).
[0119] At box 407, the processing logic provides a dataset T (e.g., to server machine 180) to train, validate, and / or test the 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 testing engine 186 of server machine 180 to perform testing. In the case of a neural network, for example, the input value of a given input / output mapping (e.g., a value associated with data input 210A) is input into the neural network, and the output value of the input / output mapping (e.g., a value associated with target output 220A) is stored in the output node of the neural network. The connection weights in the neural network are then adjusted according to a learning algorithm (e.g., backpropagation), and this procedure is repeated for other input / output mappings in dataset T. Following box 407, the conditions of the model (e.g., model 190) can be at least one of the following: trained using training engine 182 of server machine 180, validated using verification engine 184 of server machine 180, or tested using test engine 186 of server machine 180. The trained model can be implemented by prediction component 114 (prediction component of prediction server 112) to generate prediction data 168 for performing signal processing or for performing correction actions associated with manufacturing equipment 124.
[0120] Figure 4BThis is a flowchart of a method 400B for performing correction actions based on epitaxial film defects, according to some embodiments. At block 410, the processing logic optionally generates first image data of the substrate. Generating the first image data of the substrate may include depositing an epitaxial film on the substrate. Generating the first image data of the substrate may include etching the epitaxial film, for example, by plasma etching, chemical etching, or other methods to decorate epitaxial defects. Decorating epitaxial defects can make them appear more clearly in an image (e.g., a microscopic image) of the substrate. Generating the first image data may include capturing one or more images of the substrate using optical microscopy, scanning electron microscopy, or transmission electron microscopy.
[0121] At box 412, the processing logic obtains first image data of the substrate, including the epitaxial film. The epitaxial film can be a film deposited on a semiconductor substrate. The epitaxial film can be a film deposited on a silicon substrate. The epitaxial film can include one or more defects. The epitaxial film can include etch pit defects, cross-hatching defects, etc. The epitaxial film can include a single layer (e.g., a single epitaxial layer) or multiple layers. The epitaxial film can be doped. The epitaxial film can be undoped. The epitaxial film can include silicon (e.g., n-type doped silicon, p-type doped silicon), silicon germanium, silicon carbide, gallium nitride, aluminum nitride, gallium arsenide, aluminum gallium nitride, or silicon arsenide. The epitaxial film can include carbon, boron, arsenic, antimony, tin, indium, phosphorus, etc. The epitaxial film can include a silicon / silicon germanium superlattice.
[0122] At box 414, the processing logic applies a frequency domain filter to the first image data to obtain filtered image data. The frequency domain filter can be designed to highlight one or more types of epitaxial defects in the image data. Multiple frequency domain filters can be applied (e.g., to different copies of the first image data) to determine different categories of epitaxial defects. The frequency filter can include a two-dimensional high-pass filter. The frequency filter can include a low-pass filter. The frequency filter can be adjusted to improve the determination of epitaxial defects by the processing device.
[0123] Further processing can be performed on the image data. For example, various image processing techniques for improving feature detection can be applied to the image data, such as sharpening, smoothing, Gaussian blurring, artifact removal, or similar techniques. The image data can be provided as spatial domain data and can be transformed into frequency domain data (e.g., via Fourier transform, fast Fourier transform, etc.). Filtered image data can be transformed back to the spatial domain. Image qualification can be performed to produce high-contrast images, for example, by adjusting all pixels in the image with brightness greater than a threshold to maximum brightness and all pixels in the image with brightness less than a threshold to minimum brightness.
[0124] At box 416, the processing logic determines the number of epitaxial defects represented in the first image by performing feature detection on the filtered image data. Feature detection can be used to identify portions of the image data that indicate epitaxial defects. Feature detection may include the Hough transform. The Hough transform is used to identify shapes or patterns in an image by transforming the pixel data of the image into different representations (i.e., Hough space), where the target shape in the original image is represented by a set of parameters in the Hough space. An accumulator is used to find points that are correlated with the target shape. The Hough transform can be used to detect circles in the image data, which can be used to determine the presence of etch pits in the epitaxial film. Feature detection may include contour counting. Contour counting may include using techniques such as Canny edge detection to find pixel-connected regions in the image that satisfy threshold similarity conditions (e.g., brightness similarity, color similarity, or similar conditions). Contour counting can be used to determine the location and number of crosshairs in the image data of the epitaxial film.
[0125] At box 418, the processing logic performs a correction action based on the number of epitaxial defects. The correction action may include screening the substrate for additional processing. The correction action may include screening the substrate to perform additional process operations. The correction action may include scheduling maintenance for a processing chamber associated with the substrate (e.g., for depositing an epitaxial film on the substrate). The correction action may include performing maintenance on or initiating maintenance of the processing chamber. The correction action may include updating the process formulation. The correction action may include updating one or more parameters of the process chamber (e.g., manufacturing parameters of the process chamber). The correction action may include providing an alert to the user.
[0126] Figure 4C This is a flowchart of a method 400C for training and utilizing a machine learning model in conjunction with the determination of epitaxial defects in a target substrate, according to some embodiments. At block 420, the processing logic obtains a first plurality of image data of the substrate, including the epitaxial film. The image data may include substrate images collected using metrology equipment, such as microscopic data, scanning electron microscopy data, transmission electron microscopy data, etc.
[0127] At box 422, the processing logic determines the epitaxial defects of the substrate. Determining the epitaxial defects of the substrate may include applying and Figure 4B This can be combined with one or more of the described operations. For example, determining an epitaxial defect may include transforming image data to the frequency domain, applying one or more frequency domain filters, performing feature detection on the filtered frequency domain data, etc.
[0128] Box 424 may optionally be included in the operation of determining epitaxial defects. Determining epitaxial defects may include classifying the epitaxial defects. Classifying epitaxial defects may include labeling defects as etch pits or crosshair defects. The classification of epitaxial defects may be performed as part of an operation used to train a machine learning model for epitaxial defect classification.
[0129] Box 426 may optionally be included in the operation of determining epitaxial defects. Determining epitaxial defects may include determining the density of epitaxial defects. The determination of the density of epitaxial defects may be performed as part of an operation for training a machine learning model to predict the density of epitaxial defects. Further operations related to the epitaxial defects may be performed, such as for later training of the machine learning model for a target function. Operations may include locating the epitaxial defects, determining the root cause of the epitaxial defects, determining corrective actions based on the epitaxial defects, etc.
[0130] At box 428, the processing logic trains a machine learning model to determine epitaxial defects in a target substrate. Training the machine learning model includes providing a first plurality of image data as training input. Training the machine learning model also includes providing data indicating epitaxial defects in the substrate as the target output. In some embodiments, for example, to train the machine learning model to predict the defect density of unimaged portions of the substrate, the training input may include image data of a first portion of one or more substrates, and the target output data may include image data of a second portion of the one or more substrates that differs from the first portion.
[0131] At boxes 430 and 432, the processing logic optionally performs inference operations of the trained machine learning model. At box 430, the processing logic optionally provides the trained machine learning model with image data indicating a first portion of the target substrate.
[0132] At box 432, the processing logic obtains output from a trained machine learning model. The output indicates one or more of the following: epitaxial defect classification, epitaxial defect count, epitaxial defect density, epitaxial defect location, epitaxial defects in a second portion of the target substrate, root cause of epitaxial defects, or recommended corrective actions associated with epitaxial defects.
[0133] Figure 5AThis is a block diagram of a process 500A for generating epitaxial film defect data according to some embodiments. The process may begin in an epitaxial chamber 502 (e.g., a process chamber of a manufacturing system configured to deposit epitaxial films on a substrate (e.g., a semiconductor wafer). In the epitaxial chamber 502, one or more epitaxial films may be deposited on the substrate. One or more materials may be deposited on the substrate. In some embodiments, the substrate having the epitaxial film may be further etched to, for example, decorate the substrate. In some embodiments (e.g., when the substrate is designed to be etched after one or more epitaxial film deposition operations and before being provided for additional substrate processing), the substrate may be a substrate to be manufactured into a final device, a usable / commercial semiconductor, or the like. In some embodiments, the substrate may be a test substrate, for example, for characterizing manufacturing equipment, manufacturing formulations, substrate designs, substrate materials, or the like.
[0134] The process continues to one or more imaging tools 504. The imaging tool may be part of a metrology system. It may be a stand-alone metrology system, an integrated metrology system, an online metrology system, or a similar system. The imaging tool may include optical imaging tools, electron microscopy tools, etc. Imaging tool 504 may be used to generate one or more images of the substrate. Images may include images of the entire surface of the substrate. Images may include images of a portion of the surface of the substrate. Images may include images of target portions of the substrate with different properties (e.g., different distances from the center) to improve image-based predictions.
[0135] The process continues to image processing 506. Image processing can be performed through an image processing flow including preprocessing 510, feature detection 512, batch processing 514, and defect counting 516. Alternatively or additionally, image processing can be performed via machine learning processing 518. In some embodiments, the output of the image processing flow can be used to improve machine learning processing 518, for example, by providing labeled training data for machine learning processing 518.
[0136] Preprocessing 510 may include any operations used to adjust the image data to improve feature detection, epitaxial film defect detection, epitaxial defect prediction, or similar operations. For example, preprocessing may include noise reduction, one or more domain transformations, filtering, smoothing, limiting, etc., to improve image quality and / or improve epitaxial defect determination. Feature detection 512 may include operations used to identify features in the image data that indicate epitaxial defects (e.g., etch pits, crosshairs, etc.).
[0137] Batch processing 514 may include performing processing on a large number of images. The large number of images may be associated with a single substrate. For example, imaging a single substrate at a resolution suitable for epitaxial film defect detection may include generating thousands of images. The large number of images may be associated with multiple substrates.
[0138] Defect counting 516 can include calculating the number of detected defects, classifying detected defects into multiple types, and calculating local or global defect density, etc.
[0139] Machine learning processing 518 can be used to produce results similar to those in an image processing workflow. Machine learning processing 518 can be added to or used in place of an image processing workflow. Machine learning processing 518 can be used to generate output data based on images produced by imaging tool 504. Machine learning processing 518 can generate predictive results, such as predicted defect density, location, patterns, or the like in substrate portions not shown in the imaging data. Machine learning processing 518 can generate predictions of the causes of epitaxial defects, recommended corrective actions, etc.
[0140] The process can continue to user interface 508. User interface 508 may include a graphical user interface, for example, for presenting the results of epitaxial defect determination to the user. User interface 508 may include one or more interactive elements. User interface 508 may include data presentation. User interface 508 may include one or more images, such as images of detected epitaxial defects and / or predicted epitaxial defects. User interface 508 may include the ability to provide the user with one or more alerts, such as alerts indicating the count of epitaxial defects that meet threshold conditions, global density and / or local density, indicating recommended correction actions, etc.
[0141] Figure 5B This is an example epitaxial defect diagram 500B of a substrate according to some embodiments. The epitaxial defect diagram 500B can be provided to the user via a user interface. The epitaxial defect diagram 500B can efficiently provide the user with information indicating the density, location, severity, classification, etc. of epitaxial defects. Further information, such as defect count and density values, and the coordinate location of defects, can also be presented via the user interface.
[0142] Epitaxial defect diagram 500B includes information indicating the location of defects in the target substrate. Etched pit diagram 520 includes indications of etched pits detected by the epitaxial defect determination system. Cross-hatching diagram 522 includes indications of cross-hatching detected by the epitaxial defect determination system. One or more characteristics of the identified epitaxial defects can be presented by epitaxial defect diagram 500B. For example, the severity or size of the defect can be indicated by the color, pattern, shape, size, orientation, etc., of the element indicating the defect.
[0143] The etch pit map 520 and cross-hatching map 522 may include a visual representation of the target substrate. The etch pit map 520 and cross-hatching map 522 may further include a visual representation of a corresponding type of epitaxial defect. In some embodiments, the location of the epitaxial defect represented in the epitaxial defect map 500B can be measured, for example, determined by an epitaxial defect detection and / or classification procedure. In some embodiments, one or more epitaxial defect representations can be predicted, for example, based on predictions of measured defect locations in other areas of the substrate.
[0144] Crosshair diagram 522 includes a set of indicators for the defined crosshairs of the target substrate. In some embodiments, one or more characteristics of the indicators may be related to the orientation of the defined crosshairs. For example, the vertical orientation of the indicator may indicate vertically aligned crosshairs, the horizontal orientation of the indicator may indicate horizontally aligned crosshairs, and so on. In some embodiments, one or more characteristics of the indicators may be associated with frequency domain filtering performed to determine defects. In some embodiments, one or more characteristics of the visual indicators of epitaxial defect diagram 500B may be associated with feature detection techniques. For example, as shown in epitaxial defect diagram 500B, a circular defect visual indicator may be associated with a frequency domain filter configured to detect etch pits or a defect determined using feature detection techniques (e.g., Hough transform) for detecting etch pits. As another example, a linear visual indicator may indicate an epitaxial defect detected using a frequency domain filter and / or a feature detection technique associated with the crosshairs. The orientation of a linear visual indicator may indicate a horizontal or vertical frequency domain filter, a horizontal or vertical crosshair, a horizontal or vertical feature detection (e.g., contour counting), or the like.
[0145] The epitaxial defect map 500B can provide users with easily accessible information, such as the types of defects present on the substrate, the defect concentration in a specific region of the substrate, the distribution differences of different defect types on the substrate, an indication of the defect density across the substrate or one or more target regions across the substrate, and the radial and / or angular distribution of defects.
[0146] In some embodiments, the user interface can provide a numerical, color, pattern, or other representation of epitaxial defects in the substrate. In some embodiments, the user interface can provide spatial subdivision of defect locations, for example by providing the density and / or count of defects in various regions of the substrate (e.g., central region, edge region, intermediate region, etc.). The user interface can further provide the angular distribution of epitaxial defects in the substrate.
[0147] Figure 6This is a block diagram illustrating a computer system 600 according to some embodiments. In some embodiments, the computer system 600 may be connected to other computer systems (e.g., via a network connection, such as a local area network (LAN), internal network, external network, or internet). The computer system 600 may operate as a server or client computer in a client-server environment, or as a peer computer in a peer or distributed network environment. The computer system 600 may be provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch, or bridge, or any device capable of executing a set of instructions (executed sequentially or otherwise) specifying actions to be taken by said device. Further, the term "computer" should include any collection of computers that individually or jointly execute a set (or more) of instructions to perform any one or more methods described herein.
[0148] In another aspect, the computer system 600 may include a processing device 602, a volatile memory 604 (e.g., random access memory (RAM)), a non-volatile memory 606 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 618, which may communicate with each other via a bus 608.
[0149] The processing device 602 may be 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 (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of various types of instruction sets) or a special-purpose processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0150] The computer system 600 may further include a network interface device 622 (which is coupled to, for example, a network 674). The computer system 600 may also include a video display unit 610 (e.g., an LCD), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generating device 620.
[0151] In some embodiments, data storage device 618 may include a non-transitory computer-readable storage medium 624 (e.g., a non-transitory machine-readable medium) on which instructions 626 may be stored, these instructions encoding any or more of the methods or functions described herein, including... Figure 1The components (e.g., prediction component 114, correction action component 122, model 190, etc.) are encoded with instructions for implementing the methods described herein.
[0152] Instruction 626 may also reside wholly or partially in volatile memory 604 and / or processing device 602 during its execution by computer system 600, thus volatile memory 604 and processing device 602 may also constitute machine-readable storage media.
[0153] Although computer-readable storage medium 624 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" should also include a single medium or multiple media (e.g., a centralized or distributed database and / or associated cache and server) that store the set or more sets of executable instructions. The term "computer-readable storage medium" should also include any tangible medium capable of storing or encoding a set of instructions for execution by a computer, causing the computer to perform any one or more of the methods described herein. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0154] The methods, components, and features described herein can be implemented by discrete hardware components or integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. Furthermore, the methods, components, and features can also be implemented by firmware modules or functional circuitry systems within a hardware device. Further, the methods, components, and features can be implemented as any combination of hardware devices and computer program components or as a computer program.
[0155] Unless otherwise specifically stated, terms such as “receive,” “execute,” “provide,” “obtain,” “cause,” “access,” “determine,” “add,” “use,” “train,” “reduce,” “generate,” and “correct” refer to actions and processes performed or implemented by a computer system that manipulate and transform data represented as physical (electronic) quantities in computer system registers and memories into other data similarly represented as physical quantities in computer system memory or registers or other such information storage, transmission, or display devices. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc., as used herein are labels to distinguish different elements and may not have a sequential meaning based on their numerical designation.
[0156] The examples described herein also relate to an apparatus for performing the methods described herein. This apparatus may be specifically configured to perform the methods described herein, or it may comprise a general-purpose computer system selectively programmed by a computer program stored in a computer system. Such a computer program may be stored in a computer-readable tangible storage medium.
[0157] The methods and illustrative examples described herein are not inherently related to any particular computer or other device. Various general-purpose systems can be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized devices to perform each of the individual functions, routines, subroutines, or operations of the methods described herein. Examples of structures for various such systems are illustrated in the above description.
[0158] The above description is intended to be illustrative and not restrictive. While this disclosure has been described with reference to specific illustrative examples and embodiments, it will be appreciated that this disclosure is not limited to the examples and embodiments described. The scope of this disclosure will be determined with reference to the appended claims, together with the full scope of the equivalents given by those claims.
Claims
1. A method comprising the following steps: First image data of a substrate, including an epitaxial film, is obtained by a processing device; Apply a frequency domain filter to the first image data to obtain filtered image data; By performing feature detection on the filtered image data, the number of epitaxial defects represented in the first image data is determined; and Perform a correction action based on the number of epitaxial defects.
2. The method of claim 1, wherein performing the feature detection comprises the following steps: Perform one or more of the Hough transform or contour counting.
3. The method of claim 1, wherein the epitaxial defect includes one or more of etch pits or cross-hatching.
4. The method of claim 1, wherein the epitaxial film comprises one or more of the following: silicon; carbon; boron; arsenic; antimony; tin; phosphorus; Silicon and germanium; Silicon carbide; Gallium nitride; Aluminum nitride; Gallium arsenide; Gallium nitride aluminum; Indium; or Silicon arsenide.
5. The method of claim 4, wherein the epitaxial film comprises a silicon / silicon-germanium superlattice.
6. The method of claim 1, wherein generating the first image data comprises the following steps: The epitaxial film is deposited on the substrate; Etching is performed on the epitaxial film; and Images of the substrate are captured using optical microscopy, scanning electron microscopy, or transmission electron microscopy.
7. The method of claim 1, wherein the correction action includes screening the substrate for additional processing.
8. The method of claim 1, wherein the correction action comprises one or more of the following: Arrange maintenance of the process chambers associated with the epitaxial film; Update the process formula; Update one or more manufacturing parameters of the process chamber; or Provide alerts to users.
9. The method of claim 1, wherein the frequency domain filter comprises one of the following: Two-dimensional high-pass filter; or Low-pass filter.
10. The method of claim 1, further comprising one or more of the following steps: classifying the epitaxial defects, or determining the density of the epitaxial defects.
11. A non-transitory machine-readable storage medium for storing instructions, said instructions, when executed, cause a processing device to perform operations including the following steps: Obtain first image data of the substrate, including the epitaxial film; A frequency domain filter is applied to the first image data to produce filtered image data; The number of epitaxial defects represented in the first image data is determined by performing feature detection on the filtered image data; and Perform a correction action based on the number of epitaxial defects.
12. The non-transitory machine-readable storage medium of claim 11, wherein the epitaxial defect includes one or more of etch pits or crosshairs.
13. The non-transitory machine-readable storage medium of claim 11, wherein the epitaxial film comprises one or more of the following: silicon; carbon; boron; arsenic; antimony; tin; phosphorus; Silicon and germanium; Silicon carbide; Gallium nitride; Aluminum nitride; Gallium arsenide; Gallium nitride aluminum; Indium; or Silicon arsenide.
14. The non-transitory machine-readable storage medium of claim 11, wherein generating the first image data comprises the following steps: The epitaxial film is deposited on the substrate; Etching is performed on the epitaxial film; and Images of the substrate are captured using optical microscopy, scanning electron microscopy, or transmission electron microscopy.
15. The non-transitory machine-readable storage medium of claim 11, wherein the correction action includes one or more of the following: The substrate is screened to perform additional process operations; Arrange the maintenance of the process chambers; Update the process formula; Update one or more manufacturing parameters of the process chamber; or Provide alerts to users.
16. The non-transitory machine-readable storage medium of claim 11, wherein the frequency domain filter comprises one of the following: Two-dimensional high-pass filter; or Low-pass filter.
17. A system comprising a memory and a processing device coupled to the memory, wherein the processing device is configured to: Obtain first image data of the substrate, including the epitaxial film; Apply a frequency domain filter to the first image data to obtain filtered image data; The number of epitaxial defects represented in the first image data is determined by performing feature detection on the filtered image data; and Perform a correction action based on the number of epitaxial defects.
18. The system of claim 17, wherein the correction action comprises one or more of the following: The substrate is screened to perform additional process operations; Arrange the maintenance of the process chambers; Update the process formula; Update one or more manufacturing parameters of the process chamber; or Provide alerts to users.
19. The system of claim 17, wherein the processing device is further configured to train a machine learning model to determine the number of epitaxial defects by providing the first image data as training input and the number of epitaxial defects of the target substrate as target output.
20. The system of claim 17, wherein the epitaxial film comprises one or more of the following: silicon; carbon; boron; arsenic; antimony; tin; phosphorus; Silicon and germanium; Silicon carbide; Gallium nitride; Aluminum nitride; Gallium arsenide; Gallium nitride aluminum; Indium; or Silicon arsenide.