DE3727850A1 - Fehler-pruefsystem - Google Patents

Fehler-pruefsystem

Info

Publication number
DE3727850A1
DE3727850A1 DE19873727850 DE3727850A DE3727850A1 DE 3727850 A1 DE3727850 A1 DE 3727850A1 DE 19873727850 DE19873727850 DE 19873727850 DE 3727850 A DE3727850 A DE 3727850A DE 3727850 A1 DE3727850 A1 DE 3727850A1
Authority
DE
Germany
Prior art keywords
module
test
frc
bit
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19873727850
Other languages
English (en)
Inventor
David Bedford Johnson
Stanley Kenoyer
Mark S Myers
Sven Nilsson
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE3727850A1 publication Critical patent/DE3727850A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13045Additional data to restore ladder diagram from machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

Die Erfindung bezieht sich allgemein auf Datenverarbeitungssysteme und insbesondere auf ein Fehler-Prüfsystem als Mittel zur Rekonfiguration eines Datenverarbeitungssystems bei Feststellung eines Fehlers in einem integrierten Schaltungschip.
Bei bekannten Mehrprozessorsystemen sind Fehler-Handhabungsmechanismen vorgesehen, welche eine Fehlerfeststellung, Diagnose, Protokollierung und einen Bericht des Fehlers für höhere Niveaus des Systems enthalten. Systembetriebsmittel bestimmen das Vorhandensein und das Ausmaß des Fehlers oder Ausfalls und übertragen diese Informationen an Fehlerbehebungsmechanismen. Die Behebungsmechanismen dienen nach der Fehlerbestimmung zum Aktivieren redundanter Komponenten, welche die zuvor von den fehlerbehafteten Komponenten ausgeführten Operationen übernehmen. Beispiele eines solchen Systems sind in den folgenden Druckschriften beschrieben: US-PS 44 38 494, US-PS 45 03 534 und US-PS 45 03 535.
Nach diesen Druckschriften basiert die geeignete Antwort auf Hardware-Fehlerbedingungen auf einem Konzept von Begrenzungszonen (confinement areas), das das Verbindungssystem des Mehrprozessors in eine Anzahl von Zonen unterteilt. Die Begrenzungszonen bilden Fehlerbestimmungsmechanismen, die geeignet sind, die über deren Grenze laufende Informationsart zu behandeln.
Es gibt eine Begrenzungszone für jeden Modul und Speicherbus im System. Ein festgestellter Fehler wird auf einen der System-Baublöcke begrenzt. Dies erlaubt einem Fehlerbehebungsmechanismus den Ersatz der System-Baublöcke. Fehlerbestimmungsmechanismen sind an jeder Schnittstelle derart vorgesehen, daß alle Daten beim Durchtritt durch die Schnittstelle zwischen Begrenzungszonen geprüft werden. Eine Fehlerbestimmung innerhalb einer Begrenzungszone wird dadurch durchgeführt, daß man gemäß US-PS 41 76 258 Komponenten dupliziert. Dies geschieht nach einer Redundanzmethode, die als Funktionsredundanzprüfung (functional redundancy checking - FRC) bekannt ist und bei der eine Komponente dupliziert wird und Ausgangssignale von den beiden identischen Komponenten verglichen werden.
Die Funktionsredundanzprüfung (FRC) ist als Fehlerbehebungsmechanismus nicht sehr effektiv. Jedoch ist es für viele Anwender wichtig, das System am laufen zu halten, selbst auf die Gefahr hin, daß die Daten die Vollständigkeit verlieren. Für diese Anwender ist es erwünscht, das System rekonfigurieren zu können, um es am laufen zu halten, wenn eine der Komponenten als Folge einer Funktionsredundanzprüfung ausgefallen ist, selbst wenn Datenintegrität bzw. -vollständigkeit verloren geht.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Redundanzmodul-Prüfsystem zur Verfügung zu stellen, mit dessen Hilfe ein falscher Modul aus dem System herausgenommen und das System zum Betrieb mit einem fehlerfreien Modul rekonfiguriert werden kann.
Diese Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst.
Erfindungsgemäß dupliziert man Moduln in dem System derart, daß ein Modul die Rolle eines Hauptmoduls annimmt, während der andere Modul die Rolle eines Prüfmoduls annimmt, so daß beide Moduln einen einzigen logischen Modul bilden. Die beiden Moduln laufen im Verriegelungsschritt, und bei jedem Schritt stellt der Prüfmodul sicher, daß er die gleichen Ergebnisse wie der Hauptmodul berechnet hat. Wenn ein Fehler als Folge einer Ungleichheit der Ergebnisse aus den beiden Moduln auftritt, wird ein permanentes Fehlerbit eingeschaltet, und der Hauptmodul wird als die aktive Komponente ausgewählt. Bei einer nachfolgenden Initialisierungsfolge wechseln die Moduln den aktiven Zustand derart, daß der Prüfmodul der aktive Modul bei der zweiten, vierten usw. Initialisierung und der Hauptmodul der aktive Modul bei der dritten, fünften usw. Initialisierung wird. Die den Prüfmodul bildende Komponente hat einen passiven Bitsatz, der verhindert, daß er den Systembus oder die Fehler-berichtenden Leitungen ansteuert oder treibt.
Gemäß einer Weiterbildung der Erfindung ermöglicht das passive Bit, daß die Komponente auf eine an sie gerichtete Dialognachricht (interagent communication message - IAC) antwortet, so daß es möglich ist, daß durch Software ein geteiltes Modulpaar wiedervereinigt werden kann.
Im folgenden wird die Erfindung anhand eines in der Zeichnung schematisch dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigt
Fig. 1 ein Blockschaltbild eines Mehrprozessorsystems, in welchem das erfindungsgemäße Prüfsystem verwendet wird;
Fig. 2 ein schematisches Schaltbild der Funktionsredundanz-Prüflogik, die in der in Fig. 1 gezeigten BXU-Komponente verwendet wird;
Fig. 3 ein schematisches Schaltbild einer Kaltstartlogik; und
Fig. 4 ein Signal-Zeitdiagramm während einer INIT-Folge.
Bevorzugtes Ausführungsbeispiel der Erfindung
Fig. 1 ist ein schematisches Blockschaltbild eines Mehrprozessorsystems, das mit dem erfindungsgemäßen Prüfsystem versehen ist. Die gestrichelten Linien zeigen die Begrenzungszonen 10, 12, 14 bei diesem typischen Computer-Subsystem (CS). Innerhalb der Begrenzungszone 10 sind zwei identische allgemeine Datenprozessoren oder GDP's 16, 18 über einen lokalen Bus oder LBUS 17, 19 mit Bus-Erweiterungseinheiten oder BXU's 20, 22 verbunden. Die BXU's sind über Adreß/Daten-(AD)-Leitungen an einen höheren Prozessor (AP)-Bus 23 angeschlossen. Innerhalb der Begrenzungszone 14 gibt es zwei identische Speicherkomponenten 26, 28, die über einen Speicherbus 27, 29 mit Speichersteuereinheiten (MCU's) 30, 32 verbunden sind. Die MCU's sind über Adreß/Daten-(AD)-Leitungen an den AP-Bus 23 angeschlossen. Die Feststellung von schlechten Daten an den Zonengrenzen geschieht durch Funktionsredundanzprüfung (FRC). Ein Modul, z. B. ein GDP/BXU-Paar wird mit einer Kopie 16, 20 dupliziert, welche die Rolle des Hauptmoduls übernimmt, während der andere (18, 22) die Rolle des Prüfmoduls annimmt, wobei beide Kopien einen einzigen logischen Modul 10 bilden, der der Funktionsredundanzprüfung unterworfen werden soll. Die beiden Kopien des Moduls laufen im Verriegelungsschritt (lock step), und bei jedem Schritt stellt der Prüfmodul sicher, daß er die gleichen Ergebnisse wie der Hauptmodul berechnet hat. Die FRC wird durch BXU durchgeführt, welche die Schnittstelle von dem Modul zum System-AP-Bus bildet. Bei jedem Taktzyklus vergleicht die als Prüfmodul bezeichnete BXU 22 ihre AD-Bus-Stifte mit den entsprechenden Stiften der als Hauptmodul bezeichneten BXU 20, mit der sie abgeglichen ist. Wenn eine Ungleichheit festgestellt wird, so ist ein Fehler vorhanden, und der Prüfmodul gibt diese Tatsache bekannt.
Der Betrieb von zwei Moduln im Verriegelungsschritt erfordert eine spezielle Betrachtung der Komponentenkonstruktion. Das erste Erfordernis besteht darin, daß die Komponenten ein Rücksetzsignal und/oder "sync" Dialognachrichten(IAC)-Signal über den LBUS übertragen bekommen, welches die internen Zustände der beiden Komponenten auf die gleichen Werte zu setzen gestattet. Als zweites müssen alle Signaleingänge synchron sein, oder diese Eingänge müssen auf den Systemtakt (CLK) synchronisiert sein, bevor sie an die Komponentenstifte angelegt werden. Schließlich muß während der normalen Operationsweise der Betrieb der beiden Moduln in der FRC-Konfiguration im Verriegelungsschritt (lock step) stattfinden. Die Software nimmt an der Fehlerbehebung dadurch teil, daß sie den fehlerbehafteten Modul abtrennt und das System ohne den fehlerbehafteten Modul neu startet. Dies ist eine billige Methode, da sie alternative statt duplizierte Betriebsmittel benutzt.
Das alternative Betriebsmittel ist der Arbeitsmodul eines FRC-Paars. Wenn ein FRC-Paar einen Fehler berichtet, trennt der Fehlerbericht zum Paar, jedoch nicht zu der einen fehlerbehafteten Komponente des Paars. Diagnosesoftware verwendet den Eigentest und testfähige Eigenschaften der paarigen Komponenten zur Bestimmung des fehlerbehafteten Moduls und grenzt diesen danach aus dem System aus. Dies wird "FRC-splitting" genannt.
FRC-splitting erfolgt bei der Re-Initialisierung nach dem Versagen. Die Hardware ermöglicht dem fehlerbehafteten Modul des Paars die Abschaltung und dem funktionsfähigen Modul die Fortsetzung der Operation. Wenn der FRC-splitting Modus in einer FRC-Komponente an dem AP-Bus, d. h. einer BXU, aktiviert wird, so stellt das nächste warme INIT die frühere Hauptkomponente 20 ruhig (passiver Prüfer), während die frühere Prüfkomponente 22 zu einer Hauptkomponente (aktiver Hauptmodul) wird. Aufeinanderfolgende warme INIT's sorgen für den Rollentausch der Komponenten, wobei jede alternierend in den Ruhezustand gesetzt und die andere zum aktiven Hauptmodul gemacht wird. Dies ermöglicht der Diagnosesoftware, die gute BXU im Paar (und damit den guten Modul) für die Fortsetzung der Operation auszuwählen. Die Schaffung dieser Fähigkeit bedingt eine einzige Entscheidungsleitung im AP-Bus für Haupt- und Prüfmoduln.
Diese Form von Fehlerbehebung wird nach einem INIT aktiviert. Sie kann über ein FRC-splitting-Entaktivierungsbit im FRC- splitting-Steuer(FSC)Register durch die Software entaktiviert werden, was weiter unten beschrieben wird.
Ein FRC-splitting tritt nur in Verbindung mit einer INIT-Folge auf. Vor Beginn der Fehlerabhilfe ist daher die Intervention durch eine externe Software-Signalgabe-Unterstützungslogik notwendig, welche ein lokales INIT-Signal abgibt. Alternativ kann ein watchdog-Zeitgeber vorgesehen sein, der den Fehler oder das Versagen des Systems feststellen und eine INIT-Sequenz auslösen kann. Eine INIT-Sequenz kann auch manuell dadurch ausgelöst werden, daß man den INIT-Knopf auf der System-Tastatur drückt.
Wenn ein permanenter Fehler berichtet wird, setzt jede BXU ein Permanentfehler-Bit in einem Register. Eine Fehlerbehebung unter Verwendung des FRC-splittings findet nicht statt, jedoch als direkte Folge eines Fehlerreports. FRC-splitting findet als Teil einer warmen INIT-Sequenz statt. Daher ist dieses Fehlerbehebungsverfahren (recovery approach) für den Anwender oder das Softwaresystem nicht transparent. Da das FRC-splitting die FRC-Fehlerprüfung im Modul eliminiert, spielt Diagnosesoftware bei der Versuch-und-Fehler-Folge eine Rolle, die feststellt, welche Hälfte des Moduls richtig arbeitet.
Wenn das umgrenzte ID-Feld im Fehlerbericht mit dem umgrenzten ID-Feld im Modul-Fehler-ID-Register übereinstimmt und das MARRIED-Bit im QMR-Register Null ist, so wird das MY-permanent- Fehler-Bit im FSC-Register gesetzt. Die Fehlertoleranz-(FT)-Logik schaltet diesen Modul in der gleichen Weise ab wie bei Modulfehlern. Daher wird der fehlerbehaftete Modul aus dem System ausgeschaltet, versetzt jedoch die BXU's im fehlerbehafteten Modul in eine Position zum Ausführen des FRC-splittings bei dem nächsten warmen INIT, wenn diese Form der Wiederherstellung bzw. Fehlerbehebung aktiviert wird. FRC-splitting tritt auf, wenn:
ein warmes INIT auftritt und
FRC-splitting-Entaktivierung im FSC-Register gelöscht ist und
MY-permanent-Fehler im FSC-Register gesetzt ist.
Wenn FRC-splitting auftritt, so wird das getrennte M/C-Bit im FSC-Register gesetzt.
Die letzte Maßnahme, welche die BXU-Hardware trifft, besteht in der Auswahl entweder des Hauptmoduls (master) oder des Prüfmoduls (checker) als aktive Komponente. Wenn FRC-splitting zuerst stattfindet, so wird der Hauptmodul als aktive Komponente ausgewählt. Bei nachfolgenden warmen INIT's ändern die Komponenten den aktiven Zustand. Daher wird der Prüfmodul aktiv bei den zweiten, vierten usw. INIT's, und der Hauptmodul wird aktiv bei den dritten, fünften usw. INIT's.
Die Initialisierung für Komponenten im System benutzt eine duplizierte INIT-Signalleitung als Schutz gegen Ausfälle der INIT-Leitungen. Die örtliche Intelligenz auf jeder Platine in Form eines Parametersteuergeräts (ein Mikrokontroller) bestimmt, wann die INIT-Leitungen unterbrochen sind. Bei einem Kaltstart ermöglicht das Parametersteuergerät die Initialisierung der Komponenten, wenn eine der INIT-Leitungen funktionsfähig ist. Während eines Warmstarts ermöglicht das Parametersteuergerät die Initialisierung der Platine nur dann, wenn beide INIT-Leitungen bestätigt sind. Dies stellt sicher, daß das System bei einem Kaltstart trotz eines einzelnen Ausfalls im Initialisierungsnetzwerk initialisiert werden kann. Während des Systemlaufs wird jedoch ein zeitweiliger, intermittierender oder dauernder Ausfall einer der INIT-Leitungen nicht zum abrupten Re-Initialisieren eines ansonsten fehlerfrei laufenden Systems zugelassen. Wenn eine INIT-Leitung einen dauernden Ausfall erleidet, sind keine warmen Starte möglich, bis die Leitung repariert ist. In der Zwischenzeit muß das System manuell kalt gestartet werden.
Fig. 2 ist ein Schaltbild der FRC-Logik für ein Einzelbit, das der Erleichterung des Verständnisses dient. Es ist für den Fachmann klar, daß die Schaltung wiederholt werden kann, um Mehrfachbits zu prüfen. Die folgenden Chip-Eingangsstifte werden für die FRC-splitting-Funktion verwendet:
Busfehler: BERL
Die BERL-Leitungen dienen zum Signalisieren von Fehlern. Der Fehler-Berichtmechanismus ist in den oben genannten Patenten genauer beschrieben.
Initialisierungssignal: INIT
Das INIT-Signal zwingt alle Komponenten zum Rücksetzen und Synchronisieren. Der Buszyklus beginnt die erste Systemtakt- (CLK)-Periode nach der Feststellung von INIT. Alle Komponenten nehmen dies wahr und bleiben danach in Synchronisation.
Bus-Ausgangssteuerung: BOUT
BOUT ist angelegt, wenn eine Komponente den AP-Bus treibt bzw. ansteuert.
Adressen/Daten-Leitungen: AD
Die AD-Leitungen führen Adreß- und Dateninformationen zwischen der BXU und dem AP-Bus.
Lokaler Bus: LBUS
Die Lokalbusstifte bzw. -anschlüsse führen Steuer- und Dateninformationen vom allgemeinen Datenprozessor (GDP) zur Komponente. Auf dem GDP laufende Software setzt und rücksetzt die Steuerregister in der Komponente mit Hilfe von Informationen, die über den LBUS laufen.
Chip A (20) trägt eine Logik 41, deren Ausgang mit einem Exklusiv-NOR 42 und mit dem Eingang eines drei-Zustands-Treibers 44 gekoppelt ist. Der drei-Zustands-Treiber hat einen Aktivierungseingang, der mit einer Steuerlogik 50 verbunden ist. Die Ausgänge des Exklusiv-NOR 42 und des Treibers 44 sind jeweils mit einem anderen Anschluß eines Exklusiv-NORs (46) verbunden. Wenn der Aktivierungstreibereingang erregt ist, wird der Treiber 44 entaktiviert, so daß keine Daten durchlaufen können.
Eine Testschaltung 40, 52, 54, 56 ist auf dem Chip vorgesehen und dient zur Erzwingung eines Fehlers in der FRC-Schaltung, damit eine Prüfung durchgeführt werden kann. BOUT und CLK werden in einem UND-Gatter 40 derart kombiniert, daß bei Anstehen von BOUT Taktimpulse angelegt werden an eine Schieberegisterkette 52, 54, die tatsächlich Teil des COM-Registers ist. Das COM-Register ist im Steuerblock 50 und wird weiter unten beschrieben. Die Ausgangssignale der Schieberegisterkette treiben ein UND-Gatter 56, dessen Ausgang den anderen Eingang des Exklusiv-NOR 42 treibt. Die Art, mit der diese Schaltung die Logik prüft, wird weiter unten beschrieben.
Das Chip B (22) stimmt mit dem Chip A (20) identisch überein. Die Logik 61 von Chip B ist ausgangsseitig mit einem Exklusiv-NOR 62 und dem Eingang eines drei-Zustands-Treibers 64 gekoppelt. Der drei-Zustands-Treiber hat einen Aktivierungseingang, der mit einer Steuerlogik 70 verbunden ist. Die Ausgänge des Exklusiv-NOR 62 und des Treibers 64 sind jeweils mit einem anderen Exklusiv-NOR 66 verbunden. Wenn der Aktivierungstreibereingang erregt ist, wird der Treiber 64 entaktiviert, so daß keine Daten durchlaufen können.
Eine Testschaltung ähnlich der oben mit Bezug auf Chip A beschriebenen ist auf dem Chip B vorgesehen und erzwingt einen Fehler in der FRC-Schaltung, damit eine Prüfung vorgenommen werden kann. BOUT und CLK werden in einem UND-Gatter 60 derart verknüpft, daß bei Erregung von BOUT Taktimpulse an eine Schieberegisterkette 72, 74 angelegt werden, die Teil des COM-Registers im Steuerblock 70 ist. Die Ausgangssignale der Schieberegisterkette treiben ein UND-Gatter 76, dessen Ausgang den anderen Eingang des Exklusiv-NOR-Gatters 62 treibt.
Die COM, FRC und FSC-Register, die den FRC-Funktionen zugeordnet sind, sind in jedem der Logikblöcke 50 und 70 enthalten und werden weiter unten beschrieben.
COM-Register
Das COM-Register verwendet ein Serienprotokoll derart, daß Bits über den einen Teil des LBUS bildenden COM-Stift geladen werden.
Systemdaten
Dieses 32-Bit-Register dient für Test- und Parameterisierungsfunktionen und fällt auf Null ab bei INIT.
Schiebekette
Diese 6 Bits sind versteckt und Teil der zum Testen der FRC-Logik in Fig. 2 benutzten Schiebekette.
Die Schiebekette 52, 54 aktiviert ein Bit in der Schnittstelle zum Testen. Dieses Bit wird intern korrumpiert bzw. verändert und sollte zu einem FRC-Fehler führen, der auf dieser FRC-Fehler-Berichtleitung (BERL) angezeigt wird. Eine Fehlerhandhabungslogik verwendet die unten in Tabelle I gezeigte Wahrheitstabelle zur Feststellung, ob eine Fehlerbedingung existiert. Wenn alles normal funktioniert, so zeigt eine Leitung einen Fehler an, und die andere Leitung zeigt OK. Alle anderen Bedingungen zeigen entweder einen Ausfall in der FRC-Logik oder eine Unstimmigkeit zwischen Hauptmodul 20 und Prüfmodul 22 an. Kein Fehlreport wird durch diesen Test erzeugt, sofern keine Fehlerbedingung auftritt.
Tabelle I
Um den automatischen FRC-Test in einer Komponente auszulösen, muß die Software: (a) in das COM-Register der Komponente einen ein einzelnes 1-Bit enthaltenden Wert schreiben und (b) das Aktivierungs-Test-Bit im Test-Bestimmungsregister der Komponente setzen. Das Test-Bestimmungsregister ist im Logikblock 50 angeordnet.
FRC-splitting-Steuerregister
FRC-splitting-Entaktivierung
  • 1 = Die FRC-splitting-Logik ist entaktiviert.
  • 0 = Verfolge FRC-splitting-Folge bei dem nächsten, einem permanenten Fehler in diesem Modul folgenden INIT.
