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

The information processing device uses prediction algorithms and optimization techniques to optimize etching conditions in semiconductor manufacturing, addressing the complexity of etching processes and achieving uniform film thickness and improved throughput.

KR102991770B1Active Publication Date: 2026-07-15SCREEN HOLDINGS CO LTD

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
SCREEN HOLDINGS CO LTD
Filing Date
2023-11-02
Publication Date
2026-07-15

Smart Images

  • Figure R1020257034562_ABST
    Figure R1020257034562_ABST
Patent Text Reader

Abstract

The information processing device is an information processing device that manages a substrate processing device, and comprises a prediction algorithm acquisition unit that acquires a prediction algorithm that predicts the processing result of a processing executed by the substrate processing device according to a processing condition, a processing condition generation unit that generates a temporary 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 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 based on a plurality of sets of a first dataset including a temporary processing condition and a prediction processing result, and a second search unit that searches for an optimal value of the second parameter using a second optimization algorithm based on a plurality of sets of the first dataset.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to an information processing device, a substrate processing device, and a method for determining processing conditions. In particular, it relates to an information processing device that generates processing conditions to be executed in a substrate processing device using a prediction algorithm, a substrate processing device including the information processing device, and a method for determining processing conditions to be executed in the information processing device. Background Technology

[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 treatment in which a chemical solution is supplied to the substrate. In this film thickness adjustment, it is important to perform the etching treatment so that the surface of the substrate becomes uniform, or to flatten the surface of the substrate through the etching treatment. When the etching solution is discharged from a nozzle onto a part of the substrate, it is necessary to move the nozzle in the diametrical direction relative to the substrate.

[0003] Patent Document 1 describes a liquid processing apparatus for etching a substrate by discharging an etching solution onto the substrate from an etching nozzle. Patent Document 1 describes an example in which, in order to uniformly distribute the temperature within the surface of the wafer while performing etching treatment on the central region of the substrate, the etching solution is discharged by repeatedly reciprocating the etching nozzle between a first position on the central side where the discharged etching solution passes through the center of the wafer and a second position on the peripheral edge side of the wafer relative to this central side position. Prior art literature

[0004] Japanese Patent Publication No. 2015-103656 The problem to be solved

[0005] Etching is a complex process in which the throughput of the film being processed varies depending on differences in processing conditions, such as the concentration of the etching solution, temperature, and the rotation speed of the substrate, in addition to the movement of the nozzle. Therefore, it is difficult to set processing conditions suitable for processing the film. means of solving the problem

[0006] (1) An information processing device according to one aspect of the present invention is an information processing device that manages a substrate processing device, and comprises: a prediction algorithm acquisition unit that acquires a prediction algorithm that predicts the processing result of a processing executed by the substrate processing device according to a processing condition; a processing condition generation unit that generates a temporary processing condition, wherein the processing condition includes 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 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 based on a plurality of sets of a first dataset including the temporary processing condition and the prediction processing result; and a second search unit that searches for an optimal value of the second parameter using a second optimization algorithm based on a plurality of sets of the first dataset. The first search unit searches for an optimal value of the first parameter as a predetermined number of optimal values ​​of the second parameter are searched by the second search unit, and the processing condition generation unit searches for an optimal value of the first parameter as the first search unit searches for an optimal value of the first parameter. A new temporary processing condition is created that includes the optimal value of the first parameter found by the search unit, and as the optimal value of the second parameter is found by the second search unit, a new temporary processing condition is created that includes the optimal value of the second parameter found by the second search unit without changing the first parameter of the temporary processing condition.

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

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

[0009] According to the present invention, it is possible to efficiently determine the processing conditions applied to a substrate processing device. Brief explanation of the drawing

[0010] FIG. 1 is a drawing for explaining the configuration of a substrate processing system related to one embodiment of the present invention. Figure 2 is a diagram illustrating the processing results. Figure 3 is a diagram showing an example of the configuration of an information processing device. FIG. 4 is a diagram showing an example of the functions of a CPU equipped with an information processing device. Figure 5 is a diagram showing an example of the detailed function of the processing condition determination unit. Figure 6 is a flowchart showing an example of a processing flow for determining processing conditions. Figure 7 is a flowchart showing an example of an initial condition search processing flow. Figure 8 is a flowchart showing an example of a processing condition search processing flow. Figure 9 is a flowchart showing an example of a candidate processing condition determination processing flow. Specific details for implementing the invention

[0011] Hereinafter, a substrate processing system related to one embodiment of the present invention will be described in detail with reference to the drawings. In the following description, the term "substrate" refers to a semiconductor substrate (semiconductor wafer), a substrate for an FPD (Flat Panel Display) such as a liquid crystal display device or an organic EL (Electro Luminescence) display device, a substrate for an optical disc, a substrate for a magnetic disc, a substrate for an optical magnetic disc, a substrate for a photomask, a ceramic substrate, or a substrate for a solar cell, etc.

[0012] (1) Overall configuration of the substrate processing system

[0013] FIG. 1 is a diagram illustrating the configuration of a substrate processing system related to one embodiment of the present invention. The substrate processing system (1) of FIG. 1 includes an information processing device (100), a prediction algorithm generating device (200), and a substrate processing device (300). The prediction algorithm generating device (200) is, for example, a server, and the information processing device (100) is, for example, a personal computer.

[0014] The prediction algorithm generating device (200) and the information processing device (100) are used to manage the substrate processing device (300). In addition, the substrate processing device (300) managed by the prediction algorithm generating device (200) and the information processing device (100) is not limited to one unit, but may manage multiple substrate processing devices (300).

[0015] In the substrate processing system (1) related to the present embodiment, the information processing device (100), the prediction algorithm generating device (200), and the substrate processing device (300) are connected to each other by a wired or wireless communication line or a communication network. The information processing device (100), the prediction algorithm generating device (200), and the substrate processing device (300) are each connected to a network so that data can be transmitted and received from each other. For example, a local area network (LAN) or a wide area network (WAN) is used as the network. Additionally, the network may be the Internet. Furthermore, the information processing device (100) and the substrate processing device (300) may be connected via a dedicated communication network. The network connection type may be a wired connection or a wireless connection.

[0016] Additionally, the prediction algorithm generating device (200) does not necessarily need to be connected to the substrate processing device (300) and the information processing device (100) via a communication line or a communication network. In this case, data generated by the substrate processing device (300) may be transmitted to the prediction algorithm generating device (200) through a recording medium. Additionally, data generated by the prediction algorithm generating device (200) may be transmitted to the information processing device (100) through a recording medium.

[0017] A substrate processing device (300) is formed with a display device, a voice output device, and an operating unit, which are not shown. The substrate processing device (300) is operated according to a predetermined processing condition (processing recipe) of the substrate processing device (300).

[0018] (2) Overview of the substrate processing device

[0019] A substrate processing device (300) comprises 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 of the film formed on the substrate (W) by supplying a processing solution to the substrate (W) on which the film 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 unit (WU) performs an etching process. The etching solution is a chemical solution. The etching solution is, for example, hydronitrate (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).

[0020] The substrate processing unit (WU) comprises a spin chuck (SC), a spin motor (SM), a nozzle (311), and a nozzle moving mechanism (301). The spin chuck (SC) includes a disc-shaped spin base (SB) maintained in a horizontal position and a plurality of chuck pins (306) capable of maintaining a substrate (W) in a horizontal position above the spin base (SB). Accordingly, the spin chuck (SC) maintains the substrate (W) horizontally. The substrate (W) is held in the spin chuck (SC) such that the center of the substrate (W) coincides with the first rotation axis (AX1) of the spin motor (SM). 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 mounted on 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 around the first rotation axis (AX1). The spin motor (SM) is a stepping motor. The substrate (W) held by the spin chuck (SC) rotates around the first rotation axis (AX1). Thus, the rotational speed of the substrate (W) is the same as the rotational speed of the stepping motor. In addition, if an encoder is formed to generate a rotational speed signal indicating the rotational speed of the spin motor, the rotational speed of the substrate (W) may be obtained from the rotational speed signal generated by the encoder. In this case, the spin motor (SM) may be a motor other than a stepping motor.

[0021] The surface nozzle (311) supplies etching solution to the surface (upper surface) of the substrate (W) held in 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 surface (lower surface) of the substrate (W) held in the spin chuck (SC).

[0022] The nozzle moving mechanism (301) moves the surface nozzle (311) in an approximately horizontal direction. Specifically, the nozzle moving mechanism (301) has 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) follows an approximately vertical direction. The nozzle arm (305) has a length shape that extends in a straight line. One end of the nozzle arm (305) is mounted on the top of the second rotation axis (AX2) so that the length direction of the nozzle arm (305) is different from the direction of the second rotation axis (AX2). The surface nozzle (311) is mounted on the other end of the nozzle arm (305) so that the discharge port of the etching liquid faces downward.

