Detecting malfunctions of CMP components using a time-based series of images

A system using time-based image analysis detects CMP component malfunctions in real-time, enhancing operational efficiency and quality by comparing reference and monitoring images, addressing the limitations of conventional monitoring methods.

JP7879336B2Active Publication Date: 2026-06-23APPLIED MATERIALS INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
APPLIED MATERIALS INC
Filing Date
2025-06-06
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Conventional methods for monitoring CMP components in polishing apparatuses are inadequate in detecting malfunctions in real-time, particularly when multiple components interact dynamically, leading to uneven polishing, collisions, and equipment failure.

Method used

A system utilizing time-based series of images, captured by cameras, analyzes the operation of CMP components using image processing or machine learning algorithms to detect malfunctions by comparing reference and monitoring images, generating notifications or adjustments to correct deviations.

Benefits of technology

Enables efficient, accurate, and real-time detection of malfunctions in CMP components, improving product quality, reducing costs, and streamlining the polishing process without requiring significant modifications to the apparatus.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007879336000001
    Figure 0007879336000001
  • Figure 0007879336000002
    Figure 0007879336000002
  • Figure 0007879336000003
    Figure 0007879336000003
Patent Text Reader

Abstract

To provide a polishing system capable of detecting a malfunction of a CMP component.SOLUTION: Monitoring operation of a polishing system includes: acquiring a time-based series of reference images of a component of the polishing system for executing operation during test operation of the polishing system; receiving, from a camera, a time-based series of monitoring images of an equivalent component of an equivalent polishing system for executing operation while polishing a substrate; determining a difference value for the time-based series of monitoring images by comparing the time-based series of monitoring images with a time-based series of reference images by using an image processing algorithm; determining whether the difference value exceeds a threshold; and indicating a malfunction in response to a determination that the difference value exceeds the threshold.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to chemical mechanical polishing (CMP), and more particularly to detecting malfunctions of CMP components using a series of time-based images (e.g., video images).

Background Art

[0002] Integrated circuits are typically formed on a substrate (e.g., a semiconductor wafer) by sequentially depositing conductive, semiconductive, or insulating layers on the silicon wafer and then processing the subsequent layers.

[0003] One manufacturing step involves depositing a fill layer on an uneven surface and planarizing the fill layer. In certain applications, the fill layer is planarized until the top surface of the pattern layer is exposed or the desired thickness remains on the underlying layer. Further, planarization can be used for lithography, for example, to planarize the substrate surface of a dielectric layer.

[0004] Chemical mechanical polishing (CMP) is one generally accepted method of planarization. This planarization method typically requires that the substrate be attached to a carrier head. The exposed surface of the substrate is applied to a rotating polishing pad. The carrier head applies a controllable load on the substrate to press it against the polishing pad. In some situations, the carrier head includes a membrane forming a plurality of independently pressurizable radially concentric chambers having pressures in each chamber that control the polishing rate in the corresponding area on the substrate. A polishing liquid, e.g., a slurry having polishing particles, is supplied to the surface of the polishing pad.

[0005] Image processing aims to process one or more image frames using various algorithms, including image compression, image filtering, image storage, and image comparison. Image comparison can specialize in noise reduction, image matching, image encoding, and reconstruction, and can be performed by one or more computers in 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 appropriate distance) that measure the distance between sets of elements within one 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 also be assisted by any appropriate preprocessing steps, such as pixel intensity adjustment, normalization, or homomorphic filtering, to name just a few examples.

