Substrate slip detection
A controller-based method using multiple sensors and algorithms in CMP processes addresses the limitations of conventional optical detection by accurately identifying substrate slippage, preventing damage and ensuring system integrity.
Patent Information
- Application Number
- PCT/US2025/033988
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-01
- Filing Date
- 2025-06-17
- Publication Date
- 2026-01-08
AI Technical Summary
Conventional optical slip detection sensors in chemical mechanical polishing (CMP) processes fail to detect substrate slippage in scenarios where the substrate does not generate a high enough signal or breaks up into pieces, leading to potential damage to the polishing pad and carrier head, and necessitate costly repairs.
A method utilizing a controller that analyzes data from multiple sensors, including platen and carrier head motor encoders, torque sensors, and temperature sensors, to detect substrate slippage by comparing signal data with threshold values, employing algorithms to identify shifts in torque, position, and temperature, thereby preventing further damage.
The method effectively detects substrate slippage, preventing damage to the CMP system components by promptly stopping the polishing process, reducing repair costs and ensuring continuous operation.
Smart Images

Figure US2025033988_08012026_PF_FP_ABST
Abstract
Description
SUBSTRATE SLIP DETECTIONBACKGROUNDField
[0001] The present disclosure relates to a method of detecting whether a substrate has slipped during a chemical mechanical polishing (CMP) process.Description of the Related Art
[0002] An integrated circuit is typically formed on a substrate by the sequential deposition of conductive, semiconductive, and / or insulative layers on a semiconductor substrate. A variety of fabrication processes require planarization of a layer on the substrate. For example, 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. For example, a metal layer can be deposited on a patterned insulative layer to fill trenches and holes in the insulative layer. After planarization, the remaining portions of the metal in the trenches and holes of the patterned layer form vias, plugs, and lines to provide conductive paths between integrated circuits (ICs) on the substrate. As another example, a dielectric layer can be deposited over a patterned conductive layer, and then planarized to enable subsequent photolithographic steps.
[0003] Chemical mechanical polishing (CMP) is one accepted method of planarization. This planarization method typically requires that the substrate be held within a carrier head. The exposed surface of the substrate, the surface with the layer deposition, is typically placed against a rotating polishing pad. The carrier head provides a controllable load on the substrate to urge it against the polishing pad. A polishing slurry with abrasive particles is typically supplied to the surface of the polishing pad and spreads in between the substrate and the polishing pad. The polishing pad and the carrier head each rotate at a constant rotational speed and the abrasive slurry removes material from one or more of the layers.
[0004] During CMP polishing, occasionally a substrate slips out from underneath the carrier head during a polishing process. The substrate that has slipped out of a carrier head may cause damage to the polishing pad, the carrier head, and otherpolishing station components, which will bring down the CMP system to perform costly repairs for the carrier head and / or polishing platens and also prevent additional substrates from being polished while the polishing station is being repaired. Conventional optical slip detection sensors exist but may not capture scenarios where the substrate does not have high enough signal to trigger the wafer slip detection sensor, or in scenarios where the substrate breaks up while polishing underneath the head and comes out in pieces (e.g., shards) that end up not traversing underneath the wafer slip detection sensor.
[0005] Therefore, there is a need in the art for a system and method of solving the problems described above.SUMMARY
[0006] The present disclosure relates to a method of detecting whether a substrate has slipped during a chemical mechanical polishing (CMP) process.
[0007] In one or more embodiments, a polishing system also includes a platen assembly may include: a polishing pad disposed over a platen, a platen motor that is configured to rotate the platen and may include a platen motor encoder, and a platen motor sensor configured to detect an amount of platen motor current required to generate a platen motor torque during a polishing process. The system also includes a carrier head assembly may include: a carrier head configured urge a substrate against a surface of the polishing pad during the polishing process, a head motor that is configured to rotate the carrier head and may include a head motor encoder, and a carrier head motor sensor configured to detect an amount of carrier head motor current required to generate a carrier head motor torque during the polishing process. The system also includes a controller may include a memory that includes a slip detection algorithm which when executed by a processor of the controller is configured to perform a method during the polishing process, where the method may include: initiating the polishing process, where initiating the polishing process causes the carrier head to urge a substrate against the surface of the polishing pad; receiving signal data from at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, and the carrier head motor sensor; comparing the received signaldata from the at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, and the carrier head motor sensor with a respective threshold value stored in the memory; and determining that a substrate has slipped when a comparison determines that at least two of the received signal data exceed a respective threshold value amount.
[0008] In one or more embodiments, a method of polishing a substrate includes initiating a polishing process, where initiating the polishing process causes a carrier head to urge a substrate against a surface of a polishing pad. The method also includes receiving signal data from at least two of a platen motor encoder, a head motor encoder, a platen motor sensor, a carrier head motor sensor, a temperature sensor measuring a pad temperature, an encoder of a pad conditioner sweep actuator, and an encoder of a conditioning disk rotational actuator. The method also includes comparing the received signal data from the at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, the carrier head motor sensor, the temperature sensor measuring the pad temperature, the encoder of the pad conditioner sweep actuator, and the encoder of the conditioning disk rotational actuator with a respective threshold value stored in a memory. The method also includes determining that a substrate has slipped when a comparison determines that at least two of the received signal data exceed a respective threshold value amount.
[0009] In one or more embodiment, a controller may include instructions that cause a plurality of operations to be conducted. The controller also includes initiating a polishing process, where initiating the polishing process causes a carrier head to urge a substrate against a surface of a polishing pad. The controller also includes receiving signal data from at least two of a platen motor encoder, a head motor encoder, a platen motor sensor, and a carrier head motor sensor. The controller also includes comparing the received signal data from the at least two of the platen motor encoder, head motor encoder, platen motor sensor, and carrier head motor sensor with a respective threshold value stored in a memory. The controller also includes determining that a substrate has slipped when a comparison determines that at least two of the received signal data exceed a respective threshold value amount.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only exemplary embodiments of the disclosure and are therefore not to be considered limiting of its scope, as the disclosure may admit to other equally effective embodiments.
[0011] Figure 1 is a schematic side view of an exemplary polishing system, according to embodiments described herein.
[0012] Figure 2 illustrates an exemplary schematic of the timing of the slip detection algorithm during a step in the polishing process, according to embodiments described herein.
[0013] Figure 3 is a schematic block diagram of a method of determining a slip condition, according to one or more embodiments.
[0014] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.DETAILED DESCRIPTION
[0015] Embodiments of the disclosure provide an apparatus and methods for analyzing data from various components of the polishing system to detect when a substrate has slipped out from under a carrier head of a chemical mechanical polishing (CMP) system. During a normal wafer polishing process, the platen motor (e.g., rotational actuator) and carrier head rotation motor (e.g., rotational actuator) generally provide a consistent torque value when polishing a substrate. Sensors attached to the platen motor and carrier head rotation motor provide specific torque signals based on the amount of generated torque created by these motors. When the substrate slips out of the carrier head, the torque level shifts to a different value, and the change insignal behavior can be utilized to infer that the substrate is no longer between the carrier head and pad. Mathematical methods using rolling averages, standard deviations, etc. can be applied to the platen motor torque feedback, the carrier head motor torque feedback, the platen motor position error, and the carrier head motor position error to determine when the substrate slips out of the head, and allow the CMP polishing apparatus to stop the polishing process when the substrate has slipped from the carrier head during processing. Artificial intelligence training and algorithms may be used with the motor telemetry to determine substrate polishing states and polishing states without the substrate to flag the loss of the substrate due to slippage.
[0016] FIG. 1 is a schematic side view of an exemplary polishing system 15 having a carrier head, a polishing pad and / or platen according to one or more embodiments described herein. The polishing system 15 includes a platen 59, having a polishing pad 60 secured thereto, a controller 70, and a carrier head 50. The carrier head 50 faces the platen 59 and the polishing pad 60 mounted thereon. The carrier head 50 is used to urge a material surface (e.g., front surface) of a substrate 10, disposed therein, against a polishing surface 62 of the polishing pad 60 while simultaneously rotating about a carrier axis 11 . The polishing pad 60 further includes a polishing body, which has a substantially circular cross-section along the X-Y plane. The polishing body is substantially cylindrical and has multiple sub-layers. Typically, the platen 59 rotates about a platen axis 58 while the rotating carrier head 50 sweeps back and forth across the polishing surface 62 of the polishing pad disposed on the platen 59 during processing. A pad rotational actuator 57 (e.g., motor) is included in the polishing system 15. The pad rotational actuator 57 is capable of both supplying torque for the rotational movement of the platen 59 about the platen axis 58 by use of a motor 68. The motor 68 receives power from a power source 67. In some embodiments, a current sensor 66 (e.g., platen motor sensor) is used to detect a change in torque applied to the platen 59 by the motor 68 by measuring current used to drive the motor 68. The motor 68 also includes a platen motor encoder 73 that is configured to detect the rotational position of the platen 59 during a polishing process. The controller 70 is configured to receive a signal from the platen motor encoder 73 and compare a difference between the actual rotational position of the platen 59 and an expected rotational position of the platen 59 (e.g., calculated position) at any instant in time todetermine a positional error of the platen 59 at that instant in time. The determined positional error can be used by the controller 70 to send commands to the motor 68 to correct the error. In one or more embodiments, a platen assembly includes the polishing pad 60, the motor 68, and the current sensor 66.
[0017] A head rotational actuator 12 is included in the polishing system 15. The head rotational actuator 12 is capable of supplying torque for the rotational movement of the carrier head 50 about the carrier axis 11 by use of a motor 17. The motor 17 receives power from a power source 13. In some embodiments, a current sensor 14 (e.g., carrier head motor sensor) is used to detect a change in torque applied to the carrier head 50 by the motor 17 by measuring the current used to drive the motor 17. The motor 17 also includes a head motor encoder 71 that is configured to detect the rotational position of the carrier head 50 during a polishing process. The controller 70 is configured to receive a signal from the head motor encoder 71 and compare a difference between the actual rotational position of the carrier head 50 and an expected rotational position of the carrier head 50 (e.g., calculated position) at any instant in time to determine a positional error of the carrier head 50 at that instant in time. The determined positional error can be used by the controller 70 to send commands to the motor 17 to correct the error. In one or more embodiments, a carrier head assembly includes the carrier head 50, the head rotational actuator 12, and the current sensor 14.
[0018] The polishing system 15 further includes a fluid delivery arm 31 and a pad conditioner assembly 30. The fluid delivery arm 31 is positioned over the polishing pad 60 and is used to deliver a polishing fluid, such as a polishing slurry having abrasives suspended therein, to the polishing surface 62 of the polishing pad 60. Typically, the polishing fluid contains a pH adjuster and other chemically active components, such as an oxidizing agent, to enable chemical mechanical polishing of the material surface of the substrate 10. The pad conditioner assembly 30 is used to condition the polishing pad 60 by urging a fixed abrasive conditioning disk 32 against the polishing surface 62 of the polishing pad 60 before, after, or during polishing of the substrate 10. Urging the conditioning disk 32 against the polishing pad 60 includes rotating the conditioning disk 32 about a rotational axis 33 with a conditioning disk rotational actuator 34 andsweeping the position of the conditioning disk 32 from an inner diameter of the platen 59 to an outer diameter of the platen 59 by use of a pad conditioner sweep actuator 82. The conditioning disk 32 is used to abrade, rejuvenate, and remove polish byproducts or other debris from, the polishing surface 62 of the polishing pad 60. The conditioning disk rotational actuator 34 can also include a conditioning motor encoder 75 that is configured to detect the rotational position of the conditioning disk rotational actuator 34 during a pad conditioning process. The pad conditioner sweep actuator 82 can also include a sweep conditioning motor encoder 83 that is configured to detect the rotational position of the pad conditioner sweep actuator 82 during a pad conditioning process. The controller 70 is configured to receive a signal from the conditioning motor encoder 75 and compare a difference between the actual rotational position of the conditioning disk 32 and an expected rotational position of the conditioning disk 32 (e.g., calculated positional) at any instant in time to determine a positional error of the conditioning disk 32 at that instant in time. The controller 70 is configured to receive a signal from the sweep conditioning motor encoder 83 of the motor that sweeps the conditioning disk 32 along a trajectory along the polishing pad 60. The controller 70 can also use the signal from the sweep conditioning motor encoder 83 to compare a difference between the sweep position of the conditioning disk 32 relative to the pad and an expected sweep position of the conditioning disk 32 (e.g., calculated positional) relative to the pad at any instant in time to determine a sweep positional error of the conditioning disk 32 at that instant in time. The determined sweep positional error can be used by the controller 70 to send commands to the pad conditioner sweep actuator 82 to correct the error.
[0019] The carrier head 50 includes a housing 52, a membrane 54, a pressurizable chamber, and a retaining ring 51 . The membrane 54 provides a mounting surface for the substrate 10. When the substrate 10 is chucked to the carrier head 50, the mounting surface directly contacts a back surface of the substrate 10. The membrane 54 is secured to a portion of the housing 52. The pressurizable chamber is located between the membrane 54 and the housing 52 and is pressurized using a fluid (gas or liquid) to engage the membrane 54 with the substrate 10, thereby urging a front surface of the substrate 10 against the polishing surface 62 of the polishing pad 60.
[0020] The retaining ring 51 is generally an annular ring that is secured to the carrier head 50. The retaining ring 51 fits into a load cup (not shown) for positioning, centering, and holding the substrate at a transfer station (not shown) of the polishing system 15.
[0021] The polishing system 15 may also include a substrate slip detection sensor 80. The substrate slip detection sensor 80 shines a light at the polishing surface 62 of the polishing pad 60 to detect the reflectivity. If the substrate 10 slips out of the carrier head 50 during processing or breaks up into shards, then there is a chance that the substrate 10 or the shards thereof will pass by the substrate slip detection sensor 80, which will cause an increase in reflectivity that is indicative of a presence of the substrate 10, and thus indicates that the substrate 10 is no longer within the carrier head 50. However, this sensor may not always detect the presence of the substrate 10 that has slipped out of the carrier head 50 or that the substrate 10 has broken up. For example, the shards or substrate 10 may not pass underneath the substrate slip detection sensor 80. Also, the lens of the substrate slip detection sensor may fog up over time, which affects the light beam. The threshold for detection of the substrate 10 (including shards thereof) may be lowered based on the degradation of the lens. The threshold may be lowered sufficiently such that the threshold is within the noise of reflectivity of the polishing surface 62 of the polishing pad 60 during polishing.
[0022] As will be described herein, the controller 70 analyzes telemetric outputs (e.g., data) of various components of the polishing system 15 with a slip detection algorithm to access if the substrate 10 has slipped from the carrier head 50 or if the substrate 10 has broken up into shards. Thus, the controller 70 can monitor for changes in behavior of the polishing system 15 to determine if the substrate 10 has slipped from the carrier head 50 independent of the substrate slip detection sensor 80. Thus, the controller 70 can analyze the telemetric outputs of various components as a backup (e.g., failsafe) to the substrate slip detection sensor 80 to determine a substrate slip condition even if such a condition is not detected by the substrate slip detection sensor 80.
[0023] The motor 17 of the head rotational actuator 12 applies a torque to the carrier head 50 during polishing. The torque causes the carrier head 50 to rotate byovercoming the friction between the substrate 10 chucked to the carrier head 50 and the polishing pad 60. Similarly, the pad rotational actuator 57 applies a torque to the platen 59 and polishing pad 60 during polishing. The torque causes the platen 59 and polishing pad 60 to rotate by overcoming the friction between the substrate 10 and the polishing surface 62. In some embodiments, the controller 70 uses a closed-loop control to operate the head rotational actuator 12 and the pad rotation actuator 57. The head rotational actuator 12 and the pad rotation actuator 57 interact due to the frictional interface between the carrier head 50 and the polishing surface 62. In other words, the controller 70 responds to the torque and rotational velocity caused by the head rotational actuator 12 and the pad rotation actuator 57 during polishing in attempt to maintain a desired rotational speed and rotational position of the carrier head 50 and a desired rotational speed and rotational position of the platen 59 and polishing pad 60 during polishing.
[0024] When the substrate 10 is within the carrier head 50, the frictional interface between the carrier head 50 and polishing pad 60 is the interface between the substrate 10 and the polishing surface 62. When the substrate 10 slips out of the carrier head 50, the membrane 54 may instead be in contact with the polishing pad 60 resulting in the frictional interface being between the membrane 54 and the polishing pad 60. Loss of the substrate 10 from the carrier head 50 causes a change in the friction resisting rotation of the carrier head 50 and resisting rotation of the polishing pad 60, such as a decrease in the friction. This change in friction results in a change, such as a spike, in the torque being applied to either the carrier head 50 and / or the platen 59 and polishing pad 60 by the respective actuator. The closed-loop control will eventually compensate for the change in friction to return the rotation of the carrier head 50 and polishing pad 60 back to desired levels if operation of the polishing system 15 is allowed to continue. Similarly, slippage of the substrate 10 may also cause a shift in the rotational position of the carrier head 50 and / or polishing pad 60 from an expected position due to the change in friction.
[0025] Breaking up of the substrate 10, such as breaking up into two or more shards, changes the friction resisting the rotation of the carrier head 50 and polishing pad 60. For example, breaking up of the substrate 10 can substantially increase thefriction. Additionally, the shards can damage the polishing system, such as degrading the polishing pad 60 and damaging the membrane 54. The change in friction registers a change in the torque applied to actuators. Similarly, the change in friction due to the shards can cause a shift in the rotational position of the carrier head 50 and / or polishing pad 60 from an expected position due to the change in friction.
[0026] The operation of the pad conditioner assembly 30 can be affected by the slipped or broken substrate 10. For example, the change in friction due to the slipped- out or broken substrate 10 can change the temperature of the polishing pad 60. This temperate change in the polishing pad 60 can affect the rotation of the conditioning disk 32, such as registering a change in the torque applied by the conditioning disk rotational actuator 34 to rotate the conditioning disk 32 and / or a shift in the rotational position of the conditioning disk 32 from an expected position. Similarly, the presence of the substrate 10 or shards of the substrate 10 within the path of the conditioning disk will interfere with the conditioning disk 32 as it sweeps across the polishing pad 60. For example, shards may increase the friction between the conditioning disk 32 and polishing surface which causes the conditioning disk rotational actuator 34 to apply more torque to maintain the desired rotational speed of the conditioning disk. Similarly, the presence of the substrate 10 or shards thereof can increase the difficulty of sweeping the conditioning disk 32.
[0027] The polishing system 15 may optionally include a temperature sensor 90, such as an infrared sensor, to monitor the temperature of the polishing pad 60. A change in the friction caused by a slipped out or broken substrate 10 causes a shift in the temperature from a temperature trend associated with the normal polishing of the substrate 10. For example, a slipped out substrate 10 may result in decrease in the temperature due to a decrease in friction whereas a substrate 10 that has broken into shards results in an increase in temperature due to an increase in friction.
[0028] The controller 70 is used to control the various components within the polishing system 15, such as the actuators 12, 57, actuators (not shown) used for the movement of the carrier head 50, pad conditioner assembly 30, and fluid delivery arm 31 , and all other systems and devices used to perform a polishing process. Forexample, the controller 70 can control the position and rotational speed of the platen59 and the carrier head 50.
[0029] In one or more embodiments, the controller 70 is configured to receive data or input as sensor readings from the current sensor 66, the current sensor 14, the platen motor encoder 73, the head motor encoder 71 , the temperature sensor 90, the conditioning motor encoder 75, the sweep conditioning motor encoder 83, or a combination thereof. The controller 70 includes a central processing unit (CPU) 92 (e.g., one or more processors), the memory 94 containing instructions, and support circuits 96 for the CPU 92. The controller 70 controls various items directly, or via other computers and / or controllers. In one embodiment which can be combined with other embodiments, the controller 70 is communicatively coupled to dedicated controllers, and the controller 70 functions as a central controller.
[0030] The controller 70 is one or more of any form of a general-purpose computer processor that is used in an industrial setting for controlling various substrate processing chambers and equipment, and sub-processors thereon or therein. The memory 94, or non-transitory computer readable medium, is one or more of a readily available memory such as random access memory (RAM), dynamic random access memory (DRAM), static RAM (SRAM), and synchronous dynamic RAM (SDRAM (e.g., DDR1 , DDR2, DDR3, DDR3L, LPDDR3, DDR4, LPDDR4, and the like)), read only memory (ROM), floppy disk, hard disk, flash drive, or any other form of digital storage, local or remote. The support circuits 96 of the controller 70 are coupled to the CPU 92 for supporting the CPU 92. The support circuits 96 include cache, power supplies, clock circuits, input / output circuitry and subsystems, and the like. Operational parameters and operations are stored in the memory 94 as a software routine that is executed or invoked to turn the controller 70 into a specific purpose controller to control the operations of the various chambers / modules described herein. The controller 70 is configured to conduct any of the operations described herein. The instructions stored in the memory, when executed, cause one or more of the operations (such as the operations of the method 300) described herein to be conducted in relation to the polishing system 15. The controller 70 and the polishing system 15 are at least part of a system for processing substrates.
[0031] The various operations described herein can be conducted automatically using the controller 70, or can be conducted automatically or manually with certain operations conducted by a user. The controller 70 is configured to adjust the output to the controls based on the sensor readings, a system model, and stored readings and calculations. The controller 70 includes embedded software and a compensation algorithm to calibrate measurements. The controller 70 can include one or more algorithms that detect errors (such as substrate slippage) for the processing operations. In one or more embodiments, the one or more algorithms include a slip detection algorithm.
[0032] The one or more algorithms may implement, adjust and / or refine one or more algorithms, inputs, outputs or variables described herein. Additionally or alternatively the one or more algorithms may rank or prioritize certain aspects of adjustments of the polishing system 15 and / or method(s) relative to other aspects of the polishing system 15 and / or method(s) (such as the method 300). The one or more algorithms may account for other changes within the processing systems such as hardware replacement and / or degradation. In one or more embodiments, the one or more algorithms account for upstream or downstream changes that may occur in the processing system due to variable changes of the polishing system 15 and / or method(s). For example, if variable “A” is adjusted to cause a change in aspect “B” of the process, and such an adjustment unintentionally causes a change in aspect “C” of the process, then the one or more algorithms may take such a change of aspect “C” into account. In such an embodiment, the one or more algorithms embody predictive aspects related to implementing the polishing system 15 and / or the method(s). The predictive aspects can be utilized to preemptively mitigate unintended changes within a processing system.
[0033] The one or more algorithms can use, for example, a comparison model to detect errors. The algorithm can be unsupervised or supervised. The one or more algorithms can detect, for example, processing errors such as substrate slippage.
[0034] In one or more embodiments, the controller 70 automatically conducts the operations described herein without the use of one or more algorithms. In one or more embodiments, the controller 70 compares measurements to data in a look-uptable and / or a library to identify processing errors and / or adjust one or more processing parameters. In one or more embodiments, the controller 70 stops the processing operation when one or more errors are detected. The controlled 70 can stored measurements as data in the look-up table and / or the library.
[0035] As discussed above, the controller 70 is in communication with the head motor encoder 71 to detect the position of the carrier head 50 and determine an error in the actual rotational (e.g., angular) position of the carrier head 50 relative to the expected position of the carrier head 50. The controller 70 is also in communication with the platen motor encoder 73 to detect the position of the platen 59 and polishing pad 60 and determine an error in the actual rotational position of the platen 59 relative to the expected position of the platen 59. The controller 70 may also be in communication with the conditioning motor encoder 75 and the sweep conditioning motor encoder 83 to detect the rotational position and sweep position of the conditioning disk and determine the error in the actual rotational (e.g., angular) position of the conditioning disk relative to the expected position of the conditioning disk. In some embodiments, the torque may be percentage of torque output by the actuator (e.g., 0% to 100% output) or in a numerical value of the torque.
[0036] In some embodiments, the controller 70 optionally includes a temperature sensor 90 to monitor the temperature of the polishing pad 60 registered by the temperature sensor 90.
[0037] If the substrate slip detection sensor 80 detects a slip condition, then the controller 70 faults the polishing system 15 so that remedial action can occur. However, the substrate slip detection sensor 80 is not always tripped by a slip condition. Therefore, in one embodiment of the disclosure a slip detection algorithm of the controller 70 is utilized to detect when a substrate has slipped from a carrier head. The slip detection algorithm can utilize any one of, or any combination of the following parameters, such as the carrier head torque, platen / pad torque, carrier head position error, platen position error, pad temperature, condition disk torque, condition disk position error, and / or change in condition disk sweep characteristic to determine if a substrate 10 has slipped from the carrier head 50 or broken up on the polishing pad 60. The controller 70 faults the polishing system 15 after the slip condition is detected,such after a brief period of analysis between detecting the slip condition and verifying the slip condition by further data processing. In some embodiments, the controller 70 faults the polishing system 15 when the slip condition is detected. In some embodiments, the temperature of the polishing pad 60 detected by the temperature sensor 90 is used to verify a slip condition assessed by the slip detection algorithm.
[0038] Sometimes one type of data monitored by the slip detection algorithm may exceed a threshold while others do not. For example, a change in the CMP polishing recipe may cause one of the inputs received by the controller 70 to trip a threshold. Thus, comparing multiple inputs to a respective threshold reduces false positives associated with normal recipe changes. In some embodiments, the slip detection algorithm detects a slip condition (e.g., the substrate 10 has slipped-out of the carrier head 50 or broken up) when two or more, such as three or more, of any combination of the carrier head torque, platen / pad torque, carrier head position error, platen position error, pad temperature, condition disk torque, condition disk position error, and / or change in condition disk sweep characteristic exceed an associated threshold. For example, the slip detection algorithm detects a slip condition when two or three of the carrier head torque, platen / pad torque, and platen position error exceed an associated threshold. As noted above, the temperature of the polishing pad 60 detected by the temperature sensor 90 can be used to verify a slip condition assessed by the slip detection algorithm.
[0039] The threshold that each data type (e.g., carrier head torque, platen / pad torque, carrier head position error, platen position error, pad temperature, condition disk torque, condition disk position error, and / or change in condition disk sweep characteristic, etc.) is compared against is based, in part, on the type of polishing pad 60, type of membrane 54, and polishing process conditions. Thus, the threshold may change for each recipe step in the polishing process if the polishing conditions change.
[0040] In some embodiments, the slip detection algorithm analyzes the input data (e.g., carrier head torque, platen / pad torque, etc.) over time using a plurality of rolling, overlapping, windows. Each window includes data that has been received over a period of time, such as 1 second, and includes a plurality of discrete samples of that data taken at intervals within the window. The windows are generally rolling windowsof time that overlap such that a portion of the sampled data in a first window is the same as a portion of the sampled data in a second window. For example, the first window of a plurality of windows may be over 1 second and include sequential data samples 1 -20. The second window may be over a second following the first sampled data point. In other words, the second window includes sequential data samples 2-21 . The third window may be over a second following the second sampled data point. In other words, the third window includes data samples 3-22. These overlapping windows cycle through the portion of the polishing process that the slip detection algorithm is active. The slip detection algorithm determines normalized data over the window, such as by determining the standard deviation of the data, and comparing the normalized data to the threshold. For example, the slip detection algorithm may determine a standard deviation of the values received in the data samples within the window to detect a substrate slip condition, such as determining that a slip condition is present when a determined standard deviation threshold has been exceeded for the data received within the window of time. Thus, individual excursions of a process parameter within a single data sample will not create a false error, since a standard deviation calculated for a group of data points will tend to average out the standard deviation value to better determine that an actual error exists versus a noise related excursion in the data sample. The standard deviation allows for the signal of the slip condition (e.g., exceeding the threshold) to stand out (e.g., being a larger spike) from conditions that are not associated with a slipped or broken substrate 10.
[0041] In some embodiments, the rolling, overlapping, windows are more or less than one second in length. The sampling frequency of one or more data inputs may be the same or different.
[0042] In some embodiments, the slip detection algorithm waits until the end of the window within which the slip condition is detected to choose (e.g., trigger) to fault the polishing system 15 to facilitate data analysis to confirm that the substrate 10 has slipped or broken up. In some embodiments, the slip detection algorithm faults the polishing system 15 as soon as a substrate slip condition is detected without waiting until the end of the time window in which the substrate slip condition was detected. Inother words, the slip detection algorithm can fault the polishing system 15 regardless of the slip condition being detected within a window.
[0043] Figure 2 illustrates an exemplary schematic of the timing of the slip detection algorithm during a step in the polishing process, such as the main polishing step. Each of the time curves shown extends over a portion of a polishing process, with a step change (e.g., binary step change) showing a change in conditioning happening within the curve.
[0044] Dashed line 201 passing through the curves illustrates an event when a slip condition has occurred, such as when the substrate 10 slips from the carrier head 50.
[0045] Curve 210 shows a duration of a polishing process performed on a substrate. The step up and step down in the curve 210 represent starting and stopping, respectively, that defined the beginning and end of actively polishing a substrate 10.
[0046] Curve 250 shows the time that a substrate slip detection sensor 80 is monitoring for a slip condition while the substrate 10 is being actively polished. As shown, the substrate slip detection sensor 80 failed to detect slip condition, which is why the curve 250 remains flat.
[0047] Curve 220 shows when the slip detection algorithm is activated by the controller 70. The step up and step down in the curve 220 represent activating and deactivating, respectively, the slip detection algorithm. In some embodiments, the activation and deactivation of the slip detection algorithm is offset or otherwise prevented (e.g., debounced) from stopping and starting the polishing step. For example, the curve 220 shows that the activation of the slip detection algorithm is delayed by a first debounce period 221 relative to the start of active polishing and is deactivated prior to the end of the active polishing by a second debounce period 222. The first and second debounce period 221 , 222 may be included to exclude monitoring during chucking and dechucking, respectively, the substrate 10 to the carrier head 50.
[0048] Curve 230 represents when the slip detection algorithm determines (e.g., triggers) that the slip condition is present, which is indicated by the step up in the curve230. As shown, there are a plurality of rolling, overlapping, windows 231 that start when the algorithm is activated. As shown in Figure 2, the slip condition occurs in the last window 231 . As shown, the slip detection algorithm does not automatically trigger the detection of the slip condition. Rather, the slip detection algorithm waits until the end of the window 231 that slip condition candidate was detected within to trigger the slip condition. Once the slip condition is triggered, the controller 70 faults the polishing system 15 as shown by the step up in curve 240. There may be a delay in triggering the slip condition and the controller 70 faulting the polishing system 15 as shown in Figure 2.
[0049] Figure 3 is a schematic block diagram of a method 300 of determining a slip condition, according to one or more embodiments. The method 300 may be performed using one or more components of the polishing system 15 described herein.
[0050] Operation 302 of the method 300 includes initiating a polishing operation. The polishing operation includes holding the substrate 10 against the polishing pad 60 with the carrier head 50. The polishing operation further includes rotating the platen 59 and the carrier head 50. In one or more embodiments, the polishing operation further includes flowing a polishing fluid a fluid delivery arm 31 onto the polishing surface 62 of the polishing pad 60. In one or more embodiment, the polishing fluid is a polishing slurry having abrasive particles suspended therein. During operation 302, as the substrate 10 is pressed against the polishing pad 60, the polishing fluid helps polish the substrate 10 as the platen 59 and the carrier head 50 are rotated.
[0051] Operation 304 of the method 300 includes collecting signal data from one or more sensors within the polishing system while the polishing operation is being performed. The one or more sensors detect one or more processing parameters during the polish operation, and convert the one or more processing parameters into electronic signal data. The electronic signal data is sent from the one or more sensors to the controller 70. The one or more sensors include the current sensor 66, the current sensor 14, the platen motor encoder 73, the head motor encoder 71 , the temperature sensor 90, the conditioning motor encoder 75, the sweep conditioning motor encoder 83, or a combination thereof. In one or more embodiments, the controller 70continuously collects and receives the electronic signal data from the one or more sensors during the polishing process.
[0052] The one or more processing parameters include the torque applied to the head rotational actuator 12, the pad rotational actuator 57, or a combination thereof. In one or more embodiments, the current sensor 66 (e.g., platen motor sensor) is used to detect a change in torque applied to the platen 59 by the pad rotational actuator 57. The current sensor 14 (e.g., carrier head motor sensor) is used to detect a change in torque applied to the head rotational actuator 12. The current sensors 14, 66 measure the torque applied to the actuators 12, 57 by measuring the electrical current used by the actuators 12, 57 during operation. The current sensors 14, 66 convert the measurements into electronic signal data that is sent to the controller 70.
[0053] In one or more embodiments, the one or more processing parameters further include rotational position of the platen 59, the carrier head 50, or a combination thereof. In one or more embodiments, the platen motor encoder 73 detects the rotational position of the platen 59 during a polishing process. The head motor encoder 71 detects the rotational position of the carrier head 50 during a polishing process. The encoders 71 , 73 convert the positions of the carrier head 50 and / or the platen 59, into an electronic signal data that is sent to the controller 70.
[0054] In one or more embodiments, the one or more processing parameters further include rotational position of the conditioning disk rotational actuator 34, the pad conditioner sweep actuator 82, or a combination thereof. In one or more embodiments, the conditioning motor encoder 75 detects the rotational position of the conditioning disk rotational actuator 34 during a polishing process. The sweep conditioning motor encoder 83 detects the rotational position of the pad conditioner sweep actuator 82 during a polishing process. The conditioning motor encoder 75 and / or the sweep conditioning motor encoder 83 convert the positions of the conditioning disk rotational actuator 34 and / or the pad conditioner sweep actuator 82, into an electronic signal data that is sent to the controller 70.
[0055] In one or more embodiments, the one or more processing parameters further include the temperature of the polishing pad 60. The temperature sensor 90detects the temperature of the polishing pad 60 during a polishing process. The temperature sensor 90 converts the temperature of the polishing pad 60 into an electronic signal data that is sent to the controller 70.
[0056] Operation 306 includes comparing the signal data generated in operation 304 to one or more threshold values. In one or more embodiments, the threshold values are predefined values stored within memory of the controller. In one or more embodiments, comparing the electronic signal data to one or more threshold values includes comparing a difference between the actual rotational position of the platen 59 during the polishing operation and an expected rotational position of the platen 59 during the polishing operation to determine a positional error of the platen 59. In one or more embodiments, comparing the electronic signal data to one or more threshold values includes comparing the difference between the actual rotational position of the carrier head 50 during the polishing operation and an expected rotational position of the carrier head 50 during the polishing operation to determine a positional error of the carrier head 50.
[0057] In one or more embodiments, comparing the electronic signal data to one or more threshold values includes comparing a difference between the actual rotational position of the conditioning disk 32 during the polishing operation and an expected rotational position of the conditioning disk 32 during the polishing operation to determine a positional error of the conditioning disk 32. In one or more embodiments, comparing the electronic signal data to one or more threshold values includes comparing a difference between the actual sweep position of the conditioning disk 32 during the polishing operation and an expected sweep position of the conditioning disk 32 during the polishing operation to determine a sweep positional error of the conditioning disk 32.
[0058] In one or more embodiments, the one or more threshold values include the standard deviation of the torque applied to the actuators 12, 57. In one or more embodiments, the controller 70 determines the standard deviation of the torque applied to the head rotational actuator 12, the pad rotational actuator 57, or a combination thereof by analyzing the electronic signal data generated by the current sensor 14, the current sensor 66, or a combination thereof. The controller 70 analyzesthe electronic signal data for a plurality of rolling, overlapping, windows. The controller 70 uses a slip detection algorithm to determine the standard deviation. In one or more embodiments, comparing the electronic signal data to one or more threshold values includes determine a standard deviation of the torque applied to the actuators 12, 57 and comparing the electronic signal data of the torque applied to the actuators 12, 57 to the standard deviation to determine if the torque applied to the head rotational actuator 12 and / or the pad rotational actuator 57 exceeds the threshold standard deviation at any point in time.
[0059] Operation 308 includes determining whether the substrate has slipped during the polishing process. Determining whether the substrate 10 has slipped during the polish process includes analyzing the results of the comparisons generated in operation 306. The controller 70 determines the substrate 10 has slipped when at least two of the monitored processing parameters exceed their respective threshold values. This multi-parameter approach reduces the likelihood of false positives that might arise from transient fluctuations in a single parameter. For example, simultaneous exceedance of thresholds in both the carrier head torque and the rotational position of the platen 59 will result in the controller 70 determining that the substrate 10 has slipped. If only the carrier head torque exceeds the threshold, then the controller 70 will not determine that the substrate 10 has slipped. In one or more embodiments, if the controller 70 determines that the substrate 10 has slipped then the controller will stop the polishing process and / or generate an error message.
[0060] Embodiments of the disclosure provide an apparatus and methods for analyzing data from various components of the polishing system to detect when a substrate has slipped out from under a carrier head of a chemical mechanical polishing (CMP) system. Detecting when the substrate has slipped and / or broken allows CMP system to be stopped after the substrate has slipped which prevents one or more components of the CMP system from getting damaged.
[0061] It is contemplated that one or more aspects disclosed herein may be combined. As an example, one or more aspects, features, components, operations and / or properties of the polishing system 15 the platen 59, the polishing pad 60, the controller 70, the carrier head 50, the substrate 10, the pad rotational actuator 57, themotor 68, the power source 67, the current sensor 66, the platen motor encoder 73, the head rotational actuator 12, the motor 17, the current sensor 14, the head motor encoder 71 , the fluid delivery arm 31 , the pad conditioner assembly 30, the conditioning disk 32, the conditioning motor encoder 75, the conditioning disk rotational actuator 34, the substrate slip detection sensor 80, and / or the method 300 may be combined. Moreover, it is contemplated that one or more aspects disclosed herein may include some or all of the aforementioned benefits.
[0062] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims
What is claimed:1 . A polishing system, comprising: a platen assembly comprising: a polishing pad disposed over a platen; a platen motor that is configured to rotate the platen and comprises a platen motor encoder; and a platen motor sensor configured to detect an amount of platen motor current required to generate a platen motor torque during a polishing process; a carrier head assembly comprising: a carrier head configured to urge a substrate against a surface of the polishing pad during the polishing process; a head motor that is configured to rotate the carrier head and comprises a head motor encoder; and a carrier head motor sensor configured to detect an amount of carrier head motor current required to generate a carrier head motor torque during the polishing process; and a controller comprising a memory that includes a slip detection algorithm which when executed by a processor of the controller is configured to perform a method during the polishing process, wherein the method comprises: initiating the polishing process, wherein initiating the polishing process causes the carrier head to urge the substrate against the surface of the polishing pad; receiving signal data from at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, and the carrier head motor sensor; comparing the received signal data from the at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, and the carrier head motor sensor with a respective threshold value stored in the memory; and determining that the substrate has slipped when at least two of the received signal data exceed a respective threshold value amount.
2. The polishing system of claim 1 , wherein the platen motor encoder detects a rotational position of the platen during the polishing process.
3. The polishing system of claim 1 , wherein the head motor encoder detects a rotational position of the carrier head during the polishing process.
4. The polishing system of claim 1 , further comprising: a pad conditioner assembly comprising: a conditioning disk; a conditioning disk rotational actuator configured to rotate the conditioning disk around a rotational axis; a pad conditioner sweep actuator configured to sweep the conditioning disk across the platen; a conditioning motor encoder; and a sweep conditioning motor encoder.
5. The polishing system of claim 4, wherein the conditioning motor encoder detects a rotational position of the conditioning disk rotational actuator during a pad conditioning process.
6. The polishing system of claim 4, wherein the sweep conditioning motor encoder detects a rotational position of the pad conditioner sweep actuator during a pad conditioning process.
7. The polishing system of claim 1 , further comprising a temperature sensor configured to monitor a temperature of the polishing pad.
8. A method of polishing a substrate comprising: initiating a polishing process, wherein initiating the polishing process causes a carrier head to urge a substrate against a surface of a polishing pad; receiving signal data from at least two of a platen motor encoder, a head motor encoder, a platen motor sensor, a carrier head motor sensor, a temperature sensormeasuring a pad temperature, an encoder of a pad conditioner sweep actuator, and an encoder of a conditioning disk rotational actuator; comparing the received signal data from the at least two of the platen motor encoder, the head motor encoder, the platen motor sensor, the carrier head motor sensor, the temperature sensor measuring the pad temperature, the encoder of the pad conditioner sweep actuator, and the encoder of the conditioning disk rotational actuator with a respective threshold value stored in a memory; and determining that the substrate has slipped when at least two of the received signal data exceed a respective threshold value amount.
9. The method of claim 8, wherein the signal data comprises a rotational position of a platen detected by the platen motor encoder.
10. The method of claim 8, wherein the signal data comprises a rotational position of the carrier head detected by the head motor encoder.11 . The method of claim 8, wherein the signal data comprises a torque applied to a platen detected by the platen motor sensor.
12. The method of claim 8, wherein the signal data comprises torque applied to the carrier head detected by the carrier head motor sensor.
13. The method of claim 8, wherein comparing the received signal data comprises: determining a standard deviation of a torque applied to a head rotational actuator, a pad rotational actuator, or a combination thereof; analyzing the signal data for a window of time; and comparing the signal data to the standard deviation to determine if the signal data exceeds the standard deviation.
14. The method of claim 8, wherein comparing the received signal data comprises comparing a difference between an actual rotational position of a platen and an expected rotational position of the platen to determine a positional error of the platen.
15. The method of claim 8, wherein comparing the received signal data comprises comparing an actual rotational position of the carrier head and an expected rotational position of the carrier head to determine a positional error of the carrier head.
16. A controller comprising instructions that cause a plurality of operations to be conducted, the plurality of operations comprising: initiating a polishing process, wherein initiating the polishing process causes a carrier head to urge a substrate against a surface of a polishing pad; receiving signal data from at least two of a platen motor encoder, a head motor encoder, a platen motor sensor, and a carrier head motor sensor; comparing the received signal data from the at least two of the platen motor encoder, head motor encoder, platen motor sensor, and carrier head motor sensor with a respective threshold value stored in a memory; and determining that the substrate has slipped when at least two of the received signal data exceed a respective threshold value amount.
17. The controller of claim 16, wherein the signal data comprises a rotational position of a platen detected by the platen motor encoder.
18. The controller of claim 16, wherein the signal data comprises a rotational position of the carrier head detected by the head motor encoder.
19. The controller of claim 16, wherein the signal data comprises a torque applied to a platen detected by the platen motor sensor.
20. The controller of claim 16, wherein the signal data comprises torque applied to the carrier head detected by the carrier head motor sensor.
Citation Information
Patent Citations
Information processing device, inference device, machine learning device, information processing method, inference method, and machine learning method
JP2023116396A
Method and apparatus for a system interlock in achemical mechanical polishing process
KR1020010026088A
Substrate polishing apparatus and method for treating thereof
KR1020110013896A
Package on package(POP) type semiconductor package
KR102728190B1
Polishing apparatus, control method and recording medium
US20170173756A1