Using Convolutional Context Attributes to Find Semiconductor Defects
By calculating the convolution of the semiconductor die patterned layer and the orthogonal core, extracting context attributes, and using machine learning systems for defect detection and classification, the detection accuracy problem under the influence of process changes is solved, and detection efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202080077797.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-13
- Filing Date
- 2020-11-16
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2040-11-16
AI Technical Summary
In the prior art, semiconductor defect detection is affected by process changes, resulting in changes in context attributes, affecting the accuracy of defect detection and classification.
By calculating the convolution of the patterned layer of the semiconductor die with multiple orthogonal cores, context attributes independent of process changes are extracted, and defect classification and attention area recognition are used to use machine learning systems.
Defect detection and classification independent of process changes is realized under process changes, which improves the accuracy and efficiency of detection and reduces the impact of disruptive point defects.
Smart Images

Figure CN114651172B_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. Provisional Patent Application No. 62 / 939,534, filed Nov. 22, 2019, the entire contents of which are incorporated herein by reference for all purposes. Technical Field
[0003] This disclosure relates to imaging semiconductor wafers to find defects, and more particularly, to detecting and / or classifying defects using context attributes. Background Art
[0004] In semiconductor defect inspection, both signals and noise vary according to the pattern (e.g., circuit pattern) at or around the location imaged on the semiconductor die. The term "context" refers to the pattern at and around the location in the current layer of the die and possibly in one or more previous layers of the die. The actions of defect detection algorithms and defect classification algorithms can vary according to context. Context attributes are variables that encode or extract context for such algorithms.
[0005] Traditionally, context attributes have been computed from optical images of semiconductor wafers. However, the intensity, contrast, and other properties of these optical images vary between wafers and across nominally identical dies on the wafer among nominally identical wafers. These variations are caused by process variations (e.g., variations in layer thickness, dimensions, and shape of features in integrated circuits within acceptable tolerances). These variations do not necessarily correspond to defect rates. When the optical images vary, the context attributes derived from them also vary, causing variations in detection and classification decisions made using the context attributes. This variation is undesirable because it is not correlated with defect rates. Summary of the Invention
[0006] Context attributes independent of process variations can be computed by convolving a pattern with kernels representing the response of an imaging system. The resulting context attributes can be used to find defects. For example, the context attributes can be used for defect classification and / or region of interest identification.
[0007] In some embodiments, a method includes computing context attributes for optical imaging of a patterned layer of a semiconductor die. Computing the context attributes includes computing a convolution of the pattern of the patterned layer with respective kernels of a plurality of kernels, where the plurality of kernels are orthogonal. The method further includes finding defects on the semiconductor die based on the context attributes.
[0008] In some embodiments, a non-transitory computer-readable storage medium stores one or more programs for execution by one or more processors of a system that includes an optical inspection tool. The one or more programs include instructions for calculating context attributes for optical imaging of a patterned layer of a semiconductor die. Calculating the context attributes includes calculating a convolution of the pattern of the patterned layer with respective kernels of a plurality of kernels, where the plurality of kernels are orthogonal. The one or more programs further include instructions for using an optical imaging tool to find defects on the semiconductor die based on the context attributes.
[0009] In some embodiments, a system includes an optical inspection tool, one or more processors, and a memory storing one or more programs for execution by the one or more processors. The one or more programs include instructions for calculating context attributes for optical imaging of a patterned layer of a semiconductor die. Calculating the context attributes includes calculating a convolution of the pattern of the patterned layer with respective kernels of a plurality of kernels, where the plurality of kernels are orthogonal. The one or more programs further include instructions for using an optical imaging tool to find defects on the semiconductor die based on the context attributes. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] To better understand the various described embodiments, reference should be made to the following detailed description taken in conjunction with the accompanying drawings.
[0011] Figure 1 is a plan view of a semiconductor wafer that is diced into a plurality of nominally identical semiconductor dice.
[0012] Figures 2 to 6 is a diagram showing the first five kernels of an imaging system operating at a wavelength of 193 nm and having a numerical aperture of 0.85 according to some embodiments.
[0013] Figure 7 is a block diagram of an anomaly detector in a machine learning system according to some embodiments.
[0014] Figure 8 is a block diagram of a spatial decomposition engine in a machine learning system according to some embodiments.
[0015] Figure 9 is a flowchart showing a method of finding semiconductor defects according to some embodiments.
[0016] Figure 10 is a flowchart showing a method of finding defects based on context attributes according to some embodiments, where the context attributes are used to classify defects.
[0017] Figure 11is a flowchart showing a method of finding defects based on context attributes according to some embodiments, where the operation of a defect detection filter depends on the context attributes.
[0018] Figure 12 is a flowchart showing a method of finding defects based on defect attributes according to some embodiments, where context attributes are used to identify regions of interest.
[0019] Figure 13 is a block diagram of a semiconductor defect identification system according to some embodiments.
[0020] Throughout the drawings and the specification, like element symbols refer to corresponding parts. Detailed Description
[0021] Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of each of the described embodiments. However, those of ordinary skill in the art will understand that the various embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.
[0022] Figure 1 is a plan view of a semiconductor wafer 100. The wafer 100 is divided into a plurality of semiconductor dies 102. The semiconductor dies 102 are nominally the same (e.g., are nominally the same examples of the same integrated circuit): they are based on the same design and are manufactured using the same semiconductor manufacturing process. Although nominally the same, however, there may be differences between different semiconductor dies 102. First, process variations across the wafer 100 can cause differences in parameters such as layer thickness, dimensions, and feature shape both between and within the semiconductor dies 102. Second, defects can be present in different locations (e.g., random locations) on different semiconductor dies 102.
[0023] Optical imaging can be performed to find defects on the semiconductor wafer 100. Before performing optical imaging, regions of interest 104 are identified on the semiconductor dies 102. The regions of interest 104 are specific regions of concern for finding defects. Defect detection and / or classification can be performed differently for the regions of interest 104 than for other regions on the semiconductor dies 102. For example, a higher defect detection sensitivity can be used for the regions of interest 104 than for other regions.
[0024] Process variations are a source of noise in optical imaging: In addition to finding actual defects (referred to as defects of interest (DOIs)), optical imaging also picks up disturbing point defects resulting from process variations. Disturbing point defects are generally not of concern to engineers because they do not render the semiconductor die 102 inoperative. The disturbing point defects can outnumber the defects of interest, sometimes by several orders of magnitude. Defect classification is performed to determine which defects are defects of interest and which are disturbing point defects.
[0025] Defects can be found using context attributes calculated by convolving the pattern of a particular layer of the semiconductor wafer 102 (e.g., the top layer when performing optical imaging, which is referred to as the current layer) with the respective kernels from a plurality of kernels representing the response of the optical imaging system. The plurality of kernels are orthogonal functions used in an integral transform that encodes or extracts pattern information. The context attributes can be used for, e.g., defect classification and / or region of interest identification. Such context attributes avoid variations based on process variations.
[0026] The pattern of a particular layer of the semiconductor die 102 (e.g., an integrated circuit on the semiconductor die 102) is described by a set of polygons. The polygons are specified (i.e., contained) in a design database. The design database can specify the polygons for each patterned layer of the semiconductor die 102. The polygons of a particular patterned layer l define a binary-valued function in the plane of the semiconductor wafer 100 (i.e., in the x-y plane):
[0027]
[0028] In some embodiments, a kernel represents the response of an optical imaging system (e.g., an optical inspection tool 1330, Figure 13 ) and includes its illumination pupil distribution, numerical aperture, and wavelength spectrum. The image of the semiconductor die 102 as acquired by the optical imaging system depends on the convolution of the pattern with the kernels. These convolutions contain all the information about the pattern that the optical imaging system has. Thus, these quantities are ideal context attributes:
[0029]
[0030] where is the convolution operator ψ in the nth kernel n ; n is an integer having a value in the range from 1 to N, where N is the number of kernels; and c l,n is the context attribute for the lth patterned layer and the nth kernel. In some embodiments, N has a value in the range from 4 to 8. Thus, in the example of Equation 2, each context attribute c l,n is equal to the convolution of the pattern of the lth patterned layer with the nth kernel of the plurality of kernels.
[0031] In some embodiments, the respective context attributes are a function of the convolution of the pattern of a particular patterned layer with the respective kernels. For example, each context attribute c l,n may be equal to the square of the magnitude of the convolution of the pattern of the l-th patterned layer with the n-th kernel of a plurality of kernels:
[0032]
[0033] The kernels form a basis (e.g., a complete orthonormal basis) for the space corresponding to the optical imaging system. In some embodiments, the kernels are Hermite Gaussian functions (i.e., Hermite polynomials with Gaussian weights). In some embodiments, the kernels are basis functions for a Gabor transform. Other examples of kernels are feasible.
[0034] Each context attribute c l,n may be an item (i.e., a component) in an attribute vector. Thus, the respective items (e.g., each item) in the attribute vector are the convolution or a function of the convolution of the pattern of a layer with the respective kernels of the optical imaging system. In some embodiments, the context attributes include only the convolutions of the layer being examined (i.e., the current layer) and do not include any convolutions of the previous (i.e., lower) layer on the semiconductor die 102. Alternatively, multiple layers are considered and the attribute vector includes cross terms, such as:
[0035]
[0036] where p l-1 is the pattern of the previous layer (i.e., the (l - 1)-th layer), ψ n is the kernel of the previous layer, p l is the pattern of the current layer, and ψ m is the kernel of the current layer.
[0037] Figures 2 to 6 is a diagram showing the first five kernels of an imaging system operating at a wavelength of 193 nm and having a numerical aperture of 0.85 according to some embodiments. These first five kernels include a first kernel 200( Figure 2 ), a second kernel 300( Figure 3 ), a third kernel 400( Figure 4 ), a fourth kernel 500( Figure 5 ), and a sixth kernel 600( Figure 6 ). Figures 2 to 6 's diagram is a heat map, where each of the x-axis and the y-axis ranges from -500 nm to 500 nm and the kernel values are represented by filled patterns. (Heat maps typically use colors rather than filled patterns to represent values.) The respective kernels can be used as filters. For example, having an edge located at x = 0 and at least the second kernel 300( Figure 3) The vertical lines having a width on the order of magnitude of the range of () will result in the convolution of the pattern with the second core 300 having a large number of values. Thus, the use of the second core 300 allows filtering out variations in the thickness of the vertical lines (e.g., the edge roughness of the vertical lines), thereby eliminating the disturbing point defects resulting from the variations in the thickness of the vertical lines. Similarly, the horizontal lines having an edge located at y = 0 and at least a third core 400 ( Figure 4 ) The horizontal lines having a width on the order of magnitude of the range of () will result in the convolution of the pattern with the third core 400 having a large number of values. Thus, the use of the third core 400 allows filtering out variations in the thickness of the horizontal lines (e.g., the edge roughness of the horizontal lines), thereby eliminating the disturbing point defects resulting from the variations in the thickness of the horizontal lines.
[0038] A machine learning system (e.g., implemented using the instructions in Figure 13 the memory 1310) can be used to apply the context attributes to find defects and thus consume the context attributes. This machine learning system can also calculate context attributes (e.g., according to Equations 2, 3, and / or 4), which includes calculating the convolution. For example, the machine learning system generates an attribute vector.
[0039] Figure 7 is a block diagram of an anomaly detector 700 in a machine learning system according to some embodiments. The anomaly detector 700 is a machine learning model trained to classify defects. The anomaly detector 700 can be implemented as (e.g., and not limited to) a random forest (i.e., a random decision forest) or a neural network (e.g., a convolutional neural network). In some embodiments, the anomaly detector 700 is trained to distinguish the defects of interest from the disturbing point defects. The context attribute 702 (e.g., the attribute vector) and one or more signal attributes 704 are provided as inputs (e.g., as an input tuple) to the anomaly detector 700, and in response, the anomaly detector 700 provides a defect classification 706. The defect classification 706 classifies the corresponding defects detected by the optical imaging system (e.g., classified as defects of interest or disturbing point defects).
[0040] The context attribute 702 includes the convolution of the pattern of a specific patterned layer with a corresponding core and / or a function of the convolution of the pattern of a specific patterned layer with a corresponding core. For example, the context attribute 702 includes context attributes calculated using equations 2, 3, and / or 4. The signal attribute 704 (which is also referred to as the difference image attribute) is an attribute of a difference image that is generated by comparing a target image of the semiconductor die 102 obtained by an optical imaging system with a reference image of the semiconductor die 102 (e.g., by subtracting the reference image from the target image on a pixel-by-pixel basis, or vice versa). An example of the signal attribute 704 is spot similarity, which is defined as the peak (e.g., gray value) of a light spot in the difference image divided by the standard deviation of the range of the light spot. The context attribute 702 (e.g., an attribute vector) and the spot similarity (e.g., as an input tuple) can be provided to the anomaly detector 700.
[0041] The anomaly detector 700 is trained during a training process in which the context attribute 702 and the signal attribute 704 of a defect with a known classification are provided to the anomaly detector 700. In some embodiments, the defect classification 706 generated by the anomaly detector 700 is compared with the known classification, and the anomaly detector 700 is adjusted accordingly until the defect classification 706 converges with the known classification. In some embodiments, only perturbed point defects (i.e., non-defect cases) are used during the training process: the anomaly detector 700 learns the distribution of perturbed point defects in the space of the context attribute 702 and one or more signal attributes 704. During operation, the anomaly detector 700 determines whether a defect falls within this distribution (i.e., whether the context attribute 702 and the (several) signal attributes 704 of the defect fall within this distribution) and thus whether the defect is a perturbed point defect or a defect of interest. It is desirable to train the anomaly detector 700 only using perturbed point defects because the number of perturbed point defects far exceeds the number of defects of interest (which are rare by comparison).
[0042] Figure 8 is a block diagram of a spatial decomposition engine 800 in a machine learning system according to some embodiments. The spatial decomposition engine 800 is a machine learning model trained to identify regions on the semiconductor die 102 (e.g., in the layers of the semiconductor die 102). For example, the spatial decomposition engine 800 can be used to (i.e., has been trained to) identify the attention region 104 on the semiconductor die 102 ( Figure 1 ). The spatial decomposition engine 800 can be implemented as (e.g., and without limitation) a random forest (i.e., a random decision forest) or a neural network (e.g., a convolutional neural network). The context attribute 702 (e.g., an attribute vector) is provided as an input (e.g., as an input tuple) to the spatial decomposition engine 800, and in response, the spatial decomposition engine 800 performs spatial decomposition and designates distinct regions (e.g., attention regions) on the semiconductor die 102.
[0043] During the training process of the spatial decomposition engine 800, the context attributes 702 of a known region (e.g., a user identification region) are provided to the spatial decomposition engine 800. The region 804 specified by the spatial decomposition engine 800 is compared with known regions (e.g., the attentional region and the non-attentional region), and the spatial decomposition engine 800 is adjusted accordingly until convergence is achieved.
[0044] Figure 9 is a flowchart showing a method 900 for finding semiconductor defects according to some embodiments. The method 900 can be executed by a semiconductor defect identification system 1300 ( Figure 13 )). In the method 900, the context attributes for the optical imaging of the patterned layer of the semiconductor die 102 ( Figure 1 ) are calculated (902). Calculating the context attributes includes calculating the convolution of the pattern of the patterned layer with the corresponding cores of a plurality of kernels (e.g., using Equation 2 and / or 3). The plurality of kernels are orthogonal. In some embodiments, the plurality of kernels are (904) Hermite-Gaussian functions. In some other embodiments, the plurality of kernels (906) are used for the Gabor transform. These are only two examples of kernels; other examples are feasible.
[0045] The patterned layer is the first patterned layer (e.g., the current patterned layer, which is optically inspected), the pattern is the first pattern (i.e., the pattern of the first patterned layer), and the plurality of kernels are the first plurality of kernels. In some embodiments, calculating the context attributes includes calculating (908) the cross term between the convolution of the first pattern with the corresponding cores of the first plurality of kernels and the convolution of the second pattern of the second patterned layer (i.e., the layer below the current layer (e.g., immediately below the current layer)) with the corresponding cores of the second plurality of kernels (e.g., using Equation 4). The second plurality of kernels are orthogonal. For example, the second plurality of kernels are Hermite-Gaussian functions or orthogonal functions used for the Gabor transform.
[0046] Defects of the semiconductor die are found (910) based on the context attributes. For example, the context attributes are used to filter out and / or classify the defects, and / or the context attributes are used to identify the attentional region.
[0047] Figure 10 is a flowchart showing a method 1000 for finding defects according to context attributes according to some embodiments, where the context attributes are used to classify the defects. The method 1000 is an example of finding (910) defects in the method 900 ( Figure 9 ). The method 1000 can be executed by a semiconductor defect identification system 1300 ( Figure 13 ).
[0048] In the method 1000, (e.g., using the optical inspection tool 1330, Figure 13)Optically image (1002) the semiconductor die 102 to produce a target image. Compare (1004) the target image of the semiconductor die 102 with a reference image of the semiconductor die 102 to produce a difference image of the semiconductor die. Detect (1006) defects in the difference image.
[0049] Classify (1008) the defects using context attributes. In some embodiments, classify (1010) the defects as nuisance point defects or defects of interest using context attributes (e.g., classify each defect as a nuisance point defect or a defect of interest). In some embodiments, provide (1012) the context attributes to a machine learning model (e.g., anomaly detector 700, Figure 7 ) that classifies (e.g., using context attributes 702, Figure 7 ) defects. For example, the machine learning model has been trained (1014) to classify defects as nuisance point defects or defects of interest using context attributes. The machine learning model may have been trained using nuisance point defects (i.e., known nuisance point defects that may have been classified as nuisance point defects by a user) and not using defects of interest. Alternatively, the machine learning model may have been trained using both nuisance point defects and defects of interest.
[0050] In some embodiments, in addition to the context attributes, provide (1016) one or more signal attributes (e.g., (a plurality of) signal attributes 704, Figure 7 )(e.g., light spot similarity) of the difference image to the machine learning model. The machine learning model has been trained to classify defects (e.g., as nuisance point defects or defects of interest) using context attributes and one or more signal attributes.
[0051] In some embodiments, after the optical inspection is completed, classify (1010) the defects offline. For example, store the defects detected in step 1006 in a database and analyze the database offline (e.g., using a machine learning model) to classify the defects. Alternatively, classify the defects in real time during the optical inspection in step 1010, and some defects (e.g., the defects classified as nuisance point defects) are filtered out and not stored in the database, thereby saving memory.
[0052] Figure 11 is a flowchart showing a method 1100 for finding defects according to context attributes according to some embodiments, where the operation of a defect detection filter depends on context attributes. Method 1100 is an instance of finding (910) defects in method 900( Figure 9 )). Method 1100 may be performed by a semiconductor defect identification system 1300( Figure 13 ).
[0053] In method 1100, (e.g., using optical inspection tool 1330, Figure 13 ) optically image (1102) the semiconductor die 102 to generate a target image. Compare (1104) the target image of the semiconductor die 102 with a reference image of the semiconductor die 102 to generate a difference image of the semiconductor die.
[0054] Adjust (1106) a defect detection filter for different portions of the semiconductor die at least in part based on context attributes. In some embodiments, identify (1108) at least in part based on context attributes a portion (e.g., a specific region) of the semiconductor die as having a likelihood of producing disturbing point defects when optically inspected. This portion can be identified by a machine learning model (e.g., spatial decomposition engine 800, Figure 8 ) that receives context attributes (e.g., context attribute 702, Figure 8 ) as input. In response, set (1110) the defect detection filter to have a lower sensitivity for the identified portion than for other portions of the semiconductor die that are not identified as having a likelihood of producing disturbing point defects when optically inspected.
[0055] Detect (1112) defects in the difference image using the defect detection filter. For example, store (1114) a list of the detected defects in a database. Thus, fewer defects are detected in portions having a likelihood of producing disturbing point defects than in other portions (e.g., regions) of the semiconductor die, thereby filtering out disturbing point defects and causing fewer disturbing point defects to be stored in the list, which saves memory. Subsequently, the defects in the stored list can be classified (e.g., as in step 1008 of method 1000 as Figure 10 ).
[0056] Figure 12 is a flowchart showing method 1200 for finding defects according to context attributes in accordance with some embodiments. Method 1200 is an instance of finding (910) defects in method 900 ( Figure 9 ). Method 1200 can be performed by semiconductor defect identification system 1300 ( Figure 13 ).
[0057] In method 1200, identify (1202) regions of interest 104 on the semiconductor die 102 using context attributes ( Figure 1 ). For example, identify regions of interest 104 using a machine learning model (e.g., spatial decomposition engine 800, Figure 8 ).
[0058] Optically inspect (1204) the semiconductor die 102 for defects. Inspect the region of interest 104 using a first inspection mode and inspect the regions of the semiconductor die outside the region of interest 104 using a second inspection mode different from the first inspection mode. The first inspection mode can be more sensitive than the second inspection mode, thus increasing the probability of detecting the defects of interest in the region of interest 104 while reducing the number of nuisance point defects detected in other regions.
[0059] In some embodiments, to optically inspect (1204) the semiconductor die 102, (e.g., using the optical inspection tool 1330, Figure 13 ) optically image (1206) the semiconductor die 102 to generate a target image. Compare (1208) the target image of the semiconductor die 102 with a reference image of the semiconductor die to generate a difference image of the semiconductor die. Detect (1210) defects in the difference image using a defect detection filter. The sensitivity of the defect detection filter is higher in the first inspection mode than in the second inspection mode. For example, adjust the defect detection filter as in step 1106 of method 1100 ( Figure 11 ).
[0060] Method 1200 can be combined with method 1000 ( Figure 10 ) and / or 1100 ( Figure 11 ).
[0061] Figure 13 is a block diagram of a semiconductor defect identification system 1300 according to some embodiments. The semiconductor defect identification system 1300 includes an optical inspection tool 1330 and a computer system having one or more processors 1302 (e.g., a CPU), a user interface 1306, a memory 1310, and (a) communication bus(es) 1304 interconnecting these components. In some embodiments, the optical inspection tool 1330 is communicatively coupled to the computer system via one or more wired and / or wireless networks. In some embodiments, the semiconductor defect identification system 1300 includes multiple optical inspection tools 1330 communicatively coupled to the computer system. The computer system may further include one or more wired and / or wireless network interfaces for communicating with the (a) optical inspection tool(s) 1330 and / or a remote computer system.
[0062] The user interface 1306 may include a display 1307 and one or more input devices 1308 (e.g., a keyboard, a mouse, a touch-sensitive surface of the display 1307, etc.). The display 1307 may display results including defect detection and / or defect classification results.
[0063] Memory 1310 includes volatile and / or non-volatile memory. Memory 1310 (e.g., the non-volatile memory within memory 1310) includes a non-transitory computer-readable storage medium. Memory 1310 optionally includes one or more storage devices remotely located from processor 1302 and / or a non-transitory computer-readable storage medium removably inserted into system 1300. Memory 1310 (e.g., the non-transitory computer-readable storage medium of memory 1310) includes instructions for performing method 900( Figure 9 )(including, for example, method 1000( Figure 10 ), 1100( Figure 11 ) and / or 1200( Figure 12 )). The computer system of semiconductor defect identification system 1300 can be implemented by executing the instructions stored in memory 1310 Figure 7 and / or the machine learning system of 8.
[0064] In some embodiments, memory 1310 (e.g., the non-transitory computer-readable storage medium of memory 1310) stores the following modules and data or subsets or supersets thereof: an operating system 1312 that includes programs for handling various basic system services and for performing hardware-dependent tasks; a context attribute module 1314 that is used to calculate context attributes (e.g., context attribute 702, Figures 7 to 8 ); and a defect finding module 1316 that is used to perform defect detection on semiconductor die 102 of semiconductor wafer 100( Figure 1 ). The context attribute module 1314 includes instructions for calculating the convolution of the pattern of the patterned layer with the respective cores of a plurality of orthogonal cores (e.g., instructions for performing Figure 9 step 902 in method 900). In some embodiments, the defect finding module 1316 includes an attention area determination module 1318 (e.g., having instructions for performing Figure 12 step 1202 of method 1200), an optical imaging module 1320 (e.g., having instructions for performing Figures 10 to 12 steps 1002, 1102 and / or 1206 of methods 1000, 1100 and 1200), a defect detection module 1322 (e.g., having instructions for performing Figure 10 steps 1004 and 1006 of method 1000, for performing Figure 11 steps 1104, 1106, 1112 of method 1100 and / or for performing Figure 12 steps 1208 and 1210 of method 1200) and a defect classification module 1324 (e.g., having instructions for performing Figure 10 step 1008 of method 1000).
[0065] Each module stored in the memory 1310 corresponds to an instruction set for performing one or more functions described herein. The individual modules need not be implemented as separate software programs. The modules and various subsets of the modules may be combined or otherwise reconfigured. In some embodiments, the memory 1310 stores a subset or superset of the modules and / or data structures identified above.
[0066] As compared to being a structural diagram, Figure 13 it is intended to be more of a functional description of the various features that may exist in a semiconductor defect identification system. For example, the functionality of the computer system in the semiconductor defect identification system 1300 may be divided among multiple devices. A portion of the modules stored in the memory 1310 may alternatively be stored in one or more other computer systems communicatively coupled to the computer system of the semiconductor defect identification system 1300 via one or more networks.
[0067] For explanatory purposes, the foregoing description has been made with reference to specific embodiments. However, the foregoing illustrative discussion is not intended to be exhaustive or to limit the scope of the claims to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen in order to best explain the principles underlying the claims and their practical application so as to enable others skilled in the art to best utilize the embodiments with various modifications as are suited to the particular use contemplated.
Claims
1. A method, comprising: Calculating context attributes for optical imaging of a patterned layer of a semiconductor die, including calculating a convolution of the pattern of the patterned layer with corresponding cores of a plurality of cores, wherein the plurality of cores are orthogonal; And Finding defects on the semiconductor die based on the context attributes, including: Optically imaging the semiconductor die to generate a target image; Comparing the target image of the semiconductor die with a reference image of the semiconductor die to generate a difference image of the semiconductor die; Adjusting a defect detection filter for different parts of the semiconductor die at least in part based on the context attributes; Detecting defects in the difference image using the defect detection filter; and Storing a list of the detected defects.
2. The method according to claim 1, wherein the plurality of cores are Hermite-Gaussian functions.
3. The method according to claim 1, wherein the plurality of cores are used for a Gabor transform.
4. The method according to claim 1, wherein: The patterned layer is a first patterned layer; The pattern is a first pattern; The plurality of cores are a first plurality of cores; Calculating the context attributes further includes calculating a cross term between a convolution of the first pattern with corresponding cores of the first plurality of cores and a convolution of a second pattern of a second patterned layer of the semiconductor die with corresponding cores of a second plurality of cores; and The second plurality of cores are orthogonal.
5. The method according to claim 1, wherein finding defects on the semiconductor die based on the context attributes further includes: Classifying the detected defects using the context attributes.
6. The method according to claim 5, wherein the classification includes classifying the detected defects as disturbing point defects or defects of interest using the context attributes.
7. The method according to claim 6, wherein the classification includes providing the context attributes to a machine learning model trained to classify the detected defects as disturbing point defects or defects of interest using the context attributes.
8. The method according to claim 7, wherein the machine learning model is trained using disturbing point defects.
9. The method according to claim 7, wherein: The classification further includes providing one or more signal attributes of the difference image to the machine learning model; and The machine learning model is trained to classify the detected defects as disturbing point defects or defects of interest using the context attributes and the one or more signal attributes.
10. The method according to claim 5, wherein the classification is performed offline after optically imaging the semiconductor die.
11. The method according to claim 1, wherein adjusting the defect detection filter at least in part based on the context attributes includes: Identifying at least in part based on the context attributes a portion of the semiconductor die as having a likelihood of generating disturbing point defects upon optical inspection; And Set the defect detection filter to have a lower sensitivity for the identified portion than for other portions of the semiconductor die not identified as having the likelihood of generating disturbing point defects upon optical inspection.
12. The method according to claim 1, wherein: Finding defects on the semiconductor die based on the context attribute includes using the context attribute to identify regions of interest on the semiconductor die; and Adjusting the defect detection filter includes using a first inspection mode for the regions of interest and a second inspection mode different from the first inspection mode for regions of the semiconductor die outside the regions of interest.
13. The method according to claim 12, wherein the sensitivity of the defect detection filter is higher in the first inspection mode than in the second inspection mode.
14. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a system including an optical inspection tool, the one or more programs including instructions for: Calculating context attributes for optical imaging of a patterned layer of a semiconductor die, including calculating a convolution of the pattern of the patterned layer with respective cores of a plurality of cores, wherein the plurality of cores are orthogonal; and Using the optical inspection tool to find defects on the semiconductor die based on the context attribute, wherein the instructions for using the optical inspection tool to find defects on the semiconductor die based on the context attribute include instructions for: Optically imaging the semiconductor die to generate a target image; Comparing the target image of the semiconductor die with a reference image of the semiconductor die to generate a difference image of the semiconductor die; Adjusting a defect detection filter for different portions of the semiconductor die at least in part based on the context attribute; Using the defect detection filter to detect defects in the difference image; and Storing a list of the detected defects.
15. The non-transitory computer-readable storage medium according to claim 14, wherein the instructions for using the optical inspection tool to find defects on the semiconductor die based on the context attribute further include instructions for: Classifying the detected defects using the context attribute.
16. The non-transitory computer-readable storage medium according to claim 15, wherein the instructions for classifying the detected defects include instructions for classifying the detected defects as disturbing point defects or defects of interest using the context attribute.
17. The non-transitory computer-readable storage medium according to claim 16, wherein the instructions for classifying the detected defects include instructions for providing the context attribute to a machine learning model trained to classify the detected defects as disturbing point defects or defects of interest using the context attribute.
18. The non-transitory computer-readable storage medium according to claim 14, wherein the instructions for using the optical inspection tool to find defects on the semiconductor die according to the context attributes further include instructions for using the context attributes to identify regions of interest on the semiconductor die; and The instructions for adjusting the defect detection filter include instructions for using a first inspection mode for the regions of interest and a second inspection mode different from the first inspection mode for regions of the semiconductor die outside the regions of interest.
19. The non-transitory computer-readable storage medium according to claim 18, wherein the sensitivity of the defect detection filter is higher in the first inspection mode than in the second inspection mode.
20. A system, comprising: An optical inspection tool; One or more processors; And A memory that stores one or more programs for execution by the one or more processors, the one or more programs including instructions for: Calculating context attributes for optical imaging of a patterned layer of a semiconductor die, including calculating the convolution of the pattern of the patterned layer with respective cores of a plurality of cores, wherein the plurality of cores are orthogonal; and Using the optical inspection tool to find defects on the semiconductor die according to the context attributes, Wherein the instructions for using the optical inspection tool to find defects on the semiconductor die according to the context attributes include the following instructions for: Optically imaging the semiconductor die to generate a target image; Comparing the target image of the semiconductor die with a reference image of the semiconductor die to generate a difference image of the semiconductor die; Adjusting a defect detection filter for different parts of the semiconductor die at least in part based on the context attributes; Using the defect detection filter to detect defects in the difference image; And Storing a list of the detected defects.
21. The system according to claim 20, wherein the instructions for using the optical inspection tool to find defects on the semiconductor die according to the context attributes further include the following instructions for: Classifying the detected defects using the context attributes.
22. The system according to claim 21, wherein the instructions for classifying the detected defects include instructions for classifying the detected defects as disturbing point defects or defects of interest using the context attributes.
23. The system according to claim 22, wherein the instructions for classifying the detected defects include instructions for providing the context attributes to a machine learning model trained to classify the detected defects as disturbing point defects or defects of interest using the context attributes.
24. The system according to claim 20, wherein: The instructions for using the optical inspection tool to find defects on the semiconductor die according to the context attributes further include instructions for using the context attributes to identify regions of interest on the semiconductor die; And The instructions for adjusting the defect detection filter include instructions for using a first inspection mode for the region of interest and a second inspection mode different from the first inspection mode for regions of the semiconductor die outside the region of interest.
25. The system according to claim 24, wherein the sensitivity of the defect detection filter is higher in the first inspection mode than in the second inspection mode.
26. A method, comprising: calculating context attributes for optical imaging of a first patterned layer of a semiconductor die, comprising: calculating the convolution of the first pattern of the first patterned layer with respective cores of a first plurality of cores, wherein the first plurality of cores are orthogonal; and calculating a cross term between the convolution of the first pattern with respective cores of the first plurality of cores and the convolution of a second pattern of a second patterned layer of the semiconductor die with respective cores of a second plurality of cores, wherein the second plurality of cores are orthogonal; and finding defects on the semiconductor die based on the context attributes.
Citation Information
Patent Citations
Inspection apparatus and inspection method
EP3518041A1
Harmonic resist model for use in a lithographic apparatus and a device manufacturing method
US20100128969A1
Feature Detection in Numeric Data
US20130308860A1
Image based specimen process control
US20170200264A1
Optimization based on machine learning
US20180314163A1