-
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 Speicherbereich 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.
-
Die
WO 02/25957 A2 zeigt einen Speicherbaustein, der eine Selbsttestschaltung aufweist.
-
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 Adressgeneratorschaltung 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 gespeichert, 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 Speicherbaustein 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 Speichernder 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 Hochzahlen 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 angeschlossener 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.
-
Bezugszeichenliste
-
- 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