[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 an incoming 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 input to the next layer in the network, i.e., the next hidden layer or output layer. Each layer of the network produces an output from an incoming input according to the current values ​​of its respective set of parameters. [Overview of the project]

[0007] In one embodiment, monitoring the operation of a polishing system includes: acquiring a time-based reference image of a component of the polishing system performing an operation during a test run of the polishing system; receiving a time-based monitoring image from a camera of an equivalent component of an equivalent polishing system performing an operation during polishing of a substrate; determining a difference value to the time-based monitoring image by comparing the time-based monitoring image with the time-based reference image using an image processing algorithm; determining whether the difference value exceeds a threshold; and indicating a malfunction in response to the determination that the difference value exceeds a threshold.

[0008] In another embodiment, monitoring the operation of a polishing system includes receiving a series of time-based monitoring images from a camera of components of the polishing system performing an operation during substrate polishing, inputting a series of time-based monitoring images into a machine learning model trained by training examples to analyze for detecting malfunctions of components from expected operation, and receiving indications of component malfunctions from the machine learning model. The training examples include a series of time-based reference images of a reference component of a reference polishing system performing an operation during a test operation.

[0009] The embodiment may include one or more of the following features: The component may be one of a carrier head, conditioner arm, load cup, platen, or robot arm. An alarm may be generated in response to a determination that the difference exceeds a threshold or in response to an indication of malfunction. A set of time-based reference images encompassing multiple components of the polishing system operating during each test run of the polishing system may be stored, a set of time-based monitoring images encompassing one or more equivalent components of equivalent polishing systems operating during the polishing of a substrate may be received from a camera, and the respective difference value may be determined for each equivalent component in the monitoring images by comparing the set of time-based monitoring images with the set of time-based reference images using an image processing algorithm. For each of one or more equivalent components, it may be determined whether the respective difference value of the equivalent component exceeds the respective threshold of the equivalent component, and a malfunction of the equivalent component may be indicated in response to a determination that the respective difference value exceeds the respective threshold.

[0010] Certain embodiments may include, but are not limited to, one or more of the following possible advantages:

[0011] The techniques described can be useful for efficient and accurate performance analysis of components in polishing equipment.

[0012] Firstly, the described technique enables the analysis of the dynamic operation of multiple components within a polishing apparatus as they interact with each other. In contrast to conventional image processing techniques that analyze static components individually, the described technique can analyze and detect malfunctions in the processing of one or more components in real time based on a time-based series of images (e.g., video frames). Furthermore, the described technique can enable and provide not only the individual analysis of each static component, but also accurate analysis of component processing in situ.

[0013] Secondly, sensor data acquired from a field monitoring system configured to monitor substrate polishing does not need to be used. Rather, the described technique enables efficient overall analysis of one or more components captured in video images. In addition or further, the described technique can combine the analysis data with sensor data, or provide video image analysis as an alternative or independent check of components in addition to existing techniques for a more accurate analysis or diagnostic process.

[0014] Furthermore, the described technique can generate notifications or warnings indicating any detected malfunctions of one or more components within the polishing apparatus, enabling rapid and timely, human-assisted or automated control adjustments to correct the detected malfunctions of one or more components. The described technique can ultimately improve product quality, reduce costs, and streamline the polishing apparatus.

[0015] Furthermore, the described techniques can store video images capturing the operation of one or more components, allowing for later troubleshooting or failure analysis by revisiting the stored video images to lead to a more accurate diagnosis.

[0016] Furthermore, the described technique is easy to set up, implement, and scale up. The described technique can be adapted to any suitable polishing apparatus as it requires no major modifications to accommodate one or more image sensors. The described technique can utilize either image processing or machine learning algorithms for analyzing and detecting malfunctions in component operation, receiving video images of one or more components within a reference polishing apparatus performing operations according to a set of reference commands as a solo benchmark. The described technique can be scaled up for a larger number of components, as long as the captured video images can encompass these components. Therefore, the described technique can be readily scaled up with image sensors capable of capturing a larger number of components with satisfactory resolution.

[0017] Details of one or more embodiments of the present invention are described in the accompanying drawings and the following description. Other features, purposes, and advantages are evident from the description and drawings and from the claims. [Brief explanation of the drawing]

[0018] [Figure 1] This is a schematic cross-sectional view of an exemplary polishing device. [Figure 2] This is a schematic cross-sectional view of an exemplary load cup having an exemplary carrier head. [Figure 3] This is a schematic top view of an exemplary polishing apparatus. [Figure 4] This flowchart illustrates an exemplary process for detecting malfunctions based on video images using image processing. [Figure 5] This flowchart illustrates an exemplary process for detecting malfunctions based on video images using machine learning. [Modes for carrying out the invention]

[0019] Similar reference numbers and symbols in various drawings indicate similar elements.

[0020] In an ideal process, each component of the polishing apparatus works cooperatively under a set of instructions to polish the substrate, ensuring that the substrate has a uniform thickness after polishing. However, in reality, one or more components of the polishing apparatus may deviate from their respective instructions. This can result in uneven polishing contours of the substrate being polished, collisions between one or more components within the apparatus, and even equipment failure. To avoid these consequences caused by the malfunction of one or more components, it is beneficial to monitor the real-time operation of the components in the polishing apparatus, detect malfunctions, and adjust one or more components in a timely manner to restore their operation.

[0021] Conventional methods allow monitoring of one or more components within a polishing apparatus by incorporating one or more sensors to measure one or more characteristics of the processing element or substrate. For example, an optical or eddy current field monitoring system can monitor the thickness of layers on a substrate during polishing, or a thermal sensor can measure the temperature of the polishing pad during polishing. While data from systems monitoring the substrate during polishing can provide some information, it may not be sufficient to detect or analyze deviations of system components from their expected movements, especially when there are numerous components within the polishing apparatus.

[0022] Furthermore, some conventional techniques acquire sensor data to statically monitor and analyze components while one or more components of a polishing apparatus are performing operations in place, rather than dynamically monitoring them. These conventional techniques acquire image data of static components and analyze the static components based on the acquired image data. The image data may include, for example, the bottom surface contour of a static retaining ring acquired through a coordinate measurement machine (CMM) for analyzing the polishing edge area of ​​a substrate.

[0023] The techniques described below can potentially mitigate one or more of the aforementioned problems. A system or polishing apparatus that employs the described techniques can use one or more video sensors (e.g., cameras) to obtain a time - based series of reference images of reference components within a reference polishing apparatus and capture a time - based series of monitoring images of equivalent components in an equivalent polishing apparatus. A time - based series of images is captured while one or more components are performing their respective operations. The system can analyze the captured image frames between the reference components and the equivalent components to determine malfunctions in real time. In response to the determination of a malfunction, the system can generate a notification, e.g., 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 a portion of the operations being performed in the polishing apparatus. To determine malfunctions, the system can employ various algorithms executed by one or more computers located in one or more locations. The algorithms can include any suitable image processing or machine learning algorithms.

[0024] In some embodiments, the captured image frames can include one or more reference components. The system can analyze a plurality of equivalent components within a subset of the reference components captured in the captured reference image frames.

[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 operations of these components interact with each other. For example, the robot arm interacts with the load back in such a way that the robot art is configured to grasp a substrate from a cassette and place it horizontally (i.e., the top surface or the bottom surface of the substrate is facing a substantially vertical position) on the pedestal of the load cup. As another example, the carrier head interacts with the load cup such that the carrier head is configured to grasp the substrate away from the pedestal of the load cup. Details of the structure and operation of each component within the polishing apparatus will be described later.

[0026] The polishing apparatus can control one or more of the components within the polishing apparatus to execute their respective operations according to a set of instructions. The set of instructions can include a plurality of parameters that are determined in advance by the user or automatically by the polishing apparatus to control the operations of each component. The plurality of parameters can include, for example, data specified to control the position, or the operation of the component, or the change in the physical field within the component. More specifically, the data can be, for example, the circumferential speed of the carrier head for rotating with respect to the axis of rotation of the carrier head, or the flow rate of the slurry applied by the nozzle of the slurry arm.

[0027] Polishing equipment can have various sets of instructions with various parameters to suit different polishing requirements. These sets of instructions are also referred to as recipes for polishing equipment, as described below. A recipe that, when executed precisely by the components of the polishing equipment, can cause the polishing equipment to polish one or more substrates to substantially satisfy a specific polishing requirement may also be called a "golden recipe." Golden recipes can differ between different polishing equipment having different components to satisfy the same polishing requirement. Ideally, golden recipes can be adopted between equivalent polishing equipment under identical polishing requirements.

[0028] Throughout the preceding and subsequent specifications, the term “equivalent” is used to describe a level of substantial similarity. More specifically, an equivalent polishing apparatus to a reference apparatus may substantially have the same overall dimensions, structural design, number and type of components (i.e., equivalent components), and operating pipeline as the reference apparatus. In extreme cases, an equivalent polishing apparatus may ideally be the same 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 it may have one or more equivalent components in a slightly different number, but still substantially maintain the same operation. Equivalent components of a reference component may be described in the same way as equivalent polishing apparatus. More specifically, an equivalent component may be the same polishing component as the reference component. Alternatively, an equivalent component may be substantially identical to the reference component, having optional add-ons or minor modifications and substantially maintaining the same operation as the reference component.

[0029] Throughout the preceding and subsequent specifications, the term “malfunction” refers to a deviation between the measured operation of a component and the operation of a reference component. Since the reference component is assumed to operate precisely according to a given recipe, malfunctions are related only to equivalent components. For example, a malfunction in a process may be quantified between the captured motion of an equivalent component and the corresponding reference motion of the reference component over one or more time steps. As another example, a malfunction in a process may be quantified between the measured slurry flow rate from an equivalent nozzle and the corresponding reference flow rate in a reference slurry nozzle. The quantified difference can be output from different algorithms that process the captured video images, e.g., video image processing or machine learning algorithms. A malfunction in a process can be determined through various algorithms by determining the difference between captured image frames between a reference component operating in a reference polishing apparatus and an equivalent component operating in an equivalent polishing apparatus, and comparing that difference to a predetermined threshold. If the determined difference exceeds the predetermined threshold, the system or polishing apparatus detects a malfunction in the equivalent component.

[0030] Figure 1 is a schematic cross-sectional view of an exemplary polishing apparatus 20. The polishing apparatus 20 includes a rotatable disc-shaped platen 24 on which a polishing pad 30 is positioned. The platen 24 operates to rotate about an axis 25 (see arrow A in Figure 3). For example, a motor 22 can rotate a driver shaft 28 to rotate the platen 24. The polishing pad 30 may be a two-layer polishing pad having an outer polishing layer 34 and a softer backing layer 32. The polishing apparatus 20 may include a supply port, for example, at the end of a slurry supply arm 39, to apply a polishing fluid 38, for example, a polishing slurry, to the polishing pad 30.

[0031] Referring to Figure 3, the polishing apparatus 20 may include a pad conditioner 90 having a conditioner disc 92 to maintain the surface roughness of the polishing pad 30. The conditioner disc 92 may be positioned in a conditioner head 93 at the end of a conditioner arm 94. The arm 94 and the conditioner head 93 are supported by a base 96.

[0032] The conditioner arm 94 can swing to sweep the conditioner head 93 and conditioner disc 92 laterally across the polishing pad 30.

[0033] Referring back to Figure 1, the polishing apparatus 20 may also include a carrier head 70 that operates to bring the substrate 10 into contact with the polishing pad 30.

[0034] The carrier head 70 is suspended from a support structure 72, for example, a carousel or track, and is connected by a driver shaft 74 to a carrier head rotary motor 76 so that the carrier head can rotate around an axis 71. Optionally, the carrier head 70 can vibrate laterally by movement along the track or by rotational vibration of the carousel itself, for example, on a slider on the carousel.

[0035] The carrier head 70 may include a flexible film 80 having a substrate mounting surface that contacts the back side of the substrate 10, and a plurality of pressurizable chambers 82 for applying different pressures to different zones on the substrate 10, for example, different radial zones. The carrier head 70 may include a retaining ring 84 for holding the substrate. In some embodiments, the retaining ring 84 may include a lower plastic portion 86 that contacts the polishing pad and an upper portion 88 of a harder material, for example, metal.

[0036] During operation, the platen 24 is rotated around its central axis 25. The carrier head is rotated around its central axis 71 (see arrow B in Figure 3) and translated laterally across the top surface of the polishing pad 30 (see arrow C in Figure 3).

[0037] The polishing apparatus 20 also includes a transfer station for loading and unloading substrates from the carrier head 70 (see Figure 2).

[0038] The transfer station may include a number of load cups 8, for example, two load cups, designed to facilitate the 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 the transfer between the robotic arm and each carrier head 70 by loading and unloading the carrier head 70.

[0040] Figure 2 is a schematic cross-sectional view of an exemplary load cup 8 having an exemplary carrier head 70. As shown in Figure 2, each load cup 8 includes a pedestal 204 for holding the 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 motion between the housing 206 and the carrier head 70. For example, the shaft 210 may support the housing 206 and be actuated vertically to raise and lower the housing 206. Alternatively or additionally, the carrier head 70 may be able to move vertically. A pedestal 205 may be on the shaft 210 and axially. A pedestal 204 may be able to move vertically relative to the housing 206.

[0042] During operation, the carrier head 70 may be positioned on the load cup 8, and the housing 206 may be raised (or lowered) so that the carrier head 70 is partially within the cavity 208. The substrate 10 may be started on the pedestal 204 and chucked onto the carrier head 70, and / or started on the carrier head 70 and detached onto the pedestal 204.

[0043] The load cup 8 may further include nozzles for supplying steam for cleaning and / or preheating the carrier head 70 and the substrate 10. The polishing apparatus 20 can adjust the steam temperature, pressure, and flow rate to modify the cleaning and preheating of the carrier head 70 and the substrate 10. In some embodiments, the temperature, pressure, and / or flow rate may be adjustable independently for each nozzle or between groups of nozzles. The flow rate of the nozzles in the load cup 8 may be 1 to 1000 cc / min, depending on the heater power and pressure.

[0044] Referring back to Figure 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 onto the polishing fluid already present on the polishing pad).

[0045] The cooling system 102 may include a source 130 of liquid coolant medium and a gas source 132 (see Figure 3). The cooling system 102 or heating system 104 may include an arm 110 extending from the edge of the polishing pad 30 to the center of the polishing pad 30 or at least near there (for example, within 5% of the overall radius of the polishing pad) onto the platen 24 and the polishing pad 30. 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, for example, a linear actuator for raising or lowering the arm 110, and / or a rotary actuator for swinging the arm 110 laterally on the platen 24. The arm 110 is positioned to avoid collision with other hardware components such as the carrier head 70, the pad conditioning disc, and the slurrying arm 39.

[0046] An 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 gaps 126.

[0047] Figure 3 is a schematic top view of an exemplary polishing apparatus 20. As previously mentioned with respect to Figure 1, the polishing apparatus may include a heating system 102, a cooling system 104, and a rinsing system 106. As shown in Figure 3, the polishing apparatus may include separate arms for each of these systems. Each system can be actuated by its own actuator. Alternatively, various subsystems may be contained within a single assembly supported by a common arm and 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 includes a gas, such as steam (e.g., from a steam generator 410) or hot air, or a liquid, such as hot water, or a combination of gas and liquid. The heating system 104 may include a plurality of nozzles and an arm extending over the platen 24 and polishing pad 30, 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 actuators, such as a linear actuator for raising or lowering the arm 140 and / or a rotary actuator for swinging the arm 140 laterally over the platen 24. The arm is positioned to avoid collision with other hardware components, such as the polishing head 70, the pad conditioning disc 92, and the slurrying arm 39.

[0049] Similar to both the cooling and heating systems, the high-pressure rinsing system 106 includes multiple nozzles connected to a cleaning fluid tank 156 and configured to direct a cleaning fluid, such as water, onto the polishing pad 30 with high force to wash the pad 30 and remove used slurry, polishing debris, etc.

[0050] As shown in Figure 3, the exemplary rinsing system 106 includes an arm extending over the platen 24 and supported by a base 152, the base 152 may be supported on the same frame 40 as the platen 24. The base 152 may include one or more actuators, for example, a linear actuator for raising or lowering the arm 150, and / or a rotary actuator for swinging the arm 150 laterally over the platen 24. The arm 150 is positioned to avoid collision with other hardware components such as the polishing head 70, the pad conditioning disc 92, and the slurrying 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 located between the slurry supply arm 39 and the carrier head 70.

[0052] Referring back to Figures 1, 2, and 3, the polishing apparatus 20 may also include a controller 12 to control the operation of various components within the system. The controller 12 is also configured to receive sensor data collected by one or more sensors measuring the operation of various components and to provide feedback adjustments to modify the operation of the components based on the analysis of the received sensor data.

[0053] For example, to perform an operation to detect malfunctions of one or more components 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 to have 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 in the polishing apparatus. The video image sensors 14 may generally be positioned on the platen 24 to have downward perspective views of the top and / or side outer surfaces of various components, such as the carrier head 70, slurry supply arm 39, etc. In this position, the substrate 10 is not monitored by the video image sensors 14.

[0054] The acquired monitoring images can be transmitted to the controller 12 within the polishing apparatus, or to one or more computers outside the polishing apparatus 20. The system can further analyze the acquired monitoring images based on a time-based series of reference images of a reference component to detect excursions of at least one component. Optionally, the system can generate a notification when a malfunction is detected and adjust the operation of at least one component controlled by the controller 12. To adjust the operation, the controller can send a feedback signal to a control mechanism (e.g., an actuator, motor, or mechanism related to a pressure source) for adjusting the operation of at least one component. The feedback signal can be calculated by the controller 12 using an internal feedback algorithm, or received from an external computer based on the acquired monitoring images. Details on acquiring reference images and analyzing acquired monitoring images using different algorithms are described later.

[0055] Figure 4 is a flowchart illustrating an exemplary process 400 for fault detection based on video images using image processing. Process 400 may be executed by one or more computers located in one or more locations. Alternatively, process 400 may be stored as instructions in one or more computers. Once executed, the instructions cause one or more components of the polishing apparatus to perform the process. For example, one or more computers outside the controller 12 or polishing apparatus 20, as shown in Figures 1-3, may execute process 400.

[0056] The system acquires a time-based series of reference images of the polishing system components performing operations during a test run 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 obtain a time-based series of reference images of the reference component of the polishing system, an appropriate recipe, such as a golden recipe, is selected for the polishing system, and the associated polishing system is controlled using controller 12 to perform the operation according to the golden recipe. If the operation of the reference component is substantially the same as the instructed operation, video images acquired during the test image period can be used as a time-based series of reference images. For simplicity, the time-based series of reference images will also be referred to as reference video below.

[0058] During an actual polishing operation, for example as part of the manufacturing process of an integrated circuit on a substrate, the system receives a series of time-based monitoring images from a camera of equivalent components of an equivalent polishing system performing operation d (404). Similar to acquiring a reference video, the system may capture a series of time-based monitoring images using one or more cameras, or receive a series of time-based monitoring images from an appropriate external monitoring system.

[0059] The system applies the same golden recipe for a reference component in a polishing machine to equivalent components in equivalent polishing machines and instructs the controller 12 of the equivalent polishing machine to control the equivalent components to perform the actions indicated 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 include at least equivalent components in the equivalent polishing machine. 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 monitoring video below.

[0060] The system determines the difference value of a time-based set of monitoring images by comparing a time-based set of monitoring images with a time-based set of reference images using an image processing algorithm (406). The system employs an image processing algorithm to analyze monitoring videos of equivalent components. The image processing algorithm takes both the reference video and the monitoring video as input, preprocesses both videos to reduce noise, and optionally normalizes the image pixel values ​​of each frame of both videos.

[0061] The system can also set the respective start times for both videos of the image processing algorithm. Starting at their respective start times, both the reference component and the equivalent component are in substantially similar states and performing substantially similar operations. For example, the reference component is a carrier head in a reference polishing machine. The equivalent component is a copy of a carrier head in an equivalent polishing machine, which is also a copy of the reference polishing machine. The system can set the respective start times for both videos such that the reference carrier head and the equivalent carrier head begin rotating on their respective platens with their respective substrates at their respective start times. The start time for the reference video may differ from the start time for the monitoring video. For example, the carrier head in the reference video may begin rotating on the platen at 5 seconds into the reference video. However, the equivalent carrier head in the monitoring video may begin 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 can be of any suitable form, e.g., a scalar, vector, or tensor. The difference value can be calculated in any suitable scheme. For example, the difference value could be a measure of the difference between each pair of pixels from each frame of the monitoring and reference video. More specifically, the measure of difference could be the root mean square difference obtained by summing the squared intensity differences for each pixel between each pair of frames, which may be the same as the output difference value. Alternatively, the difference value could be a measure of the difference between each pair of group pixels from each frame or between kernel outputs. The kernel receives different groups of pixels and generates features at different levels of feature. For example, low-level features may include lines or colors, while high-level features may include everything 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 the physical fields obtained from both the reference video and the monitoring video. The system can use an image processing algorithm to generate the velocity field, pressure field, or thermal field of the corresponding components and compare the differences in one or more physical fields between the videos. Alternatively, the difference value can represent the difference in physical quantities in each component between both the reference video and the monitoring video. For example, the system can generate the average velocity, angular velocity, orbit, or vibration of each component in each video and compare the differences in these physical quantities for the components in both videos. The difference value could be, to name a few, 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.

[0064] The system determines whether the difference value exceeds a threshold (408). The system can receive a predetermined threshold from the user or automatically generate a threshold using a specific algorithm, and each acquired difference value can be associated with the respective threshold. The threshold can represent an upper limit for absolute or relative difference values. For example, the threshold could be 1 mm / s for a difference value in velocity, or 10% for a difference value in a heat field.

[0065] The system indicates a malfunction in response to determining that the difference value exceeds a threshold (410). The system may generate an alarm when it determines that the difference value exceeds a threshold. The system may also generate a notification on a user interface component.

[0066] Furthermore, the system can also generate user presentations on user interface components to add information as overlays to captured monitoring video. More specifically, the system can present the user with monitoring video having multiple overlays, each presenting the respective characteristics of a time-based series of monitoring images. For example, the overlays could present, for instance, various physical fields (e.g., flow field, thermal field), various physical quantities (e.g., angular velocity, trajectory), and notifications (e.g., alarms, analysis summaries).

[0067] Malfunctions can include various operations performed by equivalent components that deviate from the operations performed by the reference components instructed by the reference recipe. For example, a malfunction may be a component deviating from its expected operational path (e.g., expected trajectory). In these situations, with respect to Figures 1-3, the components may 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, the carrier head 70 may be detected to be deviating from its expected rotation (e.g., rotating at a slower angular velocity) by comparing it to a reference and monitoring video. In another example, the wiper blade 170 may be detected to be deviating from its expected trajectory, such as the wiper colliding with the carrier head 70. In yet another example, the pedestal 204 may not rise or lower as expected. In yet another example, two of the arms 94, 110, 140, and 150 may collide while sweeping. In an extreme example, the substrate 10 may be detected to be shattering on the platen 24 and detaching from the carrier head 70.

[0069] The system can further analyze component excursions from the expected operating path to determine whether one or more motors are unexpectedly driving components within the system. Furthermore, based on the malfunction, the system can determine whether the initial calibration process was not performed properly.

[0070] Furthermore, malfunctions can indicate differences in the physical field when components perform their operations. In these situations, with respect to Figures 1-3, the components may be, for example, the nozzle in the load cup 8, the cooling system 102, the heating system 104, and the nozzle of the rinsing system 106, the platen 24, and the slurry-applying arm 39.

[0071] For example, the slurry flow rate applied from the distribution arm 39 may be detected as having a slower flow rate than the reference video. Another example is that the heat field on the platen 24 may have one or more areas with a higher temperature than the reference video. Another example is that the nozzle in the load cup 8 may be detected as having high water pressure which would cause overspray. Overspray may also be detected in other components of the polishing apparatus, for example, overspray in the slurry application arm 39. In an extreme example, the platen 24 may be detected as overheating and the nozzle of the cooling system 102 may be clogged.

[0072] After determining that the difference value exceeds a threshold, the system can generate a compensatory action to adjust the equivalent components performing the action in order to reduce the difference value. The system can generate commands for the adjusted action on one or more computers outside the polishing device 20, or the system can instruct the controller 12 to generate commands. The controller 12 can then adjust the action of each component by controlling the corresponding components based on the commands.

[0073] The system can easily scale up the analysis process to simultaneously detect malfunctions in multiple components within the polishing system.

[0074] The system first acquires a series of time-based reference images encompassing multiple components of the polishing system performing operations during each test run of the polishing system.

[0075] The system then receives a series of time-based monitoring images from the camera that include one or more equivalent components of an equivalent polishing system performing operations during substrate polishing. 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 may perform steps similar to 406, 408, and 410 for each of the one or more equivalent components.

[0076] Figure 5 is a flowchart illustrating an exemplary process 500 for fault detection based on video images using machine learning. Process 500 may be executed by one or more computers located in one or more locations. Alternatively, process 500 may be stored as instructions in one or more computers. Once executed, the instructions can cause one or more components of the polishing apparatus to perform the process. For example, one or more computers outside of the controller 12 or polishing apparatus 20, as shown in Figures 1-3, may execute process 500.

[0077] The system receives a series of time-based monitoring images from a camera of the components of the polishing system performing operations while the test substrate is being polished (502). Similar to process 400 described above, the system may acquire a series of time-based monitoring images using one or more cameras, or receive a series of time-based monitoring images from an appropriate external monitoring system. The system acquires monitoring video of the components performing operations as instructed by a reference recipe.

[0078] The system is input to a machine learning model trained by training examples to analyze a series of time-based monitoring images to detect malfunctions of components from expected operation, the training examples including a series of time-based reference images (504) and a series of reference images of a reference component of a reference polishing system performing operation during a test run, classified as, for example, normal operation or malfunction. The classification can also identify the type of malfunction, such as a pedestal lift failure in the load cup or a carrier head deviation from the expected sweep position.

[0079] The system can acquire data representing multiple training examples from external memory, or it can collect training examples using one or more cameras. Each training example is a time-based series of images of the component performing the action. To collect training examples, the system can instruct multiple equivalent polishing devices, each having equivalent components, to perform the action using a reference recipe (i.e., the same recipe for acquiring monitoring video) and to acquire the respective monitoring video of each equivalent component. The system can then train a neural network based on each acquired monitoring video.

[0080] In some embodiments, the system can acquire training examples using both a reference component in a reference polishing apparatus and one or more equivalent components in each equivalent polishing apparatus. Optionally, the system can include weight values ​​for each training example while training the neural network, and higher weight values ​​can be set for training samples in the reference video.

[0081] After training the neural network, the system can perform inference computations using input data of equivalent components (e.g., monitoring video). Equivalent components are components that are substantially similar to the equivalent components in the training samples.

[0082] The system receives instructions from the machine learning model regarding a component malfunction from the expected operation (506). Similar to step 410 of process 400, the system can detect an excursion of an equivalent component based on input data (e.g., monitoring video of the component). An excursion is similarly described with respect to process 400. The system can similarly generate a compensatory action to adjust the equivalent component performing the operation.

[0083] The system can store neural networks trained on one or more computers at one or more locations. One or more processors can simultaneously access the stored neural networks to accelerate inference operations (e.g., parallel computing). The system can continue training the neural networks with newly acquired training examples. Similarly, the system can be scaled up to simultaneously monitor malfunctions of multiple components within a polishing apparatus.

[0084] As used herein, the term "substrate" can include, for example, a product substrate (e.g., one containing multiple memory or processor dies), a test substrate, a bare substrate, and a gate substrate. A substrate can be at various stages of integrated circuit manufacturing; for example, a substrate can be an exposed wafer, or a substrate can include one or more deposited and / or patterned layers. The term "substrate" can also include circular disks and rectangular sheets.

[0085] The polishing apparatus and methods described above can be applied to 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 may revolve rather than rotate. The polishing pad may be a circular (or of some other shape) pad fixed to the platen. Some embodiments of the endpoint detection system may 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 may be a standard (e.g., polyurethane with or without fillers) 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 may be held in a vertical orientation or some other orientation.

[0086] The control of various systems and processes described herein, or parts thereof, may be implemented in a computer program product containing instructions, which are stored in one or more non-temporary computer-readable storage media and are executable on one or more processing devices. The systems described herein, or parts thereof, may be implemented as an apparatus, method, or electronic system which may include one or more processing devices and memory for storing instructions executable to perform the operations described herein.

[0087] Embodiments of classification and training of machine learning models described herein may be implemented in digital electronic circuits, in tangibly implemented computer software or firmware, in computer hardware including structures disclosed herein and their structural equivalents, or in 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 in a tangible non-temporary storage medium for execution by a data processing device or for controlling the operation of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage board, a random or serial access memory device, or one or more combinations thereof. Alternatively or additionally, program instructions may be encoded in artificially generated propagating signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a receiver device suitable for execution by a data processing device.

[0088] Computer programs, which may also be called or written as programs, software, software applications, apps, modules, software modules, scripts, 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 standalone programs or as modules, components, subroutines, or other units suitable for use in a computer environment. A program may, but is not required to, correspond to a file in a file system. A program may be stored as a single file dedicated to the program in question, as part of a file that holds other programs or data, for example, as one or more scripts stored in a markup language document, or as a set of collaborative files, for example, as files that store one or more modules, subprograms, or parts of code. A computer program may be deployed to run on one computer or on multiple computers located in one place or distributed across multiple locations and interconnected by data communication networks.

[0089] The processes and logic flows described herein may be executed by one or more programmable computers that run one or more computer programs to perform their functions by operating on input data and producing outputs. The processes and logic flows may also be executed by purpose-specific logic circuits, such as FPGAs or ASICs, or by a combination of purpose-specific logic circuits and one or more programmed computers.

[0090] A computer suitable for running computer programs may be based on a general-purpose or specific-purpose microprocessor, or both, or any other type of central processing unit. Generally, the central processing unit will receive instructions and data from read-only memory or random-access memory, or both. Essential elements of a computer are a central processing unit for executing or running instructions and one or more memory devices for storing instructions and data. The central processing unit and memory may be complemented by or incorporated into specific-purpose logic circuits. Generally, a computer will also include one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or will be linked to them in a manner that enables them to receive data from or transfer data to or both. However, a computer does not have to 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, such as 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] Data processing devices for implementing machine learning models may also include, for example, purpose-specific hardware accelerator units for handling the general and computationally intensive parts of machine learning training or generation, namely inference.

[0093] Machine learning models can be implemented and deployed using machine learning frameworks, such as 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, or in any combination of one or more such backend, middleware, or frontend components, including, for example, a data server, a backend component, or a middleware component, such as an application server, or a frontend component, such as a client computer having a graphical user interface, a web browser, or an application through which a user can interact with the implementation of the subject matter described herein. The components of the system may be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0095] A computer system can include clients and servers. Clients and servers are generally geographically distant from each other and typically interact through a communication network. The client-server relationship arises from computer programs running on each computer and having a client-server relationship with each other. In some embodiments, the server transmits data, such as an HTML page, to a user device for the purpose of displaying data to a user interacting with the device and receiving user input from such a user, for example, acting as a client. Data generated on the user device, such as the results of user interaction, may be received from the device by the server.

[0096] This specification includes details of numerous specific embodiments, but these should not be construed as limitations on the scope of any invention or claimable scope, but rather as descriptions of features that may be specific to a particular embodiment of a particular invention. Certain features described herein in relation to separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in relation to a single embodiment may also be implemented individually in multiple embodiments or in any suitable partial combination. Furthermore, features may be described as functioning in certain combinations and may be initially claimed as such, but one or more features from a claimed combination may, in some cases, be removed from the combination, and the claimed combination may be a partial combination or a modified form of a partial combination.

[0097] Specific embodiments of this subject matter have been described. Other embodiments are included in the following claims.

[0098] Other embodiments are within the scope of the following claims.

Claims

1. A platen to support the polishing pad, A carrier head that holds the substrate relative to the polishing pad, A fluid dispenser that supplies liquid to the polishing pad, A camera positioned to capture a series of time-based monitoring images of the fluid dispenser, During the test run, a series of time-based reference images were obtained of an equivalent fluid dispenser of an equivalent polishing system performing the operation. During the polishing of the substrate, a series of time-based monitoring images of the fluid dispenser are received from the camera. The difference value of the time-based monitoring images is determined by comparing the time-based series of reference images with the time-based series of monitoring images using an image processing algorithm. Determine whether the aforementioned difference value exceeds the threshold, and In response to the determination that the difference value exceeds the threshold, it indicates an overspray of liquid from the fluid dispenser. A controller configured as follows A polishing system equipped with the following features.

2. The system according to claim 1, wherein the controller is configured to generate a corrective action to adjust the fluid dispenser to reduce the difference value in response to determining that the difference value exceeds the threshold.

3. The system according to claim 1, wherein the fluid dispenser comprises a slurry supply arm having a port for supplying polishing liquid onto the polishing pad.

4. The system according to claim 1, wherein the fluid dispenser comprises an arm of a temperature control system having a nozzle for supplying a temperature-controlled medium onto the polishing pad.

5. The system according to claim 1, wherein the fluid dispenser comprises a rinsing system having a plurality of nozzles for directing a cleaning fluid onto the polishing pad.

6. To store a series of time-based reference images of the fluid dispenser of the polishing system performing an operation during a test run of the polishing system, Receiving a series of time-based monitoring images from a camera of an equivalent polishing system performing operations during the polishing of a circuit board. The difference value of the time-based monitoring images is determined by comparing the time-based monitoring images with the time-based reference images using an image processing algorithm. To determine whether the aforementioned difference value exceeds a threshold, and In response to determining that the difference value exceeds the threshold, it indicates an overspray of liquid from the fluid dispenser. A computer program product tangibly embodied in a computer-readable medium, which includes instructions for causing one or more computers to perform a certain action.

7. The computer program product according to claim 6, further comprising instructions for generating a compensatory action to adjust the equivalent fluid dispenser to reduce the difference value in response to determining that the difference value exceeds the threshold.

8. The computer program product according to claim 6, comprising instructions for receiving a series of time-based reference images from a camera when the fluid dispenser of the polishing system is performing an operation under a series of reference instructions, and for receiving a series of time-based monitoring images from a camera when the equivalent fluid dispenser of the equivalent polishing system is performing an operation under a series of reference instructions.

9. A method for monitoring the operation of a polishing system, To acquire a series of time-based reference images of the fluid dispenser of the polishing system performing an operation during a test run of the polishing system, Receiving a series of time-based monitoring images from a camera of an equivalent fluid dispenser of an equivalent polishing system performing an operation during substrate polishing. The difference value of the time-based monitoring images is determined by comparing the time-based monitoring images with the time-based reference images using an image processing algorithm. To determine whether the aforementioned difference value exceeds a threshold, and In response to determining that the difference value exceeds the threshold, an overspray of liquid from the fluid dispenser is indicated. Methods that include...

