PatentDe  


Dokumentenidentifikation DE60208376T2 03.08.2006
EP-Veröffentlichungsnummer 0001408512
Titel Verfahren zum Speichern von Fehlern einer Speichervorrichtung in einem Diagnosefeld mit minimaler Speicherkapazität
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Collura, Michel, 83300 Draguignan, FR;
Coste, Jean-Patrice, 06250 Mougins le haut, FR;
Jallamion, Yannis, 06250 Mougins, FR
DE-Aktenzeichen 60208376
Vertragsstaaten DE, FR, GB, IT
Sprache des Dokument EN
EP-Anmeldetag 07.10.2002
EP-Aktenzeichen 020223129
EP-Offenlegungsdatum 14.04.2004
EP date of grant 28.12.2005
Veröffentlichungstag im Patentblatt 03.08.2006
IPC-Hauptklasse G11C 29/24(2006.01)A, F, I, 20060315, B, H, EP

Beschreibung[de]

Halbleiterspeicher sind binäre Datenspeicher, in welchen eine Vielzahl von Speicherzellen vorgesehen ist. Die Speicherzellen sind mittels Wortleitungen und Bitleitungen adressierbar. Der Hauptspeicher weist eine Matrix von vielen Speicherzellen auf, die mit Adressdekodiereinrichtungen und Leseverstärkern verbunden sind. Eine Adressierung einer Speicherzelle, das heißt die Auswahl einer Speicherzelle, wird dadurch ausgeführt, dass Wortleitungen aktiviert werden, die mit Adressdekodiereinrichtungen verbunden sind. Die in den adressierten Speicherzellen gespeicherten Daten werden von Ein-/Ausgabeeinheiten ausgelesen, die Leseverstärker zur Verstärkung des ausgelesenen Datensignals aufweisen. Die Ein-/Ausgabeeinheiten sind an einen Datenbus angeschlossen, mittels welchem Daten aus dem Speicher ausgelesen oder in den Speicher eingeschrieben werden können.

US 6,295,237 beschreibt eine Halbleiterspeicherkonfiguration, insbesondere ein DRAM, worin redundante Speicherzellen, Bitleitungen und Wortleitungen für fehlerhafte Speicherzellen, fehlerhafte Wortleitungen und fehlerhafte Bitleitungen durch eine eingebaute Selbsttest-Recheneinheit festgelegt werden.

US 5,910,921 beschreibt eine DRAM-Selbsttestschaltung, worin reguläre Wortleitungen und I/O- bzw. E/A-Einheiten durch redundante Wortleitungen und I/O-Einheiten unter Verwendung von Fuses ersetzt werden.

Wenn ein Speicher mit wahlfreiem Zugriff hergestellt wird, kann es vorkommen, dass einige der Speicherzellen innerhalb der Matrix fehlerhaft sind. Dementsprechend wird der hergestellte Speicherchip getestet, und es wird entschieden, ob er repariert werden kann. Zu diesem Zweck ist üblicherweise ein On-Chip-Schaltungsaufbau zur Testausführung auf dem Speicherchip vorgesehen. Der eingebaute Selbsttest (BIST = Built In Self Test) ist im Wesentlichen die Implementierung einer Logik, die in den Speicherchip eingebaut ist, um ein Testen ohne die Verwendung eines Testers für Datenmustererzeugung zu Vergleichszwecken auszuführen.

1 zeigt die Architektur eines Speicherchips gemäß dem Stand der Technik. Der Speicherchip weist einen Hauptspeicher mit einer Vielzahl von Speicherzellen und eine Redundanzlogik mit einer eingebauten Selbsttestvorrichtung auf. Der Speicherchip ist mit einem Adressbus, einem Steuerbus und einem Datenbus verbunden. In einem Testmodus werden die Adressen der fehlerhaften Speicherzellen erfasst. Die Redundanzlogik ersetzt die fehlerhaften Speicherzellen innerhalb des Hauptspeichers mit Speicherzellen in der Gestalt von redundanten Registern innerhalb der Redundanzlogik. Zu diesem Zweck programmiert die Redundanzlogik Fuses in einer Fusebox. Die auf den Adressbus aufgebrachte Adresse wird mit den Adressen der erfassten fehlerhaften Speicherzellen verglichen, und wenn es eine Übereinstimmung gibt, zeichnet die Redundanzlogik die fehlerhaften Adressen zu einer Adresse einer Adressregisterzelle innerhalb der Redundanzlogik auf, um die fehlerhafte Speicherzelle zu ersetzen. Wenn Daten aus dem Speicherchip ausgelesen werden, steuert die Redundanzlogik einen Multiplexer, der mit dem Datenbus in Verbindung steht. Wenn auf Daten mit einer Adresse einer fehlerhaften Speicherzelle zugegriffen wird, werden die Daten aus dem Register ausgelesen, welches die Speicherzelle innerhalb der Redundanzlogik ersetzt.

2 zeigt die Architektur eines Hauptspeichers innerhalb des Speicherchips nach dem Stand der Technik. In diesem Beispiel ist der Hauptspeicher ein 8 k × 16 großer Speicher mit 16 Ein-/Ausgabeeinheiten und Wortleitungs-Adressdekodern (XDEC) zur Dekodierung der Wortleitungsadresse oder X-Adresse der Speicherzellen Die Ein-/Ausgabeeinheiten sind mit der Speicherzellmatrix mittels vertikaler Bitleitungen verbunden. Die Ein-/Ausgabeeinheiten empfangen die Bitleitungsadresse oder Y-Adresse der ausgewählten Speicherzelle.

Der in 2 dargestellte Hauptspeicher nach dem Stand der Technik ist in zwei Speicherhälften untergliedert, wobei die X-Adressdekoder in der Mitte angeordnet sind. Mit dieser Architektur ist die Länge der Wortleitungen vergleichsweise kurz, so dass die parasitäre Kapazität der Wortleitungen minimiert werden kann. Jede Ein-/Ausgabeeinheit ist an die 16 Bitleitungen zum Auslesen von Daten aus der adressierten Speicherzellen und zum Einschreiben von Daten in eine adressierte Speicherzelle angeschlossen.

3 zeigt die Architektur einer Ein-/Ausgabeeinheit nach dem Stand der Technik. Zum Auslesen von Daten weist die Ein-/Ausgabeeinheit Multiplexer auf, welche mit den Bitleitungen der Speicherzellmatrix verbunden sind. In dem dargestellten Beispiel ist jede Speicherzelle an einen Multiplexer über eine Doppelbitleitung oder ein Paar von Bitleitungen BL, BL um ein differentielles Signal an dem Eingang des Multiplexers bereitzustellen. In dem dargestellten Beispiel weist jeder Multiplexer N Signaleingänge auf. Auf der Ausgangsseite ist jeder Multiplexer an einen Differenzverstärker und einen Inverter zur Verstärkung des ausgelesenen Datensignals und zur Lieferung der Daten zu einem Datenbus angeschlossen. Die Multiplexer werden durch die aufgebrachte Y-Adresse gesteuert.

4 zeigt die Architektur eines X-Adressdekoders nach dem Stand der Technik, der in einem herkömmlichen Hauptspeicher wie in 2 gezeigt verwendet wird. Ein Vordekoder ist über drei 8-Bit breite Busse an X-Adressdekoder angeschlossen, welche die X-Adresse der ausgewählten Speicherzelle innerhalb der Speicherzellmatrix dekodieren.

In einem herkömmlichen Speicher sind entweder redundante Register, redundante Bitleitungen und/oder Wortleitung vorgesehen, um einen Speicherchip in dem Fall zu reparieren, in dem fehlerhafte Speicherzellen beim Testen des Speicherchips erfasst werden.

Wenn der herkömmliche Speicherchip redundante Register aufweist, ist die Anzahl von fehlerhaften Adressen durch die Anzahl von redundanten Registern begrenzt, die innerhalb der Redundanzlogik vorgesehen sind. Wenn zum Beispiel 10 redundante Register vorhanden sind, ist es nur möglich, 10 fehlerhafte Adressen zu reparieren. Wenn eine Adresse "fehlerhaft" ist, wird die Adresse in einem redundanten Register gespeichert. Da die Anzahl von fehlerhaften Adressen, die von dem Hauptspeicher erfasst werden, vor einem Testen nicht bekannt ist; muss eine beträchtliche Anzahl von Registern innerhalb der Redundanzlogik vorgesehen werden, um die Reparatur des Chips zu gewährleisten, auch wenn viele Speicherzellen als fehlerhaft erfasst werden.

In dem Fall, in welchem der Speicherchip redundante Bitleitungen und/oder Wortleitungen aufweist, ist das Verfahren viel komplexer, da alle Fehler im Voraus bekannt sein müssen, bevor das Fehlermuster diagnostiziert werden kann und eine optimale Reparaturlösung errechnet werden kann. Speicherung von erfassten Speichern mit einem herkömmlichen Verfahren bedingt immer ein sehr großes Array.

Ein solches Array benötigt viel Platz auf dem Speicherchip, wobei auf diese Weise Kosten bei Herstellung des Speicherchips ansteigen.

Dementsprechend ist es die Aufgabe der vorliegenden Erfindung ein Verfahren zum Speichern von erfassten Fehlern in einem separaten Diagnosearray zu schaffen, welches eine minimale Speichergröße zur Speicherung von erfassten Fehlern eines Hauptspeichers innerhalb des Speicherchips aufweist.

Diese Aufgabe wird durch ein Verfahren mit der. Merkmalen von Hauptanspruch 1 und durch einen Speicherchip mit den Merkmalen von Hauptanspruch 6 gelöst.

Die Erfindung schafft ein Verfahren zum Speichern von erfassten Fehlern eines Hauptspeichers in einem separaten Diagnosearray innerhalb der Diagnoseeinheit, die eine minimale Speichergröße aufweist, wobei der zu reparierende fehlerhafte Hauptspeicher eine Vielzahl von Speicherzellen aufweist, welche mittels Wortleitungen, die mit Wortleitungsadressdekodern verbunden sind, und mittels Bitleitungen adressierbar sind, die mit Ein-/Ausgabeeinheiten verbunden sind, wobei das Verfahren die folgenden Verfahrensschritte aufweist:

  • (a) Vorsehen eines Fehlerdiagnosearrays mit mehreren Zeilen, wobei die Anzahl von Zeilen gleich der Anzahl von unabhängigen Fehlern des reparierbaren fehlerhaften Hauptspeichers ist, wobei in jeder Zeile des Diagnosearrays Folgendes speicherbar ist:
  • (a1) mindestens eine Wortleitungszahl einer Wortleitung einer erfassten fehlerhaften Speicherzelle,
  • (a2) eine Ein-/Ausgabeeinheitszahl einer Ein-/Ausgabeeinheit der erfassten fehlerhaften Speicherzelle,
  • (a3) mindestens ein erstes Flag, welches anzeigt, ob ein neuer Fehler auf derselben Wortleitung aber mit einer unterschiedlichen Ein-/Ausgabeeinheit aufgetreten ist, und
  • (a4) ein zweites Flag, welches anzeigt, ob eine weitere fehlerhafte Wortleitung mit derselben Ein-/Ausgabeeinheit aufgetreten ist;
  • (b) Vergleichen der Wortleitungszahl und der Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle mit dem Dateninhalt des Fehlerdiagnosearrays,
  • (b1) wenn die Wortleitungszahl und die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Arrays gespeichert sind, wird kein Aktualisieren des Fehlerdiagnosearrays durchgeführt,
  • (b2) sonst, wenn die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Fehlerdiagnosearrays gespeichert worden ist, wird die Wortleitungszahl in der Zeile gespeichert,
  • (b3) sonst, wenn die Wortleitungszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Arrays gespeichert ist, wird in der Zeile ein erstes Flag gesetzt,
  • (b4) sonst, wenn eine weitere Zeile in dem Fehlerdiagnosearray verfügbar ist, werden die Wortleitungszahl und die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle in die weitere Zeile eingeschrieben,
  • (b5) sonst wird angezeigt, dass der Hauptspeicher nicht repariert werden kann.

