Computer program, information processing device, and information processing method

JPWO2024117013A5Pending Publication Date: 2025-08-06
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024561441
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-05-28
Publication Date
2025-08-06

AI Technical Summary

Technical Problem

Current technologies lack the ability to effectively derive causal structures between observed variables in substrate processing systems, leading to inefficiencies and misidentification of causal relationships, which can result in suboptimal processing outcomes.

Method used

A computer program and information processing device that acquire observation data from substrate processing apparatuses, utilize algorithms like LiNGAM and DirectLiNGAM to model causal relationships, and implement edge pruning to prevent overfitting, thereby deriving a causal structure represented as a directed acyclic graph, allowing for improved causal relationship identification and prediction modeling.

Benefits of technology

This approach enables the derivation of reliable causal structures, enhances predictive modeling, and provides actionable insights for optimizing substrate processing by accurately identifying causal relationships and preventing misidentification of edges, leading to more efficient and reliable process control.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Provided are a computer program, an information processing device, and an information processing method.  The present invention causes a computer to execute processes for: acquiring, from an observation system to be monitored, measurement data corresponding to a plurality of kinds of observation variables; searching for the causal relationship between the observation variables on the basis of the acquired observation data; and deriving the causal structure of the observation variables in the observation system by correcting the causal relationship according to constraint conditions to be applied between the observation variables.
Need to check novelty before this filing date? Find Prior Art

Description

Computer program, information processing device, and information processing method

[0001] The present invention relates to a computer program, an information processing device, and an information processing method.

[0002] Substrate processing equipment processes substrates based on a process recipe. The recipe consists of multiple steps, and optimal processing results can be obtained by controlling various parameters, such as pressure and temperature, for each step. Since the set values ​​of the various parameters may differ for each step, measurement data from multiple sensors installed in the substrate processing equipment is managed for each substrate.

[0003] Patent Document 1 discloses a technique for visualizing data regarding a process having multidimensional independent variables and dependent variables.

[0004] Special Publication No. 2022-502806

[0005] The present disclosure aims to provide a computer program, an information processing device, and an information processing method for deriving a causal structure between observed variables based on observed data.

[0006] The computer program disclosed herein causes a computer to execute a process of acquiring observation data corresponding to multiple types of observation variables from a monitored observation system, searching for causal relationships between the observation variables based on the acquired observation data, and modifying the causal relationships in accordance with constraints to be applied between the observation variables, thereby deriving a causal structure of the observation variables in the observation system.

[0007] According to the present disclosure, a causal structure between observed variables can be derived based on observed data.

[0008] 10 is an explanatory diagram illustrating a configuration of an information processing system according to an embodiment. FIG. 11 is a schematic diagram illustrating an example of a causal structure derived by an information processing device. FIG. 12 is a block diagram illustrating the internal configuration of an information processing device. FIG. 13 is a directed acyclic graph representing the relationship between observed variables. FIG. 14 is a schematic diagram illustrating an example of a directed acyclic graph in which edges are drawn from a plurality of other nodes to one node. FIG. 15 is a flowchart illustrating a procedure for deriving a causal structure. FIG. 16 is an explanatory diagram illustrating an operation for modifying a causal structure. FIG. 17 is a flowchart illustrating a procedure for modifying a causal structure by a user. FIG. 18 is a flowchart illustrating a procedure for generating a prediction model. FIG. 19 is a flowchart illustrating a procedure for executing performance prediction. FIG. 19 is an explanatory diagram illustrating a method for estimating a cause of variation. FIG. 19 is a flowchart illustrating a procedure for estimating a cause of variation. FIG. 19 is a flowchart illustrating a procedure for outputting countermeasure information. FIG. 19 is an explanatory diagram illustrating an operation for narrowing down candidate cause of variation. FIG. 19 is a flowchart illustrating a procedure for accepting an operation for narrowing down candidate cause of variation. FIG. 19 is a flowchart illustrating a procedure for deriving a causal structure in a seventh embodiment. FIG. 19 is a schematic diagram illustrating an example of a causal structure in which a function form is complemented. FIG. 19 is a schematic diagram illustrating an example of a graphical display of a nonlinear relationship. FIG. 19 is a schematic diagram illustrating an example visualized as knowledge of a process mechanism. FIG. 19 is a schematic diagram illustrating an example of a causal structure used for failure prediction. 10 is a flowchart showing a procedure for creating a process window.

[0009] An embodiment will be described below with reference to the drawings. (Embodiment 1) Fig. 1 is an explanatory diagram illustrating the configuration of an information processing system according to an embodiment. The information processing system according to the embodiment includes an information processing apparatus 100 and a substrate processing apparatus 200 that are communicatively connected.

[0010] The substrate processing apparatus 200 is, for example, a semiconductor manufacturing apparatus including at least one of an exposure apparatus, an etching apparatus, a film forming apparatus, an ion implantation apparatus, an ashing apparatus, a sputtering apparatus, etc. Alternatively, the substrate processing apparatus 200 may be a display manufacturing apparatus that manufactures flat display panels (FDPs) such as liquid crystal display panels and organic electroluminescence (EL) panels.

[0011] At the start of a process, various setting values ​​such as the substrate temperature, the pressure and gas flow rate in the chamber, and the voltage applied from the high-frequency power supply are set in the substrate processing apparatus 200. The substrate processing apparatus 200 is also provided with a plurality of sensors that measure the substrate temperature, the pressure and gas flow rate in the chamber, and the voltages applied to the upper and lower electrodes during the process. The substrate processing apparatus 200 outputs the setting values ​​set at the start of the process and the measurement values ​​measured during the process to the information processing apparatus 100 as observation data.

[0012] The information processing apparatus 100 acquires observation data from a monitored observation system (in this embodiment, the substrate processing apparatus 200). Based on the acquired observation data, the information processing apparatus 100 searches for causal relationships between observed variables and modifies the causal relationships in accordance with constraints to be applied between the observed variables, thereby deriving a causal structure of all observed variables in the observation system.

[0013] 2 is a schematic diagram showing an example of a causal structure derived by the information processing apparatus 100. The causal structure is depicted, for example, by a directed acyclic graph using nodes representing each observed variable and edges representing causal relationships between the nodes. In an actual process in the substrate processing apparatus 200, many observed variables are handled, but for simplification, only eight observed variables are extracted in FIG. 2 to show their causal structures.

[0014] The directed acyclic graph shown in Figure 2 is composed of nodes ND1 to ND8 corresponding to eight observation variables and multiple edges EG12, EG36, EG37, EG46, EG56, EG62, EG67, and EG68 that represent causal relationships between the observation variables (between nodes). In the example of Figure 2, nodes ND1 to ND8 are shown as regular hexagonal icons, but the shape of the icons is not limited to regular hexagons and may be circular or another shape. The character string shown inside the icon represents the variable name of each observation variable.

[0015] An edge EG12 is shown between the two nodes ND1 and ND2, drawn from node ND1 toward node ND2. The edge EG12 connecting the two nodes ND1 and ND2 represents a causal relationship between the observation variable corresponding to node ND1 (the light-receiving window coating) and the observation variable corresponding to node ND2 (the OES). The light-receiving window coating represents the amount of coating deposited on the light-receiving window. The OES is an Optical Emission Spectrometer, and represents measurement data of the plasma emission intensity. The direction of edge EG12 (indicated by the arrow) represents the effect of the light-receiving window coating on the OES. The same applies to the causal relationships between the other nodes.

[0016] In the following description, when a first observation variable influences a second observation variable, the first observation variable is also referred to as an observation variable upstream of the second observation variable, and the second observation variable is also referred to as an observation variable downstream of the first observation variable.

[0017] The configuration of the information processing device 100 that derives a causal structure will be described below. Fig. 3 is a block diagram showing the internal configuration of the information processing device 100. The information processing device 100 is, for example, a dedicated or general-purpose computer including a control unit 101, a storage unit 102, a communication unit 103, an operation unit 104, and a display unit 105.

[0018] The control unit 101 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The ROM included in the control unit 101 stores control programs and the like that control the operation of each hardware unit included in the information processing device 100. The CPU in the control unit 101 reads and executes the control programs stored in the ROM and computer programs (described below) stored in the storage unit 102, and controls the operation of each hardware unit, thereby causing the entire device to function as the information processing device of the present disclosure. The RAM included in the control unit 101 temporarily stores data used during execution of calculations.

[0019] In the embodiment, the control unit 101 is configured to include a CPU, a ROM, and a RAM, but the configuration of the control unit 101 is not limited to the above. The control unit 101 may be, for example, one or more control circuits or arithmetic circuits including a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), a quantum processor, volatile or non-volatile memory, etc. The control unit 101 may also have functions such as a clock that outputs date and time information, a timer that measures the elapsed time from when a measurement start instruction is given until when a measurement end instruction is given, and a counter that counts numbers.

[0020] The storage unit 102 includes a storage device such as a hard disk drive (HDD), a solid state drive (SSD), an electronically erasable programmable read-only memory (EEPROM), etc. The storage unit 102 stores various computer programs executed by the control unit 101 and various data used by the control unit 101.

[0021] The computer program (program product) stored in the storage unit 102 includes a causal structure learning program PG1 for causing a computer to execute a process of deriving a causal structure of observation variables from observation data of the substrate processing apparatus 200. The causal structure learning program PG1 may be a single computer program or may be composed of multiple computer programs. Furthermore, the causal structure learning program PG1 may be executed by multiple computers working together. Furthermore, the causal structure learning program PG1 may partially use an existing library.

[0022] In addition to the causal structure learning program PG1, the storage unit 102 may also include a prediction model generation program PG2 that generates a prediction model based on the causal relationships between observed variables, a prediction program PG3 that predicts observed data using the prediction model, a cause estimation program PG4 that estimates the cause of process variation and recommends countermeasures, etc. These programs PG1 to PG4 may each be independent computer programs, or may be integrated into a single computer program.

[0023] A computer program including the causal structure learning program PG1 is provided by a non-transitory recording medium RM on which the computer program is readably recorded. The recording medium RM is a portable memory such as a CD-ROM, a USB memory, a Secure Digital (SD) card, a micro SD card, or a CompactFlash (registered trademark). The control unit 101 reads various computer programs from the recording medium RM using a reading device (not shown) and stores the read various computer programs in the storage unit 102. The computer programs stored in the storage unit 102 may also be provided via communication. In this case, the control unit 101 acquires the computer programs via communication via the communication unit 103 and stores the acquired computer programs in the storage unit 102.

[0024] The communication unit 103 includes a communication interface for transmitting and receiving various data to and from an external device. A communication interface conforming to a communication standard such as a local area network (LAN) can be used as the communication interface of the communication unit 103. The external device may be the substrate processing apparatus 200 described above or a user terminal (not shown). When data to be transmitted is input from the control unit 101, the communication unit 103 transmits the data to the external device as the destination, and when data transmitted from the external device is received, the communication unit 103 outputs the received data to the control unit 101.

[0025] The operation unit 104 includes operation devices such as a touch panel, a keyboard, and switches, and receives various operations and settings from a user, etc. The control unit 101 performs appropriate control based on various pieces of operation information provided by the operation unit 104, and stores setting information in the storage unit 102 as necessary.

[0026] The display unit 105 includes a display device such as a liquid crystal monitor or an organic electroluminescence (EL) display, and displays information to be notified to the user or the like in response to an instruction from the control unit 101 .

[0027] The information processing apparatus 100 in this embodiment may be a single computer, or may be a computer system configured with multiple computers and peripheral devices. The information processing apparatus 100 may be a virtual machine whose entity is virtualized, or may be a cloud. Furthermore, although the information processing apparatus 100 and the substrate processing apparatus 200 are described as separate entities in this embodiment, the information processing apparatus 100 may be provided inside the substrate processing apparatus 200.

[0028] A method for deriving a causal structure by the information processing device 100 will be described below. (1) Searching for Causal Relationships Causal relationships between observed variables are modeled, for example, by a structural equation model. LiNGAM (Linear Non-Gaussian Acyclic Model), which is one of the structural equation models, assumes that the probability distribution of exogenous variables is a non-Gaussian distribution under a linear acyclic model. Furthermore, the relationships between observed variables are expressed by a directed acyclic graph. FIG. 4 shows a directed acyclic graph representing the relationships between observed variables. In the example of FIG. 4, the number of observed variables is three, so the directed acyclic graph is expressed by a 3×3 adjacency matrix B={b ij}. b ij are the coefficients of the linear regression, and the observed variables x j From the observed variable x i The observed variable x represents the strength of the bond to j The exogenous variables (error variables) of e j Then, the structural equation model is expressed by Equation 1.

[0029]

[0030] The DirectLiNGAM algorithm has been proposed as one of the algorithms for searching structural equation models (causal search algorithms) (see, for example, S. Shimizu et al. Journal of Machine Learning Research, 12(Apr): 1225-1248(2011)). Under the above assumptions, this algorithm repeats regression analysis and evaluation of the independence of regression residuals to find the linear regression coefficient b ij The optimized coefficient b ij By drawing edges between nodes based on the above, a directed acyclic graph such as that shown in FIG. 4 can be drawn.

[0031] In the example of Figure 4, the number of observed variables is three, but the same applies when the number of observed variables is generalized to n (n is an integer of 2 or more). The directed acyclic graph is an n x n adjacency matrix B = {b ij}.

[0032] (2) Edge Pruning In the causal search described above, edges may be drawn from multiple other nodes to one node as long as the edges are not cyclic. FIG. 5 is a schematic diagram showing an example of a directed acyclic graph in which edges are drawn from multiple other nodes to one node. The example in FIG. 5 shows a case in which edges are drawn from nodes ND2, ND6, and ND7 representing the OES, VI sensor voltage measurement value, and VI sensor current measurement value to node ND8 representing the etching amount. This case shows that the observation variables of the OES, VI sensor voltage measurement value, and VI sensor current measurement value are strongly collinear with each other and are also correlated with the observation variable representing the etching amount.

[0033] In this embodiment, to avoid such overlearning, a constraint is added that prohibits drawing edges from multiple collinear observation variables to one observation variable at the same time. Specifically, an experiment is performed to determine which edge is most accurate to keep, and edges other than the edge with the highest accuracy are designated as prohibited edges. At this time, the acyclic constraint also changes, so a re-search for the causal structure is also performed.

[0034] 5 shows a state in which, of the edges from nodes ND2, ND6, and ND7 to node ND8, the edges from nodes ND2 and ND7 to ND8 are designated as prohibited edges. When prohibited edges are designated, the acyclic constraint also changes, and the causal search algorithm described above is executed again.

[0035] 6 is a flowchart showing the procedure for deriving a causal structure. The control unit 101 of the information processing device 100 reads out the causal structure learning program PG1 from the storage unit 102 and executes it to perform the following processes.

[0036] The control unit 101 acquires observation data corresponding to a plurality of observation variables from the substrate processing apparatus 200, which is the observation system to be monitored (step S101). The observation data acquired by the control unit 101 includes data measured in the substrate processing apparatus 200 and data set in the substrate processing apparatus 200, such as the coating of the light-receiving window, the OES, wear of the lower electrode, wear of the upper electrode, the voltage setting value, the voltage measurement value of the VI sensor, the current measurement value of the VI sensor, and the etching amount. The control unit 101 acquires this observation data by communicating with the substrate processing apparatus 200 via the communication unit 103.

[0037] The control unit 101 searches for causal relationships between observed variables based on the acquired observation data (step S102). When searching for causal relationships, as a preprocessing step, observed variables to be used for deriving the causal structure may be selected, or constraints may be added between the observed variables using prior knowledge of the process in the substrate processing apparatus 200. The control unit 101 searches for causal relationships between the observed variables using the above-mentioned causal search algorithm, thereby deriving the causal structure of all observed variables. Specifically, the control unit 101 derives the causal structure of all observed variables by repeating regression analysis and evaluation of the independence of regression residuals, assuming that there is linearity between the observed variables, that there is acyclicity in the causal structure, that the probability distribution of the exogenous variables is a non-Gaussian distribution, and that different exogenous variables are independent of each other. ij The control unit 101 optimizes the optimized coefficient b ijA directed acyclic graph is generated by drawing edges between nodes based on the above. This allows us to obtain a causal structure between observed variables, which may contain edges from multiple collinear nodes.

[0038] The control unit 101 detects edges drawn from multiple other collinear nodes to one node from the causal structure obtained in step S102 (step S103). The control unit 101 determines whether or not a corresponding edge exists (step S104). If it determines that a corresponding edge exists (S104: YES), the control unit 101 designates all edges other than the edge with the highest accuracy as prohibited edges in order to impose a constraint that prohibits edges from being drawn from multiple collinear observation variables to one observation variable at the same time (step S105), and returns the process to step S102.

[0039] If it is determined in step S104 that no corresponding edge exists (S104: NO), the control unit 101 ends the processing according to this flowchart.

[0040] This allows the control unit 101 to derive a causal structure of all observed variables as shown in Fig. 2. The control unit 101 may display the derived causal structure on the display unit 105, or may notify a user terminal (not shown) of the derived causal structure via the communication unit 103.

[0041] As described above, in embodiment 1, the causal structure of all observed variables can be derived based on the observation data obtained from the monitored observation system (substrate processing apparatus 200), and the causal relationships between the observed variables can be presented to the user.

[0042] In embodiment 1, edge pruning is performed to prevent multiple collinear nodes from simultaneously having a causal relationship with other nodes, thereby preventing misidentification of edges and enabling more reliable learning of causal structures.

[0043] In the second embodiment, a configuration will be described in which a causal structure presented to a user is modified by receiving an interactive operation. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0044] FIG. 7 is an explanatory diagram illustrating the operation of modifying the causal structure. The control unit 101 of the information processing device 100 derives the causal structure of all observed variables using the method disclosed in the first embodiment, and displays the derived causal structure on the display unit 105. The causal structure is drawn using a directed acyclic graph. In the process of deriving the causal structure, the control unit 101 calculates the degree of influence from one node to another node (the coefficient b of linear regression ij ) is calculated, the thickness and color of the edge between nodes may be changed based on the degree of influence. For example, if the degree of influence from one node to another node is relatively high, the thickness of the edge connecting these two nodes may be made thicker, and it may be displayed in a color different from other edges, such as red or blue.

[0045] In the directed acyclic graph of FIG. 7, edges EG36 and EG68 are shown thicker than the other edges, which indicates that the influence of the VI sensor voltage measurement value and the wear of the lower electrode on the etching amount is greater than the wear of the upper electrode and the voltage setting value.

[0046] The control unit 101 accepts, via the operation unit 104, a user's modification operation on the directed acyclic graph displayed on the display unit 105. For example, the control unit 101 accepts an operation to draw a new edge using a mouse or touch panel provided in the operation unit 104. This operation allows the user to add a new edge that should originally exist between any two nodes. The control unit 101 may also accept, using a mouse or keyboard provided in the operation unit 104, an operation to select an edge to be deleted and a predetermined operation to delete the selected edge (e.g., pressing a delete key). This operation allows the user to delete an unnecessary edge. Furthermore, the control unit 101 may also accept, using a mouse or touch panel provided in the operation unit 104, an operation to move the start point or end point of an edge to another node. This operation allows the user to change the causal relationship between observation variables.

[0047] 7 shows an example in which an operation to move the starting point of edge EG17 from node ND1 to node ND3 is received. In this case, edge EG17 between nodes ND1 and ND7 disappears, and a new edge EG7 is generated between nodes ND3 and ND7. Alternatively, an operation to delete edge EG17 and an operation to draw a new edge (edge ​​EG37) between nodes ND3 and ND7 may be received.

[0048] 8 is a flowchart showing the procedure for modifying the causal structure by the user. The control unit 101 of the information processing device 100 derives the causal structure of all observed variables using the same procedure as in embodiment 1, and displays the derived causal structure on the display unit 105 (step S201). At this time, the thickness and color of the edges may be changed based on the degree of influence from one node to another node.

[0049] The control unit 101 accepts, via the operation unit 104, modifications to the causal structure displayed on the display unit 105 (step S202). The control unit 101 accepts, via the operation unit 104, an operation to add a new edge that should originally exist, an operation to delete an unnecessary edge, an operation to change a causal relationship, and the like.

[0050] The control unit 101 recalculates the influence based on the corrected causal structure (step S203). Since the influence changes depending on the addition or deletion of edges, the control unit 101 recalculates the influence (linear regression coefficient b ij ) is recalculated.

[0051] In cases where sufficient observation data required for learning is not available, the causal structure algorithm alone may not be able to sufficiently correct the causal relationships between observed variables. In the second embodiment, it is possible to delete erroneous edges and add known edges through interactive operations, and the causal structure can be corrected based on the user's knowledge.

[0052] In the third embodiment, a configuration for generating a prediction model based on a derived causal structure will be described. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0053] 9 is a flowchart showing the procedure for generating a prediction model. The control unit 101 of the information processing device 100 reads and executes the prediction model generation program PG2 from the storage unit 102 to perform the following processing. It is assumed that the causal structure of the observation system to be monitored has already been derived.

[0054] The control unit 101 receives a selection of a performance parameter to be monitored (step S301). Here, one observation variable to be monitored is selected from the causal structure displayed on the display unit 105.

[0055] The control unit 101 extracts one or more observation variables having a direct causal relationship with the performance parameter selected in step S301 (step S302). For example, if the causal structure of FIG. 2 is the derived causal structure and the etching amount of the node ND8 is the performance parameter selected in step S301, the control unit 101 extracts the VI sensor voltage measurement value of the node ND6 as the observation variable having a direct causal relationship with the etching amount.

[0056] The control unit 101 generates a prediction model using the performance parameter selected in step S301 as the objective variable and the observation variable selected in step S302 as the explanatory variable (step S303). Any model can be used for the prediction model. For example, if the relationship between the performance parameter (= Y) and the observation variable (= x) extracted as the explanatory variable is expressed by a linear function, the prediction model can be written as Y = ax + b. Since observation data is obtained for the performance parameter Y and the observation variable x, the coefficients a and b can be determined by optimizing the prediction model using the observation data. The prediction model is not limited to a linear function, and any function can be used. The prediction model may also be a machine learning learning model.

[0057] As described above, in the third embodiment, when a performance parameter is specified, it is possible to extract observed variables having a direct causal relationship based on the derived causal structure and generate a prediction model that predicts the performance parameter from the observed variables. That is, in the third embodiment, it is possible to eliminate parameters corresponding to spurious correlations and generate a prediction model that is robust against factors that may fluctuate the results.

[0058] In the third embodiment, the control unit 101 is configured to extract an observation variable (explanatory variable) that has a direct causal relationship with the performance parameter. However, the user may select an explanatory variable as desired. The user can refer to the causal structure displayed on the display unit 105 and use the operation unit 104 to select a node corresponding to the observation variable to be used as the explanatory variable. For example, in the causal structure of FIG. 2, when the etching amount of the node ND8 is used as the performance parameter, the observation variable extracted as the explanatory variable is the VI sensor voltage measurement value. However, if the user wishes, an observation variable such as an OES that does not have a direct causal relationship can be added to the explanatory variable.

[0059] In the fourth embodiment, a configuration for predicting performance using the generated prediction model will be described. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0060] 10 is a flowchart showing the procedure for executing performance prediction. After generating a prediction model, the control unit 101 of the information processing device 100 reads out and executes the prediction program PG3 from the storage unit 102, thereby performing the following processes.

[0061] The control unit 101 acquires observation data corresponding to the explanatory variables of the prediction model from the substrate processing apparatus 200, which is the observation device to be monitored (step S401). If the explanatory variables are VI sensor voltage measurement values, the control unit 101 acquires data of the voltage measurement values ​​obtained from the VI sensor.

[0062] The control unit 101 inputs the acquired observation data into a prediction model and predicts the performance (step S402). The control unit 101 can predict the performance by executing a calculation using the prediction model.

[0063] The control unit 101 compares the performance predicted in step S402 with a reference value (step S403) and determines whether the performance satisfies the reference value (step S404). If it is determined that the performance satisfies the reference value (S404: YES), the control unit 101 determines that the process being performed in the substrate processing apparatus 200 is normal, and ends the processing according to this flowchart.

[0064] On the other hand, if it is determined that the reference value is not satisfied (S404: NO), the control unit 101 determines that the process being performed in the substrate processing apparatus 200 is abnormal, outputs an alarm (step S405), and ends the processing according to this flowchart. The control unit 101 outputs the alarm, for example, by displaying information that the process is abnormal on the display unit 105. Alternatively, the control unit 101 may notify a user terminal (not shown) of the information that the process is abnormal via the communication unit 103.

[0065] As described above, in the fourth embodiment, the performance is predicted using a prediction model, and by determining whether the predicted performance satisfies a reference value, it is possible to determine whether the process being performed in the substrate processing apparatus 200 is normal.

[0066] In the fifth embodiment, a configuration for estimating the cause of variation in one observed variable based on a causal structure will be described. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0067] In the fifth embodiment, the derived causal structure is used to identify the cause of fluctuation in an observation variable whose fluctuation cause is unknown by checking the upstream of the observation variable that is fluctuating.

[0068] FIG. 11 is an explanatory diagram illustrating a method for estimating the cause of variation. Assume that the causal structure shown in FIG. 2 is obtained as the causal structure of observed variables. Referring to the causal structure, it can be seen that the observed variables that affect the VI sensor voltage measurement value of node ND6 are the lower electrode wear of node ND3, the upper electrode wear of node ND4, and the voltage setting value of node ND5. It can also be seen that the observed variables that affect the VI current measurement value of node ND7 are the lower electrode wear of node ND3 and the VI sensor voltage measurement value of ND6.

[0069] The VI sensor voltage measurement value and the VI sensor current measurement value are expressed by the following calculation formulas.

[0070] VI sensor voltage measurement value = w1 x voltage setting value + w2 x lower electrode wear + w3 x upper electrode wear VI sensor current measurement value = w4 x VI sensor voltage measurement value + w5 lower electrode wear Here, w1 to w5 are coefficients that express the influence of the edge.

[0071] The top graph in Figure 11 shows the time variation of the voltage setting value, the middle graph shows the time variation of the VI sensor voltage measurement value, and the bottom graph shows the time variation of the VI sensor current measurement value. If there was no wear on the lower and upper electrodes, the VI sensor voltage measurement value could be explained solely by the voltage setting value, and would therefore fluctuate as shown by the dashed line in the middle graph. However, if the actual measurement value fluctuates as shown by the solid line, it is presumed that the VI sensor voltage measurement value is affected by wear on the lower and upper electrodes. In other words, it is presumed that the difference between the dashed line and the solid line in the middle graph includes a difference ΔV1 due to wear on the lower electrode and a difference V2 due to wear on the lower electrode.

[0072] Similarly, if there is no wear of the lower electrode, the measured VI sensor current value can be explained only by the measured VI sensor voltage value, and therefore should fluctuate as shown by the dashed line in the lower graph. However, if the actual measured value fluctuates as shown by the solid line, it is presumed that the measured VI sensor current value is affected by wear of the lower electrode. In other words, it is presumed that the difference between the dashed line and the solid line in the lower graph includes the difference ΔI caused by the lower electrode.

[0073] The control unit 101 can estimate the degree of wear of the lower electrode and the upper electrode by optimizing the estimated results of the VI sensor voltage measurement value and the VI sensor current measurement value so that they match the actual measurement values.

[0074] 12 is a flowchart showing the procedure for estimating the cause of variation. After deriving the causal structure, the control unit 101 of the information processing device 100 reads out and executes the cause estimation program PG4 from the storage unit 102, thereby performing the following processing.

[0075] The control unit 101 assumes that there is no cause of fluctuation, and estimates each observation variable by performing regression based on the influence of the edge (step S501).

[0076] The control unit 101 compares the actual measured value and the estimated value of the observed variable (step S502). If the actual measured value and the estimated value of the observed variable are significantly different, it can be assumed that the observed variable has fluctuated due to the intervention of a fluctuation causative factor.

[0077] The control unit 101 optimizes the degree of fluctuation of the fluctuation causes so as to fill the difference between the actual measurement value and the estimated value, and estimates the cause of fluctuation to be the one with a relatively large optimized degree of fluctuation (step S503).

[0078] 13 is a flowchart showing the procedure for outputting the handling information. After estimating the cause of the fluctuation, the control unit 101 executes the following processes as necessary.

[0079] The control unit 101 searches the causal structure for an observation variable that can suppress the influence of the fluctuation cause (step S521), and determines whether or not there is a corresponding observation variable (step S522).

[0080] If a variable that can be controlled by the substrate processing apparatus 200 (e.g., a voltage setting value) is found, it is determined that a corresponding observed variable exists (S522: YES), and the control unit 101 outputs corrective information to suppress the cause of fluctuation in the observed variable (step S523). The corrective information is displayed on the display unit 105. Alternatively, the corrective information is notified to a user terminal via the communication unit 103.

[0081] When a controllable variable (e.g., wear of the lower electrode or the upper electrode) is found in the substrate processing apparatus 200, it is determined that there is no corresponding observed variable (S522: NO), and the control unit 101 outputs removal or replacement of the cause of the variation as corrective information (step S524). The corrective information is displayed on the display unit 105. Alternatively, the corrective information is notified to the user terminal via the communication unit 103.

[0082] As described above, in the fifth embodiment, the cause of variation in one observation variable can be estimated, and information on how to deal with the cause of variation can be presented to the user.

[0083] Sixth Embodiment In a sixth embodiment, a configuration for estimating the cause of fluctuations based on user knowledge will be described. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0084] FIG. 14 is an explanatory diagram illustrating the operation for narrowing down the candidate variation causes. Assume that a causal structure such as that shown in FIG. 14 has been obtained, and the cause of variation in the etching amount of node ND8 is to be investigated. In this case, the candidate variation causes are node ND6 (VI sensor voltage measurement value) upstream of node ND8, as well as nodes ND3 (lower electrode wear), ND4 (upper electrode wear), and ND5 (voltage setting value) further upstream of node ND6. The control unit 101 of the information processing device 100, for example, changes the colors of these nodes ND3, ND4, ND5, ND6, and ND8 and displays them on the display unit 105. Instead of changing the color of the nodes, the display mode of the candidate variation causes may be changed by changing the size of the nodes or the thickness of the edges connecting the nodes.

[0085] The control unit 101 accepts a user operation to narrow down the candidate variation causes via the operation unit 104. The user can efficiently narrow down the possibilities by referring to the causal structure displayed on the display unit 105 and checking the observation data obtained for the candidate variation causes. For example, if the relationship between the VI sensor voltage measurement value and the etching amount is normal, the VI sensor voltage measurement value can be excluded from the candidate variation causes. When the control unit 101 accepts a selection operation (e.g., a click operation) for the node ND6, the control unit 101 excludes the VI sensor voltage measurement value of the node ND6 from the candidate variation causes and returns the display mode of the node ND6 to the original state.

[0086] To further narrow down the candidate variation causes, variations in observed variables downstream of the candidates may be verified. For example, to verify the influence of bottom electrode wear on node ND3, the VI sensor voltage measurement value of ND6 and the VI sensor current measurement value of node ND7 may be checked to verify the influence of bottom electrode wear. In this case, if the relationship between the VI sensor voltage measurement value and the VI sensor current measurement value is normal, bottom electrode wear can be excluded from the candidate variation causes. When the control unit 101 receives a selection operation (e.g., a click operation) on node ND3, it excludes bottom electrode wear on node ND3 from the candidate variation causes and restores the display mode of node ND3 to its original state.

[0087] As a result of the above, the possible causes of fluctuation are narrowed down to two: wear of the upper electrode of ND4 and the voltage setting value of ND5, and therefore the control unit 101 outputs, as countermeasure information, information urging replacement of the upper electrode.The control unit 101 also outputs, as countermeasure information, information urging adjustment of the voltage setting value.

[0088] 15 is a flowchart showing the procedure for accepting an operation to narrow down the variation causes. After deriving the causal structure, the control unit 101 of the information processing device 100 reads out and executes the cause estimation program PG4 from the storage unit 102, thereby performing the following processing.

[0089] The control unit 101 extracts one or more observation variables that are candidate variation causes for one observation variable specified by the user (step S601). The control unit 101 changes the display mode of the node corresponding to the extracted observation variable (step S602). The control unit 101 may also change the display mode of the node corresponding to the one observation variable specified by the user in the same manner.

[0090] The control unit 101 receives a selection operation via the operation unit 104 to select observed variables to be excluded from the variation cause candidates (step S603), and excludes the selected observed variables from the variation cause candidates (step S604). In steps S603-S604, observed variables that the user has determined to be problem-free as a result of verification, and observed variables that are unrelated based on the user's knowledge, are excluded from the variation cause candidates. If there are further upstream observed variables, the processing of steps S603-S604 is repeatedly executed.

[0091] The control unit 101 determines whether there is an observed variable whose variation has not been verified downstream of the variation cause candidate (step S605). If there is an unverified observed variable (S605: YES), the control unit 101 prompts the user to verify it (step S606). The user checks the variation of the downstream observed variable, and if there is no variation, removes it from the variation cause candidate. That is, the control unit 101 accepts a selection operation via the operation unit 104 to select an observed variable to be removed from the variation cause candidate (step S607), and removes the selected observed variable from the variation cause candidate (step S608). If it is determined in step S605 that there is no unverified observed variable downstream (S605: NO), the control unit 101 proceeds to step S609.

[0092] The control unit 101 outputs countermeasure information based on the candidate fluctuation causes narrowed down in the procedure of steps S603 to S608 (step S609). The countermeasure information is displayed on the display unit 105. Alternatively, the countermeasure information is notified to the user terminal via the communication unit 103.

[0093] As described above, in the sixth embodiment, it is possible to narrow down the candidate variation causes based on the user's verification or knowledge. Furthermore, it is possible to present the user with countermeasure information based on the narrowed down candidate variation causes.

[0094] Seventh Embodiment In a seventh embodiment, an example of application to a nonlinear system will be described. Note that the overall configuration of the system and the internal configuration of the information processing device 100 are the same as those in the first embodiment, and therefore description thereof will be omitted.

[0095] For linear systems, by selecting features and learning causal structures to narrow down the explanatory variables, it is possible to build highly explanatory and robust prediction models and reliable models for identifying the causes of abnormalities.

[0096] On the other hand, for nonlinear systems, predictive models are often constructed using techniques such as random forests or Gaussian process regression, with setting parameters as explanatory variables and outcome parameters as objective variables. In nonlinear systems, it is difficult to identify causal structures or functional forms, and the model becomes a black box, making it difficult to convincingly understand how each explanatory variable affects the variation in the objective variable. This makes it impossible to fine-tune setting values ​​or reliably correct result variations. Furthermore, even if partial functional forms are known in advance as domain knowledge, it is not possible to incorporate corrections or constraints based on them, making it difficult to create a model that reflects partial functional forms or domain knowledge using only statistical processing approaches.

[0097] Therefore, in the seventh embodiment, a method for learning causal structures using a method that can identify the presence or absence of a relationship without specifying the exact function form for parameters having a nonlinear causal relationship will be described.

[0098] 16 is a flowchart showing the procedure for deriving a causal structure in embodiment 7. The control unit 101 of the information processing device 100 reads out the causal structure learning program PG1 from the storage unit 102 and executes it to perform the following processing.

[0099] The control unit 101 acquires observation data corresponding to a plurality of types of observation variables from the substrate processing apparatus 200, which is the observation system to be monitored (step S701). The observation data acquired by the control unit 101 includes data measured in the substrate processing apparatus 200 and data set in the substrate processing apparatus 200. The control unit 101 acquires this observation data by communicating with the substrate processing apparatus 200 via the communication unit 103.

[0100] The control unit 101 searches for causal relationships between observed variables based on the acquired observation data (step S702). When searching for causal relationships, as a preprocessing step, observation variables to be used for deriving the causal structure may be selected, or constraints may be added between the observed variables using prior knowledge of the process in the substrate processing apparatus 200. Although the function form is unknown, an algorithm capable of performing a search including nonlinearity is known. Therefore, the control unit 101 uses the algorithm to search for causal relationships between the observed variables, thereby deriving the causal structure of all observed variables. After deriving the causal structure, edges drawn from multiple other nodes that are collinear to one node may be detected using a procedure similar to that of the first embodiment, and all edges other than the edge with the highest accuracy may be designated as prohibited edges.

[0101] The control unit 101 estimates a function form for each causal relationship (step S703). At this time, the control unit 101 may estimate the function form based on constraints and knowledge of the domain of the substrate processing apparatus 200.

[0102] The control unit 101 complements the causal structure derived in step S702 by introducing the estimated function form into the causal structure (step S704). The derived causal structure may be displayed on the display unit 105, or may be notified to a user terminal (not shown) via the communication unit 103.

[0103] Fig. 17 is a schematic diagram showing an example of a causal structure with a complemented functional form. As in the first embodiment, the causal structure is drawn using a directed acyclic graph with nodes representing each observation variable and edges representing the causal relationships between the nodes. For simplification, Fig. 17 shows a causal structure with complemented functional forms between the observation variables, with only eight observation variables extracted.

[0104] The directed acyclic graph shown in Figure 17 is composed of nodes ND1 to ND4 and ND7 to ND10 corresponding to eight observation variables, nodes ND5 and ND6 corresponding to two functions, and edges EG15, EG25, EG28, EG35, EG36, EG46, EG57, EG68, EG79, and EG810 representing causal relationships between the nodes. In the example of Figure 17, nodes ND1 to ND10 are represented by regular octagonal icons, but the shape of the icons is not limited to regular octagons and may be circular or another shape. The character string shown inside the icon represents the variable name or function form of each observation variable.

[0105] In the example of Figure 17, nodes ND1 to ND4, ND7 to ND10 representing observed variables and nodes ND5 and ND6 representing functions are shown in different colors. In addition to showing icons in different colors, it is also possible to display them in different display modes, such as by changing the shape of the icons. Also, in the example of Figure 17, edges between observed variables are shown with solid lines, and edges representing inputs to functions and outputs from functions are shown with dashed lines. In addition to showing them with different line types, it is also possible to display them in different display modes, such as by changing the color. Also, it is also possible to display nodes representing set values ​​and observed values ​​in different display modes so that they can be distinguished.

[0106] As described above, in embodiment 7, a causal structure that takes into account nonlinearity between observed variables can be derived based on observation data obtained from the monitored observation system (substrate processing apparatus 200) and presented to the user.

[0107] In the seventh embodiment, a nonlinear relationship is visualized by introducing a node indicating a function form into a directed acyclic graph, but a nonlinear relationship may also be displayed graphically. FIG. 18 is a schematic diagram showing an example of a graphical display of a nonlinear relationship. FIG. 18 shows a display example in which there is a relationship C = B × cos(A) between observation variables A, B, and C. In FIG. 18, the value of observation variable A is fixed, and the display shows how observation variable C changes when the value of observation variable B is moved using a slider.

[0108] Eighth Embodiment In an eighth embodiment, a configuration for visualizing a causal structure learned from experimental data as knowledge during process development will be described.

[0109] Figure 19 is a schematic diagram showing an example of visualization of process mechanism knowledge. It shows an example of visualization of the causal relationships between observed variables, such as the relationship between the flow rate of gas A (Gas A Flow), the flow rate of gas B (Gas B Flow), RF power (RF1 Pow), and the etching rate (E / R). Even for the etching rate alone, it is difficult to determine the appropriate amount of variation for the gas flow rate, RF power, DC bias, etc., and it is difficult to determine what is out of sync without referring to knowledge that includes the sensors. Therefore, by creating a causal structure based on the observation data obtained from the experiment using a method similar to that shown in Figure 7 and visualizing it as shown in Figure 19, the relationships between feature quantities can be preserved as knowledge that can be easily referenced and utilized.

[0110] As described above, in the eighth embodiment, knowledge can be saved in the form of a causal structure, making it possible to save knowledge in a form that can be expanded by people other than experts. Furthermore, by formalizing and visualizing the causal structure, including the function form, knowledge can be obtained as to whether to experiment by varying the setting value by degrees, or to get closer to the desired outcome.

[0111] Ninth Embodiment In a ninth embodiment, a configuration will be described in which the entire process is overlooked and predicted, and failures and abnormalities are predicted and prevented.

[0112] FIG. 20 is a schematic diagram showing an example of a causal structure used for failure prediction. In the causal structure shown in FIG. 20, simply limiting the set values ​​of DC voltage (DC Volt) and cooling temperature (Brine temp) does not allow direct specification of DC current (DC Current) and lower electrode temperature (Lower temp). For example, the etching rate (E / R) is expected to improve with an increase in plasma flow rate and energy, but at the same time, an increase in electrode temperature is expected. Therefore, if the DC voltage is increased to its limit, there is a risk of damage due to overheating of the electrode.

[0113] For this reason, it is necessary to take a bird's-eye view of the entire process and determine whether there are any parts where the sensor values ​​indicate abnormalities, in light of the causal structure.In other words, by taking a bird's-eye view of the entire process, rather than making predictions limited to each part, it is possible to avoid overlooking the risk of failure.

[0114] Specifically, the control unit 101 may create a table of process window ranges based on the causal structure and present it to the user. If the process is outside the process window, the control unit 101 may propose an alternative recipe that requires minimal modification to fit within the process window.

[0115] 21 is a flowchart showing the procedure for creating a process window. The control unit 101 creates a causal structure by interpolating a function form for a nonlinear relationship using the same procedure as in the seventh embodiment, and generates a decision model indicating whether the sensor value falls within an allowable range based on the created causal structure (step S901).

[0116] The control unit 101 generates a multidimensional table indicating possible ranges for variable setting values ​​using the generated determination model (step S902). For example, when generating a table (two-dimensional table) for two setting values ​​such as RF power 1 and RF power 2, the table may be generated such that the combination of the two setting values ​​(RF power 1, RF power 2) is not possible when it is (1000 V, 100 V), is possible when it is (1000 V, 200 V), and so on.

[0117] The control unit 101 presents a process window according to the setting of the fixed value based on the generated multidimensional table (step S903). For example, the control unit 101 may fix the RF power 1 (or the RF power 2), generate a range of the RF power 2 (or the RF power 1) as a process window, and display it on the display unit 105.

[0118] As described above, in the ninth embodiment, it is possible to prevent failures caused by secondary effects during experiments.

[0119] The matters described in each embodiment can be combined with each other. Furthermore, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations, regardless of the reference format. Furthermore, the claims use a format in which a claim references two or more other claims (multiple claim format), but this is not limited to this. A multiple claim (multi-multi claim) that references at least one other multiple claim may also be used.

[0120] The embodiments disclosed herein are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.

[0121] For example, in the embodiment, the substrate processing apparatus 200 has been described as an example of an observation system to be monitored. The observation system to be monitored is not limited to the substrate processing apparatus 200, but may be a manufacturing apparatus in which any manufacturing process is carried out for electrical equipment, chemical industrial products, pharmaceuticals, food, chemical industrial products, etc. Furthermore, the observation system to be monitored is not limited to an apparatus or system in which any manufacturing process is carried out, but may be any system that appropriately combines human living environments, economic activities, meteorological environments, etc.

[0122] REFERENCE SIGNS LIST 100 Information processing apparatus 101 Control unit 102 Storage unit 103 Communication unit 104 Operation unit 105 Display unit PG1 Causal structure learning program PG2 Prediction model generation program PG3 Prediction program PG4 Cause estimation program RM Recording medium 200 Substrate processing apparatus

Claims

1. Obtaining observation data corresponding to multiple observation variables from a monitored observation system; Based on the acquired observation data, we explore the causal relationships between observed variables, deriving a causal structure of the observed variables in the observation system by modifying the causal relationships in accordance with constraints to be applied between the observed variables; A directed acyclic graph representing the causal structure is generated using nodes representing each observed variable and edges representing the causal relationships between the nodes. A computer program for causing a computer to execute a process, The constraint condition includes a condition that prohibits edges from being simultaneously drawn from multiple collinear observation variables for one observation variable. Computer program.

2. In order to add the constraint, edges other than the edge with the highest accuracy are designated as prohibited edges. The computer program product according to claim 1, for causing the computer to execute a process.

3. Display the generated directed acyclic graph The computer program product according to claim 1, for causing the computer to execute a process.

4. The causal structure is modified by imposing the conditions and re-exploring the causal relationships between observed variables. The computer program product according to claim 1, for causing the computer to execute a process.

5. Accepts operations to modify the displayed directed acyclic graph, Modify the causal structure based on the received operation.

4. A computer program product according to claim 3, for causing the computer to execute a process.

6. Some of the relationships between the observed variables are nonlinear.

2. The computer program of claim 1.

7. A node indicating a functional form of a relationship between the observation variables having nonlinearity is interpolated.

7. A computer program product according to claim 6, for causing the computer to execute a process.

8. Nodes between linear observation variables and nodes between nonlinear observation variables are displayed in different display modes.

7. A computer program product according to claim 6, for causing the computer to execute a process.

9. The relationship between the observed variables having the nonlinearity is displayed in a graph.

7. A computer program product according to claim 6, for causing the computer to execute a process.

10. Extracting one or more other observed variables that have a direct causal relationship with one observed variable based on the derived causal structure; A prediction model is generated using the extracted one or more other observed variables as explanatory variables and the one observed variable as a target variable.

10. A computer program product according to claim 1, for causing a computer to execute a process.

11. Obtaining observation data corresponding to the explanatory variables from the observation system; The acquired observation data is input into the prediction model to predict the observation data corresponding to the objective variable.

11. A computer program product according to claim 10, for causing a computer to execute a process.

12. receiving an operation to select, from the displayed directed acyclic graph, a node corresponding to one or more observation variables to be used as explanatory variables and a node corresponding to one observation variable to be used as a target variable; Based on the received operation, a prediction model is generated using the one or more observed variables as explanatory variables and the one observed variable as a target variable.

10. A computer program product according to claim 3, for causing a computer to execute a process.

13. Obtaining observation data corresponding to the explanatory variables from the observation system; The acquired observation data is input into the prediction model to predict the observation data corresponding to the objective variable.

13. A computer program product according to claim 12, for causing a computer to execute a process.

14. Based on the derived causal structure, one or more other observed variables that are candidate causes of fluctuations in one observed variable are extracted; Based on the extracted other observation variables, outputting countermeasure information for suppressing fluctuations in the one observation variable.

10. A computer program product according to claim 1, for causing a computer to execute a process.

15. Based on the derived causal structure, one or more other observed variables that are candidate causes of fluctuations in one observed variable are extracted; changing the display mode of the node corresponding to the extracted one or more other observation variables; Accept an operation to narrow down the candidate causes of fluctuations from the node whose display mode has been changed, Based on the narrowed down candidates for the cause of the variation, outputting countermeasure information for suppressing the variation of the one observed variable.

10. A computer program product according to claim 3, for causing a computer to execute a process.

16. the observation system is a substrate processing apparatus, As the observation data, data set in the substrate processing apparatus and data measured in the substrate processing apparatus are acquired.

2. The computer program of claim 1.

17. an acquisition unit that acquires observation data corresponding to a plurality of types of observation variables from a monitored observation system; a search unit that searches for causal relationships between observed variables based on the acquired observation data; a derivation unit that derives a causal structure of the observed variables in the observation system by modifying the causal relationships in accordance with constraints to be applied between the observed variables; a generation unit that generates a directed acyclic graph representing the causal structure using nodes representing each observed variable and edges representing causal relationships between the nodes; Equipped with The constraint condition includes a condition that prohibits edges from being simultaneously drawn from multiple collinear observation variables for one observation variable. Information processing device.

18. Obtaining observation data corresponding to multiple observation variables from a monitored observation system; Based on the acquired observation data, we explore the causal relationships between observed variables, deriving a causal structure of the observed variables in the observation system by modifying the causal relationships in accordance with constraints to be applied between the observed variables; A directed acyclic graph representing the causal structure is generated using nodes representing each observed variable and edges representing the causal relationships between the nodes. An information processing method for executing processing by a computer, comprising: The constraint condition includes a condition that prohibits edges from being simultaneously drawn from multiple collinear observation variables for one observation variable. Information processing methods.