# Patent

## Title
Thickness measurement of substrate using color metrology

## Abstract

A layer thickness measurement system includes a support to hold a substrate, an optical sensor to capture a color image of at least a portion of the substrate, and a controller. The controller is configured to receive the color image from the optical sensor, perform a color correction on the color image to generate an adjusted color image having increased color contrast, determine a coordinate of the pixel in a coordinate space of at least two dimensions including a first color channel and a second color channel from color data in the adjusted color image for each of the adjusted color image, and calculate a value representative of a thickness based on the coordinate of the pixel of the adjusted color image in the coordinate space.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 16/414,709, filed on May 16, 2019, which claims priority to U.S. Application Ser. No. 62/802,662, filed on Feb. 7, 2019, the disclosure of which is incorporated by reference.


TECHNICAL FIELD
This disclosure relates to optical metrology, e.g., to detect the thickness of a layer 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. One fabrication step involves depositing a filler layer over a non-planar surface and planarizing the filler layer. For certain applications, the filler layer is planarized until the top surface of a patterned layer is exposed. A conductive filler layer, for example, can be deposited on a patterned insulative layer to fill the trenches or holes in the insulative layer. After planarization, the portions of the metallic layer remaining between the raised pattern of the insulative layer form vias, plugs, and lines that provide conductive paths between thin film circuits on the substrate. For other applications, a filler layer is deposited over an underlying topology provided by other layers, and the filler layer is planarized until a predetermined thickness remains. For example, a dielectric filler layer can be deposited over a patterned metal layer and planarized to provide insulation between the metal regions and to provide a planar surface for further photolithography.
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.
Variations in the slurry distribution, the polishing pad condition, the relative speed between the polishing pad and the substrate, and the load on the substrate can cause variations in the material removal rate. These variations, as well as variations in the initial thickness of the substrate layer, cause variations in the time needed to reach the polishing endpoint. Therefore, determining the polishing endpoint merely as a function of polishing time can lead to overpolishing or underpolishing of the substrate.
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-along metrology station. In addition, various in-situ monitoring techniques, such as monochromatic optical or eddy current monitoring, can be used to detect a polishing endpoint.
SUMMARY
In one aspect, a system for obtaining a measurement representative of a thickness of a layer on a substrate includes a support to hold a substrate for integrated circuit fabrication, an optical sensor to capture a color image of at least a portion of the substrate held by the support, and a controller. The controller is configured to receive the color image from the optical sensor, perform a color correction on the color image to generate an adjusted color image having increased color contrast, store a function that provides a value representative of a thickness as a function of position along a predetermined path in a coordinate space of at least two dimensions including a first color channel and a second color channel, for a pixel of the adjusted color image determine a coordinate of the pixel in the coordinate space from color data in the adjusted color image for the pixel, determine a position of a point on the predetermined path that is closest to the coordinate of the pixel, and calculate a value representative of a thickness from the function and the position of the point on the predetermined path.
In other aspects, a computer program includes instructions for causing a processor to perform the operations of the controller, and a method of polishing includes positioning a substrate for integrated circuit fabrication in view of a color camera, generating a color image of the substrate from the color camera; and performing the operations.
Implementations of any of these aspects may include one or more of the following features.
The controller may perform the color correction using a predetermined color correction matrix. The color image generated by the optical sensor may be N color channels. Corrected intensity values IC1, . . . , ICN for a pixel of the adjusted color image may be calculated that satisfy




  
    [
    
      
        
          
            I
            
              C
              ⁢
              
                
              
              ⁢
              1
            
          
        
      
      
        
          ⋮
        
      
      
        
          
            I
            CN
          
        
      
    
    ]
  
  =
  
    
      [
      
        
          
            
              a
              ⁢
              1
              ⁢
              1
            
          
          
            ...
          
          
            
              a
              ⁢
              1
              ⁢
              N
            
          
        
        
          
            ⋮
          
          
            ⋱
          
          
            ⋮
          
        
        
          
            
              a
              ⁢
              N
              ⁢
              1
            
          
          
            ...
          
          
            aNN
          
        
      
      ]
    
    ⁡
    
      [
      
        
          
            
              I
              
                O
                ⁢
                
                  
                
                ⁢
                1
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              I
              ON
            
          
        
      
      ]
    
  




where IO1, . . . , ION are original intensity values of the pixel of the color image and a11, . . . , aNN are values of the color correction matrix.

An offset and/or a gain and/or a gamma correction may be applied to raw image data from the optical sensor to generate the color image. The color image may be normalized. The color image may be normalized before the color correction is performed on the color image. The color image may be filtered to remove low-frequency spatial variations.
The image may be filtered before the color correction is performed on the color image. The optical sensor may include a line scan camera to obtain a plurality of pixels along a first axis, and an actuator to move the optical sensor relative to the support such that the region imaged moves along a second axis perpendicular to the first axis. The color image may include a plurality of rows of pixels, each row of pixels correspond to sensor elements of the optical sensor along the second axis, the plurality of rows of pixels corresponding to motion of the optical sensor along the first axis. The color image may be filtered to remove spatial variations only along the first axis. Filtering may include, for each row of pixels, averaging luminance values of the row of pixels to provide an average luminance value for the row, and dividing intensity values of pixels in the row of pixels by the average luminance value for the row.
The first color channel and the second color channel are selected from the group of color channels comprising hue, saturation, luminosity, X, Y, Z, red chromaticity, green chromaticity, and blue chromaticity.
The optical sensor may be positioned in an in-line metrology station of a semiconductor fabrication tool. The semiconductor fabrication tool may include a chemical mechanical polisher. The tool may include a robot to transfer the substrate into the in-line metrology station. The controller may be configured to cause the substrate to be measured by before or after polishing of a surface of the substrate by the chemical mechanical polisher. The robot may provide the support. The optical sensor may be configured to be stationary during measurement and the robot may move the substrate such that the optical sensor scans across the substrate.
A reference color image of a reference substrate may be generated using the color camera, and the color correction matrix may be calculated from the reference color image. Calculating the color correction matrix may include determining a histogram in the coordinate space based on the reference color image.
In another aspect, a system for obtaining a measurement representative of a thickness of a layer on a substrate includes a support to hold a substrate for integrated circuit fabrication, an optical assembly to capture a first color image of at least a portion of the substrate held by the support with light impinging the substrate at a first angle of incidence and a second color image of the at least a portion of the substrate held by the support with light impinging the substrate at a different second angle of incidence, and a controller. The controller is configured to receive the first color image and the second color image from the optical assembly, store a function that provides a value representative of a thickness as a function of position along a predetermined path in a coordinate space of at least four dimensions including a first color channel and a second color channel from the first color image and a third color channel and a fourth color channel from the second color image, for a pixel of the first color image and a corresponding pixel in the second color image determine a coordinate in the coordinate space from color data in the first color image for the pixel and the color data in the second color image for the corresponding pixel, determine a position of a point on the predetermined path that is closest to the coordinate, and calculate a value representative of a thickness from the function and the position of the point on the predetermined path.
In other aspects, a computer program includes instructions for causing a processor to perform the operations of the controller, and a method of polishing includes positioning a substrate for integrated circuit fabrication in view of a color camera, generating a color image of the substrate from the color camera; and performing the operations.
Implementations of any of the aspects may include one or more of the following features.
The coordinate space may be four-dimensional or the coordinate space may be six-dimensional. The first color channel and the second color channel may be selected from the group of color channels comprising hue, saturation, luminosity, X, Y, Z, red chromaticity, green chromaticity, and blue chromaticity for the first color image. The third color channel and the fourth color channel may be selected from the group of color channels comprising hue, saturation, luminosity, X, Y, Z, red chromaticity, green chromaticity, and blue chromaticity for the second color image. The first color channel and third color channel may be red chromaticities, and the second color channel and the fourth color channel may be green chromaticities.
The first angle of incidence and the second angle of incidence may both be between about 20° to 85°. The first angle of incidence may be at least 5°, e.g., at least 10°, larger than the second angle of incidence.
In another aspect, a polishing system includes a polishing station including a platen to support a polishing pad, a support to hold a substrate, an in-line metrology station to measure the substrate before or after polishing of a surface of the substrate in the polishing station, and a controller. The in-line metrology station includes one or more elongated white light sources each having a longitudinal axis and configured to direct light toward the substrate at a non-zero incidence angle to form an illuminated region on the substrate that extends along a first axis during scanning of the substrate, a first color line-scan camera having detector elements arranged to receive light reflected from the substrate that impinged the substrate at a first angle of incidence and form an image portion that extends along the first axis during scanning of the substrate, a second color line-scan camera having detector elements arranged to receive light reflected from the substrate that impinged the substrate at a different, second angle of incidence and form a second image portion that extends along the first axis during scanning of the substrate, a frame supporting the one or more light sources, the first color line-scan camera and the second color line-scan camera, and a motor to cause relative motion between the frame and the support along a second axis perpendicular to the first axis to cause the one or more light sources, the first color line-scan camera and the second color line-scan camera to scan across the substrate. The controller is configured to receive color data from the first color line-scan camera and the second color line-scan camera, to generate a first 2-dimensional color image from color data from the first color line-scan camera and generate a second 2-dimensional color image from color data from the second color line-scan camera, and to control polishing at the polishing station based on the first 2-dimensional color image and the second 2-dimensional color image.
In other aspects, a computer program includes instructions for causing a processor to perform the operations of the controller, and a method of polishing includes positioning a substrate for integrated circuit fabrication in view of a color camera, generating a color image of the substrate from the color camera; and performing the operations.
Implementations of any of the aspects may include one or more of the following features.
One or more diffusers may be positioned in a path of light between the one or more elongated white light sources and the substrate.
The first angle of incidence and the second angle of incidence may both be between about 5° and 85°, e.g., both be between about 20° and 75°. The first angle of incidence may be at least 5° larger, e.g., at least 10° larger, than the second angle of incidence. The first color line-scan camera and the second line-scan camera may be configured to image a coincident region on the substrate. The one or more elongated light sources may include a first elongated light source to generate the light that impinges the substrate at the first angle of incidence and a second elongated light source to generate the light that impinges the substrate at the second angle of incidence. Light from the first light source and light from the second light source may impinge an overlapping region, e.g., a coincident region, on the substrate.
The frame may be fixed and the motor may be coupled to the support and the controller may be configured to cause the motor to move the support while the one or more elongated light sources and the first color line scan camera and second color line scan camera remain stationary to scan across the substrate.
Implementations can include one or more of the following potential advantages. The accuracy of a thickness measurement can be improved. This information can be used in a feed-forward or feed-back use to control polishing parameters, providing improved thickness uniformity. The algorithm to determine variations can be simple and have low computational load.
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. 1A illustrates a schematic view of an example of an in-line optical measurement system.
FIG. 1B illustrates a schematic view of an example of an in-situ optical measurement system.
FIG. 1C illustrates a schematic view of an example of a portion of a measurement system.
FIG. 2 is a flow chart for a method of determining layer thickness.
FIG. 3 is a schematic top view of a substrate.
FIG. 4 is a schematic view of a mask.
FIG. 5 illustrates an example graph showing evolution of color of light reflected from a substrate in a coordinate space of two color channels.
FIG. 6 illustrates an example graph showing a predetermined path in the coordinate space of two color channels.
FIG. 7 is a flow chart for a method of determining layer thickness from color image data.
FIG. 8 illustrates an example graph showing a histogram in the coordinate space of two color channels derived from a color image of a test substrate.
FIGS. 9A and 9B illustrate example graphs showing histograms in the coordinate space of two color channels, before and after color correction, respectively.



Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
The thickness of a layer on a substrate can be optically measured before or after polishing, e.g., at an in-line or stand-alone metrology station, or during polishing, e.g., with an in-situ monitoring system. However, some optical techniques such as spectrometry require expensive spectrographs and computationally heavy manipulation of spectra data. Even apart from computational load, in some situations the algorithm results do not meet the ever increasing accuracy requirements of the user.
One measurement technique is to take a color image of the substrate, and analyze the image in a color space to determine the thickness of the layer. In particular, the position along a path in a 2-dimensional color space can provide information on the current state of polishing, e.g., amount removed or amount of material remaining. However, in some situations it can be difficult to resolve differences between the colors in the image. By performing a color correction on the image, color contrast can be increased. As a result, thickness resolution can be enhanced, and the reliability and accuracy of the thickness measurements can be improved.
A separate issue is that the path in the 2-dimensional color space can have degeneracies. By increasing the dimensionality of the color space, the likelihood of degeneracy can be decreased. One technique is to use a type of camera, e.g., a hyperspectral camera, that generates images having four or more, e.g., six to twenty, color channels. Another techniques is to use multiple cameras, but at different angles of incidence (due to the different lengths of the light paths through the thin film layer at different angles of incidence, different infringement and thus different colors are generated).
Referring to FIG. 1, a polishing apparatus 100 includes an in-line (also referred to as in-sequence) optical metrology system 160, e.g., a color imaging system.
The 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 the carrier heads 126 are coupled to a carriage 108 that is mounted to the track. The overhead track 128 allows each carriage 108 to be selectively positioned over 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 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 also includes a plurality of independently controllable pressurizable chambers defined by the membrane, e.g., three chambers 146a-146c, which can apply independently controllable pressurizes 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 140 can oscillate laterally, e.g., by driving the carriage 108 on the track 128, or by rotational oscillation of the carousel itself. In operation, the platen is rotated about its central axis 121, and each carrier head is rotated about its central axis 127 and translated laterally across the top surface of the polishing pad. The lateral sweep is in a direction parallel to the polishing surface 212. The lateral sweep can be a linear or arcuate motion.
A controller 190, such as a programmable computer, is connected to each motor to independently control the rotation rate of the platen 120 and the carrier heads 126. For example, each motor can include an encoder that measures the angular position or rotation rate of the associated drive shaft. Similarly, the controller 190 is connected to an actuator in each carriage 108 and/or the rotational motor for the carousel to independently control the lateral motion of each carrier head 126. For example, each actuator can include a linear encoder that measures the position of the carriage 108 along the track 128.
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 other 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 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 from or to the transfer station.
The in-line optical metrology system 160 includes a sensor assembly 161 supported at a position between two of the polishing stations 106, e.g., between two platens 120. In particular, the sensor assembly 161 is located at a position such that a carrier head 126 supported by the support 128 can position the substrate 10 over the sensor assembly 161.
In implementations in which the polishing apparatus 100 include three polishing stations and carries the substrates sequentially from the first polishing station to the second polishing station to the third polishing station, one or more sensor assemblies 161 can be positioned between the transfer station and the first polishing station, between first and second polishing stations, between the second and third polishing stations, and/or between the third polishing station and the transfer station.
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 α. The angle of incidence α 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. 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 be elongated and have a longitudinal axis parallel to the surface of the substrate.
The light 168 from the light source 162 can be partially collimated.
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 can be a color camera that is sensitive to light from the light source 162. The detector 164 includes an array of detector elements 178 for each color channel. For example, the detector 164 can include a CCD array for each color channel. In some implementations, the array is a single row of detector elements 178. For example, the camera can be a linescan camera. The row of detector elements can extend parallel to the longitudinal axis of the elongated region illuminated by the light source 162, or perpendicular to the direction of motion of the illuminated region across the substrate (FIG. 1A illustrates schematically the elements 178, but they would be arranged in a line extending out of the plane of the drawing). In some implementations, the detector is a prism-based color camera. A prism inside the detector 164 splits the light beam 168 into three separate beams, each of which is sent to a separate array of detector elements.
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 determination of parallel or perpendicular in positioning of the row of detector elements should take into account reflection of the light beam, e.g., by a fold mirror or from a prism face.
The detector 164 is configured with appropriate focusing optics 172 to project a field of view of the substrate onto the array of detector elements 178. 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 sensor assembly 161, including detector 164 and 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 linescan 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 detector 164 can be also be configured such that the pixel width is comparable to the pixel length. For example, an advantage of a linescan 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. For example, the pixel width and length can be about 0.1 to 0.2 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 linescan camera 164.
In some implementations, the stage 180 is stationary, and the carrier head 126 moves, e.g., either by motion of the carriage 108 or by rotational oscillation of the carousel. In some implementations, the stage 180 is movable while the carrier head 126 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.
In addition, the substrate could be held by a robot and moved past a stationary optical assembly 161. For example, in the case of a cassette interface unit or other factor interface unit, the substrate can be held by a robot that is used to transfer the substrates to or from a cassette (rather than being supported on a separate stage). The light detector can be a stationary element, e.g., a line scan camera, in the cassette interface unit, and the robot can move the substrate past the light detector to scan the substrate to generate the image.
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.
One or more baffles 188 can be placed near the detector 164 to prevent stray or ambient light from reaching the detector 164 (see FIG. 1C). For example, the baffles can extend generally parallel to the light beam 168 and around the region where the light beam enters the detector 164. In addition, the detector 164 can have a narrow acceptance angle, e.g., 1 to 10°. These mechanisms can improve image quality by reducing the impact of stray or ambient light.
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 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 from or to the transfer station.
The in-line optical metrology system 160 includes a sensor assembly 161 supported at a position between two of the polishing stations 106, e.g., between two platens 120. In particular, the sensor assembly 161 is located at a position such that a carrier head 126 supported by the support 128 can position the substrate 10 over the sensor assembly 161.
Referring to FIG. 1B, a polishing apparatus 100′ includes an in-situ optical monitoring system 160′, e.g., a color imaging system. The in-situ optical monitoring system 160′ is similarly constructed as the in-line optical metrology system 160, but various optical components of the sensory assembly 161, e.g., the light source 162, light detector 164, diffuser 170, focusing optics 172, and polarizing filter 174, can be positioned in a recess 122 in the platen 120. The light beam 168 can pass through a window 132 to impinge the surface of the substrate 10 as the substrate contacts and is being polished by the polishing pad 130. Rotation of the platen 120 causes the sensory assembly 161, and thus the light beam 168, to sweep across the substrate 10. A 2D image can be reconstructed from a sequence of line images as the sensor assembly 161 sweeps below the substrate 10. A stage 180 is not required because motion of the sensory assembly 161 is provided by rotation of the platen 120.
Referring to FIG. 2, the controller assembles the individual image lines from the light detector 164 (whether the in-line metrology system or in-situ monitoring system) into a two-dimensional color image (step 200). As a color camera, the light detector 164 can include separate detector elements for each of red, blue and green. The two-dimensional color image can include a monochromatic image 204, 206, 208 for each of the red, blue and green color channels.
The controller can apply an offset and/or a gain adjustment to the intensity values of the image in each color channel (step 210). Each color channel can have a different offset and/or gain.
To set the gain, a reference substrate, e.g., a bare silicon wafer, can be imaged by the system 160, 160′. The gain for each color channel can then be set such that the reference substrate appears gray in the image. For example, the gain can be set such that the red, green, and blue channels can all give the same 8-bit value, e.g. RGB=(121, 121, 121) or RGB=(87, 87, 87). The same reference substrate can be used to perform gain calibration for multiple systems.
Optionally, the image can be normalized (step 220). 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. Alternatively, the measured image can be divided by the standard predefined image.
The image can be filtered to remove low-frequency spatial variations (step 230). In some implementations, the image is transformed from a red green blue (RGB) color space to a hue saturation luminance (HSL) color space, the filter is applied in the HSL color space, and then the image is transformed back to the red green blue (RGB) color space. For example, in the HSL color space, the luminance channel can filtered to remove low-frequency spatial variations, i.e., hue and saturation channels are not filtered. In some implementations, the luminance channel is used to generate the filter, which is then applied to the red, green and blue images.
In some implementations, the smoothing is performed only along the first axis. For example, the luminance values of the pixels along the direction of travel 186 can be averaged together to provide an average luminance value that is a function of just the position along the first axis. Then each row of image pixels can be divided by the corresponding portion of the average luminance value that is a function of the position along the first axis.
Color correction can be performed to increase the color contrast in the image (step 235). Although illustrated as after filter of step 230, the color correction could be performed before filtering but after normalization of step 220. In addition, the color correction can be performed later, e.g., before calculation of the thickness (in step 270).
Color correction can be performed by multiplying the values in the color space by a color correction matrix. This can be represented as the operation ICORR=IORIG×CCM, where IORIG is the original, uncorrected image, CCM is a color correction matrix, and ICORR is the corrected image.
More formally, color correction can be performed as matrix multiplication represented by the following:




  
    
      
        
          [
          
            
              
                
                  I
                  
                    C
                    ⁢
                    1
                  
                
              
            
            
              
                
                  I
                  
                    C
                    ⁢
                    2
                  
                
              
            
            
              
                
                  I
                  
                    C
                    ⁢
                    3
                  
                
              
            
          
          ]
        
        =
        
          
            [
            
              
                
                  
                    a
                    ⁢
                    1
                    ⁢
                    1
                  
                
                
                  
                    a
                    ⁢
                    1
                    ⁢
                    2
                  
                
                
                  
                    a
                    ⁢
                    1
                    ⁢
                    3
                  
                
              
              
                
                  
                    a
                    ⁢
                    2
                    ⁢
                    1
                  
                
                
                  
                    a
                    ⁢
                    2
                    ⁢
                    2
                  
                
                
                  
                    a
                    ⁢
                    2
                    ⁢
                    3
                  
                
              
              
                
                  
                    a
                    ⁢
                    3
                    ⁢
                    1
                  
                
                
                  
                    a
                    ⁢
                    3
                    ⁢
                    2
                  
                
                
                  
                    a
                    ⁢
                    3
                    ⁢
                    3
                  
                
              
            
            ]
          
          ⁡
          
            [
            
              
                
                  
                    I
                    
                      O
                      ⁢
                      1
                    
                  
                
              
              
                
                  
                    I
                    
                      O
                      ⁢
                      2
                    
                  
                
              
              
                
                  
                    I
                    
                      O
                      ⁢
                      3
                    
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        
          Equation
          ⁢
          
            
          
          ⁢
          1
        
        )
      
    
  




where IO1, IO2 and IO3 are the original values from the three color channels of the color space (e.g., the HSL color space, RGB color space, etc.), a11 . . . a33 are values of the color correction matrix, and IC1, IC2 and IC3 are the corrected values for the three color channels of the color space. Instead of a color correction matrix with constant values, gamma functions can be used.

As shown by FIGS. 9A and 9B, application of the color correction causes the scale of the histogram to increase. This can make determination of the layer thickness easier, as distinguishing different points in the histogram can become easier due to the larger separation. As a result, thickness resolution can be enhanced.
The color correction matrix can be generated by making a color image of a reference substrate that has a variety of preselected colors. The value for each color channel is measured, and the best matrix for transforming the low contrast image to a higher contrast image is then calculated.
The controller can use image processing techniques to analyze the image to locate a wafer orientation feature 16, e.g., a wafer notch or wafer flat, on the substrate 10 (see FIG. 4) (step 240). Image processing techniques can also be used to locate a center 18 of the substrate 10 (see FIG. 4).
Based on this data, the image is transformed, e.g., scaled and/or rotated and/or translated, into a standard image coordinate frame (step 250). For example, the image can be translated so that the wafer 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 0° angle between the x-axis of the image and the radial segment connecting the wafer center and the wafer orientation feature.
Optionally, an image mask can applied to screen out portions of the image data (step 260). For example, referring to FIG. 3, a typical substrate 10 includes multiple dies 12. Scribe lines 14 can separate the dies 12. For some applications, it may be useful to process only image data corresponding to the dies. In this case, referring to FIG. 4, an image mask can be stored by the controller, with unmasked region 22 corresponding in spatial position to the dies 12 and masked region 24 corresponding to the scribe lines 14. Image data corresponding to the masked region 24 is not processed or not used during the thresholding step. Alternatively, the masked region 24 could correspond to the dies so that the unmasked region corresponds to the scribe lines, or the unmasked region could be only a portion of each die with a remainder of each die being masked, or the unmasked region could be specific die or dies with remaining dies and scribe lines being masked, the unmasked region could be just a portion of specific die or dies, with a remainder of each die the substrate being masked. In some implementations, the user can define the mask using a graphical user interface on the controller 190.
The color data at this stage can be used to calculate a value representative of thickness (step 270). This value could be a thickness, or an amount of material removed, or a value indicating the amount of progress through the polishing process (e.g., as compared to a reference polishing process). The calculation can be performed for each unmasked pixel in the image. This value can then be used in a feed-forward or feed-back algorithm use to control polishing parameters, providing improved thickness uniformity. For example, the value for each pixel can be compared to a target value to generate an error signal image, and this error signal image can be used for feed-forward or feed-back control.
Some background to assist in understanding of the calculation of the value representative will be discussed. For any given pixel from the color image, a pair of values corresponding to two color channels can be extracted from the color data for the given pixel. Thus, each pair of values can define a coordinate in a coordinate space of a first color channel and a different second color channel. Possible color channels include hue, saturation, luminosity, X, Y, Z (e.g., from the CIE 1931 XYZ color space), red chromaticity, green chromaticity, and blue chromaticity. These values for these color channels can be calculated from tuples of values from other channels (e.g., X, Y and Z can be calculated from R, G and B), according to known algorithms.
Referring to FIG. 5, for example, when polishing begins, the pair of values (e.g., V10, V20) defines an initial coordinate 502 in the coordinate space 500 of the two color channels. However, because the spectrum of reflected light changes as polishing progresses, the color composition of the light changes, and the values (V1, V2) in the two color channels will change. Consequently the location of the coordinate within the coordinate space of the two color channels will change as polishing progresses, tracing out a path 504 in the coordinate space 500.
Referring to FIGS. 6 and 7, to calculate the value representative of thickness, a predetermined path 604 in the coordinate space 500 of the two color channels is stored (step 710), e.g., in a memory of the controller 190. The predetermined path is generated prior to measurement of the substrate. The path 404 can proceed from a starting coordinate 402 to an end coordinate 406. The path 404 can represent an entire polishing process, with the starting coordinate 402 corresponding to a starting thickness for the layer on the substrate and the end coordinate corresponding to a final thickness for the layer. Alternatively, the path can represent just a portion of a polishing process, e.g., the expected distribution of layer thicknesses across a substrate at the polishing endpoint.
In some implementations, to generate the predetermined path 404, a set-up substrate is polished to approximately the target thickness that will be used for device substrates. A color image of the set-up substrate is obtained using the optical metrology system 160 or optical monitoring system 160′. Since the polishing rate across the substrate is typically not uniform, different locations on the substrate will have different thicknesses, and thus reflect different colors, and thus have different coordinates with in the coordinate space of the first color channel and the second color channel.
Referring to FIG. 8, a two-dimensional (2D) histogram is computed using pixels contained within the unmasked regions. That is, using the color-corrected color image, a scatter plot 800 is generated in the coordinate space of the first color channel and the second color channel using the coordinate values for some or all of the pixels from the unmasked portions of the set-up substrate. Each point 802 in the scatter plot is the pair of values (V1, V2) for the two color channels for a particular pixel. The scatter plot 800 can be displayed on a display of the controller 190 or another computer.
As noted above, possible color channels include hue, saturation, luminosity, X, Y, Z (e.g., from the CIE 1931 XYZ color space), red chromaticity, green chromaticity, and blue chromaticity. In some implementations, the first color channel is a red chromaticity (r) and the second color channel is a green chromaticity (g) which can be defined by




  r
  =
  
    
      
        R
        
          R
          +
          G
          +
          B
        
      
      ⁢
      
        
      
      ⁢
      and
      ⁢
      
        
      
      ⁢
      g
    
    =
    
      R
      
        R
        +
        G
        +
        B
      
    
  




respectively, where R, G and B are the intensity values for the red, green and blue color channels of the color image.

The thickness path 604 can be created manually by a user, e.g., the operator of the semiconductor manufacturing facility, using a graphical user interface in conjunction with a computer, e.g., the controller 190. For example, while the scatter plot is being displayed, the user can manually construct a path that follows and overlies the scatter plot, e.g., using mouse operations to click on selected points of the display in the scatter plot.
Alternatively, the thickness path 604 can be generated automatically using software that is designed to analyze the set of coordinates in the scatter plot and generate a path that fits the points in the scatter plot 800, e.g., using topological skeletonization.
The thickness path 604 can be provided by a variety of functions, e.g., using a single line, a polyline, one or more circular arcs, one or more Bezier curves, and the like. In some implementations, the thickness path 604 is provided by a polyline, which is a set of line segments drawn between discrete points in the coordinate space.
Returning to FIG. 6, a function provides a relationship between positions on the predetermined thickness path 604 and thickness values. For example, the controller 190 can store a first thickness value for a starting point 602 of the predetermined thickness path 604, and a second thickness value for the ending point 606 of the predetermined thickness path 604. The first and second thickness values can be obtained by using a conventional thickness metrology system to measure the thickness of the substrate layer at the locations corresponding to the pixels that provide the points 802 closest to the starting point 602 and ending point 606, respectively.
In operation, the controller 190 can calculate a value representing the thickness at a given point 610 on the path 604 by interpolating between the first and second values based on the distance along the path 604 from the starting point 602 to the given point 610. For example, if the controller could calculate a thickness T of a given point 610 according to




  T
  =
  
    
      T
      ⁢
      1
    
    +
    
      
        D
        L
      
      ⁢
      
        (
        
          
            T
            ⁢
            2
          
          -
          
            T
            ⁢
            1
          
        
        )
      
    
  




where T1 is the value for the starting point 602, T2 is the thickness for the ending point 606, L is the total distance along the path between the starting point 602 and the ending point 606, and D is the distance along the path between the starting point 602 and the given point 610.

As another example, the controller 190 can store a thickness value for each vertex of on the predetermined thickness path 604, and calculate a value representing thickness for a given point on the path based on interpolation between the two nearest vertices. For this configuration, the various values for the vertexes can be obtained by using a conventional thickness metrology system to measure the thickness of the substrate layer at the locations corresponding to the pixels that provide the points 802 closest to the vertexes.
Other functions relating the position on the path to thickness are possible.
In addition, rather than measuring the thickness of the set-up substrate using a metrology system, the thickness values could be obtained by calculation based on an optical model.
The thickness values can be actual thickness value if one uses theoretical simulation or empirical learning based on a known “setup” wafer. Alternatively, the thickness value at a given point on the predetermined thickness path can be a relative value, e.g., relative to a degree of polishing of the substrate. This later value can be scaled in a downstream process to obtain an empirical value or can be used simply to express increases or decreases in thickness without specifying absolute thickness values.
Referring to FIGS. 6 and 7, for the pixel being analyzed from the image of the substrate, the values for the two color channels are extracted from the color data for that pixel (step 720). This provides a coordinate 620 in the coordinate system 600 of the two color channels.
Next, the point, e.g., point 610, on the predetermined thickness path 604 that is closest to the coordinate 620 for the pixel is calculated (step 730). In this context, “closest” does not necessarily indicate geometrical perfection. The “closest” point could be defined in various ways, and limitations of processing power, selection of search function for ease of calculation, presence of multiple local maxima in the search function, and such can prevent determination of a geometrical ideal, but still provide results that are good enough for use. In some implementations, the closest point is defined as the point on the thickness path 604 which defines the normal vector to the thickness path that passes through the coordinate 620 for the pixel. In some implementations, the closest point is calculated by minimizing a Euclidean distance.
Then the value representing thickness is calculated from the function based on the position of the point 610 on the path 604, as discussed above (step 740). The closest point is not necessarily one of the vertexes points of the polyline. As noted above, in this case, interpolation can be used to obtain the thickness value (e.g. based on simple linear interpolation between the nearest vertexes of the polyline).
By iterating steps 720-740 for some or all of the pixels in the color image, a map of the thickness of the substrate layer can be generated.
For some layer stacks on the substrate, the predetermined thickness path will cross itself, which leads to a situation referred to as a degeneracy. A degenerate point (e.g., point 650) on the predetermined thickness path has two or more thickness values associated with it. Consequently, without some additional information it may not be possible to know which thickness value is the correct value. However, it is possible to analyze the properties of a cluster of coordinates associated with pixels from a given physical region on the substrate, e.g., within a given die, and resolve the degeneracy using this additional information. For example, measurements within a given small region of the substrate can be assumed to not vary significantly, and thus would occupy a smaller section along of the scatter plot, i.e., would not extend along both branches.
As such, the controller can analyze a cluster of coordinates associated with pixels from a given physical region on the substrate surrounding the pixel for which the degeneracy needs to be resolved. In particular, the controller can determine a major axis of the cluster in the coordinate space. The branch of the predetermined thickness path that is most closely parallel to the major axis of the cluster can be selected and used to calculate the value representing thickness.
Returning to FIG. 2, optionally a uniformity analysis can be performed for each region of the substrate, e.g., each die, or for the entire image (step 280). For example, the value for each pixel can be compared to a target value, and the total number of “failing” pixels within a die, i.e., pixels that do not meet the target value, can be calculated for the die. This total can be compared to a threshold to determine whether the die is acceptable, e.g., if the total is less than the threshold then the die is marked as acceptable. This gives a pass/fail indication for each die.
As another example, the total number of “failing” pixels within the unmasked region of the substrate can be calculated. This total can be compared to a threshold to determine whether the substrate is acceptable, e.g., if the total is less than the threshold then the substrate is marked as acceptable. The threshold can be set by a user. This gives a pass/fail indication for the substrate.
Where a die or a wafer is determined to “fail”, the controller 190 can generate an alert or cause the polishing system 100 to take corrective action. For example, an audible or visual alert can be generated, or a data file can be generated indicating that a particular die is not usable. As another example, a substrate could be sent back for rework.
In contrast to spectrographic processing, in which a pixel typically is represented by 1024 or more intensity values, in a color image a pixel can be represented by just three intensity values (red, green and blue), and just two color channels are needed for the calculation. Consequently, the computational load to process the color image is significantly lower.
However, in some implementations the light detector 164 is a spectrometer rather than a color camera. For example, the light detector can include a hyperspectral camera. Such spectral camera can generate intensity values for 30-200, e.g., 100, different wavelengths for each pixel. Then, rather than pairs of values in a 2-dimensional color space as discussed above, the technique (steps 210-270) is applied to an image having an N-dimensional color space with N color channels, where N is significantly larger than 2, e.g., 10 to 1000 dimensions. For example, the thickness path 604 can be a path in the N-dimensional color space.
In some implementations, the dimensionality of the color space and the number of color channels is not reduced during the subsequent steps; each dimension corresponds to a wavelength for which the intensity value is measured by the hyperspectral camera. In some implementations, the dimensionality of the color space and the number of channels is reduced, e.g., by a factor of 10 to 100, e.g., down to 10-100 dimensions and channels. The number of channels can be reduced by selecting only certain channels, e.g., certain wavelengths, or by combining channels, e.g., combining, such as averaging, intensity values measured for multiple wavelengths. In general, a larger number of channels reduces the likelihood of degeneracy in the path, but has a larger computer processing cost. An appropriate number of channels can be determined empirically.
Another technique to increase the dimensionality of the color image is to use multiple light beams with different angles of incidence. Except as noted below, such an embodiment can be configured similarly to FIGS. 1A and 1B. Referring to FIG. 1C, the sensor assembly 161 (of either the in-line metrology system 160 or the in-situ monitoring system 160′) can include multiple light sources, e.g., two light sources 162a, 162b. Each light source generates a light beam, e.g., light beams 168a and 168b, that is directed toward the substrate 10 with a different angle of incidence. The angles of incidence of the light beams 168a and 168b can be at least 5° apart, e.g., at least 10° apart, e.g., at least 20° apart. As shown in FIG. 1C, the light beams 168a, 168b can impinge the same region on the substrate 10, e.g., be coincident on the substrate 10. Alternatively, the light beams can impinge different regions, e.g., regions that partially but not entirely over overlap, or regions that do not overlap.
The light beams 168a, 168b are reflected from the substrate 10, and intensity values of multiple colors are measured at multiple pixels by two different arrays of detector elements 178a, 178b, respectively. As shown in FIG. 1C, the detector elements 178a, 178b can be provided by different light detectors 164a, 164b. For example, the two detectors 164a, 164b could each be a color line-scan camera. However, in some implementations there is a single light detector with a two-dimensional array, and the light beams 168a, 168b impinge different regions of the array of the detector. For example, the detector could be a 2D color camera.
The use of two light beams with different angles of incidence effectively doubles the dimensionality of the color image. For example, using two light beams 168a, 168b with each light detector 164a, 164b being a color camera, each detector will output a color image with three color channels (e.g., red, blue and green color channels, respectively), for a total of six color channels. This provides a larger number of channels and reduces the likelihood of degeneracy in the path, but still has a manageable processing cost.
Although FIG. 1C illustrates each light beam 168a, 168b as having its own optical components, e.g., diffuser 170, focusing optics 172 and polarizer 174, it is also possible for the beams to share some components. For example, a single diffuser 170 and/or a single polarizer 174 could be placed in the path of both light beams 168a, 168b. Similarly, although multiple light sources 162a, 162b are shown, light from a single light source could be split, e.g., by a partially reflective mirror, into the multiple beams.
The color correction can be scaled with the number of channels. For the color correction step, instead of a IORIG being a 1×3 matrix and the CCM being a 3×3 matrix, IORIG can be a 1×N matrix and the CCM can be a N×N matrix. For example, for the embodiment of two light beams incident at different angles and measured by two color cameras, IORIG can be a 1×6 matrix and the CCM can be a 6×6 matrix.
In general, data such as the calculated thickness of the layer on the substrate 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.
However, the color image processing technique described above can be particularly useful in the context of 3D vertical NAND (VNAND) flash memory. In particular, the layer stack used in fabrication of VNAND is so complicated that current metrology methods (e.g., Nova spectrum analysis) may be unable to perform with sufficiently reliability in detecting regions of improper thickness. In contrast, the color image processing technique can have superior throughput.
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.
        Although coordinates represented by pairs of values in a 2-dimensional coordinate space are discussed above, the technique is applicable to coordinate spaces with three or more dimensions defined by three or more color channels.
    
    


The sensory assembly need not be 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.

    
    
        The uniformity analysis step is optional. For example, the image generated by applying the threshold transformation can be fed into a feed-forward process to adjust a later processing step for the substrate, or into a feed-back process to adjust the processing step for a subsequent substrate.
        For in-situ measurements, rather than construct an image, the monitoring system could simply detect the color of a white light beam reflected from a spot on the substrate, and use this color data to determine the thickness at that spot using the techniques described above.
        Although the description has focused on polishing, the techniques can be applied to other sorts of semiconductor fabrication processes that add or remove layers and that can be optically monitored, such as etching, e.g., wet or dry etching, deposition, e.g., chemical vapor deposition (CVD), physical vapor deposition (PVD), or atomic layer deposition (ALD), spin-on dielectric, or photoresist coaters.
    
    


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

## Claims

1. A system for obtaining a measurement representative of a thickness of a layer on a substrate, comprising:
a support to hold a substrate for integrated circuit fabrication;
an optical sensor to capture a color image of at least a portion of the substrate held by the support; and
a controller configured to
receive the color image from the optical sensor,
perform a color correction on the color image to generate an adjusted color image having increased color contrast;
for a pixel of the adjusted color image, determine a coordinate of the pixel in a coordinate space of at least two dimensions including a first color channel and a second color channel from color data in the adjusted color image for the pixel, and
calculate a value representative of a thickness based on the coordinate of the pixel of the adjusted color image in the coordinate space.

2. The system of claim 1, wherein the controller is configured to perform the color correction using a predetermined color correction matrix.

3. The system of claim 2, wherein the color image generated by the optical sensor has N color channels.

4. The system of claim 3, wherein the controller is configured to calculate corrected intensity values IC1, . . . , ICN for a pixel of the adjusted color image that satisfy




  
    [
    
      
        
          
            I
            
              C
              ⁢
              
                
              
              ⁢
              1
            
          
        
      
      
        
          ⋮
        
      
      
        
          
            I
            CN
          
        
      
    
    ]
  
  =
  
    
      [
      
        
          
            
              a
              ⁢
              1
              ⁢
              1
            
          
          
            ...
          
          
            
              a
              ⁢
              1
              ⁢
              N
            
          
        
        
          
            ⋮
          
          
            ⋱
          
          
            ⋮
          
        
        
          
            
              a
              ⁢
              N
              ⁢
              1
            
          
          
            
              ...
            
          
          
            aNN
          
        
      
      ]
    
    ⁡
    
      [
      
        
          
            
              I
              
                O
                ⁢
                
                  
                
                ⁢
                1
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              I
              ON
            
          
        
      
      ]
    
  




where IO1, . . . , ION are original intensity values of the pixel of the color image and a11, . . . , aNN are values of the color correction matrix.

5. The system of claim 1, wherein the controller is configured to apply an offset and/or a gain and/or a gamma correction to raw image data from the optical sensor to generate the color image.

6. The system of claim 1, wherein the controller is configured to normalize the color image.

7. The system of claim 1, wherein the controller is configured to filter the color image to remove low-frequency spatial variations.

8. The system of claim 7, wherein the optical sensor comprises a line scan camera to obtain a plurality of pixels along a first axis, and comprising an actuator to move the optical sensor relative to the support along a second axis perpendicular to the first axis, such that the color image includes a plurality of rows of pixels, each row of pixels correspond to sensor elements of the optical sensor along the second axis, the plurality of rows of pixels corresponding to motion of the optical sensor along the first axis.

9. The system of claim 8, wherein the controller is configured to filter the color image to remove spatial variations only along the first axis.

10. The system of claim 9, wherein the controller is configured to filter the color image by, for each row of pixels,
averaging luminance values of the row of pixels to provide an average luminance value for the row, and
dividing intensity values of pixels in the row of pixels by the average luminance value for the row.

11. The system of claim 1, wherein the first color channel and the second color channel are selected from a group of color channels comprising hue, saturation, luminosity, X, Y, Z, red chromaticity, green chromaticity, and blue chromaticity.

12. The system of claim 1, wherein the optical sensor is positioned in an in-line metrology station of a semiconductor fabrication tool.

13. The system of claim 12, wherein the semiconductor fabrication tool comprises a chemical mechanical polisher, wherein the tool comprises a robot to transfer the substrate into the in-line metrology station, and wherein the controller is configured to cause the substrate to be measured by before or after polishing of a surface of the substrate by the chemical mechanical polisher.

14. The system of claim 13, wherein the robot provides the support.

15. The system of claim 14, wherein the optical sensor is configured to be stationary during measurement and the robot moves the substrate such that the optical sensor scans across the substrate.

16. A computer program product for obtaining a measurement representative of a thickness of a layer on a substrate, the computer program product tangibly embodied in a non-transitory computer readable medium, comprising instructions for causing a processor to:
receive a color image from a color camera,
perform a color correction on the color image to generate an adjusted color image having increased color contrast;
for a pixel of the adjusted color image, determine a coordinate of the pixel in a coordinate space of at least two dimensions including a first color channel and a second color channel from color data in the adjusted color image for the pixel, and
calculate a value representative of a thickness based on the coordinate of the pixel of the adjusted color image in the coordinate space.

17. A method of obtaining a measurement representative of a thickness of a layer on a substrate, comprising:
positioning a substrate for integrated circuit fabrication in view of a color camera;
generating a color image of the substrate from the color camera;
color correcting the color image to generate an adjusted color image having increased color contrast;
for a pixel of the adjusted color image, determining a coordinate of the pixel in a coordinate space of at least two dimensions including a first color channel and a second color channel from color data in the adjusted color image for the pixel; and
calculating a value representative of a thickness of a layer on the substrate based on the coordinate of the pixel of the adjusted color image in the coordinate space.

18. The method of claim 17, further comprising generating a reference color image of a reference substrate using the color camera, calculating a color correction matrix from the reference color image, and color correcting the color image based on the color correction matrix.

19. The method of claim 18, wherein calculating the color correction matrix comprises determining a histogram in the coordinate space based on the reference color image.

20. The method of claim 17, wherein the first color channel and the second color channel are selected from a group of color channels comprising hue, saturation, luminosity, X, Y, Z, red chromaticity, green chromaticity, and blue chromaticity.

21. The method of claim 17, wherein color correcting the color image to generate the adjusted color image provides increased resolution in value representative of a thickness compared to calculating the value representative of the thickness in absence of color correcting.