Control of processing parameters during substrate polishing using a cost function or predicted future parameter changes
The polishing system addresses the variability in CMP processes by using in-situ monitoring and real-time parameter adjustments to optimize the polishing rate, thereby reducing non-uniformity and achieving consistent substrate profiles.
Patent Information
- Application Number
- JP2022578963
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-05
- Filing Date
- 2022-02-28
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2042-02-28
AI Technical Summary
Chemical mechanical polishing (CMP) processes face challenges in achieving consistent material removal rates due to variations in initial substrate thickness, slurry composition, polishing pad condition, relative speeds, and applied load, leading to within-wafer non-uniformity (WIWNU) and edge exclusion.
A polishing system that utilizes an in-situ monitoring system to receive characteristic values from multiple regions on a substrate, calculates adjustments to process parameters, such as pressure, to optimize the polishing rate and achieve a desired substrate profile, while minimizing cost functions that account for differences between current and target values, and constraints on pressure changes.
The system effectively reduces within-wafer non-uniformity (WIWNU) and edge exclusion by optimizing polishing parameters in real-time, ensuring that the substrate reaches the target thickness with improved spatial resolution and reduced pressure imbalances.
Smart Images

Figure 0007686015000009 
Figure 0007686015000010 
Figure 0007686015000011
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the control of processing parameters during chemical mechanical polishing.
Background Art
[0002] Integrated circuits are typically formed on a substrate by sequentially depositing conductive, semiconductive, or insulating layers on a silicon wafer. One manufacturing step includes depositing a filler layer on a non-planar surface and planarizing the filler layer until, for example, the top surface of the pattern layer is exposed or a predetermined thickness remains on the non-planar surface. Additionally, planarization of the substrate surface is usually required for photolithography.
[0003] Chemical mechanical polishing (CMP) is one of the accepted planarization methods. Typically, in this planarization method, it is necessary to attach the substrate to a carrier head. The exposed surface of the substrate is typically placed against a rotating polishing pad with a durable rough surface. The carrier head applies a controllable load to the substrate to press the substrate against the polishing pad. A polishing liquid such as a slurry containing polishing particles is usually supplied to the surface of the polishing pad.
[0004] One problem in CMP is using an appropriate polishing rate to achieve a desired profile, e.g., a substrate layer planarized to a desired flatness or thickness, i.e., a desired amount of material removed. Variations in the initial thickness of the substrate layer, slurry composition, condition of the polishing pad, relative speed between the polishing pad and the substrate, and load on the substrate can cause variations in the material removal rate within and between substrates.
Summary of the Invention
[0005] A polishing system having a computer program product, method, or controller operates to receive from an in-situ monitoring system a sequence of characteristic values for each of a plurality of regions on a substrate being processed by the polishing system. For each region, a polishing rate for that region is determined and an adjustment of at least one process parameter is calculated.
[0006] In one aspect, the calculation of the adjustment includes, for each region, minimizing a cost function that includes i) the difference between the current characteristic value of the region or the predicted characteristic value at a predicted end time and a target characteristic value, and ii) a plurality of predicted future pressure changes over time for the region and / or a plurality of differences between the predicted future pressure over time for the region and a baseline pressure.
[0007] In another aspect, the calculation of the adjustment includes, for each region, minimizing a cost function that includes the difference between the current characteristic value of the region or the predicted characteristic value at a predicted end time and a target characteristic value, and the minimization of the cost function is subject to at least one constraint.
[0008] In another aspect, for each of a plurality of parameter update times, an adjustment of at least one process parameter is calculated, and the calculation of the adjustment at a particular parameter update time among the plurality of parameter update times includes calculating predicted future parameter changes at at least two future parameter update times following that particular parameter update time.
[0009] Embodiments can include one or more of the following features. The characteristic value can be thickness. The parameter can be the pressure of a chamber within a carrier head of the polishing system.
[0010] The cost function can include terms corresponding to the following. TIFF0007686015000001.tif21170 Here, τ represents the ordinal number in the predicted sequence of future pressure changes, x(τ) represents the difference between the thickness at τ and the target thickness, the polishing rate at τ, the difference between the baseline pressure at τ and the estimated pressure at τ, and the difference between the target value of the characteristic value at τ and the measured characteristic value at τ, Q(τ) represents the weighting matrix of x(τ), u(τ) represents the estimated pressure change at τ, R represents the weighting matrix of u(τ), x(T) represents the vector including the difference between the target value of the characteristic value at the final time T and the estimated characteristic value at the final time T, the estimated rate at the final time T, and the difference between the estimated pressure at the final time T and the baseline pressure, and Q f represents the weighting matrix of x(T). x(τ + 1) can be calculated as Ax(τ)+Bu(τ), where A and B are predetermined values.
[0011] The constraints between zones can include the maximum difference in pressure between adjacent zones. The constraints between zones can include the maximum difference in pressure within a zone from the average pressure of a plurality of zones. The parameter constraint can be the maximum pressure.
[0012] The rate change can be determined, and the pressure change can be calculated backward from the rate change using the inverse Preston matrix.
[0013] Embodiments can include one or more of the following potential advantages.
[0014] The control input can be "optimized" simultaneously for multiple objectives, including more than just minimizing the difference between the predicted thickness and the target thickness at a future time. For example, the objectives can include reducing the pressure change and / or minimizing the deviation from the baseline pressure. Thereby, the control input can be changed to avoid under-damping or over-damping behavior.
[0015] Optimization can be performed when the input affects the overlapping regions on the substrate. This enables control of the polishing profile with improved spatial resolution, reducing within-wafer non-uniformity (WIWNU) and edge exclusion.
[0016] The optimization can be carried out under various constraints, such as those of general linear inequalities. When the control input is the pressure within the chamber in the carrier head, this can limit the pressure difference between adjacent chambers, making the pressure transition across the polishing zone boundary smoother and reducing within-wafer non-uniformity (WIWNU).
[0017] The optimization can be performed in real time, that is, at a frequency high enough to allow multiple adjustments throughout the polishing process, for example, every 2 - 20 seconds, and at a speed sufficient to change the control input while data is being collected during polishing. This can ensure that the polishing process reaches the target thickness while balancing the need for other objectives.
[0018] It should be understood that the optimization (or minimization) is subject to practical constraints, for example, the optimization algorithm can conform to the available computational processing power and time.
[0019] Details of one or more embodiments are set forth in the accompanying drawings and the following description. Other features, objects, and advantages will be apparent from the description and drawings, as well as from the claims.
Brief Description of the Drawings
[0020]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 4A
Figure 4B
Figure 5
[0021] Like reference symbols in the various drawings indicate like elements.
[0022] To improve the uniformity of polishing or to bring the substrate closer to a target profile by polishing, polishing parameters can be controlled, for example, the pressures in different chambers within a carrier head, and thus the pressures on different zones of the substrate. A control algorithm has been proposed for determining the polishing rate in one zone based on a plurality of polishing parameters. For example, the polishing rate within a zone can be determined by both the pressure in the chamber directly above the zone and the pressure in the chamber over an adjacent zone. However, considering the contributions from multiple parameters, the control algorithm can only be accurate under certain specific constraints between the parameters. For example, the influence of the pressure in the chamber of an adjacent zone on the polishing rate of one zone can only be accurate when the pressure difference between zones is small, for example, less than 2 psi. Conventional controllers do not properly consider such general linear inequality constraints. On the other hand, if the constraints are ignored, the algorithm may select polishing parameter values that lead to unexpected results or may actually increase non-uniformity. However, if the parameters are simply clipped so that they are set to a maximum or minimum value only, the polishing will not proceed as calculated by the algorithm.
[0023] Another problem that may occur in the control of polishing parameters is under-damping or over-damping behavior. For example, in the case of under-damping, the control algorithm may set the polishing parameters to values that overcompensate for variations from the target value, resulting in the parameter values oscillating. On the other hand, in the case of over-damping, the control algorithm may set the polishing parameters to values that do not sufficiently compensate for variations from the target value, and as a result, the substrate may not actually reach the target value.
[0024] Either or both of these problems can be addressed by a control algorithm that performs constrained optimization of a general cost function that includes future parameter values and the calculation of an estimated polishing profile obtained from the future parameters. During the polishing process of the substrate, the processing parameters for each zone can be calculated in real time using an approach that includes various constraints on the control inputs (i.e., controllable polishing parameters such as the applied chamber pressure, the rotational speed of the platen or carrier head).
[0025] FIG. 1 shows an example of a polishing apparatus 20. The polishing apparatus 20 can include a rotatable disk-shaped platen 22 on which a polishing pad 30 is placed. The platen is operable to rotate about an axis 23. For example, a motor 24 can rotate a drive shaft 26 to rotate the platen 22. The polishing pad 30 can be removably fixed to the platen 22, for example, by an adhesive layer. The polishing pad 30 can be a two-layer polishing pad having an outer polishing layer 32 and a softer backing layer 34.
[0026] The polishing apparatus 20 can include a polishing liquid supply port 40 for dispensing a polishing liquid 42, such as a polishing slurry, onto the polishing pad 30. The polishing apparatus 20 can also include a polishing pad conditioning disk for polishing the polishing pad 30 to maintain the polishing pad 30 in a consistent polishing state.
[0027] The carrier head 50 is operable to hold the substrate 10 against the polishing pad 30. The carrier head 50 can include a plurality of independently controllable pressurizing chambers, such as three chambers 52a - 52c, that can apply independently controllable pressures to associated zones 148a - 148c (see FIG. 2) on the substrate 10.
[0028] Referring to FIG. 2, the central zone 148a can be substantially circular, and the remaining zones 148b - 148c can be concentric annular zones around the central zone 148a.
[0029] Returning to FIG. 1, the chambers 52a - 52c can be defined by a flexible membrane 54 having a bottom surface to which the substrate 10 is attached. The carrier head 50 can also include a retaining ring 56 for holding the substrate 10 under the flexible membrane 54. For simplicity of illustration, only three chambers are shown in FIG. 1, but there could be two chambers, or four or more chambers, such as five chambers. Additionally, other mechanisms for adjusting the pressure applied to the substrate, such as piezoelectric actuators, may be used within the carrier head 50.
[0030] Each carrier head 50 is suspended from a support structure 60, such as 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 the axis 51. Optionally, each carrier head 50 can vibrate laterally, for example, on a slider on a carousel, by movement along a track, or by rotational vibration of the carousel itself. During operation, the platen 22 rotates about its central axis 23, the carrier head 50 rotates about its central axis 51, and translates laterally across the upper surface of the polishing pad 30.
[0031] Although only one carrier head 50 is shown, more carrier heads may be provided for holding additional substrates so that the surface area of the polishing pad 30 can be used efficiently.
[0032] The polishing apparatus can also include an in-situ monitoring system 70 that can be used to determine whether the polishing rate should be adjusted or to determine an adjustment value for the polishing rate, as will be described below. The in-situ monitoring system 70 can include an optical monitoring system, such as a spectroscopic monitoring system, or an eddy current monitoring system.
[0033] In one embodiment, the monitoring system 70 is an optical monitoring system. Optical access through the polishing pad is provided by including an opening (i.e., a hole through the pad) or a solid window 71. The solid window 71 can be fixed to the polishing pad 30, for example, as a plug filling the opening of the polishing pad, and can be, for example, molded into the polishing pad or adhesively fixed to the polishing pad. In some embodiments, however, the solid window can be supported on the platen 22 and protrude into the opening of the polishing pad.
[0034] The optical monitoring system 70 can include a light source 68, a light detector 72, and a remote controller 90, such as a computer, and a circuit 66 for transmitting and receiving signals between the light source 68 and the light detector 72. One or more optical fibers can be used to transmit light from the light source 68 to the optical access within the polishing pad and to transmit the light reflected from the substrate 10 to the detector 72. For example, a branched optical fiber 74 can be used to transmit light from the light source 68 to the substrate 10 and back to the detector 72. The branched optical fiber 74 can include a trunk 76 disposed proximate to the optical access and two branches 78 and 80 respectively connected to the light source 68 and the detector 72.
[0035] In some embodiments, the upper surface of the platen can include a recess into which an optical head holding one end of the trunk of the branched fiber is fitted. The optical head can include a mechanism for adjusting the vertical distance between the upper portion of the trunk and the solid window.
[0036] The output of circuit 66 can be a digital electronic signal that is sent through a rotary coupler, such as a slip ring, in drive shaft 26 to a controller 90 for the optical monitoring system. Similarly, in response to a control command of a digital electronic signal sent from controller 90 through the rotary coupler to optical monitoring system 70, the light source can be turned on or off. Alternatively, circuit 66 can communicate with controller 90 by a wireless signal.
[0037] Light source 68 can be operable to emit white light. In one embodiment, the emitted white light includes light having a wavelength of 200 to 800 nanometers. Suitable light sources are xenon lamps or xenon mercury lamps.
[0038] Light detector 72 can be a spectrometer. A spectrometer is an optical instrument for measuring the intensity of light in a portion of the electromagnetic spectrum. A suitable spectrometer is a diffraction grating spectrometer. A typical output of the spectrometer is the intensity of light as a function of wavelength (or frequency).
[0039] As described above, light source 68 and light detector 72 can be connected to a computing device, such as controller 90, that is operable to control their operation and receive their signals. The computing device can include a microprocessor, such as a programmable computer, disposed near the polishing apparatus. With regard to control, the computing device can, for example, synchronize the operation of the light source with the rotation of platen 22.
[0040] In some embodiments, the light source 68 and the detector 72 of the in-situ monitoring system 70 are installed within the platen 22 and rotate with the platen 22. In this case, the movement of the platen causes the sensor to scan each substrate. Specifically, when the platen 22 is rotating, the controller 90 can cause the light source 68 to emit a series of flashes that start just before and end just after each substrate 10 passes over the light access. Alternatively, the computing device can cause the light source 68 to emit continuous light that starts just before and ends just after each substrate 10 passes over the light access. In either case, the signal from the detector can be used to change the control input at a high enough frequency, for example, every 2 to 20 seconds, to enable multiple adjustments throughout the polishing process.
[0041] During operation, the controller 90 can receive, for example, a signal carrying information that describes the spectrum of the light received by the photodetector for a particular flash of the light source or a time frame of the detector. Thus, this spectrum is the spectrum measured in-situ during polishing.
[0042] As shown in FIG. 3A, when the detector is installed within the platen, as the platen rotates (indicated by arrow 204), when the window 108 moves under one carrier head (e.g., the carrier head holding the substrate 10), an optical monitoring system that performs spectral measurements at a sampling frequency performs spectral measurements at positions 201 within an arc across the substrate 10. For example, each of points 201a - 201k represents a position of spectral measurement of the substrate 10 by the monitoring system (the number of points is illustrative, and more or fewer measurements can be made depending on the sampling frequency than shown). As shown, over one rotation of the platen, spectra are obtained from different radii on the substrate 10. That is, some spectra are obtained from positions closer to the center of the substrate 10, and some are obtained from positions closer to the edge. Thus, in a given scan of the optical monitoring system across the substrate 10, based on timing, motor encoder information, and optical detection of the edge of the substrate and / or the holding ring, the controller 90 can calculate the radial position (with respect to the center of the substrate 10) for each measured spectrum from the scan. The polishing system can also include a rotational position sensor, such as a flange attached to the edge of the platen, that passes through a stationary optical interrupter to provide additional data for determining the position on the substrate of the measured spectra. Thus, the controller 90 can associate the various measured spectra with zones 148a - 148c (see FIG. 2) on the substrate 10. In some embodiments, instead of an accurate calculation of the radial position, the measurement time of the spectrum can be used.
[0043] As an example, referring to FIG. 3B, in one rotation of the platen, spectra corresponding to different regions 203a - 203o are collected by the photodetector 72. Based on the radial positions of regions 203a - 203o, five spectra collected in regions 203a - 203b and 203m - 203o are associated with the outer zone 148c, five spectra collected in regions 203c - 203e and 203k - 203l are associated with the central zone 148b, and five spectra collected in regions 203f - 203j are associated with the inner zone 148a. This example shows that each zone is associated with the same number of spectra, but the zones may be associated with different numbers of spectra based on in - situ measurements. The number of spectra associated with each zone may vary with each rotation of the platen. The actual number of spectra associated with each zone depends at least on the sampling rate, the rotation speed of the platen, and the radial width of each zone, so the number of the above - mentioned regions is, of course, merely illustrative.
[0044] Without being limited to any particular theory, the spectrum of the light reflected from the substrate 10 changes as polishing progresses due to changes in the thickness of the outermost layer (e.g., not during a single sweep across the substrate, but over multiple rotations of the platen), and thus a sequence of spectra that changes over time is obtained. Further, a particular spectrum is indicated by a particular thickness of the layer stack.
[0045] For each measured spectrum, the controller 90 can calculate a characteristic value. The characteristic value is usually the thickness of the outermost layer, but may also be a related property such as the removed thickness. Further, the characteristic value may be a physical property other than thickness, such as the resistance of a metal wire. Further, the characteristic value may be a more general representation of the progress of the substrate during the polishing process, for example, an index value representing the time or the number of rotations of the platen at which a spectrum is expected to be observed during a polishing process following a predetermined progress.
[0046] One approach for calculating characteristic values is to identify a matching reference spectrum from a library of reference spectra for each measured spectrum. Each reference spectrum in the library can have a corresponding characteristic value, such as a thickness value, or an index value indicating the time or number of rotations of the platen rotation at which the reference spectrum is expected to occur. By determining the corresponding characteristic value of the matching reference spectrum, a characteristic value can be generated. This approach is described in U.S. Patent Publication No. 2010-0217430.
[0047] Another approach is to fit an optical model to the measured spectrum. Specifically, the parameters of the optical model are optimized so that the model best fits the measured spectrum. The parameter values generated for the measured spectrum generate the characteristic value. This approach is described in U.S. Patent Application No. 2013-0237128. Possible input parameters of the optical model can include the thickness, refractive index and / or extinction coefficient of each layer, the spacing and / or width of the repeating features on the substrate.
[0048] The calculation of the difference between the output spectrum and the measured spectrum can be the sum of the absolute values of the differences between the measured spectrum and the output spectrum across the entire spectrum, or the sum of the squares of the differences between the measured spectrum and the reference spectrum. Other approaches for calculating the difference are possible, for example, calculating the cross-correlation between the measured spectrum and the output spectrum.
[0049] Another approach is to analyze the characteristics of spectral features from the measured spectrum, such as the wavelength or width of the peaks or valleys of the measured spectrum. The wavelength or width values of the features from the measured spectrum provide the characteristic value. This approach is described in U.S. Patent Publication No. 2011-0256805.
[0050] Another approach is to perform a Fourier transform of the measured spectrum. One position of a peak from the transformed spectrum is measured. The value of the position generated for the measured spectrum generates a characteristic value. This approach is described in U.S. Patent Publication No. 2013-0280827.
[0051] Based on the spectra associated with each zone based on the spectra measured during one rotation of the platen (e.g., five in the example shown in FIG. 3B), a plurality of characteristic values can be derived. For the sake of simplicity in the following discussion, it is assumed that the characteristic value is a thickness value (simply referred to as "thickness" in the following discussion). However, this discussion also applies to other types of characteristic values that depend on thickness, such as an index value representing the time or number of rotations of the platen rotation at which the spectrum is expected to be observed. For example, when determining the polishing rate adjustment during the polishing process, other types of characteristic values can be used in a manner similar to or the same as the thickness discussed below. Similarly, the polishing rate does not have to be the rate of change of thickness, but can be the rate of change of the characteristic value.
[0052] For the purposes of this discussion, the thickness value directly derived from the results of in-situ measurement is referred to as the derived thickness. In the example of optical monitoring, each derived thickness corresponds to the measured spectrum. The name "derived thickness" does not give any meaning to such thicknesses. Instead, this name is chosen only to distinguish these thickness values from other types of thicknesses, such as thicknesses obtained from other sources, or thicknesses obtained from additional data processing described further below. For the same purpose, other names can also be chosen.
[0053] The plurality of derived thicknesses for a given zone may vary, for example, due to differences in the actual (or physical) thickness in different regions within the same zone, measurement errors, and / or data processing errors. In some embodiments, within an error tolerance, the so-called "measured thickness" of a zone at a given rotation of the platen can be calculated based on the plurality of derived thicknesses at that given rotation. The measured thickness of a zone at a given rotation may be the average or median value of the plurality of derived thicknesses at that given rotation. Alternatively, by fitting a function, such as a polynomial function, such as a linear function, to the plurality of derived thicknesses from multiple rotations and calculating the value of the function at a given rotation, the measured thickness of the zone at that given rotation can be generated. When fitting a function, the calculation can be performed using only the derived thicknesses since the most recent pressure / polish rate adjustment.
[0054] Regardless of the method used to calculate the measured "thickness", a sequence of measured thicknesses can be obtained over time for each zone of each substrate over multiple rotations of the platen. In some embodiments, which method to use to calculate the measured "thickness" can be selected by user input from an operator of the polishing apparatus via a graphical user interface, such as radio buttons.
[0055] In-situ measurement-based pressure control The controller 90 stores a desired thickness profile that is desired to be achieved at the end of the polishing process of the substrate (or at the end time when the polishing process stops). The desired thickness profile can have a uniform thickness for all zones on the substrate 10, or can have different thicknesses for different zones on the substrate 10. The desired thickness profile defines the relationship of the relative thicknesses of all zones of the substrate at the end time.
[0056] When the substrate is being polished, due to variations in the polishing rate between different zones of the substrate, different zones may reach the target thickness at different times. By controlling the polishing parameters according to an optimization algorithm, a desired thickness profile can be achieved. The processing parameters of one or more zones can be adjusted to facilitate the substrate in achieving closer end conditions. "Closer end conditions" means that the zones of the substrate will reach their target thicknesses at more nearly the same time than if such adjustments were not made, or that the zones of the substrate will be closer to their target thicknesses at the end time than if such adjustments were not made. During the polishing process, by optimizing, e.g., minimizing, a cost function, the polishing parameters that control the polishing within the zone (and thus the final thickness profile of the substrate) are calculated in real time. The optimization approach can include various constraints on the values of these polishing parameters. The optimization algorithm can use any suitable algorithm (e.g., interior point or active set approach) that can solve linear or non-linear convex optimization problems by structuring these constraints in the form of linear matrix equalities or inequalities.
[0057] By adjusting the pressure applied by the polishing head to the substrate zone, the polishing rate of the substrate zone can be adjusted to a desired polishing rate. Considering polishing parameter constraints such as the minimum and maximum pressure constraints of the carrier head, the pressure adjustment can be determined by the difference between the desired polishing rate and the current polishing rate. In some embodiments, the calculation of the pressure adjustment for one zone takes into account the influence of the pressure of other zones on the polishing rate of that one zone, including overlapping zones, for example using a Preston matrix. During the polishing process, the measured thickness and measured polishing rate of multiple zones can be determined in situ based on the in situ measurement of the completed rotations for each rotation of the platen. The relationship between the measured thicknesses can be compared to the relative thickness relationship, and the actual polishing rate can be adjusted such that the actual (or physical) thickness in future rotations becomes closer to the relative thickness relationship. Similar to the actual thickness and the measured / derived thickness, the actual polishing rate is represented by the measured polishing rate. In one example, as further described below, the actual polishing rate of a particular zone can be changed by changing the pressure in the corresponding chamber, and the amount of pressure change can be derived from the amount of polishing rate to be changed.
[0058] In some embodiments, one zone of the substrate is selected to be the so-called reference zone. The reference zone can be selected to be the zone that provides the most reliable in-situ thickness measurement values and / or the zone where the most reliable control for polishing is performed. For example, the reference zone can be the zone where the most spectra are collected from each rotation of the platen. The reference zone can be selected by a controller or a computer based on in-situ measurement data. The measured thickness of the reference zone can be regarded as representing the actual thickness of the reference zone with relatively high accuracy. Such a measured thickness provides a reference thickness point for all other zones (which can be called control zones) within the substrate. For example, based on the measured thickness of the reference zone at a given rotation of the platen, the desired thickness of the control zone at that given rotation of the platen can be determined based on their relative thickness relationship to the reference zone.
[0059] In some embodiments, the controller and / or the computer can schedule an adjustment of the polishing rate of the control zone. For example, the adjustment can be scheduled to occur at a predetermined frequency, such as for each given number of rotations, for example, every 5 - 50 rotations, or for each given number of seconds, for example, every 3 - 30 seconds. In some ideal situations, the adjustment can be zero at the pre-scheduled adjustment times. In other embodiments, the adjustment can be made at a frequency determined in-situ. For example, if the measured thicknesses of different zones are significantly different from the desired thickness relationship, the controller and / or the computer may decide to adjust the polishing rate more frequently.
[0060] Referring to FIG. 4A, the derived thicknesses of the reference zone and the control zone (i.e., the thicknesses derived from in-situ measurements such as optical spectra) are plotted to facilitate visualization of the process for adjusting the chamber pressure and polishing rate of the control zone. The chamber pressure and polishing rate of other control zones can be executed in the same manner. A controller and / or computer for processing data may or may not create or display the plot shown in FIG. 4A.
[0061] Specifically, along the time axis (horizontal axis), two predetermined pressure update times t 0 and t 1 are marked. The time axis can also be mapped to the number of rotations completed by the platen. The current point in time of the polishing process shown in the plot is t 1 , at which point the platen has completed k + n rotations, of which (n + 1) are completed between two pressure update times t 0 (excluding) and t 1 (including). In the example shown in the plot, n is 9, and a total of 10 rotations are completed during the period t 1 ~t 0 . Of course, n may be a value other than 9, such as 5 or a larger value, depending on the frequency of adjustment and the rotational speed of the platen.
[0062] During the period from t 1 to t 2 (shown in FIG. 4B), the chamber pressure adjustment and polishing rate adjustment of the control zone are determined such that the control zone is polished at an adjusted polishing rate (the slope of function 412). Before the pressure update time t 0 , zero, one, or more chamber pressure / polishing rate updates may already have been performed on the control zone in the same manner as the adjustment determined at t 1 . Similarly, after the pressure update time t 1 , zero, one, or more additional pressure updates may be performed, for example, at times t 2 ,···t N , also at t1 It may be performed until the end time of the polishing process (shown in FIG. 4B) in a manner similar to the adjustment determined and performed in
[0063] period t 0 ~t 1 The derived thicknesses of the control zone and the reference zone during the n + 1 rotations of the platen in 1 are used for the measured thickness at each rotation, the measured polishing rate at each rotation, the desired polishing rate after t 2 ~t 1 the amount of adjustment to be made to the polishing rate of the control zone in, and thus for determining the chamber pressure adjustment amount. For each rotation k,..., k + n, the derived thicknesses of the control zone and the reference zone are represented by circles and squares on the plot, respectively. For example, at rotation k, four derived thicknesses are plotted for each of the control zone and the reference zone, at rotation k + 1, four derived thicknesses are plotted for the control zone, and three derived thicknesses are plotted for the reference zone, and so on.
[0064] Measured thickness and polishing rate As briefly described above, for each zone, the measured thickness at each rotation can be determined as the average or median of all the derived thicknesses at that rotation, or can be a fitted value. The measured polishing rate of each zone can be determined at each rotation using a function that fits to the derived thickness of each zone.
[0065] In some embodiments, a polynomial function of a known degree, such as a linear function, from period t 0 to t 1It can be fitted to all the derived thicknesses of each zone among them. For example, robust line fitting can be used to perform the fitting. In some embodiments, the function is fitted to all the less derived thicknesses. For example, the function can be fitted to the median value from each rotation. When least squares calculation is used for the fitting, this is called "least squares median fitting".
[0066] Function F for the control zone or the reference zone control (time) or F ref Based on the fitted function that can be represented as F TIFF0007686015000002.tif13170 and It can be calculated as TIFF0007686015000003.tif14170.
[0067] Optionally, the measured thickness can be calculated based on the fitted function. For example, the measured thickness of the (k + i)-th rotation is F of the control zone or the reference zone control (t = the (k + i)-th rotation of the platen) or F ref (t = the (k + i)-th rotation of the platen). However, although the measured polishing rate is determined based on the fitted function, the measured thickness does not have to be determined based on the fitted function. Instead, as described above, it can be determined as the average value or the median value of the derived thicknesses at the corresponding rotations of the platen.
[0068] In the example shown in FIG. 4A, linear functions, namely lines 400 and 402, are fitted to each set of thickness data for each zone. The slopes of lines 400 and 402 are the constant polishing rates r of the control zone and the reference zone, respectively, in the period t 0 ~t 1 respectively.control and r ref are represented. The thickness values of the two lines 400, 402 at each time point corresponding to k rotations, ···, or k + n rotations of the platen represent the measured thickness of each zone in the corresponding rotation. As an example, the measured thicknesses of the control zone and the reference zone in the k + n rotation of the platen are highlighted by the enlarged circle 404 and the enlarged square 406, respectively. Alternatively, the measured thicknesses in n + 1 rotations can be calculated independently of the lines 400, 402, for example, as the average value or the median value of the derived thicknesses of each rotation.
[0069] Generally, at time t 0 and t 1 any suitable fitting mechanism can be used to determine the measured thickness and the measured polishing rate in a plurality of rotations between. In some embodiments, the fitting mechanism is selected based on the noise in the derived thickness, which may be due to noise in the measurement, noise in the data processing, and / or noise in the operation of the polishing apparatus. As an example, if the derived thickness contains relatively large noise, least squares fitting can be selected to determine the measured polishing rate and / or the measured thickness, and if the derived thickness contains relatively small noise, polynomial fitting can be selected.
[0070] In subsequent periods, for example, t 1 ~t 2 t 2 ~t 3 etc., the derived thicknesses of the control zone and the reference zone can be calculated using the thickness values accumulated during that period, optionally in combination with the thickness values of one or more preceding periods.
[0071] In some embodiments, the method for calculating the measured "polishing rate" can be selected by user input from the operator of the polishing apparatus via a graphical user interface, such as radio buttons.
[0072] Desired polishing rate based on the measured thickness and the measured polishing rate Based on the measured thickness and the measured polishing rate of each zone, including changes in control inputs, t 1 ~t n The predicted thickness for the period of can be determined. Exemplary process 500 is shown in FIG. 5 in connection with the exemplary data shown in FIGS. 4A-4B. The controller receives state information of the substrate (e.g., the thickness and polishing rate of each zone). The controller can also store a recipe that sets the desired polishing profile, as well as the desired polishing parameters (e.g., the desired pressure for each zone).
[0073] The controller and / or computer receives (502) a sequence of characteristic values (e.g., thickness) of each region on the substrate from the in-situ monitoring system. The predicted end time or the predicted thickness at the predicted end time can be calculated from the sequence of characteristic values. The predicted end time can be a preset time, or can be calculated by determining when a linear function (shown by line 402) fitted to the data of the reference zone equals the target thickness. The predicted thickness of one or more zones, e.g., the control zone, can be determined by extending the fitted thickness function 402 to the end point. In the example shown in FIG. 4B, line 400 is extended with a constant slope to the end time, and the predicted thickness of the control zone is determined as the vertical value of that curve at that time.
[0074] The controller calculates an adjustment of at least one process parameter (506) to achieve closer end conditions. Specifically, at least one polishing parameter can be adjusted so that the control zone reaches the target thickness at the same time as the reference zone. Calculating an adjustment of at least one process parameter includes minimizing a cost function that incorporates inputs from each region.
[0075] In some conventional control algorithms, the desired polishing rate for the control zone is calculated under the assumption that the polishing rate is not subsequently adjusted. For example, in FIG. 4B, the slope of the dashed line 410 represents the calculated desired polishing rate r of the control zone for bringing the control zone to the target thickness at the expected end point. res represents it.
[0076] In contrast, when seeking the current adjustment of the polishing parameters, this approach calculates all of the expected future polishing parameter changes under the cost function. This takes into account the expected polishing rate at each pressure update time and future changes to the polishing parameters. For example, in FIG. 4B, the dotted line 412 represents the prediction of the characteristic value over time considering the expected future adjustment to the polishing parameters. This approach can more consistently achieve the target polishing profile while avoiding problems such as rapid pressure changes and pressure imbalances within the carrier head chamber.
[0077] The processing parameter to be adjusted is typically the pressure within the chamber of the carrier head, but this approach can also be applied to other parameters such as the platen rotation speed and the carrier head rotation speed.
[0078] The variables of the cost function can include the difference between the current characteristic value and the target characteristic value for each region (or, more generally, the difference between the current polishing profile and the target polishing profile), the difference between the expected characteristic value at the end of polishing and the target characteristic value for each region, the magnitude of the change in the polishing parameters over time for one or more regions (e.g., the magnitude of multiple pressure changes over time), the polishing rate in each zone, and / or the multiple differences between the predicted future polishing parameters (e.g., pressure) over time for one or more regions and the baseline recipe of the polishing parameters (e.g., pressure) over time.
[0079] Use a Preston matrix, i.e., a matrix representing the Preston relationship between the applied pressure and the polishing rate, to convert the normalized pressure change into a normalized rate change. The units can be changed by multiplying the Preston matrix by the nominal polishing rate. The inverse Preston matrix can be used to back-calculate the pressure change from the rate change.
[0080] The controller can further receive user-specified constraints during optimization. For example, the user can specify the maximum allowable pressure change or the minimum and maximum absolute pressures. If the current zone pressure is represented by p and the change in the applied pressure is represented by u, the constraints can be expressed as follows. TIFF0007686015000004.tif39170
[0081] Furthermore, the retainer ring (RR) pressure is calculated to function as the RR ratio specified by the user or the reference pressure to maintain the output pressure. In some embodiments, the calculated RR pressure is applied after a 500 ms delay. For example, when the RR pressure is high (or the membrane pressure when the RR is low), if the RR ratio constraint is not satisfied, the pressure change adjustment is not applied by the controller.
[0082] However, to achieve some objectives, adjustments to the process parameters are made. The objectives can include reaching the target thickness of each zone at the expected end point, applying small pressure changes without deviating significantly from the baseline pressure, reducing the pressure deviation from a preset pressure recipe, and reducing the pressure deviation from the average pressure across the entire carrier head, among one or more of these.
[0083] The objectives can be achieved by defining a cost function that includes terms for each objective. The cost function is defined with respect to the control input (u), e.g., the calculated polishing parameters, and the state (x). Examples of matrices for the control input (u) and the state (x) are shown below.
[0084] As an example, the cost function includes, for each region, a term having the difference between the current feature value and the target feature value of that region. This can represent the objective of reaching the target thickness of each zone at the expected end point.
[0085] As another example, the cost function includes, for each region, a term having a plurality of predicted future pressure changes over time of that region. This can represent the objective of applying small pressure changes without deviating significantly from the baseline pressure.
[0086] As another example, the cost function includes, for each region, a term having a plurality of differences between the predicted future pressure over time of that region and the baseline pressure. This can represent the objective of reducing the deviation of the pressure from a preset pressure recipe.
[0087] As another example, the cost function can include, for each region, a term having the difference between the pressure of that region and the average pressure within the carrier head. This can represent the objective of reducing the deviation of the pressure from the average pressure across the entire carrier head.
[0088] In some embodiments, the control input column vector (u) includes N pressure changes corresponding to zones Z 1 ,..., Z N and the state column vector (x) includes the difference between the current thickness and the target thickness of each zone (e.g., Z 1 thickness - Z 1 target thickness), the polishing rate of each zone, and the difference between the current pressure of the zone and the baseline pressure, e.g., the pressure of the recipe (e.g., Z 1 pressure - Z 1 baseline pressure). TIFF0007686015000005.tif79170
[0089] One or more terms within the state can be defined as offsets in order for each zone to reach the target when the cost function is minimized. For example, in order for the zone to reach the target thickness, the cost function is a function of the square of each difference between the current eigenvalue and the target eigenvalue in that region. For example, in order for the zone to reach the target pressure, the cost function is a function of the square of each predicted future pressure change and the square of each difference between the predicted future pressure and the baseline pressure.
[0090] Furthermore, the cost function can be weighted differently for various purposes.
[0091] For example, the cost function can include a first constant for each region. The cost function can include a function that multiplies the square of the difference between the current eigenvalue and the target eigenvalue in that region by the first constant.
[0092] In another example, the cost function includes a second constant for each region, and the cost function is a function that multiplies the square of each predicted future pressure change by the second constant.
[0093] In a third example, the cost function includes quadratic functions of various rates, and the quadratic functions are defined such that the deviation of each zone's rate from the average rate of all zones results in an increase in the cost function.
[0094] The following matrix Q f represents a weighting approach for parameters that may be important within the state at the end of polishing. The excluded parameters are represented by 0 within the matrix. The term obtained from the weighted inner product with Q f is presented in the equation for the variable J f that sums the terms, and the resulting sum corresponds to the square of the deviation from the target thickness of each zone. TIFF0007686015000006.tif132170
[0095] Changes in the control input that can avoid under-damping or over-damping behavior are represented by the following total cost function. TIFF0007686015000007.tif25170 The constraints on the state change are represented by the same equations that define the Kalman filter. Therefore, the state x(τ) changes under the following constraints. TIFF0007686015000008.tif10170 Here, A and B are matrices with constant values or values that change with a predetermined time.
[0096] The controller calculates the value of u(τ) that minimizes the above total cost function. The cost function can be optimized by a linear quadratic regulator (LQR) in combination with the linear form of the state described above. The LQR is a feedback controller that enables the operation of the dynamic system at the minimum cost.
[0097] Q and R can be determined based on the desired aggressiveness of the controller. Generally, the larger the value of R, the less aggressive the control, and the larger the value of Q, the more aggressive the control generally corresponds to.
[0098] The above cost function also sets the value of Q based on a part of the amount of removal speed. For example, the term including the value of Q remains relatively large to prevent the stage cost from becoming dominant. f of. For example, the term including the value of Q f remains relatively large to prevent the stage cost from becoming dominant.
[0099] Also, the cost function can comply with the constraints between zones or the constraints on the average pressure by incorporating them in the same way as above for each zone.
[0100] In this specification, the term substrate can include, for example, a product substrate (e.g., including a plurality of memories or processor dies), a test substrate, a bare substrate, and a gate substrate. The substrate may be at various stages of integrated circuit manufacturing. For example, the substrate may be a bare wafer or may include one or more deposited and / or patterned layers. The term substrate can include circular disks and rectangular sheets.
[0101] The above polishing apparatus and method can be applied to various polishing systems. Either or both of the polishing pad or the carrier head can be moved to provide relative movement between the polishing surface and the substrate. For example, the platen may move in an orbital motion rather than rotate. The polishing pad can be a circular (or other shape) pad fixed to the platen. Some aspects of this endpoint detection system may be applicable to a linear polishing system (e.g., where the polishing pad is a continuously moving belt or a reel-to-reel belt that 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 material. Terms of relative position are used. It should be understood that the polishing surface and the substrate may be held in a perpendicular orientation or in other orientations.
[0102] In the above description, the focus was on the control of a chemical mechanical polishing system, but the techniques for determining adjustments to process parameters may also be applicable to other types of substrate processing systems, such as etching systems or deposition systems.
[0103] Embodiments of the subject matter and the functional operations described in this specification, such as filtering processes, can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible, non-transitory storage medium for execution by, or to control the operation of, a data processing apparatus. Alternatively or additionally, the program instructions can be encoded on an artificially generated propagated signal (e.g., an electrical, optical, or electromagnetic signal generated by a computer) that is generated to encode information for transmission to a suitable receiver device for execution by a data processing apparatus. The computer storage medium can be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
[0104] The term "data processing apparatus" refers to data processing hardware and encompasses any kind of apparatus, device, machine for processing data, including by way of example a programmable digital processor, a digital computer, or multiple digital processors or computers. The apparatus can be, or further include, a special purpose logic circuit, such as, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The apparatus can optionally include code that creates an execution environment for computer programs, such as, for example, processor firmware, protocol stack, database management system, operating system, or a combination of one or more of them.
[0105] A computer program may also be referred to as a program, software, software application, module, software module, script, or code, and can be written in any form of programming language, including compiler-type languages or interpreter-type languages, or declarative languages or procedural languages. It can be arranged in any form, such as as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may or may not correspond to a file in a file system. The program can be stored as part of a file that holds other programs and data, such as one or more scripts stored in a markup language document, a single file dedicated to the program, or multiple related files, such as files that hold one or more modules, subprograms, or portions of code. A computer program can be arranged to be executed on one computer or at one site, or distributed across multiple sites and executed on multiple computers interconnected by a data communication network.
[0106] The processes and logical flows described herein can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data to generate output. The processes and logical flows can also be performed by dedicated logic circuitry, such as, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit), and the apparatus can also be implemented as dedicated logic circuitry. A system of one or more computers being “configured” to perform particular tasks or actions means that software, firmware, hardware, or combinations thereof that cause the system to perform the tasks or actions are installed on the system at runtime. One or more computer programs being configured to perform particular tasks or actions means that the one or more programs include instructions that, when executed by a data processing apparatus, cause the apparatus to perform the tasks or actions.
[0107] A computer suitable for executing a computer program includes a general-purpose microprocessor or a dedicated microprocessor or both, or other types of central processing units, and can be based on them, for example. Generally, the central processing unit receives instructions and data from read-only memory or random access memory, or both. The essential elements of a computer are a central processing unit for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer further includes one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or is operably connected to receive data from them, or transmit data to them, or both. However, a computer need not be equipped with such devices. Further, a computer may be incorporated into other devices, such as mobile phones, PDAs (Personal Digital Assistants), portable audio or video players, game machines, GPS (Global Positioning System) receivers, or portable storage devices, such as USB (Universal Serial Bus) flash drives, etc.
[0108] Computer-readable media suitable for storing computer program instructions and data include, by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks, including all forms of non-volatile memory, media, and memory devices. The processor and memory may be assisted by, or incorporated into, dedicated logic circuitry.
[0109] The various systems and processes described herein, or control of some of them, may be implemented by a computer program product stored on one or more non-transitory computer-readable storage media and including instructions executable by one or more processing devices. The systems described herein, or some of them, may be implemented as an apparatus, method, or electronic system that can include one or more processing devices and a memory storing executable instructions for performing the operations described herein.
[0110] Although this specification contains many details of specific embodiments, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of a particular invention. The specific features described herein in the context of separate embodiments may also be implemented in combination within a single embodiment. Conversely, the various features described herein in the context of a single embodiment may also be implemented separately, or in any suitable sub-combination, in multiple embodiments. Further, features may be described above as acting in certain combinations and even initially claimed as such, but one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
[0111] Similarly, although the steps are depicted in the drawings in a particular order, this should not be construed as requiring that such steps be performed in the particular order shown, or sequentially, or that all of the steps shown be performed, to obtain a desirable result. In certain circumstances, multitasking and parallel processing may be advantageous. Further, the separation of the various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated into a single software product or packaged into multiple software products.
[0112] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the acts recited in the claims may be performed in a different order and still achieve desirable results. As one example, the processes shown in the accompanying figures do not necessarily require the particular order or sequential order shown to achieve desirable results. Multitasking and parallel processing may be advantageous.
[0113] Other embodiments are within the scope of the following claims.
Claims
1. A computer program product for controlling a polishing system, wherein the computer program product is on a non-transitory computer-readable medium, and the computer program product causes one or more computers to receive, from an in-situ monitoring system, a sequence of characteristic values of each of a plurality of regions on a substrate being processed by the polishing system; determine a polishing rate of each region; calculate an adjustment of at least one processing parameter, the calculation of the adjustment comprising, for each region, i) a difference between a current characteristic value of the region or a predicted characteristic value at a predicted end time and a target characteristic value, and ii) a plurality of predicted future pressure changes over time of the region, calculating the adjustment including minimizing a cost function that includes the above; A computer program product comprising instructions for causing the above to be performed.
2. The computer program product according to claim 1, wherein the cost function for each region includes the plurality of predicted future pressure changes over time of the region and the plurality of differences between the predicted future pressure of the region over time and a baseline pressure.
3. The computer program product according to claim 2, wherein the cost function is a function of the square of each difference between the predicted characteristic value at the end of polishing of the region and the target characteristic value, the square of each predicted future pressure change, the square of each difference between the predicted future pressure and the baseline pressure, and a weighted vector norm of the predicted future polishing rate.
4. The computer program product according to claim 3, wherein the cost function includes a first constant for each region, and the cost function is a function of multiplying the first constant by the square of the difference between the predicted characteristic value and the target characteristic value of the region.
5. The computer program product according to claim 4, wherein the cost function includes a second constant for each region, and the cost function is a function of multiplying the second constant by the square of each predicted future pressure change.
6. The computer program product according to claim 4, wherein the cost function is subject to constraints on state changes.
7. The computer program product according to claim 4, wherein the cost function is optimized by linear quadratic regulation. Claim 8 A method for controlling a polishing system, comprising: receiving, from an in-situ monitoring system, a sequence of characteristic values of each of a plurality of regions on a substrate being processed; determining, for each region, a polishing rate of the region; calculating an adjustment of at least one processing parameter, wherein the calculation of the adjustment comprises, for each region: i) the difference between the current characteristic value of the region or the predicted characteristic value at a predicted end time and a target characteristic value; and ii) a plurality of predicted future pressure changes over time in the region; calculating the adjustment by minimizing a cost function including the above; A method comprising the above. Claim 9 A platen for supporting a polishing pad; A carrier head for holding a substrate in contact with the polishing pad; A motor for generating relative movement between the carrier head and the polishing pad; An in-situ monitoring system for generating a sequence of characteristic values of each of a plurality of regions on the substrate being polished; A controller, comprising: receiving, for each region, the sequence of characteristic values; determining, for each region, a polishing rate of the region; calculating an adjustment of at least one processing parameter, wherein the calculation of the adjustment comprises, for each region: i) the difference between the current characteristic value of the region or the predicted characteristic value at a predicted end time and a target characteristic value; and ii) a plurality of predicted future pressure changes over time in the region; calculating the adjustment by minimizing a cost function including the above; A controller configured to perform the above; A polishing system comprising the above. Claim 10 A computer program product for controlling a semiconductor processing system, the computer program product being on a non-transitory computer-readable medium, the computer program product causing one or more computers to: receive, for each of a plurality of regions on a substrate being processed, a sequence of characteristic values of the region from an in-situ monitoring system; determine, for each region, a rate of change of the characteristic value of the region; calculate an adjustment of at least one processing parameter, wherein the calculation of the adjustment comprises, for each region: i) the difference between the current characteristic value of the region or the predicted characteristic value at a predicted end time and a target characteristic value; and ii) a plurality of predicted future changes of the processing parameters over time of the area, calculating an adjustment including minimizing a cost function including, A computer program product comprising instructions for causing the operation. **Claim 11** A computer program product for controlling a polishing system, the computer program product being on a non-transitory computer-readable medium, the computer program product causing one or more computers to for each area of a plurality of areas on a substrate being processed by the polishing system, receiving from an in-situ monitoring system a sequence of characteristic values of the area; for each area, determining a polishing rate of the area; calculating an adjustment of at least one processing parameter, the calculation of the adjustment including minimizing a cost function including a difference between a current characteristic value of the area or a predicted characteristic value at a predicted end time and a target characteristic value for each area, the calculation of the adjustment including predicted future changes to the processing parameters, and the optimization of the cost function including calculating an adjustment subject to at least one constraint; A computer program product comprising instructions for causing the operation. **Claim 12** The computer program product according to claim 11, wherein the optimization of the cost function is subject to at least one inter-zone constraint. **Claim 13** The computer program product according to claim 12, wherein the inter-zone constraint includes a maximum difference in processing parameters between zones. **Claim 14** The computer program product according to claim 13, wherein the inter-zone constraint includes a maximum difference in processing parameters between adjacent zones. **Claim 15** The computer program product according to claim 11, wherein the optimization of the cost function is subject to a parameter constraint. **Claim 16** The computer program product according to claim 15, wherein the parameter constraint includes a maximum or minimum parameter value. **Claim 17** The computer program product according to claim 11, wherein one or more of the constraints include linear inequality constraints. **Claim 18** a platen for supporting a polishing pad; a carrier head for contacting and holding a substrate against the polishing pad; a motor for generating relative movement between the carrier head and the polishing pad; For each of a plurality of regions on the polished substrate, an in-situ monitoring system for generating a sequence of characteristic values of the region; A controller, For each of a plurality of regions on the substrate, receiving the sequence of characteristic values of the region from the in-situ monitoring system; For each region, determining a polishing rate of the region; Calculating an adjustment of at least one process parameter, the calculation of the adjustment including minimizing a cost function including a difference between a current characteristic value of the region or an expected characteristic value at an expected end time of the region and a target characteristic value for each region, the calculation of the adjustment including expected future changes to the process parameter, and the optimization of the cost function including calculating the adjustment subject to at least one constraint; A controller configured to perform; A polishing system comprising.
19. A method for controlling a polishing system, comprising: For each of a plurality of regions on a substrate being processed by the polishing system, receiving a sequence of characteristic values of the region from an in-situ monitoring system; For each region, determining a polishing rate of the region; Calculating an adjustment of at least one process parameter, the calculation of the adjustment including minimizing a cost function including a difference between a current characteristic value of the region or an expected characteristic value at an expected end time of the region and a target characteristic value for each region, the calculation of the adjustment including expected future changes to the process parameter, and the optimization of the cost function including calculating the adjustment subject to at least one constraint; A method including.
20. A computer program product for controlling a semiconductor processing system, the computer program product being on a non-transitory computer-readable medium, the computer program product causing one or more computers to For each of a plurality of regions on a substrate being processed by the processing system, receive a sequence of characteristic values of the region from an in-situ monitoring system; For each region, determine a rate of change of the characteristic value of the region; Calculating an adjustment of at least one processing parameter, wherein calculating the adjustment includes, for each region, minimizing a cost function that includes a difference between a current characteristic value of the region or a predicted characteristic value at a predicted end time and a target characteristic value, calculating the adjustment includes including a predicted future change to the processing parameter, and optimizing the cost function is subject to at least one constraint, calculating the adjustment; A computer program product comprising instructions for causing the same. **Claim 21** A computer program product for controlling a polishing system, the computer program product being on a non-transitory computer-readable medium, the computer program product causing one or more computers to Receive, from an in-situ monitoring system, a sequence of characteristic values of each of a plurality of regions on a substrate being processed by the polishing system; Determine, for each region, a polishing rate of the region; Calculating an adjustment of at least one processing parameter for each of a plurality of parameter update times, wherein calculating the adjustment for a particular parameter update time among the plurality of parameter update times includes calculating a predicted future parameter change for one or more future parameter update times following the particular parameter update time under a cost function, calculating the adjustment; A computer program product comprising instructions for causing the same. **Claim 22** The computer program product according to claim 21, comprising instructions for causing the plurality of parameter update times to occur at regular intervals. **Claim 23** The computer program product according to claim 21, comprising instructions for causing the plurality of parameter update times to occur every 3 to 30 seconds. **Claim 24** The computer program product according to claim 21, wherein calculating the adjustment for a given parameter update time before the second-to-last update time includes calculating a predicted future parameter change for at least two future parameter update times following the given parameter update time. **Claim 25** The instructions for calculating the adjustment for the specific parameter update time include instructions for calculating the expected future parameter changes for each of the future parameter update times following the specific parameter update time, the computer program product according to claim 21.
26. The instructions for calculating the adjustment include instructions for minimizing a cost function that includes a first term for each region, the first term including the difference between the current characteristic value of the region or the expected characteristic value at the expected end time and the target characteristic value, the computer program product according to claim 21.
27. The cost function includes a second term that includes future parameter changes, the computer program product according to claim 26.
28. A platen for supporting a polishing pad, A carrier head for holding a substrate in contact with the polishing pad, A motor for generating relative movement between the carrier head and the polishing pad, An in-situ monitoring system for generating a sequence of characteristic values of each of a plurality of regions on the substrate being polished, A controller, Receiving, for each of the plurality of regions, a sequence of characteristic values of the region from the in-situ monitoring system, Determining, for each region, the polishing rate of the region, Calculating an adjustment of at least one processing parameter for each of a plurality of parameter update times, wherein calculating the adjustment for a specific parameter update time among the plurality of parameter update times includes calculating the expected future parameter changes for one or more future parameter update times following the specific parameter update time under a cost function, A controller configured to perform, A polishing system comprising.
29. A method for controlling a polishing system, Receiving, for each of a plurality of regions on a substrate being processed by the polishing system, a sequence of characteristic values of the region from an in-situ monitoring system, Determining, for each region, the polishing rate of the region, For each of a plurality of parameter update times, calculating an adjustment to at least one processing parameter, wherein calculating the adjustment for a particular parameter update time among the plurality of parameter update times includes calculating a future parameter change expected for one or more future parameter update times following the particular parameter update time under a cost function, and calculating the adjustment; A method comprising.
30. A computer program product for controlling a semiconductor processing system, the computer program product being on a non-transitory computer-readable medium, the computer program product causing one or more computers to receive, from an in-situ monitoring system, a sequence of characteristic values of each of a plurality of regions on a substrate being processed by the processing system; for each region, determining a rate of change of the characteristic value of the region; for each of a plurality of parameter update times, calculating an adjustment to at least one processing parameter, wherein calculating the adjustment for a particular parameter update time among the plurality of parameter update times includes calculating a future parameter change expected for one or more future parameter update times following the particular parameter update time under a cost function, and calculating the adjustment; A computer program product comprising instructions for causing the same.
Citation Information
Patent Citations
Polishing device and polishing method
JP2008503356A
Polishing device and polishing method
JP2015168015A
Limited adjustment of polishing rate during substrate polishing
JP2016538728A
Substrate processing apparatus
JP2019102518A
Chemical-mechanical planarization controller
US20060106479A1