ATOMICDie Tests
|
|
Feststeckende Adresse |
|
In einem ersten Durchlauf wird in die einzelnen Speicherzellen die Adresse der Speicherzelle geschrieben. Im zweiten Durchlauf wird diese Adresse ausgelesen und verifiziert, um sicher zu stellen, dass die Zuordnung der Adressen korrekt ist. |
|
Schachbrett |
|
Dieser Test besteht aus vier Durchläufen. Im ersten wird ein Muster geschrieben (das jedesmal neu variiert wird). Der zweite Durchlauf liest und überprüft das Muster und schreibt das Muster invertiert wieder in den Hauptspeicher (aus 1 wird 0 und umgekehrt). Hierdurch wird die Anfälligkeit benachbarter Bits daraufhin überprüft, ob diese bei Ansprechen der Nachbaradresse beeinflusst werden. |
|
Erweiterter March C |
|
Dieser Test verwendet einen komplexen Algorithmus, der sechs Durchläufe durch den Speicher benötigt. Im Rahmen der ersten drei Durchläufe werden in aufsteigender Reihenfolge Einsen und Nullen geschrieben und diese überprüft. Im Rahmen der nächsten zwei Durchläufe werden wiederum abwechselnd Einsen und Nullen geschrieben und gelesen. Der letzte Durchlauf kann in beliebiger Reihenfolge geschehen und stellt sicher, dass der letzte Schreibvorgang korrekt war. Dieser Test überprüft Adressprobleme, gemeinsame Änderung mehrerer Bits zugleich, ob Bits im Einser- oder Nuller-Zustand feststecken und überprüft, ob das Umschalten der Zustände funktioniert. |
|
Zufällige Werte |
|
Im Rahmen dieses Tests werden zunächst Zufallszahlen in den Speicher geschrieben. Im zweiten Durchlauf wird das ursprüngliche Muster überprüft. Durch zufällige Werte können Fehler lokalisiert werden, die nur unter bestimmten Umständen auftreten. Dieser Test hilft auch dabei herauszufinden, ob Speicheradressen von Schreibzugriffen im Nachbarbereich beeinflusst werden. Wenn dieser Test mehrfach durchgeführt wird, kann dieser Test auch dabei helfen, herauszufinden, ob sich das Verhalten der Speicherzellen im Zusammenhang mit der Temperatur der Speicherzellen ändert. |
|
Solide Bits |
|
Bei diesem Test wird ein durchgängig einheitliches Bitmuster in den Speicher geschrieben - beispielsweise nur Einser oder nur Nuller. Das ursprüngliche Muster wird dann umgedreht (zu Nullern bzw. Einsern gemacht) und wiederum überprüft. Hiermit wird sichergestellt, dass alle Speicheradressen schreib- und lesbar sind. |
|
Bitverbreitung |
|
Dieser Test verschiebt ein 101-Muster durch ein 64-Bit-Feld aus Nullen. Der Test entdeckt Änderungen in benachbarten Zellen, indem er nach Einsen sucht, wo Nullen sein sollten. |
|
Wandernde Einser |
|
Es wird mit dem Bitmuster 00000001 gestartet, jede Speicherzelle wird geschrieben und ausgelesen und das Muster verglichen. Die Eins wird bei einer Adresse verschoben und dann der Test für jede Position wiederholt. Der Test stellt sicher, dass jedes Bit seinen anderen Wert als die Nachbarzellen behalten kann, auch bekannt unter Kopplungsfehler innerhalb eines Wortes (intra-word fault). |
|
Wandernde Nuller |
|
Dieser Test repräsentiert das Gegenteil der Wandernden Einser. Das Muster 11111110 ist das Startmuster und die Null wird durch den Speicher bewegt. Dieser Test ist auch geeignet, Kopplungsfehler innerhalb eines Worts und feststeckende Adressen zu finden. |
|
Bitumkehr |
|
Dieser Test kombiniert Wandernde Einser und Nuller, indem er ein alternierendes 10101010-Muster verwendet. Jedes Bit (entweder eine 1 oder eine 0) wird zum Gegenteil geändert, während der Test sich durch den Speicher bewegt, um sicherzustellen, dass das Muster nicht kaputt geht. Dieser Test ist auch geeignet, Kopplungsfehler innerhalb eines Worts und feststeckende Adressen zu finden. |
|
Blocksequenz |
|
Dieser Test ist ähnlich zum Test Wandernde Einser und Nuller. Er verschiebt eine Unmenge an Mustern durch ein Feld von entweder Einsen oder Nullen (zwei Einsen durch Nullen, vier Nullen durch Einsen, usw.). Zusätzlich zum Entdecken von Kopplungsfehlern innerhalb von Worten ist der Test auch nützlich, um herauszufinden, ob das RAM anfällig für benachbarte Muster ist. |
|
|