Separates M/C
  • 1 = das Haupt/Prüf-Modulpaar arbeitet in Form von zwei unabhängigen Komponenten.
  • 0 = FRC-Prüfung wird an allen der FRC unterworfenen Stiften aktiviert.
Passiv
  • 1 = Diese Komponente ist passiv. Sie kann den AP-Bus oder die Fehler-Berichtsleitungen nicht ansteuern.
  • 0 = Diese Komponente ist aktiv und in normaler Operation.
Warmes INIT
  • 1 = Das letzte INIT war ein warmes INIT.
  • 0 = Das letzte INIT war ein kaltes INIT.
MY-Permanentfehler
  • 1 = Dieser Modul berichtet einen permanenten Fehler.
  • 0 = Dieser Modul hat keinen permanenten Fehler berichtet.
W. E. MY-Permanentfehler
  • 1 = Ein Registerschreibbefehl zu dem MY-Permanentfehler-Bit wird aktiviert.
  • 0 = Das MY-Permanentfehlerbit wird durch einen Registerschreibbefehl nicht geändert.
FRC-Register
Master
  • 1 = Diese Station ist entweder der Master bzw. Hauptmodul eines Master/Checker-Paars, oder es gibt kein M/C-Paar.
  • 0 = Diese Station ist der Checker bzw. Prüfmodul.
Wenn der COM#-Stift an dem LBUS bei INIT hoch ist, so wird dieses Bit gesetzt (diese Komponente wird zu einem Hauptmodul bzw. Master). Dieses Bit wird nur gelesen und wird von der Hardware niemals geändert.
Kippen Master/Checker
Dieses Bit fällt auf eine "0".
  • 1 = Haupt- und Prüfmoduln wechseln in der Ansteuerung des Bus an Zyklusgrenzen ab.
  • 0 = Hauptmoduln treiben immer den Bus.
Zugriffschecker und Zugriffsmaster
Siehe das nachstehende QMR-Register für das Gebrauchsmodell dieser Bits.
QMR-Register
Ruhe:
  • 1 = Diese Komponente antwortet nicht auf Anforderungen, die entweder an den Speicher oder an den logischen IAC-Adreßraum gegeben sind. Das Kipp-P/S-Bit muß gelöscht werden, wenn das Ruhebit gesetzt wird.
  • 0 = Normale Operation.
Dieses Bit fällt bei Initialisierung auf einen Wert von Null ab. Dieses Bit wird für die MCU benötigt. Es kann bei On-Line-Reparatur von Speichermoduln auf BXU-Basis verwendet werden.
Gepaart (married):
  • 1 = Dieses FRC-Paar wird mit einem anderen FRC-Paar gepaart.
  • 0 = Dieses FRC-Paar ist ungepaart.
Dieses Bit fällt auf einen Wert von "Null" bei Initialisierung ab.
W. E. gepaart:
  • 1 = Register-Schreiboperationen beeinflussen das married-Bit.
  • 0 = Register-Schreiboperationen beeinflussen das married-Bit nicht.
Die Zustände der Steuerbits in den beiden BXU's während einer FRC-splitting-Situation sind in der nachfolgenden Tabelle II gezeigt.
Tabelle II
Es ist das Setzen des Passiv-Bits im FSC-Register, was die passive Komponente von der Ansteuerung des AP-Bus oder der Fehler-Berichtsleitungen abhält. Nach dem Setzen des Passiv-Bits setzt die passive Komponente die Antwort auf an sie gerichtete IAC-Nachrichten fort, so daß Software ein gespaltenes Paar wiedervereinigen kann.
Für das FRC-splitting müssen sowohl der Hauptmodul (master) als auch der Prüfmodul (checker) mit demselben Satz von Entscheidungsleitungen verbunden sein. Dies ist notwendig, damit entweder der master oder der checker als einzige aktive Komponente für den Modul wirken kann. Wenn die Entscheidungsleitungen dupliziert wären, so würden die beiden Entscheidungsleitungen nach einem FRC-split stets unterschiedlich sein, da der Splitmodul nur über einen der beiden Entscheidungsnetzwerke entscheiden würde.
Kalt/Warm-Start-Unterscheidung
Im folgenden wird auf Fig. 3 Bezug genommen, die ein Prinzipschaltbild der Kaltstartlogik zeigt, die ein kaltes INIT von einem warmen INIT unterscheidet. Ein kaltes INIT ist definiert als erstes INIT nach einer Netzeinschaltung. Der V-ref-Stift 80 dient zur Bestimmung einer Netzeinschaltung. Ein Widerstands/­ Kondensator-Netzwerk an dem V-ref-Stift zieht den Stift über 2,0 V zum Zeitpunkt der Netzeinschaltung. Die Werte des Netzwerks sind so gewählt, daß sie den V-ref-Stift über 2,0 V halten, bis das INIT-Signal einen stabilen unteren (LOW) Wert erreicht hat. Die V-ref-Eingangsgatter 82, 84, 86 sind als ein Schmitt-Trigger ausgebildet, der die V-ref über 2,0 V feststellt. Nachdem der INIT-Stift 81 auf dem unteren Wert stabilisiert ist, wird das Ausgangssignal des Schmitt-Triggers in einem RS-Hauptflipflop 88, 90, 92 und dem RS-Hilfsflipflop 94, 96, 98, 100 und 102 verriegelt. Dies erzeugt das Kaltstartsignal 109, welches bestimmt, daß das nächste INIT-Signal als ein kaltes INIT behandelt wird. Der V-ref-Stift muß unterhalb von 2,0 V sein, bevor der INIT-Stift beaufschlagt wird, so daß bei Aktivierung des RS Haupt-Hilfs-Flipflops mit INIT die Kaltstartklemme unbeaufschlagt verriegelt wird und das nächste INIT als ein warmes INIT behandelt wird.
Die erste Beaufschlagung von INIT nach dem Absinken der V-ref-Klemme unter 2,0 V wird als ein Kaltstart behandelt. Alle anderen INITs werden als Warmstart behandelt. Nach der Rückflanke jedes INIT-Impulses zeigt das Warmstart-Bit im FSC-Register an, ob die Initialisierung warm oder kalt war. Die Unterscheidung zwischen warmen und kalten INITs dient zur Steuerung der FRC-splitting-Logik, da ein FRC-split nur bei warmen INITs zugelassen wird.
Ausfallinitialisierung
Die BXU antwortet auf das INIT-Signal durch:
  • (1) Versetzen aller internen Zustandsmaschinen in den Ruhezustand.
  • (2) Synchronisieren ihrer Taktphase auf die Gesamtsystem-Taktphase.
  • (3) Laden ihrer Register mit Ausfallwerten.
Im folgenden wird auf Fig. 4 Bezug genommen, die ein Signal-Zeitdiagramm während einer INIT-Sequenz zeigt. Die erste abfallende Flanke des Systemtakts nach Anlegen von INIT ruft die erste Phase des AP-Bus-Zyklus hervor. Die abfallende Flanke des INIT-Signals setzt alle laufenden Aktivitäten zurück. Die ansteigende Flanke von INIT lädt die BXU (oder eine andere Station bzw. einen anderen Agenten an dem Bus) mit den Vorgabewerten entsprechend Darstellung in Fig. 4. Die Vorgaben (defaults) sind wie folgt:
  • 1. Der Zustand der COM-Leitung bestimmt, ob der Modul ein master (Hauptmodul) oder checker (Prüfmodul) eines FRC-Paars ist.
  • 2. Wenn beide ARB0 und ARB1 beaufschlagt sind, so wird das FRC-splitting-Aktivierungsbit im FT-Register gesetzt.
  • 3. Wenn sowohl ARB2 als auch ARB3 beaufschlagt sind, so wird der Halbgeschwindigkeitsmodus des Bus gewählt.
  • 4. Wenn BOUT ansteht, wird die Station zu einer ICE-Komponente.
Der unbeaufschlagte bzw. unbestätigte Zustand der Busleitungen liefert den Vorgabewert für einen Busparameter, sofern nicht eine externe Quelle den Wert während INIT anlegt bzw. bestätigt.

Claims (3)

1. Fehler-Prüfsystem mit zwei im wesentlichen identisch ausgebildeten Moduln (20, 22), die mit einem gemeinsamen Bus (23) verbunden sind und durch Vergleich ihrer Ausgänge (25, 27) geprüft werden, wobei zu jedem gegebenen Zeitpunkt ein Modul als Hauptmodul und der andere Modul als Prüfmodul bezeichnet wird, dadurch gekennzeichnet, daß wenigstens einer der Moduln aufweist:
erste Mittel (FRC Reg.-Bit 0) zur Bezeichnung des Moduls entweder als Hauptmodul oder als Prüfmodul,
zweite Mittel (FRC Reg.-Bit 1), die in einem ersten Zustand angeben, daß ein als Hauptmodul bezeichneter Modul den Bus (23) kontinuierlich treibt bzw. ansteuert, und in einem zweiten Zustand angeben, daß ein als Hauptmodul bezeichneter Modul und ein als Prüfmodul bezeichneter Modul abwechselnd den Bus treiben bzw. ansteuern,
dritte Mittel (46) zur Unterscheidung einer warmen Initialisierung von einer kalten Initialisierung und
vierte Mittel (51), die mit den ersten, zweiten und dritten Mitteln verbunden sind und den als Hauptmodul bezeichneten Modul bei jeder zweiten warmen Initialisierung zu einem Prüfmodul werden lassen, so daß der Modul bei jeder warmen Initialisierung zwischen einem Hauptmodul und einem Prüfmodul umwechselt.
2. Fehler-Prüfsystem nach Anspruch 1, dadurch gekennzeichnet, daß der eine Modul ein passives Bit (FSC Reg.-Bit 2), fünfte Mittel (44), die mit dem passiven Bit verbunden sind und unter der Bedingung, daß das passive Bit gesetzt ist, die Komponente vom Ansteuern des Busses (23) abhalten, und Mittel aufweist, welche der Komponente das Antworten auf an sie gerichtete Nachrichten ermöglicht, um auf diese Weise die Wiedervereinigung eines aufgeteilten Paares durch die externe Software zu ermöglichen.
3. Fehler-Prüfsystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Haupt- und Prüfmoduln mit dem gleichen Satz von Entscheidungsleitungen verbunden sind, so daß entweder der Hauptmodul oder der Prüfmodul als die einzige aktive Komponente für den Modul wirken kann.
DE19873727850 1986-08-21 1987-08-20 Fehler-pruefsystem Withdrawn DE3727850A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/898,522 US4792955A (en) 1986-08-21 1986-08-21 Apparatus for on-line checking and reconfiguration of integrated circuit chips

