Semiconductor film thickness prediction using machine learning
By simulating the reflection of the light source and the film, the film thickness profile of the semiconductor substrate is generated, and the machine learning model training data is used to solve the problem of thickness measurement in the prior art, and fast and low-cost training data generation and thickness measurement are achieved.
Patent Information
- Application Number
- CN202380088191.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-05
- Filing Date
- 2023-12-02
- Publication Date
- 2025-08-12
AI Technical Summary
Prior art In the chemical mechanical grinding process of semiconductor substrates, thickness measurement is time-consuming and resource-intensive, making it difficult to efficiently generate training data for training machine learning models.
By simulating the reflection of the light source and the film, the film thickness profile of the semiconductor substrate is generated, and the data is trained using machine learning models, and the image is simulated to replace the measurement value of the solid substrate to quickly generate training data.
It realizes rapid and low-cost generation of training data during chemical mechanical grinding, reduces dependence on solid substrate measurement, and improves the efficiency and accuracy of thickness measurement.
Smart Images

Figure CN120476466A_ABST
Abstract
Description
Technical Field
[0001] This application claims priority to and the benefit of U.S. patent application No. 18 / 075,216, filed on December 5, 2022, which is incorporated herein by reference in its entirety.
[0002] The present disclosure relates to using optical metrology to detect the thickness of layers on substrates using machine learning methods. More specifically, the present disclosure describes techniques for generating training data for machine learning models. Background Art
[0003] Integrated circuits are typically formed on substrates by sequentially depositing conductive, semiconductor, or insulating layers on silicon wafers. During the manufacture of integrated circuits, planarization of the substrate surface may require removal of a filler layer or improvement of the flatness of photolithography. Chemical mechanical polishing (CMP) is a recognized planarization method. This planarization method typically requires mounting the substrate on a carrier or polishing head. Typically, the exposed surface of the substrate is placed against a rotating polishing pad. The carrier head provides a controllable load on the substrate to push the substrate toward the polishing pad. Typically, an abrasive polishing slurry is supplied to the surface of the polishing pad. Various optical metrology systems (e.g., spectrometers or ellipsometers) can be used to measure the thickness of the substrate layer before and after polishing, for example, at an online or independent metrology station.
[0004] As a parallel problem, advances in hardware resources such as Graphical Processing Units (GPUs) and Tensor Processing Units (TPUs) have led to significant improvements in deep learning algorithms and their applications. One area where deep learning continues to thrive is computer vision and image recognition. These computer vision algorithms are primarily designed for image classification or segmentation. Summary of the Invention
[0005] In some embodiments, a method for training a model to characterize film thickness on a semiconductor substrate may include receiving a film thickness profile representing a film on a semiconductor substrate design. The method may also include simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera. The method may further convert the spectral data captured by the camera into one or more images of a wafer having the film thickness profile. The method may further include labeling the one or more images with the film thickness profile for use in training a machine learning model.
[0006] In some embodiments, a system may include one or more processors and one or more memory devices. The one or more memory devices may include instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving a film thickness profile representing a film on a semiconductor substrate design. The operations may also include simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera. The operations may further include converting the spectral data captured by the camera into one or more images of a wafer having the film thickness profile. The operations may further include labeling the one or more images with the film thickness profile for use in training a machine learning model.
[0007] In some embodiments, one or more non-transitory computer-readable media may store instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: receiving a film thickness profile representing a film on a semiconductor substrate design. The operations may also include simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera. The operations may also convert the spectral data captured by the camera into one or more images of the wafer having the film thickness profile. The operations may further include labeling the one or more images with the film thickness profile for use in training a machine learning model.
[0008] In any embodiment, any or all of the following features may be implemented in any combination, without limitation. The film thickness profile may include measurements of the thickness of the film extending from the center of the semiconductor substrate to the periphery of the semiconductor substrate. The film thickness profile may include the thickness of the film at multiple different radii extending from the center of the semiconductor substrate. The film thickness profile may be specific to the film material and one or more underlying film materials. The semiconductor substrate design may include a design file that includes the film material. Simulating a light source as reflected by a film on a semiconductor substrate and captured by a camera may include receiving a spectrum of a light source, wherein the light source may include a laser that will be directed to a physical semiconductor substrate during semiconductor processing; and / or using thin film inference formulas, physical properties of the film, the film thickness at a location based on the film thickness profile and underlying film properties, to calculate a reflection spectrum from the film to be captured by a physical camera. The semiconductor substrate design does not require the manufacture or processing of a physical substrate to simulate the light source being reflected by the film and converting the spectral data into an image of the wafer. Converting the spectral data captured by the camera into one or more images of the wafer having the film thickness profile may include translating the spectral data captured by the camera into RGB pixel values and / or using a lookup table that stores RGB pixel values corresponding to spectral wavelengths received by the camera. Labeling the one or more images with the film thickness profile may include associating the images with thickness measurements at specific locations on the semiconductor substrate design to generate training pairs for a machine learning model. Simulating the light source as reflected by the film may include accessing film material and physical properties of the film material, wherein the machine learning model is trained specifically for the film material. A plurality of simulated images may be generated from the film thickness profile, wherein each of the plurality of simulated images may correspond to a thickness value in the film thickness profile. A plurality of different film thickness profiles may be simulated to generate a training data set for various film thicknesses of a specific film material. The one or more images may include monochromatic images. The film thickness profile may include simulated wafer defects, wherein the machine learning model may be trained to identify wafer defects corresponding to the simulated wafer defects. The method / operations may also include adding simulated signal noise when simulating the light source to be reflected by the film on the semiconductor substrate and captured by the camera. Labeling the one or more images with the film thickness profile may include labeling the one or more images with a range of film thickness. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] A further understanding of the nature and advantages of the various embodiments may be achieved by reference to the remainder of this specification and the accompanying drawings, in which the same reference numerals are used throughout the several drawings to represent similar components. In some cases, a sub-label is associated with a reference numeral to denote one of multiple similar components. When a reference numeral is referenced without specifying the existing sub-label, it is intended to refer to all such multiple similar components.
[0010] Figure 1 A grinding apparatus is depicted according to some embodiments.
[0011] Figure 2 According to some embodiments, a database of training data for image processing is shown.
[0012] Figure 3 A flow chart is shown of a method for training a model to characterize film thickness on a semiconductor substrate, according to some embodiments.
[0013] Figure 4 A flow chart depicts a process for performing a simulation of light measurements taken from a film, according to some embodiments.
[0014] Figure 5 An example of a semiconductor substrate design with a linear film thickness profile is shown according to some embodiments.
[0015] Figure 6 According to some embodiments, graphs from a simulation process used to generate training data are depicted.
[0016] Figure 7 A neural network is shown used as part of a controller for a grinding device, according to some embodiments.
[0017] Figure 8 An exemplary computer system is shown in which various embodiments may be implemented. DETAILED DESCRIPTION
[0018] Described herein are embodiments for generating simulated data for training a model to estimate thickness from surface images of semiconductor films. A machine learning model can be used to estimate film thickness from spectral images captured from a semiconductor substrate during processing. Instead of using actual measurements from a physical substrate to train the model, simulated images can be generated for a variety of predefined thickness profiles. Simulated training data can be quickly generated by receiving film thickness profiles representing films on a semiconductor substrate design. Light can be simulated to be reflected by the film on the semiconductor substrate and captured by a camera. The spectral data captured by the camera can be converted into one or more images of a wafer having the film thickness profile. The images can then be labeled with the film thickness profile for use in training the machine learning model.
[0019] Due to the variability of polishing rates during CMP processes, film thickness measurements from dry metrology systems are used during CMP processing. These dry metrology measurement techniques typically employ spectrographs or ellipsometers, where variables in an optical model of the film stack are fitted to the collected measurements. These measurement techniques typically require precise alignment of the sensor with the measurement points on the substrate to ensure the model is appropriate for the collected measurements. Consequently, measuring a large number of points on the substrate can be time-consuming, and collecting a high-resolution thickness profile is not feasible.
[0020] However, using machine learning can reduce the time required to measure film thickness on substrates. By training a deep neural network using images of die from a substrate and their associated thickness measurements, the film thickness of the die can be measured by applying the input images to the neural network. In addition to thickness inference, this technique can be used to classify the level of residue on a substrate using image segmentation.
[0021] Figure 1 A polishing apparatus is illustrated according to some embodiments. The polishing apparatus 100 may include one or more carrier heads 126 configured to support a substrate 10, one or more polishing stations 106, and / or a transfer station for loading and unloading substrates from the carrier heads. The polishing stations 106 may include a polishing pad 130 supported on a platform 120. The polishing pad 130 may be a two-layer polishing pad having an outer polishing layer and a softer backing layer.
[0022] The carrier head 126 can be suspended from a support 128 and can be moved between the polishing stations 106. In some embodiments, the support 128 can include an overhead track, and the carrier head 126 can be coupled to a carriage 108 that is mounted to the track so that the carriage 108 and another carriage (not shown) can be selectively moved between the polishing stations 106 and a transfer station. Alternatively, in some implementations, the support 128 can include a rotatable turntable, and rotation of the rotatable turntable can cause the carrier head 126 to simultaneously move along a circular path.
[0023] Each polishing station 106 of the polishing apparatus 100 may include a port (e.g., at the end of the arm 134) for dispensing a polishing liquid 136 (e.g., an abrasive slurry) onto the polishing pad 130. Each polishing station 106 of the polishing apparatus 100 may also include a pad conditioning device for abrading the polishing pad 130 so as to maintain the polishing pad 130 at a uniform abrasive state.
[0024] The carrier head 126 is operable to hold the substrate 10 against the polishing pad 130. Each carrier head 126 can have independent control of polishing parameters (such as pressure) associated with each respective substrate. In particular, each carrier head 126 can include a retaining ring 142 to secure the substrate 10 beneath the flexible membrane 144. Each carrier head 126 can also include a plurality of independently controllable pressurizable chambers (e.g., three chambers 146a-146c) defined by the membrane that can apply independently controllable pressure to associated areas on the flexible membrane 144 and thereby to the substrate 10. Although for ease of illustration, the carrier head 126 can be independently controlled to control polishing parameters (such as pressure) associated with each respective substrate. In particular, each carrier head 126 can include a retaining ring 142 to secure the substrate 10 beneath the flexible membrane 144. Figure 1 Only three chambers are shown, but there may be one or two chambers, or four or more chambers (eg, five chambers).
[0025] Each carrier head 126 can be suspended from a support 128 and can be connected to a carrier head rotation motor 156 via a drive shaft 154 so that the carrier head can rotate about an axis 127. Optionally, each carrier head 126 can be oscillated laterally, for example, by driving the carriage 108 on rails, or by rotatable oscillation of the turntable itself. In operation, the platform can rotate about its central axis, and each carrier head can rotate about its central axis 127 and translate laterally across the top surface of the polishing pad.
[0026] A controller 190 (such as a programmable computer) can be connected to each motor to independently control the rotation rate of the platform 120 and the carrier head 126. The controller 190 can include a central processing unit (CPU) 192, a memory 194, and support circuits 196, such as input / output circuitry, a power supply, clock circuits, cache memory, and the like. The memory can be connected to the CPU 192. The memory can be a non-transitory computer-readable medium and can be one or more readily available memory such as random access memory (RAM), read-only memory (ROM), a floppy disk, a hard disk, or other forms of digital storage. In addition, although depicted as a single computer, the controller 190 can be a distributed system, for example, including multiple independently operating processors and memories.
[0027] The polishing apparatus 100 may also include an in-line (also referred to as an in-line) optical metrology system 160. The imaging system of the in-line optical metrology system 160 may be located within the polishing apparatus 100, but need not perform measurements during polishing operations. Instead, measurements may be collected between polishing operations, for example, when a substrate is moved from one polishing station to another, or during pre-polishing or post-polishing operations, such as when a substrate is moved from a transfer station to a polishing station, or vice versa. Additionally, the in-line optical metrology system 160 may be located in a fab interface unit or in a module accessible from the fab interface unit to measure a substrate after it has been extracted from a cassette but before it is moved to a polishing unit, or after it has been cleaned but before it is returned to the cassette.
[0028] The in-line optical metrology system 160 may include a sensor assembly 161 that provides imaging of the substrate 10. The sensor assembly 161 may include a light source 162, a light detector 164, and / or circuitry 166 for sending and receiving signals between a controller 190 and the light source 162 and light detector 164.
[0029] Light source 162 is operable to emit white light. In some embodiments, the emitted white light may include light having a wavelength between about 200 nm and about 800 nm. Suitable light sources may include an array of white light-emitting diodes (LEDs), a xenon lamp, and / or a mercury xenon lamp. Light source 162 may be oriented to direct light 168 onto the exposed surface of substrate 10 at a non-zero angle of incidence α. The angle of incidence may be, for example, between about 30° and about 75° (e.g., 50°).
[0030] The light source can illuminate a generally linear, elongated area across the width of the substrate 10. For example, the light source 162 can include optics, such as a beam expander, to spread light from the light source into the elongated area. Alternatively or additionally, the light source 162 can include a linear array of light sources. The light source 162 itself, as well as the area illuminated on the substrate, can be elongated and have a longitudinal axis parallel to the substrate surface.
[0031] Diffuser 170 may be placed in the path of light 168 , or light source 162 may include a diffuser, to diffuse the light before it reaches substrate 10 .
[0032] Detector 164 may be a camera sensitive to light from light source 162. The camera may include an array of detector elements. For example, the camera may include a CCD array. In some embodiments, the array may be a single column of detector elements. For example, the camera may be a line scan camera. The column of detector elements may extend parallel to the longitudinal axis of the elongated region illuminated by light source 162. If light source 162 includes a column of light-emitting elements, the column of detector elements may extend along a first axis parallel to the longitudinal axis of light source 162. The column of detector elements may include 1024 or more elements.
[0033] The camera 164 can be configured with appropriate focusing optics 172 to project the field of view of the substrate onto the array of detector elements. The field of view can be long enough to inspect the entire width of the substrate 10, for example, 150 mm to 300 mm in length. The camera 164 (including associated optics 172) can be configured so that individual pixels correspond to areas having a length equal to or less than about 0.5 mm. For example, assuming that the field of view can be approximately 200 mm long and the detector 164 includes 1024 elements, the image produced by the line scan camera can have pixels having a length of approximately 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 obtain the length resolution.
[0034] Camera 164 can also be configured so that the pixel width is comparable to the pixel length. For example, a line scan camera can be advantageous in that it has a very fast frame rate. The frame rate can be at least 5 kHz. The frame rate can be set to a frequency such that as the imaging area is scanned across substrate 10, the pixel width is comparable to the pixel length, for example, equal to or less than approximately 0.3 mm.
[0035] The light source 162 and the light detector 164 can be supported on a stage 180. In the case where the light detector 164 comprises a line scan camera, the light source 162 and the camera 164 can be moved relative to the substrate 10 so that the imaging area can be scanned across the entire length of the substrate. Specifically, the relative motion can be in a direction parallel to the surface of the substrate 10 and perpendicular to the columns of detector elements of the line scan camera 164.
[0036] In some implementations, the stage 182 can be stationary and the support for the substrate can be movable. For example, the carrier head 126 can be moved, for example, by movement of the tray 108 or by rotational oscillation of a turntable. A robotic arm holding the substrate in the factory interface unit can also move the substrate 10 past the line scan camera 182. In some embodiments, the stage 180 can be moved while the carrier head or robotic arm remains stationary for image acquisition. For example, the stage 180 can be moved along rails 184 by a linear actuator 182. In either case, this allows the light source 162 and camera 164 to remain in fixed positions relative to each other while the scanned area moves across the substrate 10.
[0037] A potential advantage of having a line scan camera and light source that move together across the substrate, for example, compared to conventional 2D cameras, is that the relative angle between the light source and the camera remains constant for different locations on the wafer. Consequently, artifacts caused by changes in viewing angle can be reduced or eliminated. Furthermore, a line scan camera can eliminate perspective distortion, whereas conventional 2D cameras may exhibit inherent perspective distortion that may require correction through image transformation. Sensor assembly 161 may include a mechanism for adjusting the vertical distance between substrate 10 and light source 162 and detector 164. For example, sensor assembly 161 may include an actuator for adjusting the vertical position of stage 180.
[0038] Optionally, a polarizing filter 174 may be positioned in the light path, for example, between the substrate 10 and the detector 164. The polarizing filter 174 may include a circular polarizer (CPL). A typical CPL may be a combination of a linear polarizer and a quarter-wave plate. Proper orientation of the polarization axis of the polarizing filter 174 can reduce haze in the image and sharpen or enhance desired visual features.
[0039] Assuming the outermost layer on the substrate is a semi-transparent layer (e.g., a dielectric layer), the color of the light detected at detector 164 depends on, for example, the composition of the substrate surface, the smoothness of the substrate surface, and / or the amount of interference between light reflected from different interfaces of one or more layers on the substrate (e.g., dielectric layers). As described above, light source 162 and light detector 164 can be connected to a computing device (e.g., controller 190) that is operable to control their operation and receive their signals. The computing device that performs various functions to convert the color image into a thickness measurement can be considered part of metrology system 160.
[0040] The color image captured by the above-described system can be fed into an image processing algorithm to generate thickness measurements of the grains shown in the color image. The image can be used as input to an image processing algorithm that has been trained, for example, using supervised deep learning methods, to estimate layer thickness based on the color image. The supervised deep learning-based algorithm can establish a model between the color image and the thickness measurements. As a deep learning-based algorithm, the image processing algorithm may include a neural network.
[0041] The intensity values for each color channel of each pixel in the color image can be fed into an image processing algorithm, for example, into the input neurons of a neural network. Based on this input data, layer thickness measurements can be calculated for the color image. Thus, inputting the color image into the image processing algorithm results in an estimated thickness output. This system can be used as a high-throughput, economical solution for low-cost memory and other applications. In addition to thickness inference, this technology can also be used to classify the level of residue on a substrate using image segmentation.
[0042] Figure 2 According to some embodiments, a database 220 of training data for image processing is shown. To train an image processing algorithm (e.g., a neural network) using supervised deep learning methods, labeled images can be collected and stored. For example, database 220 can store individual records 210, each of which can correspond to a training pair. Each training pair can include an image 212 representing a substrate and a thickness value 214 of a film on the substrate. A deep learning-based algorithm (e.g., a neural network) can then be trained using a combined dataset 218 comprising multiple individual records 210. The thickness value 214 in each individual record 210 can be used as a label for the corresponding image 212 for training the model.
[0043] For this machine learning approach to work effectively, the model benefits from being thoroughly and accurately trained to identify thickness based on input images. Accurately training the model typically requires thousands of labeled images. These images should ideally represent a variety of different film materials, film thicknesses, film patterns, and / or other design features that may vary between different substrates. A large and diverse training dataset ensures that the neural network can accurately estimate thickness based on the diverse variations that may occur within a substrate or between different substrates.
[0044] However, there are technical challenges in generating a representative and extensive dataset to train the model. Specifically, generating training data is a time-consuming and resource-intensive process. For example, a combined dataset 218 comprising thousands of images may each require capturing individual images of a physical substrate. To label this data, the substrate may then undergo a metrology process to measure the exact thickness of the substrate corresponding to each image. Metrology measurements typically require a separate metrology station, which may take several minutes or even hours to accurately characterize and measure the surface film thickness on the substrate. In addition, using actual images of real wafers requires first manufacturing the physical substrate and then using it as a calibration substrate for the training data.
[0045] For example, before or after the initial calibration images can be collected, a high-accuracy metrology system (e.g., an in-line or stand-alone metrology system) can be used to collect baseline true thickness measurements at multiple locations on the calibration substrate. The high-accuracy metrology system can be a dry optical metrology system. The baseline true measurements can come from offline reflectometry, ellipsometry, scatterometry, or more advanced TEM measurements, although other techniques may be appropriate. For example, for each individual area on each calibration substrate, a color calibration image can be collected by an in-line sensor of the optical metrology system 160. Each color calibration image can be associated with a "baseline true" thickness measurement of the corresponding die on the calibration substrate from the metrology data. The images and associated base true thickness measurements can be stored in a database. For example, the data can be stored as records, where each record includes a calibration image and a base true thickness measurement. The images 212 and associated base true thickness values 214 can be stored in the database 220.
[0046] The combined dataset 218 can then be used to train a deep learning-based algorithm (e.g., a neural network). While training the model, thickness measurements corresponding to the die centers measured from the metrology tool can be used as labels for the input images. For example, sufficient training of the model might use approximately 50,000 images collected from at least five dies on different substrates with a wide range of film thicknesses and materials. That is, each calibration substrate can be scanned by a line scan camera of the inline optical metrology system 160 to generate an initial calibration image, and the initial calibration image can be divided into multiple color images of respective regions on the calibration substrate. Therefore, using images of real wafers and labeling those images with metrology data might require too much time and too many different substrates to generate sufficient training data in an efficient manner.
[0047] The embodiments described herein address these and other technical problems by using models to simulate the generation of training data. For example, mathematical and / or physical models of light sources, reflections of light emitted from substrate films, and conversion of the film's spectral response into pixel values by a camera can be simulated. Images representing virtual wafers with these different characteristics can be generated using different thickness profiles, film materials, light source characteristics, camera types, and / or other process parameters. Because the film thickness is previously known as part of wafer generation, the corresponding images can be labeled with the known film thickness and used to train a neural network. This neural network can then be used later to estimate or calculate thickness based on images of real wafers.
[0048] Figure 3 According to some embodiments, a flowchart 300 is shown of a method for training a model to characterize film thickness on a semiconductor substrate. The method may be performed by a computer system comprising one or more processors and one or more memory elements. The memory element(s) may store instructions that cause the one or more processors to perform the operations of flowchart 300. For example, the one or more memory elements may include one or more non-transitory computer-readable media configured to store processor instructions. Figure 8 A computer system that can be used to perform these operations is shown.
[0049] The method may include receiving a film thickness profile representing a film on a semiconductor substrate design (302). The film thickness profile may include any data set characterizing thickness at various locations on the semiconductor substrate. For example, the thickness profile may include measurements along a radial line extending from the center of the semiconductor substrate to the perimeter of the semiconductor substrate. Other embodiments may use a radial line extending from one edge of the substrate to the other edge, exiting through the center point of the substrate. Some embodiments may use circular measurements of the thickness of the substrate at various radii extending from the center of the substrate. Some embodiments may use a random or distributed sampling of thickness measurements at various points on the substrate. The film thickness profile may be taken from any head area in a semiconductor processing station and may include any arbitrary shape, such as radial, azimuthal, and / or spiral profiles. Some embodiments are not limited to 1-D images (such as line profiles) and may alternatively use 2-D images of any arbitrary shape or size.
[0050] A thickness profile can be represented using a set of data point pairs. For example, a thickness profile can include data point pairs that can include location coordinates, distances, or pixel counts / numbers on a semiconductor substrate, along with thickness measurements. A collection of these data point pairs can be stored together to form a thickness profile that indicates the thickness of a semiconductor substrate along a line, diameter, radius, or other location on the substrate.
[0051] The film on the semiconductor substrate may include any type of layer or film deposited on the substrate during the manufacturing process. The film may include silicon dioxide or other oxide films. The film may also include a nitride film. Other layers that may form the film may include metal layers, photoresist layers, mask layers, semiconductor layers, silicon layers, and the like. These layers are provided by way of example only, and any film type may be simulated to exist on the surface of the semiconductor substrate. Some embodiments may also characterize the film thickness profile not only by the top film but also by one or more underlying film layers that may be located below the top film. Because underlying film layers may also affect the reflectivity of the spectrum from the light source, different combinations of top and underlying films may be used to produce different thickness profiles. Thus, each film thickness profile may be specific not only to the top film material but also to the combination of the top film material with a different film material below the top film. Some embodiments may also produce film thickness profiles specific to individual semiconductor substrate designs, such as different circuits or layout patterns in the film.
[0052] The semiconductor substrate design can be represented by an actual physical substrate design, or by a model or design file representing the design. Unlike previous solutions, these embodiments do not require an actual physical semiconductor substrate on which measurements are performed to measure the film thickness profile. Instead, a design file or other design representation of the semiconductor substrate can be used for the simulation. For example, the semiconductor substrate design can include characteristics such as film material, film thickness, film deposition process, film pattern, underlying film material, semiconductor substrate size, etc. In some embodiments, the semiconductor substrate design can be simply represented using the film material type along with the thickness. The semiconductor substrate design can also include other semiconductor features, such as scribe lines and other complex patterns on the semiconductor substrate.
[0053] The method may also include simulating a light source to be reflected by a film on the semiconductor substrate and captured by a camera (304). As described above, some semiconductor processing stations (such as processes using chemical mechanical polishing to planarize semiconductor substrates) can measure film thickness by directing light to the substrate surface and measuring the spectral response of the light reflected from the top film. The reflected spectrum can be captured by a camera and converted into digital pixels. The pixels of this image can then be analyzed to determine the film thickness in real time as the process occurs. The images can be analyzed using a machine learning model, such as a neural network, that receives the image as input and produces an estimated thickness as output. These embodiments simulate a light source to be reflected by a film on the semiconductor substrate and captured by a camera, rather than using actual thickness measurements from a physical semiconductor substrate to train the model.
[0054] Figure 4 A flow chart is shown of a process for performing a simulation of light measurements taken from a film, according to some embodiments. First, a spectrum from a light source 402 can be provided to a simulation process 404. The spectrum can include the wavelength of light provided by the light source. For example, some embodiments can simulate laser light using a specific wavelength or range of wavelengths directed at the film surface. The spectrum can include a single wavelength, and / or a spectrum of wavelengths such as Figure 4 Some embodiments may also take into account other characteristics of the light source, such as the intensity of the light source, any filters applied to the light source, the angle of incidence of the light source relative to the top film, and so on.
[0055] In addition to the spectrum from the light source 402, a film thickness profile 406 can be provided to the simulation process 404. In some embodiments, the film type and spectrum from the light source 402 can be kept constant for a number of different film thickness profiles 406. Figure 4Other process parameters, not explicitly shown, may be provided to the simulation process, such as film material, underlying film layer, semiconductor substrate size, etc. The film thickness profile 406 may vary for each simulation, thereby providing multiple different simulation results for each set of processing conditions and film type. Some embodiments may generate the film thickness profile 406 as a combination of Gaussian signals. Other embodiments may generate the film thickness profile 406 based on previous measurements of actual physical film thickness from real substrates. Some embodiments may randomly generate the film thickness profile 406 to produce a variety of continuous or semi-continuous thickness profile curves. For example, the film thickness profile may be generated in to about to simulate different thickness profiles.
[0056] After receiving these inputs, simulation process 404 can simulate and calculate the reflection of the light source from the top film. Because the physical properties of the film are known to simulation process 404, standard thin film interference equations related to the stack properties can be used to calculate the reflectance of the spectrum from light source 402. For example, the optical properties of each film material (e.g., oxide film, nitride film, etc.) are known based on the properties of the semiconductor substrate design. These physical properties can be used in standard thin film interference equations used in electromagnetic modeling of the film to calculate the amount of light reflected toward the camera along with the spectrum of the reflected light. The output of simulation process 404 can include a reflection spectrum 408 of the light to be received by the camera of the measurement system.
[0057] In some embodiments, noise or other signals may be added to the simulation process. For example, signal noise may be added to the spectrum from light source 402 or to reflectance spectrum 408 to simulate noise that may be present, for example, during a chemical mechanical polishing process. Some embodiments may also add simulated defects to thickness profile 406. These simulated defects may include defects in the underlying film layer, foreign material embedded in the film layer, and / or other surface defects. These simulated defects may also include anomalies such as film delamination, voids in the film, and the like.
[0058] Briefly return to Figure 3 The method may further include converting the spectral data captured by the camera into one or more images of the wafer having the film thickness profile (306). At this stage, the simulation process 404, the film thickness profile 406 and / or Figure 4The spectral output of the light source is converted to the spectral input of the camera based on the physical properties of the film and / or semiconductor substrate design. The camera simulation 410 can then convert the spectral response captured by the camera into pixel value output from the camera. For example, some embodiments can model the operation of the camera using a lookup table 412 that translates spectral values into RGB pixel values 416. The lookup table 412 can be based on known physical and operational properties of the camera. Each spectral wavelength can be translated into an RGB pixel value 416 to produce a simulated image captured by the camera.
[0059] This simulated image approximates the actual image captured by the camera during a real-world physical process. However, the simulated image can be generated more quickly and does not require the actual use and processing of the semiconductor substrate. The physical properties of the camera can be known and provided as input to this process. For example, the spectral response of the camera can be determined for each wavelength, and this spectral response of the camera can be used to convert the reflected light into RGB data by populating lookup table 412. Thus, lookup table 412 can represent a model of the camera's operation.
[0060] Return to Figure 3 The method may further include labeling one or more images with the film thickness profile for use in training a machine learning model (308). Figure 4 The pixel values 416 in the film thickness profile 406 and the film thickness profile 406 can then be associated with each other to form training pairs 414. These training pairs can include pixel values or images, along with thicknesses associated with the pixel values or images. The training pair 414 can be one of a plurality of training pairs used to train the neural network described herein. Each film thickness profile 406 can be used to generate a training pair for each thickness value in the film thickness profile 406. As described above, each thickness measurement in the film thickness profile 406 can be associated with a location on the semiconductor substrate design.
[0061] After simulation, each thickness measurement in film thickness profile 406 can also be associated with an image at that location on the semiconductor substrate design. Thus, a simulation using a single film thickness profile 406 can generate multiple different training pairs 414. Thus, one or more images generated by this process for a wafer having that film thickness profile can be used to label one or more images with individual thicknesses from the film thickness profile at different locations on the semiconductor substrate design. When multiple simulations are run using different film thickness profiles 406, hundreds or thousands of training pairs 414 can be generated very quickly to train a neural network to identify film thickness from reflection images. In some embodiments, pixel values can be associated with a thickness range (e.g., a range of angstroms) rather than a single thickness. Some embodiments may alternatively or additionally output a range of thickness non-uniformities relative to a reference point rather than an absolute thickness. This allows the simulation to compensate for sub-layer variations. Note that using thickness profile 406 is only one example for generating training labels, particularly if the process is predicting multiple, continuous thickness values along the profile. Other embodiments may also use a single thickness value per image or line profile and are therefore not limited to continuous thickness profiles. Alternatively, multiple discrete thickness values can be used when labeling the data.
[0062] Figure 5 An example of a semiconductor substrate design 502 having a linear film thickness profile 504 is depicted according to some embodiments. In this example, the semiconductor substrate design 502 may include design specifications for a semiconductor substrate in which a particular film material is formed as a top layer on the semiconductor substrate. The film thickness may be generated using any of the techniques described above. By way of illustration, in Figure 5 Film thickness is represented by different colored shading. A film thickness profile 504 can be generated by capturing a series of measurements along radial lines extending from the center of the semiconductor substrate to the periphery of the substrate. Note that this linear film thickness profile 504 is provided by way of example only and is not intended to be limiting. Any of the other profiles described herein (e.g., linear, circular, diagonal, spiral, etc.) can be used without limitation.
[0063] Figure 6 According to some embodiments, a graph 600 is depicted from a simulation process used to generate training data. One advantage of the simulation process may be the ability to use images with different color characteristics. For example, monochrome images, multispectral images, and / or hyperspectral images may all be used and generated by the simulation process. The horizontal axis on the graph 600 represents the values corresponding to the color characteristics of the image. Figure 5The number of pixels in the linear film thickness profile 504 is calculated. Thus, the length of the linear film thickness profile 504 can vary from, for example, a few hundred pixels to a few thousand pixels. The film thickness profile 504 can thus be much smaller than the full set of metrology data typically used to characterize film thickness on a substrate, which typically creates a complete rectangular image of the substrate. This can significantly reduce memory requirements and / or processing requirements for accounting for different substrate materials and thickness profiles. Using the number of pixels from the horizontal axis, a specific location on the semiconductor substrate can be calculated using the known spatial resolution of each pixel.
[0064] The vertical axis of the graph 600 corresponds to the thickness of the semiconductor substrate at each specific location. Curve 602 shows the simulation results of the thickness of each of the pixel locations on the horizontal axis. The background color of the graph 600 corresponds to the color used to represent the thickness of the semiconductor substrate. Figure 5 The thickness of the semiconductor substrate 502 is designed in color.
[0065] Advantages of using the above-described simulation process to quickly generate training data for a neural network include the ability to train the neural network to identify abnormal conditions in addition to thickness. For example, a simulated noise signal can be generated and mixed with any of the spectral responses used in the simulation. The training data generated from the simulated noise signal can be used to model real-world noise anomalies. Thus, a neural network can be trained to recognize when the noise level of a physical process increases by more than a threshold amount. By identifying this increased noise level, the model can generate an output indicating, for example, the need to change the polishing slurry; the need to clean or replace the optical window, lens, or filter; and / or the need to perform other system maintenance to improve the data captured by the imaging system.
[0066] In another example, simulated defects (such as foreign material embedded in the top film or in the underlying layers) can be provided as input to the simulation process. This allows a neural network to be trained to identify defects in the film based on images received by the imaging system. The neural network can generate an output indicating the location of the defect. This can allow the source of the defect to be identified earlier in the manufacturing process.
[0067] Figure 7 According to some embodiments, a neural network 720 is shown as being used as part of the controller 190 of the polishing apparatus 100. The neural network 720 can be a deep neural network developed to perform regression analysis on RGB intensity values of an input image from a calibration substrate and a reference true thickness measurement to generate a model for predicting the layer thickness of a region of the substrate based on the color image of that region.
[0068] Neural network 720 may include a plurality of input nodes 722. Neural network 720 may include an input node for each channel associated with each pixel of the input image, a plurality of hidden nodes 724 (hereinafter also referred to as "intermediate nodes"), and an output node 726 that may generate a layer thickness measurement value. In a neural network having a single layer of hidden nodes, each hidden node 724 may be coupled to each input node 722, and an output node 726 may be coupled to each hidden node 720. However, in practice, neural networks used for image processing are likely to have many layers of hidden nodes 724. Generally speaking, hidden node 724 may output a value that is a nonlinear function of a weighted sum of values from input nodes 722 or values from previous layers of hidden nodes 724 (to which hidden nodes 724 may be connected).
[0069] However, the neural network 720 may optionally include one or more other input nodes (e.g., node 722a) to receive other data. This other data may come from previous measurements of the substrate by the in-situ monitoring system (e.g., pixel intensity values collected earlier in the processing of the substrate), from measurements of a previous substrate (e.g., pixel intensity values collected during the processing of another substrate), from another sensor in the polishing system (e.g., measurement of the temperature of the pad or substrate by a temperature sensor), from a polishing recipe stored by a controller that can be used to control the polishing system (e.g., polishing parameters such as carrier head pressure or platen rotation rate used to polish the substrate), from variables tracked by the controller (e.g., the number of substrates since the pad was changed), or from sensors that are not necessarily part of the polishing system (e.g., measurement of the thickness of the underlying film by a metrology station). This allows the neural network 720 to take other process or environmental variables into account when calculating the layer thickness measurement.
[0070] The thickness measurement generated at output node 726 can be fed into a process control module 730. The process control module can adjust process parameters, such as carrier head pressure, platen rotation rate, etc., based on the thickness measurement of one or more regions. The adjustments can be made for the polishing process to be performed on the substrate or subsequent substrates.
[0071] Before use, for example, in substrate measurement, neural network 720 can be trained using the simulation data described in detail above. As part of the training process, controller 190 can receive a plurality of simulated training images generated from a simulation process. Each simulated image can include a plurality of intensity values, e.g., an intensity value for each channel for each pixel in the simulated image. The controller can also receive a characteristic value, e.g., thickness, for each calibration image. The thickness and the image values can be received as the training pairs described above. The plurality of simulated images can be generated from, for example, greater than or approximately 10 simulations, greater than or approximately 20 simulations, greater than or approximately 50 simulations, greater than or approximately 75 simulations, greater than or approximately 100 simulations, greater than or approximately 150 simulations, greater than or approximately 200 simulations, greater than or approximately 250 simulations, greater than or approximately 300 simulations, greater than or approximately 400 simulations, greater than or approximately 500 simulations, greater than or approximately 1000 simulations, and so forth. As part of the configuration process for neural network 720, neural network 720 can be trained using the simulated images and characteristic values of the semiconductor substrate design.
[0072] For example, V may correspond to one of the simulated images and thus be associated with a thickness value or thickness range. When the neural network 720 operates in a training mode, such as a backpropagation mode, the values (v1, v2, ..., vL) may be fed into the corresponding input nodes N1, N2, ... NL, while the characteristic thickness value or thickness range may be fed into the output node 726 as a characteristic value. This process may be repeated for each pixel and thickness value combination. This process sets the values of the internal node weights of the neural network 720.
[0073] The system is now ready to operate to estimate thickness from live images captured from a semiconductor processing chamber during actual processing. Actual images measured from a substrate using in-line monitoring system 160 can be captured in real time. The captured images can be represented by a row matrix S = (i1, i2, ..., iL), where ij represents the intensity value at the jth intensity value among L intensity values, where L = 3n when the image includes a total of n pixels and each pixel may include multiple channels. While neural network 720 can be used in inference mode, these values (S1, S2, ..., SL) are fed as input to corresponding input nodes N1, N2, ..., NL. Thus, neural network 720 can generate feature values, such as layer thickness or thickness range, at output node 726.
[0074] The depth and width of the architecture of the neural network 720 can vary. For example, although the neural network 720 is shown as having a single row of intermediate nodes 724, it can include multiple rows. The number of intermediate nodes 724 can be equal to or greater than the number of input nodes 722. As described above, the controller 190 can associate each image with different dies on the substrate (see Figure 2 ). Based on the position of the sensor on the substrate when the image was collected, the output of each neural network 720 can be classified as belonging to one of the dies. This allows the controller 190 to generate a separate sequence of measurements for each die.
[0075] In some implementations, the neural network 720 can be trained to take into account the thickness of the underlying layer from the stack during calculations, which can improve errors due to underlying variations in thickness measurements. By feeding an image of the thickness of the underlying layer as an additional input to the model, the impact of underlying thickness variations in the film stack can be mitigated to improve the performance of the model.
[0076] Each of the methods described herein can be implemented by a computer system. Each step of these methods can be automatically performed by a computer system and / or can involve input / output from a user. For example, a user can provide input for each step in the method, and each of these inputs can be in response to a specific output requesting that input, where the output is generated by the computer system. Each input can be received in response to the corresponding output request. In addition, input can be received from a user, received as a data stream from another computer system, retrieved from a memory location, retrieved over a network, requested from a network service, and / or the like. Similarly, output can be provided to a user, provided as a data stream to another computer system, stored in a memory location, sent over a network, provided to a network service, and / or the like. In short, each step of the methods described herein can be performed by a computer system and can involve any number of inputs, outputs, and / or requests to and from the computer system (which may or may not involve a user). Steps that do not involve a user can be considered to be automatically performed by the computer system without human intervention. Therefore, it will be understood that, in light of the present disclosure, each step of each method described herein can be modified to include input to and output from a user, or can be performed automatically by a computer system without human intervention, with any determination being made by a processor. In addition, some embodiments of each of the methods described herein can be implemented as a set of instructions stored on a tangible, non-transitory storage medium to form a tangible software product.
[0077] Figure 8An exemplary computer system 800 is shown in which various embodiments may be implemented. Computer system 800 can be used to implement any of the aforementioned computer systems. For example, computer system 800 can be used to perform simulations to generate the aforementioned training data. The computer system can also be used as a controller that executes a neural network and estimates film thickness in real time during semiconductor processing. As shown in the figure, computer system 800 includes a processing unit 804 that communicates with a number of peripheral subsystems via a bus subsystem 802. These peripheral subsystems may include a processing acceleration unit 806, an I / O subsystem 808, a storage subsystem 818, and a communication subsystem 824. The storage subsystem 818 includes tangible computer-readable storage media 822 and system memory 810.
[0078] The bus subsystem 802 provides a mechanism for enabling the various components and subsystems of the computer system 800 to communicate with each other as intended. Although the bus subsystem 802 is schematically shown as a single bus, alternative implementations of the bus subsystem may utilize multiple buses. The bus subsystem 802 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. For example, such architectures may include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus, which may be implemented as a mezzanine bus manufactured to comply with the IEEE P1386.1 standard.
[0079] The processing unit 804, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), controls the operation of the computer system 800. The processing unit 804 may include one or more processors. These processors may include single-core or multi-core processors. In some embodiments, the processing unit 804 may be implemented as one or more independent processing units 832 and / or 834, each of which includes a single or multiple processors. In other embodiments, the processing unit 804 may also be implemented as a quad-core processing unit formed by integrating two dual-core processors into a single chip.
[0080] In various embodiments, the processing unit 804 can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed may reside in the processor(s) 804 and / or in the storage subsystem 818. Through appropriate programming, the processor(s) 804 can provide the various functions described above. The computer system 800 may further include a processing acceleration unit 806, which may include a digital signal processor (DSP), a special-purpose processor, and / or the like.
[0081] The I / O subsystem 808 may include user interface input devices and user interface output devices. User interface input devices may include a keyboard, a pointing device such as a mouse or trackball, a touchpad or touch screen incorporated into a display, a scroll wheel, a click wheel, a dial, buttons, switches, a keypad, an audio input device with a voice command recognition system, a microphone, and other types of input devices. User interface input devices may include, for example, motion sensing and / or gesture recognition devices (such as Microsoft motion sensors) that enable users to control input devices (such as Microsoft 360 game controller) and interact with it. The user interface input device may also include an eye gesture recognition device, such as Google Blink detectors, which detect eye activity from the user (e.g., "blinking" when taking a picture and / or making a menu selection) and translate eye gestures into input devices (such as Google ) in the input. In addition, the user interface input device may include a voice recognition sensing device that enables the user to communicate with the voice recognition system (e.g., Navigator) interaction.
[0082] User interface input devices may also include, without limitation, three-dimensional (3D) mice, joysticks or pointing sticks, gamepads, and graphics tablets, as well as audio / video devices such as speakers, digital cameras, digital video cameras, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye tracking devices. Additionally, user interface input devices may include, for example, medical imaging input devices such as computed tomography, magnetic resonance imaging, position emission tomography, and medical ultrasound equipment. User interface input devices may also include, for example, audio input devices such as MIDI keyboards, digital musical instruments, and the like.
[0083] The user interface output device may include a display subsystem, indicator lights, or non-visual displays (such as audio output devices, etc.). The display subsystem may be a cathode ray tube (CRT), such as a flat panel device using a liquid crystal display (LCD) or a plasma display, a projection device, a touch screen, and the like. Generally, the use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from the computer system 800 to a user or other computers. For example, the user interface output device may include, but is not limited to, a variety of display devices that visually convey text, graphics, and audio / video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, voice output devices, and modems.
[0084] Computer system 800 may include a storage subsystem 818, including software elements, shown presently located within system memory 810. System memory 810 may store program instructions that may be loaded and executed on processing unit 804, as well as data generated during execution of such programs.
[0085] Depending on the configuration and type of computer system 800, system memory 810 may be volatile (such as random access memory (RAM)) and / or non-volatile (such as read-only memory (ROM), flash memory, etc.). RAM typically contains data and / or program modules that are immediately accessible to and / or currently being operated on and executed by processing unit 804. In some implementations, system memory 810 may include multiple different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM). In some implementations, a basic input / output system (BIOS), containing basic routines that help transfer information between elements within computer system 800, such as during startup, may typically be stored in ROM. By way of example and not limitation, system memory 810 also depicts application programs 812, which may include client applications, web browsers, middle-tier applications, relational database management systems (RDBMS), etc., program data 814, and an operating system 816. By way of example, operating system 816 may include various versions of Microsoft Apple and / or Linux operating system; various commercially available or UNIX-like operating systems (including but not limited to various GNU / Linux operating systems, Google OS, and the like); and / or mobile operating systems, such as iOS, Telephone, OS, 10OS and OS operating system.
[0086] The storage subsystem 818 may also provide a tangible computer-readable storage medium for storing the basic programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that provide the aforementioned functionality when executed by a processor may be stored in the storage subsystem 818. These software modules or instructions may be executed by the processing unit 804. The storage subsystem 818 may also provide a repository for storing data used in accordance with some embodiments.
[0087] The storage subsystem 800 may also include a computer-readable storage media reader 820, which may be further connected to a computer-readable storage medium 822. Together with and optionally in combination with the system memory 810, the computer-readable storage medium 822 may comprehensively represent remote, local, fixed, and / or removable storage elements plus storage media for temporarily and / or more permanently containing, storing, transmitting, and retrieving computer-readable information.
[0088] The computer-readable storage medium 822 containing code or portions of code may also include any suitable media, including storage media and communication media, such as, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing and / or transmitting information. This may include tangible computer-readable storage media such as RAM, ROM, electronically erasable programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD), or other optical storage, cassettes, magnetic tape, magnetic disk storage or other magnetic storage elements, or other tangible computer-readable media. This may also include intangible computer-readable media such as data signals, data transmissions, or any other medium that can be used to transmit the desired information and can be accessed by the computing system 800.
[0089] By way of example, computer-readable storage media 822 may include: a hard drive that reads from or writes to non-removable, non-volatile magnetic media; a magnetic disk drive that reads from or writes to a removable, non-volatile magnetic disk; and an optical disk drive that reads from or writes to a removable, non-volatile optical disk (such as a CD ROM, DVD, and The computer readable storage medium 822 may include, but is not limited to, Drives, flash memory cards, universal serial bus (USB) flash drives, secure digital (SD) cards, DVD disks, digital video tapes, and the like. Computer-readable storage media 822 may also include: solid-state drives (SSDs) based on non-volatile memory, such as flash-based SSDs, enterprise flash drives, solid-state ROMs, and the like; SSDs based on volatile memory, such as solid-state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs; and hybrid SSDs, which use a combination of DRAM and flash-based SSDs. Disk drives and their associated computer-readable media can provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for computer system 800.
[0090] The communication subsystem 824 provides an interface with other computer systems and networks. The communication subsystem 824 acts as an interface for receiving data from other systems and transmitting data from the computer system 800 to other systems. For example, the communication subsystem 824 may enable the computer system 800 to connect to one or more devices via the Internet. In some embodiments, the communication subsystem 824 may include: a radio frequency (RF) transceiver component for accessing a wireless voice and / or data network (e.g., using cellular telephone technology, advanced data network technology such as 3G, 4G, or EDGE (Enhanced Data Rates for Global Evolution)); WiFi (IEEE 802.11 family of standards, or other mobile communication technologies, or any combination thereof); a global positioning system (GPS) receiver component; and / or other components. In some embodiments, the communication subsystem 824 may provide a wired network connection (e.g., Ethernet) in addition to or in lieu of a wireless interface.
[0091] In some implementations, the communication subsystem 824 may also receive incoming communications in the form of structured and / or unstructured data feeds 826 , event streams 828 , event updates 830 , and the like on behalf of one or more users who may use the computer system 800 .
[0092] By way of example, the communication subsystem 824 may be configured to receive messages from social networking and / or other communication services such as Feed, Users of updates, web feeds (such as Rich Site Summary (RSS) feeds) receive data feeds 826 in real time, and / or real-time updates from one or more third-party information sources.
[0093] Additionally, the communication subsystem 824 may also be configured to receive data in the form of a continuous data stream, which may include an event stream 828 of real-time events and / or event updates 830, which may be continuous or unbounded in nature, with no definite endpoint. Examples of applications that generate continuous data may include, for example, sensor data applications, financial instruments, network performance measurement tools (e.g., network monitoring and traffic management applications), click stream analysis tools, automobile traffic monitoring, and the like.
[0094] The communication subsystem 824 may also be configured to output structured and / or unstructured data feeds 826 , event streams 828 , event updates 830 , and the like to one or more databases that may be in computer communication with one or more stream data source computers coupled to the computer system 800 .
[0095] Computer system 800 can be one of various types, including a handheld portable device (e.g., Cellular phones, Computing tablets, PDAs), wearable devices (e.g., Google head-mounted display), PC, workstation, mainframe, kiosk, server rack, or any other data processing system.
[0096] Due to the ever-changing nature of computers and networks, the description of computer system 800 depicted in the figure is intended to be only a specific example. Many other configurations with more or fewer components than the system depicted in the figure are possible. For example, custom hardware may also be used, and / or specific elements may be implemented in hardware, firmware, software (including applets), or a combination thereof. In addition, connections to other computing devices (such as network input / output devices) may be employed. Based on the disclosure and teachings provided herein, other ways and / or methods for implementing the various embodiments will be readily apparent.
[0097] As used herein, the terms "about" or "substantially" or "approximately" should be interpreted as being within the range expected by a person of ordinary skill in the art based on this specification.
[0098] In the foregoing description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. However, it will be apparent that some embodiments may be practiced without some of these specific details. In other cases, well-known structures and devices are shown in block diagram form.
[0099] The foregoing description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of various embodiments will provide an enabling disclosure for implementing at least one embodiment. It will be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of certain embodiments as set forth in the appended claims.
[0100] In the foregoing description, specific details are given to provide a thorough understanding of the embodiments. However, it will be understood that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments in unnecessary detail. In other cases, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0101] Furthermore, it should be noted that individual embodiments may have been described as processes depicted as flowcharts, flow diagrams, data flow diagrams, structure diagrams, or block diagrams. Although a flowchart may have described operations as a sequential process, many operations may be performed in parallel or simultaneously. In addition, the order of the operations may be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
[0102] The term "computer-readable medium" includes, but is not limited to, portable or fixed storage elements, optical storage elements, wireless channels, and various other media capable of storing, containing, or carrying (several) instructions and / or data. A code segment or machine-executable instruction may represent a program, function, subroutine, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program instructions. A code segment may be coupled to another code segment or hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted by any appropriate means, including memory sharing, message passing, token passing, network transmission, etc.
[0103] In addition, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. (Several) processors may perform the necessary tasks.
[0104] In the foregoing description, features have been described with reference to specific embodiments thereof, but it should be recognized that not all embodiments are limited thereto. Various features and aspects of some embodiments may be used individually or in combination. Moreover, embodiments may be used in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the present description. Accordingly, the description and drawings should be regarded as illustrative rather than restrictive.
[0105] In addition, for illustrative purposes, the methods are described in a particular order. It should be understood that in alternative embodiments, the methods may be performed in an order different from that described. It should also be understood that the methods described above may be performed by hardware components or may be embodied in a sequence of machine-executable instructions that can be used to cause a machine (such as a general-purpose or special-purpose processor or a logic circuit programmed with the instructions) to perform the methods. These machine-executable instructions may be stored on one or more machine-readable media, such as a CD-ROM or other type of optical disk, a floppy disk, a ROM, a RAM, an EPROM, an EEPROM, a magnetic or optical memory card, a flash memory, or other type of machine-readable medium suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.
Claims
1. A method for training a model to characterize film thickness on a semiconductor substrate, the method comprising: receiving a film thickness profile representing a film on a semiconductor substrate design; simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera; converting spectral data captured by the camera into one or more images of the wafer having the film thickness profile; and The one or more images are labeled with the film thickness profile for use in training a machine learning model. 2 . The method of claim 1 , wherein the film thickness profile comprises measurements of the thickness of the film extending from a center of the semiconductor substrate to a periphery of the semiconductor substrate. 3 . The method of claim 1 , wherein the film thickness profile comprises thicknesses of the film at a plurality of different radii extending from a center of the semiconductor substrate. The method of claim 1 , wherein the film thickness profile is specific to a film material and one or more underlying film materials. The method of claim 1 , wherein the semiconductor substrate design comprises a design file including a film material.
6. The method of claim 1 , wherein simulating the light source to be reflected by the film on the semiconductor substrate and captured by the camera comprises: A spectrum of a light source is received, wherein the light source comprises a laser to be directed toward a physical semiconductor substrate during semiconductor processing.
7. The method of claim 6, wherein simulating the light source to be reflected by the film on the semiconductor substrate and captured by the camera further comprises: Using thin film inference formulas, the physical properties of the film, the film thickness at locations based on the film thickness profile, and underlying film properties, the reflection spectrum from the film to be captured by a physical camera is calculated.
8. The method of claim 1, wherein the semiconductor substrate design does not require fabrication or processing of a physical substrate to simulate the light source as reflected by the film and convert the spectral data into the image of the wafer.
9. A system comprising: one or more processors; as well as One or more memory elements comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a film thickness profile representing a film on a semiconductor substrate design; simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera; converting spectral data captured by the camera into one or more images of the wafer having the film thickness profile; and The one or more images are labeled with the film thickness profile for use in training a machine learning model.
10. The system of claim 9, wherein converting the spectral data captured by the camera into the one or more images of the wafer having the film thickness profile comprises: The spectral data captured by the camera is translated into RGB pixel values.
11. The system of claim 10, wherein translating the spectral data captured by the camera into the RGB pixel values comprises: A lookup table is used that stores RGB pixel values corresponding to the camera's received spectral wavelengths.
12. The system of claim 9, wherein marking the one or more images with the film thickness profile comprises: The images are correlated with thickness measurements at specific locations on the semiconductor substrate design to generate training pairs for the machine learning model.
13. The system of claim 9, wherein simulating the light source to reflect from the film comprises: Accessing film materials and physical properties of the film materials, wherein the machine learning model is trained specifically for the film materials.
14. The system of claim 9, wherein a plurality of simulated images are generated from the film thickness profile, wherein each of the plurality of simulated images corresponds to a thickness value in the film thickness profile.
15. The system of claim 9, wherein a plurality of different film thickness profiles are simulated to generate a training data set of various film thicknesses for a particular film material.
16. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a film thickness profile representing a film on a semiconductor substrate design; simulating a light source to be reflected by the film on the semiconductor substrate and captured by a camera; converting spectral data captured by the camera into one or more images of the wafer having the film thickness profile; and The one or more images are labeled with the film thickness profile for use in training a machine learning model.
17. The non-transitory computer-readable medium of claim 16, wherein the one or more images comprise a single color.
18. The non-transitory computer-readable medium of claim 16, wherein the film thickness profile comprises a simulated wafer defect, wherein the machine learning model is trained to identify wafer defects corresponding to the simulated wafer defect.
19. The non-transitory computer-readable medium of claim 16, wherein the operations further comprise: Simulated signal noise is added when the light source is simulated as being reflected by the film on the semiconductor substrate and captured by the camera.
20. The non-transitory computer-readable medium of claim 16, wherein marking the one or more images with the film thickness profile comprises: The one or more images are labeled with a range of film thicknesses.