The disclosure relates to chemical mechanical polishing, and more specifically to a polishing station with multiple concentric platens.
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 includes: an inner platen to support an inner polishing pad; an annular outer platen to support an outer polishing pad; a carrier head to hold a substrate; one or more motors to rotate the inner platen about a vertical axis at a first rotation rate and to rotate the outer platen about the vertical axis at a second rotation rate; and a controller configured to select values for multiple control parameters to minimize a difference between a target removal profile and an expected removal profile, the multiple control parameters including a first parameter representing a difference in rotational speeds between the inner and outer platens. The outer polishing pad can coaxially surround the inner platen, and an outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap. A relationship between the multiple control parameters and a removal rate can be stored in a data structure representing a first matrix which includes multiple columns including a column for the difference in rotational speeds and a row for each position on the substrate represented in the expected removal profile. The controller can be 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 includes: an inner platen to support an inner polishing pad; an annular outer platen to support an outer polishing pad; a carrier head to hold substrate; a motor to rotate the inner platen about a first vertical axis; an actuator to move the carrier head to laterally; and a controller configured to cause the actuator to sweep the carrier head laterally in accord with a sweep profile. The outer platen can coaxially surround the inner platen, and an outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap. The controller can be configured to select values for multiple control parameters to minimize a difference between a target removal profile and an expected removal profile, the multiple control parameters including multiple dwell time parameters with each respective dwell time parameter of the multiple dwell time parameters representing an amount of time for the carrier head to spend over multiple positions with at least one of the multiple positions corresponding to substrate being positioned over just one of the inner and outer polishing pads and at least another of the multiple positions corresponding to substrate being positioned over both the inner and outer polishing pads. A relationship between the multiple control parameters and a removal rate can be stored in a data structure representing a first matrix which includes multiple columns including a column for each dwell time parameter and a row for each position on the substrate represented in the expected removal profile. The controller can be 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 method for chemical mechanical polishing includes: rotating an inner platen including a first polishing pad at a first rotational speed; rotating an outer platen including a second polishing pad at a second rotational speed different from the first rotational speed; and selecting values for multiple control parameters to minimize a difference between a target removal profile and an expected removal profile, the multiple control parameters including a first parameter representing a relative rotational speed between the first and second rotational speeds. An outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap. A relationship between the multiple control parameters and a removal rate can be stored in a data structure representing a first matrix which includes multiple columns including a column for the relative rotational speed and a row for each position on a substrate represented in the expected removal profile. Selecting the values for the multiple control parameters can include calculating 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 includes: an inner platen to support an inner polishing pad; an annular outer platen to support an outer polishing pad; a carrier head to hold a substrate; a first motor to rotate the inner platen about a vertical axis at a first rotation rate; and a second motor to rotate the outer platen about the vertical axis at a second rotation rate. The outer polishing pad coaxially can surround the inner platen, and an outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap.
In another aspect, a chemical mechanical polishing apparatus includes: an inner platen to support an inner polishing pad; an annular outer platen to support an outer polishing pad; a carrier head to hold a substrate; one or more motors to rotate the inner platen about a vertical axis at a first rotation rate and rotate the outer platen about the vertical axis at a second rotation rate; and one or more nozzles positioned to spray a cleaning liquid into the gap. The outer polishing pad can coaxially surround the inner platen, and an outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap.
In another aspect, a chemical mechanical polishing apparatus includes: an inner platen to support an inner polishing pad; an annular outer platen to support an outer polishing pad; a carrier head to hold a substrate; one or more motors to rotate the inner platen about a vertical axis at a first rotation rate and rotate the outer platen about the vertical axis at a second rotation rate; a passage through the inner platen or outer platen with one or more openings in a sidewall of the inner platen or outer platen into the gap; and a cleaning liquid source coupled to the passage to direct cleaning liquid through the one or more openings into the gap. The outer polishing pad can coaxially surround the inner platen, and an outer edge of the inner platen and an inner edge of the outer platen can be separated by a gap.
Implementations may include one or more of the following features.
The controller can be configured to receive a first rotational speed for the inner platen from a recipe that is stored prior to polishing and to calculate a second rotational speed for the outer platen from the first rotational speed and the difference in rotational speeds.
The controller can be configured to receive a first rotational speed for the outer platen from a recipe that is stored prior to polishing and to calculate a second rotational speed for the inner platen from the first rotational speed and the difference in rotational speeds.
The controller can be configured to apply a minimizing algorithm to reduce a difference between an expected thickness profile and a target thickness profile. Applying the minimizing algorithm can include iteratively calculating the expected removal profile using different values for the difference in rotational speeds.
The chemical mechanical polishing apparatus can include an actuator. The carrier head can be laterally movable by the actuator.
The controller can be configured to cause the actuator to oscillate the carrier head between a first position where the substrate is entirely over the outer polishing pad and a second position where the substrate is partially over the outer polishing pad and partially over the inner polishing pad.
The controller can be configured to cause the actuator to oscillate the carrier head between a first position where the substrate is entirely over the inner polishing pad and a second position where the substrate is partially over the inner polishing pad and partially over the outer polishing pad.
The controller can be configured to calculate a sweep profile from values for the multiple dwell time parameters.
The controller can be configured to set the sweep profile with a respective speed for each respective annular zone of multiple annular zones on each of the inner and outer platens.
The controller can be configured to set the respective speed for each respective annular zone of the multiple annular zones as a constant value within the respective annular zone.
Values for the multiple dwell time parameters can be in units of a fraction of total time.
The controller can be configured to calculate a sweep speed for each respective annular zone of the multiple annular zones as inversely proportional to the values for the multiple the dwell time parameters for each respective annular zone.
A fractional dwell time value for the multiple annular zones can be proportional to an oscillation period of the sweep profile.
The method can include receiving the first rotational speed for the inner platen from a recipe that is stored prior to polishing; and calculating the second rotational speed for the outer platen from the first rotational speed and the relative rotational speed.
The method can include receiving the second rotational speed for the outer platen from a recipe that is stored prior to polishing; and calculating the first rotational speed for the inner platen from the second rotational speed and the relative rotational speed.
The method can include applying a minimizing algorithm to reduce a difference between an expected thickness profile and a target thickness profile. Applying the minimizing algorithm can include iteratively calculating the expected removal profile using different values for the relative rotational speed.
The method can include oscillating a carrier head between a first position where the substrate is entirely over the inner polishing pad and a second position where the substrate is partially over the inner polishing pad and partially over the outer polishing pad.
The multiple control parameters can include multiple dwell time parameters representing an amount of time for the carrier head to spend over multiple positions with at least one of the multiple positions corresponding to substrate being positioned over just one of the inner and outer polishing pad and at least another of the multiple positions corresponding to substrate being positioned over both the inner and outer polishing pad.
The method can include calculating a sweep profile from values for the multiple dwell time parameters.
The method can include setting the sweep profile with a respective speed for each respective annular zone of multiple annular zones on each of the inner and outer platens.
The method can include setting the respective speed for each respective annular zone of the multiple annular zones as a constant value within the respective annular zone.
Values for the dwell time parameters can be in units of a fraction of total time.
A sweep speed for each respective annular zone of the plurality of annular zones can be calculated as inversely proportional to the values for the plurality of the dwell time parameters for each respective annular zone.
A fractional dwell time value for the plurality of annular zones can be proportional to an oscillation period of the sweep profile.
The chemical mechanical polishing apparatus can include a drive shaft colinear with the vertical axis coupling the first motor to the inner platen.
The chemical mechanical polishing apparatus can include a first gear attached to one of the inner platen or outer platen and positioned to engage a toothed surface of the other of the inner platen or outer platen. The first gear can be driven by the second motor and rotates about a second vertical axis.
The first gear can be attached to the inner platen and positioned to engage a toothed surface of the outer platen, and the second vertical axis can move with the inner platen.
The second motor can be supported in a recess in the inner platen.
The first gear can be attached to the outer platen and is positioned to engage a toothed surface of the inner platen, and the second vertical axis can move with the outer platen.
The chemical mechanical polishing apparatus can include at least one geared flange engaged with a geared surface of the outer platen. The second motor can drive rotation of the geared flange to causes rotation of the outer platen.
The geared flange can rotate about a horizontal axis and engage a lower surface of the outer platen.
The geared flange can rotate about a vertical axis and engage a cylindrical outer surface of the outer platen.
The chemical mechanical polishing apparatus can include a belt that engages an outer surface of the outer platen. The belt can be driven by the second motor.
The chemical mechanical polishing apparatus can include one or more nozzles for spraying a cleaning liquid into the gap.
The chemical mechanical polishing apparatus can include a passage through the inner platen with one or more openings into the gap and out of the inner platen.
The chemical mechanical polishing apparatus can include a cleaning liquid source coupled to the passage to direct cleaning liquid through the one or more openings into the gap.
The chemical mechanical polishing apparatus can include a conduit through the inner platen or the outer platen with one or more openings in a sidewall of the inner platen or the outer platen into the gap.
The nozzles can be horizontally fixed.
The chemical mechanical polishing apparatus can include a deionized water source to provide cleaning fluid to the one or more nozzles.
The passage can be through the inner platen and have one or more openings in the sidewall of the inner platen.
The passage can be through the outer platen and have one or more openings in the sidewall of the outer platen.
The chemical mechanical polishing apparatus can include a cleaning liquid source coupled to the passage to direct the cleaning liquid through the one or more openings into the gap.
The cleaning liquid can be deionized water.
The subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
Polishing a substrate with two polishing pads rotating at different rotational speeds can allow for more fine-tuned control of a polishing profile as compared to using just one polishing pad. For example, by holding substrate in a position overlying both the inner and outer platens, over-polishing the edge of the substrate can be avoided, because the outer platen can be slowed down relative to the inner platen to reduce the polishing rate at the edge of the substrate. Conversely, under-polishing the edge of the substrate can be avoided, since the outer platen can be sped up relative to the inner platen to increase the polishing rate at the edge of the substrate. As another example, the disclosed polishing system and methods can allow the correction of asymmetry by synchronizing a sweep position with rotation of the inner and outer platens so that only desired angular positions of a substrate are exposed to the outer platen. In general, different annular zones of the substrate can experience different polishing rates as a result of using multiple platens rotating at different speeds. Uniformity and yield can be improved.
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 two or more concentric platens with two or more independently controllable rotational speeds. A portion of the substrate is then moved from one position completely overlapping one platen to another position partially overlapping each of two platens, which results in increased or decreased relative velocity between the polishing pad and the substrate at that portion, and thus enables radially-targeted polishing of an edge portion of the substrate.
Assuming the substrate can be laterally moved from one platen to another platen rotating at a different speed, the effect on polishing will depend on the radial position of the substrate and the rotational speed of the platen(s) that support the substrate. Thus, some technique is needed for selecting the radial position of the substrate and the rotational speeds of the platen(s). 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 rotational speed(s) can be treated as control parameters that are part of the Preston matrix. Treating the dwell times and/or rotational speeds as control parameters permits an optimization algorithm to be performed to select the rotational speeds and/or dwell times to provide a desired polishing profile.
In some implementations, the inner platen 24a and outer platen 24b are vertically fixed. In this case, the upper surfaces 28a and 28b are coplanar, e.g., the surface of each upper surface is substantially smooth, and the height of each upper surface is substantially equal to the other, e.g., within 1 mm, e.g., within 0.3 mm, e.g., within 0.1 mm of each other. In some implementations, the vertical positions of each of the upper surfaces 28a and 28b are adjustable relative to each other, permitting the vertical positions to be different. For example, actuators (not illustrated), such as pneumatic linear actuators, can provide a vertical force to adjust the vertical position of the inner and outer platens 24a and 24b.
The inner and outer platens 24a and 24b are operable to rotate about a common axis of rotation 25. There are various mechanisms to individually control the rotational speeds of each platen, which will be discussed more in reference to
The polishing pads 30a and 30b can respectively be secured to the upper surfaces 28a and 28b of the inner and outer platens 24a and 24b, for example, by a layer of adhesive. When worn, the polishing pads 30a and 30b can be detached and replaced. The polishing pads 30a and 30b can each be a two-layer polishing pad with an outer polishing layers 32a and 32b having a polishing surface, and softer backing layers 34a and 34b.
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 liquid delivery arm 82 is operable to dispense a polishing liquid 80, e.g., slurry with abrasive particles. The polishing liquid delivery arm 82 can include multiple dispensing ports 81, with at least one port 81 positioned over each of the inner platen 24a and the outer platen 24b. In some implementations, there are two separate polishing liquid delivery arms for the two platens 24a, 24b. In some implementations, the polishing system 20 includes a combined slurry/rinse arm. Alternatively, the polishing system can include a port in each platen operable to dispense the polishing liquid 80 onto the polishing pads 30a and 30b. The same polishing liquid can be dispensed on both polishing pads 30a and 30b, or polishing liquids of different composition can be dispensed on the different polishing pads 30a and 30b.
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 surfaces 36a and 36b of the polishing pads 30a and 30b.
The polishing system 20 includes a carrier head 70 operable to hold the substrate 10 against the polishing pads 30a and 30b. 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 particular, the carrier head 70 is movable from a first position where the substrate 10 is completely over one platen, e.g., the inner platen 24a, to a second position where the substrate partially overlaps the inner platen 24a and partially overlaps the outer platen 24b.
In operation, the inner and outer platens 24a and 24b are rotated about their central axis of rotation 25, and the carrier head is rotated about its axis 71 and translated laterally across the top surface of the polishing pad. Both inner and outer platens 24a and 24b can rotate in the same direction, albeit at different rotational speeds.
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 pressures 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 each of the inner and outer platens 24a and 24b and carrier head 70, and to the actuator 78 to control the radial position of the carrier head on either or both of the inner and outer platens 24a and 24b. 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 a rotation rate received from the controller.
The controller 90 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 the flow rate of the polishing liquid.
In many polishing processes, the outer edge of the substrate 10 is polished at a different rate, e.g., under-polished, as compared to the center of the substrate. This results in different, e.g., increased, layer thickness at the edges of the substrate 10 as compared to the center of the substrate. In addition, in the incoming substrate has a non-uniform thickness. In either case, it may be desirable to modify the polishing rate at the substrate edge.
Between the polishing pads 30a and 30b, there can be a gap 31. The gap 31 can be annular with an inner radius equal to the radius of the polishing pad 30a and an outer radius equal to the inner radius of the polishing pad 30b. The width, i.e., difference between the inner and outer radii, of the gap 31 can be on the order of 0.3 millimeters to 3 centimeters.
As shown by
As shown by
In the examples of
When the motor 39 does not rotate, the teeth of the gears 33a and the geared surface 33b are locked in place. Consequently, the outer platen 24b will rotate at the same rotational speed as the inner platen 24a. However, the motor 39 can drive the gears 33a to rotate about their own axes of rotation. Depending on the direction, e.g., clockwise or counterclockwise, and speed of rotation of the rotating gear, the relative speed of the inner and outer platens 24a and 24b can vary. For example, with reference to
The gears 33a can be equally spaced around the outer surface 24c of the inner platen 24a, e.g., two along a diameter as in
As another example,
In some implementations, the outer platen 24b can sit on a bearing and a belt, e.g., an elastic material wrapped around a portion of the outer edge 24f of the outer platen 24b can be driven by a motor to control the rotational speed of the outer platen 24b independent of the rotation of the inner platen 24a.
The nozzles 23a can be equally or otherwise spaced beneath or above the gap. In some implementations, a top or bottom of one or more nozzles 23 can be within the gap 31.
In some implementations, the rinse system includes a passage 29a through the inner platen 24a and drive shaft 22 with openings 35 to the gap 31. Fluid from an inlet 29b can flow through the passage 29a and into the gap 31 so that byproducts of the polishing process and used cleaning liquid 23b sprayed by the nozzles 23a flow downward out of the gap 31.
Returning to
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. For example, the rotational speed of the inner and outer platens 24a and 24b can each be altered to compensate for the departure of the process profile from the target profile.
If the polishing rate of the region of the substrate is either above or below a target polishing rate, the controller 90 can determine to position the region over polishing pad 30a, polishing pad 30b, the gap 31, or a combination thereof.
The carrier head 70 passes the substrate 10 over the polishing pads 30a and 30b, and the in-situ 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.
The polishing rate (i.e., the rate at which material is removed from the substrate 10) can vary according to several polishing system control parameters, e.g., the dwell time of the carrier head 70 and substrate 10 at each of a plurality of radial distances 37 (see
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 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 inner and outer platens 24a and 24b, and the difference in rotation rate between the inner and outer platens 24a and 24b. 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
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 apriori 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 dwell time of the carrier head 70 at each of a plurality of radial distances from the axis of rotation 25 of the inner and outer platens 24a and 24b, and the difference in rotation rate between the inner and outer platens 24a and 24b, 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 during 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 given 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, with 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 multiple positions under each chamber. In some implementations, the profiles, e.g., the base removal profile, the adjusted removal profile and expected removal profile, include 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
where ERP is a row vector of M values for the expected removal profile, BRP is row vector of values for 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 of radial positions, M, on the substrate surface where the profile is measured (an M×N matrix), [P′] is a column vector of N adjusted polishing control parameter values, and VAP is a column vector of M values that represent relative velocity changes as a function of the location on the substrate due to the inner and outer platens rotating at different rates. 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 baseline removal profile can be determined by polishing a test wafer at a set of default polishing control parameter values, P01, P02, . . . 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
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, P02, . . . 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
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 it 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 first parameter representing a rotation rate of the inner platen 24a and a second parameter representing a rotation rate of the outer platen 24b. 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.
Alternatively, the polishing control parameters can be a single parameter representing a difference in rotation rates between the inner platen 24a and the outer platen 24b. In this case, the rotation rate of one of the platens, e.g., the platen over which the substrate is sometimes entirely positioned (e.g., the outer platen 24b in the implementation of
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, 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.
During operation, the carrier head 70 sweeps laterally over the inner and outer platens 24a and 24b and polishing pad (indicated by arrow C), e.g., along a radius of the inner and outer platens 24a and 24b. 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 center point 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
As another example, the control parameters, such as the sweep profile and rotation rate of the inner and outer platens 24a and 24b, can be determined such that only particular angular swaths of a substrate are exposed to the outer platen. This example can be useful for correction for edge asymmetry.
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
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 A. 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 A. 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 can provide mass storage for the system 500. In some implementations, the storage device 530 is a non-transitory computer-readable medium. In various 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.