In einer bevorzugten Ausführungsform werden die in dem Diagnosearray gespeicherten erfassten Fehler analysiert, um Wortleitungen und Ein-/Ausgabeeinheiten auszuwählen, die von redundanten Wortleitungen und redundanten Ein-/Ausgabeeinheiten des Hauptspeichers zu ersetzen sind.

Ein Analysieren der Fehler wird in einer bevorzugten Ausführungsform von einer Steuereinheit innerhalb der Diagnoseeinheit ausgeführt, die mit dem Diagnosearray verbunden ist.

In einer bevorzugten Ausführungsform weist ein Analysieren der Fehler die folgenden Verfahrensschritte für jede Zeile des Diagnosearrays auf:

  • – Entscheiden, dass die korrespondierende Wortleitung durch eine redundante Wortleitung zu ersetzen ist, wenn das erste Flag innerhalb der Zeile gesetzt ist;
  • – Entscheiden, dass die fehlerhafte Ein-/Ausgabeeinheit durch eine redundante Ein-/Ausgabeeinheit zu ersetzen ist, wenn das zweite Flag innerhalb der Zeile gesetzt ist;
  • – Entscheiden, dass entweder die fehlerhafte Ein-/Ausgabeeinheit durch eine redundante Ein-/Ausgabeeinheit ersetzt wird oder die fehlerhafte Wortleitung durch eine redundante Wortleitung ersetzt wird, wenn das zweite Flag nicht gesetzt ist und das erste Flag nicht gesetzt ist.

In einer weiteren bevorzugten Ausführungsform steuert die Diagnoseeinheit eine Reparatureinheit zum Programmieren von Fuses zum Ersetzen von Wortleitungen durch redundante Wortleitungen und Ein-/Ausgabeeinheiten durch redundante Ein-/Ausgabeeinheiten gemäß dem Analyseergebnis.

Die Erfindung sieht weiterhin einen Speicherchip vor, der einen Hauptspeicher mit einer Vielzahl von Speicherzellen aufweist, welche mittels Wortleitungen, die mit Wortleitungsadressdekodern verbunden sind, und mittels Bitleitungen adressierbar ist, die mit Ein-/Ausgabeeinheiten verbunden sind,

wobei der Hauptspeicher Folgendes aufweist:

  • – redundante Wortleitungen, die mit redundanten Wortleitungsadressdekodern verbunden sind, und redundante Bitleitungen, die mit redundanten Ein-/Ausgabeeinheiten verbunden sind;
  • – eine eingebaute Selbsttesteinheit zur Erfassung von fehlerhaften Speicherzellen in dem Hauptspeicher;
  • – eine Diagnoseeinheit mit einem Diagnosearray zur Speicherung logisch erfasster Fehler des Hauptspeichers.
  • In dem Speicherchip gemäß der vorliegenden Erfindung ist in jeder Zeile des Diagnosearrays Folgendes speicherbar:
  • – mindestens eine Wortleitungszahl einer Wortleitung, welche mit einer fehlerhaften Speicherzelle verbunden ist;
  • – eine Ein-/Ausgabeeinheitszahl einer Ein-/Ausgabeeinheit, welche mit der fehlerhaften Speicherzelle verbunden ist;
  • – mindestens ein erstes Flag, welches anzeigt, ob ein neuer Fehler derselben Wortleitung aber mit einer unterschiedlichen Ein-/Ausgabeeinheit aufgetreten ist; und
  • – ein zweites Flag, welches anzeigt, ob eine weitere fehlerhafte Wortleitung mit derselben Ein-/Ausgabeeinheit aufgetreten ist.

In dem Speicherchip gemäß der vorliegenden Erfindung analysiert die Diagnoseeinheit die in dem Diagnosearray gespeicherten erfassten Fehler, um Wortleitungen und Ein-/Ausgabeeinheiten auszuwählen, die durch redundante Wortleitungen und redundante Ein-/Ausgabeeinheiten des Hauptspeichers ersetzbar sind.

In einer weiteren bevorzugten Ausführungsform des Speicherchips der vorliegenden Erfindung steuert die Diagnoseeinheit eine Reparatureinheit zur Programmierung von Fuses zum Ersatz von Wortleitungen durch redundante Wortleitungen und Ein-/Ausgabeeinheiten durch redundante Ein-/Ausgabeeinheiten gemäß dem Analyseergebnis.

Eine bevorzugte Ausführungsform des Verfahrens der vorliegenden Erfindung und des Speicherchips der vorliegenden Erfindung wird mit Bezugnahme auf die beigefügten Zeichnungen erläutert. Hierbei zeigt:

1 einen Speicherchip mit einer Redundanzlogik nach dem Stand der Technik;

2 den Hauptspeicher innerhalb eines Speicherchips nach dem Stand der Technik;

3 eine Ein-/Ausgabeeinheit nach dem Stand der Technik;

4 einen X-Adressdekoder nach dem Stand der Technik;

5 die Architektur eines Speicherchips gemäß der vorliegenden Erfindung;

6 eine Diagnoseeinheit innerhalb eines Speicherchips gemäß der vorliegenden Erfindung;

7 einen Hauptspeicher innerhalb eines Speicherchips mit einer Redundanz gemäß der vorliegenden Erfindung;

8 einen X-Adressdekoder innerhalb eines Speicherchips gemäß der vorliegenden Erfindung;

9 eine Ein-/Ausgabeeinheit innerhalb eines Speicherchips gemäß der vorliegenden Erfindung;

10 eine bevorzugte Ausführungsform eines Diagnosearrays gemäß der vorliegenden Erfindung;

11 das Verfahren zum Speichern von erfassten Fehlern des Hauptspeichers in dem Diagnosearray gemäß der vorliegenden Erfindung.

Wie aus 5 ersichtlich ist, weist der Speicherchip 1 gemäß der vorliegenden Erfindung einen Speicher 2 mit einer eingebauten Redundanz auf. Der Speicher 2 besitzt eine Vielzahl von Speicherzellen, welche mittels Wortleitungen und Bitleitungen adressierbar ist. Der Speicher weist redundante Wortleitungen und redundante Bitleitungen auf, welche zur Reparatur von fehlerhaften Speicherzellen vorgesehen sind. Der Speicher 2 ist mit einem Steuerblock 3, einer BIST-Einheit 4 und einer Reparatureinheit 6 verbunden. Die Reparatureinheit 6 steht mit programmierbaren Fuses 7 in Verbindung, welche zum Ersatz von Wortleitungen durch redundante Wortleitungen und zum Ersatz von Ein-/Ausgabeeinheiten durch redundante Ein-/Ausgabeeinheiten innerhalb des Speichers 2 vorgesehen sind.

Die eingebaute Selbsttesteinheit 4 führt einen Test des Speichers 2 innerhalb des Chips 1 aus und prüft, ob es irgendwelche Speicherzellen gibt, die defekt sind. Die Diagnoseeinheit 5 besteht aus einer Steuereinheit 5a und aus einem Diagnosearray 5b wie in 6 dargestellt. Das Diagnosearray 5b ist zur Speicherung von logisch erfassten Fehlern innerhalb des Hauptspeichers 2 vorgesehen, welche von der eingebauten Selbsttestvorrichtung 4 in einem Testmodus gefunden wurden. Die Steuereinheit 5a steuert das Verfahren gemäß der vorliegenden Erfindung zur Speicherung von erfassten Fehlern in dem Hauptspeicher 2 in dem separaten Diagnosearray 5b innerhalb der Diagnoseeinheit 5. 10 zeigt ein Beispiel einer innerhalb des Diagnosearrays 5b gespeicherten Tabelle. Das Verfahren gemäß der vorliegenden Erfindung ermöglicht es, die Speicherkapazität oder den Speicherumfang des Diagnosearrays 5b zu minimieren. Das Diagnosearray 5b speichert die in dem Speicher 2 gefundenen Fehler auf eine logische Art und Weise. Die Steuereinheit 5a steuert das Speichern der erfassten Fehler in das Diagnosearray 5b und analysiert die gespeicherten Fehler, um durch redundante Wortleitungen und redundante Ein-/Ausgabeeinheiten innerhalb des Speichers 2 zu ersetzende Wortleitungen und Ein-/Ausgabeeinheiten auszuwählen. Die Reparatureinheit programmiert in Abhängigkeit von dem Analyseergebnis Fuses in einer Fusebox, die mit dem Hauptspeicher 2 verbunden ist. Auf einer Basis des Dateninhalts der Speichertabelle innerhalb des Diagnosearrays 5b führt die Reparatureinheit 6 einen Prefuse-Vorgang der Fuses aus, um Wortleitungen und die Ein-/Ausgabeeinheiten von fehlerhaften Speicherzellen durch redundante Wortleitungen und redundante Ein-/Ausgabeeinheiten zu ersetzen. Im nächsten Verfahrensschritt wird der provisorisch reparierte Speicher 2 erneut getestet, und wenn keine weiteren Fehler erfasst werden, werden die Fuses in der Fusebox 7 zerstört bzw. aufgetrennt.

7 stellt einen Speicher 2 innerhalb eines in 5 gezeigten Speicherchips 1 dar. In der in 7 gezeigten Ausführungsform ist der Speicher in zwei Speicherhälften 2a, 2b unterteilt, die jede eine Matrix von Speicherzellen aufweisen. Die Speicherzellen sind an X-Adressdekoder 8 und an Ein-/Ausgabeeinheiten 9 angeschlossen. Die Ein-/Ausgabeeinheiten 9 stehen mit Dateneingabe-/ausgabepads des Speicherchips 1 in Verbindung. Bei dem gegebenen Beispiel ist jede Ein-/Ausgabeeinheit 9 mit 16 Bitleitungen verbunden.

wie aus 7 ersichtlich ist, weist der Speicher 2 weiterhin redundante X-Adressendekoder 11 und redundante Ein-/Ausgabeeinheiten 12a, 12b auf. Weiterhin ist eine Steuer-und Komparatoreinheit 13 vorgesehen, die über Leitungen 15 an den Adressbus 14 und an die Fusebox 7 angeschlossen ist.

8 stellt eine bevorzugte Ausführungsform der Adressdekodereinheit innerhalb des in 7 gezeigten Speichers 2 dar. Die aufgebrachten X-Adressen werden von einer Komparatoreinheit 13a mit einem Fuseinfo von der Fusebox 7 verglichen. In Abhängigkeit von den programmierten Fuses können die X-Adressdekoder 8-1 bis 8-n durch redundante X-Adressdekoder 11-1, 11-2 ersetzt werden.

9 zeigt die Architektur der Ein-/Ausgabeeinheiten 9 in dem Speicherchip 1 gemäß der vorliegenden Erfindung. Wie aus 9 ersichtlich ist, ist eine redundante Ein-/Ausgabeeinheit 12b vorgesehen, welche von den programmierten Fuses 7 aktiviert werden kann. Die Fusebox 7 ist über Steuerleitungen 16 mit Multiplexern innerhalb der Multiplexstufe 17 verbunden. Die Fusebox 7 weist die Informationsdaten der durch die redundanten Ein-/Ausgabeeinheit 12 zu ersetzende Ein-/Ausgabeeinheit 9. Ein Steuersignal wird an die Multiplexerstufe 17 geliefert, um die Ein-/Ausgabe 9 zu blockieren, welche mit einer fehlerhaften Speicherzelle innerhalb des Speichers 2 verbunden ist und für welche entschieden ist, dass sie von dem korrespondierenden Pad 10 ersetzt werden soll. Weiterhin ist die redundante Ein-/Ausgabeeinheit 12b an Pad 10b-7 als ein Ersatz angeschlossen. Die redundante Ein-/Ausgabeeinheit 12b wird von den Fuses gesetzt. Ein Vorsehen der zusätzlichen Multiplexerstufe 17 hat fast keinen Einfluss auf die Signalverzögerung.

10 stellt eine bevorzugte Ausführungsform eines Diagnosearrays innerhalb einer Diagnoseeinheit 5 dar. In dem Diagnosearray 5b wird eine Fehlerdiagnosetabelle für jede Hälfte 2a, 2b des Speichers 2 gespeichert. Das Fehlerdiagnosearray 5b weist mehrere Zeilen auf, wobei die Anzahl von Zeilen gleich der Anzahl von unabhängigen Fehlern ist, welche in dem fehlerhaften Hauptspeicher 2 repariert werden können.

In dem in 10 gegebenen Beispiel sind drei Zeilen, Zeile 0, Zeile 1, Zeile 2 vorgesehen. Das in 10 gezeigte Diagnosearray 5b weist mehrere Spalten auf. Die erste Spalte F.WL zeigt die Zahl bzw. Nummer einer in dem Speicher erfassten fehlerhaften Wortleitung an. Die nächste Spalte Fg.BIS ist ein Flag, welches gesetzt wird, wenn es einen neuen Fehler auf der gleichen Wortleitung wie in F.WL gibt, aber mit einer unterschiedlichen Ein-/Ausgabeeinheit. In der nächsten Spalte F.WL1 kann die Wortleitungszahl einer zweiten fehlerhaften Wortleitung mit derselben Ein-/Ausgabeeinheit gespeichert werden. Fg.BIS1 ist ein Flag, welches im gesetzten Zustand anzeigt, dass es einen neuen Fehler auf derselben Wortleitung wie F.WL1 gibt, aber mit einer unterschiedlichen Ein-/Ausgabeeinheit. Fg.WL2 ist ein Flag, welches gesetzt wird, wenn es eine dritte fehlerhafte Wortleitung mit derselben Ein-/Ausgabeeinheit gibt. In der letzten Spalte F.IO kann die Eingabe-/Ausgabezahl der fehlerhaften Ein-/Ausgabeeinheit 9 des Speichers 2 gespeichert werden.

11a bis 11f zeigen ein Beispiel eines Ausfüllens des in 10 gezeigten Diagnosearrays 5b.

Wenn die eingebaute Selbsttestvorrichtung 4 einen Fehler F1 einer fehlerhaften Speicherzelle erfasst, die mit Wortleitung WL2 und Ein-/Ausgabeeinheit 60 in der rechten Speicherhälfte 2b verbunden ist, wird die X-Adresse der erfassten Wortleitung, wie aus 11a zu ersehen ist, in der ersten Spalte gespeichert, und die Zahl der fehlerhaften Ein-/Ausgabeeinheit 60 wird in der letzten Spalte von Zeile 0 in der rechten Tabelle gespeichert.

Wie in 11b gezeigt ist, wird als nächstes eine weitere defekte Speicherzelle F2 erfasst, die mit der Ein-/Ausgabeeinheit 3 und der Wortleitung 3 verbunden ist. Jede Wortleitung weist ein Wortleitungspaar zur Lieferung eines Differensignals auf. Da der Fehler auf der Wortleitung WL3 liegt und immer ein Wortleitungspaar repariert wird, wird WL3 als gleich zu Wortleitung WL2 für die Speicherung betrachtet. Die Zahl der fehlerhaften Wortleitung WL2 und die Zahl der fehlerhaften Ein-/Ausgabeeinheit IO3 werden in der linken Tabelle gespeichert.

Wie aus 11c ersichtlich ist, wird als nächstes ein weiterer Fehler F3 gefunden. Die fehlerhafte Speicherzelle ist mit Wortleitung 8 und Ein-/Ausgabeeinheit 60 verbunden. Die Zahl der zweiten fehlerhaften Wortleitung und der Ein-/Ausgabeeinheit 60 werden in der Spalte F.WL1 der rechten Tabelle gespeichert.

11d zeigt die Situation nachdem ein weiterer Fehler F4 erfasst worden ist. Wie aus 11d zu sehen ist, sind zwei mit Wortleitung 8 verbundene fehlerhafte Speicherzellen erfasst. Die linke Tabelle wird aktualisiert, indem die Zahl der erfassten Wortleitung WL8 gespeichert wird, wobei die zweite fehlerhafte Zelle in dieser Wortleitung mit derselben Ein-/Ausgabeeinheit IO3 angezeigt wird, und ein Flag Fg.BIS1 wird gesetzt, wobei angezeigt wird, dass es einen neuen Fehler auf derselben Wortleitung WL8 gibt, aber mit einer unterschiedlichen Ein-/Ausgabeeinheit (in diesem Fall Ein-/Ausgabeeinheit IO0).

Ein weiterer Fehler ist erfasst, wie aus 11e ersichtlich ist. Der nächste Fehler F5 resultiert aus einer fehlerhaften Speicherzelle, die mit Wortleitung 10 und Ein-/Ausgabeeinheit 40 verbunden ist. Da eine neue Ein-/Ausgabeeinheit 40 betroffen ist, wird eine neue Zeile in der rechten Tabelle aktiviert, und die Wortleitungszahl der erfassten fehlerhaften Adresse WL10 wird in diese Zeile eingeschrieben.

11f zeigt den Zustand nachdem zwei zusätzliche Fehler F6 gefunden worden sind. Das Flag Fg.WL2 in der rechten Tabelle zeigt an, dass eine dritte fehlerhafte Speicherzelle in Wortleitung 10, die mit der gleichen Ein-/Ausgabeeinheit IO60 verbunden ist, gefunden worden ist. In der linken Tabelle zeigt Flag Fg.WL2 an, dass eine dritte fehlerhafte Speicherzelle in Verbindung mit Wortleitung 10 und der gleichen Ein-/Ausgabeeinheit IO3 gefunden worden ist.

11g stellt die Situation nach Auffinden eines Fehlers F7 dar, welcher aus fünf fehlerhaften Speicherzellen besteht, die mit Wortleitung WL10 verbunden sind. Fg.BIS zeigt an, dass es einen neuen Fehler auf derselben Wortleitung gibt, aber mit einer unterschiedlichen Ein-/Ausgabeeinheit.

In dem gegebenen Beispiel in 11a bis 11g liegt ein 4 k × 64 SRAM 2 mit zwei redundanten Ein-/Ausgabeeinheiten und zwei redundanten Wortleitungen vor. Eine unterschiedliche Art von Redundanz kann in einem Speicher 2 benutzt werden. Mögliche Redundanzen sind zum Beispiel zwei redundante Wortleitungen und zwei redundante Ein-/Ausgabeeinheiten, eine redundante Wortleitung und zwei redundante Ein-/Ausgabeeinheiten, zwei redundante Ein-/Ausgabeeinheiten, zwei redundante Wortleitungen oder lediglich eine redundante Wortleitung. Mit dem Verfahren zum Speichern des erfassten Fehlers gemäß der vorliegenden Erfindung ist es zum Beispiel möglich, drei unabhängige Fehler zu reparieren, wenn zwei redundante Wortleitungen und eine redundante Ein-/Ausgabeeinheit vorgesehen sind. Ein unabhängiger Fehler ist ein Fehler, wenn die fehlerhaften Adressen und die Ein-/Ausgabeeinheiten unterschiedlich sind. Der erste unabhängige Fehler kann dadurch repariert werden, indem die Wortleitung durch eine redundante Wortleitung ersetzt wird. Der zweite Fehler kann auch durch Ersatz einer Wortleitung mit der zweiten redundanten Wortleitung repariert werden, und ein dritter Fehler wird repariert, indem eine redundante Ein-/Ausgabeeinheit verwendet wird. Wenn ein weiterer Fehler in dieser Situation auftritt, liegt dieser neue Fehler entweder auf derselben Wortleitung oder Ein-/Ausgabeeinheit wie ein vorheriger Fehler, und es ist möglich, diesen zusätzlichen Fehler zu reparieren. Wenn sich der neue Fehler in einer neuen Wortleitung befindet, oder die fehlerhafte Speicherzelle ist mit einer anderen Ein-/Ausgabeeinheit als vorhergehende Fehler verbunden, kann dieser zusätzliche Fehler nicht repariert werden, und der Hauptspeicher 2 bleibt fehlerhaft.

In dem Verfahren gemäß der vorliegenden Erfindung wird jeder Fehler durch Speicherung seiner Wortleitung und seiner Ein-/Ausgabeeinheit in einer Zeile des Diagnosearrays 5b festgehalten. Die in diesem Array erforderliche Anzahl von Zeilen ist gleich der Anzahl von unabhängigen Fehlern, welche mit einer Redundanz repariert werden sollten. Wenn es entschieden ist, drei unabhängige Fehler zu reparieren, muss ein Array mit drei Zeilen vorgesehen werden. Wenn mehr unabhängige Fehler in Betracht gezogen werden müssen, muss die Anzahl von Zeilen dementsprechend erhöht werden.

Listing-A zeigt einen Algorithmus zum Speichern von erfassten Fehlern eines Hauptspeichers 2 in dem in 10 gezeigten separaten Diagnosearray 5b. In dem gegebenen Beispiel sind zwei redundante Wortleitungen und zwei redundante Ein-/Ausgabeeinheiten vorgesehen.

Listing-B zeigt einen Algorithmus zur Analyse von erfassten Fehlern, die in dem Diagnosearray 5b gespeichert sind.

Wenn zum Beispiel die Diagnosetabelle 5b den in 11g gezeigten Dateninhalt in dem linken Array aufweist, zeigt das erste Zeilenflag Fg.BIS1, das gesetzt ist, an, dass Wortleitung WL8 repariert werden muss. Flag Fg.WL2, das auch gesetzt ist, zeigt an, dass die Ein-/Ausgabeeinheit IO3 repariert werden muss. In der zweiten Zeile zeigt Flag Fg.BIS an, dass Wortleitung WL10 repariert werden muss.

Eine Analyse der rechten Hälfte des Arrays zeigt in der ersten Zeile, dass Flag Fg.WL2 gesetzt ist, so dass die Ein-/Ausgabeeinheit IO60 repariert werden muss. In der zweiten Zeile ist Flag Fg.BIS gesetzt und zeigt an, dass die Wortleitung WL10 repariert werden muss.

Der Analyseverfahrensschritt zeigt an, dass Wortleitungen WL8, Ein-/Ausgabeeinheit 3, Wortleitung 10, Ein-/Ausgabeeinheit 60 und Wortleitung 10 repariert werden müssen. Da Wortleitung 10 ein Doppeltreffer ist ..., kann die Diagnoseeinheit 5 die Reparatureinheit 6 auf eine solche Weise steuern, dass die Reparatureinheit 6 zur Reparatur von Wortleitung 8, Ein-/Ausgabeeinheit 3, Wortleitung 10 und Ein-/Ausgabeeinheit 60 Fuses 7 programmiert. Die Reparatur wird durchgeführt, indem gefundene Wortleitungen und Ein-/Ausgabeeinheiten durch redundante Wortleitungen und redundante Ein-/Ausgabeeinheiten ersetzt werden, welche in dem Hauptspeicher 2 des Speicherchips 1 vorgesehen sind.

Die notwendige Speicherkapazität des in 10 dargestellten Diagnosearrays 5b ist sehr gering, so dass der erforderliche Chipbereich zur Implementierung dieses Diagnosearrays sehr klein ist. Ein weiterer Vorteil des Speicherchips gemäß der vorliegenden Erfindung besteht darin, dass der für die Fehlerspeicherung erforderliche Bereich unabhängig von der Größe des zu reparierenden Speichers ist. Die Diagnose der besten Reparaturlösung kann sehr schnell ausgeführt werden, da während des von der eingebauten Selbsttestvorrichtung 4 des Speicherchips 1 ausgeführten BIST-Algorithmus bereits eine Vorbehandlung vorgekommen ist, das heißt, die fehlerhaften Wortleitungen und Ein-/Ausgabeeinheiten sind schon erfasst. In dem gegebenen Beispiel benötigt die Diagnoseeinheit 5 nur fünf Taktzyklen, um die Reparaturlösung zu finden. In einem herkömmlichen Speicherchip benötigt die Diagnoseeinheit eine Anzahl von Taktzyklen, die von der jeweiligen Speichergröße des Hauptspeichers abhängig ist. Das Verfahren gemäß der vorliegenden Erfindung ist unabhängig von der Architektur des Speichers, unabhängig von dem verwendeten BIST-Algorithmus und unabhängig von der Speicherart, das heißt, das Verfahren kann für alle Ausführungen von Speichern, solche wie SRAM, DRAM und CAM, benutzt werden.

Mit der vorliegenden Erfindung ist es möglich, alle in einem Speicher erfassten Fehler in einem Array mit einer minimalen Speichergröße zu speichern, welche nur von der Art von Redundanz abhängt, das heißt von der Zahl von redundanten Wortleitungen und/oder redundanten Bitleitungen, die in dem Speicher 2 vorgesehen sind.


Anspruch[de]
  1. Verfahren zum Speichern von erfassten Fehlern eines Hauptspeichers (2) in einem separaten Diagnosearray (5b) innerhalb einer Diagnoseeinheit (5), die eine minimale Speichergröße aufweist,

    wobei der zu reparierende fehlerhafte Hauptspeicher (2) eine Vielzahl von Speicherzellen aufweist, welche mittels Wortleitungen (WL), die mit Wortleitungsadressdekodern (8) verbunden sind, und mittels Bitleitungen (BL) adressierbar sind, die mit Ein-/Ausgabeeinheiten (9) verbunden sind,

    wobei

    das Verfahren die folgenden Verfahrensschritte aufweist:

    (a) Vorsehen eines Fehlerdiagnosearrays (5b) mit mehreren Zeilen, wobei die Anzahl der Zeilen gleich der Anzahl von unabhängigen Fehlern des reparierbaren fehlerhaften Hauptspeichers (2) ist,

    wobei in jeder Zeile des Diagnosearrays (5b) Folgendes speicherbar ist:

    (a1) mindestens eine Wortleitungszahl (FWL, FWL1) einer Wortleitung, die mit einer erfassten fehlerhaften Speicherzelle verbunden ist,

    (a2) eine Ein-/Ausgabeeinheitszahl (F.IO) einer Ein-/Ausgabeeinheit, die mit der erfassten fehlerhaften Speicherzelle verbunden ist,

    (a3) mindestens ein erstes Flag (Fg.BIS, Fg.BIS1), welches anzeigt, ob ein neuer Fehler auf derselben Wortleitung aber mit einer unterschiedlichen Ein-/Ausgabeeinheit aufgetreten ist, und

    (a4) ein zweites Flag (Fg.WL2), welches anzeigt, ob eine weitere fehlerhafte Wortleitung mit derselben Ein-/Ausgabeeinheit aufgetreten ist;

    (b) Vergleichen der Wortleitungszahl und der Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle mit dem Dateninhalt des Fehlerdiagnosearrays (5b), wobei

    (b1) WENN die Wortleitungszahl und die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Arrays gespeichert sind, kein Aktualisieren des Fehlerdiagnosearrays durchgeführt wird,

    (b2) SONST, wenn die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Fehlerdiagnosearrays gespeichert worden ist, die Wortleitungszahl in der Zeile gespeichert wird,

    (b3) SONST, wenn die Wortleitungszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Arrays gespeichert ist, in der Zeile ein erstes Flag gesetzt wird,

    (b4) SONST, wenn eine weitere Zeile in dem Fehlerdiagnosearray (5b) verfügbar ist, die Wortleitungszahl und die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle in die weitere Zeile eingeschrieben werden,

    (b5) SONST angezeigt wird, dass der Hauptspeicher (2) nicht repariert werden kann.
  2. Verfahren nach Anspruch 1, wobei die in dem Diagnosearray (5b) gespeicherten erfassten Fehler analysiert werden, um von redundanten Wortleitungen und redundanten Ein-/Ausgabeeinheiten des Hauptspeichers (2) zu ersetzende Wortleitungen und Ein-/Ausgabeeinheiten auszuwählen.
  3. Verfahren nach Anspruch 2, wobei das Analysieren der Fehler in einer bevorzugten Ausführungsform von einer Steuereinheit (5a) innerhalb der Diagnoseeinheit (5) ausgeführt wird, die mit dem Diagnosearray (5b) verbunden ist.
  4. Verfahren nach Anspruch 3, wobei ein Analysieren der Fehler die folgenden Verfahrensschritte für jede Zeile des Diagnosearrays (5b) aufweist, wobei wenn das erste Flag innerhalb der Zeile gesetzt ist, entschieden wird, dass die korrespondierende Wortleitung durch eine redundante Wortleitung zu einsetzen ist; wenn das zweite Flag innerhalb der Zeile gesetzt ist, entschieden wird, dass die fehlerhafte Ein-/Ausgabeeinheit durch eine redundante Ein-/Ausgabeeinheit zu ersetzen ist; wenn das zweite Flag nicht gesetzt ist und ein erstes Flag nicht gesetzt ist, entschieden wird, dass entweder die fehlerhafte Ein-/Ausgabeeinheit durch eine redundante Ein-/Ausgabeeinheit ersetzt wird oder die fehlerhafte Wortleitung durch eine redundante Wortleitung ersetzt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Diagnoseeinheit (5) eine Reparatureinheit (6) zum Programmieren von Fuses zum Ersetzen von Wortleitungen durch redundante Wortleitungen und Ein-/Ausgabeeinheiten durch redundante Ein-/Ausgabeeinheiten gemäß dem Analyseergebnis steuert.
  6. Speicherchip, welcher Folgendes aufweist:

    (a) einen Hauptspeicher (2) mit einer Vielzahl von Speicherzellen, welche mittels Wortleitungen (WL), die mit Wortleitungsadressdekodern (8) verbunden sind, und mittels Bitleitungen (BL) adressierbar ist, die mit Ein-/Ausgabeeinheiten (9) verbunden sind, wobei der Hauptspeicher (2) redundante Wortleitungen (WL), die mit redundanten Wortleitungsadressdekodern (11) verbunden sind, und redundante Bitleitungen (BL) aufweist, die mit redundanten Ein-/Ausgabeeinheiten (12) verbunden sind;

    (b) eine eingebaute Selbsttesteinheit (4) zur Erfassung von fehlerhaften Speicherzellen in dem Hauptspeicher (2);

    (c) eine Diagnoseeinheit (5) mit:

    (c1) einem Diagnosearray (5b) zur Speicherung logisch erfasster Fehler des Hauptspeichers (2), wobei das Diagnosearray (5b) mehrere Zeilen aufweist, deren Anzahl gleich der Anzahl von unabhängigen Fehlern in dem fehlerhaften Hauptspeicher (2) ist, der reparierbar ist, wobei in jeder Zeile des Diagnosearrays (5b) Folgendes speicherbar ist:

    mindestens eine Wortleitungszahl (FWL, FWL1) einer Wortleitung, welche mit einer fehlerhaften Speicherzelle verbunden ist;

    eine Ein-/Ausgabeeinheitszahl (F.IO) einer Ein-/Ausgabeeinheit, welche mit der fehlerhaften Speicherzelle verbunden ist;

    mindestens ein erstes Flag (Fg.BIS, Fg.BIS1), welches anzeigt, ob ein neuer Fehler derselben Wortleitung aber mit einer unterschiedlichen Ein-/Ausgabeeinheit aufgetreten ist; und

    ein zweites Flag (Fg.WL2), welches anzeigt, ob eine weitere fehlerhafte Wortleitung mit derselben Ein-/Ausgabeeinheit aufgetreten ist;

    (c2) einer Steuereinheit (5a) zum Vergleich der Wortleitungszahl und der Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle mit dem Dateninhalt des Fehlerdiagnosearrays (5b), wobei

    WENN die Wortleitungszahl und die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Fehlerdiagnosearrays gespeichert sind, keine Aktualisierung des Fehlerdiagnosearrays ausgeführt wird; SONST, wenn die Ein-/Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Fehlerdiagnosearrays gespeichert ist, die Wortleitungszahl in der Zeile gespeichert wird;

    SONST, wenn die Wortleitungszahl der erfassten fehlerhaften Speicherzelle bereits in einer Zeile des Fehlerdiagnosearrays gespeichert ist, ein erstes Flag in der Zeile gesetzt wird;

    SONST, wenn eine weitere Zeile in dem Fehlerdiagnosearray (5b) verfügbar ist, die Wortleitungszahl und die Ein- /Ausgabeeinheitszahl der erfassten fehlerhaften Speicherzelle in die weitere Zeile eingeschrieben werden;

    SONST entschieden wird, dass der Hauptspeicher (2) nicht reparierbar ist.
  7. Speicherchip nach Anspruch 6,

    wobei

    die Diagnoseeinheit (5) eine Reparatureinheit (6) zur Programmierung von Fuses (7) zum Ersatz von Wortleitungen durch redundante Wortleitungen und Ein-/Ausgabeeinheiten durch redundante Ein-/Ausgabeeinheiten steuert.
Es folgen 12 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com