Information processing apparatus, substrate processing apparatus, and processing condition determination method

By optimizing the nozzle movement parameters of the etching process using prediction and optimization algorithms, the problem of difficulty in setting processing conditions in the etching process is solved, and uniform etching of the substrate surface and stability of the etching results are achieved.

CN120958563APending Publication Date: 2025-11-14SCREEN HOLDINGS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380096257.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-23
Filing Date
2023-11-02
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

In etching, it is difficult to effectively set suitable processing conditions for coating, which leads to changes in the processing volume due to the movement of the etching solution nozzle. Furthermore, it is difficult to achieve uniform etching on the substrate surface due to factors such as etching solution concentration, temperature, and substrate rotation speed.

Method used

The system employs a prediction algorithm acquisition unit, a processing condition generation unit, a prediction processing result acquisition unit, and first and second exploration units. Through optimization algorithms, it explores the optimal parameters for nozzle movement and generates suitable processing conditions, including the number of speed change points, the position of the speed change points, the moving speed, and the stopping time, thereby optimizing the etching process.

Benefits of technology

Uniform etching of the substrate surface was achieved, improving the efficiency and effectiveness of the etching process and ensuring the stability and consistency of the etching results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120958563A_ABST
    Figure CN120958563A_ABST
Patent Text Reader

Abstract

An information processing apparatus for managing a substrate processing apparatus includes: a prediction algorithm acquisition unit that acquires a prediction algorithm that predicts a processing result of a process performed by the substrate processing apparatus in accordance with a processing condition including a first parameter and a second parameter, on the basis of the processing condition; a processing condition generation unit that generates a temporary processing condition; a prediction processing result acquisition unit that acquires a prediction processing result predicted by a prediction algorithm on the basis of the temporary processing condition generated by the processing condition generation unit; a first search unit that searches for an optimal value of the first parameter using a first optimization algorithm on the basis of a first data set including a temporary processing condition and a prediction processing result of the plurality of groups; and a second search unit that searches for an optimal value of the second parameter using a second optimization algorithm on the basis of the first data sets of the plurality of groups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a substrate processing apparatus, and a method for determining processing conditions, and particularly to an information processing apparatus for generating processing conditions for a substrate processing apparatus to be executed using a prediction algorithm, a substrate processing apparatus including the information processing apparatus, and a method for determining processing conditions to be executed in the information processing apparatus. Background Technology

[0002] Etching is a process in semiconductor manufacturing. In etching, the thickness of a coating formed on a substrate is adjusted by supplying a solution of etching agent to the substrate. In this thickness adjustment, it is important to perform etching in a way that makes the substrate surface uniform, or to make the substrate surface flattened through etching. When the etching solution is sprayed from a nozzle onto a portion of the substrate, the nozzle needs to be moved radially relative to the substrate.

[0003] Patent Document 1 describes a liquid processing apparatus that etches a substrate by spraying etchant from an etching nozzle onto the substrate. Patent Document 1 describes an example in which, in order to uniformly distribute the in-plane temperature of a wafer while etching the central region of the substrate, the etching nozzle is repeatedly moved between a first position and a second position to spray etchant. The first position is the location where the sprayed etchant passes through the center of the wafer, and the second position is a location closer to the periphery of the wafer than the central position.

[0004] Patent Document 1: Japanese Patent Application Publication No. 2015-103656 Summary of the Invention

[0005] The problem that the invention aims to solve

[0006] Etching is a complex process where the amount of coating material being processed varies depending on the movement of the nozzle, as well as on processing conditions such as the concentration and temperature of the etching solution and the rotation speed of the substrate. Therefore, setting suitable processing conditions for coating is challenging.

[0007] Methods for solving problems

[0008] (1) An information processing apparatus according to one aspect of the present invention is used to manage a substrate processing apparatus, comprising: a prediction algorithm acquisition unit for acquiring a prediction algorithm, the prediction algorithm predicting a processing result of a process performed by the substrate processing apparatus according to the processing conditions based on processing conditions including a first parameter and a second parameter; a processing condition generation unit for generating temporary processing conditions; a prediction processing result acquisition unit for acquiring a prediction processing result predicted by the prediction algorithm based on the temporary processing conditions generated by the processing condition generation unit; and a first exploration unit for exploring the first parameter using a first optimization algorithm based on a plurality of groups of a first dataset including temporary processing conditions and prediction processing results. The optimal value; and the second exploration unit, based on a first dataset of multiple groups, uses a second optimization algorithm to explore the optimal value of the second parameter; the first exploration unit explores the optimal value of the first parameter in response to exploring a predetermined number of optimal values ​​of the second parameter through the second exploration unit; the processing condition generation unit generates a new temporary processing condition including the optimal value of the first parameter explored by the first exploration unit in response to exploring the optimal value of the first parameter through the first exploration unit, and generates a new temporary processing condition including the optimal value of the second parameter explored by the second exploration unit in response to exploring the optimal value of the second parameter through the second exploration unit without changing the first parameter of the temporary processing condition.

[0009] (2) Another aspect of the substrate processing apparatus of the present invention includes the above-described information processing apparatus.

[0010] (3) Another aspect of the processing condition determination method of the present invention is executed by an information processing device for managing a substrate processing apparatus, wherein it comprises: a prediction algorithm acquisition step, acquiring a prediction algorithm, the prediction algorithm predicting the processing result of a process performed by the substrate processing apparatus according to the processing conditions based on processing conditions including a first parameter and a second parameter; a processing condition generation step, generating temporary processing conditions; a prediction processing result acquisition step, acquiring a prediction processing result predicted by the prediction algorithm based on the temporary processing conditions generated in the processing condition generation step; and a first exploration step, exploring a first parameter using a first optimization algorithm based on a plurality of groups of a first dataset including temporary processing conditions and prediction processing results. The first exploration step includes exploring the optimal value of the first parameter in response to exploring a predetermined number of optimal values ​​of the second parameter in the second exploration step; the processing condition generation step includes generating new temporary processing conditions that include the optimal values ​​of the first parameter explored in the first exploration step in response to exploring the optimal values ​​of the first parameter in the first exploration step; and generating new temporary processing conditions that include the optimal values ​​of the second parameter explored in the second exploration step in response to exploring the optimal values ​​of the second parameter in the second exploration step without changing the first parameter of the temporary processing conditions.

[0011] The effects of the invention

[0012] According to the present invention, the processing conditions applied to the substrate processing apparatus can be determined efficiently. Attached Figure Description

[0013] Figure 1 This is a diagram illustrating the structure of a substrate processing system according to an embodiment of the present invention.

[0014] Figure 2 This is a graph used to illustrate the processing results.

[0015] Figure 3 This diagram illustrates an example of the structure of an information processing device.

[0016] Figure 4 This diagram illustrates an example of the functions of a CPU in an information processing device.

[0017] Figure 5 This diagram illustrates an example of the detailed functions of the processing condition determination unit.

[0018] Figure 6 This is a flowchart illustrating an example of a process where processing conditions determine the course of action.

[0019] Figure 7A flowchart illustrating an example of the initial condition exploration process.

[0020] Figure 8 A flowchart illustrating an example of a process for exploring processing conditions.

[0021] Figure 9 This is a flowchart illustrating an example of the process for determining the handling of candidate conditions. Detailed Implementation

[0022] Hereinafter, a substrate processing system according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description, substrate refers to a semiconductor substrate (semiconductor wafer), a substrate for a flat panel display (FPD) such as a liquid crystal display device or an organic EL (electroluminescence) display device, a substrate for an optical disc, a substrate for a magnetic disk, a substrate for an optical disk, a substrate for a photomask, a ceramic substrate, or a substrate for a solar cell, etc.

[0023] (1) Overall structure of the substrate processing system

[0024] Figure 1 This is a diagram illustrating the structure of a substrate processing system according to an embodiment of the present invention. Figure 1 The substrate processing system 1 includes an information processing device 100, a prediction algorithm generation device 200, and a substrate processing device 300. The prediction algorithm generation device 200 is, for example, a server, and the information processing device 100 is, for example, a personal computer.

[0025] The prediction algorithm generation device 200 and the information processing device 100 are used to manage the substrate processing device 300. Furthermore, the substrate processing device 300 managed by the prediction algorithm generation device 200 and the information processing device 100 is not limited to one, and can also manage multiple substrate processing devices 300.

[0026] In the substrate processing system 1 of this embodiment, the information processing device 100, the prediction algorithm generation device 200, and the substrate processing device 300 are connected to each other via wired or wireless communication lines or communication networks. The information processing device 100, the prediction algorithm generation device 200, and the substrate processing device 300 are each connected to a network, enabling them to send and receive data. The network may be, for example, a local area network (LAN) or a wide area network (WAN). Alternatively, the network may be the Internet. Furthermore, the information processing device 100 and the substrate processing device 300 may also be connected via a dedicated communication network. The network connection method can be wired or wireless.

[0027] Furthermore, the prediction algorithm generation apparatus 200 does not necessarily need to be connected to the substrate processing apparatus 300 and the information processing apparatus 100 via a communication cable or communication network. In this case, the data generated in the substrate processing apparatus 300 can also be transferred to the prediction algorithm generation apparatus 200 via a recording medium. Additionally, the data generated in the prediction algorithm generation apparatus 200 can also be transferred to the information processing apparatus 100 via a recording medium.

[0028] The substrate processing apparatus 300 includes a display device (not shown), a sound output device, and an operation unit. The substrate processing apparatus 300 operates according to predetermined processing conditions (processing procedures).

[0029] (2) Overview of the substrate processing apparatus 300

[0030] The substrate processing apparatus 300 includes a control device 10 and a plurality of substrate processing units WU. The control device 10 controls the plurality of substrate processing units WU. The plurality of substrate processing units WU perform coating processing on the substrate W by supplying a processing solution to the substrate W on which the coating is formed, according to processing conditions. In this embodiment, the substrate W to be processed has a diameter of 300 mm, but the present invention is not limited thereto. The processing solution includes an etching solution, and the substrate processing units WU perform etching processing. The etching solution is a chemical solution. Examples of etching solutions include hydrofluoric acid (a mixture of hydrofluoric acid (HF) and nitric acid (HNO3)), hydrofluoric acid, buffered hydrofluoric acid (BHF), ammonium fluoride, HFEG (a mixture of hydrofluoric acid and ethylene glycol), or phosphoric acid (H3PO4).

[0031] The substrate processing unit WU includes a rotary chuck SC, a rotary motor SM, a surface nozzle 311, and a nozzle moving mechanism 301. The rotary chuck SC includes: a circular rotating base SB held horizontally; and a plurality of chuck pins 306 capable of holding the substrate W horizontally above the rotating base SB. Thus, the rotary chuck SC holds the substrate W horizontally. The substrate W is held by the rotary chuck SC with the first rotation axis AX1 of the rotary motor SM aligned with the center of the substrate W. The rotary motor SM has a first rotation axis AX1. The first rotation axis AX1 extends vertically. The rotary chuck SC is mounted on the upper end of the first rotation axis AX1 of the rotary motor SM. When the rotary motor SM rotates, the rotary chuck SC rotates about the first rotation axis AX1 as its center. The rotary motor SM is a stepper motor. The substrate W held by the rotary motor SC rotates about the first rotation axis AX1 as its center. Therefore, the rotational speed of the substrate W is the same as the rotational speed of the stepper motor. Furthermore, if an encoder is provided to generate a speed signal representing the rotational speed of the rotary motor SM, the rotational speed of the substrate W can also be obtained from the speed signal generated by the encoder. In this case, a motor other than a stepper motor can be used for the rotary motor SM.

[0032] The surface nozzle 311 supplies etching solution to the surface (upper surface) of the substrate W held by the rotating chuck SC. An etching solution supply unit (not shown) supplies etching solution to the surface nozzle 311. The surface nozzle 311 sprays etching solution toward the surface of the rotating substrate W. The back nozzle 312 supplies etching solution to the back (lower surface) of the substrate W held by the rotating chuck SC.

[0033] The nozzle moving mechanism 301 moves the surface nozzle 311 in a generally horizontal direction. Specifically, the nozzle moving mechanism 301 includes a nozzle motor 303 and a nozzle arm 305, the nozzle motor 303 having a second rotation axis AX2. The nozzle motor 303 is configured such that the second rotation axis AX2 is in a generally vertical direction. The nozzle arm 305 has a linearly extending elongated shape. One end of the nozzle arm 305 is mounted to the upper end of the second rotation axis AX2 such that the long side of the nozzle arm 305 is in a different direction from the second rotation axis AX2. The surface nozzle 311 is mounted at the other end of the nozzle arm 305 with the etchant outlet facing downwards.

[0034] When the nozzle motor 303 is activated, the nozzle arm 305 rotates in the horizontal plane around the second rotation axis AX2. Consequently, the surface nozzle 311, mounted at the other end of the nozzle arm 305, moves (rotates) in the horizontal direction around the second rotation axis AX2. The surface nozzle 311 sprays etching solution toward the substrate W while moving horizontally. The nozzle motor 303 is, for example, a stepper motor.

[0035] The control device 10 includes a CPU (central processing unit) and a memory. The CPU executes the programs stored in the memory to control the entire substrate processing device 300. The control device 10 controls the rotary motor SM and the nozzle motor 303.

[0036] The substrate processing apparatus 300 performs a coating process by applying an etching solution according to processing conditions. These processing conditions include: variable conditions that change over time; and fixed conditions R that do not change over time. The variable conditions represent the relative position of the surface nozzle 311 relative to the substrate W at any given time point, determined by a combination of the number of speed-change points N, the speed-change point position P, the moving speed V, and the stopping time T. The speed-change point position P is the point (position) where the radial speed of the surface nozzle 311 relative to the substrate W changes. The number of speed-change points N is the number of speed-change point positions P. The moving speed V is the radial speed of the surface nozzle 311 relative to the substrate W. The stopping time T is the time during which the surface nozzle 311 stops moving radially relative to the substrate W. The moving speed V and the stopping time T are determined for each speed-change point position P. When the substrate processing apparatus 300 performs the coating process according to the processing conditions, the surface nozzle 311 stops at the speed-change point position P for a stopping time T, and then moves at the moving speed V after passing the speed-change point position P. Thus, the variable condition is the condition where the supply position of the processing liquid to the upper surface of the substrate W changes radially over time. The fixed conditions R include the temperature of the processing liquid R1, the number of revolutions of the substrate W per unit time R2, and the flow rate of the processing liquid R3.

[0037] Here, the processing result of the substrate W after the substrate processing apparatus 300 processes it will be explained. Figure 2 This is a graph used to illustrate the processing results. Figure 2 In the diagram, the vertical axis represents the film thickness, and the horizontal axis represents the radial position of the substrate W. Furthermore, the origin of the horizontal axis represents the center of the substrate W. A solid line represents the film thickness formed on the substrate W before the coating process performed by the substrate processing apparatus 300. The film thickness of the coating formed on the substrate W is adjusted by performing a coating process with an etching solution applied according to processing conditions by the substrate processing apparatus 300. A dashed line represents the film thickness formed on the substrate W after the coating process performed by the substrate processing apparatus 300. The film thickness at various radial positions of the substrate W is referred to as the film thickness characteristic.

[0038] The difference between the film thickness of the coating formed on the substrate W before processing by the substrate processing apparatus 300 and the film thickness of the coating formed on the substrate W after processing by the substrate processing apparatus 300 is the processing result (etching amount). In other words, the processing result represents the reduction in film thickness at each of a plurality of different locations in the radial direction of the substrate W due to the coating processing by the substrate processing apparatus 300.

[0039] The target film thickness is set as the objective for the processing performed by the substrate processing apparatus 300. The target film thickness is represented by a dashed line. The deviation characteristic is the difference between the film thickness of the coating formed on the substrate W after processing by the substrate processing apparatus 300 and the target film thickness. The deviation characteristic includes the difference at each of a plurality of different locations in the radial direction of the substrate W.

[0040] Return to Figure 1 Experimental data is input into the prediction algorithm generation device 200. The experimental data includes: processing conditions used when the substrate processing apparatus 300 performs a coating process on the substrate W; and processing results obtained by the substrate processing apparatus 300 performing the coating process according to the processing conditions. The experimental data is a second dataset. The experimental data is generated by the substrate processing apparatus 300. The substrate processing apparatus 300 measures the film thickness of the coating before and after performing the coating process and generates the experimental data. Alternatively, the substrate processing apparatus 300 may not generate experimental data; instead, a measuring device independent of the substrate processing apparatus 300 may measure the film thickness of the coating formed on the substrate W before and after processing by the substrate processing apparatus 300, thereby generating the experimental data.

[0041] The prediction algorithm generation device 200 generates a prediction algorithm using experimental data and outputs the prediction algorithm to the information processing device 100. The prediction algorithm is one that predicts the processing result of the coating process performed by the substrate processing device 300 according to the processing conditions given to it. The prediction algorithm is not limited to a specific model; for example, it can be a machine learning model. The prediction algorithm generation device 200 uses the learning model to learn from the experimental data and generates a fully learned model. The prediction algorithm generation device 200 outputs the fully learned model as the prediction algorithm to the information processing device 100. Furthermore, the prediction algorithm is not limited to a fully learned model generated through machine learning. For example, the prediction algorithm generation device 200 can also assign experimental data to a pre-defined regression equation and perform regression to generate a prediction algorithm. As an example of the regression equation in this case, a regression equation can be exemplified as one that uses variables from at least one of the conditions included in the processing conditions as explanatory variables and calculates the estimated value of the processing result using a plurality of parameters. Alternatively, the prediction algorithm can also use an algorithm that analyzes the flow of the processing liquid using computer simulations such as fluid dynamics analysis.

[0042] The information processing device 100 uses a prediction algorithm to determine the processing conditions for processing the predetermined substrate W to be processed by the substrate processing device 300 next. The information processing device 100 outputs the determined processing conditions to the substrate processing device 300.

[0043] Figure 3 This diagram illustrates an example of the structure of an information processing device. (Refer to...) Figure 3 The information processing device 100 is composed of a CPU 101, RAM (Random Access Memory) 102, ROM (Read Only Memory) 103, storage device 104, operation unit 105, display device 106, and input / output interface (I / F) 107. The CPU 101, RAM 102, ROM 103, storage device 104, operation unit 105, display device 106, and input / output interface 107 are connected to a bus 108.

[0044] RAM 102 is used as the operating area of ​​CPU 101. The system program is stored in ROM 103. Storage device 104 includes storage media such as a hard disk or semiconductor memory, storing the program. The program can also be stored in ROM 103 or other external storage devices.

[0045] The CD-ROM (Compact Disc Read Only Memory) 109 can be installed in and removed from the storage device 104. The CPU 101 can load the program stored in the CD-ROM 109 into the RAM 102 and execute it. The recording medium used to store the program executed by the CPU 101 is not limited to the CD-ROM 109, and can also be a semiconductor memory medium such as an optical disc (MO (Magnetic Optical Disc), MD (Mini Disc), DVD (Digital Versatile Disc)), an IC (Integrated Circuit) card, an optical card, a mask ROM, or an EPROM (Erasable Programmable Read-Only Memory). Furthermore, the program stored in storage device 104 can be loaded into RAM 102 and executed by CPU 101 by either downloading the program from a computer connected to the network and storing it in storage device 104, or by having a computer connected to the network write the program to storage device 104. The program described herein includes not only programs that can be directly executed by CPU 101, but also original programs, compressed programs, and encrypted programs.

[0046] The operation unit 105 is an input device such as a keyboard, mouse, or touch panel. By operating the operation unit 105, the user can issue predetermined instructions to the information processing device 100. The display device 106 is a display device such as a liquid crystal display (LCD) that displays a screen for receiving user instructions. The CPU 101 controls the operation unit 105 and the display device 106, providing a GUI (Graphical User Interface) to the user. The input / output interface 107 is connected to a network. The CPU 101 communicates with the prediction algorithm generation device 200 and the substrate processing device 300 via the input / output interface 107.

[0047] Figure 4 This diagram illustrates an example of the functions of a CPU in an information processing device. The functions of the information processing device 100 are implemented by the CPU 101 executing a processing condition determination program stored in RAM 102, storage device 104, or CD-ROM 109. (See reference...) Figure 4 The CPU 101 of the information processing device 100 includes a prediction algorithm acquisition unit 110, a processing condition determination unit 120, and a processing condition transmission unit 130.

[0048] The prediction algorithm acquisition unit 110 controls the input / output interface 107 to receive the prediction algorithm sent from the prediction algorithm generation device 200. The prediction algorithm acquisition unit 110 outputs the prediction algorithm to the processing condition determination unit 120.

[0049] The prediction algorithm is input from the prediction algorithm acquisition unit 110 to the processing condition determination unit 120. The processing condition determination unit 120 uses the prediction algorithm to generate candidates for processing conditions to be applied to the substrate processing apparatus 300. The processing condition determination unit 120 outputs the generated candidates for processing conditions to the processing condition sending unit 130.

[0050] The processing condition sending unit 130 sends the processing conditions input from the processing condition determination unit 120 to the control device 10 of the substrate processing apparatus 300. The substrate processing apparatus 300 processes the substrate W according to the processing conditions.

[0051] Figure 5 This diagram illustrates an example of the detailed functions of the processing unit. (Refer to...) Figure 5 The processing condition determination unit 120 includes a processing condition generation unit 51, a prediction unit 53, a prediction processing result acquisition unit 55, a dataset generation unit 57, a first exploration unit 59, a second exploration unit 61, a cluster analysis unit 63, a representative dataset extraction unit 65, a first evaluation value determination unit 67, a second evaluation value determination unit 69, and a candidate determination unit 71.

[0052] The processing condition generation unit 51 generates temporary processing conditions and outputs them to the prediction unit 53 and the dataset generation unit 57. The temporary processing conditions are predetermined processing conditions applied to the substrate processing apparatus 300. The processing condition generation unit 51 includes a first parameter setting unit 81 and a second parameter setting unit 83. The processing conditions include a first parameter and a second parameter. In this embodiment, the first parameter is the number of speed change points N among the changing conditions included in the processing conditions. In this embodiment, the second parameter is a processing condition excluding the first parameter, and is a combination of the speed change point position P, the moving speed V, the stopping time T, and the fixed condition R among the changing conditions. The first parameter setting unit 81 sets the first parameter, and the second parameter setting unit 83 sets the second parameter.

[0053] Temporary processing conditions are input from the processing condition generation unit 51 to the prediction unit 53, and a prediction algorithm is input from the prediction algorithm acquisition unit 110 to the prediction unit 53. The prediction unit 53 assigns the temporary processing conditions to the prediction algorithm and makes the prediction algorithm predict the processing result. The prediction unit 53 outputs the processing result predicted by the prediction algorithm as the prediction processing result to the prediction processing result acquisition unit 55.

[0054] The prediction processing result acquisition unit 55 acquires the prediction processing result input from the prediction unit 53. The prediction processing result acquisition unit 55 outputs the prediction processing result to the dataset generation unit 57.

[0055] Processing conditions are input from the processing condition generation unit 51 to the dataset generation unit 57, and prediction processing results are input from the prediction processing result acquisition unit 55 to the dataset generation unit 57. The dataset generation unit 57 generates a first dataset including the processing conditions and the prediction processing results. The prediction processing results contained in the first dataset are the processing results inferred by the prediction algorithm based on the processing conditions contained in the first dataset. In response to generating the first dataset, the dataset generation unit 57 outputs the generated first dataset to the first exploration unit 59 and the second exploration unit 61.

[0056] The first exploration unit 59, based on a first dataset of multiple groups input from the dataset generation unit 57, uses a first optimization algorithm to explore the optimal value of the first parameter. The first exploration unit 59 outputs the optimal value of the first parameter determined through exploration to the first parameter setting unit 81. The first optimization algorithm is Bayesian optimization using Gaussian process regression (hereinafter referred to as "GP-BO"). The first optimization algorithm can also be a different optimization algorithm than GP-BO. For example, the first optimization algorithm could also be MOTPE (Multiobjective Tree-structured Parzen Estimator), TPE (Tree-structured Parzen Estimator), or Bayesian optimization using Extra-Trees (hereinafter referred to as "ET-BO").

[0057] The second exploration unit 61, based on the first dataset containing multiple groups input from the dataset generation unit 57, uses a second optimization algorithm to explore the optimal value of the second parameter. The second exploration unit 61 outputs the optimal value of the second parameter determined through exploration to the second parameter setting unit 83. The second optimization algorithm is TPE. Furthermore, the second optimization algorithm can also be a different optimization algorithm than TPE. For example, MOTPE, ET-BO, and GP-BO can also be used as the second optimization algorithm. The first optimization algorithm and the second optimization algorithm can also be the same.

[0058] The first exploration unit 59 does not explore the optimal value of the first parameter until the second exploration unit 61 explores the second parameter a predetermined number of times. Therefore, during the period when the first exploration unit 59 does not explore the first parameter, the processing condition generation unit 51 determines a predetermined number of processing conditions with the same first parameter and different second parameters.

[0059] The second exploration unit 61 explores new optimal values ​​for the second parameter based on a plurality of sets of the first dataset, which includes processing conditions generated by the processing condition generation unit 51 after the new first parameter is set. When the second exploration unit 61 explores the optimal value of the second parameter a predetermined number of times, the first exploration unit 59 explores the optimal value of the first parameter based on a plurality of sets of the first dataset, which includes all processing conditions generated by the processing condition generation unit 51 so far.

[0060] The cluster analysis unit 63 clusters the first dataset of multiple groups generated by the dataset generation unit 57 according to the processing conditions. As a result, the multiple processing conditions generated by the processing condition generation unit 51 are classified into any one of the multiple clusters.

[0061] The representative dataset extraction unit 65 extracts a first dataset as a representative from each of the plurality of clusters. The representative dataset extraction unit 65 outputs the extracted first dataset as the representative dataset to the first evaluation value determination unit 67.

[0062] The first evaluation value determination unit 67 calculates a first evaluation value for each of the plurality of representative datasets based on the prediction processing results contained in that representative dataset. The first evaluation value determination unit 67 calculates the first evaluation value f1(x) using the following formula (1).

[0063] (Mathematical Formula 1)

[0064]

[0065] Where ymax represents the maximum processing volume of the film thickness, ymin represents the minimum processing volume of the film thickness, and the y with a horizontal line above it represents the average processing volume of the film thickness. The processing volume is the difference in film thickness before and after the coating process.

[0066] The first evaluation value f1(x) is a function used to evaluate the consistency between the target value and the predicted processing result, indicating that the larger the value, the greater the error relative to the target value. Therefore, the first evaluation value is an indicator used to evaluate the processing conditions contained in the representative dataset. The first evaluation value determination unit 67 outputs the combination of the processing conditions contained in the representative dataset and the first evaluation value to the candidate determination unit 71.

[0067] The second evaluation value determination unit 69 outputs the second evaluation value. The second evaluation value is a function used to evaluate robustness; the larger the value, the lower the robustness.

[0068] The second evaluation value determination unit 69 extracts a predetermined number of first datasets from a plurality of first datasets classified into clusters, and generates new processing conditions for each of the predetermined number of first datasets, causing the processing conditions to vary within the error range. The generated processing conditions are then applied to the prediction algorithm, and a first evaluation value is calculated based on the predicted processing result. The second evaluation value is determined by statistically processing the first evaluation values ​​calculated for each of the plurality of processing conditions with applied errors. For example, the second evaluation value can be set as a range of the plurality of first evaluation values. Here, the second evaluation value is calculated using the following formula (2).

[0069] f2(x)=1+max(x)-f1_min(x)…(2)

[0070] In addition, f1_max(x) represents the maximum value among a complex number of f1(x), and f1_min(x) represents the minimum value.

[0071] Furthermore, the second evaluation value f2(x) is calculated for each of the plurality of first datasets. A cluster with a smaller second evaluation value f2(x) indicates a greater tolerance for variation in processing conditions, while a cluster with a larger second evaluation value f2(x) indicates a smaller tolerance for variation in processing conditions.

[0072] The first evaluation value determination unit 67 inputs a group of representative datasets and first evaluation values ​​to the candidate determination unit 71, and the second evaluation value of each of the plurality of first datasets is input to the candidate determination unit 71 from the second evaluation value determination unit 69. The candidate determination unit 71 uses the first evaluation value and the second evaluation value to evaluate the representative datasets and determines the candidate datasets from the plurality of representative datasets. For each representative dataset, a third evaluation value is calculated based on the first evaluation value and the second evaluation value. The third evaluation value is calculated by assigning a prescribed weight to the first evaluation value and the second evaluation value. Here, the utility function shown in the following formula (3) is used to calculate the third evaluation value.

[0073] u(x)=w1×f1(x)+w2×f2(x)…(3)

[0074] To improve the robustness of the processing used to determine the processing conditions, a third evaluation value u(x) is used, which is the result of adding the second evaluation value f2(x) to the first evaluation value f1(x).

[0075] Furthermore, by adjusting the weighting coefficients w1 and w2, a balance is struck between prioritizing consistency with the target value and prioritizing robustness. Appropriate processing conditions can be extracted by selecting the processing conditions of the dataset containing the prediction results that minimize the third evaluation value u(x).

[0076] (3) Processing conditions determine processing

[0077] In this embodiment, the processing conditions include variable conditions and fixed conditions. Variable conditions include the number of speed change points N, the speed change point position P, the moving speed V, and the stopping time T, which are condition elements. Since the performance of the nozzle movement mechanism 301 in the substrate processing apparatus 300 is limited, the range of variable conditions is restricted. Here, we will use the case where the lower limit of the number of speed change points N is set to 3 and the upper limit of the number of speed change points N is set to 20 as an example for explanation.

[0078] In this embodiment, the process for determining the processing conditions first sets initial conditions. The initial conditions include: an initial setting number Nini, which is a number representing the number of shift points N set as an initial value; the number of shift points N(i) of the initial setting number Nini; and an upper limit value Nmax of the number of shift points N, which is set by the processing conditions to determine the processing. The initial conditions are set by the user. Furthermore, the initial setting number Nini is a positive integer. The upper limit value Nmax is an integer larger than the initial setting number Nini. The number of shift points N(i) represents the arrangement of the number of shift points N; the variable i is an integer 1≤i≤Nmax. Under these initial conditions, the number of times the number of shift points N is explored is Nmax-Nini. In the following explanation, the case where Nini is set to 3 and Nmax is set to 5 is used as an example. In this case, the exploration of the number of shift points N is performed twice. In this case, the exploration of other conditional elements of the variable conditions and the exploration of the fixed conditions are performed for the number of shift points N(1), N(2), and N(3), respectively. Here, we will use the cases where the number of shift points N(1) = 3, the number of shift points N(2) = 7, and the number of shift points N(3) = 11 as initial values ​​as examples for illustration.

[0079] Figure 6 This is a flowchart illustrating an example of the processing condition determination process. The processing condition determination process is a process executed by the CPU 101 of the information processing device 100, which executes a processing condition determination program stored in RAM 102, storage device 104, or CD-ROM 109.

[0080] Reference Figure 6 The CPU 101 of the information processing device 100 acquires the prediction algorithm (step S01), and the processing proceeds to step S02. The CPU 101 controls the input / output interface 107 to receive the prediction algorithm from the prediction algorithm generation device 200. In step S02, variable i is set to an initial value of 1, and the processing proceeds to step S03. Variable i is the value used to determine the number of shift points N (1) that will be processed.

[0081] In step S03, the number of speed points N(i) is selected as the processing object, and the process proceeds to step S04. In step S04, variable j is set to 1, and the process proceeds to step S05. Variable j is used to determine the value of the dataset group G(i,j), which represents the set of datasets D for the extraction number K determined in step S07 described later. Here, the extraction number K is set to 50.

[0082] In step S05, initial condition exploration processing is performed, and the process proceeds to step S06. Initial condition exploration processing involves determining initial values ​​in the process of exploring temporary processing conditions for the number of speed points N(i); detailed explanation follows. When performing initial condition exploration processing, a dataset Dini is determined, which includes the temporary processing conditions that become the initial values. The dataset Dini includes the temporary processing conditions and the predicted processing results.

[0083] In step S06, the processing condition exploration process is performed, and the process proceeds to step S07. The processing condition exploration process is as follows: For the number of variable speed points N(i), with the temporary processing conditions contained in the dataset Dini set to their initial values, the variable speed point position P, movement speed V, stopping time T, and fixed condition R are explored; a detailed explanation follows. When the processing condition exploration process is performed, a dataset D with the same number of exploration attempts as the second upper limit value M2 is generated.

[0084] In step S07, the dataset group G(i,j) is determined, and the process proceeds to step S08. From the dataset D generated in step S06, which has the same number of exploration times as the second upper limit M2, a temporary processing condition is established by extracting the dataset D with the highest extraction number K of the predicted processing result's first evaluation value f1(x). The set of K extracted datasets D is then assigned to the dataset group G(i,j). The first evaluation value f1(x) is calculated using the above formula (1). Here, the case of K = 50 is used as an example. Therefore, the dataset group G(i,j) is a set of 50 datasets D. The dataset group G(i,j) represents the set of datasets D generated by the j-th exploration process with variable speed points N(i).

[0085] In step S08, variable j is incremented, and the process proceeds to step S09. In step S09, it is determined whether variable j is greater than the number of repetitions J. If variable j is greater than the number of repetitions J, the process proceeds to step S10; if variable j is not greater than the number of repetitions J, the process returns to step S05. The number of repetitions J is a preset value stored in storage device 104. Therefore, the processing in steps S05 to S07 is performed for the number of repetitions J. Here, the case of J=5 is used as an example for explanation. Thus, for a variable speed point (i), 5 dataset groups G(i,1) to G(i,5) are generated.

[0086] In step S10, the dataset group G(i) for the variable speed point (i) is determined, and the process proceeds to step S11. The dataset group G(i) for the variable speed point (i) is a set of J dataset groups G(i,1) to G(i,J). Since each of the J dataset groups G(i,1) to G(i,J) contains 50 datasets, the dataset group G(i) for the variable speed point (i) includes 250 datasets.

[0087] In step S11, variable i is incremented, and the process proceeds to step S12. In step S12, it is determined whether variable i is larger than the initial set number Nini. If variable i is larger than the initial set number Nini, the process proceeds to step S13; if variable i is not larger than the initial set number Nini, the process returns to step S02. Since the number of shift points N(i) of the initial set number Nini is set as the initial value, steps S03 to S10 are performed for the number of shift points N(i) set as the initial value.

[0088] In step S13, it is determined whether variable i is greater than the upper limit value Nmax. If variable i is greater than the upper limit value Nmax, the process proceeds to step S15; if variable i is not greater than the upper limit value Nmax, the process proceeds to step S14.

[0089] In step S14, GP-BO is used to explore the number of speed points N(i), and the process returns to step S03. During the transition to step S14, dataset groups G(1) to G(i-1) are generated for the speed points N(1) to N(i-1). In step S14, CPU101 uses the multiple datasets D contained in all dataset groups G(1) to G(i-1) and uses the GP-BO optimization algorithm to explore the optimal value of the number of speed points, and determines the optimal value obtained through exploration as the number of speed points N(i).

[0090] In step S15, the candidate processing condition determination process is performed, and the process ends. A detailed explanation of the candidate processing condition determination process will be provided later.

[0091] Figure 7 This is a flowchart illustrating an example of the initial condition exploration process. The initial condition exploration process is the process performed in step S05, which determines the processing conditions. (See also...) Figure 7 The variable m is set to an initial value of 1 (step S21), and the process proceeds to step S22. The variable m represents the number of times the exploration is repeated.

[0092] In step S22, the stop time T, the shift point position P, and the moving speed V are each set to initial values, and the process proceeds to step S23. The initial values ​​of the stop time T, the shift point position P, and the moving speed V are pre-stored in the storage device 104. Here, the initial value of the stop time T is set to 0, the initial value of the shift point position P is set at equal intervals, and the moving speed V is set to a random value. The path for the surface nozzle 311 to move relative to the substrate W is pre-defined. The shift point position P is determined by dividing the path of the surface nozzle 311 into equal shift point numbers N(i).

[0093] In step S23, the fixed condition R(1) is set to an arbitrary value, and the process proceeds to step S24. The fixed condition is a combination of the temperature R1 of the processing liquid, the number of revolutions per unit time of the substrate W R2, and the flow rate R3 of the processing liquid. Here, the fixed condition is represented by an arrangement R(m), where the fixed condition R(m) represents one of the combinations of the temperature R1 of the processing liquid, the number of revolutions per unit time of the substrate W R2, and the flow rate R3 of the processing liquid.

[0094] In step S24, CPU 101 causes the prediction algorithm to make a prediction and proceeds to step S25. CPU 101 assigns temporary processing conditions to the prediction algorithm and causes the prediction algorithm to predict the processing result. In the temporary processing conditions, the number of speed change points N(i) is set for the variable conditions, and the initial values ​​set in step S22 are set for the stopping time T, the speed change point position P, and the moving speed V. Regarding the fixed conditions, when the processing proceeds from step S23, a fixed condition R(1) is set with an arbitrary value in step S23, and when the processing proceeds from step S29, a fixed condition R(m) determined in step S29 is set.

[0095] In step S25, the processing result predicted by the prediction algorithm is obtained as the predicted processing result, and the process proceeds to step S26. In step S26, the first evaluation value f1(x) is calculated, and the process proceeds to step S27. The first evaluation value is calculated using the above formula (1).

[0096] In step S27, the variable m is incremented, and the process proceeds to step S28. In step S28, it is determined whether the variable m is greater than the first upper limit value M1 of the number of explorations. If the variable m is greater than the first upper limit value M1, the process proceeds to step S30; if the variable m is not greater than the first upper limit value M1, the process proceeds to step S29. The first upper limit value M1 is a preset value that serves as the upper limit for the number of times a fixed condition R, which becomes the initial condition, is explored in the initial condition exploration process. The first upper limit value M1 is pre-stored in the storage device 104. Alternatively, the user can input the first upper limit value M1 using the operation unit 105.

[0097] In step S29, TPE is used to explore the fixed condition R(m), and the process returns to step S24. During the process entering step S29, in step S25, the predicted processing result is obtained, and one or more datasets D containing temporary processing conditions and predicted processing results are generated. In step S29, CPU101 uses all datasets D generated during the initial condition exploration process and uses the TPE optimization algorithm to explore the optimal value of the fixed condition, determining the optimal value obtained through exploration as the fixed condition R(m).

[0098] In step S30, the dataset D containing the prediction result where the first evaluation value f1(x) is minimized is determined as dataset Dini, and the processing is returned to the processing condition determination process.

[0099] Figure 8 This is a flowchart illustrating an example of the process for exploring processing conditions. The processing condition exploration process is the process performed in step S06, which determines the processing conditions. (See also...) Figure 8 The variable m is set to an initial value of 1 (step S31), and the process proceeds to step S32. The variable m represents the number of times the exploration is repeated.

[0100] In step S32, the initial conditions are set as temporary processing conditions, and processing proceeds to step S33. The initial conditions are... Figure 7 The initial conditions shown determine the temporary processing conditions contained in the dataset Dini determined in the processing. In step S33, CPU 101 causes the prediction algorithm to predict, causing the processing to proceed to step S34. CPU 101 assigns temporary processing conditions to the prediction algorithm and causes the prediction algorithm to predict the processing result. If the processing proceeds from step S32, the temporary processing conditions are set with the temporary processing conditions contained in the dataset Dini. If the processing proceeds from step S38, the processing conditions are set with the number of speed change points N(i), the speed change point position P(m) determined in step S38 (described later), the moving speed V(m), the stopping time T(m), and the fixed condition R(m).

[0101] In step S34, the processing result predicted by the prediction algorithm is obtained as the predicted processing result, and the process proceeds to step S35. In step S35, the first evaluation value f1(x) is calculated, and the process proceeds to step S36. The first evaluation value is calculated using the above formula (1).

[0102] In step S36, the variable m is incremented, and the process proceeds to step S37. In step S37, it is determined whether the variable m is greater than the second upper limit value M2 of the number of explorations. If the variable m is greater than the second upper limit value M2, the process returns to the processing condition determination process; if the variable m is not greater than the second upper limit value M2, the process proceeds to step S38. The second upper limit value M2 is a preset value that serves as the upper limit for the number of times temporary processing conditions are explored in the processing condition exploration process. The second upper limit value M2 is preset in the storage device 104. Alternatively, the user can input the second upper limit value M2 using the operation unit 105. The second upper limit value M2 represents the number of temporary processing conditions determined by exploration based on an initial condition for the number of speed points N(i). Here, the second upper limit value M2 is set to 450.

[0103] In step S38, TPE is used to explore the change point position P(m), movement speed V(m), stopping time T(m), and fixed condition R(m), and the process returns to step S33. During the process entering step S38, in step S34, the predicted processing result is obtained, generating one or more datasets D containing temporary processing conditions and predicted processing results. In step S38, CPU 101 uses all datasets D generated during the processing condition exploration process and uses the TPE optimization algorithm to explore the optimal values ​​for each of the change point position, movement speed, stopping time, and fixed condition, and determines the optimal values ​​obtained through exploration as the change point position P(m), movement speed V(m), stopping time T(m), and fixed condition R(m), respectively. Thus, the processing condition exploration process generates a dataset D for the number of change points N(i) with a second upper limit value M2.

[0104] Here, refer again Figure 6 In step S06, the condition exploration phase ends, generating a dataset D with the same number of data points as the second upper limit M2. Next, from the dataset D with the number of data points equal to the second upper limit M2, the dataset D with the highest extraction count K (=50) of the first evaluation value f1(x) is extracted, and the set of extracted datasets D is assigned to dataset group G(i,j). Here, the case of K=50 is used as an example. Since steps S05 to S07 are repeated J (=5) times, the dataset group G(i) generated for a single speed point N(i) contains 250 datasets D. Furthermore, since the upper limit Nmax of the speed point N(i) is set to 5, 5 datasets G(1) to G(Nmax) are generated, resulting in a total of 1250 datasets.

[0105] Figure 9This is a flowchart illustrating an example of the process for determining candidate processing conditions. The candidate processing condition determination process is the process performed in step S15 of the processing condition determination process. (See also...) Figure 9 The variable i is set to an initial value of 1 (step S41), and the process proceeds to step S42. The variable i is the value used to determine the number of shift points (i). In other words, the variable i is the value used to determine the dataset group G(i).

[0106] In step S42, dataset group G(i) is selected as the processing object, and the process proceeds to step S43. In step S43, cluster analysis is performed, and the process proceeds to step S44. Here, the 250 datasets contained in dataset group G(i) are clustered under temporary processing conditions, and L clusters are generated. Here, the case of L=5 is used as an example for illustration.

[0107] In step S44, a representative dataset is determined, and the process proceeds to step S45. The representative dataset is the dataset D containing the smallest prediction result among the multiple datasets D classified into the L (=5) clusters generated in step S43. The first evaluation value f1(x) is calculated using the above formula (1). Therefore, a representative dataset is determined from each of the L (=5) clusters.

[0108] In step S45, variable i is incremented, and the process proceeds to step S46. In step S46, variable i is compared with the upper limit value Nmax (=5). If variable i is greater than the upper limit value Nmax, the process proceeds to step S47; if variable i is not greater than the upper limit value Nmax, the process returns to step S42. Therefore, steps S43 and S44 are performed on dataset groups G(1) to dataset group (Nmax) respectively. Thus, 25 clusters are generated and 25 representative datasets are determined.

[0109] In step S47, the 10 clusters with the highest first evaluation value f1(x) representing the dataset are extracted from the 25 clusters and processed to step S48. In step S48, the second evaluation value f2(x) is calculated and processed to step S49. The second evaluation value is calculated for each dataset. P datasets D are randomly selected from the plurality of datasets D contained in the cluster. Here, the case of P=20 is used as an example. First, the CPU101 changes the temporary processing conditions contained in the P datasets D to values ​​obtained by randomly adding errors to the temporary processing conditions within the range of the deviation of the pre-set processing conditions, and uses the processing conditions with added errors to make the prediction algorithm predict the processing result. Then, the first evaluation value for the processing result predicted by the prediction algorithm (predicted processing result) is calculated. This process is repeated Q times to calculate Q first evaluation values ​​for a dataset D. CPU101 performs processing on P (=20) datasets D to calculate Q first evaluation values, thereby calculating a total of P×Q first evaluation values ​​f1(x). Then, CPU101 uses the above formula (2) to determine the second evaluation value.

[0110] In step S49, a third evaluation value u(x) is calculated for each of the datasets D contained in the 10 representative clusters extracted in step S47. The third evaluation value u(x) is calculated using the above formula (3).

[0111] In step S50, temporary processing conditions are extracted from each of the 10 representative clusters, and the processing is returned to the processing condition determination process. Dataset D containing the predicted processing result with the smallest third evaluation value is extracted from each representative cluster, and the temporary processing conditions contained in dataset D are determined as candidates.

[0112] (4) Effects of the implementation method

[0113] According to the information processing apparatus 100 of the above-described embodiment, in the process of exploring the optimal value of the second parameter, since the first parameter is fixed to the same value, the process of exploring the optimal value of the second parameter is simplified compared to the case where the optimal values ​​of the second parameter and the first parameter are explored simultaneously, thus reducing the burden. Furthermore, in response to exploring a predetermined number of second parameters, the optimal value of the first parameter is explored; therefore, the process of exploring the optimal value is simplified compared to the case where the optimal values ​​of the first parameter and the second parameter are explored simultaneously. Therefore, an information processing apparatus 100 that reduces the burden of processing for exploring the optimal value of processing conditions consisting of a plurality of parameters can be provided.

[0114] Furthermore, since the processing conditions include varying conditions determined by a combination of the first and second parameters, it is easy to explore the optimal values ​​of complex varying conditions that change over time.

[0115] Furthermore, the movement speed is a value determined at the change-of-speed point; the change-of-speed point is determined solely by the number of change-of-speed points. Since the first parameter is the number of change-of-speed points, the optimal values ​​for both the change-of-speed point position and the movement speed can be explored with a fixed number of change-of-speed points. Therefore, the optimal values ​​under varying conditions can be easily explored.

[0116] Furthermore, since the candidate processing conditions to be set in the substrate processing device are determined from the multiple clusters obtained by clustering multiple datasets D under temporary processing conditions, the multiple candidate processing conditions can be determined evenly from the distribution of the multiple temporary processing conditions. Therefore, the deviation of the multiple candidate processing conditions can be reduced, thereby enabling the efficient determination of different multiple candidate processing conditions.

[0117] (5) Other implementation methods

[0118] The first evaluation value f1(x) of the above implementation can also be replaced by the following formula (4) instead of the above formula (1).

[0119] (Mathematical Formula 2)

[0120]

[0121] Where m represents the number of measurement points, y represents the amount of film thickness processed, the y with a horizontal line above it represents the average amount of film thickness processed, the subscript t represents the target value, and the subscript s represents the predicted processing result. In other words, yti represents the amount of film thickness processed in the measurement points of the target value, and ysi represents the amount of film thickness processed in the measurement points shown in the predicted processing result. The first evaluation value f1(x) calculated by formula (4) can evaluate the distribution of the amount of film thickness processed.

[0122] (6) Summary of implementation methods

[0123] (Item 1) An information processing apparatus according to one embodiment of the present invention is used to manage a substrate processing apparatus, wherein...

[0124] have:

[0125] The prediction algorithm acquisition unit acquires a prediction algorithm, which predicts the processing result of the substrate processing device performing the processing according to the processing conditions based on processing conditions including a first parameter and a second parameter.

[0126] The processing condition generation department generates temporary processing conditions;

[0127] The acquisition unit acquires the predicted processing result predicted by the prediction algorithm based on the temporary processing conditions generated by the processing condition generation unit.

[0128] The first exploration unit, based on a first dataset comprising multiple groups including the temporary processing conditions and the predicted processing results, uses a first optimization algorithm to explore the optimal value of the first parameter; and

[0129] The second exploration unit, based on the first dataset with multiple groups, uses a second optimization algorithm to explore the optimal value of the second parameter;

[0130] The first exploration unit, in response to exploring a predetermined number of optimal values ​​for the second parameter by the second exploration unit, explores the optimal value of the first parameter;

[0131] The processing condition generation unit generates a new temporary processing condition that includes the optimal value of the first parameter explored by the first exploration unit in response to the first exploration unit exploring the optimal value of the first parameter. In response to the second exploration unit exploring the optimal value of the second parameter, the first parameter of the temporary processing condition is not changed, and a new temporary processing condition that includes the optimal value of the second parameter explored by the second exploration unit is generated.

[0132] According to this aspect, in the process of exploring the optimal value of the second parameter, since the first parameter is fixed to the same value, the process of exploring the optimal value of the second parameter is simplified compared to the case where the optimal values ​​of the second parameter and the first parameter are searched simultaneously, thus reducing the burden. Furthermore, in response to exploring a predetermined number of optimal values ​​of the second parameter, the optimal value of the first parameter is explored; therefore, the process of exploring the optimal value is simplified compared to the case where the optimal values ​​of the first parameter and the second parameter are explored simultaneously. Therefore, the burden of exploring the optimal value from a plurality of processing conditions consisting of a plurality of parameters can be reduced. As a result, an information processing apparatus can be provided that can efficiently determine the processing conditions to be applied to the substrate processing apparatus.

[0133] (Item 2) In the information processing apparatus described in Item 1, it may also be,

[0134] The processing conditions include variable conditions that change over time;

[0135] The change condition is a condition determined by a combination of the first parameter and the second parameter.

[0136] According to this aspect, since the processing conditions include varying conditions determined by a combination of the first and second parameters, it is possible to easily explore the optimal value of complex varying conditions that change over time.

[0137] (Item 3) In the information processing apparatus described in Item 2, it may also be,

[0138] The process includes a coating process in which a processing liquid is supplied to the upper surface of a substrate on which a coating is formed;

[0139] The processing result includes the difference in film thickness before and after the coating process is performed at each of a plurality of different locations in the radial direction of the substrate;

[0140] The variation condition is the condition in which the supply position of the treatment liquid to the upper surface of the substrate changes radially over time.

[0141] The variation conditions are determined at least by the position of the speed change point, which represents the change in the radial speed of the supply position, the speed of the speed change point, and the number of speed change points, which represents the number of speed change point positions.

[0142] The first parameter is the number of shift points.

[0143] Based on this, the movement speed is a value determined at the speed change point; the speed change point is determined solely by the number of speed change points. Since the first parameter is set to the number of speed change points, the optimal values ​​for both the speed change point position and the movement speed are explored while maintaining a fixed number of speed change points. Therefore, it is possible to easily explore the optimal values ​​under varying conditions.

[0144] (Item 4) In any one of items 1 to 3, the information processing apparatus may also be,

[0145] The first optimization algorithm and the second optimization algorithm are each one of the following: tree-structured Parsons estimator, Bayesian optimization using extreme random trees, and Bayesian optimization using Gaussian process regression.

[0146] (Item 5) In any one of items 1 to 4, the information processing apparatus may also be,

[0147] It also has:

[0148] The cluster analysis unit clusters the first dataset into multiple groups based on the temporary processing conditions contained in the first dataset; and

[0149] The candidate decision unit determines, based on a first evaluation value, the processing conditions set for the substrate processing apparatus to become candidates from the first dataset, which is classified into multiple groups of each of the multiple clusters generated by the cluster analysis unit, and the first evaluation value is calculated based on the predicted processing result.

[0150] According to this aspect, since the candidate processing conditions set in the substrate processing apparatus are determined from a plurality of clusters, it is possible to determine a plurality of candidate processing conditions equally from the distribution of a plurality of temporary processing conditions. Therefore, the deviation of the plurality of candidate processing conditions can be reduced, thereby enabling efficient determination of different plurality of candidate processing conditions.

[0151] (Item 6) In the information processing apparatus described in Item 5, it may also be,

[0152] The process includes a coating process in which a processing liquid is supplied to the upper surface of a substrate on which a coating is formed;

[0153] The processing result includes the difference in film thickness before and after the coating process is performed at each of a plurality of different locations in the radial direction of the substrate;

[0154] The first evaluation value represents either the range of the difference in film thickness or the distribution of the difference in film thickness.

[0155] Based on this, processing conditions with a smaller range of film thickness differences or a smaller distribution of film thickness differences can be selected as candidate conditions.

[0156] (Item 7) In the information processing apparatus described in Item 5 or Item 6, it may also be,

[0157] It also has a robust value determination unit, which determines a second evaluation value based on the prediction processing result predicted by the prediction algorithm according to the processing conditions containing the first dataset with added error.

[0158] The candidate decision unit determines the processing conditions set on the substrate processing apparatus to become a candidate based on the second evaluation value in addition to the first evaluation value.

[0159] Accordingly, the candidate processing conditions are determined based on a second evaluation value in addition to a first evaluation value. The second evaluation value is calculated based on a predicted processing result inferred from the processing conditions with added errors. Therefore, processing conditions that are strong against major random factors such as noise can be selected as candidates.

[0160] (Item 8) In the information processing apparatus described in Item 7, it may also be,

[0161] The robustness value determination unit determines the second evaluation value for each of the plurality of said clusters based on each of a plurality of random sets arbitrarily selected from the first dataset of the plurality of groups classified into said clusters.

[0162] According to this embodiment, the second evaluation value is determined based on each of a plurality of random sets selected from a plurality of groups of a first dataset that are classified into clusters. Therefore, since the second evaluation value is reflected in addition to the first evaluation value used to represent the characteristics of the first dataset, an appropriate second evaluation value can be calculated for the first evaluation value.

[0163] (Item 9) In any one of items 1 to 8, the prediction algorithm may be generated based on a second dataset, which includes the processing conditions of the processing performed by the substrate processing apparatus and the processing result of the processing.

[0164] According to this aspect, since the prediction algorithm is generated based on the processing result actually performed by the substrate processing apparatus and the processing conditions used to perform the processing, it is possible to generate a prediction algorithm that simulates the substrate processing apparatus.

[0165] (Item 10) In the information processing apparatus described in Item 9, it may also be,

[0166] The prediction algorithm is a regression equation that uses variables from at least one condition included in the processing conditions as explanatory variables and uses a plurality of algorithm parameters to calculate the estimated value of the processing result.

[0167] By applying the second dataset to the regression equation and performing regression, a plurality of parameters for the algorithm are obtained.

[0168] According to this aspect, the prediction algorithm is a regression equation that uses variables from at least one condition included in the processing conditions as explanatory variables and uses a plurality of parameters to estimate the predicted value of the processing result. Therefore, since the prediction algorithm is based on mathematical formulas to predict the processing result, users can clearly understand the algorithm for predicting the processing and can easily interpret the relationship between the processing conditions and the processing result predicted based on the processing conditions.

[0169] (Item 11) The information processing apparatus described in Item 9 may also be,

[0170] The prediction algorithm is a machine learning model that has been trained on the second dataset.

[0171] Based on this, the prediction algorithm uses a learned model of the second dataset for machine learning. Therefore, it is easy to generate the prediction algorithm.

[0172] (Item 12) Another embodiment of the substrate processing apparatus of the present invention includes the information processing apparatus described in any one of items 1 to 11.

[0173] Based on this aspect, a substrate processing apparatus can be provided that reduces the burden of exploring the optimal values ​​of processing conditions consisting of a plurality of parameters.

[0174] (Item 13) Another embodiment of the present invention, a method for determining processing conditions, is performed by an information processing apparatus for managing a substrate processing apparatus, wherein...

[0175] have:

[0176] The prediction algorithm acquisition step involves acquiring a prediction algorithm, wherein the prediction algorithm predicts the processing result of the substrate processing device performing the processing according to the processing conditions based on processing conditions including a first parameter and a second parameter.

[0177] The processing condition generation step generates temporary processing conditions;

[0178] The prediction processing result acquisition step obtains the prediction processing result predicted by the prediction algorithm based on the temporary processing conditions generated in the processing condition generation step.

[0179] The first exploration step involves using a first optimization algorithm to explore the optimal value of the first parameter based on a first dataset comprising multiple groups of temporary processing conditions and predicted processing results; and

[0180] The second exploration step involves using a second optimization algorithm to explore the optimal value of the second parameter based on the first dataset with multiple groups.

[0181] The first exploration step includes exploring the optimal value of the first parameter in response to exploring a predetermined number of optimal values ​​of the second parameter in the second exploration step;

[0182] The processing condition generation step includes:

[0183] In response to exploring the optimal value of the first parameter in the first exploration step, new temporary processing conditions are generated that include the optimal value of the first parameter explored in the first exploration step; and

[0184] In response to exploring the optimal value of the second parameter in the second exploration step, without changing the first parameter of the temporary processing condition, a new temporary processing condition is generated that includes the optimal value of the second parameter explored in the second exploration step.

[0185] According to this method, the processing burden of exploring optimal values ​​from a plurality of processing conditions consisting of a plurality of parameters can be reduced. As a result, a processing condition determination method can be provided that can efficiently determine the processing conditions to be applied to the substrate processing apparatus.

Claims

1. An information processing apparatus for managing a substrate processing apparatus, wherein, have: The prediction algorithm acquisition unit acquires a prediction algorithm, which predicts the processing result of the substrate processing device performing the processing according to the processing conditions based on processing conditions including a first parameter and a second parameter. The processing condition generation department generates temporary processing conditions; The prediction processing result acquisition unit acquires the prediction processing result predicted by the prediction algorithm based on the temporary processing conditions generated by the processing condition generation unit. The first exploration unit, based on a plurality of groups of a first dataset including the temporary processing conditions and the predicted processing results, uses a first optimization algorithm to explore the optimal value of the first parameter; as well as The second exploration unit, based on the first dataset with multiple groups, uses a second optimization algorithm to explore the optimal value of the second parameter; The first exploration unit, in response to exploring a predetermined number of optimal values ​​for the second parameter by the second exploration unit, explores the optimal value of the first parameter; The processing condition generation unit generates a new temporary processing condition that includes the optimal value of the first parameter explored by the first exploration unit in response to the first exploration unit exploring the optimal value of the first parameter. In response to the second exploration unit exploring the optimal value of the second parameter, the first parameter of the temporary processing condition is not changed, and a new temporary processing condition that includes the optimal value of the second parameter explored by the second exploration unit is generated.

2. The information processing apparatus as described in claim 1, wherein, The processing conditions include variable conditions that change over time; The variation condition is a condition determined by a combination of the first parameter and the second parameter.

3. The information processing apparatus as described in claim 2, wherein, The process includes a coating process in which a processing liquid is supplied to the upper surface of a substrate on which a coating is formed; The processing result includes the difference in film thickness before and after the coating process is performed at each of a plurality of different locations in the radial direction of the substrate; The variation condition is the condition in which the supply position of the treatment liquid to the upper surface of the substrate changes radially over time. The variation conditions are determined at least by the position of the speed change point, which represents the change in the radial speed of the supply position, the speed of the speed change point, and the number of speed change points, which represents the number of speed change point positions. The first parameter is the number of shift points.

4. The information processing apparatus according to any one of claims 1 to 3, wherein, The first optimization algorithm and the second optimization algorithm are each one of the following: tree-structured Parsons estimator, Bayesian optimization using extreme random trees, and Bayesian optimization using Gaussian process regression.

5. The information processing apparatus according to any one of claims 1 to 4, wherein, It also has: The cluster analysis unit clusters the first dataset into multiple groups based on the temporary processing conditions contained in the first dataset; and The candidate decision unit determines, based on a first evaluation value, the processing conditions set for the substrate processing apparatus to become candidates from the first dataset, which is classified into multiple groups of each of the multiple clusters generated by the cluster analysis unit, and the first evaluation value is calculated based on the predicted processing result.

6. The information processing apparatus as described in claim 5, wherein, The process includes a coating process in which a processing liquid is supplied to the upper surface of a substrate on which a coating is formed; The processing result includes the difference in film thickness before and after the coating process is performed at each of a plurality of different locations in the radial direction of the substrate; The first evaluation value represents either the range of the difference in film thickness or the distribution of the difference in film thickness.

7. The information processing apparatus as described in claim 5 or 6, wherein, It also has a robust value determination unit, which determines a second evaluation value based on the prediction processing result predicted by the prediction algorithm according to the processing conditions containing the first dataset with added error. The candidate decision unit determines the processing conditions set on the substrate processing apparatus to become a candidate based on the second evaluation value in addition to the first evaluation value.

8. The information processing apparatus as claimed in claim 7, wherein, The robustness value determination unit determines the second evaluation value for each of the plurality of said clusters based on each of a plurality of random sets arbitrarily selected from the first dataset of the plurality of groups classified into said clusters.

9. The information processing apparatus according to any one of claims 1 to 8, wherein, The prediction algorithm is generated based on a second dataset, which includes the processing conditions of the processing performed by the substrate processing device and the processing results of the processing.

10. The information processing apparatus as claimed in claim 9, wherein, The prediction algorithm is a regression equation that uses variables from at least one condition included in the processing conditions as explanatory variables and uses a plurality of algorithm parameters to calculate the estimated value of the processing result. By applying the second dataset to the regression equation and performing regression, a plurality of parameters for the algorithm are obtained.

11. The information processing apparatus as claimed in claim 9, wherein, The prediction algorithm is a machine learning model that has been trained on the second dataset.

12. A substrate processing apparatus comprising the information processing apparatus according to any one of claims 1 to 11.

13. A method for determining processing conditions, performed by an information processing apparatus for managing a substrate processing apparatus. in, have: The prediction algorithm acquisition step involves acquiring a prediction algorithm, wherein the prediction algorithm predicts the processing result of the substrate processing device performing the processing according to the processing conditions based on processing conditions including a first parameter and a second parameter. The processing condition generation step generates temporary processing conditions; The prediction processing result acquisition step obtains the prediction processing result predicted by the prediction algorithm based on the temporary processing conditions generated in the processing condition generation step. In the first exploration step, based on a first dataset comprising multiple groups including the temporary processing conditions and the predicted processing results, a first optimization algorithm is used to explore the optimal value of the first parameter. as well as The second exploration step involves using a second optimization algorithm to explore the optimal value of the second parameter based on the first dataset with multiple groups. The first exploration step includes exploring the optimal value of the first parameter in response to exploring a predetermined number of optimal values ​​of the second parameter in the second exploration step; The processing condition generation step includes: In response to exploring the optimal value of the first parameter in the first exploration step, a new temporary processing condition is generated that includes the optimal value of the first parameter explored in the first exploration step. as well as In response to exploring the optimal value of the second parameter in the second exploration step, without changing the first parameter of the temporary processing condition, a new temporary processing condition is generated that includes the optimal value of the second parameter explored in the second exploration step.

Citation Information

Patent Citations

  • Liquid-processing device, liquid-processing method, and storage medium

    JP2015103656A