Detection of malfunction of CMP component using time-based series of images
A system using time-based image sequences and algorithms detects CMP component malfunctions in real-time, enhancing operational efficiency and quality by correcting deviations in CMP components.
Patent Information
- Application Number
- JP2025094523
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-03-05
- Filing Date
- 2025-06-06
- Publication Date
- 2025-10-01
- Estimated Expiration
- 2042-02-23
AI Technical Summary
Conventional methods for monitoring CMP components during polishing operations are inadequate in detecting malfunctions in real-time, particularly when multiple components interact dynamically, leading to uneven polishing profiles and potential equipment failure.
A system utilizing time-based image sequences from cameras to capture and analyze the operations of CMP components, employing image processing or machine learning algorithms to detect deviations from expected behavior and generate alerts or adjustments to correct malfunctions.
Enables efficient, accurate, and timely detection of component malfunctions, improving product quality, reducing costs, and streamlining polishing operations by analyzing dynamic interactions among components in real-time.
Smart Images

Figure 2025143283000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to chemical mechanical polishing (CMP), and more particularly to detecting malfunctions of CMP components using a time-based series of images (eg, video images). [Background technology]
[0002] Integrated circuits are typically formed on a substrate (eg, a semiconductor wafer) by sequentially depositing conductive, semiconductive, or insulating layers on the silicon wafer and processing subsequent layers.
[0003] One manufacturing step involves depositing a filler layer on a non-planar surface and planarizing the filler layer. In certain applications, the filler layer is planarized until the top surface of the patterned layer is exposed or a desired thickness remains on the underlying layer. Furthermore, planarization can be used to planarize the substrate surface for lithography, e.g., of a dielectric layer.
[0004] Chemical-mechanical polishing (CMP) is one commonly accepted method of planarization. This planarization method typically requires that a substrate be mounted on a carrier head. The exposed surface of the substrate is applied to a rotating polishing pad. The carrier head exerts a controllable load on the substrate to press it against the polishing pad. In some situations, the carrier head includes a membrane that forms multiple independently pressurizable radially concentric chambers, with the pressure in each chamber controlling the polishing rate at each corresponding region on the substrate. A polishing liquid, such as a slurry having abrasive particles, is supplied to the surface of the polishing pad.
[0005] Image processing involves processing one or more image frames using a variety of algorithms, including image compression, image filtering, image storage, and image comparison. Image comparison can specialize in noise reduction, image matching, image encoding, and restoration and can be performed by one or more computers at one or more locations using one or more image comparison algorithms. Image comparison algorithms can determine the level of similarity or difference between one or more images based on image characteristics, such as pixel values representing brightness, color, and transparency, or metric distances (e.g., Hausdorff distance or other suitable distances) that measure the distance between sets of components within an image or across different image frames, or feature kernels that represent local image patches and are used to match features between images. Image comparison algorithms can be further aided by any suitable preprocessing steps, such as pixel intensity adjustment, normalization, or homomorphic filtering, to name just a few.
[0006] Video images can also be processed using machine learning algorithms. A neural network is a machine learning model that uses one or more layers of nonlinear units to predict an output for a received input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as the input to the next layer in the network, i.e., the next hidden layer or the output layer. Each layer of the network generates an output from the received input according to the current values of its respective set of parameters. Summary of the Invention
[0007] In one embodiment, monitoring the operation of the polishing system includes acquiring a time-based series of reference images of components of the polishing system performing operations during a test operation of the polishing system, receiving from a camera a time-based series of monitoring images of equivalent components of an equivalent polishing system performing operations during polishing of a substrate, determining a difference value for the time-based series of monitoring images by comparing the time-based series of monitoring images with the time-based series of reference images using an image processing algorithm, determining whether the difference value exceeds a threshold value, and indicating an operational malfunction in response to determining that the difference value exceeds the threshold value.
[0008] In another aspect, monitoring operation of the polishing system includes receiving from a camera a time-based series of monitoring images of components of the polishing system performing operations during polishing of a substrate, inputting the time-based series of monitoring images for analysis into a machine learning model trained with training examples to detect component malfunctions from expected operations, and receiving from the machine learning model an indication of the component malfunction from expected operations, wherein the training examples include a time-based series of reference images of a reference component of a reference polishing system performing operations during a test operation.
[0009] Embodiments may include one or more of the following features: The component may be one of a carrier head, a conditioner arm, a load cup, a platen, or a robot arm. An alarm may be generated in response to determining that the difference exceeds a threshold value or in response to an indication of malfunction. Respective time-based series of reference images encompassing multiple components of the polishing system performing operations during respective test operations of the polishing system may be stored, and a time-based series of monitoring images encompassing one or more equivalent components of an equivalent polishing system performing operations during polishing of a substrate may be received from a camera, and a respective difference value may be determined for each equivalent component of the monitoring images by comparing the time-based series of monitoring images with the time-based series of reference images using an image processing algorithm. For each of the one or more equivalent components, it may be determined whether the respective difference value of the equivalent component exceeds the respective threshold value of the equivalent component, and in response to determining that the respective difference value exceeds the respective threshold value, a malfunction of the equivalent component may be indicated.
[0010] Certain embodiments may include, but are not limited to, one or more of the following possible advantages.
[0011] The techniques described can aid in efficient and accurate performance analysis of components in a polishing apparatus.
[0012] First, the described techniques can enable analysis of the operation of multiple components within a polishing apparatus as they dynamically perform their respective operations interacting with one another. In contrast to conventional image processing techniques that analyze static components individually, the described techniques can analyze and detect malfunctions in the operation of one or more components in real time based on a time-based series of images (e.g., video frames). The described techniques further enable and provide accurate analysis of component operation in situ, rather than simply analyzing each static component individually.
[0013] Second, sensor data obtained from an in-situ monitoring system configured to monitor the polishing of substrates need not be used. Instead, the described techniques enable efficient overall analysis of one or more components captured in the video images. Additionally or additionally, the described techniques can combine analytical data with sensor data, or can provide analysis of the video images as an alternative or independent check of components in addition to existing techniques for a more accurate analysis or diagnostic process.
[0014] Additionally, the described techniques can generate notifications or alerts indicating any detected malfunction of one or more components within the polishing apparatus, enabling rapid and timely, human-mediated or automatic control adjustments to correct the detected malfunction of one or more components. The described techniques can ultimately improve product quality, reduce costs, and streamline polishing apparatus operations.
[0015] The described techniques can also store video images capturing the operation of one or more components, and can allow the stored video images to be revisited for later troubleshooting or failure analysis, leading to more accurate diagnoses.
[0016] Furthermore, the described techniques are easy to set up, implement, and scale up. The described techniques can be adapted to any suitable polishing apparatus without requiring significant modifications to accommodate one or more image sensors. The described techniques receive video images of one or more components in a reference polishing apparatus performing operations according to a set of reference instructions as a solo benchmark, and can utilize either image processing or machine learning algorithms to analyze and detect malfunctions in component operation. The described techniques can be scaled up to accommodate a larger number of components, as long as the captured video images can encompass these components. Thus, the described techniques can be readily scaled up with image sensors capable of capturing a larger number of components with satisfactory resolution.
[0017] The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a schematic cross-sectional view of an exemplary polishing apparatus. [Figure 2] FIG. 2 is a schematic cross-sectional view of an exemplary load cup with an exemplary carrier head. [Figure 3] 1 is a schematic top view of an exemplary polishing apparatus. [Figure 4] 1 is a flow diagram illustrating an exemplary process for video image-based malfunction detection using image processing. [Figure 5] 1 is a flow diagram illustrating an example process for video image-based malfunction detection using machine learning. DETAILED DESCRIPTION OF THE INVENTION
[0019] Like reference numbers and designations in the various drawings indicate like elements.
[0020] In an ideal process, each component of a polishing apparatus performs operations cooperatively under a set of instructions to polish a substrate so that the substrate can have a uniform thickness after polishing. However, in reality, one or more components of a polishing apparatus may perform operations that deviate from their respective instructions. This may result in an uneven polishing profile of the substrate being polished, collisions of one or more components within the apparatus, and even equipment failure. To avoid these consequences caused by malfunctions of one or more components, it is beneficial to monitor the real-time component operations in the polishing apparatus, detect malfunctions of one or more components, and timely adjust one or more components to restore operation.
[0021] Conventionally, one or more sensors may be incorporated into a polishing apparatus to monitor one or more components within the apparatus by measuring one or more characteristics of the processing elements or the substrate. To name just a few, an optical or eddy current in-situ monitoring system may monitor the thickness of a layer on a substrate during polishing, or a thermal sensor may measure the temperature of the polishing pad during polishing. While data from a system monitoring a substrate during polishing can provide some information, this may not be sufficient to detect or analyze deviations of system components from their expected behavior, especially when there are multiple components within the polishing apparatus.
[0022] Furthermore, some conventional techniques statically monitor and acquire sensor data for analysis while one or more components of a polishing apparatus are performing in-situ operations, rather than dynamically monitoring the components. These conventional techniques acquire image data of the static components and analyze the static components based on the acquired image data. The image data can include, for example, a bottom surface contour of a static retaining ring acquired through a coordinate measurement machine (CMM) to analyze the polished edge region of a substrate.
[0023] The techniques described below can potentially alleviate one or more of the aforementioned problems. A system or polishing apparatus employing the described techniques can use one or more video sensors (e.g., cameras) to obtain a time-based series of reference images of a reference component in a reference polishing apparatus and capture a time-based series of monitoring images of an equivalent component in an equivalent polishing apparatus. The time-based series of images are captured as the one or more components perform their respective operations. The system can analyze the captured image frames between the reference component and the equivalent component to determine malfunctions in real time. In response to determining a malfunction, the system can generate a notification, such as a warning indicating the malfunction in a user interface component. The system can further instruct the polishing apparatus to adjust the operation of one or more components to correct the malfunction. Optionally, the system can also terminate at least some of the operations performed on the polishing apparatus. To determine the malfunction, the system can employ various algorithms executed by one or more computers at one or more locations. The algorithms include any suitable image processing or machine learning algorithms.
[0024] In some embodiments, the captured image frame may include one or more reference components, and the system may analyze multiple equivalent components within a subset of the captured reference components in the captured reference image frame.
[0025] More specifically, the polishing apparatus components include a robot arm, a load cup, a conditioner arm, a transfer station, a carrier head, a slurry arm, a platen, and one or more motors for driving the rotation of the carrier head and the platen. The operation of these components is interactive. For example, the robot arm interacts with the load cup in a manner configured to allow the robot arm to pick up a substrate from a cassette and place it horizontally (i.e., with the top or bottom surface of the substrate facing a substantially vertical position) on the pedestal of the load cup. As another example, the carrier head interacts with the load cup in a manner configured to pick up a substrate away from the pedestal of the load cup. The detailed structure and operation of each component in the polishing apparatus are described below.
[0026] The polishing apparatus can control one or more of the components therein to perform their respective operations according to a set of instructions. The set of instructions can include a plurality of parameters predetermined by a user or automatically by the polishing apparatus to control the operation of each component. The plurality of parameters can include, for example, data specified to control the position, or operation of a component, or changes in physical fields within a component. More specifically, the data can be the wheel speed of the carrier head for rotation about the axis of rotation of the carrier head, or the flow rate of slurry dispensed at the nozzle of the slurry arm, to name just a few.
[0027] A polishing apparatus can have different sets of instructions with different parameters according to different polishing requirements. The set of instructions is also referred to as a recipe for the polishing apparatus in the following description. A recipe that, when accurately executed by the components of the polishing apparatus, can cause the polishing apparatus to polish one or more substrates to substantially meet specific polishing requirements can also be referred to as a "golden recipe." The golden recipe can be different between different polishing apparatuses having different components to meet the same polishing requirements. Ideally, the golden recipe can be adopted between equivalent polishing apparatuses under the same polishing requirements.
[0028] The term "equivalent" is used above and throughout the specification to denote a level of substantial similarity. More specifically, a polishing apparatus equivalent to a reference apparatus can have substantially the same overall dimensions, structural design, number and type of components (i.e., equivalent components), and operational pipeline as the reference apparatus. As an extreme example, an equivalent polishing apparatus can ideally be an identical copy of the reference apparatus (e.g., one of the products in the same production batch), or the same model, or the same model with one or more optional add-ons or minor modifications, or can have a slightly different number of one or more equivalent components but still maintain substantially the same operation. Equivalent components of a reference component can be similarly described as equivalent polishing apparatus. More specifically, equivalent components can be the same polishing components as the reference component. Alternatively, equivalent components can be substantially identical to the reference component, with optional add-ons or minor modifications and maintaining substantially the same operation as the reference component.
[0029] The term "malfunction" used above and throughout the specification refers to a deviation between the measured behavior of a component and the behavior of a reference component. Because the reference component is assumed to operate accurately according to a predetermined recipe, the malfunction is associated only with the equivalent component. For example, a process malfunction can be quantified between the captured motion of the equivalent component and the corresponding reference motion of the reference component at one or more time steps. As another example, a process malfunction can be quantified between the measured slurry flow rate from an equivalent nozzle and the corresponding reference flow rate at the reference slurry nozzle. The quantified difference can be output from different algorithms that process captured video images, such as video image processing or machine learning algorithms. A process malfunction can be determined through various algorithms by determining the difference between captured image frames of the reference component operating on the reference polishing apparatus and the equivalent component operating on the equivalent polishing apparatus and comparing the difference to a predetermined threshold. If the determined difference exceeds the predetermined threshold, the system or polishing apparatus detects a malfunction of the equivalent component.
[0030] FIG. 1 is a schematic cross-sectional view of an exemplary polishing apparatus 20. The polishing apparatus 20 includes a rotatable, disk-shaped platen 24 on which a polishing pad 30 rests. The platen 24 is operable to rotate about an axis 25 (see arrow A in FIG. 3 ). For example, a motor 22 can rotate a driver shaft 28 to rotate the platen 24. The polishing pad 30 can be a two-layer polishing pad having an outer polishing layer 34 and a softer backing layer 32. The polishing apparatus 20 can include a supply port, for example, at the end of a slurry supply arm 39, for applying a polishing fluid 38, e.g., a polishing slurry, to the polishing pad 30.
[0031] 3, polishing apparatus 20 can include a pad conditioner 90 having a conditioner disk 92 to maintain the surface roughness of polishing pad 30. Conditioner disk 92 can be positioned within a conditioner head 93 at the end of a conditioner arm 94. Arm 94 and conditioner head 93 are supported by a base 96.
[0032] Conditioner arm 94 can swing to sweep conditioner head 93 and conditioner disc 92 sideways across polishing pad 30 .
[0033] Referring back to FIG. 1, the polishing apparatus 20 can also include a carrier head 70 that operates to apply the substrate 10 to the polishing pad 30 .
[0034] Carrier head 70 is suspended from a support structure 72, e.g., a carousel or track, and is connected by a driver shaft 74 to a carrier head rotation motor 76 so that the carrier head can rotate about axis 71. Optionally, carrier head 70 can be oscillated laterally by movement along the track or by rotational oscillation of the carousel itself, e.g., on a slider on the carousel.
[0035] Carrier head 70 may include a flexible membrane 80 having a substrate mounting surface for contacting the backside of substrate 10 and a plurality of pressurizable chambers 82 for applying different pressures to different zones, e.g., different radial zones, on substrate 10. Carrier head 70 may include a retaining ring 84 for holding the substrate. In some embodiments, retaining ring 84 may include a lower plastic portion 86 that contacts the polishing pad and an upper portion 88 of a harder material, e.g., metal.
[0036] During operation, platen 24 is rotated about its central axis 25. The carrier head is rotated about its central axis 71 (see arrow B in FIG. 3) and translated laterally across the top surface of polishing pad 30 (see arrow C in FIG. 3).
[0037] The polishing apparatus 20 also includes a transfer station for loading and unloading substrates from the carrier head 70 (see FIG. 2).
[0038] The transfer station may include multiple load cups 8, e.g., two load cups, adapted to facilitate transfer of substrates between the carrier head 70 and a factory interface (not shown) or another device (not shown) by a transfer robot arm (not shown).
[0039] The load cup 8 generally facilitates transfer between the robot arm and each carrier head 70 by loading and unloading the carrier heads 70 .
[0040] 2 is a schematic cross-sectional view of an exemplary load cup 8 with an exemplary carrier head 70. As shown in FIG. 2, each load cup 8 includes a pedestal 204 for holding a substrate 10 during the loading / unloading process. The load cup 8 also includes a housing 206 that surrounds or substantially surrounds the pedestal 204.
[0041] The actuator provides relative vertical movement between the housing 206 and the carrier head 70. For example, the shaft 210 can support the housing 206 and can be vertically actuable to raise and lower the housing 206. Alternatively or additionally, the carrier head 70 can move vertically. The pedestal 205 can be axial with the shaft 210. The pedestal 204 can be vertically movable relative to the housing 206.
[0042] In operation, carrier head 70 may be placed on load cup 8 and housing 206 may be raised (or carrier head 70 may be lowered) so that carrier head 70 is partially within cavity 208. Substrate 10 may start on pedestal 204 and be chucked onto carrier head 70, and / or may start on carrier head 70 and be dechucked onto pedestal 204.
[0043] The load cup 8 may further include nozzles for supplying steam for cleaning and / or preheating the carrier head 70 and substrate 10. The polishing apparatus 20 may adjust steam temperature, pressure, and flow rate to vary the cleaning and preheating of the carrier head 70 and substrate 10. In some embodiments, the temperature, pressure, and / or flow rate may be independently adjustable for each nozzle or between groups of nozzles. The flow rate of the nozzles in the load cup 8 may be between 1 and 1000 cc / min, depending on the heater power and pressure.
[0044] 1 , the polishing apparatus 20 may also include a temperature control system 100 to control the temperature of the polishing pad 30 and / or the slurry 38 on the polishing pad. The temperature control system 100 may include a cooling system 102 and / or a heating system 104. At least one of the cooling system 102 and the heating system 104, and in some embodiments, both, operate by supplying a temperature-controlled medium, such as a liquid, vapor, or spray, onto the polishing surface 36 of the polishing pad 30 (or to a polishing liquid already present on the polishing pad).
[0045] The cooling system 102 may include a liquid coolant medium source 130 and a gas source 132 (see FIG. 3 ). The cooling system 102 or heating system 104 may include an arm 110 that extends over the platen 24 and polishing pad 30 from the edge of the polishing pad to or at least near the center of the polishing pad 30 (e.g., within 5% of the overall radius of the polishing pad). The arm 110 may be supported by a base 112, which may be supported on the same frame 40 as the platen 24. The base 112 may include one or more actuators, such as a linear actuator for raising or lowering the arm 110 and / or a rotary actuator for swinging the arm 110 sideways over the platen 24. The arm 110 is positioned to avoid collisions with other hardware components, such as the carrier head 70, the pad conditioning disk, and the slurry dispensing arm 39.
[0046] The exemplary cooling system 102 includes a plurality of nozzles 120 suspended from an arm 110. Each nozzle 120 is configured to spray a liquid coolant medium, such as water, onto the polishing pad 30. The arm 110 may be supported by a base 112 such that the nozzles 120 are separated from the polishing pad 30 by a gap 126.
[0047] FIG. 3 is a schematic top view of an exemplary polishing apparatus 20. As previously described with respect to FIG. 1, the polishing apparatus may include a heating system 102, a cooling system 104, and a rinsing system 106. As shown in FIG. 3, the polishing apparatus may include separate arms for each of these systems. Each system may be actuated by a respective actuator. Alternatively, the various subsystems may be included in a single assembly supported by a common arm and a common actuator.
[0048] Similar to the cooling system 102, the heating system 104 is connected to a heating medium tank having a heating medium, which may include a gas, e.g., steam (e.g., from a steam generator 410) or hot air, or a liquid, e.g., hot water, or a combination of gas and liquid. The heating system 104 may include multiple nozzles and an arm that extends over the platen 24 and polishing pad 30 and is supported by a base 142. The base 142 may be supported on the same frame 40 as the platen 24. The base 142 may include an actuator, e.g., a linear actuator for raising or lowering the arm 140 and / or a rotary actuator for swinging the arm 140 sideways over the platen 24. The arm is positioned to avoid collisions with other hardware components, such as the polishing head 70, the pad conditioning disc 92, and the slurry dispensing arm 39.
[0049] Similar to both the cooling system and the heating system, the high-pressure rinse system 106 includes a plurality of nozzles connected to a cleaning fluid tank 156 and configured to direct a cleaning fluid, e.g., water, at high intensity onto the polishing pad 30 to rinse the pad 30 and remove used slurry, polishing debris, etc.
[0050] 3, the exemplary rinse system 106 includes an arm that extends over the platen 24 and is supported by a base 152, which may be supported on the same frame 40 as the platen 24. The base 152 may include one or more actuators, such as a linear actuator for raising or lowering the arm 150 and / or a rotary actuator for swinging the arm 150 sideways over the platen 24. The arm 150 is positioned to avoid collisions with other hardware components, such as the polishing head 70, the pad conditioning disc 92, and the slurry dispensing arm 39.
[0051] In some implementations, the polishing system 20 may further include a wiper blade or body 170 to distribute the polishing fluid 38 across the polishing pad 30. Along the direction of rotation of the platen 24, the wiper blade 170 may be between the slurry supply arm 39 and the carrier head 70.
[0052] 1, 2, and 3, the polishing apparatus 20 can also include a controller 12 for controlling the operation of various components within the system. The controller 12 is also configured to receive sensor data collected by one or more sensors that measure the operation of the various components and to provide feedback adjustments to alter component operation based on an analysis of the received sensor data.
[0053] To perform the operation of detecting malfunction of one or more components, for example, by comparing data with data from a reference component, the system may include one or more video image sensors 14 (e.g., cameras or recorders) each positioned with a field of view 16 of one or more components of the polishing apparatus 20. Each video image sensor 14 is configured to capture a time-based series of monitoring images of the operation of at least one component within the polishing apparatus. The video image sensors 14 may generally be positioned above the platen 24 so as to have a downward-facing perspective view of the top and / or side exterior surfaces of the various components, e.g., the carrier head 70, the slurry delivery arm 39, etc. In this position, the substrate 10 is not being monitored by the video image sensors 14.
[0054] The captured monitoring images may be transmitted to the controller 12 within the polishing apparatus or to one or more computers external to the polishing apparatus 20. The system may further analyze the captured monitoring images based on a time-based series of reference images of the reference component to detect excursions of the at least one component. Optionally, the system may generate a notification upon detection of a malfunction and adjust the operation of at least one component controlled by the controller 12. To adjust the operation, the controller may send a feedback signal to a control mechanism (e.g., an actuator, a motor, or a mechanism associated with a pressure source) to adjust the operation of the at least one component. The feedback signal may be calculated by the controller 12 using an internal feedback algorithm or may be received from an external computer based on the captured monitoring images. Details of obtaining reference images and analyzing the captured monitoring images using different algorithms are described below.
[0055] FIG. 4 is a flow chart illustrating an exemplary process 400 for detecting malfunctions based on video images using image processing. Process 400 may be performed by one or more computers located at one or more locations. Alternatively, process 400 may be stored as instructions in one or more computers. When executed, the instructions may cause one or more components of the polishing apparatus to perform the process. For example, controller 12, as shown in FIGS. 1-3, or one or more computers external to polishing apparatus 20 may perform process 400.
[0056] The system acquires a time-based series of reference images of components of the polishing system performing operations during a test operation of the polishing system (402). The system may include one or more video cameras appropriately positioned to capture the time-based series of reference images.
[0057] To acquire a time-based series of reference images of a reference component of the polishing system, an appropriate recipe, e.g., a golden recipe, is selected for the polishing system, and the associated polishing system is controlled using the controller 12 to perform operations according to the golden recipe. If the reference component operation is substantially the same as the prescribed operation, the video images acquired during the test image period can be used as the time-based series of reference images. For simplicity, the time-based series of reference images will also be referred to as the reference video in the following description.
[0058] During an actual polishing operation, for example, as part of a manufacturing process for an integrated circuit on a substrate, the system receives a time-based series of monitoring images from the camera of an equivalent component of an equivalent polishing system performing operation d (404). Similar to obtaining a reference video, the system can capture the time-based series of monitoring images using one or more cameras or receive the time-based series of monitoring images from a suitable external monitoring system.
[0059] The system applies the same golden recipe for the reference component in the polishing apparatus to the equivalent component in the equivalent polishing apparatus and instructs the controller 12 of the equivalent polishing apparatus to control the equivalent component to perform the operations instructed by the golden recipe. The system uses one or more cameras to capture a time-based series of monitoring images. The set of monitoring images should at least include the equivalent component in the equivalent polishing apparatus. The system can store the captured monitoring images for later analysis. For simplicity, the time-based series of monitoring images will also be referred to as a monitoring video below.
[0060] The system determines difference values of the time-based series of monitoring images by comparing the time-based series of monitoring images with the time-based series of reference images using an image processing algorithm (406). The system employs an image processing algorithm to analyze the monitoring videos for comparable components. The image processing algorithm takes as input both the reference video and the monitoring video, pre-processes both videos to reduce noise, and optionally normalizes image pixel values for each frame of both videos.
[0061] The system can also set the start times of both videos for the image processing algorithm. Starting at each start time, both the reference component and the equivalent component are in a substantially similar state and performing a substantially similar operation. For example, the reference component is a carrier head in a reference polishing apparatus. The equivalent component is a copy of a carrier head in an equivalent polishing apparatus that is also a copy of the reference polishing apparatus. The system can set the start times of both videos so that the reference carrier head and the equivalent carrier head begin rotating with their respective substrates on their respective platens at each start time. The start time of the reference video can be different from the start time of the monitoring video. For example, the carrier head in the reference video begins rotating on the platen at 5 seconds into the reference video. However, the equivalent carrier head in the monitoring video begins rotating on the equivalent platen at 31 seconds into the monitoring video.
[0062] The system generates a difference value representing the similarity between each frame of the reference video and the monitoring video starting from the start time. The difference value may be in any suitable form, e.g., a scalar, vector, or tensor. The difference value may be calculated in any suitable manner. For example, the difference value may be a measure of the difference between each pair of pixels from each frame of the monitoring and reference videos. More specifically, the difference measure may be a root-mean-square difference by summing the squared intensity differences per pixel between each pair of frames, which may be the same as the output difference value. Alternatively, the difference value may be a measure of the difference between each pair of group pixels or kernel outputs from each frame. The kernel receives different groups of pixels to generate features at different levels of features. For example, low-level features may include lines or colors, while high-level features may include anything from basic shapes to complex shapes representing at least a portion of an object.
[0063] In some embodiments, the difference value can represent the level of similarity of physical fields obtained from both the reference video and the monitoring video. The system can use image processing algorithms to generate velocity fields, pressure fields, or thermal fields for corresponding components and compare the differences in one or more physical fields between the videos. Alternatively, the difference value can represent the difference in a physical quantity for each component between both the reference video and the monitoring video. For example, the system can generate the average velocity, angular velocity, trajectory, or vibration of each component in each video and compare the differences in these physical quantities for the component in both videos. The difference value can be the root-mean-square difference of each physical quantity between the videos or a weighted sum of the absolute differences of each physical quantity between the videos, to name just a few.
[0064] The system determines whether the difference value exceeds a threshold (408). The system can receive a predetermined threshold from a user or automatically generate a threshold using a specific algorithm, and associate each acquired difference value with a respective threshold. The threshold can represent an upper limit for absolute or relative difference values. For example, the threshold can be 1 mm / s for difference values in velocity, or 10% for difference values in thermal fields.
[0065] The system indicates a malfunction in response to determining that the difference value exceeds the threshold (410). The system can generate an alarm when it determines that the difference value exceeds the threshold. The system can also generate a notification on a user interface component.
[0066] Additionally, the system can also generate user presentations on user interface components to add information as overlays to the captured monitoring video. More specifically, the system can present the user with a monitoring video having multiple overlays, each presenting a respective characteristic of a time-based series of monitoring images. For example, the overlays can present, for example, various physical fields (e.g., flow fields, thermal fields), various physical quantities (e.g., angular velocity, trajectory), and notifications (e.g., alarms, analysis summaries).
[0067] A malfunction can include various actions performed by a comparable component that deviate from the actions performed by a reference component as directed by a reference recipe. For example, a malfunction can be a departure of a component from an expected path of action (e.g., an expected trajectory). In these situations, with reference to Figures 1-3, the components can be, for example, the carrier head 70, the platen 24, the substrate 10 under polishing, the pedestal 204 in the load cup 8, the conditioner arm 94, the arms 140, 150, 110, the wiper blade 170, and the robot arm.
[0068] For example, carrier head 70 may be detected to deviate from an expected rotation (e.g., rotating at a slower angular velocity) by comparing the reference and monitoring video. As another example, wiper blade 170 may be detected to deviate from an expected trajectory, such that the wiper collides with carrier head 70. As another example, pedestal 204 does not raise or lower as expected. As another example, two of arms 94, 110, 140, and 150 collide while sweeping. In an extreme example, substrate 10 may be detected to shatter on platen 24 and become dislodged from carrier head 70.
[0069] The system can further analyze the excursion of the components from the expected path of motion to determine if one or more motors are unexpectedly driving a component in the system. Additionally, the system can determine, based on the malfunction, if an initial calibration process was not performed properly.
[0070] Additionally, malfunctions can indicate differences in the physical fields when components perform operations. In these situations, with reference to Figures 1-3, the components can be, for example, nozzles in load cup 8, cooling system 102, heating system 104, and rinsing system 106, platen 24, and slurry dispensing arm 39.
[0071] For example, the slurry flow rate dispensed from the dispense arm 39 may be detected as having a slower flow rate than the baseline video. As another example, the thermal field on the platen 24 may have one or more regions with a higher temperature than the baseline video. As another example, a nozzle in the load cup 8 may be detected as having a high water pressure that would cause overspray. Overspray may also be detected in other components of the polishing apparatus, such as overspray in the arm 39 that dispenses the slurry. In an extreme example, the platen 24 may be detected as overheating and the nozzles of the cooling system 102 may be clogged.
[0072] After determining that the difference value exceeds a threshold, the system can generate corrective actions to adjust equivalent components performing the actions to reduce the difference value. The system can generate instructions for the actions coordinated by one or more computers external to the polishing apparatus 20, or the system can instruct the controller 12 to generate the instructions. The controller 12 can then control the corresponding components to adjust their respective actions based on the instructions.
[0073] The system can easily scale up the analysis process to simultaneously detect malfunctions of multiple components within the polishing system.
[0074] The system first acquires each of a time-based series of reference images that encompass multiple components of the polishing system performing operations during each test operation of the polishing system.
[0075] The system then receives a time-based series of monitoring images from the camera that include one or more equivalent components of the equivalent polishing system performing operations during polishing of the substrate. The multiple components captured in the reference video should include one or more equivalent components of all types in the equivalent polishing apparatus. The system can perform steps similar to 406, 408, and 410 for each of the one or more equivalent components.
[0076] FIG. 5 is a flow chart illustrating an exemplary process 500 for detecting malfunctions based on video images using machine learning. Process 500 may be performed by one or more computers located at one or more locations. Alternatively, process 500 may be stored as instructions on one or more computers. When executed, the instructions may cause one or more components of the polishing apparatus to perform the process. For example, controller 12, as shown in FIGS. 1-3, or one or more computers external to polishing apparatus 20 may perform process 500.
[0077] The system receives 502 a time-based series of monitoring images from a camera of components of the polishing system performing operations during polishing of the test substrate. Similar to process 400 described above, the system can capture the time-based series of monitoring images using one or more cameras, or can receive the time-based series of monitoring images from a suitable external monitoring system. The system captures monitoring video of the components performing operations dictated by the reference recipe.
[0078] The system inputs a time-based series of monitoring images to a machine learning model trained by training examples to analyze the time-based series of monitoring images to detect component malfunctions from expected operation, where the training examples include a time-based series of reference images (504) of a reference component of a reference polishing system performing an operation during a test operation and a classification of the series of reference images, e.g., as normal operation or malfunction. The classification can also identify the type of malfunction, e.g., failure to lift a pedestal in a load cup, deviation of a carrier head from an expected sweep position, etc.
[0079] The system can acquire data representing multiple training examples from an external memory or collect the training examples using one or more cameras. Each training example is a time-based series of images of a component performing an operation. To collect the training examples, the system can instruct multiple identical polishing machines with identical components to perform an operation using a reference recipe (i.e., the same recipe for capturing the monitoring video) and capture respective monitoring videos of each identical component. The system can train a neural network based on the respective captured monitoring videos.
[0080] In some embodiments, the system can obtain training examples using both the reference components in the reference polishing machine and one or more equivalent components in each equivalent polishing machine. Optionally, the system can include a weight value for each training example while training the neural network and can set a higher weight value for training samples in the reference video.
[0081] After training the neural network, the system can perform inference calculations using input data (e.g., monitoring video) of equivalent components, which are components that are substantially similar to the equivalent components in the training samples.
[0082] The system receives from the machine learning model an indication of a component malfunction from expected behavior (506). Similar to step 410 of process 400, the system can detect an excursion of the equivalent component based on input data (e.g., monitoring video of the component). The excursion is similarly described with respect to process 400. The system can similarly generate corrective actions to adjust the equivalent component to perform the operation.
[0083] The system can store the trained neural network on one or more computers in one or more locations. One or more processors can simultaneously access the stored neural network (e.g., parallel computing) to accelerate inference operations. The system can continue to train the neural network with newly acquired training examples. Similarly, the system can be scaled up to simultaneously monitor multiple components within the polishing apparatus for malfunctions.
[0084] As used herein, the term substrate can include, for example, a product substrate (e.g., containing multiple memory or processor dies), a test substrate, a bare substrate, and a gate substrate. The substrate can be at various stages of integrated circuit fabrication; for example, the substrate can be a bare wafer, or the substrate can include one or more deposited and / or patterned layers. The term substrate can include circular disks and rectangular sheets.
[0085] The above-described polishing apparatus and method can be applied in various polishing systems. Either the polishing pad or the carrier head, or both, can move to provide relative motion between the polishing surface and the substrate. For example, the platen can orbit rather than rotate. The polishing pad can be a circular (or some other shape) pad fixed to the platen. Some aspects of the endpoint detection system can be applicable to linear polishing systems, for example, where the polishing pad is a linearly moving continuous or reel-to-reel belt. The polishing layer can be a standard (e.g., polyurethane with or without filler) abrasive material, a soft material, or a fixed abrasive material. It should be understood that the term relative orientation is used, and the polishing surface and substrate can be held in a vertical orientation or some other orientation.
[0086] Control of the various systems and processes described herein, or portions thereof, may be implemented in a computer program product including instructions stored in one or more non-transitory computer-readable storage media and executable on one or more processing devices. The systems described herein, or portions thereof, may be implemented as an apparatus, method, or electronic system, which may include one or more processing devices and memory for storing executable instructions to perform the operations described herein.
[0087] Embodiments of the machine learning model classification and training described herein may be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware, including the structures disclosed herein and their structural equivalents, or one or more combinations thereof. Embodiments of the subject matter described herein may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory storage medium for execution by or controlling the operation of a data processing apparatus. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or one or more combinations thereof. Alternatively or additionally, the program instructions may be encoded in an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, generated to encode information for transmission to a suitable receiver apparatus for execution by the data processing apparatus.
[0088] A computer program, which may also be referred to or described as a program, software, software application, app, module, software module, script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored as part of a file that holds other programs or data, e.g., as one or more scripts stored in a markup language document, as a single file dedicated to the program in question, or as multiple cooperating files, e.g., files storing one or more modules, subprograms, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a data communications network.
[0089] The processes and logic flows described herein may be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by special purpose logic circuitry, such as an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
[0090] A computer suitable for running a computer program can be based on a general-purpose or special-purpose microprocessor or both, or any other kind of central processing unit. Generally, the central processing unit will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory may be supplemented by, or incorporated in, special-purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from, transfer data to, or both, one or more mass storage devices, e.g., magnetic, magneto-optical, or optical disks, for storing data. However, a computer need not have such devices.
[0091] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including, by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0092] A data processing device for implementing a machine learning model may also include, for example, a special purpose hardware accelerator unit for handling the common and computationally intensive part of machine learning training or generation, i.e., inference, workload.
[0093] The machine learning model may be implemented and deployed using a machine learning framework, for example, the TensorFlow framework, the Microsoft Cognitive Toolkit framework, the Apache Singa framework, or the Apache MXNet framework.
[0094] Embodiments of the subject matter described herein may be implemented in a computer system, including back-end components, e.g., as a data server, or including middleware components, e.g., an application server, or including front-end components, e.g., a client computer having a graphical user interface, web browser, or app through which a user can interact with an implementation of the subject matter described herein, or any combination of one or more such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.
[0095] A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server sends data, e.g., HTML pages, to a user device, e.g., to perform the functions of a client, for the purpose of displaying data to a user interacting with the device and receiving user input from such user. Data generated at the user device, e.g., results of user interaction, may be received from the device at the server.
[0096] While this specification contains details of numerous specific embodiments, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be unique to particular embodiments of a particular invention. Certain features described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, while features may be described above as functioning in certain combinations and may even initially be claimed as such, one or more features from a claimed combination may, in some cases, be deleted from the combination, and the claimed combination may be directed to a subcombination or variations of the subcombination.
[0097] Particular embodiments of the present subject matter have been described. Other embodiments are within the scope of the following claims.
[0098] Other embodiments are within the scope of the following claims.
Claims
1. a platen for supporting the polishing pad; a carrier head for holding a substrate against the polishing pad; a component selected from the group of components including the platen, the carrier head, a conditioner arm, a heating or cooling system arm, a rinse system arm, a wiper blade, a load cup, or a robotic arm; a camera positioned to capture a time-based series of monitoring images of said component; acquiring a time-based series of reference images of equivalent components of an equivalent polishing system performing operations during a test operation; receiving the time-based series of monitoring images of the component from the camera while polishing the substrate; determining difference values for the time-based series of monitoring images by comparing the time-based series of reference images with the time-based series of monitoring images using an image processing algorithm; Detecting deviation of the component from an expected path of motion as a malfunction, such as overspray of fluid from a fluid dispenser, by determining if the difference value exceeds a threshold; and In response to determining that the difference value exceeds the threshold, indicating the malfunction. a controller configured to A polishing system comprising:
2. 2. The system of claim 1, wherein the controller is configured, in response to determining that the difference value exceeds the threshold, to generate corrective action to adjust the component that performs the action to reduce the difference value.
3. 2. The system of claim 1, further comprising a display, wherein the controller is configured to generate a user presentation on the display, the user presentation comprising the series of time-based monitoring images and one or more overlays each representing a characteristic of each of the series of time-based monitoring images.
4. storing a time-based series of reference images of a component of the polishing system performing an operation during a test operation of the polishing system, the component being selected from the group including a platen, a carrier head, a conditioner arm, a heating or cooling system arm, a rinse system arm, a wiper blade, a load cup, or a robotic arm; receiving a time-based series of monitoring images from the camera of equivalent components of the equivalent polishing system performing operations during polishing of the substrate; determining difference values for the time-based series of monitoring images by comparing the time-based series of monitoring images with the time-based series of reference images using an image processing algorithm; determining whether the difference value exceeds a threshold; and indicating a malfunction in response to determining that the difference value exceeds the threshold, the malfunction including deviation of the component from an expected path of motion or overspray of fluid from a fluid dispenser; A computer program product embodied in a computer-readable medium comprising instructions for causing one or more computers to perform the steps of:
5. 5. The computer program product of claim 4, further comprising instructions for generating a user presentation on a user interface component, said user presentation comprising one or more overlays respectively representing said series of time-based monitoring images and characteristics of each of said series of time-based monitoring images.
6. 5. The computer program product of claim 4, further comprising instructions for generating corrective actions to adjust the equivalent components performing actions to reduce the difference value in response to determining that the difference value exceeds the threshold.
7. 5. The computer program product of claim 4, comprising instructions for receiving the time-based series of reference images from a camera when the component of the polishing system is performing operations under a series of reference commands, and for receiving the time-based series of monitoring images from the camera when the equivalent component of the equivalent polishing system is performing operations under the series of reference commands.
8. 1. A method for monitoring operation of a polishing system, comprising: acquiring a time-based series of reference images of a component of the polishing system performing an operation during a test operation of the polishing system, the component being selected from a group of components including a platen, a carrier head, a conditioner arm, a heating or cooling system arm, a rinse system arm, a wiper blade, a load cup, or a robotic arm; receiving a time-based series of monitoring images from the camera of equivalent components of the equivalent polishing system performing operations during polishing of the substrate; determining difference values for the time-based series of monitoring images by comparing the time-based series of monitoring images with the time-based series of reference images using an image processing algorithm; determining whether the difference value exceeds a threshold; and indicating a malfunction in response to determining that the difference value exceeds the threshold, the malfunction including deviation of the component from an expected path of motion or overspray of fluid from a fluid dispenser; A method comprising:
9. a platen for supporting the polishing pad; a carrier head for holding a substrate against the polishing pad; a component selected from the group of components including a platen, a carrier head, a conditioner arm, a load cup, or a robotic arm; a camera positioned to capture a time-based series of monitoring images of said component; receiving from the camera a time-based series of monitoring images of the component performing an operation during polishing of a substrate; analyzing the time-based series of monitoring images with a machine learning model trained by training examples to detect and indicate malfunction of the component from expected operation, wherein the training examples include a time-based series of reference images of a reference component of a reference polishing system performing operation during a test operation; and Indicating a malfunction based on said analysis a controller configured to A polishing system comprising:
10. The system of claim 9 , wherein the machine learning model is configured to use an object tracking algorithm to determine the behavior of the component based on the input time-based series of monitoring images.
11. The system of claim 9 , wherein the malfunction comprises a deviation of a component from an expected path of motion.
12. receiving a time-based series of monitoring images from a camera of components of the polishing system performing operations during polishing of the substrate; analyzing the time-based series of monitoring images with a machine learning model trained by training examples to detect and indicate malfunction of the component from expected operation, the training examples including a time-based series of reference images of a reference component of a reference polishing system performing operation during a test operation; A computer program product embodied in a computer-readable medium comprising instructions for causing one or more computers to perform the steps of:
13. 13. The computer program product of claim 12, wherein the machine learning model is configured to use an object tracking algorithm to determine a movement of the component based on the input series of time-based monitoring images.
14. 13. The computer program product of claim 12, wherein the machine learning model is configured to predict a physical field profile of the component based on the input time-based series of monitoring images.
15. 15. The computer program product of claim 14, wherein the physical field profile of the component comprises a temperature field of a rotating polishing pad or an applied pressure field at a wafer.
16. 13. The computer program product of claim 12, wherein the malfunction comprises deviation of the component from an expected path of motion, overspray of fluid from a fluid dispenser, or slippage of a wafer while undergoing polishing.
17. 13. The computer program product of claim 12, further comprising instructions for generating a user presentation in a user interface component, the user presentation comprising one or more overlays respectively representing the series of time-based monitoring images and characteristics of each of the series of time-based monitoring images.
18. 1. A method for monitoring operation of a polishing system, comprising: receiving a time-based series of monitoring images from the camera of components of the polishing system performing operations during polishing of the substrate; inputting the time-based series of monitoring images for analysis into a machine learning model trained by training examples to detect malfunctions of the component from expected operation, wherein the training examples include a time-based series of reference images of a reference component of a reference polishing system performing operation during a test operation; and receiving from the machine learning model an indication of a malfunction of the component from expected operation; A method comprising:
Citation Information
Patent Citations
CMP machine
JP2001138218A
Substrate processing method, substrate processing apparatus, and substrate processing system
JP2020031103A
Wafer slip detection during CMP processing
US20160082566A1