DE3901579A1 - Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind - Google Patents

Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind

Info

Publication number
DE3901579A1
DE3901579A1 DE3901579A DE3901579A DE3901579A1 DE 3901579 A1 DE3901579 A1 DE 3901579A1 DE 3901579 A DE3901579 A DE 3901579A DE 3901579 A DE3901579 A DE 3901579A DE 3901579 A1 DE3901579 A1 DE 3901579A1
Authority
DE
Germany
Prior art keywords
memory
address
test
bits
microprocessor
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.)
Granted
Application number
DE3901579A
Other languages
English (en)
Other versions
DE3901579C2 (de
Inventor
Craig Vincent Johnson
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.)
Fluke Corp
Original Assignee
John Fluke Manufacturing Co Inc
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 John Fluke Manufacturing Co Inc filed Critical John Fluke Manufacturing Co Inc
Publication of DE3901579A1 publication Critical patent/DE3901579A1/de
Application granted granted Critical
Publication of DE3901579C2 publication Critical patent/DE3901579C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

Die Erfindung betrifft die Funktionsprüfung von Speichern, insbesondere ein Verfahren sowie eine Vorrichtung zur Funktionsprüfung von Speichern, die in mit Mikroprozessoren arbeitenden Baugruppen vorgesehen sind, wobei die Funktionsprüfung mit erhöhter Geschwindigkeit unter Beibehaltung eines hohen Genauigkeitsgrades erfolgt.
Die Funktionsprüfung von mit Mikroprozessoren versehenen Einheiten oder Leiterplatten wird zur Lokalisierung von Fehlern oder Funktionsstörungen verwendet, die den Betrieb von Halbleiterspeichern oder Chips beeinflussen. Eine Funktionsprüfung, die alle möglichen auftretenden Fehler lokalisieren kann, würde 2N Zugriffe erfordern, wobei N die Zahl der adressierbaren Speicherplätze bzw. Speicherzellen im Speicher angibt. Demzufolge ist eine derartige Funktionsprüfung aufgrund ihrer Komplexität und des dafür erforderlichen Zeitaufwandes unbrauchbar. Eine in der Praxis gangbare Funktionsprüfung darf sich somit lediglich auf die Fehler beziehen, die aller Wahrscheinlichkeit nach auftreten, wie z. B. auf fehlerhafte Datenzellen, defekte Decodierer, defekte Adressen- oder Datenregister und Fehler zwischen Adreß- und Datenleitungen.
Eine Funktionsprüfung, die die üblichen Fehler mittels einer Anzahl von Operationen bei jeder Speicheradresse ermitteln kann, stellt die sogenannte "March"-Prüfung dar, bei der in einem durch eine untere und obere Grenze festgelegten Adressenbereich nach oben und unten marschiert bzw. gelaufen wird, während die gleichen Operationen, wie z. B. Schreiben und Lesen, bei jeder Adresse vorgenommen werden.
Ferner wurden ziemlich langatmige und starre Prüfungen, wie z. B. bis zu 30×N Prüfungen, vorgeschlagen, bei denen entweder das gleiche Bit oder ein festes Muster aus Einsen oder Nullen in alle Speicherzellen eingeschrieben wird. Obwohl derartige Prüfungen Fehler mit hoher Genauigkeit lokalisieren können, sind diese sehr zeitaufwendig. Die US 47 15 034 offenbart einen schnellen Speicherprüfalgorithmus, der nur 5×N Operationen erfordert und bei dem Pseudozufallsdaten zur Ermittlung der am meisten üblichen Fehler verwendet werden. Hierbei wird die Tatsache genutzt, daß die Wahrscheinlichkeit des Fehlschlages einer Fehlererfassung äußerst gering ist.
Stellen die Speicherschaltkreise Direktzugriffsspeicher (RAMs) von mit Mikroprozessoren arbeitenden Systemen dar, so werden seit vielen Jahren Mikroprozessoremulationseinrichtungen zur Durchführung von Funktionsprüfungen beim Entwurf, bei der Herstellung oder bei Wartungstests oder bei der Reparatur verwendet (vergleiche US 44 55 654). Das Leistungsniveau der Speicherprüfung bei solchen mit Mikroprozessoren arbeitenden Einheiten bzw. Baugruppen (UUTs) ist typischerweise durch die Kompromisse bezüglich Genauigkeit bzw. Geschwindigkeit beschränkt, die von der Emulatorarchitektur und dem verwendeten Prüfalgorithmus abhängig sind. Die Mikroprozessoremulationseinrichtung, die den gleichen Mikroprozessor wie den der Prüfung unterzogene Einheit (UUT) aufweist, steht direkt oder über eine Schnittstellen- Bausteingruppe mit der Busstruktur der einer Prüfung unterzogenen Einheit in Verbindung, z. B. indem diese direkt in den Mikroprozessorsockel der zu prüfenden Einheit (UUT) eingesteckt wird. Alle mit Hilfe derartiger Emulationseinrichtungen durchgeführten Prüfungen werden bis jetzt in einem Buszugriffsmodus durchgeführt, bei dem die Emulationseinrichtung einzelne Buszugriffszyklen durchführt, und bei jedem Maßnahmen ergreift, ehe ein anderer durchgeführt wird. D. h. die Emulationseinrichtung weiß, bei welcher Adresse geschrieben oder bei welcher Adresse gelesen werden soll, und stellt für einen Buszugriffszyklus eine Verbindung zum Bus der zu prüfenden Einheit UUT mit einer speziellen, vorher geladenen Adresse her, so daß der Speicher der zu prüfenden Einheit UUT bei dieser Adresse gelesen oder den bei dieser Adresse stehenden Datenwert ausgibt, je nachdem, ob ein Schreib- oder Lesebefehl ausgegeben wird. Anschließend schaltet die Emulationseinrichtung zu ihren internen Schaltkreisen um, um einen anderen Schreibbefehl mit einer neuen Adresse zu erzeugen oder um sich mit der aus dem Speicher der zu prüfenden Einheit UUT ausgelesenen Information zu befassen. Mit Hilfe des vorstehend in bezug auf die US 47 15 034 erwähnten Algorithmus wird für jede Adresse eine neue Pseudozufallszahl berechnet. Da die Verwendung einzelner Buszugriffszyklen die Basis für die bekannten Direktzugriffsspeicher-Prüfungen darstellt, ob resident in einem Grundgerät oder einer Bausteingruppe, so führen Zunahmen der Speichergröße direkt zu mehr Buszugriffszyklen und einer entsprechenden Zunahme der Prüfzeit. D. h. selbst mit einem schnelleren Prüfalgorithmus, wie z. B. dem 5N- Wahrscheinlichkeits-RAM-Funktionsprüfverfahren, ergeben sich bei dem gegenwärtigen Trend, größere RAM-Bereiche vorzusehen, Probleme im Hinblick auf die zum Prüfen einer Einheit UUT erforderliche Zeit.
Es ist somit Aufgabe der Erfindung, ein Verfahren sowie eine Vorrichtung zur Funktionsprüfung von Speichern in mit Mikroprozessoren versehenen Einheiten vorzuschlagen, mit deren Hilfe die Prüfgeschwindigkeit um 1 bis 2 Größenordnungen gesteigert werden kann, wobei die Prüfgenauigkeit bezüglich der Identifizierung und Auflistung von Fehlern nur sehr gering, wenn überhaupt nicht, darunter leidet.
Diese Aufgabe wird durch die Merkmale der Patentansprüche gelöst.
Eine Prüfvorrichtung, die den gleichen Mikroprozessor wie den der zu prüfende Einheit UUT aufweist, wird effektiv ständig mit der Busstruktur der zu prüfenden Einheit UUT verbunden, wobei zur Lokalisierung von Fehlern im Speicher der zu prüfenden Einheit dieser Mikroprozessor als Ersatzmikroprozessor zur Ausführung eines Prüfprogramms dient, das mit einer Geschwindigkeit abläuft, die durch den Takt der zu prüfenden Einheit (UUT) bestimmt wird. Das Prüfprogramm kann im Speicher der zu prüfenden Einheit oder vorzugsweise im Speicher der Prüfvorrichtung abgespeichert werden, wobei dieses dann bei der zu prüfenden Einheit UUT mittels einer Speicherüberlagerungstechnik Anwendung findet. Das Prüfprogramm wird in einem Teil des Speichers der zu prüfenden Einheit gespeichert oder diesem überlagert, wobei dieser Speicherteil keiner Fehlerprüfung unterzogen wird. Da die Meßvorrichtung effektiv ständig mit der Busstruktur der zu prüfenden Einrichtung gekoppelt bleibt und das Prüfprogramm mit der Taktfrequenz der zu prüfenden Einheit UUT abläuft, kann gegenüber der bekannten Emulator-Speicherprüfung eine Zunahme der Prüfgeschwindigkeit um eine Größenordnung erzielt werden.
Ein weiteres Merkmal der vorliegenden Erfindung, das in einer Zunahme der Speicherprüfgeschwindigkeit resultiert, besteht in der Verwendung von Block- oder String-(Zeichenketten)­ orientierten Befehlen, die bei neueren Mikroprozessoren Anwendung finden. Durch vorteilhafte Verwendung von Blockübertragungs- und Blockvergleichsfunktionen kann auf Daten eines Bereichs von Speicheradressen Zugriff ausgeübt und diese bewegt und verglichen werden, ohne daß wie bei bekannten Systemen nur ein einziger Adressenzugriff auf einmal möglich ist.
Ein Algorithmus, der derartige Blockübertragungs- und Blockvergleichsfunktionen ausnutzt, ist ein 5N- Wahrscheinlichkeits-RAM-Prüfalgorithmus, der vier Abtastungen bzw. Durchläufe von RAM-Adressen einschließt, bei denen drei Schreibvorgänge und zwei Lesevorgänge durchgeführt werden. Zuerst wird eine Pseudozufallsfolge von Bits in einen vorbestimmten Bereich von fortlaufend adressierten Speicherzellen am unteren Adressenende des RAM(Direktzugriffsspeichers) eingeschrieben, um einen Bezugsblock vorzusehen. Der Bezugsblock wird dann durch sequentielles Einschreiben der gleichen Pseudozufallsfolge von Bits in alle übrigen Speicherzellen des RAM iterativ vervielfältigt, wobei mit der ersten Adresse über dem Bezugsblock begonnen und bis zur höchsten Adresse fortgefahren wird. Für den zweiten Speicherdurchlauf wird die Pseudozufallsfolge von Bits komplementiert und die Vervielfältigungs- bzw. Kopierschritte wiederholt, um die Daten in jeder Speicherzelle zu komplementieren. Beim dritten Speicherdurchlauf wird eine nach unten gerichtete Speicherabtastung von der höchsten Adresse zur niedrigsten Adresse durchgeführt. An jedem Speicherplatz werden die Daten gelesen, mit dem erwarteten Wert verglichen, dann komplementiert und anschließend zurückgeschrieben. Im vierten und letzten Speicherdurchlauf wird eine nach oben gerichtete Abtastung vom anfangsadressenseitigen Ende zum endadressenseitigen Ende durchgeführt, während die Daten jedes Speicherplatzes gelesen und mit der ursprünglichen Pseudozufallsfolge von Bits verglichen werden.
Ein erfindungsgemäßer SN-Wahrscheinlichkeits-RAM- Prüfalgorithmus weist vier Abtastungen bzw. Durchläufe von RAM-Adressen auf, wobei drei Schreib- und fünf Lesevorgänge durchgeführt werden. Hierbei wird ein Bezugsblock von Pseudozufalls-Bits mit Hilfe eines ersten Zeigers gelesen und mit Hilfe eines zweiten Zeigers in den nächstfolgenden Block eingeschrieben. Die Zeiger werden zusammen unter Einhaltung des Abstands im ersten Durchlauf längs des Speichers nach oben bewegt, bis alle Speicherzellen beschrieben sind. Beim zweiten Durchlauf werden die Pseudozufalls-Bits im Bezugsblock komplementiert, und die Lese- und Schreibvorgänge unter Verwendung der Zeiger werden wiederholt. Der dritte und vierte Durchlauf entsprechen im wesentlichen denen der 5N-Prüfung, mit Ausnahme, daß der vierte Durchlauf zwei Lesevorgänge bei jeder Speicherzelle einschließt, um die mittels der beiden Zeiger angezeigten Bits vergleichen zu können.
Mit Hilfe der Erfindung kann somit ein Funktionsprüfalgorithmus vorgesehen werden, der Blockübertragungs- und Blockvergleichsfunktionen von neueren Mikroprozessoren ausnutzt. Ferner wird eine Prüfvorrichtung vorgesehen, die effektiv ständig mit der Busstruktur einer Einheit verbunden ist, deren Speicher überprüft werden soll, und die die Speicherprüfbefehle mit der Taktfrequenz dieser Einheit ausführt.
Die Erfindung wird nachstehend anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Ausführungsbeispiel einer Prüfvorrichtung anhand eines verallgemeinerten Blockdiagramms;
Fig. 2 ein Speicherabbild für das Überlagern eines zu überprüfenden Speichers;
Fig. 3 ein Beispiel für eine Blockbewegung, bei der Daten von einem Speicheradressenbereich zu einem anderen bewegt werden; und
Fig. 4 ein Diagramm zur Verdeutlichung eines erfindungsgemäßen RAM-Prüfalgorithmus.
Wie aus Fig. 1 ersichtlich, weist ein verallgemeinertes Blockdiagramm einer Prüfvorrichtung zur Funktionsprüfung von Speichereinrichtungen in mit Mikroprozessoren versehenen Einheiten ein Grundgerät 10 auf, das elektrisch mit einer Schnittstellen-Bausteingruppe 12 in Verbindung steht. Diese Schnittstellen-Bausteingruppe 12 ist über ein Kabel 14 mit einem Steckverbinder 16 verbunden, der am Ende des Kabels 14 angebracht ist. Dieser Steckverbinder 16 wird in einen dazu passenden Mikroprozessorsockel 18 der zu prüfenden Einheit (UUT) 20 eingesetzt. Falls der Mikroprozessor eingelötet ist, kann der Steckverbinder 16 in Form eines Aufsteckadapters ausgebildet sein.
Da die zu prüfenden Speichereinrichtungen in der zu prüfenden Einheit 20 angeordnet sind, werden die relevanten Teil der zu prüfenden Einheit 20 zuerst erörtert. Der normalerweise im Sockel 18 sitzende Mikroprozessor wird entfernt und durch den Steckverbinder 16 ersetzt, so daß, insoweit es die Einheit 20 betrifft, die Schnittstellen-Bausteingruppe 12 als ihr eigener Mikroprozessor erscheint. Mit dem Sockel 18 steht eine UUT- Busstruktur 22 in Verbindung, die typischerweise eine Vielzahl von Adressen- und Datenleitungen wie auch Status- und Steuerleitungen einschließt. An die UUT-Busstruktur 22 sind ein Direktzugriffsspeicher (RAM) 24 und ein Festwertspeicher (ROM) 26 angekoppelt. Obwohl der Direktzugriffsspeicher 24 und der Festwertspeicher 26 als separate Einheiten dargestellt sind, können diese in der Praxis physikalisch im gleichen Chip oder Baustein angeordnet sein. Die zu prüfende Einheit (UUT) 20 weist auch eine UUT-Taktschaltung 28 auf, die Taktimpulse einer bestimmten Frequenz zur Aktivierung des Mikroprozessors der zu prüfenden Einheit und der zugehörigen Schaltungen erzeugt. Die in Fig. 1 dargestellte Einheit (UUT) 20, die der Prüfung unterzogen wird, ist unvollständig und stellt somit lediglich den zentralen Abschnitt bzw. Kernabschnitt irgendeines einer Vielzahl von mit Mikroprozessoren arbeitenden Systemen dar, die eine Speichereinrichtung aufweisen, die mit Hilfe der Erfindung vorteilhaft geprüft werden kann.
Das Grundgerät 10 umfaßt neben anderen Dingen eine Anzeige 30 und eine Tastatur 32 und kann Befehle an die Schnittstellen- Bausteingruppe 12 abgeben, um die Speicherprüfung in Gang zu setzen und die Prüfergebnisse für den Benutzer aufzulisten. Beispiele für im Handel verfügbare Geräte, die stellvertretend für ein Grundgerät 10 sind, betreffen die Mikro- Fehlersuchsysteme der Serie 9000 und die digitalen Prüfsysteme der Serie 9100 der Firma John Fluke, Mfg. Co., Inc.
Die Schnittstellen-Bausteingruppe 12 ist über ein Kabel 36 und eine Eingabe/Ausgabe-(E/A)-Schnittstelle 40 mit dem Grundgerät 10 verbunden. Die Schnittstellen-Bausteingruppe 12 ist speziell zum Prüfen einer Einheit (UUT) 20 ausgelegt, die einen bestimmten Typ von Mikroprozessor verwendet, z. B. einen Intel 80286, und überträgt bzw. empfängt zur bzw. von der UUT- Busstruktur 22 Informationen, die zur Maschinensprache, der Signalzeitgabe und den Logikpegeln des bestimmten Mikroprozessors kompatibel sind. D. h. die Schnittstellen- Bausteingruppen sind austauschbar, so daß der Benutzer einfach die Bausteingruppe auswählt, die zur Verbindung mit dem speziellen, in der Einheit UUT 20 verwendeten Mikroprozessortyp ausgelegt ist. Nimmt man z. B. an, daß der Mikroprozessor der Einheit (UUT) 20 der vorerwähnte Intel 80286 ist, so schließt die Schnittstellen-Bausteingruppe 12 einen kompletten 80 286-Kern mit Mikroprozessor (µP) 42, RAM 44, ROM 46 und der vorstehend erwähnten E/A-Schnittstelle 40 ein, die mit einem Daten- und einem Adressenbus 48 bzw. 50 in Verbindung steht. An den Daten- und Adressenbus 48 bzw. 50 sind Daten- und Adressenpuffer 54 angeschlossen. Die Datenpuffer sind bidirektional ausgelegt und werden durch ein Steuersignal von einer Zeitgabe- und Steuerschaltung 56 freigegeben. Die Adressenpuffer stellen "Nur-Ausgangs"-Puffer dar. Zwischen den Daten- und Adressenpuffern 54 und dem Steckverbinder 16 ist ein Schutzschaltungs- und Logikpegelabtast-Netzwerk 58 angeordnet, das die Schaltung der Schnittstellenbausteingruppe 12 vor Überspannungszuständen schützt und Quellen- und Meßwiderstände zum Feststellen von Ausgangstreiberfehler aufweist. Bei dieser speziellen Schnittstellen-Bausteingruppe werden die Mikroprozessoreingänge von der Einheit UUT als Statusleitungen und die Mikroprozessorausgänge zur Einheit UUT als Steuerleitungen bezeichnet.
Das Grundgerät 10 sowie die Schnittstellen-Bausteingruppe 12, wie hier ausgeführt, weisen größtenteils einen konventionellen Aufbau auf. Dieser Aufbau wird jedoch weiter erläutert, damit die nachfolgend näher erläuterte neuartige Speicherprüfmethode leicht verstanden werden kann. Im normalen Betriebszustand, der typischerweise als Fehlersuchmodus bezeichnet wird, entspricht der Betrieb zwischen Grundgerät und Schnittstellen- Bausteingruppe im wesentlichen dem in der US 44 55 654 erläuterten Betrieb.
Der hier interessierende Betriebsmodus ist ein zweiter bzw. zusätzlicher als "RUN UUT" bezeichneter Modus, wobei der Mikroprozessor 42 der Schnittstellen-Bausteingruppe 12 effektiv ständig über seine Puffer mit der UUT-Busstruktur 22 verbunden ist, um als Ersatzmikroprozessor bei der Ausführung der internen Programme der zu prüfenden Einheit (UUT) 20, z. B. derjenigen Programme, die im Festwertspeicher 26 enthalten sind, zu dienen. Bei diesem Betriebsmodus übernimmt die Schnittstellen-Bausteingruppe 12 die Mikroprozessorfunktionen, wie z. B. diejenigen, die den Status- und Steuerleitungen zugeordnet sind, die Unterbrechungsbearbeitung, die Zeitsteuerung und die Speicher- sowie E/A-Adressierung. Dabei läßt der Mikroprozessor 42 die Programme mit einer Geschwindigkeit ablaufen, die von der UUT-Taktschaltung 28 bestimmt wird.
Um eine Funktionsprüfung des UUT-Speichers, z. B. des Direktzugriffsspeichers 24 durchführen zu können, können Speicherprüfbefehle oder -programme in dem Ausführungsspeicher der zu prüfenden Einheit 20 gespeichert und von diesem ausgeführt werden, oder solche Speicherprüfbefehle oder -programme werden vorzugsweise in einem in der Schnittstellen- Bausteingruppe 12 angeordneten "Überlagerungs"-Speicher gespeichert.
Die Speicherüberlagerung stellt eine Technik dar, mit der ein Prüfsystem seine eigenen Befehle elektrisch durch Befehle ersetzen kann, die sein Mikroprozessor vom Programmspeicher der zu prüfenden Einheit zu lesen versucht. Die Speicherüberlagerung kann auf irgendeinen UUT-Speicherbereich adressiert werden, der die gleiche Größe wie der vom Überlagerungs-Speicher belegte Bereich des Speichers der Prüfvorrichtung aufweist.
Bei einem bevorzugten Ausführungsbeispiel, bei dem ein 80 286- Mikroprozessorsystem verwendet wird, ist ein Direktzugriffsspeicher mit 8 KB fortlaufendem Speicherbereich vorgesehen, der einen Teil des Direktzugriffsspeichers 44 verwendet. Der Überlagerungs-Direktzugriffsspeicher wird auf einen 8 KB-Bereich am oberen Ende des UUT-Festwertspeichers 26 adressiert, der normalerweise durch Einschalt-, Rücksetz- und Ladebefehle belegt ist, wie dies aus Fig. 2 ersichtlich ist.
Fig. 2 zeigt ein Speicherabbild bzw. eine Speicheraufteilung eines 16MB-Speichers mit einer hexadezimalen Adresse 00 0000 am Ende und FF FFFF am oberen Ende, der der UUT-Speicher mit dem Direktzugriffsspeicher 24 und dem Festwertspeicher 26 sein kann. Wann immer der Überlagerungsspeicher adressiert bzw. abgebildet wird, so daß dieser bei einer bestimmten Adresse beginnt, wie z. B. in diesem Fall nahe dem oberen Ende des UUT-Speichers, und freigegeben wird, so reflektiert ein Lesevorgang in dem Überlagerungszugriffsspeicher- Adressenbereich Daten, die in dem Überlagerungsspeicher gespeichert sind, und zwar anstatt Daten vom Speicher der zu prüfenden Einheit. Auf diese Weise wird irgendein vorher in dem überlagerten UUT-Speicher abgespeicherter Programmcode vom Prozessor nicht "gesehen". Wird der Überlagerungsspeicher dann ausgeschaltet bzw. gesperrt, so liegt dieser Programmcode wieder vor.
Die Speicherprüfbefehle bzw. -programme werden in den 8KB- Überlagerungs-Direktzugriffsspeicher geladen, der im "RUN UUT"-Modus freigegeben wird und den 8KB-Speicherbereich am oberen Ende des UUT-Speichers elektrisch ersetzt, so daß die übrigen Adressen, d. h. nahezu alle UUT-Speicheradressen geprüft werden können. Die Prüfergebnisse werden an bestimmten Speicherplätzen des in der Schnittstellen-Bausteingruppe 12 vorgesehenen Direktzugriffsspeichers gespeichert, während das Prüfprogramm läuft. Nach Beendigung des Prüfprogramms wird der "RUN UUT"-Modus abgeschlossen und die Prüfergebnisse werden dem Grundgerät 10 zugeführt. Während des "RUN UUT"-Modus bleibt somit die Schnittstellen-Bausteingruppe 12 effektiv ständig mit der UUT-Busstruktur 22 gekoppelt und die im Überlagerungs-Direktzugriffsspeicher abgespeicherten Speicherprüfprogramme werden mit der von der Taktschaltung 28 vorgesehenen UUT-Taktfrequenz ausgeführt, wodurch sich gegenüber der bekannten Emulatorspeicherprüfung eine Prüfgeschwindigkeitszunahme von einer Größenordnung ergibt.
Bei Speicherprüfsystemen ohne Überlagerungsspeicher kann der Geschwindigkeitsvorteil der vorliegenden Erfindung dennoch erzielt werden, indem zuerst ein entsprechend großer Teil des UUT-Direktzugriffsspeichers zur Aufnahme des Speicherprüfprogramms unter Verwendung der bekannten Buszugriffstechnik festgelegt und geprüft wird und dann das Speicherprüfprogramm in den geprüften Teil des Direktzugriffsspeichers der zu prüfenden Einheit geladen wird, um unter Verwendung der Erfindung den Rest des Direktzugriffsspeichers der Einheit 20 zu prüfen. Ein Überlagerungsspeicher ermöglicht jedoch ein etwas größeres Vertrauen in bezug auf die Prüfergebnisse, da die elektrische Integrität der Schnittstellen-Bausteingruppe 12 üblicherweise als besser angesehen wird als die einer suspekten Speichereinrichtung der zu prüfenden Einheit.
Ein weiteres Merkmal der Erfindung, das in einer Zunahme der Speicherprüfgeschwindigkeit resultiert, besteht in der Verwendung von block- oder stringorientierten Befehlen, die spezifisch für den emulierten Prozessor sind, um DMA-ähnliche Speicherübertragungen ohne den Mehraufwand von mehrfachen Befehlsabrufen und -ausführungen für jede geprüfte Speicheradresse ausführen zu können. Neuere Mikroprozessoren, wie z. B. der 80286, weisen Blockübertragungs- und Blockvergleichsfunktionen auf, mit deren Hilfe große Datenblöcke von Adressenbereichen bewegt und verglichen werden können. Der 80286 ist z. B. in der Lage, eine Datenmenge von bis zu 64 KB mit einem einzigen Blockübertragungsbefehl zu übertragen. Auf diese Weise kann statt der Verwendung eines Speicherprüfprogrammbefehls, der Zugriff auf Daten bei einer einzigen Adresse ausübt, auf Daten eines Bereichs von Adressen Zugriff ausgeübt werden.
In Fig. 3 wird ein einfaches Beispiel einer Blockbewegung bzw. Blockübertragung dargestellt. Ein Ursprungszeiger weist auf die erste Adresse eines Blocks hin, der bei diesem Beispiel fünf Adressen aufweist. In diese fünf Adressen werden Daten eingeschrieben. Ein Zielzeiger weist auf die erste Adresse eines fünf Adressen umfassenden Blockes hin, in den die Daten übertragen werden sollen. Obwohl der Zielzeiger auf die unmittelbar nächste Adresse, d. h. "6" hinweist, kann in dieser Wirklichkeit auf irgendeine Adresse hinweisen. Auf einen Befehl hin werden die Daten in den Adressen "1" bis "5" entsprechend zu den Adressen "6" bis "10" übertragen, wie dies anhand der Pfeile in Fig. 3 dargestellt ist. Somit kann insbesondere bei mit Mikroprozessoren versehenen Leiterplatten oder Einheiten, die große Speicher aufweisen, durch Nutzung der Blockübertragungs- und Blockvergleichsoperationen eine Zunahme der Speicherprüfgeschwindigkeit um eine weitere Größenordnung erzielt werden.
Ein Speicherprüfalgorithmus, der die Vorteile der Blockübertragungs- und Blockvergleichsoperationen nutzt, ist schematisch in Fig. 4 dargestellt. Dieser Algorithmus umfaßt vier Abtastungen bzw. Durchläufe von Direktzugriffsspeicher- Adressen, wobei an jedem Speicherplatz drei Schreiboperationen und abhängig von der speziellen Implementierung entweder zwei oder fünf Leseoperationen ausgeführt werden, und zwar unter Verwendung der Blockübertragungs- und Blockvergleichsoperationen. Demzufolge wird auf jede Speicherzelle für einen 5N-Algorithmus fünfmal bzw. für einen SN-Algorithmus achtmal Zugriff ausgeübt.
Zuerst wird ein Block mit Pseudozufallsdaten am anfangsadressenseitigen Ende des zu prüfenden UUT- Direktzugriffsspeichers eingeschrieben. Dieser wird der Bezugsblock, der in Fig. 4 als ein kurzes Segment nahe der Startadresse für jeden nach oben gerichteten Durchlauf durch den Adressenbereich dargestellt ist. Die Länge des Bezugsblocks kann von der Speichergröße und der Blockübertragungsmöglichkeit eines vorgegebenen Mikroprozessors abhängen. Jedoch kann eine Länge, die so gewählt ist, daß diese relativ teilerfremd in bezug auf die Zweierpotenz ist, verhindern, daß übliche Überlappungprobleme infolge von Adressendecodierfehlern versehentlich übersehen werden.
Als nächstes werden die Software bzw. die Zeiger, wie z. B. der Ursprungszeiger und der Zielzeiger, die dem 80286- Prozessor zugehören, so eingestellt, daß Daten von der ersten Adresse des Direktzugriffsspeichers der zu prüfenden Einheit gelesen und in den ersten Speicherplatz eingeschrieben werden können, der dem Bezugblock folgt. Weist z. B. der Bezugsblock die Adressen 0 bis 99 auf, so zeigt der Ursprungs- bzw. Quellenzeiger auf die Adresse 0 und der Zielzeiger auf die Adresse 100, so daß die von der Adresse 0 gelesenen Daten zur Adresse 100 übertragen und dort eingeschrieben werden können. Eine Stringübertragungsoperation wird eingeleitet, wodurch der Bezugsblock iterativ vervielfältigt wird, bis die letzte Adresse erreicht ist. Dies kann für den 5N-Algorithmus dadurch bewerkstelligt werden, daß der Ursprungszeiger zum wiederholten Lesen des Bezugsblocks verwendet wird, während sich der Zielzeiger durch den Adressenbereich des Speichers nach oben bewegt, wobei Daten von der Stelle des unteren Zeigers bzw. des Ursprungszeigers zu der Stelle des oberen Zeigers bzw. des Zielzeigers kopiert werden. Andererseits kann dies für den SN-Algorithmus dadurch bewerkstelligt werden, daß beide Zeiger zu zweit durch den Speicher nach oben bewegt werden, wobei der Versatz um eine Blocklänge beibehalten wird, während sie nach oben fortschreiten, bis die letzte Adresse beschrieben ist. Dies beendet den ersten Durchlauf durch den Speicher.
Für den zweiten Durchlauf durch den Speicher wird der ursprüngliche Block mit Pseudozufallsdaten Bit für Bit komplementiert und dann in das anfangsadressenseitige Ende des zu prüfenden UUT-Direktzugriffsspeichers eingeschrieben, wodurch dieser zum Bezugsblock wird. Die Zeiger werden wieder auf die erste Adresse des UUT-Direktzugriffsspeichers bzw. die erste Stelle, die den bitweise komplementierten Pseudozufallsdaten folgt, eingestellt, so daß die Daten von der Adresse gelesen werden können, auf die der Ursprungszeiger hinweist, und dann in die Adresse geschrieben werden können, die vom Zielzeiger bestimmt ist. Dann wird wie vorher beim ersten Speicherdurchlauf eine Stringübertragungsoperation durchgeführt, wobei diesmal der UUT-Direktzugriffsspeicher mit einer Reihe von komplementierten Datenblöcken gefüllt wird. Zu diesem Zeitpunkt hat jede Datenzelle zumindest einen Wertwechsel, d. h. von 0 zu 1 oder von 1 zu 0 ausgeführt.
Als nächstes wird eine nach unten gerichtete Abtastung von der höchsten Adresse zur niedrigsten Adresse durchgeführt. Bei jedem Speicherplatz werden die Daten gelesen, mit einem erwarteten Wert verglichen, komplementiert und dann zurückgeschrieben. Falls irgendein Speicherplatz einen Wert wiedergibt, der mit den erwarteten Daten nicht übereinstimmt, so wird die Prüfung unterbrochen und die fehlerhaften Ergebnisse werden notiert. Zum Zeitpunkt der Bearbeitung der niedrigsten Adresse haben alle Datenzellen einen Wechsel bezüglich der beiden logischen Zustände ausgeführt.
Für den vierten und letzten Speicherdurchlauf werden die Daten am anfangsadressenseitigen Ende des UUT- Direktzugriffsspeichers gelesen und mit den ursprünglichen Pseudozufallsdaten verglichen. Als nächstes werden die übrigen Speicherplätze gelesen und mit ihren erwarteten Werten verglichen. Dies kann für einen 5N-Algorithmus dadurch bewerkstelligt werden, daß der Ursprungszeiger zum wiederholten Lesen des Bezugsblocks verwendet wird, wobei der Zielzeiger durch den Adressenbereich nach oben wandert, während er die Daten liest und vergleicht. Bei einem SN- Algorithmus wird ein nach oben gerichteter Speicherdurchlauf eingeleitet, wobei die Zeiger so eingestellt sind, daß zwischen Speicherplätzen, die bereits auf Gültigkeit geprüft wurden, und Speicherplätzen, die um eine Blocklänge höher im Speicher liegen, ein Stringvergleich ausgeführt werden kann. Gibt irgendein Speicherplatz nicht den erwarteten Wert wieder, so wird die Prüfung wieder unterbrochen, und die fehlerhaften Ergebnisse werden notiert.
Der oben erwähnte Funktionsprüfalgorithmus kann als ein in dem Ausführungsspeicher der Einheit 20 einzuspeichernder Befehlssatz geschrieben werden, der von diesem Speicher ausgeführt wird, oder er kann in dem Überlagerungsspeicher der Schnittstellen-Bausteingruppe 12 gespeichert und von diesem ausgeführt werden. Der Pseudozufallsdatenblock kann mit Hilfe eines Pseudozufallsgenerators erzeugt werden, der entweder in der Schnittstellen-Bausteingruppe 12 oder im Grundgerät 10 angeordnet ist. Es ist zu bemerken, daß die Pseudozufallsdaten für die gesamte Prüfung nur einmal berechnet werden müssen und daß die ursprünglichen Daten wiederverwendet und, falls zweckmäßig, bearbeitet werden. Der Pseudodatenblock kann im Überlagerungs-Direktzugriffsspeicher gespeichert und in den Bezugsblockbereich am anfangsandressenseitigen Ende des Direktzugriffsspeichers der zu prüfenden Einheit kopiert werden. Offensichtliche Variationen können den Algorithmus geringfügig gegenüber einer echten 5N- oder 8N- Wahrscheinlichkeitsprüfung ändern, und zwar abhängig von der Speichergröße, der Datenmenge, die ein bestimmter Mikroprozessor mit einem einzigen Blockübertragungsbefehl übertragen kann, und der Menge an verfügbaren berechneten Pseudozufallsdaten. Z. B. können während des ersten Speicherdurchlaufes die Daten des Bezugsblockes in einer Anzahl von fortlaufenden Blöcken eingeschrieben werden, um ein Segment vorzusehen, das vom Ursprungszeiger und Zielzeiger verwendet wird, um in Segmenten oder sogar Gruppen von Segmenten durch den Speicher nach oben zu laufen. Bei einer solchen Situation können einige der unteren Adressen mehr als einmal gelesen werden, so daß diese Adressen mehr als acht Zugriffen unterliegen.
Somit kann festgestellt werden, daß die Ausführung der Speicherprüfbefehle mit der Taktfrequenz der zu prüfenden Einheit UUT und die Verwendung von Blockübertragungs- und Blockvergleichsfunktionen neuerer Mikroprozessoren zu einer wesentlichen Erhöhung der Geschwindigkeit führt, mit der Speicher von mit Mikroprozessoren versehenen Baugruppen überprüft werden können, obwohl eine geringfügig größere Anzahl an Zugriffen als beim bekannten Jacobson-Algorithmus zu jedem Speicherplatz ausgeführt werden. Infolge der geringfügig größeren Anzahl an erfolgten Zugriffen ist die Genauigkeit der Fehlererfassung zumindest so gut wie die mit Hilfe des Jacobson-Algorithmus erzielte Genauigkeit, wenn nicht sogar besser.
Z. B. kann auch ein Festwertspeicherprüfalgorithmus in einen Überlappungs- oder UUT-Speicher zur Ausführung von Festwertspeicherprüfungen einprogrammiert werden oder selbst in Systemen benutzt werden, denen Speicheremulationstechniken zugrunde liegen. Im letzten Fall wird der Algorithmus in den emulierten Ausführungsspeicher einer zu prüfenden Einheit UUT geladen und mit Hilfe des Prozessors, der der zu prüfenden Einheit eigen ist, unter Steuerung einer Prüfvorrichtung ausgeführt.
Eine weitere Alternative besteht in der Verwendung eines DMA (direkter Speicherzugriff)-Emulators als UUT-Schnittstelle, und zwar anstelle eines Prozessoremulators. Da DMA- Einrichtungen definitionsgemäß eine Blockübertragungsoperation ausführen können, würde die Verwendung von vorstehend beschriebenen blockorientierten Speicherprüfalgorithmen den gleichen Grad an Geschwindigkeitsverbesserung bringen, den die vorstehend beschriebenen Ausführungsbeispiele ermöglichen.

