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 sindInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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.
(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.
(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.
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)
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)
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)
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 |
-
1988
- 1988-01-27 US US07/148,901 patent/US4873705A/en not_active Expired - Fee Related
- 1988-12-01 JP JP63305858A patent/JPH01204300A/ja active Pending
- 1988-12-01 FR FR888815741A patent/FR2626402B1/fr not_active Expired - Fee Related
-
1989
- 1989-01-05 GB GB8900201A patent/GB2214671B/en not_active Expired - Fee Related
- 1989-01-20 DE DE3901579A patent/DE3901579A1/de active Granted
- 1989-01-24 CN CN89100391.6A patent/CN1011643B/zh not_active Expired
- 1989-05-24 FR FR898906778A patent/FR2630247B1/fr not_active Expired - Fee Related
-
1992
- 1992-04-07 GB GB9207802A patent/GB2253289B/en not_active Expired - Fee Related
Patent Citations (3)
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 |