PatentDe  


Dokumentenidentifikation DE10124742C1 23.01.2003
Titel Verfahren und Einrichtung zum Testen einer Speicherschaltung
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Bucksch, Thorsten, 81543 München, DE;
Schneider, Ralf, 81925 München, DE
Vertreter Wilhelm & Beck, 80636 München
DE-Anmeldedatum 21.05.2001
DE-Aktenzeichen 10124742
Veröffentlichungstag der Patenterteilung 23.01.2003
Veröffentlichungstag im Patentblatt 23.01.2003
IPC-Hauptklasse G11C 29/00
Zusammenfassung Die beschriebene Erfindung betrifft ein Verfahren zum Testen einer Speicherschaltung, die ein Zellenfeld mit einer Vielzahl von Speicherzellen enthält, wobei nacheinander alle Zellen zumindest eines Bereichs des Zellenfeldes als Zielzelle ausgewählt werden und an jeder Zielzelle ein Testzyklus mit folgenden Schritten durchgeführt wird: Zusammen mit der Zielzelle wird eine Menge von Umgebungszellen ausgewählt, welche zumindest diejenigen Zellen enthält, von denen nicht auszuschließen ist, daß ihr Betrieb eine fehlererzeugende Wechselwirkung mit dem Betrieb der Zielzelle hat. Die Zielzelle wird mit einem Datum zum Herstellen des einen oder des anderen zweier definierter Zustände beschrieben, und die Umgebungszellen werden mit einem Schreibsignal zur Herstellung eines undefinierten Zustandes beaufschlagt, der zwischen den beiden definierten Zuständen liegt. Dann werden die Zielzelle und die Umgebungszellen ausgelesen, und unter Verwendung des Ergebnisses der Auslesung wird geprüft, ob Wechselwirkung zwischen dem Betreiben der Zielzelle und dem Betreiben der Umgebungszellen besteht.

Beschreibung[de]

Die Erfindung betrifft ein Verfahren zum Testen einer Datenspeicherschaltung gemäß dem Oberbegriff des Patentanspruchs 1. Gegenstand der Erfindung ist ferner eine Einrichtung zur Durchführung eines solchen Verfahrens.

Schaltungsanordnungen zur Speicherung von Informationen enthalten allgemein eine Vielzahl von Speicherzellen, deren jede ein Informationselement oder "Datum" speichern kann. Dabei wird der Informationsinhalt des gespeicherten Datums dargestellt durch den Wert einer physikalischen Zustandsgröße der Zelle, beispielsweise durch den Pegel der elektrischen Ladung in einer Kapazität (Kondensator). Bei Speicherzellen für binäre Daten sind zwei verschiedene Zustände definiert, die den beiden Binär- oder Datenwerten "0" und "1" zugeordnet werden. Im Falle kapazitiv speichernder Zellen wird gewöhnlich der Zustand "ungeladen" dem Datenwert 0 und der Zustand "geladen" dem Datenwert 1 zugeordnet. Es gibt auch Datenspeicher mit Zellen, in denen die Speicherung durch eine andere Zustandsgröße als elektrische Ladung erfolgt, z. B. durch Magnetisierung. In diesen Fällen erfolgt die Zuordnung der Datenwerte 0 und 1 zu Werten der Zustandsgröße in ähnlicher Weise.

Neben den Speicherzellen, welche das eigentliche Speichermedium bilden, enthält eine Speicherschaltung auch eine Einrichtung, die den selektiven Zugriff auf die Zellen steuert, um an jeder beliebigen Zelle ein Datum einzuschreiben oder auszulesen. Eine solche Zugreifeinrichtung enthält Mittel, um eine gewünschte Speicherzelle zu adressieren und an dieser Zelle wahlweise entweder einen gewünschten Zustand durch Anlegen eines entsprechenden Schreibsignals herzustellen oder den bestehenden Zustand zu fühlen. Wegen unvermeidlicher Schaltungstoleranzen, Umgebungseinflüsse und dergleichen lassen sich die tatsächlich auftretenden Werte der beteiligten Signale und häufig auch die möglichen Zustände einer Zelle nicht genau beschränken auf zwei Extremwerte, die den Datenwerten 0 und 1 zuzuordnen wären. Man legt deswegen für alle diese Größen jeweils zwei voneinander beabstandete Schwellenwerte fest. Alle Werte, die gleich oder höher sind als der obere Schwellenwert, werden als ein erster "definierter Zustand" betrachtet und dem ersten Datenwert (z. B. "1") zugeordnet. Alle Werte, die gleich oder niedriger sind als der untere Schwellenwert, werden als ein zweiter definierter Zustand betrachtet und dem zweiten Datenwert (z. B. "0") zugeordnet. Werte, die im Bereich zwischen den beiden Schwellenwerten liegen, werden als "undefinierter Zustand" betrachtet.

Die Zuordnung gefühlter Zellenzustände zum Datenwert 0 oder 1 erfolgt in einer das betreffende Fühlsignal empfangenden Bewertungsschaltung, die Teil der Zugreifeinrichtung ist. Zeigt das Fühlsignal für eine adressierte Zelle einen der beiden definierten Zustände an, dann setzt die Bewertungsschaltung den Pegel eines von ihr gelieferten binären Datensignals auf den zugeordneten Binärwert 0 oder 1. Zeigt das Fühlsignal die Existenz des undefinierten Zustandes an, dann kann die Bewertungsschaltung die Information "unentschieden" geben (etwa durch Halten ihres Ausgangs auf hoher Impedanz oder durch Abgabe eines mittleren Signalpegels), wenn sie dazu in der Lage ist. Besteht die Bewertungsschaltung aus einem latchenden Verstärker (Leseverstärker), wie zumeist der Fall, dann wird sie das Datensignal auch bei Existenz eines undefinierten Zellenzustandes unvorhersehbar auf 0 oder 1 setzen, abhängig von irgendwelchen Zufallserscheinungen.

