-
Die Erfindung betrifft einen integrierten
Speicher mit einer Mehrzahl an Speicherzellen, die matrixförmig in
einem Speicherzellenfeld angeordnet sind, und ein Verfahren zum
Testen eines derartigen integrierten Speichers.
-
Der stark ansteigende Bedarf an Speicherplatz
von Anwendungsprogrammen hat in der Vergangenheit dazu geführt, dass
die Speichergröße von Halbleiterspeichern
rasant angestiegen ist. Mit zunehmender Speichergröße und dem
damit einhergehenden erhöhten
Integrationsgrad bei der Herstellung von Halbleiterspeichern, steigt
auch die Wahrscheinlichkeit, dass Speicherzellen des Datenspeichers
bzw. Halbleiterspeichers im Fertigungsprozess fehlerhaft hergestellt
werden und dadurch nicht funktionstüchtig sind. Um einen hohen
Ausschussanteil bei Halbleiterspeichern zu vermeiden, werden die Halbleiterspeicher
mit redundanten Speicherbereichen hergestellt. Bei einem aus Zeilen
und Spalten aufgebauten Halbleiterspeicher werden hierzu zusätzliche
redundante Zeilen und redundante Spalten auf dem Speicherchip angeordnet.
-
Integrierte Schaltungen, insbesondere
integrierte Halbleiterspeicher, werden nach der Herstellung einem
Testverfahren unterzogen, um das logische und dynamische Verhalten
der Schaltung zu Testen und dabei einerseits fehlerhafte Schaltungen zu
detektieren und andererseits durch Auswerten der Testergebnisse
die Leistungsfähigkeit
der Schaltung zu prüfen.
Bei bekannten Testverfahren werden mittels eines Testautomaten Testmuster
generiert, die an die integrierte Schaltung angelegt werden. An
den Ausgängen
der integrierten Schaltung werden die Antwortmuster durch den Testautomaten
ausgelesen und mit Soll-Antwortmustern verglichen. Fehlerfrei ist die
integrierte Schaltung dann, wenn die ausgegebenen Antwortmuster mit
den Soll-Antwortmustern übereinstimmen.
Häufig
werden die integrierten Halbleiterspeicher mit BIST-Strukturen (Built-In-Self-Test) aufgebaut.
Diese BIST-Strukturen weisen eingebaute Selbsttest-Einheiten auf.
Dies bedeutet, dass in dem integrierten Halbleiterspeicher eine
zusätzliche
Logik integriert ist, die Testmuster-Generatoren und Auswerteeinheiten
für die
Testmuster aufweist. Der Testautomat liefert bei derartigen Ausführungen
lediglich ein Taktsignal für
die zu testende Schaltung und ermittelt aufgrund der von den Auswerteeinheiten
für die
Testmuster ausgelesenen Daten, ob ein fehlerhafter oder fehlerfreier
Halbleiterspeicher vorliegt. Integrierte Schaltungen mit Selbsttest-Einheiten
weisen in der Regel Speichereinheiten bzw. Speicherregister auf,
die die Möglichkeit
bieten, Testmuster zu erzeugen (bspw. BILBO-Register (Built-In-Logic-Block-Observation),
die im allgemeinen vier Betriebszustände aufweisen). In der Regel
wird mit Zählern
gearbeitet, um alle Adressen in einer definierten Reihenfolge zu
testen. Weiter wird eine kleine Anzahl an Testmustern definiert,
die in der Regel gespeichert werden. Die oben genannten Ausführungen
beziehen sich auf einen Logiktest.
-
Eine in dem Halbleiterspeicher integrierte Redundanz-Steuerlogik steuert
den Zugriff auf den Redundanz-Adressenspeicher sowie auf den Redundanz-Datenspeicher.
Der Redundanz-Adressenspeicher weist Adressenspeicher auf, in denen
die fehlerhaften Adressen der defekten Speicherzellen des Speicherzellenfeldes
des Hauptdatenspeichers gespeichert sind. Da bei einem Ausfall der
Stromversorgung die in den Adressenspeichern gespeicherten fehlerhaften
Adressen verloren gehen, werden diese beim Testen des Halbleiterspeichers
detektierten fehlerhaften Adressen zusätzlich in einen Festwertspeicher
fest einprogrammiert. Diese in den Festwertspeicher einprogrammierten
Adressen können
im Bedarfsfall vom Festwertspeicher wieder in den Redundanz-Adressenspeicher
eingeschrieben werden.
-
Wird in einem Testlauf eine fehlerhafte
Speicherzelle bzw. Datenspeichereinheit im Speicherzellenfeld des
Hauptdatenspeichers erkannt, wird die Fehleradresse der fehlerhaften
Speicherzelle in eine Adressenspeichereinheit bzw. ein Adressenspeicherregister
des Redundanz-Adressenspeichers eingeschrieben. Im Falle eines Zugriffs
auf diese Fehleradresse wird auf die zugeordnete Speicherzelle innerhalb
des Redundanz-Datenspeichers und nicht auf die fehlerhafte Speicherzelle
innerhalb des Hauptdatenspeichers zugegriffen. Aufgrund dieser Umadressierung
ist es bis zu einem gewissen Grad möglich (abhängig von der Anzahl der defekten
Speicherzellen und der Größe des Redundanz-Datenspeichers), fehlerhafte
Speicherzellen innerhalb des Hauptdatenspeichers durch redundante
Speicherzellen im Speicherzellenfeld des Redundanz-Datenspeichers zu
ersetzen.
-
Bei Testverfahren sind verschiedene
Ausführungen
bekannt. Aus der
DE
39 24 695 A1 ist ein internes Selbsttest- und Redundanzprogrammierungsverfahren
für Speicherschaltkreise
bekannt. Beim Einschalten einer Betriebsspannung durch einen internen
Selbsttest-Prozessor mit einem Mikroprozessor wird der Speicherschaltkreis
geprüft
und die Fehleradressen ermittelt. Die ermittelten Fehleradressen werden
komprimiert und in einer Registerbank des Selbsttest-Prozessors
gespeichert. Aus der Verteilung der Fehleradressen wird die Redundanzstruktur ermittelt
und die entsprechenden Redundanz-Bitleitungen und Redundanz-Wortleitungen
aktiviert. Bei diesem Verfahren wird somit zunächst die gesamte Anzahl an
Fehleradressen des gesamten Speichers ermittelt und erst im Anschluss
daran beginnt die Berechnung der Redundanzstrategie. Dies bedeutet, dass
eine sehr große
Datenmenge gespeichert werden muss, da mittels Fehler-erkennender
Codes die Positionen der defekten Speicherzellen ermittelt werden
und eine komplette Bitmap aller defekten Bits erstellt und gespeichert
wird. Ein Nachteil derartiger Testverfahren und Schaltungsanordnungen
besteht darin, das durch diese Zweistufigkeit des Testvorgangs viel
Zeit zum Testen und Reparieren benötigt wird und daraus auch ein
sehr kostenintensives Verfahren resultiert. Weiterhin werden für die Datenmenge
der sehr großen
Bitmaps sehr große
Speichereinheiten benötigt.
Ein weiterer Nachteil ergibt sich dadurch, dass mit diesem Verfahren
lediglich das Ersetzen von gesamten Wort- und/oder Bitleitungen
möglich
ist. Ist beispielsweise in einer Zeile mit 256 Speicherzellen lediglich
eine Speicherzelle defekt, so wird die komplette Zeile ersetzt und
255 fehlerfreie Speicherzellen verschwendet. Daraus resultiert eine
erhebliche Platzverschwendung der zur Verfügung stehenden Fläche des
Halbleiterspeichers, der bei derartigen Test- und Reparaturverfahren
entsprechend groß ausgeführt werden
muss.
-
Weiterhin ist aus der deutschen Offenlegungsschrift
DE 101 10 469 A1 ein
Test- und Reparaturverfahren sowie ein integrierter Speicher bekannt.
Durch das Verfahren können
integrierte Speicher repariert werden, die die Testphase beim Hersteller
bereits verlassen haben und im laufenden Betrieb eingesetzt werden.
Wird im laufenden Betrieb eine fehlerhafte Zeile oder Spalte durch
eine Selbsttesteinheit erkannt, generiert die Selbsttesteinheit
ein Fehlersignal für
diese Zeile oder Spalte und erzeugt abhängig von einem Vergleich des
Fehlersignals mit einem mittleren Fehlersignal ein Reparatursignal. Durch
Auslösen
des Reparatursignals ersetzt eine Selbstreparatureinheit im laufenden
Betrieb die fehlerhafte Zeile oder Spalte durch eine redundante
Zeile oder redundante Spalte. Mit dem Testverfahren können auch
Einzelzellenfehler detektiert werden und mittels einer gesamten
Zeile oder einer gesamten Spalte repariert werden. Ein Nachteil
besteht darin, dass durch die Fehler-erkennenden und Fehler-korrigierenden
Codes zusätzlich
zu den redundanten Zeilen und redundanten Spalten weitere Speicherzellen
als Nutzinformationen verloren gehen und darüber hinaus eine Reparatur nur
mittels redundanter Zeilen und/oder redundanter Spalten möglich ist.
Somit werden auch hier eine sehr hohe Anzahl an fehlerfreien Speicherzellen
verschwendet und eine uneffektive und ineffiziente Reparaturstrategie
zugrunde gelegt.
-
Des Weiteren ist aus der deutschen
Offenlegungsschrift
DE
100 02 127 A1 ein Testverfahren und ein Datenspeicher bekannt,
bei dem während
des Testvorgangs eine Adresse einer als fehlerhaft erkannten Speicherzelle
eines Hauptdatenspeichers sofort auf eine zugeordnete Redundanz-Speichereinheit
innerhalb eines Redundanz-Datenspeichers umadressiert wird. Die
Fehlererkennung und die Umadressierung jeder einzelnen Adresse erfolgt
daher unmittelbar aufeinanderfolgend während des Testlaufs und nicht
erst nachdem alle fehlerhaften Adressen detektiert worden sind.
Ein Nachteil dieses Verfahrens und dieser Anordnung besteht darin,
dass aufgrund der begrenzten Größe der Redundanz-Speichereinheit
nur eine relativ geringe Anzahl an defekten Speichereinheiten durch
redundante Speichereinheiten ersetzt werden kann und daher ein hoher Ausschuss
an nicht vollständig
zu reparierenden Hauptspeichern bzw. Datenspeichern resultiert,
oder andererseits der Redundanz-Datenspeicher sehr groß sein muss,
um eine möglichst
hohe Anzahl an defekten Speicherzellen durch redundante Speicherzellen
reparieren zu können.
Bei dem bekannten Verfahren wird keine spezielle Teststrategie zugrunde gelegt,
um das Erkennen der Fehler zu optimieren oder spezielle Kategorien
von Fehler einfacher detektieren zu können. Insbesondere das spaltenorientierte
Fehler sind bei diesem Verfahren ein großes Problem. Ein weiterer Nachteil
hierbei besteht darin, dass die defekten Datenspeichereinheiten
sofort einzeln repariert werden, wodurch eine effektive Reparatur
im Vergleich zu Verfahren, bei denen zunächst eine Mehrzahl an Defekten
detektiert wird und erst dann eine Reparaturstrategie bestimmt wird,
im allgemeinen nur sehr bedingt möglich ist. Darüber hinaus
werden zur Reparatur keine redundanten Zeilen und/oder redundanten
Spalten zur Verfügung
gestellt.
-
Aufgabe der Erfindung ist es, ein
Verfahren zum Testen von integrierten Speichern sowie einen derartigen
integrierten Speicher zu schaffen, bei dem alle defekten Speicherzellen
schnell und zuverlässig erkannt
werden können
und die Wahr scheinlichkeit einen defekten integrierten Speicher
als Ausschuss aussondern zu müssen,
vermindert werden kann. Weiterhin ist es Aufgabe, die Daten der
defekten Speichereinheiten mit vermindertem Aufwand bereitstellen
zu können.
-
Diese Aufgabe wird durch ein Verfahren,
welches die Schritte nach Patentanspruch 1 aufweist, und einen integrierten
Speicher, welcher die Merkmale nach Patentanspruch 24 aufweist,
gelöst.
-
Bei einem erfindungsgemäßen Verfahren zum
Testen eines integrierten Speichers, welcher einen Hauptdatenspeicher
mit einer Mehrzahl an Datenspeichereinheiten aufweist, werden folgende
Verfahrensschritte durchgeführt:
- a) Adressieren einer Datenspeichereinheit,
indem die Adresse der Datenspeichereinheit an einen mit dem Hauptdatenspeicher
verbundenen Adressbus angelegt wird;
- b) Anlegen von Eingabetestdaten an einen mit dem Hauptdatenspeicher
verbundenen Datenbus zum Testen der adressierten Datenspeichereinheit;
- c) Auslesen von Ausgabetestdaten aus dem Hauptdatenspeicher,
insbesondere aus der adressierten Datenspeichereinheit; d) Vergleichen
der Ausgabetestdaten mit erwarteten Soll-Ausgabetestdaten;
- e) Zwischenspeichern der angelegten Adresse, der erwarteten
Soll-Ausgabetestdaten und der Ausgabetestdaten in einem Redundanz-Analysespeicher,
falls ein Abweichen der Ausgabetestdaten von den Soll-Ausgabetestdaten
auftritt;
- f) Bereitstellen erster redundanter Bereiche des integrierten
Speichers in dem Redundanz-Analysespeicher und Bereitstellen zumindest
zweiter redundanter Bereiche des integrierten Speichers außerhalb
des Redundanz-Analysespeichers; und
- g) Ermitteln einer Reparaturstrategie mittels der redundanten
Bereiche auf der Basis der in dem Redundanz-Analysespeicher zwischengespeicherten
Informationen.
-
Mit dem erfindungsgemäßen Verfahren
können
zum einen defekte Speicherzellen schnell und zuverlässig detektiert
werden und zum anderen die Wahrscheinlichkeit, einen defekten integrierten
Speicher als Ausschuss aussondern zu müssen, vermindert werden. Darüber hinaus
kann der Redundanz-Analysespeicher in zweifacher Funktion genutzt
werden, indem zum einen diagnostizierte Daten bzw. Informationen über defekte
Datenspeichereinheiten darin gespeichert werden und ferner auf der Basis
der in dem Redundanz-Analysespeicher enthaltenen Informationen eine
Reparaturstrategie bestimmt werden kann, wobei dazu erste redundante Bereiche
in dem Redundanz-Analysespeicher und zweite redundante Bereiche
außerhalb
des Redundanz-Analysespeichers bereitgestellt werden. Es ist bei
dem erfindungsgemäßen Verfahren
nicht mehr erforderlich, zunächst
alle defekten Datenspeichereinheiten eines gesamten Hauptdatenspeichers
mittels eines Fehler-erkennenden oder eines Fehler korrigierenden
Codes zu erweitern oder in einer im allgemeinen sehr großen Bitmap
zu speichern, um erst anschließend
eine Reparaturstrategie entwickeln zu können. Mit dem erfindungsgemäßen Verfahren
können
die Daten der defekten Speichereinheiten sowie deren Verarbeitung
und der damit verbundenen Ermittlung einer optimalen, effektiven
und effizienten Reparaturstrategie mit reduziertem Aufwand bereitgestellt
werden. Das Reparieren eines integrierten Speichers kann mit dem
erfindungsgemäßen Verfahren äußerst variabel
und veränderbar
durchgeführt werden,
und auf die Anzahl und/oder die Lage der detektierten defekten Datenspeichereinheiten
angepasst werden. Dadurch kann somit ein Verschwenden vieler funktionstüchtiger
Datenspeichereinheiten, wie es bei den im allgemeinen weniger detaillierten
und mehr grob strukturierten bekannten Testverfahren unumgänglich ist,
verhindert werden.
-
In einem bevorzugten Ausführungsbeispiel wird
der Hauptdatenspeicher zum Testen in mehrere Teilbereiche unterteilt,
wobei jeder einzelne Teilbereich beliebig ausgewählt und separat getestet werden
kann. Vorteilhaft ist es, wenn die Teilbereiche gleich groß sind.
Es kann aber auch bevorzugt vorgesehen sein, diese Teilbereiche
mit unterschiedlicher Größe auszubilden.
Für jeden
Teilbereich wird eine eigene Reparaturstrategie ermittelt. Vorteilhafter Weise
wird das Testen der einzelnen Teilbereiche des Hauptdatenspeichers
in iterativer Weise durchgeführt,
wobei die Teilbereiche aufeinanderfolgend getestet werden. Der gesamte
Hauptdatenspeicher kann somit stückweise
repariert werden. Dadurch kann ein gesamter Testvorgang schneller
durchgeführt
werden. Weist bspw. ein Teilbereich bereits derartig viele Defekte
auf, dass ein Reparieren mit den vorhandenen Redundanzen nicht mehr
möglich
ist, kann bereits hier erkannt werden, dass der gesamte Hauptdatenspeicher
nicht mehr zu reparieren ist und weitere Teilbereiche nicht mehr
getestet werden müssen.
Des Weiteren ist das Ermitteln von Reparaturstrategien für kleinere
lokale Bereiche des Hauptdatenspeichers weniger aufwändig und
einfacher zu konzipieren.
-
Vorteilhafter Weise kann vorgesehen
sein, dass zumindest ein erster Teilbereich des Hauptdatenspeichers
als redundanter Bereich bereitgestellt wird. Bevorzugt wird der
erste Teilbereich zunächst getestet.
Nach dem Abschluss des Testens des ersten Teilbereichs werden Nutzinformationen
eines als weiteren zu testenden Teilbereichs auf den ersten Teilbereich übertragen.
Dadurch kann erreicht werden, dass stets ein Teilbereich des gesamten
Hauptdatenspeichers testet, insbesondere wenn die Schaltung keine
Betriebsanforderüng
hat. Ist der erste Teilbereich getestet, wird die Nutzinformation
vom nächsten
zu testenden Teilbereich des Hauptdatenspeichers auf den ersten
Teilbereich kopiert bzw. übertragen
und dieser weitere Teilbereich kann getestet werden. Dadurch kann
dauerhaft und kontinuierlich eine Reparatur durchgeführt werden,
wenn ein Fehler aufgetreten ist (Online Test). Dies ist gewährleistet,
indem ein Teilbereich des Hauptdatenspeichers selbst als redundanter
Bereich bereitgestellt wird. Die Redundanz erstreckt sich somit über eine Mehrzahl
an Zeilen und/oder eine Mehrzahl an Spalten, die in dem ersten Teilbereich
als redundante Bereiche bereitstellbar sind. Es kann dadurch auch
vorgesehen sein, dass das Redundanzverfahren bzw. das Testverfahren
erkennt, welche Teilbereiche nicht mehr repariert werden können, und
welche zugehörigen
Adressen ausgeblendet werden können.
Die Auswahl der Teilbereiche kann allgemein mit wenigen Bits, insbesondere
mit den sogenannten höherwertigen
Bits, erfolgen. Gibt es beispielsweise 4 Teilbereiche, in die der
Hauptspeicher unterteilt wird, so benötigt man 2 Bits, um diese 4
Teilbereiche eindeutig identifizieren zu können. Werden diese Bits mit
einer geeigneten Logik, bspw. mit XOR-Elementen, umprogrammiert,
so könnte
quasi ein Austauschen der Teilbereiche des Hauptdatenspeichers durchgeführt werden,
und gegebenenfalls ein Ersetzen durch redundante Teilbereiche erfolgen.
Dadurch wird die Möglichkeit
geschaffen, ein stetiges Testen und Überprüfen durchzuführen und
gegebenenfalls melden, wenn ein Reparieren nicht mehr möglich ist
oder nicht erlaubte Fehler auftreten. Dies ist besonders für sicherheitsrelevanten
Anwendungen ein besonderer Vorteil.
-
Bevorzugt werden die ersten redundanten Bereiche
des Redundanz-Analysespeichers zum Reparieren jedes einzelnen Teilbereichs
bereitgestellt und verwendet. Die zweiten redundanten Bereiche werden
vorzugsweise nur für
jeweils einen Teilbereich bereitgestellt. Die ersten redundanten
Bereiche können
somit in flexibler und variabler Weise einem beliebigen Teilbereich
zugeordnet werden. ` Bevorzugt ist es, wenn
die ersten redundanten Bereiche, abhängig von der Anzahl der detektierten
Abweichungen der Ausgabetestdaten von den erwarteten Soll-Ausgabetestdaten,
vor den weiteren zur Verfügung
stehenden redundanten Bereichen des integrierten Speichers für das Ermitteln
der Reparaturstrategie berücksichtigt
werden. In gezielter Weise kann dadurch genau festgelegt werden,
bei welcher Anzahl an detektierten defekten Datenspeichereinheiten
ein Reparaturversuch zunächst
mit den ersten redundanten Bereichen erfolgversprechender als mit anderen
redundanten Bereichen ist. Die Wahrscheinlichkeit einen integrierten
Speicher, insbesondere einen Teilbereich des Hauptdatenspeichers,
erfolgreich, aufwandsarm und relativ einfach fehlerfrei bereitstellen
zu können,
kann dadurch wesentlich erhöht
werden.
-
Als besonders vorteilhaft erweist
es sich, wenn für
die Reparaturstrategie ausschließlich erste redundante Bereiche
des Redundanz-Analysespeichers berücksichtigt bzw. herangezogen
werden, falls ein Testlauf beendet ist und die Speicherkapazität des Redundanz-Analysespeichers
höchstens
maximal mit Informationen der detektierten defekten Datenspeichereinheiten
belegt ist. In diesem Fall, kann in besonders einfacher Weise eine
Reparaturstrategie ermittelt werden. Es wird lediglich auf die ersten redundanten
Bereiche zugegriffen, um eine Reparaturstrategie zu bestimmen. Die
entsprechenden Informationen sind dabei schon in den ersten redundanten
Bereichen eingeschrieben, so dass für das Konzipieren der Reparaturstrategie
der Aufwand minimiert wird.
-
Wird die Speicherkapazität des Redundanz-Analysespeichers
durch die Anzahl der detektierten defekten Datenspeichereinheiten,
die im Redundanz-Analysespeicher gespeichert werden, überschritten,
und ist der erste Testlauf noch nicht abgeschlossen, so werden in
vorteilhafter Weise zum Bestimmen der Reparaturstrategie gemäß Schritt
g) nachfolgend erläuterte
Schritte durchgeführt.
Zunächst
werden die in dem Redundanz-Analysespeicher
zwischengespeicherten Informationen ausgelesen und an eine Recheneinheit übertragen.
Nachfolgend wird eine Zwischen-Reparaturstrategie mittels der zweiten
redundanten Bereiche und/oder gegebenenfalls vorhandener dritter
redundanter Bereiche ermittelt. Diese gegebenenfalls vorhandenen
dritten redundanten Bereiche sind ebenfalls außerhalb des Redundanz-Analysespeichers
angeordnet. Im Anschluss daran wird der Testlauf fortgesetzt, falls
der erste Testlauf vor dem Auslesen der Informationen aus dem Redundanz- Analysespeicher unterbrochen wird.
In einem weiteren Schritt werden die Schritte a) bis g) wiederholt.
-
In einem bevorzugten Ausführungsbeispiel werden
die Informationen aus dem Redundanz-Analysespeicher in die Recheneinheit
erst dann ausgelesen, wenn die Anzahl der detektierten Abweichungen zwischen
den Ausgabetestdaten und den Soll-Ausgabetestdaten die Speicherkapazität des Redundanz-Analysespeichers übersteigt
oder ein erster Testlauf beendet ist.
-
In vorteilhafter Weise werden die
Schritte a) bis g) so oft wiederholt, bis während oder nach dem Durchführen von
einem der Schritte a) bis g), sowie der vorab beschriebenen Schritte
des Auslesens der Informationen, des Ermittelns einer Zwischen-Reparaturstrategie
und dem Fortsetzen des Testlaufs, ein nicht mehr reparierbarer integrierter
Speicher erkannt wird, oder ein Testlauf beendet ist und die Speicherkapazität des Redundanz-Analysespeichers nach
dem Beenden des Testlaufs höchstens
maximal mit Informationen weiterer detektierter defekter Datenspeichereinheiten
belegt ist.
-
Bevorzugt wird nach dem Beenden des
Testlaufs eine endgültige
bzw. abschließende
Reparaturstrategie mittels einer oder mehrerer vorab bestimmter
Zwischen-Reparaturstrategien und ersten redundanten Bereichen und/oder
gegebenenfalls noch vorhandener zweiter redundanter Bereiche und/oder
gegebenenfalls noch vorhandener zumindest dritter redundanter Bereiche,
ermittelt. Durch Einbeziehen aller vorab ermittelten Reparaturmöglichkeiten
und noch vorhandener Redundanzen kann das Reparieren des integrierten
Speichers optimiert werden und eine höchstmögliche Wahrscheinlichkeit für eine vollständige Reparatur
bei gleichzeitig minimiertem Aufwand ermöglicht werden. Darüber hinaus
kann somit verhindert werden, dass viele funktionstüchtige Datenspeichereinheiten
belegt bzw. verschwendet werden.
-
In besonders bevorzugter weise ist
es möglich,
dass beim Ermitteln einer zweiten oder weiteren Zwischen-Reparaturstrategie
die vorhergehend ermittelten Zwischen-Reparaturstrategien verändert werden
können.
Es ist ebenso möglich
beim Ermitteln einer abschließenden
Reparaturstrategie die vorab bestimmten Zwischen-Reparaturstrategien
abzuändern
oder gar ganz zu ersetzen. Dies ist ein besonderer Vorteil, da somit
bis zum Abschluß des Testlaufs
eine gewählte
Zwischen-Reparaturstrategie
oder generell alle vorab erzeugten Reparaturmöglichkeiten an eine veränderte Struktur
bzw. Verteilung von defekten Datenspeichereinheiten im Speicherzellenfeld
angepasst werden kann. Dadurch kann bis zum Ende des Testlaufs eine
hohe Flexibilität
des Testverfahrens ermöglicht
werden, woraus sich besonders effiziente Reparaturalternativen erstellen
lassen. Daraus resultiert wiederum eine hohe Wahrscheinlichkeit
den Speicher reparieren zu können
ohne dabei eine große
Anzahl an funktionstüchtigen
Datenspeichereinheiten zu belegen.
-
Es kann vorgesehen sein, dass die
in dem Redundanz-Analysespeicher
zwischengespeicherten Informationen schrittweise ausgelesen werden. Es
kann aber auch vorgesehen sein, dass die in dem Redundanz-Analysespeicher
zwischengespeicherten Informationen vollständig ausgelesen werden und
erst dann in der Recheneinheit mit dem Ermitteln einer Reparaturstrategie
begonnen wird. In vorteilhafter Weise können aus dem Redundanz-Analysespeicher
ausgelesene Informationen während
dem Ermitteln einer Zwischen-Reparaturstrategie oder einer abschließenden Reparaturstrategie
wieder in den Redundanz-Analysespeicher
geschrieben werden. Die Informationen werden somit wieder zurück übertragen.
Dies ist unter anderem dann von Vorteil, wenn die ersten ausgelesenen
Informationen defekte Datenspeichereinheiten charakterisieren, die
derart auf dem Speicherzellenfeld verteilt sind, dass nur eine relativ
uneffektive Zwischen-Reparaturstrategie oder abschließende Reparaturstrategie
ermittelt werden könnte,
und ein Reparieren nur unter einer erheblichen Verschwendung intakter
Daten speichereinheiten erreichbar wäre. Indem ein Zurückschieben in
den Redundanz-Analysespeicher durchgeführt wird, und somit ein mögliches
Reparieren dieses oder dieser defekten Datenspeichereinheiten zurückgestellt
wird, kann die Güte
der Reparaturstrategie erhöht
werden.
-
In vorteilhafter Weise werden vor
dem Ermitteln einer Zwischen-Reparaturstrategie die exakten Defektpositionen
in den Ausgabetestdaten bestimmt, indem in der Recheneinheit ein
bitweiser Vergleich zwischen den erwarteten Soll-Ausgabetestdaten
und den Ausgabetestdaten durchgeführt wird. Dadurch ergibt sich
eine genaue Lage der defekten Bits bzw. der defekten Speicherzellen
im Speicherzellenfeld des Hauptdatenspeichers und die Auswahl, welche redundanten
Bereiche für
eine Reparaturstrategie vorzugsweise geeignet erscheinen, kann wesentlich verbessert
werden.
-
Vorteilhaft ist es, diejenigen Informationen, mit
denen gekennzeichnet wird, welche ersten redundanten Bereiche und/oder
welche zweiten redundanten Bereichen und/oder welche gegebenenfalls vorhandenen
dritten redundanten Bereiche für
eine Zwischen-Reparaturstrategie oder eine abschließende Reparaturstrategie
berücksichtigt
werden, in Speicherregister, die mit der Recheneinheit verbunden sind,
einzuschreiben.
-
In vorteilhafter Weise wird der erste
Testlauf während
dem Auslesen der Informationen aus dem Redundanz-Analysespeicher
und dem Ermitteln einer Zwischen-Reparaturstrategie unterbrochen.
Es kann vorgesehen sein, dass nach dem Fortsetzen des ersten Testlaufs
ein Test-Algorithmus zum Testen gewählt wird, der unterschiedlich
zu dem Test-Algorithmus ist, mit dem das Testen vor dem Unterbrechen
des ersten Testlaufs durchgeführt
wird. Es kann aber auch vorgesehen sein, dass der Testlauf mit dem
gleichen Test-Algorithmus fortgesetzt wird, der vor dem Unterbrechen
verwendet wurde. Vorgesehen sein kann auch, dass nach dem Abschluß des ersten
Testlauf ein oder mehrere weitere Testläufe durchgeführt werden,
wobei bei jedem weiteren Testlauf unterschiedliche Test-Algorithmen
eingesetzt werden. Dadurch kann ein flexibler Testablauf gewährleistet
werden, in dem mehrere Test-Algorithmen für einen weiteren Testlauf zur
Verfügung
gestellt und ausgewählt
werden können.
Dadurch kann die Wahrscheinlichkeit, defekte Datenspeichereinheiten
zu detektieren, erhöht
werden. In besonders vorteilhafter Weise können dadurch Bit-orientierte oder
Wort-orientierte Defekte detektiert werden, indem spezielle Test-Algorithmen
eingesetzt werden, die es erlauben derartig kategorisierte Defekte
mit hoher Wahrscheinlichkeit detektieren zu können. Die Effektivität des erfindungsgemäßen Verfahrens
kann somit erhöht
werden.
-
In bevorzugter Weise wird der erste
Testlauf mit der maximalen Taktfrequenz des integrierten Speichers
durchgeführt.
Dadurch kann erreicht werden, dass der integrierte Speicher quasi
unter Bedingungen getestet wird, die im späteren Einsatz des integrierten
Speichers bestehen. Weiterhin kann dadurch die Wahrscheinlichkeit,
defekte Datenspeichereinheiten zu detektieren, erhöht werden.
-
Weiterhin ist es vorteilhaft, dass
beim Auslesen der in dem Redundanz-Analysespeicher gespeicherten
Informationen diejenige Taktfrequenz, mit der der integrierte Speicher
getestet wird, reduziert wird und erst wieder erhöht wird,
wenn Schritt g) abgeschlossen ist und der Test gegebenenfalls fortgesetzt
wird. Allgemein kann gesagt werden, dass die Taktfrequenz und somit
die Testgeschwindigkeit in allen Modulen angepasst werden kann.
Eine geringe Taktfrequenz ist geeignet, um mit externer Test-Logik oder
weiteren langsamer arbeitenden Modulen zu kommunizieren. Auch der
Speichertest kann individuell eingestellt werden. Dadurch kann erreicht
werden, dass die Prüfschärfe wesentlich
verbessert und erhöht
werden kann.
-
In besonders vorteilhafter Weise
umfasst die Datenbreite, die ein erster redundanter Bereich aufweist,
ein Intervall, das von einem einzigen Bit bis zu einer ein gesamtes
Wort bildenden Anzahl an Bits reichen kann, und die Datenbreiten
der zweiten und gegebenenfalls der dritten redundanten Bereiche
jeweils ein Intervall umfassen, das von einem einzigen Bit bis zu
einer eine gesamte Zeile oder mehrere Zeilen oder eine gesamte Spalte
oder mehrere Spalten bildenden Anzahl an Bits reicht. Dadurch kann
gewährleistet
werden, dass eine Reparaturstrategie mit möglichst wenig Verlust an funktionstüchtigen
Datenspeichereinheiten durchgeführt
werden kann. Darüber
hinaus ist ein weiterer Vorteil dadurch gegeben, dass jeder redundante
Bereich unterteilt werden kann und somit mit variablen und unterschiedlichen Datenbreiten
in vielfältiger
weise konzipiert werden kann und der Verteilung der defekten Datenspeichereinheiten
bei der erforderliche Reparaturstrategie angepasst werden kann.
Ist beispielsweise ein zweiter redundanter Bereich als eine redundante
Zeile ausgebildet, so kann diese Zeile komplett für eine Reparaturstrategie
herangezogen werden. Es ist aber auch möglich, dass die redundante
Zeile halbiert wird, wobei die erste Hälfte für eine möglichst effiziente Behebung
eines ersten defekten Bereichs an Datenspeichereinheiten herangezogen
wird und die zweite Hälfte
für eine
möglichst
effiziente Behebung weiterer Bereiche an defekten Datenspeichereinheiten
für eine
Reparaturstrategie herangezogen wird. Des Weiteren kann beispielsweise
auch vorgesehen sein, eine der beiden Hälften der halbierten Zeile nochmals
zu unterteilen. Dies kann soweit durchgeführt werden, bis ein einziges
Bit als redundante Einheit zum Reparieren vorhanden ist. In analoger
Weise kann dies für
die dritten redundanten Bereiche, die beispielsweise als redundante
Spalten ausgebildet sind, durchgeführt werden. In gleicher Weise
kann dies auch für
die ersten redundanten Bereiche des Redundanz-Analysespeichers vorgesehen
werden. Daraus ergibt sich eine sehr hohe Vielfalt an unterschiedlichen
Datenbreiten der verschiedenen redundanten Bereiche, wodurch eine
enorm hohe Anzahl an Kombinationsmöglichkeiten von unterschiedlichen
redundanten Bereichen, welche jede für sich noch eine Vielzahl an
unterschiedlichen Datenbreiten aufweisen können, erreicht werden kann.
Dies ermöglicht
eine optimale Zwischen-Reparaturstrategie oder auch abschließende Reparaturstrategie
zu generieren. Neben den oben genannten Flächenvorteilen können auch
Geschwindigkeitsvorteile der Schaltung erzielt werden.
-
Bevorzugt ist es, dass im Anschluss
an das Reparieren des integrierten Speichers die Informationen der
aktivierten ersten redundanten Bereiche und/oder der zweiten redundanten
Bereiche und/oder der gegebenenfalls dritten redundanten Bereiche,
in einen nicht-flüchtigen
Speicher einprogrammiert werden.
-
Besonders vorteilhaft ist es, dass
Defekte in ersten redundanten Bereichen und/oder zweiten redundanten
Bereichen und/oder Defekte in dritten redundanten Bereichen, welche
für eine
Zwischen-Reparaturstrategie herangezogen werden, erkannt werden
und durch andere erste redundante Bereiche und/oder andere zweite
redundante Bereiche und/oder andere dritte redundante Bereiche und/oder
erste redundante Bereiche ersetzt werden. Dadurch kann ermöglicht werden,
dass die für
eine Zwischen-Reparaturstrategie oder eine abschließende Reparaturstrategie
ausgewählten
und benötigten zweiten
und/oder dritten redundanten Bereiche, bei denen beim Fortsetzen
eines Testlaufs oder einem neu gestarteten Testlauf erkannt wird,
dass sie selbst defekte Datenspeichereinheiten aufweisen, auch repariert
werden können,
solange redundante Bereiche im integrierten Speicher zur Verfügung stehen.
-
Es kann vorgesehen sein, das erfindungsgemäße Verfahren
mit bekannten Testverfahren zu kombinieren, welche Fehlererkennende
Codes und Fehler-korrigierende Codes verwenden.
-
Ein erfindungsgemäßer integrierter Speicher weist
eine Mehrzahl an Speicherzellen, die in einem Speicherzellenfeld
angeordnet sind, auf. Ferner umfasst der integrierte Speicher eine
Mehrzahl an Zeilenleitungen und Spaltenleitungen, wobei die Mehrzahl
an Zeilenleitungen reguläre
und redundante Zei lenleitungen aufweist und die Mehrzahl an Spaltenleitungen
reguläre
und redundante Spaltenleitungen aufweist. Des Weiteren umfasst der
integrierte Speicher eine Selbsttesteinheit, einen Redundanz-Analysespeicher
mit ersten redundanten Bereichen, eine Recheneinheit, und zweite
redundante Bereiche, wobei die zweiten redundanten Bereiche außerhalb
des Redundanz-Analysespeichers
angeordnet sind. Die Selbsttesteinheit überprüft bei einem Zugriff auf eine Zeilenleitung
die Inhalte der ausgewählten
Datenspeichereinheiten auf deren Korrektheit. Der Redundanz-Analysespeicher
ist mit der Selbsttesteinheit verbunden und speichert die Informationen
von unkorrekten Datenspeichereinheiten. Die Recheneinheit ist mit
der Selbsttesteinheit und dem Redundanz-Analysespeicher verbunden,
wobei diese Recheneinheit eine Reparaturstrategie auf Basis der
in dem Redundanz-Analysespeicher gespeicherten Informationen ermittelt
und gegebenenfalls ein Aktivieren von redundanten Worten im Redundanz-Analysespeicher
einleitet. Mittels dem erfindungsgemäßen integrierten Speicher kann
erreicht werden, dass defekte Datenspeichereinheiten schnell und
zuverlässig
erkannt werden und eine sehr effektive und effiziente Reparaturstrategie
konzipiert werden kann. Der Redundanz-Analysespeicher kann somit
in zweifacher Form genutzt werden, indem er zum einen als Speichereinheit
dient, in den die Informationen von unkorrekt erkannten Datenspeichereinheiten
gespeichert werden und als zweites, quasi als Redundanz-Datenspeicher
dient, in dem gegebenenfalls erste redundante Bereiche, welche zum
Reparieren des integrierten Speichers ausgewählt und aktiviert werden, abgelegt
sind.
-
In vorteilhafter Weise weist der
integrierte Speicher eine Algorithmuseinheit zum Auswählen von
Test-Algorithmen auf, welche mit der Selbsttesteinheit und der Recheneinheit
elektrisch verbunden ist.
-
Das erfindungsgemäße Verfahren zum Testen von
integrierten Speichern und der erfindungsgemäße integrierte Speicher ermöglichen
ein Detektieren von defekten Datenspeichereinheiten ohne Fehler-erkennende
bzw. Fehler-korrigierende Codes. Es ist nicht mehr erforderlich,
zunächst
alle defekten Datenspeichereinheiten zu detektieren und eine gesamte
Bitmap der fehlerhaften Datenspeichereinheiten zu erstellen, um
auf Basis dieser im Allgemeinen sehr großen und Speicherkapazitätintensiven
Bitmap eine Reparaturstrategie zu ermitteln. Das Testen wird vorteilhafter
Weise dadurch erleichtert, dass lediglich Teilbereiche des gesamten
Hauptspeichers in iterativer Weise getestet werden und versucht
wird zunächst
dies Defekte dieser Teilbereiche vollständig beheben zu können.
-
Nachfolgend wird die Erfindung anhand schematischer
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockschaltbild eines erfindungsgemäßen integrierten Speichers;
und
-
2 ein
Flussdiagramm eines erfindungsgemäßen Verfahrensablaufs.
-
Ein Blockschaltbild eines integrierten
Speichers ist in 1 gezeigt.
Der integrierte Speicher weist einen Hauptdatenspeicher SP auf,
in dem ein nicht dargestelltes Speicherzellenfeld mit einer Mehrzahl
an Speicherzellen, die insbesondere matrixförmig angeordnet sind, angeordnet
ist. Der Hauptdatenspeicher SP kann zum Testen in mehrere nicht dargestellte,
gleich große
oder unterschiedlich große Teilbereiche
aufgeteilt werden. Der Hauptdatenspeicher SP ist mit einem ersten
Multiplexer MUX1 verbunden, welcher erste Eingänge aufweist, an denen ein
externes Adresssignal S1, ein externes Datensignal S2 sowie ein
externes Steuersignal S3 anlegbar sind. Des Weiteren weist der integrierte
Speicher eine Selbsttesteinheit STE auf, welche als MBIST-Einheit
(Memory Built-In-Self-Test-Einheit) ausgeführt ist.
Die Selbsttesteinheit STE ist mit dem Hauptdatenspeicher SP und
mit einem Redundanz-Analysespeicher
RAS verbunden. Ferner umfasst der integrierte Speicher eine Recheneinheit
RE, die mit dem Redundanz- Analysespeicher
RAS und mit einer Algorithmuseinheit ALE verbunden ist. Die Algorithmuseinheit
ALE ist darüber
hinaus mit der Selbsttesteinheit STE elektrisch verbunden. Eine Festwertspeichereinheit
bzw. Fuse-Box-Einheit FB ist mit dem Hauptdatenspeicher SP und dem
Redundanz-Analysespeicher RAS verbunden.
-
Die mit dem ersten Multiplexer MUX1
bzw. dem Hauptdatenspeicher SP verbundene Selbsttesteinheit STE
umfasst eine Steuereinheit STE_ST, einen Adressengenerator STE AG
und einen Testdatengenerator STE_TDG. Die Steuereinheit STE ST ist über eine
Steuerleitung SL mit dem Hauptdatenspeicher SP verbunden. Der Adressengenerator STEAD
ist über
eine Adressenleitung AL und der Testdatengenerator STE_TDG ist über eine
Datenleitung DL mit dem Hauptdatenspeicher SP verbunden. Die Selbsttesteinheit
STE weist weiterhin ein Adressenregister AR und ein erstes Datenregister
SDR auf. In dem ersten Datenregister SDR werden die zu einer bestimmten
Adresse, welche in dem Adressenregister AR zwischengespeichert ist,
zugeordneten Soll-Ausgabetestdaten zwischengespeichert. Weiterhin
umfasst die Selbsttesteinheit STE eine Datenvergleichsschaltung
VG, mittels der die in dem Datenregister SDR zwischengespeicherten
Soll-Ausgabetestdaten mit den aus dem Hauptdatenspeicher SP ausgelesenen
Ausgabetestdaten, welche in einem zweiten Datenregister ADR zwischengespeichert sind,
verglichen werden. Die Datenvergleichsschaltung VG ist zu diesem
Zweck mit Datenleitungen mit dem ersten Datenregister SDR und dem
zweiten Datenregister ADR verbunden. In vorteilhafter Weise ist diese
Datenvergleichsschaltung VG als EXOR-Schaltung ausgeführt. Die
Datenvergleichsschaltung VG weist einen Ausgang auf, der mit einem
Eingang eines Flag-Bit-Registers FRO verbunden ist. Mittels dem
Flag-Bit-Register FRO und dem darin gespeicherten Flag-Bit wird
eine durch die Datenvergleichsschaltung VG erkannte Abweichung zwischen den
Ausgabetestdaten und den erwarteten Soll-Ausgabetestdaten, und damit
eine defekte Datenspeichereinheit, angezeigt. Wird ein derartiges
Abweichen durch die Datenvergleichsschaltung VG detektiert, und
somit eine defekte Datenspeichereinheit innerhalb des Hauptdatenspeichers
SP detektiert, wird die in dem Adressenregister AR zwischengespeicherte
Adresse, der als defekt erkannten Datenspeichereinheit, über eine
weitere Adressenleitung in ein erstes Redundanz-Adressenregister
AR1 eines Redundanz-Adressenspeichers
des Redundanz-Analysespeichers RAS gespeichert. Gleichzeitig werden die
in dem ersten Datenregister SDR befindlichen Soll-Ausgabetestdaten
in ein erstes Redundanz-Datenspeicher-register SDR1 eines ersten
Redundanz-Datenspeichers
des Redundanz-Analysespeichers RAS gespeichert. Gleichzeitig werden
auch die in dem zweiten Datenregister ADR der Selbsttesteinheit
STE enthaltenen Ausgabetestdaten in einem ersten Redundanz-Datenspeicherregister
ADR1 eines zweiten Redundanz-Datenspeichers des Redundanz-Analysespeichers
RAS gespeichert. Der Redundanz-Adressenspeicher des Redundanz-Analysespeichers
RAS umfasst im Ausführungsbeispiel
die Redundanz-Adressenspeicherregister AR1, AR2 und AR3. Der erste
Redundanz-Datenspeicher des Redundanz-Analysespeichers RAS umfasst
die Redundanz-Datenspeicherregister SDR1, SDR2 und SDR3. Ferner
umfasst der zweite Redundanz-Datenspeicher des Redundanz-Analysespeichers
RAS die Redundanz-Datenspeicherregister ADR1, ADR2 und ADR3. Bei
jeder durch die Datenvergleichsschaltung VG erkannten Abweichung
der Soll-Ausgabetestdaten von den Ausgabetestdaten werden die entsprechende
Adresse, die zugeordneten erwarteten Soll-Ausgabetestdaten sowie
die Ausgabetestdaten parallel in den Redundanz-Analysespeicher RAS eingeschoben und
gespeichert.
-
Es kann auch vorgesehen sein, dass
das Speichern der Adressen der detektierten defekten Datenspeichereinheiten
und das Speichern der dieser Adresse zugeordneten Soll-Ausgabetestdaten sowie
der Ausgabetestdaten in den Redundanz-Analysespeicher RAS nicht parallel sondern
seriell blockweise getaktet eingespeichert wird. In diesem Fall werden
die Flag-Bit-Register
FRl, FR2 und FR3, die zugehörigen
Redundanz-Adressenspeicherregister AR1,
AR2 und AR3, die zugeordneten Redundanz-Datenspeicherregister SDRl,
SDR2 und SDR3 des er sten Redundanz-Datenspeichers sowie die Redundanz-Datenspeicherregister
ADR1, ADR2 und ADR3 des zweiten Redundanz-Datenspeichers zu einem
Datenblock zusammengeschaltet. Dieser Datenblock wird zusätzlich mit
den jeweils vorangehenden sowie den nachgeordneten Datenblöcken der Flag-Bit-Register, der Redundanz-Adressenspeicherregister,
sowie den Redundanz-Datenspeicherregistern des ersten und des zweiten
Redundanz-Datenspeichers zusammengeschaltet. Ferner sind die Ausgänge der
Redundanz-Datenspeicherregister SDR1, SDR2 und SDR3 mit einem ersten
Eingang eines zweiten Multiplexers MUX2 verbunden. Weiterhin sind
die in den jeweiligen Registerbänken als
letztes angeordneten Register, im Ausführungsbeispiel das Flag-Bit-Register
FR3, das Redundanz-Adressenspeicherregister AR3, das Redundanz-Datenspeicherregister
SDR3 und das Redundanz-Datenspeicherregister ADR3 mit der Recheneinheit
RE, insbesondere mit den entsprechenden Registern in der Recheneinheit
RE, verbunden. Des Weiteren ist das Flag-Bit-Register FR3 mit einem Eingang des Flag-Bit-Registers
FR4 verbunden. Dieses Flag-Bit-Register FR4 ist mit einem Eingang
der Recheneinheit RE verbunden. Sind die Flag-Bit-Register FR1 bis
FR3, die Redundanz-Adressenspeicherregister AR1 bis AR3, die Redundanz-Datenspeicherregister
SDR1 bis SDR3 des ersten Redundanz-Datenspeichers und die Redundanz-Datenspeicherregister
ADR1 bis ADR3 des zweiten Redundanz-Datenspeichers des Redundanz-Analysespeichers
RAS belegt, und wird das im Flag-Bit-Register FR3 gesetzte Flag-Bit
nach Auftreten einer weiteren detektierten Abweichung zwischen erwarteten
Soll-Ausgabetestdaten und Ausgabetestdaten des Hauptdatenspeichers
SP hinaus geschoben, so wird der Recheneinheit RE über das
im Flag-Bit-Register FR4 gespeicherte Flag-Bit angezeigt, dass die Speicherkapazität des Redundanz-Analysespeichers
RAS überschritten
wird und die in dem Redundanz-Analysespeicher RAS gespeicherten
Informationen in die Recheneinheit RE ausgelesen werden oder gegebenenfalls
eine Reparatur des Hauptdatenspeichers SP nicht mehr möglich ist.
-
Des Weiteren ist die Recheneinheit
RE über die
Signalleitung BDI mit dem Redundanz-Analysespeicher RAS, insbesondere
mit dem Redundanz-Datenspeicherregister ADR1, verbunden. Der Redundanz-Analysespeicher
RAS ist seinerseits über
die Signalleitung BDO, welche an einem Ausgang des Flag-Bit-Registers
FR3 anliegt, mit der Recheneinheit RE elektrisch verbunden. Die
Signalleitung BDO ist in der Recheneinheit mit einem ersten Eingang
eines nicht dargestellten Multiplexers verbunden. Ferner ist die
Signalleitung BDO am Eingang eines nicht dargestellten Datenspeicherregisters
angeschlossen, in welches die Ausgangstestdaten des Redundanz-Datenspeicherregisters
ADR3 geschrieben werden. An einem zweiten Eingang dieses Multiplexers
der Recheneinheit RE ist ein Ausgang eines nicht dargestellten Flag-Bit-Registers
der Recheneinheit RE angeschlossen. Am Ausgang dieses Multiplexers
liegt die Signalleitung BDI an. Dadurch wird sozusagen ein geschlossener
Datenkreislauf zwischen dem Redundanz-Analysespeicher RAS und der
Recheneinheit RE ausgebildet. Daten und Adressen können somit
von dem Redundanz-Analysespeicher RAS in die Recheneinheit RE und
zurück
geschoben werden.
-
Der zweite Multiplexer MUX2 weist
einen zweiten Eingang auf, der mit dem Ausgang des Hauptdatenspeichers
SP verbunden ist. Abhängig davon,
ob eine an einem Adressbus anliegende Adresse nach erfolgter Reparatur
des Hauptdatenspeichers SP in einem Redundanz-Adressenspeicherregister
abgelegt ist, oder ob diese angelegte Adresse im Testlauf als korrekt
im Hauptdatenspeicher SP erkannt wurde, wird entweder der erste
Eingang oder der zweite Eingang des zweiten Multiplexers MUX2 angesteuert,
um die jeweils dieser Adresse zugeordneten Daten über den
Multiplexer MUX2 durchzuschalten.
-
Die Recheneinheit RE ermittelt anhand
der aus dem Redundanz-Analysespeicher
RAS ausgelesenen Informationen eine Reparaturstrategie zum Reparieren
des Hauptdatenspeichers SP. Die Informationen, welche redundanten
Zeilen und/oder redundanten Spalten und/oder redundanten Worte zu
einer optimalen Repara turstrategie beitragen, werden in den Redundanz-Registern
RDR1 und RDR2, welche mit der Recheneinheit RE verbunden sind, programmiert.
Die Recheneinheit RE ist mit der Algorithmuseinheit ALE über mehrere
Signalleitungen verbunden. Über
die Signalleitung SWL wird der Algorithmuseinheit ALE ein Signal übermittelt,
dass redundante Spalten für
eine weitere Reparatur des Hauptdatenspeichers SP nicht mehr zur
Verfügung stehen
bzw. dass die verfügbaren
redundanten Zeilen bei der bisher ermittelten Zwischen-Reparaturstrategie
vollständig
benötigt
wurden. In entsprechender Weise wird über die Signalleitung SBL ein Signal
an die Algorithmuseinheit ALE übertragen,
mit dem angezeigt wird, dass keine weiteren redundanten Spalten
für eine
Reparatur zur Verfügung
stehen. Über
die Signalleitung SR steuert die Recheneinheit RE die Algorithmuseinheit
ALE sowie die Selbsttesteinheit STE derart, dass beim Auslesen der
Informationen aus dem Redundanz-Analysespeicher RAS
ein Testlauf unterbrochen werden kann und nach dem Ermitteln einer
Reparaturstrategie durch die Recheneinheit RE dieser Testlauf wieder
fortgesetzt werden kann. Des Weiteren wird über die Signalleitung SOF ein
Signal an die Algorithmuseinheit ALE übertragen, mit dem angezeigt
wird, dass die Speicherkapazität
des Redundanz-Analysespeichers RAS belegt ist, oder die mittels
der Datenvergleichsschaltung VG detektierten Abweichungen zwischen
Ausgabetestdaten des Hauptdatenspeichers SP und Soll-Ausgabetestdaten,
die Speicherkapazität
des Redundanz-Analysespeicher RAS übersteigt. Die Signale der
Signalleitungen SWL, SBL, SR und SOF werden an eine Steuereinheit
ALE_ST der Algorithmuseinheit ALE übertragen. Über diese Steuereinheit ALE_ST
können
die unterschiedlichen Test-Algorithmen AL1 bis ALN aktiviert werden
und an die Selbsttesteinheit STE angelegt werden.
-
Ein bevorzugtes Ausführungsbeispiel
des erfindungsgemäßen Verfahrens
zum Testen eines integrierten Speichers wird anhand eines Ablaufdiagramms
gemäß 2 erläutert. Nachdem das erfindungsgemäße Verfahren
zum Testen des integrierten Speichers gestartet ist, werden die
Redundanz-Adressenregister AR1 bis AR3 des Redundanz-Adressenspeichers
des Redundanz-Analysespeichers RAS initialisiert bzw. zurückgesetzt.
Der Hauptdatenspeicher SP wird in mehrere Teilbereiche unterteilt
und einer dieser Teilbereiche wird zum Testen ausgewählt. In
dem Verfahrensschritt S1 wird eine Datenspeichereinheit im Datenspeicherfeld
dieses Teilbereichs des Hauptdatenspeichers SP adressiert, indem
eine in dem Adressengenerator STE AG der Selbsttesteinheit STE erzeugte
Adresse über
die Adressenleitung AL an den Hauptdatenspeicher SP angelegt wird.
Gleichzeitig werden in dem Testdatengenerator STE_TDG der Selbsttesteinheit
STE Eingabetestdaten erzeugt, welche an die zum Testen der mittels
der angelegten Adresse ausgewählten
Datenspeichereinheit angelegt werden. In einem nachfolgenden Verfahrensschritt
S2 werden Ausgabetestdaten aus der adressierten Datenspeichereinheit
des Hauptdatenspeichers SP ausgelesen und in das zweite Datenregister
ADR der Selbsttesteinheit STE eingeschrieben. Diese Ausgabetestdaten
werden von dem zweiten Datenregister ADR an die Datenvergleichsschaltung
VG übertragen,
welche diese Ausgabetestdaten mit erwarteten Soll-Ausgabetestdaten
aus dem ersten Datenregister SDR vergleicht.
-
Wird bei dem Vergleich in der Datenvergleichsschaltung
VG eine Abweichung zwischen den Ausgabetestdaten und den erwarteten
Soll-Ausgabetestdaten festgestellt, geht das Verfahren zu Schritt S3 über. In
diesem Schritt S3 wird zunächst überprüft, ob der
Redundanz-Adressenspeicher des Redundanz-Analysespeichers RAS noch freie Redundanz-Adressenregister
AR1, AR2, AR3 aufweist. Wird hierbei festgestellt, dass die Redundanz-Adressenregister
AR1 bis AR3 noch nicht vollständig
belegt sind, wird in einem nachfolgenden Verfahrensschritt S4 die
angelegte Adresse aus dem Adressenregister AR der Selbsttesteinheit
STE in das erste Redundanz-Adressenregister AR1 in dem Redundanz-Analysespeicher
RAS gespeichert. Gleichzeitig werden die erwarteten Soll-Ausgabetestdaten
vom Datenregister SDR der Selbsttesteinheit STE in das erste Redundanz- Datenspeicherregister
SDR1 des ersten Redundanz-Datenspeichers in dem Redundanz-Analysespeicher
RAS gespeichert. Ebenso werden gleichzeitig die in dem zweiten Datenregister ADR
zwischengespeicherten Ausgabetestdaten in das erste Redundanz-Datenspeicherregister
ADR1 des zweiten Redundanz-Datenspeichers
des Redundanz-Analysespeichers RAS gespeichert. Das Speichern der
Adressen und der dieser Adresse zugeordneten Daten in die Register
AR1, SDR1 und ADR1 erfolgt synchron getaktet. Im Ausführungsbeispiel sind
der die Register AR1 bis AR3 umfassende Redundanz-Adressenspeicher,
der die Register SDR1 bis SDR3 umfassende erste Redundanz-Datenspeicher, der
die Register ADR1 bis ADR3 umfassende zweite Redundanz-Datenspeicher,
sowie die Flag-Bit-Register FR1 bis FR4 in vorteilhafter Weise derart
ausgebildet, dass in den jeweiligen Registern bereits abgespeicherte
Informationen zur nächsten Registereinheit
weiter geschoben werden, wenn eine weitere Adresse, ein weiteres
Flag-Bit, weitere Ausgabetestdaten und weitere Soll-Ausgabetestdaten von
der Selbsttesteinheit STE in den Redundanz-Analysespeicher RAS eingespeichert
werden. In bevorzugter Weise erfolgt im Ausführungsbeispiel das Speichern
der Adressen, der Ausgabetestdaten und der Soll-Ausgabetestdaten
in die entsprechenden Register des Redundanz-Analysespeichers RAS parallel.
Es kann aber auch in serieller Weise erfolgen.
-
Sind die entsprechenden Daten (Flag-Bit, Adresse,
Ausgabetestdaten, Soll-Ausgabetestdaten) von der Selbsttesteinheit
STE in den Redundanz-Analysespeicher RAS eingespeichert, wird der Testlauf
mit dem Testen einer weiteren Adresse des ausgewählten Teilbereichs des Hauptdatenspeichers SP,
gemäß Verfahrensschritt
S5, fortgeführt.
Die Verfahrensschritte S1 und S2 werden wiederholt. Wird auch für diese
weitere Adresse eine Abweichung zwischen den Ausgabetestdaten und
den erwarteten Soll-Ausgabetestdaten in der Datenvergleichsschaltung
VG detektiert, werden die Schritte S3 bis S5 analog durchgeführt, solange
die Adressenregister AR1 bis AR3 Speichermög lichkeiten für eine weitere einzuspeichernde
Adresse aufweisen.
-
Wird für diese weitere getestete Adresse
im Verfahrensschritt S2 eine Übereinstimmung
zwischen den Ausgabetestdaten und den erwarteten Soll-Ausgabetestdaten
detektiert, wird das Testverfahren mit dem Schritt S6 fortgesetzt.
In diesem Verfahrensschritt S6 wird überprüft, ob ein erster Testlauf vollständig beendet
ist, d.h. alle zu testenden Adressen des ausgewählten Teilbereichs des Hauptdatenspeichers
SP getestet wurden. Ist der erste Testlauf noch nicht vollständig beendet,
wird gemäß Verfahrensschritt
S5 eine weitere Datenspeichereinheit des Teilbereichs des Hauptdatenspeichers
SP durch Anlegen der zugeordneten Adresse adressiert und durch Anlegen
entsprechender Eingabetestdaten getestet.
-
Wird im Verfahrensschritt S6 festgestellt, dass
der erste Testlauf und das Testen des ersten Teilbereichs des Hauptdatenspeichers
SP vollständig durchgeführt ist,
wird dieser erste Teilbereich, wenn möglich, vollständig repariert.
Die Reparaturstrategie wird in diesem Fall ausschließlich durch
die in dem Redundanz-Analysespeicher RAS bereitgestellten Speicherregister
SDR1 bis SDR3 und die Adressenspeicherregister AR1 bis AR3 gebildet.
Wird das Testverfahren bzw. der erste Testlauf mit einer individuell
einstellbaren Taktfrequenz durchgeführt, die insbesondere der maximalen
Taktfrequenz des integrierten Speichers entspricht, so wird in dem
Verfahrensschritt S7 zunächst
diese individuell eingestellte bevorzugte maximale Taktfrequenz
reduziert. Nachfolgend werden die in den belegten Flag-Bit-Registern,
den belegten Redundanz-Adressenregistern und
den belegten Redundanz-Datenspeicherregistern des ersten und des
zweiten Redundanz-Datenspeichers enthaltenen Informationen ausgelesen
und diese Adressen und Daten in die Speicherregister RDR1 und RDR2,
die mit der Recheneinheit RE verbunden sind, einprogrammiert. Das
Auslesen dieser Informationen von dem Redundanz-Analysespeicher in
die Register RDR1 und RDR2 kann über
die Recheneinheit RE vollzo gen werden. Es kann aber auch derart
durchgeführt
werden, dass die Übertragung dieser
Informationen über
eine in 1 nicht dargestellte
direkte Verbindung zwischen dem Redundanz-Analysespeicher und den Registern RDR1
und RDR2 durchgeführt
wird. Anschließend
werden die Register des Redundanz-Analysespeichers RAS geleert. Es kann
vorgesehen sein, dass der erste nun bereits getestete und vollständig reparierte
Teilbereich mit dem gleichen oder einem anderen Test-Algorithmus nochmals
getestet wird, um gegebenenfalls beim ersten Testlauf nicht detektierte
defekte Datenspeichereinheiten zu erkennen. Ein Ermitteln und Berechnen
der Reparaturstrategie in der Recheneinheit RE ist in diesem Fall
nicht erforderlich, kann jedoch vorgesehen sein.
-
Gemäß Verfahrensschritt S8 wird
im Anschluss daran überprüft, ob der
Testlauf des gesamten Hauptdatenspeichers SP beendet ist oder nicht. Sind
noch nicht alle Teilbereiche des Hauptdatenspeicher SP vollständig getestet,
wird gemäß Verfahrensschritt
S9 die Taktfrequenz zum Testen des integrierten Speichers wieder
auf die maximale Taktfrequenz, mit der der integrierte Speicher
betrieben werden kann, erhöht
und gemäß Verfahrensschritt
S5 fortgefahren. In Schritt S5 wird zunächst ein weiterer zu testender
Teilbereich des Hauptdatenspeichers SP ausgewählt.
-
Wird während eines Testlaufs im Verfahrensschritt
S3 erkannt, dass die Speicherkapazität des Redundanz-Analysespeichers
RAS vollständig
belegt ist, und Adresse und Daten einer weiteren im Verfahrensschritt
S2 als defekt erkannten Datenspechereinheit nicht mehr in die entsprechenden
Register des Redundanz-Analysespeichers
RAS eingeschrieben werden können,
erfolgt ein Übergang
vom Verfahrensschritt S3 zum Verfahrensschritt 510. Im Verfahrensschritt
S10 wird der Testlauf zunächst
unterbrochen und diese in dem Redundanz-Analysespeicher RAS gespeicherten
Informationen in die Recheneinheit RE gelesen. Nachfolgend werden
in der Recheneinheit RE die exakten Defektpositionen in den Ausgabetestdaten
durch ein bitweises Vergleichen dieser Ausgabetestdaten mit den
Soll-Ausgabetestdaten identifiziert. Auf der Basis dieser aus dem
Redundanz-Analysespeicher RAS ausgelesenen Informationen bzw. der
genau bekannten Defektpositionen in den Ausgabetestdaten, wird eine
Reparaturstrategie in der Recheneinheit RE bestimmt. Die Reparaturstrategie
wird dabei mittels zur Verfügung stehender
zweiter redundanter Bereiche, welche im Ausführungsbeispiel als redundante
Zeilen ausgebildet sind, und/oder dritte redundanter Bereiche, welche
im Ausführungsbeispiel
als redundante Spalten ausgebildet sind, durchgeführt. Abhängig davon
wie die Defektpositionen in den Ausgabetestdaten angeordnet sind
bzw. welche Speicherzellen in dem zum Testen ausgewählten Teilbereich
des Hauptdatenspeicher SP als defekt erkannt wurden, kann die Reparaturstrategie
ausschließlich
aus redundanten Zeilen oder ausschließlich aus redundanten Spalten konzipiert
werden. Abhängig
davon welche Redundanzen für
die Reparatur zur Verfügung
stehen, kann eine optimale Reparaturstrategie auch aus einer Kombination
redundanter Zeilen und redundanter Spalten bestimmt werden.
-
Es sei hier angemerkt, dass unter
redundanter Worte, welche im Ausführungsbeispiel die ersten redundanten
Bereiche darstellen, unter redundanten Zeilen und unter redundanten
Spalten nicht nur Ausführungen
an Redundanzen verstanden werden, die die jeweilige maximale Datenbreite
dieser jeweiligen Redundanzen kennzeichnen, sondern auch jede beliebige
andere mögliche
Ausführungsform
einer Datenbreite, die aus dem jeweiligen Intervall für die Datenbreiten
der jeweiligen Redundanz zur Verfügung stehen und gewählt werden
können,
darunter zu verstehen ist. Es wird bspw. sowohl mehrere eine gesamte
redundante Zeile, als auch eine in zwei Hälften geteilte, als auch eine
in einzelne Bitpositionen unterteilte redundante Zeile allgemein
als redundante Zeile bezeichnet. Logischerweise müssen die
beiden Hälften
bzw. die einzelnen Bitpositionen jeweils adressiert werden. Die
hier als übergeordneter
Begriff verwendete Bezeichnung einer redundanten Zeile umfasst somit
alle möglichen
Datenbreiten, die durch das Inter vall für die Datenbreiten vorgegeben ist.
Eine redundante Zeile kann somit abhängig von den jeweiligen Defektpositionen
eine vielfältig
ausgebildete Datenbreite aufweisen, um somit eine optimale Zwischen-Reparaturstrategie
ermöglichen
zu können.
Ebenso sind unter dem Begriff redundanter Zeilen auch eine Mehrzahl
an Zeilen zu verstehen, wie sie beispielsweise in einem Teilbereich
des Hauptdatenspeichers SP realisiert sein können. In analoger Weise sind
die Bezeichnungen redundante Spalten und redundante Worte zu verstehen.
-
Es kann vorgesehen sein, dass aus
den Registern des Redundanz-Analysespeicher RAS ausgelesene und
an die Recheneinheit RE übertragene Adressen
und Daten wieder in den Redundanz-Analysespeicher RAS zurückgeschrieben
werden, wenn keine geeignete Redundanz – Zeilen, Spalten – vorliegt,
um ein optimales Beheben der defekten Datenspeichereinheit zu ermöglichen.
-
Nachfolgend werden diese für die Zwischen-Reparaturstrategie
verwendeten Redundanzen aktiviert und der erste Testlauf, falls
dieser vor dem Auslesen der Informationen aus dem Redundanz-Analysespeicher
RAS unterbrochen wurde, fortgesetzt. Die Taktfrequenz zum weiteren
Testen, welche vor dem Auslesen der Informationen aus dem Redundanz-Analysespeicher
RAS reduziert wurde, wird nun wieder auf die kritische Taktfrequenz
des integrierten Speichers erhöht
(Schritt S9). Es kann auch hier vorgesehen sein, dass vor dem Fortsetzen des
ersten Testlaufs in der Recheneinheit RE überprüft wird, ob alle defekten Speicherzellen
mittels der bestimmten Zwischen-Reparaturstrategie
repariert werden konnten. Nach dem Fortsetzen des ersten Testlaufs
wird das Verfahren mit den bereits beschriebenen Verfahrensschritten
solange fortgesetzt, bis entweder der erste Testlauf vollständig beendet ist
und der Redundanz-Analysespeicher RAS mit weiteren Informationen
defekter Speicherzellen bzw. Datenspeichereinheiten höchstens
vollständig
gefüllt ist,
oder aber der Redundanz-Analysespeicher RAS vor dem Beenden des
ersten Testlaufs vollständig mit Informationen
defekter Datenspeichereinheiten gefüllt ist und die Adresse sowie
die Ausgabetestdaten und die Soll-Ausgabetestdaten einer weiteren, als defekt
erkannten Datenspeichereinheit nicht mehr in die entsprechenden
Register des Redundanz-Analysespeichers RAS eingespeichert werden
können.
-
Im ersten Fall, wenn also der Test
vollständig beendet
ist (wird in Schritt S6 erkannt) und die Register des Redundanz-Analysespeichers
RAS höchstens
komplett belegt sind, wird gemäß Schritt
10 wiederum zunächst
mit dem Auslesen der weiteren in dem Redundanz-Analysespeicher RAS
gespeicherten Informationen fortgefahren. Nach dem Identifizieren
der exakten Defektpositionen in den Ausgabetestdaten wird die Reparaturstrategie
unter Berücksichtigung
der vorhergehend bestimmten Zwischen-Reparaturstrategie und gegebenenfalls
redundanter Worte und/oder gegebenenfalls noch vorhandener redundanter
Zeilen und/oder gegebenenfalls noch vorhandener redundanter Spalten
ermittelt. Werden für
die Reparatur des Hauptdatenspeichers SP auch redundante Worte verwendet,
werden diese in einem nachfolgenden Schritt in den Redundanz-Analysespeicher
RAS geschrieben. Nachfolgend werden die zusätzlich zu den bereits aktivierten Redundanzen
der Zwischen-Reparaturstrategie gegebenenfalls ermittelten redundanten
Worte und/oder gegebenenfalls redundanten Zeilen und/oder gegebenenfalls
redundanten Spalten aktiviert. Des Weiteren wird dann geprüft, ob der
defekte Hauptdatenspeicher SP erfolgreich mittels den Redundanzen
repariert werden konnte oder aber ein erfolgreiches Reparieren nicht
gegeben ist und der Hauptdatenspeicher SP mittels eines Defektsignals als
nicht reparierbar charakterisiert wird.
-
Es kann jedoch auch vorgesehen sein,
dass in diesem vorstehend erläuterten
Fall, in dem ein Testlauf beendet wird und der Redundanz-Analysespeicher
RAS, nachdem er während
des Testlaufs zumindest einmal ausgelesen wurde (zumindest einmal überfüllt) und
beim Beenden des Testlaufs nunmehr höchstens maximal belegt ist,
die Reparaturstrategie für
die noch in dem Redundanz-Analysespeicher RAS eingeschriebenen Defektinformationen
nur mit den im Redundanz-Analysespeicher RAS vorhandenen ersten
redundanten Bereichen, repariert wird. Ein Auslesen dieser zuletzt
detektierten Defekte (die Anzahl kann maximal der maximalen Speicherkapazität des Redundanz-Analysespeichers
RAS entsprechen) in die Recheneinheit RE ist bei dieser Alternative
nicht mehr erforderlich.
-
In dem anderen Fall, in dem die Register
des Redundanz-Analysespeichers
RAS zumindest ein zweites Mal voll sind, Daten einer weiteren als
defekt erkannten Datenspeichereinheit nicht mehr in die Register
des Redundanz-Analysespeichers RAS gespeichert werden können und
der erste Testlauf noch nicht vollständig beendet ist, wird entsprechend
den oben genannten Ausführungen
verfahren und versucht, mit gegebenenfalls noch vorhandenen redundanten
Zeilen und/oder redundanten Spalten eine geeignete und optimale
Zwischen-Reparaturstrategie zu erzeugen. Dieses Ermitteln der Zwischen-Reparaturstrategie
wird nur dann abgebrochen bzw. der integrierte Speicher als defekt
und nicht reparierbar erkannt, wenn bereits alle zur Verfügung stehenden redundanten
Zeilen und/oder redundanten Spalten für die Reparaturstrategie verwendet
wurden, und zusätzlich
nochmals eine Anzahl an defekten Datenspeichereinheiten detektiert
wird, die die Speicherkapazität
der Register des Redundanz-Analysespeichers RAS übersteigt. In diesem Falle
sind die detektierten defekten Datenspeichereinheiten nicht mehr durch
die redundanten Worte in dem Redundanz-Analysespeicher RAS zu reparieren, da
die Anzahl der defekten Datenspeichereinheiten die Anzahl der durch
den Redundanz-Analysespeicher
RAS bereitgestellten redundanten Worte übersteigt.
-
Wird jedoch in Schritt S10 erkannt,
dass beim Ermitteln der vorhergehenden Zwischen-Reparaturstrategie
nicht alle redundanten Zeilen und/oder redundanten Spalten zum Reparieren
benötigt
wurden, kann eine weitere Zwischen-Reparaturstrategie mittels der
noch vorhandenen redundanten Zeilen und/oder noch vorhandenen redundanten
Spalten ermittelt werden. Die vorhergehende Zwischen-Reparaturstrategie
kann dabei, falls erforderlich, verändert oder komplett revidiert
werden, um die gegenwärtig zu
ermittelnde Zwischen-Reparaturstrategie optimal bestimmen zu können. Abhängig davon
wieviele weitere defekte Datenspeichereinheiten beim fortgesetzten
Testlauf detektiert werden, werden die vorab erläuterten Überprüfungen von noch verfügbaren Redundanzen
und Ermittlungen von Zwischen-Reparaturstrategien
wiederholt oder beim Erkennen eines nicht mehr reparierbaren integrierten
Speichers ein Defektsignal erzeugt.
-
Das Überprüfen von noch vorhandenen redundanten
Zeilen und/oder Spalten, die beim Ermitteln einer vorangegangenen
Zwischen-Reparaturstrategie möglicherweise
nicht benötigt
wurden, kann auch dann durchgeführt
werden, wenn der Testlauf nach dem Ermitteln einer oder mehrerer
Zwischen-Reparaturstrategien beendet ist und eine gesamte Reparaturstrategie
quasi mittels den Zwischen-Reparaturstrategien und den gegebenenfalls
noch vorhandenen und bereitstellbaren redundanten Zeilen und/oder
gegebenenfalls den noch vorhandenen und bereitstellbaren redundanten
Spalten und bereitstellbaren Worten bestimmt wird. Die ersten redundanten Bereiche
(redundante Worte des Redundanz-Analysespeichers) werden somit in
diesem Fall für
die Ermittlung einer endgültigen
bzw. abschließenden
Reparaturstrategie bereitgestellt, wenn der Testlauf beendet ist,
und die nach dem Ermitteln einer oder mehrerer Zwischen-Reparaturstrategien
detektierte Anzahl an defekten Datenspeichereinheiten die maximale
Speicherkapazität
des Redundanz-Analysespeichers RA5 nicht überschreitet.
-
Ist mittels der bestimmten gesamten
Reparaturstrategie ein vollständiges
Reparieren des integrierten Speichers möglich, werden die Adressen und
Daten der aktivierten gegebenenfalls redundanten Zeilen und/oder
gegebenenfalls redundanten Spalten und/oder redundanten Worte in
einen nicht-flüchtigen
Speicher FB (1), welcher
mit dem Hauptdatenspeicher SP und dem Redundanz-Analysespeicher
RAS verbunden ist, einprogrammiert. Es kann auch vorgesehen sein,
dass dieser Festwertspeicher FB umprogrammiert werden kann. Daraus
ergibt sich die Möglichkeit
zu bereits bekannten Fehler weitere Fehler zu suchen und zu detektieren.
-
Das Verändern oder Revidieren von bereits bestehenden
Zwischen-Reparaturstrategien kann in allen Testphasen des Ermittelns
weiterer Zwischen-Reparaturstrategien oder abschließender Reparaturstrategien
durchgeführt
werden.
-
In allen Testphasen kann auch vorgesehen sein,
bereits aktivierte und für
eine Zwischen-Reparaturstrategie oder eine abschließende Reparaturstrategie
benötigte
und ausgewählte
Redundanzen – erste,
zweite und dritte redundante Bereiche -, die sich im weiteren Testlauf
als defekt erweisen, durch gegebenenfalls noch vorhandene erste
und/oder zweite und/oder dritte redundante Bereiche und/oder weitere
redundante Bereiche zu reparieren.
-
Durch das erfindungsgemäße Verfahren
und den erfindungsgemäßen integrierten
Speicher, können
die defekten Datenspeichereinheiten bzw. Speicherzellen eines Hauptdatenspeichers
SP schnell und zuverlässig
detektiert werden und darüber
hinaus das Speichern und Verwenden großer und Speicherkapazitätintensiver
Bitmaps verhindert werden. Insbesondere wird dies dadurch gewährleistet,
dass der Redundanz-Analysespeicher zum einen als Speichereinheit
für die
Adressen und Daten defekter Datenspeichereinheiten eingesetzt wird,
und zum anderen als Redundanz-Datenspeicher, mit dem redundante
Worte für
die Reparatur des integrierten Speichers bzw. des Hauptdatenspeichers
SP bereitgestellt werden, eingesetzt wird. Eine Reparaturstrategie
kann somit gegebenenfalls mittels redundanter Zeilen, redundanter
Spalten und redundanter Worte durchgeführt werden, wodurch sich eine
wesentliche Verbesserung der Wahrscheinlichkeit, einen defekten
Hauptdatenspeicher SP reparieren zu können, ergibt. Der Redundanz-Analysespeicher
RAS kann für
alle Teilbereiche des zum Testen unterteilten Hauptdatenspeichers
SP als Zwischenspeicher für Defektinformationen
und als Redundanz-Datenspeicher verwendet werden, dessen Register
ausgelesen und geleert werden können,
um weitere Defektinformationen einschreiben zu können. Die gegebenenfalls zum
Reparieren herangezogenen redundanten Bereiche des Redundanz-Analysespeichers
RAS können
abhängig
vom bereits absolvierten Test des Hauptdatenspeichers SP in Speicherregister
RDR1 und RDR2 einprogrammiert werden. Darüber hinaus ist mittels dem
erfindungsgemäßen Verfahren
und dem erfindungsgemäßen integrierten
Speicher ein On-Chip-Testen möglich
und der Testlauf kann mit der maximalen Taktfrequenz des integrierten
Speichers durchgeführt
werden.
-
Es kann auch vorgesehen sein, dass
die Recheneinheit RE während
dem Testlauf stets aktiviert ist oder erst dann aktiviert wird,
wenn der Redundanz-Analysespeicher RAS gefüllt ist und weitere Daten und
Adressen defekter Datenspeichereinheiten nicht mehr speichern kann.
Mittels dem erfindungsgemäßen Verfahren
können
auch integrierte Speicher bzw. Hauptdatenspeicher SP getestet werden,
die lediglich redundante Zeilen oder lediglich redundante Spalten
neben den im Redundanz-Analysespeicher
bereitgestellten redundanten Worten für eine mögliche Reparatur aufweisen.
-
Wird während eines Testlaufs ein Unterbrechen
des Testlaufs durchgeführt,
so kann nachdem der Testlauf wieder fortgesetzt wird, mit einem Test-Algorithmus
weiter getestet werden, der gleich oder unterschiedlich zu dem Test-Algorithmus
ist, welcher vor dem Unterbrechen des Testlaufs zum Testen ausgewählt wird.
Das Auswählen
des Test-Algorithmus wird über
die Recheneinheit RE gesteuert und mittels der Steuereinheit ALE_ST
der Algorithmuseinheit ALE das Auswählen eines entsprechenden Test-Algorithmus
AL1 bis ALN durchgeführt.
Besonders vorteilhaft sind hierbei Test-Algorithmen welche kurz
sind, da dadurch die Zeit eines Testlaufs reduziert werden kann.
Durch das Auswählen
unterschiedlicher Test-Algorithmen kann das Auffinden von Zeilenfehlern
oder Spaltenfehlern verbessert werden.
-
Um speziell Bit-orientierte oder
Wort-orientierte Defekte detektieren zu können, kann vorgesehen sein,
Test-Algorithmen zu verwenden, mit denen jeweils diese speziellen
Defekte besonders gut detektiert werden können.
-
Der Hauptdatenspeicher SP kann als
flüchtiger
oder als nichtflüchtiger
Datenspeicher ausgebildet sein.
-
Es kann vorgesehen sein, dass die
Recheneinheit RE im vorgeschlagenen erfindungsgemäßen integrierten
Speicher in mehreren Betriebsmodi betrieben wird. In einem ersten
Betriebsmodus während
einer Testphase kann lediglich vorgesehen sein, einen Selbsttest
zu starten, bei dem jedoch keine Reparatur durchgeführt wird.
In optionaler Weise kann bei diesem ersten Betriebsmodus eine Diagnose, d.h.
ein Vergleich zwischen Ausgabetestdaten und erwarteten Soll-Ausgabetestdaten,
durchgeführt
werden. In einem zweiten Betriebsmodus während einer Testphase wird
die Selbsttesteinheit STE lediglich zur Analyse redundanter Worte
eingesetzt. In diesem zweiten Betriebsmodus kann der Redundanz-Analysespeicher
RAS nur für
die Aktivierung redundanter Worte und zur Analyse einer Reparatur
verwendet werden. In einem dritten Betriebsmodus während der Testphase,
welcher nachfolgend als Redundanz-Aktivierungsmodus bezeichnet wird,
wird die Recheneinheit RE derart betrieben, dass eine Reparaturstrategie
auf der Basis redundanter Zeilen und/oder redundanter Worte und/oder
redundanter Spalten ermittelt wird und darüber hinaus verschiedene Test-Algorithmen für eine optimale
Detektion von defekten Datenspeichereinheiten und einer optimalen
Ermittlung einer Reparaturstrategie ausgewählt werden können. Dieser
Redundanz-Aktivierungsmodus
ist der den Ausführungen
zu den 1 und 2 zugrunde gelegte Betriebsmodus
der Recheneinheit RE.
-
Es kann auch vorgesehen sein, dass
der Testlauf auch während
dem Auslesen der Informationen aus dem Redundanz-Analysespeicher RAS sowie der nachfolgenden
Verfahrensabläufe
in der Recheneinheit RE weiter läuft
und nicht unterbrochen wird.
-
Es kann auch vorgesehen sein, dass
der Redundanz-Analysespeicher RAS derart aufgebaut ist, dass Soll-Ausgabetestdaten
und Ausgabetestdaten nicht in zwei getrennten Worten gespeichert
werden, sondern die Bitfehler gleich durch eine Vergleich gespeichert
werden. Dadurch würde
bei einem Testlauf der Algorithmus erkennen, dass die Adresse bereits mit
Fehlern erkannt wurde. Sind andere Datenspeichereinheiten als beim
ersten Vergleich fehlerhaft, könnten
sie so auf das Wort mit den Bitfehlern im Redundanz-Analysespeicher
RAS addiert werden. Ein Vorteil der sich dadurch ergibt ist ein
reduzierter Flächenbedarf.
-
Abhängig davon wie die Defektpositionen
in den Ausgabetestdaten angeordnet sind bzw. welche Speicherzellen
in dem zum Testen ausgewählten Teilbereich
des Hauptdatenspeicher SP als defekt erkannt wurden, kann die Reparaturstrategie
somit ausschließlich
aus redundanten Zeilen oder ausschließlich aus redundanten Spalten
oder ausschließlich
aus redundanten Worten konzipiert werden. Abhängig davon welche Redundanzen
für die Reparatur
zur Verfügung
stehen, kann eine optimale Reparaturstrategie auch aus einer Kombination
redundanter Zeilen und redundanter Spalten oder aus einer Kombination
redundanter Zeilen und redundanter Worte, oder einer Kombination
aus redundanten Spalten und redundanten Worten oder aber auch aus einer
Kombination von redundanten Zeilen und redundanten Spalten und redundanten
Worten bestimmt werden.
-
Die Erfindung ist nicht auf die in
den 1 und 2 dargestellten Ausführungsbeispiele
beschränkt,
sondern kann in vielfältiger
Weise, die durch die Ansprüche
umfasst wird, abgeändert
oder ergänzt
werden.