Training spectrum generation for machine learning systems for spectral monitoring
Through in-situ optical monitoring and neural network technology, the problem of polishing rate and endpoint control in chemical mechanical polishing is solved, and the uniformity of substrate layer thickness and flatness and reliable detection of polishing endpoint is achieved.
Patent Information
- Application Number
- CN201980007045.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-06-28
- Filing Date
- 2019-06-21
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2040-02-13
AI Technical Summary
During the chemical mechanical polishing process, it is difficult to effectively control the polishing rate and achieve the required profile, resulting in uneven thickness and flatness of the substrate layer.
The spectrum of the substrate reflected by an in-situ optical monitoring system is measured, and the spectral data is converted into characterization values using a trained neural network, thereby adjusting the polishing parameters to control the polishing rate and endpoint.
The thickness of the substrate layer is measured more accurately and quickly, reducing thickness unevenness and improving the reliability of detecting polishing end points.
Smart Images

Figure CN111587478B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to optical monitoring of substrates, for example, during processing (eg, chemical mechanical polishing). Background Art
[0002] Integrated circuits are generally formed on substrates by sequentially depositing conductive, semiconductive or insulating layers on a silicon wafer. One manufacturing step involves depositing a filler layer and planarizing the filler layer on a non-planar surface. For some applications, the filler layer is planarized until the top surface of the patterned layer is exposed. For example, a conductive filler layer can be deposited on a patterned insulating layer to fill grooves or holes in the insulating layer. After planarization, the portion of the conductive layer remaining between the raised patterns of the insulating layer forms 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 left on the underlying layer. For example, the deposited dielectric layer can be planarized for photolithography.
[0003] Chemical mechanical polishing (CMP) is an accepted planarization method. This planarization method generally requires mounting the substrate on a carrier head. The exposed surface of the substrate is generally placed against a rotating polishing pad having a durable rough surface. The carrier head provides a controllable load on the substrate to push the substrate against the polishing pad. A polishing liquid (e.g., a slurry with abrasive particles) is generally supplied to the surface of the polishing pad.
[0004] One problem in CMP is to use an appropriate polishing rate to achieve a desired profile (e.g., a substrate layer has been planarized to a desired flatness or thickness, or a desired amount of material has been removed). Variations in the initial thickness of the substrate layer, slurry distribution, polishing pad conditions, relative speed between the polishing pad and the substrate, and load on the substrate may cause variations in the material removal rate across a substrate and from substrate to substrate. These variations cause variations in the time required to reach the polishing endpoint and the amount removed. Therefore, it may not be possible to determine the polishing endpoint solely as a function of polishing time or to achieve a desired profile solely by applying a constant pressure.
[0005] In some systems, the substrate is monitored in situ during polishing, such as 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 of the invention
[0006] In one aspect, a method of generating training spectra for training a neural network includes the steps of measuring a first plurality of training spectra from one or more sample substrates; measuring a characterization value for each training spectrum in the plurality of training spectra to generate a plurality of characterization values, wherein each training spectrum has an associated characterization value; measuring a plurality of dummy spectra during processing of one or more dummy substrates; and generating a second plurality of training spectra by combining the first plurality of training spectra with the plurality of dummy spectra, wherein there is a greater number of spectra in the second plurality of training spectra than in the first plurality of training spectra. Each training spectrum in the second plurality of training spectra has an associated characterization value.
[0007] In another aspect, a method of generating training spectra for training a neural network comprises the steps of: generating a first plurality of training spectra from an optical model; sending the first plurality of training spectra to a feedforward neural network; sending the output of the feedforward neural network and empirically collected spectra to a discriminative convolutional neural network; determining that the discriminative convolutional neural network cannot distinguish between the theoretically generated spectra and the empirically collected spectra; and thereafter, generating a second plurality of training spectra from the feedforward neural network.
[0008] In another aspect, a method of controlling processing of a substrate includes the steps of: training an artificial neural network using the second plurality of training spectra; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from a substrate undergoing a process to modify a thickness of an outer layer of the substrate; generating a measured characterization value for the measured spectrum by applying spectral values from the measured spectrum to the artificial neural network; and performing at least one of the following steps: stopping processing of the substrate, or adjusting a processing parameter, based on the characterization value.
[0009] These aspects may be implemented in a computer program product tangibly embodied in a non-transitory computer-readable medium and including instructions for causing a processor to implement the operations or causing the operations to be implemented in a processing system (eg, a polishing system) having a controller.
[0010] Implementations of any of the aspects may include one or more of the following features.
[0011] The plurality of dummy spectra may be normalized to produce a plurality of normalized dummy spectra. The step of combining the first plurality of training spectra with the plurality of dummy spectra may include the steps of: for each normalized dummy spectrum from the plurality of normalized dummy spectra, multiplying the normalized dummy spectrum by one of the first plurality of training spectra to produce one of the second plurality of training spectra. The one of the first plurality of training spectra may be randomly selected. The dummy substrate may be a blank semiconductor substrate.
[0012] The processing may include chemical mechanical polishing.The characterizing value may be the thickness of the outermost layer of the substrate.
[0013] The artificial neural network may have a plurality of input nodes for a plurality of spectral values, an output node for outputting the characterizing value, and a plurality of hidden nodes connecting the input nodes to the output node. The dimensionality of the second plurality of training spectra may be reduced to produce a plurality of spectral training values, and the step of applying the spectral training values and the characterizing values associated with the second plurality of training spectra may be applied to the artificial neural network to train the artificial neural network. The dimensionality of the measured spectra may be reduced to produce spectral values to be used to produce the characterizing value.
[0014] Certain embodiments may have one or more of the following advantages. The amount of empirical polishing data (e.g., the number of spectra from different device wafers) required to train a machine learning system (e.g., a neural network) to meet predicted performance requirements may be reduced. The thickness of a layer on a substrate may be measured more accurately and / or more quickly. Intra-wafer thickness non-uniformity and wafer-to-wafer non-uniformity (WIWNU and WTWNU) may be reduced, and the reliability of an endpoint system used to detect a desired process endpoint may be improved.
[0015] 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, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 A schematic cross-sectional view of an example of a polishing apparatus is shown.
[0017] Figure 2 A schematic top view of a substrate having multiple regions is shown.
[0018] Figure 3 A schematic top view showing the location for performing in-situ measurement on a first substrate is shown.
[0019] Figure 4 A neural network is shown for use as part of a controller for a polishing apparatus.
[0020] Figure 5 is a schematic diagram of the components used to generate the training spectra.
[0021] Figure 6 A graph showing a representative value output by a control system as a function of time.
[0022] Like reference numbers and symbols in the various drawings indicate like components. DETAILED DESCRIPTION
[0023] One monitoring technique is to measure the spectrum of light reflected from the polished substrate. Various techniques have been proposed to determine characteristic values, such as 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 device substrates and the characteristic values measured for those sample substrates. After training, during normal operation, the measured spectrum from the device substrate can be input to the neural network, and the neural network can output characteristic values, such as the calculated thickness of the top layer of the substrate. The motivation for using a neural network is to remove the possibility of the influence of the thickness of the underlying films on the calculated thickness of the top layer.
[0024] The problem with training a neural network in this context is that an impractically large data set may be required to adequately train a predictive neural network to produce thickness values from an input spectrum with sufficient reliability to be useful in the production of integrated circuits. A small training set runs the risk of training the neural network based on noise in the measured spectrum. While a sufficiently large training set may provide similar or superior performance to other techniques for determining characteristic values, obtaining such a data set may still be prohibitive for customers. In particular, device substrates are very expensive; it is not practical to commercially provide sufficient numbers of "ready-made" device substrates to perform training.
[0025] One technique that can address these issues is to add process noise to the training spectra from sample device substrates.
[0026] Another technique that can address these issues is to generate training spectra from the model.
[0027] Figure 1 An example of a polishing apparatus 20 is shown. The polishing apparatus 20 may include a rotatable dish-shaped platen 22 on which a polishing pad 30 is located. The platen may be operable to rotate about an axis 23. For example, a motor 24 may turn a drive shaft 26 to rotate the platen 22. The polishing pad 30 may be removably secured to the platen 22, for example, by an adhesive layer. The polishing pad 30 may be a two-layer polishing pad having an outer polishing layer 32 and a softer backing layer 34.
[0028] The polishing apparatus 20 may include a polishing liquid supply port 40 to dispense a polishing liquid 42 (eg, abrasive slurry) onto the polishing pad 30. The polishing apparatus 20 may also include a polishing pad conditioner to abrade the polishing pad 30 to maintain the polishing pad 30 in a uniformly abrasive state.
[0029] 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 pressurizable chambers (e.g., three chambers 52a-52c) that can pressurize associated regions 12a-12c (see FIG. Figure 2) apply independently controllable pressure. Figure 2 , the central region 12a may be substantially circular, and the remaining regions 12b-12c may be concentric annular regions surrounding the central region 12a.
[0030] Back to Figure 1 , chambers 52a-52c may be defined by a flexible membrane 54 having a bottom surface to which substrate 10 is mounted. Carrier head 50 may also include a retaining ring 56 to secure substrate 10 beneath flexible membrane 54. Although for ease of illustration, Figure 1 and Figure 2 Only three chambers are shown, but there may be two chambers, or four or more chambers, such as five chambers. In addition, other mechanisms (such as piezoelectric actuators) for adjusting the pressure applied to the substrate may be used in the carrier head 50.
[0031] Each carrier head 50 is suspended from a support structure 60 (e.g., a carousel or track) and is connected by a drive shaft 62 to a carrier head rotation motor 64 so that the carrier head can rotate about an axis 51. Optionally, each carrier head 50 can oscillate laterally, such as by moving along a track on a slide of a carousel; or by rotational oscillation of the carousel itself. In operation, the platform plate 22 rotates about its central axis 23, and the carrier head 50 rotates about the central axis 51 of the carrier head and translates laterally across the top surface of the polishing pad 30.
[0032] The polishing apparatus also includes an in-situ 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 zones 12a-12c. The in-situ monitoring system 70 generates a signal indicative of the thickness of the layer being polished in each of the zones 12a-12c. The in-situ monitoring system can be an optical monitoring system, such as a spectroscopic monitoring system.
[0033] The optical monitoring system 70 may 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 the light detector 74. One or more optical fibers may be used to transmit light from the light source 72 to the window 36 in the polishing pad 30, and to transmit light reflected from the substrate 10 to the detector 74. For example, a bifurcated 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 be operable to emit white light and the detector 74 may be a spectrometer.
[0034] The output of the circuit system 76 can be a digital electronic signal that passes through the rotary coupling 28 (e.g., slip ring) in the drive shaft 26 to the controller 90. Alternatively, the circuit system 76 can communicate with the controller 90 via wireless signals. The controller 90 can be a computing device including a microprocessor, memory, and input / output circuit system, such as a programmable computer. Although illustrated as having a single module, the controller 90 can also be a networked system with functions distributed across multiple computers.
[0035] In some embodiments, the in-situ monitoring system 70 includes a sensor 80 mounted in the platform plate 22 and rotating with the platform plate. For example, the sensor 80 can be the end of the optical fiber 78. The movement of the platform plate 22 will cause the sensor 80 to scan across the substrate. Figure 3 As shown in FIG, due to the rotation of the platform plate (indicated by arrow 38), the in-situ monitoring system measures at a sampling frequency as the sensor 80 travels under the carrier head; as a result, measurement values are intercepted at positions 14 in an arc across the substrate 10 (the number of points is illustrative; depending on the sampling frequency, more or fewer measurements can be intercepted than shown).
[0036] Within one rotation of the platform plate, spectra are obtained from different locations on the substrate 10. In particular, some spectra may be obtained from locations closer to the center of the substrate 10 and some spectra may be obtained from locations closer to the edge. The controller 90 may 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, platform plate rotation or position sensor data, and / or optical detection of the edge of the substrate and / or retaining ring. The controller may therefore compare the individual measurements to the individual zones 12a-12c (see Figure 2 In some embodiments, the measured time may be used as a substitute for an accurate calculation of the radial position.
[0037] Back to Figure 1 , the controller 90 may derive a characterization value for each zone of the substrate based on the signal from the in-situ monitoring system. In particular, the controller 90 generates a sequence of characterization values over time as polishing proceeds. The controller 90 may generate at least one characterization value for each zone for each scan of the sensor under the substrate 10, or generate a characterization value for each zone at a measurement frequency (which need not be the same as the sampling frequency), for example, for a polishing system that does not scan the sensor across the substrate. In some embodiments, a single characterization value is generated for each scan, for example, multiple measurements may be combined to generate a characterization value. In some embodiments, each measurement is used to generate a characterization value.
[0038] The characterizing value is typically the thickness of the outer layer, but may also be a related property, such as the thickness removed. Additionally, the characterizing value may be a more general representation of the progress of the substrate through the polishing process, such as an index value representing the time or number of platen rotations at which a measurement value would be expected to be observed during the polishing process after a predetermined process.
[0039] The controller 90 can use a two-step process to generate characterization values from the measured spectra from the in-situ spectral monitoring system 70. First, the dimensionality of the measured spectra is reduced, and then the reduced dimensionality data is input into an artificial neural network, which outputs characterization values. By performing this process for each measured spectrum, the artificial neural network can generate a sequence of characterization values. For example, assuming that the sensor 80 is passing under the substrate, this sequence may include characterization values for different radial positions on the substrate.
[0040] 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, based on the series of characterization values, the controller 90 can detect a polishing endpoint and stop polishing and / or adjust polishing pressure during the polishing process to reduce polishing non-uniformity.
[0041] Figure 4 Functional blocks implemented by the controller 90 are shown, including a dimensionality reduction module 110 for implementing dimensionality reduction, a neural network 120, and a process control module 130 for adjusting the polishing process (e.g., detecting a polishing endpoint and stopping polishing based on the series of characterization values and / or adjusting polishing pressure during the polishing process to reduce polishing non-uniformity). As described above, these functional blocks may be distributed across multiple computers.
[0042] The neural network 120 includes a plurality of input nodes 122 for each principal component, a plurality of hidden nodes 124 (hereinafter also referred to as "intermediate nodes"), and an output node 126 that will generate a characteristic value. In a neural network with a single layer of hidden nodes, each hidden node 124 may be coupled to each input node 122, and an output node 126 may be coupled to each hidden node 124. In some embodiments, there are a plurality of output nodes, one of which provides a characteristic value.
[0043] In general, a hidden node 124 outputs a value that is a non-linear function of a weighted sum of the values from the input nodes 122 to which the hidden node is connected.
[0044] For example, the output of hidden node 124 (designated node k) may be represented as:
[0045] tanh(0.5*a k1 (I1)+a k2(I2)+…+a kM (I M )+b k ) Equation 1
[0046] where tanh is the hyperbolic tangent, a kx is the weight of the connection between the kth intermediate node and the xth input node (the xth input node among the M input nodes), and I M is the value of 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.
[0047] The dimensionality reduction module 110 will reduce the measured spectrum to a more limited number of component values, for example L component values. The neural network 120 includes an input node 122 for each component to which the spectrum is reduced, for example if the module 110 produces L component values, then the neural network 120 will include at least input nodes N1, N2 ... N L .
[0048] Therefore, if the number of input nodes corresponds to the number of components into which the measured spectrum is reduced (ie, L=M), the output H of the hidden node 124 (designated node k) can be k It is expressed as:
[0049] H k =tanh(0.5*a k1 (I1)+a k2 (I2)+…+a kL (I L )+b k )
[0050] Assume that the measured spectrum S is composed of a column matrix (i1,i2,…,i n ), then the output of hidden node 124 (specified node k) can be expressed as:
[0051] H k =tanh(0.5*a k1 (V1·S)+a k2 (V2·S)+…+a kL (V L ·S)+b k ) Equation 2
[0052] Where V x is a row matrix (v1,v2,…,v n ), which will provide a transformation of the measured spectrum into the value of the xth component (the xth component out of L components) of the reduced dimensional data. For example, V xIt can be provided by the x-th column (the x-th column among L columns) of the matrix W or W' described below, that is, V x It is W T The xth row of W. Therefore, W x The x-th eigenvector from the dimensionally reduced matrix can be represented.
[0053] The output node 126 can generate a characteristic value CV, which is a weighted sum of the outputs of the hidden nodes. For example, this can be expressed as:
[0054] CV=C1*H1+C2*H2+…+C L *H L
[0055] Among them C k is the weight of the output of the kth hidden node.
[0056] However, the neural network 120 may optionally include one or more other input nodes (e.g., node 122a) to receive other data. This other data may come from a previous measurement of the substrate made by an in-situ monitoring system (e.g., a spectrum collected earlier while processing 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 measurement of the pad or substrate made 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 the carrier head pressure or platen rotation rate used to polish the substrate), from a variable tracked by the controller (e.g., the number of substrates since a pad change), or from a sensor that is not part of the polishing system (e.g., a thickness measurement of an underlying film made by a metrology station). This allows the neural network 120 to take these other process or environmental variables into account when calculating the characterization value.
[0057] Before being used in, for example, a device wafer, the dimensionality reduction module 110 and the neural network 112 need to be configured.
[0058] As part of the configuration procedure of the dimensionality reduction module 110, the controller 90 can receive a plurality of training spectra and a characterization value (e.g., thickness) associated with each of the plurality of training spectra. For example, the training spectra can be measured at specific locations on one or more sample device substrates. In addition, the measurement of the thickness at the specific location can be performed with metrology equipment (e.g., a contact profilometer or an ellipsometer). The thickness measurement value can therefore be associated with the training spectra from the same location on the sample device substrate. The plurality of training spectra can include, for example, five to one hundred training spectra.
[0059] As another part of the configuration procedure, a plurality of dummy spectra may be measured during polishing of one or more bare dummy semiconductor substrates (e.g., bare silicon wafers). The plurality of dummy spectra may include, for example, fifty to one hundred dummy spectra. The dummy spectra may be normalized, for example, by dividing each dummy spectrum by a reference spectrum of a substrate of the same semiconductor material (e.g., silicon). Each normalized dummy spectrum may then be multiplied by a randomly selected training spectrum from the plurality of training spectra. This will produce an augmented set of training spectra.
[0060] This process has the effect of adding the pure process noise collected over the entire polishing pass of the dummy substrate to the training set. The augmented set of training spectra can provide a large enough training set to adequately train the neural network. On the other hand, randomly distributing the process noise throughout the augmented training set should prevent the neural network from training on changes to the process noise.
[0061] As an alternative to measuring spectra from sample device substrates (and measuring dummy spectra from dummy semiconductor substrates), training spectra may be generated by an optical model (e.g., an optical model combined with a feed-forward neural network). Figure 5 , a first principles theoretical optical model 150 may be used to generate theoretically generated initial spectra based on randomized thicknesses within a film stack of a product wafer. That is, for each of a series of spectra to be generated by the model 150, a thickness may be randomly assigned by the model 150 to each of one or more layers within the film stack represented in the model. For any particular layer, the random assignment of thickness may be based on a linear distribution or a bell curve distribution between a minimum thickness value and a maximum thickness value, which may be set by an operator.
[0062] These theoretically generated initial spectra may be sent through a feed forward neural network (FFN) 152. The feed forward neural network 152 is configured to modify each theoretically generated spectrum by adding a noise component to the theoretically generated spectrum to produce a modified theoretically generated spectrum that may serve as a training spectrum (or potential training spectrum). This produces a plurality of modified theoretically generated spectra that may serve as training spectra (or potential training spectra). There may be a greater number of potential training spectra than the theoretically generated spectra, such as when the same training spectrum is fed to the FNN 152 multiple times but with different noise components.
[0063] In training mode, the output of the feedforward neural network 152, such as the modified theoretically generated training spectra (which provide the first plurality of training spectra), can then be sent to the discriminative convolutional neural network (DCNN) 154. In effect, the feedforward neural network 152 and the discriminative convolutional neural network 154 act as a generative adversarial network to train the feedforward neural network 152.
[0064] In particular, the empirically collected spectra may be interspersed with a plurality of potential training spectra generated by the FFN 152. The empirically collected spectra may be received from a metrology system 156 (e.g., a spectrometer). The discriminative convolutional neural network 154 attempts to determine whether the spectrum is theoretically generated or empirically detected. The accuracy level of the DCNN 154 may be used as an input to the FNN 152 for training the FNN 152. A decrease in the accuracy of the DCNN 154 indicates an improvement in the FFN 152. Assuming that half of the spectra are empirically generated, once the discriminative convolutional neural network 154 is substantially unable to determine the empirical spectrum from the theoretically generated spectra at a ratio significantly greater than the probability of correctly identifying the empirically generated spectra (e.g., less than 55% or less than 51%), the FFN 152 is already trained. Next, the feedforward neural network 152 may be used to generate an arbitrarily large set of training spectra (which provides a second plurality of training spectra) for a thickness prediction model (e.g., the neural network 112).
[0065] As another part of the configuration procedure of the dimensionality reduction module 110, the controller 90 can generate a set of eigenvectors for the covariance matrix of the data set of training spectra. Once the set of eigenvectors has been generated, the eigenvectors can be ranked and a predetermined number of eigenvectors with the largest eigenvalues (e.g., the top four or eight) can be retained.
[0066] Ranking the eigenvectors by their associated eigenvalues shows the directions in which the data set varies the most. Projecting the measured spectrum onto the highest ranked eigenvectors provides an efficient representation of the original vector at a significant reduction.
[0067] As an explanation, each training spectrum can be represented by the following matrix:
[0068] R=(i1,i2,…,i n ),
[0069] where i j represents the light intensity at the jth 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.
[0070] Assuming that m training spectra are generated, the m matrices R can be combined to form the following matrix:
[0071]
[0072] where i jk represents the light intensity at the kth wavelength of the jth training spectrum. Each row of the matrix A represents a training spectrum (eg, a measurement value at a position on the substrate).
[0073] A dimensionality reduction procedure such as principal component analysis (PCA) is applied to the matrix A. PCA performs an orthogonal linear transformation that transforms the data in the A matrix (mxn dimensions) into a new coordinate system such that the largest variance due to any projection of the data becomes located on the first coordinate (called the first principal component), the second largest variance is on the second coordinate, and so on. Mathematically, the transformation is represented by a set of p-dimensional weight vectors w k =(w k1 ,w k2 ,…,w kp ), which is defined by the set of vectors that transforms each m-dimensional row vector A of the matrix A i Mapped to the new principal component score vector t i =(t k1 ,t k2 ,…,t ip ), where t ki yes:
[0074] t ki =A i ·w k .
[0075] Each vector w k is constrained to be a unit vector. As a result, t i The individual variables of inherit the maximum possible variance from the matrix A. The decomposition of the matrix A can be written as:
[0076] T=AW,
[0077] Where W is an nxp matrix whose columns are A T The eigenvectors of A.
[0078] Details of PCA are also discussed in "Functional Data Analysis" by James Ramsay and BW Silverman (Springer; 2nd edition (July 1, 2005)) and "Principal Component Analysis" by IT Jolliffe (Springer; 2nd edition (October 2, 2002)).
[0079] Instead of PCA, the controller may use SVD (Singular Value Decomposition) or ICA (Independent Component Analysis), SVD being a generalized eigendecomposition of the training spectral dataset, while ICA is finding a pre-specified number of statistically independent signals whose additive combination produces the training spectral dataset.
[0080] Next, the dimensionality can be reduced by retaining only the highest ranked eigenvectors. In particular, a total of L principal components can be retained, instead of retaining p principal components, where L is an integer between 0 and p (e.g., three to ten). For example, the T matrix can be reduced to an m x L matrix T', for example, by retaining the leftmost L columns of the T matrix. Similarly, the W matrix can be reduced to an n x L matrix W', for example, by retaining the leftmost L columns of the W matrix.
[0081] As another example, nonlinear 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 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 such cases, the values of the hidden neurons can be viewed as a spectrum of reduced dimensionality. Relative to PCA and other similar techniques, this technique can provide advantages due to the fact that dimensionality reduction is no longer a linear process.
[0082] From the configuration procedure of the neural network 120 , the neural network 120 is trained using the component values and characteristic values of each training spectrum.
[0083] Each row of the matrix T′ corresponds to one of the training spectra and is therefore associated with a characteristic value. While the neural network 120 is operating in a training mode (e.g., back-propagation mode), the values along a particular row (t1, t2, ..., t L ) are fed to the corresponding input nodes N1, N2…N of the principal components L , and the characteristic value V of the row is fed to the output node 126. This can be repeated for each row. This sets a in equation 1 or 2 above k1 And so on.
[0084] Determining principal components, for example by PCA, SVD, ICA, etc., may be performed using data larger than the data set used to train the neural network. That is, the number of spectra used to determine principal components may be larger than the number of spectra with known characteristic values used for training.
[0085] The system is now ready for operation. The spectrum is measured from the substrate during polishing using the in-situ spectrum monitoring system 70. The column matrix S = (i1, i2, ..., i n ) represents the measured spectrum, where i j represents the light intensity of the jth wavelength among a total of n wavelengths. The column matrix S is multiplied by the W′ matrix to generate a column matrix, that is, S·W′=P, where P=(P1, P2, …, P L ), where P iRepresents the component value of the i-th principal component.
[0086] When using the neural network 120 in inference mode, these values (P1, P2, ..., P L ) is fed as input to the corresponding input nodes N1, N2, ... N L As a result, neural network 120 produces a characteristic value (eg, thickness) at output node 126 .
[0087] The combined calculation performed by the dimensionality reduction module 110 and the neural network 120 to generate the characteristic value CV can be expressed as follows:
[0088] CV=C1*tanh(0.5(N1·S)+0.5b1)+C2*tanh(0.5(N2·S)+
[0089] 0.5b2)+…+C L *tanh(0.5(N L ·S)+0.5b L )
[0090] Where N k =(a k1 V1·+a k2 V2·+…+a kL V L ), where weight a ki is the weight set by the neural network 120, and the vector V i is the eigenvector determined by the dimensionality reduction module 110 .
[0091] 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 hidden nodes 124, it can also include multiple columns. The number of hidden nodes 124 can be equal to or greater than the number of input nodes 122.
[0092] As described above, the controller 90 can compare the various measured spectra with the different regions 12a-12c on the substrate 10 (see Figure 2 ). The output of each neural network 120 can be classified as belonging to one of these zones based on the position of the sensor on the substrate 10 when measuring the spectrum. This allows the controller 90 to generate a separate sequence of characteristic values for each zone.
[0093] The characterization values are fed to the process control module 130 , for example, the characteristic values for each zone may then be used by the process control module 130 to adjust process parameters to reduce non-uniformity across the substrate and / or detect polishing endpoint.
[0094] The reliability of the calculated characteristic values can be assessed by reconstructing the spectrum and then determining the difference between the reconstructed spectrum and the original measured spectrum. For example, once the principal component values (P1, P2, ..., P L ), we can use P·W′ T =Q produces a reconstructed spectrum Q. The difference between P and S may then be calculated, for example, using the sum of squared differences. If the difference is large, the process control module 130 may ignore the associated characteristic value.
[0095] For example, refer to Figure 6 , a first function 204 can be matched to the sequence 200 of characteristic values 202 for the first zone, and a second function 214 can be matched to the sequence 210 of characteristic values 212 for the second zone. The process controller can calculate the times T1 and T2 for projecting the first and second functions to reach the target value V, and calculate an adjusted processing parameter (e.g., an adjusted carrier head pressure) that will result in polishing one of the zones at a modified rate (shown by line 220) such that the zones reach the target at approximately the same time.
[0096] The polishing endpoint may be triggered by the process control module 130 when the function indicates that the characteristic value reaches the target value V.
[0097] The embodiments of the present invention and all functional operations described in this specification may be implemented with digital electronic circuit systems, or with computer software, firmware or hardware (including structural means disclosed in this specification and structural equivalents thereof), or with a combination of the above items. The embodiments of the present invention may be implemented as one or more computer program products (i.e., one or more computer programs tangibly implemented in a machine-readable storage medium) for execution or control of the operation of the data processing device by a data processing device (e.g., a programmable processor, a computer, or multiple processors or computers). Computer programs (also referred to as programs, software, software applications, or codes) may be written in any form of programming language (including compiled or interpreted languages), and the computer programs may be deployed in any form (including deployment as independent programs, or deployment 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 may be stored in a portion of a file that accommodates other programs or data, in a single file dedicated to the program in question, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or code portions). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0098] 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, and the apparatus can also be implemented as, special purpose logic circuitry such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0099] The polishing apparatus and method described above can be applied in a variety of polishing systems. The polishing pad or the carrier head or both can move to provide relative movement between the polishing surface and the substrate. For example, the platform plate can be circling rather than rotating. The polishing pad can be a circular (or some other shape) pad fixed to the platform plate. The polishing system can be a linear polishing system, such as a continuous or roll-to-roll belt in which the polishing pad moves linearly. The polishing layer can be a standard (e.g., polyurethane with or without fillers) polishing material, a soft material, or a fixed abrasive. The term relative positioning is used to refer to 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.
[0100] Although the above description has focused on chemical mechanical polishing, the control system may also be adapted for other semiconductor processing techniques, such as etching or deposition, such as chemical vapor deposition. Furthermore, the technique may be applied to inline or stand-alone metrology systems rather than in-situ monitoring.
[0101] Certain embodiments of the invention have been described. Other embodiments are within the scope of the following claims.
Claims
1. A method for generating a training spectrum for training a neural network, the method comprising the following steps: measuring a first plurality of training spectra from one or more sample substrates; measuring a characterization value for each training spectrum in the first plurality of training spectra to produce a plurality of characterization values, wherein each training spectrum has an associated characterization value; and A second plurality of training spectra is generated by adding a plurality of different noise components to the first plurality of training spectra, wherein there is a greater number of spectra than in the first plurality of training spectra, each training spectrum in the second plurality of training spectra having an associated characterization value.
2. The method of claim 1, wherein the step of generating the second plurality of training spectra comprises the following steps: A plurality of different noise components are added to each training spectrum from the first plurality of training spectra.
3. The method according to claim 1, comprising the steps of: A plurality of dummy spectra are measured during processing of one or more dummy substrates.
4. The method of claim 3, wherein the step of adding the plurality of different noise components comprises the steps of: The first plurality of training spectra are combined with the plurality of dummy spectra.
5. A computer program product for generating a spectrum for training a neural network, the computer program product tangibly embodied in a non-transitory computer readable medium and comprising instructions for causing a processor to: receiving a first plurality of training spectra and a plurality of characterization values, each training spectrum in the first plurality of training spectra having an associated characterization value from the plurality of characterization values; and A second plurality of training spectra is generated by adding a plurality of different noise components to the first plurality of training spectra, wherein there is a greater number of spectra than in the first plurality of training spectra, each training spectrum in the second plurality of training spectra having an associated characterization value.
6. The computer program product of claim 5, wherein the instructions for generating the second plurality of training spectra include instructions for adding a plurality of different noise components to each training spectrum from the first plurality of training spectra.
7. The computer program product of claim 5, comprising the steps of: A plurality of dummy optical spectra are received, the plurality of dummy optical spectra representing optical spectra obtained from processing of one or more dummy substrates.
8. The computer program product of claim 7, wherein the instructions for adding the plurality of different noise components include instructions for combining the first plurality of training spectra with the plurality of dummy spectra.
9. The computer program product of claim 7, comprising instructions for normalizing the plurality of virtual spectra to produce a plurality of normalized virtual spectra.
10. The computer program product of claim 9, wherein the instructions for combining the first plurality of training spectra with the plurality of dummy spectra comprise instructions for, for each normalized dummy spectrum from the plurality of normalized dummy spectra, multiplying the normalized dummy spectrum by one of the first plurality of training spectra to produce one of the second plurality of training spectra.
11. The computer program product of claim 10, comprising instructions for multiplying the normalized fictitious spectrum by a randomly selected one of the first plurality of training spectra.
12. A method of controlling processing of a substrate, the method comprising the steps of: measuring a first plurality of training spectra from one or more sample substrates; measuring a characterization value for each training spectrum in the first plurality of training spectra to produce a plurality of characterization values, wherein each training spectrum has an associated characterization value; measuring a plurality of dummy optical spectra during processing of one or more dummy substrates; generating a second plurality of training spectra by combining the first plurality of training spectra with the plurality of dummy spectra, wherein there is a greater number of spectra in the second plurality of training spectra than in the first plurality of training spectra, each training spectrum in the second plurality of training spectra having an associated characterization value; using the second plurality of training spectra to train an artificial neural network having a plurality of input nodes for input of a plurality of spectral values, an output node for output of representation values, and a plurality of hidden nodes connecting the input nodes to the output nodes; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from a substrate undergoing a process that modifies a thickness of an outer layer of the substrate; generating a measured characterization value for the measured spectrum by applying spectral values from the measured spectrum to the artificial neural network; and At least one of the following steps is performed: based on the measured characteristic value, processing of the substrate is stopped, or a processing parameter is adjusted.
13. A computer program product for controlling processing of a substrate, the computer program product tangibly embodied in a non-transitory computer readable medium and comprising instructions for causing a processor to: receiving a first plurality of training spectra and a plurality of characterization values, each training spectrum in the first plurality of training spectra having an associated characterization value from the plurality of characterization values; receiving a plurality of dummy optical spectra representing optical spectra obtained from processing of one or more dummy substrates; generating a second plurality of training spectra by combining the first plurality of training spectra with the plurality of dummy spectra, wherein there is a greater number of spectra in the second plurality of training spectra than in the first plurality of training spectra, each training spectrum in the second plurality of training spectra having an associated characterization value; using the second plurality of training spectra to train an artificial neural network having a plurality of input nodes for input of a plurality of spectral values, an output node for output of representation values, and a plurality of hidden nodes connecting the input nodes to the output nodes; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from a substrate undergoing a process that modifies a thickness of an outer layer of the substrate; generating a measured characterization value for the measured spectrum by applying spectral values from the measured spectrum to the artificial neural network; and At least one of the following steps is performed: based on the measured characteristic value, processing of the substrate is stopped, or a processing parameter is adjusted.
14. A method for generating a training spectrum for training a neural network, the method comprising the steps of: Producing multiple theoretically generated initial spectra from an optical model; sending the plurality of theoretically generated initial spectra to a feed-forward neural network to generate a plurality of modified theoretically generated spectra; Sending the output of the feedforward neural network and the empirically collected spectra to a discriminative convolutional neural network; determining that the discriminative convolutional neural network cannot discriminate between the modified theoretically generated spectra and the empirically collected spectra; and Thereafter, a plurality of training spectra are generated from the feed-forward neural network.
15. A computer program product for generating a spectrum for training a neural network, the computer program product tangibly embodied in a non-transitory computer readable medium and comprising instructions for causing a processor to: Producing multiple theoretically generated initial spectra from an optical model; sending the plurality of theoretically generated initial spectra to a feed-forward neural network to generate a plurality of modified theoretically generated spectra; Sending the output of the feedforward neural network and the empirically collected spectra to a discriminative convolutional neural network; determining that the discriminative convolutional neural network cannot discriminate between the modified theoretically generated spectra and the empirically collected spectra; and Thereafter, a plurality of training spectra are generated from the feed-forward neural network.
16. A method of controlling processing of a substrate, the method comprising the steps of: Producing multiple theoretically generated initial spectra from an optical model; sending the plurality of theoretically generated initial spectra to a feed-forward neural network to generate a plurality of modified theoretically generated spectra; Sending the output of the feedforward neural network and the empirically collected spectra to a discriminative convolutional neural network; determining that the discriminative convolutional neural network cannot discriminate between the plurality of modified theoretically generated spectra and the empirically collected spectra; Thereafter, generating a plurality of training spectra from the feed-forward neural network; using the plurality of training spectra to train an artificial neural network having a plurality of input nodes for a plurality of spectral values, an output node for outputting a representative value, and a plurality of hidden nodes connecting the input nodes to the output nodes; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from a substrate undergoing a process that modifies a thickness of an outer layer of the substrate; generating a measured characterization value for the measured spectrum by applying spectral values from the measured spectrum to the artificial neural network; and At least one of the following steps is performed: based on the characterization value, processing of the substrate is stopped, or a processing parameter is adjusted.
17. A computer program product for controlling processing of a substrate, the computer program product tangibly embodied in a non-transitory computer readable medium and comprising instructions for causing a processor to: Producing multiple theoretically generated initial spectra from an optical model; sending the plurality of theoretically generated initial spectra to a feed-forward neural network to generate modified theoretically generated spectra; Sending the output of the feedforward neural network and the empirically collected spectra to a discriminative convolutional neural network; determining that the discriminative convolutional neural network cannot discriminate between the modified theoretically generated spectra and the empirically collected spectra; Thereafter, generating a plurality of training spectra from the feed-forward neural network; using the plurality of training spectra to train an artificial neural network having a plurality of input nodes for a plurality of spectral values, an output node for outputting a representative value, and a plurality of hidden nodes connecting the input nodes to the output nodes; receiving, from an in-situ optical monitoring system, a measured spectrum of light reflected from a substrate undergoing a process that modifies a thickness of an outer layer of the substrate; generating a measured characterization value for the measured spectrum by applying spectral values from the measured spectrum to the artificial neural network; and At least one of the following steps is performed: based on the characterization value, processing of the substrate is stopped, or a processing parameter is adjusted.
Citation Information
Patent Citations
On-line measurement method and device for micro / nano deep trench structure
CN101393015A