Beim Betrieb von Speicherschaltungen können während der Schreib- und Lesevorgänge unerwünschte Kopplungen auftreten, die zur Verfälschung der gespeicherten Daten oder der Fühlsignale führen. Insbesondere kann es kapazitive, resisitive und auch induktive Kopplungen geben zwischen den verschiedenen Zuleitungen, die von der Zugreifeinrichtung zu den verschiedenen Speicherzellen laufen. So kann es z. B. vorkommen, daß ein hohes Potential, das auf einer Fühlleitung beim Lesen eines dem Datenwert 1 entsprechenden Zellenzustandes erscheint, durch kapazitive Kopplung eine Anhebung des Potentials auf einer benachbarten Fühlleitung bewirkt. Wenn nun gleichzeitig über diese benachbarte Leitung eine Zelle ausgelesen wird, deren Zustand dem Datenwert 0 entspricht, dann kann die besagte Potentialanhebung in "destruktiver" Weise dazu führen, daß das dort gefühlte Signal nicht mehr den definierten 0-Zustand anzeigt, sondern vielmehr den undefinierten Zustand oder gar den definierten 1-Zustand. Beides führt zu einem Auslesefehler. Wenn andererseits über die benachbarte Leitung eine Zelle ausgelesen wird, deren Zustand dem Datenwert 1 entspricht, dann wirkt die besagte Potentialanhebung "konstruktiv", so daß sich kein Auslesefehler ergibt.

Schon das vorstehende Beispiel macht deutlich, daß sich vorhandene Kopplungen unabhängig von ihrer Stärke manchmal auswirken und manchmal nicht, je nach dem Muster der Datenbelegung der Speicherzellen, also abhängig von der "Datentopologie". Für jede Kopplung gibt es also kritische Datentopologien und unkritische Datentopologien. Dies ist ein Problem beim Testen von Speicherschaltungen.

Bei den üblichen Testverfahren für RAMs werden alle Speicherzellen mit einer ausgewählten Datentopologie beschrieben und wieder ausgelesen, und jedes ausgelesene Datum wird mit dem zuvor an der betreffenden Zelle eingeschriebenen Datum verglichen, um bei Nichtübereinstimmung eine Fehlermeldung abzugeben. Dieser Testzyklus wird meist mit unterschiedlichen Datentopologien mehrfach wiederholt, in der Hoffnung, auch die topologieabhängigen Fehler aufzudecken. Wie leicht einzusehen ist, können hierbei jedoch nicht alle möglichen Topologien durchgespielt werden (schon bei einem äußerst kleinen Speicher mit nur 64 Zellen wären 264, also mehr als 10 Trillionen, Testzyklen erforderlich!). Um mit einer vernünftigen Anzahl von Testzyklen auszukommen, hat man bisher versucht, design- und layout-spezifische kritische Datentopologien vorauszusagen. Bei Layouts, in denen sich Fühlleitungen im Verlauf ihrer Länge ein- oder mehrmals überkreuzen (Bitline- Twist), um Hauptkopplungen zu reduzieren, ist diese Voraussage erheblich erschwert, weil hier wiederum besondere Nebeneffekte auftreten. Andere kritische Datentopologien versuchte man bisher durch Ausprobieren (Trial and Error) herauszufinden. Alle diese Methoden sind sehr aufwändig und benötigen viel Zeit. Gleiches gilt, wenn man versucht, kritische Datentopologien durch Applikationstests aufzufinden, also durch Probebetrieb im Einsatzmilieu (etwa mit PC-Programmen).

Aus der US 6,216,241 B1 ist ein Verfahren zum Testen einer Speicherschaltung bekannt, das darauf gerichtet ist, unerwünschte Kopplungen aufzudecken. Hierfür werden digitale Prüfmuster in eine Zielzelle und Nachbarzellen eingeschrieben und ausgelesen, wobei die ausgelesenen Daten mit einem Erwartungswert verglichen werden.

Die Aufgabe der Erfindung besteht darin, für das Testen von Speicherschaltungen eine Technik anzugeben, mit der auch alle diejenigen Fehler, die von der Datentopologie abhängen, zuverlässiger als bisher und mit vertretbarem Aufwand aufgedeckt werden. Diese Aufgabe wird erfindungsgemäß mit dem im Anspruch 1 angegebenen Verfahren gelöst.

Demnach betrifft die Erfindung ein Verfahren zum Testen einer Speicherschaltung, die ein Zellenfeld mit einer Vielzahl von Zellen zum Speichern jeweils eines binären Datums in Form des einen oder des anderen zweier definierter Zustände enthält und eine Zugreifeinrichtung aufweist, um die Zellen selektiv zu adressieren und die jeweils adressierte Zelle wahlweise entweder mit einem Schreibsignal zum Herstellen eines gewünschten Zustandes der Zelle zu beaufschlagen oder die Zelle durch Fühlen und Bewertung ihres Zustandes auszulesen. Erfindungsgemäß werden nacheinander alle Zellen zumindest eines Bereichs des Zellenfeldes als Zielzelle ausgewählt, und an jeder Zielzelle wird ein Testzyklus mit folgenden Schritten durchgeführt: Zusammen mit der Zielzelle wird eine Menge von Umgebungszellen ausgewählt, welche zumindest diejenigen Zellen enthält, von denen nicht auszuschließen ist, daß ihr Betrieb eine fehlererzeugende Wechselwirkung mit dem Betrieb der Zielzelle hat. Die Zielzelle wird mit einem Datum zum Herstellen des einen oder des anderen zweier definierter Zustände beschrieben, und die Umgebungszellen werden mit einem Schreibsignal zur Herstellung eines undefinierten Zustandes beaufschlagt, der zwischen den beiden definierten Zuständen liegt. Dann werden die Zielzelle und die Umgebungszellen ausgelesen, und unter Verwendung des Ergebnisses der Auslesung wird geprüft, ob Wechselwirkung zwischen dem Betreiben der Zielzelle und dem Betreiben der Umgebungszellen besteht.

Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet. Die Erfindung wird nachstehend an einem Ausführungsbeispiel anhand von Zeichnungen näher erläutert.

Fig. 1 zeigt schematisch Teile einer DRAM-Speicherschaltung und eine tabellarische Darstellung verschiedener Signalzustände beim Beschreiben und Lesen des Speichers im Verlauf eines erfindungsgemäßen Verfahrens.

Fig. 2 ist ein Flußdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.

Für die nachstehende Beschreibung gelte folgende Übereinkunft: Die beiden definierten Binärzustände einer Speicherzelle werden wie allgemein üblich mit den Logiksymbolen "0" und "1" bezeichnet, ebenso wie die diesen Zuständen zugeordneten Datenwerte. Der "undefinierte" Zwischenzustand wird mit "X" bezeichnet. Physikalisch entspreche die "0" einem Pegel, der gleich oder niedriger ist als ein unterer Schwellenwert und als L-Pegel bezeichnet wird. Die "1" entspreche einem Pegel, der positiv gegenüber dem L-Pegel und gleich oder höher ist als ein oberer Schwellenwert ist und als H-Pegel bezeichnet wird. Der undefinierte Zustand X entspreche physikalisch einem mittleren Pegel "M" zwischen oberem und unterem Schwellenwert, also zwischen L- und H-Pegel.

Die Fig. 1 zeigt schematisch den Aufbau des Zellenfeldes 10 eines dynamischen RAM-Speichers (DRAM). Das Zellenfeld 10 enthält eine Vielzahl von Speicherzellen 20, die eine matrixförmige Anordnung aus Reihen und Spalten bilden; dargestellt ist ein Ausschnitt, der drei Reihen und sieben Spalten umfaßt. In der Praxis kann die Anzahl von Reihen und Spalten jeweils mehrere Tausend betragen. Eine auf einem Chip integrierte Speicherschaltung kann mehrere getrennt betreibbare Zellenfeldbereiche als sogenannte "Bänke" enthalten.

Die Speicherzellen 20 sind alle gleich aufgebaut; jede von ihnen enthält eine elektrische Kapazität 21 und einen Auswahlschalter 22, der im gezeigten Fall ein N-Kanal-Feldeffekttransistor (N-FET) ist. Die Kapazität 21 bildet das eigentliche Speicherelement, um ein Binärdatum mit dem Logik- bzw. Datenwert 0 oder 1 durch einen entsprechenden Ladungspegel L (ungeladen) oder H (geladen) zu speichern. Alle Zellen jeweils der selben Reihe sind an eine gemeinsame "Wortleitung" WL angeschlossen, und alle Zellen jeweils der selben Spalte sind an eine gemeinsame "Bitleitung" angeschlossen, die im dargestellten Fall eine "gepaarte Bitleitung" ist, bestehend aus zwei Adern BT ("True"-Ader) und BC ("Complement"- Ader).

Im einzelnen ist jede Wortleitung WL mit den Gates der Auswahltransistoren 22 aller Zellen der betreffenden Reihe verbunden. Die eine Seite der Speicherkapazität 21 jeder Zelle ist an ein festes Potential angeschlossen, das einen beliebigen Wert haben kann, z. B. das Massepotential oder ein Potential, das dem L-Pegel entspricht, oder irgendein anderes geeignetes Potential. Die andere Seite der Speicherkapazität 21 ist über den Kanal des Auswahltransistors 22 mit einer der beiden Adern BT oder BC des der betreffenden Spalte zugeordneten Bitleitungs-Pärchens BT/BC verbunden. Üblicherweise wechselt diese Verbindung von Reihe zu Reihe zwischen der True-Ader BT und der Complement-Ader BC, während sie bei allen Zellen innerhalb derselben Reihe jeweils gleich ist, wie in Fig. 1 gezeigt. Um die Hauptkopplung zwischen Bitleitungsadern benachbarter Spalten gering zu halten, wird das Layout häufig so gestaltet, daß die Adern BT und BC zumindest eines Teils der Bitleitungspärchen an verschiedenen Stellen der Matrix ihre räumliche Position tauschen, indem sie sich überkreuzen. Ein solcher Bitleitungs-"Twist" ist in Fig. 1 zwischen der mittleren und unteren Reihe in der zweiten, vierten und sechsten Spalte dargestellt.

Eine den Zugriff auf die Speicherzellen steuernde Zugreifeinrichtung enthält für jede Wortleitung WL einen eigenen Treiber 30, der durch ein zugeordnetes Reihenwahlsignal RWS ansteuerbar ist, und für jedes Bitleitungspärchen BT/BC eine eigene Schreib/Lese-Schaltung 40, die durch ein zugeordnetes Spaltenwahlsignal SWS ansteuerbar ist. Die Signale RWS und SWS werden in einem Adressendecoder erzeugt, welcher in einem Schaltungsblock 50 enthalten ist, der hier allgemein als "Ablaufsteuereinrichtung" 50 bezeichnet sei. Jeder Wortleitungstreiber 30 und jede Schreib/Lese-Schaltung 40 ist mit einer Quelle des L-Potentials und mit einer Quelle des H-Potentials verbunden. Jede Schreib/Lese-Schaltung 40 hat außerdem eine Verbindung zu einer Quelle des M-Potentials, dessen Pegel mitten zwischen den L- und H-Potentialpegeln liegt. Nachstehend wird zunächst der Normalbetrieb der in Fig. 1 gezeigten DRAM-Speicherschaltung erläutert. Die einzelnen Vorgänge werden von der Ablaufsteuereinrichtung 50 gesteuert, nachdem ihr Modus-Einstelleingang auf NORMAL gesetzt wurde.

Normalbetrieb

Im Ruhezustand, vor einem Schreib- oder Lesezugriff, sind alle Wortleitungen WL durch die zugehörigen Treiber 30 auf L- Pegel geschaltet, d. h. "deaktiviert". Die Schreib/Lese-Schaltungen 40 halten die Bitleitungsadern BT und BC aller Spalten "egalisiert", d. h. auf gleichem Potential, das irgendeinen beliebigen Pegel haben kann, beim vorliegenden Beispiel den M-Pegel. Dies kann durch ein von der Ablaufsteuereinrichtung 50 erzeugtes Egalisierungs-Befehlssignal EQU herbeigeführt werden, das allen Schreib/Lese-Schaltungen 40 über eine gemeinsame Leitung 41 angelegt wird.

Für den Zugriff auf eine Zelle 20 werden zunächst die Bitleitungsadern BT und BC aller Spalten z. B. durch Wegnahme des Signals EQU vom Egalisierungspotential abgetrennt, so daß sie elektrisch undefiniert sind. Dann wird der Treiber 30 der Wortleitung WL, an welcher die betreffende Zelle hängt, durch das Signal RWS ausgewählt und veranlaßt, die Wortleitung auf H-Pegel zu schalten, d. h. zu "aktivieren". Hierdurch werden die Auswahltransistoren 22 aller Zellen der betreffenden Reihe leitfähig. Etwa gleichzeitig wird die Schreib/Lese- Schaltung 40 der Spalte, in welcher die betreffende Zelle liegt, durch das zugeordnete Spaltenwahlsignal SWS für einen normalen Schreib- oder Lesebetrieb aktiviert.

Zum Schreiben in die Zelle 20 wird die aktivierte Schreib/- Lese-Schaltung 40 veranlaßt, einen auf ihrem Datenanschluß DL anstehenden Datenwert 0 oder 1 als L- oder H-Pegel auf diejenige Bitleitungsader zu geben, an welche der Auswahltransistor 22 der betreffenden Zelle angeschlossen ist. Im Falle der gestrichelt umrahmten Zelle 20 (mittlere Reihe, vierte Spalte) ist dies die True-Ader BT. Ein Datenwert 0 und somit L-Pegel auf BT bringt über den leitenden Auswahltransistor 22 die Speicherkapazität 21 der Zelle 20 in den ungeladenen Zustand 0. Ein Datenwert 1 und somit H-Pegel auf BT bringt über den leitenden Auswahltransistor 22 die Speicherkapazität 21 der Zelle 20 in den geladenen Zustand 1. Nach diesem Schreibvorgang wird die betreffende Schreib/Lese-Schaltung 40 durch Wegnahme des Signals SWS wieder deaktiviert, die betreffende Wortleitung WL wird wieder auf L-Pegel geschaltet, und alle Bitleitungspärchen BT/BC werden mittels des Signals EQU wieder egalisiert.

Zum Lesen der in Fig. 1 gestrichelt umrahmten Zelle 20 wird die betreffende aktivierte Schreib/Lese-Schaltung 40 veranlaßt, die Potentialdifferenz zwischen den beiden zugeordneten Bitleitungsadern BT und BC zu fühlen, zu bewerten und, abhängig vom Ergebnis der Bewertung, den Datenwert 0 oder 1 am Datenanschluß DL zu liefern. Dieser Vorgang kann durch ein Bewertungs-Befehlssignal BBS aktiviert werden, das zu gegebener Zeit von der Ablaufsteuereinrichtung 50 über eine Leitung 42 an alle Schreib/Lese-Schaltungen 40 geliefert wird. Die Bewertung erfolgt üblicherweise mittels eines in der Schreib/- Lese-Schaltung 40 enthaltenen Differenzverstärkers (nicht gesondert gezeigt), der an seinem ersten Differenzeingang das Potential der True-Bitleitungsader BT und an seinem zweiten Differenzeingang das Potential der Complement-Bitleitungsader BC empfängt und je nach Polarität dieser Differenz in den einen oder den anderen Extremzustand kippt. Ist die Speicherkapazität 21 der Zelle geladen (Zellenzustand 1), wird H-Potential über den leitenden Auswahltransistor 22 und die angeschlossene Bitleitungsader BT an den ersten Differenzeingang gelegt, während der zweite Differenzeingang noch schwebend ist. Der Differenzverstärker kippt in den als Datenwert 1 bewerteten Zustand und liefert diesen Datenwert an seinem Datenausgang DL. Ist hingegen die Speicherkapazität 21 der Zelle ungeladen (Zellenzustand 0), wird L-Potential über den leitenden Auswahltransistor 22 und die angeschlossene Bitleitungsader BT an den ersten Differenzeingang gelegt, während der zweite Differenzeingang noch schwebend ist. Der Differenzverstärker kippt in den als Datenwert 0 bewerteten Zustand und liefert diesen Datenwert an seinem Datenausgang DL. Nach diesem Lesevorgang wird die betreffende Schreib/Lese- Schaltung 40 durch Wegnahme des Signals SWS wieder deaktiviert, die betreffende Wortleitung WL wird wieder auf L-Pegel geschaltet, und alle Bitleitungspärchen BT/BC werden mittels des Signals EQU wieder egalisiert.

In entsprechender Weise erfolgt im Normalbetrieb das Schreiben und Lesen aller anderen Zellen 20, unter Steuerung der Ablaufsteuereinrichtung 50. Dieser Betrieb ist allgemein üblich und bekannt. Gewöhnlich sind die Differenzverstärker in den Schreib/Lese-Schaltungen 40 so ausgebildet, daß sie mit ihrem Kippen im Normalbetrieb beide Differenzeingänge und somit die Bitleitungsadern BT und BC auf die vollen Extremwerte L und H ziehen und somit den erkannten Datenwert aufgefrischt in die betreffende Zelle 20 zurückschreiben. Auch ein am Datenanschluß DL von außen empfangener Datenwert kippt im Normalbetrieb den Differenzverstärker in den jeweils zugeordneten Extremzustand, wodurch in gleicher Weise das Einschreiben eines neuen Datums erfolgt.

Wie weiter oben erwähnt, kann es unvermeidliche örtliche Kopplungen zwischen den Auswahlleitungen (Wortleitungen und Bitleitungen) verschiedener Zellen und auch dynamische Kopplungen zwischen den Schreib/Lese-Schaltungen geben. Diese Kopplungen können dazu führen, daß die während eines Zugriffs auf irgendeine ausgewählte "Zielzelle" hergestellten Pegel an der zugeordneten Bitleitung nicht allein durch den einzuschreibenden Datenwert oder den zu lesenden Zustand der Zielzelle bestimmt werden, sondern zusätzlich beeinflußt werden durch einen zeitlich nahen oder gar gleichzeitigen Zugriff auf andere Zellen. Hierdurch können Fehler auftreten. Art und Stärke der Beeinflussung hängen ab von der jeweiligen Datentopologie, also von den herzustellenden oder zu lesenden Zuständen sowohl der Zielzelle als auch der anderen Zellen.

Es hängt vom Design und vom Layout des Zellenfeldes sowie vom vorgesehenen Betriebsablauf beim bestimmungsgemäßen Einsatz der Speicherschaltung ab, welche anderen Zellen zur kritischen Umgebung einer Zielzelle gehören, d. h. sowohl schaltungsmäßig als auch betriebszeitmäßig so nahe an der Zielzelle liegen, daß ihre Datentopologie Einfluß auf das Schreiben und/oder Lesen der Zielzelle könnte. Häufig läßt sich die Menge solcher "Umgebungszellen" zuverlässig eingrenzen. Bei manchen DRAM-Speicherschaltungen wird das Zellenfeld in der Praxis ausschließlich zeilenweise beschrieben und gelesen, indem jeweils alle Zellen einer Reihe gleichzeitig oder kurz hintereinander adressiert und beschrieben bzw. ausgelesen werden, bevor zu einer anderen Reihe gegangen wird. In diesem Fall kommen als Umgebungszellen im obigen Sinne nur Zellen in Betracht, die in der selben Reihe wie die Zielzelle liegen.

Das erfindungsgemäße Testverfahren wird nachstehend an diesem Fallbeispiel in Verbindung mit der in Fig. 1 gezeigten DRAM- Speicherschaltung erläutert.

Testbetrieb

In der DRAM-Speicherschaltung nach Fig. 1 werden nacheinander alle Speicherzellen als Zielzellen ausgewählt, und an jeder Zielzelle wird ein mehrschrittiger Testzyklus durchgeführt, bevor die nächste Zielzelle ausgewählt wird. Die Einzelschritte des Testzyklus werden nachstehend unter Bezugnahme auf das in Fig. 2 gezeigte Flußdiagramm beschrieben. Die Steuerung der einzelnen Vorgänge erfolgt durch Ablaufsteuereinrichtung 50, nachdem ihr Modus-Einstelleingang von NORMAL auf TEST geschaltet wurde.

Zunächst wird der zu testende Speicherbereich ausgewählt (Schritt 200 in Fig. 2), und innerhalb dieses Bereichs wird die erste Zielzelle ausgewählt. Diese Zelle kann z. B. die gestrichelt umrahmte Zelle 20 in der mittleren Reihe (Zielreihe) und vierten Spalte von links (Zielspalte) des in Fig. 1 gezeigten Ausschnittes des Zellenfeldes 10 sein. Dementsprechend liegt nur die Wortleitung WL der Zielreihe auf H- Pegel. Für Beschreiben der Zielzelle wird z. B. der Datenwert 1 gewählt (Schritt 201); somit wird an den Datenschluß DL der Schreib/Lese-Schaltung 40 für die Zielspalte der Datenwert 1 gelegt. Dann folgt ein erster Testschreibvorgang, bei welchem die Schreib/Lese-Schaltungen so konditioniert werden, daß der angelegte Datenwert 1 in die Zielzelle geschrieben wird und die Bitleitungsadern BT und BC aller anderen Spalten auf den mittleren Pegel M gelegt werden (Schritt 202). Die entsprechende Konditionierung der Schreib/Lese-Schaltungen kann erfolgen durch gleichzeitige Aktivierung des Egalisierungs-Befehlssignals EQU und eines Signals XBS, das allen Schreib/- Lese-Schaltungen angelegt wird und im aktiven Zustand dafür sorgt, daß nur diejenige Schreib/Lese-Schaltung 40, deren Datenleitung DL einen definierten Datenwert 0 oder 1 von außen empfängt, von der Egalisierung ausgeschlossen wird und somit zum Einschreiben dieses Wertes in die Zielzelle veranlaßt wird.

Setzt man fehlerfreien Betrieb voraus, geht bei der genannten Testeinschreibung die Zielzelle in den definierten 1-Zustand, während die anderen Zellen der Zielreihe als "Umgebungszellen", in einen "undefinierten" Zwischenzustand X gehen. Dies ist in der ersten Zeile der in Fig. 1 gezeigten Tabelle dargestellt.

Anschließend folgt ein erster Lesevorgang, bei welchem, unter Aktivierung der Wortleitung WL der Zielreihe, die Schreib/- Lese-Schaltungen 40 so gesteuert werden, daß sie die Pegel auf den zugehörigen Bitleitungen fühlen und bewerten und das Bewertungsergebnis an ihrem jeweiligen Datenschluß DL anzeigen (Schritt 203). Durch nähere Analyse dieses Ergebnisses lassen sich Aufschlüsse über eventuell vorhandene Einwirkungen des Betriebs der Zielzelle auf den Betrieb der Umgebungszellen gewinnen.

Erlauben die Schreib/Lese-Schaltungen eine nuancierte Bewertung der gefühlten Pegel, so daß "undefinierte" Werte X als solche bewertet und angezeigt werden, dann ist die Analyse sehr einfach. Wenn beim Lesen die Fühlpegel der Zielzelle mit 1 und die Fühlpegel aller Umgebungszellen mit X bewertet werden, dann besteht für keine denkbare Datentopologie, die eine 1 in der Zielzelle enthält, eine Fehlergefahr. Werden beim Lesen die Fühlpegel irgendeiner der Umgebungszellen jedoch mit 1 oder 0 bewertet, dann besteht Fehlergefahr. Man braucht den obigen Schreib- und Lesevorgang nur einmal zu wiederholen, und zwar mit einer 0 für die Zielzelle, um in ähnlicher Weise zu prüfen, ob für irgendwelche Datentopologien, die eine 0 in der Zielzelle enthalten, eine Fehlergefahr besteht. Anschließend kann die nächste Zielzelle für den gleichen Test ausgewählt werden.

