In-situ monitoring of training spectra for a machine learning system for labeled spectra for spectrographic monitoring
By training a neural network and combining it with an in-situ monitoring system, the problem of controlling the polishing rate and endpoint during chemical mechanical polishing was solved, enabling more accurate prediction of substrate thickness and control of polishing uniformity, and improving the reliability of polishing endpoint detection.
Patent Information
- Application Number
- CN202210210644.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-03
- Filing Date
- 2022-03-03
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2042-03-03
AI Technical Summary
In the process of chemical mechanical polishing, it is difficult to precisely control the polishing rate and endpoint, which leads to variations and non-uniformity in the material removal rate on the substrate. Existing optical monitoring systems cannot effectively solve this problem.
By training a neural network and combining data from in-situ spectral monitoring and non-optical monitoring systems, a more accurate prediction of substrate thickness is generated. The neural network is then used for eigenvalue prediction and polishing parameter adjustment to achieve precise control of the polishing process.
It improves the precision and uniformity of the polishing process, reduces the non-uniformity of wafer thickness inside and outside, and enhances the reliability of polishing endpoint detection.
Smart Images

Figure CN115099386B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to, for example, optical monitoring of a substrate during a process such as chemical mechanical polishing. Background Technology
[0002] Integrated circuits are typically formed on a substrate by sequentially depositing conductive, semiconducting, or insulating layers on a silicon wafer. One fabrication step involves depositing a filler layer on a non-planar surface and planarizing the filler layer. For some applications, the filler layer is planarized until the top surface of the patterned layer is exposed. For example, a conductive filler layer may be deposited on a patterned insulating layer to fill trenches or holes in the insulating layer. After planarization, portions of the conductive layer remaining between the raised patterns of the insulating layer form vias, plugs, and lines that provide conductive paths between thin-film circuits on the substrate. For other applications, the filler layer is planarized until a predetermined thickness is maintained above the underlying layer. For example, the deposited dielectric layer may be planarized for photolithography.
[0003] Chemical mechanical polishing (CMP) is a recognized planarization method. This planarization method typically requires the substrate to be mounted on a carrier head. The exposed surface of the substrate is usually placed on a rotating polishing pad with a durable rough surface. The carrier head provides a controlled load on the substrate, thereby pushing it against the polishing pad. Polishing fluid, such as a slurry containing abrasive particles, is typically supplied to the surface of the polishing pad.
[0004] One challenge in CMP is achieving the desired profile using appropriate polishing rates, for example, after planarizing a substrate layer to a desired flatness or thickness, or removing a required amount of material. Variations in the initial thickness of the substrate layer, slurry composition, polishing pad condition, relative speed between the polishing pad and the substrate, and load on the substrate can cause variations in the material removal rate on and between substrates. These variations result in variations in the time required to reach the polishing endpoint and the amount of material removed. Therefore, it may not be possible to determine the polishing endpoint as varying solely based on polishing time, or to achieve the desired profile simply by applying constant pressure.
[0005] In some systems, the substrate is monitored in situ during polishing, for example, via an optical monitoring system. Thickness measurements from the in-situ monitoring system can be used to adjust the pressure applied to the substrate to regulate the polishing rate and reduce in-wafer non-uniformity (WIWNU). Summary of the Invention
[0006] In one aspect, a method for training a neural network for spectral monitoring includes: polishing a test substrate; measuring a test spectral sequence of light reflected from the substrate by an in-situ spectral monitoring system during polishing of the test substrate; measuring a test value sequence from the substrate by an in-situ non-optical monitoring system during polishing of the test substrate; measuring at least one of an initial feature value of the substrate before polishing or a final feature value of the substrate after polishing; inputting the test value sequence and the initial and / or final feature values into a thickness prediction model, the thickness prediction model outputting a training value sequence, wherein each corresponding training value in the training value sequence is associated with a corresponding test spectrum from the test spectral sequence; and training an artificial neural network using multiple test spectra and multiple training values. The artificial neural network has multiple input nodes for multiple spectral values, output nodes for outputting feature values, and multiple hidden nodes connecting the input nodes to the output nodes.
[0007] These aspects can be embodied in a computer program product, which is tangibly embodied in a non-transient computer-readable medium and includes instructions for causing a processor to perform operations, or embodied in a processing system (e.g., a polishing system) having a controller to perform operations.
[0008] The implementation of any of these aspects may include one or more of the following features.
[0009] Some implementations may include, but are not limited to, one or more of the following potential advantages: The spectrum used to train a machine learning system (e.g., a neural network) can be labeled more accurately, thereby improving the predictive performance of the machine learning system. The thickness of layers on a substrate can be measured more accurately and / or more quickly. Intra-wafer thickness non-uniformity and inter-wafer thickness non-uniformity (WIWNU and WTWNU) can be reduced, and the reliability of the endpoint system in detecting the desired processing endpoint can be improved.
[0010] Details of one or more embodiments are set forth in the accompanying drawings and description. Other features, aspects, and advantages will become apparent from the specification, drawings, and claims. Attached Figure Description
[0011] Figure 1 A schematic cross-sectional view showing an example of a polishing apparatus.
[0012] Figure 2 A schematic top view of a substrate having multiple zones is shown.
[0013] Figure 3 A schematic top view showing the location on the first substrate where in-situ measurements were performed.
[0014] Figure 4The neural network is shown as part of the controller used in the polishing device.
[0015] Figure 5 The training data used to train the machine learning system is shown.
[0016] Figure 6 The graph shows the time-dependent characteristic values output by the control system.
[0017] Figure 7 This is a schematic diagram of the component used to generate the training spectrum.
[0018] Figure 8 This shows the data fed into the prediction model.
[0019] Figure 9 The graph shows the motor torque over time.
[0020] The same reference numerals and names in the various figures indicate the same elements. Detailed Implementation
[0021] One monitoring technique involves measuring the spectrum reflected from a polished substrate. Various techniques have been proposed to determine characteristic values (e.g., the thickness of the polished layer) from the measured spectrum. One possible technique is to train a neural network based on training spectra from sample substrates and the measured characteristic values of those sample substrates. After training, during normal operation, the measured spectrum from the device substrate can be input into the neural network, and the neural network can output characteristic values (e.g., the calculated thickness of the top layer of the substrate). One motivation for using a neural network is the possibility of eliminating the influence of the underlying film thickness on the calculated thickness of the top layer.
[0022] To obtain training data, a spectral sequence can be measured during the polishing of the test substrate. Characteristic values (e.g., thickness) of the substrate can be measured before and after polishing, for example, using a stand-alone or online metrology system. These two values are then associated with the first and last spectra in the sequence. Characteristic values for the remaining spectra in the sequence can be generated through (e.g., time-based) linear interpolation. Thus, the training data will consist of a set of spectra, each with associated characteristic values.
[0023] One problem with this technique is that the eigenvalues (e.g., thickness values) are known only for the initial and final spectra in the sequence. For many processes, these eigenvalues can vary non-linearly over time. To address this issue, signals from another in-situ monitoring system (e.g., a non-optical monitoring system, such as a motor current monitoring system) can be fed into the thickness prediction model. Compared to using only linear interpolation, the thickness prediction model can output more accurate thickness values for the timestamps of each spectrum in the sequence.
[0024] Figure 1 An example of a polishing apparatus 20 is shown. The polishing apparatus 20 may include a rotatable disc-shaped worktable 22 on which a polishing pad 30 is located. The worktable is operable to rotate about an axis 23. For example, a motor 24 may rotate a drive shaft 26 to rotate the worktable 22. The polishing pad 30 may be detachably attached to the worktable 22 (e.g., via an adhesive layer). The polishing pad 30 may be a double-layer polishing pad having an outer polishing layer 32 and a softer backing layer 34.
[0025] The polishing apparatus 20 may include a polishing slurry supply port 40 to dispense polishing slurry 42 (such as abrasive slurry) onto the polishing pad 30. The polishing apparatus 20 may also include a polishing pad adjuster to abrade the polishing pad 30 to keep the polishing pad 30 in a consistent abrasive state.
[0026] The carrier head 50 is operable to hold the substrate 10 against the polishing pad 30. Each carrier head 50 also includes a plurality of independently controllable pressurized chambers (e.g., three chambers 52a-52c), which can pressurize associated regions 12a-12c on the substrate 10 (see...). Figure 2 Apply independent and controllable pressure. (Reference) Figure 2 The central region 12a can be substantially circular, and the remaining regions 12b-12c can be concentric annular regions surrounding the central region 12a.
[0027] return Figure 1 Chambers 52a-52c may be defined by a flexible membrane 54 having a bottom surface to which the substrate 10 is mounted. The carrier head 50 may also include a retaining ring 56 to hold the substrate 10 below the flexible membrane 54. Although for ease of illustration... Figure 1 and Figure 2 Only three chambers are shown, but there may be two, four, or more chambers, for example, five chambers. Additionally, other mechanisms (e.g., piezoelectric actuators) may be used in the bearing head 50 to adjust the pressure applied to the substrate.
[0028] Each bearing head 50 is suspended from a support structure 60 (e.g., a turntable or track) and connected to a bearing head rotation motor 64 via a drive shaft 62, allowing the bearing head to rotate about axis 51. Optionally, each bearing head 50 may oscillate laterally by moving along the track or by the rotational oscillation of the turntable itself (e.g., on a slider on the turntable). In operation, the worktable 22 rotates about its central axis 23, and the bearing head 50 rotates about its central axis 51 and translates laterally on the upper surface of the polishing pad 30.
[0029] The polishing apparatus also includes an in-situ spectroscopic monitoring system 70, which can be used to control polishing parameters (e.g., pressure applied in one or more of the chambers 52a-52c) to control the polishing rate of one or more of the regions 12a-12c. The in-situ spectroscopic monitoring system 70 generates measurements of the spectrum of light reflected from the substrate, which can be converted into characteristic values indicating the thickness of the layer being polished in each of the regions 12a-12c.
[0030] The in-situ spectroscopic monitoring system 70 may include a light source 72, a photodetector 74, and a circuit system 76 for sending and receiving signals between a controller 90 (e.g., a computer) and the light source 72 and the photodetector 74. One or more optical fibers may be used to transmit light from the light source 72 to a window 36 in the polishing pad 30 and to transmit light reflected from the substrate 10 to the detector 74. For example, a branched optical fiber 78 may be used to transmit light from the light source 72 to the substrate 10 and back to the detector 74. As a spectroscopic system, the light source 72 may then be operable to emit white light, and the detector 74 may be a spectrometer.
[0031] The output of circuit system 76 may be a digital electronic signal, which is transmitted to controller 90 via a rotary coupler 28 (e.g., a slip ring) in drive shaft 26. Alternatively, circuit system 76 may communicate with controller 90 via a wireless signal. Controller 90 may be a computing device (e.g., a programmable computer) including a microprocessor, memory, and input / output circuitry. Although shown as a single block, controller 90 may be a networked system with functionality distributed across multiple computers.
[0032] In some implementations, the in-situ spectroscopic monitoring system 70 includes a sensor 80 mounted in a stage 22 and rotating with it. For example, the sensor 80 may be the end of an optical fiber 78. Movement of the stage 22 will cause the sensor 80 to scan across the substrate. Figure 3 As shown, due to the rotation of the stage (indicated by arrow 38), the in-situ spectral monitoring system performs measurements at the sampling frequency as the sensor 80 travels below the carrier head; as a result, measurements are taken at position 14 in the arc passing through the substrate 10 (the number of points is illustrative; depending on the sampling frequency, more or fewer measurements may be performed than those shown).
[0033] As the stage rotates one revolution, spectra are obtained from different positions on the substrate 10. Specifically, some spectra are obtained from positions closer to the center of the substrate 10, and some from positions closer to the edge. The controller 90 can be configured to calculate the radial position (relative to the center of the substrate 10) for each measurement from the scan based on timing, motor encoder information, stage rotation or position sensor data, and / or optical detection of the edges of the substrate and / or retaining ring. Thus, the controller can correlate the individual measurements with the respective zones 12a-12c (see...). Figure 2 This is related to the measurement time. In some implementations, the measurement time can be used as an alternative to the accurate calculation of the radial position.
[0034] return Figure 1 The controller 90 can derive characteristic values for each region of the substrate based on signals from the in-situ monitoring system. Specifically, as polishing progresses, the controller 90 generates a sequence of characteristic values over time. The controller 90 can generate at least one characteristic value for each region for each scan of the sensor below the substrate 10, or (e.g., for a polishing system that does not scan across the substrate) generate characteristic values for each region at a measurement frequency (which does not need to be the same as the sampling frequency). In some implementations, a single characteristic value is generated for each scan; for example, multiple measurements can be combined to generate a characteristic value. In some implementations, each measurement is used to generate a single characteristic value.
[0035] Characteristic values are typically the thickness of the outer layer, but can also be related features (such as the thickness removed). Additionally, characteristic values can be a more general representation of the substrate's progress through the polishing process, for example, an index value indicating the time at which measurements are expected to be observed during the polishing process after a predetermined progression, or the number of stage rotations.
[0036] The controller 90 can use a two-step process to generate feature values from the measured spectrum from the in-situ spectral monitoring system 70. First, the dimensionality of the measured spectrum is reduced, and then the dimensionality-reduced data is fed into an artificial neural network, which outputs feature values. By performing this process for each measured spectrum, the artificial neural network can generate a sequence of feature values. This sequence can include feature values for different radial locations on the substrate (e.g., assuming the sensor 80 passes beneath the substrate).
[0037] The combination of the in-situ spectral monitoring system 70 and the controller 90 provides an endpoint and / or polishing uniformity control system 100. That is, the controller 90 can detect the endpoint and stop polishing and / or adjust the polishing pressure during the polishing process based on a series of characteristic values to reduce polishing non-uniformity.
[0038] Figure 4The diagram illustrates functional blocks implemented by controller 90, including a dimensionality reduction module 110 for performing dimensionality reduction, a neural network 120, and a process control system 130 for adjusting the polishing process (e.g., detecting the polishing endpoint and stopping polishing based on a series of feature values and / or adjusting polishing pressure during the polishing process to reduce polishing non-uniformity). As described above, these functional blocks can be distributed across multiple computers.
[0039] The neural network 120 includes multiple input nodes 122 for each principal component, multiple hidden nodes 124 (hereinafter also referred to as "intermediate nodes"), and output nodes 126 that generate feature values. In a neural network with a single layer of hidden nodes, each hidden node 124 may be coupled to each input node 122, and each output node 126 may be coupled to each hidden node 124. In some implementations, there are multiple output nodes, one of which provides the feature values.
[0040] Typically, hidden node 124 outputs a value that is a non-linear function of the weighted sum of the values from the input nodes 122 to which the hidden node is connected.
[0041] For example, the output of the hidden node 124, named node k, can be expressed as:
[0042] tanh(0.5*a k1 (I1)+a k2 (I2)+…+a kM (I M )+b k Equation 1
[0043] Where tanh is the hyperbolic tangent, a kx It refers to the weight of the connection between the k-th intermediate node and the x-th input node (out of M input nodes), and I M It is the value at the Mth input node. However, other nonlinear functions can be used instead of tanh, such as the rectified linear unit (ReLU) function and its variants.
[0044] The dimensionality reduction module 110 reduces the measured spectrum to a more finite number of component values (e.g., L component values). The neural network 120 includes input nodes 122 for each component to which the spectrum is reduced; for example, in the case where module 110 generates L component values, the neural network 120 will include at least input nodes N1, N2…N… L .
[0045] Therefore, the output H of the hidden node 124, named node k, is determined when the number of input nodes corresponds to the number of components to which the measured spectrum is reduced (i.e., L = M). k It can be expressed as:
[0046] H k =tanh(0.5*a) k1 (I1)+a k2 (I2)+…+a kL (I L )+b k )
[0047] Assume the measured spectrum S is composed of a column matrix (i1, i2, ..., i... n If ), then the output of the hidden node 124, named node k, can be expressed as:
[0048] H k =tanh(0.5*a) k1 (V1·S)+a k2 (V2·S)+…+a kL (V L ·S)+b k Equation 2
[0049] Where V x It is a row matrix (v1, v2, ..., v) that provides the transformation from the measured spectrum to the value of the x-th component (out of L components) of the dimension-reduced data. n For example, V x It can be provided by the x-th column (out of L columns) of the matrix W or W′ described below, i.e., V x It is W T The xth row. Therefore, W x It can represent the x-th eigenvector from the dimension-reduced matrix.
[0050] Output node 126 can generate a feature value CV, which is a weighted sum of the outputs of the hidden nodes. For example, this can be expressed as:
[0051] CV = C1*H1 + C2*H2 + ... + C L *H L
[0052] Where C k It is the weight of the output of the k-th hidden node.
[0053] However, the neural network 120 may optionally include one or more additional input nodes (e.g., node 122a) to receive additional data. This additional data may come from previous measurements of the substrate by an in-situ monitoring system, such as spectra collected during earlier substrate processing; measurements from previous substrates, such as spectra collected during the processing of another substrate; measurements from another sensor in the polishing system, such as measurements of the temperature of the pad or substrate by a temperature sensor; polishing recipes stored in a controller used to control the polishing system, such as polishing parameters for polishing the substrate (e.g., bearing head pressure or stage rotation rate); variables tracked by the controller, such as the number of substrates since the pad was replaced; or measurements of the thickness of the underlying film from sensors not part of the polishing system, such as measurements from a metering station. This allows the neural network 120 to take these additional processing or environmental variables into account when calculating feature values.
[0054] Return again Figure 1 The polishing apparatus 20 includes a second in-situ monitoring system 150, which is not a spectral monitoring system. The second in-situ monitoring system 150 may be a monitoring system that does not use visible light, such as a temperature monitoring system using an infrared camera. The second in-situ monitoring system 150 may be a non-optical monitoring system, such as a temperature monitoring system using thermocouples, an acoustic monitoring system, or a motor current or motor torque monitoring system.
[0055] As a temperature monitoring system, the second in-situ monitoring system 150 may include a temperature sensor 152 to monitor the temperature of, for example, the polishing process of the polishing pad 30 or the substrate 10. The temperature sensor may be an infrared sensor, such as an infrared camera positioned to capture infrared images of the polishing pad 30. Alternatively, the temperature sensor 152 may be a thermocouple attached to or embedded in another component (e.g., in the stage 22 or the carrier head 50) to measure the temperature of the polishing pad or the substrate.
[0056] As an acoustic monitoring system, the second in-situ monitoring system 150 may include an active or passive acoustic sensor 154 to monitor vibrations from the interface between the substrate 10 and the polishing pad 30.
[0057] As a motor torque monitoring system, the second in-situ monitoring system 150 may include sensors to measure motor torque. The measurement of motor torque may be a direct measurement of torque and / or a measurement of the current supplied to the motor. For example, current sensor 170 may monitor the current supplied to the table motor 24 and / or current sensor 172 may monitor the current supplied to the carrier head motor 64. Although the current sensor is shown as part of the motor, it may be part of a controller (if the controller itself outputs drive current to the motor) or a separate circuit. Alternatively, a torque meter may be placed on the table drive shaft 26 and / or the torque meter may be placed on the carrier head drive shaft 62.
[0058] In any case, the output signal of the sensors of the second in-situ monitoring system 150 (e.g., temperature sensor 152, acoustic sensor 154, or current sensor 170 and / or 172) is directed to the controller 90.
[0059] Before being used, for example, on a device chip, the dimensionality reduction module 110 and the neural network 112 need to be configured. (Reference) Figure 5 As part of the configuration process for the dimensionality reduction module 110 and the neural network 112, the controller 90 may receive multiple training spectra 202 and multiple eigenvalues 204 (denoted as D0, D1, ... D2). N The training dataset 200. The feature value may be a thickness value. Each training spectrum 202a is associated with a single corresponding feature value 204a. Multiple training spectra 202 may include, for example, twenty to five hundred training spectra.
[0060] return Figure 4 During the configuration process of the dimensionality reduction module 110, the controller 90 can generate a set of feature vectors for the covariance matrix of the training spectrum dataset. Once a set of feature vectors has been generated, the feature vectors can be ranked, and a preset number of feature vectors with the largest eigenvalue (e.g., the first four to the first eight feature vectors) can be retained.
[0061] Ranking the feature vectors using their associated eigenvalues reveals the direction of greatest variation in the dataset. Projecting the measured spectrum onto the highest-ranking feature vector provides an efficient representation of the original vector with a significantly reduced basis.
[0062] As an explanation, each training spectrum can be represented by the following matrix:
[0063] R = (i1, i2, ..., i n ),
[0064] Where i jThis represents the light intensity at the j-th wavelength out of a total of n wavelengths. The spectrum may include, for example, two hundred to five hundred intensity measurements; n may be two hundred to five hundred.
[0065] Assuming m training spectra are generated, the m matrices R can be combined to form the following matrix:
[0066]
[0067] Where i jk This represents the light intensity at the k-th wavelength of the j-th training spectrum. Each row of matrix A represents a training spectrum (e.g., a measurement at a location on the substrate).
[0068] Dimensionality reduction processes (such as Principal Component Analysis (PCA)) are applied to matrix A. PCA performs an orthogonal linear transformation that transforms the data in matrix A (m×n dimensions) to a new coordinate system such that the largest variance of any projection of the data lies on the first coordinate (called the first principal component), the second largest variance on the second coordinate, and so on. Mathematically, the transformation is represented by a p-dimensional vector w with a set of weights. k =(w k1 ,w k2 ,…,w kp Defined as follows: this set of vectors represents each m-dimensional row vector A of matrix A. i Mapping to the new principal component score vector t i =(t k1 ,t k2 ,…,t ip ), where t ki yes:
[0069] t ki =A i ·w k .
[0070] Each vector w k It is constrained to be a unit vector. As a result, t i Each variable inherits the maximum possible variance from matrix A. The decomposition of matrix A can be written as:
[0071] T = AW,
[0072] Where W is an n x p matrix, and the columns of W are A T The eigenvectors of A.
[0073] The details of PCA are also discussed in James Ramsay and BW Silverman’s *Functional Data Analysis* (Springer; 2nd edition (July 1, 2005)) and I.T. Jolliffe’s *Principal Component Analysis* (Springer; 2nd edition (October 2, 2002)).
[0074] Instead of PCA, the controller can use SVD (Singular Value Decomposition), which is a generalized eigenvalue decomposition of the training spectral dataset; or ICA (Independent Component Analysis), which finds a pre-specified number of statistically independent signals, and the additive combination of these signals produces the training spectral dataset.
[0075] Next, dimensionality reduction can be achieved by retaining only the highest-ranking eigenvectors. Specifically, instead of p principal components, a total of L principal components can be retained, where L is an integer between 0 and p (e.g., three to ten). For example, the matrix T can be reduced to an m×L matrix T′ by retaining the leftmost L columns of the matrix T. Similarly, the matrix W can be reduced to an n×L matrix W′ by retaining the leftmost L columns of the matrix W.
[0076] As another example, non-linear dimensionality reduction techniques such as autoencoders can be used. The autoencoder used can be implemented as a neural network attempting to reconstruct the original input (which may have a dimension of N) by passing it through multiple layers. One of the intermediate layers will have a reduced number of hidden neurons. The network is trained by minimizing the difference between the output layer and the input layer. In this case, the values of the hidden neurons can be considered as a spectrum after dimensionality reduction. Since dimensionality reduction is no longer a linear process, this technique can offer advantages over PCA and other similar techniques.
[0077] The configuration process for neural network 120 involves training neural network 120 using the component values and feature values of each training spectrum.
[0078] Each row of matrix T′ corresponds to one of the training spectra and is thus associated with an eigenvalue. When the neural network 120 operates in a training mode (such as backpropagation mode), the values (t1, t2, ..., t) along a specific row are... L The data is fed to the corresponding input nodes N1, N2…N of the principal components. L Meanwhile, the feature value of that row is fed into output node 126. This process can be repeated for each row. This allows setting 'a' as described above. k1 The value of etc.
[0079] Principal component determination can be performed using a larger dataset than the one used to train the neural network (e.g., via PCA, SVD, ICA, etc.). That is, the number of spectra used to determine the principal components can be greater than the number of spectra with known eigenvalues used for training. Once trained, the system should be ready to run.
[0080] The system is now ready for operation. The in-situ spectroscopic monitoring system 70 measures the spectrum from the substrate during polishing. The measured spectrum can be represented by the column matrix S = (i1, i2, ..., i...). n Let ) represent, where i j This represents the light intensity at the j-th wavelength out of a total of n wavelengths. Multiplying the column matrix S by the matrix W′ produces a single column matrix, i.e., S·W′=P, where P=(P1,P2,…,P…). L ), where P i This represents the component value of the i-th principal component.
[0081] When neural network 120 is used in inference mode, these values (P1, P2, ..., P...) L ) are fed as input to the corresponding input nodes N1, N2, ... N L As a result, the neural network 120 generates feature values (e.g., thickness) at the output node 126.
[0082] The combined computation of generating feature values (CV) performed by the dimensionality reduction module 110 and the neural network 120 can be expressed as follows:
[0083] CV=C1*tanh(0.5(N1·S)+0.5b1)+C2*tanh(0.5(N2·S)+0.5b2)+…+C L *tanh(0.5(N L ·S)+0.5b L )
[0084] Where N k =(a k1 V1·+a k2 V2·+…+a kL V L ), where weight a ki The weights are set by the neural network 120, and the vector V i It is the feature vector determined by the dimension reduction module 110.
[0085] The architecture of neural network 120 can vary in depth and width. For example, although neural network 120 is shown as a hidden node 124 with a single column, neural network 120 may include multiple columns. The number of hidden nodes 124 can be equal to or greater than the number of input nodes 122.
[0086] Although neural networks have been described above, other algorithms that can be trained using machine learning techniques can also be used.
[0087] As described above, the controller 90 can compare the measured spectra with different regions 12a-12c on the substrate 10 (see...). Figure 2 Based on the position of the sensor on the substrate 10 when the spectrum is measured, the output of each neural network 120 can be classified as belonging to one of the regions. This allows the controller 90 to generate a separate sequence of feature values for each region.
[0088] Eigenvalue sequences can be used to control polishing systems. For example, reference... Figure 6 The first function 304 can be fitted to a sequence 300 of feature values 302 of the first region, and the second function 314 can be fitted to a sequence 310 of feature values 312 of the second region. The controller can calculate the times T1 and T2 when the first and second functions are projected to reach the target value V, and calculate adjusted processing parameters (e.g., adjusted bearing head pressure) that will cause one of the regions to be polished at a modified rate (shown by line 320) so that the regions reach the target almost simultaneously.
[0089] When the function indicates that the characteristic value reaches the target value V, the polishing endpoint can be triggered by the controller 90.
[0090] Back Figure 5 The training dataset 200 includes training spectra 202 and feature values 204. The first feature value D0 and the last feature value D... N It can be generated through off-site metrological measurements (e.g., online or stand-alone metrological systems, such as contact profilometers or ellipsometers).
[0091] Although time-based linear interpolation can be used to generate eigenvalues D1,…D N-1 However, for some applications, linear interpolation cannot generate sufficiently accurate feature values.
[0092] Figure 7 A training data generation system 250 for generating training values for training spectra is shown. The training data generation system 250 includes: an in-situ spectral monitoring system 70, a second in-situ monitoring system 150, an ex-situ metrology system 270, and a thickness prediction model 260, which receives data from each of these systems and generates labels (e.g., feature values, such as thickness) for each test spectrum.
[0093] The thickness prediction model 260 includes a model of the substrate to be polished, such as an indication of the number of layers to be polished in the polishing operation and the approximate thickness of each layer or the relative polishing rate of each layer. Based on data from the second in-situ monitoring system 150, the thickness prediction model 260 can make more accurate eigenvalue determinations than simple linear interpolation.
[0094] For example, thickness prediction model 260 can detect the transition time between polished layers during polishing from data from a second in-situ monitoring system. Feature values from the start of polishing to the transition time can be linearly interpolated with a first slope, and feature values from the transition time to the end of polishing can be linearly interpolated with a second slope, wherein the ratio between the first slope and the second slope is set by the relative polishing rate of each layer stored in the thickness prediction model.
[0095] More specifically, to generate training dataset 200, at least one test substrate can be polished by polishing device 20 in data acquisition mode. During polishing in data acquisition mode, the test substrate is monitored by both in-situ spectral monitoring system 70 and second in-situ monitoring system 150. In-situ spectral monitoring system 70 measures the spectral sequence S0, S1, ... S N And control the system to store the spectra S0, S1, ... S N and the corresponding measurement time T0, T1, T2, ..., T for each corresponding spectrum N Both of these. Similarly, the second in-situ monitoring system 150 generates a sequence of measurement results X0, X1, X2, ... X M The control system stores the measurement results X0, X1, X2, ... X M And the corresponding measurement time t0, t1, t2, ..., t for each corresponding measurement result M Both. Measurement results X0, X1, X2, ... X M What it represents depends on the type of monitoring system. For example, for a temperature monitoring system it is the temperature value, for a motor current monitoring system it is the motor current value, and for an acoustic monitoring system it is the acoustic signal strength.
[0096] In some implementations, the in-situ spectral monitoring system 70 and the second in-situ monitoring system 150 generate measurement results at the same frequency. In this case, M = N. However, this is not necessary; for example, the second in-situ monitoring system 150 may generate measurement results at a higher or lower frequency than the in-situ spectral monitoring system 70.
[0097] refer to Figure 8 The thickness prediction model 260 receives test spectra S0, S1, S2, ... S from the in-situ spectral monitoring system 70, the second in-situ monitoring system 150, and the ex-situ metrology system 270. N The measurement time for each test spectrum is T0, T1, T2, ..., T.N Measurement results X0, X1, X2, ... X M The corresponding time t0, t1, t2, ..., t for each measurement result M and the first eigenvalue D0 and / or the last eigenvalue D N If measurement results are unavailable before polishing, a preset constant input value can be used for marking. Similarly, if measurement results are unavailable after polishing, a preset constant output value can be used for marking. In any case, the thickness prediction model 260 will be generated from this data at measurement times T0, T1, T2, ..., T N The training feature values D0, D1, ... D that occur N And for each training value D0, D1, ... D N With respect to the corresponding times T0, T1, T2, ..., T N The corresponding test spectra measured are S0, S1, S2, ... S N Related.
[0098] In some implementations, the thickness prediction model 260 analyzes the measurement results X0, X1, X2, ... X M The polishing process is divided into two or more time periods based on time. The thickness prediction model 260 can calculate the transition time between segments by detecting abrupt changes in the measurement results (e.g., by detecting that the first derivative of the measurement result sequence exceeds a threshold). For example, Figure 9 Example curve 210 shows the time-dependent motor torque, where X0, X1, X2, ... X M This represents the torque or motor current value. The graph includes a highly sloping region 212. Measurement results are obtained by detecting the sequence X0, X1, X2, ... X... M The maximum (or minimum) value of the first derivative, thickness prediction model 260 can allocate time t for the transition between two time periods. A .
[0099] (For example, at transition time t) A The eigenvalues D0, D1, ... D in the first time segment (previously) a It can be calculated by the thickness prediction model based on the first function, while (for example, at the transition time t) A The eigenvalue D in the second time segment afterwards a+1 D a+2 ,…D N The thickness prediction model can be calculated based on different second functions. The first and second functions can be linear functions with different slopes, although other functions (e.g., higher-order polynomial functions) are also possible.
[0100] In some implementations, the prediction model stores a preset polishing rate ratio (e.g., an empirically derived ratio) that indicates the ratio of polishing rates across different time intervals. For example, if the prediction model indicates that the polishing rate in the second time interval is R times the polishing rate in the first time interval, then the prediction model can generate a value of D under the following constraints: D = D0 at time T0; at time T... N D = D N From T0 to t A D is the first linear function; from t A To T N D is a second linear function; and the slope of the second linear function is R times the slope of the first linear function. This is sufficient to generate at corresponding times T0, T1, T2, ..., T N The training feature values at point D0, D1, D2, ... D N Information.
[0101] In some implementations, the prediction model is based on measurements X0, X1, X2, ... X during the corresponding time period. M Generate polishing rate ratios. For example, the predictive model can calculate the average value X of measurements taken in the first time period. A The average value X of the measurement results in the second time period B These values can then be compared to infer which time segment polished faster and the polishing rate ratio. For example, if the second time segment (t...) A To T N The average motor torque is greater than that of the first time interval (T0 to t). A A higher X indicates a higher polishing rate, and a higher acoustic signal indicates a higher polishing rate. The prediction model can then infer that more material was polished during the second time interval. Similarly, higher temperature can indicate a higher polishing rate, and a higher acoustic signal can also indicate a higher polishing rate. The prediction model can be based on X... A With X B The relative difference between them is used to generate the polishing rate ratio.
[0102] In some implementations, the prediction model includes the measurement results X0, X1, X2, ... X M It is transformed into a function of the corresponding normalized polishing rate for each measurement. This effectively allows for continuous variation of the polishing rate, rather than linear interpolation.
[0103] Although the above discussion focuses on the time segment within the polishing of a single test substrate, similar comparisons can be made between the polishing of different test substrates if multiple test substrates are used to generate test spectra.
[0104] For any of the above methods, once the corresponding time T0, T1, T2, ..., T...N Generate test feature values D0, D1, ... D N The prediction model can correlate each corresponding feature value with the corresponding time T0, T1, T2, ..., T N The corresponding test spectra measured are S0, S1, S2, ... S N Pairing. This data can then be used as training data 200 (see...). Figure 5 The output, training data 200, was then used to train neural network 120 (see...). Figure 7 ).
[0105] The embodiments of the present invention and all the functional operations described herein can be implemented as digital electronic circuit systems, or as computer software, firmware, or hardware (including the structural means disclosed herein or their structural equivalents), or a combination thereof. Embodiments of the present invention can be implemented as one or more computer program products, i.e., one or more computer programs tangibly embodied in a machine-readable storage medium for execution by or control of a data processing apparatus (e.g., a programmable processor, a computer, or multiple processors or computers). Computer programs (also referred to as programs, software, software applications, or code) can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored as a portion of a file containing other programs or data, in a single file dedicated to the program in question, or in multiple harmonizing files (e.g., files storing one or more modules, subroutines, or portions of code). A computer program can be deployed to execute on a single computer or on multiple computers distributed across multiple sites and interconnected via a communication network.
[0106] The processes and logic flows described in this specification can be executed by one or more programmable processors, which execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic flows can also be executed by a dedicated logic circuit system, and the device can be implemented as a dedicated logic circuit system, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).
[0107] The polishing apparatus and methods described above can be applied in various polishing systems. The polishing pad, or the support head, or both, may be movable to provide relative movement between the polishing surface and the substrate. For example, the stage may run around a track rather than rotating. The polishing pad may be a circular (or some other shape) pad fixed to the stage. The polishing system may be a linear polishing system, for example, where the polishing pad is a linearly moving continuous belt or a reel-to-reel belt. The polishing layer may be a standard (e.g., polyurethane with or without filler) polishing material, a soft material, or a fixed abrasive material. The term "relative positioning" used is the relative orientation or positioning of the parts; it should be understood that the polishing surface and the substrate may be held in a vertical orientation or some other orientation relative to gravity.
[0108] Although the above description has focused on chemical mechanical polishing, the control system can be adapted for other semiconductor processing techniques, such as etching or deposition, for example, chemical vapor deposition. Furthermore, this technology can be applied to online or stand-alone metering systems rather than in-situ monitoring systems.
[0109] Specific embodiments of the invention have been described. Other embodiments are within the scope of the appended claims.
Claims
1. A method of training a neural network for spectroscopic monitoring, the method comprising: polishing a test substrate; measuring, by an in-situ spectroscopic monitoring system, a sequence of test spectra of light reflected from the substrate during polishing of the test substrate; measuring, by an in-situ non-optical monitoring system, a sequence of test values from the substrate during polishing of the test substrate; measuring at least one of an initial characteristic value of the substrate before polishing or a final characteristic value of the substrate after polishing; inputting the sequence of test values and the initial characteristic value and / or the final characteristic value into a thickness prediction model, the thickness prediction model outputting a sequence of training values, each respective training value in the sequence of training values being associated with a respective test spectrum from the sequence of test spectra; and training an artificial neural network using the sequence of test spectra and the sequence of training values, the artificial neural network having a plurality of input nodes for a plurality of spectral values, an output node for outputting a characteristic value, and a plurality of hidden nodes connecting the input nodes to the output node.
2. The method of claim 1, further comprising: polishing a device substrate; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from the device substrate as the device substrate undergoes polishing; generating, at the output node of a trained artificial neural network, a measured characteristic value for the measured spectrum by applying spectral values from the measured spectrum to the input nodes of the trained artificial neural network; and at least one of stopping processing of the substrate or adjusting a processing parameter based on the characteristic value.
3. The method of claim 1, wherein the thickness prediction model divides a polishing time into a plurality of segments.
4. The method of claim 3, wherein the sequence of training values includes a first plurality of training values for a first segment of the plurality of segments and a second plurality of training values for a second segment of the plurality of segments, and the thickness prediction model computes the first plurality of training values according to a first function and the second plurality of training values according to a second function.
5. The method of claim 4, wherein the thickness prediction model computes the plurality of training values according to a constraint that the first function equals the second function at a boundary time between the plurality of segments.
6. The method of claim 4, wherein the thickness prediction model computes the plurality of training values according to a constraint that the first function generates the initial characteristic value at a polishing start time corresponding to a first one of the sequence of spectra and / or the second function generates the final characteristic value at a polishing end time corresponding to a last one of the sequence of spectra.
7. The method of claim 4, wherein the first function is a first linear function having a first slope and the second function is a second linear function having a different second slope.
8. The method of claim 7, wherein the thickness prediction model stores a predetermined ratio of the first slope to the second slope, and sets the first slope and the second slope to satisfy the predetermined ratio.
9. The method of claim 7, wherein the thickness prediction model calculates the first slope and the second slope based on a comparison of a first plurality of test values from the test value sequence in the first segment and a second plurality of test values from the test value sequence in the second segment.
10. The method of claim 7, wherein the thickness prediction model calculates the first slope based on a first average of the first plurality of test values and calculates the second slope based on a second average of the second plurality of test values.
11. The method of claim 3, wherein the thickness prediction model calculates a slope of the test value sequence, and selects a boundary time between the plurality of segments based on the slope.
12. The method of claim 11, wherein the thickness prediction model selects a boundary time based on an extremum in a first derivative of the test value sequence.
13. The method of claim 1, wherein the thickness prediction model calculates each respective training value based on at most two values closest in time to a time of the respective training value.
14. The method of claim 1, wherein the test spectrum sequence of light is measured at a first frequency, and the test value sequence is measured at a different second frequency.
15. The method of claim 1, wherein the in situ non-optical monitoring system comprises: a motor torque monitoring system, an acoustic monitoring system, or a temperature monitoring system.
16. A computer program product comprising a plurality of instructions encoded in a non-transitory computer readable medium, the plurality of instructions causing one or more computers to: receive a test spectrum sequence of light reflected from a substrate undergoing polishing; receive a test value sequence from the substrate from an in-situ non-optical monitoring system; receive at least one of an initial characteristic value of the substrate prior to polishing or a final characteristic value of the substrate after polishing from an ex-situ monitoring system; and calculate a training value sequence based on the test value sequence and the initial characteristic value and / or the final characteristic value; and associate each spectrum from the test spectrum sequence with a training value from the training value sequence to provide a training data set for training a neural network.
17. The computer program product of claim 16, comprising instructions to divide a polishing time into a plurality of segments.
18. The computer program product of claim 17, comprising instructions to calculate a first plurality of training values for a first segment of the plurality of segments according to a first function, and to calculate a second plurality of training values for a second segment of the plurality of segments according to a different second function.
19. The computer program product of claim 18, comprising instructions to calculate the plurality of training values according to a constraint that at a boundary time between the plurality of segments, the first function is equal to the second function.
20. The computer program product of claim 18, comprising instructions to compute the plurality of training values according to the constraint that the first function generates the initial characteristic value at a time corresponding to a first of a sequence of spectra and / or the second function generates the final characteristic value at an end time corresponding to a last of the sequence of spectra.
21. A chemical mechanical polishing system, comprising: a platen to support a polishing pad; a carrier head to hold a substrate against the polishing pad; a motor to generate relative motion between the platen and the carrier head; an in-situ spectroscopic monitoring system to measure a sequence of spectra of light reflected from the substrate during polishing; and an artificial neural network having a plurality of input nodes and an output node, the artificial neural network trained using a training data set comprising the sequence of spectra and a plurality of training values generated by a thickness prediction model from a sequence of test values measured by a non-optical in-situ monitoring system and an initial characteristic value and / or a final characteristic value from an ex-situ metrology system.
Citation Information
Patent Citations
Systems and methods incorporating a neural network and a forward physical model for semiconductor applications
CN109313724A
Training methods for machine learning assisted optical proximity error correction
CN111051993A