How to automatically find the extent of repeating geometry in integrated circuit layouts
Patent Information
- Application Number
- JP2026514957
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-07
- Filing Date
- 2024-09-05
- Publication Date
- 2026-10-14
AI Technical Summary
【0015】 本発明のさらなる利点は、以下の好ましい実施形態の詳細な説明および添付の図面を参照することにより、当業者には明らかとなるであろう。
Smart Images

Figure 2026534013000001_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to a method and system for determining information related to areas having unknown patterns and repetitions of unknown patterns. Certain embodiments relate to a method for automatically finding the extents of repeating geometries in an integrated circuit layout.
Background Art
[0002] The following description and examples are not admitted to be prior art by virtue of their inclusion in this section.
[0003] Inspection processes are used at various steps of the semiconductor manufacturing process to detect defects on reticles and wafers, thereby increasing yield in the manufacturing process and thus facilitating increased profitability. Inspection has always been a critical part of semiconductor device manufacturing. However, as the dimensions of semiconductor devices shrink, smaller defects can potentially cause device failures, making inspection even more critical for successfully manufacturing acceptable semiconductor devices.
[0004] What is commonly referred to in the art as a "care area" is an area on a sample that is of interest for inspection purposes. In some cases, care areas are used to distinguish between areas on the sample that are inspected and areas on the sample that are not inspected during an inspection process. Furthermore, care areas may be used to distinguish areas on the sample that are inspected using one or more different parameters. For example, if a first area of a sample is more critical than a second area on the sample, the first area may be inspected with higher sensitivity than the second area such that defects are detected with higher sensitivity in the first area. Other parameters of the inspection process can also be varied for each care area in a similar manner.
[0005] While the concept of a care area is relatively simple, defining a care area is becoming increasingly difficult due to advances in semiconductor design, in addition to other potential obstacles to care area definition. One simple but difficult-to-avoid problem is that the system, method, or user setting up the inspection process may not have access to appropriate design information for the sample. Thus, what structures are formed on the sample and how they can be inspected may have to be determined entirely from inspection system images that do not typically produce images in which the sample's structure is resolved and accurately identifiable, and / or from limited design information that may not contain all the information necessary to set up an appropriate inspection recipe. One more complex problem is the impact of various design features on the inspection system image. For example, different design structures may result in different levels of noise in the inspection system image of the sample, and ideally, the inspection recipe should be designed to adapt to accurately detect defects with the highest possible sensitivity despite the noise.
[0006] One way to address noise in inspection images and its impact on defect detection is to use array-mode inspection whenever possible. For example, array-mode inspection leverages the repeatability of memory array structures by comparing images of different (often adjacent) repeating structures (often called "cells") within a memory array, and then detecting defects based on the resulting difference image. Since the repeating structures in the memory array that can be used to generate the difference image are formed in very close proximity on the sample, the images of the repeating structures should have substantially similar noise that cancels out by subtracting the images. Thus, the resulting difference image is quieter (less noisy) and can be inspected with higher sensitivity (e.g., a lower threshold) than noisy difference images, such as difference images generated by subtracting images from different dies on the sample.
[0007] Memory areas can be assumed to contain repeating structures and are relatively easy to find (even if the inspection image contains little pattern information and the design data available for inspection setup is relatively limited), while finding repeating structures in other areas formed on the sample is far more difficult. In particular, determining whether there is repeating structure geometry in logic areas on the sample is far more difficult than finding array areas on the sample. Because this process is complex, finding logic repeating structures that can be inspected in array mode is often done manually by the user and only when design data is available for inspection setup. For example, nowadays, a user may pre-process an integrated circuit (IC) layout to draw bounding boxes around repeating geometry. Once the bounding boxes are created, the design hierarchy can be used to determine the areas for array mode inspection.
[0008] Therefore, there are several obvious drawbacks to setting up such array-mode care areas. For example, the currently used method requires the user to have prior knowledge of the IC layout, and the layout must be captured using hierarchical blocks. Users of inspection tools typically do not have much information about the IC design. The layout used for inspection settings usually obfuscates the design hierarchy. Therefore, automated techniques are needed to determine the repeating geometries and their extents. [Prior art documents] [Patent Documents]
[0009] [Patent Document 1] U.S. Patent No. 7,570,796 [Patent Document 2] U.S. Patent No. 7,676,077 [Patent Document 3] U.S. Patent No. 8,664,594 [Patent Document 4] U.S. Patent No. 8,692,204 [Patent Document 5] U.S. Patent No. 8,698,093 [Patent Document 6] U.S. Patent No. 8,716,662 [Patent Document 7] U.S. Patent No. 8,126,255 [Patent Document 8] U.S. Patent No. 9,222,895 [Overview of the Initiative] [Problems that the invention aims to solve]
[0010] Therefore, it is advantageous to develop systems and methods for determining information about areas with unknown patterns and repetitions of unknown patterns without having one or more of the aforementioned drawbacks. [Means for solving the problem]
[0011] The following description of various embodiments should not be construed as limiting the subject matter of the attached claims.
[0012] One embodiment relates to a system configured to determine information regarding an area having an unknown pattern and repetitions of the unknown pattern. The system includes one or more computer systems configured to detect a first polygon and a second polygon in a first row and a second row, respectively, in a sample design. The first row has a first dimension extending in a first direction perpendicular to the edge of a known area in the design, from the inner boundary to the outer boundary of the first row. The second row has a first dimension extending in a first direction from the outer boundary of the first row to the outer boundary of the second row. The computer systems are also configured to determine a first repetition pitch and a second repetition pitch between the first polygon and the second polygon, respectively. If the first and second repetition pitches are different from each other, the computer systems are configured to determine the outer boundary of the area having the unknown pattern and repetitions of the unknown pattern as the outer boundary of the first row. The system may be further configured as described herein.
[0013] Another embodiment relates to a computer implementation method for determining information about an unknown pattern and an area having repetitions of the unknown pattern. The method includes detecting, determining a first repeating pitch and a second repeating pitch, and determining the aforementioned outer boundary. The steps of the method are performed by one or more computer systems. The steps of the method may be further performed as described herein. The method may include any other steps of any other method described herein. The method may be performed by any of the systems described herein.
[0014] Additional embodiments relate to a non-transitory computer-readable medium storing program instructions executable on a computer system for performing a computer-implemented method for determining information related to an area having an unknown pattern and repetitions of the unknown pattern. The computer-implemented method includes the steps of the aforementioned method. The computer-readable medium may be further configured as described herein. The steps of the computer-implemented method may be performed as further described herein. Furthermore, the computer-implemented method executable by the program instructions may include any other steps of any other method herein.
[0015] Further advantages of the present invention will become apparent to those skilled in the art by reference to the following detailed description of the preferred embodiments and the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] [Figure 1] FIG. 2 is a schematic diagram showing a side view of an embodiment of a system configured as described herein. [Figure 2] FIG. 3 is a schematic diagram showing a side view of an embodiment of a system configured as described herein. [Figure 3] FIG. 4 is a schematic diagram showing a plan view of an example of a memory area and a repetitive logic region that may be formed on a sample. [Figure 4] FIG. 5 is a schematic diagram showing an embodiment of a known area in the design of a sample that can be used to determine information about an area having an unknown pattern and repetitions of the unknown pattern, and plan views of first, second, and third rows with a source area shown in one of the rows. [Figure 5] FIG. 6 is a flowchart illustrating an embodiment of a method for determining information about an area having an unknown pattern and repetitions of the unknown pattern. [Figure 6] FIG. 7 is a block diagram illustrating one embodiment of a non-transitory computer-readable medium storing program instructions for causing a computer system to perform the computer-implemented methods described herein. [Modes for carrying out the invention]
[0017] While the invention is capable of various modifications and alternative forms, specific embodiments are shown as examples in the drawings and described in detail herein. The drawings may not be to scale. However, it should be understood that the drawings and their detailed description are not intended to limit the invention to any particular form disclosed, but rather to cover all modifications, equivalents, and alternatives that fall within the spirit and scope of the invention as defined by the appended claims.
[0018] The terms “design,” “design data,” and “design information,” as used interchangeably herein, typically refer to the physical design (layout) of an IC or other semiconductor device and the data derived from the physical design through complex simulations or simple geometric and Boolean operations. The design may include any other design data or design data proxies described in U.S. Patent No. 7,570,796, jointly owned, issued to Zafar et al. on 4 August 2009, and U.S. Patent No. 7,676,077, issued to Kulkarni et al. on 9 March 2010, both of which are incorporated herein by reference as if they were fully described herein. Furthermore, the design data may include standard cell library data, integrated layout data, design data for one or more layers, derivatives of design data, and complete or partial chip design data. Furthermore, the terms “design,” “design data,” and “design information” as used herein refer to information and data generated by the designer of a semiconductor device during the design process, and are therefore available in the embodiments described herein well before the design is printed onto a physical sample such as a reticle or wafer.
[0019] Next, looking at the drawings, please note that they are not drawn to actual scale. In particular, the scale of some of the elements in the drawings is greatly exaggerated to emphasize the characteristics of the elements. Please also note that the drawings are not drawn to the same scale. Elements that may be similarly configured and shown in multiple drawings are indicated using the same reference number. Unless otherwise specified herein, the elements described and shown may include any suitable commercially available elements.
[0020] One embodiment relates to a system configured to determine information about areas having unknown patterns and repetitions of unknown patterns. The embodiments described herein can be advantageously used to automatically find the extent of repeating geometry in an integrated circuit (IC) layout. As further described herein, determining the extent of repeating geometry in an IC layout can improve the processes performed on specimens in which such geometry is formed. For example, the sensitivity of the inspection process can be increased in areas where repeating geometry is found, which is advantageous for several reasons further described herein. Currently, finding the extent of repeating geometry in areas such as logic areas has several drawbacks, including requiring a great deal of manual work, reducing the accuracy of the method and increasing the time required. The embodiments described herein overcome such drawbacks by providing a novel method for automatically and accurately finding the extent of repeating geometry.
[0021] Optical (and sometimes other) inspection systems employ two main modes of defect detection: (1) array, which works by comparing repeating geometries (cells) present within the same die, and (2) random, which compares the same area on different dies. Array mode effectively reduces noise and allows for the detection of defects that would otherwise be missed by random inspection. Currently, array mode inspection is primarily used for memory and relatively small logic areas.
[0022] To perform array-mode inspection, an array care area or outline must be created to identify repeating cells. For memory structures, the outline layer around them is helpful in creating the array care area. However, for logic regions, outlines that identify repeating patterns are not available. Current methods for creating array care areas require the user to know the location of repeating structures in the design. The user draws outlines around the repeating structures, and these outlines are used by the method or system to identify repeating cells within the outlines. Since most of the designs used for inspection are processed for mask preparation, the design information is obfuscated. Typically, the only information available is the polygon structure and the outline of the memory. Therefore, a general method is needed to find repeating patterns in logic regions without relying on outline layers or design hierarchy information. Embodiments described herein provide a novel technique for determining repeating areas within logic regions.
[0023] In some embodiments, the sample is a wafer. The wafer may include any wafer known in the semiconductor field. While several embodiments may be described herein with respect to one or more wafers, the embodiments are not limited to the samples in which they can be used. For example, the embodiments described herein may be used for samples such as reticles, flat panels, personal computer (PC) boards, and other semiconductor samples.
[0024] One embodiment of such a system is shown in Figure 1. The system includes a computer system, for example, computer system 36 and / or one or more computer systems 102. In some embodiments, the system includes an imaging subsystem 10 which may be configured as one of the types of imaging subsystems described herein, such as an inspection, measurement, or defect review subsystem, which may include computer system 36 and / or one or more computer systems 102 and / or be coupled thereto.
[0025] The terms “imaging system” and “imaging subsystem” are used interchangeably herein and typically refer to hardware configured to produce an image of a sample. Generally, the imaging subsystem described herein includes at least an energy source and a detector. The energy source is configured to generate energy directed towards the sample. The detector is configured to detect energy from the sample and to produce an output in accordance with the detected energy.
[0026] In an optical imaging subsystem, the energy directed towards the sample includes light, and the energy detected from the sample also includes light. For example, as shown in Figure 1, the imaging subsystem includes an illumination subsystem configured to illuminate the sample 14 with light. The illumination subsystem includes at least one light source, e.g., light source 16. The illumination subsystem is configured to illuminate the sample with light at one or more angles of incidence, which may include one or more oblique angles and / or one or more normal angles. For example, as shown in Figure 1, light from light source 16 passes through an optical element 18 and illuminates the sample 14 via lens 20 at an oblique angle of incidence. The oblique angle of incidence may include any suitable angle of incidence, which may vary depending on, for example, the characteristics of the sample, defects detected on the sample, or the characteristics of the sample being measured.
[0027] The illumination subsystem may be configured to irradiate the sample with light at different angles of incidence. For example, the imaging subsystem may be configured to change one or more parameters of one or more elements of the illumination subsystem so that light can irradiate the sample with different angles of incidence than those shown in Figure 1. In such an example, the imaging subsystem may be configured to move the light source 16, optical element 18, and lens 20 so that light irradiates the sample with different oblique angles of incidence, or angles of incidence that are normal (or nearly normal). The illumination subsystem may have any other suitable configuration known in the art for irradiating the sample with light sequentially or simultaneously at one or more angles of incidence.
[0028] The illumination subsystem can also be configured to irradiate the sample with light having different properties. For example, the optical element 18 may be configured as a spectral filter, and the properties of the spectral filter can be changed in various ways (for example, by swapping one spectral filter with another spectral filter) to irradiate the sample with light of different wavelengths at different times.
[0029] Light source 16 may include a broadband plasma (BBP) light source. In this way, the light generated by the light source and irradiated onto the sample may include broadband light. However, the light source may include any other suitable light source, such as any suitable laser known in the art, configured to generate light at any suitable wavelength. Furthermore, the laser may be configured to generate monochromatic or nearly monochromatic light. Thus, the laser may be a narrowband laser. The light source may also include a polychromatic light source that generates light at multiple distinct wavelengths or wavelength bands.
[0030] Light from the optical element 18 can be focused onto the sample 14 by the lens 20. Although the lens 20 is shown as a single refractive optical element in Figure 1, in practice the lens 20 may include multiple refractive and / or reflective optical elements, which are combined to focus light from the optical elements onto the sample. The illumination subsystem shown in Figure 1 and described herein may include any other suitable optical elements (not shown). Examples of such optical elements include, but are not limited to, polarizers, spectral filters, spatial filters, reflective optical elements, apodizers, beam splitters, apertures, and any other suitable optical elements known in the art. Furthermore, the system may be configured to modify one or more elements of the illumination subsystem based on the type of illumination used for imaging.
[0031] The imaging subsystem may also include a scanning subsystem configured to change the position on the sample from which light is irradiated and the position on the sample from which light is detected, and may optionally be configured to scan the sample. For example, the imaging subsystem may include a stage 22 on which the sample 14 is positioned during imaging. The scanning subsystem may include any suitable mechanical and / or robotic assembly (including the stage 22) that can be configured to move the sample so that light is irradiated to different positions on the sample and detected from there. Furthermore, or alternatively, the imaging subsystem may be configured so that one or more optical elements of the imaging subsystem perform a scan of light on the sample so that light is irradiated to different positions on the sample and detected from there. The light can scan the sample in any suitable way, such as a meandering path or a helical path.
[0032] The imaging subsystem includes one or more detection channels. At least one of the detection channels includes a detector configured to detect light from a sample due to illumination of the sample by the system and to produce an output in response to the detected light. The imaging subsystem shown in Figure 1 includes two detection channels, one formed by a collector 24, an element 26, and a detector 28, and the other formed by a collector 30, an element 32, and a detector 34. The two detection channels are configured to collect and detect light at different collection angles. In some cases, both detection channels are configured to detect scattered light, and the detection channels are configured to detect light scattered from the sample at different angles. However, one or more of the detection channels may be configured to detect another type of light from the sample (e.g., reflected light).
[0033] In Figure 1, both detection channels are shown to be positioned in the plane of the paper, and the illumination subsystem is also shown to be positioned in the plane of the paper. Thus, in this embodiment, both detection channels are positioned within the plane of incidence (for example, at the center). However, one or more of the detection channels may be positioned outside the plane of incidence. For example, a detection channel formed by the collector 30, element 32, and detector 34 may be configured to collect and detect light scattered from outside the plane of incidence. Thus, such a detection channel may commonly be called a “side” channel, and such a side channel may be positioned at the center in a plane substantially perpendicular to the plane of incidence.
[0034] Figure 1 shows an embodiment of an imaging subsystem including two detection channels, but the imaging subsystem may include a different number of detection channels (e.g., only one detection channel or two or more detection channels). The detection channel formed by the collector 30, element 32, and detector 34 may form one side channel as described above, and the imaging subsystem may include an additional detection channel (not shown) formed as another side channel located on the opposite side of the incident plane. Thus, the imaging subsystem may include a detection channel including the collector 24, element 26, and detector 28, located in the center of the incident plane and configured to collect and detect light at a scattering angle normal to or close to the normal to the sample surface. Thus, this detection channel may commonly be called the “top” channel, and the imaging subsystem may also include two or more side channels configured as described above. Thus, the imaging subsystem may include at least three channels (i.e., one top channel and two side channels), each of the at least three channels configured to collect light at a scattering angle different from each of the other collectors.
[0035] As further explained above, one or more of the detection channels may be configured to detect scattered light. Thus, the imaging subsystem shown in Figure 1 may be configured for dark-field (DF) imaging. However, the imaging subsystem may also include, or alternatively include, detection channels configured for bright-field (BF) imaging. Thus, the imaging subsystems described herein may be configured for DF only, BF only, or both DF and BF imaging. Although each collector is shown as a single refractive optical element in Figure 1, each collector may include refractive optical elements and / or reflective optical elements.
[0036] One or more detection channels may include any suitable detector known in the art, such as photomultiplier tubes (PMTs), charge-coupled devices (CCDs), and time-delay integral (TDI) cameras. Detectors may also include non-imaging detectors or imaging detectors. If the detectors are non-imaging detectors, each detector may be configured to detect certain properties of light, such as intensity, but not necessarily as a function of position in the imaging plane. Thus, the output produced by each detector within each detection channel may be a signal or data, but not an image signal or image data. In such cases, the computer system may be configured to generate an image of the sample from the non-imaging output of the detectors. However, in other cases, the detectors may be configured as imaging detectors configured to generate imaging signals or image data. Thus, the imaging subsystem may be configured to generate images in a variety of ways.
[0037] The computer system 36 may be coupled to the detector of the imaging subsystem in any suitable way (for example, via one or more transmission media, which may include "wired" and / or "wireless" transmission media) so that the computer system can receive the output generated by the detector. The computer system 36 may be configured to perform several functions using the output of the detector, as further described herein. The computer system 36 may be further configured as described herein.
[0038] Computer system 36 (and other computer systems described herein) are also referred to herein as computer subsystems. Each of the computer subsystems or systems described herein may take various forms, including personal computer systems, image computers, mainframe computer systems, workstations, network appliances, internet appliances, or other devices. Generally, the term “computer system” can be broadly defined to encompass any device having one or more processors that execute instructions from a memory medium. A computer subsystem or system may also include any suitable processor known in the art, such as a parallel processor. Furthermore, a computer subsystem or system may include a computer platform having high-speed processing and software, either as a standalone or network tool.
[0039] If the system includes multiple computer systems, the different computer systems can be coupled to each other so that images, data, information, instructions, etc., can be transmitted between them. For example, computer system 36 can be coupled to computer system 102 by any suitable transmission medium, as shown by the dashed line in Figure 1. This may include any suitable wired and / or wireless transmission medium known in the art. Two or more such computer systems may be effectively coupled by a shared computer-readable storage medium (not shown).
[0040] In an electron beam imaging subsystem, the energy directed at the sample includes electrons, and the energy detected from the sample also includes electrons. In one such embodiment shown in Figure 2, the imaging subsystem includes an electron column 122, and the system includes a computer system 124 coupled to the imaging subsystem. The computer system 124 may be configured as described above. Furthermore, such an imaging subsystem may be coupled to one or more other computer systems in the same manner as described above and shown in Figure 1.
[0041] As shown in Figure 2, the electron column includes an electron beam source 126 configured to generate electrons focused onto a sample 128 by one or more elements 130. The electron beam source may include, for example, a cathode source or an emitter tip, and the one or more elements 130 may include, for example, a gun lens, an anode, a beam limiting aperture, a gate valve, a beam current selecting aperture, an objective lens, and a scanning subsystem, all of which may include any suitable elements known in the art.
[0042] Electrons returning from the sample (e.g., secondary electrons) can be focused to the detector 134 by one or more elements 132. One or more elements 132 may include, for example, a scanning subsystem, which may be the same as the scanning subsystem included in element 130.
[0043] The electronic column may include any other suitable elements known in the art. Furthermore, the electronic column may be further configured as described in U.S. Patent No. 8,664,594 issued to Jiang et al. on April 4, 2014, U.S. Patent No. 8,692,204 issued to Kojima et al. on April 8, 2014, U.S. Patent No. 8,698,093 issued to Gubbens et al. on April 15, 2014, and U.S. Patent No. 8,716,662 issued to MacDonald et al. on May 6, 2014, which are incorporated herein by reference as if they were fully described herein.
[0044] In Figure 2, the electron column is shown configured such that electrons are irradiated onto the sample at an oblique angle of incidence and scattered from the sample at another oblique angle; however, the electron beam may be irradiated onto the sample at any suitable angle and scattered from the sample. Furthermore, the electron beam imaging subsystem may be configured to use multiple modes to generate the output of the sample (e.g., different illumination angles, acquisition angles, etc.), as will be further described herein. Multiple modes of the electron beam imaging subsystem may have different output generation parameters for the imaging subsystem.
[0045] The computer system 124 may be coupled to the detector 134 as described above. The detector detects electrons returning from the surface of the sample, thereby forming an electron beam image (or other output of the sample) of the sample. The electron beam image may include any suitable electron beam image. The computer system 124 may be configured to perform any of the steps described herein. The system, including the imaging subsystem shown in Figure 2, may be further configured as described herein.
[0046] Figures 1 and 2 are provided herein to schematically illustrate the configuration of an imaging subsystem that may be included in embodiments of the system described herein. Obviously, the configuration of the imaging subsystem described herein may be modified to optimize the performance of the imaging subsystem, as is typically done when designing commercially available imaging systems. Furthermore, the system described herein may be implemented using existing imaging subsystems, such as tools commercially available from KLA Corp. in Milpitas, California (for example, by adding the functions described herein to an existing inspection system). In some such systems, the methods described herein may be provided as optional features of the imaging subsystem (for example, in addition to other functions of the imaging system). Alternatively, the imaging system described herein may be designed "from scratch" to provide an entirely new system.
[0047] Although the imaging subsystem has been described above as an optical or electron beam imaging subsystem, it may also be an ion beam imaging subsystem. Such an imaging subsystem may be configured as shown in Figure 2, except that the electron beam source can be replaced with any suitable ion beam source known in the art. Furthermore, the imaging subsystem may include any other suitable ion beam system, such as commercially available focused ion beam (FIB) systems, helium ion microscope (HIM) systems, and secondary ion mass spectrometry (SIMS) systems.
[0048] An imaging subsystem can be configured to generate outputs, such as images of a sample, in multiple modes. Generally, a "mode" is defined by the value of a parameter in the imaging subsystem used to generate an image of the sample (or the output used to generate an image of the sample). Therefore, modes may differ in the value of at least one parameter of the imaging subsystem (other than the position on the sample where the output is generated). For example, modes may differ in one or more modifiable parameters of the imaging subsystem (e.g., illumination polarization, angle, wavelength, etc.; detection polarization, angle, wavelength, etc.). An imaging subsystem may be configured to scan a sample in different modes in the same or different scans, for example, depending on its ability to use multiple modes to scan a sample simultaneously.
[0049] Similarly, an electron beam subsystem may be configured to produce images in two or more modes, which can be defined by the values of the electron beam subsystem parameters used to generate images of the sample. Therefore, at least one of the electron beam parameters of the electron beam subsystem may differ between modes. For example, different modes may use different incident angles for illumination.
[0050] The imaging subsystems described herein may be configured as inspection systems, measurement systems, and / or defect review systems. For example, the embodiments of the imaging subsystems shown in Figures 1 and 2 may be modified in one or more parameters to provide different imaging capabilities depending on the application in which they are used. In such an example, when used for measurement rather than inspection, the imaging subsystem may be configured to have a higher resolution. In other words, the embodiments of the imaging subsystems shown in Figures 1 and 2 illustrate a variety of common configurations of the imaging subsystems that can be adjusted in a variety of ways that will be apparent to those skilled in the art in order to create systems with a variety of imaging capabilities that are more or less suitable for a variety of applications.
[0051] In this way, the imaging subsystem may be configured to produce an output suitable for detecting or redetecting defects on a sample in the case of an inspection system or a defect review system, respectively, and for measuring one or more characteristics of a sample in the case of a measurement system. In an inspection system, the computer system 36 shown in Figure 1 may be configured to detect defects on a sample 14 by applying a defect detection method or algorithm to the output generated by one or more detectors. In a defect review system, the computer system 124 shown in Figure 2 may be configured to redetect defects on a sample 128 by applying a defect redetection method to the output generated by a detector 134, and optionally determining additional information about the redetected defects using the output generated by the detectors. In a measurement system, the computer system 36 shown in Figure 1 may be configured to determine one or more characteristics of a sample 14 using the outputs generated by detectors 28 and / or 34. The system may be further configured to detect or redetect defects on a sample, determine characteristics of a sample, determine other information about the sample, etc., as further described herein.
[0052] As described above, the imaging subsystem is configured to scan energy (e.g., light, electrons, etc.) over a physical version of the sample, thereby generating an output of the physical version of the sample. In this way, the imaging subsystem can be configured as an "actual" subsystem rather than a "virtual" subsystem. However, the storage medium (not shown) and computer system 102 shown in Figure 1 can be configured as a "virtual" system. In particular, the storage medium and computer system can be configured as a "virtual" imaging system as described in U.S. Patent No. 8,126,255, issued to Bhaskar et al. on 28 February 2012 and U.S. Patent No. 9,222,895, issued to Duffy et al. on 29 December 2015 by the same applicant, which are incorporated herein by reference as if they were fully described herein. Embodiments described herein can be further configured as described in those patents.
[0053] In this specification, the terms “first” and “second” are used solely to distinguish between different things, such as different rows, different polygons, etc. These terms do not indicate any other preferred, spatial, temporal, or other characteristics of the elements. Furthermore, while some embodiments may be described in relation to first and second elements, such as first polygons and second polygons, embodiments are not limited to having only two of either element. For example, some embodiments may be described in relation to first and second rows, but they may also be carried out with third rows, and so on.
[0054] The system comprises one or more computer systems, which may include any of the computer systems further described herein, and is configured to detect a first polygon and a second polygon in a first row and a second row, respectively, in the design of a sample. Detecting polygons may include, for example, using pattern lookup, as further described herein, extracting polygons row by row from the design that intersect with the area covered by the current row. In one embodiment, the design of the sample is an image of the sample generated by the imaging subsystem described herein. However, in another embodiment, the design of the sample is a design image of the sample generated from design data of the sample, which may include any of the design data described herein. In a further embodiment, the design of the sample includes a vectorized representation of the design shape in the design data of the sample, which may include any of the design data described herein. The computer system may obtain any such design of the sample, for example, by generating an image using the imaging subsystem described herein, or from the design data of the sample. Alternatively, the computer system may obtain the design of the sample from a storage medium in which the design is stored, for example, by the imaging subsystem, or by another system or method.
[0055] In this way, rows can be defined in various types of information relating to the design of the sample, such as a design image, a vectorized representation of the design shape, or a sample image. In any case, the detection step may be performed using rows of polygons, which may be described by coordinates. In one such example, the detection step may involve pattern searching using a vectorized image of the design, where each shape is described as a set of coordinates.
[0056] The polygons detected in the first row and the second row may or may not be of the same type. For example, detecting the first polygon and the second polygon in the first row and the second row, respectively, means that in the embodiments described herein, the detection of the first polygon and the second polygon is performed separately and independently. Furthermore, the detection step may be performed to detect whether polygons are present in a row, regardless of the type of polygon, although the characteristics and type of polygons in a row may be important for other reasons, such as setting the inspection recipe, but this information is irrelevant for the purpose of determining the extent of the repeating logic area, and the repeating pitch of polygons in a row is useful information, as will be further described herein.
[0057] As used herein, the term “known area” is defined as an area within a design where patterned features are known, whether repeatable or not, or otherwise insignificant. For example, a known area may be a memory array area, as further described herein, but other types of known areas are also possible. The term “area having unknown patterns and unknown pattern repeatability” is used herein interchangeably with the term “unknown area” and is used to refer to an area within a design where patterned features and their repeatability (or lack thereof) are unknown and important. As further described herein, an unknown area may be a logic area within a design where patterned features and their repeatability are important, but other types of unknown areas are also possible.
[0058] In one embodiment, the known area includes a memory array area. In another embodiment, the first and second polygons include a repeating logic structure. For example, the object of the embodiments described herein may be to determine the extent of the repeating geometry around a memory array structure. While embodiments are created and described herein with respect to determining the extent of a repeating logic structure, embodiments may be used to determine the presence and / or extent of repeating pattern structures in other areas of the design. In particular, since the memory array area can be readily identified in images or design data available to the user of the inspection tool, embodiments described herein may not need to identify the memory array area for inspection purposes. However, if the memory array area is not apparent or unknown, embodiments described herein can also be used to find the memory array area and the extent of the repeating pattern within the memory array area. Furthermore, embodiments described herein can be used to identify the extent of repeating patterns in any other area of any design of any sample described herein.
[0059] Figure 3 shows an example of a memory array area surrounded by logic having a repeating pattern. In particular, the memory array area 300 is surrounded by different repeating logic areas 302, 304, 306, and 308, which are formed adjacent to each of the outer edges of the memory array area. Each of the repeating logic areas has dimensions in the X and Y directions. For example, repeating logic area 302 has a dimension 310 in the X direction and a dimension 312 in the Y direction. As shown in Figure 3, the X dimensions of repeating logic areas 302 and 304 may be the same as the dimensions of the memory array area, and the Y dimensions of these repeating logic areas may be unknown but determined by the embodiments described herein. In contrast, the Y dimensions of repeating logic areas 306 and 308 may be the same as the dimensions of the memory array area, and the X dimensions of these repeating logic areas may be unknown but determined by the embodiments described herein. In other words, the objective of the embodiments described herein is to determine the X and Y dimensions of the repeating logic areas. The dimensions of the repeating logic areas parallel to the edges of the memory array may be assumed to be the same size as the edges of the array. Embodiments may determine the X dimension for the repeating logic areas 306 and 308 to the right and left of the memory array area, and / or the Y dimension for the repeating logic areas 302 and 304 to the top and bottom of the memory array area.
[0060] The first row has a first dimension extending in a first direction perpendicular to the edge of a known area in the design, from its inner boundary to its outer boundary. In other words, the inner boundary of the first row may be defined as the edge of a known area that can be identified, as further described herein. In one such embodiment shown in Figure 4, the known area 400 may be a memory array area or another area where the patterned features are known or irrelevant. The first row 402 has a first dimension 408 extending in a first direction perpendicular to the edge of the known area 414, from its inner boundary (again the known area's edge 414) to its outer boundary 416. Thus, the steps described herein may begin from the known area's edge of the first row.
[0061] The second row has a first dimension extending in a first direction from the outer boundary of the first row to the outer boundary of the second row. In other words, the outer boundary of the first row may be the same as the inner boundary of the second row. For example, as shown in Figure 4, the second row 404 has a first dimension 410 extending in a first direction perpendicular to the edge 414 of the known area from the inner boundary 416 of the second row to the outer boundary 418 of the second row. Thus, the inner boundary of the second row is also the same as the outer boundary of the first row. In this way, the steps described herein can be performed starting from the edge of the known area, row by row, across at least two rows adjacent to each other.
[0062] In some embodiments, the system includes an imaging subsystem configured to generate an image of a sample which may be configured according to any of the embodiments described herein, wherein the first dimension of the first row and the second row is equal to one pixel in the image, and the computer system is configured to select a pixel size for generating an image equal to the minimum pixel size of the imaging subsystem. For example, the height of the first row and the second row may be 1 pixel, and the width may be in units of X. The minimum pixel size, for example 30 nm, or the minimum pixel size of the imaging system may be used as the height.
[0063] In one embodiment, the first row and the second row have a second dimension extending in a second direction parallel to the edge of the known area, the length of which is equal to the length of the edge of the known area. For example, as shown in Figure 4, the first row 402 and the second row 404 each have a second dimension 422 extending in a second direction parallel to the edge 414 of the known area 400, the length of which is equal to the length of the edge of the known area. The second dimension of a row may be defined in this way for practical purposes. However, the second dimension of a row may typically be defined based on common design techniques, such as ensuring that the width (or length) of a repeating (or other) logic area is the same as the edge of an adjacent memory array area. The second dimension of a row does not necessarily have to be equal to the length of the edge on the side of the known area in which the row is located. Furthermore, the second dimension may, in some cases, be initially larger (or smaller) than necessary and then adjusted based on the results of one or more steps described herein, for example, the results of polygon detection.
[0064] In further embodiments, as shown in step 500 of Figure 5, one or more computer systems are configured to determine the edges of known areas in a design based on the outline line layer in the design of the sample. For example, in the case of the repeating logic 302 at the top of the memory array 300 shown in Figure 3, to determine Y, the computer system may determine the top edge of the memory array and then start from there. The top edge of the memory array may be determined using the outline line layer present in the design of the sample. In another embodiment, in the case of the known area 400 shown in Figure 4, the computer system may determine the edge 414 of the known area in the design based on the outline line layer in the design of the sample. Unlike the memory array area, which is clearly marked using the outline layer, the logic area does not have an outline that identifies the presence of a repeating pattern. Once the edges of the known area in the design are identified, the computer system may identify pixels in a first row of unknown areas in the design based on the edges, as shown in step 502 of Figure 5. The first row of pixels may be identified in the design as further described herein.
[0065] In another embodiment, the steps of detecting the first and second polygons described herein, determining the first and second repeating pitches, and determining the outer boundary of the known area are performed without hierarchical blocks in the sample design. For example, the embodiments described herein have the advantage of automatically identifying the extent of repeating geometry without an IC layout composed of hierarchical blocks. In particular, one novel feature of the embodiments described herein is that the extent of repeating geometry can be identified using pattern lookup, independent of the design hierarchy.
[0066] In some embodiments, the steps of detecting the first and second polygons described herein, determining the first and second repeating pitches, and determining the outer boundary of the unknown area are performed separately for additional edges of the known area. For example, while embodiments have described in this specification relating to determining the Y dimension 312 of a repeating logic area 302 above the memory array area 300 shown in Figure 3, embodiments may perform the same steps for any other area formed adjacent to any other edge of the memory array area. If it is not known or apparent that repeating logic areas on two or more sides of the memory array area have the same configuration and / or dimensions, the steps described herein may be repeated for multiple edges of the known area.
[0067] In one embodiment, detecting a first polygon and a second polygon is performed by a pattern search that includes searching for an unknown point of interest (POI). For example, in the embodiments described herein, the POI is likely unknown. Instead, one novel feature of the embodiments described herein is that a computer system can automatically determine the POI used to perform the pattern search.
[0068] Pattern searching works by searching within the target area for POIs that may exist within the source area. In the embodiments described herein, the target area is one of the rows described herein, and the source area may be defined within the target area as further described herein. For example, in the third row 406 shown in Figure 4, two instances of the source area 424 and 426 are shown in the third row, which may be the target area. Additional instances of the source area (not shown) may be defined within the third row so that the entire third row can be examined for POIs. In a similar manner, source areas may also be defined in other rows shown in Figure 4.
[0069] Pattern search can find all repetitions of POIs within a target area and use them to calculate the pitch. In this way, pattern search can identify repetition cells and repetition ranges with considerable accuracy. Pattern search may find the number and pitch of POI repetitions, but may not find the repetition unit. The repetition pitch can be used to determine the range of the repetition logic, as will be further discussed herein.
[0070] In another embodiment, detecting a first polygon and a second polygon is performed by a pattern search, which includes searching for the first polygon and the second polygon in the source areas of the first and second rows, respectively, where the source area has a width parallel to the edges of a known area determined based on the maximum cell width of the sample's technology node, and a height perpendicular to the edges of the known area equal to one pixel in the image of the sample generated by the imaging subsystem. The computer system may first define a source area containing a POI. If the source area is larger than the POI, repetitions are reliably identified; otherwise, repeating patterns may be missed. For example, the pattern search may depend on the definition of the source area. If the source area is not large enough to contain a single complete polygon from the POI, the pattern search may look for a reference edge within the source area to perform the search. However, if neither a complete polygon nor a reference edge is found within the source area, the pattern search may terminate. In the embodiments described herein, since the POI is unknown, a source area having a width equal to the maximum cell width of a given technology node may be identified, and the computer system may initiate the search. The technology nodes of a sample can be identified based on the sample design, and the maximum cell width of a given technology node can be determined from available designs or general knowledge in the relevant art. If the target area contains polygons and the pattern search is terminated because the source area is too small, the width of the source area may be, for example, up to 0.33 *The width may be gradually increased up to the target width, or it may be increased until a POI to be used for the pattern search is found. The height of the source area may be 1 pixel.
[0071] The computer system is also configured to determine the first and second repeating pitches for the first and second polygons, respectively. For example, in the case of pattern searching, a source area containing POIs within a row is identified, and repeats within the extracted row polygons are searched for. Once all repeats of POIs within the target area have been found by pattern searching, the pitch can be calculated. In this way, for the repeating logic 302 shown in Figure 3, the computer system may calculate the repeating pitch of the polygons in each row, row by row, using the results of the polygon extraction (detection) step, starting from the top edge of the memory array 300.
[0072] In one such embodiment, the computer system may detect polygons in the current row, as shown in step 504 of Figure 5, which may be performed as further described herein. Detecting polygons in any row as described herein may include extracting polygons from the design. All polygons intersecting the area covered by the current row may be extracted. In step 506, the computer system may determine, based on the results of the polygon detection step, whether polygons have been detected in the current row. If polygons have been detected in the current row, the computer system determines the repeating pitch of the identified polygons in step 508. Then, in step 510, the computer system may determine whether the current row is a first row, for example, the row closest to the edge of a known area, as may be defined herein. If the current row is a first row, the computer system may define the next row, as shown in step 512, which may be a second row, as described herein. Then, steps 504 and 506, and possibly steps 508 and 510, may be performed for the next row as described above.
[0073] When the current row becomes the second row, if a polygon is detected in that row in step 506, and the repeating pitch of the polygon is detected in step 508, then in step 510, the computer system determines that the current row is not the first row, which means that the repeating pitches of at least two rows are available for comparison. In this way, the computer system may determine in step 514 whether the repeating pitch of the current row matches that of the last row. If the repeating pitches of the two rows match, steps 512, 504, and 506, and possibly steps 508, 510, and 514, are repeated for the next row, for example, the third row 406 shown in Figure 4. The steps of detecting polygons and determining the repeating pitch may be repeated until one of the stopping conditions further described herein is found. For example, in the case of the repeating logic 302 shown in Figure 3, the same process is repeated for all rows, moving the rows upward in the Y direction until one of the stopping conditions described herein is found.
[0074] If the first repetition pitch and the second repetition pitch are different from each other, the computer system is configured to determine the outer boundary of the area having the unknown pattern and the repetition of the unknown pattern as the outer boundary of the first row. In this way, the repetition pitch can be used to determine the range of the repetition logic in the embodiments described herein. In particular, if the calculated pitch of the current row is different from the pitch of the previous row, the computer system can determine that a row with a new repetition pattern has begun and therefore identify that point as the boundary of the unknown area. For example, as shown in steps 514 and 516 of Figure 5, if the repetition pitch of the current row does not match the repetition pitch of the last row, the process may be stopped and the computer system can determine the outer boundary of the unknown area as the outer boundary of the last row.
[0075] In particular, if step 514 in Figure 5 determines that the repetition pitches of the first row 402 and the second row 404 shown in Figure 4 are different, then in step 516 shown in Figure 5, the computer system determines the outer boundary of the unknown area as the outer boundary 416 of the first row. If the current row is the third row, and step 514 in Figure 5 determines that the repetition pitches of the second row 404 and the third row 406 shown in Figure 4 are different, then in step 516 shown in Figure 5, the computer system then determines the outer boundary of the unknown area as the outer boundary 418 of the second row.
[0076] Using the procedures described herein, a computer system can quickly and easily identify an unknown area or the outer boundary of a repeating logic block without user input. As a result, one advantage of the embodiments described herein is that the area of repeating logic blocks that can be identified with minimal turnaround time can be significantly increased compared to currently used methods and systems.
[0077] Determining the outer boundary of an area may also involve checking whether the second repetition pitch is an integer multiple of the first pitch (or vice versa) when the first and second repetition pitches are different from each other. For example, taking a known area 400 as an example, the first row 402 may have a first polygon (not shown) with a repetition pitch of N, and the second row 404 may have a repetition pitch of N * Row 406 may have a second polygon (not shown) with a repeating pitch of N, and row 406 may have a third polygon (not shown) with a repeating pitch of N. * 1.33 may have a fourth polygon. The repetition pitches of the first, second, and third rows are integer multiples of each other, so they can be identified as the same repetition unit for the purposes of array mode. In this way, the first, second, and third rows have a repetition pitch used for inspection that is N *It may be subject to array mode checking, where 2 (i.e., the largest repetition pitch which is an integer multiple of all small pitches) is the limiting factor. Thus, the outer boundary of the unknown area can be defined as the outer boundary 420 of the third row.
[0078] Regardless of what the polygons in each row are, the outer boundary can be identified in this way. For example, even if the polygons in the first row, second row, and third row are different from each other, if the repeating pitch of the array mode check in the above example is N * Identifying it as 2 and performing array mode inspection in a direction parallel to the repeating pitch, for example, N * Using a test image and a reference image with a width corresponding to two repeating pitches and a height of three rows, the images compared to each other in array mode inspection contain the same polygons at the same positions within the image.
[0079] In one embodiment, if the inner boundary of a first row is an edge of a known area, the computer system is configured to determine the inner boundary of an area having an unknown pattern and repetitions of the unknown pattern as the inner boundary of the first row. For example, as shown in step 518 of Figure 5, the computer system may determine the inner boundary of an unknown area as the inner boundary of the first row. For example, as shown in Figure 4, the inner boundary of an unknown area may be determined as the inner boundary 414 of the first row 402, which is also an edge of the known area 400. If the first row is defined to extend from an edge of a known area and the first row contains a polygon, the inner boundary of the unknown area may be defined in this way.
[0080] However, if the inner boundary of the first row is away from the edge of the known area (not shown), and the first polygon is detected in the first row, the inner boundary of the unknown area may be determined as the inner boundary of the first row rather than the edge of the known area. Furthermore, if the first row is determined to include some gap between the edge of the known area and the first polygon, as described herein, the inner boundary of the unknown area may be determined as a line passing through the edge of the first polygon closest to the edge of the known area. In this way, the unknown area may be defined to exclude the gap space between the edge of the known area and the first polygon.
[0081] In another embodiment, if the inner boundary of the first row is the edge of a known area and no first polygons are detected in the first row, the computer system is configured to increase the first dimension of the first row. The computer system is also configured to repeat the steps of detecting the first polygon and increasing the first dimension of the first row until a first polygon is detected in the first row or the first dimension of the first row is greater than or equal to a predetermined upper limit of the first dimension of the first row. If the first dimension of the first row is greater than or equal to a predetermined upper limit and no first polygons are detected in the first row, the computer system is configured to determine that areas with unknown patterns and repetitions of unknown patterns are not patterned. For example, if a target area is blank and has no polygons during pattern searching, the computer system may skip that area. If pattern searching is terminated because the row height is too small, the row height may be set to, for example, a maximum of 2 * The row height is increased incrementally, or until a Point of Interest (POI) used for the pattern search is found.
[0082] For example, as shown in Figure 5, if the computer system determines in step 506 that no polygons exist in a row, the computer system may determine whether the first dimension of the row (for example, dimension 408 of the first row 402 shown in Figure 4) is greater than or equal to a predetermined upper limit, as shown in step 520 of Figure 5. If the computer system determines that the first dimension of the row is not greater than or equal to the predetermined upper limit, in step 522, the computer system increases the first dimension of the row and repeats at least steps 504 and 506 for rows with larger dimensions. If the computer system determines in step 506 that there are polygons in the row with increased dimensions, the computer system may proceed to step 508 for that row. If the computer system determines in step 506 that no polygons are detected in the row with increased dimensions, the computer system may repeat at least step 520 for that row. If the computer system determines in step 520 that the first dimension of the row is greater than or equal to a predetermined upper limit, the computer system may determine in step 524 whether the current row is the first row. If the computer system determines that the current row is the first row, in step 526 the computer system may determine that the unknown area is not patterned, and the process may terminate.
[0083] In additional embodiments, if no second polygon is detected in the second row, one or more computer systems are configured to increment the first dimension in the second row and repeat the steps of detecting the second polygon and incrementing the first dimension in the second row until a second polygon is detected in the second row or the first dimension of the second row is greater than or equal to a predetermined upper limit of the first dimension of the second row. If the first dimension of the second row is greater than or equal to the predetermined upper limit and no second polygon is detected in the second row, the computer system is configured to determine the outer boundary of the area having the unknown pattern and repetitions of the unknown pattern as the outer boundary of the first row. For example, if the computer system finds an area without polygons, the computer system can use heuristics to determine whether further steps need to be performed. In particular, relatively small blank areas within the repetition logic can be skipped. Otherwise, if the height of the blank area exceeds a user-configurable value, the computer system may stop searching and mark the boundary of the repetition logic as described herein.
[0084] For example, as shown in Figure 5, if the computer system determines in step 506 that no polygons exist in the second row, the computer system may determine whether the first dimension of the second row (for example, dimension 410 of the second row 404 shown in Figure 4) is greater than or equal to a predetermined upper limit, as shown in step 520 of Figure 5. If the computer system determines that the first dimension of the second row is not greater than or equal to the predetermined upper limit, in step 522 the computer system increases the first dimension of the row and repeats at least steps 504 and 506 for the second row having a larger dimension. If in step 506 the computer system determines that polygons with increased first dimensions exist in the second row, the computer system may proceed to step 508 for the second row. If in step 506 the computer system determines that no polygons are detected in the row with increased first dimensions, the computer system may repeat at least step 520 for that row. If the computer system determines in step 520 that the first dimension of a row is greater than or equal to a predetermined upper limit, the computer system may determine in step 524 whether the current row is the first row. If the computer system determines that the current (second) row is not the first row, in step 528 the computer system may stop the process and determine the outer boundary of the unknown area as the outer boundary of the last row, i.e., in the case of the second row, the outer boundary of the unknown area becomes the outer boundary of the first row.
[0085] In further embodiments, if the first and second repeating pitches are not different from each other, the computer system is configured to detect the third polygon of the third row in the sample design, which can be done as described herein. The third row has a first dimension extending in a first direction from the outer boundary of the second row to the outer boundary of the third row. For example, as shown in Figure 4, the third row 406 has a first dimension 412 in a first direction perpendicular to the edge 414 of the known area 400, from the outer boundary 418 of the second row 404 to the outer boundary 420 of the third row. In this way, the inner boundary of the third row and the outer boundary of the second row are the same. Similar to the first and second rows, the third row 406 has a second dimension 422 extending in a second direction parallel to the edge 414 of the known area 400, the length of which is equal to the length of the edge of the known area. The computer system is also configured to determine a third repeating pitch of the third polygon, which may be performed as described herein, and if the second repeating pitch and the third repeating pitch are different from each other, the outer boundary of the area having the unknown pattern and the repeats of the unknown pattern is determined as the outer boundary of the second row. These steps may be performed as shown in Figure 5, and may also be performed as described further herein with respect to the second row. In other words, each consecutive row may be examined in the same manner as described with respect to the second row until one of the stopping conditions described herein is found.
[0086] In another embodiment, the steps of detecting the first and second polygons described herein, determining the first and second repeating pitches, and determining the outer boundary of the area are performed without user input. In particular, one of the key advantages of the embodiments described herein is that the extent of the repeating geometry can be automatically identified without user input. For example, one of the key new features of the embodiments described herein is that the extent of the repeating geometry can be identified without a user-specified bounding box. Furthermore, the embodiments described herein are configured to perform the steps described herein without the user explicitly specifying the repeating pattern or the boundary of the repeat. In particular, the designs available to the user of the inspection tool may include the outline of the memory area, but do not include the presence of the repeating pattern within the logic area. Current methods may use manual or semi-manual techniques, but these are not suitable for complex designs. However, the embodiments described herein provide an automated technique that can draw the outline of the repeating geometry within the logic area using only a design file containing the limited information normally available to the user of the inspection tool, without manual intervention.
[0087] In some embodiments, the computer system is configured to generate information indicating that areas having unknown patterns and repetitions of unknown patterns are suitable for array mode inspection, as shown in step 530 of Figure 5. For example, (optical and other) inspection tools can use a special mode called "array mode" to inspect repetitive geometry. Array mode inspection reduces noise, detects defects missed by other modes, and thus improves sensitivity. Currently, array mode is primarily used to inspect memory arrays (SRAM, DRAM, etc.) and small pockets in logic areas known to the user in advance. Embodiments described herein can be incorporated into software tools and flows used to identify areas for array mode inspection. In this way, embodiments described herein can advantageously increase the amount of areas inspected in array mode, thereby improving the sensitivity of (optical and other) inspection tools.
[0088] Array-mode inspection generally involves comparing images of different instances of the same repeating structure (often called "cells" in the case of a memory array area) formed within a single pattern area, such as a memory array area within a single die, on a sample. Different instances of the same repeating structure being compared are typically formed adjacent to each other on the sample. This can generate one or more difference images for each instance of the repeating structure. Then, perhaps in the simplest implementation, a threshold may be applied to the difference images. Any portion of the difference image with a signal exceeding the threshold may be identified as a detected defect (a candidate defect, or a potential defect), and all other portions of the difference image may be ignored.
[0089] Any portion of an unknown area found to have polygons with repeating pitch according to the embodiments described herein can be automatically identified as eligible for array mode inspection. However, the computer system may also be configured to perform additional analysis of the unknown area found to have repeating polygons. For example, the computer system may determine whether there are enough repeating polygons for array mode inspection. In another example, the computer system may use the repeating pitch of the discovered polygons to determine whether the polygons are close enough to make array mode inspection viable. However, generally, such a step is unnecessary, and any previously unknown area found to have polygons with repeating pitch can be identified as an area for array mode inspection.
[0090] The information generated by the computer system to indicate previously unknown areas subject to array mode inspection may include any appropriate information in any appropriate format or style. For example, the information may have the same format or style as the care area, which generally includes information about the location of the care area on the sample or in an image of the sample, in addition to information about the type of care area and / or how the area is inspected.
[0091] In a further embodiment, the computer system is configured to set up one or more care areas for an inspection process performed on a sample, based on the determined outer boundaries of areas having unknown patterns and repetitions of unknown patterns, as shown in step 534 of Figure 5. For example, if, as described above, any of the unknown areas is found to have multiple examples of the same polygon having a repeating pitch, the computer system may designate those areas as array-mode inspection care areas, and may assign care area (CA) or care area group (CAG) IDs to those areas, along with any other information suitable for use in the inspection of the CA or CAG.
[0092] One or more previously unknown areas having the same characteristics (e.g., location within the sample design, same type of polygon formed therein, same repeating pitch of polygons, etc.) may be assigned to the same CAG and have the same CA information. Any of the previously unknown areas having one or more different characteristics as described above may be assigned to different CAGs having at least some different CA information. For example, embodiments described herein may identify one or more first repeating logic areas within the sample design in addition to one or more second repeating logic areas within the design, and the first and second repeating logic areas may have at least one characteristic that is sufficiently different to require inspection using one or more different parameters. In that case, they may be assigned to different CAGs that can be inspected using different parameters.
[0093] If the sample design may have such different repeating logic areas, the computer system may evaluate each (or at least some) of the different unknown areas in the design to determine their characteristics as described herein. The different unknown areas may then be grouped into different CAGs based on their characteristics, and the areas in each CAG may be examined using different parameters. The output of this step may include the CAG designation and any other information generated for the care areas, such as design location, sample location, and size.
[0094] In one embodiment, the system includes an imaging subsystem. For example, one or more computer systems described herein may be coupled to or included in the imaging system. Thus, the embodiments described herein may be configured for care area setting on a tool even if the embodiments described herein do not require any images generated by the imaging subsystem for care area setting. If the system includes an imaging subsystem, the same computer system that generated the care area may also be configured to apply the care area to images generated by the imaging subsystem during the process. If the system does not include an imaging subsystem, a separate system or method may be configured for using and applying the resulting care area in a process performed on a sample.
[0095] The embodiments described herein are particularly suited for defining care areas for optical inspection of wafers on which semiconductor devices are formed. The care areas may be any of the care areas further described herein, including care areas on which inspection is performed and care areas on which inspection is not performed. Care areas may also be distinguished from other areas on the sample using one or more different parameters. Furthermore, the embodiments described herein may be configured to define care areas for any inspection process, such as a wafer inspection process, a reticle inspection process, another type of sample inspection process, an optical or light-based inspection process, or an electron beam inspection process. Furthermore, while the embodiments described herein are particularly suited for defining care areas for inspection processes, embodiments may also be configured to define care areas for other semiconductor-based processes, such as measurement processes.
[0096] In another embodiment, the computer system is configured to select one or more parameters of an inspection process to be performed on a sample based on a determined outer boundary of an area having an unknown pattern and repetitions of the unknown pattern, as shown in step 532 of Figure 5. The selected parameters may include parameters for inspecting any of the previously unknown areas that have been identified as subject to array-mode inspection. For example, the computer system may be configured to select parameters of an inspection recipe for a sample based on one or more CAGs such that different CAGs are inspected using different values of the parameters when the inspection recipe is performed on the sample. The different values of the parameters of the inspection recipe may include different sensitivities of a defect detection method used in the inspection recipe to detect defects on the sample. Such sensitivity may be controlled, for example, by one or more thresholds used to separate the sample image into pixels corresponding to defects and pixels that do not correspond to defects.
[0097] Each test parameter for a CAG (if there are two or more CAGs for a single test on a single specimen) may be selected independently and separately, resulting in different test parameters for any of the two or more CAGs. Each of the independently selected test recipe parameters for different CAGs can be combined into a single test recipe performed on a sample. Furthermore, the selection of test recipe parameters may be performed simultaneously for multiple CAGs, thereby optimizing the test recipe parameters for multiple CAGs.
[0098] The computer systems described herein may also be configured to select any other parameters of the inspection process. For example, the computer system may be configured to make a complete inspection recipe setting for areas identified as eligible for the array modes described herein, and any other areas on the sample, such as a memory array area, including but not limited to imaging hardware parameters, defect detection method parameters, and other image processing parameters.
[0099] One or more computer systems may be configured to select the parameters of a measurement recipe for a sample based on the CAG so that different CAGs are measured with different values of the parameters of the measurement recipe. For example, the embodiments described herein are not limited to setting up a care area solely for inspection purposes. Instead, or in addition, the embodiments may be used for other processes such as measurement. In such embodiments, the steps may be performed as described herein, and the parameters of the measurement recipe to be selected may include any appropriate parameters of the measurement recipe, including hardware and software parameters. In this way, the parameters of the measurement recipe can be varied per CAG for the CAGs specified by the embodiments described herein.
[0100] A computer system may be configured to store CAG information for use in processes such as sample inspection. The computer system may also be configured to store information in recipes, or to generate recipes for processes in which the CAG is used. As used herein, the term “recipe” can generally be defined as a set of instructions that a tool can use to perform a process on a sample. Thus, generating a recipe may involve generating information about how a process is performed, and this information may be used to generate instructions for performing that process. The CAG information stored by the computer system may include any information that can be used to identify and / or use the CAG (e.g., a file name and its storage location, and the file may contain CAG information such as the CAG ID and the location of the CAG).
[0101] A computer system may be configured to store information relating to CAG in any suitable computer-readable storage medium. The information may be stored together with any of the results described herein, and may be stored in any manner known in the art. The storage medium may include any storage medium described herein, or any other suitable storage medium known in the art. After the information is stored, it may be accessed within the storage medium and used by any embodiment of the method or system described herein, formatted for display to a user, or used by another software module, method, or system, etc. For example, an embodiment described herein may generate an inspection recipe as described above. The inspection recipe is then stored and used by a system or method (or another system or method) to inspect a sample or other specimen, thereby generating information relating to the sample or other specimen (e.g., defect information).
[0102] A computer system and / or imaging subsystem may be configured to use the results of one or more steps described herein to perform an inspection process on a sample and / or other samples of the same type. Such an inspection process may generate results about defects detected on the sample, such as the location of the bounding box of the detected defect, information regarding defect classification such as a detection score, a class label or ID, or any other appropriate information known in the art. The defect results may be generated by the computer system and / or imaging subsystem in any appropriate manner. The defect results may have any appropriate format or type, such as a standard file type. The computer system generates and stores the results so that they may be used by the computer system and / or another system or method to perform one or more functions on the sample or another sample of the same type. For example, the information may be used by the computer system or another system or method for defect review or sampling for other analysis, determination of the root cause of a defect, etc.
[0103] The functions that can be performed using such information also include, but are not limited to, modifying processes, such as manufacturing processes or steps, that have been performed or will be performed on the inspected sample or another sample, in a feedback or feedforward manner. For example, a computer system may be configured to determine one or more changes to a process performed on a sample based on the process performed on the inspected sample and / or defects detected, as described herein. The process changes may include appropriate changes to one or more parameters of the process. The computer system preferably determines these changes so that defects in the sample are corrected or eliminated in another process performed on the sample, or so that defects are compensated for in another process performed on the sample, so that defects in the sample are corrected or eliminated, so that defects in the sample are compensated for
[0104] These changes can be transmitted to a semiconductor manufacturing system (not shown) or a computer system and a storage medium (not shown) accessible to the semiconductor manufacturing system. The semiconductor manufacturing system may or may not be part of the embodiments of the system described herein. For example, the computer system and / or imaging system described herein may be coupled to the semiconductor manufacturing system via one or more common elements such as a housing, power supply, sample handling device or mechanism. The semiconductor manufacturing system may include any semiconductor manufacturing system known in the art, such as lithography tools, etching tools, chemical mechanical polishing (CMP) tools, and deposition tools.
[0105] The embodiments can be used to establish a new process or recipe. The embodiments can also be used to modify an existing process or recipe, whether the process or recipe was used for a sample or was created for one sample and adapted for another.
[0106] Each of the aforementioned embodiments of the system can be combined into a single embodiment.
[0107] Another embodiment relates to a computer implementation method for determining information about an unknown pattern and an area having repetitions of the unknown pattern. This method includes the steps of detecting a first polygon and a second polygon, determining a first repeating pitch and a second repeating pitch, and determining the aforementioned outer boundary. Each of the steps of the method may be performed as further described herein. The method may also include any other steps that can be performed by the imaging subsystem and / or computer system described herein. The steps of detecting the first polygon and the second polygon, determining the first repeating pitch and the second repeating pitch, and determining the outer boundary are performed by one or more computer systems that may be configured according to any of the embodiments described herein. Furthermore, the above-described method may be performed by any of the embodiments of the system described herein.
[0108] Additional embodiments relate to a non-temporary computer-readable medium for storing program instructions executable on a computer system for performing a computer implementation method for determining information about areas having unknown patterns and repetitions of unknown patterns. One such embodiment is shown in Figure 6. In particular, as shown in Figure 6, the non-temporary computer-readable medium 600 includes program instructions 602 executable on a computer system 604. The computer implementation method may include any step of any method described herein.
[0109] Program instructions 602 implementing the methods described herein may be stored in a computer-readable medium 600. The computer-readable medium may be a storage medium such as a magnetic disk, optical disk, magnetic tape, or any other suitable non-temporary computer-readable medium known in the art.
[0110] Program instructions can be implemented in any of the following ways, including, among others, procedure-based techniques, component-based techniques, and / or object-oriented techniques. For example, program instructions can be implemented using ActiveX controls, C++ objects, JavaBeans, Microsoft Foundation Classes ("MFC"), SSE (Streaming SIMD Extensions), or other technologies or methodologies, as needed.
[0111] The computer system 604 may be configured according to any of the embodiments described herein.
[0112] Further modifications and alternative embodiments of various aspects of the present invention will be apparent to those skilled in the art upon reading this description. For example, methods and systems for determining information regarding areas having unknown patterns and repetitions of unknown patterns are provided. Therefore, this description should be interpreted as illustrative only and is intended to teach those skilled in the art general ways of carrying out the present invention. It should be understood that the forms of the present invention shown and described herein should be interpreted as preferred embodiments at present. Elements and materials illustrated and described herein may be substituted, parts and processes may be reversed, and certain features of the present invention may be used independently, all of which will be apparent to those skilled in the art after benefiting from this description of the present invention. Modifications may be made to the elements described herein without departing from the spirit and scope of the present invention as set forth in the following claims.
Claims
1. A system configured to determine information about areas having unknown patterns and repetitions of unknown patterns, In the design of a sample, the detection of a first polygon and a second polygon in a first row and a second row, respectively, wherein the first row has a first dimension extending in a first direction perpendicular to the edge of a known area in the design, from the inner boundary to the outer boundary of the first row, and the second row has a first dimension extending in the first direction from the outer boundary of the first row to the outer boundary of the second row. The first repeating pitch and the second repeating pitch of the first polygon and the second polygon are determined, If the first repeating pitch and the second repeating pitch are different from each other, the outer boundary of the area having the unknown pattern and the repetition of the unknown pattern is determined as the outer boundary of the first row. A system characterized by comprising one or more computer systems configured to perform the following tasks.
2. The system according to claim 1, characterized in that the known area comprises a memory array area formed on the sample.
3. The system according to claim 1, characterized in that the first polygon and the second polygon have a repeating logic structure.
4. The system according to claim 1, characterized in that the first row and the second row have a second dimension that is equal to the length of the edge of the known area and extends in a second direction parallel to the edge of the known area.
5. A system according to claim 1, characterized in that the detection step, the step of determining the first repeating pitch and the second repeating pitch, and the step of determining the outer boundary of the area are performed separately for additional edges of the known area.
6. The system according to claim 1, characterized in that the detection of the first polygon and the second polygon is performed by a pattern search that includes searching for an unknown important pattern.
7. The system according to claim 1, wherein the detection of the first polygon and the second polygon is performed by a pattern search comprising searching for the first polygon and the second polygon in the source areas of the first row and the second row, respectively, wherein the source area has a width parallel to the edge of the known area determined based on the maximum cell width of the technology node of the sample, and the source area has a height perpendicular to the edge of the known area equal to one pixel in the image of the sample generated by the imaging subsystem.
8. A system according to claim 1, characterized in that, when the inner boundary of the first row is the edge of the known area, the inner boundary of the area having the unknown pattern and repetitions of the unknown pattern is determined as the inner boundary of the first row.
9. The system according to claim 1, wherein one or more computer systems If the inner boundary of the first row is the edge of the known area, and no first polygon is detected in the first row, then increase the first dimension of the first row. The steps of detecting the first polygon and increasing the first dimension of the first row are repeated until the first polygon is detected in the first row or the first dimension of the first row exceeds a predetermined upper limit of the first dimension of the first row. If the first dimension of the first row is greater than or equal to the predetermined upper limit, and no first polygon is detected in the first row, then it is determined that the area having the unknown pattern and the repetition of the unknown pattern is not patterned. A system further configured to perform the following actions.
10. The system according to claim 1, wherein one or more computer systems If no second polygon is detected in the second row, increase the first dimension of the second row, The steps of detecting the second polygon and increasing the first dimension of the second row are repeated until the second polygon is detected in the second row, or until the first dimension of the second row exceeds a predetermined upper limit of the first dimension of the second row. If the first dimension of the second row is greater than or equal to the predetermined upper limit, and no second polygon is detected in the second row, the outer boundary of the area having the unknown pattern and repetitions of the unknown pattern is determined to be the outer boundary of the first row. A system further configured to perform the following actions.
11. The system according to claim 1, wherein one or more computer systems If the first repeating pitch and the second repeating pitch are not different from each other, the detection of a third polygon in a third row within the design of the sample, wherein the third row has a first dimension extending in the first direction from the outer boundary of the second row to the outer boundary of the third row, Determining the third repeating pitch of the third polygon, The system is further configured to determine the outer boundary of the area having the unknown pattern and repetitions of the unknown pattern as the outer boundary of the second row when the second repetition pitch and the third repetition pitch are different from each other.
12. A system according to claim 1, wherein one or more computer systems are further configured to determine the edges of the known areas in the design based on the array line layer in the design of the sample.
13. The system according to claim 1, further comprising an imaging subsystem configured to generate an image of the sample, wherein the first dimension between the first row and the second row is equal to one pixel in the image, and the one or more computer systems are further configured to select a pixel size for generating an image equal to the minimum pixel size of the imaging subsystem.
14. A system according to claim 1, characterized in that the detection, the determination of the first repeating pitch and the second repeating pitch, and the determination of the outer boundary of the area are performed without user input.
15. A system according to claim 1, characterized in that the detection, the determination of the first repeating pitch and the second repeating pitch, and the determination of the outer boundary of the area are performed without hierarchical blocks in the design of the sample.
16. The system according to claim 1, wherein one or more computer systems are further configured to generate information indicating that the area having the unknown pattern and repetitions of the unknown pattern is suitable for array mode inspection.
17. A system according to claim 1, wherein one or more computer systems are further configured to select one or more parameters of an inspection process performed on the sample based on the determined outer boundary of the area having the unknown pattern and repetitions of the unknown pattern.
18. The system according to claim 1, wherein one or more computer systems are further configured to set up one or more care areas for an inspection process to be performed on the sample, based on the determined outer boundary of the area having the unknown pattern and repetitions of the unknown pattern.
19. The system according to claim 1, characterized in that the design of the sample is an image of the sample generated by the imaging subsystem.
20. The system according to claim 1, characterized in that the design of the sample is a design image of the sample generated from the design data of the sample.
21. The system according to claim 1, characterized in that the design of the sample comprises a vectorized representation of the design shape in the design data of the sample.
22. A non-temporary computer-readable medium for storing program instructions executable on a computer system for performing a computer implementation method for determining information about areas having unknown patterns and repetitions of unknown patterns, wherein the computer implementation method is In the design of a sample, the detection of a first polygon and a second polygon in a first row and a second row, respectively, wherein the first row has a first dimension extending in a first direction perpendicular to the edge of a known area in the design, from the inner boundary to the outer boundary of the first row, and the second row has a first dimension extending in the first direction from the outer boundary of the first row to the outer boundary of the second row. The first repeating pitch and the second repeating pitch of the first polygon and the second polygon are determined, If the first repeating pitch and the second repeating pitch are different from each other, the outer boundary of the area having the unknown pattern and the repetition of the unknown pattern is determined as the outer boundary of the first row. A non-temporary computer-readable medium characterized by comprising the following:
23. A computer implementation method for determining information about areas having unknown patterns and repetitions of unknown patterns, In the design of a sample, the detection of a first polygon and a second polygon in a first row and a second row, respectively, wherein the first row has a first dimension extending in a first direction perpendicular to the edge of a known area in the design, from the inner boundary to the outer boundary of the first row, and the second row has a first dimension extending in the first direction from the outer boundary of the first row to the outer boundary of the second row. The first repeating pitch and the second repeating pitch of the first polygon and the second polygon are determined, If the first repetition pitch and the second repetition pitch are different from each other, the outer boundary of the area having the unknown pattern and the repetition of the unknown pattern is determined as the outer boundary of the first row, wherein the steps of detecting, determining the first repetition pitch and the second repetition pitch and determining the outer boundary are performed by one or more computer systems. A method characterized by comprising:
Citation Information
Patent Citations
Methods and systems for utilizing design data in combination with inspection data
US7570796B2
Methods and systems for utilizing design data in combination with inspection data
US7676077B2
Systems and methods for creating persistent data for a wafer and for using persistent data for inspection-related functions
US8126255B2
Electron-optical system for high-speed and high-sensitivity inspections
US8664594B1
Apparatus and methods for electron beam detection
US8692204B2