Publications (1)

Publication Number Publication Date
DE3727850A1 true DE3727850A1 (de) 1988-03-03

Family

ID=25409570

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873727850 Withdrawn DE3727850A1 (de) 1986-08-21 1987-08-20 Fehler-pruefsystem

Country Status (6)

Country Link
US (1) US4792955A (de)
JP (1) JPS63113638A (de)
KR (1) KR970010022B1 (de)
DE (1) DE3727850A1 (de)
FR (1) FR2606529B1 (de)
GB (1) GB2194366B (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043990A (en) * 1987-12-04 1991-08-27 Hitachi, Ltd. Semiconductor integrated circuit device
GB8729901D0 (en) * 1987-12-22 1988-02-03 Lucas Ind Plc Dual computer cross-checking system
US4903270A (en) * 1988-06-14 1990-02-20 Intel Corporation Apparatus for self checking of functional redundancy check (FRC) logic
JPH0210454A (ja) * 1988-06-29 1990-01-16 Canon Inc 電子機器
US5121500A (en) * 1988-12-30 1992-06-09 International Business Machines Corporation Preliminary polling for identification and location of removable/replaceable computer components prior to power-up
US5081629A (en) * 1989-05-08 1992-01-14 Unisys Corporation Fault isolation for multiphase clock signals supplied to dual modules which are checked by comparison using residue code generators
JP2754722B2 (ja) * 1989-05-12 1998-05-20 日本電気株式会社 二重書データチェック装置
US5157780A (en) * 1990-06-12 1992-10-20 Advanced Micro Devices, Inc. Master-slave checking system
US5200963A (en) * 1990-06-26 1993-04-06 The United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Self-checking on-line testable static ram
US5263034A (en) * 1990-10-09 1993-11-16 Bull Information Systems Inc. Error detection in the basic processing unit of a VLSI central processor
WO1992013281A1 (en) * 1991-01-22 1992-08-06 Vlsi Technology, Inc. Method to reduce test vectors/test time in devices using equivalent blocks
US5423050A (en) * 1991-11-27 1995-06-06 Ncr Corporation Intermodule test across system bus utilizing serial test bus
US5276690A (en) * 1992-01-30 1994-01-04 Intel Corporation Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic
US5414637A (en) * 1992-06-24 1995-05-09 International Business Machines Corporation Intra-module spare routing for high density electronic packages
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
JPH07129426A (ja) * 1993-10-29 1995-05-19 Hitachi Ltd 障害処理方式
US5530435A (en) * 1993-12-09 1996-06-25 Steelcase Inc. Utility distribution system for modular furniture and the like
US5515516A (en) * 1994-03-01 1996-05-07 Intel Corporation Initialization mechanism for symmetric arbitration agents
US6061599A (en) * 1994-03-01 2000-05-09 Intel Corporation Auto-configuration support for multiple processor-ready pair or FRC-master/checker pair
US6202174B1 (en) 1996-09-16 2001-03-13 Advanced Micro Devices Inc Method for identifying and correcting errors in a central processing unit
US5812425A (en) * 1996-09-16 1998-09-22 Advanced Micro Devices, Inc. Method for changing operation of circuitry in a CPU based on a statistic of performance of the CPU
US5937203A (en) * 1996-09-16 1999-08-10 Advanced Micro Devices, Inc. Port for fine tuning a central processing unit
US6985845B1 (en) * 2000-09-26 2006-01-10 Koninklijke Philips Electronics N.V. Security monitor of system runs software simulator in parallel
US6920581B2 (en) * 2002-01-02 2005-07-19 Intel Corporation Method and apparatus for functional redundancy check mode recovery
US7392432B2 (en) * 2004-10-07 2008-06-24 International Business Machines Corporation Synchronizing cross checked processors during initialization by miscompare
DE102005037245A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
US8996953B2 (en) 2013-03-01 2015-03-31 International Business Machines Corporation Self monitoring and self repairing ECC
EP3719649A1 (de) * 2019-04-05 2020-10-07 Robert Bosch GmbH Taktbruchteilermodul, bild- und/oder videoverarbeitungsmodul und vorrichtung

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3303474A (en) * 1963-01-17 1967-02-07 Rca Corp Duplexing system for controlling online and standby conditions of two computers
FR2182259A5 (de) * 1972-04-24 1973-12-07 Cii
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
US4377000A (en) * 1980-05-05 1983-03-15 Westinghouse Electric Corp. Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4634110A (en) * 1983-07-28 1987-01-06 Harris Corporation Fault detection and redundancy management system

Also Published As

Publication number Publication date
US4792955A (en) 1988-12-20
GB8718077D0 (en) 1987-09-03
GB2194366B (en) 1991-02-20
FR2606529A1 (fr) 1988-05-13
JPS63113638A (ja) 1988-05-18
KR970010022B1 (ko) 1997-06-20
KR880003192A (ko) 1988-05-14
FR2606529B1 (fr) 1992-09-11
GB2194366A (en) 1988-03-02

Similar Documents

Publication Publication Date Title
DE3727850A1 (de) Fehler-pruefsystem
DE60302184T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm
DE602005003490T2 (de) Verteiltes System mit Quorumredundanz und Verfahren dafür
DE60016371T2 (de) Vorrichtung und verfahren um die übereinstimmung der daten in einer gruppe von einspiegelungseinrichtungen gespeichert zu behalten
DE69629630T2 (de) Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem
DE69907818T2 (de) Verfahren und Vorrichtung zur Fehlererkennung und Wiederherstellung mit vorbestimmter Replikationsart für verteilte Anwendungen in einem Netzwerk
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE10124482B4 (de) Fehlertolerante Systemressource mit niedriger Latenzzeit, mit übergeordneter Protokollierung von Systemressourcentransaktionen und serverübergreifend gespiegelter Protokollierung von übergeordneten Systemressourcentransaktionen
EP1374052B1 (de) Verfahren zum betrieb eines verteilten computersystems
DE69535099T2 (de) Identifizieren der Steuergerätepaare in einer Festplattenanordnung mit dualem Steuergerät
DE3917984A1 (de) Anordnung zur selbstpruefung einer funktionellen redundanzprueflogik
WO2007057271A1 (de) Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system
DE3328405C2 (de)
WO2011117155A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
DE2741886A1 (de) Datenuebertragungseinrichtung
DE10123067A1 (de) Synchrone Vervielfältigung von Transaktionen in einem verteilten System
WO2005052703A1 (de) Redundantes automatisierungssystem zur steuerung einer tech­nischen einrichtung sowie verfahren zum betrieb eines derar­tigen automatisierungssystems
DE10324380B4 (de) Programmierbare Steuerung mit CPU und Kommunikationseinheiten sowie Verfahren zur Steuerung derselben
EP1358554B1 (de) Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler
DE60303468T2 (de) Fehlertolerante Vorrichtung zur Informationsverarbeitung
DE69927223T2 (de) Ausfallsicherheit eines Mehrrechnersystems
DE60300233T2 (de) Fehlertolerante Vorrichtung zur informationsverarbeitung
DE60309012T2 (de) Verfahren und system zur sicherstellung eines busses und eines steuerservers

Legal Events

Date Code Title Description
8141 Disposal/no request for examination