WO2020157249A1 - Verarbeitung von bilddatensätzen - Google Patents

Verarbeitung von bilddatensätzen Download PDF

Info

Publication number
WO2020157249A1
WO2020157249A1 PCT/EP2020/052380 EP2020052380W WO2020157249A1 WO 2020157249 A1 WO2020157249 A1 WO 2020157249A1 EP 2020052380 W EP2020052380 W EP 2020052380W WO 2020157249 A1 WO2020157249 A1 WO 2020157249A1
Authority
WO
WIPO (PCT)
Prior art keywords
tiles
structures
labels
image data
semiconductor components
Prior art date
Application number
PCT/EP2020/052380
Other languages
English (en)
French (fr)
Inventor
Jens Timo Neumann
Abhilash SRIKANTHA
Christian Wojek
Thomas Korb
Original Assignee
Carl Zeiss Smt Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carl Zeiss Smt Gmbh filed Critical Carl Zeiss Smt Gmbh
Priority to KR1020217027289A priority Critical patent/KR20210121154A/ko
Publication of WO2020157249A1 publication Critical patent/WO2020157249A1/de
Priority to US17/388,589 priority patent/US20210358101A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • G06T2207/10061Microscopic image from scanning electron microscope
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2528Combination of methods, e.g. classifiers, working on the same input data

Definitions

  • Various examples of the invention generally relate to the processing of two- or three-dimensional image data sets.
  • Various examples of the invention relate in particular to the application of hierarchical tiling on the two- or three-dimensional image data record.
  • Metrology d. H. the measurement of certain geometric properties of structures of the semiconductor components on the wafer (such as width, length or diameter) is made possible.
  • three-dimensional (3-D) image data sets are known in particular, for example by means of X-ray imaging or a combined technique comprising a focused ion beam for sample preparation and scanned
  • Image data sets in particular 3-D image data sets, which map semiconductor components.
  • One method includes obtaining an image data set.
  • the image data set depicts semiconductor components.
  • the method also includes applying hierarchical tiling to the image data set.
  • the tiling has several tiles on several hierarchy levels. Tiles different
  • Hierarchy levels have different picture element sizes of the corresponding picture elements.
  • the dimensionality of the tiles can also vary.
  • Applying the hierarchical tiling to the image data record can correspond to splitting the image data record into tiles on the multiple hierarchy levels and according to the tiling.
  • the tiling can therefore correspond to a rule for the decomposition into the tiles.
  • computer-readable storage medium comprises a program code.
  • Program code can be loaded and executed by a processor. This causes a procedure to be performed.
  • the method includes obtaining an image data set.
  • the image data set depicts semiconductor components, in particular also components within an integrated circuit.
  • the method also includes applying hierarchical tiling to the image data set.
  • the tiling has several tiles on several hierarchy levels. Tiles of different hierarchy levels have different picture element sizes.
  • a processor is set up to load and execute program codes from a memory. This causes a procedure to be performed.
  • the method includes obtaining an image data set.
  • the image data set depicts semiconductor components.
  • the method also includes applying hierarchical tiling to the image data set. The tiling shows several tiles on several
  • Hierarchy levels Tiles of different hierarchy levels have different picture element sizes.
  • FIG. 1 schematically illustrates a system with an imaging unit and a computing unit according to various examples.
  • FIG. 2 is a flow diagram of an example method.
  • FIG. 3 illustrates the application of hierarchical tiling to a 3-D image data set according to various examples.
  • FIG. 4 illustrates the application of hierarchical tiling to a 3-D image data set according to various examples.
  • FIG. 5 schematically illustrates different hierarchical levels of hierarchical tiling according to different examples.
  • FIG. 6 schematically illustrates various aspects of data processing according to different examples.
  • FIG. 7 schematically illustrates structures in tiles on different hierarchy levels as well as multi-hierarchical labels for the structures according to various examples.
  • FIG. 8 is a flow diagram of an example method.
  • FIG. 9 is a flow diagram of an example method.
  • FIG. 10 is a flow diagram of an example method.
  • FIG. 11 is a flowchart of an example method.
  • FIG. 12 is a flow diagram of an example method.
  • FIG. 13 schematically illustrates different hierarchy levels of semiconductor components and correlating hierarchy levels of hierarchical tiling according to various examples.
  • FIG. 14 schematically illustrates different hierarchy levels of semiconductor components and correlating hierarchy levels of hierarchical tiling according to various examples.
  • connection or coupling can be implemented.
  • a connection or coupling can be implemented wired or wireless.
  • Functional units can be implemented as hardware, software or a combination of hardware and software.
  • image data records are processed.
  • 2-D image data sets could be processed.
  • 3-D image data sets can also be processed.
  • the picture elements are formed by pixels and in the case of 3-D image data sets, the picture elements are formed by voxels.
  • the 3-D image data set can have an extension in all three spatial dimensions. This means that the 3-D image data set can have several voxels.
  • a voxel can be described as the 3-D equivalent of a 2-D pixel.
  • the voxel and the pixel are picture elements.
  • a voxel can be a specific one
  • a voxel has three sides with certain edge lengths.
  • the voxels in the various examples described herein can have different edge lengths, for example in the range from nm to mm.
  • the techniques described herein can vary
  • the 3-D image data set can be represented by the 3-D image data set.
  • the 3-D image data set it would be possible for the 3-D image data set to contain organic samples (for example in light-sheet microscopy), the anatomy of a patient (in computer tomography imaging or magnetic resonance imaging), workpieces (non-destructive X-ray imaging, for example when checking turbine blades etc.), radar measurements, or semiconductor components (such as FIB-SEM imaging or X-ray imaging).
  • organic samples for example in light-sheet microscopy
  • the anatomy of a patient in computer tomography imaging or magnetic resonance imaging
  • workpieces non-destructive X-ray imaging, for example when checking turbine blades etc.
  • radar measurements or semiconductor components (such as FIB-SEM imaging or X-ray imaging).
  • semiconductor components such as FIB-SEM imaging or X-ray imaging
  • Semiconductor components can e.g. selected from the following groups:
  • Imaging modality can be used to capture the image data set.
  • a 2-D image data set e.g. a multi-beam SEM (mSEM) can be used.
  • mSEM multi-beam SEM
  • FIB-SEM imaging could be used for semiconductor components.
  • Such and other methods for capturing image data sets are known in principle. Examples include bright field inspection, for example. SEM imaging is possible.
  • Tunnel electron microscope (TEM) lamellae can be prepared and imaged. The techniques described herein can be combined with the
  • a suitable structuring of the image data record can also enable the logical linking of structures of the image data record. In this way, defects can be found and classified better.
  • navigation through an image data record can be promoted by - using the hierarchical tiling - context information about the position of a corresponding structure which forms part of a semiconductor component in a complex architecture of one or more
  • Semiconductor components can be indexed. It can also be possible to find specific semiconductor components in a targeted manner by zooming using the hierarchical tiling.
  • Typical 3-D image data sets can have a number of 6000 x 6000 x 1000 voxels, for example.
  • the number of voxes in the sense of the present description can describe the number of voxels in a 3-D volume (image volume) shown. This means that the Voxeian number can be equivalent to the number of pixels in a 2-D image.
  • the number of voxels in the different spatial directions is referred to below as (A, B, C), for example. Then the total Voxeian number is in the data set ABC.
  • hierarchical tiling is applied to a 2-D or 3-D image data set.
  • the tiling has several hierarchical levels. Different tiles are in different hierarchy levels
  • the tiling can describe associations between the tiles.
  • Tiling can e.g. can be described by a tree structure.
  • Tree structure can define a hierarchical arrangement of the tiles.
  • a tile of a certain hierarchical level can comprise several tiles on a low hierarchical level; and can be contained in a tile of a higher hierarchical level.
  • the tiles (“bricks”) can represent 2-D or 3-D sections of an image volume (“field of view”) of the 2-D or 3-D image data set.
  • Each tile can have a number of pixels or voxels of a certain size.
  • the tiles could have different or the same edge lengths along the two or three spatial directions.
  • the pixel size or voxe size correlates with one
  • the pixel size or voxe size can be described by the edge length of a pixel or voxel in the different spatial directions. Typical edge lengths are e.g. in the range of nm to mm - depending on the respective hierarchy level on which the corresponding tile is. To different pixel sizes or
  • a downconversion can be used to obtain voxei sizes. For example, the tiles at a higher hierarchical level can be larger
  • Hierarchy level In other words, this means that the tiles on the lower hierarchical level have structures with greater detail or higher
  • the pixel size or voxe size correlates with that visible from a tile or
  • Pixel size or voxel size is increased, for example by interpolating the pixels or voxels on a coarser grid, only keeping every nth pixel or voxel or averaging.
  • Image data set are made possible. Navigation can be made possible, for example, by controlling a human-machine interface (HMI).
  • HMI human-machine interface
  • the memory requirement during navigation in the image data set can be limited: for example, each only relevant tiles are kept in memory. For example, the pixels / voxels of a certain tile can be output to the user via the HMI; then it would be conceivable that all further tiles contained within this tile are prospectively included in the lower hierarchy levels
  • the gate insulation for transistors in certain memory elements could be checked.
  • a possible defect for example identified by means of a machine-learned algorithm
  • the context of the respective transistor can be output, that is, for example, the higher hierarchical semiconductor components to which the respective transistor belongs can be identified (for example, the [7] trench [3] memory cell [5] etc.) .
  • Such information on the context of the respective transistor can firstly ensure that the defect can be found again quickly. Second, the context of each
  • Transistors are taken into account in the test, for example to identify certain dependencies of a defect frequency on the context.
  • the context can be provided or indexed by a multi-hierarchical label. Details on annotating labels are described below.
  • labels can be assigned to structures in different tiles.
  • a label describes the logical classification of a structure.
  • Different structure types can have different labels.
  • the structure types can include, for example, an overall view of the semiconductor components, or parts of the semiconductor components (parts of the semiconductor components in turn can be referred to as independent semiconductor components, for example layer - trench - transistor - gate), or other features, such as lithography markers, defects, impurities, etc.
  • a label can also indicate the position of a structure, for example by means of a bounding box or by segmentation at the voxel level. Generally speaking, this means that a label is also used can be used to index a positioned and spatially delimited area (e.g. by a bounding box with center or corner coordinates or by segmentation with its center of gravity).
  • Annotation describes the process of assigning labels to structures.
  • labels can be assigned to structures manually, semi-automatically or fully automatically.
  • the assignment of labels can include, for example, the inheritance and / or propagation of labels between associated structures.
  • an object recognition or a classification in general can be used in the annotation.
  • Object recognition typically refers to the automated process of recognizing structures and providing labels with a suitable object recognition algorithm. Segmentation is also part of the
  • the classification typically refers to the formation of classes of
  • Classes can be identified by a class representative. Structures that are comparable to the representative or that are particularly similar in connection with a given metric can be assigned to the corresponding class. Other
  • Structures that are not so similar can not be assigned to the class.
  • the classification can make it possible to assign labels.
  • the labels can, for example, describe the assignment to the different classes.
  • the image data record can also be registered with a reference data record - for example geometry reference data such as CAD files or overview images captured with an optical microscope - are made possible. Registration typically means removing translational
  • the registration can obtain an association between picture elements of the first data record and the picture elements of the second data record the size of the picture elements in both data sets can be different.
  • FIG. 1 schematically illustrates a system 90 in accordance with various examples.
  • the system 90 comprises an imaging device 91, in the example of FIG. 1 a FIB-SEM microscope. This can, for example, prepare tunneling electron microscope lamellae or generate a 3-D image data record 100 of a sample object by “slice and image” (sequential removal of layers by FIB and in each case capturing an SEM image).
  • the sample object could be a wafer or a chip, for example.
  • TAB. 1 TAB. 1 illustrated below:
  • An mSEM is a microscope that uses charged particles.
  • electrons are used.
  • a wafer is illuminated with an array of electron beams, for example with more than 40 or even more than 90 electron beams.
  • This primary illumination can be scanned together over the sample object.
  • a particularly large image field can be achieved by combining signals which are caused by the different electron beams.
  • the image is formed based on secondary particles or radiation emitted by the sample object due to the primary lighting.
  • the secondary particles or the secondary radiation can be in the form of secondary electrons, backscattered electrons, X-rays and / or luminescent radiation.
  • the composition, energy and the angle of the secondary radiation can be influenced by adjusting the energy of the primary radiation and is an indicator of the material composition and surface quality of the surface of the specimen.
  • the aggregated image field is typically particularly large, for example in the range from 100 pm x 100 pm or even from 120 pm x 120 pm.
  • the image data record 100 is then transmitted to a computing unit 80.
  • Computing unit 80 comprises a communication interface 81, around which
  • the computing unit 80 also includes a processor 82 and a memory 83.
  • the processor 82 could, for example, comprise a CPU and / or a GPU.
  • Processor 82 can load and execute program codes from memory 83. Then processor 82
  • the processor 82 could hierarchical tiling based on the program code
  • FIG. 1 illustrates a scenario in which the computing unit is formed separately from the imaging device 91, these can also be integrated
  • FIG. 2 is a flow diagram of an example method.
  • the method according to FIG. 2 can be executed by a processor based on program codes.
  • the method of FIG. 2 are executed by processor 82 based on program code loaded from memory 83.
  • optional blocks are shown with dashed lines.
  • an image data record is acquired in optional block 1001.
  • a 3-D image data record can be acquired. This forms a
  • the 3-D image data set has a number of ABC-native voxels.
  • a 2-D image data record could also be recorded, which depicts a specific image field.
  • Block 1002 may include a transmission (see FIG. 1).
  • Block 1002 may, for example, in
  • Hierarchy levels defined.
  • the information contained in the image data record is structured in connection with pixels or voxels, which are contained in tiles at the different hierarchical levels.
  • Different tiles can differ from the native pixels or voxels of the 2-D or 3-D image data set.
  • the storage format of the image data record before and after the tiling does not necessarily have to correlate with the hierarchical tiling.
  • separate tax data could be created that the
  • Each tile can have a certain number of picture elements, ie number of pixels or number of pixels.
  • the tiles of the same hierarchical level can have the same number of picture elements.
  • the picture elements on an upper hierarchical level have a longer one
  • the tiles on an upper hierarchical level include several tiles on a lower hierarchical level. I.e. the edge length of the tiles increases towards the upper hierarchy levels.
  • the scan with the structures on the picture elements of the upper hierarchical level can be reproduced, that is to say lower than the native resolution of the image data record.
  • This can be an averaging or other technique of downconverting information in the image data set in the frame of block
  • Require 1002 in order to obtain a contrast value for the picture elements at upper hierarchy levels.
  • FIG. 3 a 3-D image data record 100 is shown on the left. This has a number of (A, B, C) voxels (the voxels are not shown in FIG. 3).
  • the tiling 201 is shown on the right, in particular on the top hierarchical level 251.
  • FIG. 3 illustrates tiles 211-214 of the highest hierarchical level 251.
  • the decomposition can be continued to lower hierarchical levels:
  • FIG. 4 shows a further breakdown of the tile 213 from the hierarchy level 251.
  • FIG. 4 shows a further breakdown of the tile 213 from the hierarchy level 251.
  • a tile 213-1 at the next lower hierarchical level 252 is defined as a partial volume of the (partial) volume of the tile 213.
  • FIG. 4 also shows that the tile 213-1 comprises a number of voxels 290.
  • the voxel size 291 - here as the edge length of the voxel 290 - is also shown.
  • the Voxeian number per tile 213-1 can vary from hierarchy level to
  • Hierarchy level 251, 252 vary or can also be chosen to be constant.
  • FIG. 5 illustrates aspects related to the nested hierarchical structure of tiling 201.
  • FIG. 5 illustrates the tree structure of the tiling 201.
  • FIG. 5 shows how the tiles are derived from one another from the upper hierarchical level 251 to the lower hierarchical levels 252, 253 or defined as partial volumes in order to define the hierarchy.
  • the tiles 213-1-214-3 are each derived from the tile 213, i.e. contain different partial volumes of the volume of the tile 213. In general terms, this corresponds to a nesting of the tiles of different hierarchy levels.
  • the tiles can be saved together with their position in the entire volume shown become.
  • the tiles can be saved so that the voxels contained in the tiles can be processed individually.
  • An example would be a smoothing algorithm.
  • This example relates to the detection of a defect in a transistor gate as a semiconductor component. If the gate has a structure size that fits into a tile with NMP voxels at a corresponding hierarchical level, all tiles of the corresponding hierarchical level can be processed individually in connection with the detection of a transistor gate. For example, it could first be checked whether a certain tile of the corresponding hierarchical level represents a transistor gate. If this is the case, it can then be checked whether there is a defect or not. In such a process, the individual tiles can be processed sequentially or in parallel. The parallelization can be implemented particularly efficiently on a GPU, for example. Without a suitable tiling of the image volume, it can even become impossible to recognize the defects with limited computing resources.
  • the tiling can be applied to the image data set without loss of information.
  • the voxel size of voxel 290 in tiles 213-2-1 at the lowest hierarchical level 253 could be equal to the native voxel size of the 3-D image data set.
  • the hierarchical approach according to FIG. 5 can be used (ie a nesting of the tiles of the different hierarchy levels into each other). Without the hierarchical approach, it could not be determined, for example, whether a line structure, which is represented by a tile on the lowest hierarchical level, is part of a logic semiconductor component or part of a memory chip. By the hierarchical approach, however, a relationship between structures in tiles at different hierarchy levels can be traced.
  • the picture element size of the tiles on the hierarchy levels be in accordance with or are determined based on the structure sizes of the semiconductor components.
  • the hierarchy levels themselves, i.e. e.g. the number of hierarchy levels, in
  • specimen type of the specimen shown which comprises the semiconductor components.
  • the sample type could also be based on one
  • Sample type could also be determined by a workflow or context. Depending on the type of sample, it can then be determined which semiconductor component types are present in the respective sample type. The various semiconductor component types can in turn be linked to typical structure sizes in the database. The hierarchy levels and the associated picture element sizes can then be determined on the basis of these structure sizes stored in the database.
  • the number of picture elements of the tiles can be determined on the hierarchy levels based on the structure sizes of the semiconductor components, i.e. e.g. the number of pixels or voxels per tile.
  • TAB. 2 is an exemplary implementation of such a database, which is used to determine pixel size and / or
  • TAB. 2 Example of a database that relates sample types to
  • the database could e.g. be implemented as a graph to describe the connection / context between the different hierarchy levels.
  • the database therefore contains a priori information about the
  • FIG. 13 Connection with FIG. 13, the hierarchy levels 1 -4 from TAB. 2 there are labeled with the reference numerals 251-254.
  • the example for the sample type "2-D CPU Chip" is shown in FIG. 14, the hierarchy levels 1-6 from TAB. 2 are labeled there with 251 -256.
  • FIG. 13 and FIG. 14 are also typical
  • Structure sizes 298 of the semiconductor components are shown.
  • the edge length 299 of the tiles is shown in FIG. 13 and FIG. 14 also shown.
  • the edge length 299 of the tiles is also determined based on the structure size 298 of the various semiconductor components: typically, the edge length 299 is selected such that a semiconductor component and its surroundings are completely depicted in a tile, so e.g. an inter-semiconductor device spacing can be used to determine edge length 299. All such information can be loaded from a corresponding database.
  • FIG. 13 E.g. is shown in FIG. 13 are two so-called decks in connection with hierarchy level 251, which are separated by a "bit Iine" layer.
  • the hierarchical level 252 shows two trenches from an array of many trenches, which is arranged in one of the decks. E.g. is a typical distance between the trenches in the
  • the edge length 299 of the tiles can be dimensioned accordingly to display two or more trenches per tile.
  • the voxesize can be dimensioned accordingly so that individual trenches can be resolved (typically the diameter of the trenches is in the
  • the picture element size of the tiles of a hierarchy level must be measured at the
  • Structure size of individual semiconductor components, while the tile size of the tiles of the hierarchy level can be measured by the distance between the individual semiconductor components and / or by an external dimension of the
  • This rule also applies to the tiles at hierarchy level 253.
  • the tiles on the hierarchical level 253 thus have an edge length 299, so that a few of the holes - in shown example 3x3 holes - can be shown.
  • the voxel size is dimensioned with 20 nm, for example, so that a few voxels are obtained per hole.
  • a single hole can then be displayed at high resolution on the hierarchy level 254.
  • FIG. 14 Corresponding considerations can also be applied for 2-D tiling, as shown in FIG. 14 shown.
  • a wafer with all of this is shown in the hierarchy level 251, a single die on the hierarchy level 252, including the so-called “the rails”.
  • the hierarchy level 254 shows that individual logic modules (eg memory, CPU, etc.) of a chip
  • hierarchy level 255 shows the area surrounding transistors of the logic modules
  • hierarchy level 256 finally shows individual transistors, so that the connections ("gate”, "source”, “drain” are released) become.
  • the hierarchical tiling is explained using the following example.
  • a specific tile 213-2-1 at the lowest hierarchical level 253 identifies a hole structure.
  • the tile 213-2 on the middle hierarchy level 252 (which contains the specific tile 213-2-1 on the lowest hierarchy level 253 with the hole structure) in turn identifies a transistor cell.
  • the tile 213 on the top hierarchical level 251 (which the tiles 213-2, 213-2-1 on the middle and lower
  • Hierarchy level 252, 253 with transistor cell and hole structure identifies a specific logic group of semiconductor components or
  • the example describes a logic line starting from a small voxe size (for detailed information on structures with small structure sizes) to a larger voxe size (for
  • a logic line can also be traced starting from large voxei sizes to smaller voxei sizes: for example, logic modules could first be identified in the image volume in a tile 213 of the top hierarchical level 213; then 252 so-called vias (as conductive connections between different semiconductor layers oriented perpendicular to semiconductor layers) are identified in a tile 213-2 derived from the tile 213; eventually could be on the next lower one
  • Hierarchy level 253 the conductor tracks of the vias are checked in terms of defects or their overlap with metal layers in a further derived tile 213-2-1.
  • the tiling 201 according to FIG. 5 is an example. In the various examples described herein, modifications and variants of the tiling 201 according to FIG. 5 possible.
  • the voxe size for tiles it would be possible for the voxe size for tiles to be one
  • Hierarchy level to the next hierarchy level scaled according to different factors. This means that the voxesize between tiles on different hierarchy levels can scale non-linearly. This can be advantageous, for example, if large structures (e.g. logic modules or
  • Storage stones are to be mapped, namely in tiles at an upper hierarchical level; and then only two further hierarchy levels for individual transistor rows and memory rows as well as basic geometric shapes such as line or hole) are required.
  • the voxe size scales particularly strongly from the first hierarchical level to the second hierarchical level, for example by a factor of one hundred; while between the second hierarchy level and the third hierarchy level the voxe size only scales moderately, for example by a factor of two. This enables the actual voxesize in the tiles of different hierarchy levels to be adjusted depending on the structure sizes of structures. The same can also be implemented for pixel sizes in 2-D image data sets.
  • Capacitors, vias, gates etc. are typically composed of a relatively limited, common set of shapes from basic geometric shapes.
  • the basic geometric shapes can therefore be functional
  • Form groups i.e. groups composed of basic geometric shapes
  • These small structures are manufactured with particularly high accuracy. Defects rarely occur if the manufacturing process is well defined.
  • This can be used to reduce the size of the stored data. For example, tiles on a lower hierarchical level that represent identical structures could be partially discarded. It is generally possible for at least some tiles on a hierarchy level to be discarded depending on redundancies in the structures shown. This can also be called a dictionary approach: it would be possible for only one representative data record to be saved in the form of a corresponding tile for each structure and for redundant tiles to be discarded. It is then optionally possible that meta data in the
  • an image volume of the 3-D image data set comprises 10,000 holes.
  • a single hole can be represented by a tile of a lower hierarchical level with NMP voxels of suitable voxesize.
  • ABC Voxel shows the entire image volume.
  • a comparatively sensitive or robust definition can be used for redundancies. That is, Different definitions for similarity of structures (which can lead to discarding of tiles) can be used. For example, structures that deviate too much from a class representative can be stored in this way by maintaining the corresponding tile
  • Hierarchical tiling 201 enables particularly efficient processing of the image data record pretreated in this way: Referring again to FIG. 2: after the tiling has been applied to the image data record 100, the image data record is processed in block 1004 using the hierarchical tiling.
  • This processing can be multi-hierarchical: the processing can take place using the hierarchical tiling 201.
  • Image data set can be applied in block 1004.
  • the techniques described herein - i.e. H. especially depending on the information content of the image data set - a certain preference in the
  • FIG. 6 illustrates aspects related to processing a
  • Image data set to which hierarchical tiling was applied This means that the different blocks from FIG. 6 for example in
  • Relation to block 1004 of FIG. 2 could be executed.
  • FIG. 6 variants described for processing the 3-D image data record with hierarchical tiling can be used. Only some of those shown in FIG. 6 reproduced variants can be used. If several variants are used to process the 3-D image data record with hierarchical tiling, the order can vary from that shown in FIG. 6 order shown deviate.
  • the labels can divide the structures into one or more classes from a large number of predefined classes.
  • the labels can therefore be associated with different structure classes. This means that a logical description of structures can be made by the labels. It is not absolutely necessary that information about the position and / or orientation of corresponding structures in the tiles in connection with the labels is also provided. This is optional. For example, it would be possible for the labels to segment the structures in the image space or to provide them with a delimitation box.
  • the labels can be assigned to the structures in block 2001 automatically, semi-automatically or manually.
  • Classification algorithm for a (partially) automatic implementation.
  • an object detection algorithm could be used. This can optionally allow segmentation of the identified structures. While an object detection algorithm without segmentation can, for example, place a so-called delimitation box around the structures, one can Object recognition algorithm with segmentation a particularly fine delimitation of the corresponding structure from the background at the voxel level. Therefore, an object recognition algorithm with segmentation enables particular structures to be extracted particularly precisely.
  • the labels are generally assigned to the structures in the tiles on the several hierarchy levels. Because the tiles on the different hierarchy levels are generally different sizes and also
  • the labels can also vary from hierarchy level to hierarchy level.
  • the labels of the structures in tiles on a lower hierarchical level can be selected from a first set of candidates, which comprises basic geometric shapes (for example holes, lines or points).
  • the labels of the structures in tiles on an upper hierarchical level can be selected from a second set of candidates, which comprises the semiconductor components, a logical group with a plurality of semiconductor components, conductor tracks and / or lithography markers.
  • the available labels can be adjusted depending on the hierarchy level. This can be done based on a database that describes the sample type, cf. TAB. 2nd
  • the labels can be used, for example, to navigate through the image data set. This means that an HMI is appropriate for navigating under
  • Consideration of the labels can be controlled. For example, the user could specify that a certain semiconductor device (i.e. with a certain label) should be displayed. Then she can
  • Corresponding tile which contains the semiconductor component with the corresponding label, via which the HMI is displayed to the user. It would be too it is possible that during the manual navigation through the image data record the labels of the structures located in the area shown are identified so that context information can be provided to the user in this way.
  • Block 2002 describes performing segmentation.
  • the segmentation can also be carried out in connection with the allocation of labels.
  • E.g. simple, exemplary segmentation could associate voxels according to the labels "foreground” and "background".
  • a segmentation could associate voxels according to the labels "foreground” and "background".
  • Segmentation takes place. For example, only areas of one and the same contrasts could be determined in the context of the segmentation in block 2002, but without making a classification. In such an example, too, it can be helpful if the segmentation operates on the basis of the hierarchical tiling 201, i. H. for example, segmentation is carried out in parallel in tiles of different hierarchy levels 251 -253. In this way it can be avoided that the segmentation is influenced by an excessive level of detail of structures at the different hierarchy levels. The segmentation can be carried out particularly quickly.
  • segmented structures can be used in connection with metrology.
  • geometry parameters can be determined and checked.
  • the segmentation can be, for example, an edge extraction along semiconductor layers or a
  • Block 2003 describes how to perform a registration.
  • the registration can take place with reference to a reference data set or other geometry reference data. For example, it may be possible to register the arrangement determine the semiconductor structure in the image data record in relation to a CAD mask file.
  • the registration of structures in the tiles could take place on the multiple hierarchy levels 251-253. This means that the registration can be carried out for each of the different hierarchy levels 251-253.
  • the accuracy of the registration could be refined iteratively.
  • the registration could, for example, be carried out iteratively starting from tiles at a higher hierarchical level 251 to tiles at a lower hierarchical level 252, 253.
  • This can mean that a rough registration is first carried out with the comparatively large voxels of the tiles at the top hierarchical level; and then this rough registration is gradually refined using the increasingly smaller voxels of the tiles at lower levels of the hierarchy. This can enable particularly efficient and quick registration.
  • the extraction of structures takes place in block 2004. For example, anomalies of structures that do not match predetermined reference structures can be identified. It would then be possible that the corresponding tiles, the map such anomalies, extract them and provide the user with a
  • the user can then decide whether a new class has to be defined or whether there is a defect.
  • a region of interest could also be defined.
  • a region of interest could also be defined.
  • Memory modules which are mapped as structures in tiles of an upper hierarchical level, are used to identify the region of interest.
  • CAD model of the semiconductor components could also be created, i.e. a simplified geometric
  • Representation of extracted structures can be positioned on the associated position.
  • a line placeholder could be used.
  • a spline line could be used to represent the edge of a segmented structure. If semiconductor components with multiple layer levels are present, a 2-D segmentation of each individual layer can take place. Then several levels can be created in a CAD model file.
  • Anomaly detection can be carried out in block 2005. Deviations of the structures shown from given references can be recognized here. For this, e.g. segmented structures are used (see blocks 2001 and 2002). For example, the extracted structures can be compared against references to detect anomalies. For example, one
  • Differences are formed and regions with a large difference can be identified as a potential defect.
  • FIG. 7 illustrates aspects related to the allocation of labels
  • FIG. 7 aspects in connection with the allocation of multi-hierarchical labels.
  • the example of FIG. 7 illustrates the assignment of multi-hierarchical labels in connection with a 3-D
  • Image data set corresponding techniques can also be used for a 2-D
  • Image data set can be applied.
  • FIG. 7 a 2-D section through the tile 213 is shown at the top.
  • the tile 213 depicts a structure 401.
  • the label 151 is assigned to the structure 401. This label describes "TRANSISTORZELLE".
  • the tile 213 is on the hierarchy level 251 and also includes the tile 213-2-1 on the hierarchy level 253 (cf. FIG. 5).
  • the tile 213-2-1 depicts a structure 402.
  • the label 152 is assigned a structure 402. This label 152 describes "LOCH”.
  • FIG. 7 a 2-D section through the tile 214 is shown below.
  • the tile 214 depicts a structure 403.
  • the label 153 describes this structure 403
  • the tile 214 on the hierarchy level 251 also includes the tile 214-1-1 on the hierarchy level 253.
  • the tile 214-1-1 depicts the structure 402 which has the label 154 “LOCH”.
  • a multi-hierarchical label 158 “STORAGE CELL LOCH” can be derived from label 153 and label 154. This means that for structures 402 in a tile 213-2-1, 214-1 -1 of a lower hierarchical level 253 labels 151, 153 of structures 401, 403 in a corresponding tile 213, 214 on an upper hierarchical level 251 can be inherited. In this way, the multi-hierarchical, combined label 158, 159 is obtained.
  • Such techniques are based on the knowledge that the information from different hierarchy levels can be combined efficiently by the tiling in order to derive additional information in this way. While in the example of FIG. 7 on the large resolution in the tiles 213, 214 on the hierarchy level 251 differences between the structures 401, 403 are clearly recognizable, the hole structures 402 on the hierarchy level 253 in the tiles 213-2-1, 214-1 -1 indistinguishable without context information. This is because both the
  • Transistor cell, as well as the memory cell contain a hole that is only visible in the finer resolution in the tiles 213-2-1 and 214-1-1 on the hierarchical level 253. These holes 402 are not visible in the rough resolution of the tiles 213, 214 of the hierarchical level 251. By combining this information of the labels 151, 153 in the tiles 213, 214 with the labels 152, 154 in the tiles 213-2-1 and 214-1 - 1, the multi-hierarchical label 158 and 159 can be determined. A distinction can then be made in the analysis. This can be desirable because - despite the similar appearance of the holes 402 in the tiles 213-2-1 and 214-1 -1 - these holes 402 can have different functions in connection with the transistor cell or the memory cell. This means that, for example, tolerance to defects or
  • Impurities can be very different.
  • Multi-hierarchical labels 158-159 can also improve processing capabilities. For example, filter requests can be made specifically. E.g. it may be possible to locate the "STORAGE CELL HOLE” structure with an accuracy of the smallest voxesize in the entire measurement volume ABC. In particular, after extracting the positions of all "STORAGE CELL HOLES" one could examine correlations between the positions without the (in the smallest
  • FIG. 8 is an exemplary flow diagram. For example, the method of FIG. 8 in connection with block 2001 from FIG. 6 are executed.
  • a current hierarchy level 251 -253 is first selected.
  • the top, not yet processed hierarchy level 251 -253 could be selected (i.e., in the first iteration 1501, the top hierarchy level of the tiling 201).
  • labels are assigned to the structures visible in the various tiles at the current hierarchical level.
  • the different tiles could be processed sequentially or in parallel.
  • the labels can be assigned manually. (Partially) automatic allocation of labels is also conceivable, e.g. using a
  • Context information can be determined based on already annotated
  • the context information can e.g. take into account the relationship between the semiconductor components at different levels.
  • a structure "GRABEN” recognized then this can take into account the context information that the corresponding tile (s) of the hierarchy level 252, which contain the structure "GRABEN", are part of a higher hierarchical tile of the hierarchy level 251, which contain the structure "DECK”.
  • Context information can (as a priori knowledge) indicate that the structure "DECK” contains several structures "GRABEN".
  • the context information can be obtained from a database, cf. TAB. 2, can be derived.
  • the annotation can take place particularly reliably and take into account a semantic context (which is made possible by the hierarchical tiling).
  • context reference data could also be taken into account in connection with the context information. This means that, for example for a structure at a higher hierarchy level, a corresponding reference for the geometry can be available and from this reference it can then be derived which structures should be present in the tile at the lower hierarchy level (and possibly also the corresponding position) .
  • blocks 1011-1013 are executed again in a further iteration 1501, if necessary.
  • Hierarchy level annotated as “LOGIC UNIT” (block 1012); in a second iteration 1501, a part of these structures annotated as “LOIGIKEINHEIT” is displayed in one or more tiles of the next lower hierarchical level
  • FIG. 9 is an exemplary flow diagram. For example, the method of FIG. 9 as part of block 1012 of FIG. 8 can be performed.
  • FIG. 9 illustrates aspects related to propagating labels between structures, i.e. the automatic assignment of labels to structures not previously labeled.
  • labels can be propagated between structures. This means that, for example, it is sufficient if only some structures are manually labeled; a corresponding propagation algorithm can then find all structures of the same type and automatically assign appropriate labels.
  • Such a procedure can also be used in connection with multi-hierarchical tiling: Here the labels from one or a few tiles can be propagated to all other tiles of the same hierarchy level.
  • the structures can be indexed when propagating labels between tiles of the same hierarchy level. If, for example, on a Hierarchy level transistor-semiconductor components are indexed, the various transistors could all be given the label "TRANSISTOR", with a running index being incremented at the same time. In this way, a distinction can later be made between the different transistors (see FIG. 13 and FIG. 14).
  • FIG. 9 Such a technique of propagating labels within a hierarchical level is shown in FIG. 9 shown.
  • the blocks from FIG. 9 could e.g. as part of block 1012 in FIG. 8 can be performed.
  • block 1021 a manual annotation of some structures in one or more tiles of the currently active is first
  • Hierarchy level (compare FIG. 8: block 1011).
  • the labels are propagated using a
  • Propagation algorithm 1016 can e.g. include a pattern comparison and / or an object recognition algorithm.
  • Propagation algorithm 1016 could include a classifier.
  • Propagation algorithm 1016 could use machine learning techniques. For example, it would be possible for the propagation algorithm 1016 to operate on threshold segmentation techniques and with detection of connected areas. However, more complicated techniques, for example artificial neural networks with machine learning, can also be used. These artificial neural networks are particularly robust and can be used flexibly. For example, the training of weights of the artificial neural networks can take place on the basis of a training data set.
  • the propagation of the labels can also take into account, for example, geometry reference data for the structures in the tiles on a common level. This means that it can be possible, for example based on CAD files or overview images of an optical microscope, the relative arrangement of to determine comparable structures and then this previous knowledge in
  • a feedback loop with multiple iterations 1502 can be implemented in block 1022 around the propagation of the annotation. This is shown in FIG. 9 in
  • block 1023 it is checked whether the annotation based on the propagation in block 1022 of the current iteration 1502 has sufficient accuracy.
  • the propagation algorithm may then be adapted in block 1024.
  • machine learning techniques such as back propagation, could be used to adjust weights of an artificial neural network that implements the propagation algorithm 1016.
  • FIG. 9 illustrates an interactive online training of the
  • FIG. 10 illustrates a flow diagram of an example method.
  • the 3-D image data record 100 including the tiling and labels applied is obtained in block 1051. This means that the structures contained in the different tiles of the tiling are already provided with labels, for example by using the method according to FIG. 9 - i.e. using the propagation algorithm 1016.
  • Propagation algorithm 1016 take place.
  • the end-to-end training takes place offline, i. H. after the propagation of the labels is complete.
  • Propagation algorithm 1016 created labels with a reference - e.g. a manual verification is carried out.
  • the propagation algorithm is then adapted based on a deviation from block 1052. For the next
  • the propagation algorithm 1016 can be used to carry out the propagation.
  • Multi-hierarchical labels 158, 159 to be assigned to structures in tiles at different hierarchy levels. Due to the large amount of data to be processed, a high degree of automation in the creation of the multi-hierarchical labels 158, 159 is desirable. A corresponding way to
  • Multi-hierarchical labels 158, 159 to determine efficiently is in connection with FIG. 11 described.
  • FIG. 11 is a flowchart of an example method. For example, the method of FIG. 11 blocks 1012 and 1013 from FIG. 8 implement.
  • FIG. 11 illustrates aspects in connection with the determination of labels 151-154 for structures 401-403 and in connection with the determination of combined, multi-hierarchical labels 158, 159.
  • the tiles on the top hierarchical level 251 are selected.
  • label candidates for structures in are determined these tiles on the hierarchy level 251. This can be done semi-automatically or fully automatically.
  • a classifier could be used.
  • the classifier can include an object detection algorithm; of the
  • corresponding object detection algorithm can identify certain probabilities for the classification of the structures. For example, for a particular structure of a tile on the top hierarchical level 251 could be obtained as a result of block 1062: label “STORE”: 40%; Label
  • the basically available labels can e.g. in dependency of
  • Hierarchy level and the sample type can be determined, cf. TAB. 2. This means that due to the respective resolution of the picture elements e.g. It can be specified that at a higher hierarchical level only certain semiconductor components - e.g. Lines or entire logic groups etc. - are visible while on
  • the blocks 1061 and 1062 are then carried out for each of the hierarchy levels 251-253 of the tiling 201. In FIG. 11 this is also for the bottom one
  • Hierarchy level 253 illustrated in connection with blocks 1063 and 1064.
  • the label candidates can then be merged in block 1065.
  • This merger can, on the one hand, make it possible to reduce uncertainties in the determination of the label candidates: this means that from the context information obtained by comparing the label candidates for the structures on different ones
  • Hierarchy levels is obtained, a particularly reliable selection from the various label candidates can be made.
  • a further classification algorithm can be used for this. This can input the label candidates from blocks 1062 and 1064 receive. For example, a plausibility check could be carried out.
  • the context information e.g. based on a comparison with the database as in TAB. 2 shown (which contains the given relationships between the structures or in particular the semiconductor components at the different hierarchical levels), take into account.
  • Context information describes a relationship between the label candidates of the structures in the different hierarchy levels. If e.g. if it is known that "STORE” structures do not contain “HOLES”, this can be taken into account in the merger in block 1065.
  • the award of the "LOGIK” label can be preferred to the award of the "SPEICHER” label.
  • the further classification algorithm can be trained accordingly to take into account the context information for the labels for structures in the tiles on different hierarchy levels.
  • label candidates for structures of the associated tiles different hierarchy levels are determined using one or more first classification algorithms. It may then be possible to determine the labels for the structures in the associated tiles using a second classification algorithm, which receives the label candidates as input.
  • FIG. 12 is a flow diagram of an example method.
  • FIG. 12 illustrates aspects related to registration. For example, that could
  • block 1070 corresponds to block 1011 from FIG. 8th.
  • block 1074 it is checked whether tiles are still to be processed on a further hierarchy level.
  • block 1074 corresponds to block 1014 from FIG. 8. If this is the case, a further iteration 1503 of blocks 1070-1072 is carried out.
  • the multi-hierarchical registration from FIG. So 12 means that it starts at the top hierarchical level (first iteration 1503) and two
  • next lower hierarchy level in the next iteration 1503. By selecting two corresponding tiles (which represent the corresponding volumes) on this next hierarchy level, the registration can be carried out reliably there.
  • the corresponding tiles can be selected on the basis of the rough registration at the top hierarchical level. This process can be repeated iteratively until the lowest hierarchical level is reached.
  • corresponding tiles on the lower hierarchy levels can be used depending on the significance of the structures shown there
  • Registration can be selected.
  • such tiles could be selected that represent structures that can be registered with one another particularly reliably. These are, for example, structures with a high aspect ratio or structures that have a significant anisotropy in the three spatial directions. Irregular structures can be preferred.
  • the selection can e.g. based on the reference data set. E.g. such tiles could be selected for the registration, which represent one or more lithography markers.
  • Such registration can optionally also use lithography markers as structures. This is based on the knowledge that semiconductor structures are often manufactured in layer planes. To align successive Layer planes are used with lithography markers. Such techniques are known in principle. The morphology of lithography markers is typically significantly different from the morphology of semiconductor components or other functional units. The lithography markers can be strong
  • Lithography marks this fluctuation are averaged out. In this way, a particularly precise registration can be made possible, for example in comparison to reference techniques that only use a single lithography marker
  • the registration can be carried out separately for at least one layer level of the semiconductor components. This enables a combination of 1-D / 2-D registration techniques to achieve 3-D registration.
  • a 1-D registration could first be carried out on the layer stack of the semiconductor components (e.g. using a lateral cut through the layer stack). This can define the level normal of the layer stack as a registration component.
  • the individual layer levels of the semiconductor components e.g. using a lateral cut through the layer stack.
  • Semiconductor components are extracted and registered with one another in order to enable 2-D registration orthogonal to the plane normal.
  • Embodiments and aspects of the invention are combined with one another.
  • the features can be used not only in the combinations described, but also in other combinations or on their own, without leaving the field of the invention.
  • 3-D image data sets that represent semiconductor components have been described.
  • Appropriate techniques can also be applied to other types of 3-D image data sets.
  • some techniques in connection with a 3-D image data set have been described above.
  • Corresponding to the techniques can also be used for 2-D image data sets.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

Ein Verfahren umfasst das Erhalten eines Bilddatensatzes (100), der Halbleiter-Bauelemente abbildet. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung (201) auf den Bilddatensatz (100). Dabei weist die Kachelung (201) mehrere Kacheln (211-214, 213-1, 213-2, 213-3, 213-2-1, 214-1-1) auf mehreren Hierarchieebenen (251-253) auf. Die Kacheln (211-214, 213-1, 213-2, 213-3, 213-2-1, 214-1-1) auf unterschiedlichen Hierarchieebenen (251-253) weisen unterschiedliche Bildelementgrößen von entsprechenden Bildelementen (290) auf.

Description

Verarbeitung von Bilddatensätzen
TECHNISCHES GEBIET
Verschiedene Beispiele der Erfindung betreffen im Allgemeinen die Verarbeitung von zwei- oder dreidimensionalen Bilddatensätzen. Verschiedene Beispiele der Erfindung betreffen insbesondere das Anwenden einer hierarchischen Kachelung auf dem zwei- oder dreidimensionalen Bilddatensatz.
HINTERGRUND
Bei der Fertigung von Halbleiter-Bauelementen ist oftmals die Überwachung der Wafer-Prozessierung erforderlich, um Defekte zu erkennen, Ausschuss zu mindern und um Prozesskosten zu senken. Anomalien können identifiziert werden.
Metrologie, d. h. die Vermessung von bestimmten geometrischen Eigenschaften von Strukturen der Halbleiter-Bauelemente auf dem Wafer (etwa Breite, Länge oder Durchmesser), wird ermöglicht.
Durch größere Wafer-Durchmesser und kleinere Strukturgrößen ist die Anzahl von Strukturen auf einem Wafer (oder aber auch auf einem typischen Chip) besonders groß. Die Verarbeitung von entsprechend hochauflösenden Bilddatensätzen ist deshalb aufwendig und speicherintensiv.
Zum Beispiel sind insbesondere dreidimensionale (3-D) Bilddatensätze bekannt, etwa durch Röntgenbildgebung oder eine kombinierte Technik umfassend einen fokussierten lonenstrahl zur Probenpräparation und gescannte
Elektronenmikroskopie (FIB-SEM-Mikroskop). Solche 3-D-Bilddatensätze sind dann besonders groß (d.h. weisen viele Voxel auf) und können mit herkömmlichen
Techniken nur besonders zeitintensiv verarbeitet werden. KURZE BESCHREIBUNG DER ERFINDUNG
Deshalb besteht ein Bedarf für verbesserte Techniken zur Verarbeitung von
Bilddatensätzen, insbesondere von 3-D-Bilddatensätzen, welche Halbleiter- Bauelemente abbilden. Insbesondere besteht ein Bedarf für solche Techniken, welche die Verarbeitung von großen Bilddatensätzen mit vielen Bildelementen ermöglichen.
Diese Aufgabe wird von den Merkmalen der unabhängigen Patentansprüche gelöst. Die Merkmale der abhängigen Patentansprüche definieren Ausführungsformen.
Ein Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz. Die Kachelung weist mehrere Kacheln auf mehreren Hierarchieebenen auf. Kacheln unterschiedlicher
Hierarchieebenen weisen unterschiedliche Bildelementgrößen der entsprechenden Bildelemente auf.
Je nach Dimensionalität des Bilddatensatzes - das heißt 3-D oder zweidimensional (2-D) - kann auch die Dimensionalität der Kacheln variieren.
Das Anwenden der hierarchischen Kachelung auf den Bilddatensatz kann einer Zerlegung des Bilddatensatz in Kacheln auf den mehreren Hierarchieebenen und gemäß der Kachelung entsprechen. Die Kachelung kann also einer Regel zur Zerlegung in die Kacheln entsprechen.
Ein Computerprogramm oder ein Computerprogramm-Produkt oder ein
computerlesbares Speichermedium umfasst einen Programmcode. Der
Programmcode kann von einem Prozessor geladen und ausgeführt werden. Dies bewirkt das Ausführen eines Verfahrens. Das Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente, insbesondere auch Bauelemente innerhalb eines integrierten Schaltkreises, ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz. Die Kachelung weist mehrere Kacheln auf mehreren Hierarchieebenen auf. Kacheln unterschiedlicher Hierarchieebenen weisen unterschiedliche Bildelementgrößen auf.
Ein Prozessor ist eingerichtet, um Programmcodes aus einem Speicher zu laden und auszuführen. Dies bewirkt das Ausführen eines Verfahrens. Das Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz. Die Kachelung weist mehrere Kacheln auf mehreren
Hierarchieebenen auf. Kacheln unterschiedlicher Hierarchieebenen weisen unterschiedliche Bildelementgrößen auf.
Die oben dargelegten Merkmale und Merkmale, die nachfolgend beschrieben werden, können nicht nur in den entsprechenden explizit dargelegten Kombinationen verwendet werden, sondern auch in weiteren Kombinationen oder isoliert, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen.
KURZE BESCHRIBUNG DER FIGUREN
FIG. 1 illustriert schematisch ein System mit einer bildgebenden Einheit und einer Recheneinheit gemäß verschiedenen Beispielen.
FIG. 2 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 3 illustriert das Anwenden einer hierarchischen Kachelung auf einen 3-D- Bilddatensatz gemäß verschiedenen Beispielen.
FIG. 4 illustriert das Anwenden einer hierarchischen Kachelung auf einen 3-D- Bilddatensatz gemäß verschiedenen Beispielen.
FIG. 5 illustriert schematisch verschieden Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
FIG. 6 illustriert schematisch verschiedene Aspekte zur Datenverarbeitung gemäß verschieden Beispielen. FIG. 7 illustriert schematisch Strukturen in Kacheln auf unterschiedlichen Flierarchieebenen sowie multihierarchische Labels für die Strukturen gemäß verschiedenen Beispielen.
FIG. 8 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 9 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 10 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 11 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 12 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG 13 illustriert schematisch verschiedene Hierarchieebenen von Halbleiter- Bauelementen und korrelierende Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
FIG 14 illustriert schematisch verschiedene Hierarchieebenen von Halbleiter- Bauelementen und korrelierende Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der
Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden.
Nachfolgend wird die vorliegende Erfindung anhand bevorzugter Ausführungsformen unter Bezugnahme auf die Zeichnungen näher erläutert. In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder ähnliche Elemente. Die Figuren sind schematische Repräsentationen verschiedener Ausführungsformen der Erfindung. In den Figuren dargestellte Elemente sind nicht notwendigerweise maßstabsgetreu dargestellt. Vielmehr sind die verschiedenen in den Figuren dargestellten Elemente derart wiedergegeben, dass ihre Funktion und genereller Zweck dem Fachmann verständlich wird. In den Figuren dargestellte Verbindungen und Kopplungen zwischen funktionellen Einheiten und Elementen können auch als indirekte
Verbindung oder Kopplung implementiert werden. Eine Verbindung oder Kopplung kann drahtgebunden oder drahtlos implementiert sein. Funktionale Einheiten können als Flardware, Software oder eine Kombination aus Flardware und Software implementiert werden.
Nachfolgend werden Techniken im Zusammenhang mit der Verarbeitung von
Bilddatensätzen beschrieben.
Als allgemeine Regel können mittels der hierin beschriebenen Techniken
unterschiedlichste Arten von Bilddatensätzen verarbeitet werden. Beispielsweise könnten zweidimensionale (2-D) Bilddatensätze verarbeitet werden. Es können aber auch 3-D Bilddatensätze verarbeitet werden. Im Fall von 2-D Bilddatensätzen werden die Bildelemente durch Pixel gebildet und im Fall von 3-D Bilddatensätzen werden die Bildelemente durch Voxel gebildet.
Die nachfolgend beschriebenen Techniken werden primär im Zusammenhang mit 3- D Bilddatensätzen beschrieben, wobei entsprechende Techniken auch entsprechend auf 2-D Bilddatensätze angewendet werden können.
Der 3-D-Bilddatensatz kann eine Erstreckung in alle drei Raumdimensionen aufweisen. Dies bedeutet, dass der 3-D-Bilddatensatz mehrere Voxel aufweisen kann. Ein Voxel kann als das 3-D-Äquivalent eines 2-D-Pixels beschrieben werden. Der Voxel und der Pixel sind Bildelemente. Ein Voxel kann einen bestimmten
Kontrast aufweisen, der indikativ für den vom Voxel abgebildeten Raumbereich ist. Ein Voxel hat drei Seiten mit bestimmten Kantenlängen. Z.B. können die Voxel in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Kantenlängen haben, z.B. im Bereich von nm bis mm. Die hierin beschriebenen Techniken können in unterschiedlichen
Anwendungsgebieten eingesetzt werden. Als allgemeine Regel können
unterschiedliche Typen von Strukturen durch den 3-D-Bilddatensatz abgebildet werden. Beispielsweise wäre es möglich, dass der 3-D-Bilddatensatz organische Proben (zum Beispiel in der Lichtblatt-Mikroskopie, engl „light-sheet microscopy“), die Anatomie eines Patienten (bei der Computertomographie-Bildgebung oder der Magnetresonanz-Bildgebung), Werkstücke (zerstörungsfreie Röntgenbildgebung etwa bei der Überprüfung von Turbinenblättern etc.), Radarmessungen, oder auch Halbleiter-Bauelemente (etwa FIB-SEM-Bildgebung oder Röntgenbildgebung) abbildet. Nachfolgend wird aus Gründen der Einfachheit vornehmlich Bezug genommen auf 3-D-Bilddatensätze, welche Halbleiter-Bauelemente abbilden. Die entsprechenden Techniken können aber auch auf andere Anwendungsgebiete übertragen werden. Ein 2-D Bilddatensatz kann z.B. mit einem gescannten
Elektronenstrahlmikroskop (engl scanning electrone microscope, SEM) erhalten werden.
Halbleiter-Bauelemente können z.B. aus folgenden Gruppen ausgewählt sein:
Speichergruppen; Speicherzellen; Transistoren; Gate; Logikgatter; Vias;
Leiterbahnen; Chips; Dies;„Die-Streets“; Transistor-Kontakte wie Gate, Source, Drain; Gräben oder Löcher; usw.
Je nach Anwendungsgebiet können unterschiedliche bildgebende Verfahren
(Bildgebungsmodalität) zum Erfassen des Bilddatensatzes eingesetzt werden. Bei einem 2-D Bilddatensatz könnte z.B. ein Vielstrahl-SEM (mSEM) verwendet werden. Bei einem 3-D Bilddatensatz könnte etwa FIB-SEM-Bildgebung bei Halbleiter- Bauelementen verwendet werden. Solche und andere Verfahren zur Erfassung von Bilddatensätzen sind im Grundsatz bekannt. Beispiele umfassen zum Beispiel die Hellfeld-Inspektion. Eine SEM-Bildgebung ist möglich. Tunnel- Elektronenmikroskop(TEM)-Lamellen können präpariert und abgebildet werden. Die hierin beschriebenen Techniken können kombiniert werden mit den
unterschiedlichen bildgebenden Verfahren.
Verschiedene Beispiele beruhen auf der Erkenntnis, dass eine geeignete
Strukturierung des Bilddatensatzes als Eingabedaten für einen Verarbeitungsalgorithmus die effiziente Verarbeitung des Bilddatensatzes fördern kann. Eine geeignete Strukturierung des Bilddatensatzes kann auch die logische Verknüpfung von Strukturen des Bilddatensatzes ermöglichen. Derart können Defekte besser gefunden und klassifiziert werden. Außerdem kann mittels der hierin beschriebenen Techniken das Navigieren durch einen Bilddatensatz gefördert werden, indem - mittels der hierarchischen Kachelung - jeweils Kontextinformation über die Position einer entsprechenden einen Teil eines Halbleiter-Bauelements abbildenden Struktur in einer komplexen Architektur von ein oder mehreren
Halbleiter-Bauelementen indiziert werden kann. Auch kann es möglich sein, gezielt bestimmte Halbleiter-Bauelemente aufzufinden, indem unter Verwendung der hierarchischen Kachelung gezoomt wird.
Typische 3-D-Bilddatensätze können zum Beispiel eine Anzahl von 6000 x 6000 x 1000 Voxel aufweisen. Als allgemeine Regel kann die Voxeianzahl im Sinne der vorliegenden Beschreibung die Anzahl von Voxeln in einem abgebildeten 3-D- Volumen (Bildvolumen) beschreiben. Dies bedeutet, dass die Voxeianzahl äquivalent zur Anzahl von Pixeln eines 2-D-Bilds sein kann. Die Anzahl von Voxeln in den verschiedenen Raumrichtungen wird nachfolgend zum Beispiel als (A, B, C) bezeichnet. Dann ist die gesamte Voxeianzahl im Datensatz ABC.
Gemäß verschiedener Beispiele wird eine hierarchische Kachelung auf einen 2-D- oder 3-D-Bilddatensatz angewendet. Die Kachelung weist mehrere Hierarchieebenen auf. Unterschiedliche Kacheln sind in unterschiedlichen Hierarchieebenen
zugewiesen. Kacheln auf unterschiedlichen Hierarchieebenen weisen
unterschiedliche Bildelementgrößen auf, d.h. unterschiedliche Kantenlängen von Voxeln oder Pixeln.
Die Kachelung kann Assoziierungen zwischen den Kacheln beschreiben. Die
Kachelung kann z.B. durch eine Baumstruktur beschrieben werden. Die
Baumstruktur kann eine hierarchische Anordnung der Kacheln definieren. Dabei kann eine Kachel einer bestimmten Hierarchieebene mehrere Kacheln auf einer niedrigen Hierarchieebene umfassen; und kann in einer Kachel einer höheren Hierarchieebene beinhaltet sein. Die Kacheln (engl „bricks“) können 2-D- oder 3-D-Teilbereiche eines Bildvolumens (engl „field of view“) des 2-D- oder 3-D-Bilddatensatzes abbilden. Jede Kachel kann eine Anzahl von Pixeln bzw. Voxeln einer bestimmten Größe aufweisen. Die Kacheln könnten unterschiedliche oder gleiche Kantenlängen entlang der zwei bzw. drei Raumrichtungen aufweisen.
Die Pixelgröße bzw. Voxeigröße korreliert als allgemeine Regel mit einer
Auflösung/Abtastung, mit der Strukturen dargestellt werden können. Die Pixelgröße bzw. Voxeigröße kann durch die Kantenlänge eines Pixels bzw. Voxels in den verschiedenen Raumrichtungen beschrieben werden. Typische Kantenlängen liegen z.B. im Bereich von nm bis mm - in Abhängigkeit der jeweiligen Hierarchieebene auf der die entsprechende Kachel ist. Um unterschiedliche Pixelgrößen bzw.
Voxeigrößen zu erhalten, kann eine Abwärtswandlung verwendet werden. Zum Beispiel können die Kacheln auf einer oberen Hierarchieebene eine größere
Pixelgröße bzw. Voxeigröße aufweisen, als die Kacheln auf einer unteren
Hierarchieebene. Dies bedeutet in anderen Worten, dass die Kacheln auf der unteren Hierarchieebene Strukturen mit größerem Detail bzw. einer höheren
Auflösung abbilden können, als die Kacheln auf einer oberen Hierarchieebene. Die Pixelgröße bzw. Voxeigröße korreliert mit der von einer Kachel sichtbaren bzw.
erkennbaren minimalen Strukturgröße.
Die Abwärtswandlung (engl „downsampling“) beschreibt im Allgemeinen das
Herabsetzen der Auflösung eines Bilddatensatzes. Dies bedeutet, dass die
Pixelgröße bzw. Voxeigröße heraufgesetzt wird, zum Beispiel indem die Pixel bzw. Voxel auf ein gröberes Gitter interpoliert werden, nur jeder n-te Pixel bzw. Voxel beibehalten wird oder eine Mittelung erfolgt.
In dem die Hierarchie der Kachelung verwendet wird, kann ein logisches Verknüpfen von Strukturen, die Strukturgrößen aufweisen, die den Bildelementgrößen der Kacheln auf den unterschiedlichen Hierarchieebenen entsprechen, effizient ermöglicht werden. Außerdem kann ein effizientes Navigieren durch den
Bilddatensatz ermöglicht werden. Das Navigieren kann z.B. durch Ansteuerung einer Mensch-Maschinen-Schnittstelle (HMI) ermöglicht werden. Der Speicherbedarf während des Navigierens im Bilddatensatz kann limitiert werden: z.B. können jeweils nur relevante Kacheln im Arbeitsspeicher gehalten werden. Zum Beispiel können die Pixel/Voxel einer bestimmte Kachel über die HMI an den Benutzer ausgegeben werden; dann wäre es denkbar, dass alle innerhalb dieser Kachel beinhalteten weiteren Kacheln auf niedrigeren Hierarchieebenen bereits prospektiv in den
Arbeitsspeicher geladen werden.
Als Beispiel für das effiziente Navigieren durch den 3-D-Bilddatensatz wird folgendes Szenario beschrieben: beispielsweise könnte die Gate-Isolierung für Transistoren in bestimmten Speicherelementen geprüft werden. Dazu kann es vorteilhaft sein, wenn zum Beispiel solche Transistoren mit einem möglichen Defekt (beispielsweise mittels eines maschinengelernten Algorithmus identifiziert) nacheinander dem Experten visuell ausgegeben werden und basierend darauf eine visuelle Prüfung durchgeführt werden kann. Gleichzeitig kann jeweils der Kontext des jeweiligen Transistors ausgegeben werden, das heißt zum Beispiel die höher hierarchischen Halbleiter- Bauelemente identifiziert werden, zu denen der jeweilige Transistor gehört (also z.B. Die[7]-Trench[3]-Speicherzelle[5] usw.). Anhand einer solchen Information zum Kontext des jeweiligen Transistors kann erstens eine schnelle Wiederauffindbarkeit des Defekts gewährleistet werden. Zweitens kann der Kontext des jeweiligen
Transistors bei der Prüfung berücksichtigt werden, um zum Beispiel bestimmte Abhängigkeiten einer Defekthäufigkeit vom Kontext zu identifizieren. Der Kontext kann durch ein multihierarchisches Label bereitgestellt bzw. indiziert werden. Details zum Annotieren von Labels werden nachfolgend beschrieben.
Beispielsweise können Labels an Strukturen in verschiedenen Kacheln vergeben werden. Als allgemeine Regel bezeichnet ein Label die logische Klassifikation einer Struktur. Unterschiedliche Struktur-Typen können unterschiedliche Labels erhalten. Als allgemeine Regel können die Struktur-Typen z.B. eine Gesamtansicht der Halbleiter-Bauelemente umfassen, oder Teile der Halbleiter-Bauelemente (wobei Teile der Halbleiter-Bauelemente wiederum als eigenständige Halbleiter- Bauelemente bezeichnet werden können, z.B. Schicht - Trench - Transistor - Gate), oder auch andere Merkmale, etwa Lithographie-Marker, Defekte, Verunreinigungen, usw. Ein Label kann auch die Position einer Struktur indizieren, zum Beispiel mittels einer Begrenzungs-Box (engl „bounding box“) oder durch Segmentierung auf Voxel- Ebene. Das bedeutet also allgemein gesprochen, dass ein Label auch benutzt werden kann, um einen positionierten und räumlich abgegrenzten Bereich (z.B. durch eine bounding box mit Mittelpunkts- oder Eckkoordinate oder durch eine Segmentierung mit ihrem Schwerpunkt) zu indizieren.
Annotierung bezeichnet den Prozess der Vergabe von Labels an Strukturen. Die Vergabe von Labels an Strukturen kann in den verschiedenen Beispielen manuell, teilautomatisch oder vollautomatisch erfolgen. Die Vergabe von Labels kann zum Beispiel die Vererbung und/oder Propagation von Labels zwischen assoziierten Strukturen beinhalten. Z.B. kann im Rahmen der Annotierung eine Objekterkennung oder im Allgemeinen eine Klassifikation verwendet werden.
Objekterkennung bezeichnet typischerweise den automatisierten Prozess der Erkennung von Strukturen und dem Versehen von Labels mit einem geeigneten Objekterkennungsalgorithmus. Auch eine Segmentierung ist im Rahmen der
Objekterkennung möglich.
Die Klassifikation bezeichnet typischerweise das Bilden von Klassen von
vergleichbaren Strukturen. Klassen können durch einen Klassen-Repräsentanten identifiziert werden. Strukturen, die vergleichbar mit dem Repräsentanten sind bzw. im Zusammenhang mit einer vorgegebenen Metrik eine besonders große Ähnlichkeit aufweisen, können der entsprechenden Klasse zugewiesen werden. Andere
Strukturen, die keine solche große Ähnlichkeit aufweisen, können der Klasse nicht zugewiesen werden. Durch die Klassifizierung kann das Vergeben von Labels ermöglicht werden. Die Labels können zum Beispiel die Zuordnung zu den verschiedenen Klassen beschreiben.
Die Kachelung kann aber nicht nur zur effizienten Vergabe von Labels verwendet werden. Alternativ oder zusätzlich kann auch eine Registrierung des Bilddatensatzes an einem Referenzdatensatz - etwa Geometriereferenzdaten wie z.B. CAD-Files oder mit einem optischen Mikroskop erfasste Übersichtsbilder - ermöglich werden. Die Registrierung bezeichnet typischerweise Entfernen von translatorischen
Verschiebungen und/oder Rotationen und/oder Skalierung zwischen zwei
Datensätzen. Durch die Registrierung kann eine Zuordnung zwischen Bildelementen des ersten Datensatz zu den Bildelementen des zweiten Datensatzes erhalten werden, wobei die Größe der Bildelemente in beiden Datensätzen verschieden sein kann.
FIG. 1 illustriert schematisch ein System 90 gemäß verschiedenen Beispielen. Das System 90 umfasst eine bildgebende Einrichtung 91 , im Beispiel der FIG. 1 ein FIB- SEM-Mikroskop. Dieses kann zum Beispiel Tunnel-Elektronenmikroskop-Lamellen präparieren oder durch„slice and image“ (sequentielles Abtragen von Schichten durch FIB und jeweils erfassen eines SEM-Bilds) einen 3-D-Bilddatensatz 100 eines Probenobjekts erzeugen. Typischerweise könnte das Probenobjekt zum Beispiel ein Wafer oder ein Chip sein.
Als allgemeine Regel können unterschiedliche bildgebende Einrichtungen 91 verwendet werden. Einige Beispiele sind in TAB. 1 nachfolgend illustriert:
Figure imgf000012_0001
Figure imgf000013_0001
Figure imgf000014_0001
Bei einem mSEM handelt es sich um ein Mikroskop, das geladene Partikel verwendet. Insbesondere werden Elektronen verwendet. Dabei wird beispielsweise ein Wafer mit einem Array von Elektronenstrahlen beleuchtet, zum Beispiel mit mehr als 40 oder sogar mehr als 90 Elektronenstrahlen. Diese primäre Beleuchtung kann zusammen über das Probenobjekt gescannt werden. Dadurch kann ein besonders großes Bildfeld durch Kombination von Signalen, die durch die verschiedenen Elektronenstrahlen hervorgerufen werden, erzielt werden. Das Bild wird basierend auf Sekundärpartikeln oder Sekundärstrahlung, die vom Probenobjekt auf Grund der primären Beleuchtung emittiert werden/wird, gebildet. Die Sekundärpartikel bzw. die Sekundärstrahlung kann in Form von sekundären Elektronen, rückgestreuten Elektronen, Röntgenstrahlung und/oder Lumineszenz-Strahlung vorliegen. Die Zusammensetzung, Energie und der Winkel der Sekundärstrahlung kann durch Einstellung der Energie der Primärstrahlung beeinflusst werden und ist ein Indikator für die Materialzusammensetzung und Oberflächenqualität der Oberfläche des Probenobjekts. Typischerweise ist das aggregierte Bildfeld besonders groß, zum Beispiel im Bereich von 100 pm x 100 pm oder sogar von 120 pm x 120 pm.
Der Bilddatensatz 100 wird dann an eine Recheneinheit 80 übertragen. Die
Recheneinheit 80 umfasst eine Kommunikationsschnittstelle 81 , um den
Bilddatensatz 100 zu empfangen. Außerdem umfasst die Recheneinheit 80 auch einen Prozessor 82 und einen Speicher 83. Der Prozessor 82 könnte zum Beispiel eine CPU und/oder eine GPU umfassen. Der Prozessor 82 kann Programmcodes aus dem Speicher 83 laden und ausführen. Dann kann der Prozessor 82
verschiedene hierin beschriebene Verfahren im Zusammenhang mit der
Verarbeitung des Bilddatensatzes ausführen. Zum Beispiel könnte der Prozessor 82 auf Grundlage des Programmcodes eine hierarchische Kachelung auf den
Bilddatensatz 100 anwenden. Während FIG. 1 ein Szenario illustriert, in dem die Recheneinheit separat von der bildgebenden Einrichtung 91 ausgebildet ist, können diese auch integriert
bereitgestellt werden.
FIG. 2 ist ein Flussdiagramm eines beispielhaften Verfahrens. Das Verfahren gemäß FIG. 2 kann von einem Prozessor basierend auf Programmcodes ausgeführt werden. Zum Beispiel könnte das Verfahren gemäß FIG. 2 vom Prozessor 82 basierend auf einem Programmcode, der aus dem Speicher 83 geladen wird, ausgeführt werden. In FIG. 2 sind optionale Blöcke mit gestrichelten Linien dargestellt.
Zunächst erfolgt im optionalen Block 1001 das Erfassen eines Bilddatensatzes.
Beispielsweise kann ein 3-D Bilddatensatz erfasst werden. Dieser bildet ein
Bildvolumen ab. Der 3-D-Bilddatensatz weist eine Anzahl von ABC-nativen Voxeln auf. Es könnte auch ein 2-D Bilddatensatz erfasst werden, der ein bestimmtes Bildfeld abbildet.
Dann erfolgt im Block 1002 das Erhalten des Bilddatensatzes. Block 1002 kann eine Übertragung umfassen (vgl. FIG. 1 ). Block 1002 kann zum Beispiel im
Zusammenhang mit einem bestimmten Speicherformat, d. h. einem bestimmten Container bzw. Format von Datenpaketen, in dem der Bilddatensatz beinhaltet ist, definiert sein.
Dann erfolgt im Block 1003 das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz aus Block 1002. Dabei werden durch die Kachelung mehrere
Hierarchieebenen definiert. Die im Bilddatensatz beinhaltete Information wird dabei im Zusammenhang mit Pixeln oder Voxeln strukturiert, welche in Kacheln auf den verschiedenen Hierarchieebenen beinhaltet sind. Die Pixel bzw. Voxel der
verschiedenen Kacheln können von den nativen Pixeln bzw. Voxeln des 2-D oder 3- D-Bilddatensatzes abweichen.
Als allgemeine Regel muss das Speicherformat des Bilddatensatzes vor und nach der Kachelung nicht notwendigerweise korrelieren mit der hierarchischen Kachelung. Zum Beispiel könnten separate Steuerdaten erstellt werden, welche die
hierarchische Kachelung im Zusammenhang mit dem Bilddatensatz implementieren. Jede Kachel kann eine bestimmte Anzahl von Bildelementen, d.h. Pixelanzahl oder Voxeianzahl, aufweisen. Z.B. können die Kacheln derselben Hierarchieebene dieselbe Bildelementanzahl aufweisen.
Die Bildelemente auf einer oberen Hierarchieebene weisen eine längere
Kantenlänge auf, als die Bildelemente auf einer unteren Hierarchieebene. D.h., die Bildelementgröße nimmt hin zu oberen Hierarchieebenen zu.
Die Kacheln auf einer oberen Hierarchieebene umfassen mehrere Kacheln einer unteren Hierarchieebene. D.h. die Kantenlänge der Kacheln nimmt hin zu oberen Hierarchieebenen zu.
Insbesondere kann die Abtastung mit den Strukturen auf den Bildelementen der oberen Hierarchieebene wiedergegeben werden, also niedriger sein als die native Auflösung des Bilddatensatzes. Dies kann eine Mittelung oder eine andere Technik der Abwärtswandlung von Information in dem Bilddatensatz im Rahmen von Block
1002 erforderlich machen, um einen Kontrastwert für die Bildelemente auf oberen Hierarchieebenen zu erhalten.
Nachfolgend werden im Zusammenhang mit den FIGs. 3, 4 und 5 Details zu Block
1003 beschrieben, d.h. zum Anwenden der Kachelung. Zum Beispiel ist in FIG. 3 links ein 3-D-Bilddatensatz 100 dargestellt. Dieser weist eine Anzahl von (A, B, C) Voxeln auf (in FIG. 3 sind die Voxel nicht eingezeichnet).
In FIG. 3 ist rechts die Kachelung 201 dargestellt und zwar insbesondere auf der obersten Hierarchieebene 251. Es befinden sich acht Kacheln 21 1 -214 auf der obersten Hierarchieebene der Kachelung 201 (in FIG. 3 sind aus Gründen der Einfachheit rechts aber nur vier Kacheln 21 1 -214 dargestellt, wobei in FIG. 3 links die acht Kacheln mit gestrichelten Linien dargestellt sind).
Die Zerlegung des Bildvolumens des 3-D-Bilddatensatzes 100 in acht Kacheln ist aber nur ein Beispiel. Es könnten auch andere Kantenlängen für die Kacheln 21 1 - 214 verwendet werden. FIG. 3 illustriert Kacheln 211-214 der obersten Hierarchieebene 251. Die Zerlegung kann hin zu niedrigeren Hierarchieebenen fortgesetzt werden: In FIG. 4 ist wiederum eine weitere Zerlegung der Kachel 213 aus Hierarchieebene 251 dargestellt. In FIG.
4 ist gezeigt, dass eine Kachel 213-1 auf der nächst niedrigeren Hierarchieebene 252 als Teilvolumen des (Teil-)volumens der Kachel 213 definiert ist.
In FIG. 4 ist auch dargestellt, dass die Kachel 213-1 eine Anzahl von Voxel 290 umfasst. Es ist auch die Voxeigröße 291 - hier als Kantenlänge der Voxel 290 - dargestellt. Die Voxeianzahl pro Kachel 213-1 kann von Hierarchieebene zu
Hierarchieebene 251 , 252 variieren oder kann auch konstant gewählt sein.
FIG. 5 illustriert Aspekte im Zusammenhang mit der geschachtelten, hierarchischen Struktur der Kachelung 201. FIG. 5 illustriert die Baumstruktur der Kachelung 201. In FIG. 5 ist gezeigt, wie die Kacheln ausgehend von der oberen Hierarchieebene 251 hin zu den unteren Hierarchieebenen 252, 253 auseinander abgeleitet bzw. als Teilvolumina definiert werden, um die Hierarchie zu definieren. Zum Beispiel ist in FIG. 5 dargestellt, dass die Kacheln 213-1 - 214-3 jeweils aus der Kachel 213 abgeleitet werden, d.h. unterschiedliche Teilvolumina des Volumens der Kachel 213 beinhalten. Dies entspricht - allgemeingültig formuliert - einer Schachtelung der Kacheln unterschiedlicher Hierarchieebenen.
Solche Techniken beruhen auf der Erkenntnis, dass ein kompletter 3-D-Bilddatensatz 100 mit einer Anzahl von ABC Voxeln 290 (vgl. FIG. 3) typischerweise nicht in den Speicher eines Prozessors im Zusammenhang mit der Verarbeitung passt (vgl. FIG. 1 ). Selbiges gilt für großflächige 2-D-Bilddatensätze. Andererseits sind Defekte nur in einem kleinen Teilbereich des Bildfelds bzw. Bildvolumens beinhaltet, zum Beispiel bis hin zu wenigen NMP Voxeln, wobei N, M, P jeweils ungefähr 30 oder weniger ist. Zum Untersuchen von Eigenschaften dieser Defekte ist typischerweise nur der entsprechende Bruchteil von Bildelementen des gesamten Bilddatensatzes benötigt. Ein solcher geringer Bruchteil kann ohne weiteres im Arbeitsspeicher gehalten werden. Zum Beispiel können die Kacheln Teile des gesamten abgebildeten
Bereichs des Bilddatensatzes beinhalten. Zum Beispiel können die Kacheln zusammen mit ihrer Position im gesamten abgebildeten Volumen gespeichert werden. Die Kacheln können so gespeichert werden, dass die in den Kacheln beinhalteten Voxel individuell verarbeitet werden können.
In manchen Beispielen kann es erstrebenswert sein, dass benachbarte Kacheln einen bestimmten Überlappbereich aufweisen (ein solcher Überlappbereich ist in den Beispielen der Figuren 3-5 nicht gezeigt). Manche Algorithmen, die im
Zusammenhang mit der Verarbeitung eingesetzt werden können, können durch den Überlapp besonders genau operieren. Ein Beispiel wäre ein Glättungsalgorithmus.
Nachfolgend wird ein praktisches Beispiel im Zusammenhang mit der Anwendung der hierarchischen Kachelung gegeben. Dieses Beispiel betrifft die Erkennung eines Defekts in einem Transistor-Gate als Halbleiter-Bauelement. Wenn das Gate eine Strukturgröße aufweist, die in eine Kachel mit NMP Voxeln auf einer entsprechenden Hierarchieebene passt, können alle Kacheln der entsprechenden Hierarchieebene im Zusammenhang mit der Erkennung eines Transistor-Gates individuell verarbeitet werden. Zum Beispiel könnte zunächst überprüft werden, ob eine bestimmte Kachel der entsprechenden Hierarchieebene ein Transistor-Gate abbildet. Sofern dies zutrifft, kann dann überprüft werden, ob ein Defekt vorliegt oder nicht. In einem solchen Prozess können die einzelnen Kacheln sequenziell oder parallel verarbeitet werden. Die Parallelisierung kann zum Beispiel auf einer GPU besonders effizient implementiert werden. Ohne eine geeignete Kachelung des Abbildungsvolumens kann es mit limitierten Rechenressourcen sogar unmöglich werden, die Defekte zu erkennen.
Das Anwenden der Kachelung auf den Bilddatensatz kann ohne Informationsverlust geschehen. Zum Beispiel könnte die Voxeigröße der Voxel 290 in Kacheln 213-2-1 auf der untersten Hierarchieebene 253 (vgl. FIG. 5) gleich der nativen Voxeigröße des 3-D-Bilddatensatzes sein. Damit der Kontext von Strukturen, die von einer einzelnen Kachel abgebildet werden, nicht verloren geht, kann der hierarchische Ansatz gemäß FIG. 5 verwendet werden (d.h. eine Schachtelung der Kacheln der verschiedenen Hierarchieebenen ineinander). Ohne den hierarchischen Ansatz könnte zum Beispiel nicht festgestellt werden, ob eine Linien-Struktur, die durch eine Kachel auf der untersten Hierarchieebene abgebildet wird, Teil eines Logik- Halbleiter-Bauelements oder Teil eines Speicherbausteins ist. Durch den hierarchischen Ansatz kann aber eine Beziehung zwischen Strukturen in Kacheln auf unterschiedlichen Hierarchieebenen zurückverfolgt werden.
Um eine besonders gute Korrespondenz zwischen dem von den Kacheln einer jeweiligen Hierarchieebene abgebildeten Teilbereichen des Messvolumens und physikalisch-technisch relevanter Information im Zusammenhang mit Strukturen zu ermöglichen, kann es als allgemeine Regel möglich sein, dass die Bildelementgröße der Kacheln auf den Hierarchieebenen in Übereinstimmung mit bzw. basierend auf den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden. Es können auch die Hierarchieebenen selbst, d.h. z.B. die Anzahl der Hierarchieebenen, in
Übereinstimmung mit den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden. Es wäre auch denkbar, dass die Kachelgrößen in Übereinstimmung mit den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden.
Zum Beispiel wäre es möglich, dass der Benutzer über eine HMI einen zu
untersuchenden Probentyp der abgebildeten Probe, die die Halbleiter-Bauelemente umfasst, spezifiziert. Der Probentyp könnte aber auch basierend auf einer
Objekterkennung, etwa in einem 2-D Übersichtsbild, bestimmt werden. Der
Probentyp könnte auch durch einen Arbeitsablauf oder Kontext bestimmt werden. Je nach Probentyp kann dann festgelegt sein, welche Halbleiter-Bauelement-Typen im jeweiligen Probentyp vorhanden sind. Die verschiedenen Halbleiter-Bauelement- Typen können wiederum in der Datenbank mit typischen Strukturgrößen verknüpft sein. Dann können anhand dieser in der Datenbank hinterlegten Strukturgrößen die Hierarchieebenen und die zugehörigen Bildelement-Größen bestimmt werden.
Alternativ oder zusätzlich wäre es auch möglich, dass die Bildelementanzahl der Kacheln auf den Hierarchieebenen basierend auf den Strukturgrößen der Halbleiter- Bauelemente bestimmt wird, d.h. z.B. die Anzahl von Pixeln oder Voxeln pro Kachel. Dies bedeutet, in anderen Worten, dass eine Größe der Kacheln basierend auf den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden kann, z.B.
insbesondere basierend auf einer Außenabmessung und/oder eines Abstands zwischen Halbleiter-Bauelementen desselben Typs. Auch solche Information kann in der Datenbank hinterlegt sein, jeweils zugeordnet zu einem entsprechenden Probentyp. Es ist dann möglich, dass die entsprechende bildgebende Einrichtung 91 geeignet angesteuert wird, etwa in Block 1001 (cf. FIG. 2).
In der folgenden TAB. 2 ist eine beispielhafte Implementierung ein einer solchen Datenbank, die das Bestimmen der Bildelementgröße und/oder der
Bildelementanzahl der Kacheln auf den mehreren Hierarchieebenen und/oder der Hierarchieebenen selbst ermöglicht. Es wäre z.B. möglich, die Strukturgrößen der Halbleiter-Bauelemente dann in einer solchen Datenbank nachzuschlagen und dann die Voxeigröße entsprechend zu bestimmen. Zum Beispiel wäre es denkbar, dass in einer solchen Datenbank jeweils indiziert ist, welche Halbleiter-Bauelement-Typen auf einer bestimmten Hierarchieebene zu erwarten sind. Dann kann die jeweilige Strukturgröße dieser Halbleiter-Bauelement-Typen identifiziert werden und es kann eine geeignete Konfiguration der oben genannten Parameter erfolgt.
Figure imgf000020_0001
Figure imgf000021_0001
TAB. 2: Beispiel für eine Datenbank, die Probentypen in Bezug setzt zu
Eigenschaften der hierarchischen Kachelung, sowie verfügbaren Label-Klassen der verschiedenen Strukturen. Die Datenbank könnte z.B. als Graph implementiert sein, um den Zusammenhang/Kontext zwischen den verschiedenen Hierarchieebenen zu beschreiben. Die Datenbank beinhaltet also a-priori Information über den
Zusammenhang von Halbleiter-Bauelementen über die verschiedenen
Hierarchieebenen hinweg. Das Beispiel für den Probentyp„2-Deck VNAND Speicherchip“ ist im
Zusammenhang mit FIG. 13 dargestellt, wobei die Hierarchieebenen 1 -4 aus TAB. 2 dort mit den Bezugszeichen 251 -254 beschriftet sind. Das Beispiel für den Probentyp „2-D CPU Chip“ ist in FIG. 14 dargestellt, wobei die Hierarchieebenen 1-6 aus TAB. 2 dort mit 251 -256 beschriftet sind. In FIG. 13 und FIG. 14 sind auch typische
Strukturgrößen 298 der Halbleiter-Bauelemente dargestellt. Die Kantenlänge 299 der Kacheln ist in FIG. 13 und FIG. 14 auch dargestellt. Auch die Kantenlänge 299 der Kacheln ist basierend auf der Strukturgröße 298 der verschiedenen Halbleiter- Bauelemente bestimmt: typischerweise wird die Kantenlänge 299 so gewählt, dass ein Hableiter-Bauelement und deren Umgebung in einer Kachel ganz abgebildet ist, also kann z.B. ein inter-Halbleiter-Bauelement-Abstand verwendet werden, um die Kantenlänge 299 zu bestimmen. Alle solche Information kann etwa aus einer entsprechenden Datenbank geladen werden.
Z.B. ist in FIG. 13 sind im Zusammenhang mit der Hierarchieebene 251 zwei sog. Decks, die durch eine„bit Iine“-Schicht getrennt sind. Die Hierarchieebene 252 zeigt zwei Gräben (engl „trenches“) aus einem Array von vielen Gräben, das in einem der Decks angeordnet ist. Z.B. ist ein typischer Abstand zwischen den Gräben im
Bereich von 1 ,5 pm, sodass die Kantenlänge 299 der Kacheln entsprechend dimensioniert sein kann, um zwei oder mehr Gräben pro Kachel anzuzeigen. Derart kann ein Strukturkontext bei Anzeigen einer Kachel erfasst werden. Andererseits kann die Voxeigröße entsprechend dimensioniert sein kann, dass einzelne Gräben aufgelöst werden (typischerweise ist der Durchmesser der Gräben in der
Größenordnung von 0,1 bis 0,2 pm). Als allgemeine Regel kann also die
Bildelementgröße der Kacheln einer Hierarchieebene bemessen sein an der
Strukturgröße einzelner Halbleiter-Bauelemente, während die Kachelgröße der Kacheln der Hierarchieebene bemessen sein kann an dem Abstand zwischen den einzelnen Halbleiter-Bauelemente und/oder an einer Außenabmessung der
Halbleiter-Bauelemente.
Diese Regel ist auch für die Kacheln auf der Hierarchieebene 253 angewendet. Dort sin Löcher zwischen den Gräben gezeigt, die einen Durchmesser von ca. 0,1 pm haben und einen Abstand von ca. 0,15-0,2 pm. Die Kacheln auf der Hierarchieebene 253 weisen also eine Kantenlänge 299 auf, sodass ein paar der Löcher - im gezeigten Beispiel 3x3 Löcher - dargestellt werden können. Die Voxeigröße ist z.B. mit 20 nm so dimensioniert, dass pro Loch einige Voxel erhalten werden.
Auf der Hierarchieebene 254 kann dann ein einzelnes Loch hochaufgelöst dargestellt werden.
Entsprechende Überlegungen können auch für eine 2-D Kachelung angewendet werden, wie in FIG. 14 dargestellt. Dort ist in der Hierarchieebene 251 ein Wafer mit allen Dies dargestellt, auf der Hierarchieebene 252 ein einzelner Die inklusive sog. „die rails“, auf der Hierarchieebene 253 sind mehrere Chips innerhalb einzelner„die raiT-Markierungen abgebildet, die Hierarchieebene 254 zeigt dann die einzelnen Logikbaugruppen (z.B. Speicher, CPU, usw.) eines Chips, die Hierarchieebene 255 zeigt das Umfeld von Transistoren der Logikbaugruppen, und die Hierarchieebene 256 schließlich zeigt einzelne Transistoren, sodass die Anschlüsse („gate“,„source“, „drain“ aufgelöst werden.
Wieder Bezug nehmend auf FIG. 5: Die hierarchische Kachelung wird anhand des folgenden Beispiels erläutert. Zum Beispiel könnte eine hierarchische Kachelung 201 mit drei Hierarchieebenen 251-253 vorliegen. Eine bestimmte Kachel 213-2-1 auf untersten Hierarchieebene 253 identifiziert eine Loch-Struktur. Die Kachel 213-2 auf der mittleren Hierarchieebene 252 (welche die bestimmte Kachel 213-2-1 auf der untersten Hierarchieebene 253 mit der Loch-Struktur beinhaltet) identifiziert wiederum eine Transistor-Zelle. Die Kachel 213 auf der obersten Hierarchieebene 251 (welche die Kacheln 213-2, 213-2-1 auf der mittleren und unteren
Hierarchieebene 252, 253 mit Transistor-Zelle und Loch-Struktur beinhaltet) identifiziert eine bestimmte Logikgruppe von Halbleiter-Bauelementen bzw.
Gesamtansichten der Halbleiter-Bauelemente. Das Beispiel beschreibt dabei eine Logiklinie ausgehend von einer kleinen Voxeigröße (für detaillierte Informationen zu Strukturen mit kleinen Strukturgrößen) hin zu einer größeren Voxeigröße (für
Kontextinformation zu Strukturen mit großen Strukturgrößen). Es kann auch eine Logiklinie ausgehend von großen Voxeigrößen hin zu kleineren Voxeigrößen verfolgt werden: zum Beispiel könnten zunächst Logikbaugruppen im Abbildungsvolumen in einer Kachel 213 der obersten Hierarchieebene 213 identifiziert werden; dann könnten auf der nächstniedrigen Hierarchieebene 252 sogenannte Vias (als senkrecht zu Halbleiterschichten orientierte leitende Verbindungen zwischen verschiedenen Halbleiterschichten) in einer aus der Kachel 213 abgeleiteten Kachel 213-2 identifiziert werden; schließlich könnten auf der nächstniedrigeren
Hierarchieebene 253 die Leiterbahnen der Vias in Bezug auf Fehlstellen oder ihren Überlapp mit Metallschichten in einer weiteren abgeleiteten Kachel 213-2-1 überprüft werden.
Die Kachelung 201 gemäß FIG. 5 ist ein Beispiel. In den verschiedenen hierin beschriebenen Beispielen sind Abwandlungen und Varianten der Kachelung 201 gemäß FIG. 5 denkbar.
Zum Beispiel wäre es möglich, dass die Voxeigröße für Kacheln von einer
Hierarchieebene zur nächsten Hierarchieebene gemäß unterschiedlichen Faktoren skaliert. Das heißt, dass die Voxeigröße zwischen Kacheln auf unterschiedlichen Hierarchieebenen nichtlinear skalieren kann. Dies kann zum Beispiel vorteilhaft sein, wenn zunächst große Strukturen (zum Beispiel Logikbaugruppen oder
Speichersteine) abgebildet werden sollen, nämlich in Kacheln auf einer oberen Hierarchieebene; und dann nur zwei weitere Hierarchieebenen für individuelle Transistor-Zeilen und Speicher-Zeilen sowie geometrische Grundformen wie Linie oder Loch) benötigt werden. In einem solchen Fall skaliert die Voxeigröße von der ersten Hierarchieebene zur zweiten Hierarchieebene besonders stark, zum Beispiel um einen Faktor hundert; während zwischen der zweiten Hierarchieebene und der dritten Hierarchieebene die Voxeigröße nur moderat skaliert, zum Beispiel um einen Faktor zwei. Dies ermöglicht die Anpassung der tatsächlichen Voxeigröße in den Kacheln unterschiedlicher Hierarchieebenen in Abhängigkeit von Strukturgrößen von Strukturen. Entsprechendes kann auch für Pixelgrößen bei 2-D Bilddatensätzen implementiert werden.
Es können auch unterschiedliche Kantenlängen für die Kacheln auf
unterschiedlichen Hierarchieebenen verwendet werden. Das bedeutet, dass die Kantenlänge von Kacheln auf unterschiedlichen Hierarchieebenen unterschiedlich für unterschiedliche Kanten skaliert. Dadurch können besonders gut Strukturen mit Aspektverhältnissen ungleich 1 abgebildet werden. Die hierein beschriebenen Techniken im Zusammenhang mit der hierarchischen Kachelung 201 beruhen auch auf der Erkenntnis, dass unterschiedliche Halbleiter- Bauelemente auf niedriger Auflösung/höchster Abtastung oftmals dieselben geometrischen Strukturen aufweisen, also etwa geometrische Grundformen wie z.B. Linien, Löcher oder Punkte. Geometrische Grundformen bezeichnen hier also z.B. die elementaren Bausteine, aus denen man Halbleiter Bauelemente aufbaut - diese kommen typischerweise aus sogenannten„design rules“, welche sagen, welche Formen mit einer Lithographie-Maschine gedruckt werden können.
Unterschiedlichste Halbleiter-Bauelemente, wie zum Beispiel Transistoren,
Kondensatoren, Vias, Gates etc. sind also typischerweise aus einem relativ begrenzten, gemeinsamen Formenschatz von geometrischen Grundformen zusammengesetzt. Die geometrischen Grundformen können also funktionale
Gruppen (d.h. aus geometrischen Grundformen zusammengesetzte Gruppen) wie die Halbleiter Bauelemente ausbilden. Diese kleinen Strukturen werden mit besonders hoher Genauigkeit hergestellt. Defekte treten selten auf, wenn der Herstellungsprozess gut definiert ist. Dies kann ausgenutzt werden, um die Größe der gespeicherten Daten zu reduzieren. Zum Beispiel könnten Kacheln auf einer unteren Hierarchieebene, die identische Strukturen abbilden, teilweise verworfen werden. Es ist im Allgemeinen möglich, dass zumindest einige Kacheln auf einer Hierarchieebene in Abhängigkeit von Redundanzen in den abgebildeten Strukturen verworfen werden. Dies kann auch als Wörterbuch-Ansatz bezeichnet werden: so wäre es möglich, dass für jede Struktur lediglich ein repräsentativer Datensatz in Form einer entsprechenden Kachel gespeichert wird und redundante Kacheln verworfen werden. Es ist dann optional möglich, dass Meta-Daten im
Zusammenhang mit den verworfenen Kacheln gespeichert werden, also zum
Beispiel die Anzahl und/oder Position und/oder Orientierung etc. der entsprechenden Strukturen in den verworfenen Kacheln.
Als praktisches Beispiel: ein Bildvolumen des 3-D-Bilddatensatzes umfasst 10.000 Löcher. Ein einzelnes Loch kann zum Beispiel durch eine Kachel einer unteren Hierarchieebene mit NMP Voxeln passender Voxeigröße abgebildet werden. Das gesamte Bildvolumen weist ABC Voxel auf. Dann kann es möglich sein, anstatt das gesamte Bildvolumen mit ABC Voxeln zu speichern und zu verarbeiten, lediglich das Teilvolumen mit NMP Voxeln zu speichern, zum Beispiel zusammen mit Meta-Daten, welche die Positionen der 10.000 Löcher im Bildvolumen indizieren, zum Beispiel in einem 3-D-Koordinatensystem, das etwa mit der Kachelung korreliert. Dies reduziert nicht nur den Speicherbedarf und den Verarbeitungsaufwand drastisch, sondern es ermöglicht es auch, Strukturen ein zweites Mal besonders effizient aufzufinden, örtliche Korrelationen zwischen denselben Strukturen und Strukturen
unterschiedlichen Typs auszuwerten, etc.
Dabei kann - zum Beispiel je nach Anwendungsgebiet - eine vergleichsweise sensitive oder robuste Definition für Redundanzen verwendet werden. D. h. es können unterschiedliche Definitionen für Gleichartigkeit von Strukturen (was zum Verwerfen von Kacheln führen kann) verwendet werden. Zum Beispiel können derart Strukturen, die eine zu große Abweichung von einem Klassen-Repräsentanten aufweisen, durch Beibehalten der entsprechenden Kachel im gespeicherten
Datensatz behalten werden. Derart können Defekte und Anomalien gut aufgefunden werden.
Voranstehend wurden verschiedene Techniken im Zusammenhang mit dem
Anwenden einer hierarchischen Kachelung 201 auf einen Bilddatensatz 100 beschrieben. Diese hierarchische Kachelung 201 ermöglicht eine besonders effiziente Verarbeitung des derart vorbehandelten Bilddatensatzes: Wieder Bezug nehmend auf FIG. 2: nach dem Anwenden der Kachelung auf den Bilddatensatz 100 erfolgt in Block 1004 eine Verarbeitung des Bilddatensatzes, unter Verwendung der hierarchischen Kachelung.
Diese Verarbeitung kann multihierarchisch erfolgen: D.h. die Verarbeitung kann unter Ausnutzung der hierarchischen Kachelung 201 erfolgen.
Als allgemeine Regel können in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Techniken im Zusammenhang mit der Verarbeitung des
Bilddatensatzes in Block 1004 angewendet werden. Zum Beispiel kann je nach Anwendungsgebiet der hierin beschriebenen Techniken - d. h. insbesondere je nach Informationsgehalt des Bilddatensatzes - eine bestimmte Präferenz im
Zusammenhang mit Verarbeitungstechniken bestehen. Beispielhafte Techniken im Zusammenhang mit der Verarbeitung des Bilddatensatzes sind in FIG. 6 beschrieben.
FIG. 6 illustriert Aspekte im Zusammenhang mit der Verarbeitung eines
Bilddatensatzes, auf welchen eine hierarchische Kachelung angewendet wurde. Dies bedeutet, dass die verschiedenen Blöcke aus FIG. 6 zum Beispiel im
Zusammenhang mit dem Block 1004 aus FIG. 2 ausgeführt werden könnten.
Dabei ist es nicht erforderlich, dass alle in FIG. 6 beschriebenen Varianten zur Verarbeitung des 3-D-Bilddatensatzes mit hierarchischer Kachelung angewendet werden. Es könnten nur einzelne der in FIG. 6 wiedergegebenen Varianten verwendet werden. Sofern mehrere Varianten zur Verarbeitung des 3-D- Bilddatensatzes mit hierarchischer Kachelung verwendet werden, so kann die Reihenfolge von der in FIG. 6 wiedergegebenen Reihenfolge abweichen.
In Block 2001 erfolgt das Durchführen einer Annotierung. Im Rahmen der
Annotierung werden Labels an Strukturen vergeben.
Die Labels können die Strukturen in eine oder mehrere Klassen einer Vielzahl von vorgegebenen Klassen einteilen. Die Labels können also mit unterschiedlichen Struktur-Klassen assoziiert sein. Dies bedeutet, dass eine logische Beschreibung von Strukturen durch die Labels vorgenommen werden kann. Es ist nicht unbedingt erforderlich, dass auch eine Information über die Position und/oder Orientierung entsprechender Strukturen in den Kacheln im Zusammenhang mit den Labels bereitgestellt wird. Dies ist optional. Zum Beispiel wäre es möglich, dass die Labels die Strukturen im Bildraum segmentieren oder mit einer Begrenzungs-Box versehen.
Als allgemeine Regel kann das Vergeben der Labels an die Strukturen in Block 2001 automatisch, teilautomatisch oder manuell erfolgen. Z.B. könnte ein
Klassifikationsalgorithmus für eine (teil-)automatische Implementierung verwendet werden. Insbesondere könnte ein Objekterkennungsalgorithmus verwendet werden. Dieser kann optional eine Segmentierung der erkannten Strukturen ermöglichen. Während ein Objekterkennungsalgorithmus ohne Segmentierung zum Beispiel eine sogenannte Begrenzungs-Box um die Strukturen legen kann, kann ein Objekterkennungsalgorithmus mit Segmentierung eine besonders feine Abgrenzung der entsprechenden Struktur gegenüber dem Hintergrund auf Voxel-Ebene erfolgen. Deshalb ermöglicht es einem Objekterkennungsalgorithmus mit Segmentierung bestimmte Strukturen besonders genau zu extrahieren.
Dabei werden im Allgemeinen die Labels an die Strukturen in den Kacheln auf den mehreren Hierarchieebenen vergeben. Weil die Kacheln auf den unterschiedlichen Hierarchieebenen im Allgemeinen unterschiedliche Größen und auch
unterschiedliche Voxeigrößen aufweisen, sind auch die abgebildeten Strukturen von Hierarchieebene zu Hierarchieebene verschieden. Beispielsweise könnten
besonders kleine Strukturen, wie Gräben oder Löcher oder andere geometrische Grundformen in den Kacheln auf der untersten Hierarchieebene abgebildet werden; während besonders ausgedehnte oder große Strukturen, etwa ganze Halbleiter- Bauelemente oder sogar Logikgruppen umfassend mehrere Halbleiter-Bauelemente, in denen Kacheln auf der obersten Hierarchieebene abgebildet werden.
Entsprechend können auch die Labels von Hierarchieebene zu Hierarchieebene variieren. Zum Beispiel wäre es möglich, dass die Labels der Strukturen in Kacheln auf einer unteren Hierarchieebene aus einer ersten Kandidatenmenge ausgewählt sind, welche geometrische Grundformen (zum Beispiel Löcher, Linien oder Punkte) umfasst. Hingegen können die Labels der Strukturen in Kacheln auf einer oberen Hierarchieebene aus einer zweiten Kandidatenmenge ausgewählt sein, welche die Halbleiter-Bauelemente, eine logische Gruppe mit mehreren Halbleiter- Bauelementen, Leiterbahnen und/oder Lithographie-Marker umfasst. Dies bedeutet, dass die verfügbaren Labels je nach Hierarchieebene angepasst werden können. Dies kann wiederum basierend auf einer Datenbank geschehen, die den Probentyp beschreibt, vgl. TAB. 2.
Die Labels können zum Beispiel zum Navigieren durch den Bilddatensatz verwendet werden. Das bedeutet, dass eine HMI entsprechend zum Navigieren unter
Berücksichtigung der Labels angesteuert werden kann. Zum Beispiel könnte durch den Benutzer spezifiziert werden, dass ein bestimmtes Halbleiter-Bauelement (das heißt mit einem bestimmten Label) angezeigt werden soll. Dann kann die
entsprechende Kachel, die das Halbleiter-Bauelement mit dem entsprechenden Label beinhaltet, über die HMI an den Benutzer dargestellt werden. Es wäre auch möglich, dass während der manuellen Navigation durch den Bilddatensatz jeweils die Labels der jeweils im dargestellten Bereich befindlichen Strukturen kenntlich gemacht werden, um dem Benutzer derart eine Kontextinformation bereitstellen zu können.
Block 2002 beschreibt das Durchführen einer Segmentierung. Wie obenstehend schon genannt, kann die Segmentierung auch im Zusammenhang mit dem Vergeben von Labels durchgeführt werden. Z.B. könnte einfache, beispielhafte Segmentierung eine Assoziierung von Voxeln gemäß den Labels„Vordergrund“ und„Hintergrund“ vornehmen. Es ist aber nicht in allen Beispielen erforderlich, dass auch eine
Klassifizierung der segmentierten Strukturen im Zusammenhang mit der
Segmentierung erfolgt. Zum Beispiel könnten lediglich Bereiche ein und desselben Kontraste im Rahmen der Segmentierung in Block 2002 bestimmt werden, ohne aber eine Klassifikation vorzunehmen. Auch in einem solchen Beispiel kann es hilfreich sein, wenn die Segmentierung auf Grundlage der hierarchischen Kachelung 201 operiert, d. h. zum Beispiel eine Segmentierung parallel in Kacheln unterschiedlicher Hierarchieebenen 251 -253 durchgeführt wird. Derart kann nämlich vermieden werden, dass die Segmentierung durch einen zu großen Detailgrad von Strukturen auf den unterschiedlichen Hierarchieebenen beeinflusst wird. Die Segmentierung kann besonders zügig durchgeführt werden.
Segmentierte Strukturen können zum Beispiel im Zusammenhang mit der Metrologie verwendet werden. Zum Beispiel können Geometrie-Parameter bestimmt werden und überprüft werden. Die Segmentierung kann in diesem Zusammenhang zum Beispiel eine Kantenextraktion entlang von Halbleiter-Schichten oder eine
Oberflächenextraktion von Halbleiter-Schichten ermöglichen. Dadurch kann eine besonders hohe Auflösung, sogar höher als die native Auflösung des 3-D- Bilddatensatzes, im Zusammenhang mit der Metrologie verwendet werden. Auch ein CAD-Modell könnte extrahiert werden.
Block 2003 beschreibt das Durchführen einer Registrierung. Die Registrierung kann bezüglich eines Referenz-Datensatzes oder anderen Geometrie-Referenzdaten erfolgen. Zum Beispiel kann es mittels der Registrierung möglich sein, die Anordnung der Halbleiter-Struktur im Bilddatensatz in Bezug auf eine CAD-Maskendatei zu bestimmen.
Im Zusammenhang mit der Registrierung werden typischerweise zwei abgebildete Volumen aufeinander registriert, indem diese Volumen miteinander verglichen werden. Grundsätzlich sollte eine möglichst große Auflösung im Zusammenhang mit der Abbildung der Volumina verwendet werden, um eine genaue Registrierung zu ermöglichen. Für 3-D-Bilddatensätze 100, welche Halbleiter-Bauelemente abbilden, ist dies gemäß Referenzimplementierung nicht immer möglich, weil die Datenmenge besonders groß ist. Das Ausschneiden von Teilvolumina aus dem gesamten
Bildvolumen ist aufgrund des repetitiven Charakters von Halbleiter-Strukturen auf Wafern jedoch oftmals nicht möglich. Zum Beispiel kann ein Wafer oftmals eine repetitive Anordnung von gleichen Strukturen umfassen, die später unterschiedliche Chips bilden. Deshalb kann die Registrierung in Block 2003, wie nachfolgend im Detail beschrieben, die Kachelung 201 berücksichtigen.
Zum Beispiel könnte die Registrierung von Strukturen in den Kacheln auf den mehreren Hierarchieebenen 251-253 erfolgen. Dies bedeutet, dass die Registrierung jeweils für jede der verschiedenen Hierarchieebenen 251 -253 durchgeführt werden kann.
Zum Beispiel könnte in einem solchen Ansatz die Genauigkeit der Registrierung iterativ verfeinert werden. Die Registrierung könnte zum Beispiel iterativ ausgehend von Kacheln auf einer höheren Hierarchieebene 251 hin zu Kacheln auf einer unteren Hierarchieebene 252, 253 durchgeführt werden. Dies kann bedeuten, dass zunächst eine grobe Registrierung mit den vergleichsweise großen Voxeln der Kacheln auf der obersten Hierarchieebene durchgeführt wird; und dann diese grobe Registrierung nach und nach verfeinert wird, indem die zunehmend kleineren Voxeln der Kacheln auf niedrigeren Hierarchieebenen verwendet werden. Dies kann eine besonders effiziente und zügige Registrierung ermöglichen.
In Block 2004 erfolgt die Extraktion von Strukturen. Zum Beispiel können Anomalien von Strukturen erkannt werden, die nicht mit vorgegebenen Referenzstrukturen übereinstimmen. Es wäre dann möglich, dass die entsprechenden Kacheln, die solche Anomalien abbilden, extrahiert werden und dem Benutzer über eine
Benutzerschnittstelle dargestellt werden. Der Benutzer kann dann entscheiden, ob eine neue Klasse definiert werden muss oder ob ein Defekt vorliegt.
Im Zusammenhang von Block 2004 könnte zum Beispiel auch eine Region von Interesse (engl „region of interest“) definiert werden. Zum Beispiel könnte ein
Benutzer festlegen, dass solche Bereiche des Bildvolumens untersucht werden sollen, in denen dicht gepackte Linien innerhalb von Speicherbausteinen betrachtet werden. Durch die Verwendung der multihierarchischen Kachelung 201 kann
Kontextinformation über den Zusammenhang zwischen Linien, die als Strukturen in Kacheln einer niedrigen Hierarchieebene abgebildet werden, und
Speicherbausteinen, die als Strukturen in Kacheln einer oberen Hierarchieebene abgebildet werden, zur Identifizierung der Region von Interesse verwendet werden.
Im Zusammenhang mit Block 2004 könnte zum Beispiel auch ein CAD-Modell der Halbleiter-Bauelemente erstellt werden, d.h. eine vereinfachte geometrische
Repräsentation von extrahierten Strukturen kann auf der jeweiligen assoziierten Position positioniert werden. Zum Beispiel könnte ein Linien-Platzhalter verwendet werden. Zum Beispiel könnte eine Spline-Linie verwendet werden, um den Rand einer segmentierten Struktur zu repräsentieren. Wenn Halbleiter-Bauelemente mit mehreren Schichtebenen vorliegen, kann eine 2-D-Segmentierung jeder einzelnen Schicht erfolgen. Dann können mehrere Ebenen in einer CAD-Modell-Datei erzeugt werden.
In Block 2005 kann eine Anomaliedetektion erfolgen. Hier können Abweichungen der abgebildeten Strukturen von vorgegebenen Referenzen erkannt werden. Dazu können z.B. segmentierte Strukturen verwendet werden (vgl. Blöcke 2001 und 2002). Zum Beispiel kann ein Vergleich zwischen den extrahierten Strukturen gegenüber Referenzen erfolgen, um Anomalien zu detektieren. Zum Beispiel kann eine
Differenzbildung erfolgen, und Regionen mit großer Differenz können als potentieller Defekt identifiziert werden.
Nachfolgend werden weitere Details im Zusammenhang mit den verschiedenen möglichen Verarbeitungsschritten gemäß FIG. 6 erläutert. Zunächst wird Bezug genommen auf Techniken im Zusammenhang mit der Vergabe von Labels an die Strukturen, d.h. es werden Details zu Block 2001 beschrieben. Ein entsprechendes Beispiel ist in FIG. 7 dargestellt.
FIG. 7 illustriert Aspekte im Zusammenhang mit der Vergabe von Labels an
Strukturen 401 -403. Insbesondere illustriert FIG. 7 Aspekte im Zusammenhang mit der Vergabe von multihierarchischen Labels. Das Beispiel der FIG. 7 illustriert die Vergabe von multihierarchischen Labels im Zusammenhang mit einem 3-D
Bilddatensatz; entsprechende Techniken können analog auch für einen 2-D
Bilddatensatz angewendet werden.
In FIG. 7, oben ist ein 2-D-Schnitt durch die Kachel 213 dargestellt. Die Kachel 213 bildet eine Struktur 401 ab. Das Label 151 ist an die Struktur 401 vergeben. Dieses Label beschreibt„TRANSISTORZELLE“.
Die Kachel 213 ist auf der Hierarchieebene 251 und umfasst auch die Kachel 213-2- 1 auf der Hierarchieebene 253 (vgl. FIG. 5). Die Kachel 213-2-1 bildet eine Struktur 402 ab. Das Label 152 ist eine Struktur 402 vergeben. Dieses Label 152 beschreibt „LOCH“.
Daraus kann ein multihierarchisches Label 159 abgeleitet werden, welches beschreibt:„TRANSISTORZELLE-LOCH“.
In FIG. 7, unten ist ein 2-D-Schnitt durch die Kachel 214 dargestellt. Die Kachel 214 bildet eine Struktur 403 ab. Das Label 153 dieser Struktur 403 beschreibt
„SPEICHERZELLE“.
Die Kachel 214 ist auf der Hierarchieebene 251 umfasst auch die Kachel 214-1 -1 auf der Hierarchieebene 253. Die Kachel 214-1-1 bildet die Struktur 402 ab, welche das Label 154„LOCH“ aufweist. Das Label 154 umfasst im Beispiel der FIG. 7 auch eine Begrenzungs-Box 701 (engl „bounding box“). Aus dem Label 153 und dem Label 154 kann ein multihierarchisches Label 158„SPEICHERZELLEN-LOCH“ abgeleitet werden. Dies bedeutet, dass für Strukturen 402 in einer Kachel 213-2-1 , 214-1 -1 einer unteren Hierarchieebene 253 Labels 151 , 153 von Strukturen 401 , 403 in einer entsprechenden Kachel 213, 214 auf einer oberen Hierarchieebene 251 vererbt werden können. Derart wird das multihierarchische, kombinierte Label 158, 159 erhalten.
Z.B. wäre es in diesem Zusammenhang denkbar, dass für das Beispiel der FIG. 13 ein multi-hierarchisches Label vergeben wird, welches die Form hat:
„DECK[1 ];TRENCH[2-3]; CHANNEL[27-48]; INSULATION“.
Z.B. wäre es in diesem Zusammenhang denkbar, dass für das Beispiel der FIG. 14 ein multi-hierarchisches Label vergeben wird, welches die Form hat: ,,DIE[10];
CHIP[5]; TRANSISTOR[18]; GATE“.
In diesen Beispielen ist auch die Indizierung gleichartiger Strukturen auf einer Hierarchieebene beinhaltet.
Allgemein formuliert kann es möglich sein, gleichartige Halbleiter-Bauelemente (d.h. Halbleiter-Bauelemente derselbe Hierarchieebene und desselben Typs) mittels der Labels zu indizieren.
Solchen Techniken liegt die Erkenntnis zugrunde, dass die Information von unterschiedlichen Hierarchieebenen durch die Kachelung effizient kombiniert werden kann, um derart zusätzliche Information abzuleiten. Während im Beispiel der FIG. 7 auf der großen Auflösung in den Kacheln 213, 214 auf der Hierarchieebene 251 Unterschiede zwischen den Strukturen 401 , 403 klar erkenntlich sind, sind die Loch- Strukturen 402 auf der Hierarchieebene 253 in den Kacheln 213-2-1 , 214-1 -1 ohne Kontexti nformation nicht unterscheidbar. Dies liegt daran, dass sowohl die
Transistorzelle, wie auch die Speicherzelle ein Loch beinhalten, das nur in der feineren Auflösung in den Kacheln 213-2-1 und 214-1 -1 auf der Hierarchieebene 253 sichtbar wird. Diese Löcher 402 sind in der groben Auflösung der Kacheln 213, 214 der Hierarchieebene 251 nicht sichtbar. Indem diese Information der Label 151 , 153 in den Kacheln 213, 214 mit den Labein 152, 154 in den Kacheln 213-2-1 und 214-1 - 1 kombiniert wird, kann das multihierarchische Label 158 bzw. 159 bestimmt werden. Dann kann eine Unterscheidung bei der Analyse vorgenommen werden. Dies kann erstrebenswert sein, weil - trotz des gleichartigen Aussehens der Löcher 402 in den Kacheln 213-2-1 und 214-1 -1 - diese Löcher 402 unterschiedliche Funktionsweisen im Zusammenhang mit der Transistorzelle bzw. der Speicherzelle aufweisen können. Dies bedeutet, dass zum Beispiel die Toleranz gegenüber Defekten oder
Verunreinigungen ganz unterschiedlich sein kann.
Die multihierarchischen Label 158-159 können auch die Verarbeitungsfähigkeiten verbessern. Zum Beispiel können Filter-Anfragen gezielt gestellt werden. Z.B. kann es im gesamten Messvolumen ABC möglich sein, die Struktur„SPEICHERZELLEN LOCH“ mit einer Genauigkeit der kleinsten Voxeigröße zu lokalisieren. Insbesondere könnte man nach Extraktion der Positionen aller„SPEICHERZELLEN-LÖCHER“ Korrelationen zwischen den Positionen untersuchen, ohne die (auf kleinster
Kachelhierarchie) gleich aussehenden„TRANSISTORZELLEN-LÖCHER“ mit dabei zu haben.
Ein beispielhaftes Vorgehen zum Vergeben der Labels und insbesondere der multihierarchischen Labels ist im Zusammenhang mit FIG. 8 beschrieben.
FIG. 8 ist ein beispielhaftes Flussdiagramm. Zum Beispiel könnte das Verfahren nach FIG. 8 im Zusammenhang mit Block 2001 aus FIG. 6 ausgeführt werden.
In Block 1011 erfolgt zunächst die Auswahl einer aktuellen Hierarchieebene 251 -253. Zum Beispiel könnte die oberste, noch nicht bearbeitete Hierarchieebene 251 -253 ausgewählt werden (d.h. in der ersten Iteration 1501 die oberste Hierarchieebene der Kachelung 201 ).
Dann erfolgt in Block 1012 das Vergeben von Labels an die in den verschiedenen Kacheln auf der aktuellen Hierarchieebene sichtbaren Strukturen. Zum Beispiel könnten die verschiedenen Kacheln sequenziell oder parallel verarbeitet werden.
Das Vergeben der Labels kann manuell erfolgen. Auch eine (teil-)automatische Vergabe von Labels ist denkbar, z.B. unter Verwendung eines
Objekterekennungsalgorithmus. Als allgemeine Regel wäre es möglich, beim Vergeben von Labels in der aktuellen Hierarchieebene 251 -253 Kontextinformation zu berücksichtigen. Diese
Kontextinformation kann bestimmt werden basierend auf bereits annotierten
Strukturen in höheren Hierarchieebenen 251-253. Die Kontextinformation kann also z.B. den Zusammenhang zwischen den Halbleiter-Bauelementen unterschiedlicher Ebenen berücksichtigen. Wird z.B. im Beispiel der FIG. 13 für die Hierarchieebene 252 eine Struktur„GRABEN“ erkannt, dann kann dies unter Berücksichtigung der Kontextinformation erfolgen, dass die entsprechende Kachel(n) der Hierarchieebene 252, die die Struktur„GRABEN“ beinhalten, Teil einer höherhierarchischen Kachel der Hierarchieebene 251 sind, die die Struktur„DECK“ beinhalten. Die
Kontextinformation kann (als a-priori Wissen) indizieren, dass die Struktur„DECK“ mehrere Strukturen„GRABEN“ beinhaltet. Die Kontextinformation kann aus einer Datenbank, vgl. TAB. 2, abgeleitet werden. Dadurch kann die Annotierung besonders zuverlässig erfolgen und einen semantischen Kontext (der durch die hierarchische Kachelung ermöglicht wird) berücksichtigen.
Als optionale Erweiterung könnte im Zusammenhang mit der Kontextinformation auch eine Berücksichtigung von Geometrie-Referenzdaten erfolgen. Das bedeutet, dass zum Beispiel für eine Struktur auf einer höheren Hierarchieebene eine entsprechende Referenz für die Geometrie verfügbar sein kann und aus dieser Referenz dann abgeleitet werden kann, welche Strukturen in der Kachel auf der unteren Hierarchieebene (gegebenenfalls auch die entsprechende Position) vorhanden sein sollten.
Dann werden in Block 1013 die Labels aus den oberen Hierarchieebenen an die in der aktuellen Hierarchieebene annotierten Strukturen vererbt, um die
multihierarchischen Label zu erzeugen.
Schließlich wird in Block 1014 überprüft, ob noch eine weitere Hierarchieebene zu verarbeiten ist - dann werden gegebenenfalls in einer weiteren Iteration 1501 die Blöcke 1011 -1013 erneut ausgeführt.
Das Vorgehen gemäß dem Verfahren aus FIG. 8 soll nachfolgend kurz in einem Beispiel beschrieben werden: in einer ersten Iteration 1501 wird eine bestimmte Region des Bildvolumens in ein oder mehreren Kacheln der obersten
Hierarchieebene als„LOGIKEINHEIT“ annotiert (Block 1012); in einer zweiten Iteration 1501 wird ein Teil dieser als„LOIGIKEINHEIT“ annotierten Strukturen in ein oder mehreren Kacheln der nächstniedrigeren Hierarchieebene als
„TRANSISTORZELLE“ annotiert (Block 1012); in der dritten Iteration 1501 wird dann innerhalb der als„TRANSISTORZELLE“ annotierten Strukturen eine Struktur als „LOCH“ annotiert (Block 1012). Diese Loch-Struktur erhält dann das
multihierarchische Label„LOCH-TRANSISTORZELLE-LOGIKEINHEIT“, durch Vererbung (Block 1013).
Verschiedene Techniken beruhen auf der Erkenntnis, dass es manchmal aufwendig sein kann, alle Strukturen händisch zu annotieren. Deshalb werden im
Zusammenhang mit FIG. 9 Beispiele beschrieben, die es ermöglichen, die
Annotierung teilweise oder vollautomatisch durchzuführen.
FIG. 9 ist ein beispielhaftes Flussdiagramm. Zum Beispiel könnte das Verfahren nach FIG. 9 als Teil von Block 1012 aus FIG. 8 durchgeführt werden. FIG. 9 illustriert Aspekte im Zusammenhang mit dem Propagieren von Labels zwischen Strukturen, d.h. die automatische Vergabe von Labels an bisher nicht mit Label versehene Strukturen.
Das manuelle Annotieren von allen Strukturen innerhalb eines Bildvolumens kann aufwendig sein. Unter der Verwendung von Bildverarbeitungstechniken,
beispielsweise Kreuzkorrelation, oder maschinellem Lernen kann eine Propagation von Labels zwischen Strukturen erfolgen. Dies bedeutet, dass es beispielsweise ausreichend ist, wenn lediglich einige Strukturen händisch mit einem Label versehen werden; ein entsprechender Propagationsalgorithmus kann dann alle gleichartigen Strukturen auffinden und automatsch mit entsprechenden Labels versehen. Ein solches Verfahren kann auch im Zusammenhang mit einer multihierarchischen Kachelung angewendet werden: Hier können die Labels aus einer oder einigen Kacheln auf alle übrigen Kacheln derselben Hierarchieebene propagiert werden.
Beim Propagieren von Labels zwischen Kacheln derselben Hierarchieebene kann eine Indizierung der Strukturen erfolgen. Wenn beispielsweise auf einer Hierarchieebene Transistor-Halbleiter-Bauelemente indiziert werden, so könnten die verschiedenen Transistoren alle mit dem Label„TRANSISTOR“ versehen werden, wobei gleichzeitig ein Laufindex inkrementiert wird. Derart kann dann später zwischen den verschiedenen Transistoren unterschieden werden (vgl. FIG. 13 und FIG. 14).
Eine solche Technik der Propagation von Labels innerhalb einer Hierarchieebene ist in FIG. 9 dargestellt. Die Blöcke aus FIG. 9 könnten z.B. als Teil von Block 1012 in FIG. 8 durchgeführt werden. In Block 1021 wird zunächst eine manuelle Annotierung von einigen Strukturen in ein oder mehreren Kacheln der jeweils aktiven
Hierarchieebene (vergleiche FIG. 8: Block 1011 ) vorgenommen.
Dann wird in Block 1021A überprüft, ob die Annotierung abgeschlossen ist. Sofern noch nicht alle Strukturen Labels aufweisen, wird Block 1022 durchgeführt.
In Block 1022 wird eine Propagation der Labels durchgeführt, mittels eines
Propagationsalgorithmus 1016. Der Propagationsalgorithmus 1016 kann z.B. einen Mustervergleich und/oder einen Objekterkennungsalgorithmus umfassen. Der Propagationsalgorithmus 1016 könnte einen Klassifikator umfassen. Der
Propagationsalgorithmus 1016 könnte Techniken des maschinellen Lernens verwenden. Es wäre zum Beispiel möglich, dass der Propagationsalgorithmus 1016 auf Techniken einer Schwellenwert-Segmentierung und unter Erkennung von verbundenen Bereichen operiert. Es können aber auch kompliziertere Techniken, beispielsweise künstliche neuronale Netzwerke mit maschinellem Lernen verwendet werden. Diese künstlichen neuronalen Netzwerke sind besonders robust und können flexibel eingesetzt werden. Zum Beispiel kann das Training von Gewichten der künstlichen neuronalen Netzwerke auf Grundlage eines Trainings-Datensatzes erfolgen.
Die Propagation der Labels kann beispielsweise auch Geometrie-Referenzdaten für die Strukturen in den Kacheln auf einer gemeinsamen Ebene berücksichtigen. Dies bedeutet, dass es möglich sein kann, zum Beispiel basierend auf CAD-Dateien oder Übersichtsbildern eines optischen Mikroskops die relative Anordnung von vergleichbaren Strukturen zu ermitteln und dann dieses Vorwissen im
Zusammenhang mit der Propagation zu berücksichtigen.
Um eine effiziente und präzise Vergabe von Labels zu ermöglichen, kann eine Rückkopplungsschleife mit mehreren Iterationen 1502 um die Propagation der Annotierung in Block 1022 implementiert werden. Dies ist in FIG. 9 im
Zusammenhang mit den optionalen Blöcken 1023 und 1024 dargestellt.
In Block 1023 wird überprüft, ob die Annotierung auf Grundlage der Propagation in Block 1022 der aktuellen Iteration 1502 eine ausreichende Genauigkeit aufweist.
Zum Beispiel wäre es möglich, dass bestimmte propagierte Labels dem Benutzer über eine Benutzerschnittstelle zusammen mit den entsprechenden Strukturen präsentiert werden. Dann könnte der Benutzer spezifizieren, ob die Vergabe von Labels in diesen Fällen passend oder unpassend war.
In Abhängigkeit von dem entsprechenden Feedback erfolgt dann in Block 1024 ggf. eine Anpassung des Propagationsalgorithmus. In diesem Zusammenhang wäre es möglich, dass Techniken des maschinellen Lernens eingesetzt werden, zum Beispiel Backpropagation, um Gewichte eines künstlichen neuronalen Netzwerks, das den Propagationsalgorithmus 1016 implementiert, anzupassen. In Abhängigkeit von dem angepassten Propagationsalgorithmus 1016 wird dann die Propagation der
Annotierung in einer erneuten Iteration 1502 von Block 1022 durchgeführt.
Wenn die Annotierung gemäß dem Check in Bock 1023 ausreichend genau ist, kann die Propagation der Annotierung in einer weiteren Iteration 1052 fortgesetzt werden, jedoch ohne Block 1024 auszuführen.
Das Beispiel aus FIG. 9 illustriert ein interaktives Online-Training des
Objekterkennungsalgorithmus 1016, welches während dem Durchführen der
Propagation angewendet wird. In anderen Beispielen wäre aber auch ein Ende-zu- Ende-Training des Propagationsalgorithmus denkbar. Ein entsprechendes Beispiel ist im Zusammenhang mit FIG. 10 dargestellt. FIG. 10 illustriert ein Flussdiagramm eines beispielhaften Verfahrens. Dabei wird in Block 1051 der 3-D-Bilddatensatz 100 mitsamt angewendeter Kachelung und Labels erhalten. Das bedeutet, dass die in den verschiedenen Kacheln der Kachelung enthaltenen Strukturen bereits mit Labels versehen, z.B. durch Verwendung des Verfahrens nach FIG. 9 - also mit Verwendung des Propagationsalgorithmus 1016.
Dann kann in Block 1052 und 1053 ein Ende-zu-Ende-Training des
Propagationsalgorithmus 1016 erfolgen. Im Beispiel der FIG. 10 erfolgt das Ende-zu- Ende-Training also offline, d. h. nach Abschluss der Propagation der Labels.
Das bedeutet, dass in Block 1052 ein Vergleich der z.B. mittels des
Propagationsalgorithmus 1016 erstellten Labels mit einer Referenz - z.B. einer händischen Verifikation erfolgt. In Block 1053 wird dann der Propagationsalgorithmus basierend auf einer Abweichung aus Block 1052 angepasst. Für die nächste
Ausführung der Propagation kann auf den angepassten Propagationsalgorithmus 1016 zurückgegriffen werden.
Voranstehend wurden also Techniken beschrieben, um Labels an Strukturen 401 - 403 zu vergeben. Insbesondere wurden Techniken beschrieben, um
multihierarchische Labels 158, 159 an Strukturen in Kacheln auf unterschiedlichen Hierarchieebenen zu vergeben. Aufgrund der großen zu verarbeitenden Datenmenge ist ein hoher Automatisierungsgrad bei der Erstellung der multihierarchischen Labels 158, 159 erstrebenswert. Eine entsprechende Möglichkeit, um die
multihierarchischen Labels 158, 159 effizient zu bestimmen, ist im Zusammenhang mit FIG. 11 beschrieben.
FIG. 11 ist ein Flussdiagramm eines beispielhaften Verfahrens. Zum Beispiel könnte das Verfahren nach FIG. 11 die Blöcke 1012 und 1013 aus FIG. 8 implementieren. FIG. 11 illustriert Aspekte im Zusammenhang mit der Bestimmung von Labels 151- 154 für Strukturen 401 -403 sowie im Zusammenhang mit der Bestimmung von kombinierten, multihierarchischen Labels 158, 159.
Im Block 1061 werden die Kacheln auf der obersten Hierarchieebene 251 selektiert. Dann erfolgt in Block 1062 das Bestimmen von Label-Kandidaten für Strukturen in diesen Kacheln auf der Hierarchieebene 251. Dies kann teilautomatisch oder vollautomatisch erfolgen. Zum Beispiel könnte ein Klassifikator verwendet werden. Der Klassifikator kann einen Objekterkennungsalgorithmus umfassen; der
entsprechende Objekterkennungsalgorithmus kann bestimmte Wahrscheinlichkeiten für die Klassifikation der Strukturen identifizieren. Zum Beispiel könnte also für eine bestimmte Struktur einer Kachel auf der obersten Hierarchieebene 251 als Ergebnis von Block 1062 erhalten werden: Label„SPEICHER“: 40 %; Label
„LOGIKELEMENT“: 60 %. Die Label-Kandidaten„SPEICHER“ und
„LOGIKELEMENT“ werden derart erhalten. Optional kann auch eine Propagation von Labels basierend auf einer manuellen Annotation erfolgen. In jedem Fall besteht eine Unsicherheit im Zusammenhang mit der Vergabe der Label-Kandidaten.
Die grundsätzlich verfügbaren Labels können z.B. in Abhängigkeit der
Hierarchieebene und des Probentyps bestimmt werden, vgl. TAB. 2. Das bedeutet, dass aufgrund der jeweiligen Auflösung der Bildelemente z.B. vorgegeben sein kann, dass auf einer höheren Hierarchieebene nur bestimmte Halbleiter-Bauelemente - z.B. Leitungen oder ganze Logikgruppen etc. - sichtbar sind, während auf
niedrigeren Hierarchieebenen Details der Halbleiter-Bauelemente sichtbar sind, z.B. einzelne Transistoren usw.
Die Blöcke 1061 und 1062 werden dann jeweils für jede der Hierarchieebenen 251 - 253 der Kachelung 201 durchgeführt. In FIG. 11 ist dies auch für die unterste
Hierarchieebene 253 im Zusammenhang mit Blöcken 1063 und 1064 illustriert.
Dann kann eine Fusion der Label-Kandidaten in Block 1065 erfolgen. Diese Fusion kann es einerseits ermöglichen, Unsicherheiten in der Bestimmung der Label- Kandidaten zu verringern: das bedeutet, dass aus der Kontextinformation, die durch den Vergleich der Label-Kandidaten für die Strukturen auf unterschiedlichen
Hierarchieebenen erhalten wird, eine besonders zuverlässige Auswahl aus den verschiedenen Label-Kandidaten erfolgen kann.
Außerdem kann es in Block 1065 möglich sein, die multihierarchischen Labels zu bestimmen. Dazu kann ein weiterer Klassifikationsalgorithmus angewendet werden. Dieser kann als Eingabe die Label-Kandidaten aus dem Blöcken 1062 und 1064 erhalten. Es könnte z.B. eine Plausibilitätskontrolle erfolgen. Die
Plausibilitätskontrolle kann die Kontextinformation, z.B. anhand eines Vergleichs mit der Datenbank wie in TAB. 2 dargestellt (die vorgegebene Zusammenhänge zwischen den Strukturen bzw. insbesondere der Halbleiter-Bauelemente auf den unterschiedlichen Hierarchieebenen beinhaltet), berücksichtigen. Die
Kontextinformation beschreibt dabei einen Zusammenhang zwischen den Label- Kandidaten der Strukturen in den verschieden Hierarchieebenen. Wenn z.B. bekannt ist, dass„SPEICHER“-Strukturen keine„LÖCHER“ beinhalten, dann kann dies bei der Fusion in Block 1065 berücksichtigt werden. Die Vergabe des Labels„LOGIK“ kann präferiert werden gegenüber der Vergabe des Labels„SPEICHER“. Der weitere Klassifikationsalgorithmus kann entsprechend trainiert sein, die Kontextinformation für die Labels für Strukturen in den Kacheln auf unterschiedlichen Hierarchieebenen zu berücksichtigen.
Aus FIG. 11 ist also zusammenfassend ersichtlich, dass zunächst Label-Kandidaten für Strukturen den assoziierten Kacheln unterschiedliche Hierarchieebenen mit ein oder mehreren ersten Klassifikationsalgorithmen bestimmt werden. Dann kann es möglich sein, die Labels für die Strukturen in den assoziierten Kacheln mit einem zweiten Klassifikationsalgorithmus zu bestimmen, der die Label-Kandidaten als Eingabe erhält.
FIG. 12 ist ein Flussdiagramm eines beispielhaften Verfahrens. FIG. 12 illustriert Aspekte im Zusammenhang mit der Registrierung. Zum Beispiel könnte das
Verfahren gemäß FIG. 12 im Zusammenhang mit Block 2003 aus FIG. 6 ausgeführt werden.
Zunächst wird in Block 1070 eine aktuelle Hierarchieebene ausgewählt. Insoweit entspricht Block 1070 also zum Beispiel Block 1011 aus FIG. 8.
Dann erfolgt in Block 1071 die Registrierung von zwei Kacheln auf der aktuellen Hierarchieebene. Dies bedeutet also, dass eine Kachel mit Voxeln aus dem 3-D- Bilddatensatz mit einer weiteren Kachel mit Voxeln aus einem Referenzdatensatz (zum Beispiel einem CAD-Modell) verglichen wird. Dann wird in Block 1072 das bisherige Registrierungsergebnis 1073 basierend auf der Registrierung aus Block 1071 verfeinert.
In Block 1074 wird überprüft, ob noch Kacheln auf einer weiteren Hierarchieebene zu verarbeiten sind. Insofern entspricht Block 1074 Block 1014 aus FIG. 8. Ist dies der Fall, so wird eine weitere Iteration 1503 der Blöcke 1070-1072 durchgeführt.
Die multihierarchische Registrierung aus FIG. 12 bedeutet also, dass auf der obersten Hierarchieebene begonnen (erste Iteration 1503) wird und zwei
entsprechende Volumina miteinander registriert werden. Dadurch wird ein
entsprechend grobes Registrierungsergebnis erhalten (Block 1073). Dieses Ergebnis der Registrierung dient als Ausgangspunkt für eine Verfeinerung auf der
nächstniedrigeren Hierarchieebene in der nächsten Iteration 1503. Indem auf dieser nächsten Hierarchieebene zwei korrespondierende Kacheln (die entsprechende Volumina abbilden) ausgewählt werden, kann dort die Registrierung zuverlässig durchgeführt werden. Die Auswahl der korrespondierenden Kacheln kann auf Grundlage der groben Registrierung auf der obersten Hierarchieebene erfolgen. Dieser Vorgang kann iterativ wiederholt werden, bis die unterste Hierarchieebene erreicht wird.
Insbesondere können korrespondierende Kacheln auf den unteren Hierarchieebenen in Abhängigkeit einer Signifikanz der dort abgebildeten Strukturen für die
Registrierung ausgewählt werden. Zum Beispiel könnten also solche Kacheln ausgewählt werden, welche Strukturen abbilden, die besonders zuverlässig miteinander registriert werden können. Dies sind zum Beispiel Strukturen mit einem hohen Aspektverhältnis oder Strukturen, die eine signifikante Anisotropie in den drei Raumrichtungen aufweisen. Irreguläre Strukturen können bevorzugt werden. Die Auswahl kann z.B. anhand des Referenzdatensatzes erfolgen. Z.B. könnten solche Kacheln für die Registrierung ausgewählt werden, die ein oder mehrere Lithographie- Marker abbilden.
Eine solche Registrierung kann optional auch auf Lithographie-Marker als Strukturen zurückgreifen. Dem liegt die Erkenntnis zugrunde, dass Halbleiter-Strukturen häufig in Schichtebenen gefertigt werden. Zur Ausrichtung von aufeinanderfolgenden Schichtebenen werden Lithographie-Marker verwendet. Solche Techniken sind im Grundsatz bekannt. Die Morphologie von Lithographie-Markern ist typischerweise signifikant verschieden von der Morphologie von Halbleiter-Bauelementen bzw. anderen funktionalen Einheiten. Die Lithographie-Marker können eine starke
Anisotropie aufweisen, um die Orientierung bestimmen zu können. Selbst für eine große Anzahl von Lithographie-Marken ist eine solche Registrierung besonders effizient. Selbst wenn die Position individueller Lithographie-Marker zufälligen Variationen ausgesetzt werden kann, kann aufgrund der großen Anzahl von
Lithographie-Marken diese Fluktuation heraus gemittelt werden. Derart kann eine besonders präzise Registrierung ermöglicht werden, zum Beispiel im Vergleich zu Referenztechniken, die lediglich einen einzelnen Lithographie-Marker zur
Registrierung verwenden.
Die Registrierung kann gesondert für zumindest eine Schichtebene der Halbleiter- Bauelemente durchgeführt werden. Dies ermöglicht eine Kombination von 1 -D-/2-D- Registrierungstechniken, um eine 3-D-Registrierung zu erhalten. Zum Beispiel könnte erst eine 1 -D-Registrierung auf den Schichtstapel der Halbleiter-Bauelemente durchgeführt werden (z.B. anhand eines lateralen Schnitts durch den Schichtstapel). Dies kann die Ebenennormale des Schichtstapels als Registrierungskomponente festlegen. In einem zweiten Schritt können die einzelnen Schichtebenen der
Halbleiter-Bauelemente extrahiert werden und miteinander registriert werden, um eine 2-D-Registrierung orthogonal zur Ebenennormale zu ermöglichen.
Selbstverständlich können die Merkmale der vorab beschriebenen
Ausführungsformen und Aspekte der Erfindung miteinander kombiniert werden. Insbesondere können die Merkmale nicht nur in den beschriebenen Kombinationen, sondern auch in anderen Kombinationen oder für sich genommen verwendet werden, ohne das Gebiet der Erfindung zu verlassen.
So wurden z.B. vornehmlich 3-D-Bilddatensätze, die Halbleiter-Bauelemente darstellen beschrieben. Entsprechende Techniken können aber auch auf andere Arten von 3-D-Bilddatensätzen angewendet werden. Ferner wurden voranstehend manche Techniken im Zusammenhang mit einem 3-D Bilddatensatz beschrieben. Entsprechen der Techniken können aber auch für 2-D Bilddatensätze angewendet werden.

Claims

PATENTANSPRÜCHE
1. Verfahren, das umfasst:
- Erfassen eines Bilddatensatzes (100), der Halbleiter-Bauelemente abbildet, mit einer bildgebenden Einrichtung,
- Erhalten des Bilddatensatzes (100) von der bildgebenden Einrichtung,
- Anwenden einer hierarchischen Kachelung (201 ) auf den Bilddatensatz
(100),
wobei die Kachelung (201 ) mehrere Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf mehreren Hierarchieebenen (251 -256) aufweist,
wobei Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1-1 ) auf unterschiedlichen Hierarchieebenen (251-256) unterschiedliche Bildelementgrößen von entsprechenden Bildelemente (290) aufweisen.
2. Verfahren nach Anspruch 1 ,
wobei der Bilddatensatz (100) ein dreidimensionaler Bilddatensatz ist, wobei die Bildelemente Voxel sind.
3. Verfahren nach Anspruch 1 oder 2, welches weiterhin umfasst:
- Bestimmen der Bildelementgrößen und/oder der Bildelementanzahl der Bildelemente (290) der Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf den mehreren Hierarchieebenen (251-256) in Übereinstimmung mit Strukturgrößen der Halbleiter-Bauelemente.
4. Verfahren nach einem der voranstehenden Ansprüche, welches weiterhin umfasst:
- Bestimmen der Hierarchieebenen und/oder der Kantenlängen der Kacheln auf den mehreren Hierarchieebenen in Übereinstimmung mit Strukturgrößen der Halbleiter-Bauelemente.
5. Verfahren nach Anspruch 3 oder 4, welches weiterhin umfasst:
- Nachschlagen der Strukturgrößen der Halbleiter-Bauelemente in einer Datenbank in Abhängigkeit eines Probentyps, einer durch den Bilddatensatz abgebildeten Probe. 6. Verfahren nach einem der voranstehenden Ansprüche, welches weiterhin umfasst:
- Vergeben von Labels (151 -154) an Strukturen (401-403) in den Kacheln (211 - 214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1-1 ) auf den mehreren Hierarchieebenen (251 -256).
7. Verfahren nach Anspruch 6,
wobei für Strukturen (402) in einer Kachel (213-2-1 , 214-1 -1 ) auf einer unteren Hierarchieebene (253) der Kachelung ein Label basierend auf Kontextinformation vergeben wird,
wobei die Kontextinformation einen vorgegebenen Zusammenhang zwischen den den Halbleiter-Bauelementen entsprechenden Strukturen in der Kachel auf der unteren Hierarchieebene und den Halbleiter-Bauelementen entsprechenden weiteren Strukturen in einer weiteren Kachel auf einer oberen Hierarchieebene berücksichtigt.
8. Verfahren nach Anspruch 7,
wobei der vorgegebene Zusammenhang auf Geometrie-Referenzdaten für die Halbleiter-Bauelemente in der unteren Hierarchieebene und in der oberen
Hierarchieebene beruht.
9. Verfahren nach einem der Ansprüche 6 bis 8,
wobei die Labels (151 -154) der Strukturen (401 -403) in Kacheln (211-214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf einer unteren Hierarchieebene (253) aus einer ersten Kandidatenmenge ausgewählt sind, welche geometrische Grundformen umfasst,
wobei die Labels (151 -154) der Strukturen (401 -403) in Kacheln (211-214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf einer oberen Hierarchieebene (251 ) aus einer zweiten Kandidatenmenge ausgewählt sind, welche eine Gesamtansicht der Halbleiter-Bauelemente, eine Logikgruppe mit mehreren Halbleiter-Bauelementen, Leiterbahnen, und/oder Lithographie-Marker umfasst.
10. Verfahren nach einem der Ansprüche 6 bis 9,
wobei das Vergeben der Labels (151 -154) umfasst: - für Strukturen (402) in einer Kachel (213-2-1 , 214-1-1 ) auf einer unteren Hierarchieebene (253): Vererben von Labels (151 , 153) von ein oder mehr
Strukturen (401 , 403) in einer mit der Kachel (213-2-1 , 214-1 -1 ) auf der unteren Hierarchieebene (253) assoziierten weiteren Kachel (213, 214) auf einer oberen Hierarchieebene (251 ), um für die Strukturen (402) in der Kachel (213-2-1 , 214-1 -1 ) auf in der unteren Hierarchieebene (253) ein multihierarchisches Label (158, 159) zu erhalten.
11. Verfahren nach einem der Ansprüche 6 bis 10,
wobei das Vergeben der Labels (151 -154) umfasst:
- automatisches oder teil-überwachtes Propagieren von Labels (151-154) zwischen Strukturen (401 -403) in Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf einer gemeinsamen Hierarchieebene (251 -256).
12. Verfahren nach Anspruch 11 ,
wobei das Propagieren basierend auf Geometrie-Referenzdaten für die
Halbleiter-Bauelemente in den Kacheln auf der gemeinsamen Ebene erfolgt.
13. Verfahren nach Anspruch 11 oder 12,
wobei das Propagieren auf einem maschinengelernten
Propagationsalgorithmus (1016) basiert,
wobei das Verfahren weiterhin umfasst:
- Ende-zu-Ende-Trainieren des Propagationsalgorithmus (1016) oder iteratives Online-Trainieren des Propagationsalgorithmus (1016).
14. Verfahren nach einem der Ansprüche 6 bis 13,
wobei das Vergeben der Labels (151 -154) umfasst:
- Bestimmen von Label-Kandidaten für Strukturen (401 -403) in assoziierten Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) unterschiedlicher
Hierarchieebenen (251-256) mit ein oder mehreren ersten Klassifikationsalgorithmen, und
- Bestimmen der Labels (151 -154) für die Strukturen (401 -403) in den assoziierten Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1-1 ) mit einem zweiten Klassifikationsalgorithmus, der die Label-Kandidaten als Eingabe erhält. 15. Verfahren nach Anspruch 14,
wobei der zweite Klassifikationsalgorithmus die Label-Kandidaten der
Strukturen in den assoziierten Kacheln unterschiedlicher Hierarchieebenen miteinander vergleicht, um derart Kontextinformation für die Strukturen zu erhalten, wobei der zweite Klassifikationsalgorithmus die Kontextinformation basierend auf einem vorgegebenen Zusammenhang zwischen Strukturen auf unterschiedlichen Hierarchieebenen plausibilisiert und basierend auf dem Plausibilisieren die Labels bestimmt.
16. Verfahren nach einem der Ansprüche 6 bis 15,
wobei die Labels (151 -154) die Strukturen (401 -403) in ein oder mehrere vorgegebene Klassen klassifizieren und/oder im Bildraum segmentieren und/oder mit einer Rand-Box (701 ) versehen.
17. Verfahren nach einem der Ansprüche 6 bis 16, welches weiterhin umfasst:
- Ansteuern einer Mensch-Maschine-Schnittelle zum Navigieren durch den Bilddatensatz basierend auf den Labels.
18. Verfahren nach einem der voranstehenden Ansprüche, welches weiterhin umfasst:
- Durchführen einer Anomaliedetektion (2005), um unbekannte Strukturen (401 -403) in den Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1-1 ) unterschiedlicher Hierarchieebenen (251 -256) zu erkennen.
19. Verfahren nach einem der voranstehenden Ansprüche, das weiterhin umfasst:
- Durchführen einer Registrierung (2003) von Strukturen (401-403) in den Kacheln (211-214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1 -1 ) auf den mehreren
Hierarchieebenen (251-256) jeweils mit Referenz-Kacheln der entsprechenden Hierarchieebene.
20. Verfahren nach Anspruch 19,
wobei die Registrierung iterativ ausgehend von Kacheln (211 -214, 213-1 , 213- 2, 213-3, 213-2-1 , 214-1 -1 ) auf einer höheren Hierarchieebene (251 ) hin zu Kacheln (211 -214, 213-1 , 213-2, 213-3, 213-2-1 , 214-1-1 ) auf einer unteren Hierarchieebene (252, 253) durchgeführt wird.
21. Verfahren nach Anspruch 19 oder 20,
wobei die Registrierung gesondert für zumindest eine Schichtebene der
Halbleiter-Bauelemente durchgeführt wird.
22. Verfahren nach einem der voranstehenden Ansprüche, welches weiterhin umfasst:
- Verwerfen von zumindest einigen Kacheln (211 -214, 213-1 , 213-2, 213-3,
213-2-1 , 214-1 -1 ) auf einer Hierarchieebene (251 -256) in Abhängigkeit von
Redundanzen in abgebildeten Strukturen (401-403).
23. Verfahren nach Anspruch 22, welches weiterhin umfasst:
- Speichern von Meta-Daten der in den verworfenen Kacheln (211 -214, 213-1 ,
213-2, 213-3, 213-2-1 , 214-1 -1 ) abgebildeten Strukturen (401-403).
24. Verfahren nach einem der voranstehenden Ansprüche,
wobei die Voxeigröße der Voxel (290) zwischen Kacheln auf unterschiedlichen Hierarchieebenen nicht-linear skaliert.
25. Verfahren nach einem der voranstehenden Ansprüche,
wobei eine Kantenlänge von Kacheln auf unterschiedlichen Hierarchieebenen unterschiedlich für unterschiedliche Kanten skaliert.
PCT/EP2020/052380 2019-01-31 2020-01-31 Verarbeitung von bilddatensätzen WO2020157249A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020217027289A KR20210121154A (ko) 2019-01-31 2020-01-31 이미지 데이터 세트 처리
US17/388,589 US20210358101A1 (en) 2019-01-31 2021-07-29 Processing image data sets

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019102484.6 2019-01-31
DE102019102484.6A DE102019102484A1 (de) 2019-01-31 2019-01-31 Verarbeitung von dreidimensionalen Bilddatensätzen

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/388,589 Continuation US20210358101A1 (en) 2019-01-31 2021-07-29 Processing image data sets

Publications (1)

Publication Number Publication Date
WO2020157249A1 true WO2020157249A1 (de) 2020-08-06

Family

ID=69411449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/052380 WO2020157249A1 (de) 2019-01-31 2020-01-31 Verarbeitung von bilddatensätzen

Country Status (4)

Country Link
US (1) US20210358101A1 (de)
KR (1) KR20210121154A (de)
DE (1) DE102019102484A1 (de)
WO (1) WO2020157249A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3961557A1 (de) * 2020-08-26 2022-03-02 Siemens Aktiengesellschaft Qualitätsinspektionsverfahren und anordnung für eine qualitätsinspektion

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7145221B2 (ja) 2017-12-22 2022-09-30 マジック リープ, インコーポレイテッド 稠密3d再構成データのキャッシュおよび更新
US11107219B2 (en) 2019-07-22 2021-08-31 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11631234B2 (en) 2019-07-22 2023-04-18 Adobe, Inc. Automatically detecting user-requested objects in images
US11468550B2 (en) 2019-07-22 2022-10-11 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11468110B2 (en) 2020-02-25 2022-10-11 Adobe Inc. Utilizing natural language processing and multiple object detection models to automatically select objects in images
US11055566B1 (en) 2020-03-12 2021-07-06 Adobe Inc. Utilizing a large-scale object detector to automatically select objects in digital images
US20220207256A1 (en) * 2020-12-30 2022-06-30 Fei Company Charged particle microscope systems and clustering processes for high dynamic range sample analysis
US11587234B2 (en) * 2021-01-15 2023-02-21 Adobe Inc. Generating class-agnostic object masks in digital images
US11972569B2 (en) 2021-01-26 2024-04-30 Adobe Inc. Segmenting objects in digital images utilizing a multi-object segmentation model framework

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002899A1 (en) * 2010-07-05 2012-01-05 Orr Iv James Edmund Aligning Images

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070262988A1 (en) * 2006-05-09 2007-11-15 Pixar Animation Studios Method and apparatus for using voxel mip maps and brick maps as geometric primitives in image rendering process
US8126255B2 (en) * 2007-09-20 2012-02-28 Kla-Tencor Corp. Systems and methods for creating persistent data for a wafer and for using persistent data for inspection-related functions
US8497861B2 (en) * 2008-05-30 2013-07-30 Siemens Aktiengesellschaft Method for direct volumetric rendering of deformable bricked volumes
US8948496B2 (en) * 2008-08-29 2015-02-03 Koninklijke Philips N.V. Dynamic transfer of three-dimensional image data
US9430824B2 (en) * 2013-05-14 2016-08-30 Kla-Tencor Corporation Machine learning method and apparatus for inspecting reticles
US10504761B2 (en) * 2017-02-08 2019-12-10 Semiconductor Technologies & Instruments Pte. Ltd. Method system for generating 3D composite images of objects and determining object properties based thereon
KR20190073756A (ko) * 2017-12-19 2019-06-27 삼성전자주식회사 반도체 결함 분류 장치, 반도체의 결함을 분류하는 방법, 그리고 반도체 결함 분류 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002899A1 (en) * 2010-07-05 2012-01-05 Orr Iv James Edmund Aligning Images

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARUO K ET AL: "AUTOMATIC DEFECT PATTERN DETECTION ON LSI WAFERS USING IMAGE PROCESSING TECHNIQUES", IEICE TRANSACTIONS ON ELECTRONICS, INSTITUTE OF ELECTRONICS, TOKYO, JP, vol. E82-C, no. 6, 1 June 1999 (1999-06-01), pages 1003 - 1011, XP000919963, ISSN: 0916-8524 *
NICKOLAY B ET AL: "AUTOMATISIERTE VISUELLE INSPEKTION AUF BASIS EINER HIERARCHISCHEN BILDAUFLOESUNG", ZWF ZEITSCHRIFT FUR WIRTSCHAFTLICHE FERTIGUNG UNDAUTOMATISIERUNG, CARL HANSER VERLAG. MUNCHEN, DE, vol. 87, no. 1, 1 January 1992 (1992-01-01), pages 34 - 37, XP000271912, ISSN: 0947-0085 *
WANG M-C ET AL: "FAST SEARCH ALGORITHMS FOR INDUSTRIAL INSPECTION", INTERNATIONAL JOURNAL OF PATTERN RECOGNITION AND ARTIFICIAL INTELLIGENCE (IJPRAI), WORLD SCIENTIFIC PUBLISHING, SI, vol. 15, no. 4, 1 June 2001 (2001-06-01), pages 675 - 690, XP001110308, ISSN: 0218-0014, DOI: 10.1142/S0218001401001039 *
WEN YANG ET AL: "SAR-Based Terrain Classification Using Weakly Supervised Hierarchical Markov Aspect Models", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 21, no. 9, 1 September 2012 (2012-09-01), pages 4232 - 4243, XP011492146, ISSN: 1057-7149, DOI: 10.1109/TIP.2012.2199127 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3961557A1 (de) * 2020-08-26 2022-03-02 Siemens Aktiengesellschaft Qualitätsinspektionsverfahren und anordnung für eine qualitätsinspektion
WO2022043283A1 (de) * 2020-08-26 2022-03-03 Siemens Aktiengesellschaft Qualitätsinspektionsverfahren und anordnung für eine qualitätsinspektion

Also Published As

Publication number Publication date
US20210358101A1 (en) 2021-11-18
DE102019102484A1 (de) 2020-08-06
KR20210121154A (ko) 2021-10-07

Similar Documents

Publication Publication Date Title
WO2020157249A1 (de) Verarbeitung von bilddatensätzen
DE112015004721B4 (de) Defektdetektion unter verwendung von strukturinformation
DE10317917B4 (de) System und Verfahren zum Umgrenzen und Klassifizieren von Regionen innerhalb einer graphischen Abbildung
DE10000364B4 (de) Merkmalbasierende Feststellung von Fehlern
EP0014857B1 (de) Verfahren zum automatischen Markieren von Zellen und zur Bestimmung der Merkmale von Zellen aus zytologischen Abstrichpräparaten
DE112016003823B4 (de) Ladungsteilchenstrahl-Vorrichtung und Mustermessvorrichtung
DE102012107287B4 (de) Computergestütztes Verfahren und Vorrichtung zum Identifizieren von Fehlern in einem Material
DE112014007346B4 (de) Mit einem Strahl geladener Teilchen arbeitende Vorrichtung
DE10157958B4 (de) Bildverarbeitungsverfahren und-vorrichtung
DE112015003362T5 (de) Virtuelle inspektionssysteme mit einer mehrzahl an modi
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE102009036474A1 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE19803021A1 (de) Verfahren und Vorrichtung zur Musteruntersuchung
DE19546769C2 (de) Verfahren und Vorrichtung zur Erzeugung von Musterdaten
DE112013000627T5 (de) Segmentierung zur Waferinspektion
DE102021101704A1 (de) Bilderzeugungssystem
DE112012001439T5 (de) Entwurfbasierte Inspektion unter Vewendung wiederholenden Strukturen
EP1882232B1 (de) Verfahren und vorrichtung zum bestimmen von materialgrenzen eines prüfobjekts
DE102019133685A1 (de) Informationsverarbeitungssystem und -verfahren
DE112012004809T5 (de) Kantenverfolgung mit Hysterese-Schwellenwertbildung
DE102020123979A1 (de) Defekterkennung für Halbleiterstrukturen auf einem Wafer
DE102020211900A1 (de) Ladungsträgerstrahlvorrichtung
DE112018001614T5 (de) Querschnittsbeobachtungsvorrichtung und Steuerverfahren
DE102019131434A1 (de) Computerimplementiertes Verfahren zur Segmentierung von Messdaten aus einer Messung eines Objekts
DE102019131437A1 (de) Computerimplementiertes Verfahren zur Segmentierung von Messdaten aus einer Messung eines Objekts

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20703015

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217027289

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020703015

Country of ref document: EP

Effective date: 20210831

122 Ep: pct application non-entry in european phase

Ref document number: 20703015

Country of ref document: EP

Kind code of ref document: A1