DE10292320T5 - Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher - Google Patents

Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher Download PDF

Info

Publication number
DE10292320T5
DE10292320T5 DE10292320T DE10292320T DE10292320T5 DE 10292320 T5 DE10292320 T5 DE 10292320T5 DE 10292320 T DE10292320 T DE 10292320T DE 10292320 T DE10292320 T DE 10292320T DE 10292320 T5 DE10292320 T5 DE 10292320T5
Authority
DE
Germany
Prior art keywords
memory
repaired
row
column
types
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.)
Withdrawn
Application number
DE10292320T
Other languages
English (en)
Inventor
Anthony J. Sauvageau
Michael A. Mullins
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE10292320T5 publication Critical patent/DE10292320T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme

Abstract

Verfahren zum Analysieren und Reparieren von Speicher, wobei das Verfahren die Schritte umfasst:
Bestimmen, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, unter Verwendung nur eines von einer Vielzahl von Typen von Speicherersatzteilen repariert werden müssen oder unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können;
wiederholtes Reparieren schadhafter Speicherzellen, die repariert werden müssen, unter Verwendung nur eines aus der Vielzahl von Typen von Speicherersatzteilen unter Überspringen beliebiger schadhafter Speicherzellen, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können, bis entweder keinen neuen Fehler, die repariert werden müssen, repariert werden und keine schadhaften Speicherzellen übersprungen werden oder der Speicher bestimmt wird, irreparabel zu sein;
Reparieren mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen; und
Wiederholen der Schritte zum Bestimmen, ob schadhafte Speicherzellen repariert...

Description

  • HINTERGRUND
  • Was beschrieben wird, sind Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher. Insbesondere werden Verfahren und Vorrichtung zum Analysieren und Reparieren von schadhaften Speicherzellen eines Speichers mit redundanter Speicherschaltungstechnik vorgestellt.
  • In allgemeinsten Sinne kann ein Speicher als zweidimensionale Felder von Speicherzellen mit einer Anzahl von Zeilen (M) und einer Anzahl von Spalten (N) definiert werden. Jeder Schnittpunkt einer Zeile und einer Spalte erzeugt ein Ausgabebit von gespeicherter Information. Häufig ist es wünschenswert, mehr als ein Bit einer Informationsausgabe aus dem Speicher zu einem beliebigen gegebenen Zeitpunkt zu haben. Zwei Verfahren, um dies zu erreichen, sind entweder Duplizieren der gesamten Feldstruktur, um das zusätzliche Ausgabebit vorzusehen, oder Unterteilen einer Dimension des Feldes (z.B. entweder in der M- oder N-Dimension) in verschiedene Unterteilungen, wobei jede Unterteilung ein Ausgabebit zu jedem Zeitpunkt vorsieht, wenn auf das Speicherfeld zugegriffen wird.
  • Es können drei Variablen R, C und I/O verwendet werden, um das Unterteilte zu beschreiben (typischerweise geschrieben als R × C × IO). R und C können die Anzahl von Zeilen bzw. die Anzahl von Spalten in dem Feld darstellen und dienen als Eingaben zu dem Feld. Die I/O-Variable wird kann die Anzahl von Bits darstellen, die von einem "Schnittpunkt" einer Zeile und einer Spalte in dem Feld ausgegeben werden. In der Praxis werden die I/O-Bits nicht an dem Schnittpunkt einer einzelnen Zeile und Spalte des Feldes gebildet. Stattdessen werden die I/O-Bits durch entweder eine Sammlung von Schnittpunkten einer einzelnen Zeile und mehrfacher Spalten des Feldes, auf die gleichzeitig zugegriffen wird, oder durch eine Sammlung von Schnittpunkten einer einzelnen Spalte und mehrfacher Zeilen des Feldes, auf die gleichzeitig zugegriffen wird, gebildet. Wie die I/O-Bits gebildet werden, hängt davon ab, Zeilen oder Spalten unterteilt sind, um die mehrfachen I/Os für das Feld zu erstellen.
  • Konventionelle Speicherfelder enthalten redundante Speicherzellen, die verwendet werden, um schadhafte Speicherzellen zu ersetzen, zum großen Teil um die Herstellungsausbeute an Speicher zu erhöhen. Da Speicher allgemein als zweidimensionale Felder von Zeilen und Spalten definiert werden kann, ist es passend, auch die redundanten Zellen als zweidimensionale Gruppen von Ersatzzeilen und Ersatzspalten (oder Ersatz-I/Os) zu definieren. Die Anzahl von Ersatzzeilen und Spalten (oder I/Os) und ihre Konfigurationen können variieren, typischerweise wird ein Speicherfeld aber angeordnet sein, entweder Gruppen von Ersatzzeilen und Spalten oder Gruppen von Ersatzzeilen und I/Os zu haben.
  • Eine Ersatzzeile ist zum gleichzeitigen Ersetzen einer Anzahl von Spalten und I/Os, die mit einer einzelnen Zeilenadresse eines Speichers verbunden sind, fähig. Ähnlich ist, wenn vorhanden, eine Ersatzspalte zum Ersetzen einer Anzahl von Zeilen, die mit einer einzelnen Spaltenadresse eines Speichers verbunden ist, fähig. Ersatz-I/Os, wenn vorhanden, sind zum gleichzeitigen Ersetzen einer Anzahl von Spalten, die mit einem bestimmten I/O-Bit eines Speichers verbunden sind, fähig. Typischerweise sind I/Os in der gleichen Richtung wie entweder die Zeilen oder Spalten von dem Speicherfeld orien tiert und können so gleich behandelt werden wie der Typ eines Ersatzes, der in der gleichen Richtung orientiert ist, für den Zweck eines Austauschs einer schadhaften Speicherzelle.
  • Konventionelles Testen von Speicher bezieht sowohl eine Identifizierung aller schadhaften Speicheradressen in einem Speicherfeld als auch eine Identifizierung dessen, welches (welche) Bit (s) jener Speicheradressen schadhaft sind, ein. Ein typischer Speichertest bezieht Schreiben verschiedener Datenmuster in einen Speicher, dann Lesen und Vergleichen der Ausgabe aus dem Speicher mit erwarteten Werten oder Mustern ein. Ungleichheiten zwischen erwarteten und tatsächlichen gelesenen Speicherwerten werden in einem externen Speicherabbild gespeichert, das sich typischerweise in dem Speichertester selbst befindet.
  • Nachdem alle Testmuster ausgeführt wurden und die schadhaften Adressen (und Bits) identifiziert und gespeichert wurden, kann der Tester dann eine Reparaturanalyse in den gespeicherten Fehlerdaten durchführen, um zu bestimmen, welche Bits (oder Zellen) von Zeilen und/oder Spalten (oder I/Os) einer schadhaften Adresse durch verfügbare Ersatzspeicherzellen ersetzt werden müssen, um den Speicher voll betriebsfähig zu machen. Die Information eines schadhaften Speichers wird typischerweise am Ende des gesamten Speichertests analysiert. Dies ermöglicht einer Reparaturroutine, die gesamte Information des schadhaften Speichers in Betracht zu ziehen, um eine optimale Reparaturkonfiguration zu bestimmen, die den Betrieb des Speichers maximiert und die die redundanten Speicherzellen auf die effizienteste Art und Weise verwendet. Durch Berücksichtigung der gesamten Information über schadhaften Speicher zu einer Zeit können bestimmte irreparable Speicherbedingungen frühzeitig identifiziert und der Speicher verworfen werden, bevor wertvolle Test- und Reparaturzeit für die irreparable Situation verschwendet wird.
  • Begrenzungen, die mit den meisten konventionellen Testern verbunden sind, erfordern, dass die Reparaturinformation dynamisch generiert und verwendet wird. Dies kann die gesamte Speicherausbeute durch ineffizientes Verwenden der redundanten Speicherzellen reduzieren. Diese Begrenzungen haben auch Speichertesten zu einem höchst aufwändigen und zeitverbrauchenden Prozess bei der Entwicklung von schnellerem und dichterem Speicher gemacht.
  • Zum Beispiel haben konventionelle Speichertester typischerweise eine relativ langsamere Bearbeitungstaktgeschwindigkeit als die Betriebsfrequenz der Speicherzelle, für deren Test sie verwendet werden. Die relativ langsamere Taktgeschwindigkeit macht es unmöglich zu bestimmen, ob der im Test befindliche Speicher bei normalen Betriebsgeschwindigkeiten korrekt arbeiten wird. Auch ist bei Verwendung dieser langsameren konventionellen Tester Sammeln von Fehlerinformation bei der normalen Betriebsgeschwindigkeit nicht möglich. Folglich muss der Tester zum Speichern großer Mengen von Fehlerdaten und dann Analysieren dieser großen Datenmenge in einer Reparaturroutine, die "off-line" ausgeführt wird, fähig sein. Bei konventionellen Testern muss der Fehlerspeicher so groß wie die gesamte erwartete Anzahl von schadhaften Bits sein. Da Speicherdichten fortsetzen sich zu vergrößern, muss auch der bereits begrenzte Testerspeicher erhöht werden und die Bearbeitungsleistung des Testers muss erhöht werden, um komplexere Reparaturroutinenlösungen bearbeiten zu können.
  • Eine andere Begrenzung, die mit konventionellen Testern verbunden ist, ist ihre typische begrenzte I/O-Fähigkeit. Da Speicher dichter wird, muss sich auch die Anzahl von I/Os, die benötigt werden, um den Speicher zu testen, erhöhen. Tester, die I/O-begrenzt sind, werden nicht fähig sein, den gesamten Speicher zu einem Zeitpunkt zu testen, was es erfor derlich macht, das Testprogramm in mehrere kleinere Tests zu partitionieren. Die Partitionierung des Speichertests führt zu einer insgesamt erhöhten Testzeit, was beträchtlich zu den Kosten beiträgt, die mit einer Speicherherstellung verbunden sind.
  • Speicherkonstrukteure haben Techniken für einen eingebauten Selbsttest (built-in-self-test, oder BIST) genutzt, um einige dieser Probleme anzusprechen. Bei BIST wird ein Mustergenerator zum Testen des Speichers auf dem gleichen Halbleiterchip (oder Wafer) wie der Speicher selbst hergestellt. Dies ermöglicht es der BIST-Schaltungstechnik, den Speicher "bei Geschwindigkeit" zu testen, was die Probleme eines Versagens, Fehler als ein Ergebnis eines Speichertests bei Geschwindigkeiten unterhalb der des Betriebs zu erfassen, beseitigt. Außerdem spricht BIST-Schaltungstechnik die Probleme an, die mit heutigen Testern verbunden sind, die I/O-begrenzt sind.
  • Dennoch sind mit konventionellen BIST-Techniken Begrenzungen verbunden. Zum Beispiel müssen noch große Mengen von Fehlerspeicher in die BIST-Schaltungstechnik einbezogen werden, um die Information über schadhaften Speicher zu speichern. Auch müssen zusätzliche Speicher- und Prozessorressourcen in den Speicher einbezogen werden, um die Reparaturroutinenbearbeitung durchzuführen. Wegen der Raum- und Prozessorbegrenzungen können nur begrenzte Mengen von Fehlerspeicher und Reparaturcode in den BIST-Entwurf integriert werden. Folglich fahren konventionelle BIST-Techniken fort, einen "Schnappschuss-Ansatz" ("snapshot-approach") zum Erfassen schadhafter Speicherstellen zu verwenden. Dies erfordert, dass die Reparaturroutine Information schadhaften Speichers "im Flug" ("on the fly") bearbeitet, was wie oben erörtert zu einer ineffizientes Verwendung der redundanten Speicherzellen, die auf dem Speicherchip enthalten sind, führt.
  • Es gibt somit ein Erfordernis für verbesserte Techniken zum Analysieren und Reparieren von Speicher, die die Komplexität der Reparaturroutine auf eine viel einfachere Aufgabe reduzieren und die Fehlerspeicheranforderungen, die Speichertestern auferlegt werden, mildern.
  • ZUSAMMENFASSUNG
  • Entsprechend ist es ein Ziel, eine Speicheranalyse reduzierter Komplexität und Reparaturtechnik, die verschiedene kleinere Abschnitte von Speicher zur gleichen Zeit effizient reparieren kann, vorzusehen. Ein anderes Ziel ist es, eine Speicheranalyse und Reparaturtechnik vorzusehen, die die Speicherung auf einem Chip (on-chip storage) einer gesamten Information schadhaften Speichers auf eine effiziente Art und Weise ermöglicht. Ein anderes Ziel ist es, eine Analyse bei Geschwindigkeit und eine Generierung von Reparaturinformation für alle Information schadhaften Speichers vorzusehen. Noch ein anderes Ziel ist es, das Testen von Speicher mit einer großen Anzahl von I/Os zu unterstützen. Noch ein anderes Ziel ist es, bestimmte irreparable Speicherfehlerbedingungen frühzeitig bei einer Ausführung der Reparaturroutine zu erfassen. Diese Ziele werden durch Verfahren und Vorrichtung, die schadhaften Speicherzellen eines Speichers zu analysieren und zu reparieren, angesprochen.
  • Gemäß einem Aspekt umfasst ein Verfahren zum Analysieren und Reparieren von Speicher den Schritt zum Bestimmen, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, unter Verwendung nur eines von einer Anzahl von Typen von Speicherersatzteilen repariert werden müssen oder unter Verwendung beliebiger der Anzahl von Typen von Speicherersatzteilen repariert werden können. Schadhafte Speicherzellen, die unter Verwendung nur eines von der Anzahl von Typen von Speicherersatzteilen repariert wer den müssen, werden wiederholt repariert, wobei beliebige schadhafte Speicherzellen, die unter Verwendung beliebiger der Anzahl von Typen von Speicherersatzteilen repariert werden können, übersprungen werden, bis entweder keine neuen Fehler, die repariert werden müssen, repariert werden und keine schadhaften Speicherzellen übersprungen werden oder der Speicher bestimmt wird, irreparabel zu sein. Mindestens eine von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen, wird repariert. Die Schritte zum Bestimmen, ob schadhafte Speicherzellen repariert werden müssen und wiederholten Reparieren schadhafter Speicherzellen, die repariert werden müssen, werden wiederholt, wann immer mindestens eine übersprungene schadhafte Speicherzelle repariert wird.
  • Gemäß einem verwandten Aspekt ist ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren eines von einem Zeilen- und Spaltenabschnitt eines Speichers fähig und ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen ist zum Reparieren des anderen der Zeilen- und Spaltenabschnitte eines Speichers fähig.
  • Gemäß einem anderen verwandten Aspekt umfassen schadhafte Speicherzellen, die repariert werden müssen, schadhafte Speicherzellen in einem jeweiligen Zeilen- oder Spaltenabschnitt eines Speichers mit einer Gesamtanzahl von schadhaften Speicherzellen, die eine Anzahl von verfügbaren Speicherersatzteilen eines komplementären Typs überschreitet.
  • Gemäß noch einem anderen verwandten Aspekt ist der mindestens eine Abschnitt eines Speichers durch logisches Unterteilen des Speichers in eine Anzahl von Analyseblöcken ausgebildet, wobei jeder Analyseblock vollständig mindestens einen von je dem Typ aus der Vielzahl von Typen von Speicherersatzteilen umfasst.
  • Gemäß noch einem anderen verwandten Aspekt ist der mindestens eine Abschnitt eines Speichers durch logisches Unterteilen von jedem Analyseblock in eine Anzahl von Teilblöcken ausgebildet, wobei jeder Teilblock, der sich über ein Gebiet des jeweiligen Analyseblocks entsprechend einem Bereich von Speicherzellen erstreckt, die zu reparieren jeder aus der Vielzahl von Typen von Speicherersatzteilen fähig ist.
  • Gemäß noch einem anderen verwandten Aspekt umfasst das Verfahren ferner den Schritt zum Speichern von Information einer schadhaften Speicherzelle für jeden Teilblock als einen separaten adressierbaren Eintrag im Speicher.
  • Gemäß noch einem anderen verwandten Aspekt wird die Information einer schadhaften Speicherzelle für jeden Teilblock in einem Abschnitt des Speichers, der analysiert und repariert wird, gespeichert.
  • Gemäß noch einem anderen verwandten Aspekt entspricht jeder adressierbare Eintrag in einem Speicher einer Fehlerspeichertabelle für einen jeweiligen Teilblock, wobei jede Fehlerspeichertabelle Zeilen- und Spalteneinträge zum Speichern von Information in Bezug auf eine Anzahl von schadhaften Speicherzellen hat, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden.
  • Gemäß noch einem anderen verwandten Aspekt umfasst das Verfahren ferner den Schritt zum Lesen der Information in Bezug auf die Anzahl von schadhaften Speicherzellen, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden, aus mindestens einer Fehlerspeichertabelle, die in einem Speicher gespeichert ist. Die schadhaften Speicherzel- len, die in dem mindestens einen Abschnitt eines Speichers erfasst werden, befinden sich in Teilblöcken entsprechend der mindestens einen Fehlerspeichertabelle, aus der die Information in Bezug auf die Anzahl schadhafter Speicherzellen gelesen wird.
  • Gemäß noch einem anderen verwandten Aspekt umfasst das Verfahren ferner den Schritt zum Durchführen von jedem der Schritte des Verfahrens in separaten Abschnitten des Speichers, bis entweder alle schadhaften Speicherzellen, die in dem Speicher erfasst werden, repariert wurden oder der Speicher bestimmt wird, irreparabel zu sein.
  • Gemäß noch einem anderen verwandten Aspekt geschieht das Durchführen von jedem der Schritte des Verfahrens in getrennten Abschnitten des Speichers zur gleichen Zeit für jeden separaten Abschnitt.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Schritt zum wiederholten Reparieren schadhafter Speicherzellen, die unter Verwendung von nur einem aus der Vielzahl von Typen von Speicherersatzteilen repariert werden müssen, den Schritt zum Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde. Wenn weder der Zeilen- oder Spalteneintrag leer ist noch der identifizierte Fehler repariert wurde, wird dann bestimmt, ob der identifizierte Fehler repariert werden muss. Anderenfalls wird bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde. Wenn der identifizierte Fehler repariert werden muss, wird dann bestimmt, ob ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist. Anderenfalls wird der Schritt zum Reparieren des identifizierten Fehlers übersprungen und es wird bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde. Wenn ein Ersatzteil des nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wird dann der identifizierte Fehler mit einem Ersatzteil von dem nur einen aus der Vielzahl von Typen von Ersatzteilen repariert und es wird bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde. Anderenfalls wird der Speicher bestimmt, irreparabel zu sein. Der Schritt zum Bestimmen, ob ein Zeilenoder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den Zeilenoder Spalteneintrag identifiziert wird, repariert wurde, wird wiederholt, bis alle Zeilen- und Spalteneinträge in der mindestens einen Fehlerspeichertabelle bearbeitet wurden.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Schritt zum Reparieren mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen wird, wenn schadhafte Speicherzellen, die repariert werden müssen, repariert werden, den Schritt zum Reparieren nur einer ersten erfassten schadhaften Speicherzelle der mindestens einen von beliebigen übersprungenen schadhaften Speicherzellen.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Schritt zum Reparieren nur einer ersten erfassten schadhaften Speicherzelle den Schritt zum Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist. Wenn der Zeilen- oder Spalteneintrag nicht leer ist, wird dann bestimmt, ob ein Fehler, der durch den Zeilen oder Spalteneintrag identifiziert wird, repariert wurde. Anderenfalls wird bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist. Wenn der identifizierte Fehler nicht repariert wurde, wird dann bestimmt, ob ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist. Anderenfalls wird bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist. Wenn ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wird dann der identifizierte Fehler mit einem Ersatzteil des ersten Typs repariert. Anderenfalls wird bestimmt, ob ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist. Wenn ein zweiter Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wird dann der identifizierte Fehler mit einem Ersatzteil des zweiten Typs repariert. Anderenfalls wird der Speicher bestimmt, irreparabel zu sein. Der Schritt zum Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, wird wiederholt, bis mindestens alle Zeileneinträge oder alle Spalteneinträge in der mindestens einen Fehlerspeichertabelle bearbeitet wurden.
  • Gemäß noch einem anderen verwandten Aspekt müssen, wenn bestimmt wird, dass ein beliebiger Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, nächste Einträge des Typs, der leer ist, nicht bearbeitet werden.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Zeilenabschnitt eines Speichers mindestens eine Zeile eines Speichers und der Spaltenabschnitt eines Speichers umfasst mindestens eine Spalte eines Speichers.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Spal-tenabschnitt eines Speichers mindestens eine Eingabe-/Ausgabe-(I/O)-Vorrichtung, wobei die mindestens eine I/O-Vorrichtung einen Eingabe- und Ausgabepfad für mindestens eine Spalte eines Speichers vorsieht.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Schritt zum Reparieren von mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen, den Schritt zum Bestimmen, welcher Typ der Vielzahl von Typen von Speicherersatzteilen zum Reparieren einer größten Anzahl von schadhaften Speicherzellen, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können, fähig ist. Die größte Anzahl von schadhaften Speicherzellen wird mit einem verfügbaren Ersatzteil des bestimmten Typs ersetzt.
  • Gemäß noch einem anderen verwandten Aspekt umfasst das Verfahren ferner vor einem Bestimmen, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, repariert werden müssen, die Schritte zum Bestimmen, ob ein beliebiger aus der Vielzahl von Typen von Speicherersatzteilen in dem mindestens einen Abschnitt eines Speichers nicht funktionstüchtig ist. Information bezüglich nichtfunktionstüchtiger Speicherersatzteile wird zusammen basierend auf einer Anordnung der Vielzahl von Typen von Speicherersatzteilen in dem mindestens einen Abschnitt eines Speichers gruppiert.
  • Gemäß noch einem anderen verwandten Aspekt umfasst der Schritt zum gemeinsamen Gruppieren von Information bezüglich nichtfunktionsfähiger Speicherersatzteile den Schritt zum gemeinsamen logischen Oder-Verknüpfen der Information bezüglich nichtfunktionsfähiger Speicherersatzteile für eine Anzahl von Abschnitten von dem mindestens einen Abschnitt eines Speichers, wenn die Abschnitte fähig sind, durch mindestens einen von einem jeweiligen Typ aus der Vielzahl von Typen von Speicherersatzteilen repariert werden.
  • Es sollte betont werden, dass die Begriffe "umfasst" und "umfassend", wenn sie in dieser Beschreibung ebenso wie in den Ansprüchen verwendet werden, genommen werden, um das Vorhandensein angeführter Merkmale, Schritte oder Komponenten zu spezifizieren; die Verwendung dieser Begriffe schließt aber das Vorhandensein oder Hinzufügen von einem oder mehr anderer Merkmale, Schritte, Komponente oder Gruppen davon nicht aus.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen Ziele, Merkmale und Vorteile werden angesichts der folgenden detaillierten Beschreibung in Verbindung mit den Zeichnungen, in denen gleiche Bezugszeichen ähnliche oder identische Elemente identifizieren, offensichtlicher, und in denen:
  • 1 ein beispielhaftes Speicherfeld mit redundanter Schaltungstechnik darstellt;
  • 2 einen Abschnitt des in 1 gezeigten beispielhaften Speicherfelds darstellt und einen Abschnitt des Speichers, der als ein Analyseblock bezeichnet wird, abbildet.
  • 3 ein Flussdiagramm einer beispielhaften Reparaturanalyseroutine darstellt; und
  • 4A und 4B ein Flussdiagramm einer beispielhaften Reparaturroutine zum Bearbeiten der Information, die durch die in 3 gezeigte Reparaturanalyseroutine generiert wird, darstellen.
  • DETAILLIERTE BESCHREIBUNG
  • Nachstehend werden bevorzugte Ausführungsformen mit Bezug auf die begleitenden Zeichnungen beschrieben. In der folgenden Beschreibung werden gut bekannte Funktionen und/oder Konstruktionen nicht detailliert beschrieben, um zu vermeiden, dass die Beschreibung mit unnötigen Details verschleiert wird.
  • Beispielhafte Speicherarchitektur
  • Vor einer detaillierten Beschreibung der Analyse- und Reparaturtechnik ist es hilfreich, zuerst eine beispielhafte Speicherarchitektur zu beschreiben, auf die die Technik angewendet werden kann. Eine auf Ersatzteile ausgerichtete Sicht eines Speicherfelds angenommen, können Ersatzzeilen und Spalten (oder I/Os) bei regelmäßigen Intervallen überall in dem Speicherfeld angeordnet werden. Die Aktivierung von Ersatzzeilen und Spalten (oder I/Os) wird typischerweise durch eine Sicherung gesteuert, es sind aber andere Mittel zur Aktivierung allgemein bekannt. Wenn eine Sicherung "durchbrennt", wird die entsprechende Ersatzzeile oder Spalte (oder I/O) aktiviert und die zu ersetzende geeignete Speicheradresse wird programmiert. Eine Sicherung kann auf einer Vielfalt von Wegen einschließlich, aber nicht darauf begrenzt, von Laserschneiden und der Aktivierung von bestimmten elektrischen Signalen "durchbrennen".
  • Typischerweise sind Sicherungen im Vergleich zu den Ersatzspeicherzellen, die sie aktivieren, relativ groß, sodass eine beliebige gegebene Sicherung häufig verwendet werden kann, um mehrere Zeilen oder Spalten (oder I/Os) zu einem Zeitpunkt zu aktivieren und zu ersetzen. Bei derartigen Anordnungen können die Gruppen von Ersatzzeilen oder Spalten, die durch eine ge gebene Sicherung aktiviert und programmiert werden, vom Standpunkt einer Analyse und Reparatur als eine Signalentität betrachtet werden. Diese Gruppierung von Ersatzzeilen und Spalten kann durch die Analyse- und Reparaturroutine ausgenutzt werden, um einen Grad an Komprimierung und Effizienz in der Identität und dem Austausch von schadhaften Speicherzellen zu erreichen.
  • 1 stellt ein beispielhaftes Speicherfeld mit redundanter Schaltungstechnik dar. Das beispielhafte Feld umfasst zwei Bänke von Speicherzellen, Bank 0 und Bank 1. Jede Bank von Speicherzellen umfasst ein Feld von zweiunddreißig Spalten (Spalten 0–15 und 16–31) und 4096 Zeilen (zwei Mengen von Zeilen von 2K-Zellen jede). Die Speicherbänke werden in Abschnitte jeder mit 128 I/Os (IO [0] – IO [127] und IO [128] – IO [255]) unterteilt. Ersatz-I/Os und Zeilen werden überall in dem Feld bei regelmäßigen Intervallen angeordnet. Wie oben beschrieben könnte ebenso ein Speicherfeld, das redundante Schaltungstechnik mit Ersatzspalten und Zeilen umfasst, verwendet werden.
  • Das Speicherfeld ist logisch in mehrere Abschnitte unterteilt, die als ein Analyseblock 102 bezeichnet werden. Die Größe und Form eines Analyseblocks 102 wird vorzugsweise derart gewählt, dass er einen kleinsten Abschnitt des Speicherfeld definiert, der vollständig mindestens eine Ersatz-I/O (oder Spalte) und mindestens eine Ersatzzeile enthält. Die Analyse- und Reparaturroutine wird vorzugsweise definiert, auf Basis eines Analyseblocks 102 zu arbeiten. In der gezeigten beispielhaften Speicherarchitektur werden sechzehn Analyseblöcke gezeigt. Es wird verstanden, dass das Speicherfeld logisch in eine beliebige Anzahl von Analyseblöcken partitioniert werden kann.
  • Definieren eines Analyseblocks 102 derart, dass die Ersatzspeicherzellen in dem Analyseblock unabhängig von den Ersatzspeicherzellen in anderen Analyseblöcken sind, führt zu weiterer Effizienz in der Reparatur- und Analyseroutine, obwohl eine derartige Anordnung nicht strikt erforderlich ist. Durch Sicherstellen z.B., dass die Ersatz-I/Os und Zeilen in einem gegebenen Analyseblock nicht eine Analyseblockgrenze kreuzen, ist die Analyse- und Reparaturroutine fähig, die verschiedenen Analyseblöcke des Speicherfelds unabhängig und parallel zu analysieren und zu reparieren.
  • 2 zeigt detaillierter den in 1 gezeigten hervorgehobenen Analyseblock 102. Wie aus der Figur gesehen werden kann, ist jeder Analyseblock in dem Beispiel definiert, vier I/O-Ersatzteile und vier Zeilenersatzteile zu umfassen. Der Analyseblock 102 kann weiter logisch in kleinere Abschnitte unterteilt werden, die als Teilblöcke 202 bezeichnet werden. Der in 2 gezeigte Analyseblock hat acht derartiger Teilblöcke 202. Die Teilblockgrößen werden vorzugsweise derart gewählt, dass der Abstand, den sich der Teilblock in den Zeilen- und I/O- (oder Spalten-)Abmessungen erstreckt, dem Bereich von Speicherzellen entspricht, die zu ersetzen die Zeilen- und I/O- (oder Spalten-)Ersatzteile fähig sind.
  • Gemäß dem gezeigten Beispiel umfasst jeder Teilblock 202 ein I/O-Ersatzteil, das beliebige von zweiunddreißig I/Os in einer I/O-Sektion 206 ersetzen kann, und zwei Zeilenersatzteile, die beliebige von 512 Zeilen in dem Block ersetzen können. Die Teilblöcke sind in zwei Zeilen von vier Teilblöcken jede angeordnet, wobei die Zeilen als eine Menge 204 bezeichnet werden. Vorzugsweise wird die Information einer schadhaften Speicherzelle für jeden Teilblock als ein separater Zeileneintrag in einem Fehlerspeicher-(error storage, ES)-SRAM (nicht gezeigt) gespeichert. Jeder Zeileneintrag in dem ES-SRAM kann auch als eine Fehlerspeichertabelle bezeich net werden. Es kann eine Anzahl von ES-SRAMs verwendet werden, um die Information einer schadhaften Speicherzelle abhängig von der Größe des Speicherfelds und der Konfiguration redundanter Schaltungstechnik eines Feldes zu speichern.
  • Techniken zum Speichern der Information für eine schadhafte Speicherzelle und Reparatur werden in der gemeinsam anhängigen US-Patentanmeldung Nr.
    Figure 00170001
    mit dem Titel "Methods and Apparatus for Storing Memory Test Information", eingereicht am 31. Mai 2002, und mit einem gemeinsamen Bevollmächtigten wie für diese Anmeldung beschrieben.
  • Analyseroutine
  • Nach Beschreibung einer beispielhaften Speicherarchitektur wird nun eine Routine zum Analysieren der schadhaften Speicherzellen eines Speicherfelds vorgestellt. Es werden die folgenden Begriffe, die in der Analyseroutine (und ebenso in der Reparaturroutine) verwendet werden, definiert.
    • Muss: Eine schadhafte Speicherzelle (oder Fehler) oder Gruppe von Fehlern, die nur auf eine Art und Weise repariert werden können – – entweder durch Ersetzen des Fehlers oder Gruppe von Fehlern durch eine Ersatzzeile oder durch eine Ersatz-I/O (oder Spalte).
    • Fixed: Ein Flag, das verwendet wird, einen Fluss der Routine zu steuern. Das Flag sollte auf "J" gesetzt werden, wann immer ein Fehler repariert ist.
    • Skip: Ein anderes Flag, das verwendet wird, um den Fluss der Routine zu steuern. Dieses Flag sollte auf "J" gesetzt werden, wann immer ein Fehler erfasst, aber durch die Routine nicht unmittelbar repariert wird.
    • NG: Ein Flag, das in der Routine verwendet wird, zeigt an, dass das Speicherfeld nicht repariert werden kann.
    • Fix_Any: Ein Flag, das in der Routine verwendet wird, um die Typen eines Fehlers zu bestimmen, die unmittelbar auszubessern sind. Wenn das Flag auf "J" gesetzt ist, wird ein beliebiger angetroffener Fehler ausgebessert, wenn möglich. Wenn auf "N" gesetzt, werden durch die Routine nur "Muss"-Fehler repariert.
  • In 3 wird ein Flussdiagramm für den Analyseabschnitt der Routine dargestellt. Obwohl nicht strikt erforderlich, beginnt die Routine bei Schritt 302 durch Bestimmen (oder Aktualisieren) von Information in Bezug auf die Funktionalität der verschiedenen Zeilen- und Spaltenersatzteile, die die redundante Schaltungstechnik für den gegenwärtig analysierten Analyseblock bilden. Die Information über Ersatzteilfunktionalität kann in einem Speicher, z.B. in dem ES-SRAM, auf einer Basis von Teilblock 202 gespeichert werden. Wenn die Information über Ersatzteilfunktionalität auf diese Art und Weise gespeichert wird, dann sollte Schritt 302 ferner den Schritt zum gemeinsamen Gruppieren verwandter Information über Ersatzteilfunktionalität umfassen, die von unter den verschiedenen Teilblöcken 202 gesammelt wird.
  • Das Gruppieren von verwandter Information über Ersatzteilfunktionalität kann unter Verwendung logischer "ODER"-Funktionen bewerkstelligt werden. Z.B. sollte für den in 2 gezeigten Analyseblock Funktionalitätsinformation bezüglich einer Ersatzzeile für jede der I/O-Sektionen 206 einer gegebenen Menge 204 miteinander logisch oder-verknüpft werden, da die Ersatzzeile jede der vier gezeigten I/O-Sektionen 206 der Menge 204 kreuzt. Ähnlich sollte Funktionalitätsinformation bezüglich einer Ersatz-I/O (oder Spalte) für jede der Zeilen in einer I/O-Sektion 206 miteinander logisch oder-verknüpft werden, da die Ersatz-I/O jede der Zeilen in der I/O-Sektion 206 kreuzt.
  • Nachdem die Information über Ersatzteilfunktionalität für den gegenwärtigen Analyseblock aktualisiert wurde, fährt die Routine zu Schritt 304 fort, wo beliebige gespeicherte Reparaturcode-(RC)-Information für den gegenwärtigen Analyseblock aus einem Speicher gelesen wird. Vorzugsweise wird die RC-Information getrennt von der Fehlerspeicherinformation gespeichert, z.B. in getrennten RC- bzw. ES-SRAMs, aber diese Speicheranordnung ist nicht strikt erforderlich. Schritte 306 bis 330 stellen den Hauptabschnitt der Analyseroutine dar. Es geschieht in diesen Schritten, dass die Information einer schadhaften Speicherzelle für einen gegebenen Analyseblock 102 derart analysiert wird, dass die geeigneten Reparaturcodes zum Reparieren des Analyseblocks generiert werden können. Nachdem jeder Analyseblock bearbeitet ist, wird bei Schritt 332 eine Bestimmung vorgenommen, ob alle Analyseblöcke in dem Speicherfeld bearbeitet wurden. Wenn ja, endet der Prozess; anderenfalls wird bei Schritt 334 Information bezüglich des nächsten zu bearbeitenden Analyseblocks aktualisiert, und der Prozess bei Schritt 302 wiederholt sich.
  • Der Hauptabschnitt der Analyseroutine setzt einen Zwei-Schritt-Ansatz ein. Zuerst versucht die Routine jene Zeilen und/oder I/Os des Analyseblocks zu reparieren, die auf eine bestimmte Art und Weise ausgebessert werden müssen – entweder durch Zuweisen einer Ersatzzeile oder einer Ersatz-I/O, um die Fehler zu reparieren. Als nächstes versucht die Routine jene Zeilen und/oder I/Os zu reparieren, die auf mehrfachen Wegen repariert werden können – durch Zuweisen eines Typs von einem verfügbaren Ersatzteil, um die Fehler zu reparieren.
  • Obwohl in dem Flussdiagramm nicht ausdrücklich gezeigt, werden die verschiedenen Flags, die durch die Routine verwendet werden, auf die folgenden Werte initialisiert, bevor die Bearbeitung eines neuen Analyseblocks beginnt:
    Figure 00200001
    Die Bearbeitung eines Analyseblocks beginnt bei Schritt 306 mit dem Lesen von ES-Daten für den gegenwärtigen Analyseblock, z.B. aus dem ES-SRAM. Da das Flag Fix_any auf "N" initialisiert wird, beginnt die Routine ihrer Analyse von den ES-Daten zuerst durch Bearbeiten der so genannten "Muss"-Fehler. Es wird daran erinnert, dass "Muss"-Fehler Speicherzellenfehler darstellen, die nur mit einem bestimmten Typ eines Ersatzteils repariert werden können, d.h. in diesem Beispiel entweder eine Ersatzzeile oder Ersatz-I/O (oder Spalte). Diese Phase der Analyseroutine stellt den ersten des oben beschriebenen Zwei-Schritt-Ansatzes dar.
  • Es wird daran erinnert, dass der in 2 gezeigte Analyseblock acht Teilblöcke 202 umfasst, die in zwei Mengen 204 mit vier Teilblöcken jede angeordnet sind. Jede Menge umfasst zwei Ersatzzeilen, die verfügbar sind, um beliebige der 512 Zeilen zu ersetzen, die die vier Teilblöcke 202 der Menge 204 überspannen. Angesichts dieser bestimmten Anordnung werden die ersten vier Fehlerspeichertabellen bei Schritt 306 aus dem ES-SRAM gelesen. Diese Fehlerspeichertabellen entsprechen den vier Teilblöcken 202, die die erste Menge 204 des Analyseblocks 102 ausmachen. Andere Anordnungen werden variierende Mengen von Daten erfordern, die aus dem ES-SRAM zu lesen sind.
  • Als nächstes werden die bei Schritt 306 gelesenen ES-Daten bei Schritt 308 unter Verwendung der Routine bearbeitet, die in 4A und 4B dargestellt wird (nachstehend detailliert beschrieben). Da das Flag Fix Any auf "N" initialisiert ist, beginnt die Reparaturroutine erneut durch Versuchen, zuerst die sogenannten "Muss"-Fehler zu reparieren. Die Flags Skip, Fixed und NG sollten, sobald sie in der Reparaturroutine gesetzt sind, während dieser ganzen Phase der Analyse beibehalten und zu dem Analyseabschnitt der in 3 dargestellten Routine zurückgegeben werden. Es wird erinnert, dass das Flag Skip auf "J" gesetzt werden sollte, wenn ein Fehler angetroffen wird, der nicht repariert ist; das Flag Fixed sollte auf "J" gesetzt werden, wenn ein Fehler repariert ist; und das Flag NG sollte auf "J" gesetzt werden, wenn ein Fehler angetroffen wird, der nicht repariert werden kann.
  • Bei Schritt 310 kehrt die Steuerung zu dem Analyseabschnitt der Routine zurück, wo der gegenwärtige Zustand des NG-Flags getestet wird. Wenn das NG-Flag auf "J" gesetzt wurde, fährt die Routine zu Schritt 312 fort, wo das Speicherfeld als irreparabel zu sein identifiziert wird. Sobald diese Bestimmung vorgenommen ist, muss das Speicherfeld nicht weiter ana1ysiert werden und die Analyse- und Reparaturroutine endet.
  • Wenn bei Schritt 310 das NG-Flag auf "N" gesetzt ist, fährt die Routine zu Schritt 314 fort, wo der gegenwärtige Zustand des Flags Fix Any getestet wird. Wie oben angezeigt ist die ses Flag während der ersten Phase der Zwei-Schritt-Analyse auf "N" gesetzt, um "Muss"-Fehler vor anderen identifizierten Fehlern zu identifizieren und zu reparieren.
  • Während der ersten Phase der Analyse fährt die Routine entsprechend zu Schritt 316 fort, wo eine Bestimmung vorgenommen wird, ob die gegenwärtige Menge 204, die bearbeitet wird, die letzte Menge 204 in dem zu analysierenden Analyseblock 102 ist. Wenn die gegenwärtige Menge 204, die analysiert wird, nicht die letzte Menge ist, die in dem Analyseblock zu bearbeiten ist, fährt die Routine zu Schritt 318 fort, wo die ES-SRAM-Adresse aktualisiert wird, um auf die nächsten vier Fehlerspeichertabellen, die in dem SRAM gespeichert sind, entsprechend der nächsten durch die Routine zu analysierenden Menge 204 zuzugreifen. Schritte 306 bis 318 werden wiederholt ausgeführt, bis alle Mengen 204 in dem Analyseblock 102 für "Muss"-Fehler bearbeitet wurden.
  • Wenn bei Schritt 316 bestimmt wird, dass die gegenwärtige Menge 204, die bearbeitet wird, die letzte Menge 204 in dem gegenwärtigen Analyseblock 102 ist, fährt die Routine zu Schritt 320 fort, wo der gegenwärtige Zustand des Flags Fixed getestet wird. Wenn das Flag Fixed auf "J" gesetzt ist, was anzeigt, dass durch die Reparaturroutine bei Schritt 308 ein "Muss"-Fehler repariert wurde, fährt der Prozess zu Schritt 330 fort, wo die ES-SRAM-Adresse aktualisiert wird, um erneut auf die ersten vier Fehlerspeichertabellen zuzugreifen, die in dem ES-SRAM gespeichert sind. Diese Fehlerspeichertabellen entsprechen der ersten Menge 204 des Analyseblocks 102, der gegenwärtig analysiert wird. Obwohl in der Figur nicht gezeigt, werden die Flags Skip und Fixed bei Schritt 330 erneut auf "N" initialisiert.
  • Schritte 306 bis 318 werden erneut wiederholt ausgeführt, bis alle Mengen 204 in dem gegenwärtigen Analyseblock 102 für "Muss"-Fehler bearbeitet wurden. Es wird verstanden, dass Ausbessern eines beliebigen Fehlers in dem Analyseblock verursachen kann, dass ein zuvor übersprungener Fehler (übersprungen, da der identifizierte Fehler kein "Muss"-Fehler war) nachfolgend ein "Muss"-Fehler wird. Deshalb wird eine Bearbeitung des Analyseblocks für "Muss"-Fehler wiederholt, bis durch die Reparaturroutine keine neuen Fehler ausgebessert werden.
  • Wenn durch die Reparaturroutine keine neuen "Muss"-Fehler ausgebessert werden, wird das Flag Fixed, das durch die Reparaturroutine zurückgegeben wird, auf seinem Anfangswert von "N" gesetzt verbleiben. Wenn das Flag Fixed bei Schritt 320 getestet wird, wird der Prozess folglich zu Schritt 322 fortfahren, wo der gegenwärtige Zustand des Flag Skip getestet wird. Dies bedeutet das Ende der ersten Phase des Zwei-Schritt-Ansatzes, in dem "Muss"-Fehler vor anderen Typen von Fehlern repariert werden.
  • Wenn während der ersten Phase der Analyse keine Fehler übersprungen wurden, fährt der Prozess zu Schritt 332 fort, wo eine Bestimmung vorgenommen wird, ob der gegenwärtige Analyseblock 102 der letzte in dem Speicherfeld zu bearbeitende Analyseblock ist. Wenn der gegenwärtige Analyseblock der letzte zu bearbeitende Analyseblock ist, endet die Routine; anderenfalls fährt die Routine zu Schritt 334 fort, wo die gesamte Routine über dem nächsten Analyseblock in dem Speicherfeld wiederholt wird. Obwohl in der Figur nicht gezeigt, werden bei Schritt 334 die Flags Skip, Fix Any und Fixed erneut auf "N" initialisiert.
  • Wenn während der ersten Phase der Analyse Fehler übersprungen wurden, wird der Wert des Flag Skip, das durch die Reparaturroutine zurückgegeben wird, auf "J" gesetzt. Wenn das Flag bei Schritt 322 getestet wird, wird die Routine folglich zu Schritt 324 fortfahren, wo das Flag Fix Any auf "J" gesetzt wird. Dies bedeutet den Beginn der zweiten Phase des Zwei-Schritt-Ansatzes, in der durch die Reparaturroutine Fehler bearbeitet werden, die durch einen von beiden Typen eines verfügbaren Ersatzteils repariert werden können.
  • Nach Setzen des Flag Fix Any auf "J" wird bei Schritt 330 die ES-SRAM-Adresse aktualisiert, um erneut auf die ersten vier Fehlerspeichertabellen zuzugreifen, die in dem ES-SRAM gespeichert sind. Diese Fehlerspeichertabellen entsprechen der ersten Menge 204 des Analyseblocks 102, der gegenwärtig analysiert wird. Die Flags Skip und Fixed werden erneut auf "N" initialisiert.
  • Schritte 306 bis 312 werden in der zweiten Phase der Analyse auf die gleiche Art und Weise wie während der ersten Phase der Analyse ausgeführt. Wenn das Flag Fix Any bei Schritt 314 getestet wird, wird die Routine zu Schritt 326 fortfahren, da das Flag während der zweiten Phase der Analyse auf "J" gesetzt ist.
  • Bei Schritt 326 wird das Flag Fixed getestet um zu bestimmen, ob durch die Reparaturroutine bei Schritt 308 irgendwelche Fehler ausgebessert wurden. Wenn keine Fehler ausgebessert wurden, fährt die Routine zu Schritt 318 fort, wo die ES-SRAM-Adresse aktualisiert wird, um auf die nächsten vier Fehlerspeichertabellen zuzugreifen, die in dem SRAM gespeichert sind. Diese Speichertabellen entsprechen der nächsten Menge 204 des Analyseblocks 102, der durch die Routine zu bearbeiten ist. Mengen 204 des Analyseblocks 102 werden bearbeitet, bis bei Schritt 326 eine Bestimmung vorgenommen wird, dass ein Fehler in dem Analyseblock repariert wurde. Es ist zu erinnern, dass zu diesem Punkt in der Routine in dem Analyseblock mindestens ein Fehler existieren muss, da in die zweite Phase der Analyseroutine nur eingetreten wurde, nachdem bei Schritt 322 bestimmt wurde, dass während der ersten Phase der Analyse ein Fehler übersprungen wurde.
  • Wenn bei Schritt 326 bestimmt wird, dass in dem Analyseblock ein Fehler repariert wurde, fährt die Routine zu Schritt 328 fort, wo das Flag Fix_Any auf "N" zurückgesetzt wird. Dies veranlasst die Routine, erneut in die erste Phase der Analyse einzutreten, wo die Routine nach "Muss"-Fehlern sucht und versucht, sie zu reparieren – jene Fehler, die nur mit einem bestimmten Typ eines Ersatzteils repariert werden können.
  • Es wird verstanden, dass Ausbessern eines beliebigen Fehlers in dem Analyseblock während der zweiten Phase von Analyse und Reparatur erneut neue "Muss"-Fehler generieren kann. Welche der Fehler in der zweiten Phase der Analyse auszuwählen sind ist keine einfache Aufgabe. Entsprechend versuchen die beschriebenen Techniken nicht den besten auszubessernden Fehler zu bestimmen, sondern reparieren stattdessen den ersten nichtausgebesserten Fehler, der in dem Analyseblock angetroffen werden, und kehren dann zu der ersten Phase der Analyse zurück, wo mögliche neue "Muss"-Fehler erfasst und repariert werden. Dieser Ansatz führt zu Einfachheit und Effizienz, was einen vernachlässigbaren Effekt auf das Gesamtleistungsverhalten der Analyse- und Reparaturroutine hat.
  • Alternativ kann während der zweiten Phase der Analyse ein Versuch unternommen werden, den Typ eines Speicherersatzteils zu bestimmen, der die größte Anzahl von verbleibenden Nicht"Muss"-Typ-Fehlern reparieren kann. Ein Vornehmen dieser Bestimmung kann zu einer verbesserten Herstellungsausbeute führen, fügt aber der Routine Komplexität hinzu und erhöht die Analyse- und Reparaturzeit und Speicheranforderungen, die benötigt werden, um Speicherreparaturen zu bewirken.
  • Die oben beschriebene Sequenz einer Ausführung der ersten und zweiten Phasen von Analyse und Reparatur setzt sich fort bis: 1) die erste Phase abschließt, ohne einen "Muss"-Fehler auszubessern und ohne einen nichtausgebesserten Fehler zu überspringen, oder 2) bestimmt wird, dass der Speicherbereich irreparabel ist (d.h. das Flag NG auf "J" gesetzt ist). Bei Abschluss der Routine werden die Reparaturcodes, die benötigt werden, um die schadhaften Speicherzellen des Speicherfelds, das analysiert wird, zu ersetzen, in dem RC-SRAM gespeichert.
  • Reparaturroutine
  • 4A und 4B stellen ein Flussdiagramm einer beispielhaften Reparaturroutine zum Generieren der Reparaturcodes dar, die benötigt werden, um die schadhaften Speicherzellen des Speicherfelds durch Ersatzzellen zu ersetzen. 4A stellt die Schritte dar, die ausgeführt werden, wenn in der ersten Phase von Analyse und Reparatur gearbeitet wird – wo erfasste "Muss"-Fehler repariert werden. 4B stellt die Schritte dar, die ausgeführt werden, wenn in der zweiten Phase von Analyse und Reparatur gearbeitet wird – wenn Fehler mit Ausnahme von "Muss"-Typ-Fehlern repariert werden. Die Entscheidung bezüglich dessen, ob "Muss"-Fehler oder andere Typen von Fehlern bearbeitet werden, findet bei Schritt 402 der Routine statt, die in 4A gezeigt wird.
  • Vor einer detaillierten Beschreibung der Reparaturroutine wird es hilfreich sein, bestimmte Begriffe zu definieren, die in der Routine verwendet werden, und einige allgemeine Beobachtungen hinsichtlich der Operation der Routine vorzunehmen.
  • Zuerst kann, was einen "Muss"-Typ eines Fehlers ausmacht, von einer beliebigen Anzahl von Variablen einschließlich, aber nicht darauf begrenzt, abhängen: die Größe des Speicherfelds, das analysiert wird, die Anzahl von erfassten Fehlern, die gewünschte Testausbeute und die Anzahl von verfügbaren Ersatzzeilen und Spalten (oder I/Os). Gemäß einer bevorzugten Ausführungsform wird ein "Muss"-Fehler definiert als entweder: 1) ein Fehler, der in einer gegebenen Zeile des Analyseblocks erfasst wird, wo die Anzahl von Fehlern in der gegebenen Zeile die Anzahl von verfügbaren Ersatzspalten (oder I/Os) überschreitet, oder 2) ein Fehler, der in einer gegebenen Spalte (oder I/O) des Analyseblocks erfasst wird, wo die Anzahl von Fehlern in der gegebenen Spalte (oder I/O) die Anzahl von verfügbaren Ersatzzeilen überschreitet.
  • Zweitens zeigen die beispielhaften Flussdiagramme, die in 4A und 4B dargestellt werden, an, dass Zeilenfehler vor Spaltenfehlern bearbeitet und repariert werden, aber dies muss nicht der Fall sein. Z.B. wird in dem Abschnitt der Routine, die in 4A dargestellt wird, in dem "Muss"-Typ-Fehler bearbeitet werden, jeder Zeilen- und Spalteneintrag in einer Fehlerspeichertabelle auf Fehler getestet, was die Entscheidung, ob mit Zeilen- oder Spalteneinträgen zu beginnen ist, beliebig macht. Ob in dem Abschnitt der Routine, die in 4B dargestellt wird, in der Nicht-"Muss"-Typ-Fehler bearbeitet werden, zuerst Zeilen- oder Spalteneinträge bearbeitet werden, hängt von den angewendeten Fehlerspeichertechniken ab. Z.B. stellen die Fehlerspeichertechniken, die in der gemeinsam anhängigen US-Patentanmeldung Nr.
    Figure 00270001
    beschrieben werden, sicher, dass Nicht-"Muss"-Typ-Fehler in der Fehlerspeichertabelle sowohl Zeilen- als auch Spalteneinträge haben.
  • Entsprechend zeigt 4B, die die Anwendung dieser Fehlerspeichertechniken widerspiegelt, nur zwei Einträge in der Tabelle, die auf Nicht-"Muss"-Typ-Fehler getestet werden, aber dies muss nicht der Fall sein. Wenn das Speichern von Informationen einer schadhaften Speicherzelle in dem ES-SRAM nicht garantiert, dass Nicht-"Muss"-Typ-Fehler sowohl Zeilen- als auch Spalteneinträge haben werden, kann die Routine modifiziert werden, um nach dem mindestens einen Nicht-"Muss"-Typ-Fehlern in sowohl den Zeilen- als auch Spalteneinträgen der Fehlerspeichertabelle zu suchen. Außerdem kann die Routine modifiziert werden, nur nach Nicht-"Muss"-Typ-Fehlern in den Spalteneinträgen der Fehlerspeichertabelle zu suchen, wenn die Speicherung von Information einer schadhaften Speicherzelle in dem ES-SRAM so garantiert.
  • Schließlich stellen 4A und/oder 4B vier Zeilen und drei Spalten dar, die für jeden Teilblock 202 bearbeitet werden, der eine Menge 204 eines Analyseblocks 102 bildet. Es wird verstanden, dass die Anzahl von Zeilen und Spalten, die in der Reparaturroutine bearbeitet werden, von dem Umfang an Information einer schadhaften Speicherzelle abhängt, die in dem ES-SRAM gespeichert wird. Es wird von dem obigen erinnert, dass jede Zeile des ES-SRAM einer Fehlerspeichertabelle entsprechen kann. Wie in der gemeinsam anhängigen US-Patentanmeldung Nr.
    Figure 00280001
    beschrieben wird, umfasst jede Fehlerspeichertabelle Zeilen- und Spalteneinträge zum Speichern mindestens eines Teils der gesamten Information einer schadhaften Speicherzelle.
  • Die gemeinsam anhängige Anmeldung beschreibt weiter, dass für einen Teilblock 202 mit zwei Ersatzzeilen und einer Ersatzspalte die Anzahl von Tabellenzeileneinträgen, die benötigt werden, um Reparaturen zu bewirken, vier ist – zwei Einträge für jede verfügbare Ersatzzeile plus zwei Einträge für jeden Schnittpunkt der beiden verfügbaren Ersatzzeilen mit der einzelnen verfügbaren Ersatzspalte, während die Anzahl von Tabellenspalteneinträgen, die benötigt werden, um Reparaturen zu bewirken, drei ist – ein Eintrag für die einzelne verfügbaren Ersatzspalte plus zwei Einträge für jeden Schnittpunkt der einzelnen verfügbaren Ersatzspalte mit den beiden verfüg baren Ersatzzeilen. Somit ist die Anzahl von Zeilen und/oder Spalten, die in 4A und 4B bearbeitet werden, lediglich darstellend und könnte eine beliebige Anzahl bis zur Gesamtanzahl von Zeilen und Spalten in einem gegebenen Teilblock 202 sein. Je kleiner die Anzahl von zu bearbeitenden Zeilen und Spalten ist, desto effizienter und effektiver wird die Reparaturroutine.
  • Angesichts dieser Definitionen und allgemeinen Beobachtungen wird nun der Abschnitt der Reparaturroutine, die in 4A dargestellt ist, detaillierter beschrieben. Wie in der Figur gesehen werden kann, wird jeder der Teilblöcke 202, die eine gegebene Menge 204 ausmachen, in der Routine sequenziell bearbeitet. Jeder Zeilen- und Spalteneintrag in den Fehlertabellen wird auf die gleiche Art und Weise bearbeitet, sodass nur die Bearbeitung von Zeile #1 detailliert beschrieben wird.
  • Eine Bearbeitung des ersten ES-Tabellenzeilen- (oder Spalten- oder I/O-) Eintrags beginnt bei Schritt 404, wo bestimmt wird, ob der in diesem Tabelleneintrag identifizierte Fehler bereits repariert wurde (d.h. mit einer Ersatzzeile oder Spalte ausgebessert wurde), oder ob die Anzahl von Fehlern in der entsprechenden Zeile null ist und somit nicht repariert werden müssen. Wenn eine von beiden dieser Bedingungen wahr ist, bewegt sich die Routine weiter, um den nächsten Zeilen- (und dann Spalten-) Eintrag in der Fehlerspeichertabelle zu bearbeiten, bis alle Zeilen- und Spalteneinträge in der Tabelle bearbeitet wurden. Wenn keine der Bedingungen wahr ist, fährt die Routine zu Schritt 406 fort, wo der Fehler bestimmt wird, entweder ein "Muss"-Typ oder ein anderer Typ eines Fehlers zu sein. Es wird erinnert, dass gemäß einer bevorzugten Ausführungsform, wenn die Anzahl von in der Zeile erfassten Fehlern die Anzahl von verfügbaren Ersatzspalten überschreitet, der Fehler als ein "Muss"-Fehler erachtet wird.
  • Wenn der Fehler nicht ein "Muss"-Typ-Fehler ist, wird der Fehler übersprungen (da dieser Abschnitt der Routine nur "Muss"-Typ-Fehler bearbeitet) und die Routine fährt zu Schritt 408 fort, wo das Flag Skip auf wahr gesetzt wird. Dies zeigt der in 3 gezeigten Analyseroutine an, dass ein erfasster Fehler übersprungen wurde, sodass eine weitere Bearbeitung in dieser Routine entsprechend fortfahren kann. Die Routine bewegt sich dann weiter, um den nächsten Zeilen- (und dann Spalten-) Eintrag in der Fehlerspeichertabelle zu bearbeiten, bis alle Zeilen- und Fehlereinträge bearbeitet wurden.
  • wenn der Fehler bestimmt wird, ein "Muss"-Typ-Fehler zu sein, fährt die Routine dann zu Schritt 410 fort, wo eine Bestimmung bezüglich dessen vorgenommen wird, ob eine Ersatzzeile verfügbar ist, um den Fehler zu reparieren. Wenn eine Ersatzzeile verfügbar ist, wird die verfügbare Ersatzzeile zugewiesen, den Fehler zu reparieren und die Routine fährt zu Schritt 412 fort, wo das Flag Fixed auf wahr gesetzt wird. Dies zeigt der Analyseroutine an, dass ein erfasster Fehler ausgebessert wurde, sodass eine weitere Bearbeitung in dieser Routine entsprechend fortfahren kann. Die Routine bewegt sich dann weiter, um den nächsten Zeilen- (und dann Spalten-) Eintrag in der Fehlerspeichertabelle zu bearbeiten, bis alle Zeilen- und Spalteneinträge bearbeitet wurden.
  • Wenn keine Ersatzzeilen verfügbar sind, um den erfassten "Muss"-Typ-Fehler zu reparieren, fährt die Routine zu Schritt 414 fort, wo das Flag NG auf "J" gesetzt wird. Dieses Flag zeigt der Analyseroutine an, dass das Speicherfeld, das analysiert wird, irreparabel ist, und die gesamte Analyse und Reparatur vom Feld wird gestoppt. Wenn jeder der Teilblöcke 202 in der gegenwärtigen Menge 204 des Analyseblocks 102 be arbeitet wurde, gibt die Routine die Steuerung an den Analyseabschnitt der Routine bei Schritt 308 zurück.
  • Nun wird der in 4B dargestellte Abschnitt der Reparaturroutine detaillierter beschrieben. Es wird erinnert, dass dieser Abschnitt der Routine einen der mindestens einen Fehler, die während einer Bearbeitung von "Muss"-Fehlern in dem Abschnitt der in 4A dargestellten Routine übersprungen werden, erfasst und versucht zu reparieren. Da jeder der Zeilen- (oder vielleicht Spalten- oder I/O-) Einträge auf die gleiche Art und Weise bearbeitet wird, wird nur die Bearbeitung von Zeile #1 detailliert beschrieben. Dieser Abschnitt der Routine beginnt bei Schritt 416, wo bestimmt wird, ob in Zeile eins ein Fehler erfasst wurde. Wenn ein Fehler erfasst wurde, fährt die Routine zu Schritt 418 fort, wo bestimmt wird, ob der erfasste Fehler bereits repariert wurde. Wenn entweder in dem ersten Zeileneintrag kein Fehler erfasst wird oder ein erfasster Fehler in dem ersten Zeileneintrag bereits repariert wurde, bewegt sich die Routine weiter, um die verbleibende Zeilen- (oder Spalten- oder I/O-) Einträge in einer Fehlerspeichertabelle zu bearbeiten, bis alle Einträge bearbeitet wurden.
  • Wenn die angewendeten Fehlerspeichertechniken sicherstellen können, dass die Zeilen- (oder Spalten- oder I/O-) Einträge unterhalb eines ersten Zeilen- (oder Spalten- oder I/O-) Eintrags in der Fehlerspeichertabelle ohne Fehler auch keine Fehler enthält, dann kann alternativ die Bearbeitung von weiteren Zeilen- (oder Spalten- oder I/O-) Einträgen übersprungen werden. Die Routine kann dann direkt zu Schritten 420 und 422 fortfahren, wo der nächsten Teilblock 202 in der gegenwärtigen Menge 204 des Analyseblocks 102 bearbeitet wird.
  • Wenn bei Schritt 418 bestimmt wird, dass der erfasste Fehler noch nicht bereits repariert wurde, dann fährt die Routine zu Schritt 424 fort, wo bestimmt wird, ob ein Zeilenersatz verfügbar ist, um den erfassten Fehler zu reparieren. Wenn ein Zeilenersatz verfügbar ist, wird der Fehler mit dem verfügbaren Ersatzteil bei Schritt 426 repariert und das Flag Fixed wird bei Schritt 434 gesetzt. Wenn keine Zeilenersatzteile verfügbar sind, fährt die Routine zu Schritt 428 fort, wo bestimmt wird, ob ein Spaltenersatz verfügbar ist, um den erfassten Fehler zu reparieren. Wenn ein Spaltenersatz verfügbar ist, wird der Fehler bei Schritt 430 mit dem verfügbaren Ersatzteil repariert und das Flag Fixed wird bei Schritt 436 erneut gesetzt. Wenn weder ein Zeilen- noch ein Spaltenersatz verfügbar ist, um den erfassten Fehler zu reparieren, wird das Flag NG bei Schritt 432 auf "J" gesetzt und die Steuerung kehrt zu dem Analyseabschnitt der Routine zurück.
  • Zur Vereinfachung einer Beschreibung der beispielhaften Ausführungsformen wurden bestimmte Begriffe verwendet, sollten aber nicht verwendet werden, um die hierin beschriebenen all-gemeinen Konzepte zu begrenzen. Z.B. kann jeglicher spezieller Bezug auf "Zeilen"- oder "Spalten"-Abschnitte von einem Speicher oder Typen von Speicherersatzteilen interpretiert werden, eines von beiden von diesen Abschnitten eines Speichers oder Typen von Speicherersatzteilen einzubeziehen. In dem Fall von Speicherersatzteilen stellen die speziellen Begriffe komplementäre Typen von Speicherersatzteilen insofern dar, wenn ein Typ eines Speicherersatzteils nicht verwendet wird, um einen gegebenen Speicherzellenstandort zu reparieren, der andere komplementäre Typ eines Speicherersatzteils verwendet werden kann, um den Standort zu reparieren.
  • Des weiteren umfassen die Begriffe "reparieren" oder "Reparatur" nicht nur den Austausch von schadhaften Speicherzellen durch Ersatzzellen, sondern umfassen auch die Generierung von Reparaturinformation, die für eine spätere Verwendung beim Ersetzen schadhafter Speicherzellen durch Ersatzzellen ge speichert werden kann, z.B. in dem RC-SRAM. Außerdem können die Begriffe "Zelle" und "Speicherzelle" interpretiert werden, eine oder mehrere Speicherzellen oder Standorte in dem Speicher darzustellen. Schließlich werden die Begriffe "J" und "wahr" und "N "und "falsch" austauschbar überall in der Beschreibung und den Ansprüchen verwendet, um den Zustand von verschiedenen Testbedingungen zu beschreiben, die in beschriebenen Routinen auftreten.
  • In Verbindung mit einer Anzahl von beispielhaften Ausführungsformen wurden verschiedene Aspekte beschrieben. Um ein Verstehen dieser Ausführungsformen zu erleichtern, wurden viele Aspekte im Sinne von Sequenzen von Handlungen beschrieben, die durch Elemente eines Computersystems oder einer Mikrosteuervorrichtung durchgeführt werden können. Es wird z.B. erkannt, dass in jeder der Ausführungsformen die verschiedenen Handlungen durch spezialisierte Schaltungen (z.B. diskrete Logik-Gatter, die miteinander verbunden sind, um eine spezialisierte Funktion durchzuführen), durch Programmbefehle, die durch einen oder mehr Prozessoren ausgeführt werden oder durch eine Kombination von beiden durchgeführt werden könnten.
  • Außerdem können die beispielhaften Ausführungsformen als Teil irgendeiner Form eines computerlesbaren Speichermediums mit einer darin gespeicherten geeigneten Menge von Computerbefehlen betrachtet werden, die einen Prozessor veranlassen würden, die hierin beschriebenen Techniken auszuführen. Somit können die verschiedenen Aspekte in vielen verschiedenen Formen verkörpert werden, und alle derartigen Formen werden erachtet, innerhalb des Bereichs dessen zu sein, was beschrieben wurde. Für jeden der verschiedenen Aspekte kann eine beliebige derartige Form einer Ausführungsform hierin bezeichnet werden als "Logik, konfiguriert um" eine beschriebene Handlung durchzuführen, oder alternativ als "Logik, die" eine beschriebene Handlung durchführt.
  • Obwohl verschiedene beispielhafte Ausführungsformen beschrieben wurden, wird durch einen Durchschnittsfachmann verstanden, dass diese Ausführungsformen lediglich darstellend sind und dass viele andere Ausführungsformen möglich sind. Der beabsichtigte Bereich der Erfindung wird durch die folgenden Ansprüche anstatt der vorangehenden Beschreibung definiert, und alle Abweichungen, die innerhalb des Bereichs der Ansprüche fallen, sind beabsichtigt, darin einbezogen zu werden.
  • ZUSAMMENFASSUNG
  • Es werden Verfahren und Vorrichtung zum Analysieren und Reparieren eines Speichers vorgestellt. Das Verfahren umfasst den Schritt (302, 304, 306) zum Bestimmen, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, unter Verwendung von nur einem aus einer Anzahl von Typen von Speicherersatzteilen repariert werden müssen, oder unter Verwendung beliebiger von den Typen von Speicherersatzteilen repariert werden können. Schadhafte Speicherzellen, die unter Verwendung von nur einem von der Anzahl von Typen von Speicherersatzteilen repariert werden müssen, werden wiederholt repariert (308), wobei beliebige schadhafte Speicherzellen übersprungen werden, die unter Verwendung beliebiger von der Anzahl von Typen von Speicherersatzteilen repariert werden können, bis entweder keine neuen Fehler, die repariert werden müssen, repariert werden und keine schadhaften Speicherzellen übersprungen werden oder ein Speicher bestimmt wird, irreparabel zu sein.

Claims (40)

  1. Verfahren zum Analysieren und Reparieren von Speicher, wobei das Verfahren die Schritte umfasst: Bestimmen, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, unter Verwendung nur eines von einer Vielzahl von Typen von Speicherersatzteilen repariert werden müssen oder unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können; wiederholtes Reparieren schadhafter Speicherzellen, die repariert werden müssen, unter Verwendung nur eines aus der Vielzahl von Typen von Speicherersatzteilen unter Überspringen beliebiger schadhafter Speicherzellen, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können, bis entweder keinen neuen Fehler, die repariert werden müssen, repariert werden und keine schadhaften Speicherzellen übersprungen werden oder der Speicher bestimmt wird, irreparabel zu sein; Reparieren mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen; und Wiederholen der Schritte zum Bestimmen, ob schadhafte Speicherzellen repariert werden müssen und wiederholtes Reparieren schadhafter Speicherzellen, die repariert wer den müssen, wann immer mindestens eine übersprungene schadhafte Speicherzelle repariert wird.
  2. Verfahren nach Anspruch 1, wobei ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren eines von einem Zeilen- und einem Spaltenabschnitt eines Speichers fähig ist und ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren des anderen von den Zeilen- und Spaltenabschnitten eines Speichers fähig ist.
  3. Verfahren nach Anspruch 2, wobei schadhafte Speicherzellen, die repariert werden müssen, schadhafte Speicherzellen in einem jeweiligen Zeilen- oder Spaltenabschnitt eines Speichers mit einer Gesamtanzahl von schadhaften Speicherzellen, die eine Anzahl von verfügbaren Speicherersatzteilen eines komplementären Typs überschreitet, umfassen.
  4. Verfahren nach Anspruch 1, wobei der mindestens eine Abschnitt eines Speichers gebildet wird durch: logisches Unterteilen des Speichers in eine Anzahl von Analyseblöcken, wobei jeder Analyseblock mindestens einen von jedem Typ aus der Vielzahl von Typen von Speicherersatzteilen vollständig umfasst.
  5. Verfahren nach Anspruch 4, wobei der mindestens eine Abschnitt eines Speichers gebildet wird durch: logisches Unterteilen von jedem Analyseblock in eine Anzahl von Teilblöcken, wobei sich jeder Teilblock über ein Gebiet des jeweiligen Analyseblocks entsprechend einem Bereich von Speicherzellen erstreckt, die zu reparieren jeder aus der Vielzahl von Typen von Speicherersatzteilen fähig ist.
  6. Verfahren nach Anspruch 5, ferner den Schritt umfassend: Speichern von Information einer schadhaften Speicherzelle für jeden Teilblock als einen getrennten adressierbaren Eintrag in einem Speicher.
  7. Verfahren nach Anspruch 6, wobei die Information einer schadhaften Speicherzelle für jeden Teilblock in einem Abschnitt des Speichers gespeichert wird, der analysiert und repariert wird.
  8. Verfahren nach Anspruch 6, wobei jeder adressierbare Eintrag in einem Speicher einer Fehlerspeichertabelle für einen jeweiligen Teilblock entspricht, wobei jede Fehlerspeichertabelle Zeilen- und Spalteneinträge zum Speichern von Information bezüglich einer Anzahl von schadhaften Speicherzellen hat, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden.
  9. Verfahren nach Anspruch 8, ferner den Schritt umfassend: Lesen der Information bezüglich der Anzahl von schadhaften Speicherzellen, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden, aus mindestens einer Fehlerspeichertabelle, die in einem Speicher gespeichert wird; wobei sich die schadhaften Speicherzellen, die in dem mindestens einen Abschnitt eines Speichers erfasst werden, in Teilblöcken entsprechend der mindestens einen Fehlerspeichertabelle befinden, aus der die Information bezüglich der Anzahl von schadhaften Speicherzellen gelesen wird.
  10. Verfahren nach Anspruch 9, ferner umfassend den Schritt: Durchführen von jedem der Schritte des Verfahrens in getrennten Abschnitten des Speichers, bis entweder alle schadhaften Speicherzellen, die in dem Speicher erfasst werden, repariert wurden oder der Speicher bestimmt wird, irreparabel zu sein.
  11. Verfahren nach Anspruch 10, wobei das Durchführen von jedem der Schritte des Verfahrens in getrennten Abschnitten des Speichers zur gleichen Zeit für jeden getrennten Abschnitt geschieht.
  12. Verfahren nach Anspruch 8, wobei der Schritt zum wiederholten Reparieren schadhafter Speicherzelle, die unter Verwendung nur eines aus der Vielzahl von Typen von Speicherersatzteilen repariert werden müssen, die Schritte umfasst: Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde; wenn weder der Zeilen- oder Spalteneintrag leer ist noch der identifizierte Fehler repariert wurde, dann Bestimmen, ob der identifizierte Fehler repariert werden muss, anderenfalls Bestimmen, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde; wenn der identifizierte Fehler repariert werden muss, dann Bestimmen, ob ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, anderenfalls Überspringen eines Reparierens des identifizierten Fehlers und Bestimmen, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde; und wenn ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, dann Reparieren des identifizierten Fehlers mit einem Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen und Bestimmen, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, anderenfalls Bestimmen des Speichers, irreparabel zu sein; wobei der Schritt zum Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den Zeilenoder Spalteneintrag identifiziert wird, repariert wurde, wiederholt wird, bis alle Zeilen- und Spalteneinträge in der mindestens einen Fehlerspeichertabelle bearbeitet wurden.
  13. Verfahren nach Anspruch 8, wobei der Schritt zum Reparieren von mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzelle repariert werden, die repariert werden müssen, den Schritt umfasst: Reparieren nur einer ersten erfassten schadhaften Speicherzelle von der mindestens einen von beliebigen übersprungenen schadhaften Speicherzellen.
  14. Verfahren nach Anspruch 13, wobei der Schritt zum Reparieren nur einer ersten erfassten schadhaften Speicherzelle den Schritt umfasst: Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist; wenn der Zeilen- oder Spalteneintrag nicht leer ist, dann Bestimmen, ob ein Fehler, der durch den Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, anderenfalls Bestimmen, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist; wenn der identifizierte Fehler nicht repariert wurde, dann Bestimmen, ob ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, anderenfalls Bestimmen, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist; wenn ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, dann Reparieren des identifizierten Fehlers mit einem Ersatzteil des ersten Typs, anderenfalls Bestimmen, ob ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist; und wenn ein zweiter Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, dann Reparieren des iden tifizierten Fehlers mit einem Ersatzteil des zweiten Typs, anderenfalls Bestimmen, dass der Speicher irreparabel ist; wobei der Schritt zum Bestimmen, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, wiederholt wird, bis mindestens alle Zeileneinträge oder alle Spalteneinträge in der mindestens einen Fehlerspeichertabelle bearbeitet wurden.
  15. Verfahren nach Anspruch 14, wobei wenn bestimmt wird, dass ein beliebiger Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, nächste Einträge des Typs, der leer ist, nicht bearbeitet werden müssen.
  16. Verfahren nach Anspruch 2, wobei der Zeilenabschnitt eines Speichers mindestens eine Zeile eines Speichers umfasst und der Spaltenabschnitt eines Speichers mindestens eine Spalte eines Speichers umfasst.
  17. Verfahren nach Anspruch 2, wobei der Spaltenabschnitt eines Speichers mindestens eine Eingabe-/Ausgabe-(I/O)-Vorrichtung umfasst, wobei die mindestens eine I/O-Vorrichtung einen Eingabe- und Ausgabepfad für mindestens eine Spalte eines Speichers vorsieht.
  18. Verfahren nach Anspruch 1, wobei der Schritt zum Reparieren von mindestens einer von beliebigen schadhaften Speicherzellen, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen, die Schritte umfasst: Bestimmen, welcher Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren einer größten Anzahl von schadhaften Speicherzellen, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können, fähig ist; und Ersetzen der größten Anzahl von schadhaften Speicherzellen mit einem verfügbaren Ersatzteil des bestimmten Typs.
  19. Verfahren nach Anspruch 1, wobei das Verfahren vor einem Bestimmen, ob schadhafte Speicherzellen repariert werden müssen, die in mindestens einem Abschnitt eines Speichers erfasst werden, ferner die Schritte umfasst: Bestimmen, ob ein beliebiger aus der Vielzahl von Typen von Speicherersatzteilen in dem mindestens einen Abschnitt eines Speichers nicht funktionstüchtig ist; und gemeinsames Gruppieren von Information bezüglich nichtfunktionstüchtiger Speicherersatzteile basierend auf einer Anordnung der Vielzahl von Typen von Speicherersatzteilen in dem mindestens einen Abschnitt eines Speichers.
  20. Verfahren nach Anspruch 19, wobei der Schritt zum gemeinsamen Gruppieren von Information bezüglich nichtfunktionstüchtiger Speicherersatzteile den Schritt umfasst: die Information bezüglich nicht-funktionstüchtiger Speicherersatzteile für eine Anzahl von Abschnitten von dem mindestens einen Abschnitt eines Speichers gemeinsam logisch oder-verknüpfen, wenn die Abschnitte fähig sind, durch mindestens einen von einem jeweiligen Typ von der Vielzahl von Typen von Speicherersatzteilen repariert zu werden.
  21. Vorrichtung zum Analysieren und Reparieren von Speicher, wobei die Vorrichtung umfasst: Logik, die bestimmt, ob schadhafte Speicherzellen, die in mindestens einem Abschnitt eines Speichers erfasst werden, unter Verwendung nur eines aus einer Vielzahl von Typen von Speicherersatzteilen repariert werden müssen oder unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können; Logik, die schadhafte Speicherzellen wiederholt repariert, die unter Verwendung nur eines aus der Vielzahl von Typen von Speicherersatzteilen repariert werden müssen, wobei beliebige schadhafte Speicherzellen übersprungen werden, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können, bis entweder keine neuen Fehler, die repariert werden müssen, repariert werden und keine schadhaften Speicherzellen übersprungen werden oder der Speicher bestimmt wird, irreparabel zu sein; Logik, die mindestens eine von beliebigen schadhaften Speicherzellen repariert, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen; und Logik, die bestimmt, ob schadhafte Speicherzellen repariert werden müssen und wiederholt schadhafte Speicherzellen repariert, die repariert werden müssen, wann immer mindestens eine übersprungene schadhafte Speicherzelle repariert wird.
  22. Vorrichtung nach Anspruch 21, wobei ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren eines von einem Zeilen- und einem Spaltenabschnitt eines Speichers fähig ist und ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen zum Reparieren des anderen der Zeilen- und Spaltenabschnitte eines Speichers fähig ist.
  23. Vorrichtung nach Anspruch 22, wobei schadhafte Speicherzellen, die repariert werden müssen, schadhafte Speicherzellen in einem jeweiligen Zeilen- oder Spaltenabschnitt eines Speichers mit einer Gesamtanzahl von schadhaften Speicherzellen, die eine Anzahl von verfügbaren Speicherersatzteilen eines komplementären Typs überschreitet, umfassen.
  24. Vorrichtung nach Anspruch 21, ferner umfassend: Logik, die den Speicher in eine Anzahl von Analyseblöcken logisch unterteilt, wobei jeder Analyseblock mindestens einen von jedem Typ aus der Vielzahl von Typen von Speicherersatzteilen vollständig umfasst.
  25. Vorrichtung nach Anspruch 24, ferner umfassend: Logik, die jeden Analyseblock in eine Anzahl von Teilblöcken logisch unterteilt, wobei sich jeder Teilblock über ein Gebiet des jeweiligen Analyseblocks entsprechend einem Bereich von Speicherzellen erstreckt, die zu reparieren jeder aus der Vielzahl von Typen von Speicherersatzteilen fähig ist.
  26. Vorrichtung nach Anspruch 25, ferner umfassend: Logik, die Information einer schadhaften Speicherzelle für jeden Teilblock als einen separaten adressierbaren Eintrag in einem Speicher speichert.
  27. Vorrichtung nach Anspruch 26, wobei die Information einer schadhaften Speicherzelle für jeden Teilblock in einem Abschnitt des Speichers, der analysiert und repariert wird, gespeichert wird.
  28. Vorrichtung nach Anspruch 26, ferner umfassend: eine Fehlerspeichertabelle für jeden adressierbaren Eintrag in einem Speicher entsprechend einem jeweiligen Teilblock, wobei jede Fehlerspeichertabelle Zeilen- und Spalteneinträge zum Speichern von Information bezüglich einer Anzahl von schadhaften Speicherzellen hat, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden.
  29. Vorrichtung nach Anspruch 28, ferner umfassend: Logik, die die Information bezüglich der Anzahl von schadhaften Speicherzellen, die in jeweiligen Zeilen- und Spaltenabschnitten eines Speichers erfasst werden, aus mindestens einer Fehlerspeichertabelle, die in einem Speicher gespeichert ist, liest; wobei sich die schadhaften Speicherzellen, die in dem mindestens einen Abschnitt eines Speichers erfasst werden, in Teilblöcken entsprechend der mindestens einen Fehlerspeichertabelle befinden, aus der die Information bezüglich der Anzahl von schadhaften Speicherzellen gelesen wird.
  30. Vorrichtung nach Anspruch 29, ferner umfassend: Logik, die bestimmt, ob schadhafte Speicherzellen, die in separaten Abschnitten des Speichers erfasst werden, repariert wurden, bis entweder alle schadhaften Speicherzellen, die in dem Speicher erfasst werden, repariert wurden oder der Speicher bestimmt wird, irreparabel zu sein.
  31. Vorrichtung nach Anspruch 30, wobei die Logik bestimmt, ob schadhafte Speicherzellen in den getrennten Abschnitten des Speichers zur gleichen Zeit repariert wurden.
  32. Vorrichtung nach Anspruch 28, ferner umfassend: Logik, die bestimmt, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde; Logik, die bestimmt, ob der identifizierte Fehler repariert werden muss, wenn weder der Zeilen- oder Spalteneintrag leer ist noch der identifizierte Fehler repariert wurde; Logik, die bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, wenn weder der Zeilen- oder Spalteneintrag leer ist noch der identifizierte Fehler repariert wurde; Logik, die bestimmt, ob ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wenn der identifizierte Fehler repariert werden muss; Logik, die Reparieren des identifizierten Fehlers überspringt und bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, wenn der identifizierte Fehler nicht repariert werden muss; Logik, die den identifizierten Fehler mit einem Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen repariert und bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist oder ob ein Fehler, der durch den nächsten Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, wenn ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist; und Logik, die den Speicher als irreparabel zu sein bestimmt, wenn ein Ersatzteil von dem nur einen aus der Vielzahl von Typen von Speicherersatzteilen nicht verfügbar ist.
  33. Vorrichtung nach Anspruch 28, wobei die Logik, die mindestens eine von beliebigen schadhaften Speicherzellen repariert, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen, umfasst: Logik, die nur eine erste erfasste schadhafte Speicherzelle von der mindestens einen von beliebigen übersprungenen schadhaften Speicherzellen repariert.
  34. Verfahren nach Anspruch 33, wobei die Logik, die nur eine erste erfasste schadhafte Speicherzelle repariert, umfasst: Logik, die bestimmt, ob ein Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist; Logik, die bestimmt, ob ein Fehler, der durch den Zeilen- oder Spalteneintrag identifiziert wird, repariert wurde, wenn der Zeilen- oder Spalteneintrag nicht leer ist; Logik, die bestimmt, ob ein nächster Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, wenn der Zeilen- oder Spalteneintrag leer ist; Logik, die bestimmt, ob ein erster Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wenn der identifizierte Fehler nicht repariert wurde; Logik, die bestimmt, ob ein nächster Zeilen- oder Spal-teneintrag in der mindestens einen Fehlerspeichertabelle leer ist, wenn der identifizierte Fehler repariert wurde; Logik, die den identifizierten Fehler mit einem Ersatzteil des ersten Typs repariert, wenn ein Ersatzteil von dem ersten Typ verfügbar ist; Logik, die bestimmt, ob ein zweiter komplementärer Typ aus der Vielzahl von Typen von Speicherersatzteilen verfügbar ist, wenn ein Ersatzteil von dem ersten Typ nicht verfügbar ist; Logik, die den identifizierten Fehler mit einem Ersatzteil von dem zweiten Typ repariert, wenn ein Ersatzteil von dem zweiten Typ verfügbar ist; und Logik, die bestimmt, dass der Speicher irreparabel ist, wenn ein Ersatzteil von dem zweiten Typ nicht verfügbar ist.
  35. Vorrichtung nach Anspruch 34, wobei wenn bestimmt wird, dass ein beliebiger Zeilen- oder Spalteneintrag in der mindestens einen Fehlerspeichertabelle leer ist, nächste Einträge von dem Typ, der leer ist, nicht bearbeitet werden müssen.
  36. Vorrichtung nach Anspruch 22, wobei der Zeilenabschnitt eines Speichers mindestens eine Zeile eines Speichers umfasst und der Spaltenabschnitt eines Speichers mindestens eine Spalte eines Speichers umfasst.
  37. Vorrichtung nach Anspruch 22, wobei der Spaltenabschnitt eines Speichers mindestens eine Eingabe-/Ausgabe-(I/O)-Vorrichtung umfasst, wobei die mindestens eine I/O-Vorrichtung einen Eingabe- und Ausgabepfad für mindestens eine Spalte eines Speichers vorsieht.
  38. Vorrichtung nach Anspruch 21, wobei die Logik, die mindestens eine von beliebigen schadhaften Speicherzellen repariert, die übersprungen werden, wenn schadhafte Speicherzellen repariert werden, die repariert werden müssen, umfasst: Logik, die bestimmt, welcher Typ aus der Vielzahl von Typen von Speicherersatzteilen fähig ist, eine größte Anzahl von schadhaften Speicherzellen zu reparieren, die unter Verwendung beliebiger aus der Vielzahl von Typen von Speicherersatzteilen repariert werden können; und Logik, die die größte Anzahl von schadhaften Speicherzellen durch ein verfügbares Ersatzteil von dem bestimmten Typ ersetzt.
  39. Vorrichtung nach Anspruch 21, ferner umfassend: Logik, die bestimmt, ob ein beliebiges aus der Vielzahl von Typen von Speicherersatzteilen in dem mindestens ei nen Abschnitt eines Speichers nicht funktionstüchtig ist; und Logik, die Information bezüglich nicht-funktionstüchtiger Speicherersatzteile basierend auf einer Anordnung von der Vielzahl von Typen von Speicherersatzteilen in dem mindestens einen Abschnitt eines Speichers gemeinsam gruppiert.
  40. Vorrichtung nach Anspruch 39, wobei die Logik, die Information bezüglich nicht-funktionstüchtiger Speicherersatzteile gemeinsam gruppiert, umfasst: Logik, die die Information bezüglich nichtfunktionstüchtiger Speicherersatzteile für eine Anzahl von Abschnitten von dem mindestens einen Abschnitt eines Speichers oderverknüpft, wenn die Abschnitte fähig sind, durch mindestens einen von einem jeweiligen Typ aus der Vielzahl von Typen von Ersatzteilen repariert zu werden.
DE10292320T 2001-06-08 2002-06-07 Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher Withdrawn DE10292320T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29679301P 2001-06-08 2001-06-08
US60/296,793 2001-06-08
US10/164,513 2002-06-06
US10/164,513 US20020196687A1 (en) 2001-06-08 2002-06-06 Methods and apparatus for analyzing and repairing memory
PCT/US2002/017744 WO2002101749A1 (en) 2001-06-08 2002-06-07 Methods and apparatus for analyzing and repairing memory

Publications (1)

Publication Number Publication Date
DE10292320T5 true DE10292320T5 (de) 2004-08-05

Family

ID=26860631

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10292320T Withdrawn DE10292320T5 (de) 2001-06-08 2002-06-07 Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher

Country Status (7)

Country Link
US (1) US20020196687A1 (de)
JP (1) JP2004522250A (de)
KR (1) KR20030020957A (de)
CN (1) CN100403443C (de)
AU (1) AU2002314916A1 (de)
DE (1) DE10292320T5 (de)
WO (1) WO2002101749A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290804B (zh) * 2007-04-18 2010-10-27 智原科技股份有限公司 内建备份元件分析器以及备份元件分析方法
US7958390B2 (en) * 2007-05-15 2011-06-07 Sandisk Corporation Memory device for repairing a neighborhood of rows in a memory array using a patch table
US7966518B2 (en) * 2007-05-15 2011-06-21 Sandisk Corporation Method for repairing a neighborhood of rows in a memory array using a patch table
US20110041016A1 (en) * 2009-08-12 2011-02-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory errors and redundancy
CN102280142B (zh) * 2010-06-10 2013-11-20 英业达股份有限公司 存储器检测方法
CN103713184A (zh) * 2012-09-29 2014-04-09 英业达科技有限公司 记忆体感测器的选择方法
US9760477B1 (en) * 2016-04-12 2017-09-12 Linkedin Corporation Self-healing job executor pool
CN106128509A (zh) * 2016-06-17 2016-11-16 凌美芯(北京)科技有限责任公司 一种新型的碳纳米晶体管存储器的测试方法
CN110970083B (zh) * 2018-09-30 2022-03-29 长鑫存储技术有限公司 集成电路修复方法及装置、存储介质、电子设备
CN113541988B (zh) * 2020-04-17 2022-10-11 华为技术有限公司 一种网络故障的处理方法及装置
US20210141703A1 (en) * 2020-12-24 2021-05-13 Intel Corporation Persistent data structure to track and manage ssd defects
EP4084005B1 (de) * 2021-03-19 2023-06-07 Changxin Memory Technologies, Inc. Verfahren und system zur reparatur einer speichervorrichtung
CN115116531A (zh) * 2021-03-19 2022-09-27 长鑫存储技术有限公司 存储器件修复方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4573146A (en) * 1982-04-20 1986-02-25 Mostek Corporation Testing and evaluation of a semiconductor memory containing redundant memory elements
US4584681A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Memory correction scheme using spare arrays
US4939694A (en) * 1986-11-03 1990-07-03 Hewlett-Packard Company Defect tolerant self-testing self-repairing memory system
US5343429A (en) * 1991-12-06 1994-08-30 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having redundant circuit and method of testing to see whether or not redundant circuit is used therein
FR2699301B1 (fr) * 1992-12-16 1995-02-10 Sgs Thomson Microelectronics Procédé de traitement d'éléments défectueux dans une mémoire.
US5479609A (en) * 1993-08-17 1995-12-26 Silicon Storage Technology, Inc. Solid state peripheral storage device having redundent mapping memory algorithm
US5513144A (en) * 1995-02-13 1996-04-30 Micron Technology, Inc. On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
JPH09146836A (ja) * 1995-11-21 1997-06-06 Kofu Nippon Denki Kk キャッシュ索引の障害訂正装置
JPH09306198A (ja) * 1996-02-07 1997-11-28 Lsi Logic Corp 冗長列及び入/出力線を備えたasicメモリを修復するための方法
US5764878A (en) * 1996-02-07 1998-06-09 Lsi Logic Corporation Built-in self repair system for embedded memories
US5844914A (en) * 1996-05-15 1998-12-01 Samsung Electronics, Co. Ltd. Test circuit and method for refresh and descrambling in an integrated memory circuit
JP3483724B2 (ja) * 1997-03-19 2004-01-06 シャープ株式会社 不揮発性半導体記憶装置
US5835504A (en) * 1997-04-17 1998-11-10 International Business Machines Corporation Soft fuses using bist for cache self test
US5920515A (en) * 1997-09-26 1999-07-06 Advanced Micro Devices, Inc. Register-based redundancy circuit and method for built-in self-repair in a semiconductor memory device
US5956350A (en) * 1997-10-27 1999-09-21 Lsi Logic Corporation Built in self repair for DRAMs using on-chip temperature sensing and heating
CN1223443A (zh) * 1998-01-16 1999-07-21 三菱电机株式会社 半导体集成电路装置
US5909404A (en) * 1998-03-27 1999-06-01 Lsi Logic Corporation Refresh sampling built-in self test and repair circuit
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
JP2001052495A (ja) * 1999-06-03 2001-02-23 Toshiba Corp 半導体メモリ
JP2003509804A (ja) * 1999-09-15 2003-03-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリ検査方法
US6795942B1 (en) * 2000-07-06 2004-09-21 Lsi Logic Corporation Built-in redundancy analysis for memories with row and column repair
US7178072B2 (en) * 2001-06-08 2007-02-13 Renesas Technology America, Inc. Methods and apparatus for storing memory test information