Wenn aber, wie z. B. im Falle der oben anhand der Fig. 1 beschriebenen Schaltungstechnik, die bewertenden Differenzverstärker in den Schreib/Lese-Schaltungen 40 nur in den einen oder anderen Extremzustand kippen können, wird auch für jede undefiniert beschriebene Speicherzelle irgendein definierter Datenwert angezeigt, und zwar bevorzugt derjenige, dem der gefühlte Pegel am nächsten liegt. Liegt der gefühlte Pegel genau in der Mitte zwischen L und H, besteht eine 50%-ige Wahrscheinlichkeit für jeden der beiden definierten Datenwerte 0 und 1 in der Auslesung. Im Idealfall wären also die Datenwerte 0 und 1 in der Auslesung der Umgebungszellen gleich häufig. Somit kann eine Analyse der Häufigkeit von 0 und 1 in der Auslesung einen Aufschluß geben über eventuell vorhandene Wechselwirkungen zwischen Zielzelle und Umgebungszellen. Bereits hiermit ist eine gewisse Qualitätskontrolle der Speicherschaltung möglich, die sich noch verbessern läßt, indem man die bisher beschriebene Schrittfolge für die gleiche Zielzelle ein- oder mehrmals wiederholt, gewünschtenfalls unter Wechsel des an der Zielzelle eingeschriebenen Datenwertes.

Vorzugsweise wird der begonnene Testzyklus jedoch durch zusätzliche Schritte weitergeführt, um durch eingehendere Prüfung aussagekräftigeres Testergebnis zu erzielen. Die zweite Zeile der Tabelle in Fig. 1 zeigt ein mögliches Bitmuster, wie es an den Datenanschlüssen DL der sieben dargestellten Spalten beim beschriebenen Lesevorgang (Schritt 203) erscheinen könnte. Das vierte Bit, also der aus der Zielzelle in der vierten Spalte gelesene Datenwert, ist gleich 1 und entspricht erwartungsgemäß dem dort eingeschriebenen Datenwert. Von den anderen Bits sind manche gleich 0 und manche gleich 1, was reiner Zufall sein kann (aufgrund der idealen 50 : 50- Wahrscheinlichkeit), oder die Folge einer Wechselwirkung mit dem Schreib- oder Lesebetrieb an der Zielzelle sein mag.

Angenommen, es war nicht der reine Zufall sondern eine Kopplung mit der 1-Auslesung der Zielzelle, welche die Auslesung einer Umgebungszelle in Richtung auf 1 getrieben hat. In diesem Fall könnte diese Kopplung im Normalbetrieb nur dann in destruktiver Weise zu einem Fehler führen, wenn die betreffende Umgebungszelle eine 0 enthielte, denn andernfalls ist das kopplungsbedingte Treiben der Umgebungszelle in Richtung auf 1 konstruktiv und birgt keine Gefahr einer Fehlauslesung der Zielzelle. Ähnliches gilt für den umgekehrten Fall: wenn bei der beschriebenen Testauslesung der Datenwert einer Umgebungszelle kopplungsbedingt durch die 1-Auslesung der Zielzelle auf 0 getrieben wurde, dann könnte die betreffende Kopplung im Normalbetrieb nur dann in destruktiver Weise zu einem Fehler führen, wenn die betreffende Umgebungszelle eine 1 enthielte.

Aus dieser Überlegung folgt, daß das invertierte Muster der Datenwerte, die bei der ersten Testauslesung (Schritt 203) aus den undefiniert beschriebenen Umgebungszellen erhalten werden, die kritischste aller möglichen Datentopologien für die jeweilige Zielzelle ist. Somit kann ein Zellenfeld aus sich selbst heraus die kritischste Datentopologie für jede Zelle finden. Die folgenden Testschritte nutzen diese Erkenntnis aus. Demgemäß werden die Auslesewerte der Umgebungszellen invertiert und zusammen mit dem unveränderten Auslesewert der Zielzelle an einer geeigneten Stelle zwischengespeichert (Schritt 204). Dieser Datensatz, dessen Bitmuster in der dritten Zeile der Tabelle in Fig. 1 gezeigt ist, wird dann als Testdatensatz zur Prüfung genau der gleichen Zellen verwendet. Diese Prüfung (Schritt 205) erfolgt durch Einschreiben und Wiederauslesen des Testdatensatzes an den betreffenden Zellen und Vergleich (Schritt 206) der ausgelesenen mit der eingeschriebenen Version, die zu diesem Zweck als Kopie im Zwischenspeicher zurückgehalten wird. Die Prüfung sollte vorzugsweise unter kritischen Einstellungen der Timings, der Spannungen, der Temperatur usw. durchgeführt werden.

Zeigt der Vergleich (Schritt 206) einen Fehler auf, also irgendeine Nichtübereinstimmung in den verglichenen Datensätzen, dann wird eine Fehlermeldung gegeben und protokolliert (Schritt 207). Die vierte Zeile der Tabelle in Fig. 1 zeigt den Fall, daß das dritte und vierte Bit verfälscht wurde. Dies offenbart, daß die in der dritten Zeile der Tabelle angegebene Datentopologie kritisch für die Zielzelle und für deren linke Nachbarzelle ist. Nach der Fehlermeldung wird die nächste Zielzelle ausgewählt (Schritt 208), und der nächste Testzyklus beginnt mit dem Schritt 202.

Zeigt sich beim Vergleich (Schritt 206) kein Fehler, wird geprüft, ob alle Zellen als Zielzellen ausgewählt worden sind (Schritt 209). Falls nein, wird die nächste Zielzelle ausgewählt (Schritt 208), und der nächste Testzyklus beginnt wieder mit dem Schritt 202. Falls ja, kann der gesamte Test des ausgewählten Speicherbereichs als erfolgreich abgeschlossen werden. Sicherheitshalber ist es jedoch vorzuziehen, das ganze Spiel zu wiederholen, wobei der jeweils in die Zielzellen einzuschreibende Datenwert von 0 auf 1 geändert wird (Schritte 210 und 211). Erst anschließend wird der Test für den ausgewählten Speicherbereich beendet, und gegebenenfalls wird zu einem anderen, noch nicht getesteten Speicherbereich gegangen (Schritt 212).

Anstatt nach der ersten Auslesung (Schritt 203) die Auslesedaten der Umgebungszellen zu invertieren (Schritt 204), kann man alternativ das Auslesedatum der Zielzelle invertieren und die Auslesedaten der Umgebungszellen unverändert in den Testdatensatz übernehmen.

Für die Zwischenspeicherung (Schritt 204) kann gewünschtenfalls ein Bereich (z. B. eine Bank) des Speichers genutzt werden, der bei den vorstehend beschriebenen Testzyklen ausgespart wird. Dieser Bereich muß dann gesondert getestet werden. Dabei kann wiederum ein vorher getesteter Bereich oder ein noch nicht getesteter anderer Bereich als Zwischenspeicher verwendet werden. Es ist kaum möglich, daß dabei kopplungsbedingte Fehler unerkannt bleiben, denn jeder eventuelle Fehler im Betrieb des Zwischenspeichers äußert sich auch im Testzyklus als Fehler. Äußerst unwahrscheinlich ist, daß sich ein Fehler in einer Zwischenspeicherung mit einem Fehler im jeweils zu testenden Bereich genau aufhebt.

Nachdem alle Zellen des Speichers (oder eines Teilbereichs) als Zielzellen ausgewählt worden sind und jedesmal der beschriebene Testzyklus durchgeführt worden ist, hat jede dieser Zellen einen Betrieb mit der jeweils kritischsten Datentopologie erfahren. Ist hierbei nirgendwo ein Fehler aufgetreten, dann kann man sicher sein, daß auch alle anderen Datentopologien fehlerfrei geschrieben und gelesen werden. Somit gelingt es, einen Speicher mit einer begrenzten Anzahl an Schreib/Lese-Vorgängen höchst zuverlässig zu testen.

Die Erfindung ist natürlich nicht auf die vorstehend behandelten Beispiele beschränkt. Dies gilt sowohl hinsichtlich der Spezies des Speicherschaltung als auch hinsichtlich der Ausbildung der einzelnen Verfahrensschritte.

Von der Gattung und vom inneren Aufbau des Speichers sowie von der bestimmungsgemäßen Folgesteuerung des Speicherbetriebs wird es abhängen, wie weit sich der datentopologisch relevante Bereich der "Umgebungszellen" im Umfeld der Zielzelle erstreckt. Bei den üblichen zeilenweise betriebenen DRAMs genügt es meist, als Umgebungszellen einer Zielzelle nur die in der gleichen Reihe liegenden Exemplare auszuwählen; bei geringen Packungsdichten und relativ unkomplizierten Twist-Mustern der Bitleitungen kann sogar die Auswahl weniger nächstbenachbarter Exemplare innerhalb der selben Reihe genügen. Sind Kopplungen von Reihe zu Reihe nicht von vorn herein auszuschließen, ist der Bereich der Umgebungszellen auf benachbarte Reihen auszudehnen. Auf der sicheren Seite für alle Fälle liegt man natürlich, wenn man beim Testen eines Speichers oder eines relativ eigenständigen Teilbereichs (z. B. einer Bank) für jede Zielzelle jeweils alle andern Zellen des Speichers bzw. des eigenständigen Teilbereichs als Umgebungszellen auswählt und behandelt.

Die Erfindung ist natürlich auch anwendbar bei Speichern, die mit einfachen statt mit gepaarten Bitleitungen arbeiten, denn auch dort können topologieabhängige Fehler auftreten, die in gleicher Weise durch das erfindungsgemäße Verfahren aufgedeckt werden. Topologieabhängige Fehler können auch bei statischen RANs (sogenannten SRAMs) vorkommen, so daß das erfindungsgemäße Verfahren auch bei dieser Speichergattung Vorteile bringt. Auch ist die Erfindung nicht beschränkt auf Speicher mit Zellen, deren Binärzustände durch elektrische Ladung definiert oder mittels Ladungsübertragung hervorgerufen werden.

Die Schaltungsmittel, die zur Durchführung eines erfindungsgemäßen Testverfahrens notwendig sind, können zumindest teilweise auf dem gleichen Chip integriert sein wie die Speicherschaltung selbst. Bezugszeichenliste 10 Zellenfeld

20 Speicherzelle

21 Speicherkapazität

22 Auswahltransistor

30 Wortleitungstreiber

40 Schreib/Lese-Schaltung

41 Leitung für Egalisierungsbefehl

42 Leitung für Bewertungsbefehl

43 Steuerleitung für Testschreibmodus

50 Ablaufsteuereinrichtung

200-212 Verfahrensschritte

H hoher Pegel für "logisch 1"

L niedriger Pegel für "logisch 0"

M mittlerer Pegel

BC Complement-Bitleitungsader

BT True-Bitleitungsader

DL Datenanschluß

WL Wortleitung

BBS Bewertungsbefehl

EQU Egalisierungsbefehl

RWS Reihenwahlsignal

SWS Spaltenwahlsignal

XBS Testschreibmodus-Steuersignal


Anspruch[de]
  1. 1. Verfahren zum Testen einer Speicherschaltung, die ein Zellenfeld mit einer Vielzahl von Zellen zum Speichern jeweils eines binären Datums in Form des einen oder des anderen zweier definierter Zustände enthält und eine Zugreifeinrichtung aufweist, um die Zellen selektiv zu adressieren und die jeweils adressierte Zelle wahlweise entweder mit einem Schreibsignal zum Herstellen eines gewünschten Zustandes der Zelle zu beaufschlagen oder die Zelle durch Fühlen und Bewertung ihres Zustandes auszulesen, dadurch gekennzeichnet, daß

    nacheinander alle Zellen zumindest eines Bereichs des Zellenfeldes als Zielzelle ausgewählt werden und an jeder Zielzelle ein Testzyklus mit folgenden Schritten durchgeführt wird:
    1. 1. A: zusammen mit der Zielzelle wird eine Menge von Umgebungszellen ausgewählt, welche zumindest diejenigen Zellen enthält, von denen nicht auszuschließen ist, daß ihr Betrieb eine fehlererzeugende Wechselwirkung mit dem Betrieb der Zielzelle hat;
    2. 2. B: die Zielzelle wird mit einem Datum zum Herstellen eines der beiden definierten Zustände beschrieben, und die Umgebungszellen werden mit einem Schreibsignal zur Herstellung eines undefinierten Zustandes beaufschlagt, der zwischen den beiden definierten Zuständen liegt;
    3. 3. C: die Zielzelle und die Umgebungszellen werden ausgelesen;
    4. 4. D: unter Verwendung des Ergebnisses der Auslesung wird geprüft, ob Wechselwirkung zwischen dem Betreiben der Zielzelle und dem Betreiben der Umgebungszellen besteht.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Umgebungszellen beim Schritt B mit einem Schreibsignal zur Herstellung eines undefinierten Zustandes beaufschlagt werden, der möglichst genau mitten zwischen den beiden definierten Zuständen liegt.
  3. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß als Umgebungszellen alle anderen Zellen des jeweiligen Zellenfeldbereichs ausgewählt werden.
  4. 4. Verfahren nach Anspruch 1 oder 2, wobei die Zellen des Zellenfeldes in Form einer Matrix aus Reihen und Spalten angeordnet sind und alle Zellen jeder Reihe an jeweils eine gemeinsame Wortleitung und alle Zellen jeder Spalte an jeweils eine gemeinsame Bitleitung angeschlossen sind, über welche das Einschreiben und Fühlen der Zellenzustände erfolgt, dadurch gekennzeichnet,

    daß als Umgebungszellen zumindest diejenigen anderen Zellen ausgewählt werden, die in der selben Reihe wie die Zielzelle und bis zu einer vorgewählten Entfernung von der Zielzelle liegen.
  5. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß als Umgebungszellen zumindest alle diejenigen anderen Zellen ausgewählt werden, die in der selben Reihe wie die Zielzelle liegen.
  6. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß als Umgebungszellen nur alle diejenigen anderen Zellen ausgewählt werden, die in der selben Reihe wie die Zielzelle liegen.
  7. 7. Verfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet,

    daß die Schritte A bis C mehrmals wiederholt werden und die jeweils ausgelesenen Datenwerte in einer Ablage gespeichert werden

    und daß beim Schritt D anhand der abgelegten Datenwerte geprüft wird, ob und welche Umgebungszellen vorherrschend den gleichen Datenwert wie die Zielzelle oder den hierzu komplementären Datenwert liefern.
  8. 8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß der Schritt D aus folgenden Teilschritten besteht:
    1. 1. D1: der beim Schritt C aus der Zielzelle ausgelesene Datenwert wird unverändert in die Zielzelle zurückgeschrieben, und die beim Schritt C aus den Umgebungszellen ausgelesenen Datenwerte werden in invertierter Form in die betreffenden Umgebungszellen zurückgeschrieben;
    2. 2. D2: die Zielzelle und die Umgebungszellen werden wieder ausgelesen und der dabei gelieferte Datenwertsatz wird mit dem beim Schritt D1 zurückgeschriebenen Datenwertsatz verglichen;
    3. 3. D3: bei Nichtübereinstimmung der verglichenen Datenwertsätze wird eine Fehlermeldung gegeben.
  9. 9. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß der Schritt D aus folgenden Teilschritten besteht:
    1. 1. D1: der beim Schritt C aus der Zielzelle ausgelesene Datenwert wird in invertierter Form in die Zielzelle zurückgeschrieben, und die beim Schritt C aus den Umgebungszellen ausgelesenen Datenwerte werden unverändert in die betreffenden Umgebungszellen zurückgeschrieben;
    2. 2. D2: die Zielzelle und die Umgebungszellen werden wieder ausgelesen und der dabei gelieferte Datenwertsatz wird mit dem beim Schritt D1 zurückgeschriebenen Datenwertsatz verglichen;
    3. 3. D3: bei Nichtübereinstimmung der verglichenen Datenwertsätze wird eine Fehlermeldung gegeben.
  10. 10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß an jeder Zielzelle der die Schritte A bis D enthaltende Testzyklus wiederholt wird, wobei die Zielzelle mit einem Datum zum Herstellen des anderen der beiden definierten Zustände beschrieben wird.
  11. 11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zur Zwischenspeicherung der aus der Zielzelle und aus den Umgebungszellen ausgelesenen Datenwerte ein Teilbereich des Zellenfeldes verwendet wird, der weder die Zielzelle noch die Umgebungszellen enthält.
  12. 12. Einrichtung zum Testen einer Speicherschaltung, die ein Zellenfeld (10) mit einer Vielzahl von Zellen (20) zum Speichern jeweils eines binären Datums in Form des einen oder des anderen zweier definierter Zustände (0 oder 1) enthält und eine Zugreifeinrichtung (30, 40) aufweist, um die Zellen selektiv zu adressieren und die jeweils adressierte Zelle wahlweise entweder mit einem Schreibsignal zum Herstellen eines gewünschten Zustandes der Zelle zu beaufschlagen oder die Zelle durch Fühlen und Bewertung ihres Zustandes auszulesen, gekennzeichnet durch

    eine Test-Schreibeinrichtung (43) zum Beaufschlagen einer auswählbaren Teilmenge der Zellen des Zellenfeldes (10) mit Schreibsignalen, die einen undefinierten Zellenzustand (X) herstellen, der zwischen den beiden definierten Zuständen liegt, und eine Ablaufsteuereinrichtung (50), die derart ausgebildet ist, daß sie bei Aktivierung die Zugreifeinrichtung (30, 40) und die Test-Schreibeinrichtung (43) zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 11 steuert.
  13. 13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet, daß zumindest die Test-Schreibeinrichtung (43) auf dem selben Chip wie die Speicherschaltung integriert ist.
  14. 14. Einrichtung nach Anspruch 13, dadurch gekennzeichnet, daß sie vollständig auf dem selben Chip wie die Speicherschaltung integriert ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com