Spectral monitoring using neural networks

By combining an in-situ spectral monitoring system with an artificial neural network, the problem of polishing rate control in chemical mechanical polishing was solved, enabling precise measurement of substrate layer thickness and reliable detection of polishing endpoint, thus reducing non-uniformity.

CN116833898BActive Publication Date: 2026-03-27APPLIED MATERIALS INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2017-11-22
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In the process of chemical mechanical polishing, it is difficult to precisely control the polishing rate and endpoint, which leads to variations and inhomogeneities in the material removal rate on the substrate. Existing photomonitoring technologies suffer from overfitting and noise issues.

Method used

An in-situ spectral monitoring system combined with an artificial neural network is used to generate characterization values ​​by reducing the spectral dimension and training the neural network to control the polishing endpoint and parameter adjustment, thereby reducing polishing non-uniformity.

Benefits of technology

It enables more accurate and faster substrate layer thickness measurement, reduces thickness inhomogeneity inside and outside the wafer, and improves the reliability of polishing endpoint detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116833898B_ABST
    Figure CN116833898B_ABST
Patent Text Reader

Abstract

A method of processing a substrate includes subjecting a substrate to a process that modifies a thickness of an outer layer of the substrate, measuring a spectrum of light reflected from the substrate during the process, reducing a dimensionality of the measured spectrum to produce a plurality of component values, generating a characterization value using an artificial neural network, and determining to stop processing the substrate or to adjust at least one of the process parameters based on the characterization value. The artificial neural network has a plurality of input nodes that receive the plurality of component values, an output node that outputs the characterization value, and a plurality of hidden nodes that connect the input nodes to the output node.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application with application number "201780073024.1" and titled "Spectroscopic Monitoring Using Neural Networks" and filed on November 22, 2017. TECHNICAL FIELD

[0002] This application relates to optical monitoring of substrates, for example, during processing such as chemical mechanical polishing. BACKGROUND

[0003] Integrated circuits are typically formed on a substrate by sequentially depositing conductive, semiconductive or insulative layers on a silicon wafer. The fabrication steps involve depositing a fill layer on a non-planar surface and planarizing the fill layer. For some applications, the fill layer is planarized until the top surface of the patterned layer is exposed. For example, a conductive fill layer can be deposited on a patterned insulative layer to fill trenches or holes in the insulative layer. After planarization, the portions of the conductive layer that remain between the raised patterns of the insulative layer form vias, plugs and lines that provide conductive paths between thin film circuits on the substrate. For other applications, the fill layer is planarized to a predetermined thickness over the underlying layer. For example, a deposited dielectric layer can be planarized for photolithography.

[0004] Chemical mechanical polishing (CMP) is a well-accepted planarization method. This planarization method typically requires that the substrate be mounted on a carrier head. The exposed surface of the substrate is typically placed against a rotating polishing pad having a durable abrasive surface. The carrier head provides a controllable load on the substrate to push it against the polishing pad. A polishing liquid, such as an abrasive slurry having abrasive particles, is typically supplied to the surface of the polishing pad.

[0005] One problem in CMP is using the proper polishing rate to achieve a desired profile, e.g., a substrate layer that has been planarized to a desired flatness or thickness or has had a desired amount of material removed. Variations in the initial thickness of the substrate layer, slurry distribution, polishing pad condition, relative speed between the polishing pad and the substrate, and load on the substrate can cause variations in the rate of material removal across and between substrates. These variations result in variations in the time required to reach a polishing endpoint and the amount removed. Thus, it can not be possible to determine a polishing endpoint as a function of polishing time only, or to achieve a desired profile by applying a constant pressure only.

[0006] In some systems, the substrate is monitored in-situ during polishing, for example, by an optical monitoring system. Thickness measurements from the in-situ monitoring system can be used to adjust the pressure applied to the substrate to adjust the polishing rate and reduce within-wafer non-uniformity (WIWNU). SUMMARY

[0007] In one aspect, a computer program product for controlling processing of a substrate has instructions that cause a processor to receive a measured spectrum of light reflected from a substrate undergoing processing that modifies a thickness of an outer layer of the substrate from an in-situ optical monitoring system, reduce a dimensionality of the measured spectrum to generate a plurality of component values, use an artificial neural network to generate a characterization value, and determine at least one of a stop processing of the substrate or an adjustment of a processing parameter based on the characterization value.

