Pixel and area classification of film non-uniformity based on substrate image processing
By using color image processing and machine learning techniques, non-uniformity of the substrate film can be quickly detected and classified, solving the problems of low efficiency and insufficient accuracy in existing technologies, and realizing real-time optimization of the polishing process and increased production.
Patent Information
- Application Number
- CN202210218508.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-04
- Filing Date
- 2022-03-04
- Publication Date
- 2026-01-20
- Estimated Expiration
- 2042-03-04
AI Technical Summary
Existing optical metrology systems are inefficient and inaccurate in detecting and classifying non-uniformity in substrate films, making it difficult to quickly and effectively identify under-polished or over-polished materials, resulting in reduced production output.
A color image processing-based method is adopted. By acquiring a color image of the substrate, calculating the difference vector sequence and comparing it with a threshold, the pixels are divided into normal and abnormal regions. Combined with machine learning, classification is performed to achieve rapid detection and classification of the film.
It improves the speed and accuracy of substrate film non-uniformity detection, can quickly identify insufficient or excessive polishing, reduce production loss, and supports real-time adjustment of polishing parameters to optimize the polishing process.
Smart Images

Figure CN115100097B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to optical metrology, for example, techniques for classifying non-uniformities of films on a substrate. BACKGROUND
[0002] Integrated circuits are typically formed on a substrate by sequentially depositing conductive, semiconductive, or insulating layers on a silicon wafer. In order to remove a fill layer or to improve planarity of photolithography during fabrication of integrated circuits, it can be desirable to planarize the surface of the substrate.
[0003] Chemical mechanical polishing (CMP) is a well-accepted planarization method. This planarization method typically requires mounting the substrate on a carrier head or polishing head. An exposed surface of the substrate is typically placed against a rotating polishing pad. The carrier head provides a controllable load on the substrate, pushing the substrate against the polishing pad. An abrasive polishing slurry is typically supplied to the surface of the polishing pad.
[0004] Various optical metrology systems, such as spectroscopic or ellipsometric metrology systems, can be used to measure thicknesses of pre-polish and post-polish substrate layers, for example, at an in-line metrology station or a standalone metrology station.
[0005] As a parallel issue, advances in hardware resources, such as graphics processing units (GPUs) and tensor processing units (TPUs), have led to great improvements in deep learning algorithms and their applications. One of the areas in which deep learning has gradually developed is computer vision and image recognition. Such computer vision algorithms are mostly designed for image classification or segmentation. SUMMARY
[0006] In one aspect, a method of classifying film non-uniformities on a substrate includes: acquiring a color image of the substrate, the color image including a plurality of color channels; acquiring a standard color for the color image of the substrate;
[0007] determining, for each respective pixel along a path in the color image, a difference vector between a color of the respective pixel and the standard color to generate a sequence of difference vectors; and binning the pixels along the path into a plurality of regions based on the sequence of difference vectors, including comparing a plurality of difference vectors in the sequence to a threshold, the plurality of regions including at least one normal region and at least one abnormal region.
[0008] In another aspect, a computer program product can be provided to classify a film.
[0009] In another aspect, a chemical mechanical polishing system includes a control system configured to classify a film.
[0010] Implementations can include one or more of the following features. The culling can include flagging the pixel as abnormal in response to determining that the magnitude of the respective difference value exceeds a first threshold. The determining the difference value can include calculating a magnitude of a vector difference between a first tuple and a second tuple, the first tuple representing a color of the respective pixel and the second tuple representing a standard color. The culling can include flagging the pixel as normal based on determining that the magnitude of the respective difference value is less than the first threshold. A mask can be applied to the color image to remove scribe lines and / or areas outside of the substrate. The first two color channels can be green and red, and the last two color channels can be blue and red. The plurality of radial paths can be evenly spaced around a center of the substrate.
[0011] Implementations can include one or more of the following potential advantages. Abnormalities of a film on a substrate, such as non-uniformities in thickness, and presence of residue or defects, can be analyzed quickly. In some implementations, abnormalities of a film on a substrate can be analyzed quickly for die-to-die measurements. For example, an inline metrology system can measure film abnormalities of a substrate based on a color image of the substrate. The measured abnormalities, such as measured non-uniformities, can be used to control polishing parameters to compensate for under- or over-polishing of the substrate.
[0012] The method can use color values in a sequence of pixels to detect abnormalities in a film of a substrate and classify types of abnormalities. A model can be trained to determine different types of abnormalities based on the color values.
[0013] The metrology system can have a high inference speed, and high quality detection and classification of non-uniform areas. The method can also account for sub-layer variations.
[0014] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will become apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0015] Figure 1 A view showing an example of an inline optical measurement system is shown.
[0016] Figure 2 A flowchart showing a method of classifying non-uniformities of a film on a substrate using a computational method is shown.
[0017] Figure 3A A mask applied to an example image of a substrate for computational analysis is shown.
[0018] Figure 3B A histogram showing three color channels is shown.
[0019] Figures 4A-4CAn example of an exemplary image with a radial profile of a substrate and results of non-uniformity analysis is shown.
[0020] Figures 5A-5C Another example of an exemplary image with a radial profile of a substrate and results of non-uniformity analysis is shown.
[0021] Like reference symbols in the various drawings indicate the same element. DETAILED DESCRIPTION
[0022] Thin film thickness measurements from dry metrology systems are used in CMP processes due to variations in polishing rates that occur in the CMP process. Such dry metrology measurement techniques typically use either spectroscopy or ellipsometry, where variables in an optical model of the film stack are adapted to the collected measurements. Such measurement techniques typically require precise alignment of the sensor to the measurement point of the substrate to ensure that the model applies to the collected measurements. As a result, measuring a large number of points on the substrate can be very time consuming, and classifying the type and extent of under- and over-polishing can not be feasible due to unacceptable yield loss.
[0023] However, color image based image processing techniques can provide faster detection of anomalies on the substrate, and classification of the type of anomaly with satisfactory accuracy. In particular, a color image from a die of a substrate can be divided into a plurality of regions. Each region can be divided into a plurality of zones of the same or similar color. For example, pixels with color vectors sufficiently close to a target vector can be classified as properly polished; pixels that fail this test can be classified as anomalies. In one implementation, for each of a plurality of paths across the substrate, the color of each pixel along the path can be analyzed, and the type and extent of the anomaly can be determined based on a sequence of vectors in a color space of pixels at a boundary between properly and improperly polished regions along the path. For example, based on the vectors, it can be determined whether a region is under- or over-polished relative to other regions, and the extent of the under- or over-polishing.
[0024] REFERENCE Figure 1 The polishing apparatus 100 includes one or more carrier heads 126, each configured to carry a substrate 10, one or more polishing stations 106, and a transfer station to load and unload substrates from the carrier heads. Each polishing station 106 includes a polishing pad 130 supported on a platen 120. The polishing pad 130 can be a dual layer polishing pad having an outer polishing layer and a softer backing layer.
[0025] The carrier heads 126 can be suspended from the support 128 and movable between polishing stations. In some implementations, the support 128 is a top rail, and each carrier head 126 is coupled to a carriage 108 mounted on the rail so that each carriage 108 can be selectively moved between the polishing stations 124 and the transfer station. Alternatively, in some implementations, the support 128 is a rotatable turntable, and rotation of the turntable simultaneously moves the carrier heads 126 along a circular path.
[0026] Each polishing station 106 of the polishing apparatus 100 can include a port, for example at the end of the arm 134, to dispense a polishing liquid 136, such as a slurry, onto the polishing pad 130. Each polishing station 106 of the polishing apparatus 100 can also include a pad conditioning device for abrading the polishing pad 130 so that the polishing pad 130 is maintained in a consistent state of abrasiveness.
[0027] Each carrier head 126 is operable to hold a substrate 10 against the polishing pad 130. Each carrier head 126 can have independent control of polishing parameters associated with respective substrates, such as pressure. In particular, each carrier head 126 can include a retaining ring 142 to hold the substrate 10 under a flexible membrane 144. Each carrier head 126 can also include a plurality of independently controllable pressurizable chambers defined by the membrane, for example, three chambers 146a-146c, which can apply independently controllable pressure to associated regions on the flexible membrane 144, and thus to the substrate 10. Although three chambers are shown for ease of illustration, Figure 1 but there can be one or two chambers, or four or more chambers, for example, five chambers.
[0028] Each carrier head 126 is suspended from the support 128 and connected to a carrier head rotation motor 156 by a drive shaft 154 so that the carrier head can rotate about the shaft 127. Optionally, each carrier head 126 can be laterally oscillated, for example by driving the carriage 108 on a rail, or by rotation of the turntable itself. In operation, the platen is rotated about its central axis, and each carrier head is rotated about its central axis 127 and laterally translated across the top surface of the polishing pad.
[0029] A controller 190, such as a programmable computer, provides control of the system. The controller 190 is connected to each motor to independently control the rate of rotation of the platen 120 and the carrier head 126. The controller 190 can include a central processing unit (CPU), memory, and support circuits (e.g., input / output circuits), power supplies, clock circuits, cache, etc. The memory is connected to the CPU. The memory is a non-transitory computer-readable medium that can be one or more of read-only memory (ROM), random access memory (RAM), soft discs, hard discs, or other forms of digital storage. In addition, although illustrated as a single computer, the controller 190 can be a distributed system, e.g., including multiple independently operating processors and memories.
[0030] The polishing apparatus 100 also includes an inline (also referred to as in-line) optical metrology system 160. The color imaging system of the inline optical metrology system 160 is positioned within the polishing apparatus 100, but does not perform measurements during polishing operations; rather, it collects measurements between polishing operations (e.g., when a substrate is moved from one polishing station to another), or before or after polishing (e.g., when a substrate is moved from a transfer station to a polishing station, or vice versa). In addition, the inline optical metrology system 160 can be positioned in a factory interface unit or module accessible from a factory interface unit, so that measurements are made on a substrate after it is removed from a wafer cassette but before it is moved to a polishing unit, or after it has been cleaned but before it is returned to the wafer cassette.
[0031] The inline optical metrology system 160 includes a sensor assembly 161 that provides color imaging of the substrate 10. The sensor assembly 161 can include a light source 162, a light detector 164, and circuitry 166 for sending and receiving signals between the controller 190 and the light source 162 and light detector 164.
[0032] The light source 162 is operable to emit white light. In one implementation, the emitted white light includes light having a wavelength of 200-800 nanometers. A suitable light source is an array of white light emitting diodes (LEDs), or a xenon or xenon-mercury lamp. The light source 162 is oriented to direct light 168 onto the exposed surface of the substrate 10 at a non-zero angle of incidence a. The angle of incidence a can be, for example, about 30° to 75°, such as 50°.
[0033] The light source can illuminate a substantially linear elongated region that spans the width of the substrate 10. For example, the light source 162 can include optics, such as a beam expander, to spread the light from the light source into the elongated region. Alternatively or additionally, the light source 162 can include a linear array of light sources. The light source 162 itself, as well as the region illuminated on the substrate, can be elongated, with a longitudinal axis parallel to the surface of the substrate.
[0034] The diffuser 170 can be placed in the path of the light 168, or the light source 162 can include a diffuser to diffuse the light before it reaches the substrate 10.
[0035] Detector 164 is a light-sensitive color camera derived from light source 162. The camera includes an array of detector elements. For example, the camera may include a CCD array. In some implementations, the array is a single row of detector elements. For example, the camera may be a line scan camera. The row of detector elements may extend parallel to the longitudinal axis of the elongated region illuminated by light source 162. If light source 162 includes a row of light-emitting elements, the row of detector elements may extend along a first axis parallel to the longitudinal axis of light source 162. A row of detector elements may include 1024 or more elements.
[0036] Camera 164 is configured with appropriate focusing optics 172 to project the field of view of the substrate onto the detector element array. The field of view can be long enough to see the full width of the substrate 10, for example, 150 to 300 millimeters long. Camera 164, including the associated optics 172, can be configured such that individual pixels correspond to areas with a length equal to or less than approximately 0.5 millimeters. For example, assuming a field of view of approximately 200 millimeters and detector 164 comprising 1024 elements, the image generated by this line scan camera can have pixels with a length of approximately 0.5 millimeters. To determine the length resolution of the image, the length of the field of view (FOV) can be divided by the number of pixels imaged by the FOV to obtain the length resolution.
[0037] The camera 164 can also be configured such that the pixel width is comparable to the pixel length. For example, one advantage of a line scan camera is its very high frame rate. The frame rate can be at least 5 kHz. The frame rate can be set at a frequency such that when scanning across the substrate 10 in the imaging area, the pixel width is comparable to the pixel length, for example, equal to or less than approximately 0.3 mm.
[0038] The light source 162 and the photodetector 164 can be supported on the stage 180. When the photodetector 164 is a line scan camera, the light source 162 and the camera 164 are movable relative to the substrate 10, allowing the imaging area to scan the entire length of the substrate. Specifically, this relative movement can be in a direction parallel to the surface of the substrate 10 and perpendicular to the rows of detector elements of the line scan camera 164.
[0039] In some implementations, the stage 182 is stationary and the support for the substrate moves. For example, the carrier head 126 can move, e.g., by motion of the carriage 108 or by rotational oscillation of a turntable, or a robotic arm holding the substrate 10 in a factory interface unit can move the substrate 10 past the line scan camera 182. In some implementations, the stage 180 is movable while the carrier head or robotic arm remains stationary for image capture. For example, the stage 180 can be movable along a track 184 by a linear actuator 182. In either case, this allows the light source 162 and camera 164 to maintain a fixed position relative to each other as the area being scanned moves across the substrate 10.
[0040] One possible advantage of having a line scan camera and light source that move together across the substrate is that the relative angle between the light source and camera remains constant at different locations on the wafer, e.g., compared to a traditional 2D camera. Thus, artifacts caused by changes in viewing angle can be reduced or eliminated. In addition, a line scan camera can eliminate perspective distortion, whereas a traditional 2D camera exhibits inherent perspective distortion that needs to be corrected subsequently by image transformation.
[0041] The sensor assembly 161 can include a mechanism for adjusting the vertical distance between the substrate 10 and the light source 162 and detector 164. For example, the sensor assembly 161 can include an actuator for adjusting the vertical position of the stage 180.
[0042] Optionally, a polarizing filter 174 can be positioned in the path of the light, e.g., between the substrate 10 and the detector 164. The polarizing filter 174 can be a circular polarizer (CPL). A typical CPL is a combination of a linear polarizer and a quarter wave plate. Proper orientation of the polarization axis of the polarizing filter 174 can reduce haze in the image and sharpen or enhance the desired visual features.
[0043] Assuming the outermost layer on the substrate is a translucent layer, e.g., a dielectric layer, the color of the light detected at the detector 164 depends on, e.g., the composition of the substrate surface, the smoothness of the substrate surface, and / or the amount of interference between light reflected from different interfaces of one or more layers on the substrate, e.g., a dielectric layer. As previously described, the light source 162 and light detector 164 can be connected to a computing device, e.g., a controller 190, that is operable to control the operation of the light source 162 and light detector 164 and receive their signals. The computing device that performs various functions to convert the color image to a thickness measurement can be considered part of the metrology system 160.
[0044] Figure 2An image processing method 200 used in detecting and classifying anomalies in a film on a substrate is shown. The method can be performed by a controller 190. The controller 190 receives a color image of a substrate. The color image can be an RGB image, or an image in other color spaces, such as XYZ or HCL.
[0045] The controller performs an image processing algorithm that processes the color image. The controller assembles the individual image lines from the light detector 164 into a two-dimensional color image (step 205). The controller can apply an offset and / or a gain adjustment to the intensity values of the pixels in the image in each color channel (step 210). Each color channel can have a different offset and / or gain. Optionally, the image can be normalized (step 215). For example, a difference between a measured image and a standard pre-defined image can be computed. For example, the controller can store a background image for each of the red, green, and blue channels, and can subtract the background image from the measured image for each color channel. The image can also be transformed (e.g., scaled and / or rotated and / or translated) into a standard image coordinate system (step 220). For example, the image can be translated so that the substrate center is at the center point of the image, and / or the image can be scaled so that the edges of the substrate are at the edges of the image, and / or the image can be rotated so that there is a 0° angle between the x-axis of the image and the radial segment connecting the substrate center and a substrate orientation feature (e.g., a notch or a flat of a wafer). The substrate orientation can be determined by a notch tracker, or by image processing of the color image 320 (e.g., to determine the angle of a scribe line in the image). The substrate position can also be determined by image processing of the color image 320, for example, by detecting a circular substrate edge and then determining the center of the circle.
[0046] A mask can be applied to the image 320. The mask can eliminate unwanted pixels from the computation, for example, pixels from the portion of the substrate corresponding to a scribe line. For example, the controller 190 can store a die mask that identifies locations and regions of interest in the image. For example, for a rectangular region, the region can be defined by the coordinates of the upper right corner and the lower left corner in the image. Thus, the mask can be a data file that includes a pair of upper right corner coordinates and lower left corner coordinates for each region. In other cases, where the regions are non-rectangular, more complex functions can be used. In some implementations, the substrate orientation and position can be determined, and the die mask can be aligned with respect to the image.
[0047] Referring to FIG. 3, an example is shown of collecting an image 300 of a substrate 10 with an inline optical metrology system 160. The inline optical metrology system 160 produces a color image 300 having at least three color channels (e.g., RGB channels). The image can be a high resolution image (e.g., an image having a resolution of at least 720 x 1080 pixels), but lower resolutions (e.g., as low as 150 x 150 pixels) or higher resolutions can also be used. The color at any particular pixel depends on the thickness of one or more layers (including the top layer) in the substrate region corresponding to that pixel.
[0048] A later algorithm determines a "uniform color" for the unmasked portion of the image (step 225). In some implementations, an intensity histogram is determined for each color channel, and the algorithm finds the peak value in each of the three histograms (R, G, and B planes). The tuple of intensity values from the peak in the histograms provides a color value. This color value is referred to as the "uniform color" (UC) of the image 300. For example, Figure 3B Histograms 360, 370, 380 are shown for the red, green, and blue channels, respectively, along with the peak values of each histogram at Rl, Gl, Bl. The tuple (Rl, Gl, Bl) provides the uniform color. However, other techniques can be used to define the uniform color, such as simply computing the mode or average value of each channel.
[0049] The collected color image can be stored as a PNG image for further analysis or processing, although many other formats (e.g., JPEG, etc.) are also possible.
[0050] Returning to Figure 2 The masked image can be fed into an image processing algorithm. The controller can store data defining a plurality of paths across the image. For example, the paths can be lines extending radially outward from the center of the substrate (see paths 406 in FIG. 4), although other paths are also possible. For radial lines, the lines can be positioned at the same angular intervals (e.g., 1-10°) around the center of the substrate. Figure 4A
[0051] For each path, the controller computes a difference vector (DV) between each pixel in the sequence of pixels along the path and the uniform color (UC) (step 230). The difference vector can be represented as a tuple, such as (DR, DG, DB). In the calculation algorithm shown below, the difference vector for a pixel can be represented by Cartesian coordinates or by spherical coordinates:
[0052] DV = (D r ,D g ,D b ), where (Cartesian coordinates)
[0053] DX = X - PP average X, where X = R, G, or B
[0054] where (spherical coordinates)
[0055]
[0056] = tan -1 (D g / D r )
[0057]
[0058] where is the projection of DV onto the (RG) plane.
[0059] The sequence of differential vectors along a particular path provides a differential vector profile. Each differential vector profile is analyzed to detect regions or segments along the radial profile that are non-uniform (step 240).
[0060] In some implementations, a threshold is used to distinguish between uniform and non-uniform regions. Pixels with a differential vector magnitude (e.g., computed as the regular Euclidean distance) above a threshold are classified as “non-uniform.” In contrast, pixels with a differential vector magnitude below the threshold are classified as “uniform.” In some implementations, the region interpretation can be set automatically using machine learning.
[0061] In some implementations, the controller establishes four possible classifications for a pixel: properly polished (type 1), under-polished (type 2), over-polished (type 3), or non-uniformly polished but not classified or abnormal (type 4).
[0062] The algorithm first divides the path into groups of consecutive properly polished pixels and groups of consecutive unclassified pixels. For a selected pixel, if the preceding pixel is properly polished (Properly Polished) but the differential vector magnitude (MagDV) is greater than a threshold, a new non-uniform region is identified (i.e., non-PP or type 4). The algorithm continues to group pixels along the path into the identified non-uniform region until a number of sequentially properly polished pixels are encountered. By repeating this process along the path, the pixels are divided into groups of normal pixels and groups of abnormal pixels. An “n maintain” parameter can be used as a noise filter to determine the length of the sequence of adjacent pixels required to start a new type of region. For example, if a type 1 (i.e., normal pixel) region is shorter than the “n maintain” parameter value, then these type 1 pixels are assigned to the adjacent region of type 4 (i.e., abnormal pixel).
[0063] After the pixels along the path are divided into groups, the type of anomaly can be classified for each group, such as under-polish (type 2) or over-polish (type 3) (step 250). The type of anomaly can be determined by examining the difference vectors, particularly the difference vectors at the beginning of the group of anomalous pixels. Without being bound by any particular theory, although the color values at the center of a non-uniform region can match, the transition from a PP region to an under-polish (i.e., UP or type 2) region can be different than the transition from a PP region to an over-polish (i.e., OP or type 3) region.
[0064] In some implementations, the value F is calculated based on the difference ratios in a particular color channel. For example, F can be calculated based on the sum of a first difference ratio in two color channels and a second difference ratio in two color channels. The value F can then be compared to one or two thresholds to determine whether the region is under-polish (type 2) or over-polish (type 3). If F does not satisfy either threshold, then the region can be identified as an anomaly, e.g., type 4.
[0065] In some implementations, F and the type of anomaly are determined according to the following functions:
[0066]
[0067] where D R , D G , and D B are the difference values for the red, green, and blue color channels, and FT1 and FT2 are empirically determined thresholds.
[0068] A preset number of pixels in the non-PP region are estimated, the pixels being contiguous along a path beginning from an adjacent PP region. The preset number of pixels can be selected by a user (e.g., through user input). The classification sequence is performed by looking at 3-10 pixels (e.g., 3-5 pixels) (e.g., a region can be 50-60 pixels wide) and calculating the difference ratios. For example, for each pixel in a sequence of N pixels, the controller calculates a factor (F) to provide F1, F2, F3,..., FN. Each calculated F (i.e., F1, F2, F3,..., FN) is compared to each threshold FT1, FT2,..., FTn. If all the pixels satisfy the same condition, e.g., F1,..., FN are all less than FT1 or all greater than FT2, then the region is classified as "over-polish" or "under-polish". Otherwise, the region is classified as unclassified non-uniformity or anomaly.
[0069] In another implementation, the spherical coordinate angles (e.g., theta and phi) of the DV points in Type 4 regions (i.e., points adjacent to a neighboring Type 1 region) can be used to assess the interpretation between under polishing or over polishing. Thus, the order of determining UP or OP is: a) set upper and lower threshold values for theta and phi for UP behavior; b) analyze several PP adjacent points in Type 4 regions; and c) if theta and phi fall within Type 2, then classify as Type 2; otherwise, classify as Type 3.
[0070] Based on the calculated data, the "non-uniformities" can be further classified (step 250) by type (step 250a) and by severity (step 250b). Similar to the previous steps, the color image is input into an image processing algorithm and divided into volumes, and then DVs are calculated for each volume. For each non-uniform region, the severity is determined by a quasi-quantitative description such as "mild," "moderate," or "severe." This is performed for each radial profile by transforming the set of RGB pixels in the non-uniform region to the RG color space. Then the area of the bounding rectangle (BRA) of the sequence of non-uniform pixels in the RG space is calculated. The BRA is then compared to threshold areas to determine the level of severity. For example, if there are two thresholds Al and A2, where Al < A2, if the BRA is less than Al, then it is classified as "mild." If the BRA is between Al and A2, then it is classified as "moderate." If the BRA is greater than A2, then it is classified as "severe." As noted, only three categories are listed, however, the algorithm can have more or less than three categories based on the number of area thresholds.
[0071] As another method of determining severity, the arc length of the RG sequence (instead of the BRA) can be calculated. This can be more difficult, although it should be consistent with the underlying theory. However, the calculation of the bounding rectangle is computationally simpler and appears to be sufficiently accurate.
[0072] Reference Figures 4A-4C A first example of an exemplary image 400 of a substrate having a radial profile is shown, which displays non-uniform regions 402 and 404 having a "severe" level of abnormality. The level of severity is determined by Figure 4B the data in the graph shown. The line 408 indicates the threshold level; data 412 above the threshold line 408 is non-uniform, while data 410 below the threshold line 408 is uniform. The size of the BRA region is calculated and represented in Figure 4C The radial profile 400 is confirmed to have severe non-uniformity.
[0073] Figures 5A-5C A second example of an exemplary image 500 of a substrate having a radial profile is shown, which displays a case of mild to moderate non-uniformity.
[0074] Generally, one or more operating parameters of a CMP apparatus can be controlled with data. Operating parameters include, for example, platen rotation speed, substrate rotation speed, polishing path of the substrate, substrate speed across the platen, pressure applied to the substrate, slurry composition, slurry flow rate, and temperature at the substrate surface. The operating parameters can be controlled in real-time and automatically adjusted without further human intervention.
[0075] As used in the present specification, the term substrate can include, for example, product substrates (e.g., that include multiple memory or processor dies), test substrates, bare substrates, and gate substrates. The substrate can be at various stages of integrated circuit fabrication, e.g., 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 discs and rectangular sheets.
[0076] Embodiments of the application described in this specification and all the functional operations described can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. Embodiments of the application can be implemented as one or more computer program products, i.e., one or more computer programs tangibly embodied in a machine-readable storage medium for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple processors or computers). Embodiments of the application can also be implemented in programmable logic or
[0077] The term relative positioning is used to denote the positioning of components of the system relative to each other, not necessarily with respect to gravity; it should be understood that the polishing surface and the substrate can be held in a vertical orientation or some other orientation.
[0078] A number of implementations have been described. Nevertheless, it will be understood that various modifications can be made. For example
[0079] • A camera that images the entire substrate can be used, rather than a line scan camera. In this case, no motion of the camera relative to the substrate is needed.
[0080] • The camera can cover less than the entire width of the substrate. In this case, the camera will need to undergo motion in two perpendicular directions, e.g., be supported on an X-Y stage, in order to scan the entire substrate.
[0081] • The light source can illuminate the entire substrate. In this case, no motion of the light source relative to the substrate is needed.
[0082] • The light detector can be a spectrometer rather than a color camera; then, the spectral data can be reduced to the RGB color space.
[0083] • The sensor assembly need not be positioned in an in-line system between polishing stations or between a polishing station and a transfer station. For example, the sensor assembly can be positioned in a transfer station, positioned in a wafer cassette interface unit, or be a stand-alone system.
[0084] Accordingly, other implementations are within the scope of the following claims.
Claims
1. A non-transitory computer-readable medium comprising a computer program for classifying film non-uniformities on a substrate, the computer program containing instructions to cause one or more computers to: acquire a color image of a substrate, the color image comprising a plurality of color channels; determine an intensity histogram for each of the plurality of color channels of the color image; select an intensity of a peak in each respective histogram; set a standard color of the color image of the substrate to a tuple having a value corresponding to the intensity of the peak; for each respective pixel along a path in the color image, determine a difference vector between a color of the respective pixel and the standard color to generate a sequence of difference vectors; based on the sequence of difference vectors, classify the pixels along the path as normal or abnormal by comparing a plurality of difference vectors in the sequence to a threshold; and in response to the pixels being identified as normal or abnormal, sort the pixels into one or more regions, the plurality of regions comprising at least one normal region and at least one abnormal region.
2. The computer-readable medium of claim 1, wherein, the instructions to classify the pixels comprise instructions to determine, for each respective difference vector of the plurality of difference vectors, whether a magnitude of the respective difference vector exceeds a first threshold.
3. The computer-readable medium of claim 1, wherein, the instructions to classify the pixels comprise instructions to label a pixel based on determining whether each pixel of a plurality of consecutive pixels along the path exceeds a second threshold.
4. The computer-readable medium of claim 1, wherein, the instructions to set the standard color comprise instructions to determine an average color of the color image.
5. The computer-readable medium of claim 1, comprising instructions to determine a plurality of paths on the substrate, and for each respective path, to determine a difference value for each pixel along the respective path and to sort the pixels along the respective path into the plurality of regions.
6. The computer readable medium of claim 5, wherein, the plurality of paths are radial paths extending outward from a center of the substrate.
7. The computer-readable medium of claim 1, comprising instructions to classify an abnormal region as over-polished or under-polished based on at least one difference vector of a pixel at a boundary between the abnormal region and an adjacent normal region.
8. The computer-readable medium of claim 7, comprising instructions to classify an abnormal region as over-polished or under-polished based on a plurality of difference vectors of each of a plurality of consecutive pixels along the path at the boundary.
9. The computer readable medium of claim 8, wherein, the plurality of consecutive pixels does not exceed 5 pixels.
10. The computer-readable medium of claim 8, comprising instructions to classify an abnormal region as over-polished or under-polished based on each difference vector of the plurality of difference vectors that meets a criterion.
11. The computer readable medium of claim 9, wherein, the instructions to classify an abnormal region as over-polished or under-polished comprise instructions to compute a difference ratio factor based on two color channels.
12. The computer readable medium of claim 11, wherein, the instructions to compute the factor comprise instructions to compute a sum of a first difference ratio in a first two color channels and a second difference ratio in a second two color channels. the instructions to compute the factor comprise instructions to compute a sum of a first difference ratio in a first two color channels and a second difference ratio in a second two color channels.
13. The computer readable medium of claim 11, wherein, The instructions for classifying the abnormal region as over-polished or under-polished include instructions for comparing the factor to at least a third threshold.
14. The computer-readable medium of claim 1, comprising instructions for determining a severity of the abnormal region based on the plurality of difference vectors.
15. The computer readable medium of claim 14, wherein, Determining the severity includes determining a minimal bounding region in a color space of at least two color channels that contains the difference vectors of the pixels in the abnormal region, and comparing an area of the bounding region to a fifth threshold.
16. The computer readable medium of claim 15, wherein, The minimal bounding region includes a rectangle.
17. A method of classifying film non-uniformities on a substrate, comprising: acquiring a color image of a substrate, the color image comprising a plurality of color channels; determining an intensity histogram for each of the plurality of color channels of the color image; selecting an intensity of a peak in each respective histogram; setting a standard color of the color image of the substrate to a tuple having a value corresponding to the intensity of the peak; for each respective pixel along a path in the color image, determining a difference vector between a color of the respective pixel and the standard color to generate a sequence of difference vectors; and based on the sequence of difference vectors, including comparing a plurality of difference vectors in the sequence to a threshold, sorting the pixels along the path into a plurality of regions, the plurality of regions including at least one normal region and at least one abnormal region.
18. The method of claim 17, wherein, Acquiring the color image includes scanning a substrate with an inline metrology system comprising a line scan imager.
19. A polishing system, comprising: a polisher for polishing a substrate; an inline metrology system for acquiring a color image of a substrate, the color image comprising a plurality of color channels; and a controller configured to: receive the color image from the inline metrology system, determine an intensity histogram for each of the plurality of color channels of the color image, select an intensity of a peak in each respective histogram, set a standard color of the color image of the substrate to a tuple having a value corresponding to the intensity of the peak, for each respective pixel along a path in the color image, determine a difference vector between a color of the respective pixel and the standard color to generate a sequence of difference vectors, based on the sequence of difference vectors, sort the pixels along the path as normal or abnormal by comparing a plurality of difference vectors in the sequence to a threshold, in response to the pixels being identified as normal or abnormal, sort the pixels into one or more regions, the plurality of regions including at least one normal region and at least one abnormal region, and based on pixels sorted into the at least one abnormal region, adjust a polishing parameter of the polisher.
Citation Information
Patent Citations
Wafer inspection methods and an optical inspection tool
US20040028267A1
Thickness measurement of substrate using color metrology
US20180061032A1
Optical identification and characterization system and tags
US20180197052A1