Speicher stellen in der Digitaltechnik eine Sonderstellung dar. Einerseits erlauben sie aufgrund ihres regelmäßigen Aufbaus relativ einfache Testmuster, andererseits haben sie eine sehr große Anzahl von Speicherplätzen, weshalb der Test relativ umfangreich wird.
Bild 3.8 typischer Aufbau eines RAM\'s
Beim Test eines Speichers (RAM\'s) müssen folgende Bestandteile getestet werden:
- die Speichermatrix selbst
- die Zeilen- und Spaltendekodierung
- die Schreib und Leseverstärker
RAM\'s werden aufgeteilt in statische RAM\'s, die die Information in Flip-Flop\'s speichern, und dynamische RAM\'s, die eine sogenannte Ein-Transistor-Zelle mit einer Kapazität als Speichermedium verwenden. Statische RAM\'s sind relativ störungsunempfindlich, aber in der Realisierung aufwendiger, weshalb sich keine so hohen Packungsdichten erreichen lassen, sodaa heute meistens auf dynamische RAM\'s übergegangen wird.
Dynamische RAM\'s schaffen eine etwa um den Faktor 4 höhere Packungsdichte, sind aber durch parasitäre Leckströme in den Kapazitäten flüchtig, und müssen nach bestimmten Zeitabständen wieder aufgefrischt werden. Bei den Refresh-Vorgängen wird im allgemeinen eine ganze Zeile oder Spalte eines DRAM\'s gleichzietig aufgefrischt.
Durch die höhere Packungsdichte werden die DRAM\'s aber wesentlich störempfindlicher, da die Struktur immer kleiner wird. Durch die Verkleinerung der Struktur werden auch die Kapazitätswerte immer kleiner, sie liegt heute nur mehr knapp über dem mindestnotwendigen Wert, um gegen den Treffer eines -Teilchens resistent zu sein. Als weitere Folge der erhöhten Packungsdichte treten vermehrt Kopplungsfehler auf, die durch Beeinflußung benachbarter Zellen entstehen.
Die reine Speicherfähigkeit läßt sich durch einfaches Schreiben und Lesen jeder Zelle überprüfen. Andere Fehler, wie etwa Musterabhängigkeiten der Speicherfunktion, Refresh-Fehler oder mangelnde Leseverstärkererholung, sind entweder von verschiedenen Adreß- und Datenkombinationen abhängig, oder treten als unzureichendes Zeitverhalten in Erscheinung und erfordern eine Test unter Echtzeitbedingungen.
3.4.1 Speichertestmuster
Es gibt für den Test eines Speichers verschiedene gebräuchliche Speichertestmuster, von denen einige der am häufigsten angewendeten im folgenden kurz beschrieben werden.
In der folgenden Tabelle sind einige von diesen Tests angeführt, wobei die Ordnung des Tests die Anzahl der Schreib bzw. Leseoperationen für ein n-Bit-RAM ist. Die angegebenen Testzeiten gelten für ein 256kBit-RAM mit 100ns Zykluszeit.
Name Ordnung Testzeit
Column Bars 4n 0,1 s
Checkerboard 4n 0,1 s
MASET 12n 0,3 s
Marching Ones and Zeros (MARCH) 12n 0,3 s
Shifting Diagonal (DIAPAT) 4n3/2 53,7 s
Ping-Pong (Zeile-Spalte) n3/2 13,4 s
Ping-Pong (vollständig) n2 1,9 h
Walking Ones and Zeros (WALPAT) 2n2 + 6n 3,8 h
Galloping Ones and Zeros (GALPAT I) 2n2 + 8n 3,8 h
GALPAT II 8n2 - 4n 15,3 h
Allen Testmustern ist gemeinsam, daa stets eine Speicherzelle geschrieben oder gelesen wird. Der wesentliche Unterschied liegt in der Belegung der restlichen Speicherzellen, die als Hintergrundmuster (background pattern) bezeichnet werden, sowie in der Reihenfolge der Zugriffe auf die Bezugszelle und die Störzellen, welche die Bezugsquelle beeinflußen können.
Column Bars ist eine der einfachsten Testmusterfolgen. Hier werden zunächst die Spalten der Speichermatrix abwechselnd mit Nullen und Einsen beschrieben, und anschließend wieder ausgelesen. Der gleiche Vorgang wiederholt sich mit den komplementären Daten. Auf diese Weise lassen sich Kurzschlüße zwischen den Zellen entdecken. Außerdem eignet sich die Testfolge für einen Refreshtest.
Ein Refreshtest läßt sich auch mit Checkerboard durchführen. Hierbei werden die Speicherzellen so mit Nullen und Einsen belegt, daa ein Schachbrettmuster entsteht. Anschließend wird diese Belegung überprüft, und der Ablauf mit der komplementären Testfolge wiederholt. Im wesentlichen überprüft auch dieser Test die Speicherfähigkeit jeder Zelle.
Eine Erweiterung von Checkerboard wird als MASET bezeichnet. Der wesentlich Unterschied ist hierbei die Reihenfolge des Zugriffs auf die Speicherzellen: 0, n-1, 0, 1, n-2, 1, 2, n-3 ... , wobei 0 die niedrigste Speicheradresse darstellt, und n-1 die höchste. In Abbildung 3.9 ist der Speicherzugriff für ein 16 Bit RAM verdeutlicht. Nach nochmaligem Lesen sämtlicher Speicherzellen in umgekehrter Reihenfolge wird der gesamte Vorgang für das komplementäre Schachbrettmuster wiederholt. MASET testet außer der prinzipiellen Speicherfähigkeit vor allem die Dekodierlogik. Dabei wird vorausgesetzt, daa die Speicherorganisation mit den Adressen übereinstimmt. andernfalls wird ein Umrechnen (Scramblen) der Adressen notwendig.
Bild 3.9 Adreßreihenfolge bei MASET
MARCH ist eine ähnliche Testfolge. Hierbei wird ausgegangen von einer vollständig mit 0 beschriebenen Speichermatrix, bei der zunächst in aufsteigender Adreßrreihenfolge zunächst die 0 verifiziert, und anschließend eine 1 in das Register geschrieben wird. Nachdem dieser Vorgang abgeschlossen ist, wird er mit abnehmenden Adresssen für die Umbelegung von 1 zu 0 durchgeführt. Der ganze Test wird anschließend nochmals von einer komplementären Anfangsbelegung (alle 1) ausgehend durchgeführt (aufsteigend Beschreiben mit 0; abfallend Beschreiben mit 1). Mit diesem Test wird die Speicherfähigkeit jeder Zelle und der größte Teil der Dekodierlogik überprüft, und es werden einfache Wechselwirkungen zwischen den Speicherzellen aufgedeckt.
Bild 3.10 Adreßreihenfolge bie MARCH
Die Diagonalverschiebung DIAPAT ist vor allem eine Testfolge zur Überprüfung der Schreib-/Leseverstärker. Insbesondere soll unzureichende Erholung der Leseverstärker festgestellt werden. Dies wird dadurch erreicht, daa nach dem Lesen einer langen Reihe gleicher logischer Werte der Wechsel zum komplementären Wert verzögert wird, wenn die Erholung unzureichend ist.
Bild 3.11 Adreßreihenfolge bei DIAPAT
Der Test beginnt mit einer 1 in sämtlichen Zellen einer Diagonalen einer Speichermatrix (Pos. 1 bis 4 in Bild 3.11). Alle übrigen Speicherzellen enthalten eine 0. Durch spaltenweises Lesen entstehen nun lange Folgen von 0, die in regelmäßigen Abständen von einer 1 unterbrochen werden. Sind alle Spalten gelsesen, erfolgt das Verschieben der Anfangsbelegung um eine Position (dann 1 in Pos. 2 bis 5 in Bild 3.11). Der Lesevorgang wiederholt sich nun. Das Verschieben wird solange fortgesetzt, bis die Anfangsbelegung wieder erreicht ist. Der gesamte Ablauf wird nun mit komplementären Daten wiederholt.
Bei den bisher vorgestellten Testfolgen wurden Wechselwirkungen zwischen den einzelnen Speicherzellen, besonders Musterempfindlichkeiten, nicht gesondert betrachtet. Hierfür sind die als \"Walking-Patterns\" (WAKPAT) oder als \"Galloping-Patterns\" (GALPAT) bezeichneten Testfolgen geeignet. Jede Zelle wird als Bezugszelle dem Einflua unterschiedlicher Störzellen ausgesetzt, um die Unabhängigkeit der Zellen und damit die statische Musterempfindlichkeit überprüfen zu können. Dabei findet die sogenannte \"Ping-Pong\"-Testfolge Anwendung. Beim vollständigen Ping-Pong wird die Beeinflußbarkeit der Bezugszelle durch alle übrigen Zellen der Speichermatrix behandelt. Der Aufwand läßt sich jedoch durch Beschränkung auf benachbarte Zellen, die in der gleichen Zeile oder Spalte angeordnet sind, wesentlich reduzieren. WAKPAT und GALPAT sind jeweils spezielle Applikationen der Ping-Pong-Testfolge.
Bei WAKPAT wurd zunächst jede Zelle der Matrix mit einer 0 geladen. Dann wird die erste Zelle als Bezugszelle ausgewählt, und mit einer 1 beschrieben, die 0 in den Störzellen verifiziert, und schließlich überprüft, ob die 1 in der Bezugszelle noch vorhanden ist. Dann wird diese mit einer 0 überschrieben, und der gesamte Vorgang wiederholt sich für die nächste Bezugszelle. Sind alle Zellen auf diese Weise behandelt, erfolgt der Test mit komplementären Daten.
Eine Variation dieses Tests ist GALPAT, bei dem die Verifikation der Bezugszelle im Anschlua an das Lesen einer jeden Störzelle erfolgt, sodaa mehr Lesezyklen erforderlich sind. Auf diese Weise werden während des Lesens alle mögliche Adreßübergänge mit allen möglichen Datenübergängen geprüft. Eine mit GALPAT II bezeichnete Modifikation bezieht die Abhängigkeit von Datenänderungen in Zellenpaaren mit ein, sodaa dynamische Musterempfindlichkeiten entdeckt werden können.
|