DE60032762T2 - Vorrichtung und Techniken zum Untersuchen von Retikeln mit paralleler Verarbeitung - Google Patents

Vorrichtung und Techniken zum Untersuchen von Retikeln mit paralleler Verarbeitung Download PDF

Info

Publication number
DE60032762T2
DE60032762T2 DE60032762T DE60032762T DE60032762T2 DE 60032762 T2 DE60032762 T2 DE 60032762T2 DE 60032762 T DE60032762 T DE 60032762T DE 60032762 T DE60032762 T DE 60032762T DE 60032762 T2 DE60032762 T2 DE 60032762T2
Authority
DE
Germany
Prior art keywords
data
image
processors
processor
sample
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE60032762T
Other languages
English (en)
Other versions
DE60032762D1 (de
Inventor
M. Edward Sunnyvale GOLDBERG
N. Erik Santa Clara JOHNSON
R. Lawrence MILLER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KLA Corp
Original Assignee
KLA Tencor Corp
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 KLA Tencor Corp filed Critical KLA Tencor Corp
Publication of DE60032762D1 publication Critical patent/DE60032762D1/de
Application granted granted Critical
Publication of DE60032762T2 publication Critical patent/DE60032762T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/9501Semiconductor wafers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N21/95607Inspecting patterns on the surface of objects using a comparative method
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F1/00Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
    • G03F1/68Preparation processes not covered by groups G03F1/20 - G03F1/50
    • G03F1/82Auxiliary processes, e.g. cleaning or inspecting
    • G03F1/84Inspecting
    • 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
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N21/95607Inspecting patterns on the surface of objects using a comparative method
    • G01N2021/95615Inspecting patterns on the surface of objects using a comparative method with stored comparision signal
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N2021/95676Masks, reticles, shadow masks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf eine Vorrichtung und Techniken zum Untersuchen einer Probe, wie etwa eines Retikels, einer Fotomaske oder anderer Halbleitermaterialien oder Oberflächen, und genauer auf eine Vorrichtung und Verfahren zum Bestimmen, ob eine Probe fehlerhaft ist.
  • Ein Retikel oder eine Fotomaske ist ein optisches Element, das transparente und undurchsichtige, semi-transparente und phasenverschiebende Regionen enthält, die gemeinsam das Muster von koplanaren Merkmalen in einer elektronischen Einrichtung definieren, wie etwa einer integrierten Schaltung. Retikel werden während Fotolithografie verwendet, um spezifizierte Regionen eines Halbleiterwafers zum Ätzen, Ionenimplantation oder einen anderen Herstellungsprozess zu definieren. Für viele modemintegrierte Schaltungsentwürfe sind Merkmale eines optischen Retikels zwischen ungefähr 1 und ungefähr 5 Mal größer als die entsprechenden Merkmale auf dem Wafer. Für andere Belichtungssysteme (z.B. Röntgenstrahl, e-Strahl und extrem Ultraviolett) trifft auch ein ähnlicher Bereich von Verringerungsverhältnissen zu.
  • Optische Retikel werden häufig aus einem transparenten Medium hergestellt, wie etwa Borsilikatglas oder einer Quarzplatte, worauf eine undurchsichtige und/oder semi-undurchsichtige Schicht aus Chrom oder einem anderen geeigneten Material abgelagert wird. Es werden jedoch andere Maskentechnologien für direkte e-Strahlbelichtung (z.B. Schablonenmasken), Röntgenstrahlbelichtung (z.B. Absorbermasken) etc. eingesetzt. Das Retikelmuster kann z.B. durch einen Laser oder eine direkte Schreibtechnik eines e-Strahls erstellt werden, von denen beide in der Technik weithin verwendet werden.
  • Nach Herstellung von jedem Retikel oder einer Gruppe von Retikeln wird jedes Retikel typischerweise durch sein Illuminieren mit Licht untersucht, das einer gesteuerten Beleuchtungseinrichtung entspringt. Optische Bilder von einem oder mehr Abschnitten des Retikels werden basierend auf dem Bruchteil des Lichts, das reflektiert, gerichtet oder anderweitig zu einem Lichtsensor übertragen wird, aufgebaut. Derartige Untersuchungstechniken und Vorrichtungen sind in der Technik gut bekannt und sind in verschiedenen kommerziellen Produkten verkörpert, wie etwa vielen von jenen, die von KLA-Tencor Corporation of San Jose, Kalifornien verfügbar sind.
  • Während eines konventionellen Untersuchungsprozesses wird das optische Bild des Retikelabschnitts, der untersucht wird, typischerweise mit einem entsprechenden Bezugsbild verglichen. Konventionell wird das Bezugsbild entweder aus Schaltungsmusterdaten, die verwendet wurden, um das Retikel herzustellen, oder aus einem optischen Bild eines nahe gelegenen Bereiches des Retikels selbst generiert. Auf jede Weise werden die optischen Bildmerkmale analysiert und mit entsprechenden Merkmalen des Bezugsbildes verglichen. Jede Merkmalsdifferenz wird dann typischerweise mit einem Schwellwert verglichen. Falls das optische Bildmerkmal von dem Testmerkmal um mehr als die vorbestimmte Schwelle variiert, wird ein Defekt definiert.
  • Mechanismen für einen typischen Untersuchungsprozess können eine Reihe seriell gekoppelter Prozessoren enthalten. Die Bilddaten werden eingespeist in und verarbeitet durch einen ersten Prozessor. Nachdem der erste Prozessor einen Schritt der Analyse durchführt, werden die resultierenden Daten dann in einen zweiten Prozessor für den nächsten Schritt in der Analyse eingespeist. Die Bilddaten können in eine beliebige Zahl von Prozessoren seriell eingespeist werden. Typischerweise werden die unterschiedlichen Prozessoren jeder einen kleinen Anteil des(r) gesamten Analysealgorithmus(en) durchführen. Die Algorithmen sind gewöhnlich in die einzelnen Prozessoren hart kodiert.
  • Obwohl serielle Verarbeitung von Abschnitten der Bilddaten für einige Anwendungen adäquat ist, ist sie unter gewissen Bedingungen zu langsam und/oder unflexibel. Während Schaltungsmuster und entsprechende Retikelmuster komplexer werden, wachsen z.B. die Bilddaten derartiger Retikel, um einen relativ großen Umfang von Daten zu enthalten, die genau analysiert werden müssen. Ein typisches Retikel kann in Bilddaten von 1 Million Mal 1 Million Pixel konvertiert werden. Das heißt es kann ziemlich aufwändig werden, derart große Mengen von Bilddaten zu verarbeiten.
  • Außerdem hängt häufig konventionelle Bildverarbeitung von dem richtigen Funktionieren aller Prozessoren ab. D.h. falls ein einzelner Prozessor innerhalb der seriellen Kette von Prozessoren ausfällt, können die Bilddaten nicht richtig analysiert werden. Die Unfähigkeit zu einer richtigen Analyse ist besonders wahrscheinlich, falls es keine anderen Prozessoren innerhalb der seriellen Kette von Prozessoren gibt, die die Funktionen des ausgefallenen Prozessors durchführen.
  • Schließlich können Untersuchungssysteme, die Prozessoren mit festen oder hart kodierten Algorithmen enthalten, häufig den vollen Bereich möglicher Algorithmen nicht handhaben, die für Bildverarbeitung von Nutzen sein können, und sie werden nicht einfach aktualisiert oder geändert, falls eine neue Menge von Algorithmen gewünscht wird. Falls z.B. neue Algorithmen gewünscht werden, kann es sein, dass die Prozessoren durch neue Prozessoren ersetzt werden müssen, die eine neue Menge von hart kodierten Algorithmen aufweisen. Diese Prozedur kann relativ zeitraubend und/oder aufwändig sein.
  • Die Literaturstelle US-A-5537669 offenbart ein System zum gleichzeitigen Verarbeiten von Bildabschnitten von Regionen einer Probe, umfassend einen Aufbau von Teilbildern, die durch Prozessoren parallel unabhängig verarbeitet werden können. Das System ist angeordnet, die Bilddaten in eine Vielzahl von Bildabschnitten zu unterteilen. Es enthält duplizierte Pipelinesysteme zum Verarbeiten unterschiedlicher Felder einer Sicht. Das System verwendet den gleichen Algorithmus in den gleichzeitig verarbeiteten Bildabschnitten.
  • Somit werden eine verbesserte Untersuchungsvorrichtung und Techniken benötigt. Genauer sind Mechanismen zum effizienteren und genaueren Verarbeiten von Bilddaten erwünscht. Außerdem sind auch flexible Mechanismen zum Ändern der Prozessoralgorithmen wünschenswert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung wird in dem angefügten Vorrichtungsanspruch 1, dem Verfahrensanspruch 17 und dem Datenträgeranspruch 33 ausgeführt.
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden Beschreibung der Erfindung und den begleitenden Zeichnungen, die die Prinzipien der Erfindung auf dem Weg eines Beispiels veranschaulichen, detaillierter präsentiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird durch die folgende detaillierte Beschreibung in Verbindung mit den begleitenden Zeichnungen leicht verstanden, wobei gleiche Bezugszeichen gleiche Strukturelemente bezeichnen, und in denen:
  • 1 eine schematische Darstellung eines Untersuchungssystems in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 2 eine schematische Darstellung von zwei Mengen von Bilddaten entsprechend zwei "Streifen" einer Probe, wie etwa eines Retikels, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 3 eine schematische Darstellung von Bildern ist, die einem Streifen entsprechen, der in Füllstücke unterteilt ist, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung;
  • 4 eine detaillierte schematische Darstellung eines Untersuchungssystems in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 5 eine schematische Darstellung von einem der Datenverteiler von 4 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 6 eine schematische Darstellung einer der Blattclusterkarten von 4 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 7 eine schematische Darstellung eines einzelnen Blattprozessors von 6 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 8 ein Flussdiagramm ist, das einen Prozess zum Analysieren von Bilddaten in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG SPEZIFISCHER AUSFÜHRUNGSFORMEN
  • Es wird nun detailliert auf die spezifischen Ausführungsformen der Erfindung verwiesen. Beispiele dieser spezifischen Ausführungsformen sind in den begleitenden Zeichnungen veranschaulicht. Während die Erfindung in Verbindung mit diesen spezifischen Ausführungsformen beschrieben wird, wird verstanden, dass nicht beabsichtigt ist, die Erfindung auf die beschriebenen Ausführungsformen zu begrenzen. Ganz im Gegenteil ist beabsichtigt, Alternativen, Modifikationen und Entsprechungen abzudecken, wie sie innerhalb von Geist und Bereich der Erfindung enthalten sein können, wie durch die angefügten Ansprüche definiert. In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein vollständiges Verständnis der vorliegenden Erfindung vorzusehen. Die vorliegende Erfindung kann ohne einige oder alle diese spezifischen Details praktiziert werden. In anderen Fällen wurden gut bekannte Prozessoperationen nicht detailliert beschrieben, um die vorliegende Erfindung nicht unnötig undurchsichtig zu machen.
  • 1 ist eine schematische Darstellung eines Untersuchungssystems 300 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das Untersuchungssystem enthält einen Eingang 302 von einem Scanner (nicht gezeigt), ein Datenverteilungssystem 308, eine Gruppe von Prozessoren (z.B. 312 und 314), eine optionale Massenspeichereinrichtung 316 und einen Systemsteuerprozessor 310. Ein Prozessor kann typischerweise eine oder mehr integrierte Mikroprozessorschaltungen enthalten, und kann auch eine Schnittstelle und/oder integrierte Speicherschaltungen enthalten, und kann außerdem mit einer oder mehr gemeinsam genutzten und/oder globalen Speichereinrichtungen gekoppelt sein. Diese Prozessoren werden auch als "Blattprozessoren" bezeichnet.
  • Das Datenverteilungssystem 308 ist angeordnet, eine Eingabe 302 von einem Scanner oder Datenerlangungssystem (nicht gezeigt) zu empfangen. Der Scanner kann ein beliebiges geeignetes Instrument zum Erhalten eines Bildes einer Probe sein. Z.B. kann der Scanner ein optisches Bild eines Abschnitts der Probe basierend auf einem Anteil von Licht, das reflektiert, übertragen oder anderweitig zu einem oder mehr Lichtsensoren gerichtet wird, aufbauen. Alternativ kann der Scanner einen Elektronenstrahl (e-Strahl) oder andere Verfahren zum Erhalten eines Bildes der Probe nutzen.
  • Die Bilddaten können von einem beliebigen geeigneten Probentyp erhalten werden. D.h. die Probe kann etwas beliebiges sein, was zu einer relativ großen Menge von Bilddaten führt. Z.B. kann die Probe ein Retikel mit einer Vielheit von feinen Mustern darauf sein. Als ein anderes Beispiel kann die Probe eine Halbleitereinrichtung oder Material, eine rückseitige Abziehemulsionsschicht oder eine Computerplatte sein.
  • Die Bilddaten 302 können eine beliebige geeignete Form zum Darstellen eines Bildes der Probe annehmen. Z.B. enthalten die Bilddaten typischerweise eine Vielfalt von Bildern oder Bildabschnitten, die jeder einen Abschnitt oder ein Füllstück der Probe darstellen. Die Abschnitte der Probe werden abgetastet, um Bilddaten zu erstellen. Diese Probenabschnitte und die entsprechenden Bilder können von beliebiger Größe und Form sein, abhängig von dem bestimmten System und den Anwen dungsanforderungen. Die Bilder können durch Abtasten der Probe auf eine beliebige geeignete Art und Weise erhalten werden. Auf dem Weg eines Beispiels können die Bilder durch eine Rasterabtastung der Probe erhalten werden. Alternativ können die Bilder durch Abtasten der Probe mit einem beliebigen geeigneten Muster, wie etwa einem kreisförmigen oder spiralförmigen Muster, erhalten werden. Natürlich können die Sensoren unterschiedlich angeordnet werden (z.B. in einem kreisförmigen Muster) und/oder die Probe kann während der Abtastung unterschiedlich bewegt werden (z.B. rotiert), um eine Kreis- oder Spiralform aus der Probe abzutasten.
  • In der nachstehend veranschaulichten Ausführungsform wird, während sich die Probe an den Sensoren vorbei bewegt, eine rechteckige Region (hierin nachstehend als ein "Streifen" bezeichnet) der Probe in eine Menge von Bildern konvertiert. In dieser Ausführungsform sind die Sensoren des Scanners in einem rechteckigen Muster angeordnet. Für dieses Beispiel sind die Sensoren angeordnet, Licht von der Probe zu empfangen und daraus eine Menge von Daten zu generieren, die einem Streifen der Probe entsprechen, was ungefähr 1 Millionen Pixel breit und ungefähr 1000 bis 2000 Pixel hoch ist.
  • 2 ist eine schematische Darstellung von zwei Mengen von Bilddaten entsprechend zwei "Streifen" 102 und 104 einer Probe 100, wie etwa eines Retikels, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Jede Menge von Bilddaten kann einem "Streifen" der Probe 100 entsprechen. In dem Beispiel von 2 entspricht eine erste Menge von Bilddaten einem ersten Streifen 102 der Probe 100, und eine zweite Menge von Bilddaten entspricht einem zweiten Streifen 104 der Probe 100.
  • Jede Menge von Bilddaten kann durch sequenzielles Abtasten von Streifen in einem gewundenen oder Rastermuster erhalten werden. Z.B. wird der erste Streifen 102 der Probe 100 durch ein Bilderlangungssystem von links nach rechts abgetastet, um eine erste Menge von Bilddaten zu erhalten. Der zweite Streifen 104 wird dann von rechts nach links abgetastet, um eine zweite Menge von Bilddaten zu erhalten.
  • In einer bevorzugten Ausführungsform gibt es eine Überlappung 106 zwischen jeder Menge von Bilddaten und der nächsten Menge von Bilddaten, die einer Überlappung in der Probe entspricht. Diese Überlappung erlaubt mehr Flexibilität bei Verarbeitung gewisser Muster in der Probe 100. Z.B. stellt diese Überlappung sicher, dass ein beliebiges Muster irgendwo in dem Teil der Oberfläche, die durch Überlappung von Streifen abgedeckt wird, vollständig innerhalb mindestens eines Streifens enthalten sein wird, solange wie die Höhe des Musters kleiner oder gleich der Höhe des Überlappungsbereiches ist. Die meisten Algorithmen können einen Defekt in einem Muster nicht erfassen, es sei denn, das gesamte Muster ist in dem Bildabschnitt vorhanden, den der Algorithmus untersucht.
  • Zu 1 zurückkehrend werden die Bilddaten 302 durch ein Datenverteilungssystem 308 empfangen. Das Datenverteilungssystem 308 kann mit einer oder mehr Speichereinrichtungen, wie etwa RAM-Puffern, zum Halten mindestens eines Abschnitts der empfangenen Bilddaten 302 in Verbindung stehen. Vorzugsweise ist der gesamte Speicher groß genug, um einen ganzen Streifen von Bilddaten zu halten. Z.B. arbeitet ein Gigabyte von Arbeitsspeicher gut für einen Streifen, der 1 Million Mal 1000 Pixel ist.
  • Das Datenverteilungssystem 308 steuert auch eine Verteilung von Abschnitten der eingegebenen empfangenen Bilddaten 302 zu den Blattprozessoren (z.B. 312 und 314). Z.B. kann das Datenverteilungssystem 308 ein erstes Bild zu Blattprozessor 312 weiterleiten, und kann ein zweites Bild zu Blattprozessor 314 weiterleiten.
  • Die Blattprozessoren können ein Bild empfangen, das mindestens einem Abschnitt oder Füllstück der Probe entspricht. Die Blattprozessoren können jeder auch gekoppelt sein mit oder integriert sein in einer oder mehr Speichereinrichtungen (nicht gezeigt), wie etwa DRAM-Einrichtungen, die lokale Speicherfunktionen bereitstellen, wie etwa Halten des Bilddatenabschnitts. Vorzugsweise ist der Speicher groß genug, um ein Bild zu enthalten, das einem Füllstück der Probe entspricht. Z.B. arbeiten acht Megabyte von Speicher gut für ein Bild entsprechend einem Füllstück, das 512 Mal 1024 Pixel ist. Alternativ können die Blattprozessoren Speicher gemeinsam nutzen.
  • Jede Menge von Bilddaten 302 kann einem Streifen der Probe entsprechen. Eine oder mehr Mengen von Bilddaten kann in einem Speicher des Datenverteilungssystems 308 gespeichert sein. Dieser Speicher kann durch einen oder mehr Prozessoren innerhalb des Datenverteilungssystems 308 gesteuert werden, und der Speicher kann in eine Vielzahl von Partitionen unterteilt sein. Z.B. kann das Datenverteilungssystem 308 ein Bild entsprechend einem Abschnitt eines Streifens in eine erste Speicherpartition (nicht gezeigt) empfangen, und das Datenverteilungssystem 308 kann ein anderes Bild entsprechend einem anderen Streifen in eine zweite Speicherpartition (nicht gezeigt) empfangen. Vorzugsweise hält jede der Speicherpartitionen des Datenverteilungssystems 308 nur die Abschnitte der Bilddaten, die zu einem Prozessor weiterzuleiten sind, der mit einer derartigen Speicherpartition in Verbindung steht. Z.B. kann die erste Speicherpartition des Datenverteilungssystems 308 ein erstes Bild halten und zu Prozessor 312 weiterleiten, und die zweite Speicherpartition kann ein zweites Bild halten und zu Prozessor 314 weiterleiten.
  • Das Datenverteilungssystem 308 kann auch Abschnitte der empfangenen Bilddaten unterteilen und zu Prozessoren weiterleiten. Die Bilddaten können durch das Datenverteilungssystem 308 auf eine beliebige geeignete Art und Weise zum Unterstützen von Datenanalyse unterteilt werden. Z.B. können die Bilddaten in Bilder unterteilt werden, die jedes einem "Streifen" der Probe entsprechen. 3 ist eine schematische Veranschaulichung einer Bilddatenmenge 102, die einem Streifen entspricht, der in Füllstücke unterteilt ist, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • Wie gezeigt, enthält die Bilddatenmenge 102 eine Vielzahl von Bildern 202, 204, 206 und 208, und jedes Bild entspricht einem Füllstück einer Probe. Wie die Mengen von Bilddaten entsprechend überlappenden Streifen können sich die Bilder innerhalb einer bestimmten Menge von Bilddaten auch überlappen. Wie gezeigt, gibt es einen Überlappungsbereich 210c zwischen Bildern 202 und 204, und einen Überlappungsbereich 210b zwischen Bildern 204 und 206, und einen Überlappungsbereich 210a zwischen Bildern 206 und 208.
  • Wie oben für die überlappenden Streifenbilder von 2 erörtert, unterstützt Überlappung von Füllstückbildern auch zuverlässige Verarbeitung. Z.B. machen es die Überlappungsbereiche möglich, eine vollständige Struktur zu verarbeiten, die teilweise oder vollständig innerhalb des Überlappungsbereiches liegt, wenn die Breite der Struktur kleiner als die Überlappungsbreite ist. Die Erosion oder der Verlust von Daten, die/der in den Kanten von Füllstücken auftritt, wenn Faltungen und andere Operationen in der lokalen Nachbarschaft verwendet werden, können auch beseitigt werden, wenn es eine Überlappung gibt.
  • Entsprechend können die Überlappungsbereiche unabhängiges Funktionieren der Prozessoren erlauben. Mit anderen Worten kann jeder Prozessor ein Bild unabhängig analysieren, ohne Information mit einem anderen Prozessor teilen zu müssen. Die Überlappungsbereiche können die Notwendigkeit für Blattprozessoren beseitigen, miteinander zu kommunizieren, was zu einer einfacheren Architektur führt. Z.B. kann die Speicherpartition, die die Bilddaten enthält, durch den der Prozessor im Zugriff nur-lesbar gemacht werden, und somit sind Mechanismen zum Sicherstellen von Cachekohärenz nicht erforderlich.
  • Das Datenverteilungssystem 308 kann jedes Bild der Bilddaten basierend auf beliebigen geeigneten Parametern der Bilddaten definieren und verteilen. Z.B. können die Bilder basierend auf der entsprechenden Position des Füllstücks in der Probe definiert und verteilt werden. In einer Ausführungsform steht jeder Streifen mit einem Bereich von Spaltenpositionen in Verbindung, die horizontalen Positionen von Pixeln innerhalb des Streifens entsprechen. Z.B. können Spalten 0 bis 256 des Streifens einem ersten Füllstück entsprechen, und die Pixel innerhalb dieser Spalten werden das erste Bild umfassen, was zu einem oder mehr Blattprozessoren weitergeleitet wird. Gleichermaßen können die Spalten 257 bis 512 des Streifens einem zweiten Füllstück entsprechen, und die Pixel in diesen Spalten werden das zweite Bild umfassen, das zu (einem) anderen Blattprozessor(en) weitergeleitet wird.
  • In Summe sieht die vorliegende Erfindung Mechanismen zum Teilen der Bilddaten in verwaltbare Blöcke oder Bildabschnitte vor, die durch einzelne Blattprozessoren leicht parallel analysiert werden können. Somit können die gesamten Bilddaten in eine Zahl von Bildern geparst werden, und ein oder mehr Bilder können zu jedem getrennten Blattprozessor verteilt werden. Die Blattprozessoren können dann unabhängig, effizient das (die) empfangene(n) Bild(er) parallel analysieren.
  • Nachdem einer der Blattprozessoren ein Bild empfängt, wird es auf eine beliebige geeignete Art und Weise so analysiert, um Information über die empfangene Bildeingabe 302 abzuleiten. In einer Ausführungsform kann der Prozessor auch Bezugsdaten von einer Datenbank 316 zusätzlich zu dem Bild empfangen. Diese Bezugsdaten können in einer beliebigen geeigneten Form vorliegen, die Kennzeichnung der Bildeingabedaten 302 unterstützt. Z.B. können die Bilddaten aus einer bereitgestellten Schaltungsmustergestaltungsdatenbank (die sich z.B. in der Massenspeichereinrichtung 316 befindet) generiert werden. Die Bezugsdaten können als ein Grauskala-Pixelabbildungsbezugsbild empfangen werden, oder sie können als eine Spezifikation einer Menge von Formen und ihrer Standorte empfangen werden, die gemeinsam das Bezugsmuster definieren. In dem letzteren Fall konvertiert der Blattprozessor die Bezugsdaten in ein Grauskala-Pixelabbildungsbezugsbild, bevor die Bezugsinformation mit dem Bildabschnitt verglichen wird.
  • Die Bezugsdaten können dann durch den Blattprozessor auf eine beliebige geeignete Art und Weise verarbeitet werden, wie etwa durch direktes Konvertieren des Inhalts der Schaltungsmusterdatenbank in ein Bezugsbild. Der Bezugsdatenabschnitt (z.B. aus der Schaltungsmusterdatenbank) kann in einen Bezugsbildabschnitt durch den Blattprozessor auf eine Weise konvertiert oder wiedergegeben werden, die die Effekte von Herstellung und Bilderlangungsprozess berücksichtigt. Z.B. können die Ecken eines Schaltungsmusters in den Bezugsdaten während der Konvertierung gerundet werden, um die Eckenrundung zu simulieren, die gewöhnlich während einer Herstellung eines Retikels auftritt. Das wiedergegebene Bezugsbild kann auch abgestimmt werden, erwartete optische Effekte des optischen Bilderlangungssystems zu simulieren. Auf derartige optische Effekte wird notwendigerweise gestoßen, wenn eine op tische Untersuchungstechnik verwendet wird, um ein Retikel zu evaluieren.
  • Somit kann das Bezugsbild darstellen, wie das Bild des Füllstücks ohne jegliche Defekte aussehen sollte. Auf dem Weg eines spezifischen Beispiels kann der Blattprozessor 312 konfiguriert sein, ein erstes Bild der Bilddaten 302 und entsprechende Bezugsdaten 316 zu empfangen. Außerdem kann der Blattprozessor 312 das entsprechende Bezugsbild aus den Bezugsdaten generieren. Der Blattprozessor 312 kann dann das erste Bild mit dem entsprechenden Bezugsbild 316 vergleichen. Falls der Blattprozessor 312 bestimmt, dass es relativ große Differenzen im Grad und/oder der Art zwischen dem Bild und dem Bezugsbild gibt, kann der Blattprozessor 312 ein oder mehr Defekte für das Füllstück entsprechend dem Bild definieren, berichten und/oder markieren.
  • Alternativ können die Bezugsdaten ein Bild entsprechend einem Füllstück der Probe sein, das innerhalb einer Matrize (die) benachbart zu der Matrize des Füllstücks ist, das getestet wird. Dies wird gewöhnlich als eine Matrize-zu-Matrize-Analyse bezeichnet. Mit anderen Worten werden Bilder entsprechend zwei benachbarten Matrizenfüllstücken in Verbindung durch einen Blattprozessor analysiert. Die vorliegende Erfindung kann auch für Zelle-zu-Zelle-Vergleiche implementiert sein. Auf dem Weg eines anderen Beispiels kann ein Bild, das mit Licht generiert wird, das von der Probe reflektiert wird, mit einem Bild verglichen werden, das mit Licht generiert wird, das durch die Probe übertragen wird. Auf dem Weg eines letzten Beispiel können die Bezugsdaten in der Form von vorher erhaltenen Bilddaten sein, bevor irgendwelche Defekte in der Probe vorhanden waren.
  • Für eine Analyse eines Bildes können beliebige geeignete Algorithmen implementiert werden. Z.B. kann ein Algorithmus einfach Linienbreiten zwischen dem Bild und Bezugsdaten vergleichen. Falls die Differenz zwischen der Breite einer Linie in dem Bild und einer Breite einer Linie in dem Bezugsbild größer als ein vorbestimmter Betrag ist, kann ein Defekt durch den Blattprozessor markiert werden. Der gleiche Algorithmus kann durch zwei unterschiedliche Blattprozessoren, aber unter variierenden Bedingungen verwendet werden. Z.B. kann der vorbestimmte Betrag für einen Blattprozessor weniger streng und für den anderen Blattprozessor strenger sein. In Summe können die Algorithmen, die durch die einzelne Blattprozessoren verwendet werden, qualitativ und/oder quantitativ variieren.
  • Wie in 1 gezeigt, enthält das Untersuchungssystem 300 auch einen zentralen Prozessor 310 zum Bereitstellen einer Benutzerschnittstelle und Steuern der verschiedenen Komponenten des Untersuchungssystems 300. Der zentrale Prozessor 310 kann eine beliebige geeignete Form zum Verbinden mit und Steuern von den Komponenten des Untersuchungssystems annehmen. Der zentrale Prozessor 310 kann z.B. in der Form eines IBM-kompatiblen Computers sein, der mit den Komponenten kommuniziert, die mit dem Datenverteilungssystem 308 gekoppelt sind. Der zentrale Prozessor 310 kann verwendet werden, um das Datenverteilungssystem 308 zu konfigurieren, um bestimmte Abschnitte der Bildeingabe 302 zu teilen, zu speichern und/oder zu bestimmten Prozessoren (z.B. 312 und 314) zu verteilen. Z.B. kann das Datenverteilungssystem 308 konfiguriert sein, einen ersten Abschnitt der Bilddaten 302 zu Prozessor 312 zu verteilen. Ähnlich kann das Datenverteilungssystem 308 konfiguriert sein, einen zweiten Abschnitt der Bilddaten 302 zu Prozessor 314 zu verteilen.
  • Der zentrale Prozessor 310 kann auch genutzt werden um zu konfigurieren, wie Prozessoren die empfangenen Abschnitte der Bilddaten 302 analysieren. Z.B. kann jeder Prozessor konfigu riert sein, einen anderen Algorithmus zum Verarbeiten seines empfangenen Abschnitts der Bilddaten 302 zu implementieren. Auf dem Weg eines anderen Beispiels kann jeder Prozessor den gleichen Algorithmus verwenden, aber konfiguriert sein, den Algorithmus unter anderen Bedingungen zu implementieren.
  • Obwohl die Prozessoren der vorliegenden Erfindung beschrieben werden, als durch einen zentralen Prozessor oder Computer konfiguriert werden zu können, können die Prozessoren hart-kodierte Instruktionen enthalten. Wenn jedoch die Prozessoren konfigurierbar sind, sieht die vorliegende Erfindung ein flexibles und effizientes System zum Untersuchen von Proben vor. D.h. Algorithmen können fliegend für unterschiedliche Probentypen, unterschiedliche Füllstücke in der Probe und unterschiedliche Anwendungsanforderungen sorgfältig maßgeschneidert und geändert werden.
  • 1 ist eine konzeptionelle Darstellung der vorliegenden Erfindung. So wurden einige Komponenten, die innerhalb des Untersuchungssystems 300 implementiert sein können, aus der Veranschaulichung ausgeschlossen, um die Erfindung nicht zu verwirren. Außerdem ist die bestimmte Anordnung der verschiedenen Komponenten des Untersuchungssystems 300 lediglich veranschaulichend und nicht gedacht, den Bereich der vorliegenden Erfindung zu begrenzen.
  • 4 ist eine detaillierte schematische Darstellung eines Untersuchungssystems 400 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das Untersuchungssystem 400 empfängt Bilddaten von einem Bilderlangungssystem 402. Das Untersuchungssystems 400 enthält eine Bilddatenschnittstelle 404, eine Vielzahl von Datenverteilern 406, eine Vielzahl von Blattclusterkarten 410 für jeden Datenverteiler, eine Datenbank- und Steuerschnittstelle 416, einen Systemsteuerprozessor 418, eine Datenbankspeichereinrichtung 420, einen Switch 414, einen Netzbus 412 und eine Benutzerschnittstelle 422.
  • Das Bilderlangungssystem 402 ist konfiguriert, Bilddaten von einer Probe zu erhalten. Z.B. tastet das Bilderlangungssystem 402 die Probe ab, um Pixeldaten zu generieren und dadurch die Bilddaten zu extrahieren. Im allgemeinen Sinn repräsentieren die Bilddaten einen Pfad eines Sensors der Untersuchungsstation, während er sich über die Probe bewegt (oder vielmehr während sich die Probe unter dem Sensor bewegt), und erlangt Bilddaten. In einer Ausführungsform werden Bilddaten eines Streifens erhalten. Z.B. können die Bilddaten eine Million Pixel breit Mal eintausend bis zweitausend Pixel sein. Ein typisches Retikel kann in ein Bild von einer Million Mal einer Million Pixel konvertiert werden, und erfordert fünfhundert bis eintausend Mengen von Bilddaten, die jede einem Streifen entsprechen.
  • Die Bilddatenschnittstelle 404 formatiert die empfangenen Bilddaten von dem Bilderlangungssystem 402 in Datensignale, die durch die Komponenten des Untersuchungssystems 400 empfangen und verarbeitet werden können. Z.B. konvertiert die Bilddatenschnittstelle 404 optische Signale einer Faser von der Untersuchungsstation zu Signalen von Kupferdraht, die die Bilddaten darstellen. Die konvertierten Bilddaten werden zu einem oder mehr der Datenverteiler 406 eingespeist. Wie gezeigt, gibt die Bilddatenschnittstelle 404 diese konvertierten Bilddaten 408a zu einem ersten Datenverteiler 406a aus. Natürlich ist die Bilddatenschnittstelle 404 nicht erforderlich, falls das Bilderlangungssystem 402 und das Untersuchungssystem 400 das gleiche Signalformat nutzen.
  • In einer Ausführungsform sind die Datenverteiler 406 in einer Konfiguration einer "Verkettung" zusammen gekoppelt. Wie gezeigt, empfängt der erste Datenverteiler die Bilddaten 408a und gibt die Bilddaten 408b zu einem anderen Datenverteiler aus. Vorzugsweise wird eine ganze Bilddatenmenge, die einem Streifen entspricht, durch jeden Datenverteiler gesehen. Jeder Datenverteiler empfängt die Bilddaten und gibt sie zu dem nächsten Datenverteiler in der Kette aus. Diese Verkettungskonfiguration erlaubt leichte Ausdehnung des Untersuchungssystems. D.h. Datenverteiler können je nach Bedarf an das Ende der Kette gekoppelt werden. Diese Konfiguration begrenzt eine Erweiterung nicht, im Vergleich zu einer Anordnung, wo die Datenverteiler alle mit der Bilddatenschnittstelle 404 gekoppelt sind (d.h. die Zahl von Datenverteilern wäre auf die Zahl von physikalischen Verbindungen begrenzt, die in der Bilddatenschnittstelle 404 verfügbar sind).
  • Die Datenverteiler unterteilen die Bilddaten in eine Vielzahl von Bildern und leiten jedes Bild zu einer bestimmten Gruppe von Prozessoren in einer oder mehr Blattclusterkarte(n) 410 weiter. In der veranschaulichten Ausführungsform ist jeder Datenverteiler 406 mit einer Vielzahl von Blattclusterkarten 410 gekoppelt. Z.B. kann jeder Datenverteiler 406 mit acht Blattclusterkarten gekoppelt sein. Jede Blattclusterkarte 410 empfängt eine Teilmenge von Bildern der Bilddaten und leitet spezifische Bilder zu spezifischen Blattprozessoren innerhalb der Blattclusterkarte selbst für eine weitere Verarbeitung und Analyse weiter.
  • Jeder Datenverteiler 406 kann konfiguriert sein, eine beliebige Größe von Bilddaten zu halten, wie etwa eine Bildmenge, die einem ganzen Streifen von Bilddaten entspricht. In dieser Ausführungsform empfängt jeder Datenverteiler 406 eine Bildmenge entsprechend dem ganzen Streifen und partitioniert sie basierend auf beliebigen geeigneten Parametern der Bilddaten, wie etwa einer Spaltenposition. Die Datenverteiler 406 können auch jeder Bezugsdaten von der Datenbank 420 empfangen, und dann Abschnitte der Bezugsdaten zu ausgewählten Blattcluster karten 410 verteilen. Alternativ können die Bezugsdaten durch die geeignete Blattclusterkarte 410 direkt empfangen werden. Vorzugsweise behält jeder Datenverteiler 406 nur Abschnitte der Bildmenge und Bezugsdaten, die durch seine eigenen unteren Blattclusterkarten 410 verwendet werden.
  • In einer Ausführungsform speichert ein bestimmter Datenverteiler (z.B. 406a) Bilder für jede seiner unteren Blattclusterkarten (z.B. 410a bis 410b). Mit anderen Worten wird eine Gruppe von Bildern von den Bilddaten behalten und zu einer bestimmten unteren Blattclusterkarte gesendet. Auf dem Weg eines Beispiels kann der Datenverteiler 406a eine erste Gruppe von Bildern behalten, die zu Blattclusterkarte 410a weitergeleitet wird, und eine zweite Gruppe von Bildern behalten, die zu Blattclusterkarte 410b weitergeleitet wird.
  • In einer Ausführungsform bestimmt jeder Datenverteiler 406, basierend auf Positionsindikatoren des Bildes innerhalb der Bilddaten, wohin eine Teilmenge von Bildern zu senden ist. Z.B. werden die Bilder mit einem ersten Bereich von Spaltenpositionen innerhalb der Bilddaten durch einen ersten Datenverteiler 406a zu seinen unterliegenden Blattclusterkarten (z.B. 410a und 410b) weitergeleitet. Im Gegensatz dazu kann ein zweiter Datenverteiler 406b dann Bilder mit einem zweiten Bereich von Spaltenpositionen zu seiner unterliegenden Blattclusterkarte (z.B. 410c und 410d) senden.
  • Jede Blattclusterkarte 410 empfängt eine Teilmenge von Bildern von ihrem zugehörigen Datenverteiler 410, und leitet spezifische Bilder innerhalb dieser Teilmenge zu spezifischen Prozessoren weiter, die sich in der Blattclusterkarte 410 befinden. Die einzelnen Bilder werden zu Blattprozessoren in den Blattclusterkarten basierend auf einer Reihe von Faktoren weitergeleitet, wie etwa Verfügbarkeit von Prozessorressourcen. Die Blattprozessoren der Blattclusterkarten sind zum Analysieren des/der empfangenen Bildes/Bilder mit verschiedenen Algorithmen konfigurierbar.
  • Das Untersuchungssystem 400 kann auch eine Datenbank 420 zum Aufbewahren von Bezugsdaten enthalten, die durch die Prozessoren der Blattclusterkarten 410 genutzt werden, um die empfangenen Bilder zu analysieren. Wie oben beschrieben, können die Bezugsdaten verschiedene Typen von Vergleichsdaten enthalten, wie etwa erwartete Daten, Daten von einer benachbarten Matrize oder Zelle etc. Die Datenbankspeichereinrichtung kann eine beliebige geeignete Speichereinrichtung zum Aufbewahren großer Mengen von Bezugsdaten sein. Z.B. kann der Speicher in der Form eines redundanten Feldes unabhängiger Platten (als ein "RAID-Array" bezeichnet) sein.
  • In einer Ausführungsform stellt eine Benutzerschnittstelle 422 einen Mechanismus zum Verbinden mit den und Konfigurieren der verschiedenen Komponenten des Untersuchungssystems 400 bereit. Wie gezeigt, kommuniziert der Systemsteuerungscomputer 418 mit dem Datenverteiler 406 und den Blattclusterkarten 410 durch einen Netzbus 412 (z.B. einen Ethernet-Bus), ebenso wie er mit der Benutzerschnittstelle 422 kommuniziert.
  • Der Systemsteuerungscomputer 418 kann mit den Datenverteilern 406 auf eine beliebige geeignete Art und Weise zum Verbinden mit den und Konfigurieren der verschiedenen Komponenten des Untersuchungssystems 400 gekoppelt sein. Wie gezeigt, ist der Steuercomputer 418 durch eine Daten- und Steuerschnittstelle 416 gekoppelt. Es kann ein beliebiger geeigneter Mechanismus zum Steuern von Funktionen des Untersuchungssystems 400 durch den Steuercomputer 418 implementiert werden. Z.B. kann der Steuercomputer 418 einem Benutzer erlauben, bestimmte Algorithmen und entsprechende Daten auszuwählen und in "Jobs" zu kombinieren, die verwendet werden, um bestimmte Bilder zu analysieren.
  • Natürlich kann eine beliebige Konfiguration von Prozessoren und Computern zum Steuern der Komponenten des Untersuchungssystems 400 implementiert werden. Z.B. können der Systemsteuerungscomputer 418 und die Benutzerschnittstelle 422 in einen einzelnen Computer zum Verbinden mit und Steuern von dem Untersuchungssystem 400 integriert werden.
  • 5 ist eine schematische Darstellung von einem der Datenverteiler 406 von 4 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Wie gezeigt, enthält jeder Datenverteiler 406 eine Bildschnittstelle 520, Datenbank- und Steuerschnittstelle 522, Netzschnittstelle 524, Supervisorprozessor 532, Pufferspeicher 528 und 510 und eine Vielzahl von Blattclusterkarten-(LCC, leaf cluster card)Modulen 502.
  • Die Daten 450a, die z.B. für eine Bildanalyse erforderlich sind, werden in den Datenverteiler 406 von dem Systemsteuerungscomputer 418 (siehe 4) eingegeben. Die Daten 450a von der Datenbank 420 können Bezugsdaten entsprechend bestimmten Bildern enthalten. Die Daten 450a können auch Befehls- und Konfigurationsdaten von einem Benutzerschnittstellenprozessor 422 zum Steuern des (der) Datenverteiler(s) 406, ebenso wie der Blattclusterkarte(n) 410 enthalten. D.h. der Benutzer kann über die Benutzerschnittstelle 422 mit einem oder mehr Datenverteilern 406 und Blattclusterkarte(n) 410 kommunizieren.
  • Ähnlich kann der Datenverteiler 406 Daten 450b durch die Datenbank- und Steuerschnittstelle 522 zu dem Systemsteuerungscomputer 418 und/oder der Datenbank 420 durch die Benutzerschnittstelle 422 ausgeben. Z.B. können Ergebnisdaten, die aus einer Analyse von einem oder mehr Füllstücken generiert werden, durch diese Schnittstelle 450b ausgegeben werden. Auf dem Weg eines spezifischen Beispiels können die Zahl und/oder der Typ von Defekten gesammelt und als Ergebnisdaten ausgegeben werden.
  • Die Netzschnittstelle 524 kann die Form eines beliebigen geeigneten Mechanismus zum Verbinden mit anderen Komponenten des Untersuchungssystems annehmen, wie etwa dem GUI-Computer 422 (siehe 4). Z.B. kann die Netzschnittstelle 524 in der Form einer Schnittstelle 100 Base-T Ethernet sein. Diese Netzschnittstelle 524 kann genutzt werden, um den Supervisorprozessor 532 des Datenverteilers 406 zu programmieren und zu konfigurieren.
  • Der Supervisorprozessor 532 kann konfiguriert sein, eine beliebige geeignete Zahl und Typ von Steuerfunktionen zu implementieren. Z.B. kann der Supervisorprozessor 532 zum Initialisieren anderer Komponenten des Datenverteilers 406, Bestimmen, wie die empfangenen Bilddaten in eine Vielzahl von Bildern zu teilen sind, Initialisieren von Interrupts für den Start und das Ende eines bestimmten Streifens, Bestimmen, welche Bilder innerhalb des Speichers des Datenverteilers zu speichern und zu seinen unteren Blattclusterkarten weiterzuleiten sind und Kommunizieren mit externen Einrichtungen durch die Netzschnittstelle 524 verantwortlich sein. Der Supervisorprozessor 532 kann auch konfiguriert sein, Fehlerwiederherstellungsfunktionen in den empfangenen Bilddaten zu implementieren.
  • Der Supervisorprozessor 532 kann auch mit einem lokalen Programm- und Datenspeicher (nicht gezeigt) zum Unterstützen der Programmierung gekoppelt sein. Der Supervisorprozessor 532 kann eine beliebige geeignete Form zum Bewerkstelligen der oben erwähnten Funktionen annehmen. Z.B. kann der Supervisorprozessor 532 die Form eines R5000-Prozessors mit internem L1-Cache annehmen.
  • Der Datenverteiler kann beliebige geeignete Mechanismen zum Weiterleiten von Daten zu den unterliegenden Blattclusterkarten enthalten. In der veranschaulichten Ausführungsform kann die Bildschnittstelle 520 konfiguriert sein, spezifische Bilder zu spezifischen unteren Blattclusterkarten weiterzuleiten. Gleichermaßen kann die Datenbank- und Steuerschnittstelle 522 konfiguriert sein, spezifische Bezugsdaten zu spezifischen Blattclusterkarten weiterzuleiten. Die Bildschnittstelle 520 und die Datenbank- und Steuerschnittstelle 522 können z.B. über den Supervisorprozessor 532 programmiert werden. Alternativ können die Schnittstellen 520 und 522 durch nicht-konfigurierbare Einrichtungen ersetzt werden, die maßgeschneidert aufgebaut sind, spezifische Weiterleitungsaufgaben durchzuführen (z.B. hart-kodiert).
  • Der Supervisorprozessor 532 kann konfiguriert sein, Bilder zu den unteren Blattclusterkarten des Datenverteilers basierend auf beliebigen Kriterien weiterzuleiten. Z.B. können die Bilder unterteilt und weitergeleitet werden basierend auf Bildkoordinaten, wie etwa Spaltenzahlen oder entsprechende Probenkoordinaten. Gleichermaßen können die Bezugsdaten basierend auf Datenbankadressen innerhalb der Datenbankspeichereinrichtung 420 weitergeleitet werden.
  • Nachdem die Bildschnittstelle 520 auswählt, welche Bilder zu den unterliegenden Blattclusterkarten weiterzuleiten sind, können die ausgewählten Bilder zu einem oder mehr LCC-Modulen 502 weitergeleitet werden. In einer Ausführungsform ist der Datenverteiler 406 angeordnet, sich mit einer Vielzahl von Blattclusterkarten zu verbinden. Daher enthält der Datenverteiler 406 eine Zahl von LCC-Modulen 502 zum Verbinden mit jeder der Blattclusterkarten. Falls z.B. sich der Datenverteiler mit acht Blattclusterkarten verbindet, wird er acht LCC-Module 502 enthalten. Jedes LCC-Modul kann einen Puffer 528 zum Aufbewahren von Bilddaten, einen Puffer 510 zum Aufbewahren von Daten und Steuerinformation und eine LCC-Schnittstelle 506 zum Kommunizieren mit der zugehörigen Blattclusterkarte enthalten.
  • Wie gezeigt, werden die Bilddaten zur Puffereinrichtung 528 weitergeleitet. Der Puffer 528 kann von einer beliebigen geeigneten Größe zum Speichern der Bilddaten sein. In einer Ausführungsform ist der Puffer 528 in der Form eines FIFO und speichert ausreichend Bilder für acht Blattclusterkarten. Z.B. kann der Bildpuffer 528 bis zu 512 MB an Daten bereitstellen. Somit kann der gesamte Speicher in allen Datenverteiler-Bildpuffern 528 größer als die volle Größe eines Streifens von Bilddaten sein.
  • Nachdem die Datenbank- und Steuerschnittstelle 522 auswählt, welche Bezugsbilder und Steuerdaten zu den unterliegenden Blattclusterkarten weiterzuleiten sind, können die ausgewählten Daten gleichermaßen zu einem oder mehr LCC-Modulen 502 weitergeleitet werden. Wie gezeigt, werden die Datenbank- und Steuerdaten zur Puffereinrichtung 510 eines ausgewählten LCC-Moduls 502 weitergeleitet. Der Puffer 522 kann von einer beliebigen geeigneten Größe zum Speichern der Datenbank- und Steuerdaten sein.
  • Jede LCC-Schnittstelle 506 (oder LCC-Modul 502) ist konfiguriert, auf Datenanforderungen von ihrer zugehörigen Blattclusterkarte zu antworten. D.h. die LCC-Schnittstelle 506 fragt Daten von den Puffern 520 und 522 ab, wenn sie die zugehörige Blattclusterkarte anfordert. Nach Empfang einer Anforderung nach Daten leitet der LCC-Schnittstellenblock 506 einen Anteil der Bilddaten zu der anfordernden Blattclusterkarte weiter. Die weitergeleiteten Daten können dann durch einen oder mehr der zugehörigen Blattprozessoren der zugehörigen Blattclusterkarte verarbeitet werden.
  • 6 ist eine schematische Darstellung einer der Blattclusterkarten 410 von 4 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Wie gezeigt, enthält die Blattclusterkarte 410 eine Vielzahl von Prozessoren 608 (hierin als "Blattprozessoren" bezeichnet). In der veranschaulichten Ausführungsform enthält die Blattclusterkarte 410 48 einzelne Blattprozessoren. Zusammen mit den 48 Prozessoren enthält die Blattclusterkarte 410 auch einen Pool an gemeinsam genutztem Speicher 604 und einen Supervisorprozessor 602.
  • Bilddaten und Datenbankdaten werden durch einen Eingang 454a empfangen. Ergebnisdaten können durch eine Schnittstelle 454b ausgegeben werden. Auf den Supervisorprozessor 602 kann zugegriffen werden und er kann konfiguriert werden durch die Netzschnittstelle 452.
  • Der Supervisorprozessor 602 kann programmiert sein, eine Vielzahl geeigneter Aufgaben auszuführen, um eine Analyse der Bilder zu unterstützen. Z.B. kann der Supervisorprozessor 602 für eine Bestimmung verantwortlich sein, welche Daten (z.B. welche Bild- und Bezugsdaten) zu welchem einzelnen Prozessor 608 weitergeleitet werden. Z.B. können ein Bild und ein entsprechender Bezugsdatenabschnitt zu einem der Blattprozessoren (608) für einen Vergleich der Bild- und Bezugsdaten weitergeleitet werden.
  • Außerdem können ein oder mehr Algorithmen für jedes Bild zugewiesen werden. In einer Ausführungsform empfängt der Supervisorprozessor 602 eine Jobmenge, die spezifiziert, welcher Job oder Menge von Algorithmen in welchen Bildern implementiert wird. Der Supervisorprozessor 602 kann dann auf die geeignete Menge zugreifen und bestimmen, welche Algorithmen und Bezugsdaten für ein bestimmtes Bild implementiert werden. Das geeignete Bild, Bezugsdaten und Jobmenge können dann zu einem Blattprozessor 608 weitergeleitet werden. Jeder Blattjob kann Information enthalten, die für eine Verarbeitung bestimmter Bilder geeignet ist. Somit kann jeder Job einen oder mehr Algorithmen enthalten, z.B. zum Implementieren in einem bestimmten Bild, ebenso wie Daten und Instruktionen, die zum Implementieren des/der Algorithmus/Algorithmen notwendig sind.
  • 7 ist eine schematische Darstellung eines einzelnen Blattprozessors 608 von 6 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Wie gezeigt, enthält der Blattprozessor 608 den tatsächlichen Blattprozessor 702, eine oder mehr Speichereinrichtungen 704 und eine Schnittstellenintegrationsschaltung 706 (z.B. eine Einrichtung einer anwendungsspezifischen integrierten Schaltung (ASIC)). Der Blattprozessor kann eine beliebige geeignete Form für eine Verarbeitung von Bilddaten annehmen. Z.B. können Intel-Prozessoren StrongArmTM implementiert werden. Die Speichereinrichtungen 704 können eine beliebige geeignete Form zum Speichern von Information annehmen, die für eine Verarbeitung der Bilddaten notwendig ist. Z.B. können die Speichereinrichtungen 704 zwei DRAM-Einrichtungen und eine ROM-Einrichtung enthalten. Die Busschnittstelleneinrichtung 706 kann eine beliebige geeignete Form für eine Kommunikation mit dem Supervisorprozessor 602 einer Blattclusterkarte 410 annehmen. Falls z.B. ein PCI-Bus zwischen dem Supervisorprozessor 602 und den verschiedenen Prozessoren verwendet wird, kann eine ASIC implementiert werden, die konfiguriert ist, sich mit einem PCI-Bus zu verbinden.
  • Vorzugsweise hat jeder Prozessor der Blattclusterkarte seinen eigenen lokalen Speicher zum Speichern von Programminstruktionen. Idealerweise arbeiten die Prozessoren unabhängig ohne gemeinsame Nutzung von Information. Falls somit lokal gespei cherte Instruktionen eines bestimmten Prozessors beschädigt werden, können andere Prozessoren fortsetzen, ihre eigenen nicht beschädigten Instruktionen zu verwenden.
  • Wenn in einer Ausführungsform ein Prozessor (z.B. 608) der Blattclusterkarte verfügbar wird, fragt er den Supervisorprozessor 602 ab um anzuzeigen, dass er zum Empfangen eines Bildes, entsprechender Datenbankdaten und einer entsprechenden Jobmenge verfügbar ist. Jedes Mal, wenn der Supervisor ein Bild empfängt, leitet er das empfangene Bild zu einem Prozessor basierend darauf weiter, welche Prozessoren angezeigt haben, dass sie verfügbar sind. Weiterleitung kann auch auf anderen geeigneten Faktoren beruhen, wie etwa Lastausgleichsbetrachtungen.
  • In einer bevorzugten Ausführungsform hat die vorliegende Erfindung mehrere Vorteile. Sie sieht z.B. Mechanismen zum zuverlässigen Verarbeiten von Bilddaten vor, da ein Prozessor der Blattclusterkarte ausfallen kann und andere Prozessoren dann die Verarbeitung übernehmen können. D.h. wenn ein bestimmter Prozessor nicht arbeitet, werden andere Prozessoren den Supervisorprozessor 602 abfragen um anzuzeigen, wann sie verfügbar sind. Somit kann der Supervisorprozessor 602 Bilder einfach zu anderen verfügbaren Prozessoren weiterleiten, wobei dadurch beliebige ausgefallene Prozessoren umgangen werden.
  • 8 ist ein Flussdiagramm, das einen Prozess 800 zum Analysieren von Bilddaten in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Obwohl 8 als eine Serie sequenzieller Operationen präsentiert wird, können natürlich zwei oder mehr Operationen dieses Prozesses parallel implementiert werden. Außerdem können die Operationen in einer beliebigen geeigneten Reihenfolge außer der in 8 dargestellten Reihenfolge durchgeführt werden.
  • Bezugsbilddaten werden in Operation 802 empfangen. Wie oben beschrieben, können die Bezugsbilddaten zum Unterstützen einer Analyse der empfangenen Bilddaten eine beliebige geeignete Form annehmen. Die Bezugsbilddaten können durch beliebige der Prozessoren der vorliegenden Erfindung erbracht werden. Z.B. können die Prozessoren, die die Testbilddaten analysieren (z.B. die Testbilddaten mit den Bezugsbilddaten vergleichen) auch die Bezugsbilddaten erbringen. Alternativ können die Prozessoren, die die Testbilddaten verteilen (z.B. innerhalb der Datenverteiler) auch die Bezugsbilddaten erbringen.
  • Testbilddaten werden auch in Operation 804 empfangen. Wie oben beschrieben, werden diese Bilddaten 802 von einem beliebigen geeigneten Bilderlangungssystem empfangen, das zum Erhalten eines Bildes einer Probe konfiguriert ist. Die Testbilddaten 802 werden durch eine erste Gruppe von Supervisorprozessoren (z.B. innerhalb der Datenverteiler) empfangen.
  • Es werden auch andere Steuerdaten zum Unterstützen von Bildanalyse in Operation 806 empfangen. Diese Steuerdaten können Information zum Durchführen von Aufgaben in den empfangenen Testbilddaten oder in jedem Testbild enthalten. Z.B. kann jedes Testbild mit einer spezifischen Jobmenge in Verbindung gebracht werden, die spezifiziert, wie das zugehörige Testbild zu analysieren ist. Die Steuerdaten können auch Befehle zum Weiterleiten der Testbilder zu spezifischen Prozessoren, Algorithmen und zugehörige Daten zum Analysieren von jedem Testbild, und Befehle, die anzeigen, wie die Testbilddaten in Testbilder oder Testbildabschnitte zu unterteilen sind, enthalten. Die Testbilddaten, Bezugsbilddaten und Steuerdaten können in einer beliebigen Reihenfolge durch die erste Gruppe von Prozessoren empfangen werden. Alternativ kann ein beliebiger Abschnitt von Steuerdaten direkt durch eine zweite Gruppe von Prozessoren empfangen werden, die die tatsächliche Bildanalyse durchführen.
  • Nachdem die notwendigen Daten empfangen sind, werden in Operation 808 die Testbilddaten in Testbilder basierend auf den empfangenen Steuerdaten unterteilt. Z.B. können die Steuerdaten anzeigen, welche Spalten von Pixeln als welche Testbilder zu definieren sind. Nachdem die Testbilddaten in eine Vielzahl von Testbildern unterteilt sind, werden jedes der Testbilder und zugehörigen Jobmenge zu, einem ausgewählten Prozessor in Operation 810 gesendet. Jedes Testbild kann definiert und zu seinem geeigneten Prozessor weitergeleitet werden, sobald wie das Testbild definiert ist oder nachdem alle Testbilder definiert sind. Operation 810 kann durch einen oder mehr Prozessoren, z.B. die Supervisorprozessoren der Datenverteiler, implementiert werden.
  • Nachdem ein Testbild zu einem Prozessor weitergeleitet ist, kann der Prozessor das empfangene Testbild in Operation 812 analysieren. Die Testbilder können z.B. parallel, oder auf einer Basis "zuerst kommen, zuerst bedient werden" analysiert werden. Mit anderen Worten sind die Prozessoren konfiguriert, parallel zu arbeiten, aber Testbilder können gemeinsam oder eines zu einer Zeit, ebenso wie gemeinsam, zu den einzelnen Prozessoren weitergeleitet werden. Gleichermaßen kann eine Verarbeitung beginnen, nachdem alle Prozessoren ihre Testbilder und entsprechende Daten empfangen, oder jeder Prozessor kann eine Analyse beginnen, sobald wie ein Testbild und entsprechende Daten empfangen sind.
  • Während die Testbilder analysiert werden, können Ergebnisse ausgegeben und gesammelt werden. Die Ergebnisse können in einer beliebigen geeigneten Speichereinrichtung gesammelt werden, wie etwa innerhalb einer "Ergebnisdatei" oder einer "Ergebnisdatenbank". Nachdem alle Testbilder analysiert sind, können die Ergebnisse für die ganze Menge von Testbilddaten bewertet werden. Alternativ können Abschnitte der Ergebnisdaten bewertet werden, wie eine Analyse für den bestimmten Abschnitt abgeschlossen ist. Die Ergebnisse können auf eine beliebige geeignete Art und Weise bewertet werden. Z.B. können die Ergebnisse durch eine grafische Benutzerschnittstelle präsentiert werden, die die Daten auf bedeutungsvolle Weise, wie etwa Balkendiagramme, präsentiert. Nachdem die Ergebnisse für eine Bilddatenmenge gesammelt sind, endet der Prozess 800 zum Analysieren von Bilddaten.
  • Obwohl die vorangehende Erfindung einigermaßen detailliert für den Zweck von Klarheit des Verständnisses beschrieben wurde, wird offensichtlich sein, dass gewisse Änderungen und Modifikationen innerhalb des Bereiches der angefügten Ansprüche praktiziert werden können. Es sollte vermerkt werden, dass es viele alternative Wege zum Implementieren sowohl des Prozesses als auch der Vorrichtung der vorliegenden Erfindung gibt. Obwohl z.B. die vorliegende Erfindung mit einem Lokalbereichsnetz (z.B. Ethernet) implementiert wurde, kann sie natürlich in einem Weitbereichsnetz implementiert werden, wie etwa über das Internet oder einen Bus, wie etwa einen VME-Bus.
  • Entsprechend sind die vorliegenden Ausführungsformen als veranschaulichend und nicht beschränkend zu betrachten, und die Erfindung ist nicht auf die hierin angegebenen Details zu begrenzen, sondern kann innerhalb des Bereiches und von Entsprechungen der angefügten Ansprüche modifiziert werden.

Claims (46)

  1. Eine Vorrichtung zum Analysieren einer Vielzahl von Bildabschnitten mindestens eines Bereichs einer Probe, wobei die Vorrichtung umfasst: eine Vielzahl von Prozessoren, angeordnet für einen Empfang und eine Analyse mindestens eines der Bildabschnitte, wobei die Prozessoren angeordnet sind, parallel betrieben zu werden, und konfigurierbar sind, einen oder mehrere aus einer Vielzahl von unterschiedlichen Algorithmen ausgewählte Algorithmen zur Analyse der Bildabschnitte zu implementieren; und ein Datenverteilungssystem, angeordnet, Bilddaten zu empfangen, mindestens einen ersten Prozessor auszuwählen, zum Empfangen eines ersten Bildabschnitts der Bilddaten und eines oder mehrerer aus der Vielzahl von unterschiedlichen Algorithmen ausgewählter Algorithmen, mindestens einen zweiten Prozessor auszuwählen, zum Empfangen eines zweiten Bildabschnitts der Bilddaten und eines oder mehrerer aus der Vielzahl von unterschiedlichen Algorithmen ausgewählter Algorithmen, den ersten Bildabschnitt zum ersten Prozessor und den zweiten Bildabschnitt zum zweiten ausgewählten Prozessor auszugeben, und den ersten Prozessor mit dem einen oder mehreren ersten Algorithmen und den zweiten Prozessor mit dem einen oder mehreren zweiten ausgewählten Algorithmen zu konfigurieren; wobei die ersten und zweiten Algorithmen ausgewählt werden können, voneinander verschieden zu sein.
  2. Eine Vorrichtung nach Anspruch 1, wobei das Datenverteilungssystem weiter dazu angeordnet ist, die Bilddaten in eine Vielzahl von Bildabschnitten aufzuteilen.
  3. Eine Vorrichtung nach Anspruch 1 oder 2, wobei der erste Prozessor dazu angeordnet ist, einen ersten Bezugsbildabschnitt entsprechend dem ersten Bildabschnitt zu empfangen, und den ersten Bildabschnitt mit dem ersten Bezugsbildabschnitt zu vergleichen, und der zweite Prozessor dazu angeordnet ist, einen zweiten Bezugsbildabschnitt entsprechend dem zweiten Bildabschnitt zu empfangen, und den zweiten Bildabschnitt mit dem zweiten Bezugsabschnitt zu vergleichen.
  4. Eine Vorrichtung nach einem der Ansprüche 1 bis 3, wobei der erste Bildabschnitt sich vom zweiten Bildabschnitt unterscheidet.
  5. Eine Vorrichtung nach einem der Ansprüche 1 bis 4, wobei mindestens ein Teil des ersten Bildabschnitts identisch zu mindestens einem Teil des zweiten Bildabschnitts ist.
  6. Eine Vorrichtung nach einem der Ansprüche 1 bis 5, wobei der erste Prozessor mit einem Algorithmus zur Analyse des ersten Bildabschnitts konfiguriert ist, der sich von dem des zweiten Prozessors unterscheidet.
  7. Eine Vorrichtung nach Anspruch 3, wobei der erste Bildabschnitt von einem entsprechenden Abschnitt der Probe abgeleitet ist.
  8. Eine Vorrichtung nach Anspruch 3, wobei der erste Bezugsbildabschnitt von einer zur Entwicklung der Probe verwendeten Datei abgeleitet ist.
  9. Eine Vorrichtung nach Anspruch 1 oder 2, wobei der erste Prozessor dazu angeordnet ist, einen ersten Bezugsdatenabschnitt zu empfangen, der ein Muster in der Probe charakterisiert, dem der erste Bildabschnitt entspricht, und wobei der erste Prozessor weiter angeordnet ist, den Bezugsdatenabschnitt in einen ersten Bezugsbildabschnitt zu wandeln, und den ersten Bezugsbildabschnitt mit dem ersten Bildabschnitt zu vergleichen.
  10. Eine Vorrichtung nach Anspruch 1, wobei: das Datenverteilersystem weiter eine Vielzahl von Datenverteilern umfasst, die dazu angeordnet sind, die Bildabschnitte zu empfangen; und die Vielzahl von Prozessoren in einer Vielzahl von Untergruppen angeordnet sind, die jeweils mit einem zugeordneten Datenverteiler gekoppelt sind, wobei jeder Datenverteiler konfigurierbar ist, ausgewählte Bildabschnitte zu der zugeordneten Untergruppe von Prozessoren auszugeben, wobei mindestens zwei der Prozessoren dazu angeordnet sind, mindestens zwei der Bildabschnitte parallel zu analysieren.
  11. Eine Vorrichtung nach Anspruch 10, wobei die Datenverteiler in einer Kettenreihenfolgenkonfiguration angeordnet sind, so dass ein erster Datenverteiler die Bildabschnitte empfängt, und einen oder mehrere der Bildabschnitte zu einem zweiten Datenverteiler ausgibt.
  12. Eine Vorrichtung nach Anspruch 10 oder 11, wobei jede Untergruppe von Prozessoren einen Überwachungsprozessor enthält, der mit einem zugeordneten der Datenverteiler gekoppelt ist, um so die ausgewählten Bildabschnitte von dem zugeordneten Datenverteiler zu empfangen, wobei jeder Überwachungsprozessor dazu konfigurierbar ist, die ausgewählten Bildabschnitte zu ausgewählten Prozessoren in dessen zugeordneter Untergruppe zu verteilen.
  13. Eine Vorrichtung nach einem der Ansprüche 10 bis 12, wobei ein erster Prozessor dazu angeordnet ist, einen ausgewählten Bildabschnitt und einen ausgewählten Bezugsbildabschnitt entsprechend dem ausgewählten Bildabschnitt zu empfangen, und den ausgewählten Bildabschnitt mit dem ausgewählten Bezugsbildabschnitt zu vergleichen.
  14. Eine Vorrichtung nach einem der Ansprüche 10 bis 12, wobei ein erster Prozessor dazu angeordnet ist, einen ausgewählten Bildabschnitt und einen Bezugsdatenabschnitt, der ein Muster der Probe charakterisiert, dem der ausgewählte Bildabschnitt entspricht, zu empfangen, und wobei der erste Prozessor weiter dazu angeordnet ist, einen Bezugsbildabschnitt aus dem Bezugsdatenabschnitt zu erstellen, und den Bezugsbildabschnitt mit dem ausgewählten Bildabschnitt zu vergleichen.
  15. Eine Vorrichtung nach Anspruch 14, wobei der ausgewählte Bezugsbildabschnitt aus einem entsprechenden Abschnitt der Probe abgeleitet ist.
  16. Eine Vorrichtung nach Anspruch 14, wobei der Bezugsdatenabschnitt von einer zur Erstellung der Probe verwendeten Datei abgeleitet ist.
  17. Ein Verfahren zur Inspektion einer Probe mit einer Vielzahl von feinen Mustern darauf, und zum Verarbeiten von sich aus der Inspektion ergebenden Daten, umfassend: a) Empfangen von aus der Inspektion abgeleiteten Daten in einem Multiprozessorsystem, wobei das System einen Masterprozessor und eine Vielzahl von Slaveprozessoren umfasst, wobei jeder Slaveprozesor konfigurierbar ist, einen oder mehrere aus einer Vielzahl von unterschiedlichen Algorithmen ausgewählte Algorithmen zu implementieren; b) Konfigurieren eines jeden der Slaveprozessoren mit einem oder mehreren aus der Vielzahl von unterschiedlichen Algorithmen ausgewählten Algorithmen, wobei die ersten und zweiten Algorithmen ausgewählt sein können, voneinander verschieden zu sein; c) Unterteilen der Daten in Gruppen unter Verwendung des Masterprozessors, wobei jede Gruppe einer aus einem Abschnitt der Probe abgeleiteten Information entspricht, wobei jede Gruppe eine Quantität von Daten aufweist, die durch einen Slaveprozessor in einem vorgegebenen Zeitintervall verarbeitet werden kann; d) Verarbeiten der Datengruppen mit den Slaveprozessoren; und e) Ableiten von Fehlerinformation bezüglich der Probe und der feinen Muster aus den kombinierten Daten.
  18. Das Verfahren nach Anspruch 17, wobei die Probe aus einer Gruppe ausgewählt ist, die aus einer Maske, einer Photomaske, und einem Halbleitermaterial, Vorrichtung oder Oberfläche besteht.
  19. Das Verfahren nach Anspruch 17 oder 18, wobei das System eine Vielzahl von Masterprozessoren umfasst, jeder in Kommunikation mit einer Vielzahl von Slaveprozessoren, und wobei jeder der Masterprozessoren mit einem Zentralprozessor in Kommunikation steht, wobei der Zentralprozessor Daten den Masterprozessoren zuordnet.
  20. Das Verfahren nach Anspruch 19, wobei eine erste Gruppe der Slaveprozessoren einen oder mehrere Algorithmen verwendet, die dazu ausgewählt sind, Daten mit hoher Genauigkeit, jedoch mit einer relativ geringen Rate zu verarbeiten, und wobei eine zweite Gruppe der Slaveprozessoren einen oder mehrere Algorithmen verwendet, die dazu ausgewählt sind, Daten mit einer relativ geringen Genauigkeit, jedoch mit hoher Rate zu verarbeiten.
  21. Das Verfahren nach einem der Ansprüche 17 bis 20, wobei die Datengruppen unter Verwendung eines Algorithmus verarbeitet werden, der von unterschiedlichen Bereichen der Probe abgeleitete Daten vergleicht.
  22. Das Verfahren nach einem der Ansprüche 17 bis 20, wobei die Datengruppen unter Verwendung eines Algorithmus verarbeitet werden, der von einem Abschnitt der Probe abgeleitete Daten mit von einer zur Erstellung der Probe verwendeten Datei abgeleiteten Daten vergleicht.
  23. Ein Verfahren nach Anspruch 17, wobei die Datengruppen Bildabschnitte sind, die Slaveprozessoren ausgewählte Prozessoren sind, und wobei die Verarbeitung der Bildabschnitte mit den ausgewählten Prozessoren ein Analysieren eines jeden Bildabschnitts hinsichtlich Fehlern umfasst.
  24. Ein Verfahren nach Anspruch 23, wobei mindestens einige der Bildabschnitte mit unterschiedlichen Algorithmen analysiert werden.
  25. Ein Verfahren nach Anspruch 23 oder 24, wobei mindestens einige der Bildabschnitte stringenter als andere der Bildabschnitte analysiert werden.
  26. Ein Verfahren nach einem der Ansprüche 23 bis 25, weiter ein Empfangen von Bezugsdaten entsprechend einem jeden Bildabschnitt umfassend.
  27. Ein Verfahren nach Anspruch 26, wobei jeder Bildabschnitt durch ein Vergleichen eines jeden Bildabschnitts mit dessen entsprechenden Bezugsdaten analysiert wird.
  28. Ein Verfahren nach einem Anspruch 26 oder 27, wobei die Bezugsdaten in der Form eines entsprechenden Bildabschnitts der Probe sind.
  29. Ein Verfahren nach Anspruch 26 oder 27, wobei die Bezugsdaten in der Form von Designdaten sind, die zur Erstellung der Probe verwendet werden.
  30. Ein Verfahren nach einem der Ansprüche 23 bis 29, weiter ein Empfangen von Steuerdaten umfassend, die spezifizieren, wie die Bildabschnitte zu unterteilen und zu deren ausgewählten Prozessoren auszugeben sind.
  31. Ein Verfahren nach Anspruch 30, wobei die Steuerdaten auch spezifizieren, wie die Bildabschnitte hinsichtlich Fehlern in den ausgewählten Prozessoren zu analysieren sind.
  32. Ein Verfahren nach Anspruch 31, wobei die Bezugsdaten in der Form von Designdaten sind, die zum Erstellen der Probe verwendet werden, und wobei die Steuerdaten auch spezifizieren, wie die Bezugsdaten aus den Designdaten zu erstellen sind.
  33. Ein Computer lesbares Medium mit Programminstruktionen zur Inspektion einer Probe mit einer Vielzahl von feinen Mustern darauf, und zum Verarbeiten von aus der Inspektion sich ergebenden Daten, wobei das Computer lesbare Medium umfasst: Computer lesbaren Code zum Empfangen von aus der Inspektion abgeleiteten Daten in einem Multiprozessorsystem, wobei das System einen Masterprozessor und eine Vielzahl von Slaveprozessoren umfasst, wobei jeder Slaveprozessor konfigurierbar ist, einen oder mehrere aus einer Vielzahl von unterschiedlichen Algorithmen ausgewählte Algorithmen zu implementieren; Computer lesbaren Code zum Konfigurieren eines jeden der Slaveprozessoren mit einem oder mehreren aus der Vielzahl von unterschiedlichen Algorithmen ausgewählten Algorithmen, wobei die ersten und zweiten Algorithmen ausgewählt werden können, voneinander verschieden zu sein; Computer lesbaren Code zum Aufteilen der Daten in Gruppen unter Verwendung des Masterprozessors, wobei jede Gruppe Information entspricht, die aus einem Abschnitt der Probe abgeleitet ist, wobei jede Gruppe eine Quantität von Daten aufweist, die mit einem Slaveprozessor in einem vorgegebenen Zeitintervall verarbeitet werden kann, basierend auf dem ausgewählten einem oder mehreren Algorithmen, die für solch einen Slaveprozessor konfiguriert sind; Computer lesbaren Code zum Verarbeiten der Datengruppen mit den Slaveprozessoren; Computer lesbaren Code zum Ableiten von Fehlerinformation bezüglich der Probe und der feinen Muster aus den kombinierten Daten; und ein Computer lesbares Medium zum Speichern der Computer lesbaren Codes.
  34. Ein Computer lesbares Medium nach Anspruch 33, wobei jeder der Vielzahl von Masterprozessoren mit der Vielzahl von Slaveprozessoren kommuniziert, und wobei ein jeder der Masterprozessoren mit einem Zentralprozessor kommuniziert, wobei der Zentralprozessor die Daten unter den Masterprozessoren zuweist.
  35. Ein Computer lesbares Medium nach Anspruch 34, wobei eine erste Gruppe der Slaveprozessoren einen oder mehrere Algorithmen verwendet, ausgewählt zur Verarbeitung von Daten mit hoher Genauigkeit, jedoch mit relativ geringer Rate, und wobei eine zweite Gruppe der Slaveprozessoren einen oder mehrere Algorithmen verwenden, ausgewählt zur Verarbeitung von Daten mit einer relativ geringen Genauigkeit, jedoch mit einer hohen Rate.
  36. Ein Computer lesbares Medium nach einem der Ansprüche 33 bis 35, wobei die Datengruppen unter Verwendung eines Algorithmus verarbeitet werden, der von unterschiedlichen Bereichen der Probe abgeleitete Daten vergleicht.
  37. Ein Computer lesbares Medium nach einem der Ansprüche 33 bis 35, wobei die Datengruppen unter Verwendung eines Algorithmus verarbeitet werden, der aus einem Abschnitt der Probe abgeleitete Daten mit aus einer zur Erstellung der Probe verwendeten Datei abgeleiteten Daten vergleicht.
  38. Ein Computer lesbares Medium nach Anspruch 33, wobei die Datengruppen Bildabschnitte sind, die Slaveprozessoren ausgewählte Prozessoren sind, und wobei der Computer lesbare Code zum Verarbeiten der Bildabschnitte mit den Slaveprozessoren Computer lesbaren Code zum Analysieren eines jeden Bildabschnitts hinsichtlich Fehlern umfasst.
  39. Ein Computer lesbares Medium nach Anspruch 38, wobei mindestens einige der Bildabschnitte stringenter als andere der Bildabschnitte analysiert werden.
  40. Ein Computer lesbares Medium nach Anspruch 38 oder 39, ferner umfassend Computer lesbaren Code zum Empfangen von Bezugsdaten entsprechend einem jedem Bildabschnitt.
  41. Ein Computer lesbares Medium nach Anspruch 40, wobei jeder Bildabschnitt durch Vergleichen eines jeden Bildes mit seinen entsprechenden Bezugsdaten analysiert wird.
  42. Ein Computer lesbares Medium nach Anspruch 40 oder 41, wobei die Bezugsdaten in der Form eines entsprechenden Bildabschnitts der Probe sind.
  43. Ein Computer lesbares Medium nach Anspruch 40 oder 41, wobei die Bezugsdaten in der Form von Designdaten sind, die zur Erstellung der Probe verwendet werden.
  44. Ein Computer lesbares Medium nach einem der Ansprüche 40 bis 43, ferner umfassend Computer lesbaren Code zum Empfangen von Steuerdaten, die spezifizieren, wie die Bildabschnitte zu unterteilen sind und zu deren ausgewählten Prozessoren auszugeben sind.
  45. Ein Computer lesbares Medium nach Anspruch 44, wobei die Steuerdaten weiter spezifizieren, wie die Bildabschnitte hinsichtlich Fehlern in den ausgewählten Prozessoren zu analysieren sind.
  46. Ein Computer lesbares Medium nach Anspruch 45, wobei die Bezugsdaten in der Form von Designdaten sind, die dazu verwendet werden, die Probe zu erstellen, und wobei die Steuerdaten auch spezifizieren, wie die Bezugsdaten aus den Designdaten zu erstellen sind.
DE60032762T 1999-05-05 2000-04-28 Vorrichtung und Techniken zum Untersuchen von Retikeln mit paralleler Verarbeitung Expired - Lifetime DE60032762T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13287299P 1999-05-05 1999-05-05
US132872P 1999-05-05
US09/449,022 US7106895B1 (en) 1999-05-05 1999-11-24 Method and apparatus for inspecting reticles implementing parallel processing
US449022 1999-11-24
PCT/US2000/011385 WO2000068884A1 (en) 1999-05-05 2000-04-28 Method and apparatus for inspecting reticles implementing parallel processing

Publications (2)

Publication Number Publication Date
DE60032762D1 DE60032762D1 (de) 2007-02-15
DE60032762T2 true DE60032762T2 (de) 2007-11-08

Family

ID=26830816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60032762T Expired - Lifetime DE60032762T2 (de) 1999-05-05 2000-04-28 Vorrichtung und Techniken zum Untersuchen von Retikeln mit paralleler Verarbeitung

Country Status (5)

Country Link
US (2) US7106895B1 (de)
EP (1) EP1175660B1 (de)
JP (1) JP4638989B2 (de)
DE (1) DE60032762T2 (de)
WO (1) WO2000068884A1 (de)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106895B1 (en) * 1999-05-05 2006-09-12 Kla-Tencor Method and apparatus for inspecting reticles implementing parallel processing
US7668362B2 (en) 2000-05-03 2010-02-23 Aperio Technologies, Inc. System and method for assessing virtual slide image quality
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
US7738688B2 (en) 2000-05-03 2010-06-15 Aperio Technologies, Inc. System and method for viewing virtual slides
JP2007244887A (ja) * 2001-12-03 2007-09-27 Ziosoft Inc ボリュームレンダリング処理方法、ボリュームレンダリング処理システム、計算機及びプログラム
US6884146B2 (en) 2002-02-04 2005-04-26 Kla-Tencor Technologies Corp. Systems and methods for characterizing a polishing process
EP1523696B1 (de) 2002-07-15 2016-12-21 KLA-Tencor Corporation Defektinspektionsmethoden, die das aufnehmen des projizierten maskenabbildes unter verschiedenen lithographischen prozessvariablen beinhalten
US7123356B1 (en) 2002-10-15 2006-10-17 Kla-Tencor Technologies Corp. Methods and systems for inspecting reticles using aerial imaging and die-to-database detection
US7379175B1 (en) 2002-10-15 2008-05-27 Kla-Tencor Technologies Corp. Methods and systems for reticle inspection and defect review using aerial imaging
US7027143B1 (en) 2002-10-15 2006-04-11 Kla-Tencor Technologies Corp. Methods and systems for inspecting reticles using aerial imaging at off-stepper wavelengths
US7116440B2 (en) 2003-02-28 2006-10-03 Aperio Technologies, Inc. Image processing and analysis framework
EP3447651A1 (de) * 2003-02-28 2019-02-27 Leica Biosystems Imaging Inc. Bildverarbeitungs- und analyserahmen
JP4038442B2 (ja) * 2003-02-28 2008-01-23 株式会社日立ハイテクノロジーズ 外観検査用画像処理装置
JP2005134976A (ja) * 2003-10-28 2005-05-26 Hitachi High-Technologies Corp 外観検査装置用画像処理装置
JP4758358B2 (ja) 2004-01-29 2011-08-24 ケーエルエー−テンカー コーポレイション レチクル設計データにおける欠陥を検出するためのコンピュータに実装される方法
US9188974B1 (en) 2004-02-13 2015-11-17 Kla-Tencor Technologies Corp. Methods for improved monitor and control of lithography processes
JP4564768B2 (ja) * 2004-03-23 2010-10-20 株式会社日立ハイテクノロジーズ パターン検査方法及びその装置
US7215808B2 (en) * 2004-05-04 2007-05-08 Kla-Tencor Technologies Corporation High throughout image for processing inspection images
JP4357355B2 (ja) * 2004-05-07 2009-11-04 株式会社日立ハイテクノロジーズ パターン検査方法及びその装置
JP2005332316A (ja) * 2004-05-21 2005-12-02 Ricoh Co Ltd データ分配装置、データ転送装置及び画像処理装置
WO2005119575A2 (en) 2004-05-27 2005-12-15 Aperio Technologies, Inc Systems and methods for creating and viewing three dimensional virtual slides
JP4904034B2 (ja) 2004-09-14 2012-03-28 ケーエルエー−テンカー コーポレイション レチクル・レイアウト・データを評価するための方法、システム及び搬送媒体
US7602958B1 (en) * 2004-10-18 2009-10-13 Kla-Tencor Corporation Mirror node process verification
US7729529B2 (en) * 2004-12-07 2010-06-01 Kla-Tencor Technologies Corp. Computer-implemented methods for detecting and/or sorting defects in a design pattern of a reticle
WO2006077892A2 (en) * 2005-01-19 2006-07-27 Matsushita Electric Industrial Co., Ltd. Electronic circuit in which part of the processing of operating units thereof may be taken over by a processor unit thereof
JP4585926B2 (ja) 2005-06-17 2010-11-24 株式会社日立ハイテクノロジーズ パターンレイヤーデータ生成装置、それを用いたパターンレイヤーデータ生成システム、半導体パターン表示装置、パターンレイヤーデータ生成方法、及びコンピュータプログラム
US8164622B2 (en) 2005-07-01 2012-04-24 Aperio Technologies, Inc. System and method for single optical axis multi-detector microscope slide scanner
US7769225B2 (en) 2005-08-02 2010-08-03 Kla-Tencor Technologies Corp. Methods and systems for detecting defects in a reticle design pattern
US7570796B2 (en) 2005-11-18 2009-08-04 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
US7676077B2 (en) 2005-11-18 2010-03-09 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
US8041103B2 (en) 2005-11-18 2011-10-18 Kla-Tencor Technologies Corp. Methods and systems for determining a position of inspection data in design data space
JP2007178144A (ja) * 2005-12-27 2007-07-12 Advanced Mask Inspection Technology Kk パターン検査装置、パターン検査方法、検査対象試料、及び検査対象試料の管理方法
JP4865653B2 (ja) * 2006-08-08 2012-02-01 Juki株式会社 画像処理装置
WO2008077100A2 (en) * 2006-12-19 2008-06-26 Kla-Tencor Corporation Systems and methods for creating inspection recipes
US8194968B2 (en) 2007-01-05 2012-06-05 Kla-Tencor Corp. Methods and systems for using electrical information for a device being fabricated on a wafer to perform one or more defect-related functions
US8238624B2 (en) * 2007-01-30 2012-08-07 International Business Machines Corporation Hybrid medical image processing
WO2008128901A1 (en) * 2007-04-23 2008-10-30 International Business Machines Corporation Heterogeneous image processing system
US8326092B2 (en) * 2007-04-23 2012-12-04 International Business Machines Corporation Heterogeneous image processing system
US8462369B2 (en) * 2007-04-23 2013-06-11 International Business Machines Corporation Hybrid image processing system for a single field of view having a plurality of inspection threads
US8331737B2 (en) * 2007-04-23 2012-12-11 International Business Machines Corporation Heterogeneous image processing system
US7962863B2 (en) 2007-05-07 2011-06-14 Kla-Tencor Corp. Computer-implemented methods, systems, and computer-readable media for determining a model for predicting printability of reticle features on a wafer
US7738093B2 (en) 2007-05-07 2010-06-15 Kla-Tencor Corp. Methods for detecting and classifying defects on a reticle
US8213704B2 (en) 2007-05-09 2012-07-03 Kla-Tencor Corp. Methods and systems for detecting defects in a reticle design pattern
US7796804B2 (en) 2007-07-20 2010-09-14 Kla-Tencor Corp. Methods for generating a standard reference die for use in a die to standard reference die inspection and methods for inspecting a wafer
US7711514B2 (en) 2007-08-10 2010-05-04 Kla-Tencor Technologies Corp. Computer-implemented methods, carrier media, and systems for generating a metrology sampling plan
US7975245B2 (en) 2007-08-20 2011-07-05 Kla-Tencor Corp. Computer-implemented methods for determining if actual defects are potentially systematic defects or potentially random defects
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
US8675219B2 (en) * 2007-10-24 2014-03-18 International Business Machines Corporation High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US9135073B2 (en) * 2007-11-15 2015-09-15 International Business Machines Corporation Server-processor hybrid system for processing data
US20090132582A1 (en) * 2007-11-15 2009-05-21 Kim Moon J Processor-server hybrid system for processing data
US9332074B2 (en) * 2007-12-06 2016-05-03 International Business Machines Corporation Memory to memory communication and storage for hybrid systems
US8229251B2 (en) * 2008-02-08 2012-07-24 International Business Machines Corporation Pre-processing optimization of an image processing system
US8379963B2 (en) * 2008-03-28 2013-02-19 International Business Machines Corporation Visual inspection system
US8139840B1 (en) * 2008-04-10 2012-03-20 Kla-Tencor Corporation Inspection system and method for high-speed serial data transfer
US8139844B2 (en) 2008-04-14 2012-03-20 Kla-Tencor Corp. Methods and systems for determining a defect criticality index for defects on wafers
US8056086B2 (en) * 2008-05-19 2011-11-08 International Business Machines Corporation Load balancing for image processing using multiple processors
JP5067282B2 (ja) * 2008-06-27 2012-11-07 ソニー株式会社 物体検出制御装置、物体検出システム、物体検出制御方法およびプログラム
US9659670B2 (en) 2008-07-28 2017-05-23 Kla-Tencor Corp. Computer-implemented methods, computer-readable media, and systems for classifying defects detected in a memory device area on a wafer
EP3764085A3 (de) 2008-10-24 2021-03-24 Leica Biosystems Imaging Inc. Fluoreszenz-scanner mit komplettobjektträger
US8775101B2 (en) 2009-02-13 2014-07-08 Kla-Tencor Corp. Detecting defects on a wafer
US8204297B1 (en) 2009-02-27 2012-06-19 Kla-Tencor Corp. Methods and systems for classifying defects detected on a reticle
US8112241B2 (en) 2009-03-13 2012-02-07 Kla-Tencor Corp. Methods and systems for generating an inspection process for a wafer
JP5786110B2 (ja) 2009-12-11 2015-09-30 ライカ バイオシステムズ イメージング インコーポレイテッドAperio Technologies, Inc. デジタル病理画像分析における信号対雑音比の改善
US8781781B2 (en) 2010-07-30 2014-07-15 Kla-Tencor Corp. Dynamic care areas
US9170211B2 (en) 2011-03-25 2015-10-27 Kla-Tencor Corp. Design-based inspection using repeating structures
JP5683367B2 (ja) * 2011-04-20 2015-03-11 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
US9087367B2 (en) 2011-09-13 2015-07-21 Kla-Tencor Corp. Determining design coordinates for wafer defects
US8831334B2 (en) 2012-01-20 2014-09-09 Kla-Tencor Corp. Segmentation for wafer inspection
US8826200B2 (en) 2012-05-25 2014-09-02 Kla-Tencor Corp. Alteration for wafer inspection
US9189844B2 (en) 2012-10-15 2015-11-17 Kla-Tencor Corp. Detecting defects on a wafer using defect-specific information
US9053527B2 (en) 2013-01-02 2015-06-09 Kla-Tencor Corp. Detecting defects on a wafer
US9134254B2 (en) 2013-01-07 2015-09-15 Kla-Tencor Corp. Determining a position of inspection system output in design data space
US9311698B2 (en) 2013-01-09 2016-04-12 Kla-Tencor Corp. Detecting defects on a wafer using template image matching
TW201430336A (zh) * 2013-01-23 2014-08-01 Huang Tian Xing 缺陷檢測方法、裝置及系統
KR102019534B1 (ko) 2013-02-01 2019-09-09 케이엘에이 코포레이션 결함 특유의, 다중 채널 정보를 이용한 웨이퍼 상의 결함 검출
US9448343B2 (en) 2013-03-15 2016-09-20 Kla-Tencor Corporation Segmented mirror apparatus for imaging and method of using the same
US9865512B2 (en) 2013-04-08 2018-01-09 Kla-Tencor Corp. Dynamic design attributes for wafer inspection
US9310320B2 (en) 2013-04-15 2016-04-12 Kla-Tencor Corp. Based sampling and binning for yield critical defects
KR20180061556A (ko) * 2016-11-29 2018-06-08 삼성전자주식회사 웨이퍼를 검사하기 위한 검사 장치 및 이를 이용한 웨이퍼의 검사 방법
CN111065915B (zh) 2017-07-07 2023-03-10 株式会社高迎科技 优化对目标物体外部检查的设备及其方法
CN107817217B (zh) * 2017-10-31 2020-06-02 武汉精测电子集团股份有限公司 一种适用于lcm自动光学检测的图像加速处理系统
JP7126355B2 (ja) * 2018-02-21 2022-08-26 株式会社ニューフレアテクノロジー 荷電粒子ビーム検査方法
US10681266B2 (en) * 2018-06-12 2020-06-09 Carl Zeiss Ag Method, apparatus, and system for processing digital images
US11431941B2 (en) 2018-06-12 2022-08-30 Carl Zeiss Ag Method, apparatus, and system for processing digital images
US11210199B2 (en) * 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4934385A (de) 1972-07-28 1974-03-29
DE2641741C2 (de) * 1976-09-16 1986-01-16 Siemens AG, 1000 Berlin und 8000 München Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
EP0005462B1 (de) 1978-05-22 1983-06-08 Siemens Aktiengesellschaft Verfahren zum Positionieren von zwei aufeinander einzujustierenden Objekten
US4484081A (en) 1980-09-19 1984-11-20 Trw Inc. Defect analysis system
US4445137A (en) * 1981-09-11 1984-04-24 Machine Intelligence Corporation Data modifier apparatus and method for machine vision systems
US4484349A (en) * 1982-03-11 1984-11-20 Environmental Research Institute Of Michigan Parallel pipeline image processor
US4589140A (en) 1983-03-21 1986-05-13 Beltronics, Inc. Method of and apparatus for real-time high-speed inspection of objects for identifying or recognizing known and unknown portions thereof, including defects and the like
US4953224A (en) 1984-09-27 1990-08-28 Hitachi, Ltd. Pattern defects detection method and apparatus
US5621811A (en) 1987-10-30 1997-04-15 Hewlett-Packard Co. Learning method and apparatus for detecting and controlling solder defects
US5018212A (en) 1988-03-25 1991-05-21 Texas Instruments Incorporated Defect area consolidation for pattern inspector
US4984282A (en) 1988-03-25 1991-01-08 Texas Instruments Incorporated Parallel processing of reference and guardband data
US4985927A (en) 1988-03-25 1991-01-15 Texas Instruments Incorporated Method of detecting and reviewing pattern defects
US5001764A (en) 1988-03-25 1991-03-19 Texas Instruments Incorporated Guardbands for pattern inspector
US5046110A (en) 1988-03-25 1991-09-03 Texas Instruments Incorporated Comparator error filtering for pattern inspector
US5095447A (en) 1988-03-25 1992-03-10 Texas Instruments Incorporated Color overlay of scanned and reference images for display
US4979223A (en) 1988-03-25 1990-12-18 Texas Instruments Incorporated Data handling system for pattern inspector or writer
US4999785A (en) 1989-01-12 1991-03-12 Robotic Vision Systems, Inc. Method and apparatus for evaluating defects of an object
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5119434A (en) 1990-12-31 1992-06-02 Beltronics, Inc. Method of and apparatus for geometric pattern inspection employing intelligent imaged-pattern shrinking, expanding and processing to identify predetermined features and tolerances
US5563702A (en) * 1991-08-22 1996-10-08 Kla Instruments Corporation Automated photomask inspection apparatus and method
US5495337A (en) 1991-11-06 1996-02-27 Machine Vision Products, Inc. Method of visualizing minute particles
JPH07117498B2 (ja) 1991-12-11 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 検査システム
JPH0652296A (ja) * 1992-07-28 1994-02-25 Matsushita Electric Ind Co Ltd 画像分割並列処理装置
JPH06325162A (ja) * 1993-05-11 1994-11-25 Nikon Corp 画像処理装置
US5537669A (en) 1993-09-30 1996-07-16 Kla Instruments Corporation Inspection method and apparatus for the inspection of either random or repeating patterns
US5517234A (en) 1993-10-26 1996-05-14 Gerber Systems Corporation Automatic optical inspection system having a weighted transition database
JPH09153021A (ja) * 1995-09-26 1997-06-10 Hitachi Ltd 並列処理装置およびそれを用いた検査装置
IL118804A0 (en) 1996-07-05 1996-10-31 Orbot Instr Ltd Data converter apparatus and method particularly useful for a database-to-object inspection system
JP3923574B2 (ja) * 1996-12-02 2007-06-06 株式会社日立製作所 並列データ処理機能を備えた検査装置及び検査方法
JP2950372B2 (ja) * 1997-04-11 1999-09-20 日本電気株式会社 レチクル検査装置
US6078738A (en) * 1997-05-08 2000-06-20 Lsi Logic Corporation Comparing aerial image to SEM of photoresist or substrate pattern for masking process characterization
US6614520B1 (en) * 1997-12-18 2003-09-02 Kla-Tencor Corporation Method for inspecting a reticle
JP3201471B2 (ja) * 1998-04-24 2001-08-20 日本電気株式会社 レティクル検査装置
US6529621B1 (en) * 1998-12-17 2003-03-04 Kla-Tencor Mechanisms for making and inspecting reticles
US7106895B1 (en) * 1999-05-05 2006-09-12 Kla-Tencor Method and apparatus for inspecting reticles implementing parallel processing

Also Published As

Publication number Publication date
WO2000068884A1 (en) 2000-11-16
JP4638989B2 (ja) 2011-02-23
WO2000068884A9 (en) 2002-06-06
EP1175660A1 (de) 2002-01-30
US7724939B2 (en) 2010-05-25
DE60032762D1 (de) 2007-02-15
US7106895B1 (en) 2006-09-12
EP1175660B1 (de) 2007-01-03
US20060269119A1 (en) 2006-11-30
JP2002544602A (ja) 2002-12-24

Similar Documents

Publication Publication Date Title
DE60032762T2 (de) Vorrichtung und Techniken zum Untersuchen von Retikeln mit paralleler Verarbeitung
DE112016004012B4 (de) Techniken und systeme für modellbasierte messungen der kritischen dimension
DE112007002927B4 (de) Fehlerdetektionsvorrichtung, Fehlerdetektionsverfahren, Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm dafür
EP0095517B1 (de) Verfahren und Einrichtung zur automatischen optischen Inspektion
DE69322498T2 (de) Verfahren zur identifizierung von normalen biomedizinischen proben
DE3750189T2 (de) System zur automatischen Inspektion periodischer Muster.
DE10317384A1 (de) Computertomographie
DE69225998T2 (de) Verfahren zum Erfassen und Analysieren defekter Halbleiterelemente
DE112007002949T5 (de) Fehlerdetektionsvorrichtung, Fehlerdetektionsverfahren, Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm
DE10011200A1 (de) Verfahren zur Bewertung von Strukturfehlern auf einer Waferoberfläche
DE4211904C2 (de) Automatisches Verfahren zum Erstellen einer Liste unterschiedlicher Arten für eine flüssige Probe
DE2830846A1 (de) Vorrichtung zum ermitteln von fehlern in flaechenhaften mustern, insbesondere in photomasken
DE102017219244B4 (de) Inspektionsbedingungsbestimmungseinrichtung, inspektionsbedingungsbestimmungsverfahren und inspektionsbedingungsbestimmungsprogramm
DE2720036A1 (de) Verfahren und vorrichtung zur bildanalyse unter doppelaufloesung
DE2653590A1 (de) Vorrichtung zum ermitteln von fehlern in flaechenhaften mustern, insbesondere in photomasken
EP1178344A1 (de) Verfahren und Vorrichtung zur Bildentzerrung in der Scanmikroskopie und Scanmikroskop
DE10161060B4 (de) Fehlerprüfverfahren für einen dreidimensionalen Gegenstand
DE112019004583T5 (de) Rationalisierung eines automatischen visuellen prüfprozesses
DE102020127071B3 (de) Verfahren und Mikroskop mit einer Einrichtung zum Erfassen von Verlagerungen einer Probe gegenüber einem Objektiv
DE4143193A1 (de) System zur mathematischen erfassung dreidimensionaler oberflaechen
DE102015212703B3 (de) Verfahren und Vorrichtung zum Bestimmen von Eigenschaften mindestens einer Struktur im Submikrometerbereich
EP2244225B1 (de) Verfahren zum optischen Scannen eines Objektes sowie Vorrichtung
DE112020001064T5 (de) System und verfahren zur einstellbaren produktionslinienprüfung
EP1768066A1 (de) Verfahren und Vorrichtung zur Untersuchung von Retikeln mit paralleler Verarbeitung
DE102018111972A1 (de) Verfahren zur Bestimmung von Registrationsfehlern auf einer Photomaske für die Halbleiterlithographie

Legal Events

Date Code Title Description
8364 No opposition during term of opposition