Method for training a neural network model, plating apparatus, and computer program
A neural network model trained with physical information and residual calculation enhances current density estimation, addressing accuracy issues in plating thickness distribution under varying conditions.
Patent Information
- Application Number
- JP2025040924
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-08-21
- Estimated Expiration
- 2045-03-14
AI Technical Summary
Existing methods for measuring the thickness distribution of plated films face challenges in achieving high accuracy due to changes in plating conditions, such as substrate holder position and posture, which affect current density estimation during the plating process.
A method for training a neural network model using physical information, involving input data processing, residual calculation based on physical phenomena, and optimization to enhance current density estimation accuracy, even with changing plating conditions.
The method enables highly accurate estimation of current density and thickness distribution of plated films, improving real-time monitoring and control in plating processes.
Smart Images

Figure 0007727354000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for measuring the thickness distribution of a plated film, and more particularly to a technique for training a neural network model used in measuring the thickness distribution of a plated film. [Background technology]
[0002] In recent years, plating has become one of the important steps in the device manufacturing process. For example, plating is widely used to form fine structures such as wiring and bumps (protruding metal terminals) in semiconductor integrated circuits. Controlling the thickness distribution of plating films (e.g., achieving uniform thickness distribution) is an important factor in ensuring product performance and reliability, and technology for measuring this thickness distribution plays an important role in controlling the quality of plating films and optimizing manufacturing processes.
[0003] A method for measuring the thickness distribution of a plating film is disclosed, for example, in Patent Document 1 (JP 2023-160356 A). This method uses a potential sensor disposed near the outer edge of a substrate having a surface to be plated and a state space model. According to this method, when the potential sensor measures the potential during the plating film formation process, the measured potential is used to perform a state estimation process based on the state space model, thereby estimating the current density of the plating current at the outer edge (hereinafter referred to as the "outer edge current density"). Furthermore, based on the outer edge current density, the current density in a region inside the outer edge of the substrate is estimated, and then the thickness distribution of the plating film on the substrate is calculated using the estimated current density distribution (see paragraphs
[0043] to
[0069] of Patent Document 1).
[0004] Meanwhile, a deep learning technique has been proposed in which an artificial neural network model (ANN), i.e., a neural network model (NN model), learns physical information such as equations that describe physical phenomena based on physical laws and phenomenological mathematical models. Such a deep learning technique based on physical information or an NN model trained by this technique is called a Physics-Informed Neural Network Model (PINN). PINN is disclosed, for example, in the following Non-Patent Document 1: [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2023-160356 [Non-patent literature]
[0006] [Non-Patent Document 1] Raissi, M. et al.: Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential Equations, arXiv preprint arXiv:1711, 10561, 2017. Summary of the Invention [Problem to be solved by the invention]
[0007] During the plating process of depositing a plating film on a substrate, various parameters (for example, the position and posture of the substrate holder) that determine the conditions of the plating film deposition process (i.e., plating conditions) may change over time. Furthermore, the plating conditions may change for each plating process (for example, the plating conditions may differ between the plating process of depositing a plating film on the first substrate and the plating process of depositing a plating film on the second substrate). Even if such changes in plating conditions occur, it is desirable to measure the thickness distribution of the plating film with high accuracy. Thickness distribution of the plating film When the current density distribution is estimated, highly accurate measurement of the film thickness distribution requires highly accurate estimation of the current density on the substrate in response to changes in plating conditions, which is particularly important when monitoring the film thickness distribution in real time.
[0008] In view of the above, an object of the present invention is to provide a method for training a neural network model based on physical information, a plating apparatus, and a computer program that enable highly accurate estimation of the current density on a substrate even when changes in plating conditions occur. [Means for solving the problem]
[0009] A method according to a first aspect of the present invention is a method for training a neural network model used for controlling a plating apparatus having a plating tank for containing a plating solution, a substrate holder for holding a substrate, and an anode positioned in the plating tank so as to face the substrate held by the substrate holder. The neural network model is configured to, upon receiving input data including at least data representing a current density at an outer edge of the substrate, perform an inference process on the input data to calculate inference data representing a potential of the plating solution near the outer edge of the substrate, and the method includes the steps of: reading training input data and teacher data corresponding to the training input data from a training data storage unit in which training data is stored; inputting the training input data into the neural network model; outputting inference data in accordance with the training input data by the neural network model; calculating a residual between the teacher data and the output inference data as a first loss amount; calculating a residual obtained by substituting the output inference data into an equation describing a physical phenomenon in a region of the plating solution contained between the substrate and the anode in the plating tank as a second loss amount; and optimizing parameters of the neural network model using the first loss amount and the second loss amount.
[0010] A plating apparatus according to a second aspect of the present invention comprises a plating tank for containing a plating solution, a substrate holder for holding a substrate, an anode disposed in the plating tank facing the substrate held by the substrate holder, a sensor configured to measure the potential of the plating solution near an outer edge of the substrate held by the substrate holder, and a state estimator configured to use the measured potential as an input and calculate a state estimate representing a current density at the outer edge of the substrate based on an observation model and a state transition model. The state estimator is configured to perform calculations based on the observation model using a neural network model trained by the method according to the first aspect, and the trained neural network model is used as a neural network model configured to output an estimate representing the potential of the plating solution near the outer edge when a state variable representing the current density at the outer edge is input.
[0011] A third aspect of the present invention is a method for training a neural network model used to control a plating apparatus including a plating tank for containing a plating solution, a substrate holder for holding a substrate, and an anode disposed in the plating tank so as to face the substrate held by the substrate holder. The neural network model is configured to, upon receiving input data including at least data representing a current density at an outer edge of the substrate, perform an inference process on the input data to calculate inference data representing a current density in an inner region on the substrate that is located inside the outer edge. The method includes the steps of: reading training input data and teacher data corresponding to the training input data from a training data storage unit storing training data; inputting the training input data into the neural network model; outputting inference data in response to the training input data; and calculating a current density in an inner region of the substrate in the plating tank. The method includes a step of calculating a residual obtained by substituting the teacher data and the output inference data into an equation describing a physical phenomenon in a region including the boundary between the plating surface and the plating solution, as a loss amount, and a step of optimizing parameters of the neural network model using the loss amount.
[0012] A plating apparatus according to a fourth aspect of the present invention comprises a plating tank for containing a plating solution, a substrate holder for holding a substrate, an anode arranged in the plating tank so as to face the substrate held by the substrate holder, a sensor configured to measure the potential of the plating solution near the outer edge of the substrate held by the substrate holder, a state estimator configured to calculate a state estimate representing the current density at the outer edge of the substrate from the measured potential, and a current density calculation unit configured to calculate the distribution of current density in an inner region of the substrate that is located inside the outer edge from the state estimate calculated by the state estimator using a neural network model trained by the method according to the third aspect.
[0013] According to a fifth aspect of the present invention, there is provided a computer program comprising a plurality of instructions which, when executed on a processor, causes the processor to perform a method according to the first or third aspect. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a functional block diagram showing a schematic configuration of a neural network (NN) model training device according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a schematic diagram illustrating the configuration of a plating module that performs electrolytic plating processing. [Figure 3] FIG. 2 is a plan view illustrating an example of a surface to be plated of a substrate. [Figure 4] 1 is a flowchart illustrating an example of a processing procedure of a method for training a neural network model according to the first embodiment. [Figure 5]FIG. 10 is a functional block diagram showing a schematic configuration of a neural network (NN) model training device according to a second embodiment of the present invention. [Figure 6] 10 is a flowchart illustrating an example of a processing procedure of a method for training a neural network model according to a second embodiment of the present invention. [Figure 7] FIG. 1 is a schematic diagram illustrating an example of a hardware configuration for realizing an NN model training device according to a first embodiment and a second embodiment. [Figure 8] FIG. 10 is a perspective view showing the overall configuration of a plating apparatus according to a third embodiment of the present invention. [Figure 9] FIG. 10 is a plan view of a plating apparatus according to a third embodiment, as viewed from above. [Figure 10] FIG. 10 is a schematic diagram illustrating an example of a hardware configuration that realizes a control module according to a third embodiment. [Figure 11] FIG. 10 is a cross-sectional view schematically showing the configuration of a plating module according to a third embodiment. [Figure 12] FIG. 2 is a schematic plan view of a substrate. [Figure 13] FIG. 10 is an enlarged view of the surrounding area of a conduit in the plating module of the third embodiment. [Figure 14] 10 is a schematic diagram of the shield and the substrate of the third embodiment when viewed from below (the negative direction of the Z axis). FIG. [Figure 15] FIG. 10 is a functional block diagram showing a schematic configuration of a control module in a third embodiment. [Figure 16] FIG. 10 is a diagram for explaining the current density at a position (θ, ψ) on the outer edge of the substrate. [Figure 17] FIG. 10 is a diagram illustrating a schematic configuration of an example of a neural network model according to a third embodiment. [Figure 18] FIG. 10 is a diagram illustrating a schematic configuration of another example of the neural network model of the third embodiment. [Figure 19] 10 is a flowchart illustrating an example of a processing procedure for calculating a film thickness distribution according to the third embodiment. [Figure 20] FIG. 11 is a cross-sectional view schematically showing the configuration of a plating module according to a modified example of the third embodiment. [Figure 21] FIG. 10 is a cross-sectional view schematically showing the configuration of a plating module in a fourth embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0015] Various embodiments of the present invention will be described in detail below with reference to the drawings. Note that components with the same reference numerals throughout the drawings have the same configurations and functions.
[0016] First Embodiment FIG. 1 is a functional block diagram showing the schematic configuration of a neural network (NN) model training device 1 according to a first embodiment. The NN model training device 1 has a function of training a neural network model (NN model) 809 through deep learning based on physical information related to a plating process to generate a neural network model based on the physical information. Examples of primary physical information include equations that describe physical phenomena based on physical laws, equations that describe physical phenomena based on phenomenological mathematical models that do not strictly reflect physical laws, and equations that describe physical phenomena based on a combination of physical laws and phenomenological mathematical models. In this specification, such equations are referred to as "governing equations." Physical information also includes information related to the governing equations. As described below, the generated neural network model is used to control a plating apparatus that performs plating.
[0017] The NN model training device 1 includes a training data storage unit 10, a loss calculation unit 12, an optimizer 22, and a learning control unit 24. The learning control unit 24 is configured to control the operations of the training data storage unit 10, the loss calculation unit 12, the optimizer 22, and the NN model 809. The training data storage unit 10 has a data storage area in which a training dataset for deep learning is stored. The training dataset is composed of a combination of a large number of training input data elements to be provided to the NN model 809 in order to cause the NN model 809 to perform supervised learning, and teacher data elements (i.e., data elements labeled as correct answers) corresponding to the training input data elements. Note that the training dataset in this embodiment includes a dataset for supervised learning, but may also include a dataset for semi-supervised learning.
[0018] As shown in FIG. 1, the NN model 809 is a hierarchical artificial neural network including an input layer 809i, an output layer 809t, and an intermediate layer (hidden layer) 809h that connects the input layer 809i to the output layer 809t, and is configured as a deep learning model. The NN model 809 may include an existing forward propagation neural network, or may include a recurrent neural network such as a convolutional neural network (CNN) or a long short-term memory (LSTM), or a transformer with an attention mechanism. The NN model 809 may be realized by a computer program, a hardware configuration such as a semiconductor integrated circuit, or a combination of a computer program and a hardware configuration.
[0019] 2 is a schematic diagram showing the configuration of a plating module in a plating apparatus for performing electrolytic plating. The plating module in FIG. 2 includes a plating tank PB containing a plating solution Ps, a substrate Ws held by a substrate holder (not shown), and a substrate Wf disposed in the plating tank PB facing the substrate Ws. The plating solution Ps region is governed by a governing equation Ω that describes a physical phenomenon. In the example of FIG. 2, the governing equation Ω is a Laplace equation, but is not limited to this.
[0020] Fig. 3 is a plan view showing an example of the surface to be plated of the substrate Wf. As shown in Fig. 3, the substrate Wf has an outer edge portion 62 extending along the outer periphery of the substrate Wf, and an inner region 64 of the surface to be plated of the substrate Wf that is located inside the outer edge portion 62. The outer edge portion 62 of the substrate Wf is provided with a plurality of electrical contacts (not shown) along the outer periphery of the substrate Wf, and the electrical contacts function as electrodes from which current that flows into the base film of the substrate Wf during plating subsequently flows out.
[0021] 1 , the NN model 809 receives input data including current density data representing the current density at the outer edge 62 of the substrate Wf (hereinafter also referred to as "outer edge current density") and parameter data representing parameters defining plating conditions for the components of the plating module. The NN model 809 is trained to perform an inference process on the input data to calculate inference data representing the potential of the plating solution Ps near the outer edge 62 of the substrate Wf. The current density data is preferably expressed as a vector quantity representing the current density at multiple points set along the outer periphery of the substrate Wf, but is not limited to this. The inference data may be calculated as a vector quantity representing the potential at multiple points set along the outer periphery of the substrate Wf, but is not limited to this. It may also be calculated as a scalar quantity representing the potential at a single point on the outer edge 62 of the substrate Wf. Examples of parameter data that determine plating conditions include, but are not limited to, data representing the position and attitude of the substrate holder, the rotation speed of the substrate Wf, the type of plating solution Ps, the electrical conductivity of the plating solution Ps, the polarization gradient, the plating current value, and the plating time. Detailed examples of parameter data will be described later.
[0022] The learning control unit 24 can selectively read, as training input data, a pair of current density data X representing the outer edge current density and parameter data ρ defining the plating conditions from the training data set stored in the training data storage unit 10, and control input of the current density data X and the parameter data ρ to the input layer 809i of the NN model 809. In parallel, the learning control unit 24 can selectively read, from the training data set, teacher data elements Tp, Tg, and Th corresponding to the pair of current density data X and parameter data ρ, and control input of the teacher data elements Tp, Tg, and Th to the loss calculation unit 12. When the NN model 809 receives training input data including the current density data X and the parameter data ρ, it performs inference processing on the training input data and outputs inference data Gt(X, ρ) representing the potential of the plating solution Ps near the outer edge of the substrate Wf.
[0023] The loss calculation unit 12 includes a boundary loss calculation unit 14, a physical loss calculation unit 16, a data loss calculation unit 18, and a total loss calculation unit 20. The boundary loss calculation unit 14 has a function of calculating, based on predetermined boundary conditions, the residual between the inference data Gt(X, ρ) and the teacher data elements Tg,Th for the boundary conditions as a first loss amount for multiple points (x, y) on the boundary of the region (target region) of the plating solution Ps in the plating tank PB (hereinafter also referred to as "boundary residual"). The boundary conditions are conditions that the solution of the governing equations described below must satisfy on the boundary.
[0024] For example, the boundary conditions can be expressed as loss functions of the following equations (1) and (2).
[0025]
number
[0026] Here, equation (1) is the Dirichlet boundary condition The loss function (x) represents the Neumann boundary condition. i ,y i ) are the coordinates of points belonging to a set of points on the boundary BR1 between the substrate Wf and the plating solution Ps and points on the boundary BR2 between the anode AD and the plating solution Ps, as shown in FIG. 2, and (x j ,y j ) are also the coordinates of points that belong to the point set consisting of points on the boundaries BR1 and BR2, and w i ,w j is the weight.
[0027] According to the Dirichlet boundary condition in equation (1), the boundary residual LS Dirichlet is the value NN(x i ,y i ) and the value g(x j ,y j) and according to the Neumann boundary condition in equation (2), the boundary residual LS Neumann is the normal differential value of the inference data Gt(X,ρ) and the value h(x j ,y j ) is the mean square error (MSE) between the
[0028] Note that, although the mean squared error is used in equations (1) and (2), the present invention is not limited to this. For example, the mean absolute error (MAE) or the mean squared logarithmic error (MSLE) may be used instead of the mean squared error. Furthermore, the boundary conditions are not limited to the Dirichlet boundary condition and the Neumann boundary condition. A linear combination (Robin boundary condition) of loss functions representing the Dirichlet boundary condition and the Neumann boundary condition, respectively, may be used, or a loss function representing a periodic boundary condition (a condition requiring a solution to be periodically repeated at the boundary of the target domain) may be used.
[0029] The physical loss calculation unit 16 has a function of calculating a residual (hereinafter also referred to as a "physical residual") by substituting the inference data Gt(X, ρ) into a governing equation that describes a physical phenomenon in the target area, and outputting this residual as a second loss amount. A partial differential equation (PDE) can be used as the governing equation. In this embodiment, the Laplace equation Ω in FIG. 2 is applied as an example of the governing equation. The physical residual LS using the weak form of the Laplace equation Ω is PDE is given by the following equation (3).
[0030]
number
[0031] In this formula, Δ is the Laplacian, or Laplace operator, and ΔNN(x k ,y k) represents a point (x k ,y k ), is a vector obtained by applying Laplacian to the inference data Gt(X,ρ), and Δν is a point (x k ,y k ), is the vector obtained by applying the Laplacian to the test function ν, and w k is the weight. Equation (3) represents the weighted sum of squares of the dot product of two vectors.
[0032] The data loss calculation unit 18 calculates a data point (x s ,y s ) has a function to calculate the residual (hereinafter also referred to as "data residual") between the inference data Gt(X,ρ) and the training data element Tp for the data point as the third loss amount. For example, the data residual LS Data is given by the following equation (4).
[0033]
number
[0034] According to equation (4), the data residual LS Data is the value NN(x s ,y s ) and the value p(x s ,y s ) The total loss calculation unit 20 has a function of calculating a total loss amount LS based on the first loss amount, the second loss amount, and the third loss amount. For example, the total loss amount LS is given by the following equation (5).
[0035]
number
[0036] In this embodiment, the total loss amount LS is calculated using the first loss amount (boundary residual), the second loss amount (physical residual), and the third loss amount (data residual). However, instead, there may be a configuration in which the total loss amount LS is calculated using the first loss amount (boundary residual) and the second loss amount (physical residual) without using the third loss amount (data residual).
[0037] The optimizer 22 has a function of optimizing a group of parameters (e.g., weights between nodes) within the NN model 809 based on a predetermined machine learning algorithm and using the total loss amount LS calculated by the total loss calculation unit 20. As the machine learning algorithm, a backpropagation learning algorithm consisting of backpropagation and gradient descent can be used. For example, as the gradient descent, stochastic gradient descent (SGD), momentum SGD, or adaptive moment estimation (Adam) can be used, but is not limited to these.
[0038] Next, a description will be given below of the processing procedure performed by the above-described NN model training device 1. FIG.
[0039] 4, first, the learning control unit 24 initializes a set of parameters within the NN model 809 (step S11). At this time, for example, the learning control unit 24 may initialize the values of the set of parameters to random or pseudo-random values, or may set the values of the set of parameters to a set of initial parameters prepared in advance.
[0040] Next, the learning control unit 24 selects training input data and corresponding teacher data from the training data set stored in the training data storage unit 10 (step S12), and reads out the selected training input data and teacher data from the training data storage unit 10 (step S13). At this time, as described above, the learning control unit 24 reads out the set of current density data X and parameter data ρ that defines plating conditions from the training data storage unit 10 as the training input data. The learning control unit 24 can selectively read out the current density data X and parameter data ρ as training data, and can selectively read out the teacher data elements Tp, Tg, and Th corresponding to the set of the current density data X and parameter data ρ. Next, the learning control unit 24 inputs the current density data X and parameter data ρ to the NN model 809 (step S14).
[0041] The NN model 809 performs inference processing (forward propagation processing) on the input training input data X, ρ, and outputs inference data Gt(X, ρ) representing the potential of the plating solution Ps near the outer edge of the substrate Wf (step S15).
[0042] Next, the boundary loss calculation unit 14 calculates, based on a predetermined boundary condition, the boundary residual between the inferred data Gt(X, ρ) and the teacher data element Tg, Th for the boundary condition for multiple points (x, y) on the boundary of the target area as the first loss amount (step S16). The physical loss calculation unit 16 calculates, as the second loss amount, the physical residual obtained by substituting the inferred data Gt(X, ρ) into a governing equation that describes a physical phenomenon in the target area (step S17). The data loss calculation unit 18 calculates, for a predetermined data point in the target area, the data residual between the inferred data Gt(X, ρ) and the teacher data element Tp for the data point as the third loss amount (step S18). Then, the total loss calculation unit 20 calculates the total loss amount based on the first loss amount, the second loss amount, and the third loss amount (step S19).
[0043] The optimizer 22 optimizes a set of parameters within the NN model 809 using the calculated total loss amount based on a predetermined machine learning algorithm (step S20). Thereafter, if a predetermined training end condition is met (YES in step S21), the learning control unit 24 ends the processing, and if the training end condition is not met (NO in step S21), the learning control unit 24 returns to step S12, selects new training input data and corresponding teacher data (step S12), and continues the processing from step S13 onwards.
[0044] As described above, this embodiment provides an NN model 809 based on physical information. When the NN model 809, trained based on physical information, receives input data including current density data and parameter data defining plating conditions, it can accurately calculate inference data representing the potential of the plating solution Ps near the outer edge of the substrate Wf. As described below, by performing inference processing using a neural network model having the same structure and parameter set as the NN model 809, it is possible to accurately calculate a state estimate representing the current density at the outer edge, even if the plating conditions change during or between plating processes. This improves the accuracy of estimating the current density on the plating surface and the thickness distribution of the plating film. The NN model 809 can be trained to learn both changes in plating conditions due to the parameter data ρ and changes in plating conditions over time that are independent of the parameter data ρ.
[0045] Second Embodiment Next, a second embodiment will be described. Fig. 5 is a functional block diagram showing a schematic configuration of a neural network (NN) model training device 2 according to the second embodiment. Like the NN model training device 1 of the first embodiment, the NN model training device 2 has a function of training a neural network model (NN model) 815 by deep learning based on physical information related to plating processing, to generate a neural network model based on physical information. As will be described later, the generated neural network model is used to control a plating device that performs plating processing.
[0046] The NN model training device 2 includes a training data storage unit 40, a loss calculation unit 42, an optimizer 52, and a learning control unit 54. The learning control unit 54 is configured to control the operations of the training data storage unit 40, the loss calculation unit 42, the optimizer 22, and the NN model 815. do.
[0047] 5, the NN model 815 is a hierarchical artificial neural network including an input layer 815i, an output layer 815t, and an intermediate layer (hidden layer) 815h that connects the input layer 815i to the output layer 815t, and is configured as a deep learning model. The NN model 815 may be configured to include an existing forward propagation neural network, or may be configured to include a convolutional neural network (CNN), a recurrent neural network such as a LSTM, or a transformer with an attention mechanism. The NN model 815 may be realized by a computer program, a hardware configuration such as a semiconductor integrated circuit, or a combination of a computer program and a hardware configuration.
[0048] The NN model training device 2 of FIG. 2 receives input data including current density data representing the current density at the outer edge 62 of the substrate Wf (hereinafter also referred to as "outer edge current density") shown in FIGS. 2 and 3 and parameter data representing parameters defining plating conditions for the components of the plating module. The NN model 815 is trained to perform an inference process on the input data to calculate inference data representing the current density in an inner region 64 located inside the outer edge 62 on the substrate Wf. The current density data is preferably expressed as a vector quantity representing the current density at multiple points set along the periphery of the substrate Wf at the outer edge 62, but is not limited to this. The inference data may be calculated as a current density distribution representing the current density at multiple points in the inner region 64. Examples of parameter data defining plating conditions include, but are not limited to, data representing the position and orientation of the substrate holder, the rotation speed of the substrate Wf, the type of plating solution Ps, the electrical conductivity of the plating solution Ps, the polarization gradient, the plating current value, and the plating time. Detailed examples of the parameter data will be described later.
[0049] The learning control unit 54 can selectively read, as training input data, a pair of current density data Y representing the outer edge current density and parameter data η defining the plating conditions from the training data set stored in the training data storage unit 40, and control input of the current density data Y and the parameter data η to the input layer 815i of the NN model 815. In parallel, the learning control unit 54 can selectively read, from the training data set, teacher data elements Tq, Tk corresponding to the pair of current density data Y and parameter data η, and control input of the teacher data elements Tq, Tk to the loss calculation unit 42. When the NN model 815 receives training input data including the current density data Y and the parameter data η, it performs inference processing on the training input data and outputs inferred data Et(Y, η) representing the current density distribution in the inner region 64 of the substrate Wf.
[0050] The loss calculation unit 42 includes a physical loss calculation unit 46, a data loss calculation unit 48, and a total loss calculation unit 50. The physical loss calculation unit 46 uses a governing equation describing physical phenomena in a boundary region, including the boundary (interface) between the plating surface of the substrate Wf and the plating solution Ps in the plating tank PB. The physical loss calculation unit 46 has the function of calculating a residual (hereinafter also referred to as a "physical residual") by substituting the boundary condition teacher data element Tk and the inference data Et(Y, η) into the governing equation and outputting this residual as a first loss amount. In this embodiment, a polarization curve model representing the relationship between electrode potential and current density can be used as the governing equation, but is not limited to this. The polarization curve model is a phenomenological mathematical model describing physical phenomena in the boundary region. The polarization curve model may be a function or a lookup table determined in advance based on the results of numerical simulations or actual observations.
[0051] For example, the polarization curve model can be expressed as ΔE-f(j)=0, where f (j) is a function related to the current density j, ΔE(=φ E -φ w) is the electrode potential. The electrode potential ΔE is the internal potential φ of the plating solution (electrolyte solution). E and the internal potential φ of the cathode electrode w The value of the electrode potential ΔE is given by the teacher data element Tk for the boundary condition.
[0052] For example, physical residual LSS with polarization curve model PH is given by the following equation (6).
[0053]
number
[0054] In this equation, f() is the function of the polarization curve model, and NN(x k ,y k ) is a point (x k ,y k ) is the current density value indicated by the inference data Gt(X,ρ), and ΔE(x k ,y k ) is the point (x k ,y k ) is the electrode potential indicated by the teacher data element Tk, and w k is the weight. Equation (6) is k ,y k ) and f(NN(x k ,y k ) represents the weighted sum of squares of the difference between
[0055] The data loss calculator 48 calculates a data point (x c ,y c ) has the function of calculating the residual between the inferred data Et(Y,η) and the training data element Tq for the data point (hereinafter also referred to as "data residual") as the second loss amount. For example, the data residual LSS Data is given by the following equation (7).
[0056]
number
[0057] According to equation (7), the data residual LSS Data is the value NN(x c ,y c ) and the value q(x c ,y c ) The total loss calculation unit 50 has a function of calculating the total loss amount LSS based on the first loss amount and the second loss amount. For example, the total loss amount LSS is given by the following equation (8).
[0058]
number
[0059] In this embodiment, the total loss amount LSS is calculated using the first loss amount (physical residual) and the second loss amount (data residual). Alternatively, the total loss amount LSS may be calculated using the first loss amount (physical residual) without using the second loss amount (data residual).
[0060] The optimizer 52 has a function of optimizing a group of parameters (for example, weights between nodes) within the NN model 815 based on a predetermined machine learning algorithm and using the total loss amount LSS calculated by the total loss calculation unit 50. As the machine learning algorithm, a backpropagation learning algorithm consisting of backpropagation and gradient descent can be used. For example, as the gradient descent method, stochastic gradient descent (SGD) and momentum method can be used. Examples of methods that can be used include, but are not limited to, adaptive SGD (Single-Stage Descriptor Block), or adaptive moment estimation (Adam).
[0061] Next, a description will be given below of the processing procedure performed by the above-described NN model training device 2. FIG.
[0062] 6, first, the learning control unit 54 initializes a set of parameters within the NN model 815 (step S31). At this time, for example, the learning control unit 54 may initialize the values of the set of parameters to random or pseudo-random values, or may set the values of the set of parameters to a set of initial parameters prepared in advance.
[0063] Next, the learning control unit 54 selects training input data and corresponding teacher data from the training data set stored in the training data storage unit 40 (step S32), and reads the selected training input data and teacher data from the training data storage unit 40 (step S33). At this time, as described above, the learning control unit 54 selectively reads, as training input data, a set of current density data Y and parameter data η that defines plating conditions from the training data storage unit 40, and can selectively read teacher data elements Tq and Tk that correspond to the set of current density data Y and parameter data η. Next, the learning control unit 54 inputs the current density data Y and parameter data η to the NN model 815 (step S34).
[0064] The NN model 815 performs inference processing (forward propagation processing) on the input training input data Y, η, and outputs inference data Et(Y, η) representing the current density distribution in the inner region 64 of the substrate Wf (step S35).
[0065] Next, the physical loss calculation unit 46 calculates the physical residual obtained by substituting the teacher data element Tk for the boundary condition and the inference data Et(Y,η) into the governing equation describing the physical phenomenon in the boundary region as the first loss amount (step S37). The data loss calculation unit 48 calculates the data residual between the inference data Et(Y,η) and the teacher data element Tq for the data point for a predetermined data point in the target region as the second loss amount (step S38). Then, the total loss calculation unit 50 calculates the total loss amount based on the first loss amount and the second loss amount (step S39).
[0066] The optimizer 52 optimizes a set of parameters within the NN model 815 using the calculated total loss amount based on a predetermined machine learning algorithm (step S40). Thereafter, if a predetermined training end condition is met (YES in step S41), the learning control unit 54 ends the processing, and if the training end condition is not met (NO in step S41), the learning control unit 54 returns to step S32, selects new training input data and corresponding teacher data (step S32), and continues the processing from step S33 onwards.
[0067] As described above, according to this embodiment, it is possible to obtain an NN model 815 based on physical information. When the NN model 815 trained based on physical information receives input data including current density data and parameter data defining plating conditions, it can calculate inference data representing the current density distribution in the inner region 64 of the substrate Wf with high accuracy. As will be described later, by using a neural network model having the same structure and parameter set as the NN model 815, it is possible to calculate an estimated quantity representing the current density distribution in the inner region 64 with high accuracy, even if the plating conditions change. This improves the estimation accuracy of the current density on the plating surface and also improves the estimation accuracy of the thickness distribution of the plating film. The NN model 815 can be trained to learn both changes in plating conditions due to the parameter data η and changes in plating conditions over time that are independent of the parameter data η.
[0068] The NN model training devices 1 and 2 according to the first and second embodiments described above may be realized by a single computer including one or more processors, or by multiple computers interconnected via a communication path. All or part of the components of the NN model training devices 1 and 2 may be realized by one or more processors including one or more processing units that execute processing according to software or firmware code (multiple instructions) read from a non-volatile memory (computer-readable recording medium). For example, the processing unit may be a central processing unit (CPU), a graphics processing unit (GPU), or a neural network processing unit (NPU). GPUs and NPUs are processing units designed to have a structure suitable for computations based on an artificial neural network (ANN), i.e., a neural network model (e.g., tensor computation). Alternatively, all or part of the components of the control module 800 may be implemented by a field-programmable gate array (FPGA). The NN model training devices 1 and 2 may be realized in whole or in part by one or more processors including a semiconductor integrated circuit such as an FPGA and an arithmetic unit such as a CPU or a GPU.
[0069] FIG. 7 is a schematic diagram of an information processing device (computer) 80, which is an example of a hardware configuration for implementing the NN model training devices 1 and 2. The information processing device 80 includes a processor 81, a random access memory (RAM) 82, a nonvolatile memory 83, a large-capacity storage 84, an input / output interface circuit 85, and a signal path 86. The signal path 86 is a bus for interconnecting the processor 81, the RAM 82, the nonvolatile memory 83, the storage 84, and the input / output interface circuit 85. The RAM 82 is a data storage area used when the processor 81 performs digital signal processing. If the processor 81 incorporates an arithmetic unit such as a CPU or a GPU, the nonvolatile memory 83 may have a data storage area for storing software code executed by the processor 81. For example, the input / output interface circuit 85 can be connected to a user interface device (not shown).
[0070] Hereinafter, an embodiment of a plating apparatus having a neural network model with the same structure and parameter set as the NN models 809 and 815 trained by the methods according to the first and second embodiments will be described.
[0071] Third Embodiment Fig. 8 is a perspective view showing the overall configuration of a plating apparatus 1000 according to a third embodiment. Fig. 9 is a plan view of the plating apparatus 1000 according to this embodiment as viewed from above. For ease of explanation, Fig. 9 does not show the upper part of the housing of the plating apparatus 1000 so that the internal structure of the plating apparatus 1000 can be seen through. Note that the X-axis, Y-axis, and Z-axis shown in the drawing are perpendicular to one another.
[0072] As shown in Figures 8 and 9, the plating apparatus 1000 includes a load port 100, a transport robot 110, an aligner 120, a pre-wet module 200, a pre-soak module 300, a plating module 400, a cleaning module 500, a spin rinse dryer 600, a transport device 700, and a control module 800.
[0073] The load port 100 is a module for loading substrates stored in a cassette such as a FOUP (Front-Opening Unified Pod) (not shown) into the plating apparatus 1000, and unloading the substrates from the plating apparatus 1000 to the cassette. In this embodiment, four load ports 100 are arranged side by side in the horizontal direction (X-axis direction), but the number and arrangement of the load ports 100 are not limited to this and may be arbitrary. The transfer robot 110 is a robot for transferring substrates and has the function of transferring substrates between the load ports 100, the aligner 120, and the transfer device 700. When transferring substrates between the transfer robot 110 and the transfer device 700, the transfer robot 110 and the transfer device 700 can transfer the substrates via a temporary placement table (not shown).
[0074] The aligner 120 is a module for aligning the positions of the substrate's orientation flat, notch, and the like in a predetermined direction. In this embodiment, two aligners 120 are arranged side by side in the horizontal direction (Y-axis direction), but the number and arrangement of the aligners 120 are not limited to this and may be arbitrary. The prewet module 200 is configured to wet the surface of the substrate to be plated with a treatment liquid such as pure water or degassed water before plating, thereby replacing air inside a pattern formed on the surface of the substrate with the treatment liquid. The prewet module 200 can perform a prewet process by replacing the treatment liquid inside the pattern with a plating liquid (electrolyte solution) during plating, thereby making it easier to supply the plating liquid inside the pattern. In this embodiment, two prewet modules 200 are arranged side by side in the vertical direction (Z-axis direction), but the number and arrangement of the prewet modules 200 are not limited to this and may be arbitrary.
[0075] Presoak module 300 is configured to perform a presoak process in which, for example, a highly electrically resistant oxide film present on the surface of a seed layer or the like formed on the surface to be plated of a substrate before plating is etched away with a treatment liquid such as sulfuric acid or hydrochloric acid to clean or activate the surface of the substrate to be plated. In this embodiment, two presoak modules 300 are arranged side by side in the vertical direction (Z-axis direction), but the number and arrangement of presoak modules 300 are not limited to this and may be arbitrary.
[0076] The plating modules 400 are configured to perform plating processing on substrates. In this embodiment, a total of 24 plating modules 400 are arranged. Specifically, on one side of the plating apparatus 1000, 12 plating modules 400 are arranged in a matrix of three rows in the vertical direction (Z-axis direction) and four columns in the horizontal direction (Y-axis direction). On the other side of the plating apparatus 1000, 12 plating modules 400 are arranged in a matrix of three rows in the vertical direction (Z-axis direction) and four columns in the horizontal direction (Y-axis direction). However, the number and arrangement of the plating modules 400 are not limited to those shown in the figure and may be arbitrary. Specific configuration examples of the plating modules 400 will be described later.
[0077] The cleaning module 500 is configured to perform a cleaning process on the substrate to remove unnecessary residues, such as plating solution, remaining on the substrate after plating. In this embodiment, two cleaning modules 500 are arranged side by side in the vertical direction (Z-axis direction), but the number and arrangement of the cleaning modules 500 are not limited to this and may be arbitrary. The spin rinse dryer 600 is a module for drying the substrate after cleaning by rotating it at high speed. In this embodiment, two spin rinse modules 600 are arranged side by side in the vertical direction (Z-axis direction), but the number and arrangement of the spin rinse dryers 600 are not limited to this and may be arbitrary. The transfer device 700 is a device for transferring substrates between multiple modules within the plating apparatus 1000.
[0078] The control module 800 is configured to control the operation and status of multiple modules in the plating apparatus 1000. For example, the control module 800 may be configured as a computer that can be operated by an operator, and may include a user interface such as a pointing device and a key input device so that the operator can input information. It is desirable that the facility is equipped with a dedicated power supply.
[0079] Such control module 800 may be implemented by a single computer including one or more processors, or by multiple computers interconnected via a communication path. All or a portion of the components of control module 800 may be implemented by one or more processors including one or more processing units that execute software or firmware code (multiple instructions) read from a non-volatile memory (computer-readable recording medium). For example, the processing unit may be a CPU, a GPU, or an NPU. GPUs and NPUs are processing units designed to have a structure suitable for calculations based on artificial neural networks, i.e., neural network models (e.g., tensor operations). Alternatively, all or a portion of the components of control module 800 may be implemented by one or more processors including a semiconductor integrated circuit such as an FPGA. Alternatively, all or a portion of the components of control module 800 may be implemented by one or more processors including a combination of a semiconductor integrated circuit such as an FPGA and a processing unit such as a CPU or GPU.
[0080] FIG. 10 is a schematic diagram of an information processing device (computer) 900, which is an example of a hardware configuration for implementing the control module 800. The information processing device 900 includes a processor 901, a random access memory (RAM) 902, a nonvolatile memory 903, a large-capacity storage 904, an input / output interface circuit 905, and a signal path 906. The signal path 906 is a bus for interconnecting the processor 901, the RAM 902, the nonvolatile memory 903, the storage 904, and the input / output interface circuit 905. The RAM 902 is a data storage area used when the processor 901 performs digital signal processing. If the processor 901 incorporates an arithmetic unit such as a CPU or a GPU, the nonvolatile memory 903 may have a data storage area for storing software code executed by the processor 901. For example, the input / output interface circuit 905 can be connected to a user interface device (not shown).
[0081] Next, an example of a series of plating processes using the plating apparatus 1000 will be described.
[0082] First, a substrate stored in a cassette is loaded into the load port 100. Next, the transfer robot 110 removes the substrate from the cassette in the load port 100 and transfers the substrate to the aligner 120. The aligner 120 aligns the positions of the orientation flat, notch, etc. of the substrate to a predetermined direction. The transfer robot 110 delivers the substrate, whose direction has been aligned by the aligner 120, to the transfer device 700.
[0083] The transfer device 700 transfers the substrate received from the transfer robot 110 to the prewet module 200. The prewet module 200 performs a prewet process on the substrate. The transfer device 700 transfers the substrate that has been subjected to the prewet process to the presoak module 300. The presoak module 300 performs a presoak process on the substrate. The transfer device 700 transfers the substrate that has been subjected to the presoak process to the plating module 400. The plating module 400 performs a plating process on the substrate.
[0084] The transfer device 700 transfers the substrate that has been plated to the cleaning module 500. The cleaning module 500 performs a cleaning process on the substrate. The transfer device 700 transfers the substrate that has been cleaned to the spin rinse dryer 600. The spin rinse dryer 600 dries the substrate. The transfer device 700 delivers the substrate that has been dried to the transfer robot 110. The transfer robot 110 transfers the substrate received from the transfer device 700 to a cassette on the load port 100. Finally, the cassette containing the substrate is removed from the load port 100. It is carried out.
[0085] It should be noted that the configuration of the plating apparatus 1000 described with reference to FIGS. 8 and 9 is merely an example, and the configuration of the plating apparatus 1000 is not limited to the above-described configuration.
[0086] Next, an example of the configuration of the plating module 400 will be described.
[0087] Since the 24 plating modules 400 in this embodiment have the same configuration, only one plating module 400 will be described. Fig. 11 is a cross-sectional view that schematically shows the configuration of a plating module 400 of a third embodiment. As shown in Fig. 11, the plating module 400 includes a plating tank 410 for containing a plating solution Ps. The plating tank 410 includes a cylindrical inner tank 412 with an open top, and an outer tank (not shown) that is provided around the inner tank 412 so as to collect plating solution that overflows from the upper edge of the inner tank 412.
[0088] The plating module 400 includes a substrate holder 440 for holding a substrate Wf having a plating surface Wf-a. As shown in FIG. 11 , the substrate holder 440 is configured to grip the outer edge of the substrate Wf with the plating surface Wf-a facing the opening of the plating tank 410. The plating module 400 includes a lifting mechanism 442 for raising and lowering the substrate holder 440 in the Z-axis direction. In one embodiment, the plating module 400 also includes a rotation mechanism 448 for rotating the substrate holder 440 about a vertical axis. The lifting mechanism 442 and the rotation mechanism 448 can be realized by known mechanisms such as motors. During plating, the lifting mechanism 442 lowers the substrate holder 440 to immerse the plating surface Wf-a of the substrate Wf in the plating solution Ps.
[0089] The substrate holder 440 has one or more power supply contacts for supplying power to the substrate Wf from a power supply (not shown) while the surface to be plated Wf-a is immersed in the plating solution Ps. FIG. 12 is a schematic plan view of the substrate Wf. The outer edge 62 of the substrate Wf is also the portion where the substrate Wf is gripped by the substrate holder 440. In the example of FIG. 12, the outer edge 62 of the substrate Wf has six electrical contacts 441 spaced equally along the circumferential direction of the substrate Wf, but the number of electrical contacts 441 is not limited to six. The electrical contacts 441 are connected to the negative terminal of the power supply via electrical wiring (not shown) built into the substrate holder 440, and a plating current can be applied to the substrate Wf through the electrical contacts 441. As will be described later, the control module 800 can calculate the distribution of the current density of the plating current in an inner region 64 of the substrate Wf, which is located inside the outer edge 62, based on a state estimate representing the current density near the outer edge 62 of the substrate Wf.
[0090] Referring to FIG. 11 , the plating module 400 includes an anode 430 provided on the bottom surface of an inner tank 412. The anode 430 is disposed within the inner tank 412 so as to face the plating surface Wf-a of a substrate Wf held by a substrate holder 440. The plating module 400 also includes a membrane 420 that separates the interior region of the inner tank 412 into an upper region and a lower region. That is, the interior region of the inner tank 412 is divided by the membrane 420 into a cathode region 422 that is relatively close to the plating surface Wf-a, and an anode region 424 that is relatively close to the anode 430. The cathode region 422 and the anode region 424 are each filled with a plating solution Ps. Note that, although an example in which the membrane 420 is provided has been shown in this embodiment, a configuration in which the membrane 420 is not provided is also possible.
[0091] In the anode region 424, an anode mask 426 is disposed to adjust the electrolysis conditions between the anode 430 and the substrate Wf. The anode mask 426 is, for example, a substantially plate-shaped member made of a dielectric material, and is provided in front of (above) the anode 430. The anode mask 426 has an opening through which a current flows between the anode 430 and the substrate Wf. In this embodiment, the anode mask 426 is configured to have variable opening dimensions, and the opening dimensions can be adjusted by the control module 800. Here, the opening dimension refers to the diameter if the opening is circular, and to the length of one side or the longest opening width if the opening is polygonal. Note that a known mechanism can be used to change the opening dimensions of the anode mask 426. Although this embodiment illustrates an example in which the anode mask 426 is provided, a configuration in which the anode mask 426 is not provided is also possible. In the example of FIG. 11, the membrane 420 and the anode mask 426 are spatially separated from each other. Alternatively, the membrane 420 may be provided in the opening of the anode mask 426.
[0092] A resistor 450 facing the membrane 420 is disposed in the cathode region 422. The resistor 450 is a component for achieving uniformity in the plating process on the plating surface Wf-a of the substrate Wf. In this embodiment, the resistor 450 is configured to be movable in the vertical direction (Z-axis direction) within the plating tank 410 by a drive mechanism 452, and the position of the resistor 450 can be adjusted by the control module 800. However, there may also be a configuration in which the resistor 450 is not disposed in the plating module 400. The specific material of the resistor 450 is not particularly limited, but one example of a material that can be used for the resistor 450 is a porous resin such as polyether ether ketone.
[0093] A paddle 456 for stirring the plating solution Ps is provided in a region of the cathode region 422 close to the surface of the substrate Wf. The paddle 456 can be made of, for example, titanium (Ti) or resin. The paddle 456 reciprocates in a direction parallel to the plating surface Wf-a of the substrate Wf, thereby stirring the plating solution so that sufficient metal ions are uniformly supplied to the plating surface Wf-a during plating of the substrate W. Alternatively, the paddle 456 may be configured to move in a direction perpendicular to the plating surface Wf-a of the substrate Wf. Note that the plating module 400 may also be configured without the paddle 456.
[0094] Furthermore, a conduit 462 is disposed in the cathode region 422. The conduit 462 is a hollow tube and can be formed of, for example, a resin such as PP (polypropylene) or PVC (polyvinyl chloride). When a resistor 450 is provided in the cathode region 422, the conduit 462 is disposed between the substrate Wf and the resistor 450. When a paddle 456 is provided, the conduit 462 is disposed so as not to interfere with the paddle 456. For example, the conduit 462 is preferably disposed at the same height as the paddle 456 (the same position in the Z-axis direction) and on the outer periphery of the paddle 456 (a position on the outer side in the horizontal direction in FIG. 11).
[0095] FIG. 13 is an enlarged view of the peripheral area of the conduit 462 in the plating module 400 of the third embodiment. FIG. 13 shows the state in which the substrate holder 440 has descended into the plating tank 410 and is immersed in the plating solution Ps. As shown in FIGS. 11 and 13, the conduit 462 has an open end 464 located in the region between the substrate Wf and the anode 430. This open end 464 is located between the substrate Wf and the anode 430 in a direction perpendicular to the plating surface Wf-a of the substrate Wf (the Z-axis direction), and is positioned so as to overlap with the substrate Wf when viewed from that perpendicular direction. The open end 464 is preferably located near the plating surface Wf-a and is preferably configured to face the plating surface Wf-a. For example, the distance between the open end 464 and the plating surface Wf-a is several hundred micrometers, several millimeters, or several tens of millimeters. 11 and 13, the opening end 464 is open in the direction facing the plating surface Wf-a (Z-axis direction), but this is not limited to this. The opening end 464 may be open in a direction perpendicular to the direction connecting the substrate Wf and the anode 430 (negative side of the Y-axis), or in the normal direction of the plating surface Wf-a of the substrate Wf. The opening may be inclined with respect to the direction of the opening.
[0096] In this embodiment, the conduit 462 extends to a region away from the region between the substrate Wf and the anode 430 and to the outside of the plating tank 410. Hereinafter, as shown in FIGS. 11 and 13, the portion of the conduit 462 located in the region between the substrate Wf and the anode 430 will be referred to as the "first portion 462a," and the portion of the conduit 462 located in a region away from the region between the substrate Wf and the anode 430 will be referred to as the "second portion 462b." The conduit 462 preferably extends in a direction (Y-axis direction) perpendicular to the direction (Z-axis direction) connecting the substrate Wf and the anode 430. However, the present invention is not limited to this example, and the conduit 462 may extend in any direction.
[0097] The interior of conduit 462 is filled with the plating solution, similar to cathode region 422. Conduit 462 may be provided with a filling mechanism 468 for filling conduit 462 with the plating solution. Various known mechanisms can be used as filling mechanism 468, and examples of such mechanisms include an air vent valve or a mechanism for supplying the plating solution. As an example, filling mechanism 468 is provided in second portion 462b of conduit 462.
[0098] 11 and 13 show a single conduit 462 for ease of viewing, but instead, multiple conduits may be provided in the plating tank 410. When multiple conduits are provided, the open ends of the respective conduits may be positioned at different distances from the center of the substrate Wf. Furthermore, when multiple conduits are provided, it is preferable that the open ends of the respective conduits be positioned at equal distances from the plating surface Wf-a of the substrate Wf.
[0099] A potential sensor 470 is provided in the second portion 462b of the conduit 462. While the potential sensor 470 is disposed outside the plating tank 410 in the examples of FIGS. 11 and 13 , it may alternatively be disposed inside the plating tank 410. The potential sensor 470 detects or measures the potential of the plating solution Ps filled in the conduit 462. Here, the plating solution Ps in the conduit 462 has substantially the same potential as the plating solution near the open end 464, and the potential detected by the potential sensor 470 is generally equal to the potential of the plating solution Ps near the open end 462a. Therefore, the vicinity of the open end 464 can be used as a pseudo potential detection position for the potential sensor 470, and the potential near the plating surface Wf-a can be measured by the potential sensor 470 provided in the second portion 462b of the conduit 462. The potential sensor 470 supplies a measurement signal representing the measured potential to the control module 800.
[0100] In one embodiment, a reference potential sensor (not shown) may be provided in a location in plating tank 410 where potential changes are relatively small, and the difference between the potential detected by the reference potential sensor and the potential detected by potential sensor 470 is preferably obtained. The potential changes measured by potential sensor 470 are very small and therefore susceptible to noise. To reduce noise, it is preferable to provide an independent electrode in the plating solution and connect the electrode directly to ground.
[0101] The control module 800 has a function of estimating the thickness distribution of the plating film formed on the substrate Wf based on a measurement signal indicating the potential measured by the potential sensor 470. Furthermore, the control module 800 may detect the end point of the plating process or predict the time until the end point of the plating process based on the measurement signal. As an example, the control module 800 may terminate the plating process when the thickness of the plating film reaches a desired thickness based on the measurement signal. Furthermore, as an example, the control module 800 may calculate the rate of increase in thickness of the plating film based on the measurement signal and predict the time until the plating film reaches the desired thickness, i.e., the time until the end point of the plating process.
[0102] 11 , in one embodiment, a shield 480 is provided in the cathode region 422 to partially shield the amount of current flowing from the anode 430 to the substrate Wf. The shield 480 is, for example, a substantially plate-shaped member made of a dielectric material. FIG. 14 is a schematic diagram of the shield 480 and the substrate Wf of this embodiment viewed from below (the negative side of the Z axis). Note that FIG. 14 does not illustrate the substrate holder 440 that holds the substrate Wf. The shield 480 is configured to be movable to any position between a shielding position (position indicated by a dashed line in FIG. 14 ) interposed between the plating surface Wf-a of the substrate Wf and the anode 430 and a retracted position (position indicated by a solid line in FIG. 14 ) retracted from between the plating surface Wf-a and the anode 430. In other words, the shield 480 is configured to be movable between a shielding position directly below the plating surface Wf-a and a retracted position away from directly below the plating surface Wf-a. The position of the shield 480 is controlled by the control module 800 using a drive mechanism (not shown). The movement of the shield 480 can be achieved by a known mechanism such as a motor or solenoid. In the example of FIG. 14, the shield 480 shields a portion of the outer peripheral region of the plating surface Wf-a of the substrate Wf in the circumferential direction when in the shielding position. Also, in the example of FIG. 14, the shield 480 is formed in a tapered shape that narrows toward the center of the substrate Wf. However, the shield 480 is not limited to this example, and any shape predetermined by experiment or the like can be used as the shield 480.
[0103] Next, the plating process in the plating module 400 of this embodiment will be described in more detail.
[0104] The substrate Wf is exposed to the plating solution by immersing it in the plating solution in the cathode region 422 using the lifting mechanism 442. In this state, the plating module 400 can apply a voltage between the anode 430 and the substrate Wf to perform plating on the plating surface Wf-a of the substrate Wf. In one embodiment, the plating process is performed while rotating the substrate holder 440 using the rotation mechanism 448. A conductive film (plating film) is deposited on the plating surface Wf-a of the substrate Wf-a through the plating process. In this embodiment, during the plating process, the potential sensor 470 detects or measures the potential of the plating solution near the outer edge of the substrate Wf (for example, at a predetermined detection point Sp shown in FIG. 7) in real time. The control module 800 can then measure the thickness of the plating film in real time based on a measurement signal representing the potential measured by the potential sensor 470. This makes it possible to measure and monitor in real time the film thickness distribution of the plating film formed on the plating surface Wf-a of the substrate Wf during plating processing.
[0105] Furthermore, by detecting the potential using the potential sensor 470 in accordance with the rotation of the substrate holder 440 (rotation of the substrate Wf), the detection position by the potential sensor 470 can be changed, and the film thickness can also be measured at multiple points in the circumferential direction of the substrate Wf or over the entire circumferential direction.
[0106] The plating module 400 may change the rotation speed of the substrate Wf by the rotation mechanism 448 during the plating process. For example, the plating module 400 may slowly rotate the substrate Wf to allow the film thickness estimation function of the control module 800 to estimate the plating film thickness. For example, the plating module 400 may rotate the substrate Wf at a first rotation speed Rs1 during the plating process and then rotate the substrate Wf at a second rotation speed Rs2 slower than the first rotation speed Rs1 at predetermined intervals (e.g., every few seconds) while the substrate Wf rotates one or several times. This allows the plating film thickness of the substrate Wf to be estimated accurately, especially when the sampling period of the potential sensor 470 is short compared to the rotation speed of the substrate Wf. Here, the second rotation speed Rs2 may be one-tenth the first rotation speed Rs1.
[0107] The data of the change in the thickness of the plating film measured by the film thickness measurement function of the control module 800 is , and recorded. In subsequent plating processes, such data can be referenced to adjust plating conditions, including at least one of the plating current value, plating time, opening size of the anode mask 426, and position of the shield 480. The adjustment of plating conditions may be performed by a user of the plating apparatus 1000 or by a function of the control module 800. As an example, the adjustment of plating conditions by the control module 800 may be performed based on a conditional formula or a program determined in advance through experiments or the like.
[0108] The adjustment of the plating conditions may be performed when plating another substrate Wf, or the adjustment of the plating conditions for the current plating process may be performed in real time. For example, the control module 800 may change the plating conditions by adjusting the position of the shield 480.
[0109] The control module 800 may also adjust the plating conditions in real time by driving the lifting mechanism 442 or the drive mechanism 452 to adjust the distance between the substrate Wf and the resistor 450. The distance between the substrate Wf and the resistor 450 may have a relatively large effect on the amount of plating formed near the outer periphery of the substrate Wf, while having relatively little effect on the amount of plating formed near the center of the substrate Wf. For this reason, as an example, the control module 800 may perform control such that the distance between the substrate Wf and the resistor 450 is decreased when the thickness of the plating film near the outer periphery of the substrate Wf is greater than the target, and the distance between the substrate Wf and the resistor 450 is increased when the thickness of the plating film near the outer periphery is smaller than the target. The control module 800 may also perform control such that the longer the time the shield 480 is in the shielding position, the greater the distance between the substrate Wf and the resistor 450 is increased, and the shorter the time the shield 480 is in the shielding position, the shorter the distance between the substrate Wf and the resistor 450 is decreased. In this way, the amount of plating formed near the outer periphery of the substrate Wf can be adjusted, and the uniformity of the plating film formed over the entire substrate Wf can be improved.
[0110] Furthermore, the control module 800 may adjust the plating conditions in real time by adjusting the opening size of the anode mask 426. As an example, the control module 800 may execute control such that the opening size of the anode mask 426 is reduced when the thickness of the plating film near the outer periphery of the substrate Wf is larger than the target, and the opening size of the anode mask 426 is increased when the thickness of the plating film near the outer periphery is smaller than the target.
[0111] Next, the configuration of the control module 800 in this embodiment will be described in detail below.
[0112] Fig. 15 is a functional block diagram showing a schematic configuration of a control module 800 in the third embodiment. Fig. 15 shows only functional blocks related to measuring the thickness distribution of a plating film among the various functions of the control module 800. As shown in Fig. 15, the control module 800 includes a parameter data storage unit 802, a parameter designation unit 803, a state estimator 804, a current density calculation unit 812, a film thickness calculation unit 820, and an end point determination unit 822.
[0113] As described above, the potential sensor 470 measures the potential of the plating solution Ps near the outer edge of the substrate Wf held by the substrate holder 440 during plating processing. The potential sensor 470 then outputs a measurement signal representing the measured potential to the state estimator 804. The state estimator 804 receives the potential measurement amount represented by the measurement signal and estimates the current density j at the outer edge of the substrate Wf based on a state space model represented by an observation model and a state transition model. con Hereinafter, for convenience of explanation, the current density at the outer edge of the substrate Wf may be referred to as "outer edge current density." As shown in FIG. 15, the state estimator 804 includes a state transition processing unit 806 that performs calculations based on a state transition model, a neural network model (NN model) 810, and a state estimation unit 802 that performs calculations based on an observation model using the NN model 810. The NN model 810 has the same structure and parameter group as the NN model 809 according to the first embodiment. This NN model 810 may be realized by a computer program, or may be realized by a hardware configuration such as a semiconductor integrated circuit.
[0114] The state transition processing unit 806 and the observation processing unit 808 cooperate with each other to execute state estimation processing using a Kalman filter based on the input potential measurement amount, thereby estimating the outer edge current density j con The potential measurement amount at each time may be a scalar amount representing the potential at one point on the outer edge of the substrate Wf, or may be a vector amount representing the potential at multiple points on the outer edge of the substrate Wf.
[0115] The position on the outer edge of the substrate Wf is expressed by a pair (θ, ψ) of a rotation angle θ relative to the electrical contact of the substrate Wf and a rotation angle ψ of the substrate holder 440. Figure 16 shows the current density j at the position (θ, ψ) on the outer edge of the substrate Wf. con A diagram for explaining (θ, ψ) of the outer edge current density j con (θ, ψ) is expressed by the following equation (9) using Fourier series expansion.
[0116]
number
[0117] In this formula, a i ,b i (i is an integer in the range 0 to n; n is a positive integer) are Fourier coefficients, and R i (ψ) is the rotation matrix. The set of Fourier coefficients {a i ,b i}, the outer edge current density j con (θ,ψ) can be expressed as a set {a i ,b i} is a state variable, which can be expressed in the form of a state vector, for example.
[0118] The state transition model is based on the outer edge current density j con For example, a state transition model that describes the relationship between a state variable at time t and a state variable at time t-1 is expressed as a state transition function F i can be expressed in the form of the following equation of state (10) using
[0119]
number
[0120] In this formula, a i,t ,b i,t is the Fourier coefficient at time t, a i,t-1 ,b i,t-1is the Fourier coefficient at time t-1, v t-1 is noise.
[0121] State transition function F i may be expressed as a linear operator such as a matrix. The state transition function F i is expressed by the following equations (11) and (12), for example.
[0122]
number
[0123] In these equations, ω is the angular velocity of rotation of the substrate Wf, and Δt is the time step (i.e., the time difference between time t and time t-1). Note that the state equations are not limited to those expressed by equations (10) to (12). Any state equation can be used as long as it is applicable to state estimation processing using a Kalman filter.
[0124] In the state estimation process using the Kalman filter, the state transition processing unit 806 is configured to calculate prior information corresponding to a prior distribution in Bayesian estimation based on a predetermined update formula based on the state transition model. For example, the prior information includes a prior state estimate and a prior error covariance matrix.
[0125] On the other hand, the observation model is based on the potential measurement (i.e., the sensor observation) and the outer edge current density j con For example, the observation model is a model that describes the relationship between the measured potential φ at time t and the state variables that represent the t and the outer edge current density j at time t con The state variable x t The observation equation can be expressed as an observation equation that describes the relationship between the observation function G at time t. t Using this, it can be expressed in the form of the following equation (13).
[0126]
number
[0127] In this equation, the observation function G t is the outer edge current density j con is the response of the potential sensor 470 to t is noise.
[0128] In the state estimation process using the Kalman filter, the observation processing unit 808 is configured to calculate posterior information corresponding to the posterior distribution in Bayesian estimation based on a predetermined update formula based on the observation model, the potential measurement, and prior information each time a potential measurement is given. For example, the posterior information includes a posterior state estimate and a posterior error covariance matrix. The posterior state estimate is an estimate of the state at the current time t that is updated using the actual potential measurement and prior information. The observation processing unit 808 applies the calculated posterior state estimate to the outer edge current density j con can be output to the current density calculation unit 812 as a state estimation quantity representing
[0129] The NN model 810 uses the outer edge current density j con When the state variables representing the potential of the plating solution Ps and the parameter data μ that determine the plating conditions are input, the system can be trained to output an estimated value (potential estimated value) that represents the potential of the plating solution Ps near the outer edge of the substrate Wf. The meter data μ will be described later.
[0130] The observation processing unit 808 calculates the observation function G t When performing the calculation based on t Specifically, the NN model 810 can be used as an observation function G t15, the observation processing unit 808 calls the NN model 810 and inputs the variable x to the NN model 810. The NN model 810 outputs the inference result Gn(x, μ) according to the input variable x and parameter data μ.
[0131] The parameter data storage unit 802 stores plating process parameters related to at least one component of the plating module 400 (e.g., the plating solution Ps, the plating tank 410, the substrate holder 440, and the anode 430). The parameters are data that define the conditions of the plating film formation process (i.e., the plating conditions). For example, the parameters include, but are not limited to, the position and orientation of the substrate holder 440, the rotation speed of the substrate Wf by the rotation mechanism 448, the type of plating solution, the electrical conductivity of the plating solution, the polarization gradient, the plating current value, the plating time, the opening dimensions of the anode mask 426, the position of the shield 480, and the distance between the substrate Wf and the resistor 450.
[0132] In response to a command from the parameter designation unit 803, the parameter data storage unit 802 selects a parameter designated by the command from among the parameters stored in the parameter data storage unit 802, and inputs parameter data μ indicating the numerical value of the selected parameter to the NN model 810. The parameter designation unit 803 has a function of providing a command to the parameter data storage unit 802 in accordance with information input by an operator through a user interface device. As described above, the control module 800 also has a control function of adjusting plating conditions in accordance with the measured or estimated thickness distribution of the plating film during the plating process. The parameter designation unit 803 can provide a command to the parameter data storage unit 802 to designate parameters that define the plating conditions adjusted by this control function.
[0133] Fig. 17 is a diagram illustrating a schematic configuration of an NN model 810 of this embodiment. As shown in Fig. 17, the NN model 810 is configured to receive parameter data μ and state variables x provided from a parameter data storage unit 802, execute an inference calculation based on the input state variables x and parameter data μ, and output an inference result Gn(x, μ).
[0134] Next, referring to FIG. 15, the current density calculation unit 812 calculates the outer edge current density j calculated by the state estimator 804. con The current density calculation unit 812 receives a state estimation value representing the current density j in the inner region 64 (FIG. 12) of the substrate Wf, which is located inside the outer edge 62, from the state estimation value. wafer Hereinafter, for convenience of explanation, the current density in the inner region 64 may be referred to as the "plating current density." Specifically, the current density calculation unit 812 includes an estimation unit 814 and a neural network model (NN model) 816 as a second trained neural network model. The NN model 816 has the same structure and parameter group as the NN model 815 according to the second embodiment. This NN model 816 may be realized by a computer program, or may be realized by a hardware configuration such as a semiconductor integrated circuit.
[0135] The estimation unit 814 calculates the plating current density j from the state estimation quantity using the NN model 816. wafer The NN model 816 may be realized by a computer program, or may be realized by a hardware configuration such as a semiconductor integrated circuit.
[0136] The NN model 816 uses the outer edge current density j con When the variable y representing the plating current density j and the parameter data μ that defines the plating conditions are input, wafer15, the estimation unit 814 calls the NN model 816 and inputs the variable y to the NN model 814. The NN model 816 outputs the inference result En(y,μ) in accordance with the input variable y and parameter data μ. The estimation unit 814 converts the inference result En(y,μ) into the estimated plating current density j wafer can be output to the film thickness calculation unit 820 as
[0137] Fig. 18 is a diagram illustrating a schematic configuration of the NN model 816 of this embodiment. As shown in Fig. 18, the NN model 816 is configured to receive parameter data μ and state variables y provided from the parameter data storage unit 802, execute an inference calculation based on the input state variables y and parameter data μ, and output an inference result En(y, μ).
[0138] Next, referring to FIG. 15, the film thickness calculation unit 820 calculates the plating current density j obtained from the current density calculation unit 812. wafer (k, t) where t is the current time and k is a number indicating the position of the inner region 64 on the substrate Wf. In one embodiment, the film thickness calculation unit 820 can calculate the film formation rate v(k, t) and film thickness distribution w(k, t) of the plating film at position k on the substrate Wf and current time t using the following equations (14) and (15).
[0139]
number
[0140] In these equations, M is the molecular weight of the plating deposited on the substrate Wf, ρ is the density of the plating deposited on the substrate Wf, z is the valence of the plating reaction, and F is the Faraday constant. Note that the film thickness calculation unit 820 may calculate the film thickness w(k,T) at the end of the plating process (time q=T) instead of the current film thickness distribution w(k,t) by predicting the future plating current density and film formation rate using the above state equation.
[0141] The end point determination unit 822 determines the end point of the plating process on the substrate Wf based on the film thickness distribution w(k, t) of the plating film obtained by the film thickness calculation unit 820. For example, the end point determination unit 822 may terminate the plating process when the estimated current film thickness distribution w(k, t) becomes a desired thickness distribution, or may predict the time until the end point of the plating process based on the estimated current film thickness w(k, t) and the predicted future film formation rate v(k, s) (s = t, ..., T).
[0142] Next, a description will be given below of the processing procedure performed by the control module 800. Fig. 19 is a flowchart showing an example of the processing procedure for calculating the film thickness distribution of the plating film.
[0143] Referring to FIG. 19, first, the state estimator 804 initializes the time t (step S50). Next, the state estimator 804 reads the parameter data μ supplied from the parameter data storage unit 802 (step S51), and then obtains the potential measurement amount from the potential sensor 470 (step S52). Here, the order of steps S51 and S52 can be reversed. good.
[0144] Thereafter, the state estimator 804 executes state estimation processing using a Kalman filter based on the observation model and the state transition model from the potential measurement amount and the parameter μ, thereby estimating the current density j con At this time, the calculation based on the observation model is performed using the NN model 810.
[0145] Next, the current density calculation unit 812 calculates the current density (plating current density) j in the inner region of the substrate Wf from the state estimation quantity and the parameter data μ using the NN model 816. wafer Next, the film thickness calculation unit 820 calculates the distribution of the plating current density j obtained from the current density calculation unit 812 (step S54). waferBased on this, the film thickness distribution w(k,t) of the plating film formed on the substrate Wf is calculated (step S55). Then, the end point determination unit 822 determines whether the end point of the plating process on the substrate Wf has been detected based on the film thickness distribution w(k,t) of the plating film obtained by the film thickness calculation unit 820 as described above (step S60). If it is determined that the end point of the plating process has been detected (YES in step S60), the control module 800 terminates the plating process. On the other hand, if the end point of the plating process has not been detected (NO in step S60), the control module 800 increments the time t (step S61) and repeats the processes from step S51 onwards.
[0146] As described above, according to the third embodiment, the state estimator 804 of the control module 800 receives the potential measured by the potential sensor 470 as an input, and calculates the current density j at the outer edge of the substrate Wf based on the observation model and the state transition model. con The NN model 810 is configured to calculate a state estimate representing the potential of the plating solution Ps near the outer edge of the substrate Wf, and calculations based on the observation model are performed using the NN model 810. The NN model 810 is trained to output an estimate representing the potential of the plating solution Ps near the outer edge of the substrate Wf when a state variable representing the current density at the outer edge of the substrate Wf is input. The NN model 810 is configured to have the same structure and parameter set as the NN model 809 according to the first embodiment. The NN model 809 according to the first embodiment can learn, through machine learning training data, time-series changes in the measured potential corresponding to changes in plating conditions during plating processes. When multiple plating processes are performed consecutively, changes in plating conditions may occur between one plating process and another (for example, plating conditions may change between the plating process for forming a plating film on a first substrate and the plating process for forming a plating film on a second substrate). The NN model 809 can also learn, through machine learning training data, time-series changes in the measured potential corresponding to changes in plating conditions between plating processes. Therefore, even if changes in plating conditions occur, the current density j at the outer edge of the substrate Wf can be accurately calculated. conThis allows the state estimation quantity representing the current density j on the plating surface Wf-a to be calculated with high accuracy. wafer The estimation accuracy of the thickness distribution w(k,t) of the plating film is also improved.
[0147] Furthermore, the state estimator 804 performs state estimation processing using a Kalman filter based on the state transition model and the observation model, thereby estimating the current density j con Since the state estimator 804 of this embodiment can sequentially calculate a state estimate representing the thickness distribution w(k,t), a highly reliable thickness distribution w(k,t) can be obtained in real time. Conventionally, the thickness distribution of a plating film has been calculated by numerical analysis using a numerical simulation that requires a high computational load, but this method requires a large amount of computational resources for fast calculations. In contrast, the state estimator 804 of this embodiment can perform highly accurate thickness distribution calculations in real time using relatively few computational resources.
[0148] Furthermore, the current density calculation unit 812 of the control module 800 calculates the current density j con From the state estimator representing the plating current density j wafer The NN model 816 has the same structure and parameters as the NN model 815 according to the second embodiment. The NN model 815 according to the second embodiment is configured to have a set of machine learning data. The NN model 815 is configured to acquire the outer edge current density j according to the change in plating conditions during the plating process through the training data for machine learning. con When multiple plating processes are performed consecutively, the plating conditions may change between one plating process and another (for example, the plating conditions may change between the plating process for depositing a plating film on a first substrate and the plating process for depositing a plating film on a second substrate). The NN model 815 learns the time-series changes in the outer edge current density j according to such changes in the plating conditions between plating processes through training data for machine learning. con Therefore, even if the plating conditions change, the current density calculation unit 812 can learn the time-series change of the current density j waferThis allows for highly accurate estimation of the thickness distribution w(k,t) of the plating film, further improving the accuracy of estimation.
[0149] <Modification> FIG. 20 is a cross-sectional view schematically illustrating the configuration of a plating module 400M according to a modification of the third embodiment. In the plating module 400M according to this modification, parts that overlap with those in the plating module 400 according to the third embodiment are designated by the same reference numerals, and their description will be omitted. The control module 800M has the same functions as the control module 800 according to the third embodiment. In the plating module 400M according to this modification, the conduit 462 is configured to be movable by a drive mechanism 466. The drive mechanism 466 is controlled by the control module 800M. The control module 800M can adjust the position of the open end 464 (see FIG. 13) of the conduit 462 by controlling the operation of the drive mechanism 466. The drive mechanism 466 can be realized by a known mechanism such as a motor or a solenoid. As described above, the potential inside the conduit 462 detected by the potential sensor 470 is approximately equal to the potential near the open end 464, and therefore, the pseudo detection position of the potential sensor 470 can be changed by adjusting the position of the open end 464 of the conduit 462 with the drive mechanism 466. Note that, although not limited thereto, the drive mechanism 468 may have a function of moving the potential sensor 470 along the radial direction of the substrate Wf.
[0150] <Fourth embodiment> FIG. 21 is a cross-sectional view schematically illustrating the configuration of a plating module 400A according to a fourth embodiment of the present invention. In the fourth embodiment, the substrate Wf is held so that it extends vertically, i.e., so that the normal direction of the substrate Wf faces horizontally. As shown in FIG. 21, the plating module 400A includes a plating tank 410A that holds a plating solution Ps therein, an anode 430A disposed in the plating tank 410A, and a substrate holder 440A. In the fourth embodiment, a rectangular substrate will be described as an example of the substrate Wf. However, as in the third embodiment, the substrate Wf is not limited to a rectangular substrate and may be a circular substrate.
[0151] The anode 430A is disposed in the plating tank so as to face the surface of the substrate Wf to be plated. The anode 430A is connected to the positive terminal of a power source 90, and the substrate Wf is connected to the negative terminal of the power source 90 via a substrate holder 440A. When a voltage is applied between the anode 430A and the substrate Wf, a current flows through the substrate Wf, and a plating film (metal film) is formed on the surface of the substrate Wf in the presence of the plating solution Ps.
[0152] The plating tank 410A includes an inner tank 412A in which the substrate Wf and the anode 430A are placed, and an overflow tank (outer tank) 414A adjacent to the inner tank 412A. The plating solution Ps in the inner tank 412A flows over the side wall of the inner tank 412A and flows into the overflow tank 414A.
[0153] One end of a plating solution circulation line 58a is connected to the bottom of the overflow tank 414A, and the other end of the plating solution circulation line 58a is connected to the bottom of the inner tank 412A. A circulation pump 58b, a thermostatic unit 58c, and a filter 58d are attached to the line 58a. When the plating solution Ps overflows the side wall of the inner tank 412A and flows into the overflow tank 414A, the plating solution is returned from the overflow tank 414A to the inner tank 412A through the plating solution circulation line 58a. In this way, the plating solution circulates between the inner tank 412A and the overflow tank 414A through the plating solution circulation line 58a.
[0154] The plating module 400A further includes a regulation plate 454 that regulates the potential distribution on the substrate Wf. The regulation plate 454 is disposed between the substrate Wf and the anode 430A and has an opening 454a for limiting the electric field in the plating solution.
[0155] The plating module 400A also includes a conduit 462A provided in the plating tank 410A. The conduit 462A can be formed of, for example, a resin such as PP (polypropylene) or PVC (polyvinyl chloride). Similar to the conduit 462 of the third embodiment, the conduit 462A has a first portion 462Aa including an open end and located in the region between the substrate Wf and the anode 430A, and a second portion 462Ab located in a region away from the region between the substrate Wf and the anode 430A. The second portion 462Ab of the conduit 462A is also provided with a potential sensor 470A. A detection signal from the potential sensor 470A is input to the control module 800A.
[0156] In the plating module 400A of the fourth embodiment, the control module 800A has the same functions as the control module 800 of the third embodiment. Therefore, the control module 800A can estimate the thickness distribution of the plating film based on the detection value of the potential sensor 470A. This allows the thickness distribution of the plating film formed on the plating surface of the substrate Wf during plating processing to be measured in real time. Furthermore, the control module 800A can also adjust the plating conditions based on the thickness of the plating film, as described in the third embodiment.
[0157] It should be understood that modifications, additions, and improvements to the above-described embodiments can be made as appropriate without departing from the spirit and scope of the present invention. The scope of the present invention should be interpreted based on the description of the claims, and should be understood to include equivalents thereof. [Explanation of symbols]
[0158] Wf: substrate Wf, Ps: plating solution, PB: plating tank, Wf-a: surface to be plated, BR1, BR2: boundary, AD: anode, 1000: plating device, 1, 2: neural network (NN) model training device, 10: training data storage unit, 12: loss calculation unit, 14: boundary loss calculation unit, 16: physical loss calculation unit, 18: data loss calculation unit, 20: total loss calculation unit, 22: optimizer, 24: learning control unit, 40: training data storage unit, 42: loss calculation unit, 46: physical loss calculation unit, 48: data loss calculation unit, 50: total loss calculation unit, 52: optimizer, 54: learning control unit, 58a: liquid circulation line, 58b: circulation pump, 58c: constant temperature unit, 58d: filter, 62: outer edge, 64: inner area area, 80: information processing device, 81: processor, 82: random access memory (RAM), 83: non-volatile memory, 84: storage, 85: input / output interface circuit, 86: signal path, 90, 91: power supply, 100: load port, 110: transfer robot, 120: aligner, 200: pre-wet module, 300: pre-soak module, 400, 400M, 400A: plating module, 410, 410A: plating tank, 412, 412A: inner tank, 414A: overflow tank (outer tank), 420: membrane, 422: cathode area, 424: anode area, 426: anode mask, 430, 430A: anode, 440, 440A: substrate holder, 441: power supply air contact, 442: lifting mechanism, 448: rotation mechanism, 450: resistor, 452: drive mechanism, 454: regulation plate, 454: regulation plate, 454a: opening, 462, 462A: conduit, 462a, 462Aa: first portion, 462b, 462Ab: second portion, 464: opening end, 466: drive mechanism, 468: filling mechanism, 470, 470A: potential sensor, 480: shield, 500: cleaning module, 600: spin rinse module, 700: transport device, 800, 800M, 800A: control module, 802: parameter data storage unit, 803: parameter designation unit, 804: state estimator, 806: state transition processing unit, 808: observation processing unit , 809: neural network model (NN model), 809i: input layer, 809h: intermediate layer (hidden layer), 810: neural network model (NN model), 812: current density calculation unit, 814: estimation unit, 815: neural network model (NN model), 815i: input layer, 815h: intermediate layer (hidden layer), 815t: output layer, 816: neural network model (NN model), 820: film thickness calculation unit, 822: end point determination unit, 900: information processing device, 901: processor, 902: random access memory (RAM), 903: non-volatile memory, 904: storage, 905: input / output interface circuit, 906: signal path.
Claims
1. 1. A method for training a neural network model used for controlling a plating apparatus comprising: a plating tank for containing a plating solution; a substrate holder for holding a substrate; and an anode disposed in the plating tank so as to face the substrate held by the substrate holder, the method comprising: the neural network model is configured to, upon receiving input data including at least data representing a current density at an outer edge of the substrate, perform an inference process on the input data to calculate inference data representing a potential of the plating solution near the outer edge of the substrate; The method comprises: reading training input data and teacher data corresponding to the training input data from a training data storage unit in which training data is stored; inputting the training input data into the neural network model; the neural network model outputting inference data in response to the training input data; calculating a residual between the training data and the output inference data as a first loss amount; a step of substituting the output inference data into an equation describing a physical phenomenon in a region of the plating solution contained between the substrate and the anode in the plating tank, and calculating a residual obtained by the equation as a second loss amount; optimizing parameters of the neural network model using the first loss amount and the second loss amount; A method comprising:
2. 2. The method of claim 1, wherein the equation is Laplace's equation for electric potential.
3. 10. The method of claim 1, the training data storage unit stores parameters that define plating conditions for at least one component of a plating module including at least the plating solution, the plating tank, the substrate holder, and the anode; The training input data is data representing current density at the outer edge; parameter data representing parameters that define the plating conditions; A method comprising:
4. 10. The method of claim 1, the first loss amount is calculated based on a constraint that the potential must satisfy on the boundary of the plating solution region; The region boundaries include a boundary between the substrate and the plating solution and a boundary between the anode and the plating solution.
5. The method of claim 4 , wherein the constraints include Dirichlet boundary conditions and Neumann boundary conditions.
6. A plating apparatus comprising: a plating tank for containing a plating solution; a substrate holder for holding a substrate; an anode disposed in the plating tank so as to face the substrate held by the substrate holder; a sensor configured to measure the potential of the plating solution near an outer edge of the substrate held by the substrate holder; a state estimator configured to use the measured potential as an input and to calculate a state estimate representing a current density at the outer edge of the substrate by performing processing using a Kalman filter based on an observation model and a state transition model; and Equipped with the observation model is a model that describes a relationship between a potential measured by the sensor and a state variable that represents a current density at the outer edge, using an observation function that gives a response amount of the sensor to a current density at the outer edge; the state transition model is a model describing a temporal transition of a state variable representing a current density at the outer edge portion, the state estimator is configured to perform calculations based on the observation model using a neural network model trained by the method of any one of claims 1 to 5; the trained neural network model is used as a neural network model configured to output an estimated quantity representing the potential of the plating solution near the outer edge when a state variable representing the current density at the outer edge is input; the state estimator is configured to execute a calculation based on the observation model using the estimated value output in the state estimation process by the Kalman filter. A plating apparatus characterized by:
7. 7. The plating apparatus according to claim 6, a parameter data storage unit storing parameters defining plating conditions for at least one component of a plating module including at least the plating solution, the plating tank, the substrate holder, and the anode; The trained neural network model is an input layer configured to receive parameter data representing parameters provided from the parameter data storage unit and state variables representing current densities at the outer edge; an output layer configured to output an estimate representing the potential near the periphery; an intermediate layer that connects the input layer and the output layer; 1. A plating apparatus comprising:
8. 1. A method for training a neural network model used for controlling a plating apparatus comprising: a plating tank for containing a plating solution; a substrate holder for holding a substrate; and an anode disposed in the plating tank so as to face the substrate held by the substrate holder, the method comprising: the neural network model is configured to, upon receiving input data including at least data representing a current density at an outer edge of the substrate, perform an inference process on the input data to calculate inference data representing a current density in an inner region located inside the outer edge on the substrate; The method comprises: reading training input data and teacher data corresponding to the training input data from a training data storage unit in which training data is stored; inputting the training input data into the neural network model; the neural network model outputting inference data in response to the training input data; a step of substituting the teacher data and the output inference data into an equation describing a physical phenomenon in a region including a boundary between the plating surface of the substrate and the plating solution in the plating tank, and calculating a residual obtained by doing so as a loss amount; optimizing parameters of the neural network model using the loss amount; A method comprising:
9. 9. The method of claim 8, the training data storage unit stores parameters that define plating conditions for at least one component of a plating module including at least the plating solution, the plating tank, the substrate holder, and the anode; The training input data is data representing current density at the outer edge; parameter data representing parameters that define the plating conditions; A method comprising:
10. A plating apparatus comprising: a plating tank for containing a plating solution; a substrate holder for holding a substrate; an anode disposed in the plating tank so as to face the substrate held by the substrate holder; a sensor configured to measure the potential of the plating solution near an outer edge of the substrate held by the substrate holder; a state estimator configured to calculate, from the measured potential, a state estimator representative of a current density at an outer edge of the substrate; a current density calculation unit configured to calculate a current density distribution in an inner region of the substrate that is located inside the outer edge portion from the state estimated quantity calculated by the state estimator, using a neural network model trained by the method according to claim 8 or 9; A plating apparatus comprising:
11. The plating apparatus according to claim 10, The plating solution, the plating tank, the substrate holder, and the anode are included. a parameter data storage unit storing parameters defining plating conditions for at least one component of the plating module; The trained neural network model is an input layer configured to receive parameter data representing parameters provided from the parameter data storage unit and a state estimate provided from the state estimator; an output layer configured to output a distribution of current density in the inner region; an intermediate layer that connects the input layer and the output layer; 1. A plating apparatus comprising:
12. A computer program comprising a plurality of instructions, which when executed on a processor causes the processor to perform the method of any one of claims 1 to 5 and claims 8 to 9.
Citation Information
Patent Citations
Plating apparatus
JP2023160356A
Plating apparatus
JP2024123875A
Plating Equipment
JP7542782B1
JPP7542782B