-
Die Erfindung betrifft eine Testschaltung
und ein Verfahren zum Testen einer integrierten Speicherschaltung.
-
Hochintegrierte Halbleiterspeicherchips (DRAMs)
können
nicht mit ausreichender Ausbeute fehlerfrei hergestellt werden.
Häufig
sind es nur wenige Speicherzellen auf einem Speicherchip, die defekt sind.
Diese werden während
der Produktion in einem Funktionaltest identifiziert und durch sogenannte
redundante Speicherzellen ersetzt.
-
Das Testen wird durchgeführt, indem
an ein zum Testen an den Speicherchip angeschlossenes externes Testsystem
Adressen der fehlerhaften Zellen gesendet werden und auf Basis dieser
Daten eine Reparaturlösung
berechnet werden. Die Reparaturlösung
legt fest, welche defekte Zelle mit welcher redundanten Zelle repariert
werden soll. Die Adressen werden anhand von Fehlerdaten ermittelt,
die sich aus dem Vergleichen von geschriebenen und ausgelesenen
Testdaten ergeben.
-
Testsysteme für hochintegrierte Halbleiterspeicher,
wie DRAMs, verfügen
zu diesem Zweck über
zusätzliche
Hardware, wie zum Beispiel einem Bitfailmap-Speicher, der zum Speichern
der Fehleradressen dient, und speziellen Prozessoren, mit denen
die Redundanzberechnung durchgeführt
wird.
-
Um die Testkosten pro Bauelement
zu minimieren, werden die Speicherbausteine in zunehmendem Maße parallel
getestet. Dieser Trend wird ergänzt
durch den zunehmenden Einsatz von testunterstützenden Schaltungen, wie einem
BIST (Built In Self Test) oder Compression Testmodes. Beim Einsatz
eines BIST erfolgt die Teststeuerung nahezu vollständig im
Speicherbaustein.
-
Als zunehmend problematisch erweist
sich hierbei, dass die Berechnung der Reparaturlösung nach wie vor extern, nämlich in
dem externen Testsystem, erfolgen muss. Deshalb müssen die
redundanzkonformen Fehlerdaten auch im Falle eines BIST-basierenden
Testablaufes an ein externes Testgerät übertragen werden, das die Fehler
sammelt und daraus eine Reparaturlösung berechnet. Diese Übertragung
der Fehlerdaten stellt insbesondere bei hoher Parallelität und großen Speicherdichten
eines Speicherbausteins, wie zum Beispiel 512 Mbit pro Baustein,
ein großes
Problem dar.
-
Um diese großen Datenmengen zu bewältigen,
werden heute zwei Wege beschritten.
-
- 1. Die Daten werden hochparallel aus jedem
einzelnen Speicherbaustein übertragen.
Dies erfordert eine entsprechend hohe Anzahl teurer Testerkanäle am externen
Testsystem bzw. Datenerfassungsystem. Darüber hinaus kann die Verdrahtung
an den Testerschnittstellen der Testsysteme sehr komplex werden.
- 2. Um die Anzahl der Leitungen pro zu testendem Speicherbaustein
zu reduzieren, können
die Fehleradressen der im Speicherbaustein erkannten Fehler seriell
an das externe Testsystem übertragen
werden. Dies erfordert entsprechend mehr Zeit und führt damit
ebenfalls zu steigenden Testkosten, da sich die gesamte Testdauer
für einen Speicherbaustein
erhöht.
-
Während
bei der ersten Alternative die Anzahl der parallel zu testenden
Speicherbausteine durch die Anzahl der zur Verfügung stehenden Testerkanäle beschränkt wird,
wird bei der zweiten Alternative der Durchsatz des Testsystem dadurch
beschränkt,
dass die Zeit zum Testen eines Speicherbausteins erhöht wird.
-
Aus der Druckschrift
DE 199 22 786 A1 ist bekannt,
ein Teil der getesteten Speichereinrichtung zu Akkumulierung und Zwischenspeicherung
von Testergebnissen heranzuziehen, der gerade nicht getestet wird.
-
Es ist Aufgabe der vorliegenden Erfindung, eine
Testschaltung zur Verfügung
zu stellen, mit der das Testen von integrierten Speicherschaltungen
beschleunigt werden kann. Weiterhin soll ein Verfahren zur Verfügung gestellt
werden, mit dem das Testen einer Speicherschaltung schneller möglich ist.
-
Diese Aufgabe wird durch die Testschaltung nach
Anspruch 1 sowie das Verfahren nach Anspruch 7 gelöst.
-
Weitere vorteilhafte Ausgestaltungen
der Erfindung sind in den abhängigen
Ansprüchen
angegeben.
-
Erfindungsgemäß ist eine Testschaltung zum Testen
einer integrierten Speicherschaltung mit einer Dateneingangsleitung
zum Bereitstellen der Testdaten und mit einer Vergleichereinheit
vorgesehen, die mit der Dateneingangsleitung und der Speicherschaltung
verbunden ist. Über
die Datenleitung empfangene Erwartungswerte werden mit Hilfe der
aus dem Speicherbereich ausgelesenen Testdaten, die zuvor über die
Dateneingangsleitung in den Speicherbereich geschrieben worden sind,
verglichen. Die Erwartungswerte entsprechen dabei vorzugsweise den zuvor
in den Speicherbereich geschriebenen Testdaten, so dass bei Auftreten
eines Fehlers die Erwartungswerte von den ausgelesenen Testdaten
abweichen. Die Dateneingangsleitung ist über eine Datenänderungsschaltung
mit der Speicherschaltung verbunden, wobei die Datenänderungsschaltung
abhängig
von dem Ergebnis des Vergleichens in der Vergleichereinheit so steuerbar
ist, dass bei Auftreten eines Fehlers nachfolgende Testdaten durch
die Datenänderungsschaltung
verändert
in die Speicherschaltung schreibbar sind.
-
Bei einer solchen Testschaltung kann
die nach außen übertragene
Datenmenge reduziert werden, indem speicherintern die Adressen der
fehlerhaften Zellen zunächst
redundanzkonform komprimiert werden. Redundanzkonform heißt hierbei,
dass die Kompression keinen relevanten Informationsverlust für die anschließende Berechnung
der Reparaturlösung
verursacht.
-
Üblicherweise
werden mehrmals beim Testen eines Speicherbausteins in jeden Speicherbereich
Testdaten hineingeschrieben und anschließend wieder ausgelesen. Ein
Fehler wird erkannt, wenn die eingeschriebenen und die ausgelesenen
Daten voneinander abweichen. Bei einem typischen Test wird das Hineinschreiben
und das Auslesen auf einem Adressbereich mehrfach durchgeführt, wobei
zwischen den einzelnen Schreib- und Leseschritten bestimmte Parameter
der Speicherschaltung (z. B. anliegende Versorgungsspannung, Frequenz,
Temperatur u. a.) oder die Datenmuster verändert werden, so dass auch
weiche Fehler (soft errors) erkannt werden. Aus diesem Grund wird
derselbe Speicherbereich mehrfach unter verschiedenen Bedingungen getestet,
wobei ein dort mehrfach festgestellter Fehler bei herkömmlichen
Testsystemen auch mehrfach bei jedem Lesezugriff an die externe
Testeinheit übertragen
wird. Dies ist beispielsweise bei einem Hard-error der Fall, bei
dem die getestete Speicherzelle unter jeglicher Bedingung als defekt
erkannt wird.
-
Bei der erfindungsgemäßen Testschaltung wird
dagegen vorgesehen, dass, sobald ein Fehler aufgetreten ist, für den entsprechenden
Speicherbereich auch bei nachfolgenden Testläufen ein Fehler erkannt wird.
D. h. es wird beim nachfolgenden Testen dieses Speicherbereichs
immer wieder ein Fehler angezeigt, selbst wenn ein Fehler in diesem Speicherbereich
nur unter einer bestimmten Bedingung auftritt und dadurch bei den
nachfolgenden Testabläufen
der Fehler nicht erkannt würde.
Dadurch ist es nicht wie bislang notwendig, nach jedem Schreib- und
Auslesevorgang Fehlerdaten an die externe Testeinheit zu übertragen,
sondern lediglich nach Ende eines Testlaufes mit mehreren Schreib-
und Auslesevorgängen.
-
Die Fehlerdaten aus einer Reihe von
mehreren Schreib/Lesevorgängen
lassen sich dann durch das Übertragen
der Ergebnisse des letzten Schreib-/Lesevorgangs an die externe
Testereinheit ermitteln.
-
Auf diese Weise kann die Datenmenge,
die an das externe Testersystem übertragen
wird, erheblich reduziert werden, da die während der mehreren Schreib-1Lesevorgänge gesammelten
Fehlerdaten in Form der Ergebnisse des letzten Vergleichs zwischen
eingeschriebenen und ausgelesenen Testdaten nur einmal pro Test
an das externe Testsystem übertragen
werden müssen.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung ist vorgesehen, dass mehrere Dateneingangsleitungen
mit jeweils einer Datenänderungsschaltung
verbunden sind, wobei die Datenänderungsschaltungen über die
Vergleichereinheit so steuerbar sind, dass bei Auftreten eines Fehlers
in einer über
eine der Dateneingangsleitungen angesprochenen Speicherzelle die
Datenänderungsschaltung so
steuerbar ist, dass nachfolgende Testdaten auf den mehreren Dateneingangsleitungen
dieser Datenänderungsschaltung
verändert
in die Speicherschaltung schreibbar sind.
-
Bei dem Ersetzen von fehlerhaften
Speicherbereichen durch redundante Speicherbereiche ist vorgesehen,
dass der zu testende Speicherbereich Blöcke mit mehreren Speicherzellen
aufweist, die jeweils durch einen Block redundanter Speicherzellen gleicher
Größe ersetzt
werden können.
Der fehlerhafte Block muss ersetzt werden, sobald mindestens eine
der Speicherzellen des jeweiligen Blockes defekt ist.
-
Aus diesem Grunde ist es ohne Einschränkung der
Reparierbarkeit möglich,
bei Auftreten eines Fehlers in einer Speicherzelle des Speicherbereichs, den
betreffenden Block als fehlerhaft zu „markieren", indem die Testdaten für diesen
Block nachfolgend verändert
in alle Speicherzellen des betreffenden Blockes geschrieben werden.
So wird für
alle Speicherzellen des betreffenden Blockes bei nachfolgenden Testvorgängen beim
Vergleichen zwischen den eingeschriebenen und ausgelesenen Testdaten
ein Fehler erkannt. Die in der Speicherschaltung erkannten Fehler
werden in der Speicherschaltung selbst gespeichert, indem nach einem
Auslesevorgang, bei dem Fehler erkennbar sind, ein nachfolgender Schreibvorgang
durchgeführt
wird, bei dem Daten verändert
oder unverändert
in die Speicherschaltung geschrieben werden.
-
Vorzugsweise ist vorgesehen, dass
die Datenänderungsschaltung
ein steuerbares Exklusiv-ODER-Gatter aufweist, das abhängig von
einem von der Vergleichereinrichtung generierten Steuersignal die
Testdaten unverändert
an die Speichereinheit durchlässt
oder die Testdaten mithilfe einer Exklusiv-ODER-Funktion verändert. Ein Exklusiv-ODER-Gatter
ist für
die Datenänderungsschaltung
besonders geeignet, da diese Funktion ein am Eingang des Exklusiv-ODER-Gatters
anliegendes binäres
Signal invertiert und somit das Datum in jedem Fall verändert.
-
Gemäß einer weiteren Ausführungsform
ist vorgesehen, dass mehrere Blöcke
mit jeweils mehreren Dateneingangsleitungen vorgesehen sind, wobei bei
Auftreten eines Fehlers in einem durch eine Dateneingangsleitung
eines der Blöcke
angesprochenen Speicherbereich die Datenänderungsschaltungen für alle Dateneingangsleitungen
des betreffenden Blockes so steuerbar sind, dass nachfolgende Testdaten
auf den Dateneingangsleitungen des betreffenden Blockes verändert in
die Speicherschaltung schreibbar sind.
-
Dies hat den Vorteil, dass bei integrierten Speicherschaltungen,
bei denen defekte Speicherzellen nur blockweise durch redundante
Speicherzellen ersetzt werden können,
diese Blöcke
schon beim Auftreten des ersten Fehlers vollständig als fehlerhaft „markiert" sind, indem bei
darauffolgenden Schreib/Lesevorgängen
und anschließendem
Vergleichen zwischen den über
die Dateneingangsleitung gelieferten Erwartungswerten, die bei fehlerfreien
Speicherzellen den eingeschriebenen Testdaten entsprechen, und den
ausgelesenen Testdaten zuverlässig
ein Fehler detektiert wird.
-
Es kann weiterhin vorgesehen sein,
dass die Vergleichereinheit einen Rücksetzeingang aufweist, um
mithilfe eines Rücksetzsignals über die
Vergleichereinheit die Datenänderungsschaltung
so anzusteuern, dass die gesendeten Testdaten wieder unverändert in
die Speicherschaltung schreibbar sind. Dies wird nach jedem Adresswechsel
durchgeführt, wenn
ein weiterer Speicherbereich getestet werden soll. Dies hat den
Vorteil, dass vor Beginn eines erneuten Auslesens und Einschreibens
der Zustand hergestellt wird, bei dem Daten zunächst unverändert einschreibbar sind. Wird
beim Auslesen festgestellt, dass andere Daten gespeichert sind,
als zuvor eingeschrieben wurden, so wird die Vergleichereinheit
erneut so geschaltet, dass nachfolgende Daten verändert in
die Speicherschaltung geschrieben werden.
-
Gemäß einem weiteren Aspekt der
vorliegenden Erfindung ist ein Verfahren zum Testen einer Speicherschaltung
vorgesehen. Dabei werden wiederholt von einer Testereinheit Testdaten
gesendet und in einen Speicherbereich geschrieben und anschließend ausgelesen.
Ein Fehler wird erkannt, wenn eingeschriebene und ausgelesene Testdaten unterschiedlich
sind. Nach dem Erkennen eines Fehlers in dem Speicherbereich werden
die gesendeten Testdaten beim Schreiben in den Speicherbereich invertiert,
so dass die über
die Dateneingangsleitung gesendeten Testdaten und die zu einem späteren Zeitpunkt
ausgelesenen Testdaten unterschiedlich sind.
-
Das erfindungsgemäße Verfahren hat den Vorteil,
dass nach dem Erkennen eines Fehlers nach einem Schreib-/Lesevorgang
die nachfolgend geschriebenen Testdaten nicht mehr mit den ausgelesenen
Testdaten übereinstimmen
können,
wodurch auch im nachfolgenden Testschritt ein Fehler erkannt wird.
Auf diese Weise wird ein Speicherbereich, in dem ein Fehler bereits
er kannt worden ist, so „markiert", dass auch bei nachfolgenden
Auslese- und Schreibvorgängen
in diesen Speicherbereich ein Fehler detektiert wird, selbst wenn
der nachfolgende Testvorgang allein keinen Fehler ergeben würde. Dies
erfolgt, indem gegenüber
den Gesendeten veränderte
Daten in der Speicherschaltung geschrieben werden, wenn zuvor ein
Fehler erkannt wurde.
-
Somit kann vermieden werden, dass
nach jedem Schreib/Lesevorgang die Adressen der fehlerhaften Speicherbereiche
an eine externe Testereinheit oder eine Auswerteeinheit übertragen
werden müssen.
Stattdessen ist es möglich,
die Fehlerdaten in dem Speicher selbst zu speichern und zunächst mehrere
Schreib- und Auslesevorgänge
durchzuführen,
wobei sich die dabei auftretenden Fehler akkumulieren und wobei
erst mit den Ergebnissen des letzten Auslesevorgangs eine Redundanzberechnung
durchgeführt
wird.
-
Es kann weiterhin vorgesehen sein,
dass nach Erkennen eines Fehlers in einem Speicherbereich die eingeschriebenen
Testdaten gegenüber
den gesendeten Testdaten für
einen oder mehrere weitere Speicherbereiche verändert werden, so dass die für den Speicherbereich
und für
den einen oder die mehreren weiteren Speicherbereiche gesendeten Testdaten
und die daraus ausgelesenen Testdaten unterschiedlich sind. Auf
diese Weise kann bei Auftreten eines Fehlers in einer Speicherzelle
bzw. in einem Teil eines Speicherbereichs der gesamte Speicherbereich „markiert" werden, so dass
bei nachfolgenden Schreibvorgängen
gegenüber
den Testdaten veränderte
Daten in den Speicherbereich geschrieben werden und nach dem Auslesevorgang für den gesamten
Speicherbereich ein Fehler erkannt wird.
-
Es kann weiterhin vorgesehen sein,
dass am Ende eines Testablaufs aus mehreren Schreib- und Auslesevorgängen Fehlerdaten
an eine Auswerteeinheit ausgegeben werden, wobei die Fehlerdaten die
Unterschiede zwischen bei dem letzten Schreibvor gang hineingeschriebenen
Testdaten und bei dem letzten Lesevorgang ausgelesenen Testdaten
angeben. Auf diese Weise ist es möglich, die gesammelten Fehlerdaten
der in dem Testablauf durchgeführten
Schreib- und Auslesevorgänge
in einem einzigen Auslesevorgang an die Auswerteeinheit zu übertragen.
Im Vergleich zu der bisherigen Vorgehensweise nach jedem Schreib-
und Auslesevorgang die Fehlerdaten an die Auswerteeinheit zu übertragen,
stellt dieses Verfahren somit eine erhebliche Beschleunigung des
Auswertevorgangs durch die Auswerteeinheit dar, weil die Datenmenge,
die an die Auswerteeinheit zu übertragen
ist, stark reduziert ist.
-
Bevorzugte Ausführungsformen der Erfindung
werden im folgenden anhand der beigefügten Zeichnungen näher erläutert. Es
zeigen:
- 1 einen
Speicherbereich in einer integrierten Speicherschaltung, der durch
einen redundanten Speicherbereich ersetzt werden kann;
- 2 eine Testschaltung
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung;
- 3 eine Testschaltung
mit einer möglichen
Ausgestaltung der Vergleichereinheit; und
- 4 ein Schaltbild
für eine
Vergleichereinheit gemäß der vorliegenden
Erfindung.
-
In 1 ist
exemplarisch ein kleiner Ausschnitt aus einer Speichermatrix einer
integrierten Speicherschaltung dargestellt. Bei der Speicherschaltung
handelt es sich um eine 1-Transistor-DRAM-Speicherschaltung.
An den Kreuzungspunkten zwischen Wortleitungen 5 und den
Bitleitungen 6 befindet sich jeweils eine Speicherzelle 3,
die einen Transistor T und einen Kondensator C enthält.
-
Die Wortleitungen 5 sind
jeweils mit dem Gate-Anschluß des
Transistors T verbunden, während
der Drain-Anschluss des Transistors T mit der jeweiligen Bitleitung 6 verbunden
ist.
-
Der Source-Anschluss des Transistors
T ist mit einem ersten Anschluss des Kondensators C verbunden. Ein
zweiter Anschluss des Kondensators C ist mit einem festen Potential,
vorzugsweise einem Massepotential verbunden.
-
Die Bitleitungen 6 sind
jeweils mit einem Ausleseverstärker 2 verbunden,
der bei einem Schreibvorgang die zu schreibende Ladung auf die jeweilige
Bitleitung anlegt und bei einem Lesevorgang die Ladung, die über den
durchgeschalteten Transistor T durch den Kondensator C auf die Bitleitung 6 fließt, verstärkt.
-
Die Ausleseverstärker 2 können über eine gemeinsame
Auswahlleitung 1 mit dem lokalen Datenbus 4 verbunden
werden.
-
Ist eine der Speicherzellen 3 defekt,
wird entweder die gesamte Anordnung aus vier Bitleitungen 6,
Auswahlleitungen und Leseverstärkern 2 oder
die vier Speicherzellen an einer der Wortleitungen durch eine redundante
Anordnung gleicher Größe ersetzt. Für die Reparatur
der Speicherschaltung ist es also nur wesentlich, festzustellen,
für welche
Kombination von Auswahlleitung und/oder Wortleitung ein Fehler aufgetreten
ist. Die Fehlerinformation der einzelnen Datenleitungen kann damit
redundanzkonform mithilfe einer ODER-Verknüpfung intern komprimiert werden.
Bei einem 16-fach organisierten Baustein müssen somit nur vier Bit pro
Adresse an den externen Tester übertragen
werden.
-
Ein üblicher Speicherbaustein hat
maximal 16 Dateneingänge
und -ausgänge.
Durch die SDRAM-Architektur mit vier unabhängig arbeitenden Bänken innerhalb
der Speicherschaltung und einer Datenerzeugung innerhalb der Speicherschaltung können intern
aber 64 Daten parallel bearbeitet (gelesen oder geschrieben) werden.
Schnellere DRAM-Architekturen wie DDR1 und DDR2 verfügen darüber hinaus über ein
Daten-Prefetch von 2 bzw. 4 Bit. Dies bedeutet, dass der Baustein
intern mit der doppelten, bzw. vierfachen Datenbusbreite arbeitet. Bei
einem DDR2-Baustein in 16-fach-Organisation werden pro internem
Zyklus 64 Bit pro Bank parallel geschrieben oder gelesen.
-
Während
des Speichertests kann nicht davon ausgegangen werden, dass alle
der zu testenden Zellen funktionsfähig sind. Bei den möglichen
Fehlern muss allerdings zwischen sogenannten harten Fehlern und
weichen Fehlern (soft errors) unterschieden werden. Während erstere
mit jedem beliebigen Schreib-Lese-Test gefunden werden können, sind zur
Detektion der weichen Fehler häufig
sehr spezifische kritische Bedingungen (Spannungen, Frequenz, Topologie
d. h. Datenmuster im Speicherfeld usw.) notwendig, damit die Zelle
ein fehlerhaftes Verhalten zeigt.
-
Um die weichen Fehler aufzuspüren, wird beim
Speichertest typischerweise mehrmals mit Lese- und Schreibzugriffen
auf jede Adresse im Speicher zugegriffen. Zwischen den verschiedenen
Lese- und Schreibzugriffen werden die kritischen Bedingungen angelegt
bzw. geändert
um herauszufinden, wie empfindlich der Inhalt einer Speicherzelle
auf Änderungen
der äußeren Einflüsse reagiert.
-
In 2 ist
eine Ausführungsform
der erfindungsgemäßen Testschaltung
zum Testen einer integrierten Speicherschaltung dargestellt. Über einen Testdatengenerator 11 werden
Testdaten zum Testen der Speicherschaltung 13 zur Verfügung gestellt.
Bei der integrierten Speicherschaltung 13 handelt es sich vorzugsweise
um eine DRAM-Speicherschaltung, es ist jedoch möglich, das Testverfahren auch
bei anderen Speicherschaltungen, wie z. B. SRAM, MRAM und andere
anzuwenden.
-
Der Testdatengenerator 11 kann
innerhalb der integrierten Schaltung z. B. in Form eines BIST (eingebauter
Testschaltkreis, Build-In-Self-Test) realisiert sein oder kann sich
außerhalb
der integrierten Schaltung, zum Beispiel in einem externen Testersystem
befinden. Die Steuerung des Testdatenge nerators 11 kann über geeignete
Steuersignale durchgeführt
werden.
-
Die Testdaten werden auf einen Testdatenbus 10 angelegt,
der je nach Konfiguration der integrierten Schaltung unterschiedliche
Bitbreite haben kann. Im vorliegenden Fall ist der Datenbus 10 mit
einer Breite von 4 Bit dargestellt. Der Datenbus 10 ist mit
einer Verteilereinrichtung 16 verbunden, in der die 4 Leitungen
des Datenbus 10 in vier Speicherdatenbusse 14 zu
je vier Bitleitungen aufgeteilt werden.
-
Jeder der Speicherdatenbusse 14 weist
eine steuerbare Datenänderungsschaltung 15 auf.
Die Datenänderungsschaltungen 15 an
den Speicherdatenbussen 14 sind jeweils über eine
Steuerleitung 17 mit einer Vergleichereinheit 12 verbunden.
Die Datenänderungsschaltungen 15 sind
vorzugsweise als Exklusiv-ODER-Gatter
ausgebildet, die gesteuert durch die Steuerleitung 17 entweder
das Datum auf der jeweiligen Bitleitung unverändert an die Speicherschaltung 13 durchlassen,
oder das Datum auf der jeweiligen Bitleitung des betreffenden Speicherdatenbusses 14 invertieren.
Jede der Datenänderungsschaltungen 15 ist
so ausgebildet, dass entweder die ankommenden Daten auf den Bitleitungen
unverändert
durchgelassen werden oder invertiert werden.
-
Jede der Datenänderungsschaltungen 15 weist
ferner einen Steuereingang S auf, an dem ein Write-Enable-Signal
anlegbar ist, mit dem die Exklusiv-ODER-Gatter ein- bzw. ausschaltbar
sind.
-
Die Vergleichereinheit 12 ist
sowohl mit dem Testdatenbus 10 als auch mit der Speicherschaltung 13 über die
Speicherdatenbusse 14 verbunden. Nach dem Hineinschreiben
von Testdaten in die Speicherschaltung 13, werden – evtl.
nach dem Ändern
einer kritischen Bedingung – die
in die Speicherschaltung 13 hineingeschriebenen Testdaten
ausgelesen. Während
des Auslesevorgangs werden mit Hilfe des Steuersignals S die Exklusiv- ODER-Gatter 15 abgeschaltet
und der Testdatengenerator 11 generiert Erwartungsdaten,
die über
den Datenbus 10 an die Vergleichereinheit 12 gesendet
werden, um die Erwartungsdaten mit den aus der Speicherschaltung 13 ausgelesenen
Daten, die über
den Speicherdatenbus 14 an die Vergleichereinheit gesendet
werden, zu vergleichen. Die Erwartungsdaten entsprechen den Daten,
die in die Speicherschaltung 13 im Verlauf des Testvorgangs
hineingeschrieben worden sind. Wird ein Unterschied zwischen den
von dem Testdatengenerator 11 gesendeten Erwartungsdaten und
den aus der Speicherschaltung 13 ausgelesenen Testdaten
festgestellt, wird ein Fehlersignal generiert. Dieses Fehlersignal
kann über
eine Fehlerdatenleitung 18 an eine Auswerteeinheit 19 gesendet werden,
die sich entweder in der integrierten Schaltung oder in dem externen
Testsystem befindet.
-
Die Vergleichereinheit 12 ist
so ausgebildet, dass sie gesteuert durch ein Testprogramm oder eine Hardware
zunächst
eine Anzahl von Schreib-/Lesevorgängen durchführt, bevor sie Fehlerdaten über die Fehlerdatenleitung 18 an
die Auswerteeinheit 19 sendet.
-
Beim Testen der Speicherschaltung 13 werden
nun Testdaten durch den Testdatengenerator 11 zur Verfügung gestellt,
die zunächst über die
Verteilereinrichtung 16, üblicherweise ein Multiplexer, über die
Speicherdatenbusse 14 in alle Speicherbereiche der Speicherschaltung 13 geschrieben
werden. Jeder der Speicherdatenbusse 14 greift dabei auf
eine Zellgruppe mit jeweils 4 Bit zu, wie sie in 1 dargestellt ist. Es werden also 16
Bit pro Schreibzugriff ins Speicherfeld übertragen.
-
Nun kann durch Einstellen einer bestimmten Bedingung
die Speicherschaltung 13 in einen kritischen Zustand gebracht
werden, bei dem bestimmte Fehlerarten auftreten können. Danach
werden die in dem betreffenden Speicherbereich der integrierten Speicherschaltung 13 gespeicherten
Testdaten über die
Speicherdatenbusse 14 an die Vergleichereinheit 12 ausgelesen.
Im Wesentlichen gleichzeitig liefert der Testdatengenerator 11 die
Erwartungsdaten über den
Datenbus 10 an die Vergleichereinheit 12. Die Vergleichereinheit 12 vergleicht
die Erwartungsdaten, die üblicherweise
den zuvor in den betreffenden Speicherbereich geschriebenen Testdaten
entsprechen, mit den aus dem jeweiligen Speicherbereich ausgelesenen
Testdaten. Wird kein Unterschied bei dem Vergleich festgestellt,
wird der Testablauf fortgesetzt, indem weitere Testdaten von dem
Testdatengenerator 11 generiert werden und in die Speicherschaltung 13 geschrieben
und anschließend
wieder ausgelesen werden, wobei bei jedem Auslesevorgang ein Vergleich
stattfindet.
-
Wird ein Fehler in einer oder mehreren
Zellen des zu testenden Speicherbereich der integrierten Speicherschaltung 13 festgestellt,
so wird ein Änderungssteuersignal
für den
die fehlerhafte Speicherzelle betreffenden Speicherdatenbus 14 generiert und
dieses Steuersignal über
die entsprechende Steuersignalleitung 17 an die Datenänderungsschaltung 15 des
entsprechenden Speicherdatenbusses 14 gesendet, über den
die fehlerhafte Speicherzelle beschrieben worden ist. Das Steuersignal
zur Steuerung der Datenänderungsschaltung 15 ist
so ausgelegt, dass die Datenänderungsschaltung 15 den
neu angenommenen Zustand beibehält,
z. B. durch ein Latch oder Ähnliches,
bis über
einen weiteren Eingang 20 der Vergleichereinheit 12 ein
Rücksetzsignal gesendet
wird. Durch das Rücksetzsignal
werden die Datenänderungsschaltungen 15 in
ihren ursprünglichen
Zustand zurückversetzt,
so dass diese bei nachfolgenden Schreibvorgängen in die Speicherschaltung 13 keine
Invertierung der von den Testdatengenerator 11 gesendeten
Testdaten vornehmen.
-
Nachdem aufgrund des Erkennens eines Fehlers
in dem Speicherbereich der integrierten Speicherschaltung 13 eine
oder mehrere der Datenänderungsschaltungen 15 geschaltet
worden sind, werden neue Testdaten in den fehlerhaften Speicherbereich
ge schrieben. Die Testdaten, die in diese Speicherbereiche geschrieben
werden, sind jedoch aufgrund der Invertierung durch die Datenveränderungsschaltung 15 unterschiedlich
zu den vom Datengenerator 11 erzeugten Daten. Ein erneutes Schreiben
von Testdaten in den zu testenden Speicherbereich bewirkt, dass
alle Testdaten, die über
einen der Speicherdatenbusse 14 gesendet werden und die
eine der Datenänderungsschaltungen 15 durchlaufen,
die zuvor aufgrund des Erkennens eines Fehlers umgeschaltet worden
sind, verändert
in den Speicherbereich geschrieben werden. Beim anschließenden Auslesen
werden nun in der Vergleichereinheit 12 die ursprünglich von
dem Testdatengenerator 11 gesendeten Testdaten mit den veränderten
Testdaten verglichen und somit erneut ein Fehler festgestellt.
-
Auf diese Weise wird erreicht, dass
ein einmal aufgetretener Fehler in einem Teil eines Speicherbereich
dauerhaft „markiert" wird, so dass nach
einer Anzahl von Schreib- und Lesevorgängen Fehlerdaten über die
Fehlerdatenleitung 18 an die Auswerteeinheit 19 gesendet
werden können,
die die Gesamtheit der aufgelaufenen Fehler der vorangehenden Testabläufe aus
mehreren Schreib-Lesevorgängen
ist. Die Fehlerdaten können
beispielsweise Ergebnisse des Vergleichs des Inhalts jeder Speicherzelle
mit den dort hineingeschriebenen Testdaten sein.
-
In dem oben dargestellten Ausführungsbeispiel
ist die Datenänderungsschaltung 15 so
ausgeführt,
dass bei Auftreten eines Fehlers in einer Speicherzelle, die über eine
Bitleitung des mit der Datenänderungsschaltung 15 verbundenen
Speicherdatenbusses 14 angesprochen wird, bei den nachfolgenden
Schreibvorgängen
alle Testdaten für
den betreffenden Block des zu testenden Speicherbereichs verändert werden.
Die Datenänderungsschaltung 15 überträgt also
einen Fehler, der in einer Speicherzelle eines Teils des zu testenden
Speicherbereichs auftritt, auf mehrere Speicherzellen, im oben genannten Beispiel
auf vier Speicherzellen. In nachfolgenden Auslese- und Schreibvorgängen werden
somit alle zu dem fehlerhaften Teil gehörenden Speicherzellen erneut
als fehlerhaft erkannt und somit „markiert". Dies ist sinvoll, weil bei der Redundanzberechnung üblicherweise
nicht nur eine der Speicherzellen ersetzt wird, sondern jeweils
Blöcke
von mehreren Speicherzellen. So kann z. B. für den in 1 exemplarisch dargestellten kleinen
Speicherbereich nicht eine einzelne Speicherzelle durch eine redundante
Speicherzelle ersetzt werden, sondern jeweils die vier mit einer
der Wortleitungen verbundenen Speicherzellen oder alle sechzehn
Speicherzellen an einer Auswahlleitung.
-
Ein wesentliches Element der Erfindung
ist, dass die Fehlerdaten nicht sofort an die Auswerteeinheit 19 übertragen
werden, sondern dass zunächst eine
Anzahl von mehreren Schreibund Lesevorgängen zum Testen des jeweiligen
Speicherbereichs durchgeführt
wird und erst an dessen Ende ein einziger Auslesevorgang der Fehlerdaten
an die Auswerteeinheit 19 erfolgt. Die Fehlerdaten enthalten
dann eine redundanzkonforme Kompression der Fehlerdaten. Dadurch
kann die Datenmenge, die an die Auswerteeinheit 19 übertragen
wird, erheblich reduziert werden.
-
Dadurch, dass die Datenänderungsschaltung 15 die
Fehlerinformation auf mehrere Zellen verteilt, ist die Wahrscheinlichkeit
sehr gering, dass ein Fehler nicht erkannt wird. Dies könnte dann
der Fall sein, wenn trotz Modifizierung der Daten durch die Datenänderungsschaltung 15 in
den betreffenden Speicherzellen die ursprünglich von dem Testdatengenerator 11 gesendeten
Testdaten gelesen werden. Die Wahrscheinlichkeit, einen Fehler zu übersehen, wird
stark minimiert, indem mehrere Testläufe mit verschiedenen Testmustern
durchgeführt
werden, an deren Ende ein Auslesen aller Fehlerdaten in die Testereinrichtung
steht.
-
In 3 ist
eine mögliche
Ausgestaltung der Vergleichereinheit 12 dargestellt. Für jede der
Datenänderungsschaltungen
15 sieht
die Vergleichereinheit 12 ein Vergleichselement 30 vor,
das ein jeweiliges Änderungssteuersignal über Steuerleitung 17 für die jeweilige
Datenänderungsschaltung 15 zur Verfügung stellt.
Der Abschnitt des Speicherdatenbusses 14, der mit der Datenänderungsschaltung 15 in
Verbindung steht, die über
das jeweilige Vergleicherelement 30 angesteuert wird, ist
mit dem zugehörigen
Vergleicherelement 30 verbunden. Jedes der Vergleicherelemente 30 ist
mit dem Datenbus 10 verbunden. Darüber hinaus weist jedes der
Vergleicherelemente 30 einen Rücksetzeingang auf, an den ein Rücksetzsignal 20 anlegbar
ist.
-
Die Vergleichelemente 30 vergleichen
die von dem Testdatengenerator 11 gelieferten Erwartungsdaten
mit den aus dem Speicherbereich 13 ausgelesenen Testdaten
und geben das Vergleichsergebnis an eine Auswerteschaltung 19 aus.
Beim Auslesen kann vorgesehen sein, dass die Datenänderungsschaltung 15 deaktiviert
wird, so dass die ausgelesenen Daten nicht beeinflusst werden.
-
In 4 ist
ein Vergleichelement 30 dargestellt, das im Wesentlichen
ein Exklusiv-ODER-Gatter 31 für jedes zu testende Bit der
4Bit pro Datenänderungsschaltung 15 aufweist.
Das Exklusiv-ODER-Gatter 31 führt den eigentlichen Vergleich durch,
wobei einer nachfolgenden ODER-Verknüpfung das Vergleichergebnis
redundanzkonform komprimiert wird. Dazu weisen die Exklusiv-ODER-Gatter 31 Eingänge auf,
die mit der jeweiligen Leitung des Datenbusses 10 als auch
mit der jeweiligen Leitung des Speicherdatenbusses 14 verbunden
sind. Jedem der Exklusiv-ODER-Gatter 31 ist ein n-Kanal-Transistor
zugeordnet, wobei jeweils ein Ausgang der Exklusiv-ODER-Gatter 31 mit
dem Steuereingang eines jeweiligen n-Kanal-Transistors Tn verbunden
ist. Erste Anschlüsse
der n-Kanal-Transistoren Tn sind miteinander und mit einem festen
Potenzial, vorzugsweise einem Massepotenzial GND verbunden. Weitere
Anschlüsse
der n-Kanal-Transistoren
Tn sind über
einen Inverter 32 mit den Datenänderungsschaltungen 15 über die Änderungssteuerleitung 17 verbunden.
Die Änderungssteuerleitung 17 ist
gleichzeitig mit der Auswerteschaltung 19 verbunden (über die
Fehlerdatenleitung 18).
-
Es ist ein p-Kanal-Transistor Tp
vorgesehen, an dessen Steuereingang das invertierte Rücksetzsignal über die
Rücksetzleitung 20 und
einen Inverter 33 anliegt. An einem ersten Anschluss des
p-Kanal-Transistors Tp liegt ein festes Potenzial, vorzugsweise
ein Versorgungsspannungspotenzial Vi
nt an. Ein zweiter Anschluss des p-Kanal-Transistors
Tp ist mit den zweiten Anschlüssen
der n-Kanal-Transistoren Tn verbunden. An den ersten Anschlüssen der n-Kanal-Transistoren
ist ein erster Anschluss eines Speicherkondensators Cs angeschlossen.
Der zweite Anschluss des Speicherkondensators Cs ist mit den zweiten
Anschlüssen
der n-Kanal-Transistoren Tn, d. h. dem Massepotential GND verbunden.
-
Die ODER-Verknüpfung der Vergleichsergebnisse
der Exklusiv-Oder-Gatter 31 wird über den durch
die zweiten Anschlüsse
der n-Kanal-Transistoren gebildeten Knoten (Knoten 23)
realisiert. Bei jedem Adresswechsel wird das Rücksetzsignal 20 aktiviert
und somit der p-Kanal-Transistor durchgeschaltet, wodurch der Speicherkondensator
Cs auf Vint aufgeladen wird. Zeigt während des
Lesevorgangs eines der Exklusiv-ODER-Gatter 31 einen Fehler
an, so wird der Knoten 23 über einen der n-Kanal-Transistoren
Tn auf Masse gezogen und das Ausgangssignal auf der Änderungssteuerleitung 17 nimmt
einen logischen "1"-Zustand an. Ein
Fehler wird durch die Exklusiv-ODER-Gatter 31 angezeigt, indem
der Ausgang des Exklusiv-ODER-Gatters einen High-Zustand annimmt.
-
Bei dieser Ausführung muss die Kapazität des Knotens 23 so
gewählt
sein, dass sich die vorgeladene Spannung Vin
t nicht durch Leckströme vorzeitig, d. h. vor Abschluss
des Rückschreibens,
entlädt. Der
Kondensator Cs muß also
die erforderliche Ladung so lange halten, bis nach dem Auslesevorgang der
Testpatterngenerator 11 erneut Testdaten in den betref fenden
Speicherbereich geschrieben hat. Alternativ kann auch ein vollwertiges
ODER-Gatter verwendet werden oder ein minimal dimensionierter Inverter 34 als
Halteglied für
den Inverter 32 vorgesehen sein.
-
Sind also ein oder mehrere Bits einer
Gruppe von 4 Bit fehlerhaft, so wird das Änderungssteuersignal auf der
Steuersignalleitung 17 gesetzt. Dies führt über die Exklusiv-ODER-Verknüpfung der
Datenänderungsschaltungen 15 beim
nachfolgenden Schreibvorgang zu einer Inversion der Daten. Das akkumulierte
Fehlersignal wird zusätzlich
auch direkt an die Auswerteschaltung 19 ausgegeben, damit
zumindest beim letzten Lesen die Fehlerinformation auch extern bewertet
werden kann. Die Fehlerinformation besteht dann aus 4 Bit für einen
Speicherbereich der Größe von 16
Bit.
-
Bei dem hier vorgestellten Verfahren
ist wesentlich, dass unmittelbar im Anschluss an ein bewertendes
Lesen einer Zelle ein erneuter Schreibzugriff stattfindet, bei dem,
mit Hilfe der hier vorgeschlagenen Schaltung, die vom Lesevergleich
abhängigen Daten
zurückgeschrieben
werden. Das Zurückschreiben
muss unmittelbar im Anschluss erfolgen, da die Vergleichsschaltung 12 bei
einem Adresswechsel zurückgesetzt
wird und die Fehlerinformation nicht dauerhaft gespeichert ist.
Gerade in March-Pattern, die im Speichertest oft verwendet werden,
ist eine solche Sequenz als so genanntes "Read-Modify-Write" häufig
anzutreffen.
-
Die Vorteile des Ansatzes sind eine
Trennung der Lesezugriffe, die den Fehler detektieren und das Auslesen.
So können
beide unabhängig
optimiert werden. Insbesondere das Auslesen mit der Übertragung
der Fehleradresse an das externe Testsystem kann so gewählt werden,
dass die maximale Übertragungsrate
zum Tester erreicht wird. Bei typischen DRAM ist dies beispielsweise
ein Burst-Read-Zugriff (Fast-Y).
-
- 1
- Auswahlleitung
- 2
- Ausleseverstärker
- 3
- Speicherzelle
- 4
- Datenleitungen
- 5
- Wortleitung
- 6
- Bitleitung
- C
- Speicherkondensator
- T
- Speichertransistor
- 10
- Testdatenbus
- 11
- Testdatengenerator
- 12
- Vergleichereinheit
- 13
- Speicherschaltung
- 14
- Speicherdatenbus
- 15
- Datenänderungsschaltung
- 16
- Verteilereinrichtung
- 17
- Steuersignalleitung
- 18
- Fehlerdatenleitung
- 19
- Auswerteeinheit
- 20
- Rücksetzleitung
- 30
- Exklusiv-ODER-Gatter
- 31
- Exklusiv-ODER-Gatter
- 32
- Inverter
- 33
- Inverter
- 34
- minimal
dimensionierter Inverter
- Tn
- n-Kanal-Transistor
- Tp
- p-Kanal-Transistor
- GND
- Massepotenzial
- Vint
- Versorgungsspannungspotenzial
- 23
- Knoten
- Cs
- Speicherkondensator