Causality-based fleet matching
Patent Information
- Application Number
- KR1020267025049
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-12-19
- Filing Date
- 2025-01-08
- Publication Date
- 2026-09-04
Smart Images

Figure PCT00001_ABST
Abstract
Description
Technology Field
[0001] The present disclosure relates to determining causality in a system. More specifically, the present disclosure relates to causality-based fleet matching. Background Technology
[0002] Manufacturing systems, including substrate manufacturing systems, use manufacturing equipment to produce products (e.g., substrates). Manufacturing systems include sensors that may be causally related. Conventionally, system health has been evaluated through manual inspections and performance metrics, which results in unplanned downtime and maintenance, disrupts regular operations, and leads to losses in efficiency and productivity.
[0003] The following is a simplified summary of the present disclosure to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the present disclosure. It is not intended to identify the essential or important elements of the present disclosure, nor is it intended to describe any scope of specific embodiments of the present disclosure or any scope of the claims. Its sole purpose is to present some concepts of the present disclosure in a simplified form as an introduction to the more detailed description that follows.
[0004] An aspect of the present disclosure comprises a method comprising the step of generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems. The method further comprises the step of determining a causal strength index matrix. The method further comprises the step of determining the root cause of anomalous behavior using at least one of the causal strength index matrix or the causal graph in response to identifying anomalous behavior in at least one of the plurality of sensors. The method further comprises the step of issuing a recommended correction action based on the root cause of the anomalous behavior.
[0005] Further aspects of the present disclosure include a non-transient computer-readable storage medium storing instructions that cause a processing device to perform operations when executed. The operations include the step of generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems. The operations further include the step of determining a causal strength index matrix. The operations further include the step of determining the root cause of the abnormal behavior using at least one of the causal strength index matrix or the causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors. The operations further include the step of issuing a recommended correction action based on the root cause of the abnormal behavior.
[0006] Further aspects of the present disclosure include a system comprising a memory and a processing device coupled to the memory. The processing device generates a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems. The processing device further determines a causal strength index matrix. The processing device further determines the root cause of the abnormal behavior using at least one of the causal strength index matrix or the causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors. The processing device further causes a recommended correction action to be issued based on the root cause of the abnormal behavior.
[0007] Further aspects of the present disclosure include a method comprising the step of generating a product knowledge causal graph based on causal relationships between a plurality of sensors in one or more manufacturing systems, part data of a plurality of parts of the manufacturing system—each of the plurality of parts corresponds to at least one of the plurality of sensors—and equipment constant data of a plurality of equipment constants of the manufacturing system—equipment constant data corresponds to at least one of the plurality of sensors. The method further comprises the step of determining a causal strength index matrix. The method further comprises the step of determining the root cause of the abnormal behavior using at least one of the causal strength index matrix or the product knowledge causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors. The method further comprises the step of identifying at least one corrective action for the abnormal behavior based on at least a subset of part data corresponding to the root cause of the abnormal behavior, or a subset of equipment constant data corresponding to the root cause of the abnormal behavior.
[0008] Further embodiments of the present disclosure include a non-transient computer-readable storage medium storing instructions that cause a processing device to perform operations when executed. The operations include generating a product knowledge causal graph based on causal relationships between a plurality of sensors in one or more manufacturing systems, part data of a plurality of parts of the manufacturing system—each of the plurality of parts corresponds to at least one of the plurality of sensors—and equipment constant data of a plurality of equipment constants of the manufacturing system—equipment constant data corresponds to at least one of the plurality of sensors. The operations further include determining a causal strength index matrix. The operations further include determining the root cause of the abnormal behavior using at least one of the causal strength index matrix or the product knowledge causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors. The operations further include identifying at least one corrective action for the abnormal behavior based on at least a subset of part data corresponding to the root cause of the abnormal behavior, or a subset of equipment constant data corresponding to the root cause of the abnormal behavior.
[0009] Further embodiments of the present disclosure include a system comprising a memory and a processing device coupled to the memory. The processing device generates a product knowledge causal graph based on causal relationships between a plurality of sensors in one or more manufacturing systems, part data of a plurality of parts of the manufacturing system—each of the plurality of parts corresponds to at least one of the plurality of sensors—and equipment constant data of a plurality of equipment constants of the manufacturing system—the equipment constant data corresponds to at least one of the plurality of sensors. The processing device further determines a causal strength index matrix. The processing device further determines the root cause of the abnormal behavior using at least one of the causal strength index matrix or the product knowledge causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors. The processing device further identifies at least one corrective action for the abnormal behavior based on at least a subset of part data corresponding to the root cause of the abnormal behavior, or a subset of equipment constant data corresponding to the root cause of the abnormal behavior. Brief explanation of the drawing
[0010] The present disclosure is illustrated in the accompanying drawings as an example, not as a limitation. FIG. 1 is a block diagram illustrating an exemplary system architecture according to some embodiments. FIG. 2a illustrates a data set generator associated with determining the weights of directional edges according to some embodiments. FIG. 2b illustrates a data set generator associated with determining correction actions and root causes for manufacturing systems according to some embodiments. FIG. 3 is a block diagram illustrating the determination of prediction data according to some embodiments. FIG. 4 is a directed acyclic graph (DAG) according to some embodiments. FIGS. 5a-5c are flowcharts of methods related to determining the causality of directional edges and determining weights according to some embodiments. Figure 6 is a graph of product knowledge causation according to some embodiments. FIGS. 7a through 7d are flowcharts of methods associated with determining correction actions and root causes for manufacturing systems according to some embodiments. FIG. 8 is a block diagram illustrating a computer system according to specific embodiments. Specific details for implementing the invention
[0011] This specification describes techniques for determining causality (e.g., in semiconductor manufacturing systems) and determining corrective actions and root causes for semiconductor manufacturing systems.
[0012] Semiconductor manufacturing systems are complex and require careful monitoring to maintain performance. However, traditional statistical, empirical, and machine learning methods for tracing root causes and determining system health typically provide only correlations, rather than causal information. Consequently, inaccurate sensors or subsystems are often assigned as root cause(s) for abnormal sensors and / or degraded system performance, leading to misguided correction actions and increased downtime and costs. Furthermore, traditional methods for root cause tracing and correction action determination may only consider correction actions related to the sensor nodes of the semiconductor manufacturing system. Many components of the semiconductor manufacturing system related to the sensor nodes (including component specifications and quality data) and equipment constants may not be considered when determining the root cause and appropriate correction action. As a result, inaccurate root causes and / or ineffective correction actions for abnormal sensors may be determined, leading to increased downtime and costs.
[0013] Current solutions for defining relationships between variables (e.g., sensors and / or sensor data) in manufacturing systems are correlation-based. This is because it is easier to discover correlations than to find and verify causes. Identifying and verifying causes often requires specialized knowledge of semiconductor manufacturing. Additionally, correlations can be misleading, as demonstrated by, for example, Simpson's paradox. This paradox occurs when trends appear in different data groups but disappear or reverse when the groups are combined. Current solutions do not capture directed causal relationships between nodes (e.g., sensors), and the weights through which they learn these causal relationships are often unstable, inaccurate, and possess high bias or variance.
[0014] Current solutions for determining root causes and corrective actions do not consider product data (e.g., component data and / or equipment constant data). Product data can be difficult to incorporate into semiconductor manufacturing system models based solely on sensor nodes. Identifying and verifying the relationship between product data and the system's sensor nodes often requires specialized knowledge of semiconductor manufacturing. Consequently, current solutions do not determine accurate root causes and effective corrective actions (e.g., those related to product data).
[0015] Aspects and implementations of the present disclosure address these and other disadvantages of the prior art by performing causal determinations in manufacturing systems (e.g., based on sensor nodes and product data) and using causality to determine corrective actions of manufacturing systems (e.g., semiconductor manufacturing systems). In some embodiments, a causal graph (e.g., a directed acyclic graph (DAG)) may be generated using, for example, Granger causality. The causal graph can represent causal relationships between sensors within a manufacturing system, which enables the diagnosis of the cause of an abnormal sensor. An abnormal sensor is a sensor and / or measurement tool collecting abnormal data (e.g., measurements outside the expected or normal range for a specific parameter). The causal graph can enable accurate root cause analysis (e.g., multiple ranked root causes), the issuance of effective corrective actions (e.g., multiple ranked corrective actions), and system health factor index functionality.
[0016] The ability to capture directional causal relationships between variables (e.g., sensors and / or sensor data in a semiconductor manufacturing system) enhances statistical, empirical, and machine learning methods for determining relationships between variables that provide only corollary information rather than causal information in isolation. Furthermore, the ability to integrate product data (e.g., component data and equipment constant data) into directional causal relationships between variables improves the accuracy and validity of determining root causes and corrective actions. In some embodiments, sensors and / or sensor data in a manufacturing system (e.g., sensor values, measured values, etc.) are represented as variables due to potential interconnections and causal relationships. Changes in one sensor (e.g., sensor measurements) are often correlated with changes in other sensors, indicating potential cause-and-effect relationships. For example, an increased temperature detected by a temperature sensor may cause an increase in pressure detected by a pressure sensor. Causal connections between variables (e.g., sensors, sensor data, sensor values, etc.) can demonstrate how the variability of sensor measurements directly affects the behavior and dynamics of a manufacturing system. In these causal relationships, one sensor may be a leading indicator (driver) that causes and / or influences changes in another sensor. Determining causal relationships between variables makes the present disclosure more accurate and efficient, leading to reduced downtime and costs.
[0017] Sensors within a manufacturing system can be associated with various parts (e.g., components). Sensors can be monitored to ensure the proper functioning of the components within the manufacturing system. For example, the detection of an abnormal sensor in a manufacturing system (e.g., a sensor collecting measurements outside the expected or normal range for a specific parameter) may indicate a problem with a specific component, such as a malfunctioning RF cable. Sensors within a manufacturing system are associated with equipment constants (e.g., system constants). For example, the detection of an abnormal sensor in a manufacturing system may be attributed to faulty equipment constants or settings, such as monitor timeout values requiring adjustment. These associations can help facilitate the smooth operation of the manufacturing system by identifying issues (e.g., root causes), maintaining process integrity, and enabling timely maintenance or replacement of faulty components (e.g., corrective actions). Sensors in a manufacturing system can be represented by product knowledge causal graphs and causal strength index matrices. Integrating component data and equipment constant data into the causal structure of sensors improves accuracy and efficiency, leading to reduced downtime and costs.
[0018] In some embodiments, components and / or equipment constants within a manufacturing system may be represented as variables of a semiconductor manufacturing system due to interconnections and causal relationships that may appear between products (e.g., components and equipment constants) and sensors. Changes in a component or equipment constant are often correlated with changes in sensors (e.g., a changed or damaged component may trigger a change in a sensor), representing a potential cause-and-effect relationship.
[0019] 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 may be a directed acyclic graph (DAG). The processing device can generate the DAG by combining a causal strength index matrix and cause-and-effect interdependencies from user input. The manufacturing systems may be, for example, wafer manufacturing systems (e.g., semiconductor manufacturing systems), and the sensors may monitor parameters of the wafer manufacturing systems.
[0020] A DAG may include directional edges having nodes and weights corresponding to sensors in a manufacturing system. The weights may be determined using a structural causal model. The structural causal model may be a machine learning model trained using past sensor data and the target output of past causality data (e.g., weight data) to predict the weights of the directional edges.
[0021] The processing device may additionally assign a criticality value to each of the sensors in the manufacturing system. The criticality value may be a numerical value representing the sensor's criticality for the system. The processing device may additionally assign a system health factor index value to the manufacturing system.
[0022] Aspects of the present disclosure yield technical advantages. In particular, the aspects of the present disclosure provide the ability to capture directional causal relationships between nodes (e.g., sensors in a wafer manufacturing system), thereby improving the use of traditional statistical, empirical, and machine learning-based relationship determinations between variables by providing causes instead of correlations. The aspects of the present disclosure capture directional causal relationships between variables (e.g., sensors, sensor values, sensor data, etc.) so that the strength and direction of these relationships are learned accurately and without excessive sensitivity to changes in data. Consequently, the weights of the learned causal relationships are more stable, accurate, and have lower bias and / or variance. The aspects of the present disclosure provide more accurate and efficient root cause analysis because causal relationships, including part data and equipment constant data, are used to determine root causes (instead of correlations), which leads to reduced downtime and costs (e.g., parts replacement, installation costs, etc.). Consequently, sensors or subsystems are accurately identified as the root cause(s) of degraded system performance, leading to effective corrective actions related to components or equipment constants, resulting in reduced downtime and costs. Aspects of the present disclosure provide a system health factor index to reduce misguided troubleshooting.
[0023] FIG. 1 is a block diagram illustrating an exemplary system (100) (exemplary system architecture) according to specific embodiments. The system (100) (e.g., through a correction action component (122) and / or a prediction component (114)) may perform the methods described herein (e.g., the methods of FIG. 5a-5c (500A-C) and the methods of FIG. 7a-7d (700A-D)). The system (100) includes a client device (120), manufacturing equipment (124), sensors (126), measuring equipment (128), a prediction server (112), and a data storage (140). In some embodiments, the prediction server (112) is part of the prediction system (110). In some embodiments, the prediction system (110) further includes server machines (170 and 180). In some embodiments, the manufacturing equipment may include parts (125) and equipment constants (127).
[0024] In some embodiments, one or more of a client device (120), manufacturing equipment (124), sensors (126), measuring equipment (128), a prediction server (112), a data storage (140), a server machine (170), and / or a server machine (180) are combined through a network (130) to generate prediction data (160) for performing residual-based control of film deposition parameters during substrate manufacturing. In some embodiments, the network (130) is a public network that provides the client device (120) with access to the prediction server (112), the data storage (140), and other publicly available computing devices. In some embodiments, the network (130) is a private network that provides the client device (120) with access to the manufacturing equipment (124), sensors (126), measuring equipment (128), the data storage (140), and other privately available computing devices. In some embodiments, the network (130) includes one or more wide area networks (WAN), local area networks (LAN), 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.
[0025] In some embodiments, the client device (120) includes a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a netbook computer, etc. In some embodiments, the 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., instead of being included in the client device (120)). The client device (120) includes an operating system that allows users to perform one or more of the following: integrating, creating, viewing, or editing data, providing instructions to the prediction system (110) (e.g., a machine learning processing system).
[0026] In some embodiments, the calibration action component (122) receives one or more of user input (e.g., through a graphical user interface (GUI) displayed through a client device (120)), sensor data (142), causality data (172), performance data (152), recommendation data (132), part data (145), equipment constant data (147), etc. In some embodiments, the sensor data (142) may be data collected by sensors (126), measuring equipment (128), etc. In some embodiments, the part data (145) may include a certificate of acceptance. In some embodiments, the correction action component (122) transmits data (e.g., user input, sensor data (142), performance data (152), causality data (172), part data (145), equipment constant data (147), recommendation data (132), etc.) to the prediction system (110), receives prediction data (160) from the prediction system (110), determines a recommended correction action based on the prediction data (160), issues the recommended correction action, and / or enables the correction action to be implemented. In some embodiments, the correction action component (122) transmits data (e.g., user input, sensor data (142), performance data (152), causality data (172), etc.) to the prediction system (110), receives prediction data (160) from the prediction system (110), determines a number of ranked recommended correction actions based on the prediction data (160), issues the ranked recommended correction actions and / or enables the selected correction action to be implemented.
[0027] In some embodiments, the correction action component (122) stores data (e.g., user input, sensor data (142), performance data (152), causality data (172), recommendation data (132), part data (145), equipment constant data (147), etc.) in a data store (140), and the prediction server (112) retrieves data from the data store (140). In some embodiments, the prediction server (112) stores the output of a trained machine learning model (190) (e.g., prediction data (160)) in the data store (140), and the client device (120) retrieves the output from the data store (140). In some embodiments, the correction action component (122) receives an indication of recommended correction action(s) from the prediction system (110) (e.g., based on the prediction data (160)) and causes the issuance of the recommended correction action(s) and / or the execution of the correction action(s).
[0028] The manufacturing equipment (124) may produce products such as substrates, wafers, semiconductors, electronic devices, etc. by following a recipe or performing runs for a certain period. The manufacturing equipment (124) may include processing chambers. Processing chambers may be adapted to perform any number of processes on substrates. Identical or different substrate processing operations may occur in each processing chamber or substrate processing area. Processing chambers may include one or more sensors (e.g., sensors (126)) configured to capture data about the chamber and / or substrate before, after, or during the substrate processing operation. In some embodiments, one or more sensors may be configured to capture data related to the environment within the processing chamber before, after, or during the substrate processing operation. For example, one or more sensors may be configured to capture pressure data, temperature data, radio frequency (RF) power data, arcing data, gas concentration data, and / or similar data during the substrate processing operation.
[0029] In some embodiments, high sampling rates and individual subsystem recipes (e.g., special recipes) may be used to generate a causal knowledge graph (e.g., DAG). Special recipes (e.g., macros) may aid in learning causal graphs. In some embodiments, the processing device may use special recipes to detect cause-and-effect relationships within a subsystem or to detect cause-and-effect relationships across subsystems. In some embodiments, the processing device changes a single parameter. In some embodiments, the change may be a step-change or a ramped-change. In some embodiments, the processing device may induce a sinusoid (Bode engine). In some embodiments, changes are made to a single parameter or setpoint. In some embodiments, multiple parameters or setpoints may be changed simultaneously. In some embodiments, the sampling rates (the true sampling rates of the sensor) are high sampling rates. In some embodiments, the true sampling rate data may be downsampled. In some embodiments, true sampling rate data may be upsampled.
[0030] In some embodiments, the processing chamber may include a measuring device (e.g., measuring device (128)) and / or sensors (e.g., sensors (126)) configured to generate in-situ measuring values (e.g., measuring data) and / or sensor measuring values (e.g., sensor data) during a process performed in the processing chamber. In some embodiments, the measuring device (128) may be a subset of the sensors (126) and may be included as part of the manufacturing equipment (124). In some embodiments, the measuring values and / or sensor measuring values may be a subset of the sensor data (142) and / or performance data (152). The measuring device and / or sensors may be operably coupled to a system controller. In some embodiments, the sensors may be configured to generate sensor measuring values (e.g., temperature) for the processing chamber during specific instances of the wafer manufacturing process.
[0031] The manufacturing equipment (124) can perform a process on a substrate (e.g., a wafer) in a processing chamber. The manufacturing equipment (124) may include components (125) and equipment constants (127). Examples of substrate processes include a deposition process for depositing one or more layers of film on the surface of a substrate, an etching process for forming a pattern on the surface of a substrate, etc. The 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 a temperature setting for the processing chamber, a pressure setting for the processing chamber, a flow rate setting for a precursor for the material contained in the film deposited on the surface of the substrate, etc.
[0032] In some embodiments, the manufacturing equipment (124) includes sensors (126) configured to generate data associated with the manufacturing system (100). For example, the processing chamber may include one or more of a temperature sensor, a pressure sensor, a flow sensor, an optical sensor, a position sensor, a gas sensor, a humidity sensor, an RF power sensor, a vibration sensor, an electric sensor, an ionization sensor, a radiation sensor, and / or similar sensors. Such sensors may be configured to generate one or more of a temperature measurement, pressure measurement, flow measurement, optical measurement, position measurement, gas measurement, humidity measurement, RF power measurement, vibration measurement, electric measurement, and / or similar sensors associated with the processing chamber and / or substrate before, during, and / or after a process (e.g., a deposition process).
[0033] In some embodiments, the manufacturing equipment (124) includes a metrology device (128) configured to generate data associated with the manufacturing system (100) and / or substrates produced by the manufacturing system (100). For example, the processing chamber may include one or more of an optical emission spectroscopy tool, an X-ray fluorescence (XRF) tool, an energy dispersive X-ray spectroscopy (EDS) tool, and / or similar tools. Such metrology device may be configured to generate one or more of spatial measurements, dimensional measurements, optical measurements, positional measurements, spectral measurements, radiative measurements, and / or similar tools associated with the substrate before, during, and / or after the manufacturing process.
[0034] In some embodiments, the prediction server (112), server machine (170) and server machine (180) each include one or more computing devices, such as a rackmount server, router computer, server computer, personal computer, mainframe computer, laptop computer, tablet computer, desktop computer, graphics processing unit (GPU), accelerator application-specific integrated circuit (ASIC) (e.g., tensor processing unit (TPU)), etc.
[0035] The prediction server (112) includes a prediction component (114). In some embodiments, the prediction component (114) identifies sensor data (142) (e.g., sensor values, predicted sensor values, measurement data, etc.), part data (145), and / or equipment constant data (147) (e.g., received from a client device (120), retrieved from a data store (140)) and generates prediction data (160) associated with the recommendation of one or more correction actions (e.g., cleaning, maintenance, tool shutdown, repair, calibration, updating of recipes, updating of operation parameters, updating of process operation parameters, etc.). In some embodiments, the prediction component ranks the recommended correction actions based on the corresponding severity value of the corresponding root cause (e.g., ranked root cause).
[0036] In some embodiments, the prediction component (114) determines the prediction data (160) using one or more trained machine learning models (190). In some embodiments, the trained machine learning model (190) is trained using historical sensor data (144) (including historical measurement data) and historical causality data (174) (e.g., historical weight data). In some embodiments, the prediction system (110) (e.g., prediction server (112), prediction component (114)) generates the prediction data (160) using supervised machine learning (e.g., a supervised data set, historical sensor data (144) labeled with historical causality data (174), etc.). In some embodiments, the prediction system (110) generates the prediction data (160) using semi-supervised learning (e.g., a semi-supervised data set, causality data (172) being a prediction percentage, etc.). In some embodiments, the prediction system (110) generates prediction data (160) using non-supervised machine learning (e.g., non-supervised dataset, clustering, clustering based on historical sensor data (144)).
[0037] In some embodiments, manufacturing equipment (124) (e.g., deposition chamber, cluster tool, wafer backgrind systems, wafer saw equipment, die attachment machines, wire bonders, die overcoat systems, molding equipment and / or similar) is part of a substrate processing system (e.g., wafer manufacturing system, integrated processing system, etc.).
[0038] In some embodiments, the manufacturing equipment (124) may include various interconnected parts (125) (e.g., components). The manufacturing equipment (124) including the parts (125) may assist in the manufacturing of semiconductor devices. Individual parts within the manufacturing system may benefit from complying with specific specifications and requirements to ensure manufacturing quality and consistency. In some embodiments, sensors (126) may continuously monitor the 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 the sensors (126) and / or the parts (125). Equipment constants (127) can determine how the manufacturing equipment (124) and / or parts (125) function, which affects the data collected by the sensors (126), and potentially leads to abnormal sensors when the equipment constants (127) are incorrectly calibrated or incorrectly configured. Properly configuring and maintaining these constants benefits the performance of the manufacturing equipment (124) and / or parts (125), helping to achieve consistency, efficiency, and product quality in semiconductor manufacturing.
[0039] The components (125) may include etchers, deposition tools, diffusion furnaces, rapid thermal annealers (RTA), photolithography equipment, vacuum pumps, gas cabinets, gas lines, temperature controllers, heaters and coolers, pressure controllers, pressure relief valves, RF generators, source matches, RF cables, waveguides, antennas, spectrometers, spectrographs, fiber optic cables, laser sources, photodetectors, robotic arms, particle counters, temperature control units, chemical exhaust systems, chemical supply systems, electrical panels, power distribution units, exhaust and ventilation equipment, and / or one or more similar items.
[0040] The equipment constants (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, geometry and positioning constants, and / or similar ones. For example, equipment constants (127) include RF analyzer timeout, monitor timeout, tool timeout, RF analyzer stabilization time, equipment warm-up time, stabilization time, check tolerance, check limit, reference check limit, intensity defect limit, voltage tolerance, trigger threshold, trigger delay, trigger hysteresis, calibration coefficients, compensation values, offset corrections, gain control, bias voltage, frequency offset, phase offset, power level settings, bandwidth, cutoff frequency, filter order, sampling rate, integration time, measurement resolution, emergency shutdown threshold, overheating protection limit, safety interlock settings, data transfer rate, baud rate, communication protocol settings, reference voltage, reference current, reference temperature, temperature coefficient, temperature compensation coefficients, clock 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 coefficients, lens distortion It may include more than one of the corrections, etc.
[0041] The manufacturing equipment (124) includes one or more of a controller, an enclosure system (e.g., a substrate carrier, a front opening unified pod (FOUP), an autoteach FOUP, a process kit enclosure system, a substrate enclosure system, a cassette, etc.), a side storage pod (SSP), an aligner device (e.g., an aligner chamber), a factory interface (e.g., an equipment front end module (EFEM)), a load lock, a transfer chamber, one or more processing chambers, a robot arm (e.g., placed in the transfer chamber, placed in the front interface, etc.), and / or similar items. In some embodiments, the manufacturing equipment (124) includes components of substrate processing systems. In some embodiments, sensor data (142) (including measurement data) of a processing chamber or substrate is the result of the processing chamber or substrate undergoing one or more processes (e.g., deposition, etching, heating, cooling, transfer, processing, flow, etc.) performed by components of the manufacturing equipment (124).
[0042] In some embodiments, the sensors (126) provide sensor data (142) of a substrate processed by a processing chamber or manufacturing equipment (124) (e.g., sensor values such as past sensor values and current sensor values).
[0043] In some embodiments, the sensors (126) include ellipsometers (used to determine the properties and surfaces of thin films by measuring material properties such as layer thickness, optical constants, surface roughness, composition, and optical anisotropy), ion mills (used to prepare heterogeneous bulk materials when large areas of material need to be uniformly thin), voltage-to-capacitance (CV) systems (used to measure the CV and time-to-capacitance (Ct) properties of semiconductor devices), interferometers (used to measure distances in units of wavelength and to determine the wavelengths of specific light sources), source measurement units (SMEs), magnetometers, optical and imaging systems, profilometers, wafer probes (used to test semiconductor wafers before they are separated into individual dies or chips), imaging stations, critical dimension scanning electron microscopes (CD-SEM, used to ensure the stability of the manufacturing process by measuring the critical dimensions of substrates), reflectometers (used to measure reflectance and radiance from the surface), It includes one or more metrology tools such as resistive probes (used to measure the resistivity of thin films), resistive 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 clearly determine the crystal structure, crystal orientation, film thickness, and residual stress in silicon wafers, epitaxial films, or other substrates), and / or similar tools.
[0044] In some embodiments, sensor data (142) is used for equipment health, system health (e.g., system health factor index), and / or product health (e.g., product quality). In some embodiments, sensor data (142) is received over a period of time.
[0045] In some embodiments, the sensors (126) and / or the measuring equipment (128) provide sensor data (142) comprising one or more of morphology data, size characteristic data, dimensional characteristic data, image data, scanning electron microscope (SEM) images, energy dispersive x-ray (EDX) images, defect distribution data, spatial location data, elemental analysis data, wafer signature data, chip layer, chip layout data, edge data, gray level data, signal-to-noise data, temperature data, spacing data, current data, power data, voltage data, and / or similar. In some embodiments, the sensor data comprises morphology data, size characteristic data, dimensional characteristic data, SEM images, EDX images, defect distribution data, chip layout data, gray level data, signal-to-noise data, and / or similar.
[0046] In some embodiments, sensor data (142) (e.g., past sensor data (144), current sensor data (146), etc.) is processed (e.g., by a client device (120) and / or by a prediction server (112). In some embodiments, processing of the sensor data (142) includes generating features. In some embodiments, the features are patterns within the sensor data (142) (e.g., slope, width, height, peak, etc.) or combinations of values from the sensor data (142) (e.g., power derived from voltage and current, etc.). In some embodiments, the sensor data (142) includes features used by the prediction component (114) to obtain prediction data (160).
[0047] In some embodiments, the measuring equipment (128) is used to determine measuring data corresponding to the interior of the processing chamber (e.g., surfaces) or substrates produced by the manufacturing equipment (124) (e.g., substrate processing equipment). In some embodiments, after the manufacturing equipment (124) processes the substrates, the measuring equipment (128) is used to inspect parts of the substrates (e.g., layers) and / or the interior of the processing chamber. In some embodiments, the measuring equipment (128) performs scanning acoustic microscopy (SAM), ultrasonic examination, X-ray examination, and / or computed tomography (CT) examination. In some embodiments, sensor data (142) includes sensor data from sensors (126) and / or measuring data from the measuring equipment (128). The sensor data (142) may include sensor data from sensors (126), and the causality data (172) may be based on the sensor data (142) from the sensors (126). Sensor data (142) may include sensor data from a first subset of sensors (126), and causality data (172) may be based on sensor data (142) from a second subset of sensors (126).
[0048] In some embodiments, causality data (172) may be associated with a causal relationship between a pair of sensors among the sensors (126). For example, causality data (172) may be sensor data of processing chambers or substrates that have undergone the recipe and / or processing operations of the recipe. In some embodiments, causality data may include a severity value corresponding to a rank of the root cause indicating the acuteness of the root cause in relation to the root cause for the abnormal sensor.
[0049] In some embodiments, sensor data (142) may be derived from sensor data and / or measurement data. Sensor data may be data describing conditions and characteristics inside the processing chamber. Measurement data may be a subset of sensor data and may describe conditions and characteristics inside the processing chamber as well as conditions and characteristics of the substrate.
[0050] In some embodiments, the recommendation data (132) may be associated with recommended correction actions (e.g., proposed actions for correcting abnormal behavior of manufacturing equipment (124), parts (125), etc.) and / or root causes of abnormal sensors in the manufacturing system (e.g., used for root cause tracing). In some embodiments, the recommendation data (132) is provided by a processing device using a trained machine learning model (e.g., model (190)). In some embodiments, the model (190) determines one or more root causes of abnormal behavior (e.g., using causality data (172)). In some embodiments, the model (190) determines the recommendation data (132) and identifies one or more correction actions for correcting abnormal behavior using causality data (172) (e.g., product knowledge causality graph, causality strength index matrix, etc.).
[0051] In some embodiments, recommendation data may be associated with causality data. For example, a recommended correction action may be issued based on the root cause of abnormal behavior, and the root cause is determined based on causality data (e.g., using a product knowledge causality graph). In some embodiments, the product knowledge causality graph and / or causality strength index matrix may include indications of abnormal sensors / nodes within the product knowledge causality graph and / or causality strength index matrix for root cause tracing and correction action identification. For example, when abnormal behavior is detected at at least one of a plurality of nodes (sensors) of the product knowledge causality graph, the abnormal nodes may be flagged as abnormal. Next, the product knowledge causality graph (e.g., having flagged nodes) may be given 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 correction action (e.g., for abnormal behavior). A more detailed description of the methods used to detect abnormal behavior in a manufacturing system will be given later.
[0052] In some embodiments, performance data (152) may be associated with a system health factor index of the 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 the health factor index values of the processing chambers or the entire system (100). In some embodiments, performance data (152) may be derived from sensor data (142) of the sensors (126), measurement data of the measurement equipment (128), and causality data (172).
[0053] In some embodiments, the data storage (140) is memory (e.g., random access memory), a drive (e.g., a hard drive, a flash drive), a database system, or other type of component or device capable of storing data. In some embodiments, the data storage (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 (140) stores one or more of sensor data (142) (including measurement data), performance data (152) (e.g., system health factor index values), causality data (172), recommendation data (132), part data (145), equipment constant data (147), and / or prediction data (160).
[0054] Causality data (172) may include weight data (e.g., strength of causal relationship between two or more variables, weight values of directed edges of a DAG, etc.), causality strength index matrix value data, causal graph data (e.g., causal graph structure data, node threshold data, etc.), DAG data (e.g., DAG structure data, node threshold data, etc.), importance data (e.g., importance values of DAG nodes), threshold data (e.g., threshold data of DAG nodes), severity data (e.g., severity of causal relationship between two or more variables / nodes), causality strength index data, etc.
[0055] In some embodiments, the prediction data (160) is involved in determining causality data (172), severity data, and / or weight data (e.g., weight values of causal relationships, weights of directional edges, etc.). In some embodiments, the weight data is involved in one or more of the following: training a machine learning model using a causality strength index matrix, a causality graph, data inputs including historical sensor values and a target output including historical causality data; using the trained machine learning model to receive outputs associated with the prediction data; determining weights of directional edges; determining weight data; machine learning modifications; and / or similar methods.
[0056] In some embodiments, the data storage (140) may be configured to store data that is not accessible to the user of the manufacturing system. For example, process data, spectrum data, context data, etc., acquired for a substrate being processed in the manufacturing system and / or a substrate being processed in the manufacturing system are not accessible to the user of the manufacturing system (e.g., operator). In some embodiments, all data stored in the data storage (140) may not be accessible to the user of the manufacturing system. In some embodiments, some of the data stored in the data storage (140) may not be accessible to the user, while other parts of the data stored in the data storage (140) may be accessible to the user. In some embodiments, one or more parts of the data stored in the 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, the data storage (140) may include a plurality of data storages, wherein data that is not accessible to the user is stored in one or more first data storages, and data that is accessible to the user is stored in one or more second data storages.
[0057] Sensor data (142) includes past sensor data (144) and current sensor data (146). In some embodiments, sensor data (142) (e.g., sensor data) may include RF power of a substrate processing operation, interval value of a substrate processing operation, gas flow value of a substrate processing operation, pressure data, temperature data, power data, and similar values. Sensor data (142) may further include temperature values, pressure values, flow values, optical values, humidity values, RF power values, electrical values, radiation values, and similar values. In some embodiments, at least part of the sensor data (142) is from sensors (126).
[0058] In some embodiments, the sensor data (142) includes measurement data collected by the measuring equipment (128). For example, optical emission spectroscopy (OES) is measured using an OES tool, and OES can be measured for both the chamber and / or the substrate within the manufacturing system.
[0059] Performance data (152) includes past performance data (154) and current performance data (156). Performance data (152) may represent system health factor index values. For example, system health factor index values may be calculated based on the number of abnormal sensors detected in the manufacturing system and the corresponding threshold values of the abnormal sensors, and are normalized using weights of multiple directional edges corresponding to the abnormal sensors.
[0060] In some embodiments, an abnormal sensor is a sensor and / or measurement tool that collects abnormal data (e.g., measurements outside the expected or normal range for a specific parameter). A system health factor index value indicates the health of the system. In some embodiments, a high system health factor index means that the system is relatively healthy, and a low system health factor index means that the system is not healthy. In some embodiments, when a high system health factor index value indicates that the system is healthy, a recommended correction action may not be issued for the detected abnormal sensor or sensors. This is because the causal consequences of such abnormal sensors do not have sufficient weight (e.g., strong causal consequences for the system outputs), and therefore a recommended correction action is not required. In some embodiments, such sensors may have a low threshold.
[0061] Meanwhile, when abnormal sensors have higher weights and have a greater impact on the system outputs, the system health factor index value may be lower (e.g., the system is not healthy). Under such circumstances, a low system health factor index value will cause a recommended correction action to be issued. In some embodiments, this is because the abnormal sensors have a high threshold (e.g., because they significantly impact the system outputs). In some embodiments, the system health factor index may be a percentage value. As the value approaches 100%, the system operates in a more matched and expected state.
[0062] In some embodiments, past data includes one or more of past sensor data (144) and / or past causality data (174) (e.g., at least a portion for training a machine learning model (190)). Current data includes one or more of current sensor data (146) and / or current causality data (176) (e.g., at least a portion to be input into the trained machine learning model (190) after training the model (190) using past data). In some embodiments, current data is used to retrain the trained machine learning model (190).
[0063] Causality data (172) includes past causality data (174) and current causality data (176). Causality data (172) may indicate whether a change in a first variable (e.g., a change detected by a sensor leading to a change in sensor data) causes a change in a second variable, the strength of the causal relationship (e.g., weight), and the direction of the causal relationship (e.g., X causes Y, but Y does not cause X). Causality data (172) may indicate relationships found between variables of a manufacturing system using at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directional coherence, linear and non-linear conditional independence tests, or similar methods. In some embodiments, if it can be demonstrated through a series of tests on the lag values of X (e.g., such X values provide statistically significant information regarding future values of Y), the time series X is said to Granger causate Y. In some embodiments, the transfer entropy from process X to another process Y is the amount of uncertainty in future values of Y reduced by knowing the past values of X, given the past values of Y. In some embodiments, the causality test can determine which transferred power causes reflected power, for example, as expected by a subject matter expert.
[0064] In some embodiments, causality data (172) includes product knowledge causal graphs (e.g., product knowledge causal graph (600) of FIG. 6) and / or causality strength index matrices. In some embodiments, the causal graphs (e.g., product knowledge causal graphs) and / or causality strength index matrices include abnormal sensors / nodes within the causal graphs and / or indications of the causality strength index matrices (e.g., for root cause tracing and correction action identification). For example, when abnormal behavior is detected in at least one of a plurality of sensors, the node representing the sensor may be flagged anonymously, and the root cause of the abnormal behavior may be determined using the causality strength index matrix or the causal graph. A correction action for the abnormality may be identified based on at least a subset of component data corresponding to the root cause of the abnormal behavior or a subset of equipment constant data corresponding to the root cause of the abnormal behavior.
[0065] Recommendation data (132) may include indications such as recommended correction actions, root cause data (e.g., used to determine recommended correction actions).
[0066] In some embodiments, the prediction data (160) is involved in determining the recommendation data (132). In some embodiments, the recommendation data (132) is involved in one or more of the following: training a machine learning model using data inputs including recommended correction actions, root causes, and historical sensor values, and a target output including historical recommendation data; receiving an output associated with the prediction data using the trained machine learning model; determining recommended correction actions; determining root causes; machine learning corrections; and / or similar actions.
[0067] Part data (145) may include part specifications, part serial numbers, batch numbers, part numbers, country of origin, site number, manufacturing equipment data, component data, product data, approval 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 within a manufacturing system that remains constant and unchanging over time).
[0068] In some embodiments, part data may include numeric data (e.g., part specification data, values, etc.) and / or semantic data (e.g., text data included in an approval certificate). In some embodiments, the user may leave notes on the approval certificate. Such text data may include semantic data.
[0069] 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 not be adjustable and remain the same. In some embodiments, static data may be unchanging data or values and may be used as reference or configuration data (e.g., equipment constants in a manufacturing system that remain constant and unchanging over time). In some embodiments, equipment constant data may be dynamic data.
[0070] In some embodiments, past data includes one or more of past sensor data (144), past causality data (174), past recommendation data (134), and / or past performance data (154) (e.g., at least a portion for training a machine learning model (190)). Current data includes one or more of current sensor data (146), current causality data (176), current recommendation data (136), and / or current performance data (156) (e.g., at least a portion to be input into the trained machine learning model (190) after training the model (190) using past data). In some embodiments, current data is used to retrain the trained machine learning model (190).
[0071] In some embodiments, the prediction data (160) will be used to determine the weights of directional edges (e.g., directional edges of a DAG). In some embodiments, the prediction data (160) will be used to determine the root causes of abnormal sensors (e.g., in a product knowledge causation graph). In some embodiments, the prediction data (160) will be used to determine correction actions (e.g., for abnormal sensors in a product knowledge causation graph).
[0072] By providing sensor data (142) to the model (190), receiving prediction data (160) from the model (190), and determining the weights of directional edges based on the prediction data (160), the system (100) has the technical advantage of avoiding the cost, wasted time, wasted energy, wasted products, etc. of recommending misguided correction actions. Additionally, by providing causality data (172) to the model (190), receiving prediction data (160) from the model (190), and determining root causes and / or recommended correction actions based on the prediction data (160), the system (100) has the technical advantage of avoiding the cost, wasted time, wasted energy, wasted products, etc. of recommending misguided correction actions.
[0073] In some embodiments, the prediction system (110) further comprises a server machine (170) and a server machine (180). The server machine (170) comprises a data set generator (178) capable of generating data sets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing machine learning model(s) (190). The data set generator (178) has the functions of data collection, compilation, reduction, and / or splitting to make the data into a form suitable for machine learning. In some embodiments (e.g., for small data sets), splitting for training-post-validation (e.g., explicit splitting) is not used. Iterative cross-validation (e.g., 5-fold cross-validation, leave-one-out cross-validation) may be used during training, wherein a given data set is effectively and iteratively split into different training and validation sets during training. A model (e.g., the best model, the model with the highest accuracy, etc.) is selected from vectors of models for automatically-separated combinatoric subsets. In some embodiments, the data set generator (178) may explicitly partition historical data (e.g., historical sensor data (144) and corresponding historical causality data (174), historical causality data corresponding to historical recommendation data (134), etc.) into a training set (e.g., 60 percent of the historical data), a validation set (e.g., 20 percent of the historical data), and a test set (e.g., 20 percent of the historical data). Some operations of the data set generator (178) are described below in detail with respect to FIGS. 2a-2b according to some embodiments.In some embodiments, the prediction system (110) generates a plurality of sets of features (e.g., training features) (e.g., through the prediction component (114)).
[0074] The server machine (180) includes a training engine (182), a validation engine (184), a selection engine (185), and / or a test engine (186). In some embodiments, the engine (e.g., training engine (182), validation engine (184), selection engine (185), and test engine (186)) refers to hardware (e.g., circuits, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions executed on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine (182) can train a machine learning model (190) using one or more sets of features associated with a training set from a data set generator (178). In some embodiments, the training engine (182) generates a plurality of trained machine learning models (190), wherein each trained machine learning model (190) corresponds to a unique set of parameters of the training set (e.g., sensor data (142), causality data (172), etc.) and corresponding responses (e.g., causality data (172), recommendation data (132), etc.). In some embodiments, a plurality of models are trained on the same parameters with unique goals for the purpose of modeling a plurality of effects. In some examples, a first trained machine learning model is trained using sensor data (142) from all sensors (126) (e.g., sensors 1-5), a second trained machine learning model is trained using a first subset of sensor data (e.g., sensors 1, 2, and 4), and a third trained machine learning model is trained using a second subset of sensor data (e.g., from sensors 1, 3, 4, and 5) that partially overlaps with the first subset of features.
[0075] The validation engine (184) can validate the trained machine learning model (190) using a corresponding set of features of the validation set from the data set generator (178). For example, a first trained machine learning model (190) trained using a first set of features of the training set is validated using a first set of features of the validation set. The validation engine (184) determines the accuracy of each of the trained machine learning models (190) based on the corresponding set of features of the validation set. The validation engine (184) evaluates the trained machine learning models (190) that have an accuracy that does not meet the threshold accuracy and flags them (to be discarded). In some embodiments, the selection engine (185) can select one or more trained machine learning models (190) that have an accuracy that meets the threshold accuracy, or the model with the highest accuracy among the trained machine learning models (190).
[0076] The test engine (186) can test the trained machine learning model (190) using a corresponding set of features of the test set from the data set generator (178). For example, a first trained machine learning model (190) trained using a first set of features of the training set is tested using a first set of features of the test set. Based on the test sets, the test engine (186) determines the trained machine learning model (190) that has the highest accuracy among all trained machine learning models.
[0077] In some embodiments, a machine learning model (190) (e.g., used for classification) refers to a model artifact generated by a training engine (182) using a training set comprising data inputs and corresponding target outputs (e.g., correctly classifying a condition or ordinal level for each training input). Patterns in the data sets that map data inputs to target outputs (correct classification or level) may be found, and the machine learning model (190) is provided with mappings that capture these patterns. In some embodiments, the machine learning model (190) uses one or more of Gaussian Process Regression (GPR), Gaussian Process Classification (GPC), Bayesian neural networks, neural network Gaussian processes, Deep Belief Networks, Gaussian mixture models, or other stochastic learning methods. Non-stochastic methods including one or more of Support Vector Machines (SVM), Radial Basis Functions (RBF), clustering, nearest neighbor algorithms (k-NN), linear regression, random forests, and neural networks (e.g., artificial neural networks) may also be used. In some embodiments, the machine learning model (190) is a multivariate analysis (MVA) regression model.
[0078] The prediction component (114) provides current sensor data (146) to a trained machine learning model (190) (e.g., as input) and runs the trained machine learning model (190) (e.g., on the input to obtain one or more outputs). The prediction component (114) may determine (e.g., extract) prediction data (160) from the trained machine learning model (190) and determine (e.g., extract) uncertainty data representing a level of reliability corresponding to the current causality data (176) (e.g., weight data). In some embodiments, the prediction component (114) may determine prediction data (160) from the trained machine learning model (190) and determine uncertainty data representing a level of reliability corresponding to the current recommendation data (136) (e.g., root cause determination, recommended correction action, etc.). In some embodiments, the prediction component (114) or the correction action component (122) uses uncertainty data (e.g., an uncertainty function or a gain function derived from an uncertainty function) to determine whether to perform correction action(s) using the prediction data (160) or to further train the model (190).
[0079] For the sake of illustration rather than limitation, aspects of the present disclosure describe the training of one or more machine learning models (190) that use past data (e.g., previous data, past sensor data (144), past recommendation data (134), and past causality data (174)) to determine prediction data (160) and provide current data to one or more trained probabilistic machine learning models (190). In other embodiments, a heuristic model or a rule-based model is used to determine prediction data (160) (e.g., without using a trained machine learning model). In other embodiments, non-probabilistic machine learning models may be used. The prediction component (114) monitors past sensor data (144), past recommendation data (134), and past causality data (174). In some embodiments, any of the information described in relation to the data inputs (210A) of FIG. 2a and the data inputs (210B) of FIG. 2b is monitored in a heuristic or rule-based model or used in a different way.
[0080] In some embodiments, the functions of the client device (120), the prediction server (112), the server machine (170), and the server machine (180) may be provided by a smaller number of machines. For example, in some embodiments, the server machines (170 and 180) are integrated into a single machine, whereas in some other embodiments, the server machine (170), the server machine (180), and the prediction server (112) are integrated into a single machine. In some embodiments, the client device (120) and the prediction server (112) are integrated into a single machine.
[0081] Generally, the functions described as being performed by the client device (120), the prediction server (112), the server machine (170), and the server machine (180) in one embodiment may also be performed on the prediction server (112) in other embodiments where appropriate. Additionally, functionality attributed to a specific component may be performed by different or multiple components working together. For example, in some embodiments, the prediction server (112) determines correction actions based on prediction data (160). In other examples, the client device (120) determines prediction data (160) based on data received from a trained machine learning model. Additionally, the functions of a specific component may be performed by different or multiple components working together. In some embodiments, one or more of the prediction server (112), the server machine (170), or the server machine (180) are accessed as services provided to other systems or devices through a suitable application programming interface (API).
[0082] In some embodiments, "User" is represented as a single individual. However, other embodiments of the present disclosure encompass "User" as an entity controlled by multiple users and / or automated sources. In some examples, a set of individual users united as a group of administrators is considered as "User".
[0083] Embodiments of the present disclosure are discussed in relation to determining prediction data (160) associated with weights (e.g., weight data) of directional edges of a DAG, but in some embodiments, the present disclosure may also be applied to determining causal relationships between components of manufacturing systems in general. Embodiments may generally be applied to determining causal relationships based on different types of data. Additionally, while embodiments of the present disclosure are discussed in relation to determining prediction data (160) associated with recommended correction actions and / or root causes for abnormal sensors in manufacturing systems, embodiments may generally be applied to determining recommended correction actions and / or root causes based on different types of data in different types of systems.
[0084] FIGS. 2a-2b depict block diagrams of exemplary data set generators (292A-B) (e.g., data set generator (178) of FIG. 1) for generating data sets for training, testing, validating, etc. a model (e.g., model (190A-Z) of FIG. 1) according to some embodiments. Each data set generator (292A of FIG. 2a and / or 292B of FIG. 2b) may be part of the server machine (170) of FIG. 1. In some embodiments, multiple machine learning models associated with manufacturing equipment (124) may be trained, used, and maintained (e.g., within the manufacturing facility). Each machine learning model may be associated with one of the data set generators (292A-B), and multiple machine learning models may share a data set generator, etc.
[0085] FIG. 2a illustrates a dataset generator (292A) (e.g., the dataset generator (178) of FIG. 1) for generating datasets for a machine learning model (e.g., the model (190) of FIG. 1) according to specific embodiments (e.g., related to determining the weights of directional edges, methods (500A-C), etc.). In some embodiments, the dataset generator (292A) is part of the server machine (170) of FIG. 1. The datasets generated by the dataset generator (292A) of FIG. 2a can be used to train a machine learning model (e.g., see FIG. 5b) to determine the weights of directional edges of a DAG (e.g., see FIG. 5c).
[0086] In some embodiments, the data set generator (292A) may generate data sets for training, testing, and / or validating a generator model configured to determine the weights of the directional edges of a DAG. A set of historical sensor data (244A-Z) is provided to the machine learning model as a data input (210A). The machine learning model may be configured to accept sensor data as input data and generate causality data as output.
[0087] A data set generator (292A) (e.g., the data set generator (178) of FIG. 1) generates data sets for a machine learning model (e.g., the model (190) of FIG. 1). The data set generator (292A) generates data sets using historical sensor data (244A-Z) (e.g., historical sensor data (144) of FIG. 1) and historical causality data (274) (e.g., historical causality data (174) of FIG. 1). The system (200A) of FIG. 2a illustrates the data set generator (292A), data inputs (210A), and a target output (220A) (e.g., target data).
[0088] In some embodiments, the data set generator (292A) generates a data set (e.g., training set, validation set, test set) containing one or more data inputs (210A) (e.g., training input, validation input, test input). In some embodiments, the data set generator (292A) does not generate a target output (e.g., for unsupervised learning). In some embodiments, the data set generator generates one or more target outputs (220A) corresponding to the data inputs (210A) (e.g., for supervised learning). The data set may also include mapping data that maps the data inputs (210A) to the target outputs (220A). The data inputs (210A) are also referred to as "features," "characteristics," or "information." In some embodiments, a data set generator (292A) provides a data set to a training engine (182), a validation engine (184), or a test engine (186), where the data set is used to train, validate, or test a machine learning model (190) (e.g., related to determining the weights of directional edges, methods (500A-C), etc.).
[0089] In some embodiments, the data set generator (292A) generates data inputs (210A) and target outputs (220A). In some embodiments, the data inputs (210A) include one or more sets of historical sensor data (244) (e.g., chamber temperature values, chamber pressure values, etc.) (e.g., related to determining weights of directional edges, methods (500A-C), etc.). In some embodiments, the historical sensor data (244) includes one or more of 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, patterns from sensor data from one or more types of sensors and / or measuring equipment, and / or similar ones.
[0090] In some embodiments, a data set generator (292A) generates a first data input corresponding to a first set (244A) of historical sensor data to train, validate, or test a first machine learning model, and the data set generator (292A) generates a second data input corresponding to a second set (244B) of historical sensor data to train, validate, or test a second machine learning model (e.g., related to determining weights of directional edges, methods (500A-C), etc.).
[0091] In some embodiments, the data set generator (292A) discretizes (e.g., segments) one or more of the data input (210A) or the target output (220A) (e.g., for use in classification algorithms for regression problems). Discretization of the data input (210A) or the target output (220A) (e.g., segmentation through a sliding window) converts the continuous values of the variables into discrete values. In some embodiments, the discrete values for the data input (210A) represent discrete past sensor data (144) for obtaining the target output (220A) (e.g., discrete past causality data (174)).
[0092] Data inputs (210A) and target outputs (220A) for training, validating, or testing a machine learning model include information about a specific facility (e.g., a specific substrate manufacturing facility, a substrate manufacturing chamber, etc.). In some examples, historical sensor data (244) and historical causality data (274) are about the same manufacturing facility (e.g., related to determining the weights of directional edges, methods (500A-C), etc.).
[0093] In some embodiments, the information used to train the machine learning model is derived from manufacturing equipment (124) of a specific type of manufacturing facility having specific characteristics, and allows the trained machine learning model (e.g., determining weights of directional edges, associated with methods (500A-C), etc.) to determine performance for a specific group of manufacturing equipment (124) based on inputs for current parameters (e.g., current sensor data (146)) associated with one or more components sharing the characteristics of a specific group. In some embodiments, the information used to train the machine learning model is for components from two or more manufacturing facilities, and allows the trained machine learning model to determine performance for components based on inputs from a single manufacturing facility.
[0094] In some embodiments, following the generation of a data set and the use of the data set to train, validate, or test the machine learning model (190), the machine learning model (190) (e.g., determining the weights of directional edges, methods (500A-C), etc.) is further trained, validated, or tested (e.g., the current causal data (176) of FIG. 1) or adjusted (e.g., weights associated with the input data of the machine learning model (190), such as connection weights in a neural network).
[0095] A machine learning model processes inputs to generate outputs (e.g., determining the weights of directed edges, associated with methods (500A-C), etc.). An artificial neural network includes an input layer consisting of values within data points. The next layer is referred to as a hidden layer, and the nodes of the hidden layer each receive one or more of the input values. Each node includes parameters (e.g., weights) to apply to the input values. Thus, each node essentially inputs the input values into a multivariate function (e.g., a non-linear mathematical transformation) to generate an output value. The next layer may be another hidden layer or an output layer. In either case, the nodes of the next layer receive output values from the nodes of the previous layer, and each node applies weights to those values and then generates its own output value. This can be performed in each layer. The final layer is the output layer, where there is one node for each class, prediction, and / or output that the machine learning model can generate.
[0096] Accordingly, the output may include one or more predictions or inferences (e.g., determining the weights of directional edges, associated with methods (500A-C), etc.). For example, the output prediction or inference may include one or more weights of directional edges of the DAG, updated weights of directional edges of the DAG, predicted weights of directional edges of the DAG, etc. The processing logic determines an error (e.g., classification error) based on the differences between the output of the machine learning model (e.g., predictions or inferences) and the target labels associated with the input training data. The processing logic adjusts the weights of one or more nodes within the machine learning model based on the error. An error term or delta may be determined for each node within the artificial neural network. Based on this error, the artificial neural network adjusts one or more of its parameters (weights for one or more inputs of the node) for one or more of its nodes. The parameters may be updated in a backpropagation manner such that the nodes of the highest layer are updated first, and then the nodes of the next layer are updated. An artificial neural network comprises multiple layers of "neurons," each layer receiving input values from neurons of the previous layer. Parameters for each neuron include weights associated with the values received from each of the neurons of the previous layer. Therefore, adjusting the parameters may involve adjusting the weights assigned to each of the inputs to one or more neurons in one or more layers within the artificial neural network.
[0097] After one or more training rounds, the processing logic may determine whether a stopping criterion has been met. The stopping criterion may be a target level of accuracy, a target number of processed images from the training dataset, a target amount of change for parameters across one or more previous data points, a combination thereof, and / or other criteria. In some embodiments, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy is achieved. The threshold accuracy may be, for example, 70%, 80%, or 90% accuracy. In some embodiments, the stopping criterion is met when the accuracy of the machine learning model stops improving. If the stopping criterion is not met, additional training is performed. If the stopping criterion is met, training may be completed. Once the machine learning model is trained, a reserved portion of the training dataset may be used to test the model.
[0098] FIG. 2b illustrates a data set generator associated with determining correction actions and root causes for manufacturing systems according to some embodiments.
[0099] FIG. 2b illustrates a data set generator (292B) (e.g., the data set generator (178) of FIG. 1) for generating data sets for a machine learning model (e.g., the model (190) of FIG. 1) (related to determining corrective actions and root causes for manufacturing systems, methods (700A-D), etc.) according to specific embodiments. In some embodiments, the data set generator (292B) is part of the server machine (170) of FIG. 1. Data sets generated by the data set generator (292B) of FIG. 2b can be used to train a machine learning model (e.g., see FIG. 7b) to determine corrective actions for manufacturing systems (e.g., see FIG. 7c) based on causality data, product knowledge causal graphs, causality strength index matrices, etc.). Data sets generated by the data set generator (292B) of FIG. 2b can be used to train a machine learning model (e.g., FIG. 7b) to determine root causes for manufacturing systems (e.g., see FIG. 7d). (e.g., see FIG. 7b)
[0100] In some embodiments, the data set generator (292B) may generate data sets for training, testing, and / or validating a generator model configured to determine root causes and / or recommend corrective actions for manufacturing systems. The machine learning model is provided with sets of historical causality data (274A-Z) as data inputs (210B). The machine learning model may be configured to accept causality data as input data and generate recommendation data as output. In some embodiments, the machine learning model may be configured to accept sensor data (e.g., abnormal sensor data) and causality data as input data and generate root cause data as output.
[0101] A data set generator (292B) (e.g., the data set generator (178) of FIG. 1) generates data sets for a machine learning model (e.g., the model (190) of FIG. 1). The data set generator (292B) generates data sets using historical causality data (274) (e.g., the historical causality data (174) of FIG. 1) and historical recommendation data (234) (e.g., the historical recommendation data (134) of FIG. 1). The system (200B) of FIG. 2b illustrates the data set generator (292B), data inputs (210B), and a target output (220B) (e.g., target data).
[0102] In some embodiments, the data set generator (292B) generates a data set (e.g., training set, validation set, test set) containing one or more data inputs (210B) (e.g., training input, validation input, test input). In some embodiments, the data set generator (292B) does not generate a target output (e.g., for unsupervised learning). In some embodiments, the data set generator generates one or more target outputs (220B) corresponding to the data inputs (210B) (e.g., for supervised learning). The data set may also include mapping data that maps the data inputs (210B) to the target outputs (220B). The data inputs (210B) are also referred to as "features," "characteristics," or "information." In some embodiments, a data set generator (292B) provides a data set to a training engine (182), a validation engine (184), or a test engine (186), wherein the data set is used to train, validate, or test a machine learning model (190) (related to determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.).
[0103] In some embodiments, the data set generator (292B) generates data inputs (210B) and target outputs (220B). In some embodiments, the data inputs (210B) include one or more sets of historical causality data (272B) (e.g., weight values, causal connections, product knowledge causality graphs, causality strength index matrices, abnormal sensors, etc.) (related to determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.). In some embodiments, the historical causality data (274) includes one or more of causality data from one or more types of manufacturing systems and / or subsystems, combinations of causality data from one or more types of manufacturing systems and / or subsystems, patterns from causality data from one or more types of manufacturing systems and / or subsystems, and / or one or more similar.
[0104] In some embodiments, a data set generator (292B) generates a first data input corresponding to a first set (274A) of historical causality data to train, validate, or test a first machine learning model, and the data set generator (292B) generates a second data input corresponding to a second set (274B) of historical causality data to train, validate, or test a second machine learning model (related to determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.).
[0105] In some embodiments, the data set generator (292B) discretizes (e.g., segments) one or more of the data input (210B) or the target output (220B) (e.g., for use in classification algorithms for regression problems). Discretization of the data input (210B) or the target output (220B) (e.g., segmentation through a sliding window) converts the continuous values of the variables into discrete values. In some embodiments, the discrete values for the data input (210B) represent discrete past causality data (174) for obtaining the target output (220B) (e.g., discrete past recommendation data (134), etc.).
[0106] Data inputs (210B) and target outputs (220B) for training, validating, or testing a machine learning model include information about a specific facility (e.g., a specific substrate manufacturing system, substrate manufacturing subsystem, etc.). In some examples, historical causality data (274A) and historical recommendation data (234) are for the same manufacturing facility (related to correction actions and determining root causes for manufacturing systems, methods (700A-D), etc.).
[0107] In some embodiments, the information used to train the machine learning model is derived from manufacturing equipment (124) of specific types of manufacturing facilities having specific characteristics, and allows the trained machine learning model (related to methods (700A-D), etc., for determining corrective actions and root causes for manufacturing systems) to determine performance for a specific group of manufacturing equipment (124) based on input for current parameters (e.g., current causality data (176)) associated with one or more components sharing the characteristics of a specific group. In some embodiments, the information used to train the machine learning model is for components from two or more manufacturing facilities, and allows the trained machine learning model to determine performance for components based on input from a single manufacturing facility.
[0108] In some embodiments, following the generation of a data set and the use of the data set to train, validate, or test the machine learning model (190), the machine learning model (190) (associated with methods (700A-D), etc., for determining corrective actions and root causes for manufacturing systems) is further trained, validated, or tested (e.g., current recommendation data (136) of FIG. 1)), or adjusted (e.g., the determined 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).
[0109] In some embodiments, recommendation data including historical recommendation data may be associated with causality data. For example, a recommended corrective action may be issued based on the root cause of abnormal behavior, and the root cause is determined based on the causality data (e.g., using a product knowledge causality graph). For example, abnormal behavior may be detected at a node (sensor) of the causality graph, and the abnormal node may be flagged as abnormal. Next, the causality graph (e.g., having a flagged node) may be given as input to a trained machine learning model. One or more outputs of the trained machine learning model may represent the root cause and / or corrective action (e.g., for abnormal behavior).
[0110] A machine learning model processes inputs to generate outputs (related to determining corrective actions and root causes for manufacturing systems, methods (700A-D), etc.). An artificial neural network includes an input layer consisting of values within data points. The next layer is referred to as a hidden layer, and the nodes of the hidden layer each receive one or more of the input values. Each node includes parameters (e.g., weights) to apply to the input values. Thus, each node essentially inputs the input values into a multivariate function (e.g., a non-linear mathematical transformation) to generate an output value. The next layer may be another hidden layer or an output layer. In either case, the nodes of the next layer receive output values from the nodes of the previous layer, and each node generates its own output value after applying weights to those values. This can be performed in each layer. The final layer is the output layer, where there is one node for each class, prediction, and / or output that the machine learning model can generate.
[0111] Accordingly, the output may include one or more predictions or inferences (related to methods (700A-D), etc., determining correction actions and root causes for manufacturing systems). For example, the output prediction or inference may include one or more root causes, one or more recommended correction actions (e.g., associated with one or more root causes), etc. The processing logic determines an error (e.g., classification error) based on the differences between the output of the machine learning model (e.g., predictions or inferences) and the target labels associated with the input training data. The processing logic adjusts the weights of one or more nodes within the machine learning model based on the error. An error term or delta may be determined for each node within the artificial neural network. Based on this error, the artificial neural network adjusts one or more of its parameters (weights for one or more inputs of the node) for one or more of its nodes. The parameters may be updated in a backpropagation manner such that the nodes of the highest layer are updated first, and then the nodes of the next layer are updated. An artificial neural network comprises multiple layers of "neurons," each layer receiving input values from neurons of the previous layer. Parameters for each neuron include weights associated with the values received from each of the neurons of the previous layer. Therefore, adjusting the parameters may involve adjusting the weights assigned to each of the inputs to one or more neurons in one or more layers within the artificial neural network.
[0112] After one or more training rounds, the processing logic may determine whether a stopping criterion has been met. The stopping criterion may be a target level of accuracy, a target number of processed images from the training dataset, a target amount of change for parameters across one or more previous data points, a combination thereof, and / or other criteria. In some embodiments, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy is achieved. The threshold accuracy may be, for example, 70%, 80%, or 90% accuracy. In some embodiments, the stopping criterion is met when the accuracy of the machine learning model stops improving. If the stopping criterion is not met, additional training is performed. If the stopping criterion is met, training may be completed. Once the machine learning model is trained, a reserved portion of the training dataset may be used to test the model.
[0113] FIG. 3 is a block diagram illustrating a system (300) for generating prediction data (360) (e.g., prediction data (160) of FIG. 1) according to specific embodiments. The system (300) is used to determine the prediction data (360) through a trained machine learning model (e.g., model (190) of FIG. 1) (related, e.g., determining weights of directional edges, methods (500A-C), determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.).
[0114] In block (310), the system (300) (e.g., the prediction system (110) of FIG. 1) performs data partitioning of historical data (e.g., historical sensor data (344), historical causality data (354), and / or historical recommendation data (334) for the model (190) of FIG. 1) to generate a training set (302), a validation set (304), and a test set (306) (e.g., related to determining weights of directional edges, methods (500A-C), determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.) (e.g., through the data set generator (178) of the server machine (170) of FIG. 1). In some examples, the training set is 60% of the historical data, the validation set is 20% of the historical data, and the test set is 20% of the historical data. The system (300) generates a plurality of feature sets for each of the training set, the validation set, and the test set. In some examples, where historical data includes features derived from 20 sensors (e.g., sensors (126) in FIG. 1, sensors of manufacturing equipment and / or measuring equipment) and 100 products (e.g., products corresponding to sensor data from each of the 20 sensors), the first feature set is sensors 1-10, the second feature set is sensors 11-20, the training set is products 1-60, the validation set is products 61-80, and the test set is products 81-100. In this example, the first feature set of the training set would be the parameters of sensors 1-10 for products 1-60.
[0115] In block (312), the system (300) performs model training using the training set (302) (e.g., through the training engine (182) of FIG. 1 associated with determining weights of directional edges, methods (500A-C), determining correction actions and root causes for manufacturing systems, methods (700A-D), etc. In some embodiments, the system (300) trains multiple models using multiple sets of features of the training set (302) (e.g., a first set of features of the training set (302), a second set of features of the training set (302), etc.). For example, the system (300) trains a machine learning model to generate a first trained machine learning model using a first set of features of a training set (e.g., sensor data from sensors 1-10 for products 1-60) and to generate a second trained machine learning model using a second set of features of a training set (e.g., sensor data from sensors 11-20 for products 1-60). In some embodiments, the first trained machine learning model and the second trained machine learning model are combined to generate a third trained machine learning model (e.g., in some embodiments, a better predictor than the first or second trained machine learning model itself). In some embodiments, the sets of features used to compare the models 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 embodiments, hundreds of models are generated, including models having various permutations of features and combinations of models.
[0116] In block (314), the system (300) performs model validation using a validation set (304) (e.g., through the validation engine (184) of FIG. 1). The system (300) validates each of the trained models (e.g., methods related to determining weights of directional edges, methods (500A-C), determining correction actions and root causes for manufacturing systems, methods (700A-D), etc., using a corresponding set of features of the validation set (304). For example, the system (300) validates a first trained machine learning model using a first set of features of the validation set (e.g., parameters from sensors 1-10 for products 61-80) and validates a second trained machine learning model using a second set of features of the validation set (e.g., parameters from sensors 11-20 for products 61-80). In some embodiments, the system (300) validates hundreds of models generated in block (312) (e.g., models with various permutations of features, combinations of models, etc.). In block (314), the system (300) determines the accuracy of each of one or more trained models (e.g., through model validation) and determines whether one or more of the trained models have an accuracy that satisfies a threshold accuracy. In response to the determination that none of the trained models have an accuracy that satisfies the threshold accuracy, the flow returns to block (312), where the system (300) performs model training using different sets of features of the training set. In response to the determination that one or more of the trained models have an accuracy that satisfies the threshold accuracy, the flow continues to block (316). The system (300) discards the trained machine learning models that have an accuracy below the threshold accuracy (e.g., based on the validation set).
[0117] In block (316), the system (300) performs model selection (e.g., via the selection engine (185) of FIG. 1) to determine which of one or more trained models that satisfy the threshold accuracy has the highest accuracy (e.g., the selected model (308) based on the verification of block (314)). In response to the determination that two or more of the trained models that satisfy the threshold accuracy have the same accuracy, the flow returns to block (312), where the system (300) performs model training using additional refined training sets corresponding to additional refined sets of features to determine the trained model with the highest accuracy.
[0118] In block (318), the system (300) performs a model test using a test set (306) to test a selected model (308) (e.g., through the test engine (186) of FIG. 1). The system (300) tests the first trained machine learning model using a first set of features of the test set (e.g., sensor data from sensors 1-10 for products 81-100) to determine that the first trained machine learning model satisfies a threshold accuracy (e.g., based on a first set of features of the test set (306)). In response to the accuracy of the selected model (308) not meeting the threshold accuracy (e.g., the selected model (308) overfits the training set (302) and / or validation set (304) and is not applicable to other data sets, e.g., the test set (306)), the flow continues to a block (312) in which the system (300) performs model training (e.g., retraining) using different training sets corresponding to different sets of features (e.g., sensor data from different sensors). In response to the determination that the selected model (308) has an accuracy meeting the threshold accuracy based on the test set (306), the flow continues to a block (320). At least in block (312), the model learns patterns of past data to make predictions, and in block (318), the system (300) applies the model to the remaining data (e.g., test set (306)) to test the predictions (e.g., related to determining weights of directional edges, methods (500A-C), determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.).
[0119] In block (320), the system (300) receives current sensor data (346) (e.g., current sensor data (146) of FIG. 1) using a trained model (e.g., selected model (308)), and determines (e.g., extracts) prediction data (360) (e.g., prediction data (160) of FIG. 1) to determine weights of directional edges and / or recommended correction actions from the trained model. In some embodiments, the current sensor data (346) corresponds to features of the same types within the past sensor data (344). In some embodiments, the current sensor data (346) corresponds to features of the same type as a subset of features in the past sensor data (344) used to train a selected model (308) (e.g., methods (500A-C) for determining weights of directional edges, correction actions and root causes for manufacturing systems, methods (700A-D), etc.).
[0120] In some embodiments, current data is received. In some embodiments, current data includes current causality data (356) (e.g., current causality data (176) of FIG. 1) and / or current sensor data (346) (e.g., associated with determining weights of directional edges, methods (500A-C), etc.). In some embodiments, current data includes current recommendation data (336) (e.g., current recommendation data (136) of FIG. 1) and / or current causality data (356) (e.g., associated with determining correction actions and root causes for manufacturing systems, methods (700A-D), etc.). In some embodiments, at least part of current data is received from sensors (e.g., sensors (126) and / or measuring equipment (128) of FIG. 1) or via user input. In some embodiments, at least part of current data is received from current product knowledge causality graphs and / or current causality strength index matrices or via user input. In some embodiments, the model is retrained based on current data. In some embodiments, the new model is trained based on current recommendation data (336) and current causality data (356).
[0121] In some embodiments, one or more of the blocks (310-320) occur in various orders and / or with other operations not presented and described herein. In some embodiments, one or more of the blocks (310-320) are not performed. For example, in some embodiments, one or more of the data splitting of block (310), model verification of block (314), model selection of block (316), and / or model testing of block (318) are not performed.
[0122] FIG. 4 is a directed acyclic graph (DAG) according to some embodiments.
[0123] In some embodiments, causality data may be visually represented using a causal graph, such as a DAG. For example, arrows (e.g., edges (410A-I)) indicate the direction of causality between nodes (e.g., sensors within a manufacturing system / subsystem). Nodes within the causal graph represent variables of the manufacturing system (e.g., sensors, values measured by sensors, sensor data, etc.), and edges between nodes (represented by arrows) represent causal relationships between nodes (e.g., sensors in the manufacturing system / subsystem, sensor data, sensor values, etc.). The direction of the arrow indicates the direction of causality, the tail of the arrow indicates the cause, and the head of the arrow indicates the effect. A DAG may be connected to other DAGs, which show causal links between nodes of separate systems or subsystems.
[0124] In some embodiments, a causal strength index matrix and a causal graph (e.g., DAG) are complementary representations of causality data, where the causal matrix provides a quantitative measure of causality strength (e.g., weights of the directed edges of the DAG), and the causal graph provides a visual representation of causal relationships between variables.
[0125] In some embodiments, determining a structured graph proposal can be achieved by using informational theory probabilistic methods. Informational theory probabilistic methods are statistical methods used to determine whether a cause-and-effect relationship exists between two variables. Some examples of informational theory probabilistic methods may include Granger causality, transfer entropy measures, cross-entropy measures, partial directional coherence, linear and non-linear conditional independence tests, and / or similar ones.
[0126] In some embodiments, determining the structured graph proposal can be achieved by extending causality tests across all sensors (e.g., nodes) of the system. Causality tests can also be used on sensor data to generate a causality strength index matrix. In some embodiments, the causality strength index matrix may be based on at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, or partial directional coherence, linear and non-linear conditional independence tests. The causality strength index matrix provides a quantitative measure of the strength of causal relationships between different variables, sensors, or sensor values measured in the system. In some embodiments, 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 with other nodes within the matrix determines the degree centrality. Nodes with high centrality may be considered more important and influential in the system. A causal strength index matrix can also be generated by considering transfer entropy measures and order centrality for a set of data (e.g., sensor data).
[0127] In some embodiments, where no data (e.g., sensor data) is available to determine the weights, a count of how many nodes (e.g., sensors) another node (e.g., sensor) affects may be used to determine the sensor threshold. In some embodiments, the sum of the weights of all causal edges of a node (edges indicating that nodes affect other nodes) may be used to determine the sensor threshold.
[0128] In some embodiments, a causal graph proposal (generated, for example, using the techniques described above) may be verified and refined by a subject expert (e.g., a user). For example, a causality test may have represented a bidirectional edge between two nodes (A and B). In some embodiments, the subject expert may determine that the edge is not bidirectional and that causality flows only from A to B. In other examples, a causality test may have represented a directed edge between two nodes (A and B). In some embodiments, the subject expert may determine that the edge is bidirectional and that causality flows from A to B and from B to A. In some embodiments, a DAG or DAG proposal refined by user input (e.g., by a subject expert) may be referred to as a causality knowledge DAG.
[0129] In some embodiments, the DAG (400) represents a wafer manufacturing system or subsystem. The DAG (400) includes nodes representing sensors within the wafer manufacturing system or subsystem. For example, the DAG (400) may represent a processing chamber. In some embodiments, node (401) may represent a first sensor, node (402) may represent a second sensor, node (411) may represent a third sensor, node (421) may represent a fourth sensor, node (422) may represent a fifth sensor, node (431) may represent an OES tool, and node (432) may represent an arcing sensor. Each node has a causal relationship with other nodes within the manufacturing system, as indicated by arrows (410A-I). The direction of the arrow indicates the direction of causality, the tail of the arrow indicates the cause, and the head of the arrow indicates the result.
[0130] In some embodiments, the DAG (400) may represent a manufacturing subsystem. The DAG (400) may show causal connections within the manufacturing subsystem as well as causal connections with other subsystems. For example, subsystems (490A-C) all have causal connections to the subsystem represented by the DAG (400), and subsystem (490A) may be causally related to the first sensor (401). For example, changes to a node (sensor) within subsystem (490A) may cause changes to the first sensor (401). Nodes within the DAG (400) may cause changes to other subsystems. For example, an OES node (431) may be causally related to subsystem (490B), and changes to the OES nodes (431) may cause changes to a node (sensor) in 490B. In another example, the arcing / event counter (432) may be causally related to the subsystem (490C), and changes to the arcing / event counter (432) may cause changes to the node (sensor) in 490B.
[0131] Sensors within a manufacturing system may collect abnormal data (e.g., sensor data) (e.g., data and / or measurements outside the expected or normal range for a specific parameter). For example, a sensor collecting abnormal data or values may indicate a problem or issue in the manufacturing process. For example, a temperature sensor may detect a sudden increase in temperature that does not correspond to the normal behavior of the manufacturing process. Such abnormal behavior from an abnormal sensor may indicate, for example, a miscalibrated sensor, a malfunctioning pressure element, blocked coolant flow, or other specific issues affecting temperature control.
[0132] In some embodiments, a causal graph (e.g., DAG (400)) allows the root cause of an abnormal sensor and / or root causes to be traced. For example, a node (432) may start collecting abnormal data (e.g., node (432) is an abnormal sensor). The causes of the abnormal sensor (432) may be traced using causal relationships between node (432) and other nodes within the system. For example, dashed arrows (410A, 410B, 410D, 410E, 410H, and 410I) show the causal paths of node (432). It should be noted that there may be more than one root cause for the abnormal sensor. For example, the sensor (432) has causal paths that can be traced back to two separate sensors (sensor (401) and sensor (402)). To find the cause(s) of the abnormal sensor (432), the causal path(s) can be followed to efficiently troubleshoot the abnormal node and discover the root cause(s) of the abnormal behavior. The abnormal behavior observed in the sensor can be traced using a Markov blanket or through causal paths (e.g., dotted arrows for the node (432)).
[0133] In some embodiments, the weights of the DAG may be retrained based on experimental data or observational data (e.g., measurement data of a manufactured substrate). For example, after the DAG is generated based on sensor values, the weights of the DAG may be updated based on measurement data (e.g., measurements of manufactured semiconductor products).
[0134] FIGS. 5a through 5c are flowcharts of methods (500A-C) associated with determining causality (e.g., determining causality in a manufacturing system) and determining weights of directional edges, according to some embodiments. In some embodiments, the methods (500A-C) are performed by hardware (e.g., circuits, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions executed on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In one implementation, the method (500A) may be performed by a computer system such as the computer system architecture (100) of FIG. 1. In other or similar implementations, one or more operations of the method (500A) may be performed by one or more other machines not depicted in the drawings. In some embodiments, the methods (500A-C) are performed at least partially by a prediction system (110). In some embodiments, method (500A) is performed by a client device (120) and / or a prediction system (110) (e.g., a prediction component (114)). In some embodiments, method (500B) is performed by a server machine (180) (e.g., a training engine (182) etc.). In some embodiments, method (500C) is performed by a prediction server (112) (e.g., a prediction component (114)) and / or a client device (120) (e.g., a correction action component (122)). In some embodiments, a non-transient storage medium stores instructions that cause a processing device (e.g., a prediction system (110), a server machine (180), a prediction server (112), a client device (120) etc.) to perform one or more of the methods (500A-C) when executed by the processing device.
[0135] For the sake of simplicity of description, the methods (500A-C) are described and explained as a series of actions. However, actions according to the present disclosure may occur in various sequences and / or simultaneously and together with other actions not presented and described herein. Furthermore, in some embodiments, not all of the exemplified actions are performed to implement the methods (500A-C) according to the subject matter of the disclosure. Additionally, those skilled in the art will understand and recognize that the methods (500A-C) may alternatively be represented as a series of interrelated states through state diagrams or events.
[0136] FIG. 5a is a flowchart of a method associated with determining causality in a manufacturing system according to some embodiments of the present disclosure.
[0137] Referring to FIG. 5a, in some embodiments, in block (501), the processing logic implementing the method (500A) generates a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of 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 a plurality of values, each corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems. In such cases, the causal graph may be determined based on the causal strength index matrix.
[0138] In some embodiments, the causal graph may be a directed acyclic graph (DAG). The causal knowledge DAG is generated by combining a causal strength index matrix and cause-and-effect interdependencies from user input. The DAG (e.g., the causal knowledge DAG) includes multiple nodes corresponding to multiple sensors in a manufacturing system and multiple directed edges having weights, the weights being determined using a structured causal model. The directed edges may show a causal relationship between two variables in one direction (e.g., X causes Y, but Y does not cause X). In the causal relationships, one sensor may be a leading indicator (driving factor) that causes a change in another sensor and / or influences the other sensor. In some embodiments, temporal lag may help determine the cause-and-effect relationship. The DAG may be further refined by a subject expert (user) to develop the causal knowledge DAG. In some examples, refinement includes removing edges, adding edges, changing the direction of edges, etc.
[0139] In some embodiments, Bayesian networks and similar techniques (e.g., belief networks) may be used to determine weights. In this case, probability distributions (e.g., joint, marginal, and conditional) are learned. For example, the expected value of the conditional distribution between two nodes may be a measure of the weights.
[0140] In some embodiments, at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directional coherence, linear and non-linear conditional independence tests and / or similar may be used to extract cause-and-effect interdependencies and to generate causal graph structures and directional edges of the causal graph. Data may be collected, for example, by sensors of a manufacturing system (e.g., sensors (126) of FIG. 1). A causality discovery algorithm may be used to identify causal relationships in the data (e.g., sensor data).For example, the causal additive model (CAM) algorithm, the greedy equivalence search (GES) algorithm, the fast causal inference (FCI) algorithm, the inductive causation (IC) algorithm, the NOTEARS algorithm, the LiNGAM algorithm, the interventional distribution adjustment (IDA) algorithm, the structural Hamming distance (SHD) algorithm, the max-min hill-climbing (MMHC) algorithm, the fast GES (FGES) algorithm, the PC-MCI algorithm, the additive noise model (ANM) algorithm, the Bayesian network learning (BNL) algorithm, the causal graphical neural network (CGNN) algorithm, the TETRAD algorithm, the DirectLiNGAM algorithm, and joint causal inference At least one of the JCI algorithm, the information geometric causal inference (IGCI) algorithm, or a similar one may be used to identify causal relationships in the data. In some embodiments, a causal direction may be assigned to each causal link.
[0141] In some embodiments, experimental designs for determining causality (e.g., determining causality, causal outcomes, and weights for constructing a causal graph) include randomized experiments. In some embodiments, experimental designs may include full factorial designs, partial factorial designs, difference-in-differences (DSDs), definitive screening designs, crossover designs, blocked designs, etc. Randomized experiments are more effective when randomization and / or do-blocking cover all associated causal factors. Observational data may also be used to learn weights through structural causal models—including the use of matching, instrument variables, and mediation analysis.
[0142] In some embodiments, the structural causal model may be represented by equations derived based on the relationships between variables of the manufacturing system and may be used to determine the weights of the edges of the DAG (e.g., causal knowledge DAG). In some embodiments, the weights of the edges of the DAG and / or causal knowledge DAG (e.g., strength of correlation) may be determined based on at least one of bivariate autoregressive coefficients, partial directional coherence, transfer entropy, partial correlation, or conditional independence. The relationships between the variables of the system may be determined by user input (e.g., subject matter expert) and / or Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directional coherence, linear and non-linear conditional independence tests and / or similar. The weights of the DAG and / or causal knowledge DAG may be determined using transfer entropy, cross-correlation functions, cross-conditional independence tests, partial directional coherence, Granger causality, Geweke causality, or phase gradient indices. The weights of the DAG and / or causal knowledge DAG may be determined using sensor data and at least one of transfer entropy, cross-correlation functions, cross-conditional independence tests, spectral methods (e.g., partial directional coherence), and / or similar methods. Spectral methods include directional transfer functions, isolated effective coherence, and / or similar methods.
[0143] In some embodiments, relationships may be expressed as mathematical equations or probability distributions that relate variables in a manufacturing system to one another (e.g., as in Bayesian networks and belief networks). Equations representing a structural causal model may be used to simulate the behavior of the system under different conditions (e.g., using do-calculus) and to make predictions regarding 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 effects on the system when that variable is changed). Do-calculus rules may provide a set of actions to manipulate the structural causal model and derive causal relationships between variables. By applying these rules and / or techniques to determine weights, a DAG (having weighted directed edges) representing the causal relationships between variables in the structural causal model may be generated.
[0144] Mathematical equations representing structural causal models can be derived using different 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 decomposition, 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.
[0145] In some embodiments, the processing logic may assign a threshold value to each of a plurality of sensors and edges of the manufacturing system. The threshold value may be a numeric value representing the threshold of the sensor for the system. The processing logic may assign a system health factor index value to the manufacturing system and / or a subsystem of the manufacturing system (e.g., a processing chamber of the manufacturing system). The system health factor index value may be calculated based on the number of abnormal sensors and the corresponding threshold values of the abnormal sensors. An abnormal sensor is a sensor and / or measurement tool that collects abnormal data (e.g., measurements outside the expected or normal range for a specific parameter). The system health factor index value may be normalized using weights of a plurality of directional edges corresponding to the abnormal sensors.
[0146] In some embodiments, the processing logic may further determine weights (e.g., directional edges) using a structural causal model, wherein the structural causal model is a trained machine learning model, and the determination of the weights includes providing sensor data as input to the trained machine learning model and receiving an output associated with the predicted data, and the weights of the directional edges (e.g., causal data) are associated with the predicted data.
[0147] A trained machine learning model is trained with data inputs containing historical sensor data and target outputs of historical weight data (e.g., causality data).
[0148] In block (502), the processing logic determines a causal strength index matrix. In some embodiments, the causal strength index matrix may be determined based on a generated causal graph. The causal strength index matrix may be determined from observational data using a causal discovery algorithm or user input (e.g., user input from a subject expert). The causal strength index matrix may include causality data and a matrix of coefficients that quantify the strength (e.g., weights) and direction of causal relationships between pairs of variables (e.g., sensors within a manufacturing system, sensor data collected by sensors within a manufacturing system, etc.). The causal index matrix coefficients may include values calculated using statistical or machine learning methods (e.g., threshold values, severity values, etc.).
[0149] In some embodiments, determining the causal strength index matrix of the manufacturing system is based on at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directional coherence, linear and nonlinear conditional independence tests, and / or similar.
[0150] In block (503), the processing logic determines the root cause of the abnormal behavior using a causal graph in response to identifying abnormal behavior in at least one of the multiple sensors.
[0151] Identifying abnormal behavior in at least one of a plurality of sensors may include statistical-based fault detection and classification (FDC). In FDC, statistical process control techniques, such as control charts, are used to monitor sensor data. In some embodiments, abnormal sensors may be detected when sensor readings are outside of predefined control limits or exhibit statistically significant trends, shifts, or patterns that deviate from expected behavior.
[0152] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may involve the use of guard banding algorithms. In some embodiments, the use of guard banding algorithms involves setting predefined tolerance limits around expected sensor values. When sensor readings exceed the specified guard bands and indicate a deviation from an acceptable range, the sensors may be flagged as abnormal.
[0153] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may involve the use of machine learning-based anomaly detection methods, such as autoencoders or isolation forests. In some embodiments, such machine learning methods may be trained on historical sensor data to learn historical data patterns of non-abnormal sensors. In some embodiments, abnormal sensors may be detected when sensor readings deviate significantly from the learned patterns.
[0154] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may include rule-based abnormal detection, pattern recognition techniques, comparative analysis and / or similar methods.
[0155] In some embodiments, in response to identifying abnormal behavior in at least one of a plurality of sensors, the processing logic determines a plurality of root causes of the abnormal behavior using at least one of a causal strength index matrix or a causal graph, wherein each of the plurality of root causes is ranked based on a corresponding severity value. In some embodiments, the severity value may be based on the threshold of the root cause, the severity of the root cause, the frequency of occurrence of the root cause, etc.
[0156] In block (504), the processing logic causes recommended correction actions to be issued based on the root cause of abnormal behavior. The causal graph may provide a graph-based logging method for developing a recommendation system for observed issues and for correction actions. In some embodiments, the recommender system may be improved with more data and ranked recommendations based on occurrences. The processing logic may cause multiple recommended correction actions to be issued based on multiple root causes of abnormal behavior, wherein each of the multiple correction 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.
[0157] In some embodiments, the processing logic may cause a number of recommended correction actions to be issued based on whether the system health factor index values meet a criterion. The criterion represents a critical system health level, and when the system health falls below a determined level, the corresponding system health factor index values meet the corresponding criterion.
[0158] In some embodiments, the manufacturing system may be a wafer manufacturing system, and a number of sensors monitor a number of parameters of the wafer manufacturing system.
[0159] FIG. 5b is a flowchart of a method for training a machine learning model (e.g., model (190) of FIG. 1) to determine prediction data (e.g., prediction data (160) of FIG. 1) associated with determining weights of directional edges according to embodiments of the present disclosure.
[0160] Referring to FIG. 5b, in block (510) of the method (500B), the processing logic identifies past sensor data (e.g., past sensor from a sensor of a manufacturing system, past sensor data (144) etc.). The past sensor data may include data from past processing operation runs, past manufacturing operations, past substrates, past processing chamber sensor data, past manufacturing system sensor data and / or similar sources.
[0161] In some embodiments, in block (512), the processing logic identifies past causality data of one or more past DAGs of one or more manufacturing systems, subsystems (e.g., processing chambers), and / or similar things (e.g., weight data, weights of directional edges of the DAG, past weights, past weight values, past causality data (174) of FIG. 1, etc.). The past causality data may include past weight values from past manufacturing systems and / or subsystems (e.g., weights of directional edges of the DAG, weight values of directional edges of the DAG, etc.). For example, the past causality data may include weight values of causality between two sensors within the manufacturing system (e.g., weight values of causality between temperature and pressure, and / or similar things). Causal data including historical causal data may include sensor data and / or measurement data (e.g., 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 expert) indicating the weight and / or direction of a causal relationship between two nodes of a DAG representing the manufacturing system (e.g., a causal knowledge DAG).
[0162] Causal data including historical causality data may include sensor data and / or measurement data or user input indicating the direction of causality between nodes of a DAG representing a manufacturing system. For example, a causality discovery algorithm may incorrectly indicate that a causal relationship exists between reflected power and arcing, whereby arcing causes reflected power. In some embodiments, user input (e.g., from a subject matter expert) indicates that reflected power causes arcing, and the directional edge of the DAG may be modified to show the appropriate causal relationship. At least some of the historical sensor data and historical causality data may be associated with wafer manufacturing systems. At least some of the historical sensor data and historical causality data may be associated with wafer manufacturing subsystems (e.g., processing chambers).
[0163] In block (514), the processing logic trains a machine learning model using a data input containing past sensor data (144) (e.g., past sensor values) and / or a target output containing past causality data (174) (e.g., past weight data, past weight values of the directed edges of a DAG, etc.) to create a trained machine learning model.
[0164] In some embodiments, historical sensor data belongs to past manufacturing systems / subsystems and / or, or historical causality data corresponds to past manufacturing systems / subsystems. Historical sensor data corresponds to sensor values during manufacturing operations, manufacturing processes, manufacturing runs and / or similar things. Historical sensor data includes historical sensor values of past manufacturing operations and / or historical causality data corresponds to past manufacturing systems / subsystems. Historical causality data may be associated with weights of directed edges, directions of directed edges, causal relationships between nodes of a causal graph, etc. Historical causality data may be associated with causal relationships of sensors within a manufacturing system / subsystem, for example, the direction and weight of a causal relationship (as depicted, for example, by weighted directed edges in a DAG).
[0165] FIG. 5c is a method (500C) for using a trained machine learning model (e.g., model (190) of FIG. 1) involved in determining the weights of directional edges according to some embodiments.
[0166] Referring to FIG. 5c, in block (520) of the method (500C), the processing logic identifies sensor data. The sensor data of block (520) includes sensor values from sensors of the manufacturing system and similar values.
[0167] In block (522), processing logic provides sensor data as data input to a trained machine learning model (e.g., trained through block (514) of FIG. 5b). In some embodiments, the trained machine learning model may be involved in determining causality data (e.g., weight data, weights of directional edges of a DAG, strength of causal relationship between two variables, etc.).
[0168] In block (524), the processing logic receives an output associated with the prediction data from a trained machine learning model, where the weights of the directional edges are associated with the prediction data.
[0169] In block (526), the processing logic determines the weights of the directional edges based on the prediction data.
[0170] In some embodiments, sensor data (142) are sensor values of sensors of a manufacturing system, and the trained machine learning model of block (522) is trained using a data input containing past sensor values and a target output containing past causality data (174) containing past weight data of a manufacturing system. The prediction data (160) of block (524) may be associated with predicted causality data (e.g., causality data of a manufacturing system) based on the sensor data. In response to the predicted causality data meeting a threshold (e.g., weights being statistically significant, p-values for a t-test being below a predefined significance level, etc.), the processing logic may confirm the predicted causality data (e.g., weight data). In response to the causality data not meeting the threshold, the process logic may 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 more appropriate model specifications, etc.).
[0171] In some embodiments, a time series X is said to Granger causate Y if it can be shown (e.g., through a series of t-tests and F-tests, including for lagged values of X and also for lagged values of Y) that such X values provide statistically significant information regarding future values of Y (e.g., satisfying a p-value threshold). In some embodiments, in response to the predicted causality data satisfying a threshold (e.g., a statistically significant threshold such as a p-value threshold for a t-test, a p-value threshold for an f-test, and / or a similar one), the processing logic may confirm the predicted causality data (e.g., weight data). In response to the predicted causality data not satisfying a threshold, the processing logic may 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 more appropriate model specifications, etc.).
[0172] Figure 6 is a graph of product knowledge causation according to some embodiments.
[0173] In some embodiments, as shown in FIG. 4, causality data may be visually represented using a causal graph. In some embodiments, the causal graph may be a product knowledge causal graph containing part data (e.g., semantic data) and equipment constant data. Arrows (e.g., edges (610A-I)) indicate the direction of causality between nodes (e.g., sensors within a manufacturing system / subsystem). As previously described in FIG. 4, the nodes within the causal graph represent variables of the manufacturing system (e.g., sensors, values measured by sensors, sensor data, etc.), and the edges between the nodes (represented by solid arrows) represent causal relationships between the nodes (e.g., sensors in the manufacturing system / subsystem, sensor data, sensor values, etc.).
[0174] In some embodiments, the product knowledge causal graph (600) is a DAG (as in FIG. 4). The product knowledge causal graph (600) may include additional data (e.g., part data and equipment constant data) associated with the nodes (601-606) of the DAG. The product knowledge causal graph (600) may be based on causal relationships between multiple sensors within one or more manufacturing systems.
[0175] In some embodiments, the product knowledge causation graph (600) represents a wafer manufacturing system (e.g., a collection of subsystems) or a subsystem. In some embodiments, the product knowledge causation graph (600) includes nodes representing sensors within the wafer manufacturing system or subsystem. For example, the product knowledge causation graph (600) may represent a processing chamber. Nodes (601-606) may represent, for example, a delivered power sensor, a serially connected sensor, a shunt-connected sensor, a chamber pressure sensor, an RF power sensor, a match position sensor, a forward power sensor, a reflected power sensor, an OES tool (e.g., an OES spectrometer), an arcing sensor, and / or similar. Each node has a causal relationship with other nodes within the manufacturing system as indicated by arrows (610A-I). The direction of the arrow indicates the direction of causality, the tail of the arrow indicates the cause, and the head of the arrow indicates the result. For example, an arrow (610A) represents a causal relationship between nodes (601 and 602), where node (601) is the cause of node (602) (e.g., chamber pressure causes a match position). An arrow (610B) represents a causal relationship between nodes (602 and 605), where node (602) is the cause of node (605) (e.g., RF power causes a match position). In some embodiments, a bidirectional arrow may indicate bidirectional causality. In systems exhibiting closed-loop phenomena, the occurrence of bidirectional causality is common, where outputs recursively become inputs to form a continuous feedback loop. However, the response time in the system is not necessarily aligned instantaneously with the initiation action. The time resolution of data acquisition may not match the feedback interval of the system. In such scenarios, causally sequential events may be misrepresented as simultaneous occurrences, potentially obscuring the true dynamics of the system's feedback mechanism.
[0176] In some embodiments, the product knowledge causal graph (600) may include part data and equipment constant data. The product knowledge causal graph (600) includes parts (e.g., components) (610-614). Nodes (e.g., nodes (601-606)) may be associated with parts of a manufacturing system. The parts (610-614) may be source matches, RF cables, source generators, spectrometers, optical cables, etc. Each part may have a part number and / or a serial number. The specifications of the parts may be included in a certificate of approval. The certificate of approval may show that a specific component, part, or product meets standards, specifications, or quality criteria. The certificate of approval may also include semantic data (e.g., text).
[0177] In some embodiments, the product knowledge causation graph (600) may be based on and may include part data of a plurality of parts of a manufacturing system. Each of the plurality of parts may correspond to at least one sensor among a plurality of sensors. For example, the product knowledge causation graph (600) includes parts (610-614). The parts (610-614) are represented by rectangular nodes. Dashed lines connecting the rectangular nodes of the parts (610-614) to the sensor nodes (601-606) show the associations of the product knowledge causation graph (600) with the sensor nodes. For example, parts (610 and 612) are associated with the sensor node (601). Part (610) is additionally associated with the sensor node (604). Part (611) is associated with the sensor nodes (603 and 602). Parts (613 and 614) are associated with the sensor node (606).
[0178] In some embodiments, part data may be static data, and static data may be unchanging data or values, and may be used as reference or configuration data (e.g., part data within a manufacturing system that remains constant and unchanging over time).
[0179] In some embodiments, part data may include numeric data (e.g., part specification data, values, etc.) and / or semantic data (e.g., text data included in an approval certificate). Users may leave notes on the approval certificate. Such text data may include semantic data.
[0180] In some embodiments, the product knowledge causation graph (600) may be based on equipment constant data among a plurality of equipment constants of a manufacturing system and may include such equipment constant data. In some embodiments, each of the plurality of equipment constants may correspond to at least one sensor among a plurality of sensors. For example, the product knowledge causation graph (600) includes equipment constants (620-629).
[0181] In some embodiments, sensor nodes (e.g., nodes (601-606)) may be associated with equipment constants of a manufacturing system (e.g., system constants). The product knowledge causation graph (600) includes equipment constants (620-629). The equipment constants (620-629) may be, for example, RF analyzer timeout, RF analyzer settling time, check tolerance, check limit, monitor timeout, reference check limit, strength defect limit, RF on for eye diagram tool, etc. Each equipment constant is configurable and adjustable. The configured value of the equipment constant may be equipment constant data. In some embodiments, the equipment constants may be included in the product knowledge causation graph (600).
[0182] In some embodiments, equipment constant data may be static data. For example, equipment constants may not be adjustable and remain the same. Static data may be unchanging data or values and may be used as reference or configuration data (e.g., equipment constants in a manufacturing system that remain constant and do not change over time). Equipment constant data may be dynamic data. Dynamic equipment constants (e.g., adjustable equipment constants) may be included in the product knowledge causation graph (600), and static equipment constants may be excluded.
[0183] In some embodiments, equipment constants (620-629) are represented by diamond-shaped nodes, and dashed lines show associations with sensor nodes of the product knowledge causation graph (600). For example, equipment constants (620 and 621) are associated with sensor node (601). Equipment constant (621) is additionally 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). The equipment constant (628) is associated with the sensor node (605). The equipment constant (629) is associated with the sensor node (605).
[0184] In some embodiments, the causality strength index matrix may be determined based on the generated product knowledge causal graph. The causality strength index matrix and the causal graph (e.g., product knowledge causal graph) may be complementary representations of causality data, where the causality matrix provides a quantitative measure of causality strength (e.g., weights of directed edges of a DAG, product knowledge causal graph, etc.), and the causal graph provides a visual representation of causal relationships between variables.
[0185] In some embodiments, the product knowledge causal graph proposal (generated, for example, using the techniques described above and in FIG. 4) may be verified and refined by a subject expert (e.g., a user). For example, the causality test may have shown a bidirectional edge between two nodes A and B. In some embodiments, the subject expert may determine that the edge is not bidirectional and that causality flows only from A to B. In other examples, the causality test may have shown a directed edge between two nodes A and B. In some embodiments, the subject expert may determine that the edge is bidirectional and that causality flows from A to B and from B to A.
[0186] Sensors within a manufacturing system may collect abnormal data (e.g., sensor data) (e.g., data and / or measurements outside the expected or normal range for a specific parameter). For example, a sensor collecting abnormal data or values may indicate a problem or issue in the manufacturing process. For example, a temperature sensor may detect a sudden increase in temperature that does not correspond to the normal behavior of the manufacturing process. Such abnormal behavior from an abnormal sensor may indicate, for example, a miscalibrated sensor, a malfunctioning pressure element, blocked coolant flow, or other specific issues affecting temperature control.
[0187] In some embodiments, a product knowledge causal graph (e.g., product knowledge causal graph (600)) allows the root cause of an abnormal sensor and / or root causes to be traced. An abnormal sensor can be detected and flagged. The product knowledge causal graph can be updated to reflect the abnormal sensor. Next, the product knowledge causal graph can be used to determine the root cause of abnormal behavior (e.g., by providing the product knowledge causal graph as input to a trained machine learning model) and to identify a correction action (e.g., based at least, on a subset of part data corresponding to the root cause of the abnormal behavior or a subset of equipment constant data corresponding to the root cause of the abnormal behavior).
[0188] For example, a node (605) may begin collecting abnormal data (e.g., the node (605) is an abnormal sensor). In some embodiments, the causes of the abnormal sensor (605) may be traced using causal relationships between the node (605) and other nodes within the system. For example, edges (e.g., arrows) (610B-G) show the causal path of the node (605). It should be noted that there may be more than one root cause for the abnormal sensor. For example, the sensor (605) has causal paths that can be traced back to two or more sensors (sensors (601-604)). To find the cause(s) of the abnormal sensor (605), the causal path(s) can be followed to efficiently troubleshoot the abnormal node and discover the root cause(s) of the abnormal behavior. In some embodiments, the abnormal behavior observed in the sensor may be traced only through the Markov blanket or the causal paths.
[0189] FIGS. 7a through 7d are flowcharts of methods (700A-D) associated with determining corrective actions and root causes for manufacturing systems according to some embodiments.
[0190] In some embodiments, the methods (700A-D) are performed by hardware (e.g., circuits, dedicated logic, programmable logic, microcode, processing devices, etc.), software (e.g., instructions executed on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In one implementation, the method (700A) may be performed by a computer system such as the computer system architecture (100) of FIG. 1. In other or similar implementations, one or more operations of the method (700A) may be performed by one or more other machines not depicted in the drawings. In some embodiments, the methods (700A-D) are performed at least partially by a prediction system (110). In some embodiments, the method (700A) is performed by a client device (120) (e.g., a correction action component (122)) and / or a prediction system (110) (e.g., a prediction component (114)). In some embodiments, the method (700B) is performed by a server machine (180) (e.g., a training engine (182), etc.). In some embodiments, a prediction server (112) (e.g., a prediction component (114)) and / or a client device (120) (e.g., a correction action component (122)) perform the methods (700C-D). In some embodiments, a non-transient storage medium stores instructions that cause a processing device to perform one or more of the methods (700A-D) when executed by a processing device (e.g., of a prediction system (110), of a server machine (180), of a prediction server (112), of a client device (120), etc.).
[0191] For the sake of simplicity of description, the methods (700A-D) are described and explained as a series of actions. However, actions according to the present disclosure may occur in various sequences and / or simultaneously and together with other actions not presented and described herein. Furthermore, in some embodiments, not all of the exemplified actions are performed to implement the methods (700A-D) according to the subject matter of the disclosure. Additionally, those skilled in the art will understand and recognize that the methods (700A-D) may alternatively be represented as a series of interrelated states through state diagrams or events.
[0192] FIG. 7a is a flowchart of a method associated with determining correction actions for semiconductor manufacturing systems according to embodiments of the present disclosure.
[0193] Referring to FIG. 7a, in block (701), the processing logic implementing the method (700A) generates a product knowledge causal graph. The product knowledge causal graph is based on causal relationships between multiple sensors within 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 causal relationships between multiple sensors within one or more manufacturing systems. In such cases, the product knowledge causal graph may then be determined based on the causal strength index matrix, as well as part data of multiple parts of the manufacturing system and equipment constant data of multiple equipment constants of the manufacturing system.
[0194] In some embodiments, one or more manufacturing systems may be wafer manufacturing systems, and a plurality of sensors may monitor a plurality of parameters of the wafer manufacturing systems. A product knowledge causal graph may be based on component data of a plurality of components of a manufacturing system, and each of the plurality of components corresponds to at least one of the plurality of sensors. In some embodiments, a product knowledge causal graph may be based on equipment constant data of a plurality of equipment constants of a manufacturing system, and the equipment constant data corresponds to at least one of the plurality of sensors.
[0195] In some embodiments, the processing logic may further determine relationships between a plurality of parts of the manufacturing system and a plurality of sensors of the manufacturing system, and relationships between a plurality of equipment constants of the manufacturing system and a plurality of sensors of the manufacturing system. In some embodiments, relationships may be determined based on user input (e.g., from a subject matter expert). In some embodiments, relationships may be determined using a neural network, a large language learning model, and / or similar.
[0196] In block (702), the processing logic determines a causal strength index matrix. In some embodiments, the causal strength index matrix may be determined based on a product knowledge causal graph.
[0197] In block (703), the processing logic determines the root cause of the abnormal behavior using at least one of a causal strength index matrix or a product knowledge causal graph in response to identifying abnormal behavior in at least one of a plurality of sensors. In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may include statistical-based fault detection and classification (FDC). In FDC, statistical process control techniques, such as control charts, are used to monitor sensor data. For example, abnormal sensors may be detected when sensor readings are outside of predefined control limits or exhibit statistically significant trends, shifts, or patterns that deviate from expected behavior.
[0198] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may involve the use of guard banding algorithms. In some embodiments, the use of guard banding algorithms involves setting predefined tolerance limits around expected sensor values. When sensor readings exceed the specified guard bands and indicate a deviation from an acceptable range, the sensors may be flagged as abnormal. The component corresponding to the sensor may have, for example, a certificate of approval, quality data, specification data, etc., of the component, which may be outside the control limits corresponding to the component, causing the corresponding sensor to be flagged.
[0199] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may involve the use of machine learning-based anomaly detection methods, e.g., autoencoders or isolated forests. Machine learning methods may be trained on historical sensor data to learn historical data patterns of non-abnormal sensors. In some embodiments, abnormal sensors may be detected when sensor readings deviate significantly from learned patterns.
[0200] In some embodiments, identifying abnormal behavior in at least one of a plurality of sensors may include rule-based abnormal detection, pattern recognition techniques, comparative analysis and / or similar methods.
[0201] In some embodiments, in response to identifying abnormal behavior in at least one of a plurality of sensors, the processing logic may further determine a plurality of root causes of the abnormal behavior using at least one of a causal strength index matrix or a product knowledge causal graph. Each of the plurality of root causes may be ranked based on a corresponding severity value.
[0202] In some embodiments, severity data is associated with a causal relationship between two nodes (e.g., the severity of a causal relationship between two or more variables / nodes). The sum of the weights of all causal edges of a node (edges indicating that nodes influence other nodes) may be used to determine the sensor threshold. The severity value may be based on the threshold 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 the root cause occurs more frequently than other root causes, thereby increasing the severity value of the root cause.
[0203] In some embodiments, the processing logic may additionally identify a plurality of correction actions based on at least a subset of part data corresponding to a plurality of root causes, or a subset of equipment constant data corresponding to a plurality of root causes. Each of the plurality of correction actions may correspond to at least one of the plurality of root causes and may be ranked based on the corresponding severity value of the corresponding root cause.
[0204] In block (704), the processing logic identifies at least one correction action for abnormal behavior based on a subset of part data corresponding to the root cause of the abnormal behavior, or a subset of equipment constant data corresponding to the root cause of the abnormal behavior.
[0205] In some embodiments, at least one recommended correction action corresponds to a part among a plurality of parts of a manufacturing system, or at least one of an equipment constant among a plurality of equipment constants of a manufacturing system. In some embodiments, the recommended correction actions may represent adjustment of an equipment constant, replacement of a part, and / or similar actions.
[0206] Identifying at least one correction action for abnormal behavior (e.g., based on a subset of part data corresponding to the root cause of the abnormal behavior, or a subset of equipment constant data corresponding to the root cause of the abnormal behavior) involves providing sensor data as input to a trained machine learning model and receiving an output associated with predicted data. The recommended correction action may be associated with the predicted data. For example, an abnormal sensor may be detected and flagged. The product knowledge causal graph may be updated to reflect the abnormal sensor. Next, the product knowledge causal graph may be used to determine the root cause of the abnormal behavior and / or identify a correction action (e.g., by providing the product knowledge causal graph as input to a trained machine learning model).
[0207] In some embodiments, the trained machine learning model may be trained with training input data comprising historical product knowledge causal graphs and historical causal strength index matrices (e.g., causality data), and with a target output of historical recommendation data. In some embodiments, the recommendation data is associated with recommended correction actions.
[0208] In some embodiments, determining the root cause of abnormal behavior using at least one of a causal strength index matrix or a product knowledge causal graph in response to identifying abnormal behavior in at least one of a plurality of sensors comprises providing the product knowledge causal graph and the causal strength index matrix (e.g., causality data) as inputs to a trained machine learning model and receiving an output associated with predicted data. In some embodiments, the root cause action may be associated with the predicted data. In some embodiments, the trained machine learning model may be trained with training input data comprising past product knowledge causal graphs and past causal strength index matrices (e.g., causality data), and target outputs of past recommendation data (e.g., root cause, recommended correction action, etc.). In some embodiments, the recommendation data is associated with the root causes.
[0209] In some embodiments, the root cause may correspond to at least one of a part among a plurality of parts of the manufacturing system or an equipment constant among a plurality of equipment constants of the manufacturing system. In some embodiments, the root cause may be associated with a recommended correction action and may represent adjustment of an equipment constant, replacement of a part, and / or similar.
[0210] In some embodiments, the processing logic may identify multiple correction actions based on whether the system health factor index values satisfy a criterion. In some embodiments, the criterion represents a critical system health level, and when the system health falls below a determined level, the corresponding system health factor index values satisfy the corresponding criterion.
[0211] In some embodiments, the system health factor index value may be calculated based on the number of abnormal sensors detected in the manufacturing system and the corresponding threshold values of the abnormal sensors, and may be normalized using weights of multiple directional edges corresponding to the abnormal sensors. In some embodiments, the abnormal sensor is a sensor and / or measurement tool that collects abnormal data (e.g., measurements outside the expected or normal range for a specific parameter).
[0212] In some embodiments, the system health factor index value may indicate the health of the system. In some embodiments, a high system health factor index means that the system is relatively healthy, and a low system health factor index means that the system is not healthy. In some embodiments, when the system health factor index value is high and indicates that the system is healthy, a recommended correction action may not be issued for the detected abnormal sensor or sensors. This is because the causal consequences of such abnormal sensors do not have sufficient weight (e.g., strong causal consequences for the system outputs), and therefore a recommended correction action is not required. In some embodiments, such sensors may have a low threshold.
[0213] Meanwhile, when abnormal sensors have higher weights and have a greater impact on the system outputs, the system health factor index value may be lower (e.g., the system is not healthy). Under such circumstances, a low system health factor index value will allow recommended correction actions to be identified. In some embodiments, this is because the abnormal sensors have a high threshold (e.g., because they have a significant impact on the system outputs).
[0214] In some embodiments, the system health factor index values may represent the health of a fleet of systems. For example, the system health factor index values of each system in a fleet of systems may be statistically combined (e.g., by averaging, weighting, mediating, harmonizing, quantifying, etc.) to provide a fleet system health factor index.
[0215] FIG. 7b is a flowchart of a method for training a machine learning model (e.g., model (190) of FIG. 1) to determine prediction data (e.g., prediction data (160) of FIG. 1) associated with determining correction actions for manufacturing systems according to embodiments of the present disclosure.
[0216] Referring to FIG. 7b, in block (710) of the method (700B), the processing logic identifies past causality data (e.g., past causality data from a product knowledge causality graph and / or causality strength index matrix of a manufacturing system, past causality data (174), etc.). The past causality data may include data from past product knowledge causality graphs, past causality strength index matrices, past manufacturing systems, past subsystems, and / or similar sources.
[0217] In some embodiments, in block (712), the processing logic identifies past recommendation data (e.g., past root causes, root cause data, recommended correction action data, past recommended correction actions, past recommendation data (134) of FIG. 1) of one or more manufacturing systems, subsystems (e.g., processing chambers) and / or similar ones. The past recommendation data may include past root causes and / or recommended correction actions from past manufacturing systems and / or subsystems. For example, the past recommendation data may include past recommended correction actions issued for the correction of abnormal sensors within the manufacturing system (e.g., recommendations for changing parts or components, recommendations for adjusting equipment constant values, recommendations for performing maintenance, etc.). The past recommendation data may include past root causes identified as causing abnormal sensors in the manufacturing system.
[0218] In some embodiments, recommendation data including historical recommendation data may include user input (e.g., user input from a subject matter expert) indicating the root cause of abnormal behavior in the manufacturing system and / or the recommended corrective action. Recommendation data including historical recommendation data may be associated with causality data. For example, the recommended corrective action may be issued based on the root cause of the abnormal behavior, and the root cause is determined based on the causality data (e.g., using a product knowledge causality graph).
[0219] In block (714), the processing logic trains a machine learning model using a data input containing historical causality data (174) (e.g., historical product knowledge causality graphs, historical causality strength index matrices, etc.) and / or a target output containing historical recommendation data (134) (e.g., historical recommended correction action data, historical correction actions, historical root cause data, historical root causes, etc.) to generate a trained machine learning model.
[0220] In some embodiments, historical causality data belongs to past manufacturing systems / subsystems (e.g., represented by product knowledge causality graphs and / or causality strength index matrices). In some embodiments, historical causality data corresponds to product knowledge causality graphs and / or causality strength index matrices, and / or similar items. In some embodiments, historical causality data includes past product knowledge causality graphs and / or causality strength index matrix values of past manufacturing systems / subsystems, or historical recommendation data corresponds to past manufacturing systems / subsystems. Historical recommendation data may be associated with recommended correction actions, identified root causes, causal relationships between nodes of causality graphs, etc. Historical recommendation data may be associated with causal relationships of sensors of manufacturing systems / subsystems, e.g., the direction and weight of causal relationships (e.g., illustrated by weighted directed edges in a DAG). For example, based on the severity values of corresponding root causes, a first correction action may have a higher rank than a second correction action.
[0221] FIG. 7c is a method (700C) for using a trained machine learning model (e.g., model (190) of FIG. 1) associated with determining correction actions for manufacturing systems and identifying root causes according to some embodiments.
[0222] Referring to FIG. 7c, in block (720) of the method (700C), the processing logic identifies causality data. In some embodiments, the causality data of block (720) includes product knowledge causality graphs, causality strength index matrices and / or similar items.
[0223] In block (722), the processing logic provides causality data as data input to a trained machine learning model (e.g., trained via block (714) of FIG. 7b). In some embodiments, the causality data may be a product knowledge causality graph and / or a causality strength index matrix. In some embodiments, the product knowledge causality graph and / or causality strength index matrix may have anonymously flagged nodes (e.g., sensors). In some embodiments, the trained machine learning model may be involved in determining correction actions for manufacturing systems (e.g., recommended correction actions and / or similar ones).
[0224] In block (724), the processing logic receives an output associated with the prediction data from a trained machine learning model, where the recommended correction action is associated with the prediction data.
[0225] In block (726), the processing logic determines the recommended correction action based on the prediction data.
[0226] In some embodiments, the causality data are product knowledge causality graphs and / or causality strength index matrices of the manufacturing system, and the trained machine learning model of block (722) is trained using data inputs including past product knowledge causality graphs and past causality strength index matrices, and a target output including past recommendation data including past recommended correction actions of the manufacturing system. The prediction data of block (724) may be associated with recommendation data predicted based on the causality data (e.g., recommendation data for the manufacturing system, such as predicted recommended correction actions). In response to the predicted recommendation data meeting a threshold (e.g., recommendations aligning with predefined threshold criteria or metrics, etc.), the processing logic may confirm the predicted recommendation data (e.g., recommended correction actions). In response to the recommendation data not meeting a threshold, the process logic may modify the model or estimation procedure to improve the accuracy of the recommendations (e.g., using a different recommendation algorithm, incorporating more data or additional variables, using more appropriate model specifications, etc.).
[0227] In some embodiments, in response to the predicted recommendation data meeting a threshold (e.g., recommendations aligning with predefined threshold criteria or metrics), the processing logic may confirm the predicted recommendation data (e.g., recommended correction actions). In response to the predicted recommendation data not meeting the threshold, the processing logic may modify the model or estimation procedure to improve the recommended correction actions (e.g., using a different recommendation algorithm, incorporating more data or additional variables, using more appropriate model specifications, etc.).
[0228] FIG. 7d is a method (700D) for using a trained machine learning model (e.g., model (190) of FIG. 1) associated with determining root causes for manufacturing systems according to some embodiments.
[0229] Referring to FIG. 7d, in block (730) of the method (700D), the processing logic identifies causality data. In some embodiments, the causality data of block (730) includes product knowledge causality graphs of a manufacturing system and / or causality strength index matrices, and / or similar ones.
[0230] In block (732), the processing logic provides causality data as data input to a trained machine learning model (e.g., trained via block (714) of FIG. 7b). In some embodiments, the causality data may be a product knowledge causality graph and / or a causality strength index matrix. In some embodiments, the product knowledge causality graph and / or causality strength index matrix may have anonymously flagged nodes (e.g., sensors). In some embodiments, the trained machine learning model may be involved in determining root causes for manufacturing systems (e.g., root causes of abnormal sensors and / or similar).
[0231] In block (734), the processing logic receives an output related to the predicted data from a trained machine learning model, where the root cause is related to the predicted data.
[0232] In block (736), the processing logic determines the root cause based on the predicted data.
[0233] In some embodiments, the causality data are product knowledge causality graphs and / or causality strength index matrices of the manufacturing system, and the trained machine learning model of block (732) is trained using data inputs including past product knowledge causality graphs and past causality strength index matrices, and a target output including past recommendation data including past root causes of the manufacturing system. The prediction data of block (734) may be associated with predicted recommendation data based on the causality data (e.g., recommendation data for the manufacturing system such as predicted root causes). In response to the predicted recommendation data meeting a threshold (e.g., root causes aligning with predefined threshold criteria or metrics, etc.), the processing logic may confirm the predicted recommendation data (e.g., root causes, etc.). In response to the recommendation data not meeting a threshold, the process logic may modify the model or estimation procedure to improve the accuracy of the recommendations (e.g., using a different recommendation algorithm, incorporating more data or additional variables, using more appropriate model specifications, etc.).
[0234] In some embodiments, in response to the predicted recommendation data meeting a threshold (e.g., root causes aligning with predefined threshold criteria or metrics), the processing logic may confirm the predicted recommendation data (e.g., root causes, etc.). In response to the predicted recommendation data not meeting the threshold, the processing logic may modify the model or estimation procedure to improve the predicted root causes (e.g., using a different recommendation algorithm, incorporating more data or additional variables, using more appropriate model specifications, etc.).
[0235] FIG. 8 is a block diagram illustrating a computer system (800) according to specific 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 similar.
[0236] In some embodiments, the computer system (800) may be connected to other computer systems (e.g., via a network, e.g., a local area network (LAN), an intranet, an extranet, or the Internet). In some embodiments, the computer system (800) operates as a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. In some embodiments, the computer system (800) is provided by a personal computer (PC), a tablet PC, a set-top box (STB), a portable information terminal (PDA), a cellular phone, a web device, a server, a network router, a switch or a bridge, or any device capable of executing a set of instructions (sequentially or otherwise) that specifies actions to be taken by said device. Additionally, the term “computer” should include any set of computers that execute a set (or a number of sets) of instructions individually or jointly to perform any one or more of the methods described herein.
[0237] In an additional embodiment, the computer system (800) includes a processing device (802), a volatile memory (804) (e.g., random access memory (RAM)), a non-volatile memory (806) (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device (818) that communicate with each other via a bus (808).
[0238] In some embodiments, 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 (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of types of instruction sets) or a specialized processor (e.g., an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0239] In some embodiments, the computer system (800) further includes a network interface device (822) (e.g., coupled to a network (874)). In some embodiments, the computer system (800) also includes a video display unit (810) (e.g., a liquid crystal display (LCD)), a character-numeric input device (812) (e.g., a keyboard), a cursor control device (814) (e.g., a mouse), and a signal generating device (820).
[0240] In some implementations, the data storage device (818) includes a non-transient computer-readable storage medium (824) that stores instructions (826) for encoding any one or more of the methods or functions described herein, including instructions for encoding the components of FIG. 1 (e.g., correction action component (122), prediction component (114), etc.) and for implementing the methods described herein (e.g., one or more of the methods (500A-C and 700A-D)).
[0241] In some embodiments, since the instructions (826) also reside completely or partially in the volatile memory (804) and / or the processing device (802) during the execution of the instructions by the computer system (800), in some embodiments, the volatile memory (804) and the processing device (802) also constitute a machine-readable storage medium.
[0242] In exemplary examples, a computer-readable storage medium (824) is illustrated as a single medium, but the term “computer-readable storage medium” should include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of executable instructions. The term “computer-readable storage medium” should also include any type of medium capable of storing or encoding a set of instructions for execution by a computer, which causes a computer to perform any one or more of the methods described herein. The term “computer-readable storage medium” should include, but is not limited to, solid-state memories, optical media, and magnetic media.
[0243] The methods, components, and features described herein may be implemented as separate hardware components or integrated into the functions of other hardware components, such as application-specific integrated circuits (ASICs), FPGAs, DSPs, or similar devices. Additionally, the methods, components, and features may be implemented by firmware modules or functional circuits within the hardware devices. Furthermore, the methods, components, and features may be implemented by any combination of hardware devices and computer program components, or by computer programs.
[0244] Unless specifically stated otherwise, terms such as “create,” “identify,” “determine,” “assign,” “provide,” “receive,” “update,” “cause,” “perform,” “acquire,” “access,” “add,” “use,” “train,” or similar ones refer to operations and processes performed or implemented by computer systems that manipulate and convert data represented as physical (electronic) quantities within computer system registers and memories into other data similarly represented as physical quantities within computer system memories or registers or other such information storage, transmission, or display devices. Additionally, terms such as “first,” “second,” “third,” “fourth,” as used herein, are intended as labels to distinguish different elements and cannot have an ordinal meaning according to their numerical designations.
[0245] The examples described herein also relate to an apparatus for carrying out the methods described herein. This apparatus may be specifically configured to carry out the methods described herein, or it may include a general-purpose computer system optionally programmed by a computer program stored in a computer system. Such a computer program may be stored on a computer-readable tangible storage medium.
[0246] The methods and exemplary examples described herein are not inherently related to any specific computer or other device. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to configure a more specialized device for performing each of the methods and / or their individual functions, routines, subroutines, or operations described herein. Examples of structures for various such systems are presented in the above description.
[0247] The foregoing description is intended to be illustrative rather than limiting. Although the present disclosure has been described with reference to specific exemplary examples and embodiments, it will be recognized that the present disclosure is not limited to the described examples and embodiments. The scope of the present disclosure shall be determined by reference to the following claims, together with the full scope of equivalents given to the claims.
Claims
Claim 1 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 among a plurality of sensors in one or more manufacturing systems; determining a causal strength index matrix; determining the root cause of anomalous behavior using at least one of the causal strength index matrix or the causal graph in response to identifying anomalous behavior in at least one of the plurality of sensors; and issuing a recommended correction action based on the root cause of the anomalous behavior. Claim 2 The method of claim 1 further comprises the step of determining a plurality of root causes of the abnormal behavior using at least one of the causal strength index matrix or the causal graph in response to identifying the abnormal behavior in at least one of the plurality of sensors, wherein each of the plurality of root causes is ranked based on a corresponding severity value; and the step of issuing a plurality of recommended correction actions based on the plurality of root causes of the abnormal behavior, wherein each of the plurality of correction actions corresponds to at least one of the plurality of root causes and is ranked based on the corresponding severity value of the corresponding root cause. Claim 3 The method of claim 1, wherein the step of determining the causal strength index matrix of the manufacturing system is based on at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directed coherence, or linear and non-linear conditional independence tests. Claim 4 A method according to claim 1, wherein the causal graph is a directed acyclic graph (DAG), and the causal knowledge DAG is generated by combining the causal strength index matrix and cause and effect interdependencies from user input, and the causal knowledge DAG comprises: a plurality of nodes corresponding to the plurality of sensors of the manufacturing system; and a plurality of directed edges having weights—the weights are determined using a structural causal model. Claim 5 A method according to claim 4, further comprising: a step of assigning a criticality value to each of the plurality of sensors of the manufacturing system; a step of assigning a system health factor index value to the manufacturing system, wherein the system health factor index value is calculated based on the number of abnormal sensors and the corresponding criticality values of the abnormal sensors and normalized using the weights of the plurality of directional edges corresponding to the abnormal sensors; and a step of issuing a recommended correction action based on the system health factor index value satisfying a criterion. Claim 6 A method according to claim 4, further comprising the step of determining the weights using the structural causal model, wherein the structural causal model is a trained machine learning model, and the step of determining the weights comprises: providing sensor data as input to the trained machine learning model; and receiving an output associated with the prediction data—the weights of the directional edges are associated with the prediction data. Claim 7 In claim 6, the method wherein the trained machine learning model is trained with a data input including past sensor data and a target output of past causality data. Claim 8 A method according to 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. Claim 9 A non-transient computer-readable storage medium storing instructions that cause a processing device to perform operations when executed, wherein the operations include: generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems; determining a causal strength index matrix; determining the root cause of the abnormal behavior using at least one of the causal strength index matrix or the causal graph in response to identifying abnormal behavior in at least one of the plurality of sensors; and issuing a recommended correction action based on the root cause of the abnormal behavior. Claim 10 A non-transient computer-readable storage medium according to claim 9, wherein the operations further comprise: a step of determining a plurality of root causes of the abnormal behavior using at least one of the causal strength index matrix or the causal graph in response to identifying an abnormal behavior in at least one of the plurality of sensors, wherein each of the plurality of root causes is ranked based on a corresponding severity value; and a step of issuing a plurality of recommended correction actions based on the plurality of root causes of the abnormal behavior, wherein each of the plurality of correction actions corresponds to at least one of the plurality of root causes and is ranked based on the corresponding severity value of the corresponding root cause. Claim 11 In claim 9, the step of generating a causal strength index matrix of the manufacturing system is a non-transient computer-readable storage medium based on at least one of Granger causality, transfer entropy measures, cross-entropy measures, causality tests, partial directional coherence, or linear and non-linear conditional independence tests. Claim 12 In claim 9, the causal graph is a directed acyclic graph (DAG), the causal knowledge DAG is generated by combining the causal strength index matrix and cause and effect interdependencies from user input, and the causal knowledge DAG comprises: a plurality of nodes corresponding to the plurality of sensors of the manufacturing system; and a plurality of directed edges having weights—the weights are determined using a structural causal model—a non-transient computer-readable storage medium. Claim 13 In claim 12, the operations further comprise: a step of assigning a threshold value to each of the plurality of sensors of the manufacturing system; a step of assigning a system health factor index value to the manufacturing system, wherein the system health factor index value is calculated based on the number of abnormal sensors and the corresponding threshold values of the abnormal sensors and normalized using the weights of the plurality of directional edges corresponding to the abnormal sensors; and a step of issuing a recommended correction action based on the system health factor index value satisfying a criterion, a non-transient computer-readable storage medium. Claim 14 In claim 12, the operations further comprise the step of determining the weights using the structural causal model, wherein the structural causal model is a trained machine learning model, and the step of determining the weights comprises: providing sensor data as input to the trained machine learning model; and receiving an output associated with the prediction data—the weights of the directional edges are associated with the prediction data—a non-transient computer-readable storage medium. Claim 15 In paragraph 14, the above-mentioned trained machine learning model is trained with a data input including past sensor data and a target output of past causality data, in a non-transient computer-readable storage medium. Claim 16 A system comprising: a memory; and a processing device coupled to said memory, wherein the processing device comprises: generating a causal graph based on a plurality of values, each value corresponding to a causal relationship between two or more sensors among a plurality of sensors in one or more manufacturing systems; determining a causal strength index matrix; determining the root cause of said abnormal behavior using at least one of the causal strength index matrix or said causal graph in response to identifying abnormal behavior in at least one of said sensors; and, based on the root cause of said abnormal behavior, causing a recommended correction action to be issued. Claim 17 In claim 16, the causal graph is a directed acyclic graph (DAG), and the causal knowledge DAG is generated by combining the causal strength index matrix and cause and effect interdependencies from user input, and the causal knowledge DAG comprises: a plurality of nodes corresponding to the plurality of sensors of the manufacturing system; and a plurality of directed edges having weights - the weights are determined using a structural causal model - a system. Claim 18 In claim 17, the processing device further comprises: assigning a threshold value to each of the plurality of sensors of the manufacturing system; assigning a system health factor index value to the manufacturing system, wherein the system health factor index value is calculated based on the number of abnormal sensors and the corresponding threshold values of the abnormal sensors, and normalized using the weights of the plurality of directional edges corresponding to the abnormal sensors; and a system that causes a recommended correction action to be issued based on the system health factor index value satisfying a criterion. Claim 19 In claim 17, the processing device further determines the weights using the structural causal model, the structural causal model is a trained machine learning model, and determining the weights comprises: providing sensor data as input to the trained machine learning model; and receiving an output associated with the prediction data—the weights of the directional edges are associated with the prediction data. Claim 20 In paragraph 19, the above-mentioned trained machine learning model is trained with a data input including past sensor data and a target output of past causality data, in a system.
