Region classification of film non-uniformity based on processing of substrate images

Information

  • Patent Grant
  • 12288724
  • Patent Number
    12,288,724
  • Date Filed
    Thursday, February 24, 2022
    3 years ago
  • Date Issued
    Tuesday, April 29, 2025
    3 days ago
Abstract
A method of classification of a film non-uniformity on a substrate includes obtaining a color image of a substrate with the color image comprising a plurality of color channels, obtaining a standard color for the color image of the substrate, for each respective pixel along a path in the color image determining a difference vector between the a color of the respective pixel and the standard color to generate a sequence of difference vectors, sorting the pixels along the path into a plurality of regions including at least one normal region and at least one abnormal region based on the sequence of difference vectors, and classifying the at least one abnormal region as overpolished or underpolished based on at least one difference vector of a pixel at a boundary between the abnormal region and an adjacent normal region.
Description
TECHNICAL FIELD

This disclosure relates to optical metrology, e.g., techniques to classify non-uniformity of a film on a substrate.


BACKGROUND

An integrated circuit is typically formed on a substrate by the sequential deposition of conductive, semiconductive, or insulative layers on a silicon wafer. Planarization of a substrate surface may be required for the removal of a filler layer or to improve planarity for photolithography during fabrication of the integrated circuit.


Chemical mechanical polishing (CMP) is one accepted method of planarization. This planarization method typically requires that the substrate be mounted on a carrier or polishing head. The exposed surface of the substrate is typically placed against a rotating polishing pad. The carrier head provides a controllable load on the substrate to push it against the polishing pad. An abrasive polishing slurry is typically supplied to the surface of the polishing pad.


Various optical metrology systems, e.g., spectrographic or ellipsometric, can be used to measure the thickness of the substrate layer pre-polishing and post-polishing, e.g., at an in-line or stand-alone metrology station.


As a parallel issue, advancements in hardware resources such as Graphical Processing Units (GPU) and Tensor Processing Units (TPU) have resulted in a vast improvement in the deep learning algorithms and their applications. One of the evolving fields of deep learning is computer vision and image recognition. Such computer vision algorithms are mostly designed for image classification or segmentation.


SUMMARY

In one aspect, a method of classification of a film non-uniformity on a substrate includes obtaining a color image of a substrate with the color image comprising a plurality of color channels, obtaining a standard color for the color image of the substrate, for each respective pixel along a path in the color image determining a difference vector between the a color of the respective pixel and the standard color to generate a sequence of difference vectors, and sorting the pixels along the path into a plurality of regions including at least one normal region and at least one abnormal region based on the sequence of difference vectors, including comparing a multiplicity of the difference vectors in the sequence to a threshold.


In another aspect, a computer program product can be provided to classify the film.


In another aspect, a chemical mechanical polishing system includes a control system configured to classify the film.


Implementations can include one or more of the following potential advantages. Abnormalities in a film on a substrate, e.g., non-uniformity in thickness, and presence of residue or defects, can be analyzed quickly. In some implementations, abnormality in a film on a substrate can be analyzed quickly for die-to-die measurements. For example, an in-line metrology system can measure film abnormalities for a substrate based on color images of the substrate. The measured abnormality, e.g., the measured non-uniformity, can be used to control polishing parameters to compensate for underpolishing and overpolishing of a substrate.


The described approach can use color values in a sequence of pixels to detect an abnormality in the film of a substrate and classify the type of abnormality. A model can be trained to determine different types of abnormalities based on color values.


The metrology system can have high inference speed and superior detection and classification of non-uniform regions. The approach can also take into consideration sublayer variation.


The details of one or more implementations are set forth in the accompanying drawings and the description below. Other aspects, features and advantages will be apparent from the description and drawings, and from the claims.





DESCRIPTION OF DRAWINGS


FIG. 1 illustrates a view of an example of an in-line optical measurement system.



FIG. 2 illustrates a flow chart for a method of classifying a non-uniformity of a film on a substrate using computational approach.



FIG. 3A illustrates a mask being applied to an exemplary image of a substrate used for computational analysis.



FIG. 3B illustrates graph of histograms of three color channels.



FIGS. 4A-4C illustrate an example of exemplary image of a substrate with a radial profile and results of non-uniformity analysis.



FIGS. 5A-5C illustrate another example of exemplary image of a substrate with a radial profile and results of non-uniformity analysis.





Like reference symbols in the various drawings indicate like elements.


DETAILED DESCRIPTION

Thin-film thickness measurements from dry metrology systems are used in CMP processing because of the variability in the polishing rate that occurs in CMP processes. Such dry metrology measurement techniques often use a spectrographic or ellipsometric approach in which variables in an optical model of a film stack are fit to the collected measurements. Such measurement techniques typically require precise alignment of a sensor to a measurement spot of the substrate to ensure that the model is applicable to the collected measurements. Therefore, measuring a large number of points on the substrate can be time-consuming, and classification of the type and the degree of under- and over-polishing might not be feasible as imposing an unacceptable reduction in throughput.


However, an image processing technique based on color images can provide faster detection of abnormalities on the substrate and classification of the type of abnormality with satisfactory accuracy. In particular, the color images of dies from a substrate can be divided into multiple regions. Each region can be divided into multiple areas of the same or similar color. For example, a pixel with a color vector that is sufficiently close to a target vector can be classified as properly polished; pixels that fail the test can be classified as abnormality. 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 the degree of abnormality can be determined based on the sequence of vectors in color space for pixels at the boundary between the properly polished regions and improperly polished regions along the path. For example, whether regions are over-polished or under-polished relative to other regions, and the degree of over-polishing or under-polishing, can be determined based on the vectors.


Referring to FIG. 1, a polishing apparatus 100 includes one or more carrier heads 126, each of which is configured to carry a substrate 10, one or more polishing stations 106, and a transfer station to load substrate to and unload substrates from a carrier head. Each polishing station 106 includes a polishing pad 130 supported on a platen 120. The polishing pad 130 can be a two-layer polishing pad with an outer polishing layer and a softer backing layer.


The carrier heads 126 can be suspended from a support 128, and movable between the polishing stations. In some implementations, the support 128 is an overhead track and each carrier head 126 is coupled to a carriage 108 that is mounted to the track 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 carousel, and rotation of the carousel moves the carrier heads 126 simultaneously along a circular path.


Each polishing station 106 of the polishing apparatus 100 can include a port, e.g., at the end of an arm 134, to dispense polishing liquid 136, such as abrasive slurry, onto the polishing pad 130. Each polishing station 106 of the polishing apparatus 100 can also include pad conditioning apparatus to abrade the polishing pad 130 to maintain the polishing pad 130 in a consistent abrasive state.


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 the polishing parameters, for example, pressure associated with each respective substrate. In particular, each carrier head 126 can include a retaining ring 142 to retain the substrate 10 below a flexible membrane 144. Each carrier head 126 can also include a plurality of independently controllable pressurizable chambers defined by the membrane, e.g., three chambers 146a-146c, which can apply independently controllable pressures to associated zones on the flexible membrane 144 and thus on the substrate 10. Although only three chambers are illustrated in FIG. 1 for ease of illustration, there could be one or two chambers, or four or more chambers, e.g., five chambers.


Each carrier head 126 is suspended from the support 128 and is connected by a drive shaft 154 to a carrier head rotation motor 156 so that the carrier head can rotate about an axis 127. Optionally each carrier head 126 can oscillate laterally, e.g., by driving the carriage 108 on a track, or by the rotational oscillation of the carousel itself. In operation, the platen is rotated about its central axis, and each carrier head is rotated about its central axis 127 and translated laterally across the top surface of the polishing pad.


A controller 190, such as a programmable computer, provides a control system. The controller 190 is connected to each motor to independently control the rotation rate of the platen 120 and the carrier heads 126. The controller 190 can include a central processing unit (CPU), a memory, and support circuits, e.g., input/output circuitry, power supplies, clock circuits, cache, and the like. The memory is connected to the CPU. The memory is a non-transitory computable readable medium, and can be one or more readily available memory such as random access memory (RAM), read-only memory (ROM), floppy disk, hard disk, or another form of digital storage. In addition, although illustrated as a single computer, the controller 190 could be a distributed system, e.g., including multiple independently operating processors and memories.


The polishing apparatus 100 also includes an in-line (also referred to as in-sequence) optical metrology system 160. A color imaging system of the in-line optical metrology system 160 is positioned within the polishing apparatus 100, but does not perform measurements during the polishing operation; rather measurements are collected between polishing operations, e.g., while the substrate is being moved from one polishing station to another, or pre- or post-polishing, e.g., while the substrate is being moved from the transfer station to a polishing station or vice versa. In addition, the in-line optical metrology system 160 can be positioned in a fab interface unit or a module accessible from the fab interface unit to measure a substrate after the substrate is extracted from a cassette but before the substrate is moved to the polishing unit, or after the substrate has been cleaned but before the substrate is returned to the cassette.


The in-line optical metrology system 160 includes a sensor assembly 161 that provides the 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.


The light source 162 can be operable to emit white light. In one implementation, the white light emitted includes light having wavelengths of 200-800 nanometers. A suitable light source is an array of white-light light-emitting diodes (LEDs), or a xenon lamp or a 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°, e.g., 50°.


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, e.g., a beam expander, to spread the light from the light source into an elongated region. Alternatively or in addition, the light source 162 can include a linear array of light sources. The light source 162 itself, and the region illuminated on the substrate, can elongate and have a longitudinal axis parallel to the surface of the substrate.


A 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.


The detector 164 is a color camera that is sensitive to light from the light source 162. The camera includes an array of detector elements. For example, the camera can include a CCD array. In some implementations, the array is a single row of detector elements. For example, the camera can be a line-scan camera. The row of detector elements can extend parallel to the longitudinal axis of the elongated region illuminated by the light source 162. Where the light source 162 includes a row of light-emitting elements, the row of detector elements can extend along a first axis parallel to the longitudinal axis of the light source 162. A row of detector elements can include 1024 or more elements.


The camera 164 is configured with appropriate focusing optics 172 to project a field of view of the substrate onto the array of detector elements. The field of view can be long enough to view the entire width of the substrate 10, e.g., 150 to 300 mm long. The camera 164, including associated optics 172, can be configured such that individual pixels correspond to a region having a length equal to or less than about 0.5 mm. For example, assuming that the field of view is about 200 mm long and the detector 164 includes 1024 elements, then an image generated by the line-scan camera can have pixels with a length of about 0.5 mm. To determine the length resolution of the image, the length of the field of view (FOV) can be divided by the number of pixels onto which the FOV is imaged to arrive at a length resolution.


The camera 164 can be also be configured such that the pixel width is comparable to the pixel length. For example, an advantage of a line-scan camera is its very fast frame rate. The frame rate can be at least 5 kHz. The frame rate can be set at a frequency such that as the imaged area scans across the substrate 10, the pixel width is comparable to the pixel length, e.g., equal to or less than about 0.3 mm.


The light source 162 and the light detector 164 can be supported on a stage 180. Where the light detector 164 is a line-scan camera, the light source 162 and camera 164 are movable relative to the substrate 10 such that the imaged area can scan across the length of the substrate. In particular, the relative motion can be in a direction parallel to the surface of the substrate 10 and perpendicular to the row of detector elements of the line-scan camera 164.


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., either by motion of the carriage 108 or by rotational oscillation of the carousel, or the robot arm holding the substrate 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 robot arm remains stationary for the image acquisition. For example, the stage 180 can be movable along a rail 184 by a linear actuator 182. In either case, this permits the light source 162 and camera 164 to stay in a fixed position relative to each other as the area being scanned moves across the substrate 10.


A possible advantage of having a line-scan camera and light source that move together across the substrate is that, e.g., as compared to a conventional 2D camera, the relative angle between the light source and the camera remains constant for different positions across the wafer. Consequently, artifacts caused by variation in the viewing angle can be reduced or eliminated. In addition, a line scan camera can eliminate perspective distortion, whereas a conventional 2D camera exhibits inherent perspective distortion, which then needs to be corrected by an image transformation.


The sensor assembly 161 can include a mechanism to adjust vertical distance between the substrate 10 and the light source 162 and detector 164. For example, the sensor assembly 161 can include an actuator to adjust the vertical position of the stage 180.


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 quarter-wave plate. Proper orientation of the polarizing axis of the polarizing filter 174 can reduce haze in the image and sharpen or enhance desirable visual features.


Assuming that the outermost layer on the substrate is a semitransparent layer, e.g., a dielectric layer, the color of light detected at detector 164 depends on, e.g., the composition of the substrate surface, substrate surface smoothness, and/or the amount of interference between light reflected from different interfaces of one or more layers (e.g., dielectric layers) on the substrate. As noted above, the light source 162 and light detector 164 can be connected to a computing device, e.g., the controller 190, operable to control their operation and receive their signals. The computing device that performs the various functions to convert the color image to a thickness measurement, can be considered part of the metrology system 160.



FIG. 2 illustrates a method 200 of image processing for use in detecting and classifying abnormality in a film on a substrate. The method can be performed by the controller 190. The controller 190 receives a color image of the substrate. The color images can be RGB images, or images in another color space, e.g., XYZ or HCL.


The controller executes an image processing algorithm that processes the color images. The controller assembles 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, the difference between the measured image and a standard predefined image can be calculated. For example, the controller can store a background image for each of the red, green, and blue color channels, and the background image can be subtracted 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 frame (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 edge of the substrate is at the edge of the image, and/or the image can be rotated so that there is a Wangle between the x-axis of the image and the radial segment connecting the substrate center and the substrate orientation feature, e.g., the notch or flat of the wafer. The substrate orientation can be determined by a notch finder, or by image processing of the color image 320, e.g., to determine the angle of scribe lines in the image. The substrate position can also be determined by image processing of the color image 320, e.g., by detecting the circular substrate edge and then determining a center of the circle.


A mask can be applied to an image. The mask can eliminate unwanted pixels, e.g., pixels from the portions of the substrate corresponding to the scribe lines, from the computation. As an example, the controller 190 can store a die mask that identifies a location and area of interest in the image. For example, for rectangular regions, the area can be defined by upper right and lower left coordinates in the image. Thus, the mask could be a data file that includes a pair of an upper right and a lower left coordinate for each region. In other cases, where regions are non-rectangular, more complex functions can be used. In some implementations, substrate orientation and position can be determined, and the die mask can be aligned with respect to the image.


Referring to FIG. 3A, an example of an image 300 of a substrate 10 collected with in-line optical metrology system 160 is shown. The in-line optical metrology system 160 produces a color image 300 with at least three color channels, e.g., RGB channels. The image can be a high-resolution image, e.g., an image of at least 720×1080 pixels high-resolution, although lower resolution, e.g., down to 150×150 pixels, or higher resolution, can be used. The color at any particular pixel depends on the thickness of one or more layers, including the top layer, in the area of the substrate corresponding to the pixel. FIG. 3A shows an image 310 of a mask overlaid on the image of the substrate to produce a masked image 320.


The algorithm determines the 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 in each of the three histograms (R, G, and B planes). The tuple of intensity values from the peaks in the histograms provides a color value. This color value is termed the “uniform color” (UC) of the image 300. For example, FIG. 3B illustrates histograms 350, 360, 370 for the red, green and blue channels respectively, and the peaks at R1, G1 and B1 for each histogram. The tuple (R1, G1, B1) provides the uniform color. However, other techniques could be used to define a uniform color, e.g., simply calculating a mode value or mean value for each channel.


The color images collected can be stored as PNG images for further analysis or processing, although many other formats, e.g., JPEG, etc., are possible.


Returning to FIG. 2, the masked image can be fed into the image processing algorithm. The controller can store data defining a plurality of paths across the image. 15 For example, the paths can be lines extending radially outward from the center of the substrate (see line 406 in FIG. 4A), although other paths are possible. For radial lines, the lines can positioned at equal angular intervals, e.g., 1-10°, around the center of the substrate.


For each path, the controller computes the 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, e.g., (DR, DG, DB). The difference vector of the pixels can be represented either by Cartesian or by spherical coordinates within the computation algorithm as shown below:

DV=(Dr,Dg,Db) where
DX=X−PPMEANX where X=R, G, or B  (Cartesian Coordinates)
DV=(ρ,Θ,ϕ) where
ρ=√{square root over (Dr2+Dg2+Db2)}
θ=tan−1(Dg/Dr)
φ=tan−1(Db/S)  (Spherical Coordinates)

where S=√{square root over (Dr2+Dg2)} is the projection of DV onto (RG) plane.


The sequence of difference vectors along a particular path provide a difference vector profile. Each difference vector profile is analyzed to detect regions or segments along the radial profile that are non-uniform (step 240).


In some implementations, uniform regions are distinguished from non-uniform regions by using a threshold value. Pixels for which a magnitude of the difference vector (e.g., calculated as conventional Euclidian distance) is above the threshold value are classified as “non-uniform.” In contrast, pixels for which a magnitude of the difference vector is below the threshold value are classified as “uniform.” In some implementations, the region interpretation can be set automatically by using machine learning.


In some implementations, the controller established four possible classifications for a pixel: properly polished (type 1), underpolished (type 2), over-polished (type 3), or non-uniformly polished but unclassified or anomalous (type 4).


The algorithm first divides the path into groups of contiguous properly polished pixels and groups of contiguous unclassified pixels. For a selected pixel if the prior pixel was properly polished, but a magnitude of the difference vector (MagDV) is greater than the threshold value, then a new non-uniform region (i.e., nonPP or type4) is identified. The algorithm continues to group pixels along the path into the identified non-uniform region until a number of sequential 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 “nSustain” parameter can be used as a noise filter to determine how long a sequence of adjacent pixels is required to start a region of a new type. For example, if a type1 (i.e. normal pixel) region is shorter than the nSustain parameter value, then those type1 pixels are assigned to the adjacent region of type 4 (i.e. not normal pixels).


Having divided the pixels along the path into groups, the type of abnormality, e.g., underpolished (type 2) or overpolished (type 3), can classified for each group (step 250). The type of abnormality can be determined by examining the difference vectors, and in particular the difference vectors at the start of a group of abnormal pixels. Without being limited to any particular theory, although color values at the center of a non-uniform region can match, the transition from a PP region to an under-polished (i.e., UP or type2) region can be different that the transition from a PP region to an over-polished (i.e., OP or type3) region.


In some implementations, a value F is calculated based on the ratio of differences in certain color channels. For example, F can be calculated based on a sum of a first ratio of differences in two color channels and a second ratio of differences in two color channels. The value F can then be compared to one or two threshold values to determine whether the region is underpolished (type 2) or overpolished (type 3). If the F does not satisfy either threshold, then the region can be identified as an anomaly, e.g., remain type 4.


In some implementations, F and the type of abnormality is determined according to the following function:






RGBSeqRatio
=

F
=



D
g


D
r


+



D
b


D
r











If






(

F
>

FT





1


)






Then





Type





2


(
UP
)







Else





if






(

F
<

FT





2


)






Then





Type





2


(
OP
)







Else





Anomaly












where DR, DG and DB are the difference values for the red, green and blue color channels, and FT1 and FT2 are empirically determined threshold values.


A preset number of pixels in a nonPP region that are sequential along the path beginning at a neighboring PP region are evaluated. The preset number of pixels can be selected by a user, e.g., by user input. The classification sequence is performed by looking at 3-10 pixels, e.g., 3-5 pixels (e.g., one region can be 50-60 pixels wide) and computing the ratio of differences. For example, for each pixel in a sequence of N pixels, the controller computes the factor (F) to provide F1, F2, F3, . . . , FN. Each calculated F, i.e., F1, F2, F3, . . . , FN, is compared to each threshold values FT1, FT2, . . . , FTn. If all pixels satisfy the same condition, e.g., F1, FN are all less than FT1 or are all greater than FT2, then the region is classified as “overpolished” or “underpolished.” Otherwise it is classified as an unclassified non-uniformity or abnormality.


In another implementation, the interpretation between underpolished or overpolished can be evaluated using spherical coordinate angles (e.g., Θ and ϕ) of the DV points in type 4 regions (i.e., the points that are adjacent to the neighboring type 1 region). Therefore, the sequence for determining UP or OP is a) set upper and lower thresholds for Θ and ϕ for UP behavior; b) analyze several PP adjacent points in the type4 region; and c) if Θ and ϕ fall within the type2 ranges then classify as type 2 else, classify as type3.


Based on the computed data the “non-uniformity” can be further classified (step 250) by type (step 250a) and by severity (step 250b). Similarly as in the previous steps, the color image is inputted into the image-processing algorithm and divided into volumes then DV is computed for each volume. For each non-uniform region the severity is determined by quasi-quantitative description such as “mild”, “moderate”, or “severe.” This is executed for each radial profile by transforming sets of RGB pixels in the non-uniform region to the rg chromaticity space. Then the area of the bounding rectangle (BRA) (414 in FIG. 4C, 508 in FIG. 5B, or 510 in FIG. 5C) of the non-uniform pixel sequence in the rg space is computed. Then the BRA is compared to areas of thresholds to determine the level of severity. For example, if there are two thresholds A1 and A2 with A1<A2, if BRA is less then A1, then classify as “mild”. If BRA is between A1 and A2, then classify as “moderate”. If BRA is greater than A2, then classify as “severe”. As described, there are only three categories listed however, the algorithm can have more or less than three categories based on the number of the area thresholds.


As another method of determining severity, an arc length of the rg sequence can be computed (instead of the BRA). This may be more difficult, although should be in correspondence to the underlying theory. However, computation of the bounding rectangle is computationally easier and appears sufficient for accuracy.


Referring to FIGS. 4A-4C, a first example of an exemplary image 400 of a substrate with a radial profile is illustrated showing non-uniform regions 402 and 404 with “severe” level of abnormality. The severe level is classified and presented by data in chart shown in FIG. 4B. The line 408 indicates threshold level the data above 412 the threshold line 408 is non-uniform and the data below 410 the threshold line 408 is uniform. The size of the area of the BRA 414 [area] is computed and presented in FIG. 4C confirming the severe non-uniformity of this radial profile 400.



FIGS. 5A-5C illustrate another example of exemplary image 500 of a substrate with a radial profile showing a case of mild to moderate non-uniformity in regions 502 and 504. FIG. 5B shows a mild non-uniformity in BRA 508. FIG. 5C shows a moderate non-uniformity in BRA 510.


In general, data can be used to control one or more operation parameters of the CMP apparatus. Operational parameters include, for example, platen rotational velocity, substrate rotational velocity, the polishing path of the substrate, the substrate speed across the plate, the pressure exerted on the substrate, slurry composition, slurry flow rate, and temperature at the substrate surface. Operational parameters can be controlled real-time and can be automatically adjusted without the need for further human intervention.


As used in the instant specification, the term substrate can include, for example, a product substrate (e.g., which includes multiple memory or processor dies), a test substrate, a bare substrate, and a gating substrate. The substrate can be at various stages of integrated circuit fabrication, e.g., the substrate can be a bare wafer, or it can include one or more deposited and/or patterned layers. The term substrate can include circular disks and rectangular sheets.


Embodiments of the invention and all of the functional operations described in this specification 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 invention can be implemented as one or more computer program products, i.e., one or more computer programs tangibly embodied in a non-transitory machine readable storage media, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple processors or computers.


Terms of relative positioning are used to denote 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 substrate can be held in a vertical orientation or some other orientations.


A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example

    • Rather than a line scan camera, a camera that images the entire substrate could be used. In this case, motion of the camera relative to the substrate is not needed.
    • The camera could cover less than the entire width of the substrate. In this case, the camera would need to undergo motion in two perpendicular directions, e.g., be supported on an X-Y stage, in order to scan the entire substrate.
    • The light source could illuminate the entire substrate. In this case, the light source need not move relative to the substrate.
    • The light detector can be a spectrometer rather than a color camera; the spectra data can then be reduced to the RGB color space.
    • The sensor assembly need not an in-line system positioned between polishing stations or between a polishing station and a transfer station. For example, the sensor assembly could be positioned within the transfer station, positioned in a cassette interface unit, or be a stand-alone system.


Accordingly, other implementations are within the scope of the claims.

Claims
  • 1. A non-transitory computer readable medium comprising a computer program to classify a film non-uniformity on a substrate, the computer program including instructions to cause one or more computers to: obtain a color image of a substrate, the color image comprising a plurality of color channels;obtain a uniform color value for the color image of the substrate;for each respective pixel along a path in the color image, determine a difference vector between a color of the respective pixel and the uniform color value to generate a sequence of difference vectors; andclassify the pixels along the path as normal or abnormal based on the sequence of difference vectors;group the pixels into one or more regions in response to the pixels being identified as normal or abnormal; andclassify a region having abnormal pixels as overpolished or underpolished based on at least one difference vector using only a pixel at a boundary between the region having abnormal pixels and an adjacent region having normal pixels and not a pixel that is not at the boundary.
  • 2. The computer readable medium of claim 1, comprising instructions to classify the region having abnormal pixels as overpolished or underpolished based on a multiplicity of difference vectors for each of a multiplicity of successive pixels along the path at the boundary.
  • 3. The computer readable medium of claim 2, wherein the multiplicity of successive pixels is no more than 5 pixels.
  • 4. The computer readable medium of claim 2, comprising instructions to classify the region having abnormal pixels as overpolished or underpolished based on each of the multiplicity of difference vectors meeting a criterion.
  • 5. The computer readable medium of claim 2, wherein the instructions to classify the region having abnormal pixels as overpolished or underpolished include instructions to calculate a factor based on a ratio of difference values in two color channels.
  • 6. The computer readable medium of claim 5, wherein the instructions to calculate the factor include instructions to calculate a sum of a first ratio of difference values in a first two color channels and a second ratio of difference values in a second two color channels.
  • 7. The computer readable medium of claim 5, wherein the instructions to classify the region having abnormal pixels as overpolished or underpolished regions include instructions to compare the factor to at least a first threshold value.
  • 8. The computer readable medium of claim 7, comprising instructions to classify the region having abnormal pixels as underpolished in response to determining that the factor exceeds the first threshold value.
  • 9. The computer readable medium of claim 7, comprising instructions to classify the region having abnormal pixels as overpolished in response to determining that the factor does not exceed a second threshold value, the second threshold value being different than the first threshold value.
  • 10. The computer readable medium of claim 6, wherein the first two color channels are green and red and the second two color channels are blue and red.
  • 11. The computer readable medium of claim 1, comprising instructions to determine a severity of the region having abnormal pixels based on the multiplicity of the difference vectors.
  • 12. The computer readable medium of claim 11, wherein determining the severity comprises determining a minimum bounding region containing the difference vectors for the pixels in the region having abnormal pixels in a color space at least two of the color channels, and comparing an area of the bounding region to a third threshold value, the third threshold value.
  • 13. The computer readable medium of claim 12, wherein the minimum bounding region comprises a rectangle.
  • 14. A method of classification of a film non-uniformity on a substrate, comprising: obtaining a color image of a substrate, the color image comprising a plurality of color channels;obtaining a uniform color value for the color image of the substrate;for each respective pixel along a path in the color image, determining a difference vector between a color of the respective pixel and the uniform color value to generate a sequence of difference vectors;grouping the pixels along the path into a plurality of regions including at least one normal region and at least one abnormal region based on the sequence of difference vectors; andclassifying the at least one abnormal region as overpolished or underpolished based on at least one difference vector using only a pixel at a boundary between the region having abnormal pixels and an adjacent region having normal pixels and not a pixel that is not at the boundary.
  • 15. The method of claim 14, wherein obtaining the color image includes scanning the substrate with an in-line metrology system including a line-scan imager.
  • 16. A polishing system, comprising: a polisher to polish a substrate;an in-line metrology system to obtain to color image of a substrate, the color image comprising a plurality of color channels; anda controller configured to receive obtain the color image from the in-line metrology system,obtaining a uniform color value for the color image of the substrate,for each respective pixel along a path in the color image, determine a difference vector between a color of the respective pixel and the uniform color value to generate a sequence of difference vectors,classify the pixels along the path as normal or abnormal based on the sequence of difference vectors,group the pixels into one or more regions in response to the pixels being identified as normal or abnormal,classify a region having abnormal pixels as overpolished or underpolished based on at least one difference vector using only a pixel at a boundary between the region having abnormal pixels and an adjacent region having normal pixels and not a pixel that is not at the boundary, andadjust a polishing parameter of the polisher for a region having pixels identified as abnormal based on the region being classified as overpolished or underpolished.
  • 17. The polishing system of claim 16, wherein the controller is configured to classify the region as overpolished or underpolished based a multiplicity of difference vectors for each of a multiplicity of successive pixels along the path at the boundary.
  • 18. The polishing system of claim 17, wherein the controller is configure to classify the region as overpolished or underpolished based on each of the multiplicity of difference vectors meeting a criterion.
  • 19. The polishing system of claim 16, wherein the controller is configured to determine a severity of the region having abnormal pixels based on the multiplicity of the difference vectors.
  • 20. The polishing system of claim 19, wherein the controller is configured to determine the severity by determining a minimum bounding region containing the difference vectors for the pixels in the region having abnormal pixels in a color space at least two of the color channels, and comparing an area of the bounding region to a fifth threshold value.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Application Ser. No. 63/156,856, filed on Mar. 4, 2021, the disclosure of which is incorporated by reference.

US Referenced Citations (104)
Number Name Date Kind
5738574 Tolles et al. Apr 1998 A
5823853 Bartels et al. Oct 1998 A
5911003 Sones Jun 1999 A
6004187 Nyui et al. Dec 1999 A
6071177 Lin et al. Jun 2000 A
6106662 Bibby et al. Aug 2000 A
6111634 Pecen et al. Aug 2000 A
6142855 Nyui et al. Nov 2000 A
6190234 Swedek et al. Feb 2001 B1
6191864 Sandhu Feb 2001 B1
6290572 Hofmann Sep 2001 B1
6358362 En et al. Mar 2002 B1
6361646 Bibby et al. Mar 2002 B1
6466642 Meloni Oct 2002 B1
6511363 Yamane et al. Jan 2003 B2
6517413 Hu et al. Feb 2003 B1
6618130 Chen Sep 2003 B2
6930782 Yi et al. Aug 2005 B1
7008295 Wiswesser et al. Mar 2006 B2
7018271 Wiswesser et al. Mar 2006 B2
7300332 Kobayashi et al. Nov 2007 B2
7406394 Swedek et al. Jul 2008 B2
7438627 Kobayashi et al. Oct 2008 B2
7645181 Kobayashi et al. Jan 2010 B2
7840375 Ravid et al. Nov 2010 B2
8045142 Kimba Oct 2011 B2
8088298 Swedek et al. Jan 2012 B2
8157616 Shimizu et al. Apr 2012 B2
8292693 David et al. Oct 2012 B2
8657646 Benvegnu et al. Feb 2014 B2
8814631 David et al. Aug 2014 B2
9095952 Benvegnu et al. Aug 2015 B2
9106771 Kitai Aug 2015 B2
9822460 Dineen et al. Nov 2017 B2
10325364 Benvegnu Jun 2019 B2
10563973 Li et al. Feb 2020 B2
11017524 Benvegnu May 2021 B2
20020016066 Birang et al. Feb 2002 A1
20020055192 Redeker et al. May 2002 A1
20020159626 Shiomi et al. Oct 2002 A1
20030007677 Hiroi et al. Jan 2003 A1
20030182051 Yamamoto Sep 2003 A1
20030184742 Stanke et al. Oct 2003 A1
20030205664 Abe et al. Nov 2003 A1
20030207651 Kim et al. Nov 2003 A1
20040012795 Moore Jan 2004 A1
20040028267 Shoham Feb 2004 A1
20040058543 Bothra Mar 2004 A1
20040080757 Stanke et al. Apr 2004 A1
20040259472 Chalmers et al. Dec 2004 A1
20050013481 Toba Jan 2005 A1
20050026542 Battal et al. Feb 2005 A1
20050042975 David Feb 2005 A1
20050089216 Schiller et al. Apr 2005 A1
20050213793 Oya et al. Sep 2005 A1
20050244049 Onishi et al. Nov 2005 A1
20060017855 Yamada Jan 2006 A1
20060020419 Benvegnu Jan 2006 A1
20060061746 Kok et al. Mar 2006 A1
20060166608 Chalmers et al. Jul 2006 A1
20070042675 Benvegnu et al. Feb 2007 A1
20070077671 David et al. Apr 2007 A1
20070206843 Douglass et al. Sep 2007 A1
20080099443 Benvegnu et al. May 2008 A1
20080117226 Edge et al. May 2008 A1
20090014409 Grimbergen Jan 2009 A1
20090153352 Julio Jun 2009 A1
20090153859 Kimba Jun 2009 A1
20090298387 Shimizu et al. Dec 2009 A1
20100015889 Shimizu et al. Jan 2010 A1
20100067010 Sakai et al. Mar 2010 A1
20100093260 Kobayashi et al. Apr 2010 A1
20100124870 Benvegnu et al. May 2010 A1
20110104987 David et al. May 2011 A1
20110275281 David et al. Nov 2011 A1
20110318992 David et al. Dec 2011 A1
20120019830 Kimba Jan 2012 A1
20120021672 David et al. Jan 2012 A1
20120026492 Zhang et al. Feb 2012 A1
20120034844 Zhang et al. Feb 2012 A1
20120129277 Lahiri et al. May 2012 A1
20120289124 Benvegnu et al. Nov 2012 A1
20130052916 David et al. Feb 2013 A1
20130149938 Kobayashi et al. Jun 2013 A1
20130280989 Lee et al. Oct 2013 A1
20130288571 David et al. Oct 2013 A1
20130344625 Benvegnu et al. Dec 2013 A1
20140011429 David et al. Jan 2014 A1
20140148008 Wu May 2014 A1
20140206259 Benvegnu et al. Jul 2014 A1
20150017745 Kimba et al. Jan 2015 A1
20150220809 Kawabata et al. Aug 2015 A1
20150318327 Zheng et al. Nov 2015 A1
20150364387 Cho et al. Dec 2015 A1
20160121451 Moore May 2016 A1
20170140525 Benvegnu et al. May 2017 A1
20180061032 Benvegnu Mar 2018 A1
20180197052 Yanson Jul 2018 A1
20190244374 Benvegnu et al. Aug 2019 A1
20190295239 Benvegnu Sep 2019 A1
20200258214 Motamedi et al. Aug 2020 A1
20200357836 Miyata et al. Nov 2020 A1
20210248730 Benvegnu Aug 2021 A1
20220285227 Benvegnu et al. Sep 2022 A1
Foreign Referenced Citations (27)
Number Date Country
104982026 Oct 2015 CN
105354281 Feb 2016 CN
105957878 Sep 2016 CN
S62-042006 Feb 1987 JP
S63-221209 Sep 1988 JP
H11-207614 Aug 1999 JP
2000-033561 Feb 2000 JP
2001-345299 Dec 2001 JP
2002-359217 Dec 2002 JP
2003-346285 Dec 2003 JP
2004-009259 Jan 2004 JP
2004-279297 Oct 2004 JP
2005-129065 May 2005 JP
2010-021417 Jan 2010 JP
2010-093147 Apr 2010 JP
10-2017-0048984 May 2017 KR
200407528 May 2004 TW
200512476 Apr 2005 TW
201213050 Apr 2012 TW
201249598 Dec 2012 TW
201538804 Oct 2015 TW
201620676 Jun 2016 TW
1549277 Sep 2016 TW
201938693 Oct 2019 TW
202043697 Dec 2020 TW
WO 2011094706 Aug 2011 WO
WO 2012148716 Nov 2012 WO
Non-Patent Literature Citations (4)
Entry
Office Action in Taiwanese Appln. No. 112115313, dated Jun. 30, 2023, 10 pages (with English search report).
International Search Report and Written Opinion in International Appln. No. PCT/US2022/017764, dated Jun. 17, 2022, 10 pages.
Office Action in Taiwanese Appln. No. 111107949, dated Oct. 12, 2022, 13 pages (with English search report).
Office Action in Japanese Appln. No. 2023-553541, dated Dec. 3, 2024, 6 pages (with English translation).
Related Publications (1)
Number Date Country
20220284562 A1 Sep 2022 US
Provisional Applications (1)
Number Date Country
63156856 Mar 2021 US