Fleet matching based on causality
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- APPLIED MATERIALS INC
- Filing Date
- 2025-01-08
- Publication Date
- 2026-08-07
AI Technical Summary
传统上,系统健康是通过人工检验和性能度量来评估的,这会导致计划外的停机和维护,干扰正常操作,并造成效率和生产力的损失
Smart Images

Figure CN122535866A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to determining causal relationships in a system. More specifically, this disclosure relates to fleet matching based on causal relationships. Background Technology
[0002] Manufacturing systems (including substrate manufacturing systems) use manufacturing equipment to produce products (such as substrates). Manufacturing systems include sensors that may have causal relationships. Traditionally, system health has been assessed through manual inspection and performance metrics, which can lead to unplanned downtime and maintenance, disrupt normal operations, and result in lost efficiency and productivity. 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] One aspect of this disclosure includes a method comprising: generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors of a plurality of sensors in one or more manufacturing systems. The method further comprises: determining a causal strength index matrix. The method further comprises: in response to identifying anomalous behavior in at least one of the plurality of sensors, determining the root cause of the anomalous behavior using the causal strength index matrix or at least one of the causal graphs. The method further comprises: causing a recommended corrective action to be issued based on the root cause of the anomalous behavior.
[0005] Another aspect of this disclosure includes a non-transitory computer-readable storage medium storing instructions that, when executed, cause a processing device to perform operations. These operations include: generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors of a plurality of sensors in one or more manufacturing systems. The operations further include: determining a causal strength index matrix. The operations further include: in response to identifying anomalous behavior in at least one of the plurality of sensors, determining the root cause of the anomalous behavior using the causal strength index matrix or at least one of the causal graphs. The operations further include: causing a recommended corrective action to be issued based on the root cause of the anomalous behavior.
[0006] Another aspect of this disclosure includes a system comprising memory and a processing device coupled to the memory. The processing device is configured to: generate a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors of a plurality of sensors in one or more manufacturing systems. The processing device is further configured to: determine a causal strength index matrix. The processing device is further configured to: in response to identifying anomalous behavior in at least one of the plurality of sensors, determine the root cause of the anomalous behavior using the causal strength index matrix or at least one of the causal graphs. The processing device is further configured to: cause a recommended corrective action to be issued based on the root cause of the anomalous behavior.
[0007] Another aspect of this disclosure includes a method comprising: generating a product knowledge causal graph based on: causal relationships between multiple sensors in one or more manufacturing systems; part data of multiple parts of the manufacturing system, wherein each of the multiple parts corresponds to at least one of the multiple sensors; and equipment constant data of multiple equipment constants of the manufacturing system, wherein the equipment constant data corresponds to at least one of the multiple sensors. The method further comprises: determining a causal strength index matrix. The method further comprises: in response to identifying anomalous behavior in at least one of the multiple sensors, determining the root cause of the anomalous behavior using the causal strength index matrix or at least one of the product knowledge causal graphs. The method further comprises: identifying at least one corrective action for the anomalous behavior based at least on a subset of the part data corresponding to the root cause of the anomalous behavior or a subset of the equipment constant data corresponding to the root cause of the anomalous behavior.
[0008] Another aspect of this disclosure includes a non-transitory computer-readable storage medium storing instructions that, when executed, cause a processing device to perform operations. These operations include: generating a product knowledge causal graph based on: causal relationships between multiple sensors in one or more manufacturing systems; part data of multiple parts of the manufacturing system, wherein each of the multiple parts corresponds to at least one of the multiple sensors; and equipment constant data of multiple equipment constants of the manufacturing system, wherein the equipment constant data corresponds to at least one of the multiple sensors. The operations further include: determining a causal strength index matrix. The operations further include: in response to identifying anomalous behavior in at least one of the multiple sensors, determining the root cause of the anomalous behavior using the causal strength index matrix or at least one of the product knowledge causal graphs. The operations further include: identifying at least one corrective action for the anomalous behavior based at least on a subset of the part data corresponding to the root cause of the anomalous behavior or a subset of the equipment constant data corresponding to the root cause of the anomalous behavior.
[0009] Another aspect of this disclosure includes a system comprising memory and a processing device coupled to the memory. The processing device is configured to: generate a product knowledge causal graph based on: causal relationships between multiple sensors in one or more manufacturing systems; part data of multiple parts of the manufacturing system, wherein each of the multiple parts corresponds to at least one of the multiple sensors; and equipment constant data of multiple equipment constants of the manufacturing system, wherein the equipment constant data corresponds to at least one of the multiple sensors. The processing device is further configured to: determine a causal strength index matrix. The processing device is further configured to: in response to identifying anomalous behavior in at least one of the multiple sensors, determine the root cause of the anomalous behavior using the causal strength index matrix or at least one of the product knowledge causal graphs. The processing device is further configured to: identify at least one corrective action for the anomalous behavior based at least on a subset of the part data corresponding to the root cause of the anomalous behavior or a subset of the equipment constant data corresponding to the root cause of the anomalous behavior. Attached Figure Description
[0010] The disclosure is illustrated in the accompanying drawings by way of example rather than limitation.
[0011] Figure 1 This is a block diagram illustrating an exemplary system architecture based on some implementation methods.
[0012] Figure 2A This illustrates a dataset generator associated with determining the weights of directed edges, according to some implementation methods.
[0013] Figure 2B This illustrates a dataset generator, according to some implementations, associated with determining corrective actions and root causes for a manufacturing system.
[0014] Figure 3 This is a block diagram illustrating the determination of prediction data based on some implementation methods.
[0015] Figure 4 It is a directed acyclic graph (DAG) based on some implementation methods.
[0016] Figures 5A-5C This is a flowchart of a method associated with determining causal relationships and determining the weights of directed edges, based on some implementation methods.
[0017] Figure 6 It is a product knowledge cause-effect graph based on some implementation methods.
[0018] Figures 7A-7D It is a flowchart of a method associated with determining corrective actions and root causes for a manufacturing system, based on some implementation methods.
[0019] Figure 8 This is a block diagram illustrating a computer system according to certain implementations. Detailed Implementation
[0020] This article describes techniques for determining causal relationships (e.g., causal relationships in semiconductor manufacturing systems) and identifying corrective actions and root causes for semiconductor manufacturing systems.
[0021] Semiconductor manufacturing systems are complex and require careful monitoring to maintain performance. However, traditional statistical, empirical, and machine learning methods used to trace root causes and determine system health generally provide correlations, not causal information. Therefore, faulty sensors or subsystems are often identified as the root cause of anomalous sensors and / or degraded system performance, leading to misguided corrective actions and increased downtime and costs. Furthermore, traditional methods for root cause tracing and corrective action determination may only consider corrective actions related to the sensor nodes of the semiconductor manufacturing system. When determining root causes and appropriate corrective actions, the many components (including part specifications and quality data) and equipment constants related to the sensor nodes of the semiconductor manufacturing system may not be considered. Therefore, incorrect root causes and / or ineffective corrective actions may be identified for anomalous sensors, resulting in increased downtime and costs.
[0022] Current solutions for defining relationships between variables (such as sensors and / or sensor data) in manufacturing systems are based on correlation. This is because finding correlations is easier than finding and proving causality. Finding and proving causality often requires expertise in semiconductor manufacturing. Furthermore, correlation can be misleading, as demonstrated by Simpson's paradox. This paradox occurs when a trend appears in different data sets, but disappears or reverses when these data sets are combined. Current solutions fail to capture directed causal relationships between nodes (such as sensors), and the weights of the causal relationships they learn are often unstable, inaccurate, and have high bias or variance.
[0023] Current solutions for identifying root causes and corrective actions do not consider product data (e.g., part data and / or equipment constant data). Product data can be difficult to incorporate into a semiconductor manufacturing system model based solely on sensor nodes. Finding and demonstrating the relationship between product data and the sensor nodes of a semiconductor manufacturing system often requires semiconductor manufacturing expertise. Therefore, current solutions fail to identify accurate root causes and impactful corrective actions (which, for example, are related to product data).
[0024] By performing causal determination (e.g., based on sensor nodes and product data) and using causal relationships to determine corrective actions in manufacturing systems (e.g., semiconductor manufacturing systems), aspects and implementations of this disclosure address these and other drawbacks of the prior art. In some implementations, Granger causality can be used, for example, to create causal graphs (e.g., directed acyclic graphs (DAGs)). Causal graphs can represent causal relationships between sensors in a manufacturing system, thereby enabling the diagnosis of sensor anomalies. Anomaly sensors are sensors and / or metrology tools that are collecting anomalous data (e.g., measurement results exceeding the expected or normal range of a specific parameter). Causal graphs can enable accurate root cause analysis (e.g., multiple ranked root causes), issue effective corrective actions (e.g., multiple ranked corrective actions), and realize the functionality of system health factor indices.
[0025] The ability to capture directed causal relationships between variables (such as sensors and / or sensor data in semiconductor manufacturing systems) enhances statistical, empirical, and machine learning methods used to determine relationships between variables, which, when used alone, provide only inferential information and not causal information. Furthermore, the ability to integrate product data (such as part data and equipment constant data) into directed causal relationships between variables enhances the accuracy and effectiveness of identifying root causes and corrective actions. In some implementations, sensors and / or sensor data (such as sensor values, measured values, etc.) in a manufacturing system are represented as variables due to the interrelationships and causal relationships they may exhibit. A change in one sensor (such as a sensor measurement) often correlates with changes in other sensors, thus indicating a potential causal relationship. For example, an increase in temperature detected by a temperature sensor may lead to an increase in pressure detected by a pressure sensor. Causal relationships between variables (such as sensors, sensor data, sensor values, etc.) can show how the variability of sensor measurements directly affects the behavior and dynamics of the manufacturing system. In causal relationships, one sensor may be a leading indicator (driving factor) that causes a change in another sensor and / or affects another sensor. Determining the causal relationships between variables makes this disclosure more accurate and efficient, resulting in reduced downtime and costs.
[0026] Sensors in a manufacturing system can be associated with various parts (e.g., components). Sensors can be monitored to ensure the proper functioning of parts within the manufacturing system. For example, detecting an abnormal sensor in a manufacturing system (e.g., a sensor collecting measurements outside the expected or normal range for a specific parameter) can indicate a problem with a particular part, such as a faulty RF cable. Sensors in a manufacturing system are also associated with equipment constants (e.g., system constants). For example, detecting an abnormal sensor in a manufacturing system can be attributed to a faulty equipment constant or setting, such as a monitor timeout value that needs adjustment. These associations can help identify problems (e.g., root causes), maintain process integrity, and allow for timely maintenance or replacement of faulty components (e.g., corrective actions) to facilitate smooth operation of the manufacturing system. Sensors in a manufacturing system can be represented by product knowledge causal graphs and causal strength index matrices. Integrating part data and equipment constant data into the causal relationship structure of sensors enhances accuracy and efficiency, leading to reduced downtime and costs.
[0027] In some implementations, component and / or equipment constants in a manufacturing system can be represented as variables of the semiconductor manufacturing system due to the potential interrelationships and causal relationships that may exist between products (e.g., component and equipment constants) and sensors. A change in a component or equipment constant is often correlated with a change in a sensor (e.g., a modified or damaged component may trigger a change in the sensor), thus indicating a potential causal relationship.
[0028] The processing device can generate a causal graph based on multiple values corresponding to causal relationships between sensors in one or more manufacturing systems. The causal graph can be a directed acyclic graph (DAG). The processing device can generate a DAG by combining causal interdependencies from a causal strength index matrix and user input. For example, the manufacturing system could be a wafer manufacturing system (e.g., a semiconductor manufacturing system), and sensors could monitor parameters of the wafer manufacturing system.
[0029] A Directed Acyclic Graph (DAG) can include nodes corresponding to sensors in a manufacturing system and weighted directed edges. The weights can be determined using a structural causal model. This structural causal model can be a machine learning model trained using historical sensor data and the target output of historical causal data (e.g., weight data) to predict the weights of the directed edges.
[0030] The processing device can further assign a criticality value to each sensor in the manufacturing system. The criticality value can be a numerical value representing the sensor's criticality to the system. The processing device can further assign a system health factor index value to the manufacturing system.
[0031] Various aspects of this disclosure provide technical advantages. Specifically, aspects of this disclosure offer the ability to capture directed causal relationships between nodes (e.g., sensors in a wafer manufacturing system), thereby enhancing the use of variable relationship determination based on traditional statistical, empirical, and machine learning methods by providing causal relationships rather than correlations. These aspects capture directed causal relationships between variables (e.g., sensors, sensor values, sensor data, etc.) so that the strength and direction of these relationships are accurately learned without being overly sensitive to data variations. Therefore, the learned causal weights are more stable, more accurate, and have lower bias and / or variance. Because causal relationships (rather than correlations) including part data and equipment constant data are used to determine root causes, these aspects provide more accurate and efficient root cause analysis, resulting in reduced downtime and costs (e.g., part replacement, installation costs, etc.). Therefore, sensors or subsystems are accurately identified as root causes of system performance degradation, enabling effective corrective actions related to part or equipment constants, leading to reduced downtime and costs. These aspects provide system health factor indices, thereby reducing misleading troubleshooting.
[0032] Figure 1 This is a block diagram illustrating an exemplary system 100 (exemplary system architecture) according to certain implementations. System 100 (e.g., via correction action component 122 and / or prediction component 114) can perform the methods described herein (e.g. Figures 5A-5C Method 500A-500C and Figures 7A-7D Methods 700A-700D). System 100 includes client device 120, manufacturing equipment 124, sensor 126, metering equipment 128, prediction server 112, and data storage 140. In some embodiments, prediction server 112 is part of prediction system 110. In some embodiments, prediction system 110 further includes server machines 170 and 180. In some embodiments, manufacturing equipment may include parts 125 and equipment constants 127.
[0033] In some embodiments, one or more of the following components—client device 120, manufacturing equipment 124, sensor 126, metrology equipment 128, prediction server 112, data storage 140, server machine 170, and / or server machine 180—are interconnected via network 130 to generate prediction data 160 for performing residual-based thin-film deposition parameter adjustments during substrate fabrication. In some embodiments, network 130 is a public network that provides client device 120 with access to prediction server 112, data storage 140, and other publicly available computing devices. In some embodiments, network 130 is a private network that provides client device 120 with access to manufacturing equipment 124, sensor 126, metrology equipment 128, data storage 140, and other privately available computing devices. In some implementations, network 130 includes one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0034] In some embodiments, client device 120 includes a computing device such as a personal computer (PC), portable computer, mobile phone, smartphone, tablet computer, laptop computer, etc. In some embodiments, client device 120 includes a correction action component 122. In some embodiments, the correction action component 122 may also be included in the prediction system 110 (e.g., a machine learning processing system). In some embodiments, the correction action component 122 is alternatively included in the prediction system 110 (e.g., not in client device 120). Client device 120 includes an operating system that allows a user to perform one or more of the following operations: merging, generating, viewing, or editing data, providing instructions to the prediction system 110 (e.g., the machine learning processing system), etc.
[0035] In some embodiments, the corrective action component 122 receives one or more of the following: user input (e.g., via a graphical user interface (GUI) displayed through client device 120), sensor data 142, causal data 172, performance data 152, suggestion data 132, part data 145, equipment constant data 147, etc. In some embodiments, sensor data 142 may be data collected by sensors 126, metering equipment 128, etc. In some embodiments, part data 145 may include acceptance certificates. In some embodiments, the corrective action component 122 transmits data (e.g., user input, sensor data 142, performance data 152, causal data 172, part data 145, equipment constant data 147, suggestion data 132, etc.) to the prediction system 110, receives prediction data 160 from the prediction system 110, determines suggested corrective actions based on the prediction data 160, and issues suggested corrective actions and / or causes corrective actions to be implemented. In some implementations, the corrective action component 122 transmits data (e.g., user input, sensor data 142, performance data 152, causal data 172, etc.) to the prediction system 110, receives prediction data 160 from the prediction system 110, determines a plurality of ranked recommended corrective actions based on the prediction data 160, and issues ranked recommended corrective actions and / or causes the implementation of the selected corrective action.
[0036] In some embodiments, the correction action component 122 stores data (e.g., user input, sensor data 142, performance data 152, causal data 172, suggestion data 132, part data 145, equipment constant data 147, etc.) in data memory 140, and the prediction server 112 retrieves data from data memory 140. In some embodiments, the prediction server 112 stores the output of a trained machine learning model 190 (e.g., prediction data 160) in data memory 140, and the client device 120 retrieves the output from data memory 140. In some embodiments, the correction action component 122 receives instructions from the prediction system 110 for suggested correction actions (e.g., based on prediction data 160) and causes the issuance and / or execution of suggested correction actions and / or correction actions.
[0037] Manufacturing equipment 124 can produce products, such as substrates, wafers, semiconductors, electronic devices, etc., according to a formula or by performing multiple runs over a period of time. Manufacturing equipment 124 may include processing chambers. Processing chambers can be adapted to perform any number of processes on the substrate. The same or different substrate processing operations can be performed in each processing chamber or substrate processing area. Processing chambers may include one or more sensors (e.g., sensor 126) configured to capture data for the chamber and / or substrate before, after, or during substrate processing operations. In some embodiments, the one or more sensors may be configured to capture data associated with the environment within the processing chamber before, after, or during substrate processing operations. For example, the one or more sensors may be configured to capture pressure data, temperature data, radio frequency (RF) power data, arc data, gas concentration data, and / or similar data during substrate processing operations.
[0038] In some implementations, high sampling rates and individual subsystem recipes (e.g., dedicated recipes) can be used to generate causal knowledge graphs (e.g., DAGs). Dedicated recipes (e.g., macros) can aid in learning the causal graph. In some implementations, the processing device can use dedicated recipes to detect causal relationships within a subsystem or across multiple subsystems. In some implementations, the processing device changes a single parameter. In some implementations, the change can be a step-like or gradual change. In some implementations, the processing device can induce a sine wave (Bode engine). In some implementations, a change is made to a single parameter or setpoint. In some implementations, multiple parameters or setpoints can be changed simultaneously. In some implementations, the sampling rate (the sensor's true sampling rate) is a high sampling rate. In some implementations, the true sampling rate data can be downsampled. In some implementations, the true sampling rate data can be upsampled.
[0039] In some embodiments, the processing chamber may include metrology equipment (e.g., metrology equipment 128) and / or sensors (e.g., sensor 126) configured to generate in-situ metrology measurements (e.g., metrology data) and / or sensor measurements (e.g., sensor data) during processes performed at the processing chamber. In some embodiments, metrology equipment 128 is a subset of sensor 126 and may be included as part of manufacturing equipment 124. In some embodiments, the metrology measurements and / or sensor measurements may be a subset of sensor data 142 and / or performance data 152. The metrology equipment and / or sensors may be operatively coupled to a system controller. In some embodiments, the sensors may be configured to generate sensor measurements (e.g., temperature) for the processing chamber during a specific instance of the wafer fabrication process.
[0040] Manufacturing equipment 124 can perform processes on a substrate (e.g., a wafer) within a processing chamber. Manufacturing equipment 124 may include components 125 and equipment constants 127. Examples of substrate processes include deposition processes that deposit one or more layers of thin films on the surface of a substrate, etching processes that form patterns on the surface of a substrate, and so on. Manufacturing equipment 124 can perform each process according to a process recipe. A process recipe defines a specific set of operations to be performed on the substrate during the process and may include one or more settings associated with each operation. For example, a deposition process recipe may include temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of materials included in the thin film deposited on the substrate surface, etc.
[0041] In some embodiments, manufacturing equipment 124 includes sensors 126 configured to generate data associated with manufacturing system 100. For example, the processing chamber may include one or more of the following: temperature sensors, pressure sensors, flow sensors, optical sensors, position sensors, gas sensors, humidity sensors, RF power sensors, vibration sensors, electrical sensors, ionization sensors, radiation sensors, and / or similar sensors. Such sensors may be configured to generate one or more of the following measurements associated with the processing chamber and / or substrate before, during, and / or after a process (such as a deposition process): temperature measurement, pressure measurement, flow measurement, optical measurement, position measurement, gas measurement, humidity measurement, RF power measurement, vibration measurement, electrical measurement, and / or similar measurements.
[0042] In some embodiments, manufacturing equipment 124 includes metrology equipment 128 configured to generate data associated with manufacturing system 100 and / or substrates produced by manufacturing system 100. For example, the processing chamber may include one or more of the following: optical emission spectroscopy tools, x-ray fluorescence (XRF) tools, energy-dispersive x-ray spectroscopy (EDS) tools, and / or similar tools. Such metrology equipment may be configured to generate one or more of the following measurements associated with the substrate before, during, and / or after the manufacturing process: spatial measurements, dimensional measurements, optical measurements, positional measurements, spectral measurements, radiometric measurements, and / or similar measurements.
[0043] In some implementations, prediction server 112, server machine 170, and server machine 180 each include one or more computing devices, such as rack servers, router computers, server computers, personal computers, mainframe computers, portable computers, tablet computers, desktop computers, graphics processing units (GPUs), accelerator application-specific integrated circuits (ASICs) (e.g., tensor processing units (TPUs)), etc.
[0044] Prediction server 112 includes prediction component 114. In some embodiments, prediction component 114 identifies (e.g., received from client device 120, retrieved from data storage 140) sensor data 142 (e.g., sensor values, expected sensor values, measurement data, etc.), part data 145, and / or equipment constant data 147, and generates prediction data 160 associated with recommendations for one or more corrective actions (e.g., cleaning, maintenance, tool downtime, repair, calibration, updating formula, updating operating parameters, updating process operating parameters, etc.). In some embodiments, the prediction component ranks the recommended corrective actions based on corresponding severity values for the root causes (e.g., ranked root causes).
[0045] In some implementations, prediction component 114 uses one or more trained machine learning models 190 to determine prediction data 160. In some implementations, the trained machine learning model 190 is trained using historical sensor data 144 (including historical measurement data) and historical causal data 174 (e.g., historical weighted data). In some implementations, prediction system 110 (e.g., prediction server 112, prediction component 114) uses supervised machine learning (e.g., supervised datasets, historical sensor data 144 labeled with historical causal data 174, etc.) to generate prediction data 160. In some implementations, prediction system 110 uses semi-supervised learning to generate prediction data 160 (e.g., semi-supervised datasets, causal data 172 being predicted percentages, etc.). In some implementations, prediction system 110 uses unsupervised machine learning (e.g., unsupervised datasets, clustering, clustering based on historical sensor data 144, etc.) to generate prediction data 160.
[0046] In some embodiments, the manufacturing equipment 124 (e.g., deposition chamber, cluster tool, wafer back polishing system, wafer saw equipment, die attach machine, wire bonding machine, die capping system, molding equipment and / or the like) is part of a substrate processing system (e.g., wafer manufacturing system, integrated processing system, etc.).
[0047] In some embodiments, manufacturing equipment 124 may include various interconnected parts 125 (e.g., components). Manufacturing equipment 124 (including parts 125) can assist in the production of semiconductor devices. Individual parts within the manufacturing system adhering to specific specifications and requirements can help ensure manufacturing quality and consistency. In some embodiments, sensor 126 can continuously monitor manufacturing equipment 124 and associated processing parameters. In some embodiments, equipment constants 127 (e.g., system constants such as timeout settings, calibration values, or operating thresholds) may be associated with sensor 126 and / or parts 125. Equipment constants 127 can determine how manufacturing equipment 124 and / or parts 125 operate, affecting the data collected by sensor 126, and may cause sensor malfunctions in the event of miscalibration or misconfiguration of equipment constants 127. Proper configuration and maintenance of these constants can improve the performance of manufacturing equipment 124 and / or parts 125, contributing to consistency, efficiency, and product quality in semiconductor manufacturing.
[0048] Part 125 may include one or more of the following: etching machines, deposition tools, diffusion furnaces, rapid thermal annealing (RTA) equipment, photolithography equipment, vacuum pumps, gas cabinets, gas pipelines, temperature controllers, heaters and coolers, pressure controllers, pressure relief valves, RF generators, source matching, RF cables, waveguides, antennas, spectrometers, spectrographs, fiber optic cables, laser sources, photodetectors, robotic arms, particle counters, temperature control units, chemical exhaust systems, chemical dispensing systems, electrical panels, power distribution units, exhaust and ventilation devices, and / or similar parts.
[0049] Equipment constant 127 may include one or more timeout settings, stability settings, tolerance and limit settings, trigger settings, calibration constants, control parameters, filter settings, sampling and measurement constants, safety and emergency settings, communication parameters, calibration and reference values, temperature compensation constants, timing constants, threshold levels, resolution settings, conversion constants, geometric and positioning constants and / or similar constants. For example, Equipment Constant 127 may include one or more of the following items: RF analyzer timeout, monitor timeout, tool timeout, RF analyzer settling time, equipment warm-up time, stabilization time, inspection tolerance, inspection limit, reference inspection limit, strength error limit, voltage tolerance, trigger threshold, trigger delay, trigger hysteresis, calibration factor, compensation value, offset correction, gain control, bias voltage, frequency offset, phase offset, power level setting, bandwidth, cutoff frequency, filter order, sampling rate, integration time, measurement resolution, emergency stop threshold, overheat protection limit, safety interlock setting, data transmission rate, baud rate, communication protocol setting, reference voltage, reference current, reference temperature, temperature coefficient, temperature compensation factor, frequency, time delay, time interval, voltage threshold, current threshold, signal-to-noise ratio threshold, image resolution, data bit depth, analog-to-digital converter (ADC) gain, digital-to-analog converter (DAC) scaling, position calibration factor, lens distortion correction, etc.
[0050] Manufacturing equipment 124 includes one or more of the following: controllers, housing systems (e.g., substrate carriers, front-opening unified pods (FOUPs), autoteach FOUPs, process kit housing systems, substrate housing systems, cassettes, etc.), side storage pods (SSPs), alignment devices (e.g., alignment chambers), factory interfaces (e.g., equipment front-end modules (EFEMs)), load locks, transfer chambers, one or more processing chambers, robotic arms (e.g., disposed in transfer chambers, disposed in front-end interfaces, etc.), and / or the like. In some embodiments, manufacturing equipment 124 includes components of a substrate processing system. In some embodiments, sensor data 142 (including metrological data) of the processing chamber or substrate originates from the processing chamber or substrate undergoing one or more processes (e.g., deposition, etching, heating, cooling, transfer, processing, flow, etc.) performed by components of manufacturing equipment 124.
[0051] In some implementations, sensor 126 provides sensor data 142 of the processing chamber or sensor data 142 of the substrate processed by manufacturing equipment 124 (e.g., sensor values, such as historical sensor values and current sensor values).
[0052] In some embodiments, sensor 126 includes one or more of the following metrological tools: an ellipsometer (for determining the properties and surface of a thin film by measuring material properties such as layer thickness, optical constants, surface roughness, composition, and optical anisotropy); an ion mill (for preparing heterogeneous bulk materials when the material is to be uniformly thin over a large area); a capacitance-to-voltage (CV) system (for measuring the CV and capacitance-to-time (Ct) characteristics of a semiconductor element); an interferometer (for measuring distances based on wavelength and determining the wavelength of a specific light source); a source measurement unit (SME) magnetometer; optical and imaging systems; a profilometer; and a wafer detector (for measuring the properties and surface of a semiconductor). Testing semiconductor wafers before they are separated into individual bare dies or chips; imaging stations; critical-size scanning electron microscopes (CD-SEM, used to ensure the stability of the manufacturing process by measuring the critical dimensions of the substrate); reflectometers (used to measure the reflectivity and emissivity of a surface); impedance probes (used to measure the resistivity of thin films); impedance high-energy electron diffraction (RHEED) systems (used to measure or monitor the crystal structure or crystal orientation of epitaxial thin films of silicon or other materials); X-ray diffractometers (used to unambiguously determine the crystal structure, crystal orientation, film thickness, and residual stress in silicon wafers, epitaxial films, or other substrates); and / or similar metrological tools.
[0053] In some embodiments, sensor data 142 is used for equipment health, system health (e.g., system health factor indices), and / or product health (e.g., product quality). In some embodiments, sensor data 142 is received over a period of time.
[0054] In some embodiments, sensor 126 and / or metrology equipment 128 provide sensor data 142 including one or more of the following: morphological data, size attribute data, dimensional attribute data, image data, scanning electron microscope (SEM) images, energy dispersive X-ray (EDX) images, defect distribution data, spatial location data, elemental analysis data, wafer feature data, chip layer, chip layout data, edge data, grayscale data, signal-to-noise ratio data, temperature data, spacing data, current data, power data, voltage data, and / or similar data. In some embodiments, sensor data includes morphological data, size attribute data, dimensional attribute data, SEM images, EDX images, defect distribution data, chip layout data, grayscale data, signal-to-noise ratio data, and / or similar data.
[0055] In some implementations, sensor data 142 (e.g., historical sensor data 144, current sensor data 146, etc.) is processed (e.g., by client device 120 and / or by prediction server 112). In some implementations, processing of sensor data 142 includes generating features. In some implementations, features are patterns in sensor data 142 (e.g., slope, width, height, peak value, etc.) or combinations of values derived from sensor data 142 (e.g., power derived from voltage and current, etc.). In some implementations, sensor data 142 includes features used by prediction unit 114 to obtain prediction data 160.
[0056] In some embodiments, metrology equipment 128 is used to determine metrological data corresponding to the interior (e.g., surface) of a processing chamber or to a substrate produced by manufacturing equipment 124 (e.g., a substrate processing equipment). In some examples, after the substrate is processed by manufacturing equipment 124, metrology equipment 128 is used to inspect portions (e.g., layers) of the substrate and / or the interior of the processing chamber. In some embodiments, metrology equipment 128 performs scanning acoustic microscopy (SAM), ultrasonic testing, X-ray testing, and / or computed tomography (CT) testing. In some embodiments, sensor data 142 includes sensor data from sensor 126 and / or metrological data from metrology equipment 128. Sensor data 142 may include sensor data from sensor 126, and causal data 172 may be based on sensor data 142 from sensor 126. Sensor data 142 may include sensor data from a first subset of sensor 126, and causal data 172 may be based on sensor data 142 from a second subset of sensor 126.
[0057] In some embodiments, causal data 172 may be associated with a causal relationship between a pair of sensors in sensor 126. For example, causal data 172 may be sensor data from a processing chamber or substrate that has undergone formulation and / or formulation processing operations. In some embodiments, causal data may include a severity value corresponding to a ranking of a root cause, which indicates the sensitivity of the root cause in relation to the anomalous sensor.
[0058] In some implementations, sensor data 142 can be derived from sensor data and / or metrological data. Sensor data may be data describing the conditions and characteristics inside the processing chamber. Metering data may be a subset of the sensor data and describe the conditions and characteristics inside the processing chamber as well as the conditions and characteristics of the substrate.
[0059] In some implementations, the suggestion data 132 may be associated with suggested corrective actions (e.g., suggested actions for correcting anomalous behavior of manufacturing equipment 124, part 125, etc.) and / or the root causes of anomalous sensors in the manufacturing system (e.g., for root cause tracing). In some implementations, the suggestion data 132 is provided by a processing device using a trained machine learning model (e.g., model 190). In some implementations, model 190 determines one or more root causes of the anomalous behavior (e.g., using causal data 172). In some implementations, model 190 determines the suggestion data 132 and uses causal data 172 (e.g., a product knowledge causal graph, a causal strength index matrix, etc.) to identify one or more corrective actions for correcting the anomalous behavior.
[0060] In some implementations, the suggested data may be associated with causal data. For example, suggested corrective actions may be issued based on the root cause of the anomalous behavior, which is determined based on causal data (e.g., using a product knowledge causal graph). In some implementations, the product knowledge causal graph and / or causal strength index matrix may include indications of anomalous sensors / nodes in the product knowledge causal graph and / or causal strength index matrix for root cause tracing and corrective action identification. For example, when anomalous behavior is detected in at least one of the plurality of nodes (sensors) in the product knowledge causal graph, the anomalous node may be marked as anomalous. The product knowledge causal graph (which, for example, has the marked nodes) may then be used as input to a trained machine learning model. One or more outputs of the trained machine learning model may indicate the root cause and / or corrective actions (e.g., for the anomalous behavior). A more detailed explanation of methods for detecting anomalous behavior in manufacturing systems will be given below in this specification.
[0061] In some implementations, performance data 152 may be associated with a system health factor index of system 100. Performance data 152 may include system health factor index data (e.g., system health factor index values, abnormal sensor data, etc.). For example, performance data 152 may be a health factor index value for the processing chamber or the entire system 100. In some implementations, performance data 152 may be derived from sensor data 142 of sensor 126, measurement data from metering equipment 128, and causal data 172.
[0062] In some embodiments, the data storage device 140 is memory (e.g., random access memory), a drive (e.g., a hard disk drive, flash drive), a database system, or another type of component or device capable of storing data. In some embodiments, the data storage device 140 includes multiple storage components (e.g., multiple drives or multiple databases) spanning multiple computing devices (e.g., multiple server computers). In some embodiments, the data storage device 140 stores one or more of the following: sensor data 142 (including measurement data), performance data 152 (e.g., system health factor index values), causal data 172, suggestion data 132, component data 145, equipment constant data 147, and / or prediction data 160.
[0063] Causal data 172 may include weight data (such as the strength of the causal relationship between two or more variables, the weight values of the directed edges of a DAG, etc.), causal strength index matrix value data, causal graph data (such as causal graph structure data, node criticality data, etc.), DAG data (such as DAG structure data, node criticality data, etc.), importance data (such as the importance values of DAG nodes), critical data (such as the criticality data of DAG nodes), severity data (such as the severity of the causal relationship between two or more variables / nodes), causal strength index data, etc.
[0064] In some implementations, the predicted data 160 is associated with causal data 172, severity data, and / or weight data (e.g., weight values for causal relationships, weights of directed edges, etc.). In some implementations, the weight data is associated with one or more of the following: a causal strength index matrix, a causal graph, training a machine learning model using data input including historical sensor values and a target output including historical causal data, using a trained machine learning model to receive outputs associated with the predicted data, determining the weights of directed edges, determining weight data, machine learning modifications, and / or the like.
[0065] In some embodiments, data storage 140 may be configured to store data that is inaccessible to users of the manufacturing system. For example, users of the manufacturing system (e.g., operators) may not access process data, spectral data, context data, etc., obtained for a substrate being processed at the manufacturing system and / or for a substrate being processed at the manufacturing system. In some embodiments, all data stored in data storage 140 may be inaccessible to users of the manufacturing system. In some embodiments, a portion of the data stored in data storage 140 may be inaccessible to users, while another portion of the data stored in data storage 140 may be accessible to users. In some embodiments, one or more portions of the data stored in data storage 140 may be encrypted using an encryption mechanism unknown to the user (e.g., the data is encrypted using a private encryption key). In some embodiments, data storage 140 may include multiple data storage units, wherein data inaccessible to users is stored in one or more first data storage units, while data accessible to users is stored in one or more second data storage units.
[0066] Sensor data 142 includes historical sensor data 144 and current sensor data 146. In some embodiments, sensor data 142 (e.g., sensor data) may include RF power of the substrate processing operation, spacing value of the substrate processing operation, gas flow rate value of the substrate processing operation, pressure data, temperature data, power data, and / or similar data. Sensor data 142 may further include temperature values, pressure values, flow rate values, optical values, humidity values, RF power values, electrical values, radiation values, and / or similar values. In some embodiments, at least a portion of sensor data 142 originates from sensor 126.
[0067] In some embodiments, sensor data 142 includes metrological data collected by metrology equipment 128. For example, optical emission spectrum (OES) is measured using OES tools, and OES can be measured for both chambers and / or substrates in the manufacturing system.
[0068] Performance data 152 includes historical performance data 154 and current performance data 156. Performance data 152 can indicate the system health factor index value. For example, the system health factor index value can be calculated based on the number of anomalous sensors detected in the manufacturing system and the corresponding criticality values of the anomalous sensors, and normalized using the weights of multiple directed edges corresponding to the anomalous sensors.
[0069] In some implementations, anomaly sensors are sensors and / or metrological tools that are collecting anomalous data (e.g., measurements exceeding the expected or normal range of a specific parameter). The system health factor index value indicates the health of the system. In some implementations, a high system health factor index means the system is relatively healthy, and a low system health factor index means the system is unhealthy. In some implementations, when the system health factor index value is high and indicates the system is healthy, no recommended corrective action may be issued for one or more detected anomalous sensors. This is because the causal effect of such anomaly sensor does not have sufficient weight (e.g., it has a strong causal effect on the system's output), and therefore no recommended corrective action is needed. In some implementations, such sensors have low criticality.
[0070] On the other hand, when anomaly sensors have high weight and a more significant impact on the system's output, the system health factor index value may be low (e.g., the system is unhealthy). In this case, a low system health factor index value will prompt a suggested corrective action. In some implementations, this is because the anomaly sensor has high criticality (e.g., significantly affects the system's output). In some implementations, the system health factor index can be a percentage value. When the value is close to 100%, the system operates in a more consistent and expected state.
[0071] In some implementations, historical data includes one or more of historical sensor data 144 and / or historical causal data 174 (e.g., at least a portion of which is used to train machine learning model 190). Current data includes one or more of current sensor data 146 and / or current causal data 176 (e.g., at least a portion of which is to be fed into the trained machine learning model 190 after it has been trained using historical data). In some implementations, current data is used to retrain the trained machine learning model 190.
[0072] Causal data 172 includes historical causal data 174 and current causal data 176. Causal data 172 can indicate whether a change in a first variable (e.g., a change detected by a sensor that leads to a change in sensor data) causes a change in a second variable, the strength (e.g., weight) of the causal relationship, and the direction of the causal relationship (e.g., X causes Y, but Y does not cause X). Causal data 172 can use at least one of the following to indicate a relationship between variables in a manufacturing system: Granger causality, a transfer entropy measure, a cross-entropy measure, a causal test, partially guided coherence, linear and nonlinear conditional independence tests, or the like. In some embodiments, a time series X can be considered a Granger cause of Y if it can be demonstrated through a series of tests on the lagged values of X (e.g., demonstrating that these X values provide statistically significant information about future values of Y). In some embodiments, the transfer entropy from process X to another process Y is the amount of uncertainty about the future value of Y reduced by knowing the past values of X, given past values of Y. In some embodiments, causal tests can identify, for example, which delivered power resulted in reflected power as expected by the subject matter expert.
[0073] In some implementations, causal data 172 includes a product knowledge causal graph (e.g., Figure 6 The product knowledge cause-effect graph (e.g., a product knowledge cause-effect graph) and / or the causal strength index matrix. In some embodiments, the cause-effect graph (e.g., a product knowledge cause-effect graph) and / or the causal strength index matrix include indications of anomalous sensors / nodes in the cause-effect graph and / or the causal strength index matrix (for example, to perform root cause tracing and corrective action identification). For example, when anomalous behavior is detected in at least one of the plurality of sensors, a node representing the sensor can be marked as anomalous, and the root cause of the anomalous behavior can be determined using the causal strength index matrix or the cause-effect graph. Corrective actions for the anomalous behavior can be identified at least based on a subset of the part data corresponding to the root cause of the anomalous behavior or a subset of the equipment constant data corresponding to the root cause of the anomalous behavior.
[0074] Recommendation data 132 may include instructions for recommended corrective actions, root cause data (e.g., for determining recommended corrective actions), etc.
[0075] In some implementations, the predicted data 160 is associated with the determined recommendation data 132. In some implementations, the recommendation data 132 is associated with one or more of the following: suggested corrective actions, root causes, training a machine learning model using data input including historical sensor values and a target output including historical recommendation data, using a trained machine learning model to receive outputs associated with the predicted data, determining suggested corrective actions, determining root causes, machine learning modifications, and / or the like.
[0076] Part data 145 may include part specifications, part serial number, batch number, part number, country of origin, site number, manufacturing equipment data, component data, product data, acceptance certificates, etc. In some embodiments, part data may be static data. In some embodiments, static data may be unchanging data or values and may be used as reference or configuration data (e.g., part data that remains unchanged in the manufacturing system and does not change over time).
[0077] In some implementations, part data may include numerical data (e.g., part specification data, values, etc.) and / or semantic data (e.g., textual data included in an acceptance certificate). In some implementations, users may leave notes in the acceptance certificate. This textual data may include semantic data.
[0078] Equipment constant data 147 may include equipment constants, equipment constant values, equipment constant settings, equipment constant configurations, etc. In some embodiments, equipment constant data may be static data. For example, equipment constants may be unadjustable and remain unchanged. In some embodiments, static data may be unchanging data or values and may be used as reference or configuration data (e.g., equipment constants that remain unchanged in a manufacturing system and do not change over time). In some embodiments, equipment constant data may be dynamic data.
[0079] In some implementations, historical data includes one or more of the following: historical sensor data 144, historical causal data 174, historical suggestion data 134, and / or historical performance data 154 (e.g., at least a portion of which is used to train machine learning model 190). Current data includes one or more of the following: current sensor data 146, current causal data 176, current suggestion data 136, and / or current performance data 156 (e.g., at least a portion of which is input into the trained machine learning model 190 after training model 190 using historical data). In some implementations, current data is used to retrain the trained machine learning model 190.
[0080] In some implementations, the prediction data 160 is used to determine the weights of directed edges (e.g., directed edges of a DAG). In some implementations, the prediction data 160 is used to determine the root cause of anomaly sensors (e.g., in a product knowledge causal graph). In some implementations, the prediction data 160 is used to determine corrective actions (e.g., for anomaly sensors in a product knowledge causal graph).
[0081] By providing sensor data 142 to model 190, receiving prediction data 160 from model 190, and determining the weights of directed edges based on the prediction data 160, system 100 has the technical advantage of avoiding costs such as suggesting misleading corrective actions, wasting time, wasting energy, and wasting products. Furthermore, by providing causal data 172 to model 190, receiving prediction data 160 from model 190, and determining root causes and / or suggesting corrective actions based on the prediction data 160, system 100 has the technical advantage of avoiding costs such as suggesting misleading corrective actions, wasting time, wasting energy, and wasting products.
[0082] In some implementations, the prediction system 110 further includes server machines 170 and 180. Server machine 170 includes a dataset generator 178 capable of generating datasets (e.g., a set of data inputs and a set of target outputs) to train, validate, and / or test machine learning models 190. The dataset generator 178 has data collection, compilation, reduction, and / or partitioning capabilities to transform the data into a form suitable for machine learning. In some implementations (e.g., for small datasets), partitioning for post-training validation (e.g., explicit partitioning) is not used. During training, repeated cross-validation (e.g., 5-fold cross-validation, leave-one-out cross-validation) can be used, where a given dataset is actually repeatedly partitioned into different training and validation sets during training. Models (e.g., the best model, the model with the highest accuracy, etc.) are selected from model vectors on automatically separated combinatorial subsets. In some implementations, the dataset generator 178 can explicitly divide historical data (e.g., historical sensor data 144 and corresponding historical causal data 174, historical causal data corresponding to historical suggestion data 134, etc.) into a training set (e.g., 60% of the historical data), a validation set (e.g., 20% of the historical data), and a test set (e.g., 20% of the historical data). Based on some implementations, the following will describe... Figures 2A-2B The operation of the dataset generator 178 is described in detail. In some implementations, the prediction system 110 (e.g., via the prediction component 114) generates multiple sets of features (e.g., training features).
[0083] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a testing engine 186. In some embodiments, engines (e.g., training engine 182, validation engine 184, selection engine 185, and testing engine 186) refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing equipment, etc.), software (e.g., instructions running on a processing equipment, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination of the above. Training engine 182 is capable of training machine learning model 190 using one or more sets of features associated with a training set from dataset generator 178. In some embodiments, training engine 182 generates multiple trained machine learning models 190, each of which corresponds to a distinct set of parameters (e.g., sensor data 142, causal data 172, etc.) and corresponding responses (e.g., causal data 172, suggestion data 132, etc.) in the training set. In some embodiments, multiple models with the same parameters but different objectives are trained for the purpose of modeling multiple effects. In some examples, the first trained machine learning model is trained using sensor data 142 from all sensors 126 (e.g., sensors 1-5), the second trained machine learning model is trained using a first subset of sensor data (e.g., from sensors 1, 2, and 4), and the third trained machine learning model is trained using a second subset of sensor data that partially overlaps with the first feature subset (e.g., from sensors 1, 3, 4, and 5).
[0084] The validation engine 184 can validate the trained machine learning model 190 using a set of features corresponding to the validation set from the dataset generator 178. For example, a first trained machine learning model 190 trained using the first set of features from the training set is validated using the first set of features from the validation set. The validation engine 184 determines the accuracy of each trained machine learning model 190 based on the corresponding sets of features in the validation set. The validation engine 184 evaluates and labels (e.g., marks them as to be discarded) trained machine learning models 190 whose accuracy does not meet a threshold accuracy. In some implementations, the selection engine 185 can select one or more trained machine learning models 190 whose accuracy meets the threshold accuracy, or the model with the highest accuracy among the trained machine learning models 190.
[0085] The testing engine 186 can test the trained machine learning model 190 using a set of features corresponding to those in the test set from the dataset generator 178. For example, the first trained machine learning model 190 trained using the first set of features from the training set is tested using the first set of features from the test set. The testing engine 186 determines the trained machine learning model 190 with the highest accuracy among all trained machine learning models based on the test set.
[0086] In some implementations, machine learning model 190 (e.g., for classification) refers to an artifact created by training engine 182 using a training set that includes data inputs and corresponding target outputs (e.g., correct classification of a conditional or ordinal level for a given training input). Patterns in the dataset that map the data inputs to the target output (correct classification or level) can be identified, and mappings capturing these patterns can be provided to machine learning model 190. In some implementations, machine learning model 190 uses one or more of the following: Gaussian process regression (GPR), Gaussian process classification (GPC), Bayesian neural network, neural network Gaussian process, deep belief network, Gaussian mixture model, or other probabilistic learning methods. Non-probabilistic methods can also be used, including one or more of the following: support vector machine (SVM), radial basis function (RBF), clustering, nearest neighbor algorithm (k-NN), linear regression, random forest, neural network (such as artificial neural network), etc. In some implementations, machine learning model 190 is a multivariate analysis (MVA) regression model.
[0087] Prediction component 114 provides current sensor data 146 (e.g., as input) to trained machine learning model 190 and runs the trained machine learning model 190 (e.g., runs on the input to obtain one or more outputs). Prediction component 114 is capable of determining (e.g., extracting) prediction data 160 from the trained machine learning model 190 and determining (e.g., extracting) uncertainty data indicating the confidence level of the prediction data 160 relative to current causal data 176 (e.g., weight data). In some embodiments, prediction component 114 is capable of determining prediction data 160 based on the trained machine learning model 190 and determining uncertainty data indicating the confidence level of the prediction data 160 relative to current suggestion data 136 (e.g., root cause determination, suggested corrective action, etc.). In some embodiments, prediction component 114 or corrective action component 122 uses uncertainty data (e.g., uncertainty function or acquisition function derived from uncertainty function) to determine whether to perform a corrective action using prediction data 160 or whether to further train model 190.
[0088] For illustrative purposes and not for limitation, aspects of this disclosure describe training one or more machine learning models 190 using historical data (e.g., previous data, historical sensor data 144, historical suggestion data 134, and historical causal data 174), and feeding current data into one or more trained probabilistic machine learning models 190 to determine predicted data 160. In other embodiments, heuristic or rule-based models are used to determine predicted data 160 (e.g., without using trained machine learning models). In other embodiments, non-probabilistic machine learning models may be used. Prediction component 114 monitors historical sensor data 144, historical suggestion data 134, and historical causal data 174. In some embodiments, regarding Figure 2A Data input 210A and Figure 2B Any information described in the data input 210B is monitored or used in other ways in a heuristic or rule-based model.
[0089] In some implementations, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 is provided by a smaller number of machines. For example, in some implementations, server machines 170 and 180 are consolidated into a single machine, while in other implementations, server machine 170, server machine 180, and prediction server 112 are consolidated into a single machine. In some implementations, client device 120 and prediction server 112 are consolidated into a single machine.
[0090] 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, the functionality attributed to a particular component may also be performed by different components or multiple components operating together. For example, in some embodiments, prediction server 112 determines corrective actions based on prediction data 160. In another example, client device 120 determines prediction data 160 based on data received from a trained machine learning model. Additionally, the functionality of a particular component may also be performed by different components or multiple components operating together. In some embodiments, one or more of prediction server 112, server machine 170, or server machine 180 are accessed as services provided to other systems or devices through appropriate application programming interfaces (APIs).
[0091] In some implementations, a "user" is referred to as a single individual. However, other implementations of this disclosure include a "user" as an entity controlled by multiple users and / or automated sources. In some examples, a collection of individual users collectively acting as an administrator group is considered a "user".
[0092] While embodiments of this disclosure are discussed in terms of determining prediction data 160 (e.g., weight data) associated with the weights of directed edges of a DAG, in some embodiments, this disclosure can also be generally applied to determining causal relationships between components of a manufacturing system. Embodiments can be generally applied to determining causal relationships based on different types of data. Furthermore, while embodiments of this disclosure are discussed in terms of determining prediction data 160 associated with suggested corrective actions and / or root causes for anomalous sensors in a manufacturing system, embodiments can also be generally applied to determining suggested corrective actions and / or root causes based on different types of data in different types of systems.
[0093] Figure 2A -B describes a method for creating datasets for modeling (e.g.) according to certain implementations. Figure 1 Example dataset generators 292A-292B (e.g., models 190A-190Z) for training, testing, validation, etc. Figure 1 A block diagram of the dataset generator (178). Figure 2A Dataset generator 292A and Figure 2B Each of the dataset generators in 292B 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 a manufacturing facility). Each machine learning model can be associated with one of the dataset generators 292A-292B, multiple machine learning models can share a dataset generator, and so on.
[0094] Figure 2A This illustrates, according to certain implementations, methods for defining machine learning models (which are associated, for example, with determining weights for directed edges, methods 500A-500C, etc.) (e.g. Figure 1 Model 190) creates a dataset generator 292A (e.g., ... Figure 1 The dataset generator 178). In some implementations, the dataset generator 292A is Figure 1 Part of server machine 170. (By...) Figure 2A The datasets generated by the dataset generator 292A can be used to train machine learning models (see, for example). Figure 5B Determine the weights of the directed edges of the DAG (e.g., see...). Figure 5C).
[0095] In some implementations, the dataset generator 292A can generate datasets for training, testing, and / or validating a generator model configured to determine the weights of directed edges in a DAG. The machine learning model is provided with multiple sets of historical sensor data 244A-244Z as data input 210A. The machine learning model can be configured to accept sensor data as input and produce causal data as output.
[0096] Dataset generator 292A (e.g.) Figure 1 The dataset generator 178) is used for machine learning models (e.g. Figure 1 Model 190) creates a dataset. The dataset generator 292A uses historical sensor data 244A-244Z (e.g., ...). Figure 1 Historical sensor data 144) and historical causal data 274 (e.g.) Figure 1 The dataset was created using historical causal data (174). Figure 2A The system 200A shows a dataset generator 292A, a data input 210A, and a target output 220A (e.g., target data).
[0097] In some implementations, dataset generator 292A 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). In some implementations, dataset generator 292A does not generate a target output (e.g., for unsupervised learning). In some implementations, dataset generator generates one or more target outputs 220A corresponding to data inputs 210A (e.g., for supervised learning). The dataset may also include mapping data that maps data inputs 210A to target outputs 220A. Data inputs 210A are also referred to as “features,” “attributes,” or “information.” In some implementations, dataset generator 292A provides datasets to training engine 182, validation engine 184, or testing engine 186, wherein the datasets are used to train, validate, or test machine learning model 190 (which is associated, for example, with weights for determining directed edges, methods 500A-500C, etc.).
[0098] In some embodiments, the dataset generator 292A generates a data input 210A and a target output 220A. In some embodiments, the data input 210A includes one or more sets of historical sensor data 244 (e.g., chamber temperature values, chamber pressure values, etc.) (which are associated, for example, with determining the weights of directed edges, methods 500A-500C, etc.). In some embodiments, the historical sensor data 244 includes one or more of the following: sensor data from one or more types of sensors and / or measuring equipment, a combination of sensor data from one or more types of sensors and / or measuring equipment, and patterns and / or similar data from sensor data from one or more types of sensors and / or measuring equipment.
[0099] In some implementations, dataset generator 292A generates a first data input corresponding to a first set of historical sensor data 244A to train, validate, or test a first machine learning model, and dataset generator 292A generates a second data input corresponding to a second set of historical sensor data 244B to train, validate, or test a second machine learning model (which is associated, for example, with determining weights for directed edges, methods 500A-500C, etc.).
[0100] In some implementations, the dataset generator 292A discretizes (e.g., segments) one or more of the data input 210A or the target output 220A (for example, in a classification algorithm for a regression problem). Discretization of the data input 210A or the target output 220A (e.g., segmentation via a sliding window) transforms continuous variable values into discrete values. In some implementations, the discrete values of the data input 210A represent discrete historical sensor data 144 used to obtain the target output 220A (e.g., discrete historical causal data 174).
[0101] The data input 210A and target output 220A used to train, validate, or test the machine learning model include information about a specific facility (e.g., a specific substrate manufacturing facility, substrate manufacturing chamber, etc.). In some examples, historical sensor data 244 and historical causal data 274 are directed to the same manufacturing facility (which is associated, for example, with weights for determining directed edges, methods 500A-500C, etc.).
[0102] In some embodiments, the information used to train the machine learning model comes from a specific type of manufacturing equipment 124 with specific characteristics in a manufacturing facility, and allows the trained machine learning model (which is associated, for example, with weights for determining directed edges, methods 500A-500C, etc.) to determine results for a specific group of manufacturing equipment 124 based on inputs of current parameters (e.g., current sensor data 146), which are associated with one or more parts sharing characteristics of that specific group. In some embodiments, the information used to train the machine learning model is for parts from two or more manufacturing facilities, and allows the trained machine learning model to determine results for parts based on inputs from one manufacturing facility.
[0103] In some implementations, after generating a dataset and using the dataset to train, validate, or test the machine learning model 190, the machine learning model 190 (which is associated, for example, with weights for determining directed edges, methods 500A-500C, etc.) is further trained, validated, or tested (e.g. Figure 1 The current causal data 176) or adjustments (e.g., adjusting the weights associated with the input data of the machine learning model 190, such as connection weights in a neural network).
[0104] Machine learning models process inputs to produce outputs (which are associated, for example, with weights for determining directed edges, methods 500A-500C, etc.). Artificial neural networks consist of an input layer, which comprises values from data points. The next layer is called a hidden layer, where nodes each receive one or more input values. Each node contains parameters (e.g., weights) applied to the input values. Thus, each node essentially feeds the input values into a multivariable function (e.g., a nonlinear mathematical transformation) to produce an output value. The next layer might be another hidden layer or an output layer. In both cases, nodes in the next layer receive output values from nodes in the previous layer, each applying weights to those values and then producing its own output value. This can be done at each layer. The final layer is the output layer, where there is a node for each category, prediction, and / or output that the machine learning model can produce.
[0105] Therefore, the output can include one or more predictions or inferences (which are associated, for example, with determining the weights of directed edges, methods 500A-500C, etc.). For example, the output prediction or inference can include one or more weights of directed edges of a DAG, updated weights of directed edges of a DAG, predicted weights of directed edges of a DAG, etc. The processing logic determines an error (e.g., classification error) based on the difference between the output (e.g., prediction or inference) of the machine learning model and the target label associated with the input training data. The processing logic adjusts the weights of one or more nodes in the machine learning model based on the error. 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 of the node) of one or more of its nodes. The parameters can be updated in a backpropagation manner, such that the nodes at the highest layer are updated first, then the nodes at the next layer, and so on. An artificial neural network contains multiple layers of "neurons," where each layer receives values as input from the 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.
[0106] After one or more rounds of training, the processing logic can determine whether a stopping criterion has been met. The stopping criterion can be a target level of accuracy, a target number of processed images from the training dataset, a target amount of change in parameters relative to one or more previous data points, a combination thereof, and / or other criteria. In some implementations, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy has been achieved. The threshold accuracy can be, for example, 70%, 80%, or 90% accuracy. In some implementations, the stopping criterion is met if the accuracy of the machine learning model has stopped improving. If the stopping criterion is not met, further training is performed. If the stopping criterion is met, training may be complete. Once the machine learning model has been trained, a retained portion of the training dataset can be used to test the model.
[0107] Figure 2B This illustrates a dataset generator, according to some implementations, associated with determining corrective actions and root causes for a manufacturing system.
[0108] Figure 2B This illustrates, according to certain embodiments, methods for providing machine learning models (which are associated with determining corrective actions and root causes for manufacturing systems, methods 700A-700D, etc.) (e.g. Figure 1 Model 190) creates a dataset generator 292B (e.g., ... Figure 1The dataset generator 178). In some implementations, the dataset generator 292B is... Figure 1 Part of server machine 170. (By...) Figure 2B The datasets generated by the dataset generator 292B can be used to train machine learning models (see, for example). Figure 7B ) Determine corrective actions for the manufacturing system (e.g., see...) Figure 7C (For example, based on causal data, product knowledge causal graphs, causal strength index matrices, etc.). From Figure 2B The datasets generated by the dataset generator 292B can be used to train machine learning models (see, for example). Figure 7B Identify the root causes of problems in the manufacturing system (e.g., see...) Figure 7D (For example, based on causal data, product knowledge causal graphs, causal strength index matrices, etc.).
[0109] In some implementations, dataset generator 292B can generate datasets for training, testing, and / or validating a generator model configured to determine root causes and / or recommended corrective actions for a manufacturing system. The machine learning model is provided with multiple sets of historical causal data 274A-274Z as data input 210B. The machine learning model can be configured to accept causal data as input and produce recommended data as output. In some implementations, the machine learning model can be configured to accept sensor data (e.g., abnormal sensor data) and causal data as input and produce root cause data as output.
[0110] Dataset generator 292B (e.g.) Figure 1 The dataset generator 178) is used for machine learning models (e.g. Figure 1 Model 190) creates a dataset. The dataset generator 292B uses historical causal data 274 (e.g., ...). Figure 1 Historical causal data 174) and historical suggestion data 234 (e.g.) Figure 1 (Historical suggested data 134) Create a dataset. Figure 2B System 200B shows a dataset generator 292B, data input 210B, and target output 220B (e.g., target data).
[0111] In some implementations, dataset generator 292B generates a dataset (e.g., training set, validation set, test set) that includes one or more data inputs 210B (e.g., training input, validation input, test input). In some implementations, dataset generator 292B does not generate a target output (e.g., for unsupervised learning). In some implementations, dataset generator generates one or more target outputs 220B corresponding to data inputs 210B (e.g., for supervised learning). The dataset may also include mapping data that maps data inputs 210B to target outputs 220B. Data inputs 210B are also referred to as “features,” “attributes,” or “information.” In some implementations, dataset generator 292B provides datasets to training engine 182, validation engine 184, or testing engine 186, wherein the datasets are used to train, validate, or test machine learning model 190 (which is associated, for example, with determining corrective actions and root causes for a manufacturing system, methods 700A-700D, etc.).
[0112] In some embodiments, the dataset generator 292B generates data input 210B and a target output 220B. In some embodiments, the data input 210B includes one or more sets of historical causal data 272B (e.g., weight values, causal relationships, product knowledge causal graphs, causal strength index matrices, anomaly sensors, etc.) (which are associated, for example, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.). In some embodiments, the historical causal data 274 includes one or more of the following: causal data from one or more types of manufacturing systems and / or subsystems, combinations of causal data from one or more types of manufacturing systems and / or subsystems, patterns and / or analogues of causal data from one or more types of manufacturing systems and / or subsystems.
[0113] In some implementations, dataset generator 292B generates a first data input corresponding to a first set of historical causal data 274A to train, validate, or test a first machine learning model, and dataset generator 292B generates a second data input corresponding to a second set of historical causal data 274B to train, validate, or test a second machine learning model (which is associated, for example, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.).
[0114] In some implementations, the dataset generator 292B discretizes (e.g., segments) one or more of the data input 210B or the target output 220B (for example, in a classification algorithm for a regression problem). Discretization of the data input 210B or the target output 220B (e.g., segmentation via a sliding window) transforms continuous variable values into discrete values. In some implementations, the discrete values of the data input 210B represent discrete historical causal data 174 used to obtain the target output 220B (e.g., discrete historical suggestion data 134, etc.).
[0115] The data inputs 210B and target outputs 220B used to train, validate, or test the machine learning model include information about a specific facility (e.g., a specific substrate manufacturing system, substrate manufacturing subsystem, etc.). In some examples, historical causal data 274A and historical recommendation data 234 are directed to the same manufacturing facility (which is associated, for example, with determining corrective actions and root causes, methods 700A-700D, etc., for the manufacturing system).
[0116] In some embodiments, the information used to train the machine learning model comes from a specific type of manufacturing equipment 124 with specific characteristics in a manufacturing facility, and allows the trained machine learning model (which is associated, for example, with determining corrective actions and root causes for a manufacturing system, methods 700A-700D, etc.) to determine outcomes for a specific group of manufacturing equipment 124 based on inputs of current parameters (e.g., current causal data 176), which are associated with one or more components sharing characteristics of that specific group. In some embodiments, the information used to train the machine learning model is for components from two or more manufacturing facilities, and allows the trained machine learning model to determine outcomes for a component based on inputs from one manufacturing facility.
[0117] In some implementations, after generating a dataset and using the dataset to train, validate, or test the machine learning model 190, the machine learning model 190 (which is associated, for example, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.) is further trained, validated, or tested (e.g. Figure 1 The current recommended data 136) or adjustments (e.g., adjusting the identified root causes and / or recommended corrective actions associated with the input data of the machine learning model 190, such as connection weights in a neural network).
[0118] In some implementations, suggested data (including historical suggested data) can be correlated with causal data. For example, suggested corrective actions can be issued based on the root cause of anomalous behavior, which is determined based on causal data (e.g., using a product knowledge causal graph). For instance, anomalous behavior might be detected at a node (sensor) in the causal graph, and the anomalous node can be marked as anomalous. The causal graph (which, for example, has marked nodes) can then be used as input to a trained machine learning model. One or more outputs of the trained machine learning model can indicate the root cause and / or corrective actions (e.g., for anomalous behavior).
[0119] Machine learning models process inputs to produce outputs (which are associated, for example, with determining corrective actions and root causes for manufacturing systems, methods 700A-700D, etc.). Artificial neural networks consist of an input layer, which comprises values from data points. The next layer is called a hidden layer, where nodes each receive one or more input values. Each node contains parameters (e.g., weights) applied to the input values. Thus, each node essentially feeds the input values into a multivariate function (e.g., a nonlinear mathematical transformation) to produce an output value. The next layer might be another hidden layer or an output layer. In both cases, nodes in the next layer receive output values from nodes in the previous layer, each node applies weights to those values, and then produces its own output value. This can be performed at each layer. The final layer is the output layer, where there is a node for each category, prediction, and / or output that the machine learning model can produce.
[0120] Therefore, the output may include one or more predictions or inferences (which are associated, for example, with determining corrective actions and root causes for a manufacturing system, methods 700A-700D, etc.). For example, the output predictions or inferences may include one or more root causes, one or more suggested corrective actions (which are associated, for example, with the one or more root causes), etc. The processing logic determines an error (e.g., classification error) based on the difference between the output (e.g., predictions or inferences) of the machine learning model and the target label associated with the input training data. The processing logic adjusts the weights of one or more nodes in the machine learning model based on the error. 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 of the node) of one or more of its nodes. The parameters can be updated in a backpropagation manner, such that the nodes at the highest layer are updated first, then the nodes at the next layer, and so on. An artificial neural network contains multiple layers of "neurons," where each layer receives values as input from the neurons in the layer above. The parameters of each neuron include weights associated with the values received from each neuron in the layer above. Therefore, adjusting the parameters may include adjusting the weights assigned to each input of one or more neurons in one or more layers of the artificial neural network.
[0121] After one or more rounds of training, the processing logic can determine whether a stopping criterion has been met. The stopping criterion can be a target level of accuracy, a target number of processed images from the training dataset, a target amount of change in parameters relative to one or more previous data points, a combination thereof, and / or other criteria. In some implementations, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy has been achieved. The threshold accuracy can be, for example, 70%, 80%, or 90% accuracy. In some implementations, the stopping criterion is met if the accuracy of the machine learning model has stopped improving. If the stopping criterion is not met, further training is performed. If the stopping criterion is met, training may be complete. Once the machine learning model has been trained, a retained portion of the training dataset can be used to test the model.
[0122] Figure 3 This is a block diagram illustrating, according to certain implementations, methods for generating predictive data 360 (e.g. Figure 1 The system 300 uses the predicted data 160. The system 300 is used to train machine learning models (which are associated, for example, with determining the weights of directed edges, methods 500A-500C, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.) (e.g. Figure 1 Model 190) determines the prediction data 360.
[0123] At box 310, system 300 (e.g.) Figure 1 The prediction system 110) uses historical data (e.g., for prediction systems) to predict historical data. Figure 1 Model 190 performs data partitioning (e.g., through historical sensor data 344, historical causal data 354, and / or historical suggestion data 334) using historical sensor data 344, historical causal data 354, and / or historical suggestion data 334. Figure 1 The server machine 170 has a dataset generator 178 to generate a training set 302, a validation set 304, and a test set 306 (which are associated, for example, with determining the weights of directed edges, methods 500A-500C, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.). In some examples, the training set is 60% historical data, the validation set is 20% historical data, and the test set is 20% historical data. The system 300 generates multiple feature sets for each of the training, validation, and test sets. In some examples, if the historical data includes data from 20 sensors (e.g., ... Figure 1 If we derive features from 126 sensors (sensors for manufacturing equipment and / or measuring equipment) and 100 products (e.g., each product corresponding to sensor data from the 20 sensors), then the first set of features is for sensors 1-10, the second set is for sensors 11-20, the training set is for products 1-60, the validation set is for products 61-80, and the test set is for products 81-100. In this example, the first set of features in the training set would be the parameters from sensors 1-10 for products 1-60.
[0124] At box 312, system 300 performs model training using training set 302 (e.g., by associating with weights for determining directed edges, methods 500A-500C, methods 700A-700D, etc., for determining corrective actions and root causes for the manufacturing system). Figure 1The training engine 182. In some embodiments, system 300 uses multiple feature sets of training set 302 (e.g., a first feature set of training set 302, a second feature set of training set 302, etc.) to train multiple models. For example, system 300 trains machine learning models to generate a first trained machine learning model using a first set of features in the training set (e.g., sensor data from sensors 1-10 for products 1-60) and a second trained machine learning model using a second set of features in the training set (e.g., sensor data from sensors 11-20 for products 1-60). In some embodiments, the first trained machine learning model and the second trained machine learning model are combined to generate a third trained machine learning model (in some embodiments, it is, for example, a better predictor than the first trained machine learning model or the second trained machine learning model itself). In some embodiments, multiple sets of features are used to compare model overlap (e.g., the first set of features is sensor data from sensors 1-15, and the second set of features is sensor data from sensors 5-20). In some implementations, hundreds of models are generated, including models and combinations of models with various features.
[0125] At box 314, system 300 uses validation set 304 to perform model validation (e.g., via...). Figure 1The validation engine 184 is executed. System 300 uses a corresponding set of features in validation set 304 to validate each trained model (which is associated, for example, with determining the weights of directed edges, methods 500A-500C, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.). For example, system 300 uses a first set of features in the validation set (e.g., parameters from sensors 1-10 for products 61-80) to validate a first trained machine learning model, and uses a second set of features in the validation set (e.g., parameters from sensors 11-20 for products 61-80) to validate a second trained machine learning model. In some implementations, system 300 validates hundreds of models generated at block 312 (e.g., models with various permutations and combinations of features, model combinations, etc.). At block 314, system 300 determines the accuracy of each of the one or more trained models (e.g., determined by model validation) and determines whether one or more of the trained models have an accuracy that meets a threshold accuracy. In response to the determination that none of the trained models have the accuracy required to meet the threshold, the process returns to box 312, where system 300 performs model training using different sets of features from the training set. In response to the determination that one or more of the trained models have the accuracy required to meet the threshold, the process continues to box 316. System 300 discards trained machine learning models with accuracy less than the threshold (e.g., based on the validation set).
[0126] At box 316, system 300 performs model selection (e.g., via...). Figure 1 The 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 returns to box 312, where 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.
[0127] At box 318, system 300 uses test set 306 to perform model testing (e.g., via...). Figure 1The system 300 uses a test engine 186 to test the selected model 308. The system 300 uses a first set of features from the test set (e.g., sensor data from sensors 1-10 for products 81-100) to test the first trained machine learning model to determine if it meets a threshold accuracy (e.g., based on the first set of features from test set 306). If the accuracy of the selected model 308 does not meet the threshold accuracy (e.g., the selected model 308 overfits to training set 302 and / or validation set 304 and is not suitable for other datasets such as test set 306), the process continues to box 312, where the system 300 performs model training (e.g., retraining) using different training sets (e.g., sensor data from different sensors) corresponding to different feature sets. If the selected model 308 is determined to have accuracy that meets the threshold accuracy based on test set 306, the process continues to box 320. At least in box 312, the model learns patterns in historical data to make predictions, and in box 318, system 300 applies the model to the remaining data (e.g., test set 306) to test the predictions (which are associated, for example, with determining the weights of directed edges, methods 500A-500C, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.).
[0128] At box 320, system 300 uses a trained model (e.g., selected model 308) to receive current sensor data 346 (e.g., Figure 1 The current sensor data 146), and the predicted data 360 determined (e.g., extracted) from the trained model. Figure 1 The predicted data 160 is used to determine the weights of directed edges and / or to determine suggested corrective actions. In some embodiments, the current sensor data 346 corresponds to features of the same type in the historical sensor data 344. In some embodiments, the current sensor data 346 corresponds to the same subset of feature types as the historical sensor data 344 used to train the selected model 308 (which is associated, for example, with determining the weights of directed edges, methods 500A-500C, with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.).
[0129] In some implementations, current data is received. In some implementations, the current data includes current causal data 356 (e.g., Figure 1 The current causal data 176) and / or current sensor data 346 (which are associated, for example, with the weights for determining directed edges, methods 500A-500C, etc.). In some implementations, the current data includes current suggested data 336 (e.g., Figure 1The current suggested data 136) and / or current causal data 356 (which are, for example, associated with determining corrective actions and root causes for the manufacturing system, methods 700A-700D, etc.). In some embodiments, at least a portion of the current data is from sensors (e.g., Figure 1 The data is received from the sensor 126 and / or the metering equipment 128, or via user input. In some embodiments, at least a portion of the current data is received from the current product knowledge causal graph and / or the current causal strength index matrix, or via user input. In some embodiments, the model is retrained based on the current data. In some embodiments, the new model is trained based on the current suggested data 336 and the current causal data 356.
[0130] In some implementations, one or more of blocks 310-320 occur in various orders and / or occur together with other operations not presented or described herein. In some implementations, one or more of blocks 310-320 are not performed. For example, in some implementations, one or more of the following are not performed: data partitioning in block 310, model validation in block 314, model selection in block 316, and / or model testing in block 318.
[0131] Figure 4 It is a directed acyclic graph (DAG) based on some implementation methods.
[0132] In some implementations, causal data can be visually represented using causal graphs such as DAGs. For example, arrows (e.g., edges 410A-410I) indicate the direction of causal relationships between nodes (e.g., sensors in a manufacturing system / subsystem). Nodes in a causal graph represent variables of the manufacturing system (e.g., sensors, values measured by sensors, sensor data, etc.), while edges between nodes (indicated by arrows) represent causal relationships between nodes (e.g., sensors, sensor data, sensor values, etc. in the manufacturing system / subsystem). The direction of the arrow indicates the direction of the causal relationship, where the tail of the arrow represents the cause and the head of the arrow represents the effect. DAGs can be connected to other DAGs to show causal connections between nodes in individual systems or subsystems.
[0133] In some implementations, causal strength index matrices and causal graphs (e.g., DAGs) are complementary representations of causal data, where the causal matrix provides a quantitative measure of causal strength (e.g., the weights of the directed edges of a DAG), while the causal graph provides a visual representation of the causal relationships between variables.
[0134] In some implementations, information-theoretic probabilistic methods can be used to determine the structure graph scheme. Information-theoretic probabilistic methods are statistical methods used to determine whether a causal relationship exists between two variables. Some examples of information-theoretic probabilistic methods may include Granger causality, transition entropy measures, cross-entropy measures, partially guided coherence, linear and nonlinear conditional independence tests, and / or similar methods.
[0135] In some implementations, a block diagram scheme can be determined by extending causality tests to all sensors (e.g., nodes) of the system. Causality tests can also be applied to sensor data to generate a causality strength index matrix. In some implementations, the causality strength index matrix can be based on at least one of the following: Granger causality, transition entropy measure, cross entropy measure, causality test, or partially guided coherence or linear or nonlinear conditional independence test. The causality strength index matrix provides a quantitative measure of the strength of causal relationships between different variables, different sensors, or different sensor values measured in the system. In some implementations, degree centrality is a measure used to evaluate the importance of a sensor (e.g., a node) in the causality strength index matrix. The number of connections a node (e.g., a sensor) has to other nodes in the matrix determines the degree centrality. Nodes with high degree centrality can be considered more important and influential in the system. The causality strength index matrix can also be generated by considering the degree centrality and transition entropy measure of a set of data (e.g., sensor data).
[0136] In some implementations, if no data (e.g., sensor data) is available to determine weights, the criticality of a sensor can be determined by counting how many other nodes (e.g., sensors) are influenced by another node (e.g., a sensor). In some implementations, the criticality of a sensor can be determined by the sum of the weights of all causal edges of a node (edges that indicate the influence of a node on other nodes).
[0137] In some implementations, the causal graph scheme (which is generated, for example, using the techniques described above) can be validated and refined by a subject matter expert (e.g., a user). For example, a causal test might indicate the existence of a bidirectional edge between two nodes A and B. In some implementations, the subject matter expert can determine that the edge is not bidirectional and that the causal relationship flows only from A to B. In another example, a causal test might indicate the existence of a directed edge between two nodes A and B. In some implementations, the subject matter expert can determine that the edge is bidirectional and that the causal relationship flows from A to B and from B to A. In some implementations, a DAG or DAG scheme refined by user input (e.g., by a subject matter expert) can be referred to as a causal knowledge DAG.
[0138] In some implementations, DAG 400 represents a wafer fabrication system or subsystem. DAG 400 includes nodes representing sensors within the wafer fabrication system or subsystem. For example, DAG 400 may represent a processing chamber. In some implementations, node 401 represents a first sensor, node 402 represents a second sensor, node 411 represents a third sensor, node 421 represents a fourth sensor, node 422 represents a fifth sensor, node 431 may represent an OES tool, and node 432 may represent an arc sensor. Each node is causally related to other nodes in the fabrication system, as represented by arrows 410A-410I. The direction of the arrow indicates the direction of the causal relationship, where the tail of the arrow represents the cause and the head of the arrow represents the effect.
[0139] In some implementations, DAG 400 may represent a manufacturing subsystem. DAG 400 may show causal relationships within the manufacturing subsystem as well as with other subsystems. For example, subsystems 490A-490C are all causally related to the subsystem represented by DAG 400, and subsystem 490A may be causally related to the first sensor 401. For example, a change in a node (sensor) in subsystem 490A may cause a change in the first sensor 401. Nodes within DAG 400 may cause changes in other subsystems. For example, OES node 431 may be causally related to subsystem 490B, and a change in OES node 431 may cause a change in a node (sensor) in 490B. In another example, arc / event counter 432 may be causally related to subsystem 490C, and a change in arc / event counter 432 may cause a change in a node (sensor) in 490B.
[0140] Sensors in a manufacturing system can collect anomalous data (e.g., sensor data, such as data and / or measurements that exceed the expected or normal range for a particular parameter). For example, sensors collecting anomalous data or values can indicate a problem / issue in the manufacturing process. For instance, a temperature sensor can detect a sudden increase in temperature that is inconsistent with the normal behavior of the manufacturing process. Such anomalous behavior from a faulty sensor can indicate a sensor calibration error, pressure component failure, obstructed coolant flow, or other problems affecting temperature control.
[0141] In some implementations, causal graphs (e.g., DAG 400) allow for tracing one and / or multiple root causes of an anomalous sensor. For example, node 432 may begin collecting anomalous data (e.g., node 432 is an anomalous sensor). The cause of the anomalous sensor 432 can be traced using causal relationships between node 432 and other nodes in the system. For example, dashed arrows 410A, 410B, 410D, 410E, 410H, and 410I show the causal path of node 432. It should be noted that there may be more than one root cause for an anomalous sensor. For example, the causal path of sensor 432 may be traced back to two different sensors (sensor 401 and sensor 402). To find the cause of the anomalous sensor 432, causal paths can be followed to efficiently troubleshoot the anomalous node and uncover the root cause of the anomalous behavior. Anomalous behavior observed in the sensor can be traced back to a Markov blanket or through causal paths (e.g., the dashed arrows of node 432).
[0142] In some implementations, the weights of the DAG can be relearned based on experimental or observational data (e.g., metrological data of a manufactured substrate). For example, after a DAG is generated based on sensor values, the weights of the DAG can be updated based on metrological data (e.g., measurement results of a manufactured semiconductor product).
[0143] Figures 5A-5C This is a flowchart of methods 500A-500C associated with determining causal relationships (e.g., determining causal relationships in a manufacturing system) and determining the weights of directed edges, according to some implementations. In some implementations, methods 500A-500C are executed by processing logic, which includes hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions that run on a processing device, general-purpose computer system, or special-purpose machine), firmware, microcode, or a combination thereof. In one implementation, method 500A may be executed by a computer system (e.g., ... Figure 1The method 500A is performed by the computer system architecture 100. In other or similar embodiments, one or more operations of method 500A may be performed by one or more other machines not shown in the figures. In some embodiments, methods 500A-500C are performed at least in part by the prediction system 110. In some embodiments, method 500A is performed by client device 120 and / or prediction system 110 (e.g., prediction component 114). In some embodiments, method 500B is performed by server machine 180 (e.g., training engine 182, etc.). In some embodiments, method 500C is performed by prediction server 112 (e.g., prediction component 114) and / or client device 120 (e.g., correction action component 122). In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., the processing device of prediction system 110, the processing device of server machine 180, the processing device of prediction server 112, the processing device of client device 120, etc.), cause the processing device to perform one or more of methods 500A-500C.
[0144] For ease of explanation, methods 500A-500C 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, in some embodiments, not all illustrated operations are performed to implement methods 500A-500C according to the disclosed subject matter. Moreover, those skilled in the art will understand that methods 500A-500C may alternatively be represented by state diagrams or events as a series of interrelated states.
[0145] Figure 5A This is a flowchart of a method for determining causal relationships in a manufacturing system, based on some aspects of this disclosure.
[0146] refer to Figure 5A In some embodiments, at block 501, the processing logic of method 500A generates a causal graph based on multiple values, each value corresponding to a causal relationship between two or more sensors in one or more manufacturing systems. In some embodiments, a causal strength index matrix may be generated prior to the causal graph. The causal strength index matrix may be generated based on these multiple values, each value corresponding to a causal relationship between two or more sensors in the one or more manufacturing systems. In this case, the causal graph may be determined based on the causal strength index matrix.
[0147] In some implementations, the causal graph can be a directed acyclic graph (DAG). A causal knowledge DAG is generated by combining causal interdependencies from a causal strength index matrix and user input. A DAG (e.g., a causal knowledge DAG) comprises multiple nodes corresponding to multiple sensors in a manufacturing system and multiple weighted directed edges, the weights of which are determined using a structural causal model. Directed edges can show a causal relationship between two variables in one direction (e.g., X causes Y, but Y does not cause X). In a causal relationship, one sensor may be a leading indicator (driving factor) that causes and / or influences another sensor. In some implementations, time lags help determine causal relationships. The DAG can be further refined by a subject matter expert (user) to develop a causal knowledge DAG. In some examples, refinement includes removing edges, adding edges, changing the direction of edges, etc.
[0148] In some implementations, weights can be determined using Bayesian networks and similar techniques (such as belief networks). In this case, probability distributions (such as joint distributions, marginal distributions, and conditional distributions) are learned. For example, the expected value of the conditional distribution between two nodes can be a measure of the weights.
[0149] In some implementations, at least one of Granger causality, transition entropy measurement, cross-entropy measurement, causality test, partially guided coherence, linear and nonlinear conditional independence test, and / or similar techniques can be used to extract causal interdependencies and can be used to generate the causal graph structure and directed edges of the causal graph. For example, it can be generated by sensors in a manufacturing system (e.g., Figure 1 The sensor 126 collects data. Causal discovery algorithms can be used to identify causal relationships in the data (e.g., sensor data). For example, at least one of the following algorithms can be used to identify causal relationships in the data: Additive Causal Model (CAM), Greedy Equivalence Search (GES), Fast Causal Inference (FCI), Inductive Causality (IC), NOTEARS, LiNGAM, Interventional Distribution Adjustment (IDA), Structural Hamming Distance (SHD), Maximum Minimum Hill Climb (MMHC), Fast GES (FGES), PC-MCI, Additive Noise Model (ANM), Bayesian Network Learning (BNL), Causal Graphical Neural Network (CGNN), TETRAD, DirectLiNGAM, Joint Causal Inference (JCI), Information Geometric Causal Inference (IGCI), or similar algorithms. In some implementations, a causal direction can be assigned to each causal relationship.
[0150] In some implementations, experimental designs used to determine causal relationships (e.g., determining causal relationships, causal effects, and weights to construct a causal graph) include randomized experiments. In some implementations, experimental designs may include full factorial designs, partial factorial designs, difference-in-differences (DSD) designs, definitive screening designs, crossover designs, blocked designs, etc. Randomized experiments are more effective when randomization and / or do-blocking encompass all causal factors involved. Observational data can also be used to learn weights through structural causal models, including using matching, instrumental variables, and mediation analysis.
[0151] In some implementations, the structural causal model can be represented by equations derived from the relationships between variables in the manufacturing system and can be used to determine the weights of the edges of a DAG (e.g., a causal knowledge DAG). In some implementations, the weights of the edges of a DAG and / or a causal knowledge DAG (e.g., the strength of the correlation) can be determined based on at least one of bivariate autoregressive coefficients, partially directed coherence, transfer entropy, partial correlation, or conditional independence. The relationships between the system's variables can be determined by user input (e.g., subject matter experts) and / or Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partially directed coherence, linear and nonlinear conditional independence tests, and / or similar methods. The weights of a DAG and / or a causal knowledge DAG can be determined using transfer entropy, cross-correlation functions, cross-conditional independence tests, partially directed coherence, Granger causality, Geweke causality, or a phase slope exponent. The weights of a DAG and / or a causal knowledge DAG can be determined using sensor data and at least one of transfer entropy, cross-correlation functions, cross-conditional independence tests, spectral methods (e.g., partially directed coherence), and / or similar methods. Spectrum methods include guided transfer functions, isolated effective coherence, and / or similar methods.
[0152] In some implementations, these relationships can be represented as mathematical equations or probability distributions (e.g., in Bayesian networks or belief networks) to correlate variables in a manufacturing system. Equations representing a structural causal model can be used to simulate the system's behavior under different conditions (e.g., using do-calculus) and to predict the effects of interventions or changes to the system and the weights of the edges (e.g., by isolating a variable in the system and observing the impact of its change on the system). Do-calculus rules can provide a set of operations to manipulate the structural causal model and derive causal relationships between variables. By applying these rules and / or techniques for determining weights, a directed algebra (DAG) representing the causal relationships between variables in the structural causal model (with weighted directed edges) can be generated.
[0153] Equations representing structural causal models can be derived using various techniques. For example, linear regression, decision trees, random forests, gradient boosting machines, neural networks, deep neural networks, Bayesian networks, support vector machines, k-nearest neighbors, principal component analysis, independent component analysis, non-negative matrix factorization, Gaussian mixture models, hidden Markov models, Markov decision processes, reinforcement learning, association rule mining, clustering algorithms, dimensionality reduction techniques, ensemble methods, and / or similar methods can be used to generate structural causal models.
[0154] In some implementations, the processing logic can assign a criticality value to each of the multiple sensors and edges in the manufacturing system. The criticality value can be a numerical value representing the sensor's criticality to the system. The processing logic can assign system health factor index values to the manufacturing system and / or its subsystems (e.g., processing chambers within the manufacturing system). The system health factor index values can be calculated based on the number of anomalous sensors and their corresponding criticality values. An anomalous sensor is a sensor and / or metrology tool that is collecting anomalous data (e.g., measurements exceeding the expected or normal range for a specific parameter). The system health factor index values can be normalized using weights from multiple directed edges corresponding to the anomalous sensors.
[0155] In some implementations, the processing logic may further use a structural causal model to determine weights (e.g., weights of directed edges), wherein the structural causal model is a trained machine learning model, and wherein determining the weights includes providing sensor data as input to the trained machine learning model and receiving outputs associated with predicted data, wherein the weights of directed edges (e.g., causal data) are associated with the predicted data.
[0156] The trained machine learning model is trained with data inputs that include historical sensor data and historical weight data (e.g., causal data) of the target output.
[0157] At box 502, the processing logic determines the causal strength index matrix. In some implementations, the causal strength index matrix may be determined based on the resulting causal graph. The causal strength index matrix can be determined from observed data using a causal discovery algorithm or user input (e.g., user input from a subject matter expert). The causal strength index matrix includes causal data and may include a coefficient matrix that quantifies the strength (e.g., weights) and direction of the causal relationship between pairs of variables (e.g., sensors in a manufacturing system, sensor data collected by sensors in a manufacturing system, etc.). The coefficients of the causal index matrix may include values (e.g., criticality values, severity values, etc.) calculated using statistical or machine learning methods.
[0158] In some implementations, the determination of the causal strength index matrix of the manufacturing system is based on at least one of the following: Granger causality, transition entropy measurement, cross-entropy measurement, causality test, partially guided coherence, linear or nonlinear conditional independence test and / or similar methods.
[0159] At box 503, the processing logic responds to the identification of abnormal behavior in at least one of the multiple sensors by using a cause-effect graph to determine the root cause of the abnormal behavior.
[0160] Identifying anomalous behavior in at least one of multiple sensors can include statistical fault detection and classification (FDC). In FDC, statistical process control techniques such as control charts are used to monitor sensor data. In some implementations, an anomalous sensor can be detected when sensor readings exceed predefined control limits or exhibit a statistically significant trend, deviation, or pattern that deviates from expected behavior.
[0161] In some implementations, identifying anomalous behavior of at least one of a plurality of sensors may include using a guard banding algorithm. In some implementations, using a guard banding algorithm involves setting predefined tolerance limits around expected sensor values. When a sensor reading exceeds the specified guard band, the sensor can be flagged as anomalous, indicating a deviation from an acceptable range.
[0162] In some implementations, identifying anomalous behavior of at least one of multiple sensors may include using machine learning-based anomaly detection methods, such as autoencoders or isolation forests. In some implementations, such machine learning methods can be trained on historical sensor data to learn historical data patterns from non-anomalous sensors. In some implementations, an anomalous sensor can be detected when sensor readings deviate significantly from the learned pattern.
[0163] In some implementations, identifying anomalous behavior of at least one of a plurality of sensors may include rule-based anomaly detection, pattern recognition techniques, comparative analysis, and / or similar methods.
[0164] In some implementations, in response to identifying anomalous behavior in at least one of the plurality of sensors, the processing logic uses at least one of a causality strength index matrix or a causality graph to determine multiple root causes of the anomalous behavior, wherein each of the plurality of root causes is ranked based on a corresponding severity value. In some implementations, the severity value may be based on the criticality of the root cause, the severity of the root cause, the frequency of occurrence of the root cause, etc.
[0165] At box 504, the processing logic causes a suggested corrective action to be issued based on the root cause of the anomalous behavior. A cause-effect graph can provide a graph-based recording method for observed problems to develop a suggestion system for corrective actions. In some implementations, the suggestion system can leverage more data for improvement and rank suggestions based on occurrence rate. The processing logic can cause multiple suggested corrective actions to be issued based on the multiple root causes of the anomalous behavior, wherein each of the multiple corrective actions corresponds to at least one of the multiple root causes and is ranked based on the corresponding severity value of the corresponding root cause.
[0166] In some implementations, the processing logic can lead to the issuance of multiple suggested corrective actions based on whether the system health factor index value meets a criterion. This criterion represents a threshold for system health; if the system health falls below a defined level, then the corresponding system health factor index value meets the criterion.
[0167] In some implementations, the manufacturing system may be a wafer manufacturing system, and multiple sensors monitor multiple parameters of the wafer manufacturing system.
[0168] Figure 5B Based on aspects of this disclosure, it is used for training machine learning models (e.g. Figure 1 The flowchart of the method for Model 190, which uses a machine learning model to determine predicted data (e.g., weights associated with determining the directed edges) Figure 1 (Predicted data 160).
[0169] refer to Figure 5B At block 510 of method 500B, the processing logic identifies historical sensor data (e.g., historical sensor data from sensors in the manufacturing system, historical sensor data 144, etc.). Historical sensor data may include data and / or similar data from historical processing operation runs, historical manufacturing operations, historical substrates, historical processing chamber sensor data, historical manufacturing system sensor data, etc.
[0170] In some implementations, at block 512, the processing logic identifies historical causal data (e.g., weight data, weights of directed edges of the DAG, historical weights, historical weight values, etc.) of one or more manufacturing systems, subsystems (e.g., processing chambers) and / or the like. Figure 1 Historical causal data (e.g., historical weight values from historical manufacturing systems and / or subsystems). Historical causal data may include historical weight values (e.g., weights of directed edges in a DAG, weight values of directed edges in a DAG, etc.). For example, historical causal data may include weight values of the causal relationship between two sensors in a manufacturing system (e.g., weight values of the causal relationship between temperature and pressure and / or similar values). Causal data including historical causal data may include sensor data and / or measurement data (which, for example, are associated with the manufacturing system, processing chamber, and / or substrate before, during, and / or after the process). Causal data including historical causal data may include user input (e.g., user input from a subject matter expert) indicating the weights and / or directions of the causal relationship between two nodes representing a DAG (e.g., a causal knowledge DAG) of the manufacturing system.
[0171] Causal data, including historical causal data, may include sensor data and / or metrological data, or user input indicating the direction of causal relationships between nodes in a DAG representing the manufacturing system. For example, a causal discovery algorithm might incorrectly indicate a causal relationship between reflected power and arcing, suggesting that the arcing causes the reflected power. In some implementations, user input (e.g., from a subject matter expert) indicates that reflected power causes the arcing, and the directed edges of the DAG can be modified to show the appropriate causal relationship. At least a portion of the historical sensor data and historical causal data may be associated with the wafer manufacturing system. At least a portion of the historical sensor data and historical causal data may be associated with a wafer manufacturing subsystem (e.g., a processing chamber).
[0172] At box 514, the processing logic uses data inputs including historical sensor data 144 (e.g., historical sensor values) and / or target outputs including historical causal data 174 (e.g., historical weight data, historical weight values of directed edges of a DAG, etc.) to train a machine learning model to produce a trained machine learning model.
[0173] In some implementations, historical sensor data is data from historical manufacturing systems / subsystems, and / or historical causal data corresponding to historical manufacturing systems / subsystems. Historical sensor data corresponds to sensor values during manufacturing operations, manufacturing processes, manufacturing runs, and / or similar processes. Historical sensor data includes historical sensor values from historical manufacturing operations, and / or historical causal data corresponding to historical manufacturing systems / subsystems. Historical causal data may be associated with the weights of directed edges, the directions of directed edges, causal relationships between nodes in a causal graph, etc. Historical causal data may be associated with the causal relationships of sensors in the manufacturing system / subsystem, such as the direction and weight of the causal relationships (e.g., depicted by weighted directed edges in a DAG).
[0174] Figure 5C According to some implementation methods, this is used to employ a trained machine learning model (e.g., ...) associated with the weights used to determine the directed edges. Figure 1 The method of model 190) 500C.
[0175] refer to Figure 5C At block 520 of method 500C, logic is processed to identify sensor data. The sensor data in block 520 includes sensor values from sensors in the manufacturing system, and / or similar values.
[0176] At box 522, the processing logic provides sensor data as input to the trained machine learning model (e.g., via...). Figure 5BThe data input to the machine learning model (frame 514) is used for training. In some implementations, the trained machine learning model can be associated with data that determines causality (e.g., weighted data, the weights of directed edges in a DAG, the strength of a causal relationship between two variables, etc.).
[0177] At box 524, the processing logic receives the output associated with the predicted data from the trained machine learning model, where the weights of the directed edges are associated with the predicted data.
[0178] At box 526, the processing logic determines the weights of the directed edges based on the predicted data.
[0179] In some implementations, sensor data 142 is sensor values from sensors of the manufacturing system, and the trained machine learning model of block 522 is trained using data inputs including historical sensor values and a target output including historical causal data 174, which includes historical weight data of the historical manufacturing system. Predicted data 160 of block 524 can be associated with predicted causal data based on sensor data (e.g., causal data of the manufacturing system). In response to predicted causal data meeting a threshold (e.g., weights are statistically significant, t-test p-value is below a predefined significance level, etc.), processing logic can ultimately determine the predicted causal data (e.g., weight data). In response to causal data not meeting a threshold, processing logic can modify the model or estimation procedure to improve the accuracy of the weights (e.g., using a different estimation algorithm, incorporating more data or additional variables, using a more appropriate model specification, etc.).
[0180] In some implementations, if it can be proven (e.g., by performing a series of t-tests and F-tests on lagged values of X, and also including lagged values of Y) that the time series X provides statistically significant information about future values of Y (e.g., satisfies a p-value threshold), then the time series X can be considered a Granger causality of Y. In some implementations, in response to predicted causal data satisfying a threshold (e.g., a threshold for statistical significance, such as a p-value threshold for t-tests, a p-value threshold for f-tests, and / or similar thresholds), the processing logic can ultimately determine the predicted causal data (e.g., weighted data). In response to predicted causal data not satisfying a threshold, the processing logic can modify the model or estimation procedure to improve the accuracy of the weights (e.g., using a different estimation algorithm, incorporating more data or additional variables, using a more appropriate model specification, etc.).
[0181] Figure 6 It is a product knowledge cause-effect graph based on some implementation methods.
[0182] In some implementations, such as Figure 4As shown, causal graphs can be used to visually represent causal data. In some implementations, a causal graph can be a product knowledge causal graph that includes part data (e.g., semantic data) and equipment constant data. Arrows (e.g., edges 610A-610I) indicate the direction of causal relationships between nodes (e.g., sensors in a manufacturing system / subsystem). As previously described... Figure 4 As described, nodes in a causal graph represent variables of the manufacturing system (e.g., sensors, values measured by sensors, sensor data, etc.), while the edges between nodes (represented by solid arrows) represent causal relationships between nodes (e.g., sensors, sensor data, sensor values, etc. of the manufacturing system / subsystem).
[0183] In some implementations, the product knowledge cause-effect graph 600 is a DAG (e.g., Figure 4 (As shown). The product knowledge cause-effect graph 600 may include additional data (such as part data and equipment constant data) associated with nodes 601-606 of the DAG. The product knowledge cause-effect graph 600 may be based on causal relationships between multiple sensors in one or more manufacturing systems.
[0184] In some implementations, the product knowledge causal graph 600 represents a wafer manufacturing system (e.g., a collection of subsystems) or a subsystem. In some implementations, the product knowledge causal graph 600 includes nodes representing sensors within the wafer manufacturing system or subsystem. For example, the product knowledge causal graph 600 may represent a processing chamber. For example, nodes 601-606 may represent a power delivery sensor, a series-connected sensor, a shunt-connected sensor, a chamber pressure sensor, an RF power sensor, a matching position sensor, a forward power sensor, a reflected power sensor, an OES tool (e.g., an OES spectrometer), an arc sensor, and / or similar devices. Each node has a causal relationship with other nodes in the manufacturing system, as represented by arrows 610A-610I. The direction of the arrow indicates the direction of the causal relationship, where the tail of the arrow represents the cause and the head of the arrow represents the effect. For example, arrow 610A represents a causal relationship between nodes 601 and 602, where node 601 is a cause of node 602 (e.g., chamber pressure causes matching position). Arrow 610B represents a causal relationship between nodes 602 and 605, where node 602 is a cause of node 605 (e.g., RF power causing a matching position). In some implementations, a bidirectional arrow can represent a causal relationship in two directions. Bidirectional causality is common in systems exhibiting infinite loop phenomena, where outputs recursively become inputs, forming continuous feedback loops. However, the response time in the system is not necessarily aligned with the real-time initiation action. The temporal resolution of data acquisition may not match the system's feedback intervals. In such cases, causal sequence events may be incorrectly represented as occurring simultaneously, potentially masking the true dynamics of the system's feedback mechanism.
[0185] In some implementations, the product knowledge cause-effect graph 600 may include part data and equipment constant data. The product knowledge cause-effect graph 600 includes parts (e.g., components) 610-614. Nodes (e.g., nodes 601-606) may be associated with parts in the manufacturing system. Parts 610-614 may be source matches, RF cables, source generators, spectrometers, optical cables, etc. Each part may have a part number and / or serial number. The acceptance certificate may include the specifications of the parts. The acceptance certificate can certify that a specific component, part, or product meets standards, specifications, or quality standards. The acceptance certificate may also include semantic data (e.g., text).
[0186] In some implementations, the product knowledge cause-effect graph 600 may be based on and include part data of multiple parts of a manufacturing system. Each of these multiple parts may correspond to at least one of the multiple sensors. For example, the product knowledge cause-effect graph 600 includes parts 610-614. Parts 610-614 are represented by rectangular nodes. Dashed lines connecting parts 610-614 to sensor nodes 601-606 show the association with the sensor nodes of the product knowledge cause-effect graph 600. For example, parts 610 and 612 are associated with sensor node 601. Part 610 is further associated with sensor node 604. Part 611 is associated with sensor nodes 603 and 602. Parts 613 and 614 are associated with sensor node 606.
[0187] In some implementations, part data can be static data. Static data can be unchanging data or values and can be used as reference or configuration data (e.g., part data that remains constant and does not change over time in a manufacturing system).
[0188] In some implementations, part data may include numerical data (e.g., part specification data, values, etc.) and / or semantic data (e.g., textual data included in an acceptance certificate). Users can leave comments in the acceptance certificate. This textual data may include semantic data.
[0189] In some embodiments, the product knowledge cause-effect graph 600 may be based on and include equipment constant data of a plurality of equipment constants of the manufacturing system. In some embodiments, each of the plurality of equipment constants may correspond to at least one of the plurality of sensors. For example, the product knowledge cause-effect graph 600 includes equipment constants 620-629.
[0190] In some implementations, sensor nodes (e.g., nodes 601-606) may be associated with equipment constants (e.g., system constants) of the manufacturing system. The product knowledge cause-effect graph 600 includes equipment constants 620-629. For example, equipment constants 620-629 may be RF analyzer timeouts, RF analyzer settling times, inspection tolerances, inspection limits, monitor timeouts, reference inspection limits, strength error limits, RF on for eye diagram tools, etc. Each equipment constant is configurable and adjustable. The configuration value of the equipment constant may be equipment constant data. In some implementations, equipment constants may be included in the product knowledge cause-effect graph 600.
[0191] In some implementations, equipment constant data can be static data. For example, equipment constants may be unadjustable and remain constant. Static data can be invariant data or values and can be used as reference or configuration data (e.g., equipment constants that remain constant in a manufacturing system and do not change over time). Equipment constant data can also be dynamic data. Dynamic equipment constants (e.g., adjustable equipment constants) can be included in the product knowledge cause-effect graph 600, and static equipment constants can be excluded.
[0192] In some implementations, equipment constants 620-629 are represented by diamond-shaped nodes, while dashed lines indicate associations with sensor nodes in the product knowledge causal graph 600. For example, equipment constants 620 and 621 are associated with sensor node 601. Equipment constant 621 is further associated with sensor node 605. Equipment constant 622 is associated with sensor nodes 603 and 602. Equipment constant 623 is associated with sensor nodes 603 and 602. Equipment constant 624 is associated with sensor nodes 603 and 602. Equipment constant 625 is associated with sensor node 604. Equipment constant 626 is associated with sensor node 606. Equipment constant 627 is associated with sensor node 606. Equipment constant 628 is associated with sensor node 605. Equipment constant 629 is associated with sensor node 605.
[0193] In some implementations, the causal strength index matrix can be determined based on the resulting product knowledge causal graph. The causal strength index matrix and the causal graph (e.g., the product knowledge causal graph) can be complementary representations of causal data, where the causal matrix provides a quantitative measure of causal strength (e.g., the weights of directed edges in a DAG, product knowledge causal graph, etc.), while the causal graph provides a visual representation of the causal relationships between variables.
[0194] In some implementations, the product knowledge cause-effect graph scheme (which, for example, uses the above and Figure 4The techniques described can be validated and refined by subject matter experts (e.g., users). For example, a causal test might indicate the existence of a bidirectional edge between two nodes A and B. In some implementations, the subject matter expert can determine that the edge is not bidirectional and that the causal relationship flows only from A to B. In another example, a causal test might indicate the existence of a directed edge between two nodes A and B. In some implementations, the subject matter expert can determine that the edge is bidirectional and that the causal relationship flows from A to B and from B to A.
[0195] Sensors in a manufacturing system can collect anomalous data (e.g., sensor data, such as data and / or measurements that exceed the expected or normal range for a particular parameter). For example, sensors collecting anomalous data or values can indicate a problem / issue in the manufacturing process. For instance, a temperature sensor can detect a sudden increase in temperature that is inconsistent with the normal behavior of the manufacturing process. Such anomalous behavior from a faulty sensor can indicate a sensor calibration error, pressure component failure, obstructed coolant flow, or other problems affecting temperature control.
[0196] In some implementations, a product knowledge cause-effect graph (e.g., product knowledge cause-effect graph 600) allows for the tracking of one and / or multiple root causes of anomaly sensors. Anomaly sensors can be detected and flagged. The product knowledge cause-effect graph can be updated to reflect the anomaly sensors. The product knowledge cause-effect graph can then be used (e.g., by providing the product knowledge cause-effect graph as input to a trained machine learning model) to determine the root cause of the anomalous behavior and identify corrective actions (e.g., based at least on a subset of the part data corresponding to the root cause of the anomalous behavior, or a subset of the equipment constant data corresponding to the root cause of the anomalous behavior).
[0197] For example, node 605 may begin collecting anomalous data (e.g., node 605 is an anomalous sensor). In some implementations, the cause of the anomalous sensor 605 can be traced using the causal relationships between node 605 and other nodes in the system. For example, edges (e.g., arrows) 610B-610G show the causal path of node 605. It should be noted that there may be more than one root cause for the anomalous sensor. For example, the causal path of sensor 605 may be traced back to two or more sensors (sensors 601-604). To find the cause of the anomalous sensor 605, causal paths can be followed to efficiently troubleshoot the anomalous node and uncover the root cause of the anomalous behavior. In some implementations, the anomalous behavior observed in the sensor can only be traced back to a Markov blanket or through a causal path.
[0198] Figures 7A-7DThis is a flowchart of method 700A-700D, which is associated with determining corrective actions and root causes for a manufacturing system, according to some implementation methods.
[0199] In some implementations, methods 700A-700D are executed by processing logic, which includes hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions that run on a processing device, general-purpose computer system, or special-purpose machine), firmware, microcode, or a combination thereof. In one implementation, method 700A may be executed by a computer system (e.g., Figure 1 The method 700A is executed by the computer system architecture 100. In other or similar embodiments, one or more operations of method 700A may be executed by one or more other machines not shown in the figures. In some embodiments, methods 700A-700D are executed at least in part by the prediction system 110. In some embodiments, method 700A is executed by client device 120 (e.g., correction action component 122) and / or prediction system 110 (e.g., prediction component 114). In some embodiments, method 700B is executed by server machine 180 (e.g., training engine 182, etc.). In some embodiments, prediction server 112 (e.g., prediction component 114) and / or client device 120 (e.g., correction action component 122) execute methods 700C-700D. In some embodiments, a non-transitory 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, the processing device of client device 120, etc.), cause the processing device to perform one or more of methods 700A-700D.
[0200] For ease of explanation, methods 700A-700D 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, in some embodiments, not all illustrated operations are performed to implement methods 700A-700D according to the disclosed subject matter. Moreover, those skilled in the art will understand that methods 700A-700D may alternatively be represented by state diagrams or events as a series of interrelated states.
[0201] Figure 7A This is a flowchart of a method associated with determining corrective actions for a semiconductor manufacturing system, based on aspects of this disclosure.
[0202] refer to Figure 7AAt block 701, the processing logic of method 700A generates a product knowledge causal graph. The product knowledge causal graph is based on causal relationships between multiple sensors in one or more manufacturing systems. In some embodiments, a causal strength index matrix may be generated prior to the causal graph. The causal strength index matrix may be generated based on the causal relationships between the multiple sensors in the one or more manufacturing systems. In this case, the product knowledge causal graph can then be determined based on the causal strength index matrix, part data of multiple components in the manufacturing system, and equipment constant data of multiple equipment constants in the manufacturing system.
[0203] In some embodiments, the one or more manufacturing systems may be wafer manufacturing systems, and the plurality of sensors may monitor a plurality of parameters of the wafer manufacturing system. The product knowledge causal graph may be based on part data of a plurality of parts of the manufacturing system, each of which corresponds to at least one of the plurality of sensors. In some embodiments, the product knowledge causal graph may be based on equipment constant data of a plurality of equipment constants of the manufacturing system, the equipment constant data corresponding to at least one of the plurality of sensors.
[0204] In some implementations, the processing logic may further determine the relationships between the plurality of parts of the manufacturing system and the plurality of sensors of the manufacturing system, as well as the relationships between the plurality of equipment constants of the manufacturing system and the plurality of sensors of the manufacturing system. In some implementations, these relationships may be determined based on user input, such as from subject matter experts. In some implementations, these relationships may be determined using neural networks, large-scale language learning models, and / or similar methods.
[0205] At box 702, the processing logic determines the causality strength index matrix. In some implementations, the causality strength index matrix may be determined based on a product knowledge causal graph.
[0206] At block 703, the processing logic responds to identifying anomalous behavior in at least one of the plurality of sensors by determining the root cause of the anomalous behavior using at least one of the causal strength index matrix or the product knowledge causal graph. In some implementations, identifying anomalous behavior in at least one of the plurality of sensors may include statistical error detection and classification (FDC). In FDC, statistical process control techniques such as control charts are used to monitor sensor data. For example, an anomalous sensor can be detected when a sensor reading exceeds a predefined control limit or exhibits a statistically significant trend, deviation, or pattern that deviates from expected behavior.
[0207] In some implementations, identifying anomalous behavior of at least one of a plurality of sensors may include using a guard banding algorithm. In some implementations, using a guard banding algorithm includes setting predefined tolerance limits around the expected sensor value. When a sensor reading exceeds the specified guard band, the sensor can be flagged as anomalous, indicating a deviation from an acceptable range. A component corresponding to the sensor and potentially possessing, for example, acceptance certificates, quality data, or specification data, may exceed the control limits corresponding to that component, causing the corresponding sensor to be flagged.
[0208] In some implementations, identifying anomalous behavior of at least one of multiple sensors may include using machine learning-based anomaly detection methods, such as autoencoders or isolation forests. Machine learning methods can be trained on historical sensor data to learn historical data patterns from non-anomalous sensors. In some implementations, an anomalous sensor can be detected when sensor readings deviate significantly from the learned pattern.
[0209] In some implementations, identifying anomalous behavior of at least one of a plurality of sensors may include rule-based anomaly detection, pattern recognition techniques, comparative analysis, and / or similar methods.
[0210] In some implementations, the processing logic may further respond to identifying anomalous behavior in at least one of the plurality of sensors by determining multiple root causes of the anomalous behavior using at least one of a causal strength index matrix or a product knowledge causal graph. Each of the multiple root causes may be ranked based on a corresponding severity value.
[0211] In some implementations, severity data is associated with the causal relationship between two nodes (e.g., the severity of the causal relationship between two or more variables / nodes). The criticality of a sensor can be determined using the sum of the weights of all causal edges of a node (edges indicating the influence of a node on other nodes). Severity values can be based on the criticality of the root cause, the severity of the root cause, the frequency of occurrence of the root cause, etc. For example, historical data may indicate that a particular root cause occurs more frequently than other root causes, leading to an increase in the severity value of that root cause.
[0212] In some implementations, the processing logic may further identify multiple corrective actions based at least on a subset of the component data or the equipment constant data corresponding to the multiple root causes. Each of the multiple corrective actions may correspond to at least one of the multiple root causes and may be ranked based on the corresponding severity value of the corresponding root cause.
[0213] At box 704, the processing logic identifies at least one corrective action for the abnormal behavior, based at least on a subset of the part data corresponding to the root cause of the abnormal behavior or a subset of the equipment constant data corresponding to the root cause of the abnormal behavior.
[0214] In some embodiments, the at least one suggested correction corresponds to at least one of the plurality of parts of the manufacturing system or one of the plurality of equipment constants of the manufacturing system. In some embodiments, the suggested correction may indicate an adjustment to an equipment constant, a replacement of a part, and / or a similar operation.
[0215] Identifying at least one corrective action for an anomalous behavior (e.g., based at least on a subset of part data or equipment constant data corresponding to the root cause of the anomalous behavior) involves providing sensor data as input to a trained machine learning model and receiving an output associated with the predicted data. The suggested corrective action may be associated with the predicted data. For example, anomaly sensors can be detected and can be tagged. The product knowledge causal graph can be updated to reflect the anomaly sensors. The product knowledge causal graph can then be used (e.g., by providing the product knowledge causal graph as input to a trained machine learning model) to determine the root cause of the anomalous behavior and / or identify corrective actions.
[0216] In some implementations, a trained machine learning model can be trained using training input data including historical product knowledge causal graphs and historical causal strength index matrices (e.g., causal data) and a target output of historical suggestion data. In some implementations, suggestion data is associated with suggested corrective actions.
[0217] In some implementations, in response to identifying anomalous behavior in at least one of the plurality of sensors, determining the root cause of the anomalous behavior using at least one of a causal strength index matrix or a product knowledge causal graph includes providing the product knowledge causal graph and the causal strength index matrix (e.g., causal data) as input to a trained machine learning model and receiving an output associated with the predicted data. In some implementations, the root cause may be associated with the predicted data. In some implementations, the trained machine learning model can be trained with training input data including historical product knowledge causal graphs and historical causal strength index matrices (e.g., causal data) and a target output of historical suggestion data (e.g., root causes, suggested corrective actions, etc.). In some implementations, the suggestion data is associated with the root cause.
[0218] In some implementations, the root cause may correspond to at least one of the plurality of parts of the manufacturing system or one of the plurality of equipment constants of the manufacturing system. In some implementations, the root cause may be associated with a proposed corrective action and may indicate an adjustment of equipment constants, replacement of parts, and / or similar operations.
[0219] In some implementations, the processing logic can identify multiple corrective actions based on whether the system health factor index value meets a criterion. In some implementations, this criterion represents a threshold for system health; if the system health falls below a defined level, then the corresponding system health factor index value meets the criterion.
[0220] In some implementations, the system health factor index value can be calculated based on the number of anomalous sensors detected in the manufacturing system and the corresponding criticality values of the anomalous sensors, and can be normalized using weights of multiple directed edges corresponding to the anomalous sensors. In some implementations, the anomalous sensors are sensors and / or metrology tools that are collecting anomalous data (e.g., measurement results that exceed the expected or normal range of a specific parameter).
[0221] In some implementations, the system health factor index value can indicate the health of the system. In some implementations, a high system health factor index means the system is relatively healthy, and a low system health factor index means the system is unhealthy. In some implementations, when the system health factor index value is high and indicates that the system is healthy, no corrective action may be recommended for one or more detected anomalous sensors. This is because the causal effect of such anomalous sensors does not have sufficient weight (e.g., it has a strong causal effect on the system's output), and therefore no recommended corrective action is needed. In some implementations, such sensors have low criticality.
[0222] On the other hand, when anomaly sensors have high weight and a more significant impact on the system's output, the system health factor index value may be low (e.g., the system is unhealthy). In this case, a low system health factor index value will lead to the identification of recommended corrective actions. In some implementations, this is because the anomaly sensor has high criticality (e.g., significantly affects the system's output).
[0223] In some implementations, the system health factor index value can indicate the health of the system fleet. For example, the system health factor index values of each system in the system fleet can be statistically combined (e.g., by averaging, weighting, mediating, harmonizing, quantifying, etc.) to derive the fleet system health factor index.
[0224] Figure 7BBased on aspects of this disclosure, it is used for training machine learning models (e.g. Figure 1 Model 190) is used to determine predictive data associated with determining corrective actions for the manufacturing system (e.g., Figure 1 The flowchart of the method for predicting data 160.
[0225] refer to Figure 7B At block 710 of method 700B, the logic identifies historical causal data (e.g., historical causal data from the product knowledge causal graph and / or causal strength index matrix of the manufacturing system, historical causal data 174, etc.). Historical causal data may include data from historical product knowledge causal graphs, historical causal strength index matrices, historical manufacturing systems, historical subsystems, and / or similar data.
[0226] In some implementations, at block 712, the processing logic identifies historical recommendation data (e.g., historical root causes, root cause data, recommended corrective action data, historical recommended corrective actions, etc.) from one or more manufacturing systems, subsystems (e.g., processing chambers) and / or similar systems. Figure 1 Historical recommendation data (e.g., 134). Historical recommendation data may include historical root causes and / or suggested corrective actions from historical manufacturing systems and / or subsystems. For example, historical recommendation data may include historical suggested corrective actions issued to correct malfunctioning sensors in the manufacturing system (e.g., recommendations to change parts or components, adjust equipment constant values, perform maintenance, etc.). Historical recommendation data may include historical root causes identified as leading to malfunctioning sensors in the manufacturing system.
[0227] In some implementations, the recommendation data, including historical recommendation data, may include user input (e.g., user input from subject matter experts) indicating the root cause of anomalous behavior in the manufacturing system and / or suggested corrective actions. Recommendation data (including historical recommendation data) may be associated with causal data. For example, suggested corrective actions may be issued based on the root cause of the anomalous behavior, which is determined based on causal data (e.g., using a product knowledge causal graph).
[0228] At box 714, the processing logic uses data inputs including historical causal data 174 (e.g., historical product knowledge causal graph, historical causal strength index matrix, etc.) and / or target outputs including historical suggestion data 134 (e.g., historical suggestion correction action data, historical correction action, historical root cause data, historical root cause, etc.) to train a machine learning model to produce a trained machine learning model.
[0229] In some implementations, historical causal data is data from historical manufacturing systems / subsystems (represented, for example, by a product knowledge causal graph and / or a causal strength index matrix). In some implementations, historical causal data corresponds to a product knowledge causal graph and / or a causal strength index matrix and / or similar data. In some implementations, historical causal data includes historical product knowledge causal graph and / or causal strength index matrix values from historical manufacturing systems / subsystems, and / or historical suggestion data corresponding to historical manufacturing systems / subsystems. Historical suggestion data may be associated with suggested corrective actions, identified root causes, causal relationships between nodes in the causal graph, etc. Historical suggestion data may be associated with causal relationships of sensors in the manufacturing system / subsystem, such as the direction and weight of causal relationships (e.g., depicted by weighted directed edges in a DAG). For example, based on the severity value of the corresponding root cause, a first corrective action may rank higher than a second corrective action.
[0230] Figure 7C According to some implementation methods, this is used to employ trained machine learning models (e.g., those associated with determining corrective actions and identifying root causes of problems in manufacturing systems) Figure 1 The method of model 190) 700C.
[0231] refer to Figure 7C In method 700C, at block 720, causal data is processed to identify logic. In some implementations, the causal data in block 720 includes product knowledge causal graphs, causal strength index matrices, and / or similar data.
[0232] At box 722, the processing logic provides causal data as input to the trained machine learning model (e.g., via...). Figure 7B The data input to the machine learning model trained in box 714. In some embodiments, the causal data may be a product knowledge causal graph and / or a causal strength index matrix. In some embodiments, the product knowledge causal graph and / or causal strength index matrix may have a node (e.g., a sensor) that has been anonymized. In some embodiments, the trained machine learning model may be associated with determining corrective actions (e.g., suggesting corrective actions and / or similar actions) for the manufacturing system.
[0233] At box 724, the processing logic receives outputs associated with the predicted data from the trained machine learning model, where suggested corrective actions are associated with the predicted data.
[0234] At box 726, the processing logic determines the suggested corrective action based on the predicted data.
[0235] In some implementations, the causal data is a product knowledge causal graph and / or a causal strength index matrix of the manufacturing system, and the trained machine learning model in block 722 is trained using data inputs including a historical product knowledge causal graph and a historical causal strength index matrix, and a target output including historical suggestion data, which includes historical suggested corrective actions of the historical manufacturing system. The predicted data in block 724 can be associated with predicted suggestion data based on the causal data (e.g., suggestion data for the manufacturing system, such as predicted suggested corrective actions). In response to the predicted suggestion data meeting a threshold (e.g., the suggestion conforms to a predefined threshold standard or metric), the processing logic can ultimately determine the predicted suggestion data (e.g., suggested corrective actions). In response to the suggestion data not meeting a threshold, the processing logic can modify the model or estimation procedure to improve the accuracy of the suggestions (e.g., using a different suggestion algorithm, incorporating more data or additional variables, using a more appropriate model specification, etc.).
[0236] In some implementations, in response to predicted suggestion data meeting a threshold (e.g., the suggestion conforms to a predefined threshold standard or metric), the processing logic can ultimately determine the predicted suggestion data (e.g., suggest a corrective action). In response to predicted suggestion data not meeting a threshold, the processing logic can modify the model or estimation procedure to improve the suggested corrective action (e.g., use a different suggestion algorithm, incorporate more data or additional variables, use a more appropriate model specification, etc.).
[0237] Figure 7D According to some implementation methods, this is used to employ trained machine learning models (e.g., those associated with determining the root causes of a manufacturing system) Figure 1 The method of model 190) 700D.
[0238] refer to Figure 7D At block 730 of method 700D, logical identification of causal data is performed. In some embodiments, the causal data in block 730 includes a product knowledge causal graph of the manufacturing system and / or a causal strength index matrix and / or similar data.
[0239] At box 732, the processing logic provides causal data as input to the trained machine learning model (e.g., via...). Figure 7B The data input to the machine learning model trained in box 714. In some implementations, the causal data may be a product knowledge causal graph and / or a causal strength index matrix. In some implementations, the product knowledge causal graph and / or causal strength index matrix may have a node (e.g., a sensor) that has been anonymized. In some implementations, the trained machine learning model may be associated with identifying root causes for a manufacturing system (e.g., root causes of anomalous sensors and / or similar causes).
[0240] At box 734, the processing logic receives an output associated with the predicted data from the trained machine learning model, where the root cause is associated with the predicted data.
[0241] At box 736, the processing logic determines the root cause based on the predicted data.
[0242] In some implementations, the causal data is a product knowledge causal graph and / or a causal strength index matrix of the manufacturing system, and the trained machine learning model in block 732 is trained using data inputs including a historical product knowledge causal graph and a historical causal strength index matrix, and a target output including historical suggestion data, which includes historical root causes of the manufacturing system. The predicted data in block 734 can be associated with predicted suggestion data based on the causal data (e.g., suggestion data for the manufacturing system, such as predicted root causes). In response to the predicted suggestion data meeting a threshold (e.g., root causes conforming to predefined threshold criteria or metrics), the processing logic can ultimately determine the predicted suggestion data (e.g., root causes, etc.). In response to the suggestion data not meeting a threshold, the processing logic can modify the model or estimation procedure to improve the accuracy of the suggestions (e.g., using a different suggestion algorithm, incorporating more data or additional variables, using a more appropriate model specification, etc.).
[0243] In some implementations, in response to the predicted suggestion data meeting a threshold (e.g., the root cause is consistent with a predefined threshold criterion or metric), the processing logic can ultimately determine the predicted suggestion data (e.g., the root cause, etc.). In response to the predicted suggestion data not meeting a threshold, the processing logic can modify the model or estimation procedure to improve the predicted root cause (e.g., using a different suggestion algorithm, incorporating more data or additional variables, using a more appropriate model specification, etc.).
[0244] Figure 8 This is a block diagram illustrating a computer system 800 according to certain embodiments. In some embodiments, the computer system 800 is one or more of a client device 120, a prediction system 110, a server machine 170, a server machine 180, a prediction server 112, and / or the like.
[0245] In some embodiments, computer system 800 is connected to other computer systems (e.g., via a network, such as a local area network (LAN), internal network, external network, or the Internet). In some embodiments, computer system 800 operates as a server or client computer in a client-server environment, or as a peer computer in a peer or distributed network environment. In some embodiments, computer system 800 is 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 that 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.
[0246] In another aspect, the computer system 800 includes a processing device 802, volatile memory 804 (e.g., random access memory (RAM)), non-volatile memory 806 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 818, which communicate with each other via a bus 808.
[0247] In some implementations, the processing device 802 is provided by one or more processors such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of multiple types of instruction sets) or a special-purpose processor (e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0248] In some embodiments, the computer system 800 further includes a network interface device 822 (which is coupled to, for example, a network 874). In some embodiments, the computer system 800 also includes a video display unit 810 (e.g., a liquid crystal display (LCD)), a digit input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generating device 820.
[0249] In some embodiments, the data storage device 818 includes a non-transitory computer-readable storage medium 824 having instructions 826 stored thereon that encode any or more of the methods or functions described herein, including... Figure 1The components (e.g., correction action component 122, prediction component 114, etc.) are encoded with instructions for implementing the methods described herein (e.g., one or more of methods 500A-500C and 700A-700D).
[0250] In some embodiments, instruction 826 also resides wholly or partially within volatile memory 804 and / or processing device 802 during its execution by computer system 800; therefore, in some embodiments, volatile memory 804 and processing device 802 also constitute machine-readable storage media.
[0251] Although computer-readable storage medium 824 is shown as a single medium in the illustrative examples, the term "computer-readable storage medium" should also include single or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) 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 or more methods described herein. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0252] 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 application-specific integrated circuits (ASICs), FPGAs, DSPs, or similar devices. Furthermore, the methods, components, and features can also be implemented by firmware modules or functional circuitry systems within hardware devices. Further, the methods, components, and features can be implemented as any combination of hardware devices and computer program components or as a computer program.
[0253] Unless otherwise specifically stated, terms such as “generate,” “identify,” “determine,” “allocate,” “provide,” “receive,” “update,” “cause,” “execute,” “obtain,” “access,” “add,” “use,” “train,” or similar terms refer to actions and processes performed or implemented by a computer system that manipulate and transform data represented as physical (electronic) quantities in the computer system’s caches and memory into other data similarly represented as physical quantities in the computer system’s memory or caches or other such information storage, transmission, or display devices. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc., used herein are labels to distinguish different elements and do not have a sequential meaning based on their numerical designation.
[0254] 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.
[0255] 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 suitable to construct more specialized devices to perform each of the methods described herein and / or individual functions, routines, subroutines, or operations of such methods. Examples of structures for various such systems are illustrated in the above description.
[0256] 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 following claims and the full scope of their equivalents.
Claims
1. A method, the method comprising: A causal graph is generated based on multiple values, each value corresponding to a causal relationship between two or more sensors in one or more manufacturing systems; Determine the causal strength index matrix; In response to identifying anomalous behavior in at least one of the plurality of sensors, the root cause of the anomalous behavior is determined using at least one of the causal strength index matrix or the causal graph. as well as This leads to a suggested corrective action based on the root cause of the abnormal behavior.
2. The method of claim 1, further comprising: In response to identifying anomalous behavior in at least one of the plurality of sensors, a plurality of root causes of the anomalous behavior are determined using at least one of the causal strength index matrix or the causal graph, wherein each of the plurality of root causes is ranked based on a corresponding severity value. as well as This leads to the issuance of multiple suggested corrective actions based on the multiple root causes of the abnormal behavior, wherein each of the multiple corrective actions corresponds to at least one of the multiple root causes and is ranked based on the corresponding severity value of the corresponding root cause.
3. The method of claim 1, wherein the determination of the causal strength index matrix of the manufacturing system is based on at least one of the following: Granger causality, transition entropy measure, cross entropy measure, causality test, or partially guided coherence or linear or nonlinear conditional independence test.
4. The method of claim 1, wherein the causal graph is a directed acyclic graph (DAG), and wherein the causal knowledge DAG is generated by combining causal dependencies from the causal strength index matrix and user input, the causal knowledge DAG comprising: Multiple nodes, wherein the multiple nodes correspond to the multiple sensors of the manufacturing system; as well as Multiple directed edges, each with a weight, which is determined using a structural causal model.
5. The method of claim 4, further comprising: Assign critical values to each of the plurality of sensors in the manufacturing system; The system health factor index value is assigned to the manufacturing system, wherein the system health factor index value is calculated based on a plurality of abnormal sensors and the corresponding critical values of the abnormal sensors, and is normalized using the weights of the plurality of directed edges corresponding to the abnormal sensors; as well as This leads to a recommendation for corrective action being issued based on the system's health factor index value meeting the standard.
6. The method of claim 4, further comprising: The weights are determined using the structural causal model, wherein the structural causal model is a trained machine learning model, and wherein determining the weights includes: Provide sensor data as input to the trained machine learning model; and Receive an output associated with the predicted data, wherein the weights of the directed edges are associated with the predicted data.
7. The method of claim 6, wherein the trained machine learning model is trained with a target output including historical sensor data as input and historical causal data as output.
8. The method of claim 1, wherein the manufacturing system is a wafer manufacturing system, and the plurality of sensors monitor a plurality of parameters of the wafer manufacturing system.
9. A non-transitory computer-readable storage medium storing instructions, said instructions, when executed, causing a processing device to perform operations including the following steps: A causal graph is generated based on multiple values, each value corresponding to a causal relationship between two or more sensors in one or more manufacturing systems; Determine the causal strength index matrix; In response to identifying anomalous behavior in at least one of the plurality of sensors, the root cause of the anomalous behavior is determined using at least one of the causal strength index matrix or the causal graph. as well as This leads to a suggested corrective action based on the root cause of the abnormal behavior.
10. The non-transitory computer-readable storage medium of claim 9, wherein the operation further comprises: In response to identifying anomalous behavior in at least one of the plurality of sensors, a plurality of root causes of the anomalous behavior are determined using at least one of the causal strength index matrix or the causal graph, wherein each of the plurality of root causes is ranked based on a corresponding severity value. as well as This leads to the issuance of multiple suggested corrective actions based on the multiple root causes of the abnormal behavior, wherein each of the multiple corrective actions corresponds to at least one of the multiple root causes and is ranked based on the corresponding severity value of the corresponding root cause.
11. The non-transitory computer-readable storage medium of claim 9, wherein the causal strength index matrix that generates the manufacturing system is based on at least one of the following: Granger causality, transition entropy measure, cross entropy measure, causality test, partially guided coherence or linear or nonlinear conditional independence test.
12. The non-transitory computer-readable storage medium of claim 9, wherein the causal graph is a directed acyclic graph (DAG), and wherein the causal knowledge DAG is generated by combining causal dependencies from the causal strength index matrix and user input, the causal knowledge DAG comprising: Multiple nodes, wherein the multiple nodes correspond to the multiple sensors of the manufacturing system; as well as Multiple directed edges, each with a weight, which is determined using a structural causal model.
13. The non-transitory computer-readable storage medium of claim 12, wherein the operation further comprises: Assign critical values to each of the plurality of sensors in the manufacturing system; The system health factor index value is assigned to the manufacturing system, wherein the system health factor index value is calculated based on a plurality of abnormal sensors and the corresponding critical values of the abnormal sensors, and is normalized using the weights of the plurality of directed edges corresponding to the abnormal sensors; as well as This leads to a recommendation for corrective action being issued based on the system's health factor index value meeting the standard.
14. The non-transitory computer-readable storage medium of claim 12, wherein the operation further comprises: The weights are determined using the structural causal model, wherein the structural causal model is a trained machine learning model, and wherein determining the weights includes: Provide sensor data as input to the trained machine learning model; and Receive an output associated with the predicted data, wherein the weights of the directed edges are associated with the predicted data.
15. The non-transitory computer-readable storage medium of claim 14, wherein the trained machine learning model is trained with data input including historical sensor data and target output including historical causal data.
16. A system comprising: Memory; as well as Processing device, coupled to the memory, the processing device being used for: A causal graph is generated based on multiple values, each value corresponding to a causal relationship between two or more sensors in one or more manufacturing systems; Determine the causal strength index matrix; In response to identifying anomalous behavior in at least one of the plurality of sensors, the root cause of the anomalous behavior is determined using at least one of the causal strength index matrix or the causal graph. as well as This leads to a suggested corrective action based on the root cause of the abnormal behavior.
17. The system of claim 16, wherein the causal graph is a directed acyclic graph (DAG), and wherein the causal knowledge DAG is generated by combining causal dependencies from the causal strength index matrix and user input, the causal knowledge DAG comprising: Multiple nodes, wherein the multiple nodes correspond to the multiple sensors of the manufacturing system; as well as Multiple directed edges, each with a weight, which is determined using a structural causal model.
18. The system of claim 17, wherein the processing device is further configured to: Assign critical values to each of the plurality of sensors in the manufacturing system; The system health factor index value is assigned to the manufacturing system, wherein the system health factor index value is calculated based on multiple anomaly sensors and their corresponding critical values, and is normalized using the weights of the multiple directed edges corresponding to the anomaly sensors; and This leads to a recommendation for corrective action being issued based on the system's health factor index value meeting the standard.
19. The system of claim 17, wherein the processing device is further configured to determine the weights using the structural causal model, wherein the structural causal model is a trained machine learning model, and wherein determining the weights comprises: Sensor data is provided as input to the trained machine learning model; as well as Receive an output associated with the predicted data, wherein the weights of the directed edges are associated with the predicted data.
20. The system of claim 19, wherein the trained machine learning model is trained with a target output including historical sensor data as input and historical causal data as output.