[0008] In another aspect, a method of processing a substrate includes subjecting a substrate to processing that modifies a thickness of an outer layer of the substrate, measuring a measured spectrum of light reflected from the substrate undergoing processing with an in-situ optical monitoring system during the processing, reducing a dimensionality of the measured spectrum to generate a plurality of component values, using an artificial neural network to generate a characterization value, and determining at least one of a stop processing of the substrate or an adjustment of a processing parameter based on the characterization value.

[0009] In another aspect, a polishing system includes a support that supports a polishing pad, a carrier head that holds a substrate in contact with the polishing pad, a motor that generates relative motion between the support and the carrier head, an in-situ optical monitoring system that measures a spectrum of light reflected from a substrate during polishing, and a controller configured to perform the steps of receiving a measured spectrum of light reflected from a substrate undergoing processing, reducing a dimensionality of the measured spectrum to generate a plurality of component values, using an artificial neural network to generate a characterization value, and determining at least one of a stop processing of the substrate or an adjustment of a processing parameter based on the characterization value.

[0010] The artificial neural network has a plurality of input nodes for receiving the plurality of component values, an output node for outputting the characterization value, and a plurality of hidden nodes that connect the input nodes to the output node.

[0011] Implementations can include one or more of the following features.

[0012] Feature extraction can be performed on a plurality of reference spectra to generate the plurality of components. The feature extraction can include performing principal component analysis, singular value decomposition, independent component analysis, or auto-encoding. Dimensionality reduction can be performed on two or more of the plurality of reference spectra having known characterization values to generate training data. The artificial neural network can be trained by backpropagation using the training data and the known characterization values. The two or more spectra can be less than all of the plurality of spectra. Dimensionality reduction can be performed on the plurality of reference spectra having known characterization values to generate training data. The artificial neural network can be trained by backpropagation using the training data and the known characterization values.

[0013] The neural network can include at least one input node configured to receive at least one of a previous measurement of the substrate, a measurement of a previous substrate, a measurement of another sensor in the processing system, a measurement from a sensor external to the processing system, a value from a processing recipe stored by the controller, or a value of a variable tracked by the controller.

[0014] The reduction of dimensions and generation of characteristic values can be performed by a calculation of characteristic values (CV) based on the following equation:

[0015] 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 )

[0016] where S is the measured spectrum, N k = (a k1 V1· + a k2 V2· +... + a kL V L ), a ki , b i , and C i are weights set by the neural network, and V i is the feature vector used for the dimension reduction.

[0017] The process can be chemical mechanical polishing, etching, or deposition.

[0018] Certain implementations can have one or more of the following advantages. The thickness of a layer on a substrate can be measured more accurately and / or more quickly. Within-wafer non-uniformity (WIWNU) and wafer-to-wafer non-uniformity (WTWNU) can be reduced, and the reliability of an endpoint system detecting a desired process endpoint can be improved.

[0019] The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 A schematic cross-sectional view of an example of a polishing apparatus is shown.

[0021] Figure 2 A schematic top view of a substrate having multiple regions is shown.

[0022] Figure 3An illustrative top view is shown showing where in-situ measurements are made on a first substrate.

[0023] Figure 4 A neural network is shown that is used as part of a controller for a polishing apparatus.

[0024] Figure 5 A controller is shown that includes multiple neural networks.

[0025] Figure 6 A plot of a characterization value output by a control system as a function of time is shown.

[0026] Like reference numerals and designations in the various figures indicate like components. DETAILED DESCRIPTION

[0027] One monitoring technique is to measure the spectrum of light reflected from a substrate being polished. Various techniques have been proposed to determine a characterization value (e.g., the thickness of a layer being polished) from the measured spectrum. For example, the reference spectrum that best matches the measured spectrum can be selected from a library of reference spectra and the characterization value of the reference spectrum can be used. As another example, the position of a peak in the spectrum can be tracked and the position of the peak can be correlated to a characterization value. However, these techniques can be problematic when the relationship between the spectrum and the thickness is too complex to be effectively captured in a small library or a single feature.

[0028] While the spectrum can be statistically related to the thickness through an empirical model, there is a danger of overfitting (i.e., the statistical model ends up describing random error or noise rather than the underlying relationship) because the spectrum has many data points. However, the danger of overfitting can be reduced by reducing the dimensionality of the spectrum, which is then input to a neural network to produce a thickness measurement.

[0029] Figure 1 An example of a polishing apparatus 20 is shown. The polishing apparatus 20 can include a rotatable, disk-shaped platen 22 on which a polishing pad 30 is disposed. The platen is operable to rotate about an axis 23. For example, a motor 24 can turn a drive shaft 26 to rotate the platen 22. The polishing pad 30 can be removably secured to the platen 22, for example, by a layer of adhesive. The polishing pad 30 can be a two-layer polishing pad having an outer polishing layer 32 and a softer backing layer 34.

[0030] The polishing apparatus 20 can include a polishing fluid supply 40 to dispense a polishing fluid 42 (e.g., an abrasive slurry) onto the polishing pad 30. The polishing apparatus 20 can also include a pad conditioner to abrade the polishing pad 30 to maintain the polishing pad 30 in a consistent state of abrasion.

[0031] The carrier heads 50 can be operated to hold the substrate 10 against the polishing pad 30. Each carrier head 50 also includes a plurality of independently controllable pressurizable chambers (e.g., three chambers 52a-c) that can apply independently controllable pressure to the associated regions 12a-c on the substrate 10 (see Figure 2 ). Referring to Figure 2 , the central region 12a can be generally circular, and the remaining regions 12b-c can be concentric annular regions around the central region 12a.

[0032] Returning to Figure 1 , the chambers 52a-c can be defined by a flexible membrane 54 having a bottom surface on which the substrate 10 is mounted. The carrier head 50 can also include a retaining ring 56 to retain the substrate 10 beneath the flexible membrane 54. Although only three chambers are shown in Figure 1 and Figure 2 for ease of illustration, two chambers, or four or more chambers (e.g., five chambers) can be present in Figure 1 and Figure 2 . In addition, other mechanisms (e.g., piezoelectric actuators) can be used in the carrier head 50 to adjust the pressure applied to the substrate.

[0033] Each carrier head 50 is suspended on a support structure 60 (e.g., a turntable or a track) and is connected by a drive shaft 62 to a carrier head rotation motor 64 so that the carrier head can be rotated about the axis 51. Optionally, each carrier head 50 can be laterally oscillated, e.g., on a slider of the turntable, by movement along a track or by rotational oscillation of the turntable itself. In operation, the platform 22 is rotated about its central axis 23, and the carrier heads 50 are rotated about their central axes 51 and laterally translated across the top surface of the polishing pad 30.

[0034] The polishing apparatus also includes an in-situ monitoring system 70 that can be used to control the polishing parameters (e.g., the pressure applied in one or more of the chambers 52a-c) to control the polishing rate of one or more of the regions 12a-c. The in-situ monitoring system 70 generates a signal indicative of the thickness of the layer being polished in each of the regions 12a-c. The in-situ monitoring system can be an optical monitoring system (e.g., a spectroscopic monitoring system).

[0035] The optical monitoring system 70 can include a light source 72, a light detector 74, and circuitry 76 for sending and receiving signals between a controller 90 (e.g., a computer) and the light source 72 and light detector 74. One or more optical fibers can be used to carry light from the light source 72 to the window 36 in the polishing pad 30 and to carry light reflected from the substrate 10 to the detector 74. For example, a bifurcated optical fiber 78 can be used to carry light from the light source 62 to the substrate 10 and back to the detector 74. As a spectroscopic system, the light source 72 can be operable to emit white light, and the detector 74 can be a spectrometer.

[0036] The output of the circuitry 76 can be a digital electronic signal that is passed through a rotary coupler 28 (e.g., a slip ring) in the drive shaft 26 to the controller 90. Alternatively, the circuitry 76 can communicate with the controller 90 by wireless signals. The controller 90 can be a computing device (e.g., a programmable computer) that includes a microprocessor, memory, and input / output circuitry. Although illustrated with a single block, the controller 90 can be a networked system with functionality spread across multiple computers.

