WO2025205121A1 - 基板処理装置、コンピュータプログラム及び情報処理方法 - Google Patents

基板処理装置、コンピュータプログラム及び情報処理方法

Info

Publication number
WO2025205121A1
WO2025205121A1 PCT/JP2025/010063 JP2025010063W WO2025205121A1 WO 2025205121 A1 WO2025205121 A1 WO 2025205121A1 JP 2025010063 W JP2025010063 W JP 2025010063W WO 2025205121 A1 WO2025205121 A1 WO 2025205121A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
substrate processing
value
values
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2025/010063
Other languages
English (en)
French (fr)
Inventor
哲 曲谷地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Publication of WO2025205121A1 publication Critical patent/WO2025205121A1/ja
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10P—GENERIC PROCESSES OR APPARATUS FOR THE MANUFACTURE OR TREATMENT OF DEVICES COVERED BY CLASS H10
    • H10P95/00—Generic processes or apparatus for manufacture or treatments not covered by the other groups of this subclass

Definitions

  • This disclosure relates to a substrate processing apparatus, a computer program, and an information processing method.
  • This disclosure provides a substrate processing apparatus, computer program, and information processing method that are expected to enable efficient communication between modules.
  • a substrate processing apparatus includes a first module that controls substrate processing, and a second module that generates processing values related to the substrate processing and transmits the generated processing values to the first module.
  • the first module instructs the second module on the conditions for generating the processing values, and the second module generates the processing values in accordance with the instructions of the first module.
  • FIG. 1 is a schematic diagram showing an example of the configuration of a substrate processing apparatus according to an embodiment of the present invention
  • FIG. 2 is a block diagram showing an example of the configuration of an upper module.
  • FIG. 2 is a block diagram showing an example of the configuration of a lower module.
  • 2 is a schematic diagram for explaining an example of communication performed between an upper module and a lower module 3.
  • FIG. 10 is a schematic diagram illustrating an example of a factor identification table. 10 is a flowchart showing an example of a procedure of a process performed by a higher-level module of the substrate processing apparatus according to the present embodiment.
  • FIG. 10 is a schematic diagram for explaining a factor identification process according to a modified example.
  • FIG. 10 is a schematic diagram showing an example of the configuration of a factor identification table used in the factor identification process according to the modified example. 10 is a flowchart showing an example of a processing procedure performed by an upper module in use case 2.
  • FIG. 1 is a schematic diagram showing an example of the configuration of a substrate processing apparatus according to this embodiment.
  • the substrate processing apparatus 1 is an apparatus for performing various substrate processes, such as CVD (Chemical Vapor Deposition), sputtering, or etching, on semiconductor substrates (wafers).
  • the substrate processing apparatus 1 includes one upper module 2 and multiple lower modules 3.
  • the upper module 2 and the multiple lower modules 3 are connected via communication lines or the like within the substrate processing apparatus 1, allowing data to be transmitted and received between them.
  • the upper module 2 and the multiple lower modules 3 are connected in a bus-type network configuration, but this is not limiting, and any network configuration may be employed.
  • the multiple lower modules 3 may be connected in a star-type network configuration with the upper module 2 at the center.
  • Modules such as the upper module 2 and lower module 3 are components with a set of functions that make up the substrate processing apparatus 1.
  • the modules are not limited to hardware modules, but may also be software modules.
  • multiple software modules may be provided for one piece of hardware, or one software module may be provided for multiple pieces of hardware.
  • the lower module 3 is equipped with various sensors 4, or the sensors 4 are connected via signal lines, etc.
  • the sensors 4 measure various values related to substrate processing, such as temperature or pressure, and the lower module 3 acquires the values measured by the sensors 4 (hereinafter referred to as sensor values).
  • the lower module 3 is equipped with various controlled devices 5, or the controlled devices 5 are connected via signal lines, etc.
  • the controlled devices 5 are devices provided in substrate processing, such as actuators, valves, and edge rings.
  • the lower module 3 is a module that controls the controlled devices 5 based on the sensor values acquired from the sensors 4.
  • the multiple lower modules 3 provided in the substrate processing apparatus 1 may include modules that acquire sensor values from the sensors 4 but do not control the controlled devices 5, or modules that control the controlled devices 5 without acquiring sensor values from the sensors 4.
  • the upper module 2 communicates with the multiple lower modules 3 and acquires various information from each lower module 3. Based on the acquired information, the upper module 2 controls the operation of the multiple lower modules 3 by sending control instruction information to each lower module 3. This allows the upper module 2 to operate the lower modules 3 according to settings (recipe) provided by, for example, a user, and perform various substrate processing on substrates.
  • the upper module 2 may send control instructions to a certain lower module 3 based on information acquired from that lower module 3, or may send control instructions to another lower module 3 based on information acquired from a certain lower module 3.
  • the upper module 2 may also send control instructions to multiple lower modules 3 based on information acquired from a single lower module 3, or may send control instructions to one or multiple lower modules 3 based on information acquired from multiple lower modules 3.
  • the upper module 2 can instruct the lower module 3 on the conditions for generating a summary value and the type of calculation process to be used for each sensor value.
  • the upper module 2 can also instruct the lower module 3 on the transmission period for the summary value. For example, when the substrate processing apparatus 1 is operating normally, the lower module 3 generates a summary value under predetermined generation conditions and transmits the summary value to the upper module 2 at a predetermined transmission period. The generation of summary values by the lower module 3 is repeated at a period that is the same as the transmission period or at a shorter period.
  • the lower module 3 When the upper module 2 instructs the generation conditions and transmission period, the lower module 3 generates a summary value based on the sensor values according to the instructed generation conditions and transmits the generated summary value to the upper module 2 at the instructed transmission period. Thereafter, the lower module 3 repeatedly transmits summary values under these generation conditions and transmission period, and maintains this until it is instructed to specify different generation conditions or transmission period.
  • the upper module 2 issues control instructions to the multiple lower modules 3 to proceed with substrate processing based on settings provided by the user, and acquires summary values sent from the lower modules 3 to determine the status of substrate processing.
  • the upper module 2 determines the status of substrate processing (in this embodiment, whether normal or abnormal) based on the multiple summary values acquired from the multiple lower modules 3, and if it determines that an abnormality has occurred in the substrate processing, it performs processing to identify the cause of this abnormality.
  • the upper module 2 instructs the lower modules 3 on the conditions for generating the above-mentioned summary values and the transmission period, and collects information necessary to identify the cause from the lower modules 3.
  • FIG. 2 is a block diagram showing an example configuration of the upper module 2.
  • the upper module 2 provided in the substrate processing apparatus 1 is configured to include a processing unit 21, a memory unit 22, a communication unit 23, etc.
  • the processing unit 21 is configured using an arithmetic processing device such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphics Processing Unit) or quantum processor, a ROM (Read Only Memory), and a RAM (Random Access Memory), etc.
  • the processing unit 21 reads and executes a program 22a stored in the memory unit 22 to control the operation of multiple lower modules 3 to process substrates, and to perform various processes such as identifying the cause of an abnormality if one occurs.
  • the storage unit 22 is configured using a large-capacity storage device such as a hard disk or SSD (Solid State Drive).
  • the storage unit 22 stores various programs executed by the processing unit 21 and various data required for the processing of the processing unit 21.
  • the storage unit 22 stores a program 22a executed by the processing unit 21 and a cause identification table 22b used when identifying the cause of an abnormality.
  • the program (computer program, program product) 22a is provided in a form recorded on a recording medium 99 such as a memory card or optical disc, and the substrate processing apparatus 1 reads the program 22a from the recording medium 99 and stores it in the memory unit 22 of the upper module 2.
  • the program 22a may also be written to the memory unit 22, for example, during the manufacturing stage of the substrate processing apparatus 1 or the upper module 2.
  • the program 22a may be distributed by a remote server device or the like and acquired by the substrate processing apparatus 1 via communication.
  • the program 22a may be read from the recording medium 99 by a writing device and written to the memory unit 22 of the upper module 2 of the substrate processing apparatus 1.
  • the program 22a may be provided in a form distributed via a network, or in a form recorded on the recording medium 99.
  • the communication unit 23 is connected to multiple lower modules 3 via a bus (communication line) provided in the substrate processing apparatus 1, and transmits and receives data to these multiple lower modules 3.
  • the communication unit 23 receives summarized value data transmitted from the lower modules 3 and provides the received summarized values to the processing unit 21.
  • the communication unit 23 also transmits control instructions and the like transmitted from the processing unit 21 to one or more lower modules 3.
  • the processing unit 21 reads and executes the program 22a stored in the memory unit 22, thereby realizing the control processing unit 21a, cause identification processing unit 21b, etc. as software functional units in the processing unit 21.
  • functional units related to substrate processing control and abnormality cause identification are shown as functional units of the processing unit 21, and functional units related to other processes are not shown.
  • the control processing unit 21a communicates with the lower modules 3 via the communication unit 23, and receives and acquires summary values of sensor values periodically transmitted from the lower modules 3.
  • the control processing unit 21a determines the state of substrate processing based on the multiple summary values acquired from the multiple lower modules 3, determines the operation to be performed by each lower module 3 based on the determined state and user settings, and transmits a control instruction to each lower module 3 to perform the determined operation.
  • the control processing unit 21a issues a control instruction to a lower module 3 that controls an actuator as a controlled device 5, along with a target value for the actuator's displacement amount, to operate the actuator.
  • the lower module 3 controls the actuator to operate so that the displacement amount becomes the target value.
  • control processing unit 21a can instruct each lower module 3 on the conditions for generating and the transmission period for the summary value. For example, when substrate processing is configured to include multiple steps and the processing content is switched from the first step to the second step, the control processing unit 21a can obtain information appropriate for each step of the substrate processing by instructing each lower module 3 on the conditions for generating and the transmission period for the summary value to be transmitted. Furthermore, in this embodiment, if the control processing unit 21a determines that an abnormality has occurred in the substrate processing based on the summary value obtained from the lower module 3, it will, for example, temporarily or forcibly stop the substrate processing and have the cause identification processing unit 21b identify the cause of the abnormality.
  • the factor identification processing unit 21b When the control processing unit 21a determines that an abnormality has occurred in the substrate processing based on the summary value acquired from the lower module 3, the factor identification processing unit 21b performs processing to identify the cause of this abnormality.
  • the factor identification processing unit 21b identifies the cause of the abnormality by sequentially determining whether or not each of multiple predetermined types of factors is the cause of the current abnormality.
  • the factor identification table 22b in the memory unit 22 stores information required for determination of each factor (such as the type of summary value) in association with the determination conditions for this information.
  • the factor identification processing unit 21b refers to the factor identification table 22b and instructs the corresponding lower module 3 on the generation conditions and transmission period of the summary value of the necessary information in order to acquire the information required to identify the factor.
  • the factor identification processing unit 21b can instruct a lower module 3 equipped with a temperature sensor as its sensor 4 to transmit the average sensor value at a one-minute period.
  • the factor identification processing unit 21b appropriately instructs the multiple lower modules 3 on the conditions for generating and transmitting summary values, acquires the multiple summary values transmitted from the multiple lower modules 3, and determines whether the corresponding factor is the cause of the current abnormality by making a judgment on the acquired multiple summary values using the judgment conditions stored in the factor identification table 22b.
  • the factor identification processing unit 21b identifies one or more factors for the current abnormality and displays information related to the identified factors on the display unit, etc. of the substrate processing apparatus 1.
  • FIG. 3 is a block diagram showing an example configuration of the lower module 3.
  • the lower module 3 provided in the substrate processing apparatus 1 is configured to include a processing unit 31, a memory unit 32, a communication unit 33, an input unit 34, and an output unit 35.
  • the processing unit 31 is configured using an arithmetic processing device such as a CPU or MPU, a ROM, a RAM, etc.
  • the processing unit 31 reads and executes a program 32a stored in the memory unit 32 to perform various processes, such as sending a summary of the sensor values measured by the sensor 4 to the upper module 2, and controlling the operation of the controlled device 5 in response to instructions from the upper module 2.
  • the program 32a may be distributed by a remote server device or the like and acquired by the substrate processing apparatus 1 via communication.
  • the program 32a may be read by a writing device from the recording medium 98 and written to the memory unit 32 of the lower module 3 of the substrate processing apparatus 1.
  • Program 32a may be provided in the form of distribution via a network, or may be provided in the form of being recorded on recording medium 98.
  • the communication unit 33 is connected to the upper module 2 via a bus (communication line) provided in the substrate processing apparatus 1, and transmits and receives data to and from the upper module 2.
  • the communication unit 33 receives control instructions, etc. sent from the upper module 2, and provides the received control instructions, etc. to the processing unit 31.
  • the communication unit 33 also transmits summary values, etc. provided by the processing unit 31 to the upper module 2.
  • multiple lower modules 3 are connected to the bus provided in the substrate processing apparatus 1, and data may be transmitted and received between the multiple lower modules 3.
  • the input unit 34 is connected to the sensor 4 via a signal line or the like.
  • the input unit 34 samples and acquires the signal output by the sensor 4 (measurement results by the sensor 4) at a predetermined sampling period, and provides the acquired sensor value to the processing unit 31.
  • Multiple sensors 4 may be connected to the input unit 34, and the input unit 34 may acquire sensor values from multiple sensors 4 at individual sampling periods.
  • the output unit 35 is connected to the controlled device 5 via a signal line or the like.
  • the output unit 35 outputs a control signal to the controlled device 5 based on the control value provided by the processing unit 31, and operates the controlled device 5.
  • Multiple controlled devices 5 may be connected to the output unit 35, and the output unit 35 may output individual control signals to multiple controlled devices 5, thereby individually controlling the operation of the multiple controlled devices 5.
  • the processing unit 31 reads and executes the program 32a stored in the memory unit 32, thereby realizing the control processing unit 31a, summary value processing unit 31b, etc. as software functional units in the processing unit 31.
  • the processing unit 31 reads and executes the program 32a stored in the memory unit 32, thereby realizing the control processing unit 31a, summary value processing unit 31b, etc. as software functional units in the processing unit 31.
  • functional units related to control of substrate processing and transmission of summary values are shown as functional units of the processing unit 31, and functional units related to other processes are not shown.
  • the control processing unit 31a communicates with the upper module 2 via the communication unit 33, and performs processing to control the operation of the controlled device 5 connected to the output unit 35 in accordance with control instructions sent from the upper module 2.
  • the control processing unit 31a determines the state of the controlled device 5 based on, for example, sensor values measured by the sensor 4, and calculates a control value for the controlled device 5 based on a target value given as a control instruction from the upper module 2 and the current state of the controlled device 5.
  • the control value may be, for example, a voltage value or current value to be applied to the controlled device 5, but may be any value.
  • the summary value processing unit 31b generates summary values in accordance with predetermined generation conditions based on the sensor values of the sensor 4 acquired by the input unit 34, and transmits the generated summary values from the communication unit 33 to the upper module 2 at a predetermined transmission cycle. For example, if the summary value processing unit 31b samples and acquires the measurement results of the sensor 4 at 10 ms intervals and transmits summary values at 100 ms intervals, it calculates the average, maximum, minimum, or median of 10 sensor values as summary values at 100 ms intervals and transmits the calculated summary values to the upper module 2. Note that the values of 10 ms, 100 ms, 10 times, etc. are merely examples and are not limiting.
  • the summary value processing unit 31b when the summary value processing unit 31b receives instructions regarding the conditions for generating summary values from the upper module 2 via the communication unit 33, it changes the conditions for generating summary values in accordance with the received instructions. For example, when the summary value processing unit 31b is generating the average value of multiple sensor values as a summary value, if it receives an instruction from the upper module 2 to generate the maximum sensor value as a summary value, it will thereafter transmit the maximum value of the multiple sensor values acquired from sensor 4 to the upper module 2 as a summary value until it receives another instruction.
  • the summary value processing unit 31b changes the transmission period of the summary values in accordance with the received instruction. For example, if the summary value processing unit 31b is currently transmitting summary values at a 100 ms interval and receives an instruction from the upper module 2 to change the transmission period to 50 ms, the summary value processing unit 31b will repeatedly transmit summary values to the upper module 2 at 50 ms thereafter until receiving another instruction. Note that when the transmission period of the summary values is changed, the period for calculating the summary values may also be changed in the same way. For example, if an average value is calculated as the summary value, the number of sensor values used to calculate the average value may be increased or decreased.
  • the sampling period for acquiring sensor values from the sensor 4 may also be changed in the same way. For example, if an instruction is given to halve the transmission period of the summary values, the lower module 3 may halve the transmission period of the summary values and also halve the sampling period of the sensor values.
  • ⁇ Conditions for generating digest values and transmission cycle> 4 is a schematic diagram illustrating an example of communication performed between the upper module 2 and the lower module 3.
  • the lower module 3 acquires sensor values from the sensor 4 by sampling at a predetermined sampling period, calculates the average value of the acquired sensor values as a summary value, and repeatedly transmits this summary value to the upper module 2 at a transmission period T1.
  • the upper module 2 instructs the lower module 3 to set a maximum frequency as a condition for generating a summary value, and also instructs it to set a transmission cycle T2 as the transmission cycle for the summary value.
  • the lower module 3 calculates a maximum frequency as a summary value based on multiple sensor values acquired by sampling, and repeatedly transmits the calculated maximum frequency to the upper module 2 at the transmission cycle T2. Thereafter, the lower module 3 repeatedly transmits summary values using the same generation conditions and transmission cycle until a new instruction is given.
  • the upper module 2 instructs the lower module 3 to use the maximum difference value as a condition for generating a summary value, and also instructs it to use transmission period T3 as the transmission period for the summary value.
  • the lower module 3 calculates the maximum difference value as a summary value based on multiple sensor values acquired by sampling, and repeatedly transmits the calculated maximum difference value to the upper module 2 at transmission period T3. The lower module 3 then repeatedly transmits the summary value using the same generation conditions and transmission period until a new instruction is given.
  • the upper module 2 may also instruct, for example, the sampling period for acquiring the sensor values of the sensor 4.
  • the lower module 3 changes the period for sampling the values of the sensor 4 in accordance with the instructions given by the upper module 2, and calculates a summary value of the multiple sensor values acquired at this sampling period.
  • the upper module 2 of the substrate processing apparatus 1 determines whether an abnormality has occurred in the substrate processing based on the plurality of summary values transmitted from the plurality of lower modules 3, and if an abnormality has occurred, performs processing to identify the cause (factor) of the abnormality.
  • the upper module 2 appropriately instructs the plurality of lower modules 3 on the conditions for generating and transmitting summary values and the transmission period based on information in the factor identification table 22b stored in advance in the storage unit 12, and collects information necessary for factor identification.
  • FIG. 5 is a schematic diagram showing an example of the factor identification table 22b.
  • the factor identification table 22b of the upper module 2 stores information such as "factors,” “summary value of lower module (1),” “summary value of lower module (2),” ..., “summary value of lower module (N) (where N is a natural number),” and “determination conditions” in association with each other.
  • the information stored in each item of the factor identification table 22b is determined in advance by the designer of the substrate processing apparatus 1 according to this embodiment.
  • the "determination conditions" of the cause identification table 22b may store information such as an arithmetic formula for calculating a predetermined value based on multiple summary values, and a threshold value for the value calculated by this arithmetic formula.
  • the upper module 2 substitutes multiple summary values obtained from multiple lower modules 3 into the arithmetic formula stored in the "determination conditions,” obtains the value output by the arithmetic formula, and compares the obtained value with the threshold value stored in the "determination conditions,” thereby determining whether the corresponding "cause” is the cause of the current abnormality.
  • the upper module 2 may use a learning model that has been pre-machine trained to accept multiple summary values as input and output a numerical value indicating whether or not the corresponding "factor" is the factor of the current abnormality, or the possibility that it is the factor.
  • Information about this learning model (such as the internal parameters of the learning model or the address of the memory area in which the learning model is stored) is stored in the "judgment conditions" of the factor identification table 22b.
  • the learning model may have a variety of configurations, such as a neural network, SVM (Support Vector Machine), or decision tree.
  • the learning model may also be generated in advance by machine learning, for example, by a designer of the substrate processing apparatus 1 according to this embodiment, and stored in the memory unit 12 of the upper module 2.
  • the upper module 2 inputs multiple summary values obtained from multiple lower modules 3 into the trained learning model stored as "judgment conditions," obtains the value output by the learning model, and can judge whether or not the corresponding "factor” is the factor of the current abnormality.
  • the upper module 2 instructs each lower module 3 to generate the summary values necessary for the determination stored in the factor identification table 22b, and also instructs the transmission period for the summary values.
  • the upper module 2 instructs each lower module 3 to transmit the summary values at a transmission period that is shorter than the transmission period during normal substrate processing. This allows the upper module 2 to quickly collect from the lower modules 3 the many summary values that must be obtained to determine multiple factors.
  • FIG. 6 is a flowchart showing an example of the processing procedure performed by the upper module 2 of the substrate processing apparatus 1 according to this embodiment.
  • the processing unit 21 of the upper module 2 of the substrate processing apparatus 1 according to this embodiment communicates with the multiple lower modules 3 via the communication unit 23 and transmits control instructions related to substrate processing to each lower module 3 based on, for example, conditions related to substrate processing set by the user (step S1).
  • the processing unit 21 receives multiple summary values transmitted from the multiple lower modules 3 via the communication unit 23 (step S2).
  • the processing unit 21 determines whether an abnormality has occurred in the substrate processing based on the multiple summary values received in step S2 (step S3). If no abnormality has occurred in the substrate processing (S3: NO), the processing unit 21 determines whether the substrate processing has ended (step S4). If the substrate processing has not ended (S4: NO), the processing unit 21 returns to step S1 and repeats the above-described processing. If the substrate processing has ended (S4: YES), the processing unit 21 ends the processing.
  • the processing unit 21 obtains information about the first cause from the factor identification table 22b in the memory unit 12 (step S5). Based on the information about the summary value generation conditions of each lower module 3 obtained from the factor identification table 22b, the processing unit 21 transmits instructions about the summary value generation conditions and transmission period to each lower module 3 (step S6). The processing unit 21 receives the summary values transmitted from each lower module 3 in response to the instruction in step S6 (step S7). At this time, the processing unit 21 may receive multiple summary values from the lower module 3 if multiple summary values are required for subsequent judgments. The processing unit 21 performs judgment processing on the summary values received in step S7 based on the judgment conditions stored in the factor identification table 22b (step S8).
  • step S8 judges whether the cause judged in step S8 is the cause of the current abnormality (step S9). If it is determined that the cause is not the cause of the current abnormality (S9: NO), the processing unit 21 obtains information about the next cause from the cause identification table 22b (step S10), and returns to step S6 to perform the same process.
  • the upper module 2 sequentially acquires and determines summary values for the multiple factors stored in the factor identification table 22b to identify one or more factors related to the abnormality in the substrate processing.
  • the upper module 2 needs to acquire and determine summary values for all of the factors stored in the factor identification table 22b.
  • the factor identification table 22b may include factors that are clearly unrelated to the currently occurring abnormality, there is a possibility that unnecessary acquisition of summary values and determination may be performed.
  • FIG. 7 is a schematic diagram illustrating the cause identification process according to the modified example.
  • the upper module 2 according to the modified example first references the branching condition for branch 1-1 and obtains the summary values required to determine the branching condition from multiple lower modules 3. Based on the obtained summary values, the upper module 2 determines whether to branch to branch 2-1 or branch 2-2. For example, if the condition for branching to branch 2-1 is met, the upper module 2 references the branching condition for branch 2-1 and similarly obtains the necessary summary values from the lower modules 3 to determine the branch destination.
  • the upper module 2 performs this branch judgment M times (where M is a natural number) and finally performs a judgment on branch M-L (where L is a natural number) to identify one cause of the substrate processing anomaly.
  • the search tree for identifying factors is assumed to have two branches (a so-called binary search tree configuration), but this is not limited to this and a configuration with three or more branches may also be used. Furthermore, in this example, a configuration is assumed in which all factors are identified by condition judgments in the Mth stage, but this is not limited to this and factors that are identified by judgments fewer than M times, such as in the third or fourth stage, may also be included.
  • FIG. 8 is a schematic diagram showing an example of the configuration of the factor identification table 22b used in the factor identification process according to the modified example.
  • the factor identification table 22b according to the modified example stores information such as "branch number,” "summary value of lower module (1),” “summary value of lower module (2),” ..., “summary value of lower module (N),” "branch condition,” and "factor” in association with each other.
  • the information stored in each item of the factor identification table 22b according to the modified example is determined in advance by the designer of the substrate processing apparatus 1 according to the modified example, etc.
  • the "Branch Number” item in the factor identification table 22b relating to the modified example stores a number expressed as a combination of two numbers, such as “1-1,” “2-1,” “2-2,” ..., “M-L.” This "Branch Number” is used as the name of each branch in Figure 7. Note that "M-L” in the "Branch Number” indicates the Lth branch in the Mth stage.
  • the "Summary Value of Lower Module (1),” “Summary Value of Lower Module (2),” ..., “Summary Value of Lower Module (N)” items in the factor identification table 22b are the same as those shown in Figure 5, and each stores the conditions for generating a summary value to be instructed to lower module 3.
  • branch number 1-1 the condition for determining whether to branch to branch number 2-1 or branch number 2-2 is stored in "branch condition.”
  • branch number 2-1 the condition for determining whether to branch to branch to branch number 3-1 or branch number 3-2 is stored in "branch condition.”
  • branch number 2-2 the condition for determining whether to branch to branch to branch number 3-3 or branch number 3-4 is stored in "branch condition.”
  • the condition for determining whether "sensor A failure” or “edge ring degradation” is the cause is stored in "cause.”
  • Information about the conditions for judgment stored in the "branching conditions" or "factors" of the factor identification table 22b may be, for example, multiple thresholds for multiple summary values, or may be, for example, an arithmetic formula for calculating a predetermined value based on multiple summary values and information about the threshold for the value calculated by this arithmetic formula, or may be, for example, information about a trained learning model that estimates the branching conditions or factors.
  • the upper module 2 can perform factor identification processing using the factor identification table 22b shown in FIG. 8.
  • Example of use 1 For example, in a substrate processing apparatus 1 in which a lower module 3 has multiple temperature sensors and can measure the temperature distribution of a substrate (wafer) to be processed using the multiple temperature sensors, if no abnormality occurs in the substrate processing, the upper module 2 instructs the lower module 3 to transmit the average temperature of the entire substrate as a summary value. If it is determined that an abnormality has occurred in the substrate processing, the upper module 2 instructs the lower module 3 to transmit the average temperature of the peripheral portion of the substrate as a summary value. Based on the temperature of the peripheral portion of the substrate obtained from the lower module 3, the upper module 2 can be expected to determine whether or not a cause of the abnormality exists in, for example, the gas injection ports of the substrate processing apparatus 1. Note that when instructing the upper module 2 to generate the average temperature of the peripheral portion of the substrate as a summary value, the upper module 2 may instruct the lower module 3 to transmit the summary value at a transmission period suitable for gas injection.
  • the upper module 2 determines that the cause of the abnormality is not based on the temperature of the peripheral portion, it instructs the lower module 3 to send the average temperature value of the central portion of the substrate as a summary value.
  • the upper module 2 can be expected to determine whether the cause of the abnormality exists, for example, in the edge ring of the substrate processing apparatus 1, based on the temperature of the central portion of the substrate obtained from the lower module 3. Note that when issuing an instruction to generate the average temperature value of the central portion of the substrate as a summary value, the upper module 2 may also instruct the lower module 3 to send the summary value at a transmission period appropriate for the mobility of the edge ring.
  • the substrate processing performed by the substrate processing apparatus 1 includes multiple stages, and the information required to control the substrate processing may differ at each stage.
  • the upper module 2 of the substrate processing apparatus 1 can pre-store summary values to be acquired from each lower module 3 for each stage and instruct the lower module 3 on the summary value generation conditions and transmission period depending on the stage of the substrate processing.
  • the upper module 2 does not determine whether or not there is an abnormality in the substrate processing based on the summary values acquired from the lower module 3, but rather determines the stage of the substrate processing as a status based on the summary values.
  • the upper module 2 does not need to perform cause identification processing.
  • a higher-level module 2 instructs the lower module 3 to transmit the average temperature across the entire substrate as a summary value during the first stage of substrate processing. If the higher-level module 2 determines that substrate processing has transitioned from the first stage to the second stage based on the summary value obtained from the lower module 3, it instructs the lower module 3 to transmit the average temperature of the peripheral portion of the substrate as a summary value. Furthermore, if it determines that substrate processing has transitioned from the second stage to the third stage, it instructs the lower module 3 to transmit the average temperature of the central portion of the substrate as a summary value. The higher-level module 2 may also instruct the lower module 3 to transmit the summary value at a transmission cycle appropriate for each stage.
  • FIG. 9 is a flowchart showing an example of the processing procedure performed by the upper module 2 in use case 2.
  • the processing unit 21 of the upper module 2 of the substrate processing apparatus 1 transmits control instructions for substrate processing to each lower module 3 based on, for example, conditions for substrate processing set by the user (step S31).
  • the processing unit 21 receives multiple summary values transmitted from multiple lower modules 3 via the communication unit 23 (step S32).
  • the processing unit 21 determines whether the current stage of substrate processing has ended based on the multiple summary values received in step S2 (step S33). If the current stage of processing has not ended (S33: NO), the processing unit 21 returns to step S32 and continues the current stage of processing.
  • the processing unit 21 determines whether the substrate processing has ended (step S34). If the substrate processing has not ended (S34: NO), the processing unit 21 sends instructions for the generation conditions and transmission period of the summary values corresponding to the next stage of substrate processing to each lower module 3 (step S35), and returns processing to step S32. If the substrate processing has ended (S34: YES), the processing unit 21 ends processing.
  • the substrate processing apparatus 1 may be configured to transmit multiple types of summary values from the lower module 3 to the upper module 2 at different transmission intervals.
  • the upper module 2 may need three summary values: the average temperature of the entire substrate, the average temperature of the peripheral portion, and the average temperature of the central portion.
  • the upper module 2 provides the lower module 3 with generation conditions for generating these three summary values.
  • the upper module 2 may, for example, use the same transmission interval for all three summary values, or may instruct the lower module 3 to transmit each summary value at a different transmission interval depending on, for example, priority.
  • the lower module 3 calculates three summary values based on the temperatures obtained from multiple temperature sensors: the average temperature of the entire board, the average temperature of the peripheral part of the board, and the average temperature of the central part of the board.
  • the lower module 3 repeatedly transmits the three calculated summary values to the upper module 2 at the transmission cycle instructed by the upper module 2.
  • the lower module 3 may transmit all three summary values to the upper module 2 at the same time, or may transmit the three summary values to the upper module 2 one by one in any appropriate order.
  • the lower module 3 predicts the sensor value to be measured by the sensor 4 based on the control signal output to the controlled device 5, and transmits a summary value of the predicted value to the upper module 2.
  • the upper module 2 can provide the lower module 3 with a summary value generation condition, which determines whether to generate the summary value based on the sensor value measured by the sensor 4 or based on the predicted sensor value.
  • the process of predicting the sensor value of the sensor 4 based on the control signal to the controlled device 5 may be performed by the upper module 2 rather than the lower module 3.
  • the lower module 3 transmits a summary value of the control signal to the controlled device 5 to the upper module 2, and the upper module 2, upon receiving this, predicts a summary value of the sensor value based on the summary value of the control signal.
  • the upper module 2 can, for example, accept the summary value of the control process as input and predict the summary value of the sensor value using a learning model that has been machine-learned in advance to output a summary value of the predicted sensor value.
  • the upper module 2 instructs the lower module 3 on the transmission period of the summarized value, and the lower module 3 transmits the summarized value at the transmission period in accordance with the instruction from the upper module 2.
  • the upper module 2 can appropriately instruct the transmission period depending on the type of summarized value or communication status, etc., and it is expected that communication between modules will be carried out efficiently.
  • the upper module 2 determines the state of substrate processing, such as the presence or absence of an abnormality or the stage of substrate processing, based on the summary values received from the lower modules 3, and the upper module 2 sends instructions regarding the summary values to each lower module 3 according to the determined state of substrate processing.
  • the upper module 2 can be expected to obtain summary values appropriate to the state of substrate processing from the lower modules 3 and control the substrate processing.
  • the upper module 2 when it is determined that the substrate processing is in a predetermined state, instructs the lower module 3 on the conditions for generating a summary value corresponding to the predetermined state.
  • the upper module 2 receives the summary value sent by the lower module 3 in response to this instruction, and identifies the factor that caused the substrate processing to reach the predetermined state based on the received summary value.
  • the upper module 2 issues instructions to the lower module 3 multiple times under different generation conditions, and identifies the factor based on the summary values sent multiple times by the lower module 3 in response to the multiple instructions.
  • the upper module 2 stores the summary value generation conditions and the judgment conditions for judging factors based on the summary values in the factor identification table 22b, and identifies the factor that caused the predetermined state by judging each of the multiple factors stored in the factor identification table 22b to see if it is a factor that caused the predetermined state.
  • the upper module 2 collects the necessary information from the lower module 3, and it is expected that the upper module 2 will be able to accurately identify the factor that caused the substrate processing to reach the predetermined state.
  • the substrate processing apparatus 1 stores in the factor identification table 22b the conditions for generating a summary value by the lower module 3, and the judgment conditions for identifying a factor based on the summary value or the branching conditions (decision conditions) that determine branching to the next generation condition required for factor identification.
  • the upper module 2 then identifies the factor that caused the substrate processing to reach a predetermined state by repeatedly instructing the conditions for generating a summary value and judging the summary value based on the factor identification table 22b, and following the branching.As a result, the substrate processing apparatus 1 according to this embodiment is expected to efficiently identify the factor that caused the substrate processing to reach a predetermined state.
  • the lower module 3 is a module that controls the controlled device 5 and performs measurements using the sensor 4, and generates summary values based on the sensor value from the sensor 4, the control signal (control value) for the controlled device 5, or a predicted value that predicts the sensor value of the sensor 4 based on the control signal, and transmits these to the upper module 2.
  • the upper module 2 transmits instructions related to the control of the controlled device 5 to the lower module 3 based on these summary values received from the lower module 3.
  • it is expected that the upper module 2 will obtain and process appropriate summary values according to the accuracy of the information obtained from the lower module 3 or the speed at which the information can be obtained.
  • the lower module 3 calculates the average, maximum, minimum, median, etc. of multiple values (which may be multiple values over time or multiple values over space) acquired in relation to substrate processing, and uses these as a summary value.
  • the substrate processing apparatus 1 according to this embodiment is expected to reduce the amount of information sent from the lower module 3 to the upper module 2.

Abstract

モジュール間の通信を効率よく行うことが期待できる基板処理装置、コンピュータプログラム及び情報処理方法を提供する。 本実施の形態に係る基板処理装置は、基板処理に係る制御を行う第1モジュールと、前記基板処理に係る処理値を生成し、生成した前記処理値を前記第1モジュールへ送信する第2モジュールとを備え、前記第1モジュールは、前記第2モジュールによる前記処理値の生成条件を指示し、前記第2モジュールは、前記第1モジュールの指示に応じて前記処理値を生成する。

Description

基板処理装置、コンピュータプログラム及び情報処理方法
 本開示は、基板処理装置、コンピュータプログラム及び情報処理方法に関する。
 特許文献1においては、プラズマ生成用の高周波電力を処理容器に供給する高周波電源部と、処理容器への高周波電力の供給について異常を検知する監視部とを備える基板処理装置が提案されている。この基板処理装置は、高周波電源部と処理容器との間を伝搬する信号を高周波電力の周波数より高いサンプリング周波数でサンプリングした信号データに基づいて、処理容器への高周波電力の供給について異常を検知する。
特開2022-120418号公報
 本開示は、モジュール間の通信を効率よく行うことが期待できる基板処理装置、コンピュータプログラム及び情報処理方法を提供する。
 一実施形態に係る基板処理装置は、基板処理に係る制御を行う第1モジュールと、前記基板処理に係る処理値を生成し、生成した前記処理値を前記第1モジュールへ送信する第2モジュールとを備え、前記第1モジュールは、前記第2モジュールによる前記処理値の生成条件を指示し、前記第2モジュールは、前記第1モジュールの指示に応じて前記処理値を生成する。
 本開示によれば、モジュール間の通信を効率よく行うことが期待できる。
本実施の形態に係る基板処理装置の一構成例を示す模式図である。 上位モジュールの一構成例を示すブロック図である。 下位モジュールの一構成例を示すブロック図である。 上位モジュール及び下位モジュール3で行われる通信の一例を説明するための模式図である。 要因特定テーブルの一例を示す模式図である。 本実施の形態に係る基板処理装置の上位モジュールが行う処理の手順の一例を示すフローチャートである。 変形例に係る要因特定処理を説明するための模式図である。 変形例に係る要因特定処理に用いられる要因特定テーブルの一構成例を示す模式図である。 活用事例2において上位モジュールが行う処理の手順の一例を示すフローチャートである。
 本開示の実施形態に係る基板処理システムの具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
<システム構成>
 図1は、本実施の形態に係る基板処理装置の一構成例を示す模式図である。本実施の形態に係る基板処理装置1は、例えば半導体の基板(ウェハ)に対するCVD(Chemical Vapor Deposition)、スパッタリング又はエッチング等の種々の基板処理を行う装置である。基板処理装置1は、1つの上位モジュール2と、複数の下位モジュール3とを備えている。上位モジュール2及び複数の下位モジュール3は、基板処理装置1内の通信線等を介して接続されており、相互にデータの送受信を行うことができる。なお本図においては上位モジュール2及び複数の下位モジュール3がバス型のネットワーク構成で接続されているが、これに限るものではなく、どのようなネットワーク構成が採用されてもよい。例えば上位モジュール2を中心として複数の下位モジュール3がスター型のネットワーク構成で接続されてもよい。
 上位モジュール2及び下位モジュール3等のモジュールは、基板処理装置1を構成するひとまとまりの機能を有する部品である。本実施の形態においてモジュールは、ハードウェアのモジュールに限らず、ソフトウェアのモジュールであってもよい。例えば1つのハードウェアに対して複数のソフトウェアのモジュールが設けられてよく、複数のハードウェアに対して1つのソフトウェアのモジュールが設けられてもよい。
 下位モジュール3は、各種のセンサ4を備える、又は、センサ4が信号線等を介して接続される。センサ4は基板処理に係る温度又は圧力等の種々の値を測定し、下位モジュール3はセンサ4により測定される値(以下センサ値という)を取得する。下位モジュール3は、各種の被制御機器5を備える、又は、被制御機器5が信号線等を介して接続される。被制御機器5は、例えばアクチュエータ、バルブ及びエッジリング等の基板処理に設けられた機器である。下位モジュール3は、センサ4から取得したセンサ値を基に、被制御機器5の制御を行うモジュールである。ただし基板処理装置1が備える複数の下位モジュール3には、センサ4からセンサ値の取得を行うが被制御機器5の制御を行わないモジュール、又は、センサ4のセンサ値の取得は行わずに被制御機器5の制御を行うモジュール等が含まれていてもよい。
 上位モジュール2は、複数の下位モジュール3との間で通信を行い、各下位モジュール3から種々の情報を取得する。取得した複数の情報に基づいて上位モジュール2は、各下位モジュール3に対する制御指示の情報を送信することで、複数の下位モジュール3の動作を制御する。これらにより上位モジュール2は、例えばユーザから与えられた設定(レシピ)に従って下位モジュール3を動作させ、基板に対する種々の基板処理を行うことができる。なお上位モジュール2は、ある下位モジュール3から取得した情報を基にこの下位モジュール3に対する制御指示を送信してもよく、ある下位モジュール3から取得した情報を基に別の下位モジュール3に対する制御指示を送信してもよい。また上位モジュール2は、1つの下位モジュール3から取得した情報を基に複数の下位モジュール3に対する制御指示を送信してもよく、複数の下位モジュール3から取得した複数の情報を基に一又は複数の下位モジュール3に対する制御指示を送信してもよい。
 基板処理装置1が基板処理を行っている際、各下位モジュール3はセンサ4の測定値を周期的にサンプリングすることによりセンサ値を取得し、取得したセンサ値を上位モジュール2へ送信する。ただし本実施の形態において下位モジュール3は、周期的に取得したセンサ値そのものを上位モジュール2へ送信するのではなく、センサ値に対して適宜の演算処理を施すことにより得られる処理値、更に詳しくは複数のセンサ値を適宜の演算処理により1つにまとめた要約値を生成し、生成した要約値を上位モジュール2へ送信する。下位モジュール3は、例えば複数のセンサ値の平均値、最大値、最小値又は代表値等の種々の値を要約値として算出してよい。下位モジュール3は、所定の周期で、複数のセンサ値を基に要約値を算出して上位モジュール2へ送信する。
 本実施の形態に係る基板処理装置1では、上位モジュール2が下位モジュール3に対して、どのようなセンサ値に対してどのような演算処理を用いて要約値を生成するかに関する条件を指示することができる。また上位モジュール2は、下位モジュール3に対して、要約値の送信周期を指示することができる。下位モジュール3は、例えば基板処理装置1が通常の動作を行っている場合には、予め定められた生成条件で要約値を生成し、予め定められた送信周期で要約値を上位モジュール2へ送信する。下位モジュール3による要約値の生成は、送信周期と同じ周期か又はこれより短い周期で繰り返し行われる。上位モジュール2から生成条件及び送信周期を指示された場合、指示された生成条件に従ってセンサ値を基に要約値を生成し、生成した要約値を指示された送信周期で上位モジュール2へ送信する。以降、下位モジュール3は、この生成条件及び送信周期での要約値の送信を繰り返し行い、別の生成条件又は送信周期の指示が与えられるまではこれを維持する。
 上位モジュール2は、ユーザから与えられた設定に基づいて基板処理を進めるべく、複数の下位モジュール3に対して制御指示を与えると共に、下位モジュール3から送信される要約値を取得して基板処理の状態を判定する。本実施の形態に係る基板処理装置1では、上位モジュール2は複数の下位モジュール3から取得できる複数の要約値を基に基板処理の状態、本実施の形態においては正常又は異常のいずれであるかを判定し、基板処理に異常が生じていると判定した場合にこの異常の要因を特定する処理を行う。この異常要因特定処理において上位モジュール2は、上述の要約値の生成条件及び送信周期の指示を下位モジュール3に対して行い、要因の特定に必要な情報を下位モジュール3から収集する。
 図2は、上位モジュール2の一構成例を示すブロック図である。本実施の形態に係る基板処理装置1が備える上位モジュール2は、処理部21、記憶部22及び通信部23等を備えて構成されている。処理部21は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)又は量子プロセッサ等の演算処理装置、ROM(Read Only Memory)及びRAM(Random Access Memory)等を用いて構成されている。処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、複数の下位モジュール3の動作を制御しての基板処理、及び、異常が生じた場合にその要因を特定する処理等の種々の処理を行う。
 記憶部22は、例えばハードディスク又はSSD(Solid State Drive)等の大容量の記憶装置を用いて構成されている。記憶部22は、処理部21が実行する各種のプログラム、及び、処理部21の処理に必要な各種のデータを記憶する。本実施の形態において記憶部22は、処理部21が実行するプログラム22aと、異常の要因を特定する際に用いられる要因特定テーブル22bとを記憶する。
 本実施の形態においてプログラム(コンピュータプログラム、プログラム製品)22aは、メモリカード又は光ディスク等の記録媒体99に記録された態様で提供され、基板処理装置1は記録媒体99からプログラム22aを読み出して上位モジュール2の記憶部22に記憶する。ただし、プログラム22aは、例えば基板処理装置1又は上位モジュール2の製造段階において記憶部22に書き込まれてもよい。また例えばプログラム22aは、遠隔のサーバ装置等が配信するものを基板処理装置1が通信にて取得してもよい。例えばプログラム22aは、記録媒体99に記録されたものを書込装置が読み出して基板処理装置1の上位モジュール2の記憶部22に書き込んでもよい。プログラム22aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
 要因特定テーブル22bは、基板処理に関する異常の複数の要因について、各要因が生じているか否かを判定するために必要な情報、及び、この情報を基に各要因が生じているか否かを判定する条件等の情報を記憶するテーブルである。要因特定テーブル22bは、例えば本実施の形態に係る基板処理装置1の設計者等により予め作成され、上位モジュール2の記憶部22に予め記憶される。
 通信部23は、基板処理装置1に設けられたバス(通信線)を介して複数の下位モジュール3に接続されており、これら複数の下位モジュール3との間でデータの送受信を行う。本実施の形態において通信部23は、下位モジュール3から送信される要約値のデータを受信し、受信した要約値を処理部21へ与える。また通信部23は、処理部21から与えられた制御指示等を一又は複数の下位モジュール3に対して送信する。
 また本実施の形態に係る基板処理装置1の上位モジュール2には、記憶部22に記憶されたプログラム22aを処理部21が読み出して実行することにより、制御処理部21a及び要因特定処理部21b等が、ソフトウェア的な機能部として処理部21に実現される。なお本図においては、処理部21の機能部として、基板処理に関する制御及び異常の要因特定に関連する機能部を図示し、これ以外の処理に関する機能部は図示を省略している。
 制御処理部21aは、通信部23にて下位モジュール3との通信を行い、下位モジュール3から周期的に送信されるセンサ値の要約値を受信して取得する。制御処理部21aは、複数の下位モジュール3から取得する複数の要約値を基に基板処理の状態を判定し、判定した状態とユーザの設定とに基づいて各下位モジュール3が行うべき動作を決定し、決定した動作を行わせる制御指示を各下位モジュール3へ送信する。例えば制御処理部21aは、被制御機器5としてアクチュエータの制御を行う下位モジュール3に対して、アクチュエータの変位量の目標値と共にアクチュエータを動作させる制御指示を与える。この動作指示に応じて下位モジュール3は変位量が目標値となるようにアクチュエータを動作させる制御を行う。
 また本実施の形態において制御処理部21aは、各下位モジュール3に対して、要約値の生成条件及び送信周期を指示することができる。制御処理部21aは、例えば基板処理が複数のステップを含んで構成されており、第1のステップから第2のステップへ処理内容を切り替える際などに、各下位モジュール3に対して送信する要約値の生成条件及び送信周期等を指示することで、基板処理の各ステップに適した情報を得ることができる。また本実施の形態において制御処理部21aは、下位モジュール3から得られる要約値を基に基板処理に異常が生じていると判定した場合、例えば基板処理を一時的又は強制的に停止させ、異常の要因の特定を要因特定処理部21bに行わせる。
 要因特定処理部21bは、制御処理部21aが下位モジュール3から取得した要約値を基に基板処理に異常が生じていると判定した場合に、この異常の要因を特定する処理を行う。本実施の形態において要因特定処理部21bは、予め定められた複数種類の要因について、各要因が現状の異常の要因であるか否かを順に判定することで、異常の要因を特定する。記憶部22の要因特定テーブル22bには、各要因について判定に必要な情報(要約値の種類など)と、これらの情報に対する判定条件とが対応付けて記憶されている。要因特定処理部21bは、要因特定テーブル22bを参照して、要因の特定に必要な情報を取得すべく、対応する下位モジュール3へ必要な情報の要約値の生成条件及び送信周期を指示する。例えば要因特定処理部21bは、異常の要因がある要因であるかを判定するために1分間の温度の平均値の情報が必要である場合、センサ4として温度センサを備える下位モジュール3に対し、センサ値の平均値を1分間の周期で送信するよう指示を与えることができる。要因特定処理部21bは、複数の下位モジュール3に対して適宜に要約値の生成条件及び送信周期を指示し、複数の下位モジュール3から送信される複数の要約値を取得し、取得した複数の要約値に対して要因特定テーブル22bに記憶された判定条件を用いて判定を行うことで、対応する要因が現状の異常の要因であるか否かを判定する。要因特定処理部21bは、現状の異常について一又は複数の要因を特定し、特定した要因に関する情報を基板処理装置1の表示部等に表示する。
 図3は、下位モジュール3の一構成例を示すブロック図である。本実施の形態に係る基板処理装置1が備える下位モジュール3は、処理部31、記憶部32、通信部33、入力部34及び出力部35等を備えて構成されている。処理部31は、CPU又はMPU等の演算処理装置、ROM及びRAM等を用いて構成されている。処理部31は、記憶部32に記憶されたプログラム32aを読み出して実行することにより、センサ4が測定したセンサ値の要約値を上位モジュール2へ送信する処理、及び、上位モジュール2からの指示に応じて被制御機器5の動作を制御する処理等の種々の処理を行う。
 記憶部32は、例えばフラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性メモリを用いて構成されている。記憶部32は、処理部31が実行するプログラム32a等の各種のプログラム及びデータを記憶する。本実施の形態においてプログラム(コンピュータプログラム、プログラム製品)32aは、メモリカード又は光ディスク等の記録媒体98に記録された態様で提供され、基板処理装置1は記録媒体98からプログラム32aを読み出して下位モジュール3の記憶部32に記憶する。ただし、プログラム32aは、例えば基板処理装置1又は下位モジュール3の製造段階において記憶部32に書き込まれてもよい。また例えばプログラム32aは、遠隔のサーバ装置等が配信するものを基板処理装置1が通信にて取得してもよい。例えばプログラム32aは、記録媒体98に記録されたものを書込装置が読み出して基板処理装置1の下位モジュール3の記憶部32に書き込んでもよい。プログラム32aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体98に記録された態様で提供されてもよい。
 通信部33は、基板処理装置1に設けられたバス(通信線)を介して上位モジュール2に接続されており、上位モジュール2との間でデータの送受信を行う。本実施の形態において通信部33は、上位モジュール2から送信される制御指示等を受信し、受信した制御指示等を処理部31へ与える。また通信部33は、処理部31から与えられた要約値等を上位モジュール2へ送信する。なお本実施の形態において基板処理装置1に設けられたバスには複数の下位モジュール3が接続されており、複数の下位モジュール3の間でデータの送受信が行われてもよい。
 入力部34は、信号線等を介してセンサ4が接続される。入力部34は、所定のサンプリング周期でセンサ4が出力する信号(センサ4による測定結果)をサンプリングして取得し、取得したセンサ値を処理部31へ与える。なお入力部34には複数のセンサ4が接続されてよく、入力部34はそれぞれ個別のサンプリング周期で複数のセンサ4からセンサ値を取得してよい。出力部35は、信号線等を介して被制御機器5が接続される。出力部35は、処理部31から与えられた制御値を基に被制御機器5に対する制御信号を出力し、被制御機器5を動作させる。なお出力部35には複数の被制御機器5が接続されてよく、出力部35は個別の制御信号を複数の被制御機器5に対して出力し、複数の被制御機器5の動作を個別に制御してよい。
 また本実施の形態に係る基板処理装置1の下位モジュール3には、記憶部32に記憶されたプログラム32aを処理部31が読み出して実行することにより、制御処理部31a及び要約値処理部31b等が、ソフトウェア的な機能部として処理部31に実現される。なお本図においては、処理部31の機能部として、基板処理に関する制御及び要約値の送信に関連する機能部を図示し、これ以外の処理に関する機能部は図示を省略している。
 制御処理部31aは、通信部33にて上位モジュール2との通信を行い、上位モジュール2から送信される制御指示に応じて、出力部35に接続された被制御機器5の動作を制御する処理を行う。制御処理部31aは、例えばセンサ4が測定したセンサ値を基に被制御機器5の状態を判定し、上位モジュール2から制御指示として与えられた目標値と被制御機器5の現在の状態とを基に、被制御機器5の制御値を算出する。制御値は、例えば被制御機器5に対して印加する電圧値又は電流値等が採用され得るが、どのような値であってもよい。
 要約値処理部31bは、入力部34にて取得したセンサ4のセンサ値を基に、所定の生成条件に従って要約値を生成すると共に、生成した要約値を所定の送信周期で通信部33から上位モジュール2へ送信する処理を行う。例えば要約値処理部31bは、センサ4の測定結果を10ms周期でサンプリングして取得し、100ms周期で要約値を送信する場合に、10回分のセンサ値の平均値、最大値、最小値又は中央値等を要約値として100ms周期で算出し、算出した要約値を上位モジュール2へ送信する。なお10ms、100ms、10回分等の数値は一例であってこれに限るものではない。
 また要約値処理部31bは、上位モジュール2から要約値の生成条件についての指示を通信部33にて受信した場合、受信した指示に応じて要約値の生成条件を変更する。例えば要約値処理部31bは、複数のセンサ値の平均値を要約値として生成している際に、上位モジュール2からセンサ値の最大値を要約値として生成する指示を受けた場合、以降は別の指示を受けるまで、センサ4から取得した複数のセンサ値の最大値を要約値として上位モジュール2へ送信する。
 また要約値処理部31bは、上位モジュール2から要約値の送信周期についての指示を通信部33にて受信した場合、受信した指示に応じて要約値の送信周期を変更する。例えば要約値処理部31bは、要約値を100ms周期で送信している際に、上位モジュール2から送信周期を50msとする指示を受け付けた場合、以降は別の指示を受けるまで、要約値を50msで上位モジュール2へ繰り返し送信する。なお要約値の送信周期が変更された場合、要約値を算出する周期も同様に変更されてよく、例えば要約値として平均値を算出する場合には、平均値の算出元となるセンサ値の数が増減してよい。また要約値の送信周期が変更された場合、センサ4からセンサ値を取得するサンプリング周期も同様に変更されてよく、例えば要約値の送信周期が1/2倍に変更する指示が与えられた場合、下位モジュール3は、要約値の送信周期を1/2倍に変更すると共に、センサ値のサンプリング周期も1/2倍に変更してもよい。
<要約値の生成条件及び送信周期>
 図4は、上位モジュール2及び下位モジュール3で行われる通信の一例を説明するための模式図である。本例において下位モジュール3は、センサ4のセンサ値を所定のサンプリング周期でサンプリングすることで取得し、取得した複数のセンサ値の平均値を要約値として算出して、送信周期T1で繰り返し上位モジュール2へ送信している。
 例えば基板処理の状態に変化が生じ、上位モジュール2が下位モジュール3に対して、要約値の生成条件として最大周波数を指示し、且つ、要約値の送信周期として送信周期T2を指示する。この指示に応じて下位モジュール3は、サンプリングにより取得した複数のセンサ値を基に最大周波数を要約値として算出し、算出した最大周波数を送信周期T2で上位モジュール2へ繰り返し送信する。その後、下位モジュール3は、新たな指示が与えられるまで同じ生成条件及び送信周期で要約値の送信を繰り返し行う。
 その後、例えば上位モジュール2が下位モジュール3に対して、要約値の生成条件として差分最大値を指示し、且つ、要約値の送信周期として送信周期T3を指示する。この指示に応じて下位モジュール3は、サンプリングにより取得した複数のセンサ値を基に差分最大値を要約値として算出し、算出した差分最大値を送信周期T3で上位モジュール2へ繰り返し送信する。その後、下位モジュール3は、新たな指示が与えられるまで同じ生成条件及び送信周期で要約値の送信を繰り返し行う。
 なお上位モジュール2は、下位モジュール3による要約値の生成条件及び送信周期の他に、例えばセンサ4のセンサ値を取得するサンプリング周期を指示してもよい。下位モジュール3は、上位モジュール2から与えられる指示に応じてセンサ4の値をサンプリングする周期を変更し、このサンプリング周期で取得した複数のセンサ値の要約値を算出する。
<要因特定処理>
 本実施の形態に係る基板処理装置1の上位モジュール2は、複数の下位モジュール3から送信される複数の要約値を基に、基板処理に異常が生じているか否かを判定し、異常が生じている場合にはその要因(原因)を特定する処理を行う。要因特定処理において上位モジュール2は、予め記憶部12に記憶された要因特定テーブル22bの情報を基に、複数の下位モジュール3に対して要約値の生成条件及び送信周期を適宜に指示し、要因特定に必要な情報を収集する。
 図5は、要因特定テーブル22bの一例を示す模式図である。本実施の形態において上位モジュール2が有する要因特定テーブル22bは、例えば「要因」、「下位モジュール(1)の要約値」、「下位モジュール(2)の要約値」、…、「下位モジュール(N)の要約値(ただし、Nは自然数)」及び「判定条件」等の情報を対応付けて記憶している。要因特定テーブル22bの各項目に記憶される情報は、本実施の形態に係る基板処理装置1の設計者等により予め決定される。
 要因特定テーブル22bの「要因」の項目には、例えば「センサA故障」、「マッチャー異常」、「エッジリングの劣化」等のように、基板処理の異常の要因を識別する名称又は識別情報等の情報が記憶されている。要因特定テーブル22bの「下位モジュール(1)の要約値」、「下位モジュール(2)の要約値」、…、「下位モジュール(N)の要約値」の項目には、例えば「平均値」、「分散」、「最大振幅周波数」、「差分値」等のように、下位モジュール3から取得すべき要約値がいずれであるか、即ち下位モジュール3に対して指示する要約値の生成条件がそれぞれ記憶されている。
 要因特定テーブル22bの「判定条件」の項目には、例えば「判定条件A」、「判定条件B」、「判定条件C」等のように、下位モジュール3から取得した複数の要約値を基に、対応する「要因」が現状の異常の要因であるか否かを判定するための条件に関する情報が記憶されている。判定のための条件に関する情報は、例えば複数の要約値に対する複数の閾値であってよい。上位モジュール2は、複数の下位モジュール3から取得した複数の要約値と、要因特定テーブル22bの「判定条件」として記憶された複数の閾値との比較をそれぞれ行うことによって、対応する「要因」が現状の異常の要因であるか否かを判定することができる。
 また例えば要因特定テーブル22bの「判定条件」には、複数の要約値を基に所定の値を算出するための演算式、及び、この演算式により算出される値に対する閾値等の情報が記憶されてもよい。上位モジュール2は、複数の下位モジュール3から取得した複数の要約値を「判定条件」に記憶された演算式へ代入し、演算式が出力する値を取得し、取得した値と「判定条件」に記憶された閾値との比較を行うことによって、対応する「要因」が現状の異常の要因であるか否かを判定することができる。
 また例えば上位モジュール2は、複数の要約値を入力として受け付けて、対応する「要因」が現状の異常の要因であるか否か又は要因である可能性を示す数値等を出力するよう予め機械学習がなされた学習モデルを用いてもよい。要因特定テーブル22bの「判定条件」には、この学習モデルに関する情報(学習モデルの内部パラメータ又は学習モデルが記憶された記憶領域のアドレス等)が記憶される。学習モデルは、例えばニューラルネットワーク、SVM(Support Vector Machine)又は決定木等の種々の構成のものが採用され得る。また学習モデルは、例えば本実施の形態に係る基板処理装置1の設計者等により予め機械学習により生成され、上位モジュール2の記憶部12に記憶される。上位モジュール2は、複数の下位モジュール3から取得した複数の要約値を「判定条件」として記憶された学習済の学習モデルへ入力し、学習モデルが出力する値を取得して、対応する「要因」が現状の異常の要因であるか否かを判定することができる。
 上位モジュール2は、要因特定テーブル22bに記憶された複数の「要因」について、現状の異常の要因であるか否かを順に判定する。例えば上位モジュール2は、図5に示した要因特定テーブル22bに付した「No.」の順に判定を行う。上位モジュール2は、判定を順に行って、例えば1つの要因が判明した時点で判定を終えてもよく、また例えば全ての要因について判定を行ってもよい。1つの要因が判明した時点で処理を終えることで、上位モジュール2は、要因特定処理を短時間で終了することが期待できる。また全ての要因について判定を行うことで、上位モジュール2は、1つの異常に対して複数の要因の有無を判定することが期待できる。
 また要因特定処理において上位モジュール2は、要因特定テーブル22bに記憶された判定に必要な要約値を生成する指示を各下位モジュール3に与えると共に、要約値の送信周期を指示する。この際に上位モジュール2は、通常の基板処理が行われている際の送信周期よりも短い送信周期で要約値を送信するよう各下位モジュール3に指示する。これにより上位モジュール2は、複数の要因を判定するために取得しなければならない多くの要約値を、下位モジュール3から迅速に収集することが期待できる。
 図6は、本実施の形態に係る基板処理装置1の上位モジュール2が行う処理の手順の一例を示すフローチャートである。本実施の形態に係る基板処理装置1の上位モジュール2の処理部21は、通信部23にて複数の下位モジュール3との通信を行い、例えばユーザが設定した基板処理に関する条件等に基づき、基板処理に関する制御指示を各下位モジュール3へ送信する(ステップS1)。処理部21は、複数の下位モジュール3から送信される複数の要約値を通信部23にて受信する(ステップS2)。処理部21は、ステップS2にて受信した複数の要約値を基に、基板処理に異常が生じているか否かを判定する(ステップS3)。基板処理に異常が生じていない場合(S3:NO)、処理部21は、基板処理が終了したか否かを判定する(ステップS4)。基板処理が終了していない場合(S4:NO)、処理部21は、ステップS1へ処理を戻し、上述の処理を繰り返し行う。基板処理が終了した場合(S4:YES)、処理部21は、処理を終了する。
 基板処理に異常が生じている場合(S3:YES)、処理部21は、記憶部12の要因特定テーブル22bから1番目の要因に関する情報を取得する(ステップS5)。処理部21は、要因特定テーブル22bから取得した各下位モジュール3の要約値の生成条件の情報を基に、各下位モジュール3に対して要約値の生成条件及び送信周期の指示を送信する(ステップS6)。処理部21は、ステップS6の指示に応じて各下位モジュール3から送信される要約値を受信する(ステップS7)。なおこのときに処理部21は、以降の判定に複数回分の要約値が必要である場合などには、下位モジュール3から複数回の要約値の受信を行ってよい。処理部21は、ステップS7にて受信した要約値に対して、要因特定テーブル22bに記憶された判定条件に基づく判定処理を行う(ステップS8)。処理部21は、ステップS8の判定結果に基づき、ステップS8にて判定を行った要因が現状の異常の要因であるか否かを判定する(ステップS9)。現状の異常の要因ではないと判定した場合(S9:NO)、処理部21は、要因特定テーブル22bから次の要因に関する情報を取得し(ステップS10)、ステップS6へ処理を戻して同様の処理を行う。
 現状の異常の要因であると判定した場合(S9:YES)、処理部21は、この要因により生じた以上に対して基板処理の再開が可能であるか否かを判定する(ステップS11)。上位モジュール2は、例えば基板処理の異常の要因に対して基板処理を再開してよいか否かに関する情報を予め記憶部12に記憶しており、この情報を基にステップS11の判定を行うことができる。基板処理の再開が可能である場合(S11:YES)、処理部21は、ステップS1へ処理を戻して基板処理を行う。基板処理の再開が可能ではない場合(S11:NO)、処理部21は、例えば基板処理を緊急停止させて(ステップS12)、処理を終了する。
<変形例>
 要因特定の手法に関する変形例を説明する。上述の要因特定処理において上位モジュール2は、要因特定テーブル22bに記憶された複数の要因について順に要約値の取得及び判定等を行い、基板処理の異常に関する一又は複数の要因を特定する。複数の要因を特定するためには、上位モジュール2が、要因特定テーブル22bに記憶された全ての要因について要約値の取得及び判定等を行う必要があるが、要因特定テーブル22bには現在に発生している異常とは明らかに無関係な要因も含まれ得るため、無駄な要約値の取得及び判定等が行われる可能性がある。
 そこで変形例に係る要因特定処理では、いわゆる探索木の手法を用い、上位モジュール2が複数の条件判定を分岐させながら行って要因を特定する。図7は、変形例に係る要因特定処理を説明するための模式図である。変形例に係る上位モジュール2は、まず分岐1-1の分岐条件を参照し、分岐条件の判定に必要な要約値を複数の下位モジュール3から取得する。上位モジュール2は、取得した複数の要約値を基に、分岐2-1又は分岐2-2のいずれへ分岐すべきであるかの判定を行う。ここで例えば分岐2-1へ分岐する条件が成立した場合、上位モジュール2は、分岐2-1の分岐条件を参照し、同様に必要な要約値を下位モジュール3から取得して分岐先を判定する。上位モジュール2は、このような分岐の判定をM回(ただしMは自然数)行い、最終的に分岐M-L(ただしLは自然数)の判定を行うことで基板処理の異常の要因を1つ特定する。
 なお本例では要因特定の探索木について、分岐が2つの構成(いわゆる二分探索木の構成)を想定しているが、これに限るものではなく、3つ以上に分岐する構成が採用されてもよい。また本例では、全ての要因についてM段目の条件判定により特定がなされる構成を想定しているが、これに限るものではなく、例えば3段目又は4段目等のようにM回より少ない回数の判定で特定される要因が含まれていてもよい。
 図8は、変形例に係る要因特定処理に用いられる要因特定テーブル22bの一構成例を示す模式図である。変形例に係る要因特定テーブル22bは、例えば「分岐番号」、「下位モジュール(1)の要約値」、「下位モジュール(2)の要約値」、…、「下位モジュール(N)の要約値」、「分岐条件」及び「要因」等の情報を対応付けて記憶している。変形例に係る要因特定テーブル22bの各項目に記憶される情報は、変形例に係る基板処理装置1の設計者等により予め決定される。
 変形例に係る要因特定テーブル22bの「分岐番号」の項目には、例えば「1-1」、「2-1」、「2-2」、…、「M-L」のように2つの数値の組み合わせで表現される番号が記憶される。この「分岐番号」は、図7において各分岐の名称として用いられている。なお「分岐番号」の「M-L」は、M段目のL番目の分岐である事を示す。要因特定テーブル22bの「下位モジュール(1)の要約値」、「下位モジュール(2)の要約値」、…、「下位モジュール(N)の要約値」の項目は、図5に示したものと同じであり、下位モジュール3に対して指示する要約値の生成条件がそれぞれ記憶されている。
 変形例に係る要因特定テーブル22bの「分岐条件」の項目には、下位モジュール3から取得した要約値を基に次の分岐先を判定するための条件に関する情報が記憶されている。また「要因」の項目には、下位モジュール3から取得した要約値を基に、最終的に要因を判定するための条件に関する情報が記憶されている。なお本例においては、最終段であるM段目については「要因」の項目に条件の情報が記憶され、「分岐条件」の項目に条件の情報は記憶されない。それ以外の各段については「分岐条件」の項目に条件の情報が記憶され、「要因」の項目に条件の情報は記憶されない。
 本例においては、分岐番号1-1に対して、分岐番号2-1又は分岐番号2-2のいずれに分岐するかを判定するための条件が「分岐条件」に記憶されている。同様に、分岐番号2-1に対して、分岐番号3-1又は分岐番号3-2のいずれに分岐するかを判定するための条件が「分岐条件」に記憶されている。分岐番号2-2に対して、分岐番号3-3又は分岐番号3-4のいずれに分岐するかを判定するための条件が「分岐条件」に記憶されている。また、最終段の分岐番号M-Lに対して、「センサA故障」又は「エッジリングの劣化」のいずれが要因であるかを判定するための条件が「要因」に記憶されている。
 要因特定テーブル22bの「分岐条件」又は「要因」に記憶される判定のための条件に関する情報は、例えば複数の要約値に対する複数の閾値であってよく、また例えば複数の要約値を基に所定の値を算出するための演算式、及び、この演算式により算出される値に対する閾値の情報であってよく、また例えば分岐条件又は要因を推定する学習済の学習モデルの情報であってよい。
 変形例に係る上位モジュール2は、図6に示したフローチャートのステップS5~S10の処理に代えて、図8に示した要因特定テーブル22bを用いた要因特定処理を行うことができる。
<活用事例>
 (活用事例1)
 例えば下位モジュール3が複数の温度センサを有し、複数の温度センサにより処理対象の基板(ウェハ)の温度分布を測定可能な基板処理装置1において、上位モジュール2は、基板処理に異常が発生していない場合、下位モジュール3に対して基板全体での平均温度を要約値として送信する指示を与える。基板処理に異常が発生したと判定した場合、上位モジュール2は、基板の周縁部分の温度の平均値を要約値として送信する指示を下位モジュール3に対して与える。上位モジュール2は、下位モジュール3から得られる基板の周縁部分の温度に基づいて、例えば基板処理装置1のガス噴射口に異常の要因が存在するか否かを判定することが期待できる。なお上位モジュール2は、基板の周縁部分の温度の平均値を要約値として生成する指示を与える場合に、ガス噴射に適した送信周期で要約値を送信する指示を下位モジュール3へ与えてもよい。
 また上位モジュール2は、異常の要因が周縁部分の温度に基づくものではないと判定した場合、基板の中心部分の温度の平均値を要約値として送信する指示を下位モジュール3に対して与える。上位モジュール2は、下位モジュール3から得られる基板の中心部分の温度に基づいて、例えば基板処理装置1のエッジリングに異常の要因が存在するか否かを判定することが期待できる。なお上位モジュール2は、基板の中心部分の温度の平均値を要約値として生成する指示を与える場合に、エッジリングの移動度に適した送信周期で要約値を送信する指示を下位モジュール3へ与えてもよい。
 (活用事例2)
 基板処理装置1が行う基板処理には複数段階の処理が含まれ、各段階において基板処理の制御に必要な情報が異なる場合がある。このような場合に基板処理装置1の上位モジュール2は、各段階について各下位モジュール3から取得すべき要約値を予め記憶しておき、基板処理の段階に応じて下位モジュール3に対して要約値の生成条件及び送信周期を指示することができる。なお活用事例2において上位モジュール2は、下位モジュール3から取得した要約値を基に基板処理の異常の有無を判定するのではなく、要約値を基に基板処理がいずれの段階であるかを状態として判定する。活用事例2において上位モジュール2は、要因特定処理を行わなくてよい。
 例えば下位モジュール3が複数の温度センサを有し、複数の温度センサにより処理対象の基板の温度分布を測定可能な基板処理装置1において、上位モジュール2は、基板処理の第1段階では基板全体での平均温度を要約値として送信する指示を与える。下位モジュール3から得られる要約値を基に基板処理が第1段階から第2段階へ移行したと判断した場合、上位モジュール2は、基板の周縁部分の温度の平均値を要約値として送信する指示を下位モジュール3に対して与える。更に基板処理が第2段階から第3段階へ移行したと判断した場合、上位モジュール2は、基板の中心部分の温度の平均値を要約値として送信する指示を下位モジュール3に対して与える。また上位モジュール2は、各段階に適した送信周期で要約値を送信する指示を与えてよい。
 図9は、活用事例2において上位モジュール2が行う処理の手順の一例を示すフローチャートである。本実施の形態に係る基板処理装置1の上位モジュール2の処理部21は、例えばユーザが設定した基板処理に関する条件等に基づき、基板処理に関する制御指示を各下位モジュール3へ送信する(ステップS31)。処理部21は、複数の下位モジュール3から送信される複数の要約値を通信部23にて受信する(ステップS32)。処理部21は、ステップS2にて受信した複数の要約値を基に、基板処理の現段階の処理が終了したか否かを判定する(ステップS33)。現段階の処理が終了していない場合(S33:NO)、処理部21は、ステップS32へ処理を戻し、現段階の処理を継続する。
 現段階の処理が終了した場合(S33:YES)、処理部21は、基板処理が終了したか否かを判定する(ステップS34)。基板処理が終了していない場合(S34:NO)、処理部21は、次の段階の基板処理に応じた要約値の生成条件及び送信周期の指示を各下位モジュール3へ送信し(ステップS35)、ステップS32へ処理を戻す。基板処理が終了した場合(S34:YES)、処理部21は、処理を終了する。
 (活用事例3)
 基板処理装置1は、複数種類の要約値を異なる送信周期で下位モジュール3から上位モジュール2へ送信することが可能な構成であってもよい。例えば下位モジュール3が複数の温度センサを有し、複数の温度センサにより処理対象の基板の温度分布を測定可能な基板処理装置1において、上位モジュール2が基板全体での平均温度、周縁部分の平均温度及び中心部分の平均温度の3つの要約値を必要とする場合があり得る。このような場合に上位モジュール2は、これら3つの要約値を生成する生成条件を下位モジュール3に与える。この際に上位モジュール2は、例えば3つの要約値の送信周期を同じとしてもよく、また例えば優先度などに応じて要約値毎に異なる送信周期で送信を行うよう下位モジュール3に指示してもよい。
 上位モジュール2からの指示に応じて下位モジュール3は、複数の温度センサから得られる温度を基に、基板全体での平均温度、基板の周辺部分の平均温度及び基板の中心部分の平均温度の3つの要約値を算出する。下位モジュール3は、算出した3つの要約値を、上位モジュール2から指示された送信周期で、上位モジュール2に対して繰り返し送信する。なお下位モジュール3は、3つの要約値をまとめて同じタイミングで上位モジュール2へ送信してもよく、3つの要約値を適宜の順序で1つずつ上位モジュール2へ送信してもよい。
 (活用事例4)
 基板処理装置1は、下位モジュール3から上位モジュール2へセンサ4のセンサ値の要約値ではなく、センサ値の予測値の要約値を送信してもよい。下位モジュール3では、被制御機器5の動作を制御する制御信号が出力部35から被制御機器5へ出力され、この制御信号に応じて被制御機器5が動作し、被制御機器5の動作に応じた温度又は圧力等がセンサ4にて測定される。このため、被制御機器5の動作の影響がセンサ4にて測定されるまでに、ある程度の時間を要する。そこで下位モジュール3は、被制御機器5へ出力する制御信号を基にセンサ4にて測定されるセンサ値を予測し、その予測値の要約値を上位モジュール2へ送信する。上位モジュール2は、センサ4により測定されたセンサ値を基に要約値を生成するか、又は、センサ値の予測値を基に要約値を生成するかを下位モジュール3に対して要約値の生成条件として与えることができる。
 下位モジュール3によるセンサ値の予測は、例えば予め機械学習により生成された学習モデルを用いて行われ得る。学習モデルは、被制御機器5への制御信号を入力として受け付けて、センサ値の予測値を出力するように予め機械学習がなされる。学習モデルは、例えば被制御機器5へ与える制御信号とセンサ4にて測定されるセンサ値とを対応付けた学習用データ(教師データ)を用いて、いわゆる教師ありの機械学習を行ことにより生成される。本実施の形態に係る基板処理装置1の設計者等は、基板処理装置1とは異なる情報処理装置にて予め機械学習の処理を行って学習モデルを生成し、生成した学習モデルに関する情報を下位モジュール3の記憶部32に記憶しておく。
 なお、被制御機器5への制御信号を基にセンサ4のセンサ値を予測する処理は、下位モジュール3ではなく、上位モジュール2にて行われてもよい。この場合に下位モジュール3は被制御機器5への制御信号の要約値を上位モジュール2へ送信し、これを受信した上位モジュール2が制御信号の要約値を基にセンサ値の要約値を予測する。上位モジュール2は、例えば制御処理の要約値を入力として受け付けて、センサ値の予測値の要約値を出力するよう予め機械学習がなされた学習モデルを用いて、センサ値の要約値を予測することができる。
<まとめ>
 以上の構成の本実施の形態に係る基板処理装置1は、基板処理に係る制御を行う上位モジュール(第1モジュール)2と、基板処理に係る要約値(処理値)を生成して上位モジュール2へ送信する下位モジュール(第2モジュール)3とを備える。上位モジュール2は下位モジュール3による要約値の生成条件を指示し、下位モジュール3は上位モジュール2の指示に応じて要約値を生成する。これにより本実施の形態に係る基板処理装置1は、上位モジュール2が基板処理の状態等に応じて適宜に要約値を変更することができ、上位モジュール2が必要な情報を的確に取得することができるため、モジュール間の通信を効率よく行うことが期待できる。
 また本実施の形態に係る基板処理装置1は、上位モジュール2が下位モジュール3による要約値の送信周期を指示し、下位モジュール3が上位モジュール2の指示に応じた送信周期で要約値を送信する。これにより本実施の形態に係る基板処理装置1は、要約値の種類又は通信状況等に応じて上位モジュール2が適宜に送信周期を指示することができ、モジュール間の通信を効率よく行うことが期待できる。
 また本実施の形態に係る基板処理装置1は、下位モジュール3から受信した要約値を基に上位モジュール2が基板処理の状態、例えば異常の有無又は基板処理の段階等を判定し、判定した基板処理の状態に応じて上位モジュール2が要約値に関する指示を各下位モジュール3へ送信する。これにより本実施の形態に係る基板処理装置1は、基板処理の状態に適した要約値を上位モジュール2が下位モジュール3から取得して基板処理の制御を行うことが期待できる。
 また本実施の形態に係る基板処理装置1は、基板処理が所定の状態であると判定した場合に、上位モジュール2が所定の状態に応じた要約値の生成条件を下位モジュール3へ指示し、この指示に応じて下位モジュール3が送信する要約値を上位モジュール2が受信し、受信した要約値を基に基板処理が所定の状態に至った要因を上位モジュール2が特定する。このときに上位モジュール2は、異なる生成条件で複数回の指示を下位モジュール3に対して行い、複数回の指示に応じて下位モジュール3が複数回送信する要約値を基に要因を特定する。例えば上位モジュール2は、要約値の生成条件と要約値に基づいて要因を判定する判定条件とを要因特定テーブル22bに記憶しておき、要因特定テーブル22bに記憶された複数の要因について所定の状態の要因であるか否かをそれぞれ判定することで、所定の状態の要因を特定する。これらにより本実施の形態に係る基板処理装置1は、下位モジュール3から必要な情報を上位モジュール2が収集し、基板処理が所定の状態に至った要因を精度よく特定することが期待できる。
 また本実施の形態に係る基板処理装置1は、下位モジュール3による要約値の生成条件と、要約値に基づいて要因を特定するための判定条件又は要因特定のために必要な次の生成条件への分岐を決定する分岐条件(決定条件)とを要因特定テーブル22bに記憶し、要因特定テーブル22bを基に要約値の生成条件の指示及び要約値の判定を繰り返して分岐を辿り、基板処理が所定の状態に至った要因を上位モジュール2が特定する。これにより本実施の形態に係る基板処理装置1は、基板処理が所定の状態に至った要因の特定を効率よく行うことが期待できる。
 また本実施の形態に係る基板処理装置1では、下位モジュール3は、被制御機器5に対する制御及びセンサ4による測定を行うモジュールであり、センサ4によるセンサ値、被制御機器5に対する制御信号(制御値)、又は、制御信号に基づいてセンサ4のセンサ値を予測した予測値に基づく要約値を生成して上位モジュール2へ送信する。上位モジュール2は、下位モジュール3から受信したこれらの要約値を基に、被制御機器5の制御に係る指示を下位モジュール3へ送信する。これにより本実施の形態に係る基板処理装置1は、下位モジュール3から取得する情報の精度又は情報を取得できる速度等に応じた適宜の要約値を上位モジュール2が取得して処理を行うことが期待できる。
 また本実施の形態に係る基板処理装置1では、下位モジュール3が基板処理に関して取得した複数の値(時間的に複数の値又は空間的に複数の値のいずれであってもよい)について平均値、最大値、最小値又は中央値等を算出して要約値とする。これにより本実施の形態に係る基板処理装置1は、下位モジュール3から上位モジュール2へ送信する情報の量を低減することが期待できる。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 各実施形態に記載した事項は相互に組み合わせることが可能である。また、請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも1つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
 1 基板処理装置
 2 上位モジュール(第1モジュール)
 3 下位モジュール(第2モジュール)
 4 センサ
 5 被制御機器
 21 処理部
 21a 制御処理部21
 21b 要因特定処理部
 22 記憶部
 22a プログラム(コンピュータプログラム)
 22b 要因特定テーブル
 23 通信部
 31 処理部
 31a 制御処理部
 31b 要約値処理部
 32 記憶部
 32a プログラム
 33 通信部
 34 入力部
 35 出力部
 98,99 記録媒体
 

Claims (14)

  1.  基板処理に係る制御を行う第1モジュールと、
     前記基板処理に係る処理値を生成し、生成した前記処理値を前記第1モジュールへ送信する第2モジュールと
     を備え、
     前記第1モジュールは、前記第2モジュールによる前記処理値の生成条件を指示し、
     前記第2モジュールは、前記第1モジュールの指示に応じて前記処理値を生成する、
     基板処理装置。
  2.  前記第1モジュールは、前記第2モジュールによる前記処理値の送信周期を指示し、
     前記第2モジュールは、前記第1モジュールの指示に応じた送信周期で前記処理値を送信する、
     請求項1に記載の基板処理装置。
  3.  前記第1モジュールは、
     前記第2モジュールから受信した前記処理値を基に前記基板処理の状態を判定し、
     判定した状態に応じて指示を行う、
     請求項1に記載の基板処理装置。
  4.  前記第1モジュールは、
     前記基板処理が所定の状態であると判定した場合に、前記所定の状態に応じた前記生成条件を指示し、
     指示に応じて前記第2モジュールが送信する前記処理値を受信し、
     受信した前記処理値を基に、前記基板処理が前記所定の状態となった要因を特定する、
     請求項3に記載の基板処理装置。
  5.  前記第1モジュールは、
     異なる前記生成条件で複数回の指示を行い、
     複数回の指示に応じて前記第2モジュールが複数回送信する前記処理値を受信し、
     受信した複数の前記処理値を基に、前記基板処理が前記所定の状態となった要因を特定する、
     請求項4に記載の基板処理装置。
  6.  前記第1モジュールは、
     前記第2モジュールが生成する前記処理値の前記生成条件と当該生成条件に応じて生成された前記処理値に基づいて前記所定の状態の要因であるか否かを判定する判定条件とを対応付けた情報を、複数の要因についてそれぞれ記憶しており、
     記憶した前記情報を基に、前記複数の要因について前記所定の状態の要因であるか否かをそれぞれ判定する、
     請求項5に記載の基板処理装置。
  7.  前記第1モジュールは、
     前記第2モジュールが生成する前記処理値の前記生成条件と、当該生成条件に応じて生成された前記処理値に基づいて前記所定の状態の要因であるか否かを判定する判定条件又は要因特定のために必要な次の生成条件を決定する決定条件とを対応付けた情報を記憶しており、
     記憶した前記決定条件を基に前記第2モジュールへの前記生成条件の指示を繰り返し行うことで、前記判定条件を基に要因を特定する、
     請求項5に記載の基板処理装置。
  8.  前記第2モジュールを複数備え、
     前記第1モジュールは、複数の第2モジュールから受信した複数の前記処理値を基に、各第2モジュールに前記生成条件を指示する、
     請求項1に記載の基板処理装置。
  9.  前記第1モジュールは、一の第2モジュールから受信した前記処理値を基に、前記一の第2モジュールに前記生成条件を指示する、
     請求項8に記載の基板処理装置。
  10.  前記第1モジュールは、一の第2モジュールから受信した前記処理値を基に、前記一の第2モジュールとは異なる他の第2モジュールに前記生成条件を指示する、
     請求項8に記載の基板処理装置。
  11.  前記第2モジュールは、
     前記基板処理に係る被制御機器に対する制御及びセンサによる測定を行うモジュールであり、
     前記センサによる測定値、前記被制御機器に対する制御値、又は、前記制御値に基づいて前記センサによる測定値の予測した予測値に基づく前記処理値を前記第1モジュールへ送信し、
     前記第1モジュールは、前記第2モジュールから受信した前記処理値を基に、前記被制御機器の制御に係る指示を前記第2モジュールへ送信する、
     請求項1に記載の基板処理装置。
  12.  前記処理値は、前記第2モジュールが前記基板処理に関して取得した複数の値を要約した要約値である、
     請求項1に記載の基板処理装置。
  13.  基板処理に係る制御を行うコンピュータに、
     前記基板処理に係る処理値を生成して送信するモジュールへ、前記処理値の生成条件を指示し、
     指示した前記生成条件に応じて前記モジュールが生成した前記処理値を取得する
     処理を実行させる、コンピュータプログラム。
  14.  基板処理に係る制御を行う情報処理装置が、
     前記基板処理に係る処理値を生成して送信するモジュールへ、前記処理値の生成条件を指示し、
     指示した前記生成条件に応じて前記モジュールが生成した前記処理値を取得する、
     情報処理方法。
     
PCT/JP2025/010063 2024-03-29 2025-03-17 基板処理装置、コンピュータプログラム及び情報処理方法 Pending WO2025205121A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2024057345 2024-03-29
JP2024-057345 2024-03-29

Publications (1)

Publication Number Publication Date
WO2025205121A1 true WO2025205121A1 (ja) 2025-10-02

Family

ID=97218835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/010063 Pending WO2025205121A1 (ja) 2024-03-29 2025-03-17 基板処理装置、コンピュータプログラム及び情報処理方法

Country Status (2)

Country Link
TW (1) TW202603521A (ja)
WO (1) WO2025205121A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003520434A (ja) * 2000-01-07 2003-07-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ハードウェアの経年数および用途に基づいて測定頻度を決定するための方法および装置
JP2022022500A (ja) * 2020-06-24 2022-02-07 東京エレクトロン株式会社 基板処理システム、基板処理方法、およびマップ作成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003520434A (ja) * 2000-01-07 2003-07-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ハードウェアの経年数および用途に基づいて測定頻度を決定するための方法および装置
JP2022022500A (ja) * 2020-06-24 2022-02-07 東京エレクトロン株式会社 基板処理システム、基板処理方法、およびマップ作成装置

Also Published As

Publication number Publication date
TW202603521A (zh) 2026-01-16

Similar Documents

Publication Publication Date Title
CN110515351B (zh) 异常检测器
US11521105B2 (en) Machine learning device and machine learning method for learning fault prediction of main shaft or motor which drives main shaft, and fault prediction device and fault prediction system including machine learning device
US11657121B2 (en) Abnormality detection device, abnormality detection method and computer readable medium
CN114503247B (zh) 搬送异常预测系统、基板处理装置、搬送异常预测方法、记录介质及完成学习模型
US20120296605A1 (en) Method, computer program, and system for performing interpolation on sensor data for high system availability
US20240168093A1 (en) Device and Method for Predicting Low Voltage Failure of Secondary Battery, and Battery Control System Comprising Same Device
TWI710873B (zh) 支援裝置、學習裝置以及廠房運轉條件設定支援系統
JP6187704B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US20230161337A1 (en) Diagnostic device, server, and diagnostic method
TW201926041A (zh) 設備保養預測系統及其操作方法
EP4137815B1 (en) Failure prediction system
WO2017051562A1 (ja) 異常診断システム
WO2016136198A1 (ja) システム監視装置、システム監視方法、及び、システム監視プログラムが記録された記録媒体
US20240211895A1 (en) Maintenance scheduling device and maintenance scheduling method
WO2006026340A1 (en) System, device, and methods for updating system-monitoring models
US20220245045A1 (en) Prediction method, prediction apparatus, and recording medium
KR102672558B1 (ko) 스마트 팩토리 관리 시스템 및 방법
JP7077644B2 (ja) 制御システム、診断装置、診断方法、および診断プログラム
US11585732B2 (en) Apparatus and method for diagnosing failure of plant
US12164289B2 (en) Monitoring method, monitoring apparatus, and program
EP3882726B1 (en) Information processing device and control method for information processing device
US11334053B2 (en) Failure prediction model generating apparatus and method thereof
KR102572628B1 (ko) 생산설비 통합 관리 시스템
TW202603521A (zh) 基板處理裝置、電腦程式及資訊處理方法
US20250014925A1 (en) Information processing apparatus, abnormality detection method, and semiconductor manufacturing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25777215

Country of ref document: EP

Kind code of ref document: A1