Substrate processing condition setting support method, substrate processing system, storage medium, and learning model
Patent Information
- Application Number
- JP2023175816
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-11-21
- Filing Date
- 2023-10-11
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2039-11-12
AI Technical Summary
Existing methods for setting processing conditions in substrate processing are complex and inefficient, particularly in tasks such as forming and developing photosensitive films on substrates like semiconductor wafers.
A substrate processing condition setting method utilizing a machine learning model that predicts optimal processing conditions based on performance data, derived through machine learning from multiple data sets, to simplify the setting process.
This approach allows for efficient derivation of appropriate processing conditions, reducing the complexity and improving the accuracy of substrate processing by using a machine learning model to predict and refine conditions based on actual performance data.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method for assisting in setting substrate processing conditions, a substrate processing system, a storage medium, and a learning model.
Background Art
[0002] Patent Document 1 discloses an apparatus that forms a photosensitive film on the surface of a substrate and performs development processing of the photosensitive film after exposure processing of the photosensitive film.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The present disclosure provides a condition setting support method effective for simplifying the operation of setting processing conditions for substrate processing.
Means for Solving the Problems
[0005] A method for assisting in setting substrate processing conditions according to one aspect of the present disclosure includes inputting a data set including processing conditions of substrate processing executed by a substrate processing apparatus including supply of a processing liquid to a substrate and performance data related to the quality of the substrate processing into a machine learning apparatus, and deriving recommended processing conditions for substrate processing based on a learning model generated by the machine learning apparatus by machine learning based on a plurality of sets of the data sets, the learning model outputting prediction data related to the quality of substrate processing in response to input of the processing conditions.
Effects of the Invention
[0006] According to the present disclosure, it is possible to provide a condition setting support method effective for simplifying the operation of setting processing conditions for substrate processing.
Brief Description of the Drawings
[0007] [Figure 1] This is a schematic diagram showing the configuration of a substrate processing system according to one exemplary embodiment. [Figure 2] This is a schematic diagram illustrating the general configuration of a coating unit. [Figure 3] This is a schematic diagram illustrating the general configuration of a developing unit. [Figure 4] This is a schematic diagram illustrating the general configuration of a post-processing inspection device. [Figure 5] This is a schematic diagram illustrating the general configuration of an in-process inspection device. [Figure 6] This is a block diagram illustrating the functional configuration of a control device and a machine learning device. [Figure 7] This is a block diagram illustrating the hardware configuration of a control device and a machine learning device. [Figure 8] This flowchart illustrates the procedure for setting conditions that a control device performs. [Figure 9] This flowchart illustrates the condition setting support procedures that the control device will further execute. [Figure 10] This flowchart illustrates the procedure for assisting the setting of conditions performed by a machine learning device. [Figure 11] This flowchart illustrates the additional condition setting support steps that a machine learning system can perform. [Modes for carrying out the invention]
[0008] Various exemplary embodiments are described below. In the description, the same elements or elements having the same function are denoted by the same reference numeral, and redundant descriptions are omitted.
[0009] [Substrate Processing System] The substrate processing system 1 is a system that forms a photosensitive film on the surface of a substrate and then performs a developing process on the photosensitive film after exposure processing. The substrate to be processed is, for example, a semiconductor wafer W. The photosensitive film is, for example, a resist film.
[0010] As illustrated in Figure 1, the substrate processing system 1 comprises a coating / developing apparatus 2 and a control device 100. The coating / developing apparatus 2 comprises a carrier block 4, a processing block 5, and an interface block 6.
[0011] The carrier block 4 introduces wafers W (substrates) into the coating / developing apparatus 2 and extracts wafers W from the coating / developing apparatus 2. For example, the carrier block 4 can support multiple carriers C for wafers W and has a built-in transfer arm A1. A carrier C can accommodate, for example, multiple circular wafers W. The transfer arm A1 takes unprocessed wafers W from the carrier C and returns processed wafers W to the carrier C.
[0012] Processing block 5 has a plurality of processing modules 11, 12, 13, and 14. Processing modules 11, 12, and 13 (processing units) perform a film formation process by applying a film formation solution (processing solution for film formation) to the surface Wa of the wafer W to form a film. For example, processing modules 11, 12, and 13 incorporate a coating unit U1, a heat treatment unit U2, and a transport arm A3 for transporting the wafer W to these units.
[0013] The processing module 11 forms an underlayer film on the surface of the wafer W using a coating unit U1 and a heat treatment unit U2. The coating unit U1 of the processing module 11 applies a processing liquid for underlayer film formation onto the wafer W. The heat treatment unit U2 of the processing module 11 performs various heat treatments associated with the formation of the underlayer film.
[0014] The processing module 12 forms a resist film on the underlying film using a coating unit U1 and a heat treatment unit U2. The coating unit U1 of the processing module 12 applies a processing solution for resist film formation onto the underlying film. The heat treatment unit U2 of the processing module 12 performs various heat treatments associated with the formation of the resist film.
[0015] The processing module 13 forms an upper layer film on the resist film by means of the coating unit U1 and the heat treatment unit U2. The coating unit U1 of the processing module 13 applies a liquid for forming the upper layer film onto the resist film. The heat treatment unit U2 of the processing module 13 performs various heat treatments associated with the formation of the upper layer film.
[0016] As illustrated in FIG. 2, the coating unit U1 includes a rotation holding unit 50 and a film-forming liquid supply unit 60. The rotation holding unit 50 holds and rotates the wafer W. For example, the rotation holding unit 50 includes a holding unit 51 and a rotation driving unit 52. The holding unit 51 supports the wafer W disposed horizontally and holds it, for example, by means of vacuum adsorption or the like. The rotation driving unit 52 rotates the holding unit 51 around a vertical axis using, for example, an electric motor or the like as a power source. Thereby, the wafer W held by the holding unit 51 also rotates.
[0017] The film-forming liquid supply unit 60 supplies the film-forming liquid to the surface Wa of the wafer W held by the holding unit 51. For example, the film-forming liquid supply unit 60 includes a nozzle 61 and a liquid source 62. The nozzle 61 is disposed above the wafer W held by the holding unit 51 and discharges the processing liquid downward. The liquid source 62 pumps the processing liquid to the nozzle 61.
[0018] Returning to FIG. 1, the processing module 14 (processing unit) performs a development process of supplying a processing liquid for development to a resist film (photosensitive film) that has been subjected to an exposure process on the surface Wa of the wafer W. For example, the processing module 14 incorporates a development unit U3, a heat treatment unit U4, and a transfer arm A3 that transfers the wafer W to these units. The processing module 14 performs a development process of the resist film after exposure by means of the development unit U3 and the heat treatment unit U4. The development unit U3 applies a developer (processing liquid for development) onto the surface of the exposed wafer W and then rinses it with a rinse liquid (processing liquid for rinsing) to perform a development process of the resist film. The heat treatment unit U4 performs various heat treatments associated with the development process. Specific examples of the heat treatment include a heat treatment (PEB: Post Exposure Bake) before the development process, a heat treatment (PB: Post Bake) after the development process, and the like.
[0019] As illustrated in Figure 3, the developing unit U3 includes a rotating holding unit 20, a developing solution supply unit 30, and a rinsing solution supply unit 40. The rotating holding unit 20 holds and rotates the wafer W. For example, the rotating holding unit 20 includes a holding unit 21 and a rotation drive unit 22. The holding unit 21 supports the horizontally positioned wafer W and holds it, for example, by vacuum suction. The rotation drive unit 22 rotates the holding unit 21 around a vertical axis, for example, using an electric motor as a power source. As a result, the wafer W held by the holding unit 21 also rotates.
[0020] The developer supply unit 30 supplies developer to the surface Wa of the wafer W held in the holding unit 21. For example, the developer supply unit 30 has a nozzle 31, a nozzle transfer unit 32, and a liquid source 33. The nozzle 31 is positioned above the wafer W held in the holding unit 21 and discharges developer downward. The nozzle transfer unit 32 moves the nozzle 31 horizontally using an electric motor or the like as a power source. The liquid source 33 pumps developer to the nozzle 31.
[0021] The rinse liquid supply unit 40 supplies rinse liquid to the surface Wa of the wafer W held in the holding unit 21. For example, the rinse liquid supply unit 40 has a nozzle 41, a nozzle transfer unit 42, and a liquid source 43. The nozzle 41 is positioned above the wafer W held in the holding unit 21 and discharges rinse liquid downward. The nozzle transfer unit 42 moves the nozzle 41 horizontally using an electric motor or the like as a power source. The liquid source 43 pumps rinse liquid to the nozzle 41.
[0022] Returning to Figure 1, the interface block 6 handles the transfer of the wafer W to and from an exposure apparatus (not shown) that performs exposure processing on the resist film formed on the wafer W. For example, the interface block 6 incorporates a transfer arm A8, which is connected to the exposure apparatus. The transfer arm A8 transfers the wafer W before exposure processing to the exposure apparatus and receives the wafer W after exposure processing from the exposure apparatus.
[0023] A storage section U10 is provided between the processing block 5 and the carrier block 4. The storage section U10 is divided into multiple cells arranged vertically, and each cell is capable of accommodating a wafer W. The storage section U10 is used for transferring wafers W between the carrier block 4 and the processing block 5. A lifting arm A7 is provided near the storage section U10. The lifting arm A7 raises and lowers the wafer W between the cells of the storage section U10. A storage section U11 is provided between the processing block 5 and the interface block 6. The storage section U11 is also divided into multiple cells arranged vertically, and each cell is capable of accommodating a wafer W. The storage section U11 is used for transferring wafers W between the processing block 5 and the interface block 6.
[0024] The control device 100 controls the coating and developing apparatus 2 to perform the coating and developing process in the following procedure, for example. First, the control device 100 controls the transfer arm A1 to transport the wafer W in the carrier C to the storage unit U10, and then controls the lifting arm A7 to place the wafer W into the cell for the processing module 11.
[0025] Next, the control device 100 controls the transport arm A3 to transport the wafer W from the storage unit U10 to the coating unit U1 and the heat treatment unit U2 in the processing module 11. The control device 100 also controls the coating unit U1 and the heat treatment unit U2 to form an underlayer film on the surface of the wafer W. After that, the control device 100 controls the transport arm A3 to return the wafer W with the underlayer film formed on it back to the storage unit U10, and controls the lifting arm A7 to position the wafer W in the cell for the processing module 12.
[0026] Next, the control device 100 controls the transport arm A3 to transport the wafer W from the storage unit U10 to the coating unit U1 and the heat treatment unit U2 in the processing module 12. The control device 100 also controls the coating unit U1 and the heat treatment unit U2 to form a resist film on the underlayer film of the wafer W. After that, the control device 100 controls the transport arm A3 to return the wafer W to the storage unit U10 and controls the lifting arm A7 to place the wafer W into the cell for the processing module 13.
[0027] Next, the control device 100 controls the transport arm A3 to transport the wafer W in the storage unit U10 to each unit in the processing module 13. The control device 100 also controls the coating unit U1 and the heat treatment unit U2 to form an upper layer film on the resist film of the wafer W. After that, the control device 100 controls the transport arm A3 to transport the wafer W to the storage unit U11.
[0028] Next, the control device 100 controls the transfer arm A8 to send the wafer W from the storage unit U11 to the exposure apparatus 3. After that, the control device 100 receives the exposed wafer W from the exposure apparatus 3 and controls the transfer arm A8 to place it in the cell for the processing module 14 in the storage unit U11.
[0029] Next, the control device 100 controls the transport arm A3 to transport the wafer W from the storage unit U11 to each unit in the processing module 14, and controls the developing unit U3 and the heat treatment unit U4 to perform a developing process on the resist film of the wafer W. After that, the control device 100 controls the transport arm A3 to return the wafer W to the storage unit U10, and controls the lifting arm A7 and the transfer arm A1 to return the wafer W to the carrier C. With this, the coating and developing process is completed.
[0030] The specific configuration of the substrate processing system is not limited to those exemplified above. The substrate processing system may be any system that includes a processing unit that performs substrate processing, including the supply of processing liquid to the substrate, and a control device 100 capable of controlling this unit.
[0031] [Condition Setting Support System] The substrate processing system 1 further comprises a condition setting system 7. The condition setting system 7 includes a quality inspection device 70. Furthermore, at least a portion of the condition setting system 7 is composed of the control device 100. In other words, the condition setting system 7 includes the quality inspection device 70 and the control device 100. The quality inspection device 70 detects information regarding the quality of the substrate processing performed by the coating and developing device 2.
[0032] The control device 100 is configured to perform the following actions: to cause the coating / developing apparatus 2 (substrate processing apparatus) to perform substrate processing, including the supply of processing liquid to the wafer W, according to preset processing conditions; to acquire actual data on the quality of the substrate processing according to the processing conditions from the quality inspection apparatus 70; to input a dataset including the processing conditions of the substrate processing and the actual data of the substrate processing to the machine learning apparatus 200; and to derive recommended processing conditions for the substrate processing based on a learning model generated by the machine learning apparatus 200 through machine learning based on multiple datasets, so as to output predictive data on the quality of the substrate processing in response to the input of processing conditions. The predictive data is, for example, data that predicts the actual data mentioned above. The actual data may be any data as long as it relates to the quality of the substrate processing. Data on the quality of the substrate after substrate processing is related to the quality of the substrate processing. In addition, the supply status of the processing liquid during the substrate processing is also related to the quality of the substrate processing.
[0033] The condition setting system 7 may further include a machine learning device 200. The machine learning device 200 is configured to acquire the above-mentioned dataset and to generate and execute the above-mentioned learning model by machine learning based on multiple sets of datasets. The machine learning device 200 may be housed in the same enclosure as the control device 100, or it may be installed at a location separate from the control device 100. If it is installed at a location separate from the control device 100, the machine learning device 200 is connected to the control device 100, for example, via a local area network. The machine learning device 200 may also be connected to the control device 100 via a wide area network such as the so-called Internet. The configuration of each part will be described in detail below.
[0034] (Quality data detection device) The quality inspection device 70 includes, for example, a post-processing inspection unit 80 as shown in Figure 4. The post-processing inspection unit 80 detects information regarding the quality of the substrate after substrate processing. As an example, the post-processing inspection unit 80 detects information regarding the line width of the resist pattern formed on the surface of the wafer W after development processing. For example, the post-processing inspection unit 80 detects image information that allows the difference in the line width of the resist pattern to be recognized as a difference in at least one of hue, brightness, and saturation.
[0035] Specifically, the post-processing inspection unit 80 includes a holding unit 83, a linear drive unit 84, an imaging unit 81, and a light projection / reflection unit 82. The holding unit 83 holds the wafer W horizontally. The linear drive unit 84 uses, for example, an electric motor as a power source to move the holding unit 83 along a horizontal, straight path. The imaging unit 81 acquires image data of the wafer W surface. The imaging unit 81 is located at one end of the post-processing inspection unit 80 in the direction of movement of the holding unit 83 and is directed toward the other end in the same direction of movement.
[0036] The light-emitting and reflective unit 82 emits light into the imaging area and guides the reflected light from the imaging area towards the imaging unit 81. For example, the light-emitting and reflective unit 82 has a half mirror 86 and a light source 87. The half mirror 86 is located higher than the holding unit 83 and is positioned in the middle of the holding unit 83's range of motion, reflecting light from below towards the imaging unit 81. The light source 87 is located above the half mirror 86 and illuminates downwards through the half mirror 86.
[0037] The post-processing inspection unit 80 operates as follows to acquire image data of the wafer W surface. First, the linear drive unit 84 moves the holding unit 83. This causes the wafer W to pass under the half mirror 86. During this passage process, reflected light from various parts of the wafer W surface is sequentially sent to the imaging unit 81. The imaging unit 81 forms an image of the reflected light from various parts of the wafer W surface and acquires image data of the wafer W surface. This allows the image information of the resist pattern to be detected.
[0038] The post-processing inspection unit 80 may detect information regarding the film thickness of the coating formed on the surface of the wafer W after the film deposition process. For example, the post-processing inspection unit 80 detects image information that allows the difference in film thickness to be recognized as a difference in at least one of hue, brightness, and saturation. This image information can also be detected using the configuration illustrated in Figure 4.
[0039] The quality inspection device 70 may further include a processing inspection unit 90 as shown in Figure 5. The processing inspection unit 90 detects information regarding the supply status of the processing solution during substrate processing. For example, the processing inspection unit 90 detects information regarding the supply status of the developing solution during developing. For example, the processing inspection unit 90 includes a splash detection unit 91, a liquid level detection unit 92, and a drip detection unit 93.
[0040] The splash detection unit 91 detects information regarding the state of splashing during the supply of the developer. For example, the splash detection unit 91 includes an irradiation unit 94 and an imaging unit 95. The irradiation unit 94 is fixed to, for example, a nozzle 31, and irradiates laser light horizontally above the wafer W. The installation height of the irradiation unit 94 is set to a height that can be reached by droplets splashed up from the surface Wa. The imaging unit 95 acquires image data of the irradiation range of the laser light from the irradiation unit 94. When splashing occurs, the splashed droplets cause scattering of the laser light, etc., which causes changes in the image data acquired by the imaging unit 95. For this reason, the image data acquired by the imaging unit 95 includes information regarding the state of droplet generation.
[0041] The liquid level detection unit 92 detects information regarding the formation state of the developer film on the surface Wa. For example, the liquid level detection unit 92 includes an imaging unit 96. The imaging unit 96 acquires image data of the surface Wa of the wafer W held in the holding unit 21. The image data acquired by the imaging unit 96 includes information regarding the formation state of the liquid film.
[0042] The drip detection unit 93 detects information regarding the dripping state of the developer solution from the nozzle 31. Dripping refers to the phenomenon where developer solution falls from the nozzle 31 outside of a preset developer solution supply period. For example, the drip detection unit 93 includes an imaging unit 97. The imaging unit 97 acquires image data of the nozzle 31 and the area below it. The image data acquired by the imaging unit 97 includes information regarding the dripping state.
[0043] The processing inspection unit 90 may also detect information regarding the supply status of the film-forming solution during the film-forming process. In this case as well, it is possible to detect information regarding the supply status of the film-forming solution in the coating unit U1 using the same configuration as described above for the splash detection unit 91, the liquid level detection unit 92, and the drip detection unit 93.
[0044] (Control devices and machine learning devices) As shown in Figure 6, the control device 100 has a functional configuration (hereinafter referred to as "functional module") which includes a processing condition holding unit 111, a processing control unit 112, a data acquisition unit 113, a data input unit 114, and a recommended condition derivation unit 115.
[0045] The processing condition holding unit 111 stores pre-set processing conditions. For example, the processing condition holding unit 111 stores the development processing conditions of the processing module 14. The development processing conditions include the heat treatment conditions of the heat treatment unit U4 and the liquid treatment conditions of the development unit U3. The liquid treatment conditions of the development unit U3 include sequences such as the supply of developer solution, the supply of rinse solution, and drying (rotational drying). Furthermore, the liquid treatment conditions of the development unit U3 include the rotation speed of the wafer W, the amount of developer solution supplied, the supply time of the developer solution, the supply amount of rinse solution, the discharge time of the rinse solution, and the drying time in each sequence. When the nozzle 31 is moved by the nozzle transfer unit 32 while the developer solution is supplied, the liquid treatment conditions of the development unit U3 may further include the starting position, speed of movement, and ending position of movement of the nozzle 31 during the supply of developer solution.
[0046] The processing condition holding unit 111 may store the film deposition processing conditions from the processing modules 11, 12, and 13. The film deposition processing conditions include the liquid processing conditions from the coating unit U1 and the heat processing conditions from the heat processing unit U2. The liquid processing conditions from the coating unit U1 include sequences such as the supply of the film deposition liquid. The liquid processing conditions from the coating unit U1 also include the rotation speed of the wafer W, the amount of film deposition liquid supplied, the supply time of the film deposition liquid, etc., in each sequence.
[0047] The processing control unit 112 causes the processing unit to perform substrate processing according to the processing conditions stored in the processing condition holding unit 111. For example, the processing control unit 112 causes the processing module 14 to perform development processing according to the development processing conditions stored in the processing condition holding unit 111. As an example, the processing control unit 112 controls the heat treatment unit U4 to perform heat treatment (e.g., PEB) on the wafer W after exposure processing according to preset heat treatment conditions. Subsequently, the processing control unit 112 controls the development unit U3 to perform development processing on the wafer W according to preset liquid treatment conditions. Subsequently, the processing control unit 112 controls the heat treatment unit U4 to perform heat treatment (e.g., PB) on the wafer W according to preset heat treatment conditions.
[0048] The processing control unit 112 may cause the processing modules 11, 12, and 13 to perform the film formation process according to the film formation processing conditions stored in the processing condition holding unit 111. For example, the processing control unit 112 controls the coating unit U1 to apply the film formation solution to the surface Wa of the wafer W according to preset liquid processing conditions. Subsequently, the processing control unit 112 controls the heat treatment unit U2 to perform heat treatment on the wafer W according to preset heat treatment conditions.
[0049] The data acquisition unit 113 acquires actual data regarding the quality of substrate processing according to the processing conditions. The data acquisition unit 113 may acquire actual data that includes actual values for multiple items. The actual values for multiple items may include actual values for post-processing items that indicate the quality of the wafer W after substrate processing, and actual values for in-processing items that indicate the supply status of the processing liquid during substrate processing. The actual data acquired may include actual data that includes multiple actual values of the same type. Multiple actual values of the same type mean multiple actual values that should ideally be the same value. A specific example of multiple actual values of the same type is multiple actual values acquired at multiple locations.
[0050] For example, the data acquisition unit 113 acquires actual values (hereinafter referred to as "actual line width values") of the line width of the resist pattern formed on the surface Wa of the wafer W by the development process, as an example of a post-processing item. Specifically, the data acquisition unit 113 acquires the actual line width values based on the information detected by the post-processing inspection unit 80. The data acquisition unit 113 may also acquire actual line width values at multiple locations on the surface Wa based on the information detected by the post-processing inspection unit 80.
[0051] The data acquisition unit 113 acquires actual values indicating the supply status of the developer solution during the developing process, as an example of items being processed. Specifically, based on the information detected by the processing inspection unit 90, the data acquisition unit 113 acquires actual values regarding splashing, poor film formation, and dripping of the developer solution.
[0052] The data acquisition unit 113 may acquire actual values, as an example of post-processing items, that represent the actual thickness of the film formed on the surface Wa of the wafer W by the film deposition process (hereinafter referred to as "actual film thickness value"). Specifically, the data acquisition unit 113 may acquire the actual film thickness value based on information detected by the post-processing inspection unit 80. The data acquisition unit 113 may acquire actual film thickness values at multiple locations on the surface Wa based on information detected by the post-processing inspection unit 80.
[0053] The data acquisition unit 113 may acquire actual values indicating the supply status of the film-forming solution during the film-forming process, as an example of items being processed. Specifically, the data acquisition unit 113 may acquire actual values of splashing, poor film formation, and dripping of the film-forming solution based on the information detected by the processing inspection unit 90.
[0054] The data input unit 114 inputs a dataset containing processing conditions and actual data corresponding to those processing conditions to the model generation unit 214 (described later) of the machine learning device 200. The data input unit 114 may also select the dataset to input to the model generation unit 214 based on the actual values of the items being processed. For example, the data input unit 114 may exclude datasets in which the processing liquid supply condition is poor from being input to the model generation unit 214. Specific examples of a poor processing liquid supply condition include at least one of the above-mentioned liquid splashing, poor liquid film formation, and liquid dripping.
[0055] The recommended condition derivation unit 115 derives recommended processing conditions for substrate processing based on a learning model generated by the model generation unit 214 using machine learning based on multiple sets of datasets. As will be described later, the learning model is generated to output predictive data regarding the quality of substrate processing in response to the input processing conditions. The recommended processing conditions are those that are judged to be recommended for adoption based on the learning model and predetermined evaluation conditions for the predictive data.
[0056] For example, the recommended condition derivation unit 115 includes an evaluation condition input unit 121 and a search result acquisition unit 122 as more subdivided functional modules. The evaluation condition input unit 121 inputs the evaluation conditions for the predicted data to the condition search unit 216 (described later) of the machine learning device 200. The evaluation conditions are those used to determine whether the predicted data is at an acceptable level.
[0057] The evaluation condition input unit 121 may input evaluation conditions for evaluating the predicted values of multiple items to the condition search unit 216. The evaluation condition input unit 121 may input evaluation conditions to the condition search unit 216 that include conditions relating to the variability of the predicted values for at least some of the multiple items. For example, the evaluation conditions may include a method for deriving the evaluation score of the predicted data and an acceptable level for the evaluation score.
[0058] As an example, the evaluation condition input unit 121 inputs evaluation conditions to the condition search unit 216 for evaluating the predicted line widths (hereinafter referred to as "predicted line widths") at multiple locations on the surface Wa. These evaluation conditions include, as an example of a method for deriving the evaluation score, a formula for calculating the variability of the predicted line widths at at least some (e.g., all) of the multiple locations (e.g., a formula for calculating the standard deviation). These evaluation conditions include, as an acceptable level for the evaluation score, an acceptable upper limit of the variability calculated by the above formula.
[0059] The evaluation condition input unit 121 may input evaluation conditions to the condition search unit 216 for evaluating the predicted values of the film thickness at multiple locations on the surface Wa. These evaluation conditions include, as an example of a method for deriving the evaluation score, a formula for calculating the variation in the predicted film thickness at at least some (e.g., all) of the multiple locations (e.g., a formula for calculating the standard deviation). These evaluation conditions include, as an acceptable level for the evaluation score, an acceptable upper limit of the variation calculated by the above formula.
[0060] The search result acquisition unit 122 acquires the recommended processing conditions derived by the condition search unit 216 and stores them in the processing condition storage unit 111. As will be described later, the recommended processing conditions are derived based on multiple sets of datasets, the learning model, and the evaluation conditions input by the evaluation condition input unit 121.
[0061] Here, the processing control unit 112 may instruct the processing unit to perform further substrate processing according to the recommended processing conditions. The data acquisition unit 113 may acquire additional actual data regarding the quality of the substrate processing according to the recommended processing conditions. The data input unit 114 may input an additional dataset, including the recommended processing conditions and the additional actual data, to the model generation unit 214. The recommended condition derivation unit 115 may update the recommended processing conditions based on the learning model updated by the model generation unit 214 based on the additional dataset. Updating the learning model means generating a new learning model based on multiple datasets including the additional dataset. Updating the recommended processing conditions means deriving new recommended processing conditions based on the learning model updated by the model generation unit 214.
[0062] In this case, the control device 100 may further include a condition evaluation unit 116 and an iteration management unit 117. The condition evaluation unit 116 evaluates whether the recommended processing conditions are acceptable. The iteration management unit 117 repeats at least the following until the evaluation result by the condition evaluation unit 116 is acceptable. i) The processing control unit 112 causes the processing unit to perform further substrate processing according to the recommended processing conditions. ii) The data acquisition unit 113 acquires additional performance data. iii) The data input unit 114 further inputs the additional dataset to the model generation unit 214. iv) Based on the learning model updated by the model generation unit 214 using the additional dataset, the recommended condition derivation unit 115 updates the recommended processing conditions.
[0063] There are no particular restrictions on the evaluation method of the recommended processing conditions by the condition evaluation unit 116. For example, the condition evaluation unit 116 evaluates whether or not to adopt the recommended processing conditions based on the evaluation results of the additional actual data based on predetermined evaluation conditions. These evaluation conditions may be the same as the evaluation conditions for the forecast data described above. For example, the evaluation conditions include a method for deriving the evaluation score of the additional actual data and an acceptable level for the evaluation score.
[0064] As an example, the condition evaluation unit 116 evaluates the actual line width values at multiple locations on the surface Wa based on predetermined evaluation conditions. These evaluation conditions include, as an example of a method for deriving the evaluation score, a formula for calculating the variation in the actual line width values at at least some (e.g., all) of the multiple locations (e.g., a formula for calculating the standard deviation). These evaluation conditions include, as an acceptable level for the evaluation score, an acceptable upper limit of the variation calculated by the above formula.
[0065] The evaluation condition input unit 121 may evaluate the actual film thickness values at multiple locations on the surface Wa based on predetermined evaluation conditions. These evaluation conditions include, as an example of a method for deriving the evaluation score, a formula for calculating the variation in the actual film thickness values at at least some (e.g., all) of the multiple locations (e.g., a formula for calculating the standard deviation). These evaluation conditions include, as an acceptable level for the evaluation score, an acceptable upper limit of the variation calculated by the above formula.
[0066] The condition evaluation unit 116 may evaluate whether to adopt the latest recommended processing conditions based on whether the difference between the latest recommended processing conditions and past recommended processing conditions (for example, the previous recommended processing conditions) is within an acceptable level. It is expected that the recommended processing conditions will gradually converge to a single condition through iterative processing by the iterative management unit 117. By reducing the difference between the latest recommended processing conditions and past recommended processing conditions to an acceptable level, it becomes possible to adopt recommended processing conditions that are close to the convergence result.
[0067] The condition evaluation unit 116 may evaluate whether to adopt the latest recommended processing conditions based on whether the difference between the latest additional performance data and past additional performance data is within an acceptable level. The condition evaluation unit 116 may also evaluate whether to adopt the latest recommended processing conditions based on whether the difference between the evaluation score of the latest additional performance data and the evaluation score of past additional performance data is within an acceptable level.
[0068] The control device 100 may further include a performance data correction unit 118. Before the data input unit 114 inputs the data set to the model generation unit 214, the performance data correction unit 118 removes components from the performance data of the data set that are caused by factors other than the substrate processing by the processing unit of the coating / developing apparatus 2. For example, the performance data correction unit 118 removes variation components caused by the exposure process from the line width performance values at multiple locations. Specifically, the performance data correction unit 118 removes variation patterns specific to the exposure process that have been investigated in advance from the line width performance values at multiple locations.
[0069] The machine learning device 200 has, as functional modules, a search calculation unit 211, a data acquisition unit 212, a data storage unit 213, a model generation unit 214, a model storage unit 215, and a conditional search unit 216. The search calculation unit 211 is the machine learning engine in the machine learning device 200. For example, the search calculation unit 211 searches for a solution using a genetic algorithm based on pre-set learning conditions. These learning conditions include the first generation of individuals, a method for deriving the individual evaluation scores, and an acceptable level for the evaluation scores.
[0070] The search calculation unit 211 acquires multiple individuals of the first generation and calculates an evaluation score for each individual. Subsequently, the search calculation unit 211 eliminates individuals whose evaluation scores are far from an acceptable level, and evolves the multiple individuals into multiple individuals of the next generation through calculations such as crossover, inversion, and mutation. Thereafter, the search calculation unit 211 derives individuals whose evaluation scores are at an acceptable level by repeating the process of deriving individual evaluation scores, eliminating individuals, and evolving individuals.
[0071] The data acquisition unit 212 acquires the above dataset and additional datasets from the data input unit 114. The data storage unit 213 stores the datasets acquired by the data acquisition unit 212 as a training database.
[0072] The model generation unit 214 generates the above-mentioned learning model by machine learning based on multiple sets of datasets accumulated by the data storage unit 213. The model generation unit 214 may also generate the learning model by machine learning that includes a computation process to search for the above-mentioned learning model using a genetic program. For example, the model generation unit 214 generates a learning model that includes multiple model equations, each outputting predicted values for multiple items in response to input processing conditions. In generating each model equation, the model generation unit 214 sets the above-mentioned learning conditions for deriving the model equation and requests the search computation unit 211 to derive a model equation according to those learning conditions.
[0073] For example, the model generation unit 214 generates multiple provisional model equations that generate predicted values in response to the input processing conditions, and these become multiple individuals of the first generation described above. The provisional model equation is a mathematical expression represented in a tree structure with various operators and random numbers as elements. The model generation unit 214 uses a deviation score, which indicates the difference between the predicted value and the actual value based on the provisional model equation, as the evaluation score in the above learning conditions, and defines a method for deriving it. For example, the model generation unit 214 defines a derivation method that includes at least the following procedure. a1) Inputting the processing conditions of multiple sets of datasets into a hypothetical model equation to derive multiple predicted values. a2) Derive a deviation score that shows the discrepancy between multiple predicted values and actual values from multiple sets of datasets.
[0074] The deviation score can be any value as long as it indicates the difference between multiple predicted values and the actual values of multiple sets of datasets. Specific examples of the deviation score include the sum of the squares of the differences between the predicted and actual values, or the square root of the sum of those squares. The model generation unit 214 sets a predetermined upper limit for the deviation score as the acceptable level for the evaluation score under the above learning conditions.
[0075] The search calculation unit 211 repeatedly derives a deviation score for a provisional model expression, eliminates provisional model expressions, and evolves the provisional model expression to derive a model expression in which the deviation score is below the upper limit. The model generation unit 214 obtains the model expression derived by the search calculation unit 211 and saves it in the model storage unit 215. Through the above procedure, the model generation unit 214 saves each model expression in the model storage unit 215, thereby generating a learning model containing multiple model expressions in the model storage unit 215.
[0076] The condition search unit 216 derives recommended processing conditions based on multiple sets of datasets stored in the data storage unit 213, the learning model stored in the model storage unit 215, and the evaluation conditions input by the evaluation condition input unit 121. The condition search unit 216 may also derive recommended processing conditions by a search process that includes a computation process for searching for recommended processing conditions using a genetic algorithm. For example, the condition search unit 216 sets the above-mentioned learning conditions for deriving recommended processing conditions and requests the search computation unit 211 to derive recommended processing conditions according to said learning conditions.
[0077] For example, the condition search unit 216 uses the processing conditions of multiple sets of datasets stored in the data holding unit 213 as multiple individuals of the first generation. Each processing condition is a tree structure representing multiple items of conditions.
[0078] The condition search unit 216 defines a method for deriving the evaluation score under the above learning conditions, which includes at least the following procedure. b1) Inputting the processing conditions of multiple sets of datasets into the learning model stored in the model holding unit 215 to derive predicted data. b2) The evaluation score of the predicted data is derived according to the derivation method for the evaluation conditions entered by the evaluation condition input unit 121.
[0079] The condition search unit 216 sets the acceptable level for the evaluation condition input by the evaluation condition input unit 121 as the acceptable level for the evaluation score in the learning condition.
[0080] The search calculation unit 211 derives recommended processing conditions whose evaluation score is at an acceptable level by repeatedly deriving evaluation scores for processing conditions, eliminating processing conditions, and evolving processing conditions. The condition search unit 216 obtains the recommended processing conditions derived by the search calculation unit 211 and outputs them to the search result acquisition unit 122.
[0081] Figure 7 is a block diagram illustrating the hardware configuration of the control device 100 and the machine learning device 200. The control device 100 includes a circuit 190. The circuit 190 includes at least one processor 191, a memory 192, a storage 193, a display device 194, an input device 195, an input / output port 196, and a communication port 197. The storage 193 is a computer-readable non-volatile storage medium (e.g., flash memory). For example, the storage 193 stores a program that causes the control device 100 to perform substrate processing on the coating / developing device 2 according to preset processing conditions, acquire actual data on the quality of the substrate processing according to the processing conditions from the quality inspection device 70, input a dataset including the processing conditions for the substrate processing and the actual data of the substrate processing to the machine learning device 200, and derive recommended processing conditions for the substrate processing based on the learning model generated by the machine learning device 200 based on multiple datasets. For example, the storage 193 includes a storage area for storing programs for configuring the above-mentioned functional module and a storage area allocated to the processing condition holding unit 111.
[0082] The display device 194 is used for displaying recommended processing conditions, etc. The display device 194 and the input device 195 function as the user interface of the control device 100. The display device 194 includes, for example, an LCD monitor, and is used to display information to the user. The input device 195 is, for example, a keyboard, and acquires input information from the user. The display device 194 and the input device 195 may be integrated as a so-called touch panel. The input device 195 is used for inputting processing conditions and evaluation conditions, etc.
[0083] Memory 192 temporarily stores programs loaded from storage 193 and calculation results from processor 191. Processor 191 controls the coating / developing apparatus 2 by executing the above programs in cooperation with memory 192. Input / output port 196 performs input and output of electrical signals to and from display device 194 and input device 195 in response to commands from processor 191. Communication port 197 performs network communication with machine learning apparatus 200 in response to commands from processor 191.
[0084] The machine learning device 200 includes a circuit 290. The circuit 290 includes a processor 291, a memory 292, a storage 293, and a communication port 294. The storage 293 is a computer-readable non-volatile storage medium (e.g., flash memory). For example, the storage 293 stores a program that causes the machine learning device 200 to acquire the above-mentioned dataset and generate the above-mentioned learning model by machine learning based on multiple sets of datasets. For example, the storage 293 includes a storage area for storing a program for configuring the above-mentioned functional module, and a storage area allocated to the data holding unit 213 and the model holding unit 215.
[0085] Memory 292 temporarily stores the program loaded from storage 293 and the calculation results from processor 291. Processor 291 works in cooperation with memory 292 to execute the program and generate the learning model. Communication port 294 communicates with control device 100 via network in response to commands from processor 291.
[0086] [Procedure for setting conditions] Next, as an example of a method for supporting condition setting, the condition setting support procedures performed by the control device 100 and the machine learning device 200 will be described. The condition setting support procedure performed by the control device 100 includes a procedure for deriving recommended processing conditions and a procedure for refining the recommended processing conditions. The condition setting support procedure performed by the machine learning device 200 includes a procedure for generating a learning model and a procedure for searching for recommended processing conditions. Each procedure will be illustrated in detail below.
[0087] (Procedure for deriving recommended processing conditions) The procedure for deriving recommended processing conditions by the control device 100 includes: causing the coating / developing apparatus 2 to perform substrate processing, including supplying processing liquid to the wafer W, according to preset processing conditions; acquiring actual data on the quality of the substrate processing according to the processing conditions; inputting a dataset including the processing conditions for the substrate processing and the actual data of the substrate processing into the machine learning apparatus 200; and deriving recommended processing conditions based on the learning model generated by the machine learning apparatus 200 based on multiple sets of datasets. Deriving recommended processing conditions may also include inputting evaluation conditions for prediction data into the machine learning apparatus 200; and acquiring the recommended processing conditions derived by the machine learning apparatus 200 based on multiple sets of datasets, the learning model, and the evaluation conditions.
[0088] As illustrated in Figure 8, the control device 100 first executes steps S01, S02, and S03. In step S01, the processing control unit 112 causes the coating and developing apparatus 2 to start substrate processing according to the processing conditions stored in the processing condition holding unit 111. In step S02, the data acquisition unit 113 acquires actual values of the items being processed. The data acquisition unit 113 may acquire actual values of multiple items being processed. For example, the data acquisition unit 113 acquires actual values of splashing, poor film formation, and dripping of the developing solution based on information detected by the processing inspection unit 90. The data acquisition unit 113 may also acquire actual values of splashing, poor film formation, and dripping of the film-forming solution based on information detected by the processing inspection unit 90. In step S03, the processing control unit 112 confirms whether the substrate processing according to the processing conditions has been completed.
[0089] If the control device 100 determines in step S03 that the substrate processing is not complete, it returns the process to step S02. Thereafter, the acquisition of actual values for the items being processed continues until the substrate processing is complete. If the control device 100 determines in step S03 that the substrate processing is complete, it executes step S04. In step S04, the data input unit 114 checks whether there are any defects in the supply state of the processing liquid based on the actual values of the items being processed.
[0090] If the control device 100 determines in step S04 that there is no defect in the supply state of the processing liquid, it executes steps S05, S06, and S07. In step S05, the data acquisition unit 113 acquires the actual values of the post-processing items. The data acquisition unit 113 may acquire the actual values of multiple post-processing items. For example, the data acquisition unit 113 acquires the actual line width values at multiple locations on the surface Wa based on the information detected by the post-processing inspection unit 80. The data acquisition unit 113 may also acquire the actual film thickness values at multiple locations on the surface Wa based on the information detected by the post-processing inspection unit 80. In step S06, the actual data correction unit 118 removes components caused by factors other than substrate processing from the actual values of the multiple post-processing items. In step S07, the data input unit 114 inputs a dataset including processing conditions and actual data (actual values of multiple post-processing items) corresponding to those processing conditions into the machine learning device 200.
[0091] Next, the control device 100 executes step S08. If it is determined in step S04 that there is a problem with the supply of the processing liquid, the control device 100 executes step S08 without executing steps S05, S06, and S07. In step S08, the data input unit 114 checks whether the input of the number of datasets required for machine learning in the machine learning device 200 has been completed.
[0092] If the control device 100 determines in step S08 that the input of the required number of datasets for machine learning has not been completed, it executes step S09. In step S09, the processing control unit 112 changes the processing conditions. For example, the processing control unit 112 changes the processing conditions based on user input to the input device 195. After that, the control device 100 returns the process to step S01. From there, the process of changing processing conditions, executing board processing, and inputting datasets is repeated until the input of the required number of datasets for machine learning is completed.
[0093] In step S08, if the control device 100 determines that the number of datasets required for machine learning has been input, it executes steps S11, S12, S13, and S14. In step S11, the evaluation condition input unit 121 waits for a learning completion notification from the machine learning device 200. In step S12, the evaluation condition input unit 121 sets the evaluation conditions for the predicted data. For example, the evaluation condition input unit 121 sets the evaluation conditions for the predicted data based on user input to the input device 195. In step S13, the evaluation condition input unit 121 inputs the evaluation conditions set in step S12 to the machine learning device 200. In step S14, the search result acquisition unit 122 acquires the recommended processing conditions derived by the machine learning device 200 based on multiple datasets, the learning model, and the evaluation conditions input by the evaluation condition input unit 121, and saves them to the processing module 11. This completes the procedure for deriving the recommended processing conditions.
[0094] (Procedure for refining recommended processing conditions) The procedure for refining the recommended processing conditions by the control device 100 includes having the coating / developing apparatus 2 perform further substrate processing according to the recommended processing conditions, acquiring additional performance data regarding the quality of the substrate processing according to the recommended processing conditions, inputting an additional dataset including the recommended processing conditions and the additional performance data into the machine learning apparatus 200, and updating the recommended processing conditions based on the learning model updated by the machine learning apparatus 200 based on the additional dataset. This refinement procedure may further include evaluating the recommended processing conditions, and the steps of having the coating / developing apparatus 2 perform further substrate processing according to the recommended processing conditions, acquiring additional performance data, inputting an additional dataset into the machine learning apparatus 200, and updating the recommended processing conditions based on the learning model updated by the machine learning apparatus 200 based on the additional dataset may be repeated until the evaluation results of the recommended processing conditions reach a predetermined level.
[0095] As illustrated in Figure 9, the control device 100 first executes steps S21, S22, S23, S24, and S25. In step S21, the processing control unit 112 causes the coating and developing apparatus 2 to perform substrate processing according to the recommended processing conditions stored in the processing condition holding unit 111. In step S22, the data acquisition unit 113 acquires additional actual values for the above-mentioned post-processing items. The data acquisition unit 113 may acquire additional actual values for multiple post-processing items. In step S23, the actual data correction unit 118 removes components caused by factors other than substrate processing from the additional actual values for multiple post-processing items. In step S24, the condition evaluation unit 116 evaluates the recommended processing conditions. In step S25, the repetition management unit 117 confirms whether the recommended processing conditions can be adopted based on the evaluation results in step S24.
[0096] If the control device 100 determines in step S25 that the recommended processing conditions cannot be adopted, it executes steps S26, S27, and S28. In step S26, the data input unit 114 inputs an additional dataset to the machine learning device 200, which includes the processing conditions and additional performance data corresponding to those processing conditions (additional performance values for multiple post-processing items). In step S27, the search result acquisition unit 122 waits for notification from the machine learning device 200 that the learning model has been updated. In step S28, the search result acquisition unit 122 acquires the recommended processing conditions updated by the machine learning device 200 based on the additional dataset and saves them to the processing module 11. After that, the control device 100 returns to step S21. Thereafter, the acquisition of additional performance data and the updating of the recommended processing conditions are repeated until the recommended processing conditions become acceptable.
[0097] If the control device 100 determines in step S25 that the recommended processing conditions can be adopted, it completes the processing. This completes the procedure for refining the recommended processing conditions.
[0098] (Steps for generating a learning model) The procedure for generating a learning model using the machine learning device 200 includes obtaining the above-mentioned dataset and generating a learning model by machine learning based on multiple sets of datasets. Generating a learning model by machine learning may include a computational process that searches for a learning model using a genetic program. A learning model may be generated that includes multiple model equations, each outputting predicted values for multiple items in response to input processing conditions.
[0099] As illustrated in Figure 10, the machine learning device 200 first executes steps S31, S32, and S33. In step S31, the data acquisition unit 212 waits for input of a dataset from the data input unit 114. In step S32, the data acquisition unit 212 stores the input dataset in the data storage unit 213. In step S33, the data storage unit 213 checks whether the number of datasets stored in the data storage unit 213 has reached the number required for machine learning.
[0100] In step S33, if the control device 100 determines that the number of accumulated datasets has not reached the number required for machine learning, it returns to step S31. Thereafter, the acquisition of datasets is repeated until the number of datasets required for machine learning is accumulated.
[0101] In step S33, if the control device 100 determines that the number of accumulated datasets has reached the number required for machine learning, it executes steps S34, S35, and S36. In step S34, the model generation unit 214 sets the above learning conditions for deriving a model formula corresponding to any of the predicted values and requests the search calculation unit 211 to derive a model formula according to the learning conditions. For example, the model generation unit 214 generates multiple provisional model formulas that generate predicted values according to the input of processing conditions, and these become multiple individuals of the first generation. The model generation unit 214 also defines a derivation method for the deviation score as an evaluation score and sets the upper limit of the deviation score as the acceptable level of the evaluation score. In step S35, the search calculation unit 211 calculates the deviation score of each provisional model formula according to the learning conditions. In step S36, the search calculation unit 211 checks whether there are any provisional model formulas whose deviation score is less than or equal to the upper limit, according to the learning conditions.
[0102] In step S36, if it is determined that there are no hypothetical model equations whose deviation score is below the upper limit, the machine learning device 200 executes step S37. In step S37, the search calculation unit 211 eliminates hypothetical model equations whose deviation score significantly exceeds the upper limit, and evolves the multiple hypothetical model equations into multiple next-generation hypothetical model equations through calculations such as crossover, inversion, and mutation. After that, the machine learning device 200 returns to step S35. From there, the derivation of the deviation score of the hypothetical model equations, the elimination of the hypothetical model equations, and the evolution of the hypothetical model equations are repeated until a hypothetical model equation whose deviation score is below the upper limit is derived.
[0103] In step S36, if it is determined that there is a provisional model equation whose deviation score is less than or equal to the upper limit, the machine learning device 200 executes steps S38 and S39. In step S38, the search calculation unit 211 selects the provisional model equation with the best (smallest) deviation score and saves it in the model storage unit 215 as one of the model equations for the learning model. In step S39, the model generation unit 214 checks whether the derivation of all model equations necessary to constitute the learning model (i.e., all model equations required to derive the predicted values of multiple items) has been completed.
[0104] If the machine learning device 200 determines in step S39 that the derivation of all model equations is not yet complete, it executes step S41. In step S41, the model generation unit 214 modifies the model equation to be derived. In other words, the model generation unit 214 modifies the item to be predicted by the model equation. After that, the machine learning device 200 returns to step S34. From there, the setting of learning conditions and the derivation of model equations based on these conditions are repeated until the derivation of all model equations is complete.
[0105] If the machine learning device 200 determines in step S39 that the derivation of all model equations is complete, it completes the generation of the trained model. This completes the procedure for generating the trained model.
[0106] (Procedure for exploring recommended processing conditions) The procedure for searching for recommended processing conditions using the machine learning device 200 includes deriving recommended processing conditions for substrate processing based on multiple sets of datasets, a learning model, and evaluation conditions for the predicted data. Deriving the recommended processing conditions may include a computational process that searches for recommended processing conditions using a genetic algorithm. Recommended processing conditions may also be derived based on multiple sets of datasets, multiple model equations, and evaluation conditions that evaluate the predicted values of multiple items. For example, recommended processing conditions may be derived based on evaluation conditions that include conditions related to the variability of the predicted values of multiple items.
[0107] As illustrated in Figure 11, the machine learning device 200 first executes steps S51 and S52. In step S51, the condition search unit 216 waits for input of evaluation conditions from the evaluation condition input unit 121. In step S52, the condition search unit 216 sets the above learning conditions for deriving recommended processing conditions and requests the search calculation unit 211 to derive recommended processing conditions according to the learning conditions. For example, the condition search unit 216 sets the processing conditions of multiple sets of datasets stored in the data holding unit 213 as multiple individuals of the first generation. The condition search unit 216 also determines the method for deriving the evaluation score and the acceptable level of the evaluation score based on the evaluation conditions input by the evaluation condition input unit 121.
[0108] Next, the machine learning device 200 executes steps S53, S54, and S55. In step S53, the search calculation unit 211 inputs each processing condition into the learning model stored in the model holding unit 215 and derives the predicted data. In step S54, the search calculation unit 211 derives the evaluation score of the predicted data. In step S55, the search calculation unit 211 checks whether there are any processing conditions for which the evaluation score is at an acceptable level.
[0109] If, in step S55, the machine learning device 200 determines that there are no processing conditions with an evaluation score at an acceptable level, it executes step S56. In step S56, the search calculation unit 211 eliminates processing conditions with evaluation scores far from an acceptable level, and evolves multiple processing conditions into a next generation of processing conditions through calculations such as crossover, inversion, and mutation. After that, the machine learning device 200 returns to step S53. From there, the derivation of evaluation scores for processing conditions, elimination of processing conditions, and evolution of processing conditions are repeated until processing conditions with an evaluation score at an acceptable level are derived.
[0110] In step S55, if it is determined that there are processing conditions where the evaluation score is at an acceptable level, the machine learning device 200 executes steps S57 and S58. In step S57, the search calculation unit 211 selects the processing condition with the best evaluation score as the recommended processing condition. In step S58, the condition search unit 216 obtains the recommended processing condition derived by the search calculation unit 211 and outputs it to the search result acquisition unit 122. This completes the search procedure for the recommended processing condition.
[0111] The derivation of recommended processing conditions is not limited to the computational process of searching for recommended processing conditions using the genetic algorithm described above. For example, in step S55, recommended processing conditions can also be derived by a computational process that repeatedly modifies the processing conditions and derives the evaluation score until the evaluation score reaches an acceptable level.
[0112] [Specific examples] As an example, the procedure for assisting in setting processing conditions for the development process in the development unit U3 will be specifically illustrated. The processing conditions for the development process in the development unit U3 include, for example, the rotation speed of the wafer W, the amount of developer supplied, the supply time of the developer, the amount of rinse solution supplied, the discharge time of the rinse solution, the complete drying time, the starting position of the nozzle 31, the movement speed of the nozzle 31, and the ending position of the nozzle 31. Of these, the items for which recommended processing conditions are required are, for example, the rotation speed of the wafer W and the movement speed of the nozzle 31 while the developer solution is being supplied. In this case, in steps S01 to S09 above, the data set is repeatedly input to the machine learning device 200 while changing the rotation speed of the wafer W and the movement speed of the nozzle 31.
[0113] For example, in steps S01 to S09, the rotation speed of the wafer W is set to 200 rpm, and the movement speed of the nozzle 31 is set to 15 mm / s, 20 mm / s, and 25 mm / s. Next, the rotation speed of the wafer W is set to 250 rpm, and the movement speed of the nozzle 31 is set to 15 mm / s, 20 mm / s, and 25 mm / s. Next, the rotation speed of the wafer W is set to 300 rpm, and the movement speed of the nozzle 31 is set to 15 mm / s, 20 mm / s, and 25 mm / s. In step S04, which is performed under any of these processing conditions, if it is determined that there is a defect in the supply state of the processing liquid, the dataset corresponding to that processing condition is excluded from the input to the machine learning device 200. In this case, in order to obtain the number of datasets necessary for machine learning, the processing conditions are further modified in step S09. For example, if it is determined that splashing of the developer solution occurred under processing conditions of a rotation speed of 300 rpm and a movement speed of 25 mm / s, the rotation speed is changed to 290 rpm, and performance data is acquired again under the conditions of a rotation speed of 290 rpm and a movement speed of 25 mm / s.
[0114] In step S05, for example, the average line width in each of the n divided regions of the wafer W is obtained as n actual line width values. An example of the dataset in this case is shown below. Processing conditions: Wafer W rotation speed = 200 rpm, nozzle movement speed = 15 mm / s Actual data: W1=23nm, W2=28nm, W3=31nm, ...Wn=24nm (Wi: average line width in divided region i)
[0115] The learning model generated in the machine learning device 200 based on this dataset will, for example, output a predicted value of the average line width in n divided regions in response to inputs of the rotation speed of the wafer W and the movement speed of the nozzle. In step S12, a formula for calculating the standard deviation of n predicted line widths is set as the formula for calculating the evaluation score, and an acceptable value for the standard deviation is set as the acceptable level. Based on the evaluation conditions set in this way, the machine learning device 200 derives recommended values for the rotation speed of the wafer W and the movement speed of the nozzle 31 (for example, the rotation speed of the wafer W = 234 rpm, and the movement speed of the nozzle 31 = 22 rpm) as the recommended processing conditions.
[0116] [Effects of this embodiment] As described above, the substrate processing condition setting support method according to this embodiment includes inputting a dataset including processing conditions for substrate processing performed by the coating / developing apparatus 2, including the supply of processing liquid to the wafer W, and actual data regarding the quality of said substrate processing, into the machine learning apparatus 200, and deriving recommended processing conditions for substrate processing based on a model generated by the machine learning apparatus 200 through machine learning based on multiple sets of datasets, which is a learning model that outputs predictive data regarding the quality of substrate processing in response to the input of processing conditions.
[0117] This method of assisting with setting conditions allows for the efficient search for appropriate processing conditions, as recommended processing conditions are derived based on a learning model generated by machine learning. Therefore, it is effective in simplifying the process of setting processing conditions for substrate processing.
[0118] The method for assisting in setting substrate processing conditions may include: having the coating / developing apparatus 2 further perform substrate processing according to recommended processing conditions; acquiring additional performance data regarding the quality of substrate processing according to the recommended processing conditions; inputting an additional dataset containing the recommended processing conditions and additional performance data into the machine learning apparatus 200; and updating the recommended processing conditions based on the learning model updated by the machine learning apparatus 200 based on the additional dataset. In this case, the recommended processing conditions are updated through feedback between the recommended processing conditions and the additional performance data. Therefore, more appropriate processing conditions can be efficiently searched for.
[0119] The substrate processing condition setting support method may further include evaluating recommended processing conditions, having the coating / developing apparatus 2 perform further substrate processing according to the recommended processing conditions, acquiring additional performance data, inputting additional datasets into the machine learning apparatus 200, and updating the recommended processing conditions based on the learning model updated by the machine learning apparatus 200 based on the additional datasets, and repeating this process until the evaluation results of the recommended processing conditions reach a predetermined level. In this case, more appropriate processing conditions can be efficiently searched through iterative processing.
[0120] Deriving recommended processing conditions may include inputting evaluation conditions for the prediction data into the machine learning device 200, and obtaining the recommended processing conditions derived by the machine learning device 200 based on multiple sets of datasets, a learning model, and evaluation conditions. In this case, since the search for recommended processing conditions is also performed by the machine learning device 200, appropriate processing conditions can be searched for even more efficiently.
[0121] In the substrate processing condition setting support method, the dataset may be input to a machine learning device 200 that acquires actual data including actual values for multiple items and generates a learning model that includes multiple model equations that output predicted values for multiple items in response to the input of processing conditions, and evaluation conditions for evaluating the predicted values for multiple items may also be input to the machine learning device 200. In this case, by expanding the evaluation conditions to multiple items, the quality of processing can be evaluated more appropriately and more appropriate processing conditions can be searched for.
[0122] In the substrate processing condition setting support method, evaluation conditions including conditions related to the variability of predicted values for at least some of multiple items may be input to the machine learning device 200. In this case, since multiple items can be evaluated efficiently, more appropriate processing conditions can be efficiently searched for.
[0123] In the substrate processing condition setting support method, actual data including actual values of post-processing items indicating the quality of the wafer W after substrate processing and in-processing items indicating the supply status of the processing solution during substrate processing may be acquired, and a dataset to be input to the machine learning device 200 may be selected based on the actual values of the in-processing items. In this case, by directly capturing abnormalities during processing as in-processing data, the search range for recommended processing conditions based on post-processing quality can be narrowed. Therefore, appropriate processing conditions can be searched more efficiently.
[0124] The method for assisting in setting substrate processing conditions may further include excluding components from the actual data of the dataset that are caused by factors other than substrate processing, before inputting the dataset into the machine learning device 200. In this case, more appropriate processing conditions can be searched for.
[0125] The substrate processing may include a developing process in which a developer solution is supplied to a photosensitive film exposed to light on the surface Wa of the wafer W, and actual data including the actual line width of the pattern formed on the surface Wa of the wafer W by the developing process may be obtained. When the substrate processing includes a developing process, it tends to require considerable effort to derive suitable processing conditions. Therefore, the above-described condition setting support method allows for the efficient search for appropriate processing conditions and is highly effective.
[0126] The substrate processing may include a film deposition process in which a film-forming solution is applied to the surface Wa of the wafer W to form a film, and actual data including the actual film thickness of the film formed on the surface Wa of the wafer W by the film deposition process may be obtained. Even when the substrate processing includes a film deposition process, the quality of the substrate processing is very sensitive to the processing conditions, and therefore, a great deal of effort tends to be required to derive suitable processing conditions. For this reason, the above-described condition setting support method allows for the efficient search for appropriate processing conditions and is highly effective.
[0127] Although embodiments have been described above, this disclosure is not necessarily limited to the embodiments described above, and various modifications are possible without departing from the gist of the disclosure. For example, the substrate to be processed is not limited to semiconductor wafers, but may be a glass substrate, a mask substrate, an FPD (Flat Panel Display), etc. [Explanation of symbols]
[0128] 2...Coating and developing apparatus (substrate processing apparatus), 11,12,13,14...Processing module (processing unit), 112...Processing control unit, 113...Data acquisition unit, 114...Data input unit, 115...Recommended condition derivation unit, 121...Evaluation condition input unit, 122...Search result acquisition unit, 214...Model generation unit, W...Wafer, Wa...Surface.
Claims
1. A model generation device for generating a learning model for generating recommended processing conditions for the development processing in a substrate processing system including a processing section that performs a development processing for supplying a developer to a photosensitive film that has been subjected to an exposure processing on a surface of a substrate, and a processing control section that causes the processing section to execute the development processing in accordance with preset processing conditions, the model generation device comprising: a data acquisition unit that acquires, during the developing process, in-process performance data indicating a supply state of a developer, and acquires post-processing performance data including a performance value of a line width of a pattern formed on a surface of the substrate by the developing process; a data input unit that judges whether the supply state is poor based on the in-process performance data, and when it is judged that the supply state is not poor, accumulates a data set including the processing conditions and the post-processing performance data in a database; a model generation unit that generates the learning model by machine learning based on a plurality of sets of the data sets stored in the database, so as to output the predicted data of the line width in response to an input of the processing conditions; The poor supply state of the developer includes a case where the developer splashes on the substrate, The data acquisition unit is acquiring the in-process performance data based on an image of the substrate and the developing solution captured by an imaging unit; A model generating device that acquires the processed performance data based on a detection result by a sensor other than the imaging unit.
2. A model generating device as described in claim 1, wherein the data acquisition unit acquires the actual processing data based on the captured image including the height that can be reached by droplets of the developer splashing up from the substrate.
3. A model generating device as described in claim 1 or 2, wherein the poor supply state of the developer further includes at least one of poor formation of a liquid film of the developer and dripping of the developer.
4. A model generation device for generating a learning model for generating recommended processing conditions for the film formation process in a substrate processing system including a processing section that performs a film formation process by applying a film formation liquid to a surface of a substrate to form a coating, and a processing control section that causes the processing section to perform the film formation process in accordance with preset processing conditions, comprising: a data acquisition unit that acquires during the film formation process, data indicating a supply state of a film formation solution, and acquires post-processing data including a film thickness of the film formed on the surface of the substrate by the film formation process; a data input unit that judges whether the supply state is poor based on the in-process performance data, and when it is judged that the supply state is not poor, accumulates a data set including the processing conditions and the post-processing performance data in a database; a model generation unit that generates the learning model by machine learning based on a plurality of sets of the data sets stored in the database, so as to output the film thickness prediction data in response to the input of the processing conditions; The poor supply state of the film forming liquid includes the occurrence of splashing of the film forming liquid on the substrate, The data acquisition unit is acquiring the in-process performance data based on an image of the substrate and the film forming solution captured by an imaging unit; A model generating device that acquires the processed performance data based on a detection result by a sensor other than the imaging unit.
5. A model generating device as described in claim 4, wherein the data acquisition unit acquires the actual data during processing based on the captured image including the height that can be reached by droplets of the film forming liquid that splash up from the substrate.
6. A model generating device as described in claim 4 or 5, wherein the poor supply state of the film-forming liquid further includes at least one of poor formation of a liquid film of the film-forming liquid and dripping of the film-forming liquid.
7. A model generation method for generating a learning model for generating recommended processing conditions for the development processing in a substrate processing system including a processing unit that performs a development processing for supplying a developer to a photosensitive film that has been subjected to an exposure processing on a surface of a substrate, and a processing control unit that causes the processing unit to execute the development processing in accordance with preset processing conditions, comprising: acquiring in-process performance data indicating a supply state of a developer during the developing process, and acquiring post-processing performance data including a performance value of a line width of a pattern formed on a surface of the substrate by the developing process; determining whether the supply state is poor based on the in-process performance data, and if it is determined that the supply state is not poor, storing a data set including the processing conditions and the post-processing performance data in a database; generating the learning model by machine learning based on a plurality of sets of the data sets stored in the database so as to output predicted data of the line width in response to input of the processing conditions; The poor supply state of the developer includes a case where the developer splashes on the substrate, acquiring the in-process performance data based on an image of the substrate and the developing solution captured by an imaging unit; The model generating method further comprises acquiring the processed performance data based on a detection result obtained by a sensor other than the imaging unit.
8. The model generation method described in claim 7, wherein the actual data during processing is obtained based on the captured image including a height that can be reached by droplets of the developer splashing up from the substrate.
9. A model generating method as described in claim 7 or 8, wherein the poor supply state of the developer further includes at least one of poor formation of a liquid film of the developer and dripping of the developer.
10. A model generation method for generating a learning model for generating recommended processing conditions for the film formation process in a substrate processing system including a processing section that performs a film formation process by applying a film formation liquid to a surface of a substrate to form a coating, and a processing control section that causes the processing section to perform the film formation process in accordance with preset processing conditions, comprising: acquiring in-process performance data indicating a supply state of a film-forming solution during the film-forming process, and acquiring post-process performance data including a performance value of a film thickness of the film formed on the surface of the substrate by the film-forming process; determining whether the supply state is poor based on the in-process performance data, and if it is determined that the supply state is not poor, storing a data set including the processing conditions and the post-processing performance data in a database; generating the learning model by machine learning based on the plurality of sets of the data sets stored in the database, so as to output the prediction data of the film thickness in response to the input of the processing conditions; The poor supply state of the film forming liquid includes the occurrence of splashing of the film forming liquid on the substrate, acquiring the in-process performance data based on an image of the substrate and the film forming solution captured by an imaging unit; The model generating method further comprises acquiring the processed performance data based on a detection result obtained by a sensor other than the imaging unit.
11. The model generation method described in claim 10, wherein the actual data during processing is obtained based on the captured image including a height that can be reached by droplets of the film-forming liquid that splash up from the substrate.
12. A model generation method as described in claim 10 or 11, wherein the poor supply state of the film-forming liquid further includes at least one of poor formation of a liquid film of the film-forming liquid and dripping of the film-forming liquid.
13. A program for causing an apparatus to execute the model generation method described in any one of claims 7 to 12.