10. A platen to support the polishing pad, A carrier head that holds the substrate relative to the polishing pad, A fluid dispenser that supplies liquid to the polishing pad, A camera positioned to capture a series of time-based monitoring images of the fluid dispenser, Receiving a series of time-based monitoring images from the camera of the fluid dispenser performing an operation during substrate polishing, Analyzing a series of time-based monitoring images with a machine learning model trained by a training example to detect and indicate a malfunction of the fluid dispenser from expected operation, wherein the training example analyzes a series of time-based monitoring images including a series of time-based reference images of a reference fluid dispenser of a reference polishing system performing operation during a test run, and This indicates an overspray of liquid from the fluid dispenser. A controller configured to perform the following actions A polishing system equipped with the following features.

11. The system according to claim 10, wherein the fluid dispenser comprises a slurry supply arm having a port for supplying polishing liquid onto the polishing pad.

12. The system according to claim 10, wherein the fluid dispenser comprises an arm of a temperature control system having a nozzle for supplying a temperature-controlled medium onto the polishing pad.

13. The system according to claim 10, wherein the fluid dispenser comprises a rinsing system having a plurality of nozzles for directing a cleaning fluid onto the polishing pad.

14. Receiving a series of time-based monitoring images from a camera of the fluid dispenser of the polishing system performing its operation during substrate polishing, To detect and indicate a malfunction of liquid overspray from the fluid dispenser, the analysis of a series of time-based monitoring images with a machine learning model trained by a training example, wherein the training example includes a series of time-based reference images of a reference fluid dispenser of a reference polishing system performing an operation during a test run. A computer program product tangibly embodied in a computer-readable medium, which includes instructions for causing one or more computers to perform a certain action.

15. A method for monitoring the operation of a polishing system, Receiving a series of time-based monitoring images from a camera of the fluid dispenser of the polishing system performing its operation during substrate polishing. Inputting a series of time-based monitoring images to be analyzed into a machine learning model trained by a training example to detect liquid overspray from the fluid dispenser, wherein the training example includes a series of time-based reference images of a reference fluid dispenser of a reference polishing system performing an operation during a test run, and The machine learning model receives instructions for liquid overspray by the fluid dispenser. Methods that include...