DE102009010886B4 - Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals - Google Patents

Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals Download PDF

Info

Publication number
DE102009010886B4
DE102009010886B4 DE102009010886A DE102009010886A DE102009010886B4 DE 102009010886 B4 DE102009010886 B4 DE 102009010886B4 DE 102009010886 A DE102009010886 A DE 102009010886A DE 102009010886 A DE102009010886 A DE 102009010886A DE 102009010886 B4 DE102009010886 B4 DE 102009010886B4
Authority
DE
Germany
Prior art keywords
memory
ping signal
signal
test
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102009010886A
Other languages
English (en)
Other versions
DE102009010886A1 (de
Inventor
Kay Hesse
Suresh Periyacheri
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE102009010886A priority Critical patent/DE102009010886B4/de
Priority to US12/709,605 priority patent/US8458538B2/en
Publication of DE102009010886A1 publication Critical patent/DE102009010886A1/de
Priority to US13/863,965 priority patent/US9245652B2/en
Application granted granted Critical
Publication of DE102009010886B4 publication Critical patent/DE102009010886B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing

Abstract

Halbleiterbauelement mit: einem Speicherbereich; einer eingebauten Speicherselbsttest-(MBIST)Schaltung, die mit dem Speicherbereich verbunden ist, wobei die MBIST-Schaltung ausgebildet ist, einen Speicherselbsttest durch Auslesen des Speicherbereichs und durch Vergleichen der Ausleseergebnisse mit Referenzdaten auszuführen, um Vergleichsergebnisse zum Erkennen mehrerer Speicherfehler bereitzustellen; und einer Verzögerungserkennungsschaltung, die in der MBIST-Schaltung vorgesehen und ausgebildet ist, ein Zeitintervall vom Beginn eines Testalgorithmus an dem Speicherbereich und dem Auftreten eines vordefinierten Fehlers der Speicherfehler zu bestimmen, wobei das Zeitintervall eine Umlaufverzögerung des Halbleiterbauelementes darstellt.

Description

  • Gebiet der vorliegenden Offenbarung
  • Im Allgemeinen betrifft die vorliegende Offenbarung Techniken zum Prüfen von Halbleiterbauelementen und betrifft insbesondere Techniken zum Prüfen integrierter Schaltungen, die Logikschaltungsbereiche und eingebettete Speicherbereiche mit damit verbundenen eingebauten Speicherselbsttestlogikschaltungen aufweisen.
  • Beschreibung des Stands der Technik
  • Bei der Herstellung von Halbleiterbauelementen mit relativ komplexen Schaltungen stellt das Prüfen des Bauelements einen Teil des Fertigungsprozesses dar, der häufig im Hinblick auf die Kosten und den Aufwand unterschätzt wird, die für das zuverlässige Ermitteln von Daten im Hinblick auf die korrekte Funktion und Zuverlässigkeit des Bauelements erforderlich sind. Ein Grund für das Nichterreichen der Leistungsspezifikationen der integrierten Schaltung kann in Entwurfsfehlern liegen, die durch die Schaltungsverifizierung auf der Grundlage von Softwaresimulation und/oder Prototypenprüfung vor der Massenherstellung der betrachteten integrierten Schaltung erkannt und behoben werden. Eine nicht korrekte Funktion der integrierten Schaltung kann ferner durch den Fertigungsprozess selbst hervorgerufen werden, wenn die fertig gestellte Schaltung nicht dem verifizierten Schaltungsentwurf aufgrund von Prozessschwankungen in einem oder mehreren der sehr großen Anzahl an Prozessschritten entspricht. Obwohl Mess- und Prüfprozeduren an vielen Punkten in den Fertigungsablauf eingebunden sind, ist es dennoch äußerst wichtig, die korrekte Funktion des fertigen Halbleiterbauelements zu verifizieren, da gemäß einer üblichen Faustregel die durch fehlerhafte Chips hervorgerufene Kosten bei jeder Fertigungsphase ungefähr eine Größenordnung ansteigen. Beispielsweise belaufen sich die Kosten, die durch eine fehlerhafte Platine mit einem fehlerhaften Chip hervorgerufen werden, typischerweise auf einen deutlich höheren Betrag als das Erkennen eines fehlerhaften Chips vor dem Verkaufen und Montieren auf der Platine. Das gleiche gilt für ein System, wenn ein Fehler durch eine oder mehrere fehlerhafte Platinen hervorgerufen wird, da eine Ausfallzeit eines industriellen Systems zu mittleren Kosten von ungefähr mehreren Hundert Dollar pro Minute führen kann im Vergleich zu einem Preis von wenigen Dollar für einen integrierten Schaltungschip, der diesen Defekt hervorgerufen hat.
  • Somit gibt es ein großes Interesse für die Entwicklung von Testverfahren, um möglichst viele Defekte in fertig gestellten integrierten Schaltungen zu erkennen, ohne nicht in unerwünschter Weise die gesamten Fertigungskosten zu erhöhen. Insbesondere mit der Anforderung für mehr Eigenschaften und geringere Kosten von Schaltungen gibt es ein Bestreben, eine Vielzahl unterschiedlicher Schaltungsbereiche in einen einzelnen Chip zu integrieren, um damit ein vollständiges System auf einen Chip (SOC) bereitzustellen. Ein Halbleiterbauelement mit diversen Funktionsblöcken enthält typischerweise einen oder mehrere Logikblöcke, einen oder mehrere eingebettete Speicherbereiche, wie sie als chipinterne Zwischenspeicher für CPUs oder als Puffer für Datenpakete verwendet werden, die zwischen den unterschiedlichen Taktbereichen ausgetauscht werden.
  • Wie zuvor erläutert ist, zwingen ökonomische Bedingungen die Halbleiterhersteller nicht nur dazu, die Defektrate des gesamten Fertigungsprozesses zu minimieren, sondern auch in Verbindung mit einer geringen Defektrate eine möglichst hohe Fehlererkennungsabdeckung zu erreichen, um damit die Auslieferung fehlerhafter Chips bei vernünftigen Kosten für geeignete Testprozeduren und Techniken zu verringern. Für moderat komplexe integrierte Schaltungen ist es mittlerweile Standard, den grundlegenden Entwurf der Schaltung zu entwickeln, wobei auch eine Vielzahl von Randbedingungen, die durch effektive Testverfahren auferlegt werden, berücksichtigt werden. Ferner werden typischerweise zusätzliche Hardwareressourcen auf dem Chip bereitgestellt, die das Erkennen fehlerhafter Schaltungskomponenten für eine breite Klasse an Betriebsbedingungen ermöglichen, wobei die zusätzlichen Hardwareressourcen in Verbindung mit den Entwurfsspezifikationen der grundlegenden Schaltung und der komplexen Testprozeduren und Testmuster im Wesentlichen die Fehlerabdeckung des Testverfahrens bestimmen.
  • In vielen Schaltungsentwürfen wird der funktionale Logikbereich durch sogenannte Abtastketten geprüft, die eine Kette aus Flip-Flops repräsentieren, die mit einem speziellen Bereich der Funktionslogik so verbunden ist, dass die Funktionslogik oder ein spezieller Teil davon mit einem gewünschten Zustand initialisiert wird, der zuvor in die Abtastkette eingespeist wurde. Beim Bereitstellen eines oder mehrerer Taktsignale für die Funktionslogik wird deren Zustand, d. h. der Zustand jedes Logikgatters, der mit einem speziellen Flip-Flop der Abtastkette verbunden ist, dann in der Abtastkette gespeichert und wird durch Zuführen entsprechender Verschiebetaktsignale zu der Abtastkette herausgeschoben. Abhängig von dem Bitmuster oder dem Eingangsvektor, der in die Abtastkette zum Initialisieren der Funktionslogik eingespeist wird, werden entsprechende fehlerhafte Logikgatter erkannt. Die Fehlerabdeckung, d. h. das Potenzial, einen Fehler innerhalb der Funktionslogik zu erkennen, hängt jedoch wesentlich von dem Entwurf, der Auswahl und der Anzahl der geeigneten Abtastdaten und der geeigneten Eingangsvektoren ab. Im Prinzip können derartige Abtasttestverfahren auch so modifiziert werden, dass sie das Prüfen von Speicherbereichen mit beinhalten, wobei jedoch lediglich für kleine Speicher geeignete Prüfmuster, d. h. die Anzahl und die Größe der geeigneten Eingangsvektoren, eine Größe besitzen, die das Prüfen von Speicherbereichen innerhalb akzeptabler Zeitintervalle ermöglichen.
  • Aus diesem Grunde werden häufig sogenannte eingebaute Speicherselbsttest-(MBIST)-Logiken als zusätzliche Hardwareressource innerhalb eines Chips vorgesehen, um eine Speicherprüfprozedur zu implementieren, die weniger Taktzyklen erfordert und die das Prüfen wichtiger ausgedehnter Fehlermodelle ermöglicht, die für die Speicher spezifisch ausgewählt sind. Mit Bezug zu den 1a und 1b werden die Konfiguration und die Testverfahren für ein repräsentatives konventionelles Halbleiterbauelement mit Funktionslogik und einem Speicherbereich detaillierter beschrieben, um die damit beteiligten Probleme deutlicher darzustellen.
  • 1a zeigt schematisch ein Schaltbild des Halbleiterbauelements 100 mit einer Funktionslogikschaltung 110, die mit einem Speicherbereich 120 über Schreibleitungen, Leseleitungen und Steuerleitungen verbunden ist, die gemeinsam als Leitungen 121 bezeichnet sind. Die Bauelement 100 umfasst ferner eine MBIST-Logik 130 mit beispielsweise einer finiten Zustandsmaschine bzw. einem finiten Zustandsautomaten 131, um einen gewünschten Algorithmus zum Prüfen des Speicherbereichs 120 einzurichten. Die MBIST-Logik 130 umfasst ferner alle Komponenten, die zum Abkoppeln des Speicherbereichs 120 von der Funktionslogik 110 erforderlich sind, um damit den Betrieb des Speicherbereichs 120 vollständig unter der Steuerung der MBIST-Logik 130 zu ermöglichen, wenn die Logik 130 zum Zwecke des Speicherprüfens betrieben wird.
  • Andererseits ist die MBIST-Logik 130 im deaktivierten Zustand für die Leitungen 121 „transparent”, um damit eine korrekte Funktion der Logikschaltung 110 in Verbindung mit dem Speicherbereich 120 zu ermöglichen. Die MBIST-Logik 130 umfasst einen ersten Steuereingang 132, der auch als MBIST-Start bezeichnet wird, und einen zweiten Steuereingang 133, der in der Zeichnung als MBIST-Aktivierung bzw. als „enable” bezeichnet ist. Ferner ist ein erster Ausgang 134, der in der Zeichnung auch als MBIST-Good bezeichnet ist, und ein zweiter Ausgang 135, der auch als MBIST-Done bzw. -Fertig bezeichnet ist, in der MBIST-Logik 130 vorgesehen. Es sollte beachtet werden, dass der Einfachheit halber zusätzliche Eingänge oder Ausgänge der Logik 130, etwa Takteingänge, Rücksetzeingänge und andere Steuerleitungen, nicht gezeigt sind.
  • Wenn das Bauelement 100 in einem Speicherprüfmodus betrieben wird, wird die MBIST-Logik 130 aktiviert, indem ein entsprechendes Signal an den Eingang 133 (MBIST-Enable) gelegt wird, um damit den Speicherbereich 120 von dem umgebenden Logikschaltungsbereich 110 abzukoppeln. Durch Zuführen eines entsprechenden Signals zu dem Eingang 132 (MBIST-Start) wird der Schaltungsbereich 130 aktiviert, um Adressenwerte zu erzeugen und Daten in den Speicherbereich 120 zu schreiben. Die Schaltung 130 enthält ferner einen Komparator, der ausgebildet ist, zu prüfen, ob in den Speicher 120 geschriebenen Daten in korrekter Weise wieder aus dem Speicher zurückgelesen werden, und der einen entsprechenden Wert an dem Ausgang 134 (MBIST-Good) bereitstellt. Beispielsweise zeigt der Wert des Ausganges 134 in Form einer logischen „0”, dass keine Fehler auftreten beim Schreiben der Daten in den Speicher 120 und beim Zurücklesen der Daten, während der Ausgang 134 auf eine logische „1” gesetzt wird, sobald ein Unterschied zwischen den tatsächlich ausgelesenen Daten und den erwarteten Daten erkannt wird. Nach dem Prüfen des Speichers 120 wird ein entsprechendes Signal am Ausgang 135 (MBIST-Done) gesetzt, beispielsweise wird der Ausgang 135 von logisch „0” auf logisch „1” geschaltet, wenn die Prüfung abgeschlossen ist.
  • Somit kann die bauteilinterne Testschaltung 130 das Funktionsverhalten eines eingebetteten Speichers bewerten, ohne dass aufwändige externe Prüfanlagen erforderlich sind, die zunehmend komplex geworden sind und die zusätzliche I/O(Eingabe/Ausgabe-)Ressourcen in dem Halbleiterbauelement erfordern, um damit einen eingebetteten Speicher mit der externen Prüfanlage zu verbinden. Aufgrund der fortschreitenden Entwicklungen in den Halbleiterfertigungsverfahren werden die Strukturgrößen der einzelnen Schaltungselemente stetig verringert, wodurch die Möglichkeit geschaffen wird, die Schaltungsdichte zu erhöhen und damit auch die Komplexität der Halbleiterbauelemente zu vergrößern. Aus diesem Grunde werden zusätzliche Schaltungen in einen einzelnen Chipbereich eingebaut, um damit komplexe Systeme auf einem Chip (SOC) zu bilden, wobei insbesondere die Anzahl und die Größe der eingebetteten Speicher ständig größer wird. Folglich kann der zusätzliche Aufwand zur Bereitstellung der Halbleiterressourcen für die Testschaltung 130 durch die großen Vorteile überkompensiert werden, die durch die bauteilinternen Speicherprüfungen erreicht werden, da beispielsweise eine einzelne Steuereinheit das Prüfen des Funktionsverhaltens einer Vielzahl eingebetteter Speicherbereiche ermöglichen kann, wobei die Ergebnisse der Prüfalgorithmen dann an die Peripherie des Halbleiterbauelements übertragen werden, ohne dass zusätzliche I/O-Ressourcen erforderlich sind. Obwohl die zuvor beschriebene eingebaute Speichertesthardware eine ausreichende Abdeckung von Speicherfehlern bei der Prüfung der Halbleiterbauelemente nach der Herstellung der Produktionsphase bieten, erfordert die Zunahme der Komplexität beim Entwerfen und beim eigentlichen Herstellen eines Halbleiterbauelements, das größere eingebettete Speicherbereiche aufweist, verbesserte Bewertungstechniken im Hinblick auf Verbesserungen im Entwurf, bei der Technologie und dergleichen. Daher ist es in vielen Fällen erforderlich, nicht nur eine Bewertung über gut oder schlecht für einen spezifizierten eingebetteten Speicher als Ganzes bereitzustellen, sondern es ist eine detaillierte Fehleranalyse erforderlich, wodurch eine Bitkarte oder Bitzuordnung erforderlich ist, d. h. das Ergebnis jeder Operation, die den Status des betrachteten Bereichs beim Auftreten eines speziellen Speicherfehlers festlegt. Zu diesem Zweck werden zusätzliche Hardwarekomponenten erforderlich, um damit die gewünschten Daten für die Bitkarte für jeden aus einer Vielzahl von Speicherfehlern bereitzustellen, die auf der Grundlage eines oder mehrere speziell gestalteter Testalgorithmen erkannt werden können. Um zuverlässige Fehlerdaten zu erhalten, ist daher erforderlich, in geeigneter Weise den Geräteaufbau der Testschaltung zu entwerfen, beispielsweise im Hinblick auf zeitliche Rahmenbedingungen und dergleichen, wodurch der Grad an Flexibilität zum Entwerten komplexer integrierter Schaltungen verringert wird, da eine späte Implementierung zusätzlicher Verarbeitungsstufen bzw. Pipelinestufen, um beispielsweise die gesamten Zeitabläufe besser zu handhaben, und dergleichen, einen wesentlichen Einfluss auf das Testverhalten der bauteilinternen Testschaltung ausüben, wie dies nachfolgend detaillierter mit Bezug zu den 1b und 1c erläutert ist.
  • 1b zeigt schematisch das Halbleiterbauelement 100, das mehrere eingebettete Speicher 120a, 120b aufweist, die mit zugehörigen Bereichen der eingebauten Prüfschaltung verbunden sind. Beispielsweise ist jeder der Speicherbereiche 120a, 120b mit einer zugehörigen „Ansteuerlogik oder Schnittstellenlogik” 140a, 140b verbunden, die den Speichern 120a, 120b Steuersignale und Datensignale während einer Testphase zuführt und die für die gewünschte Transparenz der eingebauten Testschaltung in einem normalen Betriebsmodus sorgt, wie dies auch zuvor erläutert ist. Entsprechende Schaltungsbereiche 160a, 160b sind mit den Schnittstellenlogiken 140a, 140b verbunden, um geeignete Steuersignale und Testdatenmuster bereitzustellen, wie dies für den betrachteten Testalgorithmus erforderlich ist. Der Einfachheit halber werden die Schaltungsbereiche 160a, 160b auch als „untergeordnete Schaltungen” bezeichnet, die von einer MBIST-Steuerung 138 gesteuert werden, die wiederum so gestaltet ist, dass geeignete Operationscodesequenzen zum Ausführen einer gewünschten Sequenz aus Speicheroperationen in jedem Speicher 120a, 120b bereitgestellt werden, wobei auch die erforderlichen Testdatenmuster zur Verfügung gestellt werden. Es sollte beachtet werden, dass eine Vielzahl von Testalgorithmen gegenwärtig eingesetzt wird, wobei jeder für einen gewissen Grad an Fehlerabdeckung im Hinblick auf einzelne Speicherzellen und auch auf entsprechende Schaltungskomponenten zum Steuern der Speicherarrays sorgt. Beispielsweise werden Prüfalgorithmen eingesetzt, in denen jede Speicherzelle beschrieben und ausgelesen wird gemäß einem spezifizierten Adressierungsschema, während in anderen Fallen geeignete Muster in das Speicherarray geschrieben, etwa ein Schachbrettmuster und dergleichen, um damit das statische und dynamische Verhalten der Speicherbereiche und der zugehörigen Schaltung zum Ausführen der Lese- und Schreiboperationen zu bestimmen. Es sollte beachtet werden, dass entsprechende Prüfalgorithmen für diese Speicherarten, Technologiestandards, die zum tatsächlichen Herstellen der Speicher verwendet werden, und dergleichen gestaltet sind, so dass eine Änderung in der Speichergestaltung, der Technologie und dergleichen geeignet angepasste Prüfalgorithmen erforderlich macht. Folglich wird in vielen eingebauten Testschaltungen ein gewisser Grad an Flexibilität vorgesehen, um die Anwendung unterschiedlicher Typen an Prüfalgorithmen bei Bedarf zu ermöglichen.
  • Während des Betriebs des Halbleiterbauelements 100 in einer Speichertestbetriebsphase instruiert die Steuerung 138 einen oder mehrere der untergeordneten Schaltungen 160a, 160b, eine Speicherselbstprüfung vorzunehmen, indem eine entsprechende Sequenz aus Befehlen, etwa Speicheradressen und entsprechende Steuersignale in Verbindung mit dem gewünschten Testdatenmuster bereitgestellt, was bewerkstelligt werden kann, indem die Signale über Busleitungen 150a, 150b übertragen werden, die auch geeignete Busleitungen zum Übertragen eines Fehlersignals aus der Schnittstellenlogik 140a, 140b zu den untergeordneten Schaltungen 160a, 160b enthalten. Es sollte beachtet werden, dass die Signalübertragung über die Busse 150a, 150b typischerweise mit einer gewissen Verzögerung verknüpft ist, d. h. der Transport des Signals erfordert eine gewisse Anzahl an Taktzyklen entsprechend der Anzahl der Pipelinestufen, die typischerweise eingesetzt werden, um die zeitlichen Bedingungen zu entschärfen, die typischerweise in aufwändigen Halbleiterbauelementen auftreten, die mit Taktsequenzen von mehreren Hundert Megahertz und deutlich höher betrieben werden. Somit kann sich der Zeitpunkt des Ausgebens einer gewissen Speicheroperation von den untergeordneten Schaltungen 160a, 160b an die Schnittstellenlogik 140a, 140b sich von dem Zeitpunkt unterscheiden, wenn eine entsprechende Speicheroperation tatsächlich in dem Speicher 120a, 120b abgearbeitet wird. Beim Ausführen der Speicheroperationen, beispielsweise das Schreiben eines spezifizierten Datenmusters in einen Speicherbereich 120a, 120b, und beim Zurücklesen der jeweiligen Daten gemäß einem spezifizierten Prüfalgorithmus, wird ein Vergleich zwischen den ursprünglich geschriebenen Busdaten und den aus dem Speicher 120a, 120b ausgelesenen Daten durchgeführt, um damit entsprechende Speicherfehler in Abhängigkeit des angewendeten Testalgorithmus zu erkennen. Das Vergleichsergebnis, das beispielsweise auf der Grundlage einer Vergleichslogik 141a gewonnen wird, wird dann an die untergeordnete Schaltung 160a, 160b weitergegeben, was ebenfalls eine gewisse Anzahl an Taktzyklen, abhängig von der gesamten Konfiguration der Busse 150a, 150b erfordern kann, wie dies zuvor erläutert ist. Für eine verbesserte Bewertung von Speicherfehlern, die während des betrachteten Prüfalgorithmus erkannt werden, muss zumindest die Zugehörigkeit eines Fehlersignals, das von den untergeordneten Schaltung 160a, 160b erhalten wird, zu einer entsprechenden Speicheroperation, die den Fehler hervorgerufen hat, bestimmt werden, was jedoch eine geeignete Anpassung der diversen Zeitverzögerungen erforderlich macht, die beim Übertragen der Operationskodierungsbefehle, der Testdatenmuster und der Fehlersignale von der untergeordneten Schaltung 160a, 160b zu der Schnittstellenlogik 140a, 140b und zurück zu der untergeordneten Schaltung beteiligt sind. Ferner wird in vielen Fallen zusätzliche Information erhalten, beispielsweise in Form jedes der Vergleichsergebnisse 141a, die von dem Speicher 120a zu dem Zeitpunkt erhalten werden, an dem ein gewisser Speicherfehler, beispielsweise ein Lesespeicherfehler, erkannt wird. Zum Beispiel wird diese Information ausgelesen und schließlich an die Steuerung 138 gesendet, von der das einzelne globale Fehlersignal 135 bereitgestellt wird, beispielsweise für eine externe Testschaltung, und von der auch eine entsprechende Bitkarte 138a einer externen Testschaltung über ein geeignetes Schnittstellensystem zugeführt wird.
  • 1C zeigt schematisch einen Teil des Halbleiterbauelements 100 mit dem Speicherbereich 120a und der Schnittstellenlogik 140a, den Steuer- und Datenbussen 150a und der untergeordneten Schaltung 160a. Wie gezeigt, umfasst die untergeordnete Schaltung 160a eine Dekodiereinheit 166, die eine beliebig geeignete Schaltung repräsentiert, um Steuer- und Betriebskodierungsdaten 161 der Schnittstellenlogik 140a zuzuführen. Beispielsweise werden Adressen und Steuersignale bereitgestellt, um eine vordefinierte Sequenz aus Speicheroperationen, beispielsweise das Schreiben eines speziellen Datenmusters in den Speicher 120a, das Auslesen spezifizierter Speicherplätze und dergleichen, auszuführen. Die Daten 161 werden über den Bus 150a übertragen, wobei diese eine gewisse Verzögerung erfahren, die durch das Vorhandensein einer speziellen Anzahl an Verarbeitungsstufen bzw. Pipelinestufen 151 hervorgerufen wird, die im Hinblick auf Zeitabläufe und dergleichen erforderlich sind. Ferner werden geeignete Testdaten 162 durch die untergeordnete Schaltung 160a bereitgestellt, beispielsweise zum Betreiben einer speziellen Logikschaltung, die eine Sequenz aus Daten bewertet, indem geeignete Prüfdatenmuster aus dem Speicher dergleichen empfangen werden. Die Daten 162 werden ebenfalls an die untergeordnete Schaltung 140a über den Bus 151 mit der speziellen Anzahl an Verarbeitungsstufen übertragen. Die Steuerdaten 161 werden dem Speicher 120a zugeführt, um eine entsprechende Sequenz aus Speicheroperationen in Gang zu setzen, etwa eine Sequenz aus Schreiboperationen unter Anwendung der Testdaten 162, die dem Speicher 120a mittels geeigneten Schaltungen, etwa einem Multiplexer 142 und dergleichen zugeführt werden. Gleichzeitig werden die Testdaten 162 einer Verzögerungsanpassungsstufe 143 zugeführt, die somit den Testdaten eine spezielle Verzögerung auferlegt, die gleich ist zu der Verzögerung, die die Testdaten erfahren, wenn sie entsprechenden Speicheroperationen unterzogen werden, die durch die Steuer- und Adressdaten 161 initiiert werden. Folglich werden die Daten 162, wie sie durch die Anpassungsstufe 143 ausgegeben werden, als Referenzdaten betrachtet, die mit Speicherdaten 162m verglichen werden können, die ermittelt werden, indem entsprechende Leseoperationen gemäß dem betrachteten Prüfalgorithmus ausgeführt werden. Beispielsweise wird der Vergleich auf der Grundlage von exklusiven ODER-Gattern 141a, 141b ausgeführt, wodurch ein Vergleichsergebnis für einen Teil der Daten 162m erhalten wird. Es sollte beachtet werden, dass aufgrund der größeren Breite aufwändiger Speicher, etwa dem Speicher 120a, typischerweise jeder Datenpunkt der Daten 162m, 162r eine geeignete Anzahl individueller Bitwerte repräsentieren kann, die einzeln verglichen werden, um damit eine entsprechende Bitkarte bereitzustellen, die als die Gesamtheit der Bitwerte betrachtet werden kann, die das Ergebnis des Vergleichs zwischen den Daten 162m und 162r repräsentiert. Beispielsweise können die entsprechenden Ergebnisdaten oder die Bitkarte in einem Register 141c gespeichert werden. Für eine Definition, wie sie zuvor verwendet wird, repräsentiert somit eine logische 1 in dem Register 141c einen entsprechenden Speicherfehler zu einem gegebenen Zeitpunkt, wodurch es möglich ist, einen topografischen Überblick über den Speicher 120a für jeden globalen Fehlerzustand zu erhalten, der durch ein Fehlersignal 141d angezeigt wird, das auf der Grundlage eines ODER-Gatters erhalten wird, das somit das Signal 141d beim Auftreten eines oder mehrerer einzelner Fehlerbits in dem Register 141c setzt. Das Fehlersignal 141d wird dann der untergeordneten Schaltung 160a über eine entsprechende Leitung 152 zugeführt, die wiederum eine spezielle Anzahl an Pipelinestufen enthält. Das Fehlersignal 141d aktiviert einen Fehlerzähler 164, um die Anzahl der Speicherfehler, die während des entsprechenden Prüfalgorithmus ermittelt werden, zu überwachen. Der Fehlerzähler 164 wiederum verriegelt einen Operationszähler 163, der die Anzahl an Operationen zählt, die an die Schnittstellenlogik 140a nach dem Beginn des betrachteten Fehleralgorithmus ausgegeben werden. Folglich ist der Wert des Zählers 163 eine Angabe der Anzahl an Speicheroperationen, die zu der Erzeugung eines entsprechenden globalen Fehlers führte, der durch das Signal 141d angezeigt wird. Aufgrund der diversen Verzögerungen, die durch die Pipelinestufen 151, 152 hervorgerufen werden, gibt der Wert des Zählers 163 nicht direkt die spezielle Leseoperation an, die den betrachteten Fehler hervorruft. Um einen zuverlässigen Zusammenhang zwischen dem Wert des Zählers 163 und einer entsprechenden betrachteten Speicheroperation für einen speziellen Speicherfehler zu erhalten, sind entsprechende Entwurfsmaßnahmen zu treffen, etwa das geeignete Anpassen der Pipelinestufen 151 und 152, das Einfügen einer vordefinierten Anzahl an Wartezyklen in dem Zähler 163, um die Verzögerungsunterschiede der entsprechenden Signalleitungen auszugleichen, und dergleichen. Wie zuvor erläutert ist, ist es während des Entwerfens und der Verifizierung komplexer integrierter Schaltungen häufig wünschenswert, zusätzliche Pipelinestufen einzufügen, beispielsweise im Hinblick auf eine bessere Signalführung und dergleichen, insbesondere, wenn Halbleiterbauelemente betrachtet werden, die auf der Grundlage hoher Taktfrequenzen betrieben werden, was jedoch eine vollständige Neugestaltung für eine eingebaute Selbsttestschaltung erforderlich macht, um damit die erforderliche Konsistenz zwischen der Bitkarte, die auf der Grundlage des Registers 141c erhalten wird, und dem entsprechenden Fehlersignal 141d zu erreichen. Das heißt, durch das Hinzufügen zusätzlicher Pipelinestufen in einer späten Entwurfsphase ist die entsprechende feinfühlige Balance der Pipelinestufen 151, 152, die für ein geeignetes Zuordnen einer Speicheroperation zu einer entsprechenden Bitkarte erforderlich ist, oder ein Einbau entsprechender Wartezyklen und dergleichen nicht mehr geeignet, wodurch die Umgestaltung der Pipelinestufen erforderlich ist.
  • In der US 2007/0150777 A1 wird eine Speicherselbsttestschaltung beschrieben, in der ein Zähler zu Beginn eines Tests initialisiert und für jedes einer Anzahl an Testmustern inkrementiert wird. Basierend auf dem Wert des Zählers kann bestimmt werden, welches Testmuster einen Fehler verursacht hat.
  • Angesichts der zuvor beschriebenen Situation betrifft die vorliegende Offenbarung Halbleiterbauelemente und Verfahren zum Betreiben dieser, wobei die Flexibilität beim Entwurf von eingebautem Speicherselbsttestschaltungen verbessert wird, indem eines oder mehrere der oben erkannten Probleme vermieden oder zumindest in der Auswirkung reduziert wird.
  • Überblick über die Offenbarung
  • Im Allgemeinen betrifft die vorliegende Offenbarung Halbleiterbauelemente und Verfahren, in denen eine höhere Flexibilität im Hinblick auf das Bereitstellen zusätzlicher Pipelinestufen während der Entwurfsphase des Halbleiterbauelements erreicht wird, indem ein Mechanismus eingerichtet wird, um die Umlaufverzögerung zu bestimmen, die für das Bereitstellen von Steuer- und Datensignalen für den Speicher und das Empfangen der jeweiligen Fehlersignale auftritt. Zu diesem Zweck wird die Umlaufverzögerung vor dem Ausführen eines Testalgorithmus ermittelt und die entsprechende Messung der Umlaufverzögerung wird dann verwendet, um ein Fehlersignal mit einer entsprechenden Speicherleseoperation unabhängig von der speziellen Konfiguration von Pipelinestufen zu ermitteln, die die Steuerung mit dem Speicherbereich verbinden. In einigen anschaulichen hierin offenbarten Aspekten wird die Umlaufverzögerung „gemessen”, indem ein geeignetes Messsignal erzeugt wird, das im Weiteren auch als „Ping-Signal” bezeichnet wird, das zu dem Speicher und zurück zu einer Steuerschaltung auf der Basis eines Signalweges geleitet wird, der die gleiche Verzögerung wie die entsprechenden Steuer- und Datensignale erfährt, die zum Ausführen des eigentlichen Prüfalgorithmus verwendet werden. In einer anschaulichen hierin offenbarten Ausführungsform wird das Ping-Signal zu dem Speicher und zurück zu der Steuerleitung unter Anwendung von Signalleitungen geführt, die ebenfalls für den regulären Selbsttestalgorithmus eingesetzt werden. Somit wird dem Ping-Signal und den Steuer- und Fehlersignalen die gleiche Verzögerung auferlegt, wodurch Auswirkungen zusätzlicher Pipelinestufen, die in einer späten Phase des Gesamtentwurfes eingerichtet werden, vermieden werden. In einigen anschaulichen Ausführungsformen wird das Ping-Signal verwendet, um einen Operationszähler zu steuern, so dass dieser Zähler einen Zählerwert enthält, der dem Intervall zwischen dem Beginn des eigentlichen Testalgorithmus und dem Auftreten einer den Fehler hervorrufenden Leseoperation angibt, wie dies von dem Speicherarray „gesehen” wird.
  • Ein anschauliches hierin offenbartes Halbleiterbauelement umfasst einen Speicherbereich und eine eingebaute Speicherselbsttest-(MBIST)Schaltung, die mit dem Speicherbereich verbunden ist. Die MBIST-Schaltung ist ausgebildet, einen Speicherselbsttest durch Auslesen des Speicherbereichs und durch Vergleichen von Leseergebnissen mit Referenzdaten auszuführen, die Vergleichsergebnisse bereitstellen, um damit eine Vielzahl von Speicherfehlern zu erkennen. Des Weiteren umfasst das Halbleiterbauelement eine Verzögerungserkennungsschaltung, in der MBIST-Schaltung vorgesehen und ausgebildet ist, ein Zeitintervall auf dem Beginn eines Prüfalgorithmus des Speicherbereichs bis zum Auftreten eines vordefinierten Fehlers der mehreren Speicherfehler zu bestimmen, wobei das Zeitintervall eine Umlaufverzögerung des Halbleiterbauelementes darstellt.
  • Ein anschauliches hierin offenbartes Verfahren betrifft das Ausführen eines Speicherselbsttestes an einem Speicherbereich eines Halbleiterbauelements. Des Verfahren umfasst das Bestimmen einer Umlaufverzögerung von Steuersignalen und eines Fehlersignals, die zwischen dem Speicherbereich und einer eingebauten Speicherselbsttest-(MBIST)Schaltung ausgetauscht werden, bevor ein erster Durchgang eines Prüfalgorithmus ausgeführt wird, wobei der Prüfalgorithmus bewirkt, dass die MBIST-Schaltung mehrere Speicheroperationen ausführt und Ergebnisdaten der mehreren Speicheroperationen mit Referenzdaten vergleicht, um eine Vielzahl von Speicherfehlern zu bestimmen. Das Verfahren umfasst ferner das Ermitteln einer Fehlerbitkarte des Speicherbereichs für einen ausgewählten Speicher der mehreren Speicherfehler auf der Grundlage der Umlaufverzögerung durch Ausführen eines zweiten Durchgangs des Prüfalgorithmus.
  • Ein weiteres hierin offenbartes anschauliches Verfahren umfasst des Senden eines Ping-Signals von einer Testschaltung eines Halbleiterbauelements zu einem Speicherbereich des Halbleiterbauelements über einen Steuerleitungsbus, der die Testschaltung mit dem Speicherbereich verbindet, wobei der Speicherbereich ein Speichergebiet des Halbleiterbauelements enthält. Das Verfahren umfasst ferner das leiten zumindest eines Teils des Ping-Signals durch eine Verzögerungsanpassschaltung, um im Wesentlichen die gleiche Prozessverzögerung für den mindestens einen Bereich des Ping-Signals und für Steuer- und Datensignale zu erhalten, die in dem Speicherbereich verarbeitet werden. Des Weiteren wird der zumindest eine Teil des Ping-Signals zu der Testschaltung über eine Fehlersignalleitung zurückgeführt. Das Verfahren umfasst ferner das Ausführen eines Speicherselbsttestalgorithmus durch Senden einer Sequenz aus Speicheroperationen und Testdaten zu dem Speicherbereich über den Steuerleitungsbus und einen Datenleitungsbus. Des Weiteren umfasst das Verfahren das Steuern eines Operationszählers auf der Grundlage des zurückgeführten Teils des Ping-Signals und eines Fehlersignals, das das Auftreten eines Speicherfehlers anzeigt.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Ausführungsformen der vorliegenden Offenbarung sind in den angefügten Patentansprüchen definiert und gehen deutlicher aus der folgenden detaillierten Beschreibung hervor, wenn diese mit Bezug zu den begleitenden Zeichnungen studiert werden, in denen:
  • 1A schematisch ein Schaltbild eines Halbleiterbauelements mit einer MBIST-Schaltung zeigt, um ein einzelnes Signal für fehlerhaft/gut gemäß konventionaler Techniken bereitzustellen;
  • 1B schematisch ein Schaltbild einer MBIST-Schaltung mit einer Steuerung und mehreren eingebetteten Speichern und zugehörigen Schnittstellentestschaltungen gemäß konventioneller Gestaltungen zeigt;
  • 1C schematisch eine detailliertere Schaltbildansicht zum Darstellen der Probleme im Hinblick auf Verzögerungen und im Hinblick auf das Erhalten einer Bitkarte für Speicherfehler gemäß konventioneller Techniken zeigt;
  • 2A schematisch ein Schaltbild zeigt, das eine MBIST-Schaltung repräsentiert, die ausgeführt ist, eine Umlaufverzögerung gemäß anschaulicher Ausführungsformen zu bestimmen;
  • 2B zeigt schematisch ein Schaltbild einer MBIST-Schaltung, wobei die Umlaufverzögerung gemäß noch weiterer anschaulicher Ausführungsformen kompensiert wird; und
  • 2C eine Sequenz aus Ereignissen während eines Prüfalgorithmus zeigt, um eine Bitkarte beim Auftreten des n-ten Speicherfehlers mit kompensierter Umlaufverzögerung gemäß anschaulicher Ausführungsformen zu erhalten.
  • Detaillierte Beschreibung der Offenbarung
  • Im Allgemeinen stellt die vorliegende Offenbarung Halbleiterbauelemente und Verfahren zum Betreiben der Bauelemente bereit, wobei die Umlaufverzögerung „kompensiert” werden kann, d. h. deren Einfluss zum Ermitteln eines entsprechenden Zusammenhangs zwischen einem Fehlersignal und einem Lesevorgang, der den Fehler hervorruft, wird vermieden, wodurch das Einrichten zusätzlicher Pipelinestufen in einer späten Phasen des gesamten Entwurfs des Halbleiterbauelements möglich ist. Zu diesem Zweck wird in einigen anschaulichen Ausführungsformen ein Messsignal oder ein Ping-Signal, das vor dem eigentlichen Beginn des betrachteten Prüfalgorithmus erzeugt wird, zu dem betrachteten Speicherbereich übertragen und wird zurück zu der Steuerschaltung geleitet unter Anwendung von Signalleitungen, die zu demselben Grad an Verzögerung im Vergleich zu der Verzögerung führen, die auch die eigentlichen Steuer- und Datensignale erleiden. In einer anschaulichen Ausführungsform wird das Ping-Signal mittels Steuer- und Signalleitungen übertragen, die auch eingesetzt werden, wenn der eigentliche Prüfalgorithmus ausgeführt wird, so dass das Ping-Signal die gleichen Pipelinestufen wie die eigentlichen Steuer- und Datensignale durchläuft. Ferner kann die Signalverarbeitung in dem Speicherbereich möglicherweise in Verbindung mit einer Verzögerung, die durch eine zusätzliche Schnittstellenlogik zum Erhalten und Vergleichen der Speicherdaten hervorgerufen wird, kompensiert werden, indem das Ping-Signal verwendet wird, um diesem eine entsprechende Verzögerung zu verleihen, so dass die gesamte Umlaufverzögerung des Ping-Signals im Wesentlichen gleich der Umlaufverzögerung für die Kombination aus Steuersignalen, Speicherdatensignalen und Fehlersignalen. Somit kann das Ping-Signal in effizienter Weise eingesetzt werden, um den Zeitpunkt zu bestimmen, wenn eine entsprechende Sequenz aus Speicheroperationen tatsächlich im Speicherbereich beginnt, und somit, wenn das entsprechende Speicherfehlersignal erkannt wird, das somit die gesamte Umlaufverzögerung für das Leiten von Steuer- und Statussignalen zu dem Speicherbereich, das Verarbeiten der Daten und das allgemeine Erzeugen des Fehlersignals repräsentiert. Somit kann das Auftreten des Fehlers, wie dies von dem Speicherbereich aus gesehen wird, auf der Grundlage der Umlaufzeitdauer ermittelt werden, die durch das Ping-Signal angegeben wird. Beispielsweise wird in einigen anschaulichen Ausführungsformen während eines ersten Durchlaufs eines Prüfalgorithmus das Ping-Signal durch den Steuersignalbus von der Steuerschaltung zu der Schnittstellenlogik, d. h. dem Speicherbereich mit dem interessierenden Speicher und zurück zu der Steuerschaltung geleitet, bevor eine Sequenz entsprechender Speicheroperationen ausgegeben wird. Obwohl eine Vielzahl von Speicheroperationen vor dem Empfang des Ping-Signals ausgegeben werden kann, wird verhindert, dass ein entsprechender Operationszähler zu zählen beginnt, bis das Ping-Signal schließlich in der Steuerschaltung empfangen wird. Bei Empfang des Ping-Signals wird der Operationszähler aktiviert, um die Zyklen in dem ersten Durchgang des Prüfalgorithmus zu zählen. Wenn ein Fehlersignal erkannt wird, wird der Operationszähler angehalten und verriegelt, so dass der Zählerwert der Zeitdauer zwischen dem Beginn des Algorithmus und der den Fehler hervorrufenden Leseoperation aus der Sicht des zu testenden Speicherbereichs entspricht, wobei dies unabhängig von dazwischen liegenden Verzögerungen ist. Dieser Mechanismus ist unabhängig von einer Variation der Pipelinestufen während des Vorgangs des Entwerfens und des Verifizierens eines Halbleiterbauelements, wodurch eine bessere Entwurfsflexibilität erreicht wird.
  • Mit Bezug zu den 2A bis 2C werden nunmehr weitere anschauliche Ausführungsformen detaillierter beschrieben, wobei auch bei Bedarf auf die 1A bis 1C verwiesen wird.
  • 2A zeigt schematisch ein Schaltbild, das ein Halbleiterbauelement 100 mit einem Speicher 120A repräsentiert, beispielsweise in Form einer beliebigen Art an eingebettetem Speicherbereich etwa einem RAM (Speicher mit wahlfreiem Zugriff), in Form eines statischen oder dynamischen RAM, eines nichtflüchtigen Speichers und dergleichen. Des Weiteren umfasst das Halbleiterbauelement 100 eine MBIST-Schaltung 230, die ausgebildet ist, einen oder mehrere Prüfalgorithmen auszuführen, wie dies zuvor erläutert ist. Es sollte beachtet werden, dass 2A die elektrische Konfiguration der MBIST-Schaltung 230 repräsentieren soll und auch eine tatsächliche Implementierung auf einem geeigneten Substrat zur Herstellung von Halbleiterbauelementen repräsentieren kann. Das heißt, die einzelnen Schaltungselemente, etwa Transistoren und dergleichen, sind in einem geeigneten Halbleitermaterial gemäß den elektrischen Eigenschaften aufgebaut, wie sie in dem SChaltbild in 2A gezeigt sind. Zu diesem Zweck wird eine beliebige geeignete Fertigungstechnik eingesetzt, etwa CMOS-Techniken, Techniken für MOS-Transistoren und Bipolartransistoren und dergleichen, wobei auch Mischsignalbauelemente enthalten sind, solange der eineingebettete Speicher 120A vorgesehen ist und eine effiziente eingebaute Testumgebung erfordert. Wie gezeigt, ist die MBIST-Schaltung 230 mit dem Speicher 120A mittels einer entsprechenden Schnittstellenlogik 240 verbunden, die beliebige elektronische Komponenten repräsentiert, um eine Verbindung zu dem Speicher 120A herzustellen, wobei zu beachten ist, dass die Schnittstellenlogik 240 einen Speicherbereich des Bauelements 100 repräsentiert, der das eigentliche Speicherarray, d. h. ein entsprechendes Array aus Speicherzellen, und auch die entsprechende Steuerlogik, die zum Ausführen von Speicheroperationen in dem Array erforderlich ist, d. h. das Schreiben von Daten in spezielle Speicherstellen und das Auslesen der Daten davon, enthält. Folglich führt die Signalverarbeitung in dem Speicherbereich 120A und in der Schnittstellenlogik 240 zu einer ähnlichen Signalausbreitungsverzögerung, beispielsweise zum Umschalten von Transistoren und dergleichen, da diese Komponenten in unmittelbarer Nähe zueinander ausgebildet sind. Die MBIST-Schaltung 230 umfasst ferner eine geeignete Steuerschaltung, die in lokaler Weise das Prüfen des Speichers 120A steuert, wie dies auch zuvor mit Bezug zu 1B erläutert ist, und es sind auch mehrere Schaltungen 260 vorgesehen, die auch als untergeordnete Schaltungen bezeichnet werden, wenn eine Vielzahl eingebetteter Speicher in dem Halbleiterbauelement 100 vorgesehen ist. Beispielsweise ist die Schaltung 260 mit einer MBIST-Steuerung verbunden, die mehrere Schaltungen 260 koordiniert, wie dies auch zuvor erläutert ist. Ferner sind die Schaltung 260 und die Schnittstellenlogik 240 mit einer Busleitung 250 verbunden, die nachfolgend auch als Steuer- und Signalbusleitungen bezeichnet werden, die jedoch eine beliebige Anzahl an Pipelinestufen aufweisen können, wie dies durch die Pipelinestufen 251, 252 angegeben ist, entsprechend den zeitlichen Ablauferfordernissen und dergleichen. Beispielsweise umfassen die Steuer- und Signalleitungen 250 ein Bündel aus Steuerleitungen 261, die Adressen und eine Sequenz aus Befehlen transportieren, um entsprechende Speicheroperationen in dem Speicher 120A in Gang zu setzen. Es sollte beachtet werden, dass der Einfachheit halber Signalleitungen und die jeweiligen Signale oder Daten durch die gleichen Bezugszeichen belegt sind.
  • Ferner sind Datenleitungen 262 vorgesehen, um ein geeignetes Testdatenmuster dem Speicher 120A zuzuleiten. Die Steuersignale mit Befehlen zum Ausführen der Speicheroperationen 261 und der Testdatenmuster 262 werden von einem Schaltungsbereich 266 erhalten, der wiederum mit geeigneten Komponenten verbunden ist, um die erforderlichen Daten bereitzustellen. In der gezeigten Ausführungsform enthält die Schaltung 266 einen Signalgenerator 270, der auch als Ping-Signalgenerator bezeichnet wird, um ein geeignetes Signal bereitzustellen, das die gleiche Verzögerung innerhalb der Signal- und Busleitungen 250 erfährt wie andere Signale, die über Leitungen 250 übertragen werden, wenn ein spezieller Prüfalgorithmus ausgeführt wird. In der gezeigten Ausführungsform ist der Ping-Signalgenerator 270 mit einer zugeordneten Signalleitung 271 verbunden, um das Ping-Signal bereitzustellen, während in anderen anschaulichen Ausführungsformen, wie dies nachfolgend mit Bezug zu 2B beschrieben ist, eine oder mehrere der Signalleitungen 261, 262 verwendet werden, um das Ping-Signal zu der Schnittstellenlogik 240 zu übertragen. Das Ping-Signal 271 ist ferner mit einer Verzögerungsanpassungsstufe 244, in der Schnittstellenlogik 240 vorgesehen ist, verbunden, wobei die Stufe 244 eine beliebige geeignete Anzahl an Pipelinestufen aufweist, um damit im Wesentlichen das gleiche Zeitverhalten im Vergleich zu Datensignalen zu erreichen, die in dem Speicher 220 verarbeitet werden, oder in einer entsprechenden Verzögerungsanpassstufe 243, um Referenzdaten 262r auf der Grundlage der ursprünglichen Busdaten 262 bereitzustellen.
  • Es sollte beachtet werden, dass im Gegensatz zur Verzögerungsanpassstufe 243, die eine Anzahl an Referenzstufen entsprechend der Verzögerung im Speicher 220 repräsentiert, die Anpassstufe 244 auch zusätzliche Pipelinestufen kompensiert, die mit einer Fehlererkennungsschaltung 241 der Schnittstellenlogik 240 verknüpft sind. Beispielsweise kann die Signalverarbeitung in der Stufe 241 zum Vergleichen von Speicherdaten 262m mit den Referenzdaten 262r zwei oder mehr Pipelinestufen beinhalten, die auch berücksichtigt werden, wenn eine entsprechende Anzahl an Pipelinestufen der Stufe 244 eingerichtet wird. Folglich besitzt das Ping-Signal nach der Verzögerungsanpassstufe 244, wobei das Signal dann als 271a bezeichnet ist, die gleiche Verzögerung wie ein Fehlersignal 241d, das von der Fehlererkennungslogik 241 bereitgestellt wird. Bei einer Übertragung über die Pipelinestufe 252 repräsentiert das Signal 271a somit die gesamte Umlaufverzögerung, die durch die Leitungen 250, den Speicher 220 und die Fehlererkennungslogik 241 hervorgerufen wird.
  • Beim Betreiben des Halbleiterbauelements 200 in einer Testphase liefert die Schaltung 260 das Ping-Signal 271 während einer geeigneten Phase, beispielsweise vor dem Ausgeben der Signale 261 und 262, um die Umlaufverzögerung zu bestimmen, indem beispielsweise der Zähler entsprechend dem Ausgeben des Signals 271 und dem Empfangen des Signals 271a gesteuert wird. Auf der Grundlage der erkannten Umlaufverzögerung wird ein entsprechender Zusammenhang zwischen dem Fehlersignal 241d und dem Zustand des Speichers 220, beispielsweise in Form einer Bitkarte 238a hergestellt, die aus der Fehlererkennungslogik 241 ausgelesen werden kann, wie dies auch mit Bezug zu 1C beschrieben ist, wobei diese Zuordnung in zuverlässiger Weise unabhängig von der Anzahl der Pipelinestufen in dem Bussystem 250 ermittelt wird.
  • 26 zeigt schematisch das Halbleiterbauelement 200 gemäß weiterer anschaulicher Ausführungsformen, in denen das Ping-Signal 271 der Schnittstellenlogik 240 mittels der Leitungen 261 und/oder 262 zugeleitet wird, wie sie auch während des standardmäßigen Speicherselbsttests verwendet werden. Ferner wird das Ping-Signal 271a mittels einer Signalleitung übertragen, wie sie auch während des standardmäßigen Speicherselbsttests verwendet wird, wodurch die gleiche Verzögerung für das Ping-Signal 271, 271a im Vergleich zu den Steuer- und Datensignalen 261, 262 und Signalen, die von der Schnittstellenlogik 240 zur Schaltung 260 geleitet werden, gewährleistet ist. In der gezeigten Ausführungsform wird das Ping-Signal 271a mit einer geeigneten Verzögerung, die durch die Stufe 244 hervorgerufen wird, auf der Grundlage der Signalleitung 241d übertragen, die auch für das Transportieren eines Fehlersignals verwendet wird, das durch die Fehlererkennungslogik 241 bereitgestellt wird. Zu diesem Zweck kann ein exklusives ODER-Gatter 272 vorgesehen werden, um das Fehlersignal 241 zu empfangen, das in einem gut definierten Zustand beim Einprägen des Ping-Signals 271 in die Schnittstellenlogik 240 ist. Beim Senden des Signal 271 wird somit das Fehlersignal 241d mittels des exklusives ODER-Gatter 272 gesetzt und ein entsprechender Impuls wird nach dem Durchlaufen der Pipelinestufe 252 mittels eines Ping-Signalempfängers 280 erkannt. Die Schaltung 280 ist ausgebildet, ein entsprechendes Umschalten des Signals 241 zu erkennen, das durch das Ping-Signal 271a hervorgerufen wird, während andererseits ein gesetzter Zustand des Fehlersignals 241d auch erkannt wird, um als ein Auslöseimpuls für einen Fehlerzähler 264 zu dienen. Zu diesem Zweck wird das Hin- und Herschalten des Signals 241d/271a während eines einzelnen Taktzyklus durch den Empfänger 280 erkannt, während gleichzeitig sichergestellt ist, dass der Fehlerzähler 264 durch das Ping-Signal 271a nicht aktiviert wird.
  • Beispielsweise liefert in der gezeigten Ausführungsform die Schaltung 266 mit dem Ping-Signalgenerator 270 das Ping-Signal 271 während einer Rücksetzphase, in der ein Rücksetzzustandssignal 266a gesetzt ist. Das Signal 266a halt ein Eingangssignal 288a, das einem UND-Gatter 288 zugeleitet ist, auf tiefem Pegel, solange die Einheit 266 im Rücksetzzustand ist. Nach dem Übergang in den „Ausführungszustand” der Einheit 266, d. h. nach dem Übergang in einen Zustand zum Senden des Ping-Signal 271 und dem Beginnen des Bereitstellens von Speicheroperationen über die Signalleitung 261, wird das Signal 266a zurückgesetzt. Jedoch halt der zurückgesetzte Zustand des Signals 241d/271a weiterhin das Signal 288a auf tiefem Pegel, wodurch sichergestellt ist, dass ein Ausgang 288d zum Auflösen des Operationszählers 263 weiterhin auf tiefem Pegel bleibt, obwohl ein Puls 266b beim Ausgeben entsprechender Speicheroperationen dem UND-Gatter 288 zugeleitet wird. Folglich wird weiterhin verhindert, dass der Operationszähler 263 zu zählen beginnt, obwohl entsprechende Speicheroperationen über die Leitung 261 ausgegeben werden. Nach einer gewissen Anzahl an Speicheroperationen, die der Schnittstellenlogik 240 zugeleitet sind, wird somit das Signal 241d/271a während eines einzelnen Taktzyklus gesetzt, und führt zu einem gesetzten Zustand eines Ausgangs eines exklusiven ODER-Gatters 282 während dieses Taktzyklus, da der Ausgangszustand eines getakteten Registers 281a weiterhin auf einem logisch tiefen Pegel bleibt. Somit empfängt das UND-Gatter 283 den Ausgang des Gatters 282 und das invertierte zurückgesetzte Signal 266a und geht in einen logisch hohen Pegel über, der wiederum einen ODER-Gatter 284 zugeleitet ist, dessen zweiter Eingang weiterhin auf tiefem logischen Pegel aufgrund des getakteten Registers 286 bleibt, das weiterhin einen logischen Pegel, der von einem UND-Gatter 285 in einem vorhergehenden Taktzyklus empfangen wird, beibehält. Somit führt der Ausgang des ODER-Gatters 284 zu einer Aktivierung des Operationszählers 263 über das UND-Gatter 288 derart, dass der Zähler 263 tatsächlich zu einem Zeitpunkt zu zählen beginnt, an welchem der entsprechende Testalgorithmus tatsächlich in dem Speicher 200 beginnt.
  • Somit beginnt der Operationszähler 263 das Zählen beim Empfang des ersten Fehlersignals von der Fehlererkennungsschaltung 241, das von einem ersten Lesevorgang erzeugt wird, der mit diesem ersten Fehlersignal verknüpft ist. In diesem Falle halt der Eingang eines UND-Gatters 287, das das Signal 241d/271a empfängt, und der Ausgang des ODER-Gatters 284 weiterhin den Auslöseeingang des Fehlerzählers 264 auf tiefem Pegel während dieses Taktzyklus, wodurch ein Inkrementieren des Zählers 264 verhindert wird. Daraufhin wird das Signal 241d/271a in den logisch tiefen Zustand über und kann nun den Fehlerstatus repräsentieren, der durch die Schaltung 241 angegeben wird. In diesem Falle ist das Signal 288a weiterhin auf einem logisch hohen Pegel aufgrund des getakteten Registers 286 gehalten, das nunmehr auf einem logisch hohen Pegel gehalten wird. Folglich bleibt der Operationszähler 263 aktiviert und zählt weiterhin die Speicheroperationen, die von der Schaltung 266 ausgegeben werden. Somit bleibt das Signal 241d/271a solang zurückgesetzt, bis kein Fehler von der Schaltung 241 erkannt wird, da der Ausgang des UND-Gatters 287 weiterhin verhindert, dass der Fehlerzähler 264 seinen Zählerwert erhöht. Beim Setzen des Signals 241d/271a, was somit das Auftreten eines Speicherfehlers repräsentiert, aktiviert das UND-Gatter 287 den Zähler 264, so dass der Zählerwert die Anzahl an Fehler repräsentiert, die von der Schaltung 241 erkannt werden. Durch Vorauswählen eines gewünschten Fehlers, beispielsweise des N-ten Fehlers, kann der Zähler 264 in geeigneter Weise so ausgelöst werden, dass der Operationszähler 263 deaktiviert wird und damit der entsprechende Zählerwert, der darin enthalten ist, verriegelt wird. Somit entspricht der Zählerwert dem N-ten Fehler, der von der Schaltung 241 erkannt wird, und dieser Zählerwert kann verwendet werden, um eine entsprechende Bitkarte aus einem Register 241c in einem nachfolgenden Durchlauf des gleichen Testalgorithmus zu lesen, nachdem der erste Durchlauf abgeschlossen ist, der weitergehen kann, ohne jedoch den Operationszähler 263 zu beeinflussen.
  • In der zuvor beschriebenen Ausführungsform ist der Ping-Signalgenerator 270 in geeigneter Weise ausgebildet, das Ping-Signal 271 auf der Grundlage einer geeigneten Kombination aus Steuersignalen bereitzustellen, die während eines standardmäßigen Testalgorithmus nicht verwendet wird, beispielsweise kann ein Signal „Schreiben aktivieren” in einem zurückgesetzten Zustand und ein Signal „Schreiben invers” in einem gesetzten Zustand den Steuerleitungen 261 in der Rücksetzphase zugeleitet werden und kann als ein einzigartiges kombiniertes Signal 271 verwendet werden. Diese einzigartige Steuersignalkombination, die als 271c und 271b angegeben ist, wird einer Dekodiereinheit 245 in der Schnittstellenlogik 240 zugeleitet, um ein einzelnes Ping-Signal 271d zu erhalten, das dann der Verzögerungsanpassungsstufe 244 zugeleitet wird, wie dies zuvor erläutert ist. Es sollte jedoch beachtet werden, dass eine beliebige andere geeignete Kombination aus standardmäßigen Steuersignalen eingesetzt werden kann, um ein einzigartiges und damit ein mittels der Dekodiereinheit 245 verlässig erkennbares Ping-Signal zu erhalten. Folglich ist durch die Verwendung der gleichen Steuer- und Fehlersignale, die auch während des normalen BIST-Betriebs verwendet werden, sichergestellt, dass das Ping-Signal 271, 271d, 271a die gleiche Verzögerung wie Steuer- und Fehlersignale, die während des BIST-Algorithmus verwendet werden, „sieht”.
  • In einer anschaulichen Ausführungsform wird nach dem Ausführen eines ersten Durchlaufes eines spezifizierten Prüfalgorithmus, wodurch der Operationszähler 263 auf der Grundlage des Ping-Signals 271a verriegelt wird, wie dies zuvor beschrieben ist, ein weiterer Durchlauf des gleichen Prüfalgorithmus initiiert, jedoch ohne Anwenden des Ping-Signals 271, wobei die Schaltung 266 ein Signal 266c zu dem Operationszähler 263 liefert, um damit das Dekrementieren des Zählerwertes beim Ausgeben der Speicheroperationen zu ermöglichen. Beim Erreichen des Zählerwertes Null, liefert der Operationszähler 263 ein Ausgangssignal 263a zu der Schaltung 266, um das Ausgeben weiterer Speicheroperationen zu deaktivieren. Somit entspricht der Zustand der Fehlererkennungsschaltung 241, d. h. des Registers 241c, dem Zustand, der durch das Verriegeln des Operationszählers 263 in dem vorhergehenden Durchlauf des Prüfalgorithmus hervorgerufen wurde, wenn der zugehörige n-te Fehler auftrat. Folglich repräsentiert der Zustand des Registers 241c die gewünschte Bitkarte, die dem n-ten Fehler entspricht. Da die weitere Ausgabe der Speicheroperationen zuverlässig auf der Grundlage des Signals 263a unterbunden wird, kann somit der Inhalt des Registers 241c nach dem Ende des Durchlaufes des Prüfalgorithmus ausgelesen werden, um damit die Bitkarte 238a zu erhalten.
  • 2C zeigt schematisch ein Zeitablaufdiagramm, wenn das Halbleiterbauelement 200, wie es in 28 gezeigt ist, auf der Grundlage eines speziellen Prüfalgorithmus und unter Anwendung mindestens zweier separater Durchläufe oder Durchgänge betrieben wird, um eine Sequenz aus Speicheroperationen auszuführen, um damit eine Bitrate für einen aus mehreren Speicherfehlern zu erhalten. Wie gezeigt, ist die Zeit entlang der horizontalen Richtung in Einheiten von Taktzyklen CLK aufgetragen. Wie dargestellt, geht der Zustand der Einheit 266 (siehe 2B) von einem Rücksetzzustand in einen Ausführungszustand über.
  • In der nächsten Zeile wird der Status der Steuersignale 261 dargestellt, wobei das Ping-Signal 271 während der Rücksetzphase der Schaltung 266 erzeugt wird, wie dies auch zuvor erläutert wird, und nach einer gewissen konstanten Wartezeit werden Speicheroperationen 261 ausgegeben.
  • In der nächsten Zeile ist der Zustand der Signale in der Schnittstellenlogik 240 dargestellt, wobei das Zeitintervall T1 die Zeit repräsentiert, die zum Übertragen eines Steuersignals und des Ping-Signals von der Schaltung 260 (siehe 2B) zu der Schnittstellenlogik 240 zu übertragen.
  • Die nächste Zeile zeigt die Zeit am Speicherarray 227, wobei der Zeitintervall T3 die Zeit repräsentiert, um den Speicher 220 einschließlich möglicher Pipelinestufen in der Fehlererkennungsschaltung 241 auszulesen (siehe 2B).
  • Die nächste Zeile zeigt den Zustand des Fehlersignals 241d, wobei das Zeitintervall T2 die Zeit repräsentiert, die zum Verarbeiten in den Pipelinestufen 252 erforderlich ist (siehe 2B).
  • In der nächsten Zeile ist der Zustand des Operationszählers 263 dargestellt, wobei T4 die Zeitdauer repräsentiert, in der der Zähler 263 aktiviert ist, d. h. die Zeit nach dem Empfangen des Ping-Signals und vor dem Empfangen eines Signals, das den n-ten Fehler repräsentiert, wobei in anderen Zeiten der Zähler 263 angehalten und blockiert ist, bis der Prüfalgorithmus abgeschlossen ist. Dieser Zählerwert wird dann zur externen Testschaltung für eine weite Fehleranalyse gesendet, da dieser Zählerwert die entsprechende Speicheroperation repräsentiert, die den betrachteten Fehler hervorgerufen hat.
  • Während eines zweiten Durchlaufs des Prüfalgorithmus wird das Ping-Signal während der Rücksetzphase der Schaltung 266 nicht erzeugt, wie dies durch „nop” im Status der Steuersignale 261 während der Rücksetzphase angegeben ist. Der Operationszähler 263 zählt von dem vorhergehenden gezählten und gespeicherten Zählerwert abwärts, was durch h6 angegeben ist, bis der Wert Null erreicht wird, d. h. dies ist das Zeitintervall, das benötigt wird, von dem ersten Algorithmusbefehl, der die Fehlererkennungsschaltung 241 erreicht, bis zum Auftreten eines Fehlers. Sobald der Operationszähler 263 den Wert Null erreicht hat, werden alle weiteren Befehle über das Signal 263a (siehe 2B) blockiert, wie dies such „nop” in der letzten Zeile des Zeitablaufdiagramms angegeben ist. Da alle weiteren Speicheroperationen blockiert sind, kann die Bitkarte, die dem n-ten Fehler entspricht, dann ausgelesen werden, sobald ein zweiter Durchlauf des Algorithmus abgeschlossen ist.
  • Es gilt also: die vorliegende Offenbarung stellt Halbleiterbauelemente und Techniken zu deren Betriebsweise bereit, wobei Pipelineverzögerungen beim Entwerfen des Halbleiterbauelements auf der Grundlage der fundamentalen Registertransfersprache nicht bekannt sein müssen, wobei dennoch die Möglichkeit bereitgestellt wird, zusätzliche Pipelinestufen für das Vermeiden von Zeitablaufunregelmäßigkeiten hinzuzufügen, ohne dass der MBIST negativ beeinflusst wird. Somit sind im Gegensatz zu konventionellen Techniken zusätzliche Mechanismen, die zum Subtrahieren der Verzögerung von dem Zählerwert für einen zweiten Durchlauf des Prüfalgorithmus erforderlich sind, nicht notwendig. In ähnlicher Weise sind Wartezyklen, die konventionellerweise in den Entwurf mit einzubinden sind, nicht erforderlich, die konventionellerweise mit einer hohen Wahrscheinlichkeit des Einführens von Zeitablauffehler verknüpft sind. Des Weiteren sind komplexe und aufwändige Pipelineausgleichstechniken nicht mehr erforderlich. In einigen anschaulichen Ausführungsformen kann die Zuverlässigkeit des Bestimmens der Umlaufverzögerung auf der Grundlage eines Ping-Signals verbessert werden, indem ein und dieselben Steuer- und Fehlersignalleitungen auch während eines tatsächlichen Selbstprüfalgorithmus eingesetzt werden. Folglich kann eine eingebaute Selbsttestschaltung in effizienter Weise in komplexe Halbleiterbauelemente eingerichtet werden, ohne dass zusätzliche unerwünschte Komplexität entsteht.

Claims (25)

  1. Halbleiterbauelement mit: einem Speicherbereich; einer eingebauten Speicherselbsttest-(MBIST)Schaltung, die mit dem Speicherbereich verbunden ist, wobei die MBIST-Schaltung ausgebildet ist, einen Speicherselbsttest durch Auslesen des Speicherbereichs und durch Vergleichen der Ausleseergebnisse mit Referenzdaten auszuführen, um Vergleichsergebnisse zum Erkennen mehrerer Speicherfehler bereitzustellen; und einer Verzögerungserkennungsschaltung, die in der MBIST-Schaltung vorgesehen und ausgebildet ist, ein Zeitintervall vom Beginn eines Testalgorithmus an dem Speicherbereich und dem Auftreten eines vordefinierten Fehlers der Speicherfehler zu bestimmen, wobei das Zeitintervall eine Umlaufverzögerung des Halbleiterbauelementes darstellt.
  2. Halbleiterbauelement nach Anspruch 1, wobei die Verzögerungserkennungsschaltung einen Ping-Signalgenerator und einen Ping-Signalempfänger aufweist, wobei der Ping-Signalgenerator und der Ping-Signalempfänger ausgebildet sind, ein Ping-Signal zu erzeugen und das Ping-Signal zu empfangen, um damit die Umlaufverzögerung von der Verzögerungserkennungsschaltung zu dem Speicherbereich und zurück zu der Verzögerungserkennungsschaltung zu bestimmen.
  3. Halbleiterbauelement nach Anspruch 2, wobei der Ping-Signalgenerator ausgebildet ist, das Ping-Signal auf einer oder mehreren Steuerleitungen bereitzustellen, die die Verzögerungserkennungsschaltung mit dem Speicherbereich verbinden, und wobei die eine oder die mehreren Steuerleitungen solche repräsentieren, die zum Steuern einer Schreiboperation und/oder einer Leseoperation des Speicherbereichs dienen.
  4. Halbleiterbauelement nach Anspruch 3, wobei der Ping-Signalgenerator ferner ausgebildet ist, das Ping-Signal als eine Kombination zweier oder mehrerer Signale auf zwei oder mehr der einen oder mehreren Steuerleitungen bereitzustellen.
  5. Halbleiterbauelement nach Anspruch 3, wobei der Ping-Signalgenerator eine Verzögerungsanpassstufe aufweist, die in dem Speicherbereich ausgebildet ist, wobei die Verzögerungsanpassstufe ausgebildet ist, eine Verzögerung des Ping-Signals einer Verzögerung anzupassen, die durch Verarbeiten eines Testmusters des Testalgorithmus in dem Speicherbereich hervorgerufen wird.
  6. Halbleiterbauelement nach Anspruch 3, wobei der Ping-Signalempfänger ausgebildet ist, das Ping-Signal auf einer Signalleitung zu empfangen, die zum Angeben eines Speicherfehlers verwendet wird.
  7. Halbleiterbauelement nach Anspruch 3, das ferner einen Operationskodierungszähler umfasst, der mit dem Ping-Signalempfänger verbunden ist, wobei der Ping-Signalempfänger ausgebildet ist, den Operationskodierungszähler beim Empfangen des Ping-Signals zu aktivieren.
  8. Halbleiterbauelement nach Anspruch 7, das ferner einen Fehlerzähler aufweist, der ausgebildet ist, ein Fehlersignal zu empfangen und den Operationskodierungszähler beim Auftreten des vordefinierten Fehlersignals zu verriegeln.
  9. Halbleiterbauelement nach Anspruch 8, das ferner eine Steuereinheit aufweist, die ausgebildet ist, Operationskodierungs- und Steuersignale zum Ausführen des Testalgorithmus bereitzustellen, wobei die Steuereinheit mit dem Operationskodierungszähler verbunden und ausgebildet ist, einen dekrementierenden Betriebsmodus und einen inkrementierenden Betriebsmodus des Operationskodierungszählers auszuwählen.
  10. Halbleiterbauelement nach Anspruch 9, wobei der Operationskodierungszähler ferner ausgebildet ist, das Ausgeben einer Operationskodierung durch die Steuereinheit in einem der Betriebsmodi beim Auftreten einer vorbestimmten Zählerzahl in dem Operationskodierungszähler zu unterbinden.
  11. Halbleiterbauelement nach Anspruch 10, das ferner eine Verschiebelogik aufweist, die ausgebildet ist, eine Bitkarte entsprechend einer Operationskodierung seriell auszulesen, die mit einer Operation, die unmittelbar vor dem Deaktivieren des Ausgebens von Operationskodierungen ausgegeben wurde, verknüpft ist.
  12. Verfahren zum Ausführen eines Speicherselbsttests eines Speicherbereichs eines Halbleiterbauelements, wobei das Verfahren umfasst: Bestimmen einer Umlaufverzögerung von Steuersignalen und eines Fehlersignals, die zwischen dem Speicherbereich und einer eingebauten Speicherselbsttest-(MBIST)Schaltung ausgetauscht werden, vor einem ersten Durchlauf eines Testalgorithmus, wobei der Testalgorithmus die MBIST-Schaltung veranlasst, mehrere Speicheroperationen auszuführen und Ergebnisdaten der mehreren Speicheroperationen mit Referenzdaten zu vergleichen, um mehrere Speicherfehler zu bestimmen; und Erhalten einer Fehlerbitkarte des Speicherbereichs für einen ausgewählten Fehler der mehreren Speicherfehler auf der Grundlage der Umlaufverzögerung durch Ausführen eines zweiten Durchlaufs des Testalgorithmus.
  13. Verfahren nach Anspruch 12, wobei Bestimmen der Umlaufverzögerung umfasst: Erzeugen eines Ping-Signals und Übertragen des Ping-Signals auf einer oder mehreren Signalleitungen, die zum Übertragen der Steuer- und Fehlersignale verwendet werden.
  14. Verfahren nach Anspruch 13, wobei Erzeugen des Ping-Signals umfasst: Erzeugen einer Steuersignalkombination, die zum Ausführen des ersten und des zweiten Durchlaufs des Testalgorithmus nicht verwendet wird.
  15. Verfahren nach Anspruch 14, wobei Erzeugen des Ping-Signals ferner umfasst: Dekodieren der Steuersignalkombination in ein einzelnes Signal in dem Speicherbereich, um dem einzelnen Signal und den Steuersignalen, die dem Speicherbereich zum Ausführen des ersten und des zweiten Durchlaufes zuzuleiten sind, im Wesentlichen die gleiche Verzögerung zu verleihen.
  16. Verfahren nach Anspruch 15, wobei Erzeugen des Ping-Signals ferner umfasst: Verarbeiten des Ping-Signals derart, dass dem Ping-Signal eine Verarbeitungsverzögerung hinzugefügt wird, wobei die Verarbeitungsverzögerung im Wesentlichen einer Verzögerung entspricht, die durch Ausführen der Speicheroperationen und Erhalten eines Ergebnisses des Vergleichs hervorgerufen wird.
  17. Verfahren nach Anspruch 13, wobei das Ping-Signal über eine Fehlersignalleitung übertragen wird, die zum Angeben der mehreren Speicherehler verwendet wird, wenn der erste und der zweite Durchlauf ausgeführt werden.
  18. Verfahren nach Anspruch 13, wobei Bestimmen der Umlaufverzögerung ferner umfasst: Ausgeben des Ping-Signals, Ausgeben der Operationskodierung zum Ausgeben der Speicheroperationen und Starten eines Zählers beim Empfang des Ping-Signals.
  19. Verfahren nach Anspruch 18, wobei der Zähler ein Operationskodierungszähler ist.
  20. Verfahren nach Anspruch 18, wobei Bestimmen der Umlaufverzögerung ferner umfasst: Anhalten des Zählers und Verriegeln eines Zählerinhalts beim Erkennen des ausgewählten Speicherfehlers.
  21. Verfahren nach Anspruch 20, wobei Erhalten der Fehlerbitkarte umfasst: Ausgeben der Operationskodierung der Speicheroperationen während des zweiten Durchlaufs und Deaktivieren des Ausgebens der Operationskodierung nach dem Ausgeben einer Anzahl an Operationen, die gleich ist der verriegelten Zählerzahl.
  22. Verfahren mit: Senden eines Ping-Signals von einer Testschaltung eines Halbleiterbauelements zu dem Speichergebiet eines Halbleiterbauelements über einen Steuerleitungsbus, der die Testschaltung mit dem Speichergebiet verbindet, wobei das Speichergebiet einen Speicherbereich des Halbleiterbauelements enthält; Durchleiten zumindest eines Teils des Ping-Signals durch eine Verzögerungsanpassschaltung, um eine im Wesentlichen identische Verarbeitungsverzögerung für den zumindest einen Teil des Ping-Signals und für Steuer- und Datensignale zu erhalten, die in dem Speichergebiet verarbeitet werden; Zurückführen des mindestens einen Teils des Ping-Signals zu der Testschaltung über eine Fehlersignalleitung; Ausführen eines Speicherselbsttestalgorithmus durch Senden einer Sequenz aus Speicheroperationen und Testdaten zu dem Speichergebiet über den Steuerleitungsbus und einen Datenleitungsbus; und Steuern eines Operationszählers auf der Grundlage des zurückgeführten zumindest einen Teils des Ping-Signals und eines Fehlersignals, das das Auftreten eines Speicherfehlers anzeigt.
  23. Verfahren nach Anspruch 22, wobei Steuern des Operationszählers umfasst: Starten des Operationszählers beim Erkennen des zurückgeführten zumindest einen Teils des Ping-Signals und Verriegeln des Operationszählers, wenn der Speicherfehler erkannt wird.
  24. Verfahren nach Anspruch 23, wobei Ausführen des Speicherselbsttestalgorithmus umfasst: Ausführen eines ersten Durchlaufs, um die Sequenz aus Speicheroperationen nach dem Senden des Ping-Signals auszuführen, und Ausführen eines zweiten Durchlaufs, um eine Teilmenge der Sequenz aus Speicheroperationen auszuführen, wobei die Teilmenge auf der Grundlage eines Zählerwertes bestimmt ist, der in dem Operationszähler während des ersten Durchlaufes gespeichert wird.
  25. Verfahren nach Anspruch 24, das ferner umfasst: Erhalten einer Bitkarte von Vergleichsergebnissen nach dem Ende des zweiten Durchlaufs.
DE102009010886A 2009-02-27 2009-02-27 Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals Expired - Fee Related DE102009010886B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102009010886A DE102009010886B4 (de) 2009-02-27 2009-02-27 Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals
US12/709,605 US8458538B2 (en) 2009-02-27 2010-02-22 Latency detection in a memory built-in self-test by using a ping signal
US13/863,965 US9245652B2 (en) 2009-02-27 2013-04-16 Latency detection in a memory built-in self-test by using a ping signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009010886A DE102009010886B4 (de) 2009-02-27 2009-02-27 Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals

Publications (2)

Publication Number Publication Date
DE102009010886A1 DE102009010886A1 (de) 2010-09-09
DE102009010886B4 true DE102009010886B4 (de) 2013-06-20

Family

ID=42538393

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009010886A Expired - Fee Related DE102009010886B4 (de) 2009-02-27 2009-02-27 Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals

Country Status (2)

Country Link
US (2) US8458538B2 (de)
DE (1) DE102009010886B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2806729A1 (en) * 2010-08-06 2012-02-09 Acquire Media Ventures Inc. Method and system for pacing, ack'ing, timing, and handicapping (path) for simultaneous receipt of documents
CN104751875B (zh) * 2013-12-25 2017-10-24 上海华虹宏力半导体制造有限公司 应用于nvm芯片的失效位图分析方法
US9787564B2 (en) * 2014-08-04 2017-10-10 Cisco Technology, Inc. Algorithm for latency saving calculation in a piped message protocol on proxy caching engine
CN104572379A (zh) * 2015-01-29 2015-04-29 浪潮电子信息产业股份有限公司 一种rack机柜rmc登录的测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150777A1 (en) * 2005-12-26 2007-06-28 Nec Electronics Corporation Memory test circuit and method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876685A (en) * 1987-06-08 1989-10-24 Teradyne, Inc. Failure information processing in automatic memory tester
JPH02118474A (ja) * 1988-10-28 1990-05-02 Fujitsu Ltd 伝播遅延時間の試験装置
US5682472A (en) * 1995-03-17 1997-10-28 Aehr Test Systems Method and system for testing memory programming devices
KR100234504B1 (ko) * 1995-09-18 1999-12-15 포만 제프리 엘 선택된 고장에 대한 고장정보를 포착하는 집적회로의 테스트 방법 및 내장된 자기 테스트 장치
US5923676A (en) * 1996-12-20 1999-07-13 Logic Vision, Inc. Bist architecture for measurement of integrated circuit delays
AU6964401A (en) * 2000-06-06 2001-12-17 Igor Anatolievich Abrosimov Data processing system
GB0026849D0 (en) * 2000-11-03 2000-12-20 Acuid Corp Ltd DDR SDRAM memory test system with fault strobe synchronization
JP2002162441A (ja) * 2000-11-22 2002-06-07 Nec Corp 半導体装置
US6622269B1 (en) * 2000-11-27 2003-09-16 Intel Corporation Memory fault isolation apparatus and methods
JP3544203B2 (ja) * 2002-08-30 2004-07-21 沖電気工業株式会社 テスト回路、そのテスト回路を内蔵した半導体集積回路装置、及びそのテスト方法
US6996032B2 (en) * 2003-07-28 2006-02-07 Credence Systems Corporation BIST circuit for measuring path delay in an IC
US7519891B2 (en) * 2005-09-28 2009-04-14 Intel Corporation IO self test method and apparatus for memory
CN100580472C (zh) * 2005-11-30 2010-01-13 国际商业机器公司 用于执行测试的方法和集成电路
KR100736673B1 (ko) * 2006-08-01 2007-07-06 주식회사 유니테스트 반도체 소자 테스트 장치
US7607060B2 (en) * 2006-09-12 2009-10-20 International Business Machines Corporation System and method for performing high speed memory diagnostics via built-in-self-test

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150777A1 (en) * 2005-12-26 2007-06-28 Nec Electronics Corporation Memory test circuit and method

Also Published As

Publication number Publication date
DE102009010886A1 (de) 2010-09-09
US9245652B2 (en) 2016-01-26
US20130232385A1 (en) 2013-09-05
US20100223513A1 (en) 2010-09-02
US8458538B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
DE10196635B4 (de) Speichermodul und in eine Speicherkomponente eingebaute Selbstprüfung
DE3903835C2 (de)
DE102006059158B4 (de) Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE102004023407B4 (de) Testvorrichtung und Verfahren zum Testen eines eingebetteten Speicherkerns sowie zugehöriger Halbleiterchip
DE602006000922T2 (de) Vorrichtung und Verfahren zur Prüfung einer RAM
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
EP0186724B1 (de) Prüf- und Diagnoseeinrichtung für Digitalrechner
DE60215933T2 (de) Verfahren und vorrichtung für fehlertolerante und flexible test-vektoren-erzeugung
DE102006059156A1 (de) Speichern von Mehrkern-Chiptestdaten
EP0144078A2 (de) Verfahren und Anordnung zum Prüfen einer Schaltung nach der Abfragepfad-Technik
DE10034899C1 (de) System zum Test schneller synchroner Halbleiterschaltungen
DE10315248A1 (de) Eingebaute Selbsttestschaltung
DE102009025412B4 (de) Integrierte Schaltung und Verfahren zum Schützen eines Schaltungsteils einer integrierten Schaltung, der geschützt werden soll und Computerprogrammprodukt zur Ausführung des Verfahrens
DE102009010886B4 (de) Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals
DE3702408A1 (de) Verfahren und pruefvorrichtung zum pruefen einer integrierten schaltungsanordnung
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE102015110144B4 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE102006011706B4 (de) Halbleiter-Bauelement, sowie Halbleiter-Bauelement-Test-Verfahren
DE102008013099A1 (de) Speichertestschaltung
DE10250875B4 (de) Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher
DE10052721B4 (de) Integrierte Schaltung und Verfahren zum Testen einer integrierten Schaltung
EP1430320B1 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
US20230176113A1 (en) Chip testing method and apparatus

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130921

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee