-
Die
Erfindung betrifft einen Halbleiterspeicher mit Speicherbänken, bei
dem die in einer Speicherbank enthaltenen Speicherzellen zu testen sind.
-
Integrierte
Halbleiterspeicher werden nach deren Herstellung getestet. Hierzu
wird der Halbleiterspeicher in einen Testmodus versetzt und die Speicherzellen
werden nach bestimmten, unterschiedlichen Schemata mit Datenwerten
beschrieben. Anschließend
werden die Datenwerte wieder ausgelesen, um zu überprüfen, ob der ausgelesene Datenwert
mit einem zu erwartenden Datenwert übereinstimmt. Wenn die ausgelesenen
Datenwerte von den zu erwartenden Datenwerten abweichen, wird daraus
geschlossen, daß Speicherzellen,
Wortleitungen, Bitleitungen, Leseverstärker oder andere Funktionseinheiten
des Halbleiterspeichers defekt sind. Für die dem Speicherzellenfeld
unmittelbar zugeordneten Speicherzellen und sonstige Funktionselemente
sind redundante gleichwertige Elemente vorgesehen, die im Fehlerfall
die defekten Funktionselemente ersetzen können.
-
Zum
Testen des Halbleiterspeichers wird dieser mit einem Testautomaten
verbunden, welcher die Ablaufsteuerung übernimmt und gegebenenfalls
die in die Speicherzellen einzuschreibenden Datenwerte bereitstellt.
Je nach Testkonzept kann ein gewisser Teil der Steuerung des Tests
auf dem Halbleiterchip selbst ablaufen, sogenannter Built-In-Self-Test (BIST).
Insgesamt hat der Test zum Ziel festzustellen, ob der Halbleiterspeicher
voll funktionsfähig
ist, gegebenenfalls unter Einbeziehung redundanter Elemente, die
defekte Funktionselemente ersetzen.
-
Beim
Testen besteht das Bestreben, möglichst
viele fehlerhafte Funktionseinheiten zu erkennen, also eine hohe
Testabdec ckung zu erreichen, und außerdem die Ressourcen des Testautomaten möglichst
wenig in Anspruch zu nehmen, so daß viele Halbleiterspeicher
parallel und schnell getestet werden können.
-
In
der
US-A-5 982 684 ist
ein Halbleiterspeicher mit zwei Speicherblöcken gezeigt, die zum Testen
mit Datenwerten beschrieben werden. Beim Auslesen werden die Datenwerte
miteinander verglichen. Wenn die aus den Speicherblöcken ausgelesenen Datenwerte
gleich sind, wird dies durch ein entsprechendes Ausgabesignal angezeigt.
-
In
der
US-A-4 965 799 ist
die Verwendung von zufallsgesteuert erzeugten Datenwerten für den Testbetrieb
eines Halbleiterspeichers beschrieben. Die Funktionsfähigkeit
der Speicherzellen wird bei variabler Taktfrequenz festgestellt,
um eine Einordnung des Halbleiterspeichers in eine bestimmte Geschwindigkeitsklasse
festzulegen. Die Adresse einer Speicherzelle, bei der ein Funktionsfehler
festgestellt wird, wird nach außerhalb
des Halbleiterspeichers nicht ausgegeben.
-
Eine
Aufgabe der Erfindung besteht darin, einen Halbleiterspeicher anzugeben,
der eine möglichst
gute Testabdeckung bei geringem Aufwand ermöglicht.
-
Gemäß der Erfindung
wird diese Aufgabe durch einen Halbleiterspeicher gelöst, der
umfaßt: mindestens
eine erste und eine zweite Speicherbank, die jeweils Speicherzellen
enthalten, einen Zufallsgenerator zur zufallsgesteuerten Erzeugung
von Zufallszahlenwerten, ein Mittel zur Bereitstellung einer Adresse,
um Speicherzellen der ersten und zweiten Speicherbänke für einen
Zugriff auszuwählen
und um einen vom Zufallsgenerator zufallsgesteuert erzeugten Zufallszahlenwert
in je einer ausgewählten Speicherzelle
zu speichern, eine Vergleichseinrichtung, um einen aus der ersten
Speicherbank ausgelesenen Datenwert mit einem aus der zweiten Speicherbank
ausgelesenen Datenwert zu vergleichen, einen Anschluß für ein Fehlersig nal,
das in Abhängigkeit
von einem Ergebnis des Vergleichs erzeugbar ist, ein Speicherelement
zur Speicherung einer vom Mittel zur Bereitstellung einer Adresse
erzeugten Adresse, das mit dem Anschluß für das Fehlersignal verbunden
ist, um in Abhängigkeit
von einem Zustand des Fehlersignals eine Adresse zu speichern, einen
Ausgangsanschluß,
an dem das Fehlersignal von außerhalb
des Halbleiterspeichers abgreifbar ist und einen Ausgangsanschluß, an dem die
im Speicherelement gespeicherte Adresse von außerhalb des Halbleiterspeichers
abgreifbar ist.
-
Ein
Halbleiterspeicher gemäß der Erfindung enthält einen
Zufallszahlengenerator, um Testdaten zu erzeugen, die parallel in
verschiedene Speicherbänke
des Halbleiterspeichers eingeschrieben werden. Halbleiterspeicher
sind heutzutage so organisiert, daß sie mehrere Speicherbänke aufweisen,
die unabhängig
voneinander arbeiten und sämtliche Funktionseinheiten
aufweisen, um selbständig
betrieben zu werden. Gemäß der Erfindung
werden die zufallsgesteuert erzeugten Testdaten den verschiedenen
Speicherbänken
parallel zugeführt.
Anschließend
werden die Testdaten aus den Speicherbänken wiederum parallel ausgelesen
und einer Vergleichseinrichtung zugeführt, die einander entsprechende Testdaten
von verschiedenen Speicherbänken
miteinander vergleicht. Wenn die ausgelesenen Testdaten verschiedener
Speicherbänke übereinstimmen, wird
dies so interpretiert, daß die
Speicherzellen und die für
den diesbezüglichen
Schreib- und Lesevorgang erforderlichen Funktions einheiten nicht
fehlerhaft sind. Wenn festgestellt wird, daß die von verschiedenen Speicherbänken miteinander
verglichenen ausgelesenen Datenwerte voneinander verschieden sind,
wird dies so interpretiert, daß eine
der Speicherzellen, eine daran angeschlossene Wort- oder Bitleitung,
der entsprechende Teil eines Spalten- oder Zeilendecoders, ein Leseverstärker oder
irgendeine andere mit dem Schreib- oder Lesevorgang verbundene Funktionseinheit
fehlerhaft ist. Es können
sich gegebenenfalls weitere Tests anschließen, die die Fehlerart oder
den Fehlerort weiter eingrenzen. Daraufhin kann ein entsprechendes
redundantes Element, z. B. ein redundanter Leseverstärker, eine
redundante Wortleitung oder eine redundante Bitleitung mit redundanten
Speicherzellen den defekten Teil der Speicherbank ersetzen.
-
Im
Normalbetrieb beim Einsatz des Halbleiterspeichers in einer Anwendung,
beispielsweise als Halbleiterspeicher in einem Personal Computer
oder einem Server, werden die Halbleiterspeicher mit nicht deterministischen,
zufälligen
Datenwerten beschrieben. Bei der Erfindung werden die in die Halbleiterspeicher
eingeschriebenen Datenwerte ebenfalls zufallsgesteuert durch den
auf dem Halbleiterchip angeordneten Zufallsgenerator erzeugt. Vorteilhafterweise
wird daher während
des Tests eine Situation nachgebildet, die dem Betriebsablauf im
Normalbetrieb entspricht, da während
des Tests des Halbleiterspeichers Zufallsdatenwerte verwendet werden.
Die Teststrategie entspricht also den Verhältnissen im Normalbetrieb.
-
Die
Folge der Adressen der gerade zu beschreibenden bzw. auszulesenden
Speicherzellen werden parallel an die Speicherbänke angelegt, d.h. eine Adresse
dient gleichzeitig zur Adressierung verschiedener Speicherzellen
in den verschiedenen Speicherbänken.
Die Adressen können
einerseits vom Testautomaten geliefert werden und über die Anschlußpins dem
Halbleiterspeicher mitgeteilt werden. Alternativ können die
Adressen durch einen Adreßzähler auf
dem Halbleiterspeicher erzeugt werden, der diese Adressen parallel
an die verschiedenen zu testenden Speicherbänke abgibt. Der Zähler kann
sequentiell den gesamten verfügbaren
Adreßraum
einer der Speicherbänke
durchlaufen oder aber nach einem gewissen anderen deterministischen Muster
arbeiten, um zufallsgesteuert sämtliche
Speicherzellen der Speicherbänke
zu adressieren.
-
Die
Vergleichseinrichtung erzeugt ein Fehlersignal in Abhängigkeit
vom Vergleich der aus den verschiedenen Speicherbänken ausgelesenen
und in der Vergleichseinrichtung verglichenen Datenwerte. Bei Übereinstimmung
der ausgelesenen Datenwerte erhält
das Fehlersignal denjenigen Zustand, der Fehlerfreiheit repräsentiert,
bei Nichtübereinstimmung der
ausgelesenen Datenwerte erhält
das Fehlersignal denjenigen Zustand, der Fehlerhaftigkeit repräsentiert.
Dieser Zustand kann als Pass/Fail-Signal an einem Ausgangsanschluß des Halbleiterspeichers bereitgestellt
werden, so daß die
Fehlerinformation dem Testautomaten mitgeteilt wird.
-
Die
Adresse der Speicherzellen, für
die ein Fehlerzustand festgestellt wird, wird gespeichert. Die Adreßinformation
gemeinsam mit dem Fehlerzustand des Fehlersignals wird an Außenanschlüssen des
Halbleiterspeichers bereitgestellt und dem Testautomaten mitgeteilt.
Somit kann der Testautomat auf einen festgestellten Fehler entsprechend
reagieren, beispielsweise weitere Analysen betreiben oder nach dem
Testdurchlauf durch alle Speicherzellen einer Speicherbank fehlerhafte
Speicherzellen und daran gekoppelte Funktionseinheiten durch solche
redundanten Funktionseinheiten ersetzen.
-
Zweckmäßigerweise
sind die für
den Test benötigten
Funktionseinheiten über
Adreß-
und Datenbusse an das Speicherzellenfeld und dessen Speicherbänke angeschlossen.
So ist der Zufallszahlengenerator sowie die Vergleichseinrichtung über einen
Datenbus an die Speicherbänke
gekoppelt. Die Adressen, entweder von außen vom Testautomaten bereitgestellt
oder intern durch einen Adreßzähler erzeugt,
werden über
einen Adreßbus
an die den Speicherbänken
jeweils zugeordneten Adreßdecoder
angelegt. Die Adreßdecoder
dekodieren die Adresse, um mindestens eine der Speicherzellen der jeweiligen
Speicherbank für
einen Zugriff auszuwählen.
Die Adressen werden den Adreßdecodern
der Speicherbänke
parallel zugeführt
und dort unabhängig
voneinander zur Auswahl einer Speicherzelle verarbeitet.
-
Nachfolgend
wird die Erfindung anhand des in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Die
Zeichnung zeigt ein Blockschaltbild eines Halbleiterspeichers unter
Berücksichtigung der
für die
Erfindung wesentlichen Schaltungseinheiten. Der Halbleiterspeicher
ist vorzugsweise ein dynamischer Speicher mit wahlfreiem Zugriff,
ein sogenanntes DRAM (Dynamic Random Access Memory).
-
Der
in der Figur der Zeichnung gezeigte Halbleiterspeicher weist ein
Speicherzellenfeld 10 auf, das verschiedene Speicherbänke 11, 12, 13, 14 umfaßt. Jede
der Speicherbänke
enthält
sämtliche Funktionseinheiten,
um unabhängig
voneinander betrieben zu werden. Die Speicherzellen sind dynamische
Speicherzellen, die einen Speicherkondensator und einen Auswahltransistor
(nicht dargestellt) enthalten. Der Auswahltransistor wird von einer
Wortleitung, z. B. 112, gesteuert und verbindet den Speicherkondensator
mit einer Bitleitung, z. B. 111. Die Speicherzelle ist
jeweils an der Kreuzung von Wort- und
Bitleitung angeordnet. Mindestens eine Speicherzelle ist über eine
Adresse auswählbar,
um einen Zugriff auf die Speicherzelle, also Schreiben oder Lesen,
auszuführen.
Der Adreßdecoder
umfaßt üblicherweise
einen Zeilenadreßdecoder 113,
der eine der Wortleitungen auswählt,
und einen Spaltendecoder 114, der einen an den Bitleitungen
bereitstehenden Datenwert auswählt.
Durch die Kombination von Zeilen- und Spaltenadresse wird mindestens
eine der Speicherzellen eindeutig identifiziert. Die anderen der
Speicherbänke 12, 13, 14 sind
gleichartig aufgebaut. Die Adressen werden den Speicherbänken über die
Schnittstelle 15 zugeführt.
Die Schnittstellenein richtung 15 ist mit dem Adreßbus 70 verbunden.
Die Daten werden an die Speicherbänke über einen Datenbus 60 angelegt,
der mit jeder der Speicherbänke
verbunden ist.
-
Während des
Tests des Halbleiterspeichers wird dieser mit einem Testautomaten
verbunden. Über
eine individuelle Signalabfolge wird der Halbleiterspeicher in die
Testbetriebsart versetzt. Über
den Adreßbus 70 werden
nachfolgend Adressen an das Speicherzellenfeld 10 angelegt
und insbesondere den Speicherbänken 11, 12, 13, 14 parallel
zugeführt. Dies
bedeutet, daß eine
am Adreßbus 70 anliegende Adresse
gleichzeitig an alle Speicherbänke
angelegt wird. Dort wird entsprechend der Adresse mindestens eine
der Speicherzellen jeweils für
einen Zugriff aktiviert. Über
den Datenbus 60 wird ein Datenwert wiederum parallel den
Speicherbänken 11, 12, 13, 14 zugeführt und
in die aktivierte Speicherzelle eingelesen. Nachfolgend wird eine
weitere Adresse über
den Adreßbus 70 angelegt
und über
den Datenbus 60 ein weiterer Datenwert. Die Datenwerte
werden gemäß der Erfindung
von einem Zufallsgenerator 20 erzeugt. Der Zufallsgenerator 20 ist
ausgangsseitig mit dem Datenadreßbus 60 verbunden.
Zufallsgeneratoren an sich sind im Stand der Technik sehr gut bekannt.
Der Zufallsgenerator 20 erzeugt also die in die Speicherzellen
der Speicherbänke 11, 12, 13, 14 einzuschreibenden
Datenwerte "0" und "1" gemäß einer statistisch
gleich verteilten, also zufallsgesteuert erzeugten Folge von "0" und "1".
-
Die
Adressen werden von einem Adreßgenerator 40 erzeugt.
Der Adreßgenerator 40 ist
beispielsweise ein Zähler,
der den gesamten Adreßraum
einer der Speicherbänke
sequentiell oder gemäß einem
vorgegebenen anderen deterministischen Schema durchzählt und
somit sämtliche
Speicherzellen während
eines Testdurchlaufs adressiert. Der Adreßgenerator 40 gibt
die erzeugten Adressen über
den Adreßbus 70 an
die Adreßdecoder
der Speicherbänke 11, 12, 13, 14 ab.
Die gesamte Ablaufsteuerung, wie bisher beschrieben und noch nachfolgend
beschrieben wird, wird von einer Steuerungseinrichtung 41 gesteuert.
Prinzipi ell genügt
es, wenn die Ablaufsteuerung 41 an einer der Speicherbänke ausgerichtet
ist, da sämtliche
Daten und Adressen parallel auch den anderen Speicherbänken parallel
zugeführt
werden.
-
Nach
dem Beschreiben einer, mehrerer oder der gesamten Speicherzellen
der Speicherbänke
mit den zufallsgesteuert erzeugten Datenwerten erfolgt das Auslesen
der eingeschriebenen Testdatenwerte. Hierzu wird wiederum die entsprechende
Adresse durch den Adreßgenerator 40 erzeugt
und auf den Adreßbus 70 ausgegeben.
Parallel werden die Datenwerte über
den Datenbus 60 ausgelesen und über jeweilige Leitungen 61, 62, 63, 64 einer
Vergleichseinrichtung 30 zugeführt. Dort werden die Datenwerte
der Leitungen 61, ..., 64 miteinander verglichen. Wenn
festgestellt wird, daß die
vier miteinander verglichenen Datenwerte gleich sind, wird festgelegt, daß die entsprechenden
Speicherzellen in den Speicherbänken 11, 12, 13, 14 funktionsfähig sind. Am
Ausgang des Halbleiterspeichers wird über die Leitung 31 der
Zustand P eines Fehlersignals ausgegeben, das angibt, daß die gerade
ausgelesenen Speicherzellen funktionsfähig sind. Wenn festgestellt wird,
daß die
vier der Vergleichseinrichtung 30 parallel zugeführten Datenwerte
nicht übereinstimmen, also
der Zustand mindestens eines Datenwertes von den Zuständen der übrigen Datenwerte
abweicht, wird festgelegt, daß eine
der Speicherzellen, die die Datenwerte an den Leitungen 61, 62, 63, 64 bereitstellen,
defekt ist. Dieser Fehlerfall wird über die Leitung 32 als
Signal F' einer
Einrichtung 50 mitgeteilt. Die Einrichtung 50 enthält ein Speicherelement,
um die momentane Adresse der Speicherzellen, deren ausgelesene Datenwerte
in der Vergleichseinrichtung 30 gerade miteinander verglichen
worden sind, von dem Adreßgenerator 40 abzufragen
und zwischenzuspeichern. Sowohl die Adresse FADR als auch der Zustand
F des Fehlersignals werden über Leitungen 52 bzw. 51 an
Ausgangsanschlüssen
des Halbleiterspeichers bereitgestellt. Die Adresse FADR sowie der
Fehlerzustand F sind daher gemeinsam von außen abfragbar. Ein Testautomat
kann die fehlerhafte Adresse zwi schenspeichern und anschließend einen
detaillierteren Test durchführen,
um die Fehlerursache noch enger einzugrenzen. Dann wird die defekte
Speicherzelle durch eine redundante Speicherzelle oder es werden
andere defekte Einheiten in den Speicherbänken durch entsprechende redundante
Elemente ersetzt.
-
Im
gezeigten Beispiel wird die Folge der Adressen durch den speicherinternen
Adreßgenerator 40 erzeugt.
Die Adressen können
alternativ von außen
auf den Adreßbus 70 eingegeben
werden und beispielsweise vom Testautomaten erzeugt werden. Die
gezeigte Anordnung hat den Vorteil, daß sowohl die Adressen der zu
testenden Speicherzellen als auch die Testdaten speicherintern automatisch
erzeugt werden und die Ressourcen des Testautomaten dadurch nicht
belastet werden. Allenfalls der funktionsfähige Zellen signalisierende
Zustand P des Fehlersignals oder der eine fehlerhafte Speicherzelle signalisierende
Zustand F des Fehlersignals gemeinsam mit der Adresse FADR der fehlerhaften
Speicherzelle werden an den Testautomaten ausgegeben.
-
Durch
die zufallsgesteuerte Erzeugung der Testdatenwerte mittels des Zufallsgenerators 20 erfolgt
der Test des Halbleiterspeichers mit Daten, die von der Qualität her den
Daten im Normalbetrieb des Halbleiterspeichers entsprechen, wenn
dieser beispielsweise als Arbeitsspeicher in einem Personal Computer
oder Netzwerkserver verwendet wird. Auch dort ist damit zu rechnen,
daß die
Speicherzellen mit nahezu zufälligerweise
erzeugten Daten geschrieben werden. Die Erfindung sieht also eine
zufällige
Datengenerierung für
einen auf dem Chip ablaufenden Selbsttest vor, bei dem die Speicherbänke parallel
beschrieben und ausgelesen werden und zusätzlich beim Auslesen ein Vergleich
der von den verschiedenen Speicherbänken ausgelesenen Datenwerte
erfolgt. Anschließend
gibt der Halbleiterspeicher die Fail-Information zugeordnet zur
Fail-Adresse ab. Der Aufwand für
die zusätzlichen
Komponenten 20, 30, 40, 41, 50 ist
relativ gering. Dieser Aufwand ist nur ein einziges Mal auf dem
Halbleiterchip vorzusehen und sämtliche
Speicherbänke
können parallel
davon angesteuert werden, da das Charakteristikum einer Speicherbank
darin besteht, daß sie unabhängig von
den anderen Speicherbänken
betreibbar ist, also auch gleichzeitig auf verschiedene Speicherbänke zugegriffen
werden kann.
-
Die
Steuerungseinrichtung 41 erzeugt während des Schreib- und des
Lesevorgangs die erforderliche Befehlssequenz für die chipinternen Vorgänge. Die
Adressen werden entweder über
den Adreßgenerator 40,
wie in der Figur gezeigt, erzeugt oder von außen vom Testautomaten bereitgestellt.
Beim Lesen erfolgt die Befehls- und Adreßgenerierung entsprechend zum
Schreibvorgang. Über
die an verschiedenen Ausgangsanschlüssen 31, 51 ausgegebenen
Zustände
P und F für
fehlerfreie und fehlerbehaftete Testergebnisse ist parallel zum
intern ablaufenden Test extern das Ergebnis des Tests abrufbar. Die
Adresse FADR kann beispielsweise über einen Anschluß für ein Datensignal
seriell ausgegeben werden. Die Speichereinrichtung 50 kann
auch Speichermöglichkeit
für mehrere
Adressen aufweisen, die dann nach Abschluß des Tests ausgelesen werden.
-
Der
Zufallsgenerator soll möglichst
zufällige Daten
erzeugen. Die Datenreihenfolge umfaßt "0" und "1" und ist eine pseudozufällige binäre Datenreihe.
Solche Zufallsgeneratoren sind im Stand der Technik ausführlich bekannt.
Eine Möglichkeit,
einen Zufallsgenerator zu erzeugen, besteht darin, ein linear rückgekoppeltes
Schieberegister zu verwenden.
-
- 10
- Speicherzellenfeld
- 11,
12, 13, 14
- Speicherbank
- 111
- Bitleitung
- 112
- Wortleitung
- 113
- Zeilendecoder
- 114
- Spaltendecoder
- 15
- Speicherschnittstelle
- 20
- Zufallsgenerator
- 30
- Vergleichseinrichtung
- 40
- Adreßgenerator
- 41
- Steuerungseinrichtung
- 50
- Speicherelement
- 60
- Datenbus
- 61,
62, 63, 64
- Datensignalleitung
- 70
- Adreßbus
- 32
- Anschluß
- 31,
51, 52
- Anschlüsse
- P,
F', F
- Zustände des
Fehlersignals
- FADR
- Adresse