[0037] In some implementations, the in-situ monitoring system 70 includes a sensor 80 that is mounted in the platen 22 and rotates with the platen 22. For example, the sensor 80 can be an end of the optical fiber 78. Motion of the platen 22 will cause the sensor 80 to scan the substrate. As shown, the in-situ monitoring system takes measurements at a sampling frequency as the sensor 80 travels under the carrier head due to rotation of the platen (shown by arrow 38); thus, measurements are taken at locations 14 in an arc across the substrate 10 (the number of points is illustrative; more or fewer measurements can be taken than shown, depending on the sampling frequency). Figure 3

[0038] In the rotation of the platen, spectra are obtained from different locations on the substrate 10. In particular, some spectra can be obtained from locations closer to the center of the substrate 10, and some spectra can be obtained from locations closer to the edge. The controller 90 can be configured to calculate a radial position (relative to the center of the substrate 10) for each measurement from the scan based on a time point, motor encoder information, platen rotation or position sensor data, and / or optical detection of the edge of the substrate and / or retaining ring. The controller can thus associate various measurements with various zones 12a-12c (see Figure 2 ) and / or other regions of the substrate 10. In some implementations, the time of the measurement can be used as a substitute for an exact calculation of the radial position.

[0039] Returning to Figure 1 ​Based on the signals from the in-situ monitoring system, the controller 90 can derive a characterization value for each region of the substrate. In particular, as polishing proceeds, the controller 90 generates a sequence of characterization values over time. The controller 90 can generate at least one characterization value for each region for each scan of the sensor beneath the substrate 10, or generate a characterization value for each region at a measurement frequency (which need not be the same as the sampling frequency), e.g., for polishing systems that do not scan the sensor over the substrate. In some implementations, a single characterization value is generated per scan; e.g., multiple measurements can be combined to generate a characterization value. In some implementations, each measurement is used to generate a characterization value.

[0040] The characterization value is typically a thickness of the outer layer, but can be a related feature (such as a thickness removed). Additionally, the characterization value can be a more general representation of the progress of the substrate through the polishing process (e.g., an indicator value representing the time or amount of platform rotation; at which point in the polishing process it would be expected to observe the measurement at that indicator value).

[0041] The controller 90 can use a two-step process to generate a characterization value from a measured spectrum from the in-situ spectral monitoring system 70. First, the dimensionality of the measured spectrum is reduced, then the reduced-dimensionality data is input to an artificial neural network, which will output a characterization value. By performing this process on each measured spectrum, the artificial neural network can generate a sequence of characterization values.

[0042] The combination of the in-situ spectral monitoring system 70 and the controller 90 can provide an endpoint and / or polishing uniformity control system 100. That is, the controller 90 can detect a polishing endpoint based on a sequence of characterization values and stop polishing and / or adjust the polishing pressure during the polishing process to reduce polishing non-uniformity.

[0043] Figure 4 The functional blocks implemented by the controller 90 are shown, including a dimensionality reduction module 110 that performs dimensionality reduction, a neural network 120, and a process control system 130 for adjusting the polishing process; e.g., detecting a polishing endpoint based on a sequence of characterization values and stopping polishing and / or adjusting the polishing pressure during the polishing process to reduce polishing non-uniformity. As described above, these functional blocks can be distributed across multiple computers.

[0044] The neural network 120 includes a plurality of input nodes 122 for each of the primary components, a plurality of hidden nodes 124 (also referred to as "intermediate nodes" hereinafter), and an output node 126 that will generate the characterization value. In a neural network with a single layer of hidden nodes, each hidden node 124 can be coupled to each input node 122, and the output node 126 can be coupled to each hidden node 220.

[0045] Typically, hidden node 124 outputs the value of a nonlinear function that is a weighted sum of the values ​​from the input nodes 122 to which the hidden node is connected.

[0046] For example, the output of hidden node 124 (specifying node k) can be expressed as follows:

[0047] tanh(0.5*a k1 (I1)+a k2 (I2)+……+a kM (I M )+b k Equation 1

[0048] Where tanh is the hyperbolic tangent, a kx It is the weight of the connection between the k-th intermediate node and the x-th input node (taken from 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 Modified Linear Unit (ReLU) function and its variants.

[0049] 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 of the components to which the spectrum is reduced (e.g., in the case that module 110 produces L component values, the neural network 120 will include at least input nodes N1, N2…N…). L ).

[0050] Therefore, when the number of input nodes corresponds to the number of components to which the measured spectrum is reduced (i.e., L = M), the output H of hidden node 124 (specified node k) k It can be expressed as the following formula:

[0051] H k =tanh(0.5*a) k1 (I1)+a k2 (I2)+……+a kL (I L )+b k )

[0052] Assume the measured spectrum S consists of a column matrix (i1, i2... and i... n If we represent the intermediate node 124 (specifying node k), then the output of the intermediate node can be expressed as follows:

[0053] H k =tanh(0.5*a) k1 (V1·S)+a k2 (V2·S)+……+a kL (V L• S) + b k Equation 2

[0054] where V x is a column matrix (v1, v2... v n ) that provides the transformation that will convert the measured spectrum to the value of the xth component (taken from L components) of the reduced dimension data. For example, V x may be provided by the xth column (taken from L columns) of the matrix W or matrix W'; i.e., V x is the xth row of W T . Thus, W x may represent the xth eigenvector from the dimension reduction matrix.

[0055] The output node 126 can produce a characterization value CV that is a weighted sum of the outputs of the hidden nodes. This can be represented, for example, as follows:

[0056] CV = C1*H1 + C2*H2 +... + C L *H L

[0057] where C k is the weight of the output of the kth hidden node.

[0058] However, the neural network 120 can optionally include one or more other input nodes (e.g., node 122a) to receive other data. This other data can be from a previous measurement of a substrate by the in-situ monitoring system (e.g., a spectrum collected early in the processing of the substrate), from a measurement of a previous substrate (e.g., a spectrum collected during processing of another substrate), from another sensor in the polishing system (e.g., a temperature of the polishing pad or substrate measured by a temperature sensor), from a polishing recipe stored by a controller used to control the polishing system (e.g., a polishing parameter such as a carrier head pressure or platen rotation rate used to polish the substrate), from a variable tracked by the controller (e.g., a number of substrates since the polishing pad was changed), or from a sensor that is not part of the polishing system (e.g., a thickness of an underlying layer measured by a metrology station). This allows the neural network 120 to take into account these other processing or environmental variables when computing the characterization value.

[0059] Prior to use, e.g., on device wafers, the dimension reduction module 110 and neural network 112 need to be configured.

[0060] As part of the configuration process of the dimension reduction module 110, the controller 90 can receive multiple reference spectra and a characterization value (e.g., thickness) associated with each of the multiple reference spectra. For example, the reference spectra can be measured at specific locations on one or more test substrates. Alternatively, a metrology device (e.g., a contact surface photometer or an ellipsometer) can be used to perform the thickness measurement at a specific location. The thickness measurement can thus be associated with a reference spectrum from the same location on the substrate. The multiple reference spectra can include, for example, five to ten reference spectra.

[0061] As another part of the configuration process for the dimension reduction module 110, the controller 90 can generate a set of eigenvectors of the covariance matrix of the dataset for the reference spectrum. Once the set of eigenvectors has been generated, the eigenvectors can be sorted, and a preset number of eigenvectors with the largest eigenvalues ​​(e.g., the first four to eight) can be retained.

[0062] Sorting the eigenvectors by their associated eigenvalues ​​reveals the direction of greatest variation in the dataset. The projection of the measured spectrum onto the highest-ranked eigenvector provides an efficient representation of the original vector with a significantly reduced basis.

[0063] As an explanation, each reference spectrum can be represented by the following matrix:

[0064] R = (i1, i2, ..., i n )

[0065] Where i j This represents the light intensity at the j-th wavelength out of a total of n wavelengths. The spectrum can include, for example, two hundred to five hundred intensity measurements; n can be two hundred to five hundred.

[0066] Assuming m reference spectra are generated, the m matrices R can be combined to form the following matrix:

[0067]

[0068] Where i jk This represents the light intensity at the k-th wavelength of the j-th reference spectrum. Each row of matrix A represents a reference spectrum (e.g., a measurement at a location on a substrate).

[0069] Apply dimensionality reduction techniques, such as Principal Component Analysis (PCA), to matrix A. PCA performs an orthogonal linear transformation, which transforms the data in matrix A (m×n dimensions) into 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 set of p-dimensional weight vectors w. k =(wk1 w k2 …w kp ) defined, the set of weight vectors w k maps each m-dimensional row vector of matrix A, A i = (t k1 , t k2 ... t ip ) to a new vector, where t ki is given by:

[0070] t ki = A i · w k

[0071] Each vector w k is constrained to be a unit vector. As a result, the individual variables of t i inherit the maximum possible variance of matrix A. The decomposition of matrix A can be written as:

[0072] T = AW

[0073] where W is an n*p matrix whose columns are the eigenvectors of A T A.

[0074] Details of PCA are also discussed in James Ramsay and B. W. Silverman, Functional Data Analysis, Springer, 2nd edition (July 1, 2005) and I. T. Jolliffe, Principal Component Analysis, Springer, 2nd edition (October 2, 2002).

[0075] The controller can use SVD (singular value decomposition), which is a generalized eigen decomposition of the reference spectral dataset, or ICA (independent component analysis), which is finding a predetermined number of statistically independent signals whose additive combination yields the reference spectral dataset, in place of PCA.

[0076] Next, the dimensionality is reduced by retaining only the highest ranked eigenvectors. Specifically, instead of p eigenvectors, a total of L eigenvectors can be retained, where L is an integer between 0 and p (e.g., 3 to 10). For example, the T matrix can be reduced to an m x L matrix T' by retaining the leftmost L columns of the T matrix. Similarly, the W matrix can be reduced to an n x L matrix W' by retaining the leftmost L columns of the W matrix.

[0077] As another example, non-linear dimensionality reduction techniques such as autoencoders can be used. The autoencoder used can be implemented as a neural network that attempts to reconstruct the original input (which may have a dimension N) by passing it through multiple layers. One of the multiple intermediate layers will have hidden neurons with a reduced number of dimensions. The network is trained by minimizing the difference between the output and input layers. In this case, the values ​​of the hidden neurons can be viewed as a spectrum of dimensionality reduction. Since dimensionality reduction is no longer a linear process, this technique can offer advantages over PCA and other similar techniques.

[0078] Starting with the configuration procedure of neural network 120, neural network 120 is trained using the component values ​​and representation values ​​of each reference spectrum.

[0079] Each row of matrix T' corresponds to one of the reference spectra, and therefore each row of matrix T' is associated with a representation value. When the neural network 120 operates in training mode (such as backpropagation mode), the values ​​(t1, t2...t) along a specific row are represented. L The data is fed to the corresponding input nodes N1, N2...N for the principal components. L Simultaneously, the feature value V of that row is fed to output node 126. This process can be repeated for each row. This process sets 'a' in equation 1 or equation 2 above. k1 The value of etc.

[0080] Principal component determination, such as by PCA, SVD, and ICA, can be performed using a larger dataset than the dataset used to train the neural network. 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.

[0081] The system is now ready to run. An in-situ spectral monitoring system 70 is used to measure the spectrum from the substrate during polishing. The measured spectrum can be represented by a column matrix S = (i1, i2...i...). n ) indicates that i j This represents the light intensity at the j-th wavelength out of a total of n wavelengths. The column matrix S is multiplied by the matrix W' to produce the column matrix; that is, S·W'=P, where P=(P1,P2...P... L ), where P i This represents the component value of the i-th principal component.

[0082] When using neural network 120 in inference mode, these values ​​(P1, P2... P... L The data is fed as input to the corresponding input nodes N1, N2...N. L As a result, the neural network 120 generates a feature value (e.g., thickness) at the output node 126.

[0083] The combined calculation performed by the dimension reduction module 110 and the neural network 120 to produce the characterization value CV can be expressed as follows:

[0084] 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 )

[0085] where N k = (a k1 V1+ a k2 V2+... + a kL V L ), where the weights a ki are weights set by the neural network 120, and the vector V i is the feature vector determined by the dimension reduction module 110.

[0086] The architecture of the neural network 120 can vary in depth and width. For example, although the neural network 120 is shown as having a single column of intermediate nodes 124, the neural network 120 can include multiple columns. The number of intermediate nodes 124 can be equal to or greater than the number of input nodes 122.

[0087] As mentioned above, the controller 90 can associate various measured spectra with different regions 12a-c (see Figure 2 ) on the substrate 10. The output of each neural network 120 can be sorted to belong to one of the multiple regions based on the location of the sensor on the substrate 10 when the spectrum was measured. This allows the controller 90 to produce a separate sequence of characterization values for each region.

[0088] The characterization values are fed to the process control module 130, which can then use the characterization values for each region to adjust process parameters to reduce non-uniformity across the substrate and / or detect a polishing endpoint, for example.

[0089] In some implementations, with reference Figure 5 to FIG. 1, the controller 90 can be configured with multiple neural networks 120. The neural networks 120 can operate in parallel to produce characterization values for a region based on measured spectra for that region. The number of neural networks can match the number of regions. For example, there can be a first neural network 120a for the first region 12a, a second neural network 120b for the second region 12b, and a third neural network for the third region 12c. The output of each neural network 120 can be fed to the process control module 130.

[0090] The reliability of the calculated characterization values can be assessed by reconstructing the spectrum and then determining the difference between the reconstructed spectrum and the originally measured spectrum. For example, once the principal component values (Pi, P2,..., Pn) have been calculated, a reconstructed spectrum Q can be generated by P · W = Q. Then, the difference between P and S can be calculated, e.g., using the sum of squared differences. If the difference is large, the processing module 130 can disregard the relevant characterization value. L T

[0091] For example, with reference to Figure 6 , a first function 204 can fit the sequence 200 of characteristic values 202 of the first region, and a second function 214 can fit the sequence 210 of characteristic values 212 of the second region. The processing controller can calculate the times Ti and T2at which the first and second functions reach the target value V to which the map is mapped and calculate an adjusted process parameter (e.g., an adjusted carrier head pressure) that will cause one of the multiple regions to be polished at a modified rate (shown by line 220) so that the multiple regions reach the target at approximately the same time.

[0092] The processing controller 130 can trigger a polishing endpoint when the function indicates that the characteristic value reaches the target value V.

[0093] The embodiments of the invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or combinations of them. Embodiments of the 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 to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple processors or computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer, on multiple computers of a site, or on computers distributed across multiple sites and interconnected by a communication network.

[0094] ​​The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit), without departing from the scope of the present disclosure. Devices can also be implemented as a combination of both

[0095] The polishing apparatus and methods described above can be applied to various polishing systems. Either or both of the polishing pad or the carrier head can be moved to provide relative motion between the polishing surface and the substrate. For example, the platen can be orbited rather than rotated. The polishing pad can be a circular (or some other shape) pad that is fixed to the platen. The polishing system can be a linear polishing system, e.g., where the polishing pad is a continuous or roll-to-roll belt that is moved linearly. The polishing layer can be a standard (e.g., polyurethane with or without filler) polishing material, a soft material, or a fixed abrasive material. The term relative positioning is used for the relative orientation or positioning of components; it should be understood that the polishing surface and substrate can be held in a vertical orientation or some other orientation relative to gravity.

[0096] Although the above description focuses on chemical mechanical polishing, the control system can be applied to other semiconductor processing techniques, e.g., etching or deposition (e.g., chemical vapor deposition). Furthermore, the techniques can be applied to in-line or standalone metrology systems rather than in-situ monitoring.

[0097] Particular embodiments of the present application have been described. Other embodiments are within the scope of the following claims.

Claims

1. A computer-readable medium comprising instructions for causing one or more computers to: receive a measured optical spectrum of light reflected from a layer of a substrate being polished from an in-situ optical monitoring system; reduce a dimensionality of the measured optical spectrum to produce a plurality of component values; receive one or more values of one or more process variables or environmental variables; produce a characterization value representing a degree of progress of the substrate through a polishing process at a time the optical spectrum was measured, wherein the characterization value is produced based on the plurality of component values and the one or more process variables or environmental variables using an artificial neural network having a plurality of input nodes, an output node outputting the characterization value, and a plurality of hidden nodes connecting the input nodes to the output node, the plurality of input nodes including multiple input nodes receiving the plurality of component values and one or more input nodes receiving values of the one or more process variables or environmental variables; and determine whether to stop polishing of the substrate or an adjustment of a polishing parameter based on the characterization value.

2. The computer-readable medium of claim 1, wherein the characterization value comprises a thickness of the layer or a thickness removed from the layer.

3. The computer-readable medium of claim 1, wherein the one or more process variables or environmental variables comprise at least one of a measurement from another sensor in a processing system in which the substrate is being processed, a value from a process recipe stored by a controller of a polishing system, or a value tracked by the controller.

4. The computer-readable medium of claim 3, wherein the one or more process variables or environmental variables comprise a measurement of an environment in the polishing system by the another sensor.

5. The computer-readable medium of claim 4, wherein the another sensor comprises a temperature sensor and the measurement of the environment comprises a measurement of a temperature of a polishing pad.

6. The computer-readable medium of claim 3, wherein the one or more process variables or environmental variables comprise a value for a polishing parameter used to control a polishing system during polishing of the substrate, and wherein the value is obtained from the controller.

7. The computer-readable medium of claim 6, wherein the value from the process recipe comprises a carrier head pressure or a platen rotation rate.

8. The computer-readable medium of claim 3, wherein the one or more process variables or environmental variables comprise a variable tracked by the controller that counts substrates.

9. The computer-readable medium of claim 8, wherein the one or more process variables or environmental variables comprise a number of substrates since a polishing pad of the polishing system was changed.

10. The computer-readable medium of claim 1, comprising instructions to perform feature extraction on a plurality of reference optical spectra to produce a plurality of components, produce a transformation based on the plurality of components extracted from the plurality of reference optical spectra, and reduce the dimensionality by performing the transformation on the measured optical spectrum.

11. A method of polishing a substrate, comprising: contacting a substrate with a polishing pad and generating relative motion between the substrate and the polishing pad to polish a layer of the substrate; measuring, with an in-situ optical monitoring system, a measured spectrum of light reflected from the substrate being processed during the polishing; reducing a dimensionality of the measured spectrum to generate a plurality of component values; receiving one or more values of one or more process or environmental variables; generating a characterization value representing a degree of progress of the substrate through a polishing process at a time the spectrum was measured, wherein the characterization value is generated based on the plurality of component values and the one or more process or environmental variables using an artificial neural network having a plurality of input nodes, an output node outputting the characterization value, and a plurality of hidden nodes connecting the input nodes to the output node, the plurality of input nodes including multiple input nodes receiving the plurality of component values and one or more input nodes receiving values of the one or more process or environmental variables; and determining whether to at least one of stop processing of the substrate or adjust a processing parameter based on the characterization value.

12. The method of claim 11, wherein the characterization value includes a thickness of the layer or a thickness removed from the layer.

13. The method of claim 11, wherein the one or more process or environmental variables include at least one of a measurement from another sensor in a processing system in which the substrate is being processed, a value from a process recipe stored by a controller of a polishing system, or a value tracked by the controller.

14. A polishing system, comprising: a support holding a polishing pad; a carrier head holding a substrate in contact with the polishing pad; a motor generating relative motion between the support and the carrier head; an in-situ optical monitoring system measuring a spectrum of light reflected from the substrate during polishing; and a controller configured to: receive a measured spectrum of light reflected from a layer of the substrate being polished from an in-situ optical monitoring system; reduce a dimensionality of the measured spectrum to generate a plurality of component values; receive one or more values of one or more process or environmental variables; generate a characterization value representing a degree of progress of the substrate through a polishing process at a time the spectrum was measured, wherein the characterization value is generated based on the plurality of component values and the one or more process or environmental variables using an artificial neural network having a plurality of input nodes, an output node outputting the characterization value, and a plurality of hidden nodes connecting the input nodes to the output node, the plurality of input nodes including multiple input nodes receiving the plurality of component values and one or more input nodes receiving values of the one or more process or environmental variables; and determine whether to at least one of stop processing of the substrate or adjust a processing parameter based on the characterization value.

15. The system of claim 14, wherein the characterization value comprises a thickness of the layer or a thickness removed from the layer.

16. The system of claim 14, wherein the one or more process variables or environmental variables comprise at least one of a measurement from another sensor in a processing system in which the substrate is processed, a value from a process recipe stored by a controller of the polishing system, or a value tracked by the controller.

Citation Information

Patent Citations

  • Accurate and fast neural network training for library-based critical dimension (CD) metrology

    CN103403724A

  • Method for in-situ monitoring of patterned substrate processing using reflectometry

    CN1675516A