Claims (20)

1. Verfahren zur Funktionsprüfung eines eine Vielzahl von adressierbaren Zellen aufweisenden Speichers, gekennzeichnet durch
(a) Einschreiben einer Pseudozufallsfolge von Bits in eine vorbestimmte Anzahl an fortlaufend adressierten Speicherzellen zur Erzeugung eines Bezugsblocks;
(b) Vervielfältigen des Bezugsblocks durch iteratives Lesen der Pseudozufallsfolge von Bits und Einschreiben der Bits in die nächsten nachfolgenden Blöcke in einer ersten Richtung, bis alle Speicherzellen beschrieben sind;
(c) Komplementieren der Inhalte des Bezugsblocks;
(d) nochmaliges Vervielfältigen des Bezugsblocks durch iteratives Lesen der komplementierten Bits und Einschreiben der komplementierten Bits in die nächsten nachfolgenden Blöcke in einer ersten Richtung, bis alle Speicherzellen beschrieben sind;
(e) sequentielles Lesen jeder Zelle in einer zweiten, zur ersten Richtung entgegengesetzten Richtung, Komplementieren der darin befindlichen Daten und Zurückschreiben der komplementierten Daten in die Zelle;
(f) nochmaliges Lesen jeder Zelle in der ersten Richtung und Vergleichen der komplementierten Daten mit der Pseudozufallsfolge von Bits zur Feststellung von Unterschieden und in Erwiderung darauf;
(g) Identifizieren irgendwelcher Speicherfehler.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die im Schritt (e) von jeder Zelle ausgelesenen Daten mit einem erwarteten Wert zum Feststellen von Unterschieden verglichen werden und daß in Erwiderung darauf irgendwelche Speicherfehler identifiziert werden.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl der Speicherzellen im Bezugsblock in bezug auf die Zweierpotenz relativ teilerfremd ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Vervielfältigen in den Schritten (b) und (d) in Verbindung mit einem ersten Zeiger, der auf die zu lesende Zelle hinzeigt, und einem zweiten Zeiger, der auf die zu beschreibende Zelle hinweist, durchgeführt wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß der erste und zweite Zeiger durch Blockübertragungsbefehle von einem zugeordneten Prozessor gesteuert werden.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die erste Richtung von einer niedrigen Adresse zu einer hohen Adresse und die zweite Richtung von der hohen Adresse zur niedrigen Adresse verläuft.
7. Verfahren zur Funktionsprüfung eines einer Prüfung unterzogenen Speichers, der an eine Busstruktur in einer mit einem Mikroprozessor versehenen Einheit angekoppelt ist, die darin eine Taktschaltung zur Erzeugung von Taktsignalen aufweist, gekennzeichnet durch
  • - Ankoppeln einer Prüfvorrichtung an die Busstruktur, wobei der Mikroprozessor der Prüfvorrichtung und ein Speicher der Prüfvorrichtung einen Satz von Prüfbefehlen enthalten;
  • - Ankoppeln der Taktsignale der Taktschaltung an den Mikroprozessor der Prüfvorrichtung;
  • - elektrisches Übertragen des Satzes von Prüfbefehlen zu einem vorbestimmten Teil des zu prüfenden Speichers; und
  • - Ausführen der Prüfbefehle unter Steuerung des Mikroprozessors der Prüfvorrichtung in Erwiderung auf die Taktsignale, wobei die Prüfvorrichtung effektiv permanent mit der Busstruktur gekoppelt bleibt, während die Prüfbefehle ausgeführt werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das elektrische Übertragen des Satzes von Befehlen mittels einer Speicherüberlagerungstechnik durchgeführt wird.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Mikroprozessor der Prüfvorrichtung Blockübertragungsbefehle bei der Ausführung der Prüfbefehle verwendet.
10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Prüfbefehle das Einschreiben einer Pseudozufallsfolge von Bits in ein Teilsegment des zu prüfenden Speichers zur Erzeugung eines Bezugsblocks von Speicherzellen und dann das Vervielfältigen des Bezugsblocks durch den übrigen Teil des zu prüfenden Speichers hindurch einschließen.
11. Verfahren zur Funktionsprüfung eines Speichers, der über einen sich von einer niedrigen Adresse zu einer hohen Adresse erstreckenden Bereich eine Vielzahl von adressierbaren Zellen aufweist, gekennzeichnet durch:
(a) Einschreiben einer Pseudozufallsfolge von Bits in die Vielzahl von adressierbaren Zellen durch erstmaliges Einschreiben der Pseudozufallsfolge von Bits in einen Bezugsblock von Zellen, wobei bei der niedrigen Adresse begonnen wird, und Vervielfältigen des Bezugsblocks über den Adressenbereich bis zur hohen Adresse hin;
(b) Komplementieren aller Bits in der Vielzahl von adressierbaren Zellen durch erstmaliges Komplementieren der Bits des Bezugsblocks und Vervielfältigen des Bezugsblocks über den Speicherbereich bis zur hohen Adresse;
(c) sequentielles Lesen jeder Zelle über den sich von der hohen zur niedrigen Adresse erstreckenden Speicherbereich und Komplementieren des Bits jeder Zelle zum zweiten Male, um einen logischen Zustand wieder herzustellen, der zuerst beim Schritt (a) eingeschrieben wurde; und
(d) seguentielles Lesen jeder Zelle über den sich von der niedrigen zur hohen Adresse erstreckenden Bereich und Vergleichen des zum zweiten Male komplementierten Bits in jeder Zelle mit der Pseudozufallsfolge von Bits zum Erfassen von irgendwelchen zwischen diesen vorliegenden Unterschieden.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß in Erwiderung auf irgendwelche erfaßten Unterschiede irgendwelche Speicherfehler angezeigt werden.
13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das im Schritt (c) von jeder Zelle ausgelesene Bit mit einem erwarteten Wert zur Ermittlung von Unterschieden verglichen wird und daß in Erwiderung darauf irgendwelche Speicherfehler angezeigt werden.
14. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das Vervielfältigen in den Schritten (a) und (b) von einem Mikroprozessor gesteuert wird, der eine Blockübertragungsfunktion aufweist.
15. Vorrichtung zur Funktionsprüfung eines Speichers, der mit einer Busstruktur (22) in einer mit einem Mikroprozessor versehenen Einheit (20) gekoppelt ist, die eine Taktschaltung (28) zum Erzeugen von Taktsignalen mit einer vorbestimmten Frequenz aufweist, gekennzeichnet durch:
  • - einen Prüfvorrichtungs-Mikroprozessor (42), der zum Kommunizieren mit dem zu prüfenden Speicher (24) mit der Busstruktur (22) gekoppelt ist;
  • - einen Prüfvorrichtungs-Speicher (44), der dem Prüfvorrichtungs-Mikroprozessor (42) zugeordnet und mit diesem gekoppelt ist und einen Satz von Prüfbefehlen enthält;
  • - eine Einrichtung zum elektrischen Übertragen des Satzes von Prüfbefehlen zu einem Teil des zu prüfenden Speichers (24); und
  • - eine Einrichtung zum Ankoppeln der Taktsignale an den Prüfvorrichtungs-Mikroprozessor (42) für die Ausführung des Satzes von Prüfbefehlen mit der vorbestimmten Frequenz, wobei der Prüfvorrichtungs-Mikroprozessor (42) in direkter Verbindung mit dem zu prüfenden Speicher bleibt, während der Satz von Prüfbefehlen ausgeführt wird.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß der Prüfvorrichtungs-Mikroprozessor (42) vom gleichen Typ wie der der Mikroprozessoreinheit (UUT; 20) ist.
17. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die Einrichtung zum elektrischen Übertragen des Satzes von Prüfbefehlen zu einem Teil des zu prüfenden Speichers (24) Mittel zum Überlagern eines Teils des zu prüfenden Speichers (24) mit einem Teil des Prüfvorrichtungs- Speichers (44) aufweist.
18. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß der Mikroprozessor (42) bei der Prüfung des Speichers (24) Blockübertragungs- und Blockvergleichsfunktionen verwendet.
19. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß der Satz von Prüfbefehlen einen Algorithmus einschließt, der eine Pseudozufallsfolge von Bits in einen Bezugsblock aus adressierbaren Zellen des zu prüfenden Speichers (24) einschreibt und diesen Bezugsblock iterativ in die übrigen Adressen vervielfältigt, um eine Basis für die Überprüfung des Speichers bezüglich Fehler zu erstellen.
20. Prüfvorrichtung zur Funktionsprüfung eines Speichers, der über einen sich von einer niedrigen Adresse zu einer hohen Adresse erstreckenden Bereich eine Vielzahl von adressierbaren Zellen aufweist, gekennzeichnet durch
  • - eine Einrichtung zum Einschreiben einer Pseudozufallsfolge von Bits in die Vielzahl von adressierbaren Zellen durch erstmaliges Einschreiben der Pseudozufallsfolge von Bits in einen Bezugsblock von Zellen, wobei bei der niedrigen Adresse begonnen wird, und zum iterativen Vervielfältigen des Bezugsblocks über den Adressenbereich bis zur hohen Adresse hin;
  • - eine Einrichtung zum Komplementieren aller Bits in der Vielzahl von adressierbaren Zellen durch erstmaliges Komplementieren der Bits des Bezugsblocks und iteratives Vervielfältigen des Bezugsblocks über den Speicherbereich bis zur hohen Adresse hin;
  • - eine Einrichtung zum sequentiellen Lesen jeder Zelle über den sich von der hohen Adresse zur niedrigen Adresse erstreckenden Speicherbereich und zum Komplementieren des Bits in jeder Speicherzelle zum zweitenmal;
  • - eine Einrichtung zum sequentiellen Lesen jeder Zelle über den sich von der niedrigen Adresse zur hohen Adresse erstreckenden Speicherbereich und zum Vergleichen des zum zweitenmal komplementierten Bits in jeder Zelle mit der Pseudozufallsfolge von Bits, um irgendwelche Unterschiede zwischen diesen zu ermitteln;
  • - eine auf die Unterschiede ansprechende Einrichtung zur Anzeige von Speicherfehlern.
DE3901579A 1988-01-27 1989-01-20 Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind Granted DE3901579A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/148,901 US4873705A (en) 1988-01-27 1988-01-27 Method of and system for high-speed, high-accuracy functional testing of memories in microprocessor-based units

Publications (2)

Publication Number Publication Date
DE3901579A1 true DE3901579A1 (de) 1989-08-03
DE3901579C2 DE3901579C2 (de) 1992-08-27

Family

ID=22527943

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3901579A Granted DE3901579A1 (de) 1988-01-27 1989-01-20 Verfahren und vorrichtung zur funktionspruefung von speichern, die in mit mikroprozessoren versehenen einheiten angeordnet sind

Country Status (6)

Country Link
US (1) US4873705A (de)
JP (1) JPH01204300A (de)
CN (1) CN1011643B (de)
DE (1) DE3901579A1 (de)
FR (2) FR2626402B1 (de)
GB (2) GB2214671B (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157664A (en) * 1989-09-21 1992-10-20 Texas Instruments Incorporated Tester for semiconductor memory devices
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
EP0470030A3 (en) * 1990-08-02 1993-04-21 International Business Machines Corporation Fast memory power-on diagnostics using direct memory addressing
US5325365A (en) * 1991-10-04 1994-06-28 John Fluke Mfg. Co., Inc. In a memory emulation test apparatus, a method of and system for fast functional testing of memories in microprocessor-based units
US5751728A (en) * 1991-11-12 1998-05-12 Nec Corporation Semiconductor memory IC testing device
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
US5533194A (en) * 1994-12-28 1996-07-02 International Business Machines Corporation Hardware-assisted high speed memory test apparatus and method
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
WO1996030831A1 (en) * 1995-03-31 1996-10-03 Intel Corporation Memory testing in a multiple processor computer system
US5898858A (en) * 1995-09-28 1999-04-27 Intel Corporation Method and apparatus for providing emulator overlay memory support for ball grid array microprocessor packages
US5588046A (en) * 1995-10-23 1996-12-24 Casio Phonemate, Inc. Digital telephone answering device and method of testing message storage memory therein
DE19541228C2 (de) * 1995-11-06 1997-08-21 Schlick Heinrich Gmbh Co Kg Vorrichtung zum Dosieren von körnigen, rieselfähigen Materialien, insbesondere Strahlmittel
US5859962A (en) * 1995-12-21 1999-01-12 Ncr Corporation Automated verification of digital design
US6114870A (en) * 1996-10-04 2000-09-05 Texas Instruments Incorporated Test system and process with a microcomputer at each test location
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US5894549A (en) * 1997-12-12 1999-04-13 Scenix Semiconductor, Inc. System and method for fault detection in microcontroller program memory
US6151693A (en) * 1998-06-19 2000-11-21 Lucent Technologies, Inc. Automated method of burn-in and endurance testing for embedded EEPROM
US6246971B1 (en) * 1999-01-05 2001-06-12 Lucent Technologies Inc. Testing asynchronous circuits
US6587979B1 (en) * 1999-10-18 2003-07-01 Credence Systems Corporation Partitionable embedded circuit test system for integrated circuit
US6728911B1 (en) 2000-11-16 2004-04-27 Utstarcom, Inc. System and method for testing memory systems
US6834323B2 (en) * 2000-12-26 2004-12-21 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US7007131B2 (en) * 2000-12-27 2006-02-28 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US7350109B2 (en) * 2003-11-14 2008-03-25 Hewlett-Packard Development Company, L.P. System and method for testing a memory using DMA
US7634696B2 (en) * 2005-03-03 2009-12-15 Sigmatel, Inc. System and method for testing memory
US20070118778A1 (en) * 2005-11-10 2007-05-24 Via Telecom Co., Ltd. Method and/or apparatus to detect and handle defects in a memory
DE602006019069D1 (de) * 2006-05-18 2011-02-03 Dialog Semiconductor Gmbh Testvorrichtung für Speicher
CN101145121B (zh) * 2006-09-13 2010-09-22 鸿富锦精密工业(深圳)有限公司 计算机测试方法
CN100458977C (zh) * 2007-04-29 2009-02-04 北京中星微电子有限公司 一种自适应控制闪存接口读写速度的装置和方法
JP5293062B2 (ja) * 2008-10-03 2013-09-18 富士通株式会社 コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
US9170975B2 (en) 2013-01-03 2015-10-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. High speed overlay of idle I2C bus bandwidth
US9275757B2 (en) 2013-02-01 2016-03-01 Scaleo Chip Apparatus and method for non-intrusive random memory failure emulation within an integrated circuit
CN108121628B (zh) * 2017-12-19 2021-01-05 珠海市君天电子科技有限公司 一种读写速度的测试方法、装置及电子设备
CN112951314B (zh) * 2021-02-01 2023-05-05 上海航天计算机技术研究所 一种基于tsc695处理器的可加载型通用ram自测试方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4455654A (en) * 1981-06-05 1984-06-19 John Fluke Mfg. Co., Inc. Test apparatus for electronic assemblies employing a microprocessor
US4715034A (en) * 1985-03-04 1987-12-22 John Fluke Mfg. Co., Inc. Method of and system for fast functional testing of random access memories

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7416755A (nl) * 1974-12-23 1976-06-25 Philips Nv Werkwijze en inrichting voor het testen van een digitaal geheugen.
US4485435A (en) * 1981-03-09 1984-11-27 General Signal Corporation Memory management method and apparatus for initializing and/or clearing R/W storage areas
US4569048A (en) * 1983-09-19 1986-02-04 Genrad, Inc. Method and apparatus for memory overlay
JPS60247942A (ja) * 1984-05-23 1985-12-07 Advantest Corp 半導体メモリ試験装置
US4757503A (en) * 1985-01-18 1988-07-12 The University Of Michigan Self-testing dynamic ram
US4707834A (en) * 1985-09-17 1987-11-17 Tektronix, Inc. Computer-based instrument system
US4782487A (en) * 1987-05-15 1988-11-01 Digital Equipment Corporation Memory test method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4455654A (en) * 1981-06-05 1984-06-19 John Fluke Mfg. Co., Inc. Test apparatus for electronic assemblies employing a microprocessor
US4455654B1 (en) * 1981-06-05 1991-04-30 Test apparatus for electronic assemblies employing a microprocessor
US4715034A (en) * 1985-03-04 1987-12-22 John Fluke Mfg. Co., Inc. Method of and system for fast functional testing of random access memories

Also Published As

Publication number Publication date
CN1035018A (zh) 1989-08-23
GB9207802D0 (en) 1992-05-27
GB2214671B (en) 1992-11-18
GB2253289A (en) 1992-09-02
FR2626402B1 (fr) 1993-01-15
DE3901579C2 (de) 1992-08-27
FR2626402A1 (fr) 1989-07-28
GB2253289B (en) 1992-11-18
CN1011643B (zh) 1991-02-13
FR2630247A1 (fr) 1989-10-20
JPH01204300A (ja) 1989-08-16
US4873705A (en) 1989-10-10
GB2214671A (en) 1989-09-06
GB8900201D0 (en) 1989-03-01
FR2630247B1 (fr) 1994-09-02

Similar Documents

Publication Publication Date Title
DE3901579C2 (de)
DE2914128C2 (de) Verfahren zur Fehlerortung in einer digitalen Schaltung und Prüfgerät zur Durchführung des Verfahrens
DE19747396C2 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE3903835C2 (de)
DE3516755C2 (de)
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE2941123C2 (de)
DE10125344A1 (de) Ereignisgestütztes Halbleiterprüfsystem mit modularer Architektur zur Speicherprüfung
DE3607015A1 (de) Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE3239221A1 (de) Integrierte vorrichtung und verfahren zum pruefen eines mikroprozessor-systems
DE3106727A1 (de) "verfahren und vorrichtung zum automatischen pruefen elektrischer und elektronischer schaltkreise"
EP1720100A1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE3013523A1 (de) Datenerhaltungs- und pruefschaltungsanordnung fuer speicher
DE3128740A1 (de) Dynamisches halbleiter-speichersystem
DE60018468T2 (de) Verbrauch von redundanzdaten für das anzeigen der bitfehlerkarten für halbleiterelemente
EP0263470B1 (de) Verfahren und Anordnungen zum Testen von MEGA-Bit-Speicherbausteinen mit beliebigen Testmustern im Multi-Bit-Testmodus
DE4313190A1 (de) Vorrichtung und verfahren zur initialisierung einer datenschnittstelle fuer eine programmierbare steuerung
DE2515099A1 (de) Schaltung zur staendigen erzeugung eines longitudinalen paritaetswortes fuer den hauptspeicher eines digitalen rechenautomaten
DE2952631C2 (de) Schaltungsanordnung zur Diagnose einer Datenverarbeitungsanlage
DE19823930A1 (de) Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE3331965A1 (de) Verfahren und anordnung fuer die schrittweise statische pruefung der jeweiligen verbindungen und integrierten untersysteme eines auf mikroprozessorbestueckung aufbebauten systems zur oeffentlichen verwendung
DE2906789A1 (de) Speicherpruefsystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee