-
Die Erfindung betrifft einen integrierten Speicherbaustein
mit einer Selbsttestschaltung, ein Testsystem sowie ein Verfahren
zum Testen von integrierten Speicherbausteinen.
-
Um nach dem Herstellungsprozess integrierte
Speicherbausteine auf ihre Funktionalität zu überprüfen werden diese getestet.
Dazu werden die integrierten Speicherbausteine mit einer Testereinrichtung
verbunden und ein Testvorgang gestartet, bei dem jede der Speicherzellen
des integrierten Speicherbausteines hinsichtlich vorgegebener Spezifikationen überprüft wird.
-
Das Testen des Speicherbausteins
erfolgt durch Hineinschreiben und anschließendes wieder Auslesen von
Daten, wobei aus einem Vergleichen zwischen hineingeschriebenen
und in der betreffenden Speicherzelle gespeicherten Daten Fehlerdaten generiert
werden, die angeben, ob die Speicherzelle fehlerhaft ist oder korrekt
funktioniert. Das Generieren der Daten zum Testen des Speicherbausteins kann
durch eine Selbsttestschaltung erfolgen, die auch die Fehlerdaten
ermittelt.
-
Von jedem der zu testenden Speicherbausteine
müssen
diese Fehlerdaten an die testende Testeinrichtung übertragen
werden. Dies ist zeitaufwendig und beschränkt den Durchsatz von integrierten Speicherbausteinen
erheblich.
-
Die ermittelten Fehlerdaten dienen
dazu, eine Reparaturlösung
zu ermitteln, mit der es möglich ist,
fehlerhafte Speicherbereiche in dem integrierten Speicherbaustein
durch redundant vorgesehene Speicherbereich, die ebenfalls in den
integrierten Speicherbaustein vorhanden sind, zu ersetzen. Da jedoch
eine fehlerhafte Speicherzelle nicht durch eine redundante Speicherzelle,
sondern durch einen redundanten Speicherbe reich ersetzt wird, ist
es ausreichend, zur Ermittlung der Reparaturlösung nur eine Fehleradresse
des Speicherbereichs zu erhalten, in dem sich eine oder mehrere
fehlerhafte Speicherzellen befinden. Dies kann beispielsweise bereits
in der Selbsttestschaltung, die in den integrierten Speicherbaustein
vorgesehen ist, erfolgen, so dass die an die Testereinrichtung zu übertragenden Fehlerdaten
bereits komprimiert sind. Da dadurch keine zur Ermittlung der Reparaturlösung benötigte Information
verloren geht, spricht man von einer redundanzkonformen Komprimierung.
-
Trotz Komprimierung ist der Zeitaufwand
der Übertragung
der Fehlerdaten erheblich und somit der Durchsatz beim Testen von
integrierten Speicherbausteinen an einer Testereinrichtung beschränkt.
-
Es ist Aufgabe der vorliegenden Erfindung, einen
integrierten Speicherbaustein, ein Testsystem und ein Verfahren
zum Testen von Speicherbausteinen zu schaffen, mit dem die Zeit
zum Testen von Speicherbausteinen reduziert werden kann und somit
der Durchsatz erhöht
werden kann.
-
Diese Aufgabe wird durch den Speicherbaustein
nach Anspruch 1, das Testsystem nach Anspruch 11 sowie das Testverfahren
nach Anspruch 14 gelöst.
-
Weitere vorteilhafte Ausgestaltungen
der Erfindung sind in den abhängigen
Ansprüchen
angegeben.
-
Gemäß einem ersten Aspekt der vorliegenden
Erfindung ist ein integrierter Speicherbaustein mit einer Speichereinheit
und einer Selbsttestschaltung vorgesehen. Die Selbsttestschaltung
ist so ausgeführt,
um Testdaten und Testadressen zum Testen von Speicherbereichen in
der Speichereinheit zur Verfügung
zu stellen und abhängig
von dem Erkennen eines Fehlers, Fehlerdaten zu generieren. Weiterhin
ist eine Testschaltung vorgesehen, um Fehlerdaten von einem oder
mehreren anschließbaren zu testenden
Speicherbausteinen zu empfangen und um die empfangenen Fehlerdaten
abhängig
von ihnen zugeordneten Adressen in der Speichereinheit zu speichern.
-
Vorzugsweise kann auch vorgesehen
sein, dass die Testschaltung bei mehreren angeschlossenen zu testenden
Speicherbausteinen, die empfangenen Fehlerdaten jedes der zu testenden
Speicherbausteine in einem entsprechenden, dem jeweiligen zu testenden
Speicherbaustein zugeordneten Speicherbereich in der Speichereinheit
speichert.
-
Auf diese Weise kann ein Speicherbaustein geschaffen
werden, der es ermöglicht,
andere Speicherbausteine, sogar gleichartige, zu testen. Während bisher üblich ist,
den Selbsttestvorgang durch eine Testereinrichtung zu starten und
die ermittelten Fehlerdaten an die Testereinrichtung zu übertragen,
werden die ermittelten Fehlerdaten nun an einen weiteren Speicherbaustein,
der erfindungsgemäß mit einer
Testschaltung ausgestattet ist, gesendet. Auf diese Weise ist es
möglich,
dass sich Speicherbausteine gegenseitig testen können, ohne dass eine daran
angeschlossene Testereinrichtung in den Testvorgang eingreifen muss.
Die Testschaltung, die in den integrierten Speicherbausteinen dazu
vorgesehen sein muss, ermöglicht
den Empfang von Fehlerdaten von anderen angeschlossenen Speicherbausteinen
und speichert die Fehlerdaten so in der Speichereinheit, dass eine
Zuordnung zu den jeweiligen zu testenden Speicherbausteinen und zu
den Speicherbereichen in den zu testenden Speicherbausteinen möglich ist.
-
Es kann vorgesehen sein, dass die
Selbsttestschaltung die Adressen zum Speichern der Fehlerdaten generiert.
Auf diese Weise können
in dem testenden Speicherbaustein Adressen bereitgestellt werden,
in die die empfangenen Fehlerdaten gespeichert werden. Auf diese
Weise kann einerseits vermieden werden, dass zu den Fehlerdaten
auch deren Adressen von den getesteten Speicherbausteinen übertragen
werden müssen.
Andererseits kann auf das Vorsehen einer zusätzlichen Adressgene ratorschaltung
verzichtet werden, da die Selbsttestschaltung bereits für das Generieren
von Adresswerten für den
Selbsttestvorgang ausgelegt ist.
-
Es kann eine Datenkompressionseinheit
vorgesehen sein, um die empfangenen Fehlerdaten vor dem Speichern
in das Speicherelement redundanzkonform zu komprimieren. Auf diese
Weise kann Speicherplatz in dem testenden Speicherbaustein eingespart
werden, so dass eine größere Anzahl
von daran angeschlossenen Speicherbausteinen getestet werden können.
-
Alternativ kann vorgesehen sein,
dass die Testschaltung so gestaltet ist, um redundanzkonform komprimierte
Fehlerdaten zu empfangen und diese zugeordnet zu den jeweiligen
Adressen der Speicherbereiche zu speichern. Dazu ist vorzugsweise
eine Adresszuordnungseinheit vorgesehen, um aus den von der Selbsttestschaltung
generierten Testadressen Speicheradressen zum Speichern der redundanzkonform
komprimierten Fehlerdaten zu generieren. Die Speicheradressen sind
den Speicherbereichen in den zu testenden Speicherbausteinen so zugeordnet,
dass jedes der redundanzkonform komprimierten Fehlerdaten einem
entsprechenden Speicherbereich in dem zu testenden Speicherbaustein
zugeordnet werden kann. Auf diese Weise ist es möglich, die Selbsttestschaltung
zum Generieren der Adressen zu verwenden, in die die Fehlerdaten
der getesteten Speicherbausteine zu schreiben sind. Die Adresszuordnungseinheit
hat die Funktion, bei redundanzkonform komprimierten Fehlerdaten
die Adressen so zur Verfügung
zu stellen, dass möglichst wenig
bzw. kein Speicherplatz in der Speichereinheit verschwendet wird.
-
Vorzugsweise weist die Adresszuordnungseinheit
ein Schieberegister auf, um einen Adresswert der Testadresse gemäß einem
Kompressionsfaktor der redundanzkonform komprimierten Fehlerdaten zu
teilen. Dies ist insbesondere deshalb sinnvoll, da die Selbsttestschaltungen
in den zu testenden Speicherbausteinen sowie in den testenden Speicherbaustein
gleichzeitig gestartet werden, so dass die Adresszähler jeweils
den gleichen Adresswert bereitstellen. Da jedoch bei redundanzkonform komprimierten
Fehlerdaten aufeinander folgende Adresswerte einem einzigen Speicherbereich
entsprechen, gilt für
die aufeinander folgenden Adresswerte nur ein einziges ermitteltes
Fehlerdatum, dass dem Speicherbereich, der durch die aufeinander
folgenden Adresswerte gebildet ist, zugeordnet ist. Durch das Schieberegister
lassen sich die Adresswerte so teilen, dass aufeinander folgende
Adresswerte jeweils einem Speicherbereich zugeordnet sind.
-
Es kann vorgesehen sein, dass die
in der Speichereinheit gespeicherten Fehlerdaten durch eine Ausleseeinheit
z. B. in die Testereinrichtung ausgelesen werden.
-
Weiterhin kann vorgesehen sein, dass
der Speicherbaustein mit Hilfe einer Befehlsdekodiereinheit abhängig von
einem empfangenen ersten Befehlssignal in einem ersten Testmodus
betrieben werden kann. Bei dem ersten Testmodus testet die Selbsttestschaltung
die Speichereinheit und gibt Fehlerdaten aus, die abhängig von
einem erkannten Fehler sind. In dem ersten Testmodus wird also der übliche Selbsttestvorgang
durch die Selbsttestschaltung des integrierten Speicherbausteins
durchgeführt.
-
Es kann weiterhin vorgesehen sein,
dass die Befehlsdekodiereinheit so ausgestaltet ist, um abhängig von
einem empfangenen zweiten Befehlssignal den Speicherbaustein in
einem zweiten Testmodus zu betreiben. In dem zweiten Testmodus empfängt die
Testschaltung Fehlerdaten von einem angeschlossene, zu testenden
Speicherbaustein und speichert die Fehlerdaten in den jeweils zugeordneten
Speicherbereichen der Speichereinheit ab.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung ist ein Testsystem mit dem erfindungsgemäßen integrierten
Speicherbaustein vorgesehen. Der erste, testende Speicherbaustein ist
mit zweiten, zu testenden Speicherbausteinen verbunden, wobei nach
dem Ende eines Testvorgangs die im ersten integrierten Speicherbaustein
gespeicherten Fehlerdaten in eine externe Fehlerdatenauswerteeinheit
auslesbar sind. Die Fehlerdatenauswerteeinheit dient dazu, die Reparaturlösung aus
den ermittelten Fehlerdaten zu berechnen und befindet sich üblicherweise
in einer herkömmlichen
Testereinrichtung.
-
Vorzugsweise kann vorgesehen sein,
dass die Fehlerdatenauswerteeinheit den Testvorgang in den zweiten
Speicherbausteinen und das Speichern der Fehlerdaten in dem ersten
Speicherbaustein jeweils durch einen Teststartbefehl startet.
-
Vorzugsweise kann vorgesehen sein,
dass mehrere erste Speicherbausteine jeweils mit den zweiten Speicherbausteinen
verbunden sind. Die zweiten Speicherbausteine sind nacheinander
in mehreren Testschritten mit jeweils einem der ersten Speicherbausteine
testbar. Während
des Testens mit einem der ersten Speicherbausteine werden Fehlerdaten
eines vorangegangenen Testschrittes an die Fehlerdatenauswerteeinheit
ausgelesen. Dadurch können
die Vorgänge
des Testens der zweiten Speicherbausteine in Testschritten eines
Testvorgangs und des Auslesens der Fehlerdaten an die Fehlerdatenauswerteeinheit
verschachtelt werden.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung ist ein Verfahren zum Testen von Speicherbausteinen
vorgesehen. Das Testen wird mit Hilfe eines ersten Speicherbausteins
durchgeführt,
an den einer oder mehrere zweite Speicherbausteine angeschlossen
sind. Nach dem Empfangen eines Teststartbefehls von dem zweiten
Speicherbausteinen wird ein Selbsttestvorgang in den zweiten Speicherbausteinen
gestartet. Der Selbsttestvorgang ermittelt Fehlerdaten in den zweiten
Speicherbausteinen, wobei die Fehlerdaten von einem erkannten Fehler
abhängen.
Die ermittelten Fehlerdaten werden an den ersten Speicherbaustein,
der die zweiten Speicherbausteine testet, übertragen. Dort werden die
Fehlerdaten so ge speichert, dass sie den entsprechenden zweiten
Speicherbausteinen und den entsprechenden Speicherbereichen in den
zweiten Speicherbausteinen zugeordnet werden. Nach Abschluss des
Selbsttestvorgangs werden die in dem ersten Speicherbaustein gespeicherten
Fehlerdaten zum Ermitteln einer Reparaturlösung übertragen.
-
Das erfindungsgemäße Verfahren hat den Vorteil,
dass der Selbsttestvorgang nach dem Starten unabhängig von
einer angeschlossenen Testereinrichtung durchgeführt werden kann, da die Fehlerdaten
in dem ersten Speicherbaustein gespeichert werden. Der erste Speicherbaustein
bildet somit den Teil einer Testereinrichtung, der die Fehlerdaten
empfängt
und in einem Fehlerdatenspeicher abspeichert. Dadurch kann die Testereinrichtung
entlastet werden, indem Fehlerdaten nur noch einmal, nämlich nach
Abschluss des Selbsttestvorgangs, an die Testereinrichtung übertragen
werden. Da der Selbsttestvorgang üblicherweise mehrere Adressdurchläufe umfasst,
bei denen jeweils Fehlerdaten zur Verfügung gestellt werden, dient
der erste Speicherbaustein also dazu, die Fehlerdaten zu empfangen,
in geeigneter Weise abzuspeichern und zu sammeln und erst nach dem
Abschluss des Selbsttestvorgangs an die Testereinrichtung bzw. die
Fehlerdatenauswerteeinheit der Testereinrichtung zu übertragen. Somit
kann die Menge der an die Testereinrichtung zu übertragenen Daten erheblich
reduziert werden, so dass eine größere Anzahl von Speicherbausteinen
gleichzeitig getestet werden können.
-
Um die Menge der gleichzeitig zu
testenden zweiten Speicherbausteine zu erhöhen, können die Fehlerdaten entweder
vor dem Übertragen
an den ersten Speicherbaustein oder in dem zweiten Speicherbaustein
redundanzkonform komprimiert werden.
-
Eine bevorzugte Ausführungsform
der Erfindung wird im Folgenden anhand der beigefügten Zeichnung
näher erläutert.
-
Die einzige Figur zeigt ein erfindungsgemäßes Testsystem 1 mit
einem erfindungsgemäßen integrierten
ersten Speicherbaustein 2 und daran angeschlossene zweite
Speicherbausteine 3. Die zweiten Speicherbausteine 3 können sowohl
herkömmliche
Speicherbausteine, die getestet werden sollen, als auch zu den ersten
Speicherbausteinen 2 baugleiche Speicherbausteine, die
getestet werden sollen, sein. Wesentlich für die zweiten Speicherbausteine 3 ist,
dass sie jeweils eine zweite Selbsttesteinheit 4 aufweisen.
Der erste Speicherbaustein 2 weist eine erste Speichereinheit 5 und
die zweiten Speicherbausteine 3 zweite Speichereinheiten 20 auf.
-
Die Selbsttesteinheit 4 dient
dazu, gemäß einem
entsprechenden Teststartbefehl einen Selbsttest zu starten, wobei
bei dem Selbsttest jeweils die Speicherzellen (nicht gezeigt) einer
Speichereinheit 5 in dem jeweiligen zweiten Speicherbaustein 3 getestet
werden. Bei dem Selbsttest werden Fehlerdaten erzeugt, die angeben,
ob eine Speicherzelle fehlerhaft ist oder fehlerfrei funktioniert.
-
Der Teststartbefehl wird über eine
Befehlsleitung 6 von der Selbsttesteinheit 4 empfangen.
Die Selbsttesteinheit 4 generiert dann Testadressen und Testdaten,
die in die jeweiligen zweiten Speicherzellen der jeweiligen zweiten
Speichereinheit 20 hineingeschrieben und anschließend ausgelesen
werden. Die Fehlerdaten sind ein Ergebnis des Vergleichens der hineingeschriebenen
mit den in den Speicherzellen der jeweiligen Speichereinheit gespeicherten
Daten.
-
Die so ermittelten Fehlerdaten müssen beim Testen
der zweiten Speicherbausteine 3 ausgewertet werden, wobei
eine Reparaturlösung
ermittelt wird, die angibt, ob und auf welche Weise die defekten Speicherzellen
durch redundante in den zweiten Speicherbausteinen 3, ebenfalls
vorgesehenen Speicherbereiche ersetzt werden sollen.
-
Üblicherweise
werden dazu die Fehlerdaten von den zu testenden zweiten Speicherbausteinen 3 an
eine Testereinrichtung übertragen,
in der zunächst die
Speicherung der Fehlerdaten vorgenommen wird und anschließend die
gespeicherten Fehlerdaten so weiter verarbeitet werden, dass eine
Reparaturlösung
ermittelt wird. Die Selbsttesteinheit 4 führt mehrfach
Testdurchläufe
durch, d. h. es wird mehrfach der gesamte Adressbereich der jeweiligen
zweiten Speichereinheit 20 durchlaufen und Daten hineingeschrieben
und anschließend
wieder ausgelesen. Da dabei jedesmal Fehlerdaten ermittelt werden, müssen diese
Fehlerdaten bei Testsystemen nach dem Stand der Technik an die Testereinrichtung übertragen
werden, wo sie in geeigneter Weise in einem dort vorgesehenen Fehleradressenspeicher
gespeichert werden. Das Übertragen
von Fehlerdaten nach jedem Adressdurchlauf führt dazu, dass eine große Zeitdauer
benötigt
wird, um die Fehlerdaten an die Testereinrichtung zu übertragen.
-
Um diese Zeit zu minimieren, werden
Kompressionsverfahren vorgesehen, die in der Selbsttesteinheit 4 üblicherweise
vorhanden sind. Da nicht jede fehlerhafte Speicherzelle durch eine
redundant vorgesehene intakte Speicherzelle ersetzt wird, sondern
ganze Speicherbereiche mit mehreren Speicherzellen ausgetauscht
werden, ist es zur Ermittlung der geeigneten Reparaturlösung ausreichend, nur
Fehlerdaten über
intakte und defekte Speicherbereiche, d. h. Speicherbereiche, in
denen sich keine bzw. eine oder mehr defekte Speicherzellen befinden, übertragen
werden. Dies führt
zwar zu einer Reduzierung der Fehlerdaten, jedoch ist der Zeitaufwand
zur Übertragung
der bereits komprimierten Fehlerdaten noch immer erheblich.
-
Erfindungsgemäß ist nun vorgesehen, dass die
zu testenden zweiten Speicherbausteine 3 mit einem ersten
Speicherbaustein verbunden werden, der im Wesentlichen eine zu den
zweiten Speicherbausteinen 3 gleichartige erste Selbsttesteinheit 21 und die
erste Speichereinheit 5 aufweist. Der erste Speicher baustein 2 wird
mit dem/den zu testenden zweiten Speicherbausteinen 3 so
verbunden, dass die Datenausgänge
der zweiten Speicherbausteine 3 mit Dateneingängen des
ersten Speicherbausteines 2 verbunden sind. Fehlerdaten,
die über
die Datenausgänge
der zweiten Speicherbausteine 3 gesendet werden, können so über die
Dateneingänge
von dem ersten Speicherbaustein 2 empfangen werden. Auf diese
Weise sollen dem ersten Speicherbaustein 2 die Fehlerdaten
zur Verfügung
gestellt werden, die in der ersten Speichereinheit 5 gespeichert
werden. Die Anzahl der anschließbaren
zu testenden zweiten Speicherbausteine 3 richtet sich nach
der Breite der jeweils von den zweiten Speicherbausteinen 3 ausgegebenen
Fehlerdaten und nach der Anzahl der Dateneingänge des ersten Speicherbausteines 2.
-
Weiterhin richtet sich die Anzahl
der anschließbaren
zweiten, zu testenden Speicherbausteine 3 danach, welche
Größe die erste
Speichereinheit 5 im ersten Speicherbaustein 2 aufweist.
So kann bei gleicher Größe der ersten
und zweiten Speichereinheiten 5, 20 des ersten
Speicherbausteines 2 und des zweiten Speicherbausteins 3 nur
ein zweiter Speicherbaustein 3 mit Hilfe des ersten Speicherbausteins 2 getestet
werden. Werden die Fehlerdaten z. B. um den Faktor 4 komprimiert,
so lassen sich bereits vier zweite Speicherbausteine 3 an
den ersten Speicherbaustein 2 anschließen und können gemeinsam Fehlerdaten
an den ersten Speicherbaustein 2 übertragen. Die erste Speichereinheit 5 des ersten
Speicherbausteins 2 hat dann eine ausreichende Speicherkapazität, um die
Fehlerdaten von dem zweiten Speicherbausteinen 3 zu speichern.
-
Selbstverständlich ist es möglich, dass
die erste Speichereinheit 5 des ersten Speicherbausteins 2 eine
unterschiedliche Speicherkapazität
zu den Speicherkapazitäten
der zweiten Speichereinheiten 20 der zweiten Speicherbausteine 3 aufweist. So
kann beispielsweise ein erster Speicherbaustein 2 mit geringerer
oder höherer
Speicherkapazität
vorgesehen werden. Insbesondere kann als erster Speicherbaustein 2 ein Speicherbaustein
mit einer Speichereinheit 5 älterer Generation mit geringerer Speicherkapazität vorgesehen
werden, um Speicherbausteine 3 einer neueren Generation
mit erhöhter Speicherkapazität zu testen.
Insbesondere kommt es dabei auf den Kompressionsfaktor an, mit dem
die Fehlerdaten komprimiert werden.
-
Vorzugsweise werden die Fehlerdaten
in den zu testenden Speicherbausteinen 3 komprimiert, so dass
eine geringere Anzahl von Datenübertragungsleitungen
an den ersten Speicherbaustein 2 benötigt werden. Üblicherweise
sind dazu in den Selbsttesteinheiten 4 Kompressionsschaltungen
vorgesehen, die die Fehlerdaten redundanzkonform komprimieren.
-
Die von den zu testenden ersten Speicherbausteinen 3 empfangenen
Fehlerdaten müssen
in der ersten Speichereinheit 5 des ersten Speicherbausteins 2 so
gespeichert werden, dass eine exakte Zuordnung zu der fehlerhaften
Speicherzelle bzw. zu dem fehlerhaften Speicherbereich (bei komprimierten
Fehlerdaten) und eine exakte Zuordnung zu den jeweiligen angeschlossenen
zu testenden Speicherbausteinen 3 besteht. Dazu ist eine
Testschaltung 7 vorgesehen, die eine Adresszuordnungseinheit 15 aufweist.
Die Adresszuordnungseinheit 15 übernimmt die Fehlerdaten von
den Fehlerdatenleitungen 8, die mit den Dateneingängen des
ersten Speicherbausteins 2 verbunden sind, und legt diese
so in der Speichereinheit 5 des ersten Speicherbausteines 2 ab,
dass jede Adresse der Speichereinheit 5 eindeutig einem
angeschlossenen zu testenden Speicherbaustein 3 und den
jeweiligen Speicherbereichen der entsprechenden Speichereinheiten 20 der
zweiten Speicherbausteine 3 zugeordnet ist.
-
Darüber hinaus übernimmt die Testschaltung 7 die
Aufgabe, die Fehlerdaten von jedem der zweiten Speicherbausteine 3 mit
den bereits zwei vorangehenden Adressdurchläufen ermittelten Fehlerdaten
zu verodern. Dazu werden die zuvor ermittelten Fehlerdaten des betreffenden
zweiten Speicherbausteines 3 aus der Speichereinheit 5 des
ersten Speicherbausteines 2 ausgelesen, mit den neu empfangenen
Fehlerdaten von dem betreffenden zweiten Speicherbaustein 3 verodert
und anschließend
wieder in den jeweiligen betreffenden zweiten Speicherbaustein 3 zugeordneten
Adressbereiche der ersten Speichereinheit 5 des ersten
Speicherbausteins 2 geschrieben. Die Taktfrequenz, zum Übertragen
der Fehlerdaten an den ersten Speicherbaustein 2 wird von
der Testereinrichtung 11 zur Verfügung gestellt und ist so angepasst,
dass dieser Vorgang des Veroderns der Fehlerdaten durchgeführt werden
kann. Auf diese Weise wird vermieden, dass weiche Fehler, die nur
bei manchen oder nur bei einem der Adressdurchläufe bei dem Selbsttestvorgang
erkannt werden, nicht durch nachfolgende Fehlerdaten überschrieben
werden, bei denen ein zuvor erkannter fehlerhafter Speicherbereich
nicht als fehlerhaft erkannt worden ist.
-
Es kann auch vorgesehen sein, dass
anstelle des Veroderns der Fehlerdaten mit den bereits empfangenen
Fehlerdaten ein selektives Hineinschreiben nur derjenigen Fehlerdaten
in die erste Speichereinheit 2 erfolgt, mit denen ein Fehler
in einem Speicherbereich der zweiten Speichereinheit 20 festgestellt worden
ist. Dies ermöglicht
eine höhere
Taktfrequenz zum Testen, da die Fehlerdaten schneller in der ersten
Speichereinheit 5 gespeichert werden können.
-
Der Selbsttestvorgang läuft bei
allen zweiten Speicherbausteinen 3 im wesentlichen parallel
und endet daher im Wesentlichen gleichzeitig. Nach Beendigung des
Selbsttestvorgangs sind die Fehlerdaten in dem ersten Speicherbaustein 2 gespeichert. Die
gespeicherten Fehlerdaten werden nun über Fehlerdatenleitungen 10 an
eine Testeinrichtung 11 übertragen. Die Testeinrichtung 11 kann
auch mit den Datenleitungen 11 schaltbar verbunden sein,
um die Fehlerdaten zu empfangen.
-
Die Testereinrichtung 11 steuert
den Testablauf, indem sie den Teststartbefehl für die zweiten Speicherbausteine 3 auf der
ersten Befehlsleitung 6 anlegt und gleichzeitig über eine
zweite Befehlsleitung 9 ein Fehlerdatenempfangsbefehl an
den ersten Speicherbaustein 2 sendet. Der Fehlerdatenempfangsbefehl
wirkt in dem ersten Speicherbaustein 2, das Fehlerdaten
von den zweiten Speicherbausteinen 3 empfangen werden können und
diese zugeordnet zu den jeweiligen getesteten zweiten Speicherbausteinen 3 und
zugeordnet zu den jeweiligen Speicherbereichen in der Speichereinheit 5 des
ersten Speicherbaustein 2 abgespeichert werden.
-
Die Testereinrichtung 11 generiert
weiterhin ein Taktsignal, das die Taktfrequenz zum Testen der zweiten
Speicherbausteine 3 vorgibt. Nach dem Teststartbefehl und
nach dem Fehlerdatenempfangsbefehl erhalten der erste und die zweiten
Speicherbausteine 2, 3 den gemeinsamen Takt, so
dass der erste und die zweiten Speicherbausteine 2, 3 synchron
betrieben werden. Somit ist nach dem Empfangen des Teststartbefehls
und des Fehlerdatenempfangsbefehls die Testadresse, die den gerade
getesteten Speicherbereich angibt, in dem ersten und den zweiten
Speicherbausteinen 2,3 bekannt.
-
Da von den zweiten Speicherbausteinen 3 nur
jeweils die Fehlerdaten nicht jedoch deren Adressen gesendet werden,
ist es notwenig, um eine Zuordnung der Fehlerdaten zu den jeweiligen
Speicherbereichen durchführen
zu können,
dass in dem ersten Speicherbaustein 2 die Information vorliegt,
zu welchem Speicherbereich das jeweils empfangene Fehlerdatum gehört.
-
Die erste und zweite Selbsttestschaltung 4, 21 weisen
einen Adressgenerator 12, einen Testdatengenerator 13 und
einem Befehlsdekodierer 14 auf. Mit dem Empfangen des Teststartbefehls über die
ersten Befehlsleitungen 6 wird der Adressgenerator 12 gestartet,
der üblicherweise
aufeinander folgende Adressen beginnend mit einer Startadresse gemäß dem Taktsignal
generiert. Dazu generiert der Testdatengenerator 13 Testdaten, üblicherweise
ausschließlich
Nullen oder Einsen oder einfache Testmusterdaten.
-
Um in dem ersten Speicherbaustein 2 Chipfläche einzusparen,
kann der Adressgenerator 12 der ersten Selbsttesteinheit 21 ebenfalls
dazu verwendet werden, in einem Testmodus die Adressen zum Speichern
der Fehlerdaten in die erste Speichereinheit 5 des ersten
Speicherbausteins zur Verfügung
zu stellen. Damit die Adressgeneratoren 12 der Selbsttesteinheiten 4, 21 der
ersten und der zweiten Speicherbausteine 2, 3 synchron
zueinander laufen, muss die Testereinrichtung 11 den Teststartbefehl und
den Fehlerdatenempfangsbefehl im Wesentlichen so gleichzeitig an
die ersten und zweiten Speicherbausteine 2, 3 senden,
dass die jeweiligen Adressgeneratoren 12 gleichzeitig beginnen,
die Adresswerte hoch zu zählen. Üblicherweise
ist bei der Generierung von Testadressen vorgesehen, dass die Adresssprünge jeweils
nur eins betragen. Selbstverständlich
kann auch vorgesehen sein, dass die Adresssprünge andere Werte annehmen können.
-
Die Fehlerdaten können von oder nach dem Übertragen
an den ersten Speicherbaustein redundanzkonform komprimiert werden.
Werden die Fehlerdaten nach dem Übertragen
an den ersten Speicherbaustein komprimiert, ist in der Testschaltung 7 eine
Datenkompressionseinheit 16 vorgesehen, um die Komprimierung
der Fehlerdaten durchzuführen.
-
Wenn die Fehlerdaten komprimiert
an den ersten Speicherbaustein 2 gesendet werden, so sind für aufeinander
folgende Adresswerte die jeweiligen Fehlerdaten identisch. Damit
nun nicht identische Fehlerdaten in der ersten Speichereinheit 5 des
ersten Speicherbausteins 2 gespeichert werden, ist es notwendig,
dass Hochzählen
der Adresse ebenfalls um den Kompressionsfaktor zu verlangsamen.
-
Werden beispielsweise die Fehlerdaten
in einem der zu testenden Speicherbausteinen 3 um einen
Faktor 4 komprimiert, so bedeutet dies, dass bei 4 getesteten
Speicherzellen eines Speicherbereiches nur noch ein Fehlerdatum
der Größe 1 Bit
an den ersten Speicherbaustein 2 geliefert wird. Dieses eine
Fehlerdatumsbit steht nach dem Adressieren von 4 Speicherzellen
mit Hilfe von Adressen, die durch den Adressgenerator 12 der
zweiten Selbsttesteinheit generiert werden, zur Verfügung. Damit nicht
in die erste Speichereinheit 5 des ersten Speicherbausteins 2 in
die entsprechenden vier Adressen der gleiche Wert des Fehlerdatums
hinein geschrieben wird, ist es sinnvoll, über ein Schieberegister 17 das
Hochzählen
der Adresswerte so zu verlangsamen, dass in aufeinander folgende
Adressen der ersten Speichereinheit 5 die Fehlerdaten für unterschiedliche
Speicherbereiche in dem zu testenden Speicherbaustein 3 abgelegt
werden.
-
Bei einem Kompressionsfaktor von 4 ist
es daher sinnvoll, den von dem Adressgenerator 12 generierten
Adresswert um den Faktor 4 zu teilen, d. h. die von der
ersten Selbsttesteinheit 21 generierten Adressbits um zwei
Bit nach rechts zu verschieben. Auf diese Weise können die
vier Fehlerdatenbits, die nach dem parallelen Testen von 4 Speicherzellen,
d. h. 4 Adresswerten, in den zu testenden, zweiten Speicherbausteinen 3 generiert
werden, in einer Adresse der ersten Speichereinheit 5 des
ersten Speicherbausteins 2 gespeichert werden.
-
Durch das erfindungsgemäße Testsystem und
das Verfahren zum Testen der zu testenden Speicherbausteine verringert
sich die Menge der an die Testeinrichtung zu übertragenden Daten erheblich.
Die Testereinrichtung 11 muss lediglich den Teststartbefehl
und den Fehlerdatenempfangsbefehl an die ersten und zweiten Speicherbausteine 2, 3 ausgeben,
wodurch der Selbsttestvorgang in den zweiten Speicherbausteinen 3 gestartet
wird und die in Folge empfangener Fehlerdaten durch den ersten Speicherbaustein 2 gespeichert
werden. Ein weiteres Zutun der Testereinrichtung 11 ist
dazu nicht erforderlich.
-
Die Testereinrichtung 11 kann
je nach Anzahl freier Schnittstellen mehrere solcher Testanordnungen
aus ersten und zweiten Speicherbausteinen 2, 3 ansteuern,
wobei vorzugsweise diese Testanordnungen so zeitlich versetzt zueinander
angesteuert werden, dass es beim Auslesen der ermittelten, gespeicherten
Fehlerdaten aus den ersten Speicherbausteinen 2 nicht zu Überschneidungen
kommt.
-
Die Testanordnungen, die mit der
Testereinrichtung 11 verbunden werden, können auch
mehr als einen ersten testenden Speicherbaustein 2 umfassen,
die jeweils mit allen in der jeweiligen Testanordnung enthaltenen
zweiten Speicherbausteine verbunden sind. Dies ist zweckmäßig, wenn
die zweiten Speicherbausteine 3 in mehreren Testschritten
nacheinander getestet werden sollen. Dabei übernimmt einer der mehreren,
vorzugsweise einer von zwei ersten Speicherbausteinen 2 den
Vorgang des Testens der zweiten Speicherbausteine 3 und
das Abspeichern der Fehlerdaten in der ersten Speichereinheit 5 und
ein jeweils anderer erster Speicherbaustein 2 überträgt die im
vorangegangenen Testschritt gespeicherten Fehlerdaten in der ersten
Speichereinheit 5 des anderen ersten Speicherbausteines 2 an
die Testereinrichtung 11 vorzugsweise über Fehlerdatenleitungen 10.
Dies kann im wesentlichen gleichzeitig erfolgen, so dass durch das
Verschachteln von Testen und Auslesen der Fehlerdaten der Testvorgang
beschleunigt werden kann. Die Testereinrichtung 11 stellt
zur Steuerung dieses Vorgangs den Teststartbefehl und Fehlerdatenempfangsbefehl den
ersten Speicherbausteinen 2 im wesentlichen abwechselnd zur Verfügung.
-
Das Übertragen der Fehlerdaten von
der ersten Speichereinheit 5 des ersten Speicherbausteins 2 an
die Testeinrichtung 11 erfolgt üblicherweise seriell, wobei
die Parallelität
sich nach der Anzahl der verfügbaren
Dateneingänge
an der Testeinrichtung 11 richtet. Vorzugsweise ist die
Parallelität
der Fehlerdatenleitungen 10 so gewählt, dass die Anzahl ange schlossener
Testsysteme aus ersten und zweiten Speicherbausteinen 2, 3,
die Zeitdauer für
den Selbsttestvorgang und die von der Parallelität der Fehlerdatenleitungen 11 abhängigen Zeitdauer
zum Auslesen der Fehlerdaten auf den ersten Speicherbaustein ein
Optimum ergibt, bei dem der Durchsatz von getesteten zweiten Speicherbausteinen 3 am höchsten ist.
Dies ist insbesondere dann der Fall, wenn während des Auslesens von Daten
aus einem der ersten Speicherbausteinen 2 der verschiedenen Testsysteme
möglichst
die Selbsttestvorgänge
der übrigen
Testsysteme gemäß dem beschriebenen Verfahren
noch am laufen sind.
-
Es ist erfindungsgemäß vorgesehen,
dass die integrierten Speicherbausteine standardmäßig mit
der Testschaltung 7 ausgestattet werden, so dass sich die
betreffenden Speicherbausteine 2, 3 gegenseitig
testen können.
Werden die zweiten Speicherbausteine 3 getestet, bleibt
die Testschaltung 7 inaktiv, nur die Selbsttestschaltung 4, 21 wird
entsprechend dem Teststartbefehl der Testereinrichtung 11 aktiviert.
Die Rolle des ersten Speicherbausteins 2 kann also jeder
der so hergestellten Speicherbausteine 2, 3 übernehmen,
wenn er bereits auf Fehler getestet ist und – mit oder ohne Reparaturschritt – einwandfrei
funktioniert.
-
Gemäß dem erfindungsgemäßen Verfahren können sich
die Speicherbausteine 2, 3 gegenseitig testen,
ohne dass wertvolle Ressourcen in der Testereinrichtung 11 verwendet
werden müssen.
Die Testereinrichtung 11 dient im wesentlichen dazu, die Selbsttestvorgänge zu starten
und anschließend,
d. h. nach Abschluss des Selbsttestvorgangs, die Fehlerdaten, die
daraus ermittelt worden sind, zu empfangen. Die empfangenen Fehlerdaten
werden dann dort so verarbeitet, dass eine Reparaturlösung für die Reparatur
fehlerhafter Speicherbereiche in den zweiten Speicherbauelementen 3 ermittelt
wird. Die Testereinrichtung 11 kann auch dazu dienen, bei
einer programmierbaren Selbsttesteinheit Einstellungswerte an die
erste Selbsttesteinheit 21 des zu testenden zweiten Speicherbausteins 3 zu übertragen.
-
Bei dem erfindungsgemäßen Testsystem
besteht der Vorteil, dass die Testgeschwindigkeit mit der einer
der Speicherbausteine 3 getestet wird, geringer sein kann
als bei einem herkömmlichen
Test, ohne dass der Durchsatz beim Testen verringert ist. Dadurch,
dass nicht jeder der zweiten Speicherbausteine 3 mit der
Testereinrichtung 11 zur Übertragung von Fehlerdaten
verbunden ist, ist die Anzahl der angeschlossenen und gleichzeitig
zu testenden zweiten Speicherbausteine 3 erheblich erhöht.
-
Üblicherweise
werden in Testereinrichtungen 11 sehr schnelle Speicher
verwendet, um die Fehlerdaten zu speichern. Dies ist notwendig,
da beim Empfang von Fehlerdaten zunächst die zuvor empfangenen
Fehlerdaten der selben Speicherbereiche des selben Speicherbausteines
zunächst
ausgelesen werden müssen,
anschließend
mit dem empfangenen Fehlerdaten verodert werden und anschließend in
den Fehlerdatenspeicher zurück
geschrieben werden. Dies muss im Wesentlichen in Echtzeit erfolgen,
damit die Fehlerdaten von den zu testenden Speicherbausteinen ohne
Verzögerung
verwendet werden können.
-
Bei den erfindungsgemäßen Speicherbausteinen 2 kann
nun vorgesehen sein, dass die Geschwindigkeit des Sendens der Fehlerdaten
an den ersten Speicherbaustein 2 an die Zeitdauer angepasst
ist, in der die erfindungsgemäßen Speicherbausteine
die Fehlerdaten empfangen können
und in geeigneter Weise in der Speichereinheit 5 abspeichern
können.
Dies kann auf die herkömmliche
Weise durch Verodern der Fehlerdaten mit den bereits empfangenen
Fehlerdaten oder auch schneller durch das selelktive Speichern nur
derjenigen Fehlerdaten, die einen Fehler anzeigen, erfolgen. Durch
die hohe Parallelität
beim Testen mit einer solchen Testanordnung, die üblicherweise
um ein Vielfaches höher
liegt als bei üblichen
Testanordnungen, ist die Geschwindigkeit der Übertragung der Fehlerdaten zwischen den
ersten und zweiten Speicherbausteinen 2, 3 im Wesentlichen
nicht beschränkend
für den
Durchsatz. Je langsamer die Übertragung
der Fehlerdaten an den ersten Speicherbaustein 2 erfolgt,
desto kleiner würde
man die Parallelität
der Fehlerdatenleitungen 10 wählen, um die Fehlerdaten an
die Testereinrichtung 11 zu übertragen, wenn der Selbsttestvorgang einer
der Testanordnungen abgeschlossen ist. Je kleiner die Parallelität der Fehlerdatenleitung 10 ist, desto
mehr Testanordnungen mit ersten und zweiten Speicherbausteinen 2, 3 können an
die Testereinrichtung 11 gleichzeitig angeschlossen werden
und gleichzeitig getestet werden. Somit ist die Geschwindigkeit
der Fehlerdatenübertragung
zwischen den ersten und zweiten Speicherbausteinen 2, 3 nicht
erheblich für
den Durchsatz des gesamten Testsystems.
-
Insbesondere bei einem Testsystem 1 mit mehreren
ersten Speicherbausteinen 2 und jeweils daran angeschlossenen
zweiten Speicherbausteinen 3 kann es sinnvoll sein, verschiedene
Taktsignale für das
Testen und Speichern der Fehlerdaten und für das Auslesen der Fehlerdaten
in die Testereinrichtung 11 zur Verfügung zu stellen. Während sich
in einer Testereinrichtung 11 nur Daten mit einer begrenzten
Testertaktfrequenz gesendet oder empfangen werden können, kann
der Testvorgang, der nur zwischen dem ersten und den zweiten Speicherbausteinen
abläuft,
schneller mit einer höheren
Taktfrequenz durchgeführt
werden, die entweder von einem externen Taktgenerator (nicht gezeigt)
oder von der Testereinrichtung 11 selbst bereitgestellt
wird. Vor allem, wenn die Fehlerdaten in die erste Speichereinheit 5 gemäß dem zuvor
beschriebenen selektiven Verfahren zum Speichern von Fehlerdaten
abgespeichert werden, kann die Taktfrequenz zum Testen der zweiten
Speicherbausteine im wesentlichen so hoch gewählt werden, wie es der späteren Betriebsfrequenz des
jeweiligen zweiten Speicherbausteines 3 entspricht. In
diesem Fall sollten die von den Taktfrequenzen abhängigen Zeiten
für Testen
und Auslesen der Fehlerdaten für
jede der an der Testereinrichtung 11 angeschlossenen Testanordnung
mit Hilfe einer geeigneten Wahl der Parallelität der jeweiligen Fehlerdatendatenleitungen
so aufeinander abgestimmt werden, dass die Leerlaufzeiten der Testereinrichtung,
d.h. Zeiten, in denen keine ermittelten Fehlerdaten von ersten Speicherbausteinen 2 empfangen werden,
so gering wie möglich
gehalten werden können.
-
- 1
- Testsystem
- 2
- erster
Speicherbaustein
- 3
- zweiter
Speicherbaustein
- 4
- zweite
Selbsttesteinheit
- 5
- erste
Speichereinheit
- 6
- erste
Befehlsleitungen
- 7
- Testschaltung
- 8
- Datenleitungen
- 9
- zweite
Befehlsleitungen
- 10
- Fehlerdatenleitung
- 11
- Testereinrichtung
- 12
- Adressgenerator
- 13
- Testdatengenerator
- 14
- Befehlsdekodierer
- 15
- Adresszuordnungseinheit
- 16
- Datenkompressionseinheit
- 17
- Schieberregister
- 20
- zweite
Speichereinheit
- 21
- erste
Selbsttesteinheit