Also Published As

Publication number Publication date
WO2002101749A9 (en) 2003-09-04
AU2002314916A1 (en) 2002-12-23
WO2002101749A8 (en) 2003-03-27
KR20030020957A (ko) 2003-03-10
WO2002101749A1 (en) 2002-12-19
CN1489766A (zh) 2004-04-14
US20020196687A1 (en) 2002-12-26
CN100403443C (zh) 2008-07-16
JP2004522250A (ja) 2004-07-22

Similar Documents

Publication Publication Date Title
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE60017927T2 (de) Eingebautes system zur analyse des austausches von freien zeilen und spalten für integrierte speicher
DE60212962T2 (de) Hierarchischer intergrierter selbsttest
DE60102164T2 (de) Systeminitialisierung eines mikrocode-basierten eingebauten speicher-selbsttests
DE10225381A1 (de) Verfahren und Vorrichtung zum Speichern von Speichertestinformantion
EP1040420A1 (de) Verfahren zur reparatur von integrierten schaltkreisen
DE3728521A1 (de) Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE3901579A1 (de) Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind
DE10292320T5 (de) Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher
EP1046993B1 (de) Halbleiterspeicheranordnung mit BIST
EP1008993B1 (de) Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren
DE19930169B4 (de) Testeinrichtung und Verfahren zum Prüfen eines Speichers
DE102004020875B4 (de) Verfahren und Vorrichtung zum Maskieren bekannter Ausfälle während Speichertestauslesungen
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE112008000429T5 (de) Prüfvorrichtung und Prüfverfahren
EP1444699B1 (de) Verfahren zur rekonfiguration eines speichers
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
DE10153753B4 (de) Speichertester unterläßt ein Programmieren von Adressen in erfaßten schlechten Spalten
DE10256487B4 (de) Integrierter Speicher und Verfahren zum Testen eines integrierten Speichers
DE10034878C2 (de) Verfahren zum Überprüfen eines Bauelementes und Bauelement mit Testspeicher
DE10035705B4 (de) Verfahren zum Analysieren des Ersatzes fehlerhafter Zellen in einem Speicher und Speichertestvorrichtung mit einem Fehleranalysator, der von dem Verfahren Gebrauch macht
DE10134654A1 (de) Verfahren zur Fehleranalyse von Speichermodulen
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee