Information processing apparatus, substrate processing apparatus, and method for determining processing conditions

The information processing apparatus uses prediction algorithms and optimization techniques to optimize etching processes, addressing challenges in setting processing conditions for uniform substrate surface processing in semiconductor manufacturing.

JP7911526B2Active Publication Date: 2026-08-26SCREEN HOLDINGS CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023047174
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-23
Publication Date
2026-08-26
Estimated Expiration
2043-03-23

AI Technical Summary

Technical Problem

Etching processes in semiconductor manufacturing face challenges in setting suitable processing conditions due to variations in film removal amounts influenced by nozzle movement, etching solution concentration, temperature, and substrate rotation speed, making uniform substrate surface processing difficult.

Method used

An information processing apparatus employs a prediction algorithm to determine optimal processing conditions using optimization algorithms to search for the best values of first and second parameters, integrating a prediction algorithm generation device, information processing device, and substrate processing device to manage and control the etching process.

Benefits of technology

This approach enables efficient determination of processing conditions for substrate processing apparatuses, ensuring uniform film thickness and surface flatness by optimizing etching processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007911526000003
    Figure 0007911526000003
  • Figure 0007911526000004
    Figure 0007911526000004
  • Figure 0007911526000005
    Figure 0007911526000005
Patent Text Reader

Abstract

To reduce a processing load for estimating optimal values of processing conditions consisting of a plurality of parameters.SOLUTION: An information processing device that manages a substrate processing device includes: a prediction algorithm acquisition unit that acquires a prediction algorithm that predicts a processing result of a process performed by the substrate processing device according to the processing conditions from the processing conditions, a processing condition generation unit that generates tentative processing conditions including a first parameter and a second parameter, a prediction processing result acquisition unit 55 that acquires a predicted processing result predicted by the prediction algorithm from the tentative processing conditions generated by the processing condition generation unit, a first search unit 59 that searches for an optimal value of a first parameter on the basis of multiple sets of first data sets including the tentative processing conditions and the predicted processing results using a first optimization algorithm, and a second search unit 61 that searches for an optimal value of a second parameter on the basis of the multiple sets of first data sets using a second optimization algorithm.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , , , , , ,

[0005] , , ,

[0001] The present invention relates to an information processing apparatus, a substrate processing apparatus, and a processing condition determination method, and particularly to an information processing apparatus that generates processing conditions to be executed by a substrate processing apparatus using a prediction algorithm, a substrate processing apparatus including the information processing apparatus, and a processing condition determination method executed by the information processing apparatus.

Background Art

[0002] In the semiconductor manufacturing process, there is an etching process. In the etching process, the film thickness of the film formed on the substrate is adjusted by an etching process of supplying a chemical solution to the substrate. In this film thickness adjustment, it is important to perform the etching process so that the surface of the substrate becomes uniform, or to flatten the surface of the substrate by the etching process. When discharging the etching solution from the nozzle to a part of the substrate, it is necessary to move the nozzle in the radial direction with respect to the substrate.

[0003] Patent Document 1 describes a liquid processing apparatus that etches a substrate by discharging an etching solution from an etching nozzle to the substrate. In Patent Document 1, in order to make the in-plane temperature distribution of the wafer uniform while performing the etching process in the central region of the substrate, the discharged etching solution passes through the center of the wafer at a first position on the central side and a second position on the peripheral side of the wafer rather than this central side position. An example of discharging the etching solution while repeatedly reciprocating the etching nozzle between them is described.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] Etching is a complex process in which the amount of film removed varies depending not only on the movement of the nozzle, but also on differences in processing conditions such as the concentration of the etching solution, temperature, and rotation speed of the substrate. Therefore, setting processing conditions suitable for processing the film is difficult. [Means for solving the problem]

[0006] (1) An information processing apparatus according to one aspect of the present invention is an information processing apparatus for managing a substrate processing apparatus, comprising: a prediction algorithm acquisition unit that acquires a prediction algorithm for predicting the processing result of a process executed by the substrate processing apparatus according to processing conditions from the processing conditions; a processing condition generation unit that generates a provisional processing condition, the processing condition including a first parameter and a second parameter; a prediction processing result acquisition unit that acquires a prediction processing result predicted by the prediction algorithm from the provisional processing condition generated by the processing condition generation unit; a first search unit that searches for the optimal value of the first parameter using a first optimization algorithm based on a plurality of sets of first datasets including the provisional processing conditions and the prediction processing result; and a first data set The system includes a second search unit that searches for the optimal value of the second parameter using a second optimization algorithm based on multiple sets of values. The first search unit searches for the optimal value of the first parameter in response to the second search unit searching for a predetermined number of optimal values ​​of the second parameter. The processing condition generation unit generates new provisional processing conditions that include the optimal value of the first parameter found by the first search unit in response to the first search unit searching for the optimal value of the first parameter. The second search unit generates new provisional processing conditions that include the optimal value of the second parameter found by the second search unit without changing the first parameter of the provisional processing conditions in response to the second search unit searching for the optimal value of the second parameter.

[0007] (2) A substrate processing apparatus according to another aspect of the present invention comprises the above-described information processing apparatus.

[0008] (3) A method for determining processing conditions according to another aspect of the present invention is a method for determining processing conditions executed by an information processing device that manages a substrate processing device, comprising: a prediction algorithm acquisition step of acquiring a prediction algorithm that predicts the processing result of a process executed by the substrate processing device according to the processing conditions from the processing conditions; a processing condition generation step of generating a provisional processing condition in which the processing conditions include a first parameter and a second parameter; a prediction processing result acquisition step of acquiring a prediction processing result predicted by the prediction algorithm from the provisional processing condition generated in the processing condition generation step; a first search step of searching for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of first datasets including the provisional processing conditions and the prediction processing result; and multiple sets of first datasets The process includes a second search step in which the optimal value of the second parameter is searched using a second optimization algorithm based on the first search step, the first search step includes searching for the optimal value of the first parameter in response to a predetermined number of optimal values ​​of the second parameter being searched in the second search step, and the process condition generation step includes generating new provisional process conditions that include the optimal value of the first parameter searched in the first search step in response to the optimal value of the first parameter being searched in the first search step, and generating new provisional process conditions that include the optimal value of the second parameter searched in the second search step without changing the first parameter of the provisional process conditions in response to the optimal value of the second parameter being searched in the second search step. [Effects of the Invention]

[0009] According to the present invention, it becomes possible to efficiently determine the processing conditions to be applied to the substrate processing apparatus. [Brief explanation of the drawing]

[0010] [Figure 1] This is a diagram illustrating the configuration of a substrate processing system according to one embodiment of the present invention. [Figure 2] This is a diagram to explain the processing results. [Figure 3] This figure shows an example of the configuration of an information processing device. [Figure 4] This diagram shows an example of the functions of a CPU in an information processing device. [Figure 5] This figure shows an example of the detailed functions of the processing condition determination unit. [Figure 6] This flowchart shows an example of the process flow for determining processing conditions. [Figure 7] This is a flowchart illustrating an example of the initial condition search process. [Figure 8] This flowchart shows an example of the process flow for searching for processing conditions. [Figure 9] This flowchart shows an example of the process for determining candidate processing conditions. [Modes for carrying out the invention]

[0011] Hereinafter, a substrate processing system according to one embodiment of the present invention will be described in detail with reference to the drawings. In the following description, "substrate" refers to semiconductor substrates (semiconductor wafers), substrates for FPDs (Flat Panel Displays) such as liquid crystal display devices or organic EL (Electro Luminescence) display devices, substrates for optical discs, substrates for magnetic discs, substrates for magneto-optical discs, substrates for photomasks, ceramic substrates, or substrates for solar cells.

[0012] (1) Overall configuration of the substrate processing system Figure 1 is a diagram illustrating the configuration of a substrate processing system according to one embodiment of the present invention. The substrate processing system 1 in Figure 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.

[0013] The prediction algorithm generation device 200 and the information processing device 100 are used to manage the substrate processing device 300. Note that the substrate processing device 300 managed by the prediction algorithm generation device 200 and the information processing device 100 is not limited to one unit; multiple substrate processing devices 300 may be managed.

[0014] In the substrate processing system 1 according to the present embodiment, the information processing device 100, the prediction algorithm generation device 200, and the substrate processing device 300 are connected to each other by a wired or wireless communication line or communication network. The information processing device 100, the prediction algorithm generation device 200, and the substrate processing device 300 are each connected to a network and can transmit and receive data to and from each other. For example, a local area network (LAN) or a wide area network (WAN) is used as the network. Also, the network may be the Internet. Further, the information processing device 100 and the substrate processing device 300 may be connected by a dedicated communication network. The connection form of the network may be a wired connection or a wireless connection.

[0015] Note that the prediction algorithm generation device 200 does not necessarily need to be connected to the substrate processing device 300 and the information processing device 100 by a communication line or communication network. In this case, the data generated by the substrate processing device 300 may be passed to the prediction algorithm generation device 200 via a recording medium. Also, the data generated by the prediction algorithm generation device 200 may be passed to the information processing device 100 via a recording medium.

[0016] The substrate processing device 300 is provided with a display device, an audio output device, and an operation unit (not shown). The substrate processing device 300 is operated according to predetermined processing conditions (processing recipes) of the substrate processing device 300.

[0017] (2) Outline of the substrate processing device 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 processing on a film formed on a substrate W by supplying a processing liquid to the substrate W according to processing conditions. In the present embodiment, the substrate W to be processed has a diameter of 300 mm, but the present invention is not limited thereto. The processing liquid includes an etching liquid, and the substrate processing unit WU executes an etching process. The etching liquid is a chemical solution. The etching liquid is, for example, hydrofluoric acid and nitric acid (a mixed solution of hydrofluoric acid (HF) and nitric acid (HNO3)), hydrofluoric acid, buffered hydrofluoric acid (BHF), ammonium fluoride, HFEG (a mixed solution of hydrofluoric acid and ethylene glycol), or phosphoric acid (H3PO4).

[0018] The substrate processing unit WU includes a spin chuck SC, a spin motor SM, a surface nozzle 311, and a nozzle moving mechanism 3 (should be 301). The spin chuck SC includes a disk-shaped spin base SB held in a horizontal posture and a plurality of chuck pins 306 capable of holding the substrate W in a horizontal posture above the spin base SB. Thereby, the spin chuck SC holds the substrate W horizontally. The substrate W is held by the spin chuck SC such that the first rotation axis AX1 of the spin motor SM coincides with the center of the substrate W. The spin motor SM has a first rotation axis AX1. The first rotation axis AX1 extends in the vertical direction. The spin chuck SC is attached to the upper end of the first rotation axis AX1 of the spin motor SM. When the spin motor SM rotates, the spin chuck SC rotates about the first rotation axis AX1. The spin motor SM is a stepping motor. The substrate W held by the spin chuck SC rotates about the first rotation axis AX1. Therefore, the rotation speed of the substrate W is the same as the rotation speed of the stepping motor. In addition, when an encoder that generates a rotation speed signal indicating the rotation speed of the spin motor is provided, the rotation speed of the substrate W may be obtained from the rotation speed signal generated by the encoder. In this case, the spin motor SM can use a motor other than a stepping motor.

[0019] The surface nozzle 311 supplies etching solution to the surface (top surface) of the substrate W held by the spin chuck SC. Etching solution is supplied to the surface nozzle 311 from an etching solution supply unit (not shown). The surface nozzle 311 discharges the etching solution toward the surface of the rotating substrate W. The back nozzle 312 supplies etching solution to the back (bottom surface) of the substrate W held by the spin chuck SC.

[0020] The nozzle moving mechanism 301 moves the surface nozzle 311 in a substantially horizontal direction. Specifically, the nozzle moving mechanism 301 includes a nozzle motor 303 having a second rotation axis AX2 and a nozzle arm 305. The nozzle motor 303 is positioned so that the second rotation axis AX2 is aligned substantially vertically. The nozzle arm 305 has a linear longitudinal shape. One end of the nozzle arm 305 is attached to the upper end of the second rotation axis AX2 such that the longitudinal direction of the nozzle arm 305 is different from that of the second rotation axis AX2. The other end of the nozzle arm 305 is fitted with the surface nozzle 311 so that the etching solution discharge port faces downward.

[0021] When the nozzle motor 303 operates, the nozzle arm 305 rotates in the horizontal plane around the second rotation axis AX2. As a result, the surface nozzle 311 attached to the other end of the nozzle arm 305 moves horizontally (rotates) around the second rotation axis AX2. The surface nozzle 311 discharges etching solution toward the substrate W while moving horizontally. The nozzle motor 303 is, for example, a stepping motor.

[0022] The control device 10 includes a CPU (Central Processing Unit) and memory, and the CPU controls the entire substrate processing device 300 by executing a program stored in the memory. The control device 10 controls the spin motor SM and the nozzle motor 303.

[0023] The substrate processing apparatus 300 performs a coating process by applying an etching solution according to processing conditions. The processing conditions include variable conditions that change over time and fixed conditions R that do not change over time. The variable conditions indicate the relative position of the surface nozzle 311 with respect to the substrate W at any given time, and are determined by a combination of the number of speed change points N, the speed change point positions P, the travel speed V, and the stopping time T. The speed change point positions P are points (positions) at which the speed at which the surface nozzle 311 moves radially relative to the substrate W is changed. The number of speed change points N is the number of speed change point positions P. The travel speed V is the speed at which the surface nozzle 311 moves radially relative to the substrate W. The stopping time T is the time at which the surface nozzle 311 stops without moving radially relative to the substrate W. The travel speed V and stopping time T are determined for each speed change point position P. When the substrate processing apparatus 300 performs coating according to the processing conditions, the surface nozzle 311 stops at the speed change point position P for a stopping time T, and after passing the speed change point position P, it moves at a moving speed V. Thus, the variable condition is a condition in which the supply position to which the processing liquid is supplied to the upper surface of the substrate W changes radially over time. The fixed condition R includes the temperature of the processing liquid R1, the rotation speed of the substrate W per unit time R2, and the flow rate of the processing liquid R3.

[0024] Here, we will explain the processing results after the substrate processing apparatus 300 has processed the substrate. Figure 2 is a diagram illustrating the processing results. In Figure 2, the vertical axis represents the film thickness, and the horizontal axis represents the position in the radial direction of the substrate. The origin of the horizontal axis represents the center of the substrate. The film thickness formed on the substrate W before the coating process is performed by the substrate processing apparatus 300 is shown by the solid line. The film thickness formed on the substrate W is adjusted by the substrate processing apparatus 300 applying an etching solution according to the processing conditions. The film thickness formed on the substrate W after the coating process is performed by the substrate processing apparatus 300 is shown by the dotted line. The film thickness at each radial position of the substrate W is called the film thickness characteristic.

[0025] The difference between the film thickness formed on the substrate W before processing by the substrate processing apparatus 300 and the film thickness 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 indicates the reduction in film thickness at multiple different locations in the radial direction of the substrate W due to the processing of the film by the substrate processing apparatus 300.

[0026] A target film thickness is defined for the processing performed by the substrate processing apparatus 300. The target film thickness is indicated by a dashed line. The deviation characteristic is the difference between the film thickness 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 multiple different locations in the radial direction of the substrate W.

[0027] Returning to Figure 1, experimental data is input to the prediction algorithm generation device 200. The experimental data includes the processing conditions used by the substrate processing device 300 when performing the coating process on the substrate W, and the processing results obtained as a result of the substrate processing device 300 performing the coating process according to those processing conditions. The experimental data is the second data set. The experimental data is generated by the substrate processing device 300. The substrate processing device 300 measures the film thickness before and after the coating process is performed and generates the experimental data. Alternatively, the substrate processing device 300 may not generate the experimental data, and a separate measuring device may measure the film thickness formed on the substrate W before and after processing by the substrate processing device 300 to generate the experimental data.

[0028] 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 an algorithm that predicts the processing result of the coating process performed by the substrate processing device 300 according to the processing conditions given to the substrate processing device 300. The prediction algorithm is, but is not limited to, a machine learning model. The prediction algorithm generation device 200 uses experimental data to train the model and generates a trained model. The prediction algorithm generation device 200 outputs the trained model as a prediction algorithm to the information processing device 100. Note that the prediction algorithm is not limited to a trained model generated by machine learning. For example, the prediction algorithm generation device 200 may generate a prediction algorithm by applying a predetermined regression equation to experimental data. An example of a regression equation in this case is a regression equation that uses variables used in at least one of the processing conditions as explanatory variables and calculates an estimated value of the processing result using multiple parameters. Alternatively, the prediction algorithm may use an algorithm that analyzes the flow of the processing liquid using computer simulations such as fluid dynamics analysis.

[0029] The information processing device 100 uses a prediction algorithm to determine the processing conditions for the substrates that the substrate processing device 300 is scheduled to process. The information processing device 100 outputs the determined processing conditions to the substrate processing device 300.

[0030] Figure 3 shows an example of the configuration of an information processing device. Referring to Figure 3, the information processing device 100 consists 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 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.

[0031] RAM 102 is used as a workspace for the CPU 101. ROM 103 stores the system program. Storage device 104 includes a storage medium such as a hard disk or semiconductor memory and stores the program. The program may also be stored in ROM 103 or other external storage devices.

[0032] A CD-ROM 109 is removable from the storage device 104. The CPU 101 can load programs stored on the CD-ROM 109 into the RAM 102 and execute them. The storage medium for storing programs executed by the CPU 101 is not limited to the CD-ROM 109; other media such as optical discs (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC cards, optical cards, mask ROMs, and semiconductor memory such as EPROM (Erasable Programmable ROM) may also be used. Furthermore, the CPU 101 may download programs from a computer connected to the network and store them in the storage device 104, or a computer connected to the network may write programs to the storage device 104, and the programs stored in the storage device 104 may be loaded into the RAM 102 and executed by the CPU 101. The term "program" here includes not only programs that can be directly executed by the CPU 101, but also source programs, compressed programs, encrypted programs, etc.

[0033] The operation unit 105 is an input device such as a keyboard, mouse, or touch panel. The user can give predetermined instructions to the information processing device 100 by operating the operation unit 105. The display device 106 is a display device such as a liquid crystal display device, and displays a screen for receiving instructions from the user. The CPU 101 controls the operation unit 105 and the display device 106 to provide the user with a GUI (Graphical User Interface). 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.

[0034] Figure 4 shows an example of the functions of the CPU of the information processing device. The functions of the information processing device 100 are realized by the CPU 101 of the information processing device 100, which executes a processing condition determination program stored in the RAM 102, storage device 104, or CD-ROM 109. Referring to 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.

[0035] The prediction algorithm acquisition unit 110 controls the input / output interface 107 and receives the prediction algorithm transmitted from the prediction algorithm generation device 200. The prediction algorithm acquisition unit 110 outputs the prediction algorithm to the processing condition determination unit 120.

[0036] The processing condition determination unit 120 receives the prediction algorithm from the prediction algorithm acquisition unit 110. The processing condition determination unit 120 uses the prediction algorithm to generate candidate processing conditions to be given to the substrate processing apparatus 300. The processing condition determination unit 120 outputs the generated candidate processing conditions to the processing condition transmission unit 130.

[0037] The processing condition transmission unit 130 transmits 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.

[0038] Figure 5 shows an example of the detailed functions of the processing condition determination unit. Referring 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 search unit 59, a second search 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.

[0039] The processing condition generation unit 51 generates provisional processing conditions and outputs these provisional processing conditions to the prediction unit 53 and the data set generation unit 57. The provisional processing conditions are the processing conditions to be given 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 gear shift points N among the change conditions included in the processing conditions. In this embodiment, the second parameter is the processing conditions excluding the first parameter, and is a set of variable conditions: gear shift point position P, travel speed V, and stop time T, and a fixed condition R. The first parameter setting unit 81 sets the first parameter, and the second parameter setting unit 83 sets the second parameter.

[0040] The prediction unit 53 receives provisional processing conditions from the processing condition generation unit 51 and a prediction algorithm from the prediction algorithm acquisition unit 110. The prediction unit 53 provides the provisional processing conditions to the prediction algorithm and allows the prediction algorithm to estimate the processing result. The prediction unit 53 outputs the processing result estimated by the prediction algorithm as the prediction processing result to the prediction processing result acquisition unit 55.

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

[0042] The dataset generation unit 57 receives processing conditions from the processing condition generation unit 51 and prediction processing results from the prediction processing result acquisition unit 55. The dataset generation unit 57 generates a first dataset containing the processing conditions and prediction processing results. The prediction processing results included in the first dataset are the processing results estimated by the prediction algorithm according to the processing conditions included in the first dataset. As the first dataset is generated, the dataset generation unit 57 outputs the generated first dataset to the first search unit 59 and the second search unit 61.

[0043] The first search unit 59 searches for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of the first dataset input from the dataset generation unit 57. The first search unit 59 outputs the optimal value of the first parameter determined by the search to the first parameter setting unit 81. The first optimization algorithm is Bayesian optimization by Gaussian process regression (hereinafter referred to as "GP-BO"). The first optimization algorithm may be an optimization algorithm different from GP-BO. For example, the first optimization algorithm may be Bayesian optimization by MOTPE (Multiobjective Tree-structured Parzen Estimator), TPE (Tree-structured Parzen Estimator), or Extra-Trees (hereinafter referred to as "ET-BO").

[0044] The second search unit 61 searches for the optimal value of the second parameter using a second optimization algorithm based on multiple sets of the first dataset input from the dataset generation unit 57. The second search unit 61 outputs the optimal value of the second parameter determined by the search to the second parameter setting unit 83. The second optimization algorithm is TPE. Note that the second optimization algorithm may be an optimization algorithm different from TPE. For example, the second optimization algorithm may be MOTPE, ET-BO, or GP-BO. The first optimization algorithm and the second optimization algorithm may be the same.

[0045] The first search unit 59 does not search for the optimal value of the first parameter until the second search unit 61 has searched for the second parameter a predetermined number of times. Therefore, while the first search unit 59 is not searching for the first parameter, the processing condition generation unit 51 determines a predetermined number of processing conditions in which the first parameter is the same and the second parameter is different.

[0046] The second search unit 61 searches for a new optimal value for the second parameter based on multiple sets of first datasets, which include processing conditions generated by the processing condition generation unit 51 after a new first parameter has been set. When the number of times the second search unit 61 has searched for the optimal value for the second parameter reaches a predetermined number, the first search unit 59 searches for the optimal value for the first parameter based on multiple sets of first datasets, which include all processing conditions generated by the processing condition generation unit 51 up to that point.

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

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

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

[0050]

number

[0051] However, ymax represents the maximum amount of film thickness processed, ymin represents the minimum amount of film thickness processed, and ybar represents the average amount of film thickness processed. The processing amount is the difference in film thickness before and after the coating process is performed.

[0052] The first evaluation value f1(x) is a function that evaluates the degree of agreement between the prediction processing result and the target value; a larger value indicates a larger error from the target value. Therefore, the first evaluation value is an index for evaluating the processing conditions included in the representative dataset. The first evaluation value determination unit 67 outputs pairs of processing conditions included in the representative dataset and the first evaluation value to the candidate determination unit 71.

[0053] The second evaluation value determination unit 69 calculates the second evaluation value. The second evaluation value is a function that evaluates robustness; the larger the value, the lower the robustness.

[0054] The second evaluation value determination unit 69 extracts a predetermined number of first datasets classified into clusters, generates new processing conditions for each of the predetermined number of first datasets by varying the processing conditions within the range of error, and calculates a first evaluation value from the predicted processing results obtained by providing the generated processing conditions to the prediction algorithm. The second evaluation value is determined by statistically processing the first evaluation values ​​calculated for each of the multiple processing conditions into which errors have been added. For example, the second evaluation value can be the range of multiple first evaluation values. Here, the second evaluation value is calculated using the following equation (2). f2(x)=f1_max(x)-f1_min(x) …(2)

[0055] Note that f1_max(x) represents the maximum value among multiple f1(x) values, and f1_min(x) represents the minimum value.

[0056] Furthermore, the second evaluation value f2(x) is calculated for each of the multiple first datasets. Clusters with smaller second evaluation values ​​f2(x) indicate a larger range of acceptable processing conditions, while clusters with larger f2(x) indicate a smaller range of acceptable processing conditions.

[0057] The candidate determination unit 71 receives a pair of representative datasets and first evaluation values ​​from the first evaluation value determination unit 67, and second evaluation values ​​for each of the multiple first datasets from the second evaluation value determination unit 69. The candidate determination unit 71 evaluates the representative datasets using the first and second evaluation values ​​and determines a candidate dataset from among the multiple representative datasets. For the representative datasets, a third evaluation value is calculated from the first and second evaluation values. The third evaluation value is calculated by assigning predetermined weights to the first and second evaluation values. Here, the third evaluation value is calculated using the utility function shown in the following equation (3). u(x)=w1×f1(x)+w2×f2(x) …(3)

[0058] To improve the robustness of the process that determines the processing conditions, a third evaluation value u(x) is used, which is obtained by adding the second evaluation value f2(x) to the first evaluation value f1(x).

[0059] Furthermore, by adjusting the weight coefficients w1 and w2, a balance is determined between prioritizing the degree of agreement with the target value or prioritizing robustness. Appropriate processing conditions can be extracted by selecting the processing conditions for the dataset that contains the prediction processing result with the smallest third evaluation value u(x).

[0060] (3) Processing condition determination process In this embodiment, the processing conditions include variable conditions and fixed conditions. The variable conditions include, as condition elements, the number of gear shift points N, the gear shift point position P, the moving speed V, and the stopping time T. The range of the variable conditions is limited because there are performance limitations to the nozzle moving mechanism 301 provided by the substrate processing apparatus 300. Here, we will explain using the case where the lower limit of the number of gear shift points N is 3 and the upper limit is 20 as an example.

[0061] In this embodiment, the process for determining the processing conditions begins with defining initial conditions. The initial conditions include an initial number Nini, which indicates the number of gear shift points N set as the initial value; gear shift points N(i), which is the number of gear shift points Nini; and an upper limit Nmax, which is determined in the processing condition determination process. The initial conditions are set by the user. Nini is a positive integer. The upper limit Nmax is an integer greater than Nini. Gear shift points N(i) represent an array of gear shift points N, where the variable i is an integer between 1 and Nmax. With these initial conditions, the number of searches for gear shift points N is Nmax - Nini. In the following explanation, we will use the case where Nini is 3 and Nmax is 5 as an example. In this case, the search for gear shift points N is performed twice. In this case, for each of gear shift points N(1), N(2), and N(3), the search for other condition elements of the variable conditions and the fixed conditions is performed. Here, we will explain using the example where the initial values ​​for the number of gear shifts N(1)=3, N(2)=7, and N(3)=11.

[0062] Figure 6 is a flowchart showing 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 when the CPU 101 executes a processing condition determination program stored in the RAM 102, storage device 104, or CD-ROM 109.

[0063] Referring to Figure 6, the CPU 101 of the information processing device 100 acquires a prediction algorithm (step S01) and proceeds to step S02. The CPU 101 controls the input / output interface 107 and receives a prediction algorithm from the prediction algorithm generation device 200. In step S02, the variable i is set to an initial value of 1, and the process proceeds to step S03. The variable i is a value that identifies the number of gear shift points N(i) to be processed.

[0064] In step S03, the gear shift point number N(i) is selected as the processing target, and the process proceeds to step S04. In step S04, the variable j is set to 1, and the process proceeds to step S05. The variable j is a value that identifies the dataset group G(i,j) which represents the set of datasets D with an extraction number K determined in step S07, which will be described later. The extraction number K is set to 50 here.

[0065] In step S05, the initial condition search process is executed, and the process proceeds to step S06. The details of the initial condition search process will be described later, but it is a process that determines the initial value in the process of searching for provisional processing conditions for the number of gear shift points N(i). When the initial condition search process is executed, a dataset Dini containing the provisional processing conditions that will be the initial value is determined. The dataset Dini contains the provisional processing conditions and the prediction processing results.

[0066] In step S06, the processing condition search process is executed, and the process proceeds to step S07. The details of the processing condition search process will be described later, but it is a process that searches for the gear shift point position P, movement speed V, stop time T, and fixed condition R for the gear shift point number N(i), with the provisional processing conditions included in the dataset Dini set as initial values. When the processing condition search process is executed, the same number of datasets D as the second upper limit M2 of the number of searches are generated.

[0067] In step S07, the dataset group G(i,j) is determined, and the process proceeds to step S08. From the dataset D, which is the same number as the second upper limit M2 of the number of searches generated in step S06, provisional processing conditions are extracted with a sample size of K from the top based on the first evaluation value f1(x) of the prediction processing results, and the set of K extracted datasets D is assigned to dataset group G(i,j). The first evaluation value f1(x) is calculated using the above formula (1). Here, we will explain using the case where K=50 as an example. Therefore, dataset group G(i,j) is a set of 50 datasets D. This indicates that dataset group G(i,j) is a set of datasets D generated in the j-th search process of the gear shift point N(i).

[0068] In step S08, the variable j is incremented, and the process proceeds to step S09. In step S09, it is determined whether the variable j is greater than the number of repetitions J. If the variable j is greater than the number of repetitions J, the process proceeds to step S10; otherwise, the process returns to step S05. The number of repetitions J is a predetermined value and is stored in the memory device 104. Therefore, the processes in steps S05 to S07 are executed for the number of repetitions J. Here, we will explain using the case where J=5 as an example. As a result, five dataset groups G(i,1) to G(i,5) are generated for one gear shift point (i).

[0069] In step S10, the dataset group G(i) for the gear shift point (i) is determined, and the process proceeds to step S11. The dataset group G(i) for the gear shift point (i) is a set of J dataset groups G(i,1) to G(i,J). Each of the J dataset groups G(i,1) to G(i,J) contains 50 datasets, so the dataset group G(i) for the gear shift point (i) contains 250 datasets.

[0070] In step S11, the variable i is incremented, and the process proceeds to step S12. In step S12, it is determined whether the variable i is greater than the initial number Nini. If the variable i is greater than the initial number Nini, the process proceeds to step S13; otherwise, the process returns to step S02. Since the number of gear shift points N(i) is set to the initial number Nini, the processes in steps S03 to S10 are executed for the gear shift point N(i) set as the initial value.

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

[0072] In step S14, the gear shift point N(i) is searched using GP-BO, and the process returns to step S03. At the stage when the process proceeds to step S14, dataset groups G(1) to G(i-1) have been generated for each of the gear shift points N(1) to N(i-1). In step S14, the CPU 101 uses the multiple datasets D contained in each of these dataset groups G(1) to G(i-1) to search for the optimal value of the gear shift point using the GP-BO optimization algorithm, and determines the optimal value obtained through the search as the gear shift point N(i).

[0073] In step S15, the candidate processing condition determination process is executed, and the process ends. Details of the candidate processing condition determination process will be described later.

[0074] Figure 7 is a flowchart illustrating an example of the initial condition search process. The initial condition search process is executed in step S05 of the processing condition determination process. Referring to 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 is a value that indicates the number of times the search is repeated.

[0075] In step S22, initial values ​​are set for the stop time T, the gear shift point position P, and the moving speed V, and the process proceeds to step S23. The initial values ​​for the stop time T, the gear shift point position P, and the moving speed V are pre-stored in the storage device 104. Here, the initial value for the stop time T is set to 0, the initial value for the gear shift point position P is set to be set at equal intervals, and the initial value for the moving speed V is set to be set to a random value. The path that the surface nozzle 311 moves along with respect to the substrate W is predetermined. The gear shift point position P is determined by dividing the path that the surface nozzle 311 moves along into equal gear shift points N(i).

[0076] In step S23, an arbitrary value is set for the fixed condition R(1), and the process proceeds to step S24. The fixed condition is a combination of the temperature of the processing solution R1, the rotation speed of the substrate W per unit time R2, and the flow rate of the processing solution R3. Here, the fixed condition is shown as array R(m), and the fixed condition R(m) represents one of the combinations of the temperature of the processing solution R1, the rotation speed of the substrate W per unit time R2, and the flow rate of the processing solution R3.

[0077] In step S24, the CPU 101 has the prediction algorithm make a prediction and proceeds to step S25. The CPU 101 provides the prediction algorithm with provisional processing conditions and has it predict the processing result. For variable conditions, the provisional processing conditions include setting the number of gear shift points N(i), and setting the initial values ​​set in step S22 for the stopping time T, gear shift point position P, and moving speed V. For fixed conditions, if the process proceeds from step S23, the fixed condition R(1), which was set to an arbitrary value in step S23, is set, and if the process proceeds from step S29, the fixed condition R(m), which will be described later in step S29, is set.

[0078] In step S25, the processing result predicted by the prediction algorithm is obtained as the prediction 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).

[0079] 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 M1 of the number of searches. If the variable m is greater than the first upper limit M1, the process proceeds to step S30; otherwise, the process proceeds to step S29. The first upper limit M1 is a predetermined value that is the upper limit of the number of times the fixed condition R, which is the initial condition, is searched in the initial condition search process. The first upper limit M1 is stored in the storage device 104 beforehand. Alternatively, the first upper limit M1 may be obtained by inputting it using the operation unit 105.

[0080] In step S29, the fixed condition R(m) is searched using TPE, and the process returns to step S24. By the time the process proceeds to step S29, the prediction processing results have been obtained in step S25, and one or more datasets D containing the provisional processing conditions and the prediction processing results have been generated. In step S29, the CPU 101 uses all of the datasets D generated during the initial condition search process to search for the optimal value of the fixed condition using the TPE optimization algorithm, and determines the optimal value obtained through the search as the fixed condition R(m).

[0081] In step S30, the dataset D containing the prediction processing result that minimizes the first evaluation value f1(x) is determined to be dataset Dini, and the process returns to the processing condition determination process.

[0082] Figure 8 is a flowchart illustrating an example of the processing condition search process. The processing condition search process is executed in step S06 of the processing condition determination process. Referring to 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 is a value that indicates the number of times the search is repeated.

[0083] In step S32, the initial conditions are set for the provisional processing conditions, and the process proceeds to step S33. The initial conditions are the provisional processing conditions included in the dataset Dini determined in the initial condition determination process shown in Figure 7. In step S33, the CPU 101 has the prediction algorithm make a prediction, and the process proceeds to step S34. The CPU 101 provides the provisional processing conditions to the prediction algorithm and has it predict the processing result. If the process proceeds from step S32, the provisional processing conditions included in the dataset Dini are set. If the process proceeds from step S38, the processing conditions are set to the number of gear shift points N(i), the gear shift point position P(m), the travel speed V(m), the stop time T(m), and the fixed condition R(m), which are determined in step S38 described later.

[0084] In step S34, the processing result predicted by the prediction algorithm is obtained as the prediction 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).

[0085] 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 M2 of the number of searches. If the variable m is greater than the second upper limit M2, the process returns to the processing condition determination process; otherwise, the process proceeds to step S38. The second upper limit M2 is a predetermined value that is the upper limit of the number of times a provisional processing condition is searched in the processing condition search process. The second upper limit M2 is stored in the storage device 104 beforehand. Alternatively, the second upper limit M2 may be obtained by inputting it using the operation unit 105. The second upper limit M2 indicates the number of provisional processing conditions determined by search from one initial condition for the number of gear shift points N(i). Here, the second upper limit M2 is set to 450.

[0086] In step S38, the gear shift point position (P), travel speed V (m), stop time T (m), and fixed condition R (m) are searched using TPE, and the process returns to step S33. By the time the process proceeds to step S38, the prediction processing results have been obtained in step S34, and at least one dataset D containing the provisional processing conditions and the prediction processing results has been generated. In step S38, the CPU 101 uses all of the dataset D generated during the processing condition search process to search for the optimal values ​​for the gear shift point position, travel speed, stop time, and fixed condition using the TPE optimization algorithm, and determines the optimal values ​​obtained through the search for the gear shift point position (P), travel speed V (m), stop time T (m), and fixed condition R (m), respectively. In this way, the processing condition search process generates dataset D for the number of gear shift points N(i) equal to the number of second upper limit values ​​M2.

[0087] Referring again to Figure 6, in step S06, when the processing condition search process is completed, the same number of datasets D as the second upper limit M2 are generated. Then, from the datasets D numbered by the second upper limit M2, datasets D with the highest first evaluation value f1(x) and an extraction number of K (=50) are extracted, and the extracted set of datasets D is assigned to dataset group G(i,j). Here, we will explain using the case where K=50 as an example. Steps S05 to S07 are repeated J (=5) times, so the dataset group G(i) generated for one shift point N(i) contains 250 datasets D. Also, since the upper limit Nmax of the shift point N(i) is set to 5, 5 dataset groups G(1) to G(Nmax) are generated, and a total of 1250 datasets are generated.

[0088] Figure 9 is a flowchart showing an example of the flow of the candidate processing condition determination process. The candidate processing condition determination process is executed in step S15 of the processing condition determination process. Referring to 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 a value that identifies the gear shift point (i). In other words, the variable i is a value that identifies the dataset group G(i).

[0089] In step S42, the dataset group G(i) is selected as the target for processing, 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 included in dataset group G(i) are clustered according to provisional processing conditions, and L clusters are generated. Here, we will explain using the case where L=5 as an example.

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

[0091] In step S45, the variable i is incremented, and the process proceeds to step S46. In step S46, the variable i is compared with the upper limit Nmax (=5). If the variable i is greater than the upper limit Nmax, the process proceeds to step S47; otherwise, the process returns to step S42. Thus, steps S43 and S44 are performed for each of the dataset groups G(1) to data group (Nmax). As a result, 25 clusters are generated, and 25 representative datasets are determined.

[0092] In step S47, the top 10 clusters with the highest first evaluation value f1(x) of the representative dataset are selected from the 25 clusters and the process proceeds to step S48. In step S48, the second evaluation value f2(x) is calculated and the process proceeds to step S49. The second evaluation value is calculated for each dataset. P datasets D are randomly selected from the multiple datasets D included in the cluster. Here, we will explain using the case where P=20 as an example. First, the CPU 101 changes the provisional processing conditions included in the P datasets D to values ​​with a random error added to the provisional processing conditions within a predetermined range of processing condition variability, and has the prediction algorithm predict the processing results with the processing conditions with the error added. Then, it calculates the first evaluation value for the processing results (predicted processing results) predicted by the prediction algorithm. By repeating this process Q times, Q first evaluation values ​​are calculated for one dataset D. CPU101 calculates a total of P × Q first evaluation values ​​f1(x) by performing the process of calculating Q first evaluation values ​​for each of the P (=20) datasets D. Then, CPU101 determines the second evaluation value using the above equation (2).

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

[0094] In step S50, provisional processing conditions are extracted from each of the 10 representative clusters, and the process returns to the processing condition determination process. From each representative cluster, a dataset D containing the prediction processing result with the smallest third evaluation value is extracted, and the provisional processing conditions included in that dataset D are determined as candidates.

[0095] (4) Effects of the embodiment According to the information processing device 100 of the above embodiment, in the process of searching for the optimal value of the second parameter, the first parameter is fixed to the same value, so the process of searching for the optimal value of the second parameter is simplified and the load is reduced compared to the case where the optimal value of the first parameter is searched together with the optimal value of the second parameter. Also, since the optimal value of the first parameter is searched in accordance with the search of a predetermined number of second parameters, the process of searching for the optimal value is simplified compared to the case where the optimal value of the second parameter is searched together with the optimal value of the first parameter. Therefore, it is possible to provide an information processing device 100 that reduces the load of the process of searching for the optimal value of processing conditions consisting of multiple parameters.

[0096] Furthermore, since the processing conditions include variable conditions determined by the combination of the first and second parameters, it is possible to easily search for the optimal value of complex variable conditions that change over time.

[0097] Furthermore, the travel speed is a value determined at the gear shift point, and the gear shift point can be determined as many times as there are gear shift points. Since the first parameter is the number of gear shift points, the optimal values ​​for the gear shift point position and travel speed are searched while the number of gear shift points is fixed. Therefore, the optimal values ​​for the variable conditions can be easily searched.

[0098] Furthermore, since candidate processing conditions to be set in the substrate processing apparatus are determined from multiple clusters obtained by clustering multiple datasets D with provisional processing conditions, multiple candidate processing conditions are determined evenly from the distribution of multiple provisional processing conditions. Therefore, the bias among the multiple candidate processing conditions can be reduced, and multiple different candidate processing conditions can be determined efficiently.

[0099] (5) Other embodiments In the above embodiment, the first evaluation value f1(x) may be expressed by the following equation (4) instead of the above equation (1).

[0100]

number

[0101] However, m is the number of measurement points, y is the amount of film thickness processed, the y bar is the average value of the film thickness processed, the subscript t is the target value, and the subscript s is the predicted processing result. In other words, yti indicates the amount of film thickness processed at the measurement point at the target value, and ysi indicates the amount of film thickness processed at the measurement point shown in the predicted processing result. The first evaluation value f1(x) calculated by equation (4) can evaluate the distribution of the film thickness processed.

[0102] (6) Summary of the Embodiments (Section 1) An information processing device according to one aspect of the present invention is: An information processing device for managing a substrate processing device, The algorithm acquisition unit acquires a prediction algorithm that predicts the processing result of a process executed by the substrate processing apparatus according to the processing conditions from the processing conditions, The processing conditions include a first parameter and a second parameter, A processing condition generation unit that generates provisional processing conditions, An acquisition unit that acquires the predicted processing result predicted by the prediction algorithm from the provisional processing conditions generated by the processing condition generation unit, A first search unit searches for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of a first dataset including the provisional processing conditions and the prediction processing results. The system comprises a second search unit that searches for the optimal value of the second parameter using a second optimization algorithm based on multiple sets of the first dataset, The first search unit searches for the optimal value of the first parameter in response to the second search unit searching for a predetermined number of optimal values ​​of the second parameter. The processing condition generation unit generates a new provisional processing condition that includes the optimal value of the first parameter found by the first search unit when the optimal value of the first parameter is found by the first search unit, and generates a new provisional processing condition that includes the optimal value of the second parameter found by the second search unit without changing the first parameter of the provisional processing condition when the optimal value of the second parameter is found by the second search unit.

[0103] Following this approach, in the process of searching for the optimal value of the second parameter, the first parameter is fixed to the same value. This simplifies the process of searching for the optimal value of the second parameter compared to searching for the optimal value of the first parameter together with the optimal value of the second parameter, thus reducing the load. Furthermore, since the optimal value of the first parameter is searched in accordance with the search for a predetermined number of optimal values ​​of the second parameter, the process of searching for the optimal value is simplified compared to searching for the optimal value of the second parameter together with the optimal value of the first parameter. Consequently, the load of the process of searching for the optimal value from among multiple processing conditions consisting of multiple parameters can be reduced. As a result, it is possible to provide an information processing device that can efficiently determine the processing conditions to be applied to the substrate processing device.

[0104] (Paragraph 2) In the information processing device described in Paragraph 1, The aforementioned processing conditions include variable conditions that change over time. The aforementioned variation conditions may be conditions determined by a combination of the first parameter and the second parameter.

[0105] In this scenario, the processing conditions include variable conditions determined by the combination of the first and second parameters, making it easy to find the optimal value for complex variable conditions that change over time.

[0106] (3) In the information processing device described in paragraph 2, The process includes coating treatment, which involves supplying a processing liquid to the upper surface of a substrate on which a coating has been formed. The processing result includes the difference in film thickness before and after the processing of the coating at each of several different locations in the radial direction of the substrate. The aforementioned fluctuation condition is a condition in which the supply position from which the processing liquid is supplied to the upper surface of the substrate fluctuates radially over time. The aforementioned fluctuation conditions are determined by at least the shift point position indicating the position at which the radial movement speed of the supply position fluctuates, the movement speed at the shift point position, and the number of shift points indicating the number of shift point positions. The first parameter may be the number of gear shifts.

[0107] In this scenario, the speed of movement is determined at the gear shift point, and the gear shift point can be determined as many times as there are gear shift points. Since the first parameter is the number of gear shift points, the optimal values ​​for the gear shift point position and speed of movement are searched while the number of gear shift points is fixed. Therefore, the optimal values ​​for the variable conditions can be easily searched.

[0108] (Article 4) In the information processing device described in paragraphs 1 to 3, The first optimization algorithm and the second optimization algorithm may each be one of the following: a Tree-structured Parzen Estimator, Bayesian optimization using Extra-Trees, or Bayesian optimization using Gaussian process regression.

[0109] (Article 5) In the information processing device described in paragraphs 1 to 4, A cluster analysis unit that clusters multiple sets of the first datasets using the provisional processing conditions included in the first dataset, The system may further include a candidate determination unit that determines candidate processing conditions to be set in the substrate processing apparatus based on a first evaluation value calculated based on the prediction processing results, from among multiple sets of first datasets classified into each of the multiple clusters generated by the cluster analysis unit.

[0110] Following this approach, candidate processing conditions for the substrate processing device are determined from multiple clusters, and multiple candidate processing conditions are determined evenly from the distribution of multiple provisional processing conditions. This reduces bias among the multiple candidate processing conditions and allows for the efficient determination of multiple different candidate processing conditions.

[0111] (Paragraph 6) In the information processing device described in Paragraph 5, The process includes coating treatment, which involves supplying a processing liquid to the upper surface of a substrate on which a coating has been formed. The processing result includes the difference in film thickness before and after the processing of the coating at each of several different locations in the radial direction of the substrate. The first evaluation value may be a value that represents either the range of the difference in film thickness or the distribution of the difference in film thickness.

[0112] Following this process, processing conditions that result in a small range of film thickness differences, or processing conditions that result in a small distribution of film thickness differences, can be selected as candidate conditions.

[0113] (Paragraph 7) In the information processing device described in Paragraph 5 or Paragraph 6, The system further includes a robust value determination unit that determines a second evaluation value based on the prediction processing result predicted by the prediction algorithm from the processing conditions obtained by adding an error to the processing conditions included in the first dataset, The candidate determination unit may determine candidate processing conditions to be set in the substrate processing apparatus based on the second evaluation value in addition to the first evaluation value.

[0114] In this scenario, the candidate processing conditions are determined based on a second evaluation value in addition to the first evaluation value. The second evaluation value is calculated based on the predicted processing result inferred from processing conditions with an error added to them. Therefore, processing conditions that are robust against random factors such as noise can be selected as candidates.

[0115] (Paragraph 8) In the information processing device described in Paragraph 7, The robust value determination unit may determine the second evaluation value for each of the multiple clusters based on each of a plurality of random sets arbitrarily selected from the plurality of sets of first datasets classified into the cluster.

[0116] In this scenario, the second evaluation value is determined based on each of several random sets selected from the multiple sets of first datasets classified into clusters. Therefore, the second evaluation value is reflected in addition to the first evaluation value, which represents the characteristics of the first dataset, making it possible to calculate a second evaluation value that is appropriate for the first evaluation value.

[0117] (Paragraph 9) In the information processing device described in Paragraphs 1 to 8, The prediction algorithm may be generated based on a second dataset which includes the processing conditions for the process performed by the substrate processing apparatus and the processing results of the process.

[0118] Following this approach, a prediction algorithm is generated from the processing results actually performed by the substrate processing device and the processing conditions used to perform that processing, thus enabling the generation of a prediction algorithm that mimics the substrate processing device.

[0119] (Paragraph 10) In the information processing device described in Paragraph 9, The prediction algorithm is a regression equation that uses a variable used in at least one of the processing conditions as an explanatory variable and calculates an estimated value of the processing result using a plurality of algorithm parameters. Multiple parameters for the algorithm may be obtained by applying the second dataset to the regression equation and performing a regression.

[0120] In this context, the prediction algorithm is a regression equation that uses a variable used in at least one of the processing conditions as an explanatory variable and estimates the processing result using multiple parameters. Therefore, since the prediction algorithm infers the processing result based on a mathematical formula, the user can clearly understand the algorithm of the prediction process and easily interpret the relationship between the processing conditions and the processing result predicted from them.

[0121] (Paragraph 11) In the information processing device described in Paragraph 9, The prediction algorithm may be a pre-trained model that has been machine-trained on the second dataset.

[0122] In this scenario, the prediction algorithm is a pre-trained model that has been machine-trained on the second dataset. Therefore, generating the prediction algorithm is easy.

[0123] (Section 12) A substrate processing apparatus according to another aspect of the present invention is: The system is equipped with an information processing device as described in any one of paragraphs 1 through 11.

[0124] Following this approach, it is possible to provide a substrate processing apparatus that reduces the processing load required to search for the optimal values ​​of processing conditions consisting of multiple parameters.

[0125] (Section 13) A method for determining processing conditions according to another aspect of the present invention is: A method for determining processing conditions, which is executed by an information processing device that manages a substrate processing device, A prediction algorithm acquisition step, which involves acquiring a prediction algorithm that predicts the processing result of a process performed by the substrate processing apparatus according to processing conditions from the processing conditions, The processing conditions include a first parameter and a second parameter, A processing condition generation step that generates provisional processing conditions, A prediction processing result acquisition step, which acquires the prediction processing result predicted by the prediction algorithm from the provisional processing conditions generated in the processing condition generation step, A first search step involves searching for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of a first dataset including the provisional processing conditions and the prediction processing results. The process includes a second search step of searching for the optimal value of the second parameter based on multiple sets of the first dataset using a second optimization algorithm, The first search step includes searching for the optimal value of the first parameter in response to a predetermined number of optimal values ​​of the second parameter being searched in the second search step. The processing condition generation step generates new provisional processing conditions that include the optimal value of the first parameter found in the first search step, in response to the search for the optimal value of the first parameter in the first search step. In response to the search for the optimal value of the second parameter in the second search step, the method includes generating a new provisional processing condition that includes the optimal value of the second parameter found in the second search step, without changing the first parameter of the provisional processing condition.

[0126] Following this approach reduces the processing load required to search for the optimal value among multiple processing conditions consisting of multiple parameters. As a result, it becomes possible to provide a processing condition determination method that enables efficient determination of processing conditions to be applied to a substrate processing apparatus. [Explanation of Symbols]

[0127] 1…Substrate processing system, 10…Control device, 51…Processing condition generation unit, 53…Prediction unit, 55…Prediction processing result acquisition unit, 57…Data set generation unit, 59…First search unit, 61…Second search unit, 63…Cluster analysis unit, 65…Representative data set extraction unit, 67…First evaluation value determination unit, 69…Second evaluation value determination unit, 71…Candidate determination unit, 81…First parameter setting unit, 83…Second parameter setting unit, 100…Information processing device, 110…Prediction algorithm acquisition unit, 120…Processing condition determination unit, 130…Processing condition transmission unit, 200…Prediction algorithm generation device, 300…Substrate processing device, 301…Nozzle movement mechanism, 303…Nozzle motor, 305…Nozzle arm, 306…Chuck pin, 311…Surface nozzle, 312…Backside nozzle, SB…Spin base, SC…Spin chuck, SM…Spin motor, W…Substrate, WU…Substrate processing unit

Claims

1. An information processing device for managing a substrate processing device, A prediction algorithm acquisition unit acquires a prediction algorithm that predicts the processing result of a process executed by the substrate processing apparatus according to the processing conditions from the processing conditions, The processing conditions include a first parameter and a second parameter, A processing condition generation unit that generates provisional processing conditions, A prediction processing result acquisition unit acquires prediction processing results predicted by the prediction algorithm from the provisional processing conditions generated by the processing condition generation unit, A first search unit searches for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of a first dataset including the provisional processing conditions and the prediction processing results. The system comprises a second search unit that searches for the optimal value of the second parameter based on multiple sets of the first dataset using a second optimization algorithm, The first search unit searches for the optimal value of the first parameter in response to the second search unit searching for a predetermined number of optimal values ​​of the second parameter. The processing condition generation unit generates a new provisional processing condition including the optimal value of the first parameter found by the first search unit in response to the first search unit finding the optimal value of the first parameter, and generates a new provisional processing condition including the optimal value of the second parameter found by the second search unit in response to the second search unit finding the optimal value of the second parameter, without changing the first parameter of the provisional processing condition.

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

3. The process includes coating treatment, which involves supplying a processing liquid to the upper surface of a substrate on which a coating has been formed. The processing result includes the difference in film thickness before and after the processing of the coating at each of several different locations in the radial direction of the substrate. The aforementioned fluctuation condition is a condition in which the supply position from which the processing liquid is supplied to the upper surface of the substrate fluctuates radially over time. The aforementioned fluctuation conditions are determined by at least the shift point position indicating the position at which the radial movement speed of the supply position fluctuates, the movement speed at the shift point position, and the number of shift points indicating the number of shift point positions. The information processing apparatus according to claim 2, wherein the first parameter is the number of gear shifts.

4. The information processing apparatus according to claim 1, wherein the first optimization algorithm and the second optimization algorithm are each one of the following: a Tree-structured Parzen Estimator, Bayesian optimization using Extra-Trees, and Bayesian optimization using Gaussian process regression.

5. A cluster analysis unit that clusters multiple sets of the first datasets using the provisional processing conditions included in the first dataset, The information processing apparatus according to claim 1, further comprising: a candidate determination unit that determines candidate processing conditions to be set in the substrate processing apparatus based on a first evaluation value calculated based on the prediction processing result, from among multiple sets of first datasets classified into each of the multiple clusters generated by the cluster analysis unit.

6. The process includes coating treatment, which involves supplying a processing liquid to the upper surface of a substrate on which a coating has been formed. The processing result includes the difference in film thickness before and after the processing of the coating at each of several different locations in the radial direction of the substrate. The information processing apparatus according to claim 5, wherein the first evaluation value is a value that indicates either the range of the difference in film thickness or the distribution of the difference in film thickness.

7. The system further includes a robust value determination unit that determines a second evaluation value based on the prediction processing result predicted by the prediction algorithm from the processing conditions obtained by adding an error to the processing conditions included in the first dataset, The information processing apparatus according to claim 5, wherein the candidate determination unit determines candidate processing conditions to be set in the substrate processing apparatus based on the second evaluation value in addition to the first evaluation value.

8. The information processing apparatus according to claim 7, wherein the robust value determination unit determines the second evaluation value for each of the plurality of clusters based on each of a plurality of random sets arbitrarily selected from a plurality of sets of first datasets classified into the cluster.

9. The information processing apparatus according to claim 1, wherein the prediction algorithm is generated based on a second data set including processing conditions for a process performed by the substrate processing apparatus and the processing results of the process.

10. The prediction algorithm is a regression equation that uses a variable used in at least one of the processing conditions as an explanatory variable and calculates an estimated value of the processing result using a plurality of algorithm parameters. The information processing apparatus according to claim 9, wherein a plurality of parameters for the algorithm can be obtained by providing the second dataset to the regression equation and performing a regression.

11. The information processing apparatus according to claim 9, wherein the prediction algorithm is a trained model that has been machine-trained on the second dataset.

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

13. A method for determining processing conditions, which is executed by an information processing device that manages a substrate processing device, A prediction algorithm acquisition step, which involves acquiring a prediction algorithm that predicts the processing result of a process performed by the substrate processing apparatus according to processing conditions from the processing conditions, The processing conditions include a first parameter and a second parameter, A processing condition generation step that generates provisional processing conditions, A prediction processing result acquisition step, which acquires the prediction processing result predicted by the prediction algorithm from the provisional processing conditions generated in the processing condition generation step, A first search step involves searching for the optimal value of the first parameter using a first optimization algorithm based on multiple sets of a first dataset including the provisional processing conditions and the prediction processing results. The process includes a second search step in which the optimal value of the second parameter is searched for based on multiple sets of the first dataset using a second optimization algorithm, The first search step includes searching for the optimal value of the first parameter in response to a predetermined number of optimal values ​​of the second parameter being searched in the second search step. The processing condition generation step generates new provisional processing conditions that include the optimal value of the first parameter found in the first search step, in response to the search for the optimal value of the first parameter in the first search step. A method for determining processing conditions, comprising generating a new provisional processing condition that includes the optimal value of the second parameter found in the second search step, without changing the first parameter of the provisional processing condition, in response to the search for the optimal value of the second parameter in the second search step.

Citation Information

Patent Citations

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

    JP2015103656A

  • Control parameter adjustment device, control parameter adjustment method, and control parameter adjustment program

    JP2017102619A

  • Calculation device, calculation method and calculation program

    JP2018156614A

  • Search device, search method and plasma processing apparatus

    JP2019159864A

  • Abnormality detection device, abnormality detection method, and abnormality detection program

    JP2022027057A