The disclosure relates to chemical mechanical polishing, and more specifically to controlling platen shape in conjunction with carrier head sweep in chemical mechanical polishing.
An integrated circuit is typically formed on a substrate by the sequential deposition of conductive, semiconductive, or insulative layers on a silicon wafer. One fabrication step involves depositing a filler layer over a non-planar surface and planarizing the filler layer. For certain applications, the filler layer is planarized until the top surface of a patterned layer is exposed. A conductive filler layer, for example, can be deposited on a patterned insulative layer to fill the trenches or holes in the insulative layer. After planarization, the portions of the metallic layer remaining between the raised pattern of the insulative layer form vias, plugs, and lines that provide conductive paths between thin film circuits on the substrate. For other applications, such as oxide polishing, the filler layer is planarized, e.g., by polishing for a predetermined time period, to leave a portion of the filler layer over the nonplanar surface. In addition, planarization of the substrate surface is usually required for photolithography.
One problem in CMP is variations in the material removal rate, and subsequent thickness profile, of the substrate. Variations in the slurry distribution, polishing pad condition, the relative speed between the polishing pad and the substrate, and the inconsistent load on the substrate from the pressurized chambers of the carrier head can cause variations in the material removal rate. These variations, as well as variations in the initial thickness of the substrate layer, cause variations final substrate layer thickness, particularly near the edge of the substrate.
In one aspect, a chemical mechanical polishing apparatus has a platen to support a polishing pad. The platen has a central section with an upper surface and an annular flexure surrounding or surrounded by the central section and having a top surface with a first edge adjacent to and coplanar with the upper surface and a second edge farther from the central section. An actuator is arranged to bend the annular flexure so as to modify a vertical position of the second edge of the annular flexure relative to the central section. A carrier head holds a surface of a substrate against the polishing pad. A motor generates relative motion between the platen and the carrier head so as to polish an overlying layer on the substrate. A controller is configured to select values for a plurality of control parameters to minimize a difference between a target removal profile and an expected removal profile, the plurality of control parameters including a first parameter representing a degree of deflection for the flexure. A relationship between the plurality of control parameters and a removal rate is stored in a data structure representing a first matrix which includes a plurality of columns including a column for the degree of deflection of the flexure and a row for each position on the substrate represented in the expected removal profile, and the controller is configured to, as part of selection of the values, calculate the expected removal profile by multiplying the first matrix by a second matrix representing control parameter values.
In another aspect, a chemical mechanical polishing apparatus has a platen to support a polishing pad, a carrier head to hold a surface of a substrate against the polishing pad, a motor to control a lateral position of the carrier head on the polishing pad, and a controller. The controller is configured to cause the motor to sweep the carrier head across the polishing pad in accord with a sweep profile. The controller is also configured to select values for a plurality of control parameters to minimize a difference between a target removal profile and an expected removal profile, the plurality of control parameters including a plurality of dwell time parameters with each respective dwell time parameter of the plurality of dwell time parameters representing an amount of time for the carrier head to spend over a different respective zone on the polishing pad. A relationship between the plurality of control parameters and a removal rate is stored in a data structure representing a first matrix which includes a plurality of columns including a column for each dwell time parameter and a row for each position on the substrate represented in the expected removal profile, and the controller is configured to, as part of selection of the values, calculate the expected removal profile by multiplying the first matrix by a second matrix representing control parameter values.
Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following technical advantages.
Radially-specific thickness profile correction can be performed, and within-wafer non-uniformity and wafer-to-wafer non-uniformity can be reduced. Material removal can compensate for thickness profile non-uniformities in edge regions induced following a main polishing step or to correct incoming substrate film thickness profiles before undergoing primary polishing. The amount of flex (e.g., displacement from a planar configuration) by the annular flexures results in a modification of pressure applied to the substrate surface rather than through the substrate backside, increasing the polishing location specificity during location-specific polishing.
The substrate dwell time as a function of radial position can be an additional adjustable parameter, which permits greater flexibility in selection of values for other parameters, e.g., carrier head pressures and displacement of the platen edge. The “Preston matrix” that is used for calculation of carrier head pressures can be modified to include a relationship between the amount of flex (e.g., displacement from a planar configuration) and the polishing profile.
Similarly, the Preston matrix that can include a relationship between the dwell times for different radial positions and the polishing profile. This permits an optimization algorithm to be performed to select the amount of flex and/or dwell times to provide a desired polishing profile.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other aspects, features and advantages will be apparent from the description and drawings, and from the claims.
In the figures, like references indicate like elements.
In some chemical mechanical polishing operations, a portion of a substrate can be under-polished or over-polished. In particular, the substrate tends to be over-polished or under-polished at or near the substrate edge. One technique to address such polishing non-uniformity is to have multiple controllable pressurizable chambers in the carrier head. However, pressure applied from the backside of the substrate tends to “spread,” such that compensation for radially localized polishing non-uniformity can be difficult. Another technique is to transfer the substrate to a separate “touch up” tool, e.g., to perform edge-correction. However, the additional tool consumes valuable footprint within the clean room, and can have an adverse effect on throughput.
An alternative approach is to have a platen with one or more independently controllable annular flexures which are deflectable, e.g., upwardly or downwardly. A portion of the substrate is then moved over the deflected flexure, which results in increased or decreased pressure between the polishing pad and the substrate at that portion, and thus enables radially-targeted polishing of an edge portion of the substrate.
Assuming a portion of the platen is deflectable, the effect on polishing will depend on the radial position of the substrate and the degree of deflection. Thus, some technique is needed for selecting the radial position of the substrate and the degree of deflection. To address this, a “Preston matrix” can be used for calculation of an expected polishing profile as a function of the control parameter values. The dwell time of the substrate at each of multiple positions and the degree of deflection can be treated as control parameters that are part of the Preston matrix. This permits an optimization algorithm to be performed to select the amount of flex and/or dwell times to provide a desired polishing profile.
The main polishing pad 30 can be secured to the upper surface 28 of the central section 26 of the platen 24, for example, by a layer of adhesive. When worn, the main polishing pad 30 can be detached and replaced. The main polishing pad 30 can be a two-layer polishing pad with an outer polishing layer 32 having a polishing surface, and a softer backing layer 34.
The polishing system 20 can include a polishing liquid delivery arm 82 and/or a pad cleaning system such as a rinse fluid delivery arm. During polishing, the arm 82 is operable to dispense a polishing liquid 80, e.g., slurry with abrasive particles. In some implementations, the polishing system 20 include a combined slurry/rinse arm. Alternatively, the polishing system can include a port in the platen operable to dispense the polishing liquid 80 onto the main polishing pad 30. The polishing system 20 can also include a conditioner system 40 with a rotatable conditioner head 42, which can include an abrasive lower surface, e.g. on a removable conditioning disk, to condition the polishing surface 36 of the main polishing pad 30.
The polishing system 20 includes a carrier head 70 operable to hold the substrate 10 against the main polishing pad 30. The carrier head 70 is suspended from a support structure 72, for example, a carousel or track, and is connected by a carrier drive shaft 74 to a carrier head rotation motor 76 so that the carrier head can rotate about an axis 71. In addition, an actuator 78 can cause the carrier head 70 to oscillate laterally across the polishing pad, e.g., by moving in a radial slot in the carousel as driven by the actuator, e.g., a linear actuator, by rotation of the carousel as driven by the actuator, e.g., a motor, or movement back and forth along the track as driven by the actuator. In operation, the platen 24 is rotated about its central axis of rotation 25, and the carrier head is rotated about its central axis 71 and translated laterally across the top surface of the polishing pad.
The carrier head 70 can include a retaining ring 73 to retain the substrate 10 below a flexible membrane 144. The carrier head 70 also includes one or more independently controllable pressurizable chambers defined by the membrane, e.g., three chambers 77a-77c, which can apply independently controllable pressurizes to associated zones on the flexible membrane 144 and thus on the substrate 10. Although only three chambers are illustrated in
A controller 90, such as a programmable computer, is connected to the motors 21, 76 to control the rotation rate of the platen 24 and carrier head 70, and to the actuator 78 to control the radial position of the carrier head on the platen 24. For example, each motor can include an encoder that measures the rotation rate of the associated drive shaft. A feedback control circuit, which could be in the motor itself, part of the controller, or a separate circuit, receives the measured rotation rate from the encoder and adjusts the current supplied to the motor to ensure that the rotation rate of the drive shaft matches at a rotation rate received from the controller.
The controller can also control other components of the polishing system, such as pressure regulators to control the pressure in the chambers 77a-77c, or a pump to control flow rate of the polishing liquid.
The polishing system 20 also includes at least one annular flexure 50 that is secured to and rotates with the platen 24. A portion of the polishing pad 30 supported on the platen 24 extends above the flexure 50. The flexure 50 is deformable by at least one more actuator 52. In particular, the flexure 50 and actuator 52 are operable to cause the flexure 50 flex along an arc 15 (see
The polishing system 20 can include an annular flexure 50a that projects outwardly from an outer edge of the platen 24. Or if the platen 24 includes an annular support surface 28, the polishing system can include an annular flexure 50b that projects inwardly from an inner edge of the annular platen 24. Or there can be two flexures, e.g., flexure 50a and flexure 50b, one for an outer edge and one for an inner edge of the platen 24.
The polishing pad 30 extends onto the flexure 50a and/or flexure 50b. Where the polishing system includes an annular flexure 50b that projects inwardly, the polishing pad 30 can be annular with an aperture 38 aligned with a recess 27 in the platen to permit the flexure 50b to be vertically movable. Where the polishing system includes only the annular flexure 50a that projects outwardly, the polishing pad 30 can be circular (not annular in this context).
When the annular flexure 50 is flexed upward, a radially-limited section of the polishing pad 30 is urged upwardly. If a portion of a substrate 10 is present over the flexure, pressure against that portion will increase. Conversely, when the annular flexure 50 is flexed downward, a radially-limited section of the polishing pad 30 is urged downward. If a portion of a substrate 10 is present over the flexure, pressure against that portion will decrease. As used herein, the terms “upward” and “downward” are in reference to the orientation of
The annular flexure 50 extends from the outer edge of the platen 24 by a distance in a range from 5% to 20% of the radius of the polishing pad 30 (e.g., from 5% to 15%, from 5% to 10%, from 10% to 15%, or from 15% to 20%). The outer edge of the polishing pad 30 can be aligned with the outer edge of the outer flexure 50a, or be set back from or extend past the outer edge by up to about 1 inch. For an annular polishing pad 30, the inner edge of the polishing pad 30 can be aligned with the inner edge of the inner flexure 50b, or be set back from or extend past the inner edge by up to about 1 inch.
As shown in the example of
The annular flexure 50 is connected to at least one actuator 52 which is arranged to be supported by the central section 26 of the platen 24. In some implementations, such as the example of
As the actuators 52 provide an inward force, the outer edge of the upper surface of the annular flexure 50 is flexed downward. Conversely, as the actuators 52 provide an outward force, the outer edge of the upper surface of the annular flexure 50 is flexed upward. The controller 90 controls the actuators 52 to adjust the force on the flange 54 to control the outer edge of the upper surface of the annular flexure 50 to flex upward or downward.
The system can be configured such that the annular flexure 50 flexes along an entire circumference of the flexure 50. In some implementations, there is a single actuator, and the flexure 50 is sufficiently stiff along the angular direction that pressure from the actuator in a limited area causes the flexure 50 to flex along the entire circumference. In some implementations, there are multiple actuators, and the actuators are electrically ganged to a single control signal such that all actuators are driven in unison. In some implementations, each of the actuators 52 is individually controllable by the controller 90, but the controller 90 controls all of the actuators 52 to flex the annular flexure 50 along the entirety of the circumference.
In many polishing processes, the outer edge of the substrate 10 is under-polished due to reduced pressure control in the outermost radial areas of the three chambers 77a-77c, resulting in increased layer thickness at the edges of the substrate 10. As such, the annular flexure 50 is flexed upward and biased against the bottom surface of the substrate 10 to increase the pressure between the substrate 10 and the polishing pad 30.
The controller 90 operates the actuators 52 to alter a position of an outer edge of the annular flexure 50 upward or downward by a distance. In some implementations, the distance is in a range from 1 micron to 300 microns (e.g., 1 micron to 250 microns, 10 microns to 250 microns, 50 microns to 250 microns, 10 microns to 50 microns, or 1 microns to 50 microns).
In some implementations, the annular platen 24 includes a recess 27 at the center of the platen 24 which partially extends through the thickness of the platen 24, aligned with the axis of rotation 25. For example, the recess 27 can be circular and the center of the recess 27 can be co-axial with the axis of rotation 25. In some implementations, the recess 27 extends through the entire thickness of the platen 24.
The recess houses a central annular flexure 51 including a flange 54 and one or more actuators 52 to apply a force to the flange 54. The inner edge of the central annular flexure 51 (e.g., nearest the axis of rotation 25) flexes upward or downward based on the force applied to the flange 54 by the actuators 52 while the outer edge of the central annular flexure 51 remains substantially coplanar with the upper surface 28.
The central annular flexure 51 extends from the inner edge of the platen 24 by a distance in a range from 5% to 25% of the innermost radius of the polishing pad 30 (e.g., from 5% to 15%, from 5% to 10%, from 10% to 25%, or from 15% to 25%).
The arrangement of the actuators 52, outer annular flexure 50a, and central annular flexure 50b define regions of the pad 30 in which the pressure between the pad 30 and substrate 10 is controlled at least in part by the amount of flexing provided by the actuators 52. Referring to
Referring to
The substrate 10 is moved by the carrier head 70 such that a portion 12 of the substrate 10 is above the outer region 33. Depending on whether the flexure 50a is biased upwardly or downwardly, the outer region 33 will experience increased or decreased pressure against the portion 12 of the substrate 10. Due to the rotation (shown by arrow A) of the carrier head 70 and substrate 10, an annular section 12a of the substrate 10 experiences an increased or decreased polishing rate (compared to the flexure remaining in a planar state).
Referring to
As the substrate 10 is passed over the inner region 35 by the carrier head 70 (not shown), a portion 13 of the substrate 10 overlaps the inner region 35. As the inner region 35 is flexed upwardly or downwardly by the central annular flexure 51, the portion 13 is subject to increased or decreased pressure. Again, due to the rotation (shown by arrow A) of the carrier head 70 and substrate 10, an annular section 13a of the substrate 10 experiences an increased or decreased polishing rate. In the embodiments of
In some implementations, the polishing apparatus includes an in-situ monitoring system 160, e.g., an optical monitoring system, such as a spectrographic monitoring system which can be used to measure a spectrum of reflected light from a substrate undergoing polishing. The monitoring system 160 can include a sensor supported on the platen, e.g., an end of an optical fiber that is coupled to a light source 162 and a light detector 164. Due to the rotation of the platen, as the sensor travels below the carrier head 70 and the substrate 10, the monitoring system 160 receives measurements at a sampling frequency causing the measurements to be taken at locations in an arc that traverses the substrate 10. From the measurements, the in-situ monitoring system 160 produces a signal which depends on the thickness of the layer of material being polished, e.g., a thickness profile. Additionally or alternatively, the in-situ monitoring system 160 produces a signal which depends on the polishing rate of the layer of material being polished, e.g., a polishing rate profile.
The controller 90 receives the signal, converts the signal to a process profile, e.g., a thickness profile or polishing rate profile, and compares the process profile to a target profile. For example, the target profile can be a pre-determined target thickness profile for the radially-dependent thickness of the layer at the end of polishing, or a target polishing rate profile storing radially-dependent target polishing rates during polishing. The process profile can be based on measurements over the radial width of the substrate 10, or a portion of the radial width of the substrate 10. In some implementations, the controller 90 calculates a process profile for the portion of the substrate 10 corresponding to the outermost annular region of the substrate 10, such as the outermost 5%, the outermost 10%, or the outermost 20% of the substrate.
The controller 90 compares the process profile to a target profile. If the process profile differs from the target profile by more than a threshold amount, the controller 90 determines to change a polishing parameter. If the difference occurs in a region of the substrate that is controllable by the flexure, e.g., in an outermost annular region adjacent an edge of the substrate 10. then the flexure can be used to compensate for the departure of the process profile from the target profile.
If the polishing rate of the region of the substrate is above a target polishing rate, the controller 90 can determine to position the region over the flexure and deflect the flexure downward. The downward deflection reduces the polishing rate in that region to achieve the target polishing rate profile. If the polishing rate in that region of the substrate is below the target polishing rate for that region, the controller 90 can determine to position the region over the flexure and deflect the flexure upward to increase the polishing rate of that region.
The carrier head 70 passes the substrate 10 over the central region 31 and the optical monitoring system 160 receives a signal indicative of an updated thickness of the overlying layer of material, e.g., an updated thickness profile, and calculates a new uniformity value for the updated thickness profile.
The controller 90 compares the updated uniformity value to the uniformity threshold. If the uniformity value is below the uniformity threshold, the controller 90 determines to discontinue increased polishing of the region of the substrate 10 corresponding with the region exceeding the uniformity threshold.
In some implementations, the platen includes an upper platen 412 supported on a lower platen 410. The upper platen 412 is constructed from multiple sections which are independently actuated to achieve the desired configuration of the polishing pad 30.
The lower platen 310 includes a recess 328 in which an actuator, or actuators, is arranged. The actuator provide a vertical force to the inner section 318. In such implementations, the vertical position of the inner section 318 is controlled to adjust the polishing rate in the outer region 316. In the example of
In some implementations, the upper platen 312 is divided into more than two regions having differential polishing rates. In the example implementation of
Returning to
In general, the polishing system 20 is controlled in an attempt to make the post-polished substrate have a target surface profile, e.g., a target thickness across the substrate surface. The target surface profile may be uniform (e.g., planar) or non-uniform across the substrate surface. The target surface profile can be set as a function of distance from center of the substrate 10, e.g., with an assumption that polishing is angularly symmetric, although this is not required. The target surface profile can be set manually by a manufacturer of the polishing system, set manually by an operator of the polishing system, e.g., an employee of the semiconductor fab, or could be generated automatically by computer software based on measurements of the performance of other tools at the semiconductor fab, e.g., to compensate for non-uniform deposition or removal by the other tools.
The controller 90 can be configured to store a target removal profile. The controller 90 uses the target removal profile to set values for the polishing control parameters for the polishing system 20, e.g., the pressures in the chambers 77a-146c of the carrier head 140, the degree of deflection of the flexure(s) 50, and the dwell time of the carrier head 70 and substrate 10 at each of a plurality of radial distances from the axis of rotation 25 of the platen 24. The target removal profile represents a desired amount of material to be removed across the front surface of the substrate. In some implementations, the target removal profile can be determined, e.g., by the controller 90 or another computer system which forwards the target removal profile to the controller 90, based on an initial surface profile of the substrate 10 (e.g., as measured at a metrology station prior to polishing or by an in-situ monitoring system). For example, the target removal profile can be calculated as
TRP=ISP−TSP (1)
where TRP is the target removal profile, ISP is the initial surface profile, and TSP is the target surface profile. Alternatively, if the initial surface profile is unknown, then the initial surface profile can be set to a default value. Also, in some situations, the operator of the polishing system may desire to remove a target amount from the substrate rather than achieve a target profile. In addition, in some situations, the operator of the polishing system may simply set the target removal profile, e.g., based on a priori principals or previous experience. In this last case, the user can generate the target removal profile by user input, e.g., to the controller 90 or to another computer system which forwards the target removal profile to the controller 90.
The controller 90 can generate and store an expected removal profile (that is, the amount of material expected to be removed across the front surface of substrate 10) for a given set of values for the polishing control parameters.
In general, it is advantageous to select values for the polishing control parameters, e.g., the pressures in the chambers 77a-77c of the carrier head 70, the degree of deflection of the flexure(s) 50, and the dwell time of the carrier head 70 at each of a plurality of radial distances from the axis of rotation 25 of the platen 24, so that the expected removal profile closely approximates (including exactly matches) the target removal profile. For example, if the expected removal profile closely approximates the target removal profile, then the actual removal profile, i.e., the amount actually removed from a substrate in polishing, should also closely approximate the target removal profile.
It should be noted that the removal profile described herein may be expressed as an amount of material removed from the substrate surface or, equivalently, as a material removal rate (e.g., by dividing removal profile by an actual or expected time spent polishing). Further, it should also be understood that the data used for the calculation could be stored in various different units, so long the data is converted into consistent units for the purpose of calculation.
As a simplified model, the expected removal rate for any give location can depend linearly on each polishing control parameter. That is, assuming only one polishing control parameter is varied while other polishing control parameters remain constant, then the removal rate at each radial location on the substrate can be a linear function of the polishing control parameter that is being varied.
A relationship between the polishing control parameters and the removal profile can be determined based on measured data. For example, removal profiles can be measured for test substrates, which each test substrate being polished using a different set of calibration values for the polishing control parameters. In particular, one substrate can be polished under a set of baseline calibration values for the polishing control parameters, and a baseline removal profile is measured from the one substrate. Then, for each control parameter that is to be set by the process, an additional substrate is polished, with that control parameter set to a modified calibration value that is different from the baseline calibration value (but the other control parameters set to their baseline calibration values), and an adjusted removal profile is measured from the additional substrate.
In some implementations, the various profiles generated from experimental measurement, e.g., the base removal profile and the adjusted removal profile, includes measured removal values for a plurality of positions under each chamber. Similarly, the calculated expected removal includes calculated values for the expected removal at plurality of positions under each chamber. In some implementations, the profiles, e.g., the base removal profile, the adjusted removal profile and expected removal profile, includes values for twenty to three hundred positions on the substrate. For example, the profiles can include values for positions on the substrate at a regular spacing of 1 mm.
In some implementations, the expected removal profile can be calculated as
ERP=BRP+[K][P′]*BRP (2)
where ERP is the expected removal profile, BRP is a baseline removal profile, [K] is a matrix of constants (termed the “Preston matrix”) having a number of columns equal to the total number of polishing control parameters, N, and a number of rows equal to the total number M of radial positions on the substrate surface where the profile is measured, and [P′] is a vector of adjusted polishing control parameter values. Here the “*” operation indicates multiplication of respective entries in the vectors, rather than a dot or cross-product. That is, the i-th component of ERP is equal to the i-th component of BRP plus the i-th component of the column vector resulting from [K][P′] times the i-th component of BRP times the i-th component of VAP. The total number of positions M can be greater than the number of chambers in the carrier head, and can be greater than the total number of polishing control parameters N.
The total number of positions M can be greater than the number of chambers in the carrier head, and can be greater than the total number of polishing control parameters N.
The baseline removal profile can be determined by polishing a test wafer at a set of default polishing control parameter values, P01, P01, . . . P0N, and comparing a measured (e.g., at a metrology station) surface profile after polishing to the initial surface profile. For example, the baseline removal profile can be calculated as
BRP=ISP−BSP (3)
where BRP is the baseline removal profile, ISP is the initial surface profile, and BSP is the baseline surface profile achieved as a result of polishing a test substrate at the default polishing control parameter values P01, P01, . . . P0N.
The constants of the matrix [K] can be determined from on the baseline removal profile and the modified removal profiles. As noted above, the modified removal profiles can be generated by polishing an additional substrate for each parameter while modifying that parameter, one substrate at a time. For example, a modified removal profile can be calculated for each modified parameter according to the equation
ARP
i
=ISP−ASP
i (4)
where ARPi is the adjusted removal profile resulting from adjustment of the ith polishing parameter, ISP is the initial surface profile, and ASPi is the adjusted surface profile measured as a result of adjusting the ith parameter.
In particular, the constant values of the matrix [K] can be calculated as
where Kx,i is the value of the matrix [K] corresponding to the substrate profile position x for the ith parameter, ARPx,i is the amount of material removed at radial position x for the ith adjusted parameter, BRPx is the amount of material removed at radial position x according to the previously calculated baseline removal profile, PAi is the ith parameter value used to generate the ith adjusted removal profile, and P0i is the ith parameter value for the baseline removal profile.
As such, the matrix [K] can be expressed as
where M is the total number of radial substrate positions x at which profile measurements are taken and N is the total number of parameters.
The variable expressions of the vector [P′], P1′, P2′, . . . PN′ are defined by
where Pi′ is the value of the vector [P′] corresponding to the ith parameter, P0i is the ith parameter value for the baseline removal profile, and Pi is the variable proposed parameter value.
Thus, the expected removal profile can be expressed as
where ERP is the expected removal profile, BRP is the baseline removal profile, and values for the matrix [K] and the vector [P′] are calculated as described above with reference to equations (5) and (7).
The polishing control parameters can include a parameter representing a pressure for each chamber 77a-77c in the carrier head 70. Thus, at least two of the polishing control parameters are carrier head chamber pressures. The values for the chamber pressures can be in units of psi, although other units, e.g., Pascal, are possible.
The polishing control parameters can include a parameter representing a rotation rate of the platen 24 and/or a parameter representing a rotation rate of the carrier head 70. The value for a rotation rate can be in units of rpm, although other units, e.g., drive current for the respective motor, are possible.
The polishing control parameters can include a parameter representing a degree of deflection for the flexure 50. If the system 20 includes both the outer flexure 50a and the inner flexure 50b, then there would be two parameters, one each for the inner flexure and outer flexure. The value for the degree of deflection a rotation rate can be in units of distance such as microns or mils (thousandths of an inch), although other units, e.g., current or voltage for an electromechanical actuator or pressure for a pneumatic actuator, are possible.
In order to set a sweep profile for the carrier head 70, the polishing control parameters can include multiple parameters representing dwell times. In particular, the each respective parameter of the multiple parameters can represent the dwell time of the carrier head at a different respective radial annular zone on the platen.
For example, referring to
During operation, the carrier head 70 sweeps laterally over the platen 24 and polishing pad (indicated by arrow C), e.g., along a radius of the platen 24. For each zone there can be a corresponding dwell time control parameter representing a dwell time of the carrier head 70 within or at that zone. The substrate may span multiple zones, in which case each respective dwell time control parameter can represent a dwell time of the centerpoint of the carrier head (at axis 71) within or at that respective zone. The value for a dwell time parameter value can be in units of the fraction of total time (i.e., the total of all dwell times would equal 1), although other units, e.g., expected time, e.g., seconds, are possible.
Once the dwell time parameter values are calculated (calculation of the parameter values is discussed below), the dwell time parameter values can be converted into a sweep profile. In general, in the sweep profile the dwell time for each zone will be apportioned according to the dwell time parameter value.
In some implementations, the carrier head sweeps with a speed that is constant within each zone, but which can be different for each zone. For example, referring to
In some implementations, a suitable combination of parameters can be determined by solving for respective parameters that minimize a difference between the expected removal profile and the target removal profile. That is, the value of ERP−TRP is minimized. In many cases, one or more distinct sets of parameters can be determined mathematically that provide an expected removal profile equaling the target removal profile, such that ERP−TRP=0. In other cases a difference value between the expected removal profile and the target removal profile can be minimized to an acceptable, non-zero value by using the following equation
Δ=Σx=1M(ERPx−TRPx)2 (9)
where Δ is a difference value, ERPx is the variable value of the expected removal profile at a radial position x on the substrate and TRPx is the constant value of the target removal profile at the radial position x. Values of Pi can be calculated to find an expected removal profile that closely approximates the target removal profile.
In some examples, an iterative process (e.g., Newton's method of optimization) may be used in conjunction with equation (9) to determine an appropriate combination of parameter values to find a minimum difference between the estimated pressure profile and the target pressure profile, e.g., to find a minimum value for Δ. For example, a commercially available solver function (e.g., the Microsoft Excel solver function, the MATLAB solver function, and/or the Wolfram Mathematica solver function, etc.) may be used to determine an appropriate combination of parameter values. In some cases, there may be several suitable combinations of parameter values.
Once an appropriate set of parameter values has been determined, as described above, the controller 190 can be configured to store the parameter values and execute a polishing technique accordingly to provide one or more substrates having the target surface profile.
In most cases, when all other parameter values are to be held constant, the polishing rate at a particular location on the substrate 10 can vary linearly with the pressure applied to the substrate, at that location of the substrate, on the polishing pad.
In some examples, an iterative process (e.g., Newton's method of optimization) may be used in conjunction with either of equations (16) or (17) to determine an appropriate combination of chamber pressures to find a minimum difference between the estimated pressure profile and the target pressure profile, e.g., to find a minimum value for Δ. For example, a commercially available solver function may be used to determine an appropriate combination of chamber pressures. In some cases, there may be several suitable combinations of chamber pressures.
Once an acceptable expected pressure profile is determined, interpolation and/or extrapolation techniques (other known mathematical approximation techniques may also be used) can be applied to the measured baseline pressure distributions to determine a corresponding chamber pressure for each chamber. When using pressure distributions from a single baseline pressure it may be necessary to assume a zero scale pressure distribution (i.e., when the chambers are not pressurized, there is little or no polishing pressure applied).
The processor 510 is capable of processing instructions for execution within the system 500. The term “execution” as used here refers to a technique in which program code causes a processor to carry out one or more processor instructions. In some implementations, the processor 510 is a single-threaded processor. In some implementations, the processor 510 is a multi-threaded processor. The processor 510 is capable of processing instructions stored in the memory 520 or on the storage device 530. The processor 510 may execute operations such as controlling a polishing operation as described herein.
The memory 520 stores information within the system 500. In some implementations, the memory 520 is a computer-readable medium. In some implementations, the memory 520 is a volatile memory unit. In some implementations, the memory 520 is a non-volatile memory unit.
The storage device 530 is capable of providing mass storage for the system 500. In some implementations, the storage device 530 is a non-transitory computer-readable medium. In various different implementations, the storage device 530 can include, for example, a hard disk device, an optical disk device, a solid-state drive, or a flash drive. In some implementations, the storage device 530 may be a cloud storage device, e.g., a logical storage device including one or more physical storage devices distributed on a network and accessed using a network.
The input/output interface devices 540 provide input/output operations for the system 500. In some implementations, the input/output interface devices 540 can include one or more of a network interface device, e.g., an Ethernet interface, and/or a wireless interface device. A network interface device allows the system 500 to communicate, for example, transmit and receive data by way of a network. In some implementations, mobile computing devices, mobile communication devices, and other devices can be used.
Software can be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described above. Such instructions can include, for example, interpreted instructions such as script instructions, or executable code, or other instructions stored in a computer readable medium.
Although an example processing system has been described in
A computer program (also known as a program, software, software application, script, executable logic, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile or volatile memory, media and memory devices.
Throughout the specification, reference to a measurable value such as an amount, a temporal duration, and the like, the recitation of the value should be taken as disclosure of the precise value, of disclosure of approximately the value, and of disclosure of about the value, e.g., within ±10% of the value. For example, here reference to 100 microns can be taken as a reference to any of precisely 100 microns, approximately 100 microns, and within ±10% of 100 microns.
While this specification contains many details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features that are described in this specification in the context of separate implementations can also be combined. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable subcombination.
This application claims the benefit of priority to U.S. Application No. 63/420,039, filed on Oct. 27, 2022, the contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63420039 | Oct 2022 | US |