DE69518468T2 - Verfahren zum Testen von grossen Speichermatrizen während Systeminitialisation - Google Patents

Verfahren zum Testen von grossen Speichermatrizen während Systeminitialisation

Info

Publication number
DE69518468T2
DE69518468T2 DE69518468T DE69518468T DE69518468T2 DE 69518468 T2 DE69518468 T2 DE 69518468T2 DE 69518468 T DE69518468 T DE 69518468T DE 69518468 T DE69518468 T DE 69518468T DE 69518468 T2 DE69518468 T2 DE 69518468T2
Authority
DE
Germany
Prior art keywords
address
array
checking
errors
contents
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.)
Expired - Fee Related
Application number
DE69518468T
Other languages
English (en)
Other versions
DE69518468D1 (de
Inventor
Stephen J. Sicola
Wayne H. Umland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of DE69518468D1 publication Critical patent/DE69518468D1/de
Application granted granted Critical
Publication of DE69518468T2 publication Critical patent/DE69518468T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft digitale Computersysteme im allgemeinen und insbesondere ein Verfahren zur Überprüfung eines großen Speicherfeldes eines digitalen Computersystems.
  • Hintergrund der Erfindung
  • Wenn ein digitales Computersystem beim Einschalten oder bei einem Neustart (Reset) initialisiert wird, wird üblicherweise der gesamte Systemspeicher auf Fehler sowohl hinsichtlich der Adressleitungen als auch der Daten überprüft. Dies wird üblicherweise erreicht, indem an jeden Speicherplatz beginnend bei der untersten Adresse und endend bei der höchsten Adresse ein eindeutiges Datenmuster geschrieben wird. Die Inhalte eines jeden Platzes werden dann gelesen und mit den erwarteten Daten vergli
  • Text fehlt
  • korrekt ist. In jeden Speicherplatz kann dann das Inverse des Musters in derselben aufsteigenden oder sogar absteigenden Reihenfolge geschrieben werden. Das Datenmuster wird dann wiederum gelesen und verglichen, um eine korrekte Adressierung und die Datenintegrität sicherzustellen. Obwohl ein Verfahren der oben beschriebenen Art sowohl Fehler der Adressleitungen als auch einen Großteil von Datenfehlern innerhalb des Feldes detektiert, macht die durch ein solches Testverfahren zur Überprüfung eines großen Speicherfeldes benötigte Zeit diesen Ansatz für einen Systembenutzer inakzeptabel.
  • Daher besteht ein Bedürfnis nach einem verbesserten Verfahren zur Erzielung einer reduzierten Initialisierungszeit ohne Beeinträchtigung des Ausmaßes der im Test abgedeckten kritischen Fehler und ohne Begrenzung der Systemleistung während der Überprüfung großer Speicherfelder.
  • In der EP-A-0 442 651 ist ein System offenbart, welches beim Hochfahren anfänglich einen Speichertest nur auf einem Unterblock des Systemspeichers ausführt. Sobald dieser Unterblock überprüft worden ist, wird ein Betriebssystem in diesen Unterblock geladen, und der übrige Systemspeicher wird während des normalen Betriebs des Systems überprüft.
  • Zusammenfassung der Erfindung
  • Die Erfindung besteht in ihrer allgemeinsten Form aus einem Verfahren gemäß Anspruch 1 zur Überprüfung eines großen Speicherfeldes während der Systeminitialisierung.
  • Im folgenden wird ein Verfahren zur Überprüfung eines großen Speicherfeldes eines digitalen Computersystems durch ein verbessertes Verfahren beschrieben, welches das gesamte Feld nach kritischen steckenbleibenden Fehlern (stuck-at faults) in Adressleitungen überprüft, die möglicherweise unerkannte Fehler in der Betriebsfirmware verursachen könnten.
  • Ferner wird ein Verfahren gelehrt zur Überprüfung der Integrität individueller Speicherzellen des gesamten Feldes ohne eine signifikante Verzögerung des Beginns der Systemoperation.
  • In einem weiten Sinne werden die oben genannten und andere Ziele durch ein Speichertestverfähren erreicht, welches zuerst die Adressierungshardware des gesamten Speicherfeldes überprüft und dann einen ersten Abschnitt des Speicherfeldes. Während betriebsbereite Firmware in den ersten getesteten Abschnitt geladen und ihre Ausführung hieraus begonnen wird, werden die übrigen Adressorte des Feldes in einem Hintergrundprozess überprüft. Beginnend bei der letzten Adresse des ersten Abschnittes werden sequentielle Abschnitte des Speichers überprüft und dem Funktionscode übergeben, wenn die Überprüfung abgeschlossen ist.
  • Das verbesserte Testverfahren der vorliegenden Erfindung gewährleistet mehrere Vorteile. Es verläuft sequentiell in der Zeit, so dass irgendwelche potentiellen steckenbleibende Fehler in den Adressleitungen des Feldes detektiert werden, bevor das extensivere (und zeitaufwendigere) Überprüfen individueller Speicherzellen durchgeführt wird. Der zuletzt genannte Test wird auf einem ersten Abschnitt des Feldes durchgeführt, welcher groß genug ist, um das Starten des Funktionscodes zu ermöglichen, und der Rest wird als Hintergrundaufgabe überprüft, welche erfolgreich getestete Teile des Speicherfeldes im Laufe der Zeit der Betriebsfirmware übergibt. Das Testverfahren ist demnach in Hinblick darauf entworfen, die Verzögerungen zu reduzieren, welche aufgrund der Speicherüberprüfung mit einer Startsequenz des Systems verbunden sind, und auf die Beschleunigung der Verfügbarkeit von Systemspeicher zur Benutzung durch Funktionssoftware.
  • Kurze Beschreibung der Zeichnungen
  • Ein genaueres Verständnis der Erfindung kann aus der folgenden Beschreibung einer bevorzugten Ausgestaltung gewonnen werden, welche beispielhaft in Verbindung mit den zugehörigen Figuren beschrieben wird. Hierbei zeigen:
  • Fig. 1: ein Blockdiagramm eines vereinfachten Computersystems mit einem Lese-/Schreibspeicherfeld, das durch ein erfindungsgemäßes Testverfahren überprüft werden kann;
  • Fig. 2: ein Flussdiagramm eines Testverfahrens gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • Fig. 3: ein Blockdiagramm eines Computersystems mit einem Speichercontroller-Subsystem, welches einen Cache-Speicher enthält, der mit einem Testverfahren gemäß einer bevorzugten Ausgestaltung der vorliegenden Erfindung überprüft werden kann;
  • Fig. 4: ein detailliertes Blockdiagramm des Speichercontroller-Subsystems aus Fig. 3;
  • Fig. 5: ein detailliertes Flussdiagramm der Schritte 34 und 36 des Testverfahrens von Fig. 2;
  • Fig. 6: ein detailliertes Flussdiagramm des Schrittes 42 des Testverfahrens von Fig. 2;
  • Fig. 7: ein detailliertes Flussdiagramm des Schrittes 48 des Testverfahrens von Fig. 2.
  • Beschreibung der bevorzugten Ausgestaltung
  • Entsprechend Fig. 1 enthält ein Computersystem 10 einen nicht flüchtigen Speicher 12, ein Lese-/Schreibspeicherfeld 14 und eine Massenspeichereinheit 16, welche alle über einen Hauptbus (Host Bus) mit einer CPU 18 verbunden sind. Peripheriegeräte (zum Beispiel Drucker, Terminals, Netzwerkeinrichtungen, etc.), welche typischerweise in einem Computersystem enthalten sind, sind dem Fachmann bekannt und nicht dargestellt, da sie keinen direkten Bezug zur vorliegenden Erfindung haben. Der nicht flüchtige Speicher 12 ist der Ort, wo permanente Programme ausgeführt werden und unveränderliche Daten enthalten sind. Er speichert ferner grundlegende Ein-/Ausgaberoutinen (I/O) des Betriebssystems und unveränderliche Daten über Systemparameter. Das Lese-/Schreibspeicherfeld 14 ist der Ort, wo temporäre Daten gespeichert und variable Programme (zum Beispiel Anwendungen) durch die CPU 18 ausgeführt werden, wenn sie von der Massenspeichereinheit 16 geladen wurden. Der nicht flüchtige Speicher 12 und das Lese-/Schreibspeicherfeld 14 sind direkt von der CPU 18 erreichbar, während die Massenspeichereinheit 16, die für Kurz-/Langzeitspeicherung und Archivierung verwendet wird, als sekundäre Quelle von Programmen und Daten betrachtet wird. Ein hierarchisches System von Massenspeichervorrichtungen innerhalb der Massenspeichereinheit 16 kann Festplatten enthalten, welche von spezialisierteren Speichersystemen wie zum Beispiel entfernbaren Bändern, RAM-Disketten, Cache-Speicher, lokalem Prozessorspeicher, optischen Speicherplatten und Bandgeräten unterstützt werden.
  • Die Initialisierung des Computersystems 12 kann durch einen Einschaltzyklus (power cycle), einen Software-Reset oder durch einen Benutzer hervorgerufen werden. In Fig. 2 veranschaulicht ein Flussdiagramm die bevorzugten Schritte der Initialisierung bei der vorliegenden Erfindung. Bei einem Einschalten oder einem Reset 30 beginnt die CPU 18 die Initialisierung 32 mit der Ausführung eines Selbsttestes und durch Ausführung eines Urladerprogramms (bootstrap program), welches im nicht flüchtigen Speicher 12 liegt. Nachdem dies vollendet ist, testet die CPU das gesamte Lese-/Schreibspeicherfeld gemäß Schritt 34 auf Adressierungsfehler. Wenn die Überprüfung auf Fehler der Adressleitung abgeschlossen ist, wird ein erster Teil des Lese-/Schreibspeicherfeldes in Schritt 36 auf Fehler der Adressleitung und der Daten überprüft. Nachdem die Überprüfung gemäß Schritt 36 ausgeführt worden ist, ruft die CPU einen gleichzeitig laufenden Prozess 38 auf. Das Betriebssystem (OS) wird gemäß Schritt 40 in den vollständig getesteten ersten Abschnitt geladen, und der verbleibende Teil des in Schritt 36 noch nicht getesteten Lese-/Schreibspeicherfeldes wird in Schritt 42 in einem Hintergrundprozess geprüft. Nachdem das OS geladen worden ist, wird die Anwendungssoftware heruntergeladen und beginnt in Schritt 44 mit der Ausführung. Während der Ausführung der Schritte 40 und 44 wird der nächste im Hintergrundprozess überprüfte Abschnitt des Feldes nach der Überprüfung für die Benutzung durch den Funktionscode freigegeben 46, und der Speichertest im Hintergrund wiederholt sich in 48 für aufeinanderfolgende Abschnitte des Restes des Feldes, bis der Rest vollständig überprüft worden ist. Die Speicherüberprüfung im Hintergrund endet 50 dann und schließt so den Initialisierungsprozess für das Computersystem 10 von Fig. 1 ab. Weitere Einzelheiten des Testverfahrens werden später diskutiert werden.
  • Eine komplexere Systemumgebung, welche das erfindungsgemäße Verfahren einsetzen kann, ist in den Fig. 3 und 4 gezeigt. Ein DSSI-basiertes Computersystem 60 gemäß Fig. 3 hat einen DSSI-Bus 62, welcher die Host CPUs 64 verbindet, und Speichercontroller-Subsysteme 66 in dualer (und "failover") Konfiguration. Alternativ könnte die Host-Verbindung eine andere Art von Bus sein (zum Beispiel CI, SCSI, FDDI, etc.). Das Speichercontroller-Subsystem 66 von Fig. 3 enthält einen Cache-Speicher (dargestellt als ein Modul in gestrichelten Linien). Das Speichercontroller-Subsystem 66 ist detaillierter in Fig. 4 dargestellt.
  • Gemäß Fig. 4 verbindet das Speichercontroller-Subsystem 66 den DSSI-Bus 62 von Fig. 3 (einfacher Pfad) über eine Host-Port-Schnittstelle 70 mit einem oder mehreren SCSI-2 Geräteports 72. Das Controller-Subsystem enthält weiterhin einen Policy-Prozessor 74 und seinen externen Befehls-/Daten- (I/D-) Cache 76. Einen Maschinenbus 78 (nativ bus), der vom Policy-Prozessor verwendet wird, teilen sich mehrere Speichereinrichtungen - Diagnoseregister 80, ein Programmspeicher 82, ein nicht flüchtiges RAM 84 - und ein Kommunikationsport 86. Der Programmspeicher 82 enthält die Firmware für den Controller und wird jedesmal eingesetzt, wenn das Controller-Subsystem bootet. Das nicht flüchtige RAM 84 speichert Parameterinformation, welche von einem Benutzer und durch die Controllersoftware eingegeben wird. Der Kommunikationsport 82 wird für ein Terminal einer Controllerkonsole verwendet.
  • Das Controller-Subsystem enthält ferner einen gemeinsamen Speicher 86, welcher einen Speichercontroller und einen Pufferspeicher umfasst, und einen Cache-Speicher 88. Der Cache-Speicher 88 enthält ein großes Speicherfeld. Die Verwendung von 20 MBit DRAMs (organisiert als 4 M · 4) würde beispielsweise eine Kapazität von 16 MBytes/Bank oder 32 MBytes/Modul ergeben. DRAM Speicherschaltkreise sind dem Fachmann wohlbekannt. Daher ist das interne Speicherfeld mit den Adressen-/Daten- und Steuerleitungen nicht gezeigt. Die verschiedenen Busse, die den gemeinsamen Speicher 86 und den Cache-Speicher 88 enthalten, sind mit dem Maschinenbus 78 und einem Bus 90, der für einen Zugriff auf die DSSI-Host-Port-Schnittstelle und die seriellen Geräteports verwendet wird, über einen Buskoppler 92 verbunden. Der Buskoppler ist eine Kreuzschiene (crossbar), welche allen Einheiten auf alle Teile des Controller-Subsystems einen schnellen Zugriff gewährleistet. Zusätzlich hängen am Bus 90 ein Bus-Schnittstellen- Logikelement 94, ein Port-Prozessor 96 zur Unterstützung eines low level Geräteports und von Hostport-Operationen, ein Port-Prozessorspeicher 98 und ein Element 100 mit Randlogik verschiedener Art.
  • Die Initialisierung des Controller-Subsystems 66 beginnt im wesentlichen in derselben Weise wie beim Computersystem von Fig. 1. Sie kann über einen Einschaltzyklus, eine Software-Reset oder durch einen Benutzer, der einen Knopf auf dem Bedienungspult des Controller-Subsystems drückt (nicht dargestellt) auftreten. Sie kann lange genug verzögert werden, um die Ausführung eines Cache-Managements zu erlauben und die Integrität der Anwenderdaten sicherzustellen. Nachdem das Controller-Subsystem gebootet worden ist, ist es zu einer Kommunikation mit einer Host CPU 64 (in Fig. 3 dargestellt) bereit.
  • Die Initialisierung des Controller-Subsystems beginnt mit dem Policy-Prozessor 74, welcher einen Selbsttest ausführt und eine Startroutine (boot record) liest, die Adressen von Hardware-Setup-Parametern und Informationen zur Prozesskontrolle enthält. Nach der Initialisierung des Prozessors führt der Code im Programmspeicher 82 eine Selbsttest-Diagnose mit allen Komponenten am Maschinenbus sowie mit dem gemeinsamen Speicher 86 durch. Nachdem dies vollendet ist, wird Code vom Programmspeicher in den gemeinsamen Speicher heruntergeladen, wo er dann verifiziert wird. In den verbleibenden Initialisierungstests werden der I/D-Cache 76, SCSI Geräte und Host Ports und der Cache-Speicher überprüft. Der Cache-Speicher wird entsprechend dem erfindungsgemäßen Testverfahren überprüft, da dieses Speicherfeld möglicherweise sehr groß sein kann, die Überprüfung also die Bootzeit erheblich erhöht.
  • Die Überprüfung des möglicherweise großen Speicherfeldes des Cache-Speichers 88 wird in zwei Teilen ausgeführt. Unter erneuter Bezugnahme auf die Schritte 34 bis 50 des Flußdiagramms in Fig. 2 enthält der erste Teil die Schritte 34 und 36. Der zweite Teil enthält die Schritte 42, 46, 48 und 50.
  • Die Schritte 34 und 36 sind in Fig. 5 detaillierter dargestellt. Entsprechend Fig. 5 beginnt Schritt 34 damit, dass zuerst das gesamte Feld auf auf die Adressierung bezogene Fehler überprüft wird (das heißt Fehler in den Adressleitungen/den Decodierschaltungen). Die Inhalte jeder Adresse des Feldes werden in sequentieller Folge von der niedrigsten zur höchsten Adresse mit einer, Adresse beschrieben 110, welche der beschriebenen Adresse entspricht. Die Inhalte eines jeden Adressortes werden in 112 gelesen und zur Überprüfung 114 mit den geschriebenen Daten verglichen. Wenn die Inhalte der ausgelesenen Adressorte nicht den geschriebenen Adressen gleichen, wird ein Fehler angezeigt. Wenn sie dagegen gleichen, wird die Überprüfung mit Schritt 36 fortgesetzt.
  • Schritt 36 überprüft auf auf die Adressierung bezogene Fehler und auf Datenfehler in einem ersten Abschnitt des Feldes, welches sequentiell von der niedrigsten zur letzten Adresse adressiert wird, wobei die letzte Adresse kleiner als die höchste Adresse ist. Idealerweise sollte die letzte Adresse, welche die Größe des ersten Abschnittes definiert, so ausgewählt sein, dass die Betriebsfirmware genug Speicher hat, zum Beispiel ein erstes Megabyte, um die Ausführung zu beginnen. Die Inhalte jedes Adressortes des Feldes werden in sequentieller Reihenfolge von der niedrigsten Adresse zur letzten Adresse mit einem ersten Datenmuster beschrieben 118. Die Inhalte werden wiederum zurückgelesen 120, um zu verifizieren, dass das erste Datenmuster wie geschrieben ist 122. Wenn kein Fehler festgestellt wird, werden die Inhalte mit einem zweiten Datenmuster beschrieben 124. Die Inhalte werden erneut zurückgelesen 126, um zu verifizieren, dass das zweite Datenmuster wie geschrieben aussieht 128. Wenn als Resultat von Schritt 36 keine Fehler detektiert werden, dann ist der erste Abschnitt des Feldes zur Benutzung durch die Betriebsfirmware des Computersystems bereit.
  • An diesem Punkt der Überprüfung werden gleichzeitig laufende Prozesse wie in Schritt 38 von Fig. 2 aufgerufen. Während die Betriebsfirmware in den getesteten ersten Abschnitt des Feldes geladen wird und von dort im Vordergrund mit der Ausführung beginnt (Schritt 40 von Fig. 2), wird der Rest der Überprüfung in einem Teilprozess oder einem Hintergrundprozess 42 ausgeführt.
  • Bezug nehmend auf das gemäß Fig. 6 expandierte Detail von Schritt 42 wird ein nächster Abschnitt des Feldes, welcher sequentiell adressiert ist von der letzten Adresse zur letzten Adresse + N, wobei N der Anzahl von Adressorten im nächsten Abschnitt des zu überprüfenden Feldes entspricht, auf Adressierungs- und Datenfehler überprüft durch Beschreiben jedes Adressortes in sequentieller Reihenfolge von der letzten Adresse zur letzten Adresse + N mit einem ersten Datenmuster 130 und Auslesen der Inhalte jeden Ortes 132, um das erste Datenmuster zu verifizieren 134. Wenn keine Fehler festgestellt werden, wird dann das zweite Datenmuster geschrieben 136 und zurückgelesen 138, um zu verifizieren, dass es wie geschrieben geblieben ist 140. Wenn als Ergebnis von Schritt 42 keine Fehler festgestellt werden, dann wird dieser getestete "nächste Abschnitt" der Betriebsfirmware zur Benutzung freigegeben. Bezugnehmend auf Fig. 7 werden die Schritte 42 und 46 dann in dem Hintergrundprozess für den nächsten Abschnitt des Feldes wiederholt, wobei die letzte Adresse mit der letzten Adresse + N (zum Beispiel der aktuellen Adresse) aufgefrischt wird 144, bis die letzte Adresse der höchsten Adresse entspricht 142. Nachdem die höchste Adresse erreicht worden ist, ist die Speicherüberprüfung vollendet. Die Zeitersparnisse, welche mit dem Überprüfungsverfahren gemäß der Erfindung des Anmelders erzielt werden können, können mit dem nachfolgenden Beispiel veranschaulicht werden.
  • Betrachtet sei der Fall eines Speichersystems mit einem Byte breiten 32 M Speicherfeld mit einer Lese-/Schreibzeit von 100 ns. N sei die Anzahl von ausgeführten Lese- /Schreibvorgängen und T die Zeitdauer, um welche die Ausführung des Betriebssystems verzögert wird, bevor "überprüfter guter" Speicher verfügbar ist.
  • I. Ein bekanntes Verfahren:
  • a) Schreib 0-32 M Speicherorte Daten = 55 hex (0101 0101) Lies 0-32 M Speicherorte Daten = 55 hex
  • b) Schreib 0-32 M Speicherorte Daten = AA hex (1010 1010) Lies 0-32 M Speicherorte Daten = AA hex
  • **T (bekanntes Verfahren) = (Speichergröße · N) · t_lese/schreib (32 M · 4) · 100 ns 12.8 s
  • II. Verbessertes erfindungsgemäßes Verfahren:
  • a) Schreib 0-32 M Speicherorte Daten = Adresse Lies 0-32 M Speicherorte Daten = Adresse
  • b) Schreib 0-1 M Speicherorte Daten = 55 Lies 0-1 M Speicherorte Daten = 55
  • c) Schreib 0-1 M Speicherorte Daten = AA Lies 0-1 M Speicherorte Daten = AA
  • **T (verbessertes Verfahren) = [(Speichergröße · N) + (Speichergröße · N)] · t_l/s [(32 M · 2) + (1 M · 4)] · 100 ns 6.8 s
  • Das obige Beispiel demonstriert den Nutzen (das heißt die Zeitersparnis), welche mit dem Einsatz des Überprüfungsverfahrens gemäß der vorliegenden Erfindung verbunden ist. Natürlich wird der größte Nutzen bei der Überprüfung großer Speicherfelder erzielt. Zum Beispiel wird die Erhöhung der Speichergröße von 32 M auf 128 M darin resultieren, dass T (bekanntes Verfahren) = 49.2 s und T (verbessertes Verfahren) = 26 s ist. Auf diese Weise können durch Anwendung des erfindungsgemäßen Testverfahrens die Ersparnisse bei der Bootzeit Schritt halten in Bezug auf die ständig zunehmenden Anforderungen an die Speicherkapazität.
  • Obwohl die obige Beschreibung mit Bezug auf eine spezielle Ausgestaltung der Erfindung vorgenommen wurde, ist die Erfindung nicht auf die hierin gezeigte spezielle Ausgestaltung begrenzt. Verschiedene andere Anpassungen und Veränderungen können innerhalb des Rahmens der Erfindung vorgenommen werden.

Claims (3)

1. Verfahren zur Überprüfung eines großen Speicherfeldes eines digitalen Computersystems, enthaltend die Schritte:
- erstens Überprüfung des gesamten Feldes auf auf die Adressierung bezogene Fehler in sequentieller Reihenfolge von einer niedrigsten Adresse zu einer höchsten Adresse, wodurch steckenbleibende Adressierungsfehler im Feld detektiert werden, bevor für das gesamte Feld eine Überprüfung auf Adressleitungs- und Datenfehler ausgeführt wird;
- zweitens Überprüfung eines ersten Abschnittes des Feldes, auf welchen sequentiell von der niedrigsten Adresse zu einer letzten Adresse zugegriffen wird, wobei die letzte Adresse niedriger als die höchste Adresse ist, auf Adressleitungs- und Datenfehler, indem der Inhalt eines jeden Adressortes des Feldes mit einem ersten Datenmuster beschrieben wird und die Inhalte der Adressorte gelesen werden, um zu verifizieren, dass das erste Datenmuster wie geschrieben geblieben ist, und indem dann der Inhalt der Adressorte mit einem zweiten Datenmuster beschrieben wird und der Inhalt des Adressortes gelesen wird, um zu verifizieren, dass das zweite Datenmuster wie geschrieben geblieben ist;
- Bereitstellung des ersten Abschnittes des Feldes zur Verwendung für Betriebsfirmware des Computersystems, falls als Ergebnis des Schrittes der Überprüfung auf Adressleitungs- und Datenfehler keine Fehler detektiert worden sind;
- Beginn der Ausführung der Betriebsfirmware aus dem ersten Abschnitt des Feldes;
- drittens Überprüfung in einem Hintergrundprozess eines nächsten Abschnittes des Feldes, auf welchen sequentiell von der letzten Adresse zu einer letzten Adresse + N zugegriffen wird, wobei N die Anzahl der Adressorte im nächsten zu testenden Abschnitt des Feldes ist, auf Adressleitungs- und Datenfehler, indem an jedem Adressort das erste Datenmuster geschrieben und der Inhalt des Ortes gelesen wird, um zu verifizieren, dass das erste Datenmuster wie geschrieben geblieben ist, und indem dann der Inhalt des Adressortes mit einem zweiten Datenmuster beschrieben und der Inhalt des Adressortes gelesen wird, um zu verifizieren, dass das zweite Datenmuster wie geschrieben geblieben ist; und
- Bereitstellung jenes Abschnittes des Feldes zwischen der letzten Adresse und der letzten Adresse + N an die Betriebsfirmware, falls als Ergebnis des Schrittes der Überprüfung des nächsten Abschnittes des Feldes keine Fehler festgestellt wurden; und
- Wiederholung des Schrittes der Überprüfung des nächsten Abschnittes des Feldes im Hintergrundprozess, wobei die letzte Adresse mit der letzten Adresse + N aufgefrischt wird, bis die letzte Adresse gleich der höchsten Adresse ist.
2. Verfahren zur Überprüfung eines großen Speicherfeldes eines digitalen Computersystems gemäß Anspruch 1, wobei der Schritt der ersten Überprüfung auf auf die Adressierung bezogene Fehler im vollständigen Feld die folgenden Schritte enthält:
- Beschreiben des Inhaltes eines jeden Speicherortes mit einer Adresse, welche dem beschriebenen Adressort entspricht; und
- Auslesen des Inhalts eines jeden Adressortes, um zu verifizieren, dass die ausgelesene Adresse dieselbe wie die geschriebene Adresse ist.
3. Verfahren zur Überprüfung großer Speicherfelder von digitalen Computersystemen gemäß Anspruch 1, wobei das erste Datenmuster ein wiederholtes binäres "0101"-Muster ist und das zweite Datenmuster ein wiederholtes binäres "1010"-Muster ist.
DE69518468T 1994-06-06 1995-06-01 Verfahren zum Testen von grossen Speichermatrizen während Systeminitialisation Expired - Fee Related DE69518468T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/254,816 US5479413A (en) 1994-06-06 1994-06-06 Method for testing large memory arrays during system initialization

Publications (2)

Publication Number Publication Date
DE69518468D1 DE69518468D1 (de) 2000-09-28
DE69518468T2 true DE69518468T2 (de) 2001-05-23

Family

ID=22965700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69518468T Expired - Fee Related DE69518468T2 (de) 1994-06-06 1995-06-01 Verfahren zum Testen von grossen Speichermatrizen während Systeminitialisation

Country Status (3)

Country Link
US (1) US5479413A (de)
EP (1) EP0686981B1 (de)
DE (1) DE69518468T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5589849A (en) * 1989-07-03 1996-12-31 Ditzik; Richard J. Display monitor position adjustment apparatus
US5657443A (en) * 1995-05-16 1997-08-12 Hewlett-Packard Company Enhanced test system for an application-specific memory scheme
US5539878A (en) * 1995-06-16 1996-07-23 Elonex Technologies, Inc. Parallel testing of CPU cache and instruction units
US6279078B1 (en) * 1996-06-28 2001-08-21 Compaq Computer Corporation Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes
US6412082B1 (en) * 1997-12-17 2002-06-25 Sony Corporation Method and apparatus for selecting computer programs based on an error detection mechanism
JP2000021193A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd メモリ試験方法及び装置並びに記憶媒体
SE9802800D0 (sv) * 1998-08-21 1998-08-21 Ericsson Telefon Ab L M Memory supervision
US7085973B1 (en) * 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US7062678B2 (en) * 2002-08-06 2006-06-13 Lsi Logic Corporation Diagnostic memory interface test
US7418636B2 (en) * 2004-12-22 2008-08-26 Alcatel Lucent Addressing error and address detection systems and methods
EP2063432B1 (de) * 2007-11-15 2012-08-29 Grundfos Management A/S Verfahren zum Prüfen eines Arbeitsspeichers
JP2010044635A (ja) * 2008-08-14 2010-02-25 Hitachi Ltd ファイルサーバシステム及びファイルサーバシステム起動方法
WO2011124681A1 (en) * 2010-04-09 2011-10-13 Verigy (Singapore) Pte. Ltd. Method and automatic test equipment for performing a plurality of tests of a device under test
DE102010027287A1 (de) * 2010-07-16 2012-01-19 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum prüfen eines Hauptspeichers eines Prozessors
US8644098B2 (en) * 2011-03-28 2014-02-04 Peiyuan Liu Dynamic random access memory address line test technique
US10147499B1 (en) * 2016-06-06 2018-12-04 Apple Inc. Memory power-up testing system
US11663111B2 (en) * 2020-01-02 2023-05-30 Texas Instruments Incorporated Integrated circuit with state machine for pre-boot self-tests

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891811A (en) * 1987-02-13 1990-01-02 International Business Machines Corporation Efficient address test for large memories
DE3718182A1 (de) * 1987-05-29 1988-12-15 Siemens Ag Verfahren und anordnung zur ausfuehrung eines selbsttestes eines wortweise organisierten rams
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
JPH04271445A (ja) * 1990-08-02 1992-09-28 Internatl Business Mach Corp <Ibm> メモリ・テスト装置

Also Published As

Publication number Publication date
EP0686981A3 (de) 1996-02-07
US5479413A (en) 1995-12-26
DE69518468D1 (de) 2000-09-28
EP0686981B1 (de) 2000-08-23
EP0686981A2 (de) 1995-12-13

Similar Documents

Publication Publication Date Title
DE69518468T2 (de) Verfahren zum Testen von grossen Speichermatrizen während Systeminitialisation
DE69111635T2 (de) Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs.
DE69423151T2 (de) Verwendung der zuletzt gültigen Konfiguration zum Laden eines Rechnersystems
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69329590T2 (de) Periphere Festkörperspeichervorrichtung
DE69719086T2 (de) Zeitverteilte entfernung von fehlerkorrekturcodes (ecc) zur korrektur von speicherfehlern
DE69027165T2 (de) Verfahren und Gerät zum Schutz eines Rechnersystems
DE69324840T2 (de) Verfahren zum Speichern von Programmen
DE69027348T2 (de) Speicherblockadressenermittlungsschaltkreis
DE69906995T2 (de) Hochlauffehler-wiederherstellung
DE10003108B4 (de) Verfahren und Computersystem zum Durchführen einer Softwareinstallation
DE19747396C2 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE60018807T2 (de) Verfahren und vorrichtung zur wiederherstellung der konfiguration eines rechners
DE69804115T2 (de) Datenübertragung auf einem nichtflüchtigen speichermedium
DE69627814T2 (de) System zum bereitstellen eines bios für den hauptrechner
DE69223799T2 (de) Einstellung der systemkonfiguration in einem datenverarbeitungssystem
DE69903629T2 (de) Prüfung der funktionsfähigkeit eines gerätetreibers
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE69610920T2 (de) Verfahren und anordnung zum gebrauch invertierter daten zur erkennung verfälschter daten
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE10059596A1 (de) Verfahren zur Zeiteinstellung eines Systemspeichers
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE102004039178B4 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee