DE3607015A1 - Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern - Google Patents
Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichernInfo
- Publication number
- DE3607015A1 DE3607015A1 DE19863607015 DE3607015A DE3607015A1 DE 3607015 A1 DE3607015 A1 DE 3607015A1 DE 19863607015 DE19863607015 DE 19863607015 DE 3607015 A DE3607015 A DE 3607015A DE 3607015 A1 DE3607015 A1 DE 3607015A1
- Authority
- DE
- Germany
- Prior art keywords
- sequence
- cells
- memory
- contents
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims description 115
- 238000000034 method Methods 0.000 title claims description 27
- 238000012360 testing method Methods 0.000 title description 73
- 230000006870 function Effects 0.000 claims description 21
- 230000000295 complement effect Effects 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims 1
- 230000008878 coupling Effects 0.000 description 22
- 238000010168 coupling process Methods 0.000 description 22
- 238000005859 coupling reaction Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 15
- 230000007704 transition Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000011990 functional testing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 208000000230 African Trypanosomiasis Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 208000029080 human African trypanosomiasis Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- RGCLLPNLLBQHPF-HJWRWDBZSA-N phosphamidon Chemical compound CCN(CC)C(=O)C(\Cl)=C(/C)OP(=O)(OC)OC RGCLLPNLLBQHPF-HJWRWDBZSA-N 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 201000002612 sleeping sickness Diseases 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Tests Of Electronic Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
LIECK & BETTEN
°?tentar'Wä'te Dipl.-ing. H.-Peter Lieck
European Patent Attor· ,eye Dipl.-Ing. Jürgen Betten
MaximiliansplatziO
360 7015 D-8000 München
® 089- 291119 Telex 5 216 741 list d
Technolaw® Telegramm Electropat
Beschreibung
Verfahren und Vorrichtung zur Funktionsprüfung von
Direktzugriffsspeichern.
Die Erfindung betrifft das Überprüfen von Direktzugriffsspeichern
(Randomspeiehern oder RAMs) auf ordnungsgemäßes Funktionieren und bezieht sich auf ein
Wahrscheinlichkeitsverfahren und eine Vorrichtung zum
Feststellen von Fehlern in Speichersystemen unter Benutzung eines schnellen Funktionsprüfalgorithmus von
hoher Zuverlässigkeit.
Die jüngere Entwicklung auf dem Gebiet der Halbleiter-Speicher-Technik
hat zu einer beträchtlichen Zunahme
der Verwendung von Halbleiter-Direktzugriffsspeichern
(RAM) geführt. Es handelt sich gewöhnlich um großintegrierte (LSI)-Bauelemente in bipolarer oder Metalloxid-Halbleiter
(MOS)-Technik. Gemäß Fig. 1 setzt sich ein RAM-System 10 hauptsächlich aus einer Anzahl von Speicherbausteinen
12, Adreßdecodierern 14 und einem Datenpuffer 16 zusammen. Letztere sind an Daten- bzw. Adreßbusse
17 bzw. 19 angeschlossen. Jedes Speicherbauelement
oder Chip 12 enthält eine Anzahl von Speicherzellen, die wortorganisiert sind und sowohl beschrieben
als auch ausgelesen werden können. Lese/Schreib(R/W)-Signale
werden den RAM-Elementen 12 über eine Steuerleitung 21 zugeleitet.
Physikalische Fehler, die in jedem Teil des Speicherchips
auftreten können, sind u.a. bedingt durch die Packungsdichte, die Schaltungsauslegung und das Herstellungsverfahren.
Zum Feststellen dieser Fehler notwendige Testprozeduren werden in drei Klassen unterteilt,
nämlich 61eichspannungs-Parameterprüfung, Wechsel
spannungs-Parameterpriifung und Funktionsprüfung.
Bei der Gleichspannungs-Parameterprüfung werden Gleich-Spannungsparameter
im Chip auf unzulässige Ausgangspegel, hohen Stromverbrauch, Ausgangsbelastbarkeit, Störsignalgrenzwerte,
Anstiegs- und Abfallzeiten von logischen Signalen und andere Faktoren überprüft. Bei der
Wechselspannungs-Parameterprüfung oder dynamischen Prüfung
werden Wechsel Spannungsparameter wie die Speicherzugriff szeit, die Vorbereitungszeit und die Haltezeit
gemessen, um Funktionsstörungen festzustellen. Funktionsstörungen,
die mittels der Wechsel Spannungsprüfung festgestellt werden können, sind beispielsweise
"schlechte Schreib-Erholung", bei welcher der Speicher bei jedem Lesezyklus, dem ein Schreibzyklus vorausgegangen
ist, die korrekte Information nicht in der vorgeschriebenen Zugriffszeit hervorbringt, und die
"Schlafkrankheit", eine Störung, durch welche der Speieher
Informationen in kürzerer als der angegebenen Haltezeit verliert.
Beim Funktionsprüfen werden permanente Fehler festgestellt,
die zu einem inkorrekten Funktionieren des Speichers führen. Ein Schreib-Lese-RAM-Speicher kann im
allgemeinen als funktionsfähig oder richtig arbeitend
definiert werden, wenn der aus einer Speicherzelle ausgelesene
Wert mit dem zuletzt in dieselbe Zelle eingeschriebenen Wert übereinstimmt und nicht von dem in andere
Speicherzellen eingeschriebenen Wert oder von deren
Inhalten abhängig ist.
Eine Funktionsprüfung, die alle möglichen Fehler erfaßt,
ist undurchführbar, weil bei η Speicherzellen die
Komplexität der Prüfung in der Größenordnung von 2n liegt: Jede Zelle müßte bei allen möglichen Zuständen
der übrigen Zellen während eines Meßzyklus überwacht werden. Nimmt man bei einem 1-Kilobit-RAM eine Zellenzugriffszeit
von 500 Nanosekunden an, würde seine Über-
293
prüfung etwa 10 Sekunden erfordern. Damit eine praktisch
durchführbare Prüfprozedur entwickelt werden
kann, darf sich daher die Prüfung nicht über alle möglichen Fehler, sondern nur auf die Fehlerteilmenge erstrecken,
deren Auftreten am wahrscheinlichsten ist. Dieses Vorgehen ist als Fehlermodel1erstel1ung bekannt.
Das der erfindungsgemäßen Prüfung zugrundeliegende
Modell setzt hinsichtlich der Auslegung der zu prüfenden Chips und auch dabei, welche Adreßleitungen Chips
und welche Bits innerhalb der Chips anwählen, sehr wenig voraus. Das Modell geht von einer Speichereiement-Hierarchie
aus und beginnt dabei auf der untersten Stufe mit Zellen in einem Chip. Die nächste Stufe ist
der Chip selbst, gefolgt von einer Platine bzw. Leiterplatte oder Steckkarte mit Chips. Auf der höchsten Stufe
wird das System bzw. der Speicher als Ganzes geprüft. Jeder Stufe in der Hierarchie ist eine Teilmenge
von Adressenbits zugeordnet, die unter den die Stufe ausmachenden Komponenten auswählen. Die Hierarchiestufen
sind in Zeilen und Spalten organisiert, die je von getrennten Adressenbits angesteuert werden. Das
Modell schließt Speichersysteme ein, die wortorganisiert sind. Es ist üblich, daß in den oberen Hierarchiestufen
ein ganzes Wort in einer Komponente gespeichert ist, mit anderen Worten, eine Steckkarte enthält
gewöhnlich ein ganzes Wort. Beispiel: Ein System mit 16-Bit-Wörtern, das aus einer oder mehreren Steckkarten
mit einer Anzahl von 16K χ 1 Chips besteht, hat alle
Bits auf jeder Steckkarte, aber es ist für jedes Bit des Wortes ein getrennter Chip vorgesehen. Andererseits
kann ein System aus 2K χ 8 Chips mit 8 verschiedenen Datenbits auf jedem Chip aufgebaut werden.
Das Modell deckt folgende Fehler ab:
1. Hängenbleiben von RAM-Speicher-Zellen.
Dies tritt ein, wenn eine Zelle immer auf 1 oder 0 ist.
Bei einem Fehlertyp kann es sein, daß eine Zelle in den einen Zustand geht und ausgelesen werden kann, aber,
sobald sie in den entgegengesetzten Zustand übergegangen ist, nicht weiter verändert werden kann. Bei einem
anderen, als Übergangsfehler bekannten Fehlertyp scheint die Zelle in bezug auf an sie adressierte
Schreiboperationen hängenzubleiben, aber kann aufgrund eines gleichzeitig auftretenden Kopplungsfehlers noch
verändert werden.
2. Hängenbleiben von Adressenbits.
Durch diesen Fehler werden zwei Satz Adressen zusammen abgebildet. Tritt der Fehler in einer Hierarchiestufe
auf, auf der jede Komponente ein ganzes Wort enthält, werden alle Bits der Wörter beeinflußt.
3. Störung des Decodierers.
Hier handelt es sich darum, daß ein Zeilen- oder Spaltendecodierer
nicht wählt, wenn er soll, oder wählt, wenn er nicht soll. Im ersten Fall sind das Ergebnis
beim Auslesen Oer oder ler, je nach Speicherkonstruktion, wogegen Schreibvorgänge wirkungslos sind. Mehrfaches
Ansteuern bewirkt, daß Schreibvorgänge Speicherzellen beeinflussen. Auf höherer als Chip-Stufe werden
durch mehrfaches Auswählen bei einem Lesevorgang die Inhalte mehrerer Zellen abhängig von der Speicherauslegung
zerstörungsfrei durch AND- oder OR-Operationen
verknüpft. Abhängig von der Auslegung des speziellen Speicherchips kann gleiches auch bei mehrfacher Spaltenwahl
auf Chipstufe zutreffen. Werden mehrere Zeilen in einem Chip gewählt bzw. aufgerufen, und enthalten
die betroffenen Zellen nicht alle denselben Wert, ist das Ergebnis einer Leseoperation ein unbestimmter Wert,
und die betreffenden Zellen werden auf diesen Wert gesetzt. Dieser Fehler hat auch zur Folge, daß die Daten
während Auffrischzyklen zerstört werden.
4. Hängenbleiben eines Datenregisterbits.
Dieser Fehler bewirkt, daß in der betreffenden Komponente des Speichers bei allen Wörtern das gleiche Bit
hängengeblieben zu sein scheint.
5. Kurzgeschlossene oder datenmusterabhängige Datenregisterbits.
In diesem Falle ist es nicht möglich, in einigen Datenbitmengen
Wörter mit bestimmten Mustern zu schreiben. Dieser Fehler wirkt sich auf alle untergeordneten Komponenten
in der Speicherhierarchie aus.
6. Statische Kopplungsfehler.
Bei diesem Fehlertyp sind zwei Zellen miteinander gekoppelt, derart, daß von den vier möglichen Zuständen
der Zellen einer oder mehrere gesperrt sind. Ein Sonderfall ist der Alias-Effekt, bei dem die Zustände 01
und 10 gesperrt sind. Außerdem ist eine Schreiboperation in eine Zelle immer erfolgreich und beeinflußt
auch andere Zellen. Der invertierte Alias-Effekt ist immer möglich; dabei sind die gesperrten Zustände 00
und 11. Bei einem statischen Speicher, bei dem die Zellen aus Flipflops aufgebaut sind, kann dies durch
eine Kopplung der WAHR-Seite des einen mit der FALSCH-Seite eines benachbarten Flipflops eintreten. Kopplungsfehler
müssen in Zellen desselben Chips liegen.
7. Dynamische Kopplungsfehler.
Dabei kann das Setzen einer Zelle irgendeine andere Zelle ändern, also setzen oder löschen. Symmetrie
braucht dabei nicht vorzuliegen.
8. Datenmusterbedingte Fehler.
Durch einen Fehler dieses Typs wird es unmöglich, irgendein Muster in eine Gruppe benachbarter Zellen
einzuschreiben.
9. Adressen-Daten-Kurzschlüsse.
Dieser Fehlertyp tritt auf entweder als Hängenbleiben
von Datenbits, wenn sich die Adreßleitung gegenüber der Datenleitung durchsetzt, oder als dynamische Kopplung
an eine andere Adresse, wenn sich die Datenleitung gegenüber der Adreßleitung durchsetzt.
10. Kurzschlüsse zwischen Adreß- oder Datenleitungen
und der Schreib-Lese-Leitung.
Wenn ein Datensatz oder eine Adresse in den falschen Zustand gedrängt wird, erscheint hierbei ein hängengebliebenes
Adressen- oder Datenregisterbit. Wird die Schreib-Lese-Leitung in einen Schreibvorgang gedrängt,
wenn ein Lesevorgang aufgerufen ist, gibt der Speicher keinen Wert aus und der erhaltene Wert ist irgendein
fester, von der Konstruktion des Speichers abhängiger Wert (üblicherweise alles ler oder allesOer).
Bei einem Galpat-Test, in einen Hintergrund von Oern,
wird die erste Zelle (Prüfzelle) komplementiert und
dann abwechselnd mit jeder anderen Zelle im Speicher ausgelesen. Diese Sequenz wird wiederholt, bis jede
Speicherzelle schließlich die Prüfzelle geworden ist.
Das System führt dann die gleiche Sequenz unter Benutzung komplementärer Daten aus. Die Ausführungszeit des
Galpat-Tests ist dem Quadrat der Zellenzahl proportio-
nal, er erfaßt jedoch viele Fehler nicht.
Bei einem Durchlauftest wird eine bestimmte Menge von
Adressen sequentiell abgearbeitet und dabei bei jeder Adresse das gleiche getan. Bei einem bestimmten Standard-Durchlauftest
wird nach dem Einschreiben eines Hintergrundes von Oen in den Speicher vom System die
Information an der ersten Adresse ausgelesen und dort eine 1 eingeschrieben. Dieselbe zweistufige Lese/
Schreib-Prozedur wird bei jeder Folgezelle durchgeführt, bis das System das Speicherende erreicht. In
umgekehrter Reihenfolge wird dann jede Zelle geprüft und auf 0 rückgesetzt, bis das System zur ersten Adresse
zurückkehrt. Schließlich wird der Test unter Benutzung komplementärer Daten wiederholt. Bei einem anderen
Durchlauftest wird nicht dasselbe Bit in alle Zellen
eingeschrieben, sondern ein durch Anwendung einer Summier(hash)-Funktion auf die Adresse abgeleitetes
Bitmuster nacheinander in die Zellen eingetragen.
Jeder Durchlauftest des einen oder des anderen Typs,
mit dem eine gründliche Prüfung auf Kopplungsfehler,
einschließlich asymmetrischer und invertierter Kopplung
in einem Ixn-Speicher durchgeführt wird, der als frei von Übergangsfehlern, Festhäng-Fehlern oder Mehrfach-Zugriff-Decodier-Fehlern
angenommen wird, macht jedoch wenigstens 14n Operationen erforderlich. Vgl. hierzu
Suk und Reddy, "IEEE Transactions on Computers", Bd. C-30, Nr. 12, Dezember 1981, S. 982-985.
Decodierfehler machen sich als Kopplungsfehler zwischen
entsprechenden Zellen in den betroffenen Zeilen bemerkbar. Ein Standard-Durchlauftest beliebiger Ordnung, der
unter Benutzung desselben Wertes an allen Adressen durchgeführt wird, erfaßt alle Fehler einer bestimmten
Klasse in der betroffenen Zeile nicht, wenn er nur
einen Fehler aus dieser Klasse nicht erfaßt. Die Anwendung einer festen Sequenz kann einen solchen Algorithmus
verbessern, indem die Wahrscheinlichkeit erhöht
wird, daß entsprechende Zellen in allen möglichen Kombinationen durchprobiert werden. Zum Beispiel wird bei
einem RAM-Kurztest mit fester Sequenz für die von John Fluke Mfg.Co. hergestellte Gerätereihe 9000 der Speicher
in einem Durchlauf abgetastet und dabei in jede Wortposition ein Wert eingeschrieben. In einem zweiten
Durchlauf wird der Wert mit einem erwarteten Wert verglichen. Den in jede Position eingeschriebenen Wert
erhält man, indem die Adresse zu einem Wort gefaltet wird, das die Breite des Datenbus hat, und indem das
gefaltete Wort komplementiert und gedreht wird, wenn
die Adresse ungerade Parität hat. Die Bits des sich ergebenden Wortes sind in ungefähr gleicher Weise von
jedem Bit der Adresse abhängig, wodurch der Test geeignet ist zum Feststellen eines Alias-Effekts, hervorgerufen
durch einen Kurzschluß auf einer zum Decodierer führenden Adreßleitung, der jedes Datenbit beeinflußt.
Dennoch ist die Menge der benutzten Kombinationen durch
die Sequenz festgelegt. Zwar kann für eine bestimmte Speicherkonfiguration eine Sequenz existieren, die Decodierfehler
aufdeckt, es ist jedoch möglich, eine Konfiguration zu bauen, die jede beliebige Sequenz wirkungslos
macht.
Mit TUk sei der Vorgang des k-maligen Kippens bzw. Umladens
eines Speicherplatzes, beginnend mit einem Aufwärts(O-nach-l)-Übergang, und mit TDk der entsprechende,
mit einem Abwärtsübergang beginnende Vorgang bezeichnet. Ein T ohne folgendes U oder D bezeichnet
einen ersten Übergang, der aufwärts oder abwärts gerichtet sein kann. Suk und Reddy zeigen, daß jeder derartige
Test folgendes enthalten muß: Aufwärts (bei Adressen) RTUk1 (k] = 2), aufwärts RTDk2 (k£ = 2),
abwärts RTUk3 U3 = 2), abwärts RTDk4 (k4 = 2). Ferner
muß entweder k,> 2 oder k^ >
2 oder eine andere Sequenz der Form "aufwärts RTk5 11 (kg ungerade) erscheinen. In
ähnlicher Weise muß k3> 2 oder k-
> 2 oder eine Sequenz der Form "abwärts RTkg" (kg ungerade) erscheinen.
Suk und Reddy schlagen einen Test A genannten 14N-Test vor, mit dem alle Festhäng-Fehler, Übergangsfehler und
Mehrfach-Zugriff-Decodier-Fehler oder alle Kopplungsfehler
aufgedeckt werden. Dabei wird davon ausgegangen, daß der Speicher überall auf Oer initialisiert ist. Im
Test sind die folgenden Sequenzen enthalten: Aufwärts RWcWcWc, aufwärts RWcWc, abwärts RWcWcWc, abwärts
RWcWc. Ein Durchlauftest von niedrigerer Ordnung als
14n wird jedoch nicht alle isolierten Kopplungsfehler
feststellen. (R steht für Lesen, W für Schreiben.)
Suk und Reddy schlagen ferner einen Test B genannten
16N-Test vor, mit dem alle Kombinationen von Festhäng-Fehlern,
Übergangs- und Kopplungsfehlern aufgedeckt
werden, wenn keine Mehrfach-Zugriff-Decodier-Fehler
vorhanden sind. Test B besteht aus den folgenden Sequenzen: Aufwärts RWcRWcRWc, aufwärts RWcWc, abwärts
RWcWcWc, abwärts RWcRWc. Mit diesem Test, dem ein Durchlauf zum Initialisieren des Speichers auf Oer
vorausgeht, werden möglicherweise alle Kombinationen
von Festhäng-, Übergangs-, Kopplungs- und Mehrfachzugriff -Decodier-Fehlern aufgedeckt.
Ein von Nair, Thatte und Abraham entwickelter 30N-Test enthält die folgenden Sequenzen, bei denen WO und Wl
die Bedeutung "1 schreiben" bzw. "O schreiben" haben:
Aufwärts WO, aufwärts Wl, abwärts R, aufwärts RWO, abwärts R, abwärts RWl, aufwärts R, abwärts RWO, aufwärts
R, aufwärts RWlWO, abwärts R, abwärts RWlWO, aufwärts R, aufwärts Wl, aufwärts RWOWl, abwärts R, abwärts
RWOWI, aufwärts R.
Die vorstehend angeführten und andere Test-Typen sind zusammengefaßt in Abadair und Reghbati, "Functional
Testing of Semiconductor Random Access Memories" (Funktionsprüfung von Halbleiter-RAM-Speichern),
Computing Surveys, Bd. 15, Nr. 3, September 1983, S. 175-198.
Jeder der vorstehend angegebenen ebenso wie jeder andere der Anmelderin bekannte Test erfordert eine Prüfzeit
von unausführbarer Länge oder ist unzuverlässig, weil
mit ihm Fehler oder bestimmte Fehlerklassen nicht aufgedeckt
werden.
Die Aufgabe der Erfindung ist es, eine Funktionsprüfung
zu schaffen, mit der sich Direktzugriffsspeicher in kürzestmöglicher Zeit überprüfen und dabei die häufigsten
Fehler, das sind hängengebliebene Datenzellen, gestörte
Decodierer, gestörte Adressen- oder Datenregister und Fehler zwischen Adreß- und Datenleitungen,
feststellen lassen.
Im Rahmen dieser Aufgabe gilt es, ein Verfahren und ein System zum Überprüfen eines Direktzugriffsspeichers auf
Speicherfehler zu schaffen, die Kopplungs- und Decodiererfehler,
welche mehrere verschiedene Adressen beeinflussen, mit hoher Wahrscheinlichkeit aufzudecken vermögen
und die Wahrscheinlichkeit maximieren, daß Speicherfehler
unter Anwendung eines Speicherprüfalgorithmus festgestellt werden, der eine kürzestmögliche Prüfzeit
erfordert. Das Verfahren und das System sollen bei der Speicherfehlerprüfung alle Befehlsadreßleitungen in
zumindest annähernd gleicher Weise austesten. Schließlieh soll die Erfindung bei einem schnellen Prüfalgorithmus
für Direktzugriffsspeicher eine einheitliche
Adressierung schaffen.
Bei einem diese Aufgabe lösenden Verfahren zum Überprüfen
von Direktzugriffsspeichern auf Fehler werden erfindungsgemäß
Zufallsbits nacheinander in alle Zellen der Anordnung eingeschrieben, sodann ausgelesen und in
Abhängigkeit davon eventuelle Speicherfehler identifiziert.
Viele Fehler, wie z.B. Decodiererfehler, beeinflussen
eine große Zahl von Zellen-Paaren, zumindest die Anzahl Zellen in einer Zeile oder Spalte, und die
Wahrscheinlichkeit, beim Einschreiben von Zufallsdaten
in alle Zellen eine Kombination von Bits nicht zu schreiben, die einen Fehler bei einem einzelnen Zellenpaar
aufdeckt, beträgt allenfalls 0,75, wohingegen die Wahrscheinlichkeit, den Fehler bei allen betroffenen
Zellenpaaren nicht aufzudecken, höchstens 0,75 beträgt, worin k die Anzahl der betroffenen Zellenpaare
ist. Wenn also z.B. eine Spalte 32 Zellen aufweist, beträgt die Wahrscheinlichkeit, einen sich als eine Menge
von dynamischen Kopplungsfehlern offenbarenden Fehler
nicht aufzudecken und dadurch einen Fehler nicht zu melden, 0,7532 oder 0,0001004.
Nach einem anderen Lösungsgedanken der Erfindung werden Zufallsbits, gefolgt von ihren Komplementen, in einer
Sequenz von Zellenadressen nacheinander in die Zellen
eingeschrieben. Die Inhalte der Zellen werden dann in einer entgegengesetzten Adressensequenz ausgelesen und
mit ersten erwarteten Inhalten verglichen und dann komplementär wieder neu eingeschrieben. Schließlich werden
die Inhalte der Zellen in der Adressensequenz gelesen und mit zweiten erwarteten Inhalten verglichen. Speicherfehler
werden als Ergebnis der Vergleiche identifiziert.
Die Vorrichtung nach der Erfindung umfaßt einen umschaltbaren Pseudozufallszahlengenerator, der als Hardware,
z.B. unter Verwendung von UmI aufschieberegistern,
oder als Software implementiert ist und Zufallsbit-Sequenzen erzeugt. Der Generator ist umschaltbar, damit
zum Durchführen der Prüfsequenz in zwei Richtungen der Chip beim Schreiben einer Sequenz in den Speicher selektiv
aufwärts- oder abwärtsadressiert werden kann. Somit erzeugt der Generator dieselbe Pseudozufal 1ssequenz
für jede spezielle Anfangseinstellung des Generatorinhalts
(d.h. des "Keims"), um Sequenzen zu entwickeln, die wiederholbar sind, aber ein Merkmal von
Zufälligkeit besitzen. Eine Steuerschaltung identifiziert und meldet während des Tests gefundene Fehler
nach Maßgabe der aus dem Speicher ausgelesenen Bits und der von der erzeugten speziellen Pseudozufal 1ssequenz
erwarteten Bits. Weil die Tendenz besteht, daß die Adreßleitungen höherer Ordnung beim sequentiellen
Adressieren selten angesprochen werden, wird eine zweite, unabhängige Adressenfunktion hinzugefügt, derart,
daß bei aufeinanderfolgenden Adressendurchlaufen jede
Adresse einmal und nur einmal gewählt wird. Die Adressenfunktion wird nach der Größe des Speichers parameterisiert,
um beträchtliche Aktivität auf allen Adreßleitungen hervorzurufen.
Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben
sich aus den Unteransprüchen.
Ausführungsbeispiele der Erfindung werden im folgenden
anhand schematischer Zeichnungen näher erläutert. Es
zeigt:
Fig. 1 ein Blockschaltbild eines herkömmlichen
Direktzugriffsspeichers (RAM) des gemäß der Erfindung zu prüfenden Typs,
Fig. 2 ein Diagramm eines RAM-Kurzprüfalgorithmus
gemäß der Erfindung,
Fig. 3 bis 5 Tabellen mit den Ergebnissen von Fehlerprüfungen
gemäß der Erfindung für drei verschiedene Fehlertypen, und
Fig. 6 ein Blockschaltbild einer Vorrichtung zur
Durchführung der Erfindung.
Ein schneller Durch!auftest für Direktzugriffsspeicher-Systeme
umfaßt gemäß der Erfindung fünf Prüfzyklen mit drei nachstehend angegebenen "Abtastungen" bzw. "Durchläufen",
worin W "Schreiben" bedeutet, WC "Schreiben des Komplements zu den zuvor in die bezeichnete Zelle
eingeschriebenen Daten" und R "Daten auslesen": Aufwärts (bei Adressen) WWc, abwärts RWc und aufwärts R.
Ein "Durchlauf" ist in diesem Zusammenhang als Sequenz von Zellenadressen von einer Grenzadresse zu einer anderen
definiert. Unter einem "Zyklus" wird ein Zugreifen oder Zugriff, sei es zum Auslesen oder Einschreiben,
auf jede Zelle während eines Durchlaufs verstanden. Somit werden beim Aufwärtsadressieren der Zellen
eine "1" oder eine "O" und dann ihr Komplement nacheinander
in alle Speicherzellen eingeschrieben. Beim Abwärtsadressieren
des Speichers werden die Inhalte der Zellen gelesen und dann komplementiert. Eine Differenz
zwischen den ausgelesenen und den erwarteten Zelleninhalten weist auf einen Fehler hin. Schließlich werden
beim Aufwärtsadressieren des Speichers die Inhalte der Zellen erneut ausgelesen und mit erwarteten Inhalten
verglichen. Es gibt also drei Zellen"durchlaufe", von
denen zwei bei jeder Zelle in der Sequenz gemäß Fig. 2 zwei Zyklen durchführen. Folglich wird auf jede Zelle
insgesamt fünfmal zugegriffen. Jedoch ist der erste "Schreib"-Zyklus der Sequenz wahlweise auszuführen und
kann weggelassen werden. Es wird dann eine Testsequenz mit vier Zyklen ausgeführt. Der W-Zyklus zu Beginn wird
jedoch bevorzugt, um sicherzustellen, daß die Speicher-
zellen in der Lage sind, sowohl 0-1- als auch 1-0-Übergänge
auszuführen.
Wenn unter Anwendung des in Fig. 2 dargestellten Prüfalgorithmus
gemäß der Erfindung alle Bits einer festen Sequenz nacheinander in alle Speicherzellen eingeschrieben,
dann komplementiert werden etc., werden alle
hängengebliebenen Zellen und alle Zellen mit Ali as Effekt
festgestellt. Es besteht jedoch die Tendenz, daß
bestimmte Fehlerklassen, insbesondere jene in Verbindung
mit Decodiererfehlern, nicht erfaßt werden. Somit
wird gemäß einem weiteren Lösungsgedanken der Erfindung ein schneller Durchlauftest des vorstehend beschriebenen
Typs in der Weise modifiziert, daß bei jedem Adressier-Durchlauf
statt derselben Bits oder einer festen Bitsequenz Zufallsbits in aufeinanderfolgende Speicherzellen
eingeschrieben werden. Der im Pseudocode geschriebene
Test ist nachstehend angegeben, worin Z(X) die Zufallsfunktion und Z(X) ihr Komplement ist:
for a = 0 to N-I do
MEMORY [a] = Z(a)
MEMORY [aj = Z(a)
end for
MEMORY [aj = Z(a)
end for
for a = N-I downto 0 do
if MEMORY [a] t Z(a) then error MEMORY fa] = zTä)
end for
end for
for a = O to N-I do
if MEMORY [aj / Z(a) then error end for
Der Speicher wird also zuerst aufwärtsadressiert (a = O
bis N-I), es werden Zufallsbits in aufeinanderfolgende
Speicherzellen eingeschrieben, und dann werden die Komplemente
in die Zellen eingetragen. Bei dem darauffolgenden Abwärtsadressieren des Speichers, also dem sukzessiven
Adressieren zwischen den Speicherplätzen N-I
und 0, werden die Inhalte der Speicherzellen ausgelesen
und mit erwarteten Inhalten verglichen. Besteht eine Differenz, wird eine Fehlermeldung generiert. Die Inhalte
der Speicherzellen werden beim Abwärtsadressieren
des Speichers komplementiert und schließlich beim Aufwärtsadressieren
des Speichers ausgelesen und mit erwarteten Inhalten verglichen. Bei einer Abweichung wird
eine Fehlermeldung generiert.
Diese Prüfung stellt alle Festhäng-Fehler und alle
(normalen und invertiertpn) Alias-Effekte zwischen an
verschiedenen Adressen stehenden Bits fest. Folglich werden durch den Test alle hängengebliebenen Datenregisterbits,
alle hängengebliebenen Adressenbits und alTe
Decodiererfehler, die einen Alias-Effekt hervorrufen,
alle "0" oder alle "1" an den betroffenen Adressen festgestellt. Ferner deckt der Test praktisch alle Fehler
auf, die mehrere Adressen beeinf1ussen, einschließlich
aller übrigen Decodiererfehler, weil sie sich auf
eine gesamte Zeile oder Spalte auswirken, sowie kurzgeschlossene oder datenmusterabhängige Datenregisterbits
und Kurzschlüsse zwischen Adreß- und Datenleitungen.
Kurzschlüsse zwischen Daten- oder Adreßleitungen zu Steuerleitungen werden möglicherweise festgestellt. Die
Wahrscheinlichkeit, daß mit dem Test während eines bestimmten
Laufs statische Kopplungsfehler aufgedeckt
werden, beträgt mindestens 75%, die der Aufdeckung eines dynamischen Kopplungsfehlers oder eines Mehrfach-Zugriff-Fehl
ers mit AND/OR-Charakter, der ein einzelnes Zellenpaar an verschiedenen Adressen betrifft, beträgt
25%. Die Wahrscheinlichkeit, daß mit dem Test statische
Kopplungen oder Alias-Effekte zwischen Zellen
im selben Wort aufgedeckt werden, ist 50%. Ferner werden mit jedem Lauf des Tests, der mit einem verschiedenen
"Keim" durchgeführt wird, um eine bestimmte, eindeutige
Zufallsbitsequenz zu initiieren, möglicherweise
während eines früheren Laufs nicht entdeckte Fehler festgestelIt.
Man betrachte z.B. den Fall von Mehrfach-Zugriff- Fehlern
des AND/OR-Typs, hervorgerufen durch einen gestörten Decodierer. Ein solcher Fehler führt dazu, daß an
Zellen in einer Spalte, z.B. X, gerichtete Lese-Befehle den Inhalt der adressierten Zellen wiedergeben, der mit
dem Inhalt der entsprechenden Zelle in einer anderen Spalte, z.B. Y, UND-verknüpft (ODER-verknüpft)
ist. Dieser Fehler kann asymmetrisch sein, so daß Zellen in der Spalte Y richtig ausgelesen werden. In bestimmten
Fällen wird der Fehler nur dann aufgedeckt, wenn Z(a) bestimmte Werte für die betreffenden Zellen
annimmt, d.h. die Zelle aus Spalte X ist auf 1, wogegen die entsprechende Zelle in Spalte Y auf O ist. Wenn somit
ein AND/OR-Fehler dieses Typs nur ein einzelnes Zellenpaar betrifft, wird er mit einer Wahrscheinlichkeit
von nur 25% aufgedeckt. Wenn jedoch eine Spalte Zellen aufweist, ist die Wahrscheinlichkeit, daß diese
Kombination niemals auftritt, also die Wahrscheinlichkeit,
daß kein Fehler gemeldet wird, (1-0,25)32 =
0,0001004.
Damit bestätigt werden kann, daß der vorstehend beschriebene Test einen Fehler meldet, wenn eine beliebige
Anzahl von Zellen mit Alias-Effekt behaftet sind, müssen zwei Fälle berücksichtigt werden.
1. Z(i) = Z(j) für alle Zellen i und j in der Alias-Gruppe.
In der zweiten Phase des erfindungsgemäßen Tests, der aus den Schritten Rz (i ) >lftt' bestent>
wird
ZH
bei Zugreifen auf die zweite Zelle in der Gruppe, z.B. M-, festgestellt, daß diese auf dem falschen Wert ist,
weil der ausgelesene Inhalt, wegen der Operation Wfrj-\ ,
Z(i) ist, wogegen Z(j) = Z(i) erwartet wird.
2. Z(i) j Z(j) für einige Zellen i und j in der Alias-ZeIlengruppe.
In der letzten Testphase wird festgestellt, daß alle Zellen in der Gruppe dieselben Daten
enthalten, wogegen wenigstens einige von ihnen entgegengesetzte Werte enthalten sollten.
Eine ähnliche Überlegung zeigt, daß selbst der "invertierte Alias-Effekt", bei dem sowohl der Lese- als auch
der Schreibvorgang auf ihrem Weg zu den "wirklichen" Alias-Zellen invertiert werden, immer aufgedeckt wird.
Offene Zeilenleitungen, viele Decodiererfehler und in
der falschen Richtung arbeitende Verstärker sind alle Ursache dafür, daß mehrere Zellen als hängengeblieben
erscheinen und daher festgestellt werden.
Hängengebliebene Adreßregisterbits, viele Decodiererfehler
und kurzgeschlossene Zeilen- oder Spaltenleitungen verursachen Alias-Effekte zwischen Zellen und
werden wie oben angegeben aufgedeckt.
Die übrigen Fehlertypen sind komplexer. Die Leistung des erfindungsgemäßen Tests hinsichtlich mehrerer
Fehlertypen wird jedoch nachstehend beschrieben.
Gestörter Zei1encodierer; fehlender Faktor
Dieser Fehlertyp tritt auf, wenn bei einem Zeilendecodierer, der im wesentlichen ein AND-Glied ist, ein Eingang
ständig festgehalten ist, statt über eine entsprechende Adreßleitung angesteuert zu werden. Die Wertigkeit
der betreffenden Leitung sei 2 .Ohne Verlust an
AlΊ gemei ngültigkeit kann angenommen werden, daß über
die beeinflußte Leitung das Signal uninvertiert in das Verknüpfungsglied gelangt. Das beeinflußte Verknüpfungsglied
hält seinen Ausgang sowohl wenn es soll, als auch bei einer Reihe von Adressen, die durch Subtraktion
von 2 von den durch das beeinflußte Verknüpfungsglied
gesteuerten Zellenadressen abgeleitet wurden, also bei allen Zellen längs einer nachstehend als Zeile A
bezeichneten anderen Zeile. Die vom beeinflußten Verknüpfungsglied
angesteuerten Zellen liegen in Zeile B.
Das Auslesen aus und Einschreiben in Zellen der Zeile B
funktioniert korrekt. Durch Schreiben in eine Zelle in Zeile A wird mit der korrekten Adresse, z.B. M , auch
in die entsprechende Zelle in Zeile B, M/ 2kx, eingeschrieben.
Durch Lesen einer Zelle in Zeile A werden die Inhalte beider Zellen irgendwie kombiniert und das
Ergebnis wird sowohl am Ausgang der Speichers abgegeben als auch in beide Zellen zurückgeschrieben. Üblicherweise
ist die Kombination das Ergebnis einer UND-Verknüpfung in der einen Hälfte des Speichers, in welcher
eine fehlende Ladung eine 1 darstellt, und einer QDER-Verknüpfung
in der anderen Hälfte des Speichers, in welcher das Vorhandensein einer Ladung eine 1 darstellt.
Die UND-Verknüpfung wird zuerst betrachtet, unter Bezugnahme
auf die Tabelle in Fig. 3, in der die Durchführung des erfindungsgemäßen RAM-Tests für alle vier
möglichen Zuordnungen von Werten zu Z(i) und Z(j) dargestellt ist, wobei j = (i + 2 ) ist. Mit dem Symbol
11!" ist eine Speicherzelle als Ziel eines Schreibvorganges
bezeichnet. Das Symbol "?" bezeichnet eine Speicherzelle als Ziel eines Lesevorganges. Ein "*" zeigt
an, daß ein fehlerhafter Wert ausgelesen oder in eine Zelle eingeschrieben worden ist, und ein "f" zeigt an,
daß ein Fehler gemeldet ist. Zum Beispiel zeigt das Symbol "1—»■ 0" an, daß eine Zelle eine 1 hätte enthalten
sollen, daß aber ein Lesevorgang an der Zelle deren Inhalt auf 0 gesetzt hat.
Wie in der Tabelle dargestellt, wird ein Fehler bei drei der vier möglichen Zuordnungen von Werten zu Z(i)
und Z(j) gemeldet. Weil diese Werte nach dem Zufallsprinzip ausgewählt sind, würde ein solcher Fehler, der
nur ein einziges Zellenpaar betrifft, mit einer Wahrscheinlichkeit
P = 0,75 aufgedeckt. Tatsächlich jedoch beeinflußt dieser Fehler alle Zellenpaare in Zeile A
und Zeile B. Es sei N die Anzahl von Zellen in einer Zeile und Q die Wahrscheinlichkeit, daß der Fehler in
einem einzigen Zellenpaar nicht aufgedeckt wird, nämlich Q=I-P= 0,25. Da die Zuordnung von Werten zu
Zellen jedoch nach dem Zufallsprinzip gewählt ist, ist
das Ereignis, daß der Fehler in einem Zellenpaar auftritt, unabhängig vom entsprechenden Ereignis in jedem
anderen Zellenpaar längs der Zeile. Die Wahrscheinlichkeit,
daß alle Zellen längs der Zeile einen Fehler
N
nicht feststellen, ist daher Q . Am Beispiel eines 64-K-Speichers: N = 256 und QN = 0,25256 = 7,45 χ ΙΟ"155. Selbst bei einem 1-K-Speieher ist N = 32 und QN = 0,25 = 5,42 χ 10 . Dies ist eine beträchtliche Verbesserung gegenüber der Wahrscheinlichkeit, daß ein Fehler während einer Testsequenz unter Anwendung eines festen statt eines - erfindungsgemäß - nach dem Zufallsprinzip gewählten Sequenzmusters nicht festgestellt wird.
nicht feststellen, ist daher Q . Am Beispiel eines 64-K-Speichers: N = 256 und QN = 0,25256 = 7,45 χ ΙΟ"155. Selbst bei einem 1-K-Speieher ist N = 32 und QN = 0,25 = 5,42 χ 10 . Dies ist eine beträchtliche Verbesserung gegenüber der Wahrscheinlichkeit, daß ein Fehler während einer Testsequenz unter Anwendung eines festen statt eines - erfindungsgemäß - nach dem Zufallsprinzip gewählten Sequenzmusters nicht festgestellt wird.
Dort, wo die Inhalte der betreffenden Zellen fehlerhaft OR- bzw. ODER-verknüpft werden, ist die Analyse die
gleiche, mit der Ausnahme, daß die Fehler in Fällen festgestellt werden, in denen Z(i) und Z(j) 00, 10 und
Ol sind. Die Ergebnisse sind auch die gleichen, wenn
ein gestörter Decodierer in der Durch!aufsequenz nicht
später, wie im beschriebenen Beispiel, sondern früher bemerkbar wird.
Gestörter Spaltenwähler
Es sei bei diesem Beispiel angenommen, daß der Spaltenwähler B gestört ist, wodurch es, trotz bestehender
Funktionsfähigkeit für alle Schreibvorgänge, eine andere
Spalte, A, gibt, mit deren Daten, wenn eine Zelle in ihr ausgelesen wird, die Daten von der entsprechenden
Zelle in Spalte B verknüpft werden, so daß das Verknüpfungsergebnis
am Speicherausgang ausgegeben wird. Die Daten in den eigentlichen Zellen sind also unbeeinflußt.
Je nach Auslegung des Speichers geschieht das Verknüpfen als AND- oder OR-Operation.
Im ersten Fall mit einer OR-Verknüpfung ist die Analyse
ähnlich. Die in Fig. 4 benutzten Symbole sind die gleichen wie weiter oben definiert. Zusätzlich wird durch
"0:1?" angegeben, daß die adressierte Zelle tatsächlich eine 0 enthält, aber beim Auslesen eine 1 zurückgeschickt
hat, bedingt durch die Auswirkung einer anderen Zelle.
Gemäß Fig. 4 werden Fehler in zwei der vier möglichen Wertezuordnungen zu Z(i) und Z(j) gemeldet. Folglich
ist P=Q= 0,5, und die Wahrscheinlichkeit, daß bei N = 256 für eine ganze Spalte keine Fehler gemeldet werden,
beträgt 0,5256 = 8,64 χ 10"78; bei N = 32 ist die
Wahrscheinlichkeit 2,32 χ ΙΟ"10.
Ein dynamischer Kopplungsfehler tritt auf, wenn ein
spezieller Übergang, z.B. von 0 nach 1, bei einer Zelle eine andere Zelle setzt (oder löscht). Dieser Fehler
kann von einer kapazitiven Kopplung zwischen Zellen
ZS
herrühren.
Unter Bezugnahme auf die in Fig. 5 dargestellte Tabelle wird angenommen, daß aufgrund dynamischer Kopplungen
die Zelle j wegen eines Übergangs der Zelle i von 0 nach 1 gesetzt wird. Ein Fehler wird nur in einem Fall
festgestellt, nämlich wenn Z(i) = 0 und Z(j) = 1. Folglich
ist P = 0,25 und Q = 0,75. Die Wahrscheinlichkeit,
daß eine ganze Zeile solcher Fehler nicht aufgedeckt wird, ist QN. Bei einem 1-K-Speicher mit N = 32 ist
die Wahrscheinlichkeit somit QN = 0,7532 = 0,0001004.
Es wird somit deutlich, daß der kurze RAM-Test, mit Anwendung eines Wahrscheinlichkeits-Durchlaufes praktisch
alle Arten von Speicherfehlern mit einer hohen
Wahrscheinlichkeit identifiziert.
Vorzugsweise werden die in die Zellen eingeschriebenen
und danach ausgelesenen Daten nach dem Zufallsprinzip
von einem umschaltbaren Pseudozufal 1sgenerator erzeugt.
Ein Pseudozufailsgenerator ist ein Datengenerator, bei
dem aufeinanderfolgende Daten das Merkmal der Zufälligkeit besitzen, jedoch die Sequenzlänge der Daten, wenngleich
in den meisten Fällen groß, fest ist, und als Funktion eines Kennbegriffs oder "Keims", welcher den
Generator initiiert, wiederholbar ist. Umschaltbare Pseudozufalisgeneratoren sind bekannt, üblicherweise
als Hardware verwirklicht und von mehreren Umlaufschieberegistern gebildet, wie es z.B. von Dixon in
Kap. 3.2 "Linear Code Generator Configurations" (Konfigurationen von Linearcodegeneratoren), in "Spread Spectrum Systems",
John Wiley & Sons, Inc., 1976, beschrieben ist. Jedoch ist der Pseudozufal 1scodegenerator vorzugsweise
Software-implementiert, wie nachstehend beschrieben.
Der Codegenerator kann somit 32 Software-implementierte
Zufallszahlengeneratoren in Form von parallelen Schieberegistern
mit Rückkopplung umfassen, die ein Polynom,
•3-3 \"\
z.B. X - X - 1 oder möglicherweise ein Polynom höherer
Ordnung erzeugen. Jedes Bit durchläuft unter Benutzung des als Beispiel angegebenen Polynoms eine
gleiche Zykluslänge von 2-1; der Keim beeinflußt nur den Ausgangspunkt. Wenngleich es scheinen mag, daß der
Keim willkürlich ausgewählt werden kann, wurde durch Simulation festgestellt, daß der Generator statistische
Prüfungen umso besser besteht, je besser die Qualität des Keimes ist. Bei Versuchen wurden die besten Ergebnisse
erzielt, wenn Wörter vom (durch Maskieren mit 0X7f800000 ausgewählten) höchstwertigen Byte des Ausgangs
einer UNIX-C-Bibliotheksfunktion Rand () zusammengestückelt
wurden, die auf der in der Programmiersprache C geschriebenen Anweisung basiert:
return ((randx = randx*ll3515245 + 12345) &
0X7ffffffff).
Eine andere Möglichkeit besteht darin, die zum Generieren von 32 Bit-Werten modifizierte UNIX C-Bibliotheksfunktion
Random zum Generieren der Keimwerte zu benutzen. Auf diese Weise erstellt der Software-implementierte
Pseudozufallsgenerator ein SHFTRG genanntes, 64
Wörter langes Datenfeld (array), bei dem die unteren 33 Eingänge mit Zufallszahlen initialisiert sind. Sodann
wird zum Aufwärtsabrufen von Adressen Z bei jedem Zyklus in der Programmiersprache C folgendermaßen berechnet:
Z = SHFTRG [ (i + 33) & 0X3fJ = SHFTRG f(i + 13) & 0X3FJ SHFTRG fi & 0X3FJ .
Für die Abwärtssequenz wird folgendermaßen gerechnet:
SHFTRG fi & 0X3fJ = SHFTRG f(i + 13) & 0X3FJ
(Z = SHFTRG [H + 33) & 0X3fJ)
so
Ein ungefähr gleichförmiges Abtasten der Speicherzellen
kann implementiert werden, wenn die Adressen mit einer Schrittgröße, die etwa das Produkt aus Goldenem
Schnitt, G = ( Vs - D/2 = 0,618033989, und der Speichergröße
beträgt, abgearbeitet werden. Eine gleichförmige Adressierung des Speichers ist auch wünschenswert,
weil bei einer sequentiellen Adressierung eine Tendenz zu verstärkter Aktivität auf den niedrigen
Adreßleitungen besteht, wogegen eine Aktivität auf den hohen Leitungen relativ selten ist. Vorzugsweise sollte
der Speicher mit einer Adreßfunktion A adressiert werden,
die alle Speicherbits im wesentlichen gleichmäßig beansprucht. Eine solche Funktion muß sicherstellen,
daß bei jedem Durchlauf des Tests oder jeder Abtastung auf jede Adresse des Speichers einmal und nur einmal
zugegriffen wird.
Gemäß einer weiteren, wichtigen Ausgestaltung der Erfindung
wird somit eine Adressenfunktion A(i) entwikkelt,
die mit exakt einmaligem Adressieren jeder Speicherzelle alle Adreßleitungen gleichermaßen testet bzw.
anspricht. Der Speicherprüfalgorithmus ist somit
folgendermaßen modifiziert:
for i = 0 to N-I do
MEMORY [AM)J = ZTT7
MEMORY fA(i)J = Z(i)
end for
end for
for i = N-I downto 0 do
if MEMORY [a(i )j / Z(D then error
MEMORyJa(I)J = zTTT
end for
for i = 0 to N-I do
if MEMORY CaIt)J f Z(i) then error
end for
Die Wahl einer zweckdienlichen Adressenfunktion ist im
einzelnen bei Knuth, "The Art of Computer Programming, Vol. 3 - Sorting and Searching", S. 511-513, als Fibonacci
-Kontrol1summieren (Fibonacci hashing) beschrieben.
Die Adressenfunktion muß rasch zu bewerten bzw. auszuwerten sein. Somit ist erfindungsgemäß A(i) = k*i
mod N, worin N die Speichergröße und k teilerfremd mit N ist. Ist N eine Potenz von 2, kann k eine beliebige
ungerade Zahl sein. Zur Erhöhung der Allgemeingültigkeit
kann k eine Zahl ungefähr gleich dem Produkt aus Goldenem Schnitt und der Speichergröße und zur Speichergröße
teilerfremd sein. Dies bewirkt, daß die ersten wenigen geprüften Adressen nahezu gl ei climäßig über
den gesamten Adressierungsbereich des Speichers verteilt
sind. Mit den nachfolgenden Adressen werden die Speicher"löcher" allmählich aufgefüllt, bis der gesamte
Speicher durchgeprüft ist.
Einen zweckdienlichen Wert für k erhält man durch Berechnen
des Terms "k = G*N". Dann wird k so eingestellt, daß es relativ zu N teilerfremd ist. Ist N eine
Potenz von 2, muß k ungeVade sein. Eine allgemeine Regel für willkürliche Speichergrößen ist in dem folgenden
C-Code dargestellt:
while (gcd (k, N != k) k++, worin gcd die Funktion ist:
unsigned long gcd(a,b) unsigned long a,b;
unsigned long temp;
while (a != O) {
temp = a;
a = b%a;
b = temp;
b = temp;
] i
return(b);
Fig. 6 zeigt eine vereinfachte Darstellung einer Implementierung
des schnellen RAM-Testsystems unter Benutzung eines Pseudozufallsgenerators 22, der, wie vorstehend
beschrieben, vorzugsweise Software-implementiert
ist, aber auch Hardware-implementiert sein kann. Mit
dem Pseudozufal 1sgenerator 22 ist schaltungsmäßig ein
AbI aufsteuergerät 20 verbunden, das vorzugsweise ein
herkömmlicher Mikroprozessor ist und dazu dient, entsprechend
dem vorstehend beschriebenen Wahrscheinlichkeits-Durchlauftest
Zufallsdaten in den zu überprüfenden Speicher 10 einzuschreiben und daraus auszulesen.
Der Mikroprozessor 20 gibt über eine Leitung 26 dem Pseudzufallsgenerator 22 einen Schlüssel oder "Keim"
ein, und gibt aus dem Generator 22 ein in einem Datenregister 28 zu speicherndes erstes Zufallswort aus. Der
Mikroprozessor 20 leitet einem Adreß-Kontrol1summierer
30 (address hasher), der die Adressenfunktion entwikkelt,
eine erste Adresse zu, welche in einer von einem Adressenregister 36 dem Speicher 10 zuzuleitenden
Adressensequenz die untere Grenzadresse darstellt. Das vom Generator 22 entwickelte erste Pseudozufal 1swort
wird somit in den Speicher 10 an der Anfangsadresse eingeschrieben, die vom Kontrol1 Summierer 30 als Funktion
der unteren Grenzadresse der Sequenz spezifiziert wurde. Der Mikroprozessor 10 komplementiert dann das
Wort und schreibt es erneut an die adressierte Stelle im zu prüfenden Speichersystem 10. Dieser Vorgang wiederholt
sich für aufeinanderfolgende Adressen der Sequenz bis zur oberen Grenzadresse, bei welcher der
erste Durchlauf bzw. die erste Abtastung gemäß Fig. 2 beendet ist.
Ji
Als nächstes steuert der Mikroprozessor 20 den Pseudozufal
1sgenerator 22 so, daß er die Sequenz von Zufallswörtern
in der umgekehrten Reihenfolge wiederholt, wobei das Speichersystem 10 über den Kontrol1summierer
abwärtsadressiert wird, d.h. die Adressen werden beginnend bei der oberen Grenzadresse zur unteren Grenzadresse
hin abgerufen. Aus dem Datenregister 28 für das Speichersystem 10 ausgelesene Wörter werden mit entsprechenden
Pseudozufallswörtern aus dem Generator 22
im Register 32 verglichen. Unterschiede zwischen den ausgelesenen Daten und den vom Generator 22 entwickelten
entsprechenden Daten sind Hinweis auf einen Speicherfehler, der am Bildschirm 34 anzuzeigen ist. Bei
diesem Lauf werden nach jedem Lesen die zuvor in die Zellen des zu prüfenden Speichersystems 10 eingeschriebenen
Wörter komplementiert, wodurch der in Fig. 2 dargestellte zweite Durchlauf beendet wird.
Schließlich steuert der Mikroprozessor 20 den Pseudozufallssequenzgenerator
22 so, daß er die anfängliche Sequenz von Pseudozufal 1swörtern dem Datenregister 28
zuleitet, wogegen die entsprechenden Wörter im Speicher 10 gelesen, im Register 32 gespeichert und verglichen
werden. Unterschiede zwischen den ausgelesenen Daten und den vom Generator 22 entwickelten entsprechenden
Daten sind Hinweis auf einen Speicherfehler, der am Bildschirm 34 anzuzeigen ist.
Weil die vom Pseudozufal 1sgenerator 22 erzeugte Datensequenz
eine Funktion der dem Generator 22 anfänglich vom Mikroprozessor 20 zugeleiteten Keimdaten ist, kann
der gleiche Test sukzessive auf den Speicher 10 angewandt werden, um eine am Bildschirm 34 sichtbare "Speichersignatur"
zu entwickeln. Dies ermöglicht es einem Techniker, am Bildschirm 34 festzustellen, ob das Fehlerprofil
für jeden Speicherchip 12 stabil ist, und so
die Güte des Speichers zu bewerten. Ferner ist es entweder durch Einüben des Technikers oder durch eine
Softwareanalyse möglich, aus dem Profil eine Fehlerhypothese zu bestimmen. Wenn z.B. alle Fehler einen
einzelnen Chip eines zu prüfenden Chipsystems betreffen, dann ist dieser Chip wahrscheinlich fehlerhaft.
Wenn alle geprüften Chips ein ähnliches Fehlerprofil zeigen, aus den Profilen aber ersichtlich ist, daß
Fehler nur bei ungeraden Adressen auftreten, dann ist vermutlich eine hängengebliebene Adreßleitung die Ursache.
Durch Verarbeiten von Zufallsbits innerhalb eines
schnellen RAM-Tests gemäß der Erfindung werden somit die meisten Arten von Speicherfehlern mit hoher Wahrscheinlichkeit
und in kurzer Zeit identifiziert. Die
Wahrscheinlichkeit, daß alle Fehler identifiziert werden,
kann weiter erhöht werden, indem der Wahrschein-1ichkeits-Durchlauftest
unter Verwendung verschiedener Keime wiederholt wird. Außerdem besteht bei der in den
Test eingegliederten Adressenfunktion die Tendenz, alle
hohen Adreßleitungen gleichermaßen zu testen, und dadurch
wird die Wahrscheinlichkeit der Fehleridentifikation
weiter verbessert.
Claims (1)
- Ansprüche1.Verfahren zur Fehlerprüfung eines Direktzugriffsspeicher-Systems mit mehreren Speicherzellen, von denen jede mit einem Namen eineindeutig adressierbar ist, gekennzeichnet durch folgende Schritte: Einschreiben von Zufallsbits in die Zellen;Auslesen der Bits;und in Abhängigkeit davon Identifizieren von Speicherfehl ern.2.Verfahren nach Anspruch 1,gekennzeichnet durch folgende Schritte: Einschreiben der Zufallsbits nacheinander in die Zellen entsprechend einer ersten Sequenz von Zellenadressen ;Auslesen der Zelleninhalte (Bits) entsprechend einer mit der ersten in Beziehung stehenden zweiten Sequenz von Zellenadressen;Vergleichen der ausgelesenen Inhalte mit erwarteten Inhaltenund, in Abhängigkeit davon, Identifizieren von Speicherfehlern .Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch folgende Schritte:Einschreiben von Zufallsbits nacheinander in die ZeI-Ten entsprechend einer ersten Sequenz von Zellenadressen ;Auslesen und dann Komplementieren der Zelleninhalte entsprechend einer zweiten Sequenz von Zellenadressen ;Auslesen der Zelleninhalte entsprechend einer dritten, der zweiten entgegengesetzten Sequenz von Zellenadressen;Vergleichen der aus den Zellen ausgelesenen Inhalte mit erwarteten Zelleninhaltenund, in Abhängigkeit davon, Identifizieren von Speicherfehl ern .4.Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch folgende Schritte:Einschreiben von Zufallsbits und dann ihrer Komplemente nacheinander in die Zellen entsprechend einer ersten Sequenz von Zeilenadressen ;
Auslesen der Zelleninhalte und dann Komplementieren der Inhalte entsprechend einer zweiten, der ersten entgegengesetzten Sequenz von Zellenadressen; Auslesen der Zelleninhalte entsprechend einer dritten, der ersten entgegengesetzten Sequenz von Zellenadressen;Vergleichen der aus den Zellen ausgelesenen Inhalte mit erwarteten Inhaltenund, in Abhängigkeit davon, Identifizieren von Speicherfehlern .5.Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch folgende Schritte:Einschreiben von Zufallsbits nacheinander in die ZeI-len und dann Komplementieren der Bits entsprechend einer ersten Sequenz von Zeilenadressen; Auslesen der Zelleninhalte und dann Komplementieren der Inhalte entsprechend einer zweiten, der ersten entgegengesetzten Sequenz von Zeilenadressen ; Einschreiben der genannten Zufallsbits nacheinander in die Zellen entsprechend der ersten Sequenz von Zellenadressen ;Vergleichen der aus den Zellen ausgelesenen Inhalte mit den zuvor in die Zellen eingeschriebenen Zufallsbitsund, in Abhängigkeit davon, Identifizieren von Speicherfehl ern .6.Verfahren nach einem der Ansprüche 1 bis 5, gekennzeichnet durch folgendes Merkmal: Die Speicherzellen werden unter Benutzung einer im wesentlichen gleichmäßig verteilten Sequenz von Zellenadressen adressiert.7.Verfahren nach einem der Ansprüche 1 bis 6, gekennzeichnet durch folgende Merkmale:Die Zufallsbits werden aus Pseudozufal 1ssequenzen erhalten;die Schritte Auslesen und Schreiben werden unter Benutzung der Pseudozufallsbitsequenzen gesteuert.8.Verfahren nach Anspruch 6,
gekennzeichnet durch folgende Merkmale:
Die Pseudozufallsbitsequenzen sind umkehrbar;
die erste und die zweite Sequenz von Zellenadressen sind eine Vorwärts- bzw. eine Rückwärts-Pseudozufal 1ssequenz.9.Verfahren nach Anspruch 7 oder 8,gekennzeichnet durch folgende Merkmale:
Die Sequenz von Pseudozufal 1sbits wird unter Benutzung eines "Keimes" gesteuert;
die Verfahrensschritte werden unter Benutzung eines unterschiedlichen Keimes wiederholt.10.Vorrichtung für die Fehlerprüfung eines Direktzugriffsspeicher-Systems mit mehreren Speicherzellen, von denen jede mit einem Namen eineindeutig adressierbar
ist,gekennzeichnet durch folgende Merkmale:
Eine Einrichtung zum Erzeugen einer Sequenz von Zufall sbits ;eine Einrichtung zum Adressieren der Speicherzellen; eine Einrichtung zum Einschreiben dieser Sequenz von Zufallsbits in die Zellen;eine Einrichtung zum Auslesen der Inhalte der Zellen; eine Einrichtung zum Vergleichen der ausgelesenen Inhalte mit erwarteten Inhalten, um Speicherzellenfehler zu identifizieren;
und eine Einrichtung zum Anzeigen dieser Fehler.11 .Vorrichtung nach Anspruch 10,gekennzeichnet durch folgende Merkmale:Eine Einrichtung zum Erzeugen von als erste oder zwei te Sequenz wählbaren Sequenzen von Zeil enadressen; eine Einrichtung zum Einschreiben der Zufallsbitsequenz in die Zellen entsprechend der ersten Adressensequenz;eine Einrichtung zum Auslesen der Inhalte dieser ZeI-l en entsprechend der zweiten Adressensequenz und zum Vergleichen der ausgelesenen Inhalte mit der Zufallsbitsequenz.12.Vorrichtung nach Anspruch 10 oder 11, gekennzeichnet durch folgende Merkmale: Eine Einrichtung zum Adressieren der Zellen des Speichers entsprechend als erste oder zweite Sequenz wählbaren Adressensequenzen;eine Einrichtung zum Einschreiben der Zufallsbitsequenz in den Speicher entsprechend der ersten Adressensequenz;eine Einrichtung zum Auslesen der Speicherinhalte entsprechend der zweiten Adressensequenz und zum Vergleichen der ausgelesenen Inhalte mit erwarteten Inhalten; und eine Einrichtung, die in Abhängigkeit von der Vergleichseinrichtung Speicherfehler identifiziert.13.
Vorrichtung nach Anspruch 10 oder 11, gekennzeichnet durch folgende Merkmale:Eine Einrichtung zum Adressieren von Zellen der Anordnung mit als erste oder zweite Sequenz wählbaren Adressensequenzen;
ein Prozessor zum- Einschreiben der Zufallsbits nacheinander in die Zellen und dann Komplementieren der Bits entsprechend der ersten Adressensequenz;- Auslesen der Inhalte dieser Zellen und Vergleichen dieser Inhalte mit erwarteten Inhalten entsprechend der zweiten Sequenz von Zeilenadressen , dann Komplementieren der Inhalte;- Auslesen von Inhalten dieser Zellen und Vergleichen dieser Inhalte mit erwarteten Inhalten entsprechend der ersten Adressensequenz;- und Identifizieren von Speicherfehlern in Abhängigkeit von den Vergleichen.14.Vorrichtung nach einem der Ansprüche 10 bis 13, gekennzeichnet durch folgendes Merkmal:Die Einrichtung zum Anzeigen der Fehler umfaßt eine Sichtanzeige.15.Vorrichtung nach einem der Ansprüche 10 bis 14, gekennzeichnet durch folgendes Merkmal: Die Einrichtung zum Erzeugen einer Bitsequenz umfaßt einen Pseudozufallsbitgenerator.16.Vorrichtung nach Anspruch 15,
gekennzeichnet durch folgendes Merkmal:Eine Einrichtung zum Steuern eines "Keimes" der Pseu· dozufal 1sbitsequenz.17.05 Vorrichtung nach einem der Ansprüche 10 bis 16, gekennzeichnet durch folgendes Merkmal: Die Einrichtung zum Adressieren umfaßt eine Einrichtung zum Erzeugen von im wesentlichen gleichförmigen Adressen
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/708,749 US4715034A (en) | 1985-03-04 | 1985-03-04 | Method of and system for fast functional testing of random access memories |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3607015A1 true DE3607015A1 (de) | 1986-09-04 |
Family
ID=24847047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863607015 Withdrawn DE3607015A1 (de) | 1985-03-04 | 1986-03-04 | Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern |
Country Status (6)
Country | Link |
---|---|
US (1) | US4715034A (de) |
JP (1) | JPS61202255A (de) |
CN (1) | CN1006095B (de) |
DE (1) | DE3607015A1 (de) |
FR (1) | FR2578347B1 (de) |
GB (1) | GB2172128B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0281740A2 (de) * | 1987-02-13 | 1988-09-14 | International Business Machines Corporation | Speicher und deren Prüfung |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868823B1 (en) * | 1984-08-31 | 1999-07-06 | Texas Instruments Inc | High speed concurrent testing of dynamic read/write memory array |
DE3634352A1 (de) * | 1986-10-08 | 1988-04-21 | Siemens Ag | Verfahren und anordnung zum testen von mega-bit-speicherbausteinen mit beliebigen testmustern im multi-bit-testmodus |
US4782486A (en) * | 1987-05-14 | 1988-11-01 | Digital Equipment Corporation | Self-testing memory |
US4782487A (en) * | 1987-05-15 | 1988-11-01 | Digital Equipment Corporation | Memory test method and apparatus |
DE3718182A1 (de) * | 1987-05-29 | 1988-12-15 | Siemens Ag | Verfahren und anordnung zur ausfuehrung eines selbsttestes eines wortweise organisierten rams |
US4873705A (en) * | 1988-01-27 | 1989-10-10 | John Fluke Mfg. Co., Inc. | Method of and system for high-speed, high-accuracy functional testing of memories in microprocessor-based units |
US4876684A (en) * | 1988-02-11 | 1989-10-24 | John Fluke Mfg. Co., Inc. | Method of and apparatus for diagnosing failures in read only memory systems and the like |
US5033048A (en) * | 1988-04-01 | 1991-07-16 | Digital Equipment Corporation | Memory selftest method and apparatus same |
EP0366757B1 (de) * | 1988-04-01 | 1995-07-19 | Digital Equipment Corporation | Verfahren und vorrichtung zum speicherselbsttest |
US4903266A (en) * | 1988-04-29 | 1990-02-20 | International Business Machines Corporation | Memory self-test |
US4965799A (en) * | 1988-08-05 | 1990-10-23 | Microcomputer Doctors, Inc. | Method and apparatus for testing integrated circuit memories |
GB2222461B (en) * | 1988-08-30 | 1993-05-19 | Mitsubishi Electric Corp | On chip testing of semiconductor memory devices |
US4980888A (en) * | 1988-09-12 | 1990-12-25 | Digital Equipment Corporation | Memory testing system |
GB2228113B (en) * | 1989-02-10 | 1993-01-27 | Plessey Co Plc | Circuit arrangement for verifying data stored in a random access memory |
US5222067A (en) * | 1990-03-08 | 1993-06-22 | Terenix Co., Ltd. | Detection of pattern-sensitive faults in RAM by use of M-sequencers |
EP0446534A3 (en) * | 1990-03-16 | 1992-08-05 | John Fluke Mfg. Co., Inc. | Method of functionally testing cache tag rams in limited-access processor systems |
EP0460352B1 (de) * | 1990-06-07 | 1995-11-02 | International Business Machines Corporation | System zur Reduzierung von Prüfdatenspeichern |
JPH04271445A (ja) * | 1990-08-02 | 1992-09-28 | Internatl Business Mach Corp <Ibm> | メモリ・テスト装置 |
US5377148A (en) * | 1990-11-29 | 1994-12-27 | Case Western Reserve University | Apparatus and method to test random access memories for a plurality of possible types of faults |
US5974570A (en) * | 1990-12-01 | 1999-10-26 | Hitachi, Ltd. | Method for managing data processing system and high-reliability memory |
AU660011B2 (en) * | 1991-04-26 | 1995-06-08 | Nec Corporation | Method and system for fault coverage testing memory |
DE4227281C1 (de) * | 1992-08-18 | 1994-02-10 | Siemens Ag | Anordnung zum Testen eines Speichers nach dem Selbsttestprinzip |
JP3645578B2 (ja) * | 1992-09-17 | 2005-05-11 | テキサス インスツルメンツ インコーポレイテツド | スマート・メモリの組込み自己検査のための装置と方法 |
FR2697663B1 (fr) * | 1992-10-30 | 1995-01-13 | Hewett Packard Cy | Circuit de test de mémoire. |
US5471482A (en) * | 1994-04-05 | 1995-11-28 | Unisys Corporation | VLSI embedded RAM test |
US5511164A (en) * | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
US5588046A (en) * | 1995-10-23 | 1996-12-24 | Casio Phonemate, Inc. | Digital telephone answering device and method of testing message storage memory therein |
US5883844A (en) * | 1997-05-23 | 1999-03-16 | Stmicroelectronics, Inc. | Method of stress testing integrated circuit having memory and integrated circuit having stress tester for memory thereof |
US6339834B1 (en) * | 1998-05-28 | 2002-01-15 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre | Interleaving with golden section increments |
GB2370126B (en) * | 2000-07-18 | 2004-01-21 | Sgs Thomson Microelectronics | Memory testing |
US6694461B1 (en) * | 1999-07-26 | 2004-02-17 | Ati International Srl | System and method for testing integrated memories |
US6532571B1 (en) * | 2000-01-21 | 2003-03-11 | International Business Machines Corporation | Method to improve a testability analysis of a hierarchical design |
US6728911B1 (en) | 2000-11-16 | 2004-04-27 | Utstarcom, Inc. | System and method for testing memory systems |
US6799291B1 (en) * | 2000-11-20 | 2004-09-28 | International Business Machines Corporation | Method and system for detecting a hard failure in a memory array |
US7200759B2 (en) * | 2001-06-08 | 2007-04-03 | Safenet B.V. | Method and device for making information contents of a volatile semiconductor memory irretrievable |
DE10161042B4 (de) * | 2001-12-12 | 2004-02-05 | Infineon Technologies Ag | Verfahren zum Betreiben eines Halbleiterspeichers und Halbleiterspeicher |
US7216270B1 (en) | 2004-05-14 | 2007-05-08 | National Semiconductor Corporation | System and method for providing testing and failure analysis of integrated circuit memory devices |
US7346816B2 (en) * | 2004-09-29 | 2008-03-18 | Yen-Fu Liu | Method and system for testing memory using hash algorithm |
US7634696B2 (en) * | 2005-03-03 | 2009-12-15 | Sigmatel, Inc. | System and method for testing memory |
US7472337B2 (en) * | 2005-03-22 | 2008-12-30 | Cummins, Inc. | Method and system for detecting faults in an electronic engine control module |
JP2007241840A (ja) * | 2006-03-10 | 2007-09-20 | Toshiba Corp | メモリ診断装置、メモリ診断方法、及びメモリ診断システム |
JP5302050B2 (ja) * | 2009-03-04 | 2013-10-02 | 富士通株式会社 | 障害解析のためのトレース装置およびトレース方法 |
ITTO20110355A1 (it) * | 2011-04-21 | 2012-10-22 | Red S R L | Struttura di appoggio, in particolare per un veicolo |
JP5986474B2 (ja) * | 2012-09-28 | 2016-09-06 | 株式会社東芝 | メモリ故障診断装置、メモリ故障診断方法 |
US9418759B2 (en) * | 2014-05-06 | 2016-08-16 | Intel IP Corporation | Assist circuits for SRAM testing |
CN105702299B (zh) * | 2015-12-30 | 2018-09-28 | 工业和信息化部电子第五研究所 | 存储器单元失效检测方法与系统 |
CN106201434B (zh) * | 2016-07-05 | 2018-07-10 | 南通理工学院 | 可逆随机数生成器 |
US10510431B2 (en) * | 2017-09-22 | 2019-12-17 | Qualcomm Incorporated | Detecting random telegraph noise defects in memory |
US10658067B2 (en) * | 2018-05-14 | 2020-05-19 | Micron Technology, Inc. | Managing data disturbance in a memory with asymmetric disturbance effects |
CN112098770B (zh) * | 2020-08-20 | 2024-06-14 | 深圳市宏旺微电子有限公司 | 针对动态耦合故障模拟极端环境下的测试方法和装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3579199A (en) * | 1969-02-03 | 1971-05-18 | Gen Motors Corp | Method and apparatus for fault testing a digital computer memory |
US3751649A (en) * | 1971-05-17 | 1973-08-07 | Marcrodata Co | Memory system exerciser |
US3719929A (en) * | 1971-08-11 | 1973-03-06 | Litton Systems Inc | Memory analyzers |
US3719885A (en) * | 1971-12-13 | 1973-03-06 | Ibm | Statistical logic test system having a weighted random test pattern generator |
US3924181A (en) * | 1973-10-16 | 1975-12-02 | Hughes Aircraft Co | Test circuitry employing a cyclic code generator |
US3961252A (en) * | 1974-12-20 | 1976-06-01 | International Business Machines Corporation | Testing embedded arrays |
NL7416755A (nl) * | 1974-12-23 | 1976-06-25 | Philips Nv | Werkwijze en inrichting voor het testen van een digitaal geheugen. |
US4125763A (en) * | 1977-07-15 | 1978-11-14 | Fluke Trendar Corporation | Automatic tester for microprocessor board |
GB2028517A (en) * | 1978-08-22 | 1980-03-05 | Catt I | Testing digital circuits |
US4195770A (en) * | 1978-10-24 | 1980-04-01 | Burroughs Corporation | Test generator for random access memories |
US4222514A (en) * | 1978-11-30 | 1980-09-16 | Sperry Corporation | Digital tester |
US4414665A (en) * | 1979-11-21 | 1983-11-08 | Nippon Telegraph & Telephone Public Corp. | Semiconductor memory device test apparatus |
FR2474226B1 (fr) * | 1980-01-22 | 1985-10-11 | Thomson Csf | Dispositif de test pour enregistreur numerique multipiste |
US4342084A (en) * | 1980-08-11 | 1982-07-27 | International Business Machines Corporation | Main storage validation means |
US4429389A (en) * | 1981-05-26 | 1984-01-31 | Burroughs Corporation | Test pattern address generator |
US4442519A (en) * | 1982-03-05 | 1984-04-10 | International Business Machines Corporation | Memory address sequence generator |
US4503537A (en) * | 1982-11-08 | 1985-03-05 | International Business Machines Corporation | Parallel path self-testing system |
US4513418A (en) * | 1982-11-08 | 1985-04-23 | International Business Machines Corporation | Simultaneous self-testing system |
-
1985
- 1985-03-04 US US06/708,749 patent/US4715034A/en not_active Expired - Fee Related
- 1985-11-19 GB GB8528483A patent/GB2172128B/en not_active Expired
- 1985-11-25 FR FR858517408A patent/FR2578347B1/fr not_active Expired - Fee Related
-
1986
- 1986-01-29 JP JP61015975A patent/JPS61202255A/ja active Pending
- 1986-03-04 CN CN86102265.3A patent/CN1006095B/zh not_active Expired
- 1986-03-04 DE DE19863607015 patent/DE3607015A1/de not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0281740A2 (de) * | 1987-02-13 | 1988-09-14 | International Business Machines Corporation | Speicher und deren Prüfung |
EP0281740A3 (en) * | 1987-02-13 | 1990-05-09 | International Business Machines Corporation | Memories and the testing thereof |
Also Published As
Publication number | Publication date |
---|---|
JPS61202255A (ja) | 1986-09-08 |
US4715034A (en) | 1987-12-22 |
GB2172128B (en) | 1989-05-17 |
FR2578347A1 (fr) | 1986-09-05 |
FR2578347B1 (fr) | 1992-09-04 |
CN1006095B (zh) | 1989-12-13 |
GB2172128A (en) | 1986-09-10 |
GB8528483D0 (en) | 1985-12-24 |
CN86102265A (zh) | 1986-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3607015A1 (de) | Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern | |
DE3788487T2 (de) | Integrierte Schaltung mit Speicherselbstprüfung. | |
DE60220511T2 (de) | Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher | |
DE69116919T2 (de) | Selbsttestverfahren für inhaltsadressierbare Speicher | |
DE2555435C2 (de) | Monolithische hochintegrierte Halbleiterschaltung | |
DE69107463T2 (de) | Integrierte Schaltung, System und Verfahren zur Fehlererzeugung. | |
DE69825234T2 (de) | Verfahren und vorrichtung zur selbstprüfung von multi-port-rams | |
DE69114881T2 (de) | Analysevorrichtung zur Rettung von Halbleiterspeicherfehlern. | |
DE69802663T2 (de) | Hochgeschwindigkeitsprüfsystem für speichereinrichtung | |
DE3886038T2 (de) | Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält. | |
DE69209404T2 (de) | Selbsttest integrierter Schaltungen mit hybriden Mustern | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE60116046T2 (de) | Eingebaute Selbsttestschaltung mit einem Schieberegister mit linearer Rückkopplung | |
DE69323681T2 (de) | Stressprüfung für Speichernetzwerke in integrierten Schaltungen | |
DE2550342C2 (de) | Schaltungsanordnung zur Prüfung von Matrixanordnungen | |
DE2555439A1 (de) | Monolithische hochintegrierte halbleiterschaltung | |
DE3906494C2 (de) | ||
DE3901579A1 (de) | Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind | |
DE10315248A1 (de) | Eingebaute Selbsttestschaltung | |
DE4011935C2 (de) | ||
DE69912545T2 (de) | Schaltkreis mit einer einheit zum testen von verbindungen und ein verfahren zum testen von verbindungen zwischen einem ersten und zweiten elektronischen schaltkreis | |
DE2515099A1 (de) | Schaltung zur staendigen erzeugung eines longitudinalen paritaetswortes fuer den hauptspeicher eines digitalen rechenautomaten | |
DE69419269T2 (de) | Verfahren zur automatischen Ermittlung von offenen Schaltkreisen | |
DE69323076T2 (de) | Verfahren zur Erkennung fehlerhafter Elemente eines redundanten Halbleiterspeichers | |
DE10226948A1 (de) | Vorrichtung und Verfahren für eine eingebaute Zufallsmusterselbstprüfung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: LIECK, H., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8141 | Disposal/no request for examination |