[0023] When the nozzle motor (303) operates, the nozzle arm (305) rotates in a horizontal plane around the second rotation axis (AX2). Accordingly, the surface nozzle (311) mounted on the other end of the nozzle arm (305) moves (rotates) in a horizontal direction around the second rotation axis (AX2). As the surface nozzle (311) moves in a horizontal direction, it discharges an etching solution toward the substrate (W). The nozzle motor (303) is, for example, a stepping motor.

[0024] The control unit (10) includes a CPU (central processing unit) and memory, and controls the entire substrate processing unit (300) by the CPU executing a program stored in memory. The control unit (10) controls the spin motor (SM) and the nozzle motor (303).

[0025] A substrate processing device (300) performs processing of a film by applying an etching solution according to processing conditions. Processing conditions include a variable condition that changes over time and a fixed condition R that does not change over time. The variable condition represents the relative position of the surface nozzle (311) with respect to the substrate (W) at any given time and is determined by a combination of the number of shift points N, the shift point position P, the movement speed V, and the stop time T. The shift point position P is a point (position) at which the speed at which the surface nozzle (311) moves in the radial direction relative to the substrate (W) changes. The number of shift points N is the number of shift point positions P. The movement speed V is the speed at which the surface nozzle (311) moves in the radial direction relative to the substrate (W). The stop time T is the time during which the surface nozzle (311) stops without moving in the radial direction relative to the substrate (W). The movement speed V and the stop time T are determined for each shift point position P. When the substrate processing device (300) performs processing of the film according to processing conditions, the surface nozzle (311) is stopped for a stopping time T at the shift point position P, and after passing the shift point position P, moves at a moving speed V. Thus, the variable condition is a condition in which the supply position where the processing liquid is supplied to the upper surface of the substrate (W) changes in the diametrical direction over time. The fixed condition R includes the temperature R1 of the processing liquid, the rotational speed R2 of the substrate (W) per unit time, and the flow rate R3 of the processing liquid.

[0026] Here, the processing result after the substrate processing device (300) processes the substrate is described. FIG. 2 is a diagram for explaining the processing result. In FIG. 2, the vertical axis represents the film thickness, and the horizontal axis represents the radial position of the substrate. Also, the origin of the horizontal axis represents the center of the substrate. The film thickness of the film formed on the substrate (W) before the film processing is performed by the substrate processing device (300) is indicated by a solid line. The film thickness of the film formed on the substrate (W) is adjusted by the film processing of the etching solution applied according to the processing conditions by the substrate processing device (300). The film thickness of the film formed on the substrate (W) after the film processing is performed by the substrate processing device (300) is indicated by a dotted line. The film thickness of the film at each radial position of the substrate (W) is called the film thickness characteristic.

[0027] The difference between the film thickness of the film formed on the substrate (W) before processing by the substrate processing device (300) and the film thickness of the film formed on the substrate (W) after processing by the substrate processing device (300) is the processing result (etching amount). In other words, the processing result represents the reduced film thickness at each of a plurality of different positions in the diameter direction of the substrate (W) by the processing of the film by the substrate processing device (300).

[0028] For the processing performed by the substrate processing device (300), a target film thickness is determined. The target film thickness is indicated by a dotted line. The deviation characteristic is the difference between the film thickness of the film formed on the substrate (W) after processing by the substrate processing device (300) and the target film thickness. The deviation characteristic includes the difference at each of a plurality of different positions in the diameter direction of the substrate (W).

[0029] Returning to FIG. 1, experimental data is input into the prediction algorithm generating device (200). The experimental data includes the processing conditions used by the substrate processing device (300) when performing the processing of the film on the substrate (W), and the processing results obtained as a result of the substrate processing device (300) performing the processing of the film according to the processing conditions. The experimental data is a second dataset. The experimental data is generated by the substrate processing device (300). The substrate processing device (300) measures the film thickness of the film before and after each of the film processing and generates the experimental data. Alternatively, the experimental data may be generated by the substrate processing device (300) not generating the experimental data, but by a measuring device separate from the substrate processing device (300) measuring the film thickness of the film formed on the substrate (W) before and after each of the processing by the substrate processing device (300).

[0030] The prediction algorithm generating 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 a film treatment performed by the substrate processing device (300) according to processing conditions from the processing conditions applied to the substrate processing device (300). The prediction algorithm is, but is not limited to, a machine-learned learning model. The prediction algorithm generating device (200) machine-learns the experimental data to the learning model to generate a learning model that has completed learning. The prediction algorithm generating device (200) outputs the learning model that has completed learning to the information processing device (100) as a prediction algorithm. Also, the prediction algorithm is not limited to a learning model that has completed learning generated by machine learning. For example, the prediction algorithm generating device (200) may generate a prediction algorithm by applying the experimental data to a predetermined regression equation and performing regression. An example of a regression equation in this case is a regression equation that uses a variable used in at least one condition included in the treatment conditions as an explanatory variable and calculates an estimated value of the treatment result using multiple parameters. Additionally, for the prediction algorithm, an algorithm that analyzes the flow of the treatment fluid through computer simulation using fluid dynamics analysis or the like may be used.

[0031] The information processing device (100) uses a prediction algorithm to determine processing conditions for processing a substrate for a substrate that the substrate processing device (300) is scheduled to process from now on. The information processing device (100) outputs the determined processing conditions to the substrate processing device (300).

[0032] FIG. 3 is a diagram showing an example of the configuration of an information processing device. Referring to FIG. 3, the information processing device (100) is composed of a CPU (101), RAM (random access memory) (102), ROM (read-only memory) (103), a memory device (104), an operating unit (105), a display device (106), and an input / output I / F (interface) (107). The CPU (101), RAM (102), ROM (103), memory device (104), operating unit (105), display device (106), and input / output I / F (107) are connected to a bus (108).

[0033] RAM (102) is used as a work area for the CPU (101). A system program is stored in ROM (103). A memory device (104) includes a storage medium such as a hard disk or semiconductor memory and stores a program. The program may be stored in ROM (103) or another external memory device.

[0034] A CD-ROM (109) is removable from the memory device (104). The CPU (101) can load a program stored in the CD-ROM (109) into the RAM (102) and execute it. The recording medium for storing the program executed by the CPU (101) is not limited to the CD-ROM (109) and may be a medium such as an optical disc (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC card, optical card, mask ROM, EPROM (Erasable Programmable ROM), or semiconductor memory. Additionally, the CPU (101) may download a program from a computer connected to a network and store it in the memory device (104), or the computer connected to the network may record a program in the memory device (104), and load the program stored in the memory device (104) into the RAM (102) to execute it on the CPU (101). The programs mentioned here include not only programs that can be directly executed by the CPU (101), but also source programs, compressed programs, encrypted programs, etc.

[0035] The control unit (105) is an input device such as a keyboard, mouse, or touch panel. By operating the control unit (105), the user can apply a predetermined instruction to the information processing device (100). The display device (106) is a display device such as a liquid crystal display and displays a screen for receiving instructions from the user. The CPU (101) controls the control unit (105) and the display device (106) to provide a GUI (Graphical User Interface) to the user. The input / output I / F (107) is connected to a network. The CPU (101) communicates with the prediction algorithm generation device (200) and the substrate processing device (300) through the input / output I / F (107).

[0036] FIG. 4 is a diagram illustrating an example of a function of a CPU provided by an information processing device. The function provided by the information processing device (100) is realized by the CPU (101) provided by the information processing device (100) by executing a processing condition determination program stored in RAM (102), a memory device (104), or a CD-ROM (109). Referring to FIG. 4, the CPU (101) provided by 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).

[0037] The prediction algorithm acquisition unit (110) controls the input / output I / F (107) to receive a 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).

[0038] The processing condition determination unit (120) receives a prediction algorithm from the prediction algorithm acquisition unit (110). The processing condition determination unit (120) generates candidates for processing conditions to be applied to the substrate processing device (300) using the prediction algorithm. The processing condition determination unit (120) outputs the generated candidates for processing conditions to the processing condition transmission unit (130).

[0039] The processing condition transmitting unit (130) transmits the processing condition input from the processing condition determining unit (120) to the control unit (10) of the substrate processing device (300). The substrate processing device (300) processes the substrate (W) according to the processing condition.

[0040] FIG. 5 is a diagram illustrating an example of the detailed function of a processing condition determination unit. Referring to FIG. 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).

[0041] The processing condition generation unit (51) generates a temporary processing condition and outputs the temporary processing condition to the prediction unit (53) and the dataset generation unit (57). The temporary processing condition is a processing condition intended to be applied to the substrate processing device (300). The processing condition generation unit (51) includes a first parameter setting unit (81) and a second parameter setting unit (83). The processing condition includes a first parameter and a second parameter. In this embodiment, the first parameter is the number of shift points N among the variation conditions included in the processing condition. In this embodiment, the second parameter is a processing condition excluding the first parameter, and is a set of shift point position P, movement speed V, and stop time T among the variation conditions, 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.

[0042] The prediction unit (53) receives a temporary processing condition from the processing condition generation unit (51) and a prediction algorithm from the prediction algorithm acquisition unit (110). The prediction unit (53) applies the temporary processing condition to the prediction algorithm and causes the prediction algorithm to predict the processing result. The prediction unit (53) outputs the processing result predicted by the prediction algorithm to the prediction processing result acquisition unit (55) as the predicted processing result.

[0043] 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).

[0044] 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 including processing conditions and prediction processing results. The prediction processing results included in the first dataset are processing results predicted by a prediction algorithm based on 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).

[0045] 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 Bayes 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, as the first optimization algorithm, it may be Bayes optimization by MOTPE (Multiobjective Tree-structured Parzen Estimator), TPE (Tree-structured Parzen Estimator), or Extra-Trees (hereinafter referred to as "ET-BO").

[0046] 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. Also, the second optimization algorithm may be an optimization algorithm different from TPE. For example, as the second optimization algorithm, it may be MOTPE, ET-BO, or GP-BO. The first optimization algorithm and the second optimization algorithm may be the same.

[0047] The first search unit (59) does not search for the optimal value of the first parameter until the number of times the second search unit (61) searches for the second parameter reaches a predetermined number. Therefore, while the first search unit (59) does not search for the first parameter, a predetermined number of processing conditions are determined by the processing condition generation unit (51) such that the first parameter is the same and the second parameter is different.

[0048] The second search unit (61) searches for a new optimal value of the second parameter based on a first dataset of multiple sets containing processing conditions generated by the processing condition generating unit (51) after the new first parameter is set. The first search unit (59) searches for the optimal value of the first parameter based on a first dataset of multiple sets containing all processing conditions generated by the processing condition generating unit (51) up to a predetermined number of times the second search unit (61) searches for the optimal value of the second parameter.

[0049] The cluster analysis unit (63) clusters the first datasets of multiple sets generated by the dataset generation unit (57) into processing conditions. Accordingly, multiple processing conditions generated by the processing condition generation unit (51) are classified into one of the multiple clusters.

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

[0051] The first evaluation value determining unit (67) calculates a first evaluation value for each of the plurality of representative datasets based on the prediction processing result included in the representative dataset. The first evaluation value determining unit (67) calculates the first evaluation value f1(x) using the following equation (1).

[0052]

[0053] However, y max is the maximum value of the film thickness throughput, y min y represents the minimum value of the film thickness throughput, and y represents the average value of the film thickness throughput. Throughput is the difference in film thickness before and after the film treatment is performed.

[0054] The first evaluation value f1(x) is a function that evaluates the degree of agreement between the prediction processing result and the target value, and the larger the value, the greater the error with respect to the target value. Therefore, the first evaluation value is an indicator that evaluates the processing conditions included in the representative dataset. The first evaluation value determination unit (67) outputs the processing conditions included in the representative dataset and the set of the first evaluation values ​​to the candidate determination unit (71).

[0055] The second evaluation value determining unit (69) calculates the second evaluation value. The second evaluation value is a function that evaluates robustness, and the larger the value, the lower the robustness.

[0056] The second evaluation value determination unit (69) extracts a predetermined number of first datasets classified into clusters, generates a new processing condition for each of the predetermined number of first datasets in which the processing condition is varied within the range of error, and calculates a first evaluation value from the predicted processing result obtained by applying the generated processing condition to a prediction algorithm. The second evaluation value is determined by statistically processing the first evaluation value calculated for each of the multiple processing conditions with added error. For example, the second evaluation value can be a range of multiple first evaluation values. Here, the second evaluation value is calculated using the following equation (2).

[0057] f2(x)=f1_max(x)-f1_min(x) … (2)

[0058] Also, f1_max(x) represents the maximum value among multiple f1(x), and f1_min(x) represents the minimum value.

[0059] In addition, the second evaluation value f2(x) is calculated for each of the multiple first datasets. It indicates that clusters with a smaller second evaluation value f2(x) have a larger range of variation in the allowed processing conditions, and clusters with a larger f2(x) have a smaller range of variation in the allowed processing conditions.

[0060] The candidate determination unit (71) receives a representative dataset and a set of first evaluation values ​​from the first evaluation value determination unit (67), and receives second evaluation values ​​for each of the plurality of first datasets from the second evaluation value determination unit (69). The candidate determination unit (71) evaluates the representative dataset using the first evaluation values ​​and the second evaluation values ​​and determines a candidate dataset among the plurality of representative datasets. For the representative dataset, a third evaluation value is calculated from the first evaluation value and the second evaluation value. The third evaluation value is calculated by assigning a predetermined weight to the first evaluation value and the second evaluation value. Here, the third evaluation value is calculated using the utility function shown in the following equation (3).

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

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

[0063] In addition, by adjusting the weight factors w1 and w2, a balance is determined between prioritizing the degree of agreement with the target value and prioritizing robustness. Appropriate processing conditions can be extracted by selecting the processing conditions of the dataset containing the minimum prediction processing result for the third evaluation value u(x).

[0064] (3) Determining processing conditions

[0065] In this embodiment, the processing conditions include variable conditions and fixed conditions. The variable conditions include the number of shift points N, the shift point position P, the movement speed V, and the stop time T as condition elements. Since there is a limit to the performance of the nozzle movement mechanism (301) provided by the substrate processing device (300), the range of the variable conditions is limited. Here, the case where the lower limit of the number of shift points N is 3 and the upper limit is 20 is explained as an example.

[0066] In the process of determining processing conditions in this embodiment, an initial condition is first determined. The initial condition is set by the user and includes an initial setting number Nini representing the number of shift points N set as an initial value, a shift point number N(i) of the initial setting number Nini, and an upper limit value Nmax of the shift point number N determined in the processing condition determination process. Also, Nini is a positive integer. The upper limit value Nmax is an integer greater than Nini. The shift point number N(i) represents an array of shift points N, and the variable i is an integer such that 1 ≤ i ≤ Nmax. In the case of this initial condition, the number of searches for the shift point number N is Nmax - Nini. In the following description, the case where Nini is set to 3 and Nmax is set to 5 is used as an example. In this case, the search for the shift point number N is executed 2 times. In this case, for each of the number of shift points N(1), N(2), and N(3), the search for other condition elements of the variable condition and the fixed condition is performed. Here, the case 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 are set as initial values ​​is explained as an example.

[0067] FIG. 6 is a flowchart illustrating an example of a processing condition determination process flow. The processing condition determination process is a process executed by the CPU (101) by the CPU (101) equipped with the information processing device (100) by executing a processing condition determination program stored in RAM (102), memory device (104), or CD-ROM (109).

[0068] Referring to FIG. 6, the CPU (101) provided by the information processing device (100) acquires a prediction algorithm (step S01) and proceeds to step S02. The CPU (101) controls an input / output I / F (107) to receive a prediction algorithm from a prediction algorithm generating device (200). In step S02, an initial value of 1 is set for variable i, and processing proceeds to step S03. Variable i is a value that specifies the number of shift points N(i) to be processed.

[0069] In step S03, the number of shift points N(i) is selected as the processing target, and the processing proceeds to step S04. In step S04, the variable j is set to 1, and the processing proceeds to step S05. The variable j is a value that specifies the dataset group G(i, j), which represents the set of dataset D with the number of extracts K determined in step S07 described later. The number of extracts K is set to 50 here.

[0070] In Step S05, the initial condition search process is executed, and the process proceeds to Step S06. Although the details of the initial condition search process will be described later, it is a process for determining an initial value in the process of searching for temporary processing conditions for the number of shift points N(i). When the initial condition search process is executed, a dataset Dini containing the temporary processing conditions that become the initial values ​​is determined. The dataset Dini includes the temporary processing conditions and the prediction processing results.

[0071] In step S06, a 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 for the number of shift points N(i), the process searches for shift point position P, movement speed V, stop time T, and fixed condition R while the temporary processing condition included in dataset Dini is set as an initial value. When the processing condition search process is executed, a dataset D with a number equal to the second upper limit M2 of the number of searches is generated.

[0072] In step S07, a dataset group G(i, j) is determined, and processing proceeds to step S08. Among the dataset D with a number equal to the second upper limit M2 of the number of searches generated in step S06, a temporary processing condition of K is extracted from the upper limit of the first evaluation value f1(x) of the prediction processing result, and the set of the extracted K datasets D is assigned to dataset group G(i, j). The first evaluation value f1(x) is calculated using the above equation (1). Here, the case where K = 50 is used as an example. Therefore, dataset group G(i, j) is a set of 50 datasets D. Dataset group G(i, j) indicates that it is a set of datasets D generated in the j-th search processing of the number of shift points N(i).

[0073] In step S08, variable j is incremented, and the processing 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 processing proceeds to step S10, but otherwise, the processing returns to step S05. The number of repetitions J is a predetermined value and is stored in memory (104). Thus, the processing of steps S05 to S07 is executed as many times as the number of repetitions J. Here, the case where J = 5 is explained as an example. Accordingly, for one number of shift points (i), five dataset groups G(i, 1) to dataset groups G(i, 5) are generated.

[0074] In step S10, a dataset group G(i) for the number of shift points (i) is determined, and processing proceeds to step S11. The dataset group G(i) for the number of shift points (i) is a set of J dataset groups G(i, 1) to dataset groups G(i, J). Since each of the J dataset groups G(i, 1) to dataset groups G(i, J) contains 50 datasets, the dataset group G(i) for the number of shift points (i) contains 250 datasets.

[0075] In step S11, variable i is incremented, and processing proceeds to step S12. In step S12, it is determined whether variable i is greater than the initial set number Nini. If variable i is greater than the initial set number Nini, processing proceeds to step S13, but otherwise, processing returns to step S02. Since the number of shift points N(i) of the initial set number Nini is set as an initial value, processing from step S03 to step S10 is executed for the number of shift points N(i) set as an initial value.

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

[0077] In step S14, the number of shift points N(i) is searched using GP-BO, and the processing returns to step S03. In the step where the processing proceeds to step S14, data set groups G(1) to G(i-1) are created for each of the number of shift points N(1) to the number of shift points N(i-1). In step S14, the CPU (101) uses a plurality of data sets D included in each of these data set groups G(1) to G(i-1) to search for the optimal value of the number of shift points using the optimization algorithm of GP-BO, and determines the optimal value obtained by the search as the number of shift points N(i).

[0078] In step S15, the candidate processing condition determination process is executed, and the process is terminated. The details of the candidate processing condition determination process will be described later.

[0079] FIG. 7 is a flowchart illustrating an example of an initial condition search processing flow. The initial condition search processing is a process executed in step S05 of the processing condition determination process. Referring to FIG. 7, the variable m is set to an initial value of 1 (step S21), and the processing proceeds to step S22. The variable m is a value representing the number of iterations of the search.

[0080] In step S22, initial values ​​are set for the stop time T, the shift point position P, and the movement speed V, respectively, and the processing proceeds to step S23. The initial values ​​for the stop time T, the shift point position P, and the movement speed V are stored in advance in the memory device (104). Here, 0 is set as the initial value for the stop time T, equal intervals are set as the initial value for the intervals within the multiple shift point positions P, and a random value is set as the initial value for the movement speed V. The path along which the surface nozzle (311) moves relative to the substrate (W) is predetermined. The shift point position P is determined by dividing the path along which the surface nozzle (311) moves into equal parts by the number of shift points N(i).

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

[0082] In step S24, the CPU (101) predicts the result to the prediction algorithm and proceeds to step S25. The CPU (101) applies temporary processing conditions to the prediction algorithm to predict the processing result. For temporary processing conditions, for variable conditions, the number of shift points N(i) is set, and for stop time T, shift point position P, and movement speed V, the initial values ​​set in step S22 are set. For fixed conditions, if processing proceeds from step S23, a fixed condition R(1) set to an arbitrary value in step S23 is set, and if processing proceeds from step S29, a fixed condition R(m) determined in step S29 described later is set.

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

[0084] In step S27, variable m is incremented, and the processing proceeds to step S28. In step S28, it is determined whether variable m is greater than the first upper limit M1 of the number of searches. If variable m is greater than the first upper limit M1, the processing proceeds to step S30, but otherwise, the processing proceeds to step S29. The first upper limit M1 is a value predetermined as the upper limit of the number of searches for the fixed condition R that serves as the initial condition in the initial condition search processing. The first upper limit M1 is stored in advance in the memory device (104). Additionally, the first upper limit M1 may be obtained by the user inputting using the control unit (105).

[0085] In step S29, a fixed condition R(m) is searched using TPE, and the processing returns to step S24. In the step where the processing proceeds to step S29, the prediction processing result is obtained in step S25, and one or more datasets D containing the temporary processing condition and the prediction processing result are generated. In step S29, the CPU (101) uses all of the datasets D generated during the execution of the initial condition search process and searches for the optimal value of the fixed condition using the optimization algorithm of TPE, and determines the optimal value obtained by the search as the fixed condition R(m).

[0086] In step S30, a dataset D containing the prediction processing result in which the first evaluation value f1(x) is minimized is determined as dataset Dini, and the processing returns to the processing condition determination process.

[0087] FIG. 8 is a flowchart illustrating an example of a processing condition search processing flow. The processing condition search processing is a process executed in step S06 of the processing condition determination processing. Referring to FIG. 8, the variable m is set to an initial value of 1 (step S31), and the processing proceeds to step S32. The variable m is a value representing the number of iterations of the search.

[0088] In step S32, an initial condition is set for the temporary processing condition, and the processing proceeds to step S33. The initial condition is a temporary processing condition included in the dataset Dini determined in the initial condition determination process shown in FIG. 7. In step S33, the CPU (101) predicts the result to the prediction algorithm and proceeds the processing to step S34. The CPU (101) applies the temporary processing condition to the prediction algorithm to predict the processing result. The temporary processing condition is set as a temporary processing condition included in the dataset Dini when the processing proceeds from step S32. The processing condition is set as a number of shift points N(i), a shift point position P(m), a movement speed V(m), a stop time T(m), and a fixed condition R(m) determined in step S38 described later.

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

[0090] In step S36, the variable m is incremented, and the processing 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 processing returns to the processing condition determination process, but otherwise, the processing proceeds to step S38. The second upper limit M2 is a value predetermined as the upper limit of the number of times temporary processing conditions are searched in the processing condition search process. The second upper limit M2 is stored in advance in the memory device (104). Alternatively, the second upper limit M2 may be obtained by inputting it using the control unit (105) by the user. The second upper limit M2 represents the number of temporary processing conditions determined by searching from one initial condition for the number of shift points N(i). Here, the second upper limit M2 is set to 450.

[0091] In step S38, the shift point position (P), movement speed V (m), stop time T (m), and fixed condition R (m) are searched using TPE, and the processing returns to step S33. In the step where the processing proceeds to step S38, the prediction processing result is obtained in step S34, and one or more datasets D containing the temporary processing condition and the prediction processing result are generated. In step S38, the CPU (101) uses the entire dataset D generated during the processing condition search process and uses the optimization algorithm of TPE to search for the optimal values ​​for each of the shift point position, movement speed, stop time, and fixed condition, and determines the optimal values ​​obtained by the search for the shift point position (P), movement speed V (m), stop time T (m), and fixed condition R (m), respectively. In this way, datasets D for the number of shift points N (i) are generated by the processing condition search process as many times as the number of the second upper limit value M2.

[0092] Here, referring again to FIG. 6, at the stage where the processing condition search process is completed in step S06, a number of datasets D equal to the second upper limit M2 is generated. Then, among the number of datasets D equal to the second upper limit M2, datasets D with an upper extraction number K (=50) of the first evaluation value f1(x) are extracted, and the set of extracted datasets D is assigned to dataset group G(i, j). Here, the case where K = 50 is used as an example for explanation. Since steps S05 to S07 are repeated J (=5) times, dataset group G(i) generated for one shift point number N(i) contains 250 datasets D. In addition, since the upper limit Nmax of the number of shift points N(i) is set to 5, 5 dataset groups G(1) to G(Nmax) are generated, and a total of 1250 datasets are generated.

[0093] FIG. 9 is a flowchart illustrating an example of a candidate processing condition determination process flow. The candidate processing condition determination process is a process executed in step S15 of the processing condition determination process. Referring to FIG. 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 specifies the number of shift points (i). In other words, the variable i is a value that specifies the dataset group G(i).

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

[0095] In step S44, a representative dataset is determined, and processing proceeds to step S45. The representative dataset is a dataset D containing the minimum prediction processing result of the 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). Thus, one representative dataset is determined from each of the L (=5) clusters.

[0096] In step S45, variable i is incremented, and the process proceeds to step S46. In step S46, variable i is compared with an upper limit Nmax (= 5). If variable i is greater than the upper limit Nmax, the process proceeds to step S47, but otherwise, the process returns to step S42. Thus, for each of the dataset group G (1) to the data group (Nmax), the processing of steps S43 and S44 is executed. Thus, 25 clusters are created, and 25 representative datasets are determined.

[0097] In step S47, among 25 clusters, the top 10 clusters with the first evaluation value f1(x) of the representative dataset are extracted as representative clusters, and processing proceeds to step S48. In step S48, the second evaluation value f2(x) is calculated, and processing proceeds to step S49. The second evaluation value is calculated for each dataset. Among the multiple datasets D included in the cluster, P datasets D are randomly selected. Here, the case where P = 20 is used as an example for explanation. First, the CPU (101) changes the temporary processing conditions included in the P datasets D to values ​​with random errors added to the temporary processing conditions within a predetermined range of deviations from the processing conditions, and the prediction algorithm predicts the processing results from the processing conditions with errors added. Then, the first evaluation value for the processing result (predicted processing result) predicted by the prediction algorithm is calculated. By repeating this process Q times, Q first evaluation values ​​are produced for one dataset D. The CPU (101) produces P × Q first evaluation values ​​f1(x) by executing a process to produce Q first evaluation values ​​for each of the P (= 20) datasets D. Then, the CPU (101) determines second evaluation values ​​using the above equation (2).

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

[0099] In step S50, temporary processing conditions are extracted from each of the 10 representative clusters, and the processing 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 temporary processing conditions included in the dataset D are determined as candidates.

[0100] (4) Effects of the implementation form

[0101] According to the information processing device (100) of the above embodiment, in the process of searching for the optimal value of the second parameter, since the first parameter is fixed to the same value, the process of searching for the optimal value of the second parameter is simplified compared to the case where the optimal value of the first parameter is searched together with the optimal value of the second parameter, and thus the load is reduced. In addition, since the optimal value of the first parameter is searched as a predetermined number of second parameters are searched, 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, an information processing device (100) can be provided that reduces the load of the process of searching for the optimal value of a processing condition consisting of multiple parameters.

[0102] In addition, since the processing condition includes a variation condition determined by a combination of the first parameter and the second parameter, the optimal value of the complex variation condition that changes over time can be easily searched.

[0103] In addition, the movement speed is a value determined by the shift point position, and the shift point position is determined by the number of shift points. Since the first parameter is the number of shift points, the optimal values ​​for the shift point position and movement speed are searched while the number of shift points is fixed. Therefore, the optimal value for the variation condition can be easily searched.

[0104] In addition, since a candidate processing condition to be set in a substrate processing device is determined from a plurality of clusters obtained by clustering a plurality of datasets D under temporary processing conditions, a plurality of candidate processing conditions are determined evenly from the distribution of a plurality of temporary processing conditions. Therefore, the imbalance of a plurality of candidate processing conditions can be reduced, and different multiple candidate processing conditions can be determined efficiently.

[0105] (5) Other embodiments

[0106] For the first evaluation value f1(x) of the above embodiment, the following equation (4) may be used instead of the above equation (1).

[0107]

[0108] However, m represents the number of measurement points, y represents the film thickness throughput, y-bar represents the average value of the film thickness throughput, the subscript t represents the target value, and the subscript s represents the prediction processing result. In other words, y ti represents the throughput of film thickness at the measurement point at the target value, and y si represents the throughput of film thickness at the measurement point indicated by the prediction processing result. The first evaluation value f1(x) calculated in Equation (4) can evaluate the distribution of the throughput of film thickness.

[0109] (6) Overall of implementation forms

[0110] (Claim 1) An information processing device related to one aspect of the present invention is,

[0111] As an information processing device that manages a substrate processing device,

[0112] An algorithm acquisition unit that acquires a prediction algorithm for predicting the processing result of a process executed by the above-mentioned substrate processing device according to a processing condition from the said processing condition, and

[0113] The above processing condition includes a first parameter and a second parameter, and

[0114] A processing condition generation unit that generates temporary processing conditions, and

[0115] An acquisition unit that obtains a prediction processing result predicted by the prediction algorithm from the temporary processing condition generated by the processing condition generation unit, and

[0116] 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 the first dataset including the above temporary processing conditions and the above prediction processing results, and

[0117] It comprises a second search unit that searches for the optimal value of the second parameter using a second optimization algorithm based on a plurality of sets of the first dataset, and

[0118] The first search unit searches for the optimal value of the first parameter as a predetermined number of optimal values ​​of the second parameter are searched by the second search unit, and

[0119] The processing condition generating unit generates a new temporary processing condition including the optimal value of the first parameter found by the first search unit as the optimal value of the first parameter is found by the first search unit, and generates a new temporary processing condition including the optimal value of the second parameter found by the second search unit without changing the first parameter of the temporary processing condition as the optimal value of the second parameter is found by the second search unit.

[0120] According to this aspect, in the process of searching for the optimal value of the second parameter, since the first parameter is fixed to the same value, the process of searching for the optimal value of the second parameter is simplified compared to the case where the optimal value of the first parameter is searched together with the optimal value of the second parameter, and thus the load is reduced. In addition, since the optimal value of the first parameter is searched as a predetermined number of optimal values ​​of the second parameter are searched, 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, the load of the process of searching for the optimal value among multiple processing conditions consisting of multiple parameters can be reduced. As a result, an information processing device capable of efficiently determining processing conditions applied to a substrate processing device can be provided.

[0121] (Clause 2) In the information processing device described in Clause 1,

[0122] The above processing conditions include variable conditions that change over time, and

[0123] The above variation condition may be a condition determined according to the combination of the above first parameter and the above second parameter.

[0124] According to this aspect, since the processing condition includes a variation condition determined by a combination of the first parameter and the second parameter, the optimal value of the complex variation condition that changes over time can be easily searched.

[0125] (Clause 3) In the information processing device described in Clause 2,

[0126] The above treatment includes a treatment of the film by supplying a treatment solution to the upper surface of a substrate on which the film is formed, and

[0127] The above processing result includes the difference in film thickness before and after the processing of the film at each of a plurality of different locations in the diameter direction of the substrate, and

[0128] The above variation condition is a condition in which the supply position where the processing liquid is supplied to the upper surface of the substrate varies in the diameter direction over time, and

[0129] The above variation condition is determined by, at least, a shift point position indicating a position where the moving speed of the supply position moving in the diameter direction varies, the moving speed at the shift point position, and a number of shift points indicating the number of shift point positions.

[0130] The above first parameter may be the above shift point number.

[0131] According to this phase, the movement speed is a value determined by the shift point position, and the shift point position is determined by the number of shift points. Since the first parameter is the number of shift points, the optimal values ​​for the shift point position and movement speed are searched while the number of shift points is fixed. Therefore, the optimal value of the variation condition can be easily searched.

[0132] (Clause 4) In an information processing device described in any one of Clauses 1 to 3,

[0133] Each of the above first optimization algorithm and the above second optimization algorithm may be any one of the Tree-structured Parzen Estimator, Bayes optimization by Extra-Trees, and Bayes optimization by Gaussian process regression.

[0134] (Clause 5) In an information processing device described in any one of Clauses 1 to 4,

[0135] A cluster analysis unit that clusters the above-mentioned first dataset of multiple sets under the above-mentioned temporary processing conditions included in the first dataset, and

[0136] Among the plurality of sets of first datasets classified into each of the plurality of clusters generated by the cluster analysis unit, a candidate determination unit may be additionally provided to determine a processing condition that is a candidate to be set in the substrate processing device based on a first evaluation value calculated based on the prediction processing result.

[0137] According to this phase, since the processing conditions that are candidates to be set in the substrate processing device are determined from multiple clusters, multiple candidate processing conditions are determined evenly from the distribution of multiple temporary processing conditions. Thus, the imbalance of multiple candidate processing conditions can be reduced, and different multiple candidate processing conditions can be determined efficiently.

[0138] (Clause 6) In the information processing device described in Clause 5,

[0139] The above treatment includes a treatment of the film by supplying a treatment solution to the upper surface of a substrate on which the film is formed, and

[0140] The above processing result includes the difference in film thickness before and after the processing of the film at each of a plurality of different locations in the diameter direction of the substrate, and

[0141] The first evaluation value above may be a value representing either the range of the difference in film thickness or the distribution of the difference in film thickness.

[0142] According to this aspect, a processing condition with a small range of film thickness difference, or a processing condition with a small distribution of film thickness difference, can be determined as a candidate condition.

[0143] (Clause 7) In the information processing device described in Clause 5 or 6,

[0144] A robust value determining unit further comprises determining a second evaluation value based on a prediction processing result predicted by the prediction algorithm from a processing condition in which an error is added to the processing condition included in the first dataset, and

[0145] The above candidate determination unit may determine a processing condition that is a candidate to be set in the substrate processing device based on the second evaluation value in addition to the first evaluation value.

[0146] According to this phase, the candidate processing condition is 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 the processing condition with an error added to the processing condition. Thus, a processing condition that is strong against random factors such as noise can be determined as a candidate.

[0147] (Clause 8) In the information processing device described in Clause 7,

[0148] The robust value determination unit may determine the second evaluation value based on each of the plurality of random sets arbitrarily selected from the plurality of first datasets classified into the clusters for each of the plurality of clusters.

[0149] According to this phase, a second evaluation value is determined based on each of a plurality of random sets selected from a plurality of first datasets classified into clusters. Thus, since the second evaluation value is reflected in addition to the first evaluation value exhibiting the characteristics of the first dataset, a second evaluation value appropriate to the first evaluation value can be calculated.

[0150] (Clause 9) In an information processing device described in any one of Clauses 1 to 8,

[0151] The above prediction algorithm may be generated based on a second dataset including processing conditions of a process executed in the substrate processing device and processing results of said process.

[0152] According to this aspect, since a prediction algorithm is generated from the processing result of the substrate processing device that actually performed the processing and the processing conditions used to perform the processing, a prediction algorithm that mimics the substrate processing device can be generated.

[0153] (Clause 10) In the information processing device described in Clause 9,

[0154] The above prediction algorithm is a regression equation that uses a variable used in at least one condition included in the above processing condition as an explanatory variable and calculates an estimated value of the above processing result using a plurality of algorithm parameters, and

[0155] Multiple parameters for the algorithm may be obtained by applying the second dataset to the regression equation and regressing.

[0156] According to this aspect, the prediction algorithm is a regression equation that uses a variable used in at least one condition included in the processing conditions as an explanatory variable and estimates an estimate of the processing result using multiple parameters. Therefore, since the prediction algorithm predicts the processing result based on a mathematical equation, 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 therefrom.

[0157] (Clause 11) In the information processing device described in Clause 9,

[0158] The above prediction algorithm may also be a trained model that machine-learns the above second dataset.

[0159] According to this aspect, the prediction algorithm is a fully trained model that machine-learns the second dataset. Therefore, the creation of the prediction algorithm is easy.

[0160] (Clause 12) A substrate processing device related to another aspect of the present invention comprises an information processing device described in any one of claims 1 to 11.

[0161] According to this aspect, a substrate processing device can be provided that reduces the processing load by searching for the optimal value of a processing condition consisting of multiple parameters.

[0162] (Clause 13) A method for determining processing conditions related to another aspect of the present invention is a method for determining processing conditions executed in an information processing device managing a substrate processing device, wherein

[0163] A prediction algorithm acquisition step for acquiring a prediction algorithm that predicts the processing result of a processing performed by the above-mentioned substrate processing device according to a processing condition from the processing condition, and

[0164] The above processing condition includes a first parameter and a second parameter, and

[0165] A processing condition generation step that generates temporary processing conditions, and

[0166] A prediction processing result acquisition step for acquiring a prediction processing result predicted by the prediction algorithm from the temporary processing condition generated in the above processing condition generation step, and

[0167] A first search step for searching for the optimal value of the first parameter using a first optimization algorithm based on a plurality of sets of the first dataset including the above temporary processing conditions and the above prediction processing results, and

[0168] It includes a second search step for searching for the optimal value of the second parameter using a second optimization algorithm based on multiple sets of the first dataset, and

[0169] The first search step includes searching for the optimal value of the first parameter as the optimal value of a predetermined number of the second parameter is searched in the second search step, and

[0170] The above processing condition generation step generates a new temporary processing condition including the optimal value of the first parameter found in the first search step, as the optimal value of the first parameter is found in the first search step, and

[0171] As the optimal value of the second parameter is found in the second search step, the method includes creating a new temporary processing condition that includes the optimal value of the second parameter found in the second search step, without changing the first parameter of the temporary processing condition.

[0172] According to this aspect, the processing load for searching for the optimal value among multiple processing conditions consisting of multiple parameters can be reduced. As a result, a method for determining processing conditions that enables efficient determination of processing conditions applied to a substrate processing device can be provided.

Claims

Claim 1 An information processing device for managing a substrate processing device, comprising: a prediction algorithm acquisition unit that acquires a prediction algorithm that predicts a processing result of a process executed by the substrate processing device according to a processing condition from the processing condition; a processing condition generation unit that generates a temporary processing condition, wherein the processing condition includes 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 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 based on a plurality of sets of a first dataset including the temporary processing condition and the prediction processing result; and a second search unit that searches for an optimal value of the second parameter using a second optimization algorithm based on a plurality of sets of the first dataset, wherein the first search unit searches for an optimal value of the first parameter as a predetermined number of optimal values ​​of the second parameter are searched by the second search unit, and the processing condition generation unit, as the optimal value of the first parameter is searched by the first search unit, the An information processing device that generates a new temporary processing condition including the optimal value of the first parameter searched by the first search unit, and, as the optimal value of the second parameter is searched by the second search unit, generates a new temporary processing condition including the optimal value of the second parameter searched by the second search unit without changing the first parameter of the temporary processing condition. Claim 2 An information processing device according to claim 1, wherein the processing condition includes a variable condition that changes over time, and the variable condition is a condition determined according to a combination of the first parameter and the second parameter. Claim 3 In claim 2, the processing comprises a processing of a film in which a processing liquid is supplied to the upper surface of a substrate having a film formed thereon, and the processing result comprises a difference in film thickness before and after the processing of the film is performed at each of a plurality of different positions in the diameter direction of the substrate, and the variation condition is a condition in which the supply position where the processing liquid is supplied to the upper surface of the substrate changes in the diameter direction over time, and the variation condition is determined according to at least a shift point position indicating a position where the moving speed of the supply position moving in the diameter direction changes, a moving speed at said shift point position, and a number of shift points indicating the number of said shift point positions, and the first parameter is said to be the number of shift points, an information processing device. Claim 4 An information processing device according to claim 1, wherein each of the first optimization algorithm and the second optimization algorithm is any one of a Tree-structured Parzen Estimator, Bayes optimization by Extra-Trees, and Bayes optimization by Gaussian process regression. Claim 5 An information processing device according to claim 1, further comprising a cluster analysis unit that clusters the first dataset of a plurality of sets under the temporary processing conditions included in the first dataset, and a candidate determination unit that determines a processing condition to be a candidate to be set in the substrate processing device based on a first evaluation value calculated based on the prediction processing result among the first dataset of a plurality of sets classified into each of the plurality of clusters generated by the cluster analysis unit. Claim 6 An information processing device according to claim 5, wherein the processing comprises supplying a processing solution to the upper surface of a substrate on which a film is formed, and the processing result comprises a difference in film thickness before and after the processing of the film is performed at each of a plurality of different positions in the diameter direction of the substrate, and the first evaluation value is a value representing either a range of the difference in film thickness or a distribution of the difference in film thickness. Claim 7 An information processing device according to claim 5, further comprising a robust value determining unit that determines a second evaluation value based on a prediction processing result predicted by the prediction algorithm from a processing condition in which an error is added to the processing condition included in the first dataset, and the candidate determining unit that determines a processing condition to be a candidate to be set in the substrate processing device based on the second evaluation value in addition to the first evaluation value. Claim 8 In claim 7, the robust value determining unit determines the second evaluation value based on each of a plurality of random sets arbitrarily selected from a plurality of first datasets classified into clusters for each of the plurality of clusters, an information processing device. Claim 9 In claim 1, the prediction algorithm is an information processing device generated based on a second dataset including processing conditions of a process executed in the substrate processing device and processing results of said process. Claim 10 In claim 9, the prediction algorithm is a regression equation that uses a variable used in at least one condition included in the processing condition as an explanatory variable and calculates an estimated value of the processing result using a plurality of algorithm parameters, and an information processing device in which a plurality of algorithm parameters are obtained by applying the second dataset to the regression equation and regressing. Claim 11 In claim 9, the prediction algorithm is an information processing device that is a learned model that machine-learns the second dataset. Claim 12 A substrate processing device having an information processing device as described in any one of claims 1 to 11. Claim 13 A method for determining processing conditions executed in an information processing device managing a substrate processing device, comprising: a prediction algorithm acquisition step for acquiring a prediction algorithm that predicts a processing result of a process executed by the substrate processing device according to a processing condition from the processing condition; a processing condition generation step for generating a temporary processing condition, wherein the processing condition includes a first parameter and a second parameter; a prediction processing result acquisition step for acquiring a prediction processing result predicted by the prediction algorithm from the temporary processing condition generated in the processing condition generation step; a first search step for searching for an optimal value of the first parameter using a first optimization algorithm based on a plurality of sets of a first dataset including the temporary processing condition and the prediction processing result; and a second search step for searching for an optimal value of the second parameter using a second optimization algorithm based on a plurality of sets of the first dataset, wherein the first search step includes searching for an optimal value of the first parameter as a predetermined number of optimal values ​​of the second parameter are searched in the second search step; and the processing condition generation step, wherein in the first search step, the A method for determining a processing condition, comprising: generating a new temporary processing condition including the optimal value of the first parameter found in the first search step as the optimal value of the first parameter is found in the first search step; and generating a new temporary processing condition including the optimal value of the second parameter found in the second search step without changing the first parameter of the temporary processing condition as the optimal value of the second parameter is found in the second search step.