Prediction of semiconductor film thickness using machine learning
Simulating light reflection from semiconductor films to generate training data for neural networks addresses the inefficiency of physical measurement, enabling rapid and accurate film thickness prediction and defect detection in semiconductor manufacturing.
Patent Information
- Application Number
- JP2025532618
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-05
- Filing Date
- 2023-12-02
- Publication Date
- 2026-01-06
AI Technical Summary
Generating representative and extensive training data for machine learning models to predict film thickness on semiconductor substrates is time-consuming and resource-intensive, requiring actual measurements from physical substrates, which is inefficient and costly.
Simulate the reflection of a light source from a film on a semiconductor substrate using a camera to generate training data, converting spectral data into images, and labeling them with film thickness profiles to train a machine learning model without physical substrate measurement.
Enables rapid and cost-effective generation of training data for neural networks to accurately predict film thickness and detect defects, reducing the need for time-consuming physical metrology and improving the efficiency of semiconductor manufacturing processes.
Smart Images

Figure 2026500170000001_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and benefit of U.S. patent application Ser. No. 18 / 075,216, filed Dec. 5, 2022, which is incorporated herein by reference in its entirety.
[0002] Technical Field
[0002] The present disclosure relates to using optical metrology to detect thicknesses of layers on substrates using machine learning approaches. More specifically, the present disclosure describes techniques for generating training data for machine learning models. [Background technology]
[0003]
[0003] Integrated circuits are typically formed on substrates by the sequential deposition of conductive, semiconductive, or insulating layers on silicon wafers. Planarization of the substrate surface may be necessary during integrated circuit fabrication to remove filler layers and improve planarity for photolithography. Chemical mechanical polishing (CMP) is one accepted method of planarization. This planarization method typically requires the substrate to be mounted on a carrier or polishing head. The exposed surface of the substrate is typically positioned against a rotating polishing pad. The carrier head applies a controllable load to the substrate, pressing it against the polishing pad. A polishing abrasive slurry is typically supplied to the surface of the polishing pad. Various optical metrology systems (e.g., spectroscopy or polarization systems) can be used to measure the film thickness of substrate layers before and after polishing, for example, in an in-line or stand-alone metrology station.
[0004]
[0004] In parallel, advances in hardware resources such as graphics processing units (GPUs) and tensor processing units (TPUs) have significantly improved deep learning algorithms and their applications. One of the areas of development in deep learning is computer vision and image recognition. Such 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 for characterizing a film thickness on a semiconductor substrate may include receiving a film thickness profile representing a film thickness on a semiconductor substrate design. The method may also include simulating a light source being reflected from a film on the semiconductor substrate and captured by a camera. The method may further include converting spectral data captured by the camera into one or more images of the wafer having the film thickness profile. The method may further include labeling the one or more images with the film thickness profile to train 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 a plurality of steps, including receiving a film thickness profile representing a film thickness on a semiconductor substrate design. The steps may also include simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera. The steps may further include converting spectral data captured by the camera into one or more images of the wafer having the film thickness profile. The steps may further include labeling the one or more images with the film thickness profile to train a machine learning model.
[0007] In some embodiments, one or more non-transitory computer-readable media can store instructions that, when executed by one or more processors, cause the one or more processors to perform a plurality of steps, including receiving a film thickness profile representing a film thickness on a semiconductor substrate design. The steps can include simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera. The steps can further include converting the spectral data captured by the camera into one or more images of the wafer having the film thickness profile. The steps can further include labeling the one or more images with the film thickness profile to train a machine learning model.
[0008]
[0008] In any embodiment, any of the following features may be implemented in any combination, without limitation: The film thickness profile may include measurements of a film thickness extending from the center of the semiconductor substrate to the outer edge of the semiconductor substrate. The film thickness profile may include film thickness values at multiple different radial locations extending outward 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 including the film material. Simulating the light source being reflected from the film on the semiconductor substrate and captured by the camera may include receiving a light spectrum of the light source, where the light source may include a laser that would be irradiated onto the physical semiconductor substrate during semiconductor processing, and / or may include calculating a reflectance spectrum from the film that would be captured by the physical camera using the thin film estimation equation, physical properties of the film, film thickness values at locations based on the film thickness profile, and underlying film properties. The semiconductor substrate design does not require the physical substrate to be manufactured or processed to simulate the reflection of the light source from the film and the conversion of the spectral data into a wafer image. Converting the spectral data captured by the camera into one or more images of the wafer having a film thickness profile may include converting 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 film thickness measurements at specific locations on the semiconductor substrate design to generate training pairs for the machine learning model. Simulating how the light source is reflected from the film may include accessing the film material and its physical properties, and the machine learning model is trained specifically for the film material. Multiple simulated images may be generated from the film thickness profile, and each of the multiple simulated images may correspond to a film thickness value in the film thickness profile. Multiple different film thickness profiles can be simulated to generate a training dataset for various film thickness values for a particular film material. The one or more images may include monochrome images.The film thickness profile can include simulated wafer defects, and the machine learning model can be trained to recognize wafer defects corresponding to the simulated wafer defects. The method / process can also include adding simulated signal noise when simulating how a light source is reflected from a film on the semiconductor substrate and captured by the camera. Labeling the one or more images with the film thickness profile can include labeling the one or more images with a range of film thickness values.
[0009] A further understanding of the nature and advantages of various embodiments may be realized by reference to the remaining portions of the specification and the drawings. Like reference numerals are used to refer to like components throughout the several views. In some instances, a subscript is associated with a reference numeral to indicate one of multiple like components. When referring to a reference numeral without specifying an existing subscript, it is intended to refer to all such multiple like components. [Brief explanation of the drawings]
[0010] [Figure 1] 1 illustrates a polishing apparatus according to some embodiments. [Figure 2]
[0011] 1 illustrates a database of training data for image processing, according to some embodiments. [Figure 3]
[0012] 1 illustrates a flowchart of a method for training a model for characterizing a film thickness on a semiconductor substrate, according to some embodiments. [Figure 4]
[0013] 1 shows a flowchart of a process for performing a simulation of light measurements taken from a film, according to some embodiments. [Figure 5]
[0014] 1 illustrates an example of a semiconductor substrate design having a linear film thickness profile, according to some embodiments. [Figure 6]
[0015] 10 shows graphs from a simulation process for generating training data, according to some embodiments. [Figure 7]
[0016] 1 illustrates a neural network used as part of a controller for a polishing apparatus, according to some embodiments. [Figure 8]
[0017] 1 illustrates an exemplary computer system upon which various embodiments may be implemented. Modes for carrying out the invention
[0011]
[0018] Described herein are embodiments for generating simulated data for training a model that predicts film thickness values from surface images of semiconductor films. A machine learning model can be used to predict film thickness values 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 various predefined film thickness profiles. Simulated training data can be quickly generated by receiving a film thickness profile representing the film thickness on a semiconductor substrate design. A light source can be simulated as it is reflected from a 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 the wafer with the film thickness profile. The images can then be labeled with the film thickness profile to train the machine learning model.
[0012]
[0019] Due to variations in polishing rates during CMP, dry metrology systems are used to measure thin film thickness during the CMP process. These dry metrology techniques often use spectroscopic or ellipsometric techniques to fit the collected measurements to the variables of an optical model of the film stack. These metrology techniques require precise alignment of the sensor relative to the measurement spot on the substrate to ensure the model is applicable to the collected measurements. Therefore, measuring a large number of points on the substrate can be time-consuming, and collecting high-resolution film thickness profiles is not feasible.
[0013]
[0020] However, using machine learning, it is possible to quickly measure the thickness of films on substrates. The film thickness of a die can be measured by training a deep neural network using images of the die from the substrate and associated film thickness measurements, and then applying an input image to the neural network. In addition to estimating film thickness values, this technique can also be used to classify the level of residue on a substrate using image segmentation.
[0014]
[0021] 1 illustrates a polishing apparatus according to some embodiments. The polishing apparatus 100 may include one or more carrier heads 126 configured to carry substrates 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 platen 120. The polishing pad 130 may be a dual-layer polishing pad having an outer polishing layer and a softer backing layer.
[0015]
[0022] The carrier head 126 may be suspended from a support 128 and movable between the polishing stations 106. In some embodiments, the support 128 may include an overhead track, and the carrier head 126 may be coupled to a carriage 108 mounted on the track such that the carriage 108 and other carriages (not shown) may selectively move between the polishing stations 106 and the transfer stations. Alternatively, in some embodiments, the support 128 may include a rotatable carousel, the rotation of which simultaneously moves the carrier head 126 along a circular orbit.
[0016]
[0023] Each polishing station 106 of the polishing apparatus 100 may include a port, for example at the end of the arm 134, for dispensing a polishing fluid 136, such as a polishing slurry, onto the polishing pad 130. Each polishing station 106 of the polishing apparatus 100 may also include a pad conditioning device for polishing the polishing pad 130 to maintain the polishing pad 130 in a consistent polishing state.
[0017]
[0024] The carrier heads 126 are 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 substrate. Specifically, each carrier head 126 can include a retaining ring 142 that holds the substrate 10 beneath a flexible membrane 144. Each carrier head 126 can also include multiple independently controllable, pressurizable chambers (e.g., three chambers 146a-146c) defined by the membrane, which can apply independently controllable pressures to associated zones of the flexible membrane 144 and, therefore, the substrate 10. For ease of illustration, only three chambers are shown in FIG. 1, but there may be one, two, or four or more chambers (e.g., five chambers).
[0018]
[0025] Each carrier head 126 is suspended from a support 128 and may be connected by a drive shaft 154 to a carrier head rotation motor 156, which allows the carrier head to rotate about an axis 127. Optionally, each carrier head 126 can oscillate laterally, for example, by driving the carriage 108 on a track or by rotational oscillation of the carousel itself. In operation, the platen can rotate about its central axis, and each carrier head can rotate about its central axis 127 and move laterally across the top surface of the polishing pad.
[0019]
[0026] A controller 190, such as a programmable computer, can be connected to each motor to independently control the rotational speed of the platen 120 and the carrier head 126. The controller 190 can include a central processing unit (CPU) 192, memory 194, and support circuits 196, such as input / output circuits, power supplies, clock circuits, cache, etc. The memory can be connected to the CPU 192. The memory can be a non-transitory, computable, readable medium, such as one or more readily available memories (e.g., random access memory (RAM), read-only memory (ROM), floppy disk, hard disk, or other form of digital storage). Additionally, while the controller 190 is shown as a single computer, it can also be a distributed system, including, for example, multiple independently operating processors and memories.
[0020]
[0027] The polishing apparatus 100 can also include an in-line (also called in-sequence) optical measurement system 160. The imaging system of the in-line optical measurement system 160 may be located within the polishing apparatus 100, but it is not necessary to perform measurements during the polishing process. Rather, measurements may be collected between polishing operations, such as during pre-polishing or post-polishing operations, such as while a substrate is being transferred from one polishing station to another, or while a substrate is being transferred from a transfer station to a polishing station or vice versa. Furthermore, the in-line optical measurement system 160 can be located in a fab interface unit or a module accessible from the fab interface unit to measure a substrate after it has been removed from a cassette and before it is transferred to a polishing unit, or after it has been cleaned and before it is returned to the cassette.
[0021]
[0028] The in-line optical measurement system 160 may include a sensor assembly 161 for imaging the substrate 10. The sensor assembly 161 may include a light source 162, a light detector 164, and / or circuitry 166 for transmitting and receiving signals between the controller 190 and the light source 162 and the light detector 164.
[0022]
[0029] The light source 162 may be 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), xenon lamps, and / or xenon mercury lamps. The light source 162 may be oriented to direct light 168 toward the exposed surface of the 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°).
[0023]
[0030] The light source can illuminate a substantially linear, elongated region spanning the width of the substrate 10. For example, the light source 162 can include optics, such as a beam expander, to expand the light from the light source into the elongated region. Alternatively or additionally, the light source 162 can include a linear array of light sources. The light source 162 itself and the illuminated region on the substrate can be elongated, with a longitudinal axis parallel to the surface of the substrate.
[0024]
[0031] A diffuser 170 can be placed in the light path 168 to diffuse the light before it reaches the substrate 10, or the light source 162 may include a diffuser.
[0025]
[0032] Detector 164 may be a camera capable of sensing 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 is a row of detector elements. For example, the camera may be a line scan camera. The row of detector elements may extend parallel to the longitudinal axis of the elongated region illuminated by light source 162. If light source 162 includes an array of light-emitting elements, the row of detector elements may extend along a first axis parallel to the longitudinal axis of light source 162. The row of detector elements may include 1024 or more elements.
[0026]
[0033] The camera 164 may be configured with appropriate focusing optics 172 to project a field of view of the substrate onto the array of detector elements. The field of view may be long enough to view the entire width of the substrate 10 (e.g., 150 to 300 mm). The camera 164, including its associated optics 172, may be configured so that individual pixels correspond to an area having a length of approximately 0.5 mm or less. For example, assuming the field of view is approximately 200 mm long and the detector 164 includes 1024 elements, an image produced by a line scan camera may have pixels having a length of approximately 0.5 mm. To determine the length resolution of an image, the length of the field of view (FOV) can be divided by the number of pixels the FOV is imaged to obtain the length resolution.
[0027]
[0034] The camera 164 may also be configured so that the pixel width is comparable to the pixel length. For example, an advantage of a line scan camera is its very fast frame rate. The frame rate may be at least 5 kHz. The frame rate may be set at a frequency such that the image area is scanned across the substrate 10 and the pixel width is comparable to the pixel length (e.g., about 0.3 mm or less).
[0028]
[0035] The light source 162 and the light detector 164 may be supported on a stage 180. If the light detector 164 is a line scan camera, the light source 162 and the camera 164 may be movable relative to the substrate 10 so that an image area may be scanned across the length of the substrate. This relative motion may specifically be in a direction parallel to the surface of the substrate 10 and perpendicular to the rows of detector elements of the line scan camera 164.
[0029]
[0036] In some embodiments, the stage 182 may be stationary, and the substrate support may move. For example, the carrier head 126 may move, e.g., either by movement of the carriage 108 or by rotational oscillation of the carousel. A robotic arm holding the substrate in the factory interface unit may also move the substrate 10 past the line scan camera 182. In some embodiments, the stage 180 is movable while the carrier head or robotic arm is stationary for image acquisition. For example, the stage 180 may be movable 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 as the area to be scanned moves across the substrate 10.
[0030]
[0037] A possible advantage of having a line-scan camera and light source that move together across the substrate may be that the relative angle between the light source and camera remains constant for different positions across the wafer, as compared to, for example, a conventional 2D camera. As a result, artifacts caused by variations in the viewing angle may be reduced or eliminated. Furthermore, while conventional 2D cameras exhibit inherent perspective distortion that requires correction through image transformation, a line-scan camera can eliminate perspective distortion. The sensor assembly 161 may include a mechanism for adjusting the vertical distance between the substrate 10 and the light source 162 and detector 164. For example, the sensor assembly 161 may include an actuator for adjusting the vertical position of the stage 180.
[0031]
[0038] Optionally, a polarizing filter 174 may be positioned in the optical path (e.g., 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. By properly orienting the polarization axis of the polarizing filter 174, haze in the image can be reduced and desired visual characteristics can be sharpened or emphasized.
[0032]
[0039] Assuming the outermost layer of the substrate is a semi-transparent layer (e.g., a dielectric layer), the color of the light detected at detector 164 will depend, for example, on 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 (e.g., dielectric layers) on the substrate. As mentioned above, light source 162 and light detector 164 can be connected to a computing device, e.g., controller 190, operable to control their operation and receive their signals. The computing device that performs the various functions for converting the color image into a thickness measurement can be considered part of metrology system 160.
[0033]
[0040] The color image captured by the above-described system can be fed to an image processing algorithm to generate film thickness measurements for the die depicted in the image. The image can be used as input data to an image processing algorithm trained, for example, by a supervised deep learning approach, to predict layer thickness values based on the color image. The supervised deep learning-based algorithm can establish a model between the color image and the film thickness measurements. The image processing algorithm can include a neural network as a deep learning-based algorithm.
[0034]
[0041] The brightness values for each color channel of each pixel in the color image may be input to an image processing algorithm, such as the input neurons of a neural network. Based on this input data, a layer thickness measurement for the color image is calculated. Thus, by inputting the color image into the image processing algorithm, a predicted film thickness value is output. This system can be used as a high-throughput, economical solution for low-cost memory and other applications. In addition to film thickness estimation, this technique can also be used to classify residue levels on a substrate using image segmentation.
[0035]
[0042] FIG. 2 illustrates a database 220 of training data for image processing, according to some embodiments. Labeled images may be collected and stored to train an image processing algorithm, such as a neural network, using a supervised deep learning approach. For example, the database 220 may store individual records 210, each of which may correspond to a training pair. Each training pair may include an image 212 representing a substrate and a film thickness value on the substrate. A deep learning-based algorithm, such as a neural network, may then be trained using a combined dataset 218 that includes multiple individual records 210. The film thickness value 214 in each of the individual records 210 may be used as a label for the corresponding image 212 to train a model.
[0036]
[0043] For this machine learning method to work effectively, it can be beneficial to comprehensively and accurately train a model to recognize film thickness values based on input images. Accurate training of a model typically requires thousands of labeled images. These images ideally represent the diversity of different film materials, film thicknesses, film patterns, and / or other design characteristics that may vary across different substrates. A large and diverse training dataset ensures that the neural network can accurately predict film thickness values based on the various variations that may occur within or between different substrates.
[0037]
[0044] However, technical challenges exist in generating a representative and extensive dataset for training a model. Specifically, generating training data is a time-consuming and resource-intensive process. For example, an integrated dataset 218 containing thousands of images may require capturing a separate image of a physical substrate for each image. To label this data, the substrate may then be subjected to a metrology process to measure the exact film thickness of the substrate corresponding to each image. Metrology measurements typically require a separate metrology station, which can require minutes or even hours to accurately characterize and measure the surface film thickness on the substrate. Furthermore, using actual images of actual wafers requires first fabricating a physical substrate and then using it as a calibration substrate for the training data.
[0038]
[0045] For example, before or after collecting the initial calibration image, a high-precision metrology system (e.g., an in-line or stand-alone metrology system) can be used to collect ground truth film thickness measurements at multiple locations on the calibration substrate. The high-precision metrology system can be a dry optical metrology system. Ground truth measurements can be obtained from offline reflectometry, ellipsometry, scatterometry, or more advanced TEM measurements, although other techniques may be suitable. For example, color calibration images can be collected for each individual region on each calibration substrate using an in-line sensor in the optical metrology system 160. Each color calibration image can be associated with "ground truth" film thickness measurements for the corresponding die on the calibration substrate from the metrology data. These images and associated ground truth film thickness measurements can be stored in a database. For example, these data can be stored as records, with each record including a calibration image and ground truth film thickness measurements. The ground truth images 212 and associated film thickness values 214 may be stored in database 220.
[0039]
[0046] A deep learning-based algorithm, e.g., a neural network, can then be trained using the integrated data set 218. Film thickness measurements corresponding to the die centers measured from the metrology tool can be used as labels for input images while training the model. For example, sufficient training of the model may require approximately 50,000 images collected from at least five dies on different substrates with a wide range of film thickness values and materials. That is, each calibration substrate may be scanned by a line scan camera in the inline optical metrology system 160 to generate an initial calibration image, which may then be segmented into multiple color images of distinct areas on the calibration substrate. Therefore, using images of actual wafers and labeling them with metrology data may require too much time and too many different substrates to efficiently generate sufficient training data.
[0040]
[0047] The embodiments described herein solve these and other technical problems by using models to simulate the generation of training data. For example, mathematical and / or physical models of a light source, the reflection of emitted light from a substrate film, and the conversion of the film's spectral response to pixel values by a camera can be simulated. Different film thickness profiles, film materials, light source characteristics, camera types, and / or other process parameters can be used to generate images representing virtual wafers with these different characteristics. Because film thickness values are known in advance during the wafer production process, corresponding images can be labeled with the known film thickness values and may be used to train a neural network. This neural network can then be used to predict or calculate film thickness values based on images of actual wafers.
[0041]
[0048] 3 illustrates a flowchart 300 of a method for training a model for characterizing film thickness on a semiconductor substrate, according to some embodiments. The method may be performed by a computer system including one or more processors and one or more memory devices. The memory devices may store instructions that cause the one or more processors to perform the steps of flowchart 300. For example, the one or more memory devices may include one or more non-transitory computer-readable media configured to store processor instructions. FIG. 8 below illustrates a computer system that may be used to perform these steps.
[0042]
[0049] The method may include receiving (302) a film thickness profile representing a film thickness on a semiconductor substrate design. The film thickness profile may include any data set characterizing the film thickness at various locations on the semiconductor substrate. For example, the film thickness profile may include measurements along a radial line extending from the center of the semiconductor substrate toward the outer edge of the semiconductor substrate. In other embodiments, a diameter line extending from one edge of the substrate through the center point of the substrate to another edge may be used. In some embodiments, circular measurements of the film thickness of the substrate at various radial locations extending outward from the center of the substrate may be used. In some embodiments, a random or distributed sampling of film thickness measurements at various points on the substrate may be used. The film thickness profile may be acquired from any head zone of a semiconductor processing station and may include any shape, such as radial, azimuthal, and / or spiral line profiles. In some embodiments, the film thickness profile is not limited to one-dimensional images such as line profiles, but instead may use two-dimensional images having any shape or size.
[0043]
[0050] A film thickness profile can be represented using a set of data point pairs. For example, a film thickness profile can include data point pairs that include a film thickness measurement, as well as a position coordinate, distance, or pixel number on the semiconductor substrate. These data point pairs can be collected and stored together to form a film thickness profile that indicates the film thickness of the semiconductor substrate along a line, diameter, radius, or other location on the substrate.
[0044]
[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 nitride films. Other layers that may form the film may include metal layers, photoresist layers, mask layers, semiconductor layers, and silicon layers. These layers are provided by way of example only; any type of film present on the surface of the semiconductor substrate may be simulated. 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 present below the top film. Because the underlying film layers may also affect the reflectivity of the light spectrum from the light source, different combinations of top and underlying films may be used to generate different film thickness profiles. Thus, the film thickness profile may be specific not only to the top film material, but also to the combination of the top film material with different film materials below the top film. Some embodiments may also generate film thickness profiles specific to individual semiconductor substrate designs, such as different circuit or layout patterns within the film.
[0045]
[0052] The semiconductor substrate design may be represented by an actual physical substrate design or by a model or design file that represents the design. In contrast to previous solutions, these embodiments do not require an actual physical semiconductor substrate on which to perform measurements in order to measure the film thickness profile. Instead, the design file or other design representation of the semiconductor substrate may be used for the simulation. For example, the semiconductor substrate design may include characteristics such as film material, film thickness, deposition method, processing, film pattern, underlying film material, and semiconductor substrate size. In some embodiments, the semiconductor substrate design may be represented simply by the film material type and its film thickness. The semiconductor substrate design may also include other semiconductor features on the semiconductor substrate, such as scribe lines and other complex patterns.
[0046]
[0053] The method may also include simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera. As described above, some semiconductor processing stations, such as processes that planarize semiconductor substrates using chemical mechanical polishing, can measure film thickness by illuminating the substrate surface with light and measuring the spectral response of the reflected light from the top film. The spectrum of the reflected light can be captured by a camera and converted into digital pixels. The pixels of the image can then be analyzed to determine film thickness values in real time as the process progresses. The images can be analyzed using a machine learning model, such as a neural network, that receives the image as input and generates predicted film thickness values as output. Instead of training this model using actual film thickness measurements from a physical semiconductor substrate, these embodiments simulate how a light source is reflected from a film on the semiconductor substrate and captured by a camera.
[0047]
[0054] FIG. 4 shows a flowchart of a process for performing a simulation of light measurements obtained from a film, according to some embodiments. Initially, a light spectrum 402 from a light source is provided to a simulation process 404. The light spectrum may include wavelengths of light provided by the light source. For example, some embodiments may simulate laser light using a particular wavelength or range of wavelengths being irradiated onto the surface of the film. The light spectrum may include a single wavelength and / or a wavelength distribution, such as that shown in FIG. 4. In some embodiments, other characteristics of the light source may also be considered, such as the intensity of the light source, filters applied to the light source, and the angle of incidence of the light source with respect to the top film.
[0048]
[0055] In addition to the light spectrum 402 from the light source, a film thickness profile 406 may be provided to the simulation process 404. In some embodiments, the film type and the light spectrum 402 from the light source may be held constant for several different film thickness profiles 406. Although not explicitly shown in FIG. 4 , other process parameters may be provided to the simulation process, such as film material, underlying film layers, and semiconductor substrate size. The film thickness profile 406 may be varied for each simulation, thereby providing multiple different simulation results for each set of process conditions and film types. In some embodiments, the film thickness profile 406 may be generated as a combination of Gaussian signals. In other embodiments, the film thickness profile 406 may be generated based on past measurements of actual physical film thickness from actual substrates. In some embodiments, the film thickness profile 406 may be randomly generated to generate a wide variety of continuous or semi-continuous film thickness profile curves. For example, the film thickness profile may be varied between 0 A and approximately 10,000 A to simulate different film thickness profiles.
[0049]
[0056] After these inputs are received, a simulation process 404 can simulate and calculate the reflection of the light source from the top layer film. Because the physical properties of the film are known to the simulation process 404, standard thin film interference equations related to stack structure properties can be used to calculate the reflectance of the light spectrum 402 from the light source. For example, the optical properties of each film material (e.g., oxide film, nitride film, etc.) will be known due to their characteristics based on 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 back toward the camera and the spectrum of the reflected light. The output of the simulation process 404 can include a reflectance spectrum 408 of the light received by the measurement system's camera.
[0050]
[0057] In some embodiments, noise or other signals can be added to this simulation process. For example, signal noise can be added to the light spectrum 402 or the reflected spectrum 408 from the light source to simulate noise that may be present, for example, during a chemical mechanical polishing process. In some embodiments, simulated defects can also be added to the film thickness profile 406. Simulated defects can include defects in underlying film layers, foreign particles embedded in the film layer, and / or other surface defects. Simulated defects can also include anomalies such as film delamination, voids in the film, etc.
[0051]
[0058] Briefly returning to FIG. 3 , the method may further include converting 306 the spectral data captured by the camera into one or more images of the wafer having the film thickness profile. At this stage, the spectral output of the light source may have been converted to the spectral input of the camera using the simulation process 404, the film thickness profile 406, and / or other physical properties of the film and / or semiconductor substrate designed in FIG. 4 . A camera simulation 410 can then convert the spectral response that would be captured by the camera into pixel values output by the camera. For example, in some embodiments, the operation of the camera can be modeled by using a lookup table 412 that converts the spectral values of the light to RGB pixel values 416. The lookup table 412 can be based on known physical and operational characteristics of the camera. Each spectral wavelength can be converted to RGB pixel values 416 to generate a simulated image as if it were captured by the camera.
[0052]
[0059] The simulated image approximates an actual image captured by a camera during an actual physical process. However, the simulated image can be generated much faster without actually using or processing a semiconductor substrate. The physical characteristics of the camera may be known and provided as input to the process. For example, the camera's spectral response for each wavelength may be determined, and the camera's spectral response may be used to pre-configure lookup table 412 to convert reflected light into RGB data. Thus, lookup table 412 may represent an operational model of the camera.
[0053]
[0060] Returning again to FIG. 3 , the method may additionally include labeling 308 one or more images with a film thickness profile to train a machine learning model. The pixel values 416 shown in FIG. 4 of the image and the film thickness profile 406 may then be associated with each other to form training pairs 414. The training pairs may include pixel values or images and film thickness values associated with those pixel values or images. The training pair 414 may be one of multiple training pairs used to train the neural network described herein. The film thickness profile 406 may be used to generate a training pair for each film thickness value of the film thickness profile 406. As described above, each film thickness measurement in the film thickness profile 406 may be associated with a location on the semiconductor substrate design.
[0054]
[0061] After simulation, the film thickness measurements in the film thickness profile 406 may be associated with an image of 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 with a film thickness profile can be used to label one or more images with individual film thickness values from the film thickness profile at different locations on the semiconductor substrate design. Running multiple simulations using different film thickness profiles 406 can very quickly generate hundreds or thousands of training pairs 414 for training a neural network to recognize film thickness values from reflected images. In some embodiments, pixel values can be associated with a range of film thickness values (e.g., a range of angstroms) rather than a single film thickness value. In some embodiments, a range of non-uniformity in film thickness values relative to a reference point can be output instead of or in addition to an absolute film thickness value. This allows the simulation to correct for sublayer variations. Note that using the film thickness profile 406 is merely one example for generating training labels, especially when this process predicts multiple consecutive film thickness values along the film thickness profile. Other embodiments may use a single film thickness value per image or line profile and are therefore not limited to continuous film thickness profiles, or may use multiple discrete film thickness values when labeling the data.
[0055]
[0062] FIG. 5 illustrates an example of a semiconductor substrate design 502 having a linear film thickness profile 504, according to some embodiments. In this example, the semiconductor substrate design 502 may include design specifications for a semiconductor substrate having a particular film material formed as a top layer on the semiconductor substrate. The film thickness may be generated using any of the techniques described above. In FIG. 5, film thicknesses are represented by different shades of color. The film thickness profile 504 may be generated by taking a series of measurements along a radial line extending from the center of the semiconductor substrate toward the outer edge 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, azimuthal, spiral, etc.) may be used without limitation.
[0056]
[0063] FIG. 6 illustrates a graph 600 from a simulation process for generating training data, according to some embodiments. One advantage of the simulation process is the ability to use images with different color characteristics. For example, monochrome, multispectral, and / or hyperspectral images can all be used and generated by the simulation process. The horizontal axis of graph 600 represents pixel numbers corresponding to the linear film thickness profile 504 of FIG. 5. Accordingly, the length of the linear film thickness profile 504 can vary, for example, from hundreds of pixels to thousands of pixels. Therefore, the film thickness profile 504 can be much smaller than the full set of metrology data typically used to characterize film thickness on a substrate, which typically generates a rectangular image of the entire substrate. This can significantly reduce memory and / or processing requirements for considering different substrate materials and film thickness profiles. From the pixel numbers on the horizontal axis, specific locations on the semiconductor substrate can be calculated using the known spatial resolution of each pixel.
[0057]
[0064] The vertical axis of graph 600 corresponds to the semiconductor substrate film thickness value at each specific location. Curve 602 shows the simulated film thickness value for each pixel location on the horizontal axis. The background color of graph 600 corresponds to the color used to characterize the film thickness of semiconductor substrate design 502 in FIG. 5.
[0058]
[0065] Advantages of using the above-described simulation process to rapidly generate training data for a neural network may include the ability to train the neural network to recognize abnormal conditions in addition to recognizing film 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, the neural network can be trained to recognize when the noise level of a physical process has increased beyond a threshold amount. By recognizing this increase in noise level, the model can generate an output indicating, for example, that the polishing slurry needs to be replaced, that an optical window, lens, or optical filter needs to be cleaned or replaced, and / or other system maintenance needs to be performed to improve the data captured by the imaging system.
[0059]
[0066] In another example, simulated defects, such as foreign particles embedded in a top film or underlying layer, may be provided as input to the simulation process. A neural network is then trained to recognize defects in the film based on images received by an imaging system. The neural network can then generate an output indicating the location of the defects, allowing the cause of the defects to be recognized earlier in the manufacturing process.
[0060]
[0067] 7 illustrates a neural network 720 used as part of the controller 190 of the polishing apparatus 100, according to some embodiments. The neural network 720 may be a deep neural network developed for regression analysis of RGB intensity values of input images from calibration substrates and ground truth data of film thickness measurements, and can generate a model that predicts layer thickness values for a substrate region based on a color image of the region.
[0061]
[0068] Neural network 720 may include multiple input nodes 722. Neural network 720 may include an input node for each channel associated with each pixel of the input image, multiple hidden nodes 724 (hereinafter also referred to as "hidden nodes"), and an output node 726 capable of generating layer thickness measurements. In a neural network with a single layer of hidden nodes, each hidden node 724 may be connected to each input node 722, and the output node 726 may be connected to each hidden node 720. However, in practice, neural networks for image processing may have many layers of hidden nodes 724. Typically, hidden nodes 724 output values that are nonlinear functions of weighted sums of values from the input nodes 722 to which they may be connected or from previous hidden node layers.
[0062]
[0069] However, neural network 720 may optionally include one or more other input nodes (e.g., node 722a) for receiving other data. This other data may come from past measurements of the substrate by an in-situ monitoring system, such as pixel intensity values collected during processing of a previous substrate, or pixel intensity values collected during processing of another substrate; data from another sensor in the polishing system, such as pad or substrate temperature measurements by a temperature sensor; a polishing recipe stored by a controller that can be used to control the polishing system, polishing parameters such as carrier head pressure and platen rotation speed used to polish the substrate, such as the number of substrates since pad replacement; or data from a sensor not part of the polishing system, such as liner film thickness measurements by a metrology station. This allows neural network 720 to take other process or environmental variables into account in calculating the layer thickness measurements.
[0063]
[0070] The film thickness measurements generated at output node 726 may be provided to a process control module 730. The process control module may adjust process parameters, such as carrier head pressure, platen rotation speed, etc., based on the film thickness measurements at one or more regions. The adjustments may be made to the polishing process performed on the substrate or a subsequent substrate.
[0064]
[0071] The neural network 720 may be trained using the simulated data described in detail above, for example, before being used to measure a substrate. As part of the training procedure, the controller 190 may receive a plurality of simulated training images generated from the simulation process. Each simulated image may include a plurality of intensity values, e.g., intensity values for each channel, for each pixel of the simulated image. The controller may also receive characteristic values (e.g., film thickness values) for each calibration image. The film thickness values and image values may be received as training pairs as described above. The plurality of simulated images may be generated, for example, from about 10 or more simulations, about 20 or more simulations, about 50 or more simulations, about 75 or more simulations, about 100 or more simulations, about 150 or more simulations, about 200 or more simulations, about 250 or more simulations, about 300 or more simulations, about 400 or more simulations, about 500 or more simulations, about 1000 or more simulations, etc. In the construction procedure of neural network 720, neural network 720 may be trained using simulated images and characteristic values related to the semiconductor substrate design.
[0065]
[0072] For example, V may correspond to one of the simulated images and thus be associated with a film thickness value or a range of film thickness values. While the neural network 720 is operating in a training mode, such as a backpropagation mode, values (v1, v2, ..., vL) may be provided to the respective input nodes N1, N2...NL, while a characteristic value, such as a film thickness value or a film thickness value range, may be provided as a characteristic value to the output node 726. This may be repeated for each pixel and film thickness value combination. This process sets the weight values of the internal nodes of the neural network 720.
[0066]
[0073] The system may now be operationally ready to predict film thickness values based on live images captured from a semiconductor processing chamber during an actual process. Actual images measured from a substrate using the in-line monitoring system 160 may be captured in real time. The captured image may be represented by a column matrix S = (i1, i2, ..., I1), where i represents the intensity value at the jth intensity value among L intensity values, and L = 3n if the image contains a total of n pixels and each pixel contains multiple channels. When the neural network 720 is used in inference mode, these values (S1, S2, ..., I1) are provided as inputs to corresponding input nodes N1, N2, ..., I1. As a result, the neural network 720 may generate a characteristic value (e.g., a layer thickness value or a film thickness value range) at output node 726.
[0067]
[0074] The architecture of neural network 720 can vary in depth and width. For example, while neural network 720 is illustrated with a single column of hidden nodes 724, it could include multiple columns. The number of hidden nodes 724 could be equal to or greater than the number of input nodes 722. As described above, controller 190 can associate various images with different dies on the substrate (see FIG. 2). The output of each neural network 720 can be classified as belonging to one of the dies based on the position of the sensor on the substrate at the time the image was collected. This allows controller 190 to generate a separate sequence of measurements for each die.
[0068]
[0075] In some implementations, the neural network 720 may be trained to consider the thickness of underlying layers in the stack during calculation, which may improve errors due to variations in the measured thickness of the underlying layers. The effect of variations in the thickness of underlying layers in the film stack may be mitigated by providing thickness images of the underlying layers as additional inputs to the model to improve the model's performance.
[0069]
[0076] Each method described herein can be performed by a computer system. Each step of the method may be performed automatically by the computer system and / or may provide input / output involving a user. For example, a user may provide inputs for each step of a method, each of which may be responsive to a particular output requiring such input, in which case the output is generated by the computer system. Each input may be received in response to a corresponding requested output. Furthermore, inputs may be received from a user, received as a data stream from another computer system, retrieved from a memory location, retrieved over a network, or requested from a web service. Similarly, outputs may be provided to a user, provided as a data stream to another computer system, stored in a memory location, transmitted over a network, provided to a web service, and / or provided by similar means. In summary, each step of the method described herein may be performed by a computer system and may include any number of inputs, outputs, and / or requests to or from the computer system, with or without user involvement. Steps not involving a user may be considered to be performed automatically by the computer system without human intervention. Thus, in light of this disclosure, it will be understood that the steps of the methods described herein can be modified to include input and output from a user, or can be performed automatically by a computer system without human intervention, given any decisions made by a processor. Additionally, some embodiments 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.
[0070]
[0077] FIG. 8 illustrates an exemplary computer system 800 upon which various embodiments may be implemented. System 800 may be used to implement any of the computer systems described above. For example, computer system 800 may be used to run simulations to generate the training data described above. The computer system may also be used as a controller to execute neural networks and evaluate film thickness in real time during semiconductor processing. As shown, computer system 800 includes a processing unit 804 that communicates with several 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. Storage subsystem 818 includes a tangible computer-readable storage medium 822 and a system memory 810.
[0071]
[0078] Bus subsystem 802 provides a mechanism for allowing the various components and subsystems of computer system 800 to communicate with each other as desired. While bus subsystem 802 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses. 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 in accordance with the IEEE P1386.1 standard.
[0072]
[0079] Processing unit 804, which may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers), controls the operation of computer system 800. Processing unit 804 may include one or more processors. The processors may include single-core or multi-core processors. In particular implementations, processing unit 804 may be implemented as one or more independent processing units 832 and / or 834, each including a single-core or multi-core processor. In other implementations, processing unit 804 may also be implemented as a quad-core processing unit formed by incorporating two dual-core processors on a single chip.
[0073]
[0080] In various embodiments, processing unit 804 may execute various programs according to program code and may maintain multiple programs or processes running simultaneously. At any given time, some or all of the program code to be executed may reside within processor 804 and / or within storage subsystem 818. Through appropriate programming, processor 804 may provide the various functions described above. Computer system 800 may additionally include a processing acceleration unit 806, which may include a digital signal processor (DSP), a special purpose processor, and / or the like.
[0074]
[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 touchscreen integrated into a display, a scroll wheel, a click wheel, a dial, buttons, switches, a keypad, a voice input device including a voice command recognition system, a microphone, and other types of input devices. User interface input devices may include motion sensing and / or gesture recognition devices, such as a Microsoft Kinect® motion sensor, which enables a user to control and interact with input devices such as a Microsoft Xbox® 360 game controller through a natural user interface using gestures and voice commands. User interface input devices may also include eye gesture recognition devices, such as a Google Glass® blink sensor, which detects eye movements from a user (e.g., "blinks" while taking a picture and / or selecting a menu) and translates the eye gestures as input to an input device (e.g., Google Glass®). Additionally, the user interface input device may include a voice recognition sensor that allows the user to interact with a voice recognition system (e.g., the Siri® navigator) via voice commands.
[0075]
[0082] User interface input devices may also include, but are not limited to, three-dimensional (3D) mice, joysticks or pointing sticks, gamepads, and graphic tablets, as well as audiovisual equipment such as speakers, digital cameras, digital video cameras, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser range finders, and eye-tracking devices. Furthermore, user interface input devices may include medical imaging input devices, such as computed tomography, magnetic resonance imaging, positional emission tomography, and medical ultrasound. User interface input devices may also include audio input devices, such as MIDI keyboards, digital musical instruments, and the like.
[0076]
[0083] User interface output devices may include display subsystems, non-visual displays such as indicator lights or audio output devices, etc. Display subsystems may be cathode ray tubes (CRTs); flat panel devices using liquid crystal displays (LCDs) or plasma displays; projection devices; touch screens, etc. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from computer system 800 to a user or to another computer. For example, user interface output devices may include various display devices that visually convey text, graphics, and audio / video information, such as, but not limited to, monitors, printers, speakers, headphones, car navigation systems, plotters, audio output devices, and modems.
[0077]
[0084] Computer system 800 may include a storage subsystem 818, which includes software elements currently shown as located in system memory 810. System memory 810 may store program instructions loadable into and executable on processing unit 804, as well as data generated during the execution of these programs.
[0078]
[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 several different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM). In some implementations, the basic input / output system (BIOS), containing the basic routines that help to transfer information between elements within computer system 800, such as during start-up, may typically be stored in ROM. By way of example and not limitation, system memory 810 also illustrates application programs 812, program data 814, and operating system 816, which may include client applications, a web browser, a mid-tier application, a relational database management system (RDBMS), etc. By way of example, operating system 816 may include various versions of Microsoft Windows®, Apple Macintosh®, and / or Linux operating systems, various commercially available UNIX® or UNIX-like operating systems (including, but not limited to, various GNU / Linux operating systems, Google Chrome® OS, etc.), and / or mobile operating systems such as iOS, Windows® Phone, Android® OS, BlackBerry® 10 OS, and Palm® OS operating systems.
[0079]
[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, when executed by a processor, provide the functionality described above 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.
[0080]
[0087] Storage subsystem 800 may also include computer-readable storage medium reader 820 that may be further connected to computer-readable storage medium 822. Computer-readable storage medium 822, together with system memory 810 and optionally in combination with system memory 1310, may comprehensively represent storage media for temporarily and / or more permanently containing, storing, transmitting, and retrieving computer-readable information, in addition to remote, local, fixed, and / or removable storage devices.
[0081]
[0088] The computer-readable storage medium 822 containing the code or portions of code may include any suitable medium, including, but not limited to, storage and communication media, such as volatile and nonvolatile, removable and non-removable media, implemented in any method or technology for storing and / or transmitting information. This includes, for example, tangible computer-readable storage media such as RAM, ROM, electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible computer-readable media. It may also include non-tangible computer-readable media, such as a data signal; data transmission; or any other medium usable to convey the desired information and accessible by computing system 800.
[0082]
[0089] By way of example, the computer-readable storage medium 822 may include: The computer-readable storage medium 822 may include, but is not limited to, hard disk drives that read from or write to non-removable, non-volatile magnetic media, magnetic disk drives that read from or write to removable, non-volatile magnetic disks, and optical disk drives that read from or write to removable, non-volatile optical disks, such as CD-ROMs, DVDs, Blu-Ray® disks, or other optical media. The computer-readable storage medium 822 may include, but is not limited to, Zip® drives, flash memory cards, universal serial bus (USB) flash drives, secure digital (SD) cards, DVD disks, digital video tapes, etc. The computer-readable storage media 822 may also include solid-state drives (SSDs) based on non-volatile memory, such as flash memory-based SSDs, enterprise flash drives, solid-state ROM, etc., and volatile memory-based SSDs, such as solid-state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs, and hybrid SSDs that use a combination of DRAM-based SSDs and flash memory-based SSDs. The disk drives and their associated computer-readable media may provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer system 800.
[0083]
[0090] The communications subsystem 824 provides an interface to other computer systems and networks. The communications subsystem 824 serves as an interface for receiving data from the computer system 800 and transmitting data to other systems. For example, the communications subsystem 824 may enable the computer system 800 to connect to one or more devices via the Internet. In some embodiments, the communications subsystem 824 may include radio frequency (RF) transceiver components, global positioning system (GPS) receiver components, and / or other components for accessing wireless voice and / or data networks, where access to the wireless voice and / or data networks is achieved using, for example, cellular technology; advanced data network technologies such as 3G, 4G, EDGE (Enhanced Data Rate for Global Evolution), etc.; WiFi (an IEEE 802.11 family of standards) or other mobile communications technologies; and / or any combination thereof. In some embodiments, the communications subsystem 824 may provide wired network connectivity (e.g., Ethernet) in addition to or instead of a wireless interface.
[0084]
[0091] In some embodiments, communications subsystem 824 may also receive incoming communications in the form of structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc., on behalf of one or more users who may be using computer system 800.
[0085]
[0092] By way of example, the communications subsystem 824 may be configured to receive data feeds 826 in real time from users of social networks and / or other communications services, such as Twitter® feeds; Facebook® updates; web feeds such as Rich Site Summary (RSS) feeds; and / or real-time updates from one or more third-party sources.
[0086]
[0093] Additionally, the communications 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, and may be continuous or infinite in nature with no explicit end. Examples of applications that generate continuous data may include, for example, sensor data applications, financial tickers, network performance measurement tools (e.g., network monitoring applications and traffic management applications), clickstream analysis tools, and automobile traffic monitoring.
[0087]
[0094] The communications subsystem 824 may also be configured to output structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc. to one or more databases that can communicate with one or more streaming data source computers connected to the computer system 800.
[0088]
[0095] The computer system 800 may be one of a variety of types, including a handheld portable device (e.g., an iPhone® mobile phone, an iPad® computing tablet, a PDA), a wearable device (e.g., a Google Glass® head-mounted display), a PC, a workstation, a mainframe, a kiosk, a server rack, or any other data processing system.
[0089]
[0096] Due to the ever-changing nature of computers and networks, the illustration of computer system 800 shown in the figure is intended only as a particular example. Many other configurations are possible having more or fewer components than the system shown in the figure. For example, customized hardware may be used and / or particular elements may be implemented in hardware, firmware, software (including applets), or a combination thereof. Furthermore, connections to other computing devices, such as network input / output devices, may also be utilized. Other means and / or methods for implementing various embodiments will become apparent based on the disclosure and teachings provided herein.
[0090]
[0097] As used herein, the terms "about," "approximately," or "substantially" can be interpreted as being within the range that would be expected by one of ordinary skill in the art in light of this specification.
[0091]
[0098] In the preceding description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of various embodiments. However, it will be apparent that some embodiments may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.
[0092]
[0099] The foregoing description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of various embodiments provides an enabling disclosure for implementing at least one embodiment. It should be understood that various changes can be made in the function and arrangement of elements without departing from the spirit and scope of the several embodiments as set forth in the appended claims.
[0093]
[0100] In the foregoing description, specific details are set forth to provide a thorough understanding of the embodiments. However, it should be understood that some embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as block diagram components in order to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail to avoid obscuring the embodiments.
[0094]
[0101] Furthermore, it should be noted that the particular embodiments are described as a process that is depicted as a flowchart, flow diagram, data flow diagram, structure diagram, or block diagram. While a flowchart may describe steps as a sequential process, many of the steps may be performed in parallel or simultaneously. Moreover, the order of steps may be rearranged. A process ends when the steps are completed, but there may be additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.
[0095]
[0102] The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, wireless channels, and various other media capable of storing, containing, or transporting instructions and / or data. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0096]
[0103] Furthermore, the embodiments may be realized by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor may perform the necessary tasks.
[0097]
[0104] In the above description, features are described with reference to particular embodiments, but it should be recognized that not all embodiments are limited thereto. Various features and aspects of the embodiments can be used individually or together. Moreover, the embodiments can be utilized in any environment and application beyond those described herein without departing from the broad spirit and scope of the present specification. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive.
[0098]
[0105] Furthermore, for purposes of illustration, the methods have been 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. Furthermore, it should be understood that the methods described above may be performed by hardware components or embodied by sequences of machine-executable instructions, which may 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 method. The machine-executable instructions may be stored on one or more machine-readable media, such as a CD-ROM or other type of optical disk, floppy disk, ROM, RAM, EPROM, EEPROM, magnetic or optical card, 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. 1. A method for training a model for characterizing a film thickness on a semiconductor substrate, comprising: receiving a film thickness profile representing a film thickness on a semiconductor substrate design; simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera; converting the spectral data captured by the camera into one or more images of a wafer having the film thickness profile; and labeling the one or more images with the film thickness profile to train a machine learning model; A method comprising:
2. The method of claim 1 , wherein the film thickness profile comprises measurements of the film thickness extending from the center of the semiconductor substrate to the outer edge of the semiconductor substrate.
3. The method of claim 1 , wherein the film thickness profile comprises film thickness values at a plurality of different radial locations extending outward from a center of the semiconductor substrate.
4. The method of claim 1 , wherein the film thickness profile is specific to the film material and one or more underlying film materials.
5. The method of claim 1 , wherein the semiconductor substrate design includes a design file that includes film materials.
6. simulating how the light source is reflected from the film on the semiconductor substrate and captured by the camera; receiving a light spectrum from a light source, the light source comprising a laser that will be irradiated onto a physical semiconductor substrate during semiconductor processing; The method of claim 1 , comprising:
7. simulating how the light source is reflected from the film on the semiconductor substrate and captured by the camera; calculating a reflectance spectrum from the film that would be captured by a physical camera using a thin film estimation equation, physical properties of the film, film thickness values at locations based on the film thickness profile, and underlying film properties; The method of claim 6 further comprising:
8. 10. The method of claim 1, wherein the semiconductor substrate design does not require fabrication or processing of a physical substrate to simulate reflection of the light source from the film and conversion of the spectral data into an image of the wafer.
9. 1. A system comprising: one or more processors; and one or more memory devices containing instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a film thickness profile representing a film thickness on a semiconductor substrate design; simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera; converting the spectral data captured by the camera into one or more images of a wafer having the film thickness profile; and labeling the one or more images with the film thickness profile to train a machine learning model; memory device that runs Including, the system.
10. converting the spectral data captured by the camera into the one or more images of a wafer having the film thickness profile; The system of claim 9 , further comprising converting the spectral data captured by the camera into RGB pixel values.
11. converting the spectral data captured by the camera into the RGB pixel values; Using a look-up table that stores RGB pixel values corresponding to the spectral wavelengths received by the camera The system of claim 10, comprising:
12. labeling the one or more images with the film thickness profile; Associating the images with film thickness measurements at specific locations on the semiconductor substrate design to generate training pairs for the machine learning model. The system of claim 9 , comprising:
13. simulating how the light source is reflected from the film; accessing a membrane material and physical properties of the membrane material, wherein the machine learning model is specifically trained to the membrane material; The system of claim 9 , comprising:
14. The system of claim 9 , wherein a plurality of simulated images are generated from the film thickness profile, each of the plurality of simulated images corresponding to a film thickness value of 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 corresponding to various film thicknesses for a particular film material.
16. One or more non-transitory computer-readable media containing instructions, The instructions, when executed by one or more processors, cause the one or more processors to: receiving a film thickness profile representing a film thickness on a semiconductor substrate design; simulating how a light source is reflected from a film on the semiconductor substrate and captured by a camera; converting the spectral data captured by the camera into one or more images of a wafer having the film thickness profile; and labeling the one or more images with the film thickness profile to train a machine learning model; A non-transitory computer-readable medium for causing the execution of
17. 17. The one or more non-transitory computer-readable media of claim 16, wherein the one or more images comprise monochrome.
18. 17. The one or more non-transitory computer-readable media of claim 16, wherein the film thickness profile includes simulated wafer defects, and the machine learning model is trained to recognize wafer defects that correspond to the simulated wafer defects.
19. 17. The one or more non-transitory computer-readable media of claim 16, wherein the process further comprises adding simulated signal noise when simulating the light source being reflected from the film on the semiconductor substrate and captured by the camera.
20. labeling the one or more images with the film thickness profile; labeling said one or more images with a range of film thickness values; 17. The one or more non-transitory computer-readable media of claim 16, comprising: