DE102020122644A1 - Iterative überwachte identifizierung von nichtdominanten clustern - Google Patents

Iterative überwachte identifizierung von nichtdominanten clustern Download PDF

Info

Publication number
DE102020122644A1
DE102020122644A1 DE102020122644.6A DE102020122644A DE102020122644A1 DE 102020122644 A1 DE102020122644 A1 DE 102020122644A1 DE 102020122644 A DE102020122644 A DE 102020122644A DE 102020122644 A1 DE102020122644 A1 DE 102020122644A1
Authority
DE
Germany
Prior art keywords
data instances
data
clusters
threshold
instances
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.)
Pending
Application number
DE102020122644.6A
Other languages
English (en)
Inventor
Bikram Baidya
Allan Gu
Vivek K. Singh
Kumara Sastry
Abde Ali Hunaid Kagalwalla
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102020122644A1 publication Critical patent/DE102020122644A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

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

Abstract

Ein Verfahren, umfassend Bestimmen eines binären Klassifizierungswerts für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Bestimmen eines zweiten Schwellenwerts, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.

Description

  • TECHNISCHES GEBIET
  • Diese Offenbarung betrifft allgemein das Gebiet von Berechnungssystemen und insbesondere das der iterativen überwachten Identifizierung von nichtdominanten Clustern.
  • HINTERGRUND
  • Prozesse der hochmodernen Halbleiterherstellung sind in hohem Maße komplex. Untergebracht in Fabriken im Wert von Milliarden von Dollar und umfassend Hunderte von Verarbeitungsschritten, um ein fertiges Bauelement hervorzubringen, sind sie imstande, Merkmale von nur 10 nm Hunderte von Milliarden mal auf Wafer, die einen Fuß im Durchmesser aufweisen, zuverlässig zu drucken. Die Entwicklung eines neuen Halbleiter-Herstellungsprozesses erfordert, einen Satz von Designregeln zu definieren, die Beschränkungen vorgeben, die ein Halbleiterbauelement einhalten muss, um Herstellbarkeit zu gewährleisten. Die Prozessentwicklung beinhaltet außerdem die Entwicklung von Vorschriften für optische Nahbereichskorrektur (OPC), die physikalische Designmerkmale anpassen, bevor sie auf eine Maske gedruckt werden, um zu helfen, durch verschiedene Verarbeitungsschritte verursachten Merkmalsverzerrungen entgegenzuwirken.
  • Während der Waferherstellung aufgenommene Bilder können helfen, physikalische Designmuster und -geometrien zu identifizieren, die Herstellungsdefekte erklären können. Diese Muster und Geometrien können verwendet werden, zu helfen, die Designregeln und OPC-Vorschriften für einen Prozess zu definieren. Die Herstellung eines einzelnen Wafers kann in Anbetracht der großen Wafergröße und der Anzahl von Verarbeitungsschritten in modernen Prozessen eine große Menge von Bilddaten erzeugen. Wenn ein Prozess ausgereifter wird, kommen Herstellungsdefekte weniger häufig vor, wodurch sie in einer großen Fülle von Bilddaten schwer zu finden sind.
  • Figurenliste
    • 1A zeigt das physikalische Design eines beispielhaften planaren Transistors gemäß bestimmten Ausführungsformen.
    • 1B zeigt einen beispielhaften Querschnitt des planaren Transistors von 1A, genommen entlang der Linie A-A', gemäß bestimmten Ausführungsformen.
    • Die 2A-2F zeigen einen beispielhaften fotolithografischen Prozess gemäß bestimmten Ausführungsformen.
    • Die 3A-3D zeigen Unterschiede zwischen auf einer Maske gedruckten Merkmalen und den auf einem Wafer verarbeiteten aufgrund von Prozessverzerrungseffekten und die Verwendung von optischer Nahbereichskorrektur, um diesen Effekten entgegenzuwirken, gemäß bestimmten Ausführungsformen.
    • 4 zeigt eine Ausführungsform von Siliciumdatenerfassung und Nutzung von Siliciumdaten zur Unterstützung von Halbleiterherstellungsprozessentwicklung gemäß bestimmten Ausführungsformen.
    • 5 zeigt einen Ablauf zum Identifizieren von nichtdominanten Clustern gemäß bestimmten Ausführungsformen.
    • 6 zeigt ein Berechnungssystem zum Identifizieren von nichtdominanten Clustern gemäß bestimmten Ausführungsformen.
    • 7 zeigt ein Berechnungssystem gemäß bestimmten Ausführungsformen.
    • 8 zeigt einen zusätzlichen Ablauf zum Identifizieren von nichtdominanten Clustern gemäß bestimmten Ausführungsformen.
    • 9 zeigt regionale Clusterbildung gemäß bestimmten Ausführungsformen.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
  • Die Halbleiterherstellung ist im Verlauf der Jahre zunehmend komplex geworden. Seit der Jahrhundertwende ist die kleinste Merkmalsgröße über eine Größenordnung geschrumpft, während die Industrie von 130-Nanometer- bzw. -nm- zu 10-nm-Technologieknoten fortgeschritten ist. Zur gleichen Zeit hat die Komplexität von Prozessoren dramatisch zugenommen. Gegenwärtige Flagship-Produkte weisen Transistorzahlen auf, die 10 Milliarden beträchtlich übersteigen. Um mit diesen reduzierten Merkmalsgrößen und gestiegenen Komplexitäten der Chips umgehen zu können, müssen Unternehmen Milliarden Dollar und viele Forschungsjahre investieren, um Herstellungseinrichtungen nach dem Stand der Technik zu bauen. Die Kosten für Forschung und Entwicklung werden durch die steigenden Kosten von zunehmend hochwertiger Ausrüstung, die für fortgeschrittene Prozesse benötigt wird, ständig nach oben getrieben. Die Industrie hat Maßnahmen ergriffen, um die Herstellungskosten pro Transistor zu verringern (zum Beispiel durch den Übergang von 200-mm- zu 300-mm-Wafern an dem 90-nm-Technologieknoten), aber der Gesamttrend für jede Prozessgeneration bestand darin, mehr zu kosten als der vorige. Mit bis zu Hunderten von einzelnen Plättchen auf Wafern, die sich einem Fuß im Durchmesser erstrecken, liegt die Gesamtzahl von Transistoren, die auf einem Wafer gedruckt werden können, in der Größenordnung von einer Billion. Die Entwicklung von Herstellungsprozessen mit großen Stückzahlen, die Transistoren in einem derart extremen Maßstab zuverlässig herstellen können, bietet beträchtliche Herausforderungen.
  • Eine derartige Herausforderung besteht in der Entdeckung der Muster und Geometrien in einem physikalischen Design, die für die Begrenzung der Prozessausbeute verantwortlich sind. Herstellungsdefekte können durch Analyse von Bildern, die während der Waferherstellung durch ein Bildgebungswerkzeug erzeugt werden, entdeckt werden, aber die Menge von Bilddaten, die analysiert werden muss, um Defekte zu lokalisieren, kann überwältigend sein (bis zu Millionen von Bildern). Wenn ein Prozess heranreift, kann das Vorhandensein eines Herstellungsdefekts in dem Berg von Bilddaten, die erzeugt werden können, ein seltenes Ereignis sein. Sobald Defekte gefunden werden, besteht eine andere schwierige Aufgabe darin, zu entscheiden, ob ein bestimmtes physikalisches Designmuster oder eine -geometrie für eine Klasse von Defekten verantwortlich ist, insbesondere in Anbetracht der Menge von Daten, die analysiert werden müssen.
  • Die hierin beschriebenen Technologien extrahieren semantische Muster aus großen Mengen von Siliciumdaten, um bei der Entwicklung von Halbleiterherstellungsprozessen zu helfen. Große Zahlen von Bildern werden auf das Vorhandensein von Herstellungsdefekten in interessierenden Flächen auf einem Wafer analysiert. Eine kontinuierliche Gegenstandsmenge wird mit Gegenständen erzeugt, die die Werte von physikalischen Designmerkmalen korrespondierend mit den interessierenden Flächen enthalten, und ein Ereigniswert gibt das Vorhandensein oder Nichtvorhandensein eines Herstellungsdefekts an diesem Ort an. Entropiebasierte Diskretisierung wird an der diskretisierten Gegenstandsmenge durchgeführt, um eine Menge von semantischen Musterkandidaten zu erzeugen. Der Begriff „semantisches Muster“, wie hierin verwendet, bezieht sich auf einen oder mehrere Sätze oder Phrasen, die Beschränkungen für einen oder mehrere Werte von physikalischen Designmerkmalen beschreiben. Ein semantisches Muster kann einen einzelnen Wert für ein Merkmal, „Gatelänge = 20 nm“, einen Wertebereich für ein Merkmal, „Gateendkappenraum ≤ 18 nm“, und Beschränkungen für mehrere Merkmale, „Gatelänge = 20 nm, Gateendkappenraum ≤ 18 nm“, beschreiben.
  • Die Menge von semantischen Merkmalskandidaten wird auf eine Menge von endgültigen semantischen Merkmalen reduziert, die geordnet und einem Benutzer wie einem Prozessingenieur präsentiert werden. Die semantischen Merkmale können basierend auf ihrer Genauigkeit, Abdeckung, Interpretierbarkeit und Unabhängigkeit geordnet werden. Im Allgemeinen sind hoch eingeordnete semantische Muster im Allgemeinen diejenigen, die gute Arbeit leisten, Herstellungsdefekte zu erklären (die Muster sind genau und bieten gute Defektabdeckung, wie nachstehend ausführlicher diskutiert), und für einen Benutzer einfach verständlich sind. Der Benutzer kann extrahierte semantische Muster verwenden, einen Prozess durch Aktualisieren der Designregelmenge für einen Prozess, Verbessern einer Vorschrift für optische Nahbereichskorrektur (OPC) oder auf andere Weise zu verbessern.
  • Jetzt wird Bezug auf die Zeichnungen genommen, wobei ähnliche oder gleiche Nummern verwendet werden können, um gleiche oder ähnliche Teile in verschiedenen Figuren zu bezeichnen. Die Verwendung von ähnlichen oder gleichen Nummern in verschiedenen Figuren bedeutet nicht, dass alle Figuren, die ähnliche oder gleiche Nummern enthalten, eine einzelne oder gleiche Ausführungsform bilden.
  • Jetzt Bezug nehmend auf die 1-3, wird ein Überblick von verschiedenen Aspekten der Herstellung von Halbleiterbauelementen präsentiert. 1A zeigt das physikalische Design eines beispielhaften planaren Transistors. Wie nachstehend ausführlicher diskutiert, wird das physikalische Design eines Transistors verwendet, die Masken zu erzeugen, die während der Herstellung zum Drucken der Merkmale, die zum Implementieren eines bestimmten Designs benötigt werden, auf einen Wafer verwendet werden. Das physikalische Design ist typischerweise eine Menge von Polygonen, die auf verschiedenen Schichten wie eine Gateschicht, eine Kontaktschicht und eine Metall-1-Schicht gezeichnet werden.
  • Der Transistor 100 ist ein Feldeffekttransistor (FET), der Typ von Transistor, der den Großteil von Transistoren, die in modernen Halbleiterbauelementen verwendet werden, umfasst. Der Transistor 100 umfasst die Gate- 110, Drain- 120 und Sourceregionen 130. Die Gateregion in einem FET kann man sich als einen „Ein-Aus“-Schalter vorstellen, der den Stromfluss zwischen den Drain- und Sourceregionen steuert. Wenn das Gate 110 „aus“ ist, fließt kein (oder wenig) Strom durch eine Kanalregion, die den Drain 120 und die Source 130 verbindet, und wenn das Gate 110 „ein“ ist, fließt Strom problemlos durch die Kanalregion. Der Transistor 100 ist durch einen Satz von Verschaltungsschichten, die vertikal auf den Transistor 100 gestapelt sind, mit anderen Transistoren verbunden. Die Kontakte 140 verbinden den Drain 120 mit dem Segment 150 einer ersten Metallschicht (M1) und die Kontakte 160 verbinden die Source 130 mit dem M1-Segment 170. Die M1-Segmente 150 und 170 sind wiederum durch eine erste Schicht von „Verbindungskontakten“ (V1) 192 bzw. 196 mit Segmenten 180 und 190 einer zweiten Metallschicht (M2) verbunden. Im Allgemeinen nimmt die Dicke der Metallschicht zu, wenn man am Verschaltungsstapel nach oben geht, wobei dünnere Metalle im unteren Niveau allgemein für die lokale Führung von Signalen verwendet werden und dickere Metalle im oberen Niveau für globale Signalführung und Leistungs-/Masseebenen verwendet werden. Der Einfachheit halber zeigt 1A nur zwei Metallschichten. Gegenwärtige Halbleiterherstellungsprozesse weisen bis zu zehn Schichten von Metallverschaltungen auf.
  • 1B zeigt einen beispielhaften Querschnitt des planaren Transistors von 1A, genommen entlang der Linie A-A'. Der Querschnitt 105 zeigt das Gate 110 von den Drain-120 und Sourceregionen 130 durch eine dielektrische Schicht 124 mit hohem k getrennt, die das Gate 110 von dem Gate 120 und der Source 130 elektrisch isoliert. Der Transistor 100 befindet sich in der Substratregion 186 und ist durch Oxidregionen 182 von angrenzenden Transistoren isoliert. Der in den 1A und 1B dargestellte planare Transistor ist nur ein Typ der Transistortopografie, wobei die planare Art des Transistors reflektiert, dass die Gate-, Source- und Drainregionen auf oder angrenzend an einer relativ planaren Oberfläche angeordnet sind. Ein anderer Typ von Transistortopografie ist die nichtplanare Transistortopografie, die in FinFETS verwendet wird, die in Herstellungsprozessen nach dem neuesten Stand zahlreich verwendet werden. FinFETS sind Feldeffekttransistoren, die nach demselben allgemeinen Prinzip wie planare FET-Transistoren arbeiten - ein Gate steuert den Stromfluss zwischen der Drain- und der Sourceregion - mit der Abweichung, dass das Gate sich um einen Satz von Rippen windet, die sich von der Waferoberfläche vertikal nach oben erstrecken.
  • Grundlegend für die Halbleiterherstellung ist der Prozess der Fotolithografie, durch den Muster von einer Maske auf einen Wafer übertragen werden. Wie vorstehend erwähnt, werden Masken verwendet, die Form und den Ort von verschiedenen Merkmalen zu definieren, die auf einen Wafer für eine gegebene Prozessschicht zu mustern sind. Zum Beispiel definiert eine Maske, wo Oxidregionen angeordnet sind, eine andere Maske definiert, wo Dielektrika mit hohem k angeordnet sein werden, eine andere Maske definiert die Anordnung von Source- und Drainregionen und eine weitere Maske wird definieren, wo Kontakte platziert werden. Zusätzliche Masken können verwendet werden, jede Metallschicht und zwischenliegende Verbindungskontaktschichten zu definieren.
  • Die 2A-2F zeigen einen beispielhaften fotolithografischen Prozess. Der Prozess 200 zeigt, wie die Oxidregionen 182 in 1B unter Verwendung von Fotolithografie definiert werden können. In 2A wird eine dünne Siliciumdioxidschicht 220 über die Oberfläche des Siliciumsubstrats 210 eines Wafers aufgewachsen. Die Siliciumnitridschicht 230, eine Schutzschicht, wird auf die Siliciumdioxidschicht 220 abgelagert. In 2B wird Fotolack 240 auf die Nitridschicht 230 abgelagert. Ein Fotolack ist ein Material, dessen Reaktanz gegenüber einem Ätzmittel oder einem Lösungsmittel bei Belichtung zunimmt (bei einem positiven Fotolack) oder abnimmt (negativer Fotolack). Im Prozess 200 ist der Fotolack 240 ein positiver Fotolack. In 2C wird die Maske 250 mit Mustern 260 über dem Wafer positioniert und belichtet. Das Licht passiert durch die transparente Region 254 der Maske 250 und belichtet den Fotolack 240. Die gemusterten Regionen 260 sind für das Licht undurchlässig und die Fotolackregionen unter den Mustern 260 werde nicht belichtet. In 2D wird der Fotolack 240 chemisch entwickelt und die belichteten Regionen werden aufgelöst. Die verbleibenden Abschnitte des Fotolacks 240 können jetzt als eine Maske auf dem Wafer fungieren, um selektive Verarbeitung des Wafers zu gestatten. In 2E wird der Wafer einem Ätzschritt unterzogen, der einen Abschnitt der Siliciumnitridschicht 230, der Siliciumdioxidschicht 220 und des Substrats 210 entfernt, um den Graben 270 zu erzeugen. In 2F werden die Fotolack- und Nitridschichten entfernt und der Graben 270 wird mit Siliciumdioxid gefüllt, um eine flache Grabenisolations- bzw. STI-Schicht 280 zu erzeugen, die dazu dient, Transistoren in den Regionen 294 und 298, die voneinander elektrisch isoliert sind, geformt zu halten.
  • Da Masken die Mittel sind, durch die Merkmale in Halbleiterbauelementen realisiert werden, muss jedes Halbleiterbauelementdesign schließlich auf ein physikalisches Design reduziert werden, was das Niveau von Designabstraktion ist, von dem Masken erzeugt werden. Das physikalische Design eines Transistors (wie 1A), die Schaltung oder der Prozessor, der herzustellen ist, wird häufig als ein „Layout“ bezeichnet. Werkzeuge für Automatisierung elektronischer Designs (EDA) gestatten Prozessorarchitekten und Schaltungskonstrukteuren, auf Abstraktionsniveaus über dem Niveau des physikalischen Designs zu konstruieren. Ihnen wird dadurch erspart, ihre Tage damit zu verbringen, Polygone in Layoutwerkzeugen zu zeichnen, um ihre Designs zu verwirklichen. Architekten definieren ihre Designs typischerweise unter Verwendung einer Hardwaredesignsprache (HDL) wie VHDL oder Verilog. Nachdem sie verifiziert haben, dass ihre Designs sich wie gewünscht verhalten, kann ein physikalisches Design automatisch unter Verwendung einer Bibliothek von Standardlayoutzellen erzeugt werden. Schaltungsentwickler suchen oft nach Performanz oder Funktionalität, die unter Verwendung von Standardzellen nicht verfügbar sind, und geben ihre Designs häufig in ein Werkzeug für Schaltbilderfassung ein. Sobald die benutzerdefinierten Designs fertig sind, werden die Schaltbilder an Layoutdesigner übergeben, die die benutzerdefinierten physikalischen Designs von Hand anfertigen.
  • Unabhängig davon, ob ein physikalisches Design automatisch oder manuell erstellt wird, muss es einem Satz von Layoutdesignregeln entsprechen, die für einen Herstellungsprozess erstellt wurden. Designregeln sind Beschränkungen, die ein physikalisches Design befolgen muss, um Herstellbarkeit zu gewährleisten. Die meisten Designregeln drücken eine minimale Breite oder einen Raum für ein Merkmal aus, wie „Gatelänge ≥ 10nm“, „Source-/Drain-Diffusionsumhüllung eines Kontakts ≥ 16 nm“ und „Raum zwischen Metall-1-Spuren ≥ 20 nm“. Designregeln repräsentieren einen Kompromiss zwischen Merkmalsdichte und Herstellbarkeit. Imstande zu sein, kleinere Merkmalsgrößen zu drucken, kann bedeuten, dass mehr Plättchen auf einen Wafer gepackt werden können, aber wenn der Prozess die kleineren Merkmale nicht zuverlässig drucken kann, kann die resultierende Reduktion der Waferausbeute die Kostenreduktionen, die dadurch erhalten wird, imstande zu sein, mehr Plättchen auf einem Wafer zu drucken, mehr als kompensieren.
  • Die Entwicklung von Designregeln für einen neuen Prozess kann schwierig sein, da unerwartete Schwierigkeiten auftreten können. Zum Beispiel kann es sein, dass ein Merkmal sich nicht so viel wie erwartet von der vorherigen Technologiegeneration aufgrund von unvorhergesehenen Schwierigkeiten mit einem neuen Verarbeitungsschritt oder einem neuen Werkzeug skalieren lässt. Während Prozessingenieure einen neuen Herstellungsprozess entwickeln, führen sie ständig eine Feinabstimmung der einzelnen Verarbeitungsschritte durch, um so viele Defektquellen wie möglich zu entfernen. An einem gewissen Punkt ist der Prozess ausreichend abgestimmt, so dass die verbleibenden Defekte, die behoben werden müssen, so selten auftreten, dass sie schwer zu finden sind. Prozessingenieure müssen das Auftreten dieser seltenen Ereignisse während der Prozessentwicklung finden, so dass sie entscheiden können, ob eine Optimierung des Prozesses gefunden werden kann, um das Auftreten des seltenen Ereignisses zu reduzieren, oder ob eine Designregel dem Satz von Designregeln hinzuzufügen ist, so dass physikalische Designgeometrien und -muster, die mit einem spezifischen Defekt korrelieren, aus dem endgültigen physikalischen Design herausgehalten werden können.
  • Sobald ein physikalisches Design keine Verletzungen der Designregeln mehr aufweist und andere Validierungsprüfungen des Designs bestanden hat, wird es an die Maskenerzeugungsphase eines EDA-Ablaufs übergeben. Die Maskenerzeugungsphase ist aufgrund der großen Diskrepanz zwischen der Wellenlänge von Licht (λ = 193 nm), die seit dem 90-nm-Technologieknoten verwendet wurde, und der minimalen Merkmalsgröße (z. B. 10 nm), die in den gegenwärtigen Prozessen verwendet wird, keineswegs trivial. Die minimale Merkmalsgröße, die in einem fotolithografischen Prozess deutlich gedruckt werden kann, ist durch die Wellenlänge der verwendeten Lichtquelle begrenzt, und die Halbleiterindustrie hat Auflösungsverbesserungstechnologien (RET) entwickelt, um das Drucken von Merkmalen gut unter der Lichtquellen-Wellenlänge von 193 nm zu gestatten. Ein erster Satz von RET-Technologien dient zur Vergrößerung der Auflösung und/oder der Fokustiefe und ein zweiter Satz kompensiert Verzerrungswirkungen aufgrund von Drucken von Merkmalen mit einer Wellenlänge größer als minimale Merkmalsgrößen sowie derjenigen, die Ablagerungs-, Ätz- und anderen Prozessschritten innewohnen. Der erste Satz enthält Techniken wie Phasenverschiebungsmasken und doppelte Musterung und der zweite Satz enthält optische Nahbereichskorrektur (OPC).
  • Die 3A-3D zeigen Differenzen zwischen auf einer Maske gedruckten Merkmalen und denjenigen auf einem Wafer verarbeiteten aufgrund von Prozessverzerrungswirkungen und die Verwendung von optischer Nahbereichskorrektur, um diesen Wirkungen entgegenzuwirken. 3A zeigt zwei Gatepolygone 300 in einem physikalischen Design, bevor es einem OPC-Prozess unterzogen wird. 3B zeigt eine vereinfachte Ansicht davon, wie Polygone 300 wie verarbeitet auf einem Wafer erscheinen können. Die Umrisse 310 repräsentieren die Grenzen von Polygonen 300 und die Formen 320 repräsentieren die korrespondierenden Merkmale nach der Verarbeitung. Es ist ersichtlich, dass aufgrund eines nahegelegenen Merkmals die Enden 324 und die äußeren Ecken 328 der Formen 320 gerundet sind, die inneren Ecken 334 gefüllt sind und das Segment 338 verengt ist. 3C zeigt beispielhafte modifizierte Polygone 340, die erzeugt werden, indem die Polygone 300 einem OPC-Prozess unterzogen werden. Die modifizierten Polygone 340 sind viel komplexer als die ursprünglichen Polygone 300. Die modifizierten Polygone 340 enthalten „Hundeknochen“-Merkmale 344, die Endenrundung kompensieren, „Ohr“-Merkmale 348, die Rundung äußerer Ecken kompensieren, „Mäusebiss“-Merkmale 354, die Rundung innerer Ecken kompensieren, und Verdickungsmerkmale 358, die das Vorhandensein nahegelegener Merkmale kompensieren. 3D zeigt eine vereinfachte Ansicht davon, wie modifizierte Polygone 340 auf einem Wafer nach Verarbeitung erscheinen können. Die Umrisse 310 repräsentieren wieder die Grenzen der ursprünglichen Polygone 300. Wie ersichtlich ist, resultiert die Modifikation von Polygonen 300 durch den OPC-Prozess in gedruckten Formen 360, die näher an der Form und der Größe von ursprünglichen Polygonen 300 sind. Die Enden und Ecken von Formen 360 sind weniger abgerundet, die inneren Ecken weniger gefüllt und die Auswirkung von nahegelegenen Nachbarn ist vermindert.
  • Während OPC-Erzeugung (und andere RET-Techniken) gestattet haben, dass minimale Merkmale mit Technologieknoten skalieren, während die Wellenlänge der fotolithografischen Lichtquelle konstant geblieben ist, sind damit auch Kosten verbunden. OPC-Erzeugung ist rechenaufwändig. OPC-Vorschriften können auf physikalischen Modellen von verschiedenen Verarbeitungsschritten (Fotolithografie, Diffusion, Ätzung, Ablagerung usw.) basieren oder können regelbasierte Modelle sein, die OPC-Merkmale basierend auf einzelnen Merkmalscharakteristika des physikalischen Designs (Breite, Länge, Form, Charakteristika des nächsten Nachbarn) erzeugen, ohne auf den physikalischen Vorgängen der darunterliegenden Prozessschritte angewiesen zu sein. Die Anwendung von modellbasierten OPC-Vorschriften auf ein vollständiges physikalisches Design kann die Anwendung von physikalischen Modellen auf über 10 Milliarden Formen allein auf der Gateschicht und auf Milliarden von zusätzlichen Formen auf anderen Schichten beinhalten. Des Weiteren kann die Erzeugung von regelbasierten OPC-Modellen, die einiges der rechtentechnischen Komplexität von modellbasierter OPC-Erzeugung einsparen können, eine komplexe Angelegenheit sein. Das Erzeugen von regelbasierten OPC-Vorschriften kann aufgrund eines mangelnden vollständigen Verständnisses der komplexen physikalischen und chemischen Vorgänge, die bei der Entwicklung von hochmodernen Verarbeitungstechnologien ins Spiel kommen, auf Versuch und Irrtum basiert sein. Dieses Versuch-und-Irrtum-Verfahren kann umfassen, Merkmale mit vielen Variationen von Kandidaten für OPC-Vorschriften iterativ herzustellen und zu sehen, welche Vorschriften die besten Ergebnisse produzieren.
  • 4 zeigt eine Ausführungsform von Siliciumdatenerfassung und Nutzung von Siliciumdaten zur Unterstützung bei der Entwicklung von Halbleiterherstellungsprozessen. Der Siliciumwafer 400 umfasst Plättchen 410. Wie vorstehend diskutiert, setzt die gegenwärtige Technologie Wafer von 300 mm ein, die Hunderte von Plättchen umfassen können. Die Plättchen sind durch Ritzlinien getrennt, die Teststrukturen enthalten können, die zur Überwachung der Gesundheit des Herstellungsprozesses verwendet werden können und die durch den Zerschneidungsprozess, in dem ein Wafer in einzelne Plättchen 410 zerschnitten wird, verbraucht werden. Während der Herstellung des Siliciumwafers 400 können Siliciumdaten 420 erzeugt werden, die zur Entwicklung eines neuen Prozesses oder zur Überwachung der Gesundheit eines ausgereiften verwendet werden können. Die Siliciumdaten 420 können beliebige Daten sein, die während der Herstellung des Wafers 400 erfasst werden, wie Diagnosedaten oder Bilder, die durch ein Bildgebungswerkzeug wie ein Rasterelektronenmikroskop (SEM), ein Transmissionselektronenmikroskop (TEM), ein Rastertransmissionselektronenmikroskop (STEM), ein optisches Mikroskop oder ein Fokusionenstrahlmikroskop (FIB) erfasst werden. Diagnosedaten können von den Ritzlinienteststrukturen erfasste Daten enthalten, die elektrische Eigenschaften von verschiedenen Merkmalen oder Schichten (z. B. Kontakt- oder Verbindungskontaktwiderstand, Metallschichtflächenwiderstand) messen können oder durch Testen auf Kurzschlüsse zwischen zum Beispiel Gate- oder Metallstrukturen, die minimale Merkmale oder Layoutmuster, die problematisch sind, reflektieren, das Vorliegen von Herstellungsdefekten angeben.
  • Eine beliebige Anzahl von Bildern kann pro Wafer erzeugt werden. Bilder können von einem oder mehreren interessierenden Flächen auf einem einzelnen Plättchen für verschiedene Plättchen auf einem Wafer aufgenommen werden. Zum Beispiel können Bilder von der Gateschicht in einer Region aufgenommen werden, in der die Gatemuster besonders dicht sind (wie in einer Speicheranordnung), und für repräsentative Plättchen über den Wafer, um Herstellungsschwankungen über den Wafer zu erfassen. Bilder können an jedem Punkt in dem Herstellungsprozess aufgenommen werden. Da Bilder ein Bildfeld aufzeichnen können, das Hunderte von Mikrometern in der Länge und Breite beträgt, können einzelne Bilder viele Instanzen von minimalen Merkmalen oder interessierenden Flächen enthalten.
  • Die Siliciumdaten 420 können für Wafer erzeugt werden, die während der Prozessentwicklung oder -überwachung verarbeitet werden, und können für Wafer erzeugt werden, die über Herstellungsanlagen verarbeitet werden, um die Herstellungsrobustheit über Anlagen zu bewerten. Bei den großen Wafergrößen, Prozesskomplexitäten und Waferlaufraten von heute kann die Menge von Siliciumdaten, die während der Prozessentwicklung oder -überwachung produziert werden kann, gewaltig sein. Die Anzahl von Bildern, die allein während der Prozessentwicklung erzeugt werden, kann in die Millionen reichen.
  • Die Siliciumdaten 420 können einem System zur Extraktion semantischer Muster 430 zugeführt werden, das große Mengen von Siliciumdaten verarbeitet und einem Prozessingenieur oder anderen Benutzer 440 Informationen präsentiert, die bei der Entwicklung eines neuen Prozesses oder Verbesserung eines bestehenden nützlich sein können. In einigen Beispielen können die bereitgestellten Informationen semantische Muster (Phrasen oder Sätze, die von einem Menschen einfach verstanden werden) sein, die darauf hinweisen, welche physikalischen Designmuster oder -geometrien für einen Defekt verantwortlich sein können. In anderen Beispielen kann das System 430 die Siliciumdaten 420 nutzen, um eine oder mehrere Designregeln zu bestimmen, die die Prozessausbeute verbessern können, und die Designregel-Datenbank 450 für einen Prozess aktualisieren oder eine OPC-Vorschriften-Datenbank 460 durch Aktualisieren einer bestehenden OPC-Vorschrift oder Erzeugen einer neuen, die die Ausbeute verbessern kann, aktualisieren.
  • Die Siliciumdaten 420 oder eine andere Datenmenge kann eine gekennzeichnete Datenmenge umfassen. Zum Beispiel kann die Datenmenge eine Vielzahl von Bildern eines oder mehrere Halbleiterchips umfassen und jedes Bild kann mit einer binären Kennzeichnung gekennzeichnet sein, die angibt, ob das Bild mindestens einen Defekt enthält. Wenn eine große Anzahl von Beitragenden hin zu einem Fehlersignal (wobei z. B. das Fehlersignal die Bilder mit Defekten, Abschnitte derartiger Bilder oder andere von den Bildern abgeleitete Informationen enthalten kann) vorhanden sind, kann ein besonders dominanter Beitragender die Wirkungen anderer kritischer, aber nichtdominanter Fehlerbeitragender überschatten. In einem Szenarium des schlimmsten Falls kann der dominante Betragende ein falsches Signal sein, das zur Maskierung des tatsächlichen Fehlersignals führt, wodurch fehlerhafte Schlussfolgerungen gezogen werden.
  • In besonderen Ausführungsformen der vorliegenden Offenbarung können iterative Clusterbildungstechniken die Identifizierung von kritischen, aber nichtdominanten Fehlerbeitragenden ermöglichen. Die Clusterbildungstechniken können die Abstimmung von regionsspezifischen Fehlerschwellenwerten gestatten, die dem System gestattet, die Wirkung von dominanten Fehlerbeitragenden zu unterdrücken, um zusätzliche Fehlerbeitragende zu identifizieren. In besonderen Ausführungsformen können die iterativen Clusterbildungstechniken verwendet werden, die Genauigkeit von optischer Inspektion von Halbleiterwafern durch Identifizieren von Mustern, die falsche Defekte verursachen, und anschließender Optimierung kritischer Schwellenwerte für derartige Muster, um das Fehlersignal für nichtdominante Muster zu verstärken, zu verbessern.
  • 5 zeigt einen Ablauf 500 zum Identifizieren nichtdominanter Cluster gemäß bestimmten Ausführungsformen. Der Ablauf 500 kann durch jedes geeignete Berechnungssystem wie das Berechnungssystem 600 von 6 oder das Berechnungssystem 700 von 7 durchgeführt werden. Obwohl der Ablauf 500 durch jedes geeignete Berechnungssystem durchgeführt werden kann, wird der Ablauf unter Bezugnahme auf das Berechnungssystem von 6 beschrieben. 6 zeigt ein Berechnungssystem 600 zum Identifizieren nichtdominanter Cluster gemäß bestimmten Ausführungsformen.
  • Der Ablauf beginnt bei 502 mit Signalerregung. Während der Signalerregung wird ein Abtastraum 506 in Dateninstanzen zerteilt und basierend auf einer einheitlichen Schwellenwertmenge 504 analysiert. Der Abtastraum 506 kann Dateninstanzen enthalten, die durch den Ablauf 500 zu kennzeichnen sind. Als ein Beispiel können die Dateninstanzen während des Ablaufs zuerst mit einer binären Klassifizierung gekennzeichnet werden, die z. B. angibt, ob die Dateninstanz einen Defekt enthält, und kann (z. B. in Fällen, in denen die Dateninstanz einen Defekt enthält, der mit ausreichender Regelmäßigkeit gefunden wird) ferner als einen spezifischen Defekttyp aufweisend gekennzeichnet werden. In einer besonderen Ausführungsform kann der Abtastraum 506 einen oder mehrere Halbleiterwafer oder Abschnitte davon enthalten.
  • In einer besonderen Ausführungsform kann die Signalerregung durch das optische Mikroskop 602 durchgeführt werden. Das optische Mikroskop 602 kann ein Mikroskop umfassen, das Licht (z. B. sichtbares oder Ultraviolettlicht) und ein System von Linsen nutzt, um Bilder zu vergrößern. Das optische Mikroskop 602 kann Erregung des Wafers bei jeder geeigneten Wellenlänge ermöglichen. Das optische Mikroskop 602 kann beliebige geeignete Beobachtungs- oder Kontrastierungstechniken wie zum Beispiel Hellfeld, Dunkelfeld, einfache Polarisation oder Differenzialinterferenzkontrast nutzen. Das optische Mikroskop 602 kann jede geeignete Beleuchtungsquelle wie Halogenbeleuchtung, Xenonlampen, Quecksilberlampen, Mischgasbeleuchtung oder eine andere geeignete Beleuchtung verwenden. Das optische Mikroskop 602 kann Digitalbilder von Abschnitten von Halbleiterwafern bei jeder geeigneten Auflösung aufnehmen. Diese Bilder können in jedem geeigneten Speicher (z. B. Mikroskopbilddatenbank 604) gespeichert werden. In verschiedenen Ausführungsformen kann das optische Mikroskop 602 ein Robotersystem, das die automatische Abtastung von Bildern über einen oder mehrere Halbleiterwafer erleichtert, enthalten oder daran gekoppelt sein.
  • In verschiedenen Ausführungsformen kann das optische Mikroskop 602 Bilder bei jeder geeigneten Auflösung aufnehmen. In besonderen Ausführungsformen können die durch das optische Mikroskop 602 erfassten Bilder jeweils ein Retikel (z. B. ungefähr 25 x 50 Millimeter in einigen Ausführungsformen), zwei Retikel (z. B. ungefähr 50 x 50 Millimeter in einigen Ausführungsformen) oder anderen geeignete Anzahl von Retikeln erfassen. In besonderen Ausführungsformen können die Bilder über eine Rasterabtastung über den gesamten Wafer erfasst werden. In verschiedenen Ausführungsformen kann jedes Bild einen Abschnitt eines Halbleiterplättchens, ein einzelnes Halbleiterplättchen oder mehrere Halbleiterplättchen erfassen.
  • Während der Signalerregungsphase kann ein Fehlersignal 508 erzeugt werden. In einem Beispiel kann das Fehlerextraktionsmodul 606 das Fehlersignal 508 erzeugen. Das Fehlerextraktionsmodul 606 kann Dateninstanzen empfangen, z. B. durch das optische Mikroskop 602 aufgenommene Bilder, und die Dateninstanzen analysieren, um zu bestimmen, welche Abschnitte der Dateninstanzen Fehler enthalten. In verschiedenen Ausführungsformen können die Fehlerextraktionsvorrichtung 606 und das optische Mikroskop 602 auf derselben Vorrichtung (z. B. ein Mikroskopsystem) angeordnet sein oder sie können auf verschiedenen Vorrichtungen angeordnet sein.
  • Zusätzlich zu den Dateninstanzen (z. B. Bilder) des Abtastraums 506 ist eine einheitliche Schwellenwertmenge 504 eine Eingabe zu der Signalerregungsphase. Die einheitliche Schwellenwertmenge umfasst einen oder mehrere Schwellenwerte, die verwendet werden, zu bestimmen, ob ein Abschnitt eines Bilds (z. B. ein Bildareal) einen Defekt enthält. In einer besonderen Ausführungsform kann ein eingegebenes Bild in mehrere Bildareale segmentiert werden und kann jedes Bildareal analysiert werden, um zu bestimmen, ob das Bildareal einen Defekt enthält. In einigen Ausführungsformen können die Bildareale Rechtecke oder Quadrate mit einer Breite und Höhe irgendwo von etwa 1,5 Mikrometer bis 10 Mikrometer sein, obwohl alle geeigneten Größen von Bildarealen hierin erwogen werden.
  • In verschiedenen Ausführungsformen können der eine oder die mehreren Schwellenwerte der einheitlichen Schwellenwertmenge 504 ausreichend niedrig eingestellt werden, um die Detektion einer adäquaten Anzahl von Fehlern über den Wafer zu begünstigen. Das Fehlerextraktionsmodul 606 kann ein Bild in viele verschiedene Bildareale segmentieren und dann eine Bildanalyse an jedem Bildareal durchführen, um zu bestimmen, ob das Bildareal einen Fehler enthält, basierend auf einem Vergleich von Ergebnissen der Bildanalyse mit einem oder mehreren Schwellenwerten der einheitlichen Schwellenwertmenge 504. In einer besonderen Ausführungsform kann das Fehlerextraktionsmodul 606 ein Bildareal in Bezug auf ein oder mehrere andere korrespondierende Bildareale analysieren, um zu bestimmen, ob der eine oder die mehreren Schwellenwerte überschritten werden. In verschiedenen Ausführungsformen kann ein erstes Bildareal mit einem zweiten Bildareal korrespondieren, wenn zum Beispiel das zweite Bildareal ein Bild von demselben Ort des ersten Bildareals, aber von einem anderen Wafer ist, wenn das zweite Bildareal von demselben Ort des ersten Bildareals, aber von einem anderen Plättchen (auf demselben oder einem anderen Wafer) ist oder wenn auf andere Weise erwartet wird, dass das zweite Bildareal dem ersten Bildareal entspricht (z. B. ist das zweite Bildareal ein Bild desselben Musters wie das erste Bildareal oder ist das zweite Bildareal ein synthetisches Bild, erzeugt aus einem Designmuster, das zum Herstellen der Muster, die durch das erste Bildareal erfasst werden, verwendet wird).
  • Die Bildanalyse kann eine oder mehrere Bildanalysemetriken, die aus einer Bildmenge erhalten werden (z. B. ein Bildareal oder ein Abschnitt davon und korrespondierende Bildareale oder Abschnitte davon), mit einem oder mehreren Schwellenwerten der einheitlichen Schwellenwertmenge 504 vergleichen. Als ein Beispiel kann eine Bildintensität (z. B. ein Durchschnitt oder eine Summe von Helligkeits- oder Dunkelheitsmetriken von Bildpunkten des Bilds) für einen Bildabschnitt bestimmt und dann mit einer oder mehreren Bildintensitäten, die für einen oder mehrere korrespondierende Bildabschnitte bestimmt wurden, verglichen werden, um die Bildanalysemetrik zu erzeugen. In verschiedenen Ausführungsformen kann ein Bildareal in mehrere Flächen segmentiert werden und eine durchschnittliche Bildpunktintensität kann für jede Fläche berechnet und dann mit korrespondierenden durchschnittlichen Bildpunktintensitäten von korrespondierenden Bildern verglichen werden. Wenn einige der Durchschnitte eine Differenz aufweisen, die über dem Schwellenwert liegt, kann angenommen werden, dass das Bildareal einen Defekt enthält. In einigen Ausführungsformen kann die Bildanalysemetrik für einen besonderen Bildabschnitt die Differenz zwischen der Bildintensität für den besonderen Bildabschnitt und dem Mittelwert oder Median der Bildintensitäten der anderen Bilder der Bildmenge (oder sämtlicher Bilder der Bildmenge) umfassen. Im Allgemeinen kann, wenn ein Bildabschnitt von einem korrespondierenden Bildabschnitt oder korrespondierenden Bildabschnitten ausreichend verschieden ist, so dass der einheitliche Schwellenwert überschritten wird, angenommen werden, dass eines der Bilder einen Defekt enthält.
  • In einem anderen Beispiel werden Flächen eines oder mehrerer Polygone in einem Bildareal oder einem Abschnitt eines Bildareals mit Flächen eines oder mehrerer Polygone in einem korrespondierenden Bildareal oder Abschnitt davon verglichen, und wenn die Differenz in den Flächen (oder eine auf den Flächen basierende statistisch Größe wie ein Durchschnitt der Flächen oder eine andere abgeleitete statistische Größe) größer ist als ein Schwellenwert der einheitlichen Schwellenwertmenge, wird angenommen, dass eines der Bildareale einen Defekt enthält.
  • In einer besonderen Ausführungsform können Bildareale zusammen in Sätzen von drei korrespondierenden Bildern (oder einer anderen geeigneten Anzahl) von verschiedenen Chips analysiert werden, und wenn ein Bildabschnitt eines Bildareals von den anderen zwei (oder einer anderen Anzahl von) korrespondierenden Bildarealen um einen Betrag, der über dem Schwellenwert ist (z. B. basierend auf einem Vergleich von Bildpunktintensitäten und/oder Polygonflächen und/oder einem anderen Vergleich einer Bildanalysemetrik), verschieden ist, wird angenommen, dass der Bildabschnitt einen Fehler aufweist. In einigen Ausführungsformen kann, wenn bestimmt wird, dass ein erstes Bild von einem zweiten Bild und einem dritten Bild verschieden ist, aber bestimmt wird, dass das zweite Bild und das dritte Bild relativ ähnlich sind, eine Bestimmung vorgenommen werden, dass das erste Bild den Defekt enthält.
  • In einer besonderen Ausführungsform kann das Fehlersignal 508 die Bildareale, die Defekte enthalten, enthalten. In verschiedenen Ausführungsformen enthält das Fehlersignal 508 außerdem die Bildareale, die keine Fehler aufwiesen, die mit den Bildarealen, die Fehler aufwiesen, korrespondieren. In einigen Ausführungsformen können durch Weglassen der Bildarealmengen, die keine Defekte enthielten (anstatt sämtliche der Bildareale zu kommunizieren), Kommunikation, Speicherung und/oder Verarbeitungsbandbreite erhalten werden.
  • Bei 510 wird Clusterbildung, d. h. durch ein oder mehrere Clusterbildungsmodule 610, an dem Fehlersignal (z. B. Bildareale, die Defekte umfassen), durchgeführt. Während der Clusterbildung können die Bildareale zu Clustern organisiert werden, wobei ein bestimmter Cluster einen bestimmten Defekttyp repräsentieren kann. Basierend auf der Clusterbildung können den Bildarealen Defektkennzeichnungen zugewiesen werden. In einer besonderen Ausführungsform kann angenommen werden, dass jeder Defekt, der in diesem ersten Durchgang gefunden wird, ein dominanter Defekt ist, wie dieser Begriff hierin verwendet wird.
  • Vor der tatsächlichen Clusterbildung können das oder die Clusterbildungsmodule 610 oder andere geeignete Schaltungen eines Berechnungssystems (z. B. 600) einen Merkmalsvektor für jedes Bildareal, von dem bestimmt wurde, dass es einen Defekt aufweist, erzeugen. Diese Erzeugung kann Extraktion eines oder mehrere Merkmalswerte aus dem Bildareal enthalten. Beliebige geeignete Merkmalswerte können aus dem Fehlersignal 508 extrahiert werden, wie Werte von fotometrischen Merkmalen (z. B. Charakteristika von Bildpunktintensitäten wie ein Intensitätshistogramm, Varianz von Intensitäten eines Bildareals, eine Log-Likelihood von Intensitäten, eine Gesamtvarianz eines Bildareals) oder Eigenfacebasierte Merkmale (z. B. Eigenvektoren, die die Bilder repräsentieren).
  • In verschiedenen Ausführungsformen und in jedem Stadium (oder mehreren Stadien des Ablaufs) kann eine Aufzeichnung korrespondierend mit einem Bildareal in jedem geeigneten Speicher (z. B. Bildarealdatenbank 608) gespeichert werden. Eine derartige Aufzeichnung kann beliebige eine oder mehrere einer Kennung des Bildareals, das Bildareal selbst, ein oder mehrere korrespondierende Bildareale oder Identifizierungen davon, Ortsinformationen (z. B. Angeben eines Wafers, eines Chips und/oder eines Orts innerhalb des Chips, der durch das Bildareal repräsentiert wird), die extrahierten Merkmalswerte für die Dateninstanz, ob das Bildareal einen Defekt enthält und ein dem Abtastwert zugewiesener Defekttyp (z. B. wie zugewiesen, nachdem Clusterbildung bei 510 durchgeführt wird) enthalten oder damit assoziiert sein.
  • Nachdem die Merkmalswerte extrahiert werden, werden ein oder mehrere Clusterbildungsmodelle ausgeführt, um Clusterbildung der Bildareale basierend auf den Merkmalswerten durchzuführen. In einigen Ausführungsformen können Maschinenlernen-Algorithmen über die Merkmalsvektoren durchgeführt werden, um die dominanten Defekttypen zu identifizieren. Jedes geeignete Clusterbildungsmodell kann verwendet werden, abhängig von der Art des Merkmalsvektors (z. B. kontinuierlich oder diskret) und des Fehlersignals (z. B. kontinuierlich oder diskret). Mindestens einige der Bildareale können Clusterbildungsklassen basierend auf ihren Positionen in einem Datenraum (in dem die Position eines Bildareals unter Verwendung einer Funktion, die alle (oder eine Teilmenge) der Merkmalswerte des Bildareals berücksichtigt, bestimmt wird) zugewiesen werden. Während der Clusterbildung bei 510 werden die Bildareale, die Teil eines identifizierten Clusters sind, mit einem Defekttyp korrespondierend mit diesem Cluster klassifiziert.
  • Beliebige geeignete Clusterbildungsmodelle können verwendet werden, die Dateninstanzen in Cluster zu partitionieren und Clusterbildungsklassen zuzuweisen. Zum Beispiel kann ein Random-Forest-Modell, ein Konnektivitätsmodell (z. B. hierarchische Clusterbildung), ein Schwerpunktmodell (z. B. K-Mittelwert-Clusterbildung), ein Verteilungsmodell (z. B. Erwartungsmaximierung unter Verwendung von multivariaten Normalverteilungen) oder ein Dichtemodell (z. B. DBSCAN oder OPTICS) verwendet werden. Die Modelle können beliebige geeignete Parameter verwenden, um zu bestimmen, was einen Cluster ausmacht (in einigen Ausführungsformen können diese Parameter im Verlauf der Zeit basierend auf zusätzlichen Schritten zur Fehlerverifizierung eingestellt werden, z. B. unter Verwendung von SEM oder ähnlichen Bildern und/oder Benutzereingabe).
  • In einigen Ausführungsformen werden mehrere Clusterbildungsmodelle verwendet (z. B. kann jedes Clusterbildungsmodul 610 ein verschiedenes Clusterbildungsmodell implementieren) und können die Ergebnisse zusammengeführt werden, um die Clusterbildungsklassen zu bestimmen, die den Aufzeichnungen zugewiesen werden. Wenn mehrere Modelle verwendet und zusammengeführt werden, kann jedes geeignete Zusammenführungsverfahren verwendet werden. Zum Beispiel kann ein Vereinigungsverfahren verwendet werden, in dem jeder durch eines der Modelle identifizierte Cluster in die Ergebnisse aufgenommen wird. Als ein anderes Beispiel kann ein gewichtetes Verfahren verwendet werden, in dem Cluster danach gewichtet werden können, welche Clusterbildungsmodelle die Cluster identifizierten und/oder ob Cluster in mehreren Modellen vorhanden waren (z. B. wie durch einen Schwellenwertprozentanteil der Bildareale, die in identifizierten Clustern von verschiedenen Clusterbildungsmodellen vorhanden sind, bestimmt). Die Verwendung von mehreren verschiedenen Clusterbildungsmodellen kann die Fähigkeit des Systems verbessern, Rauschen in dem Fehlersignal 508 herauszufiltern.
  • Im Kontext von Halbleiterwaferanalyse können viele mögliche Defekttypen möglich sein (z. B. können in einem 10-Nanometer-Prozess mehr als 1000 verschiedene Defekttypen vorhanden sein). Einige wenige Beispiele von Defekttypen, die unter Verwendung der hierin beschriebenen Clusterbildungsmodelle erkannt werden können, enthalten Ascheflocken (die z. B. als ein nicht beabsichtigter weißer Fleck auftreten können), Kurzschlüsse, produziert durch Metallleitungen, die zusammenkommen, oder eine Metallleitung mit einem gebrochenen Abschnitt.
  • In verschiedenen Ausführungsformen können das oder die Clusterbildungsmodule 610 den bestimmten Clustern abstrakte Defekttypen (z. B. „Defekttyp 1“, „Defekttyp 2“ usw.) zuweisen. In einigen Ausführungsformen kann ein Betreiber oder eine Berechnungsentität später bestimmen, dass ein abstrakter Defekttyp mit einem bekannten Defekttyp (z. B. Ascheflocken) korrespondiert, und eine Beschreibung des Defekttyps kann in einer Datenbank gespeichert und mit dem besonderen Defekttyp assoziiert werden. In einigen Ausführungsformen können Ergebnisse der Clusterbildung 510 über verschiedene Wafer und Prozesse in einer globalen Datenbank gespeichert werden.
  • Als ein Ergebnis der Clusterbildung 510 wird eine Vielzahl von dominanten Clustern 512 identifiziert. Die dominanten Cluster können Gruppen von Bildarealen enthalten, von denen herausgefunden wurde, dass sie ausreichend ähnliche Bildcharakteristika aufweisen. Bei 514 werden Orte der dominanten Cluster in dem Abtastraum 502 identifiziert. Dies kann enthalten, Defektortinformationen zu identifizieren, die Orte oder Regionen (z. B. kann, wenn ein genauer Ort nicht feststellbar ist, eine Region einen Ort plus oder minus eine bestimmte Distanz repräsentieren, wodurch die Begrenzungen ableitbar sind, innerhalb derer der Ort vorhanden ist) von Bildarealen umfassen, die Defekte umfassen, die Teil eines dominanten Clusters waren. Die Identifizierung der Ortsinformationen kann dem Berechnungssystem (z. B. 600) gestatten, Attribute der Muster der Designdatei korrespondierend mit den Bildarealen, die Teil eines dominanten Clusters waren, zu bestimmen. Ein Muster einer Designdatei kann mit einem Layoutmerkmal eines Halbleiterchip-Designs wie ein oder mehrere geometrische Designmuster eines in einer Layoutdatenbankdatei definierten Bereichs korrespondieren. Jedes geeignete Datenbank-Dateiformat kann für die Layoutdatenbank verwendet werden, wie Graphic Data System II (GDS II), Open Artwork System Interchange Standard (OASIS) oder ein anderes geeignetes Format. Eine Layoutdatenbankdatei kann eine Repräsentation eines Halbleiterchips in der Form von ebenen geometrischen Formen (z. B. Polygone) korrespondierend mit Mustern von z. B. Metall-, Oxid- oder Halbleiterschichten des Chips bereitstellen. Eine Layoutdatenbankdatei kann die physikalische Anordnung von verschiedenen Bauelementen auf dem Chip repräsentieren. Eine derartige Datei kann das Vorhandensein oder Nichtvorhandensein von verschiedenen Merkmalen auf verschiedenen Maskenschichten für Masken, die zum Herstellen des Chips verwendet werden, spezifizieren.
  • Die Attribute, die in der Designdatei für die Muster korrespondierend mit den verschiedenen dominanten Clustern gefunden werden, können verwendet werden, Merkmalsvektoren zu erstellen, wobei ein Merkmalsvektor eine Vielzahl von Merkmalswerten für ein besonderes Muster enthält (korrespondierend mit einem Bildareal eines dominanten Clusters). In dem beispielhaften Abtastraum von geometrischen Objekten eines Halbleiterchips können die Merkmale ein- und/oder mehrlagige geometrische Merkmale (z. B. kritische Abmessungen von Metallleitungen, Distanzen von Verbindungskontakten zu Metall usw.) und Deskriptoren von Bildmerkmalen (z. B. SIFT, ORB-Oriented FAST und rotated BRIEF, ein Merkmalsdetektor, der wichtige Eckenpunkte aus Bildern findet usw.) oder andere geeignete Merkmale wie Designzellfamilien (z. B. AND-Gatter, NOR-Gatter usw.), Orte von Waferplättchen (z. B. näher an Kanten), Fokusdosierungsteilung oder andere geeignete Merkmale des Chipdesigns enthalten. In einer besonderen Ausführungsform kann ein Merkmalsvektor mit 64 verschiedenen Designmerkmalswerten für jedes Muster konstruiert werden, obwohl jede geeignete Anzahl von Merkmalswerten in anderen Ausführungsformen verwendet werden kann.
  • Regionsclusterbildung wird dann bei 516 durchgeführt, z. B. durch ein oder mehrere Regionsclusterbildungsmodule 614. Ein oder mehrere Clusterbildungsmodelle werden ausgeführt, um eine Clusterbildung der Designmuster basierend auf den Merkmalsvektoren vorzunehmen, um Regionscluster von Mustern mit ähnlichen Merkmalswerten zu finden. In einigen Ausführungsformen können Maschinenlernen-Algorithmen über den Merkmalsvektoren durchgeführt werden, um die Regionscluster zu identifizieren. In verschiedenen Ausführungsformen können die Designmuster Regionsclusterbildungsklassen basierend auf ihren Positionen in einem Datenraum zugewiesen werden (wobei die Position eines Designmusters unter Verwendung einer Funktion, die alle Merkmalswerte des Designmusters (oder eine Teilmenge davon) berücksichtigt, bestimmt wird).
  • Jedes geeignete Modell zur Clusterbildung kann verwendet werden, die Designmuster in Regionscluster zu partitionieren. Zum Beispiel kann ein Random-Forest-Modell, ein Konnektivitätsmodell (z. B. hierarchische Clusterbildung), ein Schwerpunktmodell (z. B. K-Mittelwert-Clusterbildung), ein Verteilungsmodell (z. B. Erwartungsmaximierung unter Verwendung von multivarianten Normalverteilungen) oder ein Dichtemodell (z. B. DBSCAN oder OPTICS oder Ableitungen davon) verwendet werden. Die Modelle können alle geeigneten Parameter verwenden, um zu bestimmen, was einen Regionscluster ausmacht (z. B. wie nahe und zahlreich die Muster sind, bevor ein Regionscluster gefunden wird).
  • In einigen Ausführungsformen werden mehrere Clusterbildungsmodelle verwendet (z. B. kann jedes Clusterbildungsmodul 614 ein verschiedenes Clusterbildungsmodell implementieren) und die Ergebnisse können zusammengeführt werden, um die Regionscluster zu bestimmen. Wenn mehrere Modelle verwendet und zusammengeführt werden, kann jedes geeignete Zusammenführungsverfahren verwendet werden. Zum Beispiel kann ein Vereinigungsverfahren verwendet werden, in dem jeder durch eines der Modelle identifizierte Regionscluster in den Ergebnissen enthalten ist. Als ein anderes Beispiel kann ein gewichtetes Verfahren verwendet werden, in dem Regionscluster in Abhängigkeit davon, welche Clusterbildungsmodelle die Regionscluster identifiziert haben und/oder ob Regionscluster in mehreren Modellen vorhanden waren (wie z. B. durch einen Schwellenwertprozentanteil der Designmuster, die in identifizierten Regionsclustern von verschiedenen Clusterbildungsmodellen vorhanden sind, bestimmt), gewichtet werden können.
  • Das oder die Regionsclusterbildungsmodule 614 können Regionscluster auf jede geeignete Weise identifizieren. Zum Beispiel kann ein Regionscluster durch einen Bereich eines oder mehrerer Merkmalswerte für jedes Merkmal des Merkmalsvektors (oder eine Teilmenge der Merkmalswerte) identifiziert werden. Als ein anderes Beispiel kann ein Regionscluster durch einen einzelnen Merkmalswert identifiziert werden (z. B. können alle Muster einer besonderen Designzellfamilie wie ein AND-Gate mit einem Regionscluster korrespondieren).
  • Bei 518 wird eine Bestimmung vorgenommen, ob neue Regionscluster gefunden wurden (die in einer vorherigen Iteration des Ablaufs 500 nicht identifiziert wurden). Wenn keine neuen Regionscluster gefunden wurden, endet der Ablauf. Wurden neue Regionscluster gefunden, fährt der Ablauf mit 520 fort. Im Allgemeinen wird der einheitliche Schwellenwert 504 ausreichend niedrig eingestellt, so dass mindestens ein Regionscluster (und möglicherweise viele Regionscluster) während der ersten Iteration des Ablaufs gefunden werden.
  • Bei 520 wird mindestens ein regionsspezifischer Schwellenwert bestimmt, z. B. durch ein Schwellenwertbestimmungsmodul 616. Zum Beispiel können die Orte des Plättchens, die die in einem Regionscluster enthaltenen Designmuster enthalten, identifiziert werden, um zu bestimmen, in welchem Bildareal die Designmuster erfasst werden. Wenn zum Beispiel ein Regionscluster mit einer besonderen Designzellfamilie korrespondiert, können alle Orte dieser Designzellfamilie als eine Region identifiziert werden. Als ein anderes Beispiel können, wenn ein Regionscluster mit allen Metallleitungen korrespondiert, die eine Länge in einem besonderen Bereich haben, die innerhalb einer bestimmten Distanz von einem Umfang des Plättchens entfernt sind, alle Instanzen dieser Metallleitungen als eine andere Region identifiziert werden. Die Identifizierung der Orte der Designmuster der Regionscluster gestattet dem Fehlerextraktionsmodul 606, zu bestimmen, welche Bildareale mit diesen Orten korrespondieren, und (von der einheitlichen Schwellenwertmenge) verschiedene Fehlerschwellenwerte auf diese Bildareale anzuwenden.
  • Bei 520 wird eine regionsspezifische Schwellenwertmenge 522, die einen oder mehrere Schwellenwerte enthält, die von dem einen oder den mehreren Schwellenwerten der einheitlichen Schwellenwertmenge 504 verschieden sind, einer oder mehreren der identifizierten Regionen zugewiesen. In einer besonderen Ausführungsform können dieselben einen oder mehreren Schwellenwerte jeder identifizierten Region zugewiesen werden. In anderen Ausführungsformen können verschiedene Schwellenwerte verschiedenen Regionen zugewiesen werden. Die regionsspezifischen Fehlerschwellenwerte, die den identifizierten Regionen zugewiesen werden, können höher sein als der eine oder die mehreren Schwellenwerte der einheitlichen Schwellenwertmenge, um Fehlersignale aus diesen Regionen zu unterdrücken. In besonderen Ausführungsformen können Fehlersignale für die verbleibenden Regionen des Plättchens, die nicht durch die identifizierten Regionen abgedeckt werden, der einheitlichen Schwellenwertmenge 504 zugewiesen werden. In anderen Ausführungsformen können ein oder mehrere der regionsspezifischen Schwellenwerte unter dem einheitlichen Schwellenwert 504 abgesenkt werden (wenn z. B. weniger dominante Cluster als erwartet während der ersten Iteration identifiziert wurden).
  • 9 zeigt Regionsclusterbildung eines Abschnitts 900 eines Halbleiterchips gemäß bestimmten Ausführungsformen. In diesem Beispiel werden zwei verschiedene Regionen 902 und 904 dargestellt. Die erste Region 902 enthält mehrere Instanzen eines ersten Musters und die zweite Region 904 enthält mehrere Instanzen eines zweiten Musters. Als ein Beispiel kann die zweite Region eine Region des Plättchens sein, das Muster eines Regionsclusters enthält, und die erste Region kann eine Region des Plättchens sein, das keine Muster eines Regionsclusters enthält. Dementsprechend kann der zweiten Region ein höherer Fehlerschwellenwert (oder -schwellenwerte) zugewiesen werden, um das Fehlersignal aus dieser Region zu unterdrücken, so dass zusätzliche Defekte in anschließenden Iterationen des Ablaufs 500 gefunden werden können.
  • Erneut Bezug nehmend auf 5, wird der Ablauf wiederholt, nachdem die Schwellenwerte bei 520 zugewiesen werden. Die Signalerregungs- und -fehlerdetektion (unter Verwendung der Form variabler Schwellenwerte) wird jetzt verwendet, um ein beeinflusstes Fehlersignal zu erhalten, das die dominanten Fehlersignale, die in der ersten Iteration vorhanden waren, unterdrückt. Die Clusterbildungsoperationen, die an diesem modifizierten Fehlersignal durchgeführt werden, gestatten jetzt die Entdeckung der kritischen, aber nichtdominanten Muster.
  • In einigen Ausführungsformen können während jeder Iteration etwaige zusätzliche Regionen, für die festgestellt wurde, dass sie Designmuster eines neu gefundenen Regionsclusters aufweisen, einem oder mehreren Schwellenwerten zugewiesen werden, die geringfügig niedriger sind als die Schwellenwerte, die den neu identifizierten Regionsclustern der vorherigen Iteration zugewiesen wurden, um die Entdeckung von zusätzlichen Defekten zu erleichtern, die geringfügig höher sein können als derartige Schwellenwerte, aber nicht so dominant wie diese Regionscluster. In verschiedenen Ausführungsformen sind die Schwellenwerte, die besonderen Regionen zugewiesen werden, gleichbleibend, während der Ablauf fortgeführt wird. Zum Beispiel bleiben die Schwellenwerte, die den Regionen während der ersten Iteration zugewiesen werden, während zukünftiger Iterationen des Ablaufs weiterhin gültig, wie auch die Schwellenwerte, die Regionen während der zweiten Iteration zugewiesen werden, und so weiter. Der Ablauf kann fortgesetzt wiederholt werden, bis keine zusätzlichen Regionscluster gefunden werden.
  • In einigen Ausführungsformen können, nachdem der Ablauf beendet ist (oder zu jeder geeigneten Zeit während des Ablaufs), Informationen, die die gefundenen Defekte und die Orte der Defekte identifizieren, an jede geeignete Entität kommuniziert werden. Zum Beispiel können derartige Informationen einem Benutzer über eine elektronische Anzeige präsentiert werden, um die Analyse des Plättchens zu erleichtern. Als ein anderes Beispiel können derartige Informationen einem anderen Analysewerkzeug wie ein Berechnungssystem, das ein SEM oder ein anderes Bildgebungswerkzeug nutzt, bereitgestellt werden, um die gefundenen Defekte unter Verwendung des optischen Mikroskops weiter zu untersuchen.
  • 7 zeigt ein Berechnungssystem 700 gemäß bestimmten Ausführungsformen. Alle geeigneten Komponenten des Systems 700 können verwendet werden, um beliebige der hierin beschriebenen Funktionen, z. B. in Verbindung mit den 5 oder 8, durchzuführen. In einer besonderen Ausführungsform können die Komponenten des Berechnungssystems 600 unter Verwendung von Komponenten des Berechnungssystems 700 implementiert werden. In einigen Ausführungsformen kann das Extraktionssystem 430 oder ein Berechnungssystem, das durch einen Benutzer 440 zum Kommunizieren mit dem Extraktionssystem 430 verwendet wird, eine oder mehrere Komponenten des Systems 700 implementieren. Das System 700 enthält eine Berechnungsvorrichtung 701, umfassend eine Zentralverarbeitungseinheit (CPU) 702, die an eine Steuerung 704 für externe Ein-/Ausgabe (I/O) gekoppelt ist, eine Speichervorrichtung 706 (die in einigen Ausführungsformen mindestens einen Abschnitt der Siliciumdaten 420 und/oder der Datenbank 604 speichern kann) und einen Systemspeicher 707. Obwohl verschiedene Komponenten dargestellt werden, kann das Berechnungssystem 700 zusätzliche andere Komponenten oder mehrere der dargestellten Komponenten enthalten.
  • Während des Betriebs können Daten zwischen der Speichervorrichtung 706 oder dem Systemspeicher 707 und der CPU 702 übertragen werden. In verschiedenen Ausführungsformen können besondere Datenoperationen (z. B. Lösch-, Programmierungs- und Leseoperationen), die eine Speichervorrichtung 706 oder einen Systemspeicher 707 einbeziehen, durch ein Betriebssystem oder andere Softwareanwendung, die durch den Prozessor 708 ausgeführt wird, verwaltet werden.
  • Die CPU 702 umfasst einen Prozessor 708 wie einen Mikroprozessor, einen eingebetteten Prozessor, einen Digitalsignalprozessor (DSP), einen Netzwerkprozessor, einen in der Hand gehaltenen Prozessor, einen Anwendungsprozessor, einen Co-Prozessor, ein System auf einem Chip (SOC) oder eine andere Vorrichtung zum Ausführen von Code (d. h. Softwareanweisungen). Der Prozessor 708 enthält in der dargestellten Ausführungsform zwei Verarbeitungselemente (Kerne 714A und 714B in der dargestellten Ausführungsform), die asymmetrische Verarbeitungselemente oder symmetrische Verarbeitungselemente enthalten können. Ein Prozessor kann jedoch eine beliebige Anzahl von Verarbeitungselementen, die symmetrisch oder asymmetrisch sein können, enthalten.
  • In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik zum Unterstützen eines Softwarethreads. Beispiele von Hardware-Verarbeitungselementen enthalten: eine Threadeinheit, ein Threadschlitz, ein Thread, eine Verarbeitungseinheit, ein Kontext, eine Kontexteinheit, ein Logikprozessor, ein Hardwarethread, ein Kern und/oder ein beliebiges anderes Element, das imstande ist, einen Zustand für einen Prozessor wie einen Ausführungszustand oder einen Architekturzustand zu halten. Anders ausgedrückt, bezieht sich ein Verarbeitungselement in einer Ausführungsform auf eine beliebige Hardware, die imstande ist, unabhängig mit Code wie ein Softwarethread, ein Betriebssystem oder ein anderer Code assoziiert zu werden. Ein physikalischer Prozessor (oder Prozessorsocket) bezieht sich typischerweise auf eine integrierte Schaltung, die möglicherweise eine beliebige Anzahl von anderen Verarbeitungselementen wie Kerne oder Hardwarethreads enthält.
  • Ein Kern 714 kann sich auf Logik beziehen, die auf einer integrierten Schaltung angeordnet ist, die imstande ist, einen unabhängigen Architekturzustand zu halten, wobei jeder unabhängig gehaltene Architekturzustand mit mindestens einigen dedizierten Ausführungsbetriebsmitteln assoziiert ist. Ein Hardwarethread kann sich auf eine beliebige Logik beziehen, die auf einer integrierten Schaltung angeordnet ist, die imstande ist, einen unabhängigen Architekturzustand zu halten, wobei die unabhängig gehaltenen Architekturzustände sich den Zugang zu Ausführungsbetriebsmitteln teilen. Wie ersichtlich ist, überlappt sich die Linie zwischen der Bezeichnung eines Hardwarethreads und eines Kerns, wenn bestimmte Betriebsmittel geteilt werden und andere für einen Architekturzustand dediziert sind. Häufig werden ein Kern und ein Hardwarethread durch ein Betriebssystem jedoch als individuelle Logikprozessoren angesehen, wenn das Betriebssystem imstande ist, Operationen in jedem Logikprozessor individuell zu planen.
  • In verschiedenen Ausführungsformen können die Verarbeitungselemente außerdem eine oder mehrere arithmetische Logikeinheiten (ALUs), Fließkommaeinheiten (FPUs), Zwischenspeicher, Anweisungspipelines, Interrupthandhabung-Hardware, Register oder andere Hardware enthalten, um die Operationen der Verarbeitungselemente zu vereinfachen.
  • Die E/A-Steuerung 710 ist eine integrierte E/A-Steuerung. Die E/A-Steuerung 710 kann Logik zum Kommunizieren von Daten zwischen der CPU 702 und E/A-Vorrichtungen enthalten, die sich auf alle geeigneten Vorrichtungen beziehen kann, die imstande sind, Daten an ein elektronisches System wie die CPU 702 zu übertragen und/oder von dort zu empfangen. Zum Beispiel kann eine E/A-Vorrichtung eine Steuerung einer Audio/Video- bzw. A/V-Vorrichtung wie ein Grafikbeschleuniger oder eine Audiosteuerung; eine Steuerung einer Datenspeichervorrichtung wie eine Steuerung einer Flash-Speichervorrichtung, magnetischen Speicherplatte oder optischen Speicherplatte; einen drahtlosen Sender/Empfänger; einen Netzwerkprozessor; eine Netzwerkschnittstellensteuerung; oder eine Steuerung für andere Eingabevorrichtungen wie ein Monitor, ein Drucker, eine Maus, eine Tastatur oder einen Scanner; oder eine andere geeignete Vorrichtung umfassen. In einer besonderen Ausführungsform kann eine E/A-Vorrichtung eine Speichervorrichtung 706 umfassen, die durch die E/A-Steuerung 710 an die CPU 702 gekoppelt sein kann.
  • Eine E/A-Vorrichtung kann unter Verwendung eines geeigneten Signalisierungsprotokolls wie Verschaltung peripherer Komponenten (PCI), PCI Express (PCle), Universal Serial Bus (USB), Serial Attached SCSI (SAS), Serial ATA (SATA), Fibre Channel (FC), IEEE 802.3, IEEE 802.11 oder ein anderes gegenwärtiges oder zukünftiges Signalisierungsprotokoll mit der E/A-Steuerung 710 der CPU 702 kommunizieren. In besonderen Ausführungsformen können die E/A-Steuerung 710 oder die unterliegende E/A-Vorrichtung Daten und Befehle gemäß einer Logikvorrichtungsschnittstellenspezifikation wie Non-Volatile Memory Express (NVMe) (z. B. wie durch eine oder mehrere der unter www.nvmexpress.org/specifications/ verfügbaren Spezifikationen beschrieben) oder Advanced Host Controller Interface (AHCI) (z. B. wie durch eine oder mehrere AHCI-Spezifikationen wie Serial ATA AHCI: Specification, Rev. 1.3.1, verfügbar unter http://www.intel.com/content/www/us/en/io/serial-ata/serial-ata-ahci-spec-rev1-3-1.html, beschrieben) kommunizieren. In verschiedenen Ausführungsformen können E/A-Vorrichtungen, die an die E/A-Steuerung gekoppelt sind, sich außerhalb des Chips befinden (z. B. nicht auf dem demselben Chip wie die CPU 702) oder können auf demselben Chip wie die CPU 702 integriert sein.
  • Die CPU-Speichersteuerung 712 ist eine integrierte Speichersteuerung. In verschiedenen Ausführungsformen kann die CPU-Speichersteuerung 712 ein oder mehrere Charakteristika der Speichersteuerung 110 enthalten. Die CPU-Speichersteuerung kann Logik zum Steuern des Datenflusses, die zu und von einem oder mehreren Systemspeichern 707 verläuft, enthalten. Die CPU-Speichersteuerung 712 kann Logik enthalten, die funktionsfähig ist, aus einem Systemspeicher 707 zu lesen, in einen Systemspeicher 707 zu schreiben oder andere Operationen von einem Systemspeicher 707 abzurufen. In verschiedenen Ausführungsformen kann die CPU-Speichersteuerung 712 Schreibanforderungen von Kernen 714 und/oder der E/A-Steuerung 710 empfangen und kann einem Systemspeicher 707 Daten, die in diesen Anforderungen spezifiziert werden, für Speicherung darin bereitstellen. Die CPU-Speichersteuerung 712 kann außerdem Daten aus einem Systemspeicher 707 lesen und die gelesenen Daten der E/A-Steuerung 710 oder einem Kern 714 bereitstellen. Während des Betriebs kann die CPU-Speichersteuerung 712 Befehle ausgeben, die eine oder mehrere Adressen des Systemspeichers 707 enthalten, um Daten aus dem Speicher zu lesen oder in diesen zu schreiben (oder andere Operationen durchzuführen). In einigen Ausführungsformen kann die CPU-Speichersteuerung 712 auf demselben Chip wie die CPU 702 implementiert sein, während in anderen Ausführungsformen die CPU-Speichersteuerung 712 auf einem anderen Chip als die CPU 702 implementiert sein kann. Die E/A-Steuerung 710 kann ähnliche Operationen in Bezug auf eine oder mehrere Speichervorrichtungen 706 durchführen.
  • Die CPU 702 kann außerdem durch eine externe E/A-Steuerung 704 an eine oder mehrere andere E/A-Vorrichtungen gekoppelt sein. In einer besonderen Ausführungsform kann die externe E/A-Steuerung 704 eine Speichervorrichtung 706 an die CPU 702 koppeln. Die externe E/A-Steuerung 704 kann Logik zum Verwalten des Datenflusses zwischen einer oder mehreren CPUs 702 und E/A-Vorrichtungen enthalten. In besonderen Ausführungsformen ist die externe E/A-Steuerung 704 auf einer Hauptplatine zusammen mit der CPU 702 angeordnet. Die externe E/A-Steuerung 704 kann Informationen mit Komponenten der CPU 702 unter Verwendung von Punkt-zu-Punkt- oder anderen Schnittstellen austauschen. In verschiedenen Ausführungsformen kann die externe E/A-Steuerung 704 beliebige eine oder mehrere Charakteristika der Speichersteuerung 110 enthalten.
  • Ein Systemspeicher 707 kann beliebige geeignete Daten speichern wie Daten, die durch den Prozessor 708 verwendet werden, die Funktionalität des Computersystems 700 bereitzustellen. Zum Beispiel können Daten, die mit Programmen assoziiert sind, die ausgeführt werden, oder Dateien, auf die durch die Kerne 714 zugegriffen wird, im Systemspeicher 707 gespeichert sein. Demgemäß kann ein Systemspeicher 707 einen Systemspeicher enthalten, der Daten und/oder Abfolgen von Anweisungen speichert, die durch die Kerne 714 ausgeführt oder auf eine andere Weise verwendet werden. In verschiedenen Ausführungsformen kann ein Systemspeicher 707 dauerhafte Daten speichern (z. B. Dateien oder Anweisungsfolgen eines Benutzers), die gespeichert bleiben, auch nachdem die Leistung zum Systemspeicher 707 entfernt wird. Ein Systemspeicher 707 kann für eine besondere CPU 702 dezidiert sein oder mit anderen Vorrichtungen (z. B. ein oder mehrere Prozessoren oder andere Vorrichtungen) des Computersystems 700 geteilt werden.
  • In verschiedenen Ausführungsformen kann ein Systemspeicher 707 einen Speicher enthalten, der eine beliebige Anzahl von Speicheranordnungen, eine Speichervorrichtungssteuerung (in verschiedenen Ausführungsformen kann die Speichervorrichtungssteuerung ein oder mehrere Charakteristika der Speichersteuerung 110 enthalten) oder andere unterstützende Logik (nicht dargestellt) enthält. Eine Speicheranordnung kann nichtflüchtigen Speicher und/oder flüchtigen Speicher enthalten. Nichtflüchtiger Speicher ist ein Speichermedium, das keine Leistung erfordert, um den Zustand der durch das Medium gespeicherten Daten beizubehalten. Nicht einschränkende Beispiele von nichtflüchtigem Speicher können beliebige oder eine Kombination von Folgendem enthalten: Festkörperspeicher (wie planarer oder 3D-NAND-Flash-Speicher oder NOR-Flash-Speicher), 3D-Crosspoint-Speicher, Speichervorrichtungen, die Chalcogenid-Phasenwechselmaterial (z. B. Chalcogenid-Glas) verwenden, byteadressierbare nichtflüchtige Speichervorrichtungen, ferroelektrischer Speicher, Siliciumoxid-Nitridoxid-Silicium- bzw. SONOS-Speicher, Polymerspeicher (z. B. ferroelektrischer Polymerspeicher), ferroelektrischer Transistor-Direktzugriffspeicher bzw. Fe-TRAM-Ovonic-Speicher, Nanodraht-Speicher, elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), andere verschiedene Typen von nichtflüchtigen Direktzugriffspeichern (RAMs) und Speicher für magnetische Speicherung. In einigen Ausführungsformen kann 3D-Crosspoint-Speicher eine stapelbare Crosspoint-Architektur ohne Transistoren umfassen, in der sich Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen befinden und einzeln adressierbar sind und die Bitspeicherung auf einer Veränderung des Volumenwiderstands basiert. Flüchtiger Speicher ist ein Speichermedium, das Leistung erfordert, um den Zustand der durch das Medium gespeicherten Daten beizubehalten. Beispiele von flüchtigem Speicher können verschiedene Typen von Direktzugriffspeicher (RAM) wie dynamischer Direktzugriffspeicher (DRAM) oder statischer Direktzugriffspeicher (SRAM) enthalten. Ein besonderer Typ von DRAM, der in einer Speicheranordnung verwendet werden kann, ist synchroner dynamischer Direktzugriffspeicher (SDRAM). In einigen Ausführungsformen kann der Speicherabschnitt 707, der flüchtiger Speicher ist, den JEDEC-Standards einschließlich den Douple Data Rate-Standards (DDR), z. B. DDR3, 4 und 5, oder Low Power DDR4 (LPDDR4) sowie entstehenden Standards entsprechen.
  • Eine Speichervorrichtung 706 kann beliebige geeignete Daten speichern wie Daten, die durch den Prozessor 708 verwendet werden, um die Funktionalität des Computersystems 700 bereitzustellen. Zum Beispiel können Daten, die mit Programmen assoziiert sind, die ausgeführt werden, oder Dateien, auf die durch die Kerne 714A und 714B zugegriffen wird, in der Speichervorrichtung 706 gespeichert werden. Demgemäß kann in einigen Ausführungsformen eine Speichervorrichtung 706 Daten und/oder Abfolgen von Anweisungen speichern, die durch die Kerne 714A und 714B ausgeführt oder auf andere Weise verwendet werden. In verschiedenen Ausführungsformen kann eine Speichervorrichtung 706 dauerhafte Daten (z. B. Dateien oder Software-Anwendungscode eines Benutzers) speichern, die gespeichert bleiben, auch nachdem die Leistung zur Speichervorrichtung 706 entfernt wird. Eine Speichervorrichtung 706 kann für die CPU 702 dediziert sein oder mit anderen Vorrichtungen (z. B. eine andere CPU oder andere Vorrichtung) des Computersystems 700 geteilt werden.
  • In verschiedenen Ausführungsformen enthält die Speichervorrichtung 706 eine Speichervorrichtungssteuerung und ein oder mehrere Speichermodule. In verschiedenen Ausführungsformen umfasst ein Speichermodul der Speichervorrichtung 706 eine oder mehrere NAND-Flash-Speicheranordnungen, ein oder mehrere Festplattenlaufwerke oder andere geeignete Speichervorrichtungen. Die Speichervorrichtung 706 kann einen beliebigen geeigneten Speichertyp umfassen und ist nicht auf eine besondere Geschwindigkeit, Technologie oder einen Speicherformfaktor in verschiedenen Ausführungsformen beschränkt. Zum Beispiel kann eine Speichervorrichtung 706 ein Plattenlaufwerk (wie ein Festkörperlaufwerk), ein Flash-Laufwerk, mit einer Berechnungsvorrichtung integrierter Speicher (z. B. auf einer Schaltungskarte der Berechnungsvorrichtung integrierter Speicher), ein Speichermodul (z. B. ein Dual-Inline-Speichermodul), das in eine Speicherfassung eingesteckt ist, oder ein anderer Typ von Speichervorrichtung sein. Überdies kann das Computersystem 700 mehrere verschiedene Typen von Speichervorrichtungen enthalten. Die Speichervorrichtung 706 kann jede geeignete Schnittstelle enthalten, um mit der CPU-Speichersteuerung 712 oder der E/A-Steuerung 710 unter Verwendung eines geeigneten Kommunikationsprotokolls wie ein DDR-basiertes Protokoll, PCI, PCle, USB, SAS, SATA, FC, System Management Bus (SMBus) oder ein anderes geeignetes Protokoll zu kommunizieren. Eine Speichervorrichtung 706 kann außerdem eine Kommunikationsschnittstelle enthalten, um mit der CPU-Speichersteuerung 712 oder der E/A-Steuerung 710 gemäß einer geeigneten Schnittstellenspezifikation für Logikvorrichtungen wie NVMe, AHCI oder einer anderen geeigneten Spezifikation zu kommunizieren. In besonderen Ausführungsformen kann die Speichervorrichtung 706 mehrere Kommunikationsschnittstellen umfassen, die jeweils unter Verwendung eines separaten Protokolls mit der CPU-Speichersteuerung 712 und/oder der E/A-Steuerung 710 kommunizieren.
  • In einigen Ausführungsformen residieren sämtliche oder einige der Elemente des Systems 700 auf derselben Schaltungsplatte (z. B. eine Hauptplatine) (oder sind daran gekoppelt). In verschiedenen Ausführungsformen können beliebige geeignete Partitionierungen zwischen den Elementen bestehen. Zum Beispiel können die in der CPU 702 dargestellten Elemente auf einem einzelnen Plättchen (d. h. auf dem Chip) oder einer Baugruppe angeordnet sein oder beliebige der Elemente der CPU 702 können außerhalb des Chips oder außerhalb der Baugruppe angeordnet sein. Gleichermaßen können die in der Speichervorrichtung 706 dargestellten Elemente auf einem einzelnen Chip oder auf mehreren Chips angeordnet sein. In verschiedenen Ausführungsformen können eine Speichervorrichtung 706 und eine Berechnungsvorrichtung (z. B. die CPU 702) auf derselben Schaltungsplatte oder auf derselben Vorrichtung angeordnet sein und in anderen Ausführungsformen können die Speichervorrichtung 706 und die Berechnungsvorrichtung auf verschiedenen Schaltungsplatten oder Vorrichtungen angeordnet sein.
  • Die Komponenten des Systems 700 können auf jede geeignete Weise aneinandergekoppelt sein. Zum Beispiel kann ein Bus beliebige der Komponenten aneinanderkoppeln. Ein Bus kann beliebige bekannte Verschaltungen enthalten wie ein Mehrpunkt-Bus, eine Maschenverschaltung, eine Ringverschaltung, eine Punkt-zu-Punkt-Verschaltung, eine Reihenverschaltung, eine Parallelverschaltung, ein kohärenter (z. B. zwischenspeicherkohärenter) Bus, eine Architektur mit schichtweisem Protokoll, ein Differenzial-Bus und ein Gunning-Sender/Empfänger-Logik- bzw. GTL-Bus. In verschiedenen Ausführungsformen enthält ein integriertes E/A-Teilsystem Punkt-zu-Punkt-Multiplexinglogik zwischen verschiedenen Komponenten des Systems 700 wie Kerne 714, einen oder mehrere CPU-Speichersteuerungen 712, eine E/A-Steuerung 710, integrierte E/A-Vorrichtungen, Direktspeicherzugriff- bzw. DMA-Logik (nicht dargestellt) usw. In verschiedenen Ausführungsformen können Komponenten des Computersystems 700 durch ein oder mehrere Netzwerke, umfassend eine beliebige Anzahl von zwischenliegenden Netzwerkknoten wie Router, Switches oder andere Berechnungsvorrichtungen, aneinandergekoppelt sein. Zum Beispiel können eine Berechnungsvorrichtung (z. B. CPU 702) und die Speichervorrichtung 706 durch ein Netzwerk kommunikativ gekoppelt sein.
  • Obwohl nicht dargestellt, kann das System 700 eine Batterie und/oder einen Leistungsversorgungsauslass-Steckverbinder und ein assoziiertes System verwenden, um Leistung zu empfangen, eine Anzeige zum Ausgeben von durch die CPU 702 bereitgestellten Daten oder eine Netzwerkschnittstelle, die es der CPU 702 gestattet, über ein Netzwerk zu kommunizieren, verwenden. In verschiedenen Ausführungsformen können die Batterie, der Leistungsversorgungsauslass-Steckverbinder, die Anzeige und/oder die Netzwerkschnittstelle kommunikativ an die CPU 702 gekoppelt sein. Andere Leistungsquellen wie erneuerbare Energie (z. B. Solarleistung oder bewegungsbasierte Leistung) können verwendet werden.
  • 8 zeigt einen Ablauf zum Identifizieren nichtdominanter Cluster gemäß bestimmten Ausführungsformen. Der Ablauf kann durch jedes geeignete Berechnungssystem wie die hierin beschriebenen durchgeführt werden.
  • 802 umfasst, einen binären Klassifizierungswert für jede der Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird, zu bestimmen. 804 umfasst, mindestens ein Clusterbildungsmodell auf eine erste Teilmenge der Vielzahl von Dateninstanzen anzuwenden, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren. 806 umfasst, einen zweiten Schwellenwert zu bestimmen, um ihn einer zweiten Vielzahl von Dateninstanzen zuzuweisen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind. 808 umfasst, einen binären Klassifizierungswert für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert neu zu bestimmen, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  • Obwohl die vorliegende Offenbarung verschiedene Ausführungsformen beschreibt, die im Kontext der Halbleiterherstellung nützlich sind, können die Ausführungsformen in anderen Kontexten für beliebige geeignete Objekte oder Messungen verwendet werden. Zum Beispiel können die hierin beschriebenen Verfahren angepasst werden, um versteckte sinnvolle Cluster in gekennzeichneten Daten (z. B. Daten, die mit einer binären Klassifizierung markiert wurden) zu identifizieren. Zum Beispiel kann Clusterbildung von Worten durchgeführt werden, um eine Sammlung von Texten zu klassifizieren, und bestimmte Wörter, die als dominant erkannt werden, können in künftigen Clusterbildungsvorgängen unterdrückt werden, um Clusterbildung von anderen Schlüsselwörtern, die zum Klassifizieren der Texte verwendet werden, zu berücksichtigen. In einigen Ausführungsformen kann eine binäre Klassifizierung von Texten (z. B. als fiktional oder nicht fiktional) vorliegen, gefolgt von einer Klassifizierung der Texte in bestimmte Typen von Gattungen basierend auf der Clusterbildung von Schlüsselwörtern (und diese spätere Klassifizierung kann iterativ sein, wobei bestimmte Schlüsselwörter während späterer Iterationen unterdrückt werden).
  • Ein Design kann verschiedene Stufen durchlaufen, von Erstellung bis Simulation bis Herstellung. Daten, die ein Design repräsentieren, können das Design auf mehrere Weisen repräsentieren. Erstens kann, was in Simulationen nützlich ist, die Hardware unter Verwendung einer Hardware-Beschreibungssprache (HDL) oder einer anderen funktionellen Beschreibungssprache repräsentiert werden. Zusätzlich kann ein Modell auf Schaltungsebene mit Logik- und/oder Transistorgates auf einer Stufe des Designprozesses hergestellt werden. Des Weiteren erreichen die meisten Designs auf einer Stufe eine Ebene von Daten, die die physikalische Anordnung von verschiedenen Bauelementen in dem Hardware-Modell repräsentieren. Im Fall, dass konventionelle Halbleiterherstellungstechniken verwendet werden, können die Daten, die das Hardware-Modell repräsentieren, die Daten sein, die das Vorhandensein oder Nichtvorhandensein von verschiedenen Merkmalen auf verschiedenen Maskenschichten für Masken, die zum Herstellen der integrierten Schaltung verwendet werden, spezifizieren. In einigen Implementierungen können derartige Daten in einem Datenbank-Dateiformat wie Graphic Data System II (GDS II), Open Artwork System Interchange Standard (OASIS) oder ein ähnliches Format gespeichert werden.
  • In einigen Implementierungen können softwarebasierte Hardware-Modelle und HDL- und Objekte anderer funktioneller Beschreibungssprachen Register Transfer Language- bzw. RTL-Dateien unter anderen Beispielen enthalten. Derartige Objekte können derart maschinenzergliederbar sein, dass ein Designwerkzeug das HDL-Objekt (oder -Modell) annehmen, das HDL-Objekt auf Attribute der beschriebenen Hardware zergliedern und eine physikalische Schaltung und/oder ein On-Chip-Layout aus dem Objekt bestimmen kann. Die Ausgabe des Designwerkzeugs kann verwendet werden, das physikalische Bauelement herzustellen. Zum Beispiel kann ein Designwerkzeug Konfigurationen von verschiedenen Hardware- und/oder Firmware-Elementen aus dem Objekt wie Busbreiten, Register (einschließlich Größen und Typen), Speicherblöcke, physikalische Verknüpfungswege, Gefügetopologien unter anderen Attributen, die implementiert werden würden, um das in dem HDL-Objekt modellierte System zu realisieren, bestimmen. Designwerkzeuge können Werkzeuge zum Bestimmen der Topologie und Gefügekonfigurationen eines Systems auf Chip (SoC) oder anderer Hardwarebauelemente enthalten. In einigen Fällen kann das HDL-Objekt als die Grundlage zum Entwickeln von Modellen und Designdateien verwendet werden, die durch Herstellungsausrüstung zum Herstellen der beschriebenen Hardware verwendet werden können. In der Tat kann ein HDL-Objekt selbst einer Herstellungssystem-Software als eine Eingabe bereitgestellt werden, um die beschriebene Hardware zu realisieren.
  • In jeder Repräsentation des Designs können die Daten in einer beliebigen Form eines maschinenlesbaren Mediums gespeichert werden. Ein Speicher oder eine magnetische oder optische Speichervorrichtung wie eine Platte kann das maschinenlesbare Medium zum Speichern von Informationen sein, die über optische oder elektrische Wellen übertragen werden, die moduliert oder auf andere Weise erzeugt werden, um derartige Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder das Design angibt oder trägt, übertragen wird, wird in dem Maß, dass Kopieren, Zwischenspeichern oder Neuübertragung durchgeführt wird, ein neues Exemplar erstellt. Demgemäß kann ein Kommunikationsanbieter oder ein Netzwerkanbieter einen Artikel wie Informationen, die in eine Trägerwelle codiert sind, die Techniken von Ausführungsformen der vorliegenden Offenbarung verkörpern, in einem materiellen, maschinenlesbaren Medium zumindest vorübergehend speichern.
  • In verschiedenen Ausführungsformen kann ein Medium, das eine Repräsentation des Designs speichert, einem Herstellungssystem (z. B. ein Halbleiterherstellungssystem, das imstande ist, eine integrierte Schaltung und/oder zugehörige Komponenten herzustellen) bereitgestellt werden. Die Designrepräsentation kann das System anweisen, ein Bauelement herzustellen, das imstande ist, eine beliebige Kombination der vorstehend beschriebenen Funktionen herzustellen. Zum Beispiel kann die Designrepräsentation das System dahingehend anweisen, welche Komponenten herzustellen sind, wie die Komponenten aneinandergekoppelt werden sollten, wo die Komponenten auf dem Bauelement angeordnet werden sollten, und/oder bezüglich anderer geeigneter Spezifikationen bezüglich des Bauelements, das herzustellen ist.
  • Ein Modul, wie hierin verwendet, bezieht sich auf Schaltungen und eine beliebige Kombination von Hardware, Software und/oder Firmware. Als ein Beispiel enthält ein Modul Hardware (die Schaltungen umfasst) wie eine Mikrosteuerung, assoziiert mit einem nicht vergänglichen Medium zum Speichern von Code, der angepasst ist, durch die Mikrosteuerung ausgeführt zu werden. Daher bezieht sich ein Verweis auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch konfiguriert ist, den Code, der auf einem nicht vergänglichen Medium zu halten ist, zu erkennen und/oder auszuführen. Des Weiteren bezieht sich die Verwendung eines Moduls in einer anderen Ausführungsform auf das nicht vergängliche Medium, das den Code enthält, der spezifisch angepasst ist, durch die Mikrosteuerung ausgeführt zu werden, um im Voraus bestimmte Operationen durchzuführen. Und wie gefolgert werden kann, kann der Begriff Modul (in diesem Beispiel) sich in noch einer anderen Ausführungsform auf die Kombination der Mikrosteuerung und des nicht vergänglichen Mediums beziehen. Die Begrenzungen von Modulen, die gewöhnlich als getrennt dargestellt werden, variieren häufig und überlappen sich möglicherweise. Zum Beispiel können ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon gemeinsam nutzen, während sie möglicherweise eine gewisse unabhängige Hardware, Software oder Firmware halten. In einer Ausführungsform enthält die Verwendung des Begriffs Logik Hardware wie Transistoren, Register oder andere Hardware wie programmierbare Logikvorrichtungen.
  • Logik kann verwendet werden, beliebige der beschriebenen Abläufe oder der Funktionalität der verschiedenen Komponenten wie das Berechnungssystem 600, die CPU 702, die externe E/A-Steuerung 704, der Prozessor 708, die Kerne 714A und 714B, die E/A-Steuerung 710, die CPU-Speichersteuerung 712, die Speichervorrichtung 706, der Systemspeicher 707, Teilkomponenten davon oder andere hierin beschriebene Entitäten oder Komponenten zu implementieren. „Logik“ kann sich auf Hardware, Firmware, Software und/oder Kombinationen von jedem zum Durchführen einer oder mehrerer Funktionen beziehen. In verschiedenen Ausführungsformen kann Logik einen Mikroprozessor oder ein anderes Verarbeitungselement, der/das funktionsfähig ist, Software-Anweisungen auszuführen, diskrete Logik wie eine anwendungsspezifisch integrierte Schaltung (ASIC), eine programmierte Logikvorrichtung wie eine feldprogrammierbare Gatteranordnung (FPGA), eine Speichervorrichtung, die Anweisungen enthält, Kombinationen von Logikvorrichtungen (wie sie z. B. auf einer gedruckten Leiterplatte gefunden werden) oder andere geeignete Hardware und/oder Software enthalten. Logik kann ein oder mehrere Gatter oder andere Schaltungskomponenten enthalten. In einigen Ausführungsformen kann Logik außerdem vollständig als Software verkörpert sein. Software kann als ein Softwarepaket, Code, Anweisungen, Anweisungsmengen und/oder Daten, aufgezeichnet auf einem nicht vergänglichen, computerlesbaren Speichermedium, verkörpert sein. Firmware kann als Code, Anweisungen oder Anweisungsmengen und/oder Daten, die in Speichervorrichtungen fest codiert (z. B. nichtflüchtig) sind, verkörpert sein.
  • Die Verwendung der Phrase „zu“ oder „konfiguriert zu“ in einer Ausführungsform bezieht sich auf Anordnen, Zusammensetzen, Herstellen, Anbieten zum Verkauf, Importieren und/oder Designen einer Vorrichtung, einer Hardware, einer Logik oder eines Elements zum Durchführen einer vorgegebenen oder bestimmten Aufgabe. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, die/das nicht in Betrieb ist, trotzdem „konfiguriert zum“ Durchführen einer vorgegebenen Aufgabe, wenn sie/es zum Durchführen der vorgegebenen Aufgabe konstruiert, gekoppelt und/oder verschaltet ist. Als ein rein veranschaulichendes Beispiel kann ein Logikgatter eine 0 oder eine 1 während des Betriebs bereitstellen. Aber ein Logikgatter, das „konfiguriert ist zum“ Bereitstellen eines Aktivierungssignals einer Uhr, enthält nicht jedes mögliche Logikgatter, das eine 1 oder 0 bereitstellen kann. Stattdessen ist das Logikgatter eines, das in einer Weise gekoppelt ist, dass während des Betriebs die 1 oder 0 ausgegeben wird, um die Uhr zu aktivieren. Es ist erneut zu beachten, dass die Verwendung des Begriffs „konfiguriert zum“ keinen Betrieb erfordert, sondern stattdessen auf den latenten Zustand einer Vorrichtung, einer Hardware und/oder eines Elements fokussiert, wobei die Vorrichtung, die Hardware und/oder das Element in dem latenten Zustand konstruiert ist, eine besondere Aufgabe durchzuführen, wenn die Vorrichtung, die Hardware und/oder das Element in Betrieb ist.
  • Des Weiteren bezieht sich die Verwendung der Phrasen „imstande zu“ und oder „funktionsfähig zu“ in einer Ausführungsform auf eine Vorrichtung, eine Logik, eine Hardware und/oder ein Element, die/das konstruiert ist, um die Verwendung der Vorrichtung, der Logik, der Hardware und/oder des Elements in einer spezifizierten Weise zu ermöglichen. Wie vorstehend ist zu beachten, dass Verwendung von zu, imstande zu oder funktionsfähig zu in einer Ausführungsform sich auf den latenten Zustand einer Vorrichtung, einer Logik, einer Hardware und/oder eines Elements bezieht, wobei die Vorrichtung, die Logik, die Hardware und/oder das Element nicht im Betrieb ist, aber in einer derartigen Weise konstruiert ist, um die Verwendung einer Vorrichtung in einer spezifizierten Weise zu ermöglichen.
  • Ein Wert, wie hierin verwendet, enthält jede bekannte Repräsentation einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Häufig wird auf die Verwendung von logischen Ebenen, Logikwerten oder logischen Werten auch als 1 und 0 Bezug genommen, die einfach binäre Logikzustände repräsentieren. Zum Beispiel bezieht sich eine 1 auf eine hohe Logikebene und eine 0 bezieht sich auf eine niedrige Logikebene. In einer Ausführungsform kann eine Speicherzelle wie ein Transistor oder eine Flash-Zelle imstande sein, einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Es wurden jedoch andere Repräsentationen von Werten in Computersystemen verwendet. Zum Beispiel kann die Dezimalzahl zehn auch als ein binärer Wert von 1010 und ein Hexadezimalbuchstabe A repräsentiert werden. Daher enthält ein Wert jede Repräsentation von Informationen, die in einem Computersystem gehalten werden können.
  • Des Weiteren können Zustände durch Werte oder Abschnitte von Werten repräsentiert werden. Als ein Beispiel kann ein erster Wert wie eine logische eins einen Standard- oder Anfangszustand repräsentieren, während ein zweiter Wert wie eine logische null einen Nichtstandardzustand repräsentieren kann. Außerdem beziehen sich die Begriffe rücksetzen und setzen in einer Ausführungsform auf einen Standard- und einen aktualisierten Wert bzw. Zustand. Zum Beispiel enthält ein Standardwert möglicherweise einen hohen logischen Wert, d. h. rücksetzen, während ein aktualisierter Wert möglicherweise einen niedrigen logischen Wert enthält, d. h. setzen. Es ist zu beachten, dass jede Kombination von Werten genutzt werden kann, um eine beliebige Anzahl von Zuständen zu repräsentieren.
  • Die vorstehend angeführten Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über Anweisungen oder Code implementiert werden, die/der in einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind/ist, die/der durch ein Verarbeitungselement ausführbar sind/ist. Ein nicht vergängliches, maschinenzugängliches/-lesbares Medium enthält einen beliebigen Mechanismus, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), die durch eine Maschine wie ein Computer oder ein elektronisches System lesbar ist. Zum Beispiel enthält ein nicht vergängliches, maschinenzugängliches Medium einen Direktzugriffspeicher (RAM) wie statischer RAM (SRAM) oder dynamischer RAM (DRAM); einen ROM; ein magnetisches oder optisches Speichermedium; Flash-Speichervorrichtungen; elektrische Speichervorrichtungen; optische Speichervorrichtungen; akustische Speichervorrichtungen; andere Formen von Speichervorrichtungen zum Halten von Informationen, empfangen aus vergänglichen (fortgepflanzten) Signalen (z. B. Trägerwellen, Infrarotsignale, Digitalsignale); usw., die von den nicht vergänglichen Medien, die Informationen von dorther empfangen können, zu unterscheiden sind.
  • Anweisungen, die verwendet werden, Logik zu programmieren, um Ausführungsformen der Offenbarung durchzuführen, können in einem Speicher in dem System wie ein DRAM, ein Zwischenspeicher, ein Flash-Speicher oder ein anderer Speicher gespeichert werden. Des Weiteren können die Anweisungen über ein Netzwerk oder mittels eines anderen computerlesbaren Mediums verteilt werden. Demgemäß kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. ein Computer) lesbaren Form enthalten, ist aber nicht beschränkt auf Disketten, optische Platten, Kompaktplatten-Nur-Lese-Speicher (CD-ROMs) und magnetooptische Platten, Nur-Lese-Speicher (ROMs), Direktzugriffspeicher (RAM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM), elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), magnetische oder optische Karten, Flash-Speicher oder ein materieller maschinenlesbarer Speicher, der bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen fortgepflanzter Signale (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) verwendet wird. Dementsprechend enthält das computerlesbare Medium jeden Typ von materiellem maschinenlesbarem Medium, das zum Speichern oder Übertragen elektronischer Anweisungen oder Informationen in einer durch eine Maschine (z. B. ein Computer) lesbaren Form geeignet ist.
  • Die folgenden Beispiele betreffen Ausführungsformen gemäß dieser Patentschrift. Beispiel 1 ist mindestens ein maschinenlesbares Speichermedium mit darin gespeicherten Anweisungen, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine einen binären Klassifizierungswert für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird, bestimmt; mindestens ein Clusterbildungsmodell auf eine erste Teilmenge der Vielzahl von Dateninstanzen anwendet, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; einen zweiten Schwellenwert bestimmt, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und einen binären Klassifizierungswert für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert neu bestimmt, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  • Beispiel 2 kann den Gegenstand von Beispiel 1 enthalten, wobei die Vielzahl von Dateninstanzen Bilder sind und der erste Schwellenwert mit einer Bildpunktintensitätsdifferenz korrespondiert.
  • Beispiel 3 kann den Gegenstand eines der Beispiele 1-2 enthalten, wobei der erste Schwellenwert mit einer Polygonflächendifferenz korrespondiert.
  • Beispiel 4 kann den Gegenstand eines der Beispiele 1-3 enthalten, wobei die Vielzahl von Dateninstanzen Bildareale eines Bilds eines Halbleiterwafers, aufgenommen durch ein optisches Mikroskop, umfasst.
  • Beispiel 5 kann den Gegenstand eines der Beispiele 1-4 enthalten, wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz einen Defekt enthält.
  • Beispiel 6 kann den Gegenstand eines der Beispiele 1-5 enthalten, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken, dass die Maschine auf eine Designdatei zugreift, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und mindestens ein Clusterbildungsmodell auf die Merkmalsvektoren anwendet, um Regionscluster zu bestimmen.
  • Beispiel 7 kann den Gegenstand von Beispiel 6 enthalten, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine den zweiten Schwellenwert Dateninstanzen korrespondierend mit den bestimmten Regionsclustern zuweist.
  • Beispiel 8 kann den Gegenstand von Beispiel 7 enthalten, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine den ersten Schwellenwert allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren, zuweist.
  • Beispiel 9 kann den Gegenstand eines der Beispiele 1-8 enthalten, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  • Beispiel 10 kann den Gegenstand von Beispiel 1 enthalten, wobei die Vielzahl von Dateninstanzen eine Vielzahl von Textsammlungen umfasst und wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz nichtfiktional oder fiktional ist.
  • Beispiel 11 ist Verfahren, umfassend, einen binären Klassifizierungswert für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird, zu bestimmen; mindestens ein Clusterbildungsmodell auf eine erste Teilmenge der Vielzahl von Dateninstanzen anzuwenden, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; einen zweiten Schwellenwert zu bestimmen, der einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zugewiesen werden soll; und einen binären Klassifizierungswert für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert neu zu bestimmen, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  • Beispiel 12 kann den Gegenstand von Beispiel 11 enthalten, wobei die Vielzahl von Dateninstanzen Bilder sind und der erste Schwellenwert mit einer Bildpunktintensitätsdifferenz korrespondiert.
  • Beispiel 13 kann den Gegenstand eines der Beispiele 11-12 enthalten, wobei der erste Schwellenwert mit einer Polygonflächendifferenz korrespondiert.
  • Beispiel 14 kann den Gegenstand eines der Beispiele 11-13 enthalten, wobei die Vielzahl von Dateninstanzen Bildareale eines Bilds eines Halbleiterwafers, aufgenommen durch ein optisches Mikroskop, umfasst.
  • Beispiel 15 kann den Gegenstand eines der Beispiele 11-14 enthalten, wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz einen Defekt enthält.
  • Beispiel 16 kann den Gegenstand eines der Beispiele 11-15 enthalten, ferner umfassend, auf eine Designdatei zuzugreifen, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und mindestens ein Clusterbildungsmodell auf die Merkmalsvektoren anzuwenden, um Regionscluster zu bestimmen.
  • Beispiel 17 kann den Gegenstand von Beispiel 16 enthalten, umfassend, den zweiten Schwellenwert Dateninstanzen korrespondierend mit den bestimmten Regionsclustern zuzuweisen.
  • Beispiel 18 kann den Gegenstand von Beispiel 17 enthalten, den ersten Schwellenwert allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren, zuzuweisen.
  • Beispiel 19 kann den Gegenstand eines der Beispiele 11-18 enthalten, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  • Beispiel 20 kann den Gegenstand von Beispiel 11 enthalten, wobei die Vielzahl von Dateninstanzen eine Vielzahl von Textsammlungen umfasst und wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz nichtfiktional oder fiktional ist.
  • Beispiel 21 ist ein System, umfassend einen Speicher zum Speichern einer Vielzahl von Dateninstanzen; und einen an den Speicher gekoppelten Prozessor, der Prozessor zum Bestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Bestimmen eines zweiten Schwellenwerts, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  • Beispiel 22 kann den Gegenstand von Beispiel 21 enthalten, wobei die Vielzahl von Dateninstanzen Bilder sind und der erste Schwellenwert mit einer Bildpunktintensitätsdifferenz korrespondiert.
  • Beispiel 23 kann den Gegenstand eines der Beispiele 21-22 enthalten, wobei der erste Schwellenwert mit einer Polygonflächendifferenz korrespondiert.
  • Beispiel 24 kann den Gegenstand eines der Beispiele 21-23 enthalten, wobei die Vielzahl von Dateninstanzen Bildareale eines Bilds eines Halbleiterwafers, aufgenommen durch ein optisches Mikroskop, umfasst.
  • Beispiel 25 kann den Gegenstand eines der Beispiele 21-24 enthalten, wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz einen Defekt enthält.
  • Beispiel 26 kann den Gegenstand eines der Beispiele 21-25 enthalten, der Prozessor zum Zugreifen auf eine Designdatei, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und Anwenden mindestens eines Clusterbildungsmodells auf die Merkmalsvektoren, um Regionscluster zu bestimmen.
  • Beispiel 27 kann den Gegenstand von Beispiel 26 enthalten, der Prozessor zum Zuweisen des zweiten Schwellenwerts Dateninstanzen korrespondierend mit den bestimmten Regionsclustern.
  • Beispiel 28 kann den Gegenstand von Beispiel 27 enthalten, Prozessor zum Zuweisen des ersten Schwellenwerts allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren.
  • Beispiel 29 kann den Gegenstand eines der Beispiele 21-28 enthalten, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  • Beispiel 30 kann den Gegenstand von Beispiel 21 enthalten, wobei die Vielzahl von Dateninstanzen eine Vielzahl von Textsammlungen umfasst und wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz nichtfiktional oder fiktional ist.
  • Beispiel 31 kann den Gegenstand eines der Beispiele 21-30 enthalten, das System ferner umfassend ein optisches Mikroskop zum Erfassen der Vielzahl von Dateninstanzen.
  • Die Bezugnahme in dieser Patentschrift auf „eine Ausführungsform“ bedeutet, dass ein besonderes Merkmal, eine besondere Struktur oder ein besonderes Charakteristikum, das/die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Demgemäß verweist das Vorkommen der Phrasen „in einer Ausführungsform“ an verschiedenen Stellen in dieser Patentschrift nicht notwendigerweise auf dieselbe Ausführungsform. Des Weiteren können die besonderen Merkmale, Strukturen oder Charakteristika in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • In der vorstehenden Patentschrift wurde eine ausführliche Beschreibung mit Bezugnahme auf spezifische beispielhafte Ausführungsformen gegeben. Es wird jedoch offensichtlich sein, dass verschiedene Abwandlungen und Veränderungen daran vorgenommen werden können, ohne vom breiteren Wesen und Schutzumfang der Offenbarung, wie in den beigefügten Patentansprüchen angeführt, abzuweichen. Die Patentschrift und die Zeichnungen sind dementsprechend in einem veranschaulichenden Sinn und nicht in einem einschränkenden Sinn zu verstehen. Des Weiteren verweist die vorstehende Verwendung von Ausführungsformen und anderer beispielhafter Sprache nicht notwendigerweise auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann auf verschiedene und unterschiedliche Ausführungsformen sowie möglicherweise auf dieselbe Ausführungsform verweisen.

Claims (25)

  1. Mindestens ein maschinenlesbares Speichermedium mit darin gespeicherten Anweisungen, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine Folgendes durchführt: Bestimmen eines binären Klassifizierungswerts für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Bestimmen eines zweiten Schwellenwerts, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  2. Mindestens ein Medium nach Anspruch 1, wobei die Vielzahl von Dateninstanzen Bilder sind und der erste Schwellenwert mit einer Bildpunktintensitätsdifferenz korrespondiert.
  3. Mindestens ein Medium nach einem der Ansprüche 1-2, wobei der erste Schwellenwert mit einer Polygonflächendifferenz korrespondiert.
  4. Mindestens ein Medium nach einem der Ansprüche 1-3, wobei die Vielzahl von Dateninstanzen Bildareale eines Bilds eines Halbleiterwafers, aufgenommen durch ein optisches Mikroskop, umfasst.
  5. Mindestens ein Medium nach einem der Ansprüche 1-4, wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz einen Defekt enthält.
  6. Mindestens ein Medium nach einem der Ansprüche 1-5, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken, dass die Maschine Folgendes durchführt: Zugreifen auf eine Designdatei, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und Anwenden mindestens eines Clusterbildungsmodells auf die Merkmalsvektoren, um Regionscluster zu bestimmen.
  7. Mindestens ein Medium nach Anspruch 6, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine den zweiten Schwellenwert Dateninstanzen korrespondierend mit den bestimmten Regionsclustern zuweist.
  8. Mindestens ein Medium nach Anspruch 7, wobei die Anweisungen, wenn sie durch eine Maschine ausgeführt werden, bewirken sollen, dass die Maschine den ersten Schwellenwert allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren, zuweist.
  9. Mindestens ein Medium nach einem der Ansprüche 1-8, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  10. Mindestens ein Medium nach Anspruch 1, wobei die Vielzahl von Dateninstanzen eine Vielzahl von Textsammlungen umfasst und wobei ein binärer Klassifizierungswert, der für eine Dateninstanz bestimmt wird, angibt, ob die Dateninstanz nichtfiktional oder fiktional ist.
  11. Verfahren, umfassend: Bestimmen eines binären Klassifizierungswerts für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Bestimmen eines zweiten Schwellenwerts, der einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zugewiesen werden soll; und Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  12. Verfahren nach Anspruch 11, ferner umfassend: Zugreifen auf eine Designdatei, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und Anwenden mindestens eines Clusterbildungsmodells auf die Merkmalsvektoren, um Regionscluster zu bestimmen.
  13. Verfahren nach einem der Ansprüche 11-12, ferner umfassend, den zweiten Schwellenwert Dateninstanzen korrespondierend mit den bestimmten Regionsclustern zuzuweisen.
  14. Verfahren nach Anspruch 13, ferner umfassend Zuweisen des ersten Schwellenwerts allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren.
  15. Verfahren nach einem der Ansprüche 11-14, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  16. System, umfassend: einen Speicher zum Speichern einer Vielzahl von Dateninstanzen; und einen an den Speicher gekoppelten Prozessor, der Prozessor zum: Bestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Bestimmen eines zweiten Schwellenwerts, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  17. System nach Anspruch 16, der Prozessor zum: Zugreifen auf eine Designdatei, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und Anwenden mindestens eines Clusterbildungsmodells auf die Merkmalsvektoren, um Regionscluster zu bestimmen.
  18. System nach Anspruch 17, der Prozessor zum Zuweisen des zweiten Schwellenwerts zu Dateninstanzen korrespondierend mit den bestimmten Regionsclustern.
  19. System nach einem der Ansprüche 16-18, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
  20. System nach einem der Ansprüche 16-19, ferner umfassend ein optisches Mikroskop zum Erfassen der Vielzahl von Dateninstanzen.
  21. System, umfassend: Mittel zum Bestimmen eines binären Klassifizierungswerts für jede einer Vielzahl von Dateninstanzen basierend auf einem ersten Schwellenwert, der jeder der Vielzahl von Dateninstanzen zugewiesen wird; Mittel zum Anwenden mindestens eines Clusterbildungsmodells auf eine erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren; Mittel zum Bestimmen eines zweiten Schwellenwerts, um diesen einer zweiten Vielzahl von Dateninstanzen, die in dem einen oder den mehreren dominanten Clustern von Dateninstanzen enthalten sind, zuzuweisen; und Mittel zum Neubestimmen eines binären Klassifizierungswerts für jede der Vielzahl von Dateninstanzen basierend auf dem zweiten Schwellenwert, der der zweiten Vielzahl von Dateninstanzen zugewiesen wird, und dem ersten Schwellenwert, wobei der erste Schwellenwert mindestens einem Abschnitt von Dateninstanzen der Vielzahl von Dateninstanzen, die nicht in der zweiten Vielzahl von Dateninstanzen enthalten sind, zugewiesen wird.
  22. System nach Anspruch 21, ferner umfassend: Mittel zum Zugreifen auf eine Designdatei, um Merkmalsvektoren für die Dateninstanzen des einen oder der mehreren dominanten Cluster zu konstruieren; und Mittel zum Anwenden mindestens eines Clusterbildungsmodells auf die Merkmalsvektoren, um Regionscluster zu bestimmen.
  23. System nach Anspruch 22, ferner umfassend Mittel zum Zuweisen des zweiten Schwellenwerts zu Dateninstanzen korrespondierend mit den bestimmten Regionsclustern.
  24. System nach Anspruch 23, ferner umfassend Mittel zum Zuweisen des ersten Schwellenwerts zu allen verbleibenden Dateninstanzen der Vielzahl von Dateninstanzen, die nicht mit den bestimmten Regionsclustern korrespondieren.
  25. System nach Anspruch 21, wobei Anwenden mindestens eines Clusterbildungsmodells auf die erste Teilmenge der Vielzahl von Dateninstanzen, um einen oder mehrere dominante Cluster von Dateninstanzen zu identifizieren, umfasst, eine Clusterbildung der ersten Teilmenge der Vielzahl von Dateninstanzen basierend auf einer oder mehreren Bildanalysemetriken durchzuführen.
DE102020122644.6A 2019-09-16 2020-08-31 Iterative überwachte identifizierung von nichtdominanten clustern Pending DE102020122644A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/572,446 2019-09-16
US16/572,446 US11176658B2 (en) 2019-09-16 2019-09-16 Iterative supervised identification of non-dominant clusters

Publications (1)

Publication Number Publication Date
DE102020122644A1 true DE102020122644A1 (de) 2021-03-18

Family

ID=69101443

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020122644.6A Pending DE102020122644A1 (de) 2019-09-16 2020-08-31 Iterative überwachte identifizierung von nichtdominanten clustern

Country Status (3)

Country Link
US (1) US11176658B2 (de)
CN (1) CN112508045A (de)
DE (1) DE102020122644A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202217354A (zh) 2020-08-07 2022-05-01 美商Pdf對策公司 測試結構與晶粒級回應的圖案增強的空間相關性
CN111814801B (zh) * 2020-08-25 2022-03-15 电子科技大学 一种机械图中标注串的提取方法
CN116579907B (zh) * 2023-07-06 2023-09-22 武汉中导光电设备有限公司 晶圆图像获取方法、装置、设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8477109B1 (en) * 2010-06-24 2013-07-02 Amazon Technologies, Inc. Surfacing reference work entries on touch-sensitive displays
US20160189055A1 (en) * 2014-12-31 2016-06-30 Applied Materials Israel Ltd. Tuning of parameters for automatic classification

Also Published As

Publication number Publication date
US20200013161A1 (en) 2020-01-09
US11176658B2 (en) 2021-11-16
CN112508045A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US11663700B2 (en) Automatic elimination of noise for big data analytics
DE102020122644A1 (de) Iterative überwachte identifizierung von nichtdominanten clustern
IL260101A (en) Simulated output production for example
DE60116769T2 (de) Verfahren und system zur hierarchischen metallenden-, einschliessungs- und belichtungsprüfung
DE102015200694A1 (de) Verfahren, computersystem und computerlesbares speichermedium zum erzeugen eines layouts eines integrierten schaltkreises
DE102017125395A1 (de) Zellstrunkturen und Halbleitervorrichtungen damit
US11301982B2 (en) Image morphing to meet desired constraints in geometric patterns
US10496783B2 (en) Context-aware pattern matching for layout processing
DE102009004392B9 (de) Datenerzeugungsverfahren für Halbleitervorrichtung und Elektronenstrahlbelichtungssystem
KR20140105405A (ko) 마스크 패턴의 결정 방법, 기록 매체, 및 정보 처리 장치
DE102018108579A1 (de) Integrierte schaltung und verfahren zu deren herstellung
US11232248B2 (en) Routing-resource-improving method of generating layout diagram and system for same
US20200019052A1 (en) Adaptive algorithm to generate optical proximity correction lithographic recipe
US20160313638A1 (en) Layout Decomposition Methods and Systems
DE102021110414A1 (de) Vier-cpp-breite speicherzelle mit vergrabenem leistungsgitter und verfahren zu deren herstellung
DE102020119280A1 (de) Platzbedarf für multi-bit-flip-flop
DE102020100119A1 (de) Halbleiter-bauelement mit antifuse-zelle
DE102019121285A1 (de) Systeme und Verfahren zur Lokalisierung systematischer Fehler mittels physical failure analysis (PFA)
US20180018420A1 (en) System and Method for Perforating Redundant Metal in Self-Aligned Multiple Patterning
DE102020115583A1 (de) Hierarchischer graphenbasierter domänenauswahlalgorithmus zum verbessern der diversität
DE102020120157A1 (de) Einstufen von objekten mit rauschbehafteten messungen
US11010525B2 (en) Fast pattern matching
DE102020115617B4 (de) Halbleitervorrichtung, integrierte Schaltung und darauf basierendes System
DE102017126395A1 (de) Mehrmasken-Mehrfachbelichtungs-Lithografie und Masken
US20140082572A1 (en) Method of generating assistant feature