Computer program, information processing device, and information processing method
Through the information processing device, the causal structure of the observed variables in the substrate processing device is derived using the LiNGAM algorithm and user interaction, which solves the problem of difficult causal relationships, improves the processing accuracy and efficiency, and realizes abnormal detection and response.
Patent Information
- Application Number
- CN202380082167.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-29
- Filing Date
- 2023-11-24
- Publication Date
- 2025-07-08
AI Technical Summary
The prior art is difficult to effectively deduce the causal structure between the observed variables in the substrate processing device, resulting in inaccurate parameter setting and affecting the processing effect.
The information processing device uses the LiNGAM algorithm to explore the causal relationship between observation variables, derives directed acyclic graph, and corrects the causal structure with user interaction, generates a prediction model, and performs result prediction and estimation of the cause of change.
It realizes more accurate causal derivation of observed variables, improves the reliability and efficiency of substrate processing, and can detect abnormalities in a timely manner and respond effectively.
Smart Images

Figure CN120283244A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a computer program, an information processing apparatus, and an information processing method. Background Art
[0002] In a substrate processing apparatus, processing of a substrate is performed based on a recipe for a process. The recipe is composed of a plurality of steps. For example, various parameters such as pressure and temperature are controlled for each step, and thus an optimal processing result can be obtained. Since the set values of various parameters sometimes differ for each step, measurement data of a plurality of sensors provided in the substrate processing apparatus are managed for each substrate.
[0003] A technique for visualizing data for a process having multi-dimensional independent variables and dependent variables is disclosed in Patent Document 1.
[0004] Patent Document 1: Japanese Patent Application Laid-Open No. 2022-502806 Summary of the Invention
[0005] An object of the present disclosure is to provide a computer program, an information processing apparatus, and an information processing method for deriving a causal structure between observation variables based on observation data.
[0006] The computer program of the present disclosure causes a computer to execute the following processing: obtaining observation data corresponding to a plurality of types of observation variables from an observation system of a monitoring target; deriving a causal structure of the observation variables in the observation system based on the obtained observation data; extracting one or more other observation variables that are candidates for the cause of the change of one observation variable based on the derived causal structure; and outputting the extraction result.
[0007] According to the present disclosure, a causal structure between observation variables can be derived based on observation data. Brief Description of the Drawings
[0008] Figure 1 It is an explanatory diagram for explaining the structure of an information processing system according to an embodiment.
[0009] Figure 2 It is a schematic diagram showing an example of a causal structure derived by an information processing apparatus.
[0010] Figure 3 It is a block diagram showing the internal structure of an information processing apparatus.
[0011] Figure 4 It is a directed acyclic graph showing the relationship between observation variables.
[0012] Figure 5 It is a schematic diagram showing an example of a directed acyclic graph in which edges are drawn from a plurality of other nodes to one node.
[0013] Figure 6 It is a flowchart showing the derivation order of the causal structure.
[0014] Figure 7 It is an explanatory diagram explaining the correction operation of the causal structure.
[0015] Figure 8 It is a flowchart showing the correction order of the causal structure performed by the user.
[0016] Figure 9 It is a flowchart showing the generation order of the prediction model.
[0017] Figure 10 It is a flowchart showing the execution order of result prediction.
[0018] Figure 11 It is an explanatory diagram explaining the method of estimating the cause of change.
[0019] Figure 12 It is a flowchart showing the estimation order of the cause of change.
[0020] Figure 13 It is a flowchart showing the output order of the response information.
[0021] Figure 14 An explanatory diagram explaining the operation when narrowing down the candidates for the cause of change.
[0022] Figure 15 It is a flowchart showing the order when accepting the narrowing operation of the cause of change.
[0023] Figure 16 It is a flowchart showing the derivation order of the causal structure in Embodiment 7.
[0024] Figure 17 It is a schematic diagram showing an example of the causal structure with the function form interpolated.
[0025] Figure 18 It is a schematic diagram showing an example of the chart display of the non - linear relationship.
[0026] Figure 19 It is a schematic diagram showing an example of visualization as knowledge of the process mechanism.
[0027] Figure 20 It is a schematic diagram showing an example of the causal structure for failure prediction.
[0028] Figure 21 It is a flowchart showing the creation order of the process window. Detailed implementation manners
[0029] Hereinafter, with reference to the accompanying drawings, one embodiment will be described.
[0030] (Embodiment 1)
[0031] Figure 1 This is an explanatory diagram for explaining the structure of the information processing system of the embodiment. The information processing system of the embodiment includes an information processing device 100 and a substrate processing device 200 that are communicably connected.
[0032] The substrate processing device 200 is, for example, a semiconductor manufacturing device including at least one of an exposure device, an etching device, a film forming device, an ion implantation device, an ashing device, a sputtering device, etc. Instead, the substrate processing device 200 may also be a display manufacturing device for manufacturing an FDP (Flat Display Panel) such as a liquid crystal display panel or an organic EL (Electro-Luminescence) panel.
[0033] In the substrate processing device 200, at the start of the process, various set values such as the temperature of the substrate, the pressure in the chamber, the gas flow rate, and the voltage applied by the high-frequency power supply are set. In addition, a plurality of sensors are provided in the substrate processing device 200, and the plurality of sensors measure the temperature of the substrate, the pressure in the chamber, the gas flow rate, the voltages applied to the upper electrode and the lower electrode, etc. during the execution of the process. The substrate processing device 200 outputs the set values set at the start of the process and the measured values measured during the execution of the process as observation data to the information processing device 100.
[0034] The information processing device 100 acquires observation data from an observation system to be monitored (in this embodiment, the substrate processing device 200). The information processing device 100 explores the causal relationship between the observed variables based on the acquired observation data, and corrects the causal relationship according to the constraint conditions that should be applied between the observed variables, thereby deriving the causal structure of the entire observed variables in the observation system.
[0035] Figure 2 This is a schematic diagram showing an example of the causal structure derived by the information processing device 100. The causal structure is depicted, for example, by a directed acyclic graph using nodes representing each observed variable and edges representing the causal relationship between the nodes. In the actual process in the substrate processing device 200, a plurality of observed variables are processed, but in Figure 2 , for simplicity, only 8 observed variables are excerpted to show their causal structure.
[0036] Figure 2The directed acyclic graph shown is composed of nodes ND1 to ND8 corresponding to 8 observed variables and a plurality of edges EG12, EG36, EG37, EG46, EG56, EG62, EG67, EG68 representing the causal relationships between the observed variables (between the nodes). In Figure 2 In the example of, nodes ND1 to ND8 are represented by regular hexagon icons. The shape of the icon is not limited to a regular hexagon and can also be a circle or other shapes. The string shown inside the icon represents the variable name of each observed variable.
[0037] An edge EG12 drawn in the direction from node ND1 to node ND2 is shown between two nodes ND1 and ND2. The edge EG12 connecting the two nodes ND1 and ND2 indicates that there is a causal relationship between the observed variable corresponding to node ND1 (the film on the daylighting window) and the observed variable corresponding to node ND2 (OES). The film on the daylighting window represents the amount of film accumulated on the daylighting window. OES is an Optical Emission Spectrometer, representing the measurement data of the light emission intensity of the plasma. The orientation of the edge EG12 (the orientation indicated by the arrow) indicates that the film on the daylighting window affects OES. The causal relationships between other nodes are the same.
[0038] In the following description, when the first observed variable affects the second observed variable, the first observed variable is also referred to as the observed variable upstream of the second observed variable, and the second observed variable is also referred to as the observed variable downstream of the first observed variable.
[0039] Hereinafter, the structure of the information processing apparatus 100 for deriving the causal structure will be described.
[0040] Figure 3 is a block diagram showing the internal structure of the information processing apparatus 100. The information processing apparatus 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.
[0041] 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 for controlling the operations of the respective hardware components of the information processing apparatus 100. The CPU in the control unit 101 reads and executes the control programs stored in the ROM and the computer programs described later stored in the storage unit 102, and controls the operations of the respective hardware components, thereby causing the entire apparatus to function as the information processing apparatus of the present disclosure. Data used during the execution of operations is temporarily stored in the RAM included in the control unit 101.
[0042] In the embodiment, the control unit 101 has a structure including a CPU, a ROM, and a RAM, but the structure of the control unit 101 is not limited to the above structure. For example, the control unit 101 may be 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, a volatile or non-volatile memory, etc. In addition, the control unit 101 may have functions such as a clock for outputting date and time information, a timer for measuring the elapsed time from when a measurement start instruction is given until a measurement end instruction is given, and a counter for counting the quantity.
[0043] The storage unit 102 includes storage devices such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), and an EEPROM (Electronically Erasable Programmable Read Only Memory). Various computer programs executed by the control unit 101 and various data used by the control unit 101 are stored in the storage unit 102.
[0044] The computer program (program product) stored in the storage unit 102 includes a causal structure learning program PG1 that causes a computer to execute a process of deriving a causal structure of observed variables from the observed 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. In addition, the causal structure learning program PG1 may be executed by multiple computers in cooperation. Moreover, the causal structure learning program PG1 may partially use existing libraries.
[0045] In the storage unit 102, in addition to including the causal structure learning program PG1, a prediction model generation program PG2 that generates a prediction model based on the causal relationship 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 makes response recommendations, etc. may also be included. These programs PG1 to PG4 may be separate independent computer programs or may be an integrated single computer program.
[0046] The 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, an SD (Secure Digital) card, a micro SD card, a flash memory (registered trademark), etc. 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. In addition, the computer program stored in the storage unit 102 may also be provided through communication. In this case, the control unit 101 only needs to obtain the computer program through communication via the communication unit 103 and store the obtained computer program in the storage unit 102.
[0047] The communication unit 103 includes a communication interface for transmitting and receiving various data to and from an external device. As the communication interface of the communication unit 103, a communication interface based on a communication standard such as LAN (Local Area Network) can be used. The external device is the above-mentioned substrate processing apparatus 200, a user terminal (not shown), etc. When the communication unit 103 inputs data to be transmitted from the control unit 101, it transmits the data to the destination external device, and when it receives data transmitted from the external device, it outputs the received data to the control unit 101.
[0048] The operation unit 104 includes operation devices such as a touch panel, a keyboard, and a switch, and accepts various operations and settings by a user or the like. The control unit 101 performs appropriate control based on various operation information given from the operation unit 104 and stores setting information in the storage unit 102 as needed.
[0049] The display unit 105 includes display devices such as a liquid crystal monitor and an organic EL (Electro-Luminescence), and displays information to be reported to the user or the like according to an instruction from the control unit 101.
[0050] In addition, the information processing apparatus 100 in the present embodiment may be a single computer, or may be a computer system composed of a plurality of computers, peripheral devices, and the like. Further, the information processing apparatus 100 may be a virtual machine in which the entity is virtualized, or may be a cloud. Moreover, in the present embodiment, although the information processing apparatus 100 and the substrate processing apparatus 200 are described independently, the information processing apparatus 100 may also be provided inside the substrate processing apparatus 200.
[0051] Hereinafter, a method for the information processing apparatus 100 to derive a causal structure will be described.
[0052] (1) Exploration of causal relationships
[0053] The causal relationship between observed variables is modeled by, for example, a structural equation model. LiNGAM (Linear Non-Gaussian Acyclic Model), which is one of the structural equation models, assumes that under a linear acyclic model, the probability distribution of exogenous variables is a non-Gaussian distribution. In addition, the relationship between observed variables is represented by a directed acyclic graph. Figure 4 is a directed acyclic graph representing the relationship between observed variables. In Figure 4 example, the number of observed variables is set to three, so the directed acyclic graph is represented by a 3×3 adjacency matrix B = {b ij}. b ij is the coefficient of linear regression, representing the strength of the association from the observed variable x j to the observed variable x i . When the exogenous variable (error variable) of the observed variable x j is set to e j , the structural equation model is represented by Mathematical Formula 1.
[0054] [Mathematical Formula 1]
[0055]
[0056] As one of the algorithms for exploring structural equation models (causal exploration algorithms), the DirectLiNGAM algorithm is proposed (for example, refer to S. Shimizu et al. Journal of Machine Learning Research, 12 (Apr): 1225 - 1248 (2011)). In this algorithm, under the above assumptions, the evaluation of the independence between regression analysis and regression residuals is repeated, and thus the coefficient b of linear regression can be optimized. ij . Based on the optimized coefficient b ij edges are drawn between nodes, and thus a Figure 4 directed acyclic graph as shown can be depicted.
[0057] In Figure 4 's example, the number of observed variables is set to 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 represented by an n×n adjacency matrix B = {b ij}.
[0058] (2) Edge pruning
[0059] In the above causal exploration, as long as the edges do not cycle, sometimes edges are drawn from multiple other nodes to one node. Figure 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. Figure 5 's example shows a case where edges are drawn from each of the nodes ND2, ND6, and ND7 representing OES, VI sensor voltage measurement value, and VI sensor current measurement value to the node ND8 representing the etching amount. This case indicates that the observed variables of OES, VI sensor voltage measurement value, and VI sensor current measurement value are strongly collinear with each other and are also correlated with the observed variable representing the etching amount.
[0060] In the present embodiment, in order to avoid such an overfitting state, a constraint condition is added that prohibits drawing edges from multiple collinear observed variables to one observed variable at the same time. Specifically, an attempt is made to determine which edges have the highest accuracy to leave, and the edges other than the edges with the highest accuracy are designated as prohibited edges. At this time, since the non - cycle constraint also changes, the causal structure is re - explored together.
[0061] Figure 5 's example shows a state where among the edges from the nodes ND2, ND6, and ND7 to the node ND8, the edges from the nodes ND2 and ND7 to ND8 are designated as prohibited edges. When prohibited edges are designated, since the non - cycle constraint also changes, the above - mentioned causal exploration algorithm is executed again.
[0062] Figure 6This is a flowchart showing the derivation order of a causal structure. The control unit 101 of the information processing apparatus 100 reads and executes a causal structure learning program PG1 from the storage unit 102, and thereby performs the following processing.
[0063] The control unit 101 acquires observation data corresponding to a plurality of observation variables from the observation system of the object to be monitored, i.e., the substrate processing apparatus 200 (step S101). The observation data acquired by the control unit 101 includes data measured by the substrate processing apparatus 200, such as the film on the light-receiving window, OES, the consumption of the lower electrode, the consumption 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, and data set by 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.
[0064] The control unit 101 explores the causal relationship between the observation variables based on the acquired observation data (step S102). When exploring the causal relationship, as a preprocessing, the observation variables used for deriving the causal structure can be selected, or prior knowledge of the process in the substrate processing apparatus 200 can be used to impose constraint conditions between the observation variables. The control unit 101 explores the causal relationship between the observation variables by using the above-mentioned causal exploration algorithm, and thereby derives the causal structure of the entire observation variables. Specifically, after assuming that there is a linear relationship between the observation variables, the causal structure is acyclic, the probability distribution of the exogenous variables is non-Gaussian, and different exogenous variables are independent of each other, the control unit 101 repeatedly performs regression analysis and evaluation of the independence of the regression residuals, thereby optimizing the coefficient b of the linear regression. ij The control unit 101 is based on the optimized coefficient b ij and draws edges between the nodes, thereby generating a directed acyclic graph. Thus, a causal structure between the observation variables in which edges from a plurality of nodes with collinearity can coexist is obtained.
[0065] The control unit 101 detects the edges drawn from other multiple nodes with collinearity for one node from the causal structure obtained in step S102 (step S103). The control unit 101 determines whether there is a matching edge (step S104). When it is determined that there is a matching edge (S104: yes), in order to impose a constraint condition that edges cannot be simultaneously drawn from multiple observation variables with collinearity for one observation variable, after designating edges other than the edge with the highest accuracy as prohibited edges (step S105), the process returns to step S102.
[0066] When it is determined in step S104 that there is no matching edge (S104: no), the control unit 101 ends the processing of this flowchart.
[0067] Thus, the control unit 101 can deriveFigure 2 The causal structure of the overall observed variables shown. The control unit 101 can either cause the display unit 105 to display the derived causal structure or notify a user terminal (not shown) via the communication unit 103.
[0068] As described above, in the first embodiment, it is possible to derive the causal structure of the overall observed variables based on the observed data obtained from the observation system (substrate processing apparatus 200) of the object to be monitored, and the causal relationship between the observed variables can be presented to the user.
[0069] In the first embodiment, since edge pruning is performed to prevent multiple nodes with collinearity from simultaneously having causal edges with other nodes, misrecognition of edges is prevented, and more reliable learning of the causal structure can be performed.
[0070] (Second Embodiment)
[0071] In the second embodiment, a structure for correcting the causal structure by accepting interactive operations on the causal structure presented to the user will be described.
[0072] Furthermore, the overall structure of the system and the internal structure of the information processing apparatus 100 are the same as those in the first embodiment, and thus their descriptions are omitted.
[0073] Figure 7 It is an explanatory diagram for explaining the correction operation of the causal structure. The control unit 101 of the information processing apparatus 100 uses the method disclosed in the first embodiment to derive the causal structure of the overall observed variables and causes the display unit 105 to display the derived causal structure. The causal structure is depicted by a directed acyclic graph. During the process of deriving the causal structure, the control unit 101 calculates the influence degree (coefficient b of linear regression ij ) from one node to other nodes, and thus the thickness and color of the edges between nodes can also be changed based on this influence degree. For example, when the influence degree from one node to other nodes is relatively high, the thickness of the connecting edge between these two nodes can be made thicker, or it can be displayed in a color different from other edges, such as red or blue.
[0074] In Figure 7 's directed acyclic graph, the edges EG36 and EG68 are shown thicker than other edges, indicating that the influence degrees of the VI sensor voltage measurement value for the etching amount and the consumption of the lower electrode are higher compared to the consumption of the upper electrode and the voltage setting value.
[0075] The control unit 101 accepts a user's correction operation on the directed acyclic graph displayed on the display unit 105 through the operation unit 104. For example, the control unit 101 accepts an operation of newly drawing an edge using the mouse or touch panel provided in the operation unit 104. Through this operation, the user can newly add a proper edge between any two nodes. In addition, the control unit 101 may also accept an operation of selecting an edge to be deleted using the mouse or keyboard provided in the operation unit 104, and an operation predetermined for deleting the selected edge (for example, pressing the delete key). Through this operation, the user can delete an unnecessary edge. Furthermore, the control unit 101 may also accept an operation of moving the start point or end point of an edge to another node using the mouse or touch panel provided in the operation unit 104. Through this operation, the user can change the causal relationship between observed variables.
[0076] Figure 7 An example showing that an operation of moving the start point of edge EG17 from node ND1 to node ND3 has been accepted is presented. In this case, the edge EG17 between nodes ND1 and ND7 disappears, and a new edge EG7 is generated between nodes ND3 and ND7. Alternatively, an operation of deleting edge EG17 and an operation of drawing a new edge (edge EG37) between nodes ND3 and ND7 may be accepted.
[0077] Figure 8 It is a flowchart showing the correction order of the causal structure performed by the user. The control unit 101 of the information processing apparatus 100 derives the causal structure of the entire observed variables in the same order as in the first embodiment, and causes the display unit 105 to display the derived causal structure (step S201). At this time, based on the influence degree from one node to another node, the thickness and color of the edge may be changed and displayed.
[0078] The control unit 101 accepts corrections for the causal structure displayed on the display unit 105 through the operation unit 104 (step S202). The control unit 101 accepts an operation of newly adding a proper edge, an operation of deleting an unnecessary edge, an operation of changing the causal relationship, etc. through the operation unit 104.
[0079] The control unit 101 recalculates the influence degree based on the corrected causal structure (step S203). Since the influence degree changes according to the addition or deletion of an edge, the control unit 101 recalculates the influence degree using the mathematical formula 1 (the coefficient b of linear regression ij ) without changing the causal structure.
[0080] In a situation where sufficient observational data required for learning is not obtained, etc., it is possible that the causal relationships between observational variables may not be fully corrected only by the causal structure algorithm. In Embodiment 2, through interactive operations, it is possible to delete misrecognized edges and add known edges, and the causal structure can be corrected based on the user's insights.
[0081] (Embodiment 3)
[0082] In Embodiment 3, the structure of the prediction model generated based on the derived causal structure is described.
[0083] Furthermore, the overall structure of the system and the internal structure of the information processing apparatus 100 are the same as those in Embodiment 1, and thus the description thereof is omitted.
[0084] Figure 9 It is a flowchart showing the generation order of the prediction model. The control unit 101 of the information processing apparatus 100 reads and executes the prediction model generation program PG2 from the storage unit 102, thereby performing the following processing. In addition, the causal structure of the observation system of the monitoring target is regarded as having been derived.
[0085] The control unit 101 accepts the selection of the result parameter to be set as the monitoring target (step S301). Here, one observational variable to be set as the monitoring target is selected from the causal structure displayed on the display unit 105.
[0086] The control unit 101 extracts one or more observational variables having a direct causal relationship for the result parameter selected in step S301 (step S302). For example, in Figure 2 the causal structure is the derived causal structure and the etch amount of the node ND8 is the result parameter selected in step S301, the control unit 101 extracts the VI sensor voltage measurement value of the node ND6 as the observational variable having a direct causal relationship with the etch amount.
[0087] The control unit 101 generates a prediction model with the result parameter selected in step S301 as the target variable and the observational variables selected in step S302 as the explanatory variables (step S303). The prediction model uses an arbitrary model. For example, when the relationship between the result parameter (=Y) and the observational variable (=x) extracted as the explanatory variable is represented by a linear function, the prediction model can be described as Y = ax + b. Since observational data is obtained for the result parameter Y and the observational variable x, the coefficients a and b can be obtained by optimizing the above prediction model using these observational data. The prediction model is not limited to a linear function and uses an arbitrary function. In addition, the prediction model can also be a learning model of machine learning.
[0088] As described above, in Embodiment 3, when a result 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 for predicting the result parameter from the observed variables. That is, in Embodiment 3, it is possible to exclude parameters in pseudo-correlation and generate a prediction model that is robust to important factors that can cause changes in the result.
[0089] In addition, in this Embodiment 3, the control unit 101 is configured to extract observed variables (explanatory variables) having a direct causal relationship with the result parameter, but the explanatory variables can also be arbitrarily selected by the user. The user can select the node corresponding to the observed variable to be used as the explanatory variable by referring to the causal structure displayed on the display unit 105 and using the operation unit 104. For example, in Figure 2 the causal structure, when the etching amount of the node ND8 is set as the result parameter, the observed variable extracted as the explanatory variable is the VI sensor voltage measurement value, but if the user desires, it is possible to add observed variables such as OES that do not have a direct causal relationship to the explanatory variables.
[0090] (Embodiment 4)
[0091] In Embodiment 4, a structure for predicting a result using the generated prediction model will be described.
[0092] In addition, the overall structure of the system and the internal structure of the information processing apparatus 100 are the same as those in Embodiment 1, and thus the description thereof is omitted.
[0093] Figure 10 is a flowchart showing the execution order of result prediction. After generating the prediction model, the control unit 101 of the information processing apparatus 100 reads and executes the prediction program PG3 from the storage unit 102, thereby performing the following processing.
[0094] The control unit 101 acquires observation data corresponding to the explanatory variables of the prediction model from the observation substrate processing apparatus 200 to be monitored (step S401). If the explanatory variable is the VI sensor voltage measurement value, the control unit 101 acquires the data of the voltage measurement value obtained by the VI sensor.
[0095] The control unit 101 inputs the acquired observation data into the prediction model to predict the result (step S402). The control unit 101 can predict the result by executing the operation using the prediction model.
[0096] The control unit 101 compares the result predicted in step S402 with a reference value (step S403), and determines whether the reference value is satisfied (step S404). When it is determined that the reference value is satisfied (S404: Yes), the control unit 101 determines that the process implemented in the substrate processing apparatus 200 is normal, and ends the processing of this flowchart.
[0097] On the other hand, when it is determined that the reference value is not satisfied (S404: No), the control unit 101 determines that the process implemented by the substrate processing apparatus 200 is abnormal, outputs an alarm (step S405), and ends the processing of this flowchart. The control unit 101 outputs an alarm, for example, by displaying information on the content of the abnormal process on the display unit 105. Alternatively, the control unit 101 may notify a user terminal (not shown) of the information on the content of the abnormal process through the communication unit 103.
[0098] As described above, in the fourth embodiment, by using the prediction model to predict the result and determining whether the predicted result satisfies the reference value, it is possible to determine whether the process implemented in the substrate processing apparatus 200 is normal.
[0099] (Embodiment 5)
[0100] In the fifth embodiment, a structure for estimating the cause of change for one observation variable based on a causal structure will be described.
[0101] In addition, the overall structure of the system and the internal structure of the information processing apparatus 100 are the same as those in the first embodiment, and thus the description thereof is omitted.
[0102] In the fifth embodiment, using the derived causal structure, for an observation variable with an unknown cause of change, the upstream of the changing observation variable is confirmed, thereby determining the cause of change.
[0103] Figure 11 It is an explanatory diagram for explaining the method of estimating the cause of change. Assume that the Figure 2 shown causal structure is obtained as the causal structure of the observation variable. Referring to the causal structure, it can be seen that as the observation variables affecting the VI sensor voltage measurement value of the node ND6, there are the lower electrode consumption of the node ND3, the upper electrode consumption of the node ND4, and the voltage setting value of the node ND5. In addition, it can be seen that as the observation variables affecting the VI current measurement value of the node ND7, there are the lower electrode consumption of the node ND3 and the VI sensor voltage measurement value of the ND6.
[0104] The VI sensor voltage measurement value and the VI sensor current measurement value are represented by the following calculation formulas.
[0105] VI sensor voltage measurement value = w1 × voltage set value + w2 × lower electrode consumption + w3 × upper electrode consumption
[0106] VI sensor current measurement value = w4 × VI sensor voltage measurement value + w5 lower electrode consumption Here, w1 to w5 are coefficients represented by the influence degree of the side.
[0107] Figure 11 The upper part shows the time variation of the voltage set value, the middle part shows the time variation of the VI sensor voltage measurement value, and the lower part shows the time variation of the VI sensor current measurement value. If there is no consumption of the lower electrode and the upper electrode, the VI sensor voltage measurement value can be explained only by the voltage set value, so it should vary as shown by the dotted line in the middle chart. However, when the actual measurement value varies as shown by the solid line, it is speculated that the VI sensor voltage measurement value is affected by the consumption of the lower electrode and the upper electrode. That is, it is speculated that in the middle chart, the difference between the chart shown by the dotted line and the chart shown by the solid line includes the difference ΔV1 caused by the lower electrode and the difference V2 caused by the consumption of the upper electrode.
[0108] Similarly, if there is no consumption of the lower electrode, the VI sensor current measurement value can be explained only by the VI sensor voltage measurement value, so it should vary as shown by the dotted line in the lower chart. However, when the actual measurement value varies as shown by the solid line, it is speculated that the VI sensor current measurement value is affected by the consumption of the lower electrode. That is, it is speculated that in the lower chart, the difference between the chart shown by the dotted line and the chart shown by the solid line includes the difference ΔI caused by the lower electrode.
[0109] The control unit 101 can estimate the consumption degrees of the lower electrode and the upper electrode by optimizing in such a way that the estimated results of the VI sensor voltage measurement value and the VI sensor current measurement value match the measured values.
[0110] Figure 12 is a flowchart showing the estimation order of the cause of variation. After deriving the causal structure, the control unit 101 of the information processing device 100 reads and executes the cause estimation program PG4 from the storage unit 102, and thus performs the following processing.
[0111] The control unit 101 assumes that there is no cause of variation, performs regression based on the influence degree of the side, and estimates each observed variable (step S501).
[0112] The control unit 101 compares the measured value of the observed variable with the estimated value (step S502). An observed variable with a large difference between the measured value and the estimated value can be regarded as varying due to the intervention of a cause of variation factor.
[0113] The control unit 101 optimizes the degree of variation of the cause of variation in such a way as to fill the difference between the measured value and the estimated value, and estimates the one with the relatively larger optimized degree of variation as the cause of variation (step S503).
[0114] Figure 13 It is a flowchart showing the output order of response information. After estimating the cause of variation, the control unit 101 performs the following processing as needed.
[0115] The control unit 101 explores the observed variables that can suppress the influence of the cause of variation from the causal structure (step S521), and determines whether there are matching observed variables (step S522).
[0116] When a variable that can be controlled by the substrate processing apparatus 200 (for example, voltage setting value, etc.) is explored, it is determined that there are matching observed variables (S522: Yes), and the control unit 101 outputs the case of suppressing the cause of variation using the observed variable as response information (step S523). The response information is displayed on the display unit 105. Instead, the response information is notified to the user terminal through the communication unit 103.
[0117] When a variable that can be controlled by the substrate processing apparatus 200 (for example, consumption of the lower electrode, upper electrode, etc.) is explored, it is determined that there are no matching observed variables (S522: No), and the control unit 101 outputs removing or replacing the cause of variation as response information (step S524). The response information is displayed on the display unit 105. Instead, the response information is notified to the user terminal through the communication unit 103.
[0118] As described above, in the fifth embodiment, it is possible to estimate the cause of variation for one observed variable and present the response information for the cause of variation to the user.
[0119] (Embodiment 6)
[0120] In the sixth embodiment, a structure for estimating the cause of variation based on the user's opinion is described.
[0121] In addition, the overall structure of the system and the internal structure of the information processing apparatus 100 are the same as those in the first embodiment, so the description thereof is omitted.
[0122] Figure 14 It is an explanatory diagram for explaining the operation when narrowing down the candidates for the cause of variation. Assume that Figure 14For the causal structure shown, investigate the reasons for the variation in the etching amount of node ND8. In this case, the nodes ND6 (VI sensor voltage measurement value) upstream of node ND8, and further upstream, ND3 (lower electrode consumption), ND4 (upper electrode consumption), and ND5 (voltage setting value) become candidates for the reasons for the variation. The control unit 101 of the information processing device 100 changes the colors of these nodes ND3, ND4, ND5, ND6, and ND8 and displays them on the display unit 105, for example. Instead of the structure of changing the colors of the nodes for display, the size of the nodes can be changed, or the thickness of the edges connecting the nodes can be changed, to change the display method of the candidates for the reasons for the variation.
[0123] The control unit 101 accepts the user's operation to narrow down the candidates for the reasons for the variation through the operation unit 104. By referring to the causal structure displayed on the display unit 105 and confirming the observed data obtained for the candidates for the reasons for the variation, the user can efficiently narrow down the possibilities. 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 candidates for the reasons for the variation. When a selection operation (e.g., click operation) for node ND6 is accepted, the control unit 101 excludes the VI sensor voltage measurement value of node ND6 from the candidates for the reasons for the variation and restores the display method of node ND6.
[0124] To further narrow down the candidates for the reasons for the variation, the variation of the observed variables downstream of the candidates can also be verified. For example, to verify the influence of the lower electrode consumption of node ND3, the VI sensor voltage measurement value of ND6 and the VI sensor current measurement value of node ND7 can be confirmed to verify the influence of the lower electrode consumption. At this time, if the relationship between the VI sensor voltage measurement value and the VI sensor current measurement value is normal, the lower electrode consumption can be excluded from the candidates for the reasons for the variation. When a selection operation (e.g., click operation) for node ND3 is accepted, the control unit 101 excludes the lower electrode consumption of node ND3 from the candidates for the reasons for the variation and restores the display method of node ND3.
[0125] Based on the above, the candidates for the reasons for the variation are narrowed down to two, namely, the upper electrode consumption of ND4 and the voltage setting value of ND5. Therefore, the control unit 101 outputs information prompting the replacement of the upper electrode as a response message. In addition, the control unit 101 outputs information prompting the adjustment of the voltage setting value as a response message.
[0126] Figure 15 It is a flowchart showing the sequence when accepting the narrowing operation of the reasons for the variation. After deriving the causal structure, the control unit 101 of the information processing device 100 reads and executes the cause estimation program PG4 from the storage unit 102, and thus performs the following processing.
[0127] The control unit 101 extracts one or more observed variables that are candidates for the cause of change for one observed variable specified by the user (step S601). The control unit 101 changes the display mode of the nodes corresponding to the extracted observed variables (step S602). The control unit 101 may also similarly change the display mode for the nodes corresponding to one observed variable specified by the user.
[0128] The control unit 101 accepts, via the operation unit 104, a selection operation for selecting an observed variable to be excluded from the candidates for the cause of change (step S603), and excludes the selected observed variable from the candidates for the cause of change (step S604). In steps S603 - S604, as a result of verification, the observed variables that the user determines are okay and the observed variables that are not relevant according to the user's opinion are excluded from the candidates for the cause of change. Further, when there are upstream observed variables, the processing of steps S603 - S604 is repeatedly executed.
[0129] The control unit 101 determines whether there are observed variables whose changes have not been verified downstream of the candidates for the cause of change (step S605). If there are un-verified observed variables (S605: Yes), the user is prompted to perform verification (step S606). The user confirms the change of the downstream observed variables, and if there is no change, they are excluded from the candidates for the cause of change. That is, the control unit 101 accepts, via the operation unit 104, a selection operation for selecting an observed variable to be excluded from the candidates for the cause of change (step S607), and excludes the selected observed variable from the candidates for the cause of change (step S608). When it is determined in step S605 that there are no un-verified observed variables downstream (S605: No), the control unit 101 transfers the processing to step S609.
[0130] The control unit 101 outputs response information based on the candidates for the cause of change narrowed down in the order of steps S603 to S608 (step S609). The response information is displayed on the display unit 105. Instead, the response information is notified to the user terminal via the communication unit 103.
[0131] As described above, in Embodiment 6, it is possible to narrow down the candidates for the cause of change based on the user's verification or the user's opinion. In addition, it is possible to prompt the user with response information based on the narrowed-down candidates for the cause of change.
[0132] (Embodiment 7)
[0133] In Embodiment 7, an application example in a non-linear system is described.
[0134] In addition, the overall structure of the system and the internal structure of the information processing device 100 are the same as those in Embodiment 1, so the description thereof is omitted.
[0135] For a linear system, feature quantities are selected, the causal structure is learned, and the explanatory variables are reduced, whereby an explanatory and robust prediction model and a reliable abnormal cause determination model can be constructed.
[0136] On the other hand, for a non-linear system, a prediction model such as a random forest or Gaussian process regression is mostly constructed with set parameters as explanatory variables and resultant parameters as target variables. In a non-linear system, it is difficult to determine the causal structure and functional form, and the model becomes a black box. Therefore, the persuasiveness of how each explanatory variable affects the change in the target variable is low, and fine-tuning of set values and correction of result changes with high reliability cannot be performed. In addition, even when part of the functional form, etc. is known in advance as domain knowledge, corrections and restrictions using it cannot be added. Therefore, it is difficult to create a model that reflects part of the functional form and domain knowledge only by statistical processing methods.
[0137] Therefore, in Embodiment 7, a method for learning a causal structure by using a method that can determine the presence or absence of a relationship although an accurate functional form is not determined for parameters having a non-linear causal relationship is described.
[0138] Figure 16 It is a flowchart showing the derivation order of the causal structure in Embodiment 7. The control unit 101 of the information processing apparatus 100 reads and executes the causal structure learning program PG1 from the storage unit 102, thereby performing the following processing.
[0139] The control unit 101 acquires observation data corresponding to a plurality of observation variables from the observation system of the object to be monitored, i.e., the substrate processing apparatus 200 (step S701). The observation data acquired by the control unit 101 includes data measured by the substrate processing apparatus 200 and data set by the substrate processing apparatus 200. The control unit 101 acquires these observation data by communicating with the substrate processing apparatus 200 via the communication unit 103.
[0140] The control unit 101 explores the causal relationship between the observation variables based on the acquired observation data (step S702). When exploring the causal relationship, as a preprocessing, the observation variables for deriving the causal structure may be selected, and constraint conditions may be added between the observation variables using the prior knowledge of the process in the substrate processing apparatus 200. Although the functional form is unknown, an algorithm capable of performing exploration including non-linearity is known. Therefore, the control unit 101 uses this algorithm to explore the causal relationship between the observation variables, thereby deriving the causal structure of the entire observation variables. After deriving the causal structure, the edges drawn from other multiple nodes having collinearity for one node may be detected in the same order as in Embodiment 1, and edges other than the edge with the highest accuracy may be specified as prohibited edges.
[0141] The control unit 101 targets each causal relationship estimation function form (step S703). At this time, the control unit 101 may estimate the function form based on the constraints and insights in the field of the substrate processing apparatus 200.
[0142] The control unit 101 performs interpolation of the causal structure by importing the estimated function form into the causal structure derived in step S702 (step S704). Either the display unit 105 may display the derived causal structure, or it may be notified to a user terminal (not shown) via the communication unit 103.
[0143] Figure 17 It is a schematic diagram showing an example of the causal structure with the function form interpolated. Similar to the first embodiment, the causal structure is depicted by a directed acyclic graph using nodes representing each observed variable and edges representing the causal relationships between the nodes. In Figure 17 , for simplicity, only 8 observed variables are excerpted, and the causal structure with the function form interpolated between the observed variables is shown.
[0144] Figure 17 The directed acyclic graph shown is composed of nodes ND1 to ND4, ND7 to ND10 corresponding to 8 observed variables, nodes ND5 and ND6 corresponding to two functions, and edges EG15, EG25, EG28, EG35, EG36, EG46, EG57, EG68, EG79, EG810 representing the causal relationships between the nodes. In Figure 17 's example, nodes ND1 to ND10 are represented by regular octagon icons, but the shape of the icon is not limited to a regular octagon and may be a circle or other shape. The string shown inside the icon represents the variable name or function form of each observed variable.
[0145] In Figure 17 's example, the nodes ND1 to ND4, ND7 to ND10 representing the observed variables and the nodes ND5 and ND6 representing the functions are shown in different colors. In addition to showing by changing the color of the icon, it can be shown by changing the shape of the icon or other different display methods. Also, in Figure 17 's example, the edges between the observed variables are represented by solid lines, and the edges representing the input to the function and the output from the function are represented by dashed lines. In addition to showing by changing the line type, it can be shown by changing the color or other different display methods. Also, it can be shown in a different display method so as to be able to distinguish the nodes of the set value and the observed value.
[0146] As described above, in the seventh embodiment, it is possible to derive a causal structure considering the non-linearity between the observed variables based on the observed data obtained from the observation system (substrate processing apparatus 200) of the monitoring target and present it to the user.
[0147] In addition, in Embodiment 7, a structure is adopted in which a non-linear relationship is visualized by introducing nodes representing function forms into a directed acyclic graph, but the non-linear relationship can also be displayed in a graph. Figure 18 It is a schematic diagram showing an example of a graph display of a non-linear relationship. Figure 18 It shows a display example in the case where there is a relationship of C = B × cos(A) among the observed variables A, B, and C. Figure 18 shows the case where the value of the observed variable A is fixed and the value of the observed variable B is changed using a slider to see how the observed variable C changes.
[0148] (Embodiment 8)
[0149] In Embodiment 8, a structure that visualizes a causal structure learned from experimental data as knowledge in process development is described.
[0150] Figure 19 It is a schematic diagram showing an example of visualization as knowledge of a process mechanism. Figure 19 It shows an example of visualizing 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) as a causal relationship of each observed variable. Even if a certain etching rate is taken, it is difficult to grasp how much the gas flow rate, RF power, DC bias, etc. should be changed appropriately. Without referring to the overall knowledge including sensors, it is difficult to judge what has deviated. Therefore, based on the observed data obtained from experiments, a causal structure is created using the Figure 7 same method and visualized as shown in Figure 19 , so that the relationship between the characteristic quantities can be left in a form that can be easily referred to and effectively used as knowledge.
[0151] As described above, in Embodiment 8, by leaving it in the form of a causal structure, knowledge can be left in a form that can be unfolded for those other than experts. In addition, by formalizing and visualizing it as a causal structure including function forms, knowledge on how to change the set value for experiments to approach the desired result can be obtained.
[0152] (Embodiment 9)
[0153] In Embodiment 9, a structure for overall prediction of the entire process, prediction, and prevention of failures and abnormalities is described.
[0154] Figure 20 It is a schematic diagram showing an example of a causal structure for failure prediction. Figure 20In the shown causal structure, if only the set values of the DC voltage (DC Volt) and the cooling temperature (Brine temp) are restricted, the DC current (DC Current) and the lower electrode temperature (Lower temp) cannot be directly specified. For example, it is expected that the etching rate (E / R) increases due to the increase in the plasma flow rate and energy. On the other hand, an increase in the electrode temperature is anticipated. Therefore, when the DC voltage is increased to the limit, there is a concern of damage due to the heating of the electrodes.
[0155] Therefore, it is necessary to overview the entire process and judge whether the sensor values indicate any abnormalities in accordance with the causal structure. That is, it is possible to predict without being limited to each part, but by overviewing the whole, the risk of failure is not overlooked.
[0156] Specifically, the control unit 101 can create a table of the range (process window) in which the process can be executed based on the causal structure and present it to the user. In the case of being outside the process window, the control unit 101 can also propose an alternative recipe that falls within the window with a minimum correction.
[0157] Figure 21 It is a flowchart showing the creation order of the process window. The control unit 101 creates a causal structure that interpolates the function form for the non-linear relationship in the same order as in Embodiment 7, and generates a determination model indicating whether the sensor value falls within the allowable range based on the created causal structure (step S901).
[0158] The control unit 101 uses the generated determination model to generate a multi-dimensional table indicating the possible range of the set value for the flow (step S902). For example, when generating a table (two-dimensional table) related to two set values such as RF power 1 and RF power 2, it is only necessary to generate a table such that it is not possible when the combination of the two set values (RF power 1, RF power 2) is (1000V, 100V), and it is possible when it is (1000V, 200V), and so on.
[0159] The control unit 101 presents the process window corresponding to the setting of the fixed value based on the generated multi-dimensional table (step S903). For example, as long as RF power 1 (or RF power 2) is fixed, the range of RF power 2 (or RF power 1) can be generated as the process window and displayed on the display unit 105.
[0160] As described above, in Embodiment 9, it is possible to prevent failures caused by secondary effects during experiments.
[0161] The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in all combinations regardless of the citation form. And, although the claims are described in a form (multiple claim form) that claims a claim that cites two or more other claims, it is not limited thereto. It may also be described in a form that claims a multiple claim (multiple claim citing multiple claims) that cites at least one multiple claim.
[0162] The embodiments disclosed herein should be considered illustrative in all respects and not restrictive. The scope of the present invention is not indicated by the above meaning, but by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.
[0163] For example, in the embodiment, as an observation system to be monitored, the substrate processing apparatus 200 is exemplified. The observation system to be monitored is not limited to the substrate processing apparatus 200, and may be a manufacturing apparatus that executes any manufacturing process such as an electrical device, a chemical industrial product, a pharmaceutical product, a food product, or a chemical industrial product. In addition, the observation system to be monitored is not limited to an apparatus or system that performs certain manufacturing processes, and may also be any system that appropriately combines a human living environment, economic activities, a meteorological environment, and the like.
[0164] Description of reference numerals
[0165] 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. A computer program for causing a computer to perform the following processing: Obtain observation data corresponding to a plurality of observation variables from an observation system of an object to be monitored; Derive a causal structure of the observation variables in the observation system based on the obtained observation data; Extract one or more other observation variables that are candidates for the cause of change of one observation variable based on the derived causal structure; and Output the extraction result.
2. The computer program according to claim 1, wherein For causing the computer to perform the following processing: Generate a directed acyclic graph representing the causal structure using nodes representing each observation variable and edges representing the causal relationship between the nodes, Display the generated directed acyclic graph.
3. The computer program according to claim 2, wherein For causing the computer to perform the following processing: Change the display mode of the nodes corresponding to the one or more other observation variables extracted, Accept an operation of narrowing down the cause-of-change candidates from the nodes whose display mode has been changed, Output response information for suppressing the change of the one observation variable based on the narrowed-down cause-of-change candidates.
4. The computer program according to claim 1, wherein A part of the relationship between the observation variables is non-linear.
5. The computer program according to claim 4, wherein For causing the computer to perform the following processing: Interpolate nodes in the form of a function representing the relationship between the observation variables among the observation variables having the non-linearity.
6. The computer program according to claim 4, wherein For causing the computer to perform the following processing: Display the nodes between the observation variables having linearity and the nodes between the observation variables having non-linearity in different display modes.
7. The computer program according to claim 4, wherein For causing the computer to perform the following processing: Display the relationship between the observation variables having the non-linearity through a graph.
8. An information processing apparatus, comprising: An acquisition unit that obtains observation data corresponding to a plurality of observation variables from an observation system of an object to be monitored; A derivation unit that derives a causal structure of the observation variables in the observation system based on the obtained observation data; An extraction unit that extracts one or more other observation variables that are candidates for the cause of change of one observation variable based on the derived causal structure; and An output unit that outputs the extraction result.
9. An information processing method, wherein a computer performs the following processing: Obtain observation data corresponding to a plurality of observation variables from an observation system of an object to be monitored; Derive a causal structure of the observation variables in the observation system based on the obtained observation data; Extract one or more other observation variables that are candidates for the cause of change of one observation variable based on the derived causal structure; and Output the extraction result.
Citation Information
Patent Citations
Data visualization for multidimensional process optimization
JP2022502806A