Die Erfindung betrifft ein Verfahren zum Testen eines Halb
leiterspeichers, bei dem ein vorgegebener Datenwert in eine
Speicherzelle geschrieben, ausgelesen und mit dem ausgelese
nen Datenwert verglichen wird, um das Vergleichsergebnis in
einem anderen Teil der Speicherzellen für eine spätere Redun
danzanalyse zwischenzuspeichern. Die Erfindung betrifft au
ßerdem einen Halbleiterspeicher mit einer Testeinrichtung,
die einen solchen Speichertest steuert.
Um die Funktionsfähigkeit eines Halbleiterspeichers nach des
sen Herstellung zu überprüfen, werden die einzelnen Speicher
zellen getestet. Fehlerhafte Speicherzellen werden anschlie
ßend durch redundante Speicherzellen ersetzt, um die volle
Funktionsfähigkeit herzustellen. Während des Funktionstests
werden die Speicherzellen mit einem vorgegebenen Datenwert
beschrieben, welcher anschließend ausgelesen und mit dem vor
gegebenen Datenwert verglichen wird. Da die Datenein- und
Ausgabebandbreite zwischen Halbleiterchip und Testautomat ei
nen Engpaß darstellt, besteht das Bestreben, daß möglichst
viele Testschritte auf dem Halbleiterchip selbst ablaufen,
ohne mit dem Testautomaten kommunizieren zu müssen.
In der DE 197 25 581 A1 sind ein Verfahren zum Testen eines
Halbleiterspeichers sowie ein entsprechender Halbleiterspei
cher beschrieben, bei dem durch Vergleich von eingeschriebe
nen Daten und Sollwerten für einen ersten Bereich des Spei
chers eine sogenannte Bit-Fail-Map erstellt wird. Die Bit-
Fail-Map wird in bis zu drei Kopien auf dem Halbleiterchip in
anderen, noch nicht getesteten Speicherbereichen zwischenge
speichert. Beim Auslesen wird ein Vergleich aller drei Kopien
jedes der Prüfergebnisse in der Bit-Fail-Map durchgeführt,
und derjenige Wert, welcher am häufigsten auftritt, wird wei
terverwendet. Mittels einer Redundanzanalyse, in der die Bit-
Fail-Map weiterverarbeitet wird, wird ermittelt, welche de
fekten Speicherzellen durch redundante Speicherzellen zu er
setzen sind, so daß möglichst alle Fehler behoben werden und
der Speicher als funktionsfähig festgestellt werden kann.
Die Funktionsfehler eines Halbleiterspeichers treten im all
gemeinen nicht gleichmäßig über das Speicherzellenfeld ver
teilt auf, sondern häufen sich entlang von Spalten oder Zei
len des matrixartigen Speicherzellenfeldes. Wenn beispiels
weise ein Defekt in einem Adreßdekoder auftritt, führt dies
dazu, daß auf alle Speicherzellen der vom Defekt betroffenen
Wortleitungen nicht mehr zugegriffen werden kann. Ist eine
der Wortleitungen unterbrochen, ist kein Zugriff mehr auf ei
nen Teil der von dieser Wortleitung angesteuerten Speicher
zellen mehr möglich. In entsprechender Weise treten Fehler
bei an eine Bitleitung angeschlossenen Speicherzellen auf,
wenn die Bitleitung, der der Bitleitung zugeordnete Schreib-
/Leseverstärker oder der die Bitleitung dekodierende Teil des
Adressdekoders defekt sind.
Obwohl bei dem in der DE 197 25 581 A1 beschriebenen Verfah
ren die Bit-Fail-Map in noch ungetesteten Speicherbereichen
mehrfach abgelegt wird, besteht trotzdem die Gefahr, daß auf
grund eines längs einer Zeile oder Spalte verlaufenden
gleichmäßigen Fehlers mehrere Kopien der Bit-Fail-Map in
gleichem Sinne gestört werden. Trotz einer Mehrheitsentschei
dung beim Auslesen der Bit-Fail-Map werden unkorrekte Fehler
daten weiterverarbeitet. Meist wird der Vorrat an redundanten
Speicherzellen früher als nötig verbraucht. Andererseits kann
es auftreten, daß fehlerhafte Speicherzellen nicht als solche
erkannt werden.
Die Aufgabe der Erfindung besteht darin, ein Verfahren zum
Testen eines Halbleiterspeichers anzugeben, welches zuverläs
sigere Testergebnisse liefert. Eine weitere Aufgabe der Er
findung besteht darin, einen entsprechenden Halbleiterspei
cher mit einer den Testablauf steuernden Testeinrichtung an
zugeben.
Die Aufgabe betreffend das Verfahren wird durch ein Verfahren
gemäß den Merkmalen des Patentanspruchs 1 gelöst.
Die Aufgabe betreffend den Halbleiterspeicher wird durch ei
nen Halbleiterspeicher gemäß den Merkmalen des Patentan
spruchs 5 gelöst.
Wesentlich beim Verfahren bzw. Halbleiterspeicher gemäß der
Erfindung ist, daß die zu testenden Speicherzellen in einer
ersten Speicherbank angeordnet sind, die auf dem Chip zu
speichernden Fehlerdaten in Speicherzellen einer zweiten, an
deren Speicherbank zwischengespeichert werden. Dem liegt die
Überlegung zugrunde, daß Speicherbänke selbständig und unab
hängig voneinander betreibbare Bereiche eines Speichers sind
und daher die Fehler in verschiedenen Speicherbänken als von
einander unabhängig angesehen werden können. Insbesondere
pflanzen sich Zeilen- und Spaltenfehler nicht von einer Spei
cherbank in eine andere Speicherbank fort. Dies liegt daran,
daß Speicherbänke Adressdekoder und Schreib-/Leseverstärker
aufweisen, die nur auf Speicherzellen eben dieser Speicher
bank zugreifen. Bitleitungen und Wortleitungen innerhalb ei
ner Speicherbank verlaufen ausschließlich nur innerhalb eben
dieser Speicherbank. Wenn Werte der Bit-Fail-Map in einer
Speicherbank durch dort vorliegende Fehler verfälscht werden,
kann normalerweise davon ausgegangen werden, daß die gleichen
Speicherzellen in einer anderen Speicherbank nicht fehlerhaft
sind.
Besonders vorteilhaft ist, wenn die Bit-Fail-Map mindestens
dreifach, im allgemeinen ungeradzahlig vielfach in jeweiligen
unterschiedlichen Speicherbänken abgespeichert wird. Eine
Verfälschung einer Kopie der Bit-Fail-Map in einer Speicher
bank wird aller Wahrscheinlichkeit nach nicht in einer ande
ren Speicherbank an derselben Stelle auftreten. Mittels einer
Mehrheitsentscheidung, die auf entsprechende, von der glei
chen zu testenden Speicherzelle stammenden Werte von ver
schiedenen Kopien der Bit-Fail-Map aus verschiedenen Spei
cherbänken angewandt wird, wird die korrekte Fehlerinformati
on zurückerhalten.
Verschiedene Speicherbänke arbeiten unabhängig voneinander.
In herkömmlichen Speicherarchitekturen kann im gleichen Zeit
takt auf verschiedene Speicherbänke gleichzeitig zugegriffen
werden. Für die Abspeicherung mehrerer Kopien der Bit-Fail-
Map in verschiedenen Speicherbänken reicht daher ein Zu
griffszyklus aus. Während der Abspeicherung der Bit-Fail-Map
kann bereits in der zu testenden Speicherbank eine weitere
Speicherzelle (oder je nach Organisation des Tests auch Grup
pe von Speicherzellen) getestet werden, deren Testergebnis im
anschließenden Zugriffszyklus wiederum in den verschiedenen
Speicherbänken abgespeichert wird. Da die Bit-Fail-Map itera
tiv ermittelt wird und mehrfach während des Testverfahrens
geschrieben und gelesen wird, ergibt sich ein erheblicher Zu
wachs an Testgeschwindigkeit gegenüber dem in der DE 197 25
581 A1 beschriebenen Verfahren.
Nachfolgend wird die Erfindung anhand des in der Zeichnung
dargestellten Ausführungsbeispiels näher beschrieben. Es zei
gen:
Fig. 1 ein Blockdiagramm eines Halbleiterspeichers mit
vier Speicherbänken und einer erfindungsgemäßen
Testeinrichtung,
Fig. 2 ein Blockschaltbild einer je einer der Speicherbän
ke zugeordneten Zugriffssteuerungseinrichtung und
Fig. 3 einen Ausschnitt mit relevanten Details aus einer
Speicherbank.
Der in Fig. 1 dargestellte Halbleiterspeicher umfaßt vier
Speicherbänke 1, 2, 3, 4. Die vier Speicherbänke arbeiten in
bezug auf Speicherzugriffe unabhängig voneinander. Allenfalls
Schaltungen zum Datentransfer zum oder vom Halbleiterchip
werden gemeinsam benutzt. Für den Funktionstest des Halblei
terspeichers nach dessen Herstellung ist eine Testeinrichtung
5 vorgesehen, die den Testablauf steuert. Jeder der Speicher
bänke ist eine Bankauswahlschaltung 11, 21, 31 bzw. 41 zuge
ordnet, durch die der Datentransfer zwischen den Speicherbän
ken und der Testeinrichtung 5 sowie zwischen den Speicherbän
ken während des Tests untereinander gesteuert wird. Hierzu
erzeugt die Testeinrichtung ein Signal TMS, welches anzeigt,
daß sich der Halbleiterspeicher im Testmodus befindet und ein
2 Bit umfassendes Signal BS, welches eine Bankadresse ist.
Darüber hinaus liegt ein Bus für ein Datensignal A vor, wel
ches einen während des Tests einer Speicherbank in deren
Speicherzellen einzuschreibenden Datenwert und den anschlie
ßenden auszulesenden Datenwert führt. Außerdem liegen ein Bus
für ein 3 Bit umfassendes Signal B vor, welche drei Kopien
einer Fehlerinformation für eine getestete Speicherzelle dar
stellen. Diese Fehlerinformation wird in die anderen drei ge
rade nicht getesteten Speicherbänke eingelesen oder zur wei
teren Verarbeitung von dort wieder ausgelesen.
Der Test des Halbleiterspeichers läuft wie folgt ab. Zuerst
werden die Speicherzellen der Speicherbank 1 getestet, indem
in jede Speicherzelle mittels des Signals A ein vorgegebener
Datenwert geschrieben wird. Der geschriebene vorgegebene Da
tenwert wird aus den Speicherzellen als Signal A wiederum
ausgelesen, der Testeinrichtung 5 zugeführt und mit dem vor
mals eingeschriebenen vorgegebenen Datenwert als Sollwert
verglichen. Bei Übereinstimmung von ausgelesenem Datenwert
und eingeschriebenem Sollwert wird festgestellt, daß die je
weilige Speicherzelle ordnungsgemäß funktioniert. Dieses Te
stergebnis wird dreifach in den anderen Speicherbänken 2, 3,
4 abgelegt, zweckmäßigerweise in jeweils denjenigen Speicher
zellen der Speicherbänke 2, 3, 4, deren relative Adresse der
jenigen Adresse der in der Speicherbank 1 gerade getesteten
Speicherzelle entspricht. Die Vergleichsergebnisse werden
parallel dreifach zwischengespeichert. Dies wird für alle
Speicherzellen der Speicherbank 1 wiederholt, so daß in den
anderen Speicherbänken 2, 3, 4 je eine Fehlermatrix für das
Speicherzellenfeld der Speicherbank 1 vorliegt, eine soge
nannte Bit-Fail-Map. Im weiteren Verlauf des Tests wird für
den vorgegebenen in die Speicherzellen der Speicherbank 1
einzuschreibenden Datenwert das invertierte bisherige Datum
verwendet, wobei die Bit-Fail-Map aktualisiert wird, indem in
jeder der Speicherbänke 2, 3, 4 der bisherige Wert der Bit-
Fail-Map ausgelesen wird und in der Testeinrichtung 5 mit der
neu erhaltenen Fehlerinformation ODER-verknüpft und anschlie
ßend zurückgespeichert wird. Anschließend können unter Anwen
dung weiterer Testalgorithmen die Speicherzellen mit vorgege
benen Datenwerten beschrieben werden, die anschließend ausge
lesen und mit den vorgegebenen Werten verglichen werden, um
die Bit-Fail-Map weiter zu aktualisieren. Dadurch werden be
stimmte Fehlertypen im Speicherzellenfeld 1 ermittelt. Am En
de des Tests wird die in der Bit-Fail-Map enthaltene Fehle
rinformation weiterverarbeitet, um die in der Speicherbank 1
als defekt festgestellten Speicherzellen mit dort vorhandenen
redundanten Speicherzellen zu ersetzen. Hierzu werden die in
den Speicherbänken 2, 3, 4 zwischengespeicherten drei Kopien
der Bit-Fail-Map ausgelesen und in der Testeinrichtung 5 mit
einander verglichen. Es wird festgestellt, welcher Bitwert
der drei zu einer zu testenden Speicherzelle gehörenden Kopi
en der Fehlerinformation in den Bit-Fail-Maps am häufigsten
auftritt. Dieser durch Mehrheitsentscheidung erhaltene Daten
wert für die Fehlerinformation wird einer Redundanzanalyse
zugeführt, die ermittelt, welche defekten Speicherzellen
durch redundante Speicherzellen zu ersetzen sind. Herkömmli
cherweise sind nicht einzelne Speicherzellen ersetzbar, son
dern nur größere Abschnitte von Zeilen oder Spalten, so daß
die Redundanzanalyse eine Optimierung daraufhin durchführt,
daß durch den begrenzten Vorrat an redundanten Zeilen und
Spalten möglichst alle defekten Speicherzellen repariert wer
den.
Wenn die Bit-Fail-Map in den Speicherbänken 2, 3, 4 abgespei
chert wird, sind diese Speicherbänke noch ungetestet und kön
nen ihrerseits fehlerhafte Speicherzellen enthalten. Es kann
aber - wie in Fig. 3 noch detaillierter erläutert wird - an
genommen werden, daß die in den Speicherbänken 2, 3, 4 auf
tretenden Fehler unabhängig voneinander sind. Wenn daher ein
Datenwert der Bit-Fail-Map beispielsweise in der Speicherbank
2 durch eine fehlerhafte Speicherzelle, in der er gespeichert
wird, verfälscht ist, werden die anderen beiden Kopien dieses
Datenwertes der Bit-Fail-Map in den Speicherbänken 3, 4 aller
Wahrscheinlichkeit nach nicht fehlerhaft sein. Der korrekte
Datenwert der Bit-Fail-Map wird erhalten, indem aus den drei
in den Speicherbänken 2, 3, 4 abgelegten zusammengehörenden
Kopien dieses Datenwertes derjenige ausgewählt wird, welcher
am häufigsten auftritt.
Es genügt prinzipiell, die Bit-Fail-Map einfach in einer an
deren als der getesteten Speicherbank abzuspeichern, um eine
Erhöhung der Zuverlässigkeit des Tests zu erreichen. Durch
eine mehrfache, vorzugsweise ungeradzahlige, mindestens drei
fache Kopie der Bit-Fail-Map in jeweils verschiedenen Spei
cherbänken und anschließende Mehrheitsentscheidung wird die
Zuverlässigkeit des Tests wie oben beschrieben weiter erhöht.
Am Beginn des Tests sind alle Speicherbänke noch ungetestet
und können fehlerhafte Speicherzellen erhalten. Nachdem die
erste Speicherbank getestet wurde und defekte Speicherzellen
repariert sind, ist noch nicht überprüft, ob die Reparatur
fehlerfrei durchgeführt wurde oder ob die redundante Spei
cherzelle voll funktionsfähig ist. Beim Test der nächsten
Speicherbank wird daher vorzugsweise die Bit-Fail-Map wieder
um in dreifacher Kopie in den anderen Speicherbänken zwi
schengespeichert.
Die Redundanzanalyse kann in einem Testautomaten außerhalb
des Chips durchgeführt werden. Hierzu komprimiert die Te
steinrichtung 5 unter Anwendung der Mehrheitsentscheidung die
dreifachen Kopien der Bit-Fail-Map zu einer einzigen Bit-
Fail-Map und gibt diese an den Testautomaten aus. Zur Redun
danzkorrektur steuert der Testautomat einen Laser oder einen
Programmierstrom, durch den mittels Laser oder mittels hohem
Strom programmierbare Elemente, sogenannte Fuses, auf dem
Chip programmiert werden, um defekte Speicherzellen durch
redundante Speicherzellen zu ersetzen. Alternativ dazu kann
die Redundanzanalyse auch auf dem Chip in der Testeinrichtung
5 abgearbeitet werden, so daß nur noch die Information dar
über, welche Speicherzellen zu ersetzen sind, an den Testau
tomaten ausgegeben wird. Die Testeinrichtung 5 kann als se
quentielle Schaltung oder in Form von Software und Firmware
eines Testprozessors realisiert werden.
Eine der Blockauswahlschaltungen 11, 21, 31, 41 ist in Fig.
2 im Detail dargestellt. Die Blockauswahlschaltung ist mit
einem Ein- und Ausgang DQ für ein Datensignal der zugeordne
ten Speicherbank 1, 2, 3 bzw. 4 verbunden. Der Datenanschluß
DQ ist mit dem Ausgang eines Multiplexers 12 und dem Eingang
eines Demultiplexers 13 verbunden. Die Eingänge des Multiple
xers und die Ausgänge des Demultiplexers sind jeweils mit den
Signalleitungen für das Signal A und die drei Bits B1, B2, B3
des Signals B verbunden. Durch das Signal TMS werden Multi
plexer 12 und Demultiplexer 13 in den Testzustand versetzt.
Über die zwei Bits BS1, BS2 der Bankadresse BS werden Multi
plexer 12 und Demultiplexer 13 bei einem Zugriff auf die
Speicherbank aktiviert. Hierzu wird die Bankadresse BS1, BS2
einem Subtrahierer 14 zugeführt. Dieser subtrahiert von der
Bankadresse die durch die Einrichtung 15 bereitgestellte je
weilige individuelle Nummer der Bank. Wenn Bankadresse und
Banknummer übereinstimmen, ermittelt der Subtrahierer 14 den
Wert 0, so daß der Datenanschluß DQ der Speicherbank über
Multiplexer 12 und Demultiplexer 13 mit der Leitung für das
Signal A verbunden wird. Dann kann ein vorgegebener Datenwert
in eine Speicherzelle der Speicherbank eingeschrieben oder
der zuvor eingeschriebene Datenwert ausgelesen werden. Wenn
der Subtrahierer 14 feststellt, daß Bankadresse BS und Ban
knummer verschieden sind, wird der Datenanschluß DQ der Spei
cherbank über Multiplexer 12 und Demultiplexer 13 mit je ei
ner der Signalleitungen B1, B2 oder B3 des Signals B verbun
den. Dann wird in die Speicherbank einer der Werte B1, B2
oder B3 der Bit-Fail-Map geschrieben oder von ihr ausgelesen.
Mit Ausnahme unterschiedlicher, von der Einrichtung 15 be
reitgestellter Banknummern wird die gleiche Bankauswahlschal
tung für alle vier Speicherbänke verwendet.
Der prinzipielle Aufbau einer Speicherbank ist in Fig. 3
dargestellt. Die Speicherbank enthält in Zeilen und Spalten
angeordnete Speicherzellen, für die die Speicherzellen 105
und 106 beispielhaft dargestellt sind. Eine Zeile ist mittels
einer Wortleitung WL aktivierbar. Eine Spalte wird über Bit
leitungen ausgewählt. Benachbarte Bitleitungen BL1, dBLl sind
mit einem Schreib-/Leseverstärker 107 verbunden. Eine der
Bitleitungen, z. B. BL1, führt die zu speichernde Information
nicht invertiert, die andere der Bitleitungen, z. B. dBL1,
führt die zu speichernde Information invertiert. Der Schreib-
/Leseverstärker 107 verstärkt den in die Speicherzelle 105
oder 106 einzuschreibenden oder von ihr auszulesenden Daten
wert. Die Datenwerte werden über jeweilige nicht invertierte
Sammelleitungen LDQ bzw. invertierte Sammelleitungen dLDQ und
entsprechende weitere Multiplexer und Treiber schließlich auf
den Ein- und Ausgangsanschluß DQ geschaltet.
Jeweils eine der Wortleitungen ist durch einen Zeilendekoder
101 aktivierbar. Eine der Bitleitungen wird durch einen Spal
tendekoder 102 aktiviert. Für den Ersatz von defekten Spei
cherzellen durch redundante Speicherzellen ist im Zeilendeko
der ein Abschnitt 103, im Spaltendekoder ein Abschnitt 104
vorgesehen. Dort vorhandene Fuses werden entsprechend pro
grammiert, so daß anstelle einer defekten Wort- oder Bitlei
tungen eine redundante Wort- oder Bitleitung ausgewählt wird.
Wesentlich ist, daß die Zeilen- und Spaltendekoder nur Wort
leitungen oder Bitleitungen aktivieren können, die innerhalb
dieser Speicherbank verlaufen. Weiterhin kennzeichnend für
eine Speicherbank ist, daß die Schreib-/Leseverstärker mit
Bitleitungen verbunden sind, die nur innerhalb dieser Spei
cherbank verlaufen.
Wenn ein Fehler an einer Wortleitung oder Bitleitung auftritt
oder an den entsprechenden Dekodern oder am Leseverstärker,
ist zwar ein Zugriff auf einen wesentlichen oder den gesamten
Teil der betroffenen Zeile oder Spalte nicht mehr möglich.
Derartige Zeilen- oder Spaltenfehler verlaufen aber nur in
nerhalb der Speicherbank. Der Fehler setzt sich in einer an
deren Speicherbank, etwa in der adressenmäßig entsprechenden
Zeile oder Spalte nicht mehr fort. Etwaige Fehler in der an
deren Speicherbank können daher als unabhängig von den Feh
lern in der ersten Speicherbank angesehen werden. Wenn ein
Datenwert in einer Kopie der Bit-Fail-Map durch einen Fehler
des Speicherzellenfeldes verfälscht wird, ist mit hoher Wahr
scheinlichkeit davon auszugehen, daß ein entsprechender Feh
ler an der entsprechenden Stelle der anderen Speicherbänke
nicht auftritt und daher dort der Datenwert der Bit-Fail-Map
nicht verfälscht wird. Die Abspeicherung der Bit-Fail-Map in
einer anderen als der gerade getesteten Speicherbank erhöht
daher die Sicherheit des Speichertests. Besonders vorteilhaft
ist, wenn die Bit-Fail-Map mindestens dreifach in jeweils
verschiedenen Speicherbänken zwischengespeichert wird und
beim Auslesen der Bit-Fail-Map derjenige Datenwert weiterver
arbeitet wird, der mit höherer Wahrscheinlichkeit unter den
drei Kopien auftritt.