DE69720322T2 - Maschenverbundene Matrize in einem fehlertoleranten Computersystem - Google Patents

Maschenverbundene Matrize in einem fehlertoleranten Computersystem

Info

Publication number
DE69720322T2
DE69720322T2 DE69720322T DE69720322T DE69720322T2 DE 69720322 T2 DE69720322 T2 DE 69720322T2 DE 69720322 T DE69720322 T DE 69720322T DE 69720322 T DE69720322 T DE 69720322T DE 69720322 T2 DE69720322 T2 DE 69720322T2
Authority
DE
Germany
Prior art keywords
bus
biu
error
fault
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69720322T
Other languages
English (en)
Other versions
DE69720322D1 (de
Inventor
Arnold W. Nordsieck
William M. Yost
Christopher A. Young
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of DE69720322D1 publication Critical patent/DE69720322D1/de
Application granted granted Critical
Publication of DE69720322T2 publication Critical patent/DE69720322T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • 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/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques

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)

Description

    Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemein auf ein fehler- bzw. ausfalltolerantes Computersystem, und mehr im Besonderen auf eine verbesserte Fehler- bzw. Ausfallidentifikation und -rekonfiguration, die in einer Netzwerkmarixfeld-Computerachitektur ausgeführt wird.
  • Hintergrund der Erfindung
  • Fehler- bzw. ausfalltolerntes Rechnen ist die Technik des Bauens von Rechensystemen, die in der Gegenwart von Fehlern bzw. Ausfällen (d. h. Hardware- oder Softwarefehlern bzw. -ausfällen) fortfahren, zufriedenstellend zu arbeiten. Zum Beispiel enthalten große kommerzielle Flugzeuge typischerweise komplizierte Flugsteuer- bzw. -regelcomputersysteme. Um die Sicherheit der Passagiere in dem Fall eines Fehlers bzw. Ausfalls sicherzustellen, können die Luftfahrtelektroniksysteme von solchen Flugzeugen drei oder mehr redundante Computersysteme enthalten. Die Systeme verarbeiten die gleichen Daten von einer gemeinsamen Quelle oder redundante Daten von unterschiedlichen Quellen, die den geleichen Parameter überwachen. Sollte ein Fehler bzw. Ausfall einen Fehler in der Ausgangsgröße von einem der redundanten Computersysteme verursachen, werden die Ausgangsgrößen der anderen Systeme, die übereinstimmen, durch das Luftfahrtelektroniksystem verwendet. Der Schritt des Auswählens von Daten für die Benutzung in einem Verfahren unter den Ausgangsgrößen von redundanten Quellen wird "Abstimmen" bzw. "Votieren" genannt, was eine Form von "Fehler- bzw. Ausfallmaskierung" ist, weil die fehlerhafte Komponente ignoriert wird.
  • Obwohl Rauschen oder andere Übergangserscheinungen einmalige Unstimmigkeiten erzeugen können, die keine nachteilige langzeitige Wirkung auf das gesamte Luftfahrtelektroniksystem haben, zeigen fortwährende Unstimmigkeiten gewöhnlich eine fehlerhafte bzw. ausgefallene Komponente oder einen Bruch in Verbindungen in einem der Kanäle an. Demgemäß können fehler- bzw. ausfalltolerante Systeme so konfiguriert werden, dass sie einen der redundanten Kanäle aussperren, wenn er fortfährt, Ergebnisse zu erzeugen, die sich von denen der anderen Kanäle unterscheiden. Das Rekonfigurieren eines fehler- bzw. ausfalltoleranten Systems auf diese Art und Weise ist eine Form von "dynamischer Wiederherstellung". In einer anderen Prozedur der dynamischen Wiederherstellung werden fehler- bzw. ausfallbehaftete Module identifiziert und aus dem System ausgeschaltet, und sie werden durch ein Systemersatzteil substituiert. Danach leitet das System Rückkehr- bzw. Rücksetz-, Initialisierungs-, Wiederholungs- oder Neustartaktionen in die Wege, die notwendig sind, um die laufenden Berechnungen fortzusetzen.
  • Eine wirksame fehler- bzw. ausfalltolerante "Uni- Prozessor-Architektur" (mehrere Prozessoren wirken als ein Prozessor), die die Fehler- bzw. Ausfallmaskierung und die dynamische Wiederherstellung verwendet, ist die vernetzungsverbundene Gruppierung bzw. das vernetzungsverbundene Matrixfeld. Die vernetzungsverbundene Gruppierung bzw. das vernetzungsverbundene Matrixfeld ist eine Matrix von Knoten, die identische Zentraleinheiten (CPUen) mit identischen Speichermodulen verbinden. Diese Möglichkeit kann als mehrere bzw. viele identische CPUen, die horizontal angeordnet sind, wobei sich ein CPU-Bus vertikal unter jeder CPU erstreckt, repräsentiert werden. Mehrere bzw. viele identische Speichermodule sind vertikal angeordnet, wobei sich Speicherbusse horizontal so erstrecken, dass sie die CPU-Busse an Knoten oder Busschnittstelleneinheiten (BIUen) schneiden. Existierende Vernetzungsarchitekturen führen eine Fehler- bzw. Ausfallmaskierung und eine dynamische Wiederherstellung durch Vergleichen von Paaren von BIUen durch. Eine BIU wirkt als ein Abstimmungsleiter und eine andere als ein Abstimmungsüberprüfer. Der Überprüfer wird mit dem Leiter verglichen und lässt nicht aktiv Daten durch. Dieses ist üblicher als Leiter-Überprüfer- Paare bekannt und ist eine wirksame Maskierungstechnik in fehler- bzw. ausfalltoleranten Systemen. Jedoch beruht die Leiter-Überprüfer-Beziehung auf strikten Majoritätsabstimmgesetzen und ignoriert die Einzigartigkeit der Vernetzungsarchitekturgruppierung bzw. des Vernetzungsarchitekturmatrixfelds. Außerdem nehmen diese Systeme fehler- bzw. ausfallfreie Abstimmungsmechanismen an und führen daher keine Fehleranalyse innerhalb der BIU-Schaltungsanordnung durch. Andere Beispiele von fehler- bzw. ausfalltoleranten Architekturen des Standes der Technik sind in den US-Patenten 4 438 494, 4 503 494 und 4 503 535 von Budde et al. gezeigt.
  • Abriss der Erfindung
  • Die vorliegende Erfindung stellt eine zuverlässige vernetzungsverbundene Gruppierung in einem fehler- bzw. ausfalltoleranten Computersystem zur Verfügung. Das System umfasst mehrere bzw. viele Zentraleinheiten (CPUen), sowie mehrere bzw. viele Speichereinheiten und Busschnittstelleneinheiten (BIUen). Die BIUen sind an der Schnittstellen von mehreren bzw. vielen vertikalen CPU-Bussen und mehreren bzw. vielen horizontalen Speicherbussen lokalisiert. Das Ergebnis ist eine Matrix von BIUen. Jede BIU enthält eine Transaktionssteuer- bzw. -regeleinrichtung zum Übertragen einer Transaktion, die wenigstens eines aus den folgenden enthält: Adressendaten, Lesedaten, Schreibdaten oder Kontroll- bzw. Steuer- bzw. Regeldaten. Ein Vernetzungsbus verbindet alle BIUen innerhalb einer einzigen Gruppierung von BIUen. Die BIUen umfassen einen Fehlerdetektor zum Detektieren von korrigierbaren, wiederholbaren und nicht wiederholbaren Fehlern in den übertragenen Daten einer Transaktion. Ein Fehlerkorrigierer in jeder BIU korrigiert irgendwelche detektierten korrigierbaren Fehler. Ein Vernetzungsfehlerberichter in jeder BIU macht es bei allen BIUen über den Vernetzungsbus geltend, wenn ein wiederholbarer oder nicht wiederholbarer Fehler durch den Fehlerdetektor detektiert worden ist. Ein Wiederhokmechanismus sendet die Daten eine voreingestellte Anzahl von Malen zurück zu dem Fehlerdetektor, wenn ein wiederholbarer Fehler auf dem Vernetzungsbus geltend gemacht bleibt. Ein Fehler- bzw. Ausfallmanager isoliert und eliminiert BIUen mit detektierten Fehlern, die nach der Operation des Wiederholmechanismus übrig bleiben durch Rekonfigurieren des aktiven Status von jeder auf dem Vernetzungsbus verbundenen EID gemäß dem Typ des übrig bleibenden detektierten Fehlers bzw. der übrig bleibenden detektierten Fehler. Ein Fortsetzungsmechanismus vollendet die Transaktion, wenn kein Fehler (keine Fehler) auf dem Vernetzungsbus geltend gemacht bleibt (bleiben).
  • Gemäß anderen Aspekten dieser Erfindung umfasst der Fehlerdetektor weiter einen Kontrolllesemechanismus für einen einzigen Teilprozess bzw. Thread zum Detektieren von Fehlern von Daten, die in den Speicher geschrieben worden sind, wenn nur eine einzige BIU oder ein einziger CPU-Kanal aktiv ist.
  • Gemäß weiteren Aspekten dieser Erfindung detektiert der Fehler- bzw. Ausfallmanager innerhalb jeder BIU irgendwelche selbstimplizierenden Fehler, schaltet jede BIU aus, die einen unkorrigierbaren selbst implizierenden Fehler detektiert, macht eine Botschaft auf dem Verknüpfungsbus geltend, die den Status des Funktionierens (aktiv oder inaktiv) von jeder BIU angibt, und rekonfiguriert den Status der BIUen durch Ausführen eines Konfigurationskonsistenzalgorithmus.
  • Gemäß noch anderen Aspekten dieser Erfindung detektiert der Fehler- bzw. Ausfallmanagementprozessor innerhalb jeder BIU irgendwelche Synchronisationsfehler, macht eine erste Fehlerbotschaft auf dem Verknüpfungsbus geltend, wenn ein Synchronisationsfehler detektiert worden ist, führt einen ersten Rekonfigurationsalgorithmus aus, wenn eine erste Fehlerbotschaft auf dem Verknüpfungsbus geltend gemacht worden ist, und führt den Konfigurationskonsistenzalgorithmus aus.
  • Gemäß noch weiteren Aspekten dieser Erfindung detektiert der Fehler- bzw. Ausfallmanagementprozessor innerhalb jeder BIU irgendwelche Speicherbusfehler, macht eine zweite Fehlerbotschaft auf dem Verknüpfungsbus geltend, wenn ein Speicherbusfehler detektiert worden ist, führt einen zweiten Rekonfigurationsalgorithmus aus, wenn eine zweite Fehlerbotschaft auf dem Verknüpfungsbus geltend gemacht worden ist, und führt den Konfigurationskonsistenzalgorithmus aus.
  • Gemäß immer noch anderen Aspekten dieser Erfindung detektiert der Fehler- bzw. Ausfallmanagementprozessor innerhalb jeder BIU irgendwelche CPU-Busfehler, macht eine dritte Fehlerbotschaft auf dem Verknüpfungsbus geltend, wenn ein CPU-Busfehler detektiert worden ist, führt einen dritten Rekonfigurationsalgorithmus aus, wenn eine dritte Fehlerbotschaft auf dem Verknüpfungsbus geltend gemacht worden ist, und führt den Konfigurationskonsistenzalgorithmus aus.
  • Gemäß anderen Aspekten dieser Erfindung umfasst das System als minimale Architektur eine CPU, wenigstens eine Speichereinheit und eine BIU. Das System der vorliegenden Erfindung enthält vorzugsweise mehrere bzw. viele CPUen, mehrere bzw. viele Speichereinheiten und mehrere bzw. viele BIUen für eine größere Fehler- bzw. Ausfalltoleranz. Die Erfindung stellt eine Fehler- bzw. Ausfallidentifikation und -rekonfiguration in einer Vernetzungsgruppierungsarchitektur bzw. in einer Vernetzungsmatrixarchitektur zur Verfügung, die eine Einzelkanaloperation ermöglicht.
  • Kurze Beschreibung der Zeichnungen
  • Die vorstehenden Aspekte und viele begleitenden Vorteile dieser Erfindung werden leichter erkannt werden, wenn dieselbe besser durch Bezugnahme auf die folgende detaillierte Beschreibung verstanden werden wird, wenn dieselbe in Verbindung mit den beigefügten Zeichnungen genommen wird, worin:
  • Fig. 1 ein Blockdiagramm von einer vernetzungsverbundenen Gruppierung bzw. eines vernetzungsverbundenen Matrixfelds in einem fehler- bzw. ausfalltoleranten Computersystem gemäß der vorliegenden Erfindung unter Verwendung einer Matrix von zwei mal drei Busschnittstelleneinheiten (BIUen) ist;
  • Fig. 2 eine positionelle Zuordnungstabelle zu dem Diagramm der Fig. 1 ist;
  • Fig. 3 ein Blockdiagramm von einer vernetzungsverbundenen Gruppierung bzw. eines vernetzungsverbundenen Matrixfelds in einem fehler- bzw. ausfalltoleranten Computersystem gemäß der vorliegenden Erfindung unter Verwendung von zwei Matrizen von zwei mal drei BIUen, die frei von den gleichen CPUen durchlaufen;
  • Fig. 4 ein Blockdiagramm der inneren Komponenten der BIUen der Konfiguration der Fig. 1 oder der Fig. 3 ist;
  • Fig. 5 bis 13 Ablaufdiagramme sind, die Schritte veranschaulichen, die ausgeführt werden, um eine Verknüpfungsrekonfiguration gemäß der vorliegenden Erfindung zu erreichen;
  • Fig. 14 bis 19 Tabellen sind, die Algorithmen veranschaulichen, die die Rekonfiguration ausführen;
  • Fig. 20 ein Diagramm der Überprüfungsschaltung für die Konfigurationskonsistenz ist; und
  • Fig. 21 und 22 Tabellen sind, die die Leiter bzw. Masterschaftszuordnung veranschaulichen, die in der Schaltungsanordnung der Fig. 20 ausgeführt wird.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • Die Fig. 1 ist ein Blockschaltbild von einer Mehrzahl von Busschnittstelleneinheiten (BIU) 54 an Knoten einer fehler- bzw. ausfalltoleranten Matrix (FTM)-Gruppierung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Mehrere bzw. viele redundante Zentraleinheiten (CPUen) 56 haben zugeordnete CPU-Busse 50, die Speicherbusse 51 schneiden. Die Speicherbusse erstrecken sich von redundanten Speichereinheiten 57 aus. In der Architektur der Fig. 1 wird eine Matrix von 2 mal 3 benutzt, die aus zwei Zeilen von Speichereinheiten 57 und drei Spalten von CPUen 56 besteht. Jede BIU 54 stellt eine Verbindung oder einen Knoten zwischen einem CPU-Bus 50 und einem Speicherbus 51 zur Verfügung, d. h. es ist eine Verbindung für jede CPU 56 einer Spalte mit jeder Speichereinheit 57 einer Zeile vorgesehen. Jede BIU wird zuerst durch die Zeilennummer der verbundenen Speichereinheit 57 und dann durch die Spaltennummer der verbundenen CPU 56 identifiziert. Alle die BIUen 54 in einer einzigen FTM sind untereinander durch einen Maschen- bzw. Vernetzungsbus 52 verbunden. Wie in Fig. 2 gezeigt ist, hat der Ort von jeder BIU 54 eine zugeordnete Vektorbitposition, die Teil eines Konfigurationsvektors bei der Rekonfigurations be- bzw. -verarbeitung ist, wie näher im Detail unten unter Bezugnahme auf die Fig. 19 und 20 beschrieben ist.
  • Die vorliegende Erfindung ist fähig, verschiedene Konfigurationen zu betreiben, wie zum Beispiel eine einzige CPU 56, die durch eine einzige BIU 54 mit einer einzigen Speichereinheit 57 verbunden ist. Die vorliegende Erfindung arbeitet auch wirksam, wenn eine einzige CPU mit mehreren bzw. vielen redundanten Speichereinheiten verwendet wird, oder wenn ein einziger Speicherkanal mit mehreren bzw. vielen redundanten CPUen verwendet wird. Ein einziger CPU-Kanal wird durch eine einzige CPU 56 und einen CPU-Bus 50, der mit wenigstens einem Speicherbus 51 mit einer entsprechenden Speichereinheit 57 verbunden ist, identifiziert. Ein einziger Speicherkanal hat einen einzigen Speicherbus 51 und eine Speichereinheit 57, die mit wenigstens einer CPU 56 verbunden ist. Das System ist auch wirksam, wenn getrennte bzw. abgetrennte BIUen 54 vorhanden sind. Die BIUen 54 werden getrennt bzw. abgetrennt, wenn zwei oder mehr BIUen es verfehlen, den gleichen CPU-Bus 50 und den gleichen Speicherbus 51 zu besetzen. Die vorliegende Erfindung ist fähig, Matrixgruppierungen zu handhaben, die größer als jene sind, die in Fig. 1 gezeigt ist. Jedoch ist für den Zweck dieser Beschreibung eine Matrixgruppierung von 2 mal 3 wirksam für das das Zeigen der redundanten Fähigkeiten der vorliegenden Erfindung. Es wird außerdem bemerkt, dass größere Matrixgruppierungen abnehmende Verbesserungen in den fehler- bzw. ausfalltoleranten Fähigkeiten vorsehen.
  • Die Fig. 3 ist die Veranschaulichung eines Blockschaltbilds von zwei FTM-Gruppierungen, die von dem gleichen Satz von CPUen 56 aus arbeiten, aber mit verschiedenen Speichersystemen verbunden sind. Ein erstes Netzwerk von 2 mal 3, das Netzwerk A, hat zwei Speichereinheiten 57, von denen jede aus einem elektrisch löschbaren, programmierbaren Nur-Lese- Speicher (EEPROM) 57a, einem Direktzugriffsspeicher mit einem einzigen Port bzw. Anschluss (SRAM) 57b und einem Direktzugriffsspeicher mit einem dualen Port bzw. Anschluss (DPRAM) 57c besteht. Die Speicherzeilen von einem zweiten Netzwerk B von 2 mal 3 umfassen nur ein SRAM 57d und ein DPRAM 57e. Das Netzwerk B führt unterschiedliche, jedoch synchrone Operationen von den gleichen CPUen 56 her aus, die durch das Netzwerk A gekoppelt sind. Die CPUen 56 können mit einer größeren Verschiedenheit von Funktionen bei zwei verbundenen FTMen operieren. Jedoch ist die Synchronisation zwischen den FTMen von Wichtigkeit bzw. eine Besorgnis während des Betriebs. Es ist durch jemand, der auf dem Fachgebiet erfahren ist, erkennbar, dass sich die Netzwerkkonfiguration der vorliegenden Erfindung mit verschiedenen Arten von Speichern und Eingängen/Ausgängen (I/O) integrieren lassen kann. Die Systemdatenerfordernisse diktieren die Speicher- und I/O-Erfordernisse. Ein I/O-System der vorliegenden Erfindung, das sich integrieren lassen kann, ist ein integrierter modularer Flugzeugsystemluftfahrtelektronikkasten, wie zum Beispiel ein Bus ARINC 629, der an den DPRAMn angebracht ist.
  • Der Zweck der vorliegenden Erfindung ist es, wirksam Daten aus einem Speicher in der Gegenwart eines Fehlers (von Fehlern) abzugeben oder wiederzugewinnen. Während einer Situation, in der kein Fehler vorhanden ist, haben alle die BIUen zugeordnete Funktionen. Jede Zeile und Spalte hat eine BIU, der eine Master- bzw. Leiterfunktion zugeordnet ist, und dem Rest der BIU(en) von jener Zeile oder Spalte sind Überprüferfunktionen zugeordnet. Beim Schreiben in einen Speicher ist die Master- bzw. Leiter-BIU die einzige BIU, der es erlaubt ist, Daten in den Speicher in jedem Speicherkanal zu schreiben. Jeder CPU-Kanal hat eine Master- bzw. Leiter-BIU für Transaktionen von Daten zwischen den BIUen 54 und den CPUen 56. Die Überprüfer-BIUen werden dazu benutzt, die Master- bzw. Leiter-BIUen hinsichtlich der Korrektheit zu Überprüfen. Nur aktive BIUen partizipieren an jeder Überprüfung oder Abstimmung, die in dem Algorithmus der vorliegenden Erfindung ausgeführt wird. Wenn das System vollständig funktioniert, werden zwei wichtige, miteinander in Beziehung stehende Aufgaben ausgeführt. Erste Aufgabe besteht darin, Fehler innerhalb und außerhalb von jeder BID in einer FTM zu detektieren. Die andere Aufgabe ist jene der Rekonfiguration des Status der BIU entsprechend den Ergebnissen der Erfüllung der Aufgabe der Fehlerdetektion. Die Rekonfiguration wird durch eine Zeile von Algorithmen ausgeführt, die unten unter Bezugnahme auf die Fig. 14 bis 21 beschrieben sind.
  • Die Fig. 4 ist ein Blockschaltbild der inneren Komponenten einer Busschnittstelleneinheit 54 mit entsprechenden Busverbindungen. Die Busschnittstelleneinheit 54 umfasst einen Adressendatenweg 58, einen Datendatenweg 59 und einen Transaktionscontroller 63, der als Verbindung dazwischen vorhanden ist. Ein Initialisierungscontroller 64 ist auch als Verbindung zwischen dem Adressendatenweg 58 und dem Datendatenweg 59 vorhanden. Ein Fehler- bzw. Ausfall- und Rekonfigurations (FDIR) -datenweg 62 tritt in Wechselwirkung mit dem Transaktionscontroller 63 und dem Initialisierungscontroller 64, und ein Eingangs/Ausgangs (I/O) -controller 61 tritt in Wechselwirkung mit allen anderen Komponenten der BIU. Jede BIU 54 umfasst eine Dualzustandsmaschine. Wie in Fig. 4 gezeigt ist, hat jeder Controller und Schaltungsweg 58, 59, 61 bis 64 eine duale identische Schaltungsanordnung, wie durch die geschatteten schwarzen Kästchen bzw. Black Boxen veranschaulicht ist. Die Dualzustandsmaschine umfasst die dualen identischen Schaltungen. Die Dualzustandsmaschine stellt eine Vergleichsüberprüfung von vielen der Prozesse zur Verfügung, die innerhalb der Busschnittstelleneinheit 54 ausgeführt werden.
  • Spezieller bildet, wie in Fig. 4 gezeigt ist, der Adressendatenweg 58 eine externe Verbindung zu dem CPU-Bus 50 (auf der linken Seite gezeigt) und dem Speicherbus 51 (auf der rechten Seite gezeigt). Intern ist der Adressendatenweg 58 an den Transaktionscontroller 63, den Initialisierungscontroller 64 und den Datendatenweg 59 angekoppelt. Der Adressendatenweg 58 empfängt Adressendaten von dem CPU-Bus 50 über einen CPU-Adressenbus 66 und steht mit dem Speicherbus 51 über einen Speicheradressenbus 57 in Verbindung. Der Datendatenweg 59 ist intern an den Transaktionscontroller 63, den Initialisierungscontroller 64 und den Adressendatenweg 58 (dargestellt durch die fette Linie 70 in der Mitte) angekoppelt. Der Datendatenweg 59 steht extern mit dem CPU-Bus 50 über einen CPU-Datenbus 58 und mit dem Speicherbus 51 über einen Speicherdatenbus 69 in Verbindung. Der Transaktionscontroller 63 empfängt Kontroll- bzw. Steuerdaten von dem CPU- Bus 50 über einen CPU-Steuerbus 72 und ist inntern mit allen den inneren Komponenten der BIU verbunden, ausgenommen den Initialisierungscontroller 64. Der Initialisierungscontroller 64 hat keine direkten externen Verbindungen und ist intern mit allen den Komponenten der BIU verbunden, ausgenommen den Transaktionscontroller 63. Der I/O-Controller 61 überträgt Speicherkontroll- bzw. -steuerdaten zu und von dem Speicherbus 51 über einen Speichersteuerbus 7 : 1 und steht mit den anderen BIUen in der FTM durch den Netzwerkbus 52 in Verbindung. Intern ist der I/O-Controller 61 außerdem mit dem FDIR- Datenweg 62 verbunden.
  • Der Transaktionscontroller 63 bestimmt aus den CPU- Kontroll- bzw. -Steuerdaten die Transaktion, die die BIU 54 ausführen soll und befiehlt jeder der Komponenten gemäß der bestimmten Transaktion zu funktionieren. Einige Beispiele von Transaktionen sind das Lesen von Daten aus dem Speicher entlang dem Bus 69, das Schreiben von Daten in den Speicher enlang dem Bus 69 und Adressenzugriffe des Speichers entlang dem Bus 67. Der Adressebdatenweg 58 be- bzw. verarbeitet Adressentransaktionen, und der Datendatenweg 59 be- bzw. verarbeitet alle Lese- und Schreibdatentransaktionen. Der Transaktionscontroller 63 steuert außerdem die Synchronisation von allen den Komponenten innerhalb der BIU 54, so dass demgemäß eine effiziente Be- bzw. Verarbeitung aller Informationen sichergestellt wird, die in die BIU 54 und durch die BIU laufen.
  • Der Initialisierungscontroller 64 stellt eine Steuerung der BIU 54 während der Inbetriebnahme zur Verfügung und liefert irgendwelche erforderlichen Instruktionsabrufe, die während der Inbetriebnahme erforderlich sind.
  • Der FDIR-Datenweg von jeder BIU 54 innerhalb einer FTM speichert ein Wort (Konfigurationsvektor), das dem Statuswert von jeder BIU innerhalb der FTM entspricht. Der genaue Speicherort wird unten unter Bezugnahme auf die Fig. 20 beschrieben. In einer FTM mit 6 BIUen ist der Konfigurationsvektor ein Sechs-Bit-Wort, wobei jedes Bit den Status von einer BIU innerhalb der FTM repräsentiert. Es sei auf Fig. 2 Bezug genommen, wonach jede BIU 54 eine Position in der FTM hat. Die Position hat ein entsprechendes Bit in dem Konfigurationsvektor. Wenn zum Beispiel der Konfigurationsvektor 011101 war, werden die BIUen in der Vektor-Bit-Position 0, unten links von Fig. 1, und in der Vektor-Bit-Position 4, obere Mitte der Fig. 1, wegen der Nullen in jenen jeweiligen Positionen als nicht operativ betrachtet. Die als nicht operativ betrachteten BIUen werden von FTM-Operationen her eingeschränkt, vorausgesetzt, dass alle die BIUen 54 mit diesem Konfigurationsvektor übereinstimmen, siehe unten unter Bezugnahme auf die Fig. 19 bis 22. Der FDIR-Datenweg 62 rekonfiguriert den Konfiguratiosvektor bei Identifikation von Fehlern bzw. Ausfällen von den anderen Komponenten innerhalb der BIU 54 oder gemäß einer Änderung im Status von anderen BIUen, empfangen von dem Netzwerkbus 52. Der Rekonfigurationsalgorithmus ist unten unter Bezugnahme auf die Fig. 19 und 20 beschrieben.
  • Schließlich stellt der I/O-Controller 61 eine als Schnittstelle wirkende Kontroll- bzw. Steuereinheit zur Verfügung, wobei der Speicherbus 51, der Netzwerkbus 52 und die internen Komponenten mit dem I/O-Controller 61 verbunden sind.
  • Jede BIU 54 in der FTM detektiert kontinuierlich Fehler von den Daten, die die BIU 54 empfängt, be- bzw. verarbeitet und überträgt. Zwei Arten von detektierten Fehlern sind Wertfehler und Synchronisationsfehler. Ein Wertfehler ist ein Fehler in den Daten, die durch die BIU 54 empfangen, be- bzw. verarbeitet oder übertragen sind bzw. werden. Ein Synchronisationsfehler erwächst aus Inkonsistenzen in der Synchronisation zwischen den Komponenten innerhalb einer BIU 54, sowie Inkonsistenzen in der Synchronisation zwischen den BIUen innerhalb einer FTM, und Synchronisationsinkonsistenzen mit einer zweiten FTM, wie in Fig. 3 gezeigt ist. Es ist für jemand von üblichem Fachwissen erkennbar, dass irgendwelche zusätzliche Einheiten, die mit einer FTM in Wechselwirkung treten, hinsichtlich der Synchronizität überprüft werden müssen. Die Verrichtung von Vergleichen der Dualzustandsmaschine, von Paritätsüberprüfungen, von Komplementärsignalüberprüfungen, von Transaktionskonsistenzvergleichen, von Umherkreisungsvergleichen von Signalen, die von der BIU weggesendet worden sind, von Taktphasenvergleichen und von Netzwerkabstimmungen (unten unter Bezugnahme auf die Fig. 19 und 20 beschrieben), stellen eine fortlaufende Analyse hinsichtlich von Fehlern, die irgendwo in einer Transaktion auftreten können, zur Verfügung. Außerdem ermöglicht es die Analyse auf Fehler, jeder BIU, selbstimplizierende Fehlerabschätzungen auszuführen, so dass demgemäß eine FTM zur Verfügung gestellt wird, die mit nur einer aktiven BIU arbeiten kann.
  • Die BIUen 54 werden vorprogrammiert, um Wert- und Synchronisationsfehler auf zwei Arten und Weisen zu charakterisieren. Die Fehler werden zuerst als ein selbstimplizierender Fehler der BIU, ein Synchronisationskonsistenzfehler, ein Speicherbusfehler oder ein CPU-Busfehler charakterisiert. Diese Identifikation wird später durch die Fehler- bzw. Ausfallmanagementprozedur zur weiteren Isolierung der Fehler benutzt (siehe Fig. 11). Außerdem werden die Fehler als entweder korrigierbar, wiederholbar oder nicht wiederholbar bewertet. Die zweite Bewertung beeinflusst es in hohem Maße, wie die Fehler- bzw. Ausfallmanagementprozedur auf den entdeckten Fehler reagiert (mehr im einzelnen unten mit Bezug auf die Fig. 5 und 20 beschrieben).
  • Transaktionsdatenfluss
  • Die Fig. 5 bis 13 veranschaulichen einen fehler- bzw. ausfalltoleranten Prozess von einer bevorzugten Ausführungsform der vorliegenden Erfindung. Alle CPU-Speichertransaktionen werden durch die BIUen 54 be- bzw. verarbeitet und sind Variationen von Lesungen in dem und Schreibungen aus dem Speicher. Wie in Fig. 5 gezeigt ist, wird jede Transaktion, die von einer BIU 54 empfangen wird, nach Fehlern während der Phasenoperation, speziell einer Adressenphase und einer Datenphase, analysiert (110). Die Fig. 6 und 8 veranschaulichen, wie unten beschrieben ist, die Schritte der Fehlerbestimmung, die in den Adressen- und den Datenphasen ausgeführt werden. Wenn die Fehleranalyse bestimmt, dass ein wiederholbarer oder nicht wiederholbarer Fehler in einer der Phasen vorhanden ist, wird eine Botschaft, die das so angibt, gegenüber den anderen BIUen über den Netzwerkbus 52 (111) geltend gemacht (nicht wiederholbare Fehler sind unten unter Bezugnahme auf Fig. 11 beschrieben). Wenn jedoch die Fehleranalyse bestimmt, dass der gegenwärtige Fehler korrigierbar war, werden die Daten korrigiert (112). Wenn kein Fehler während der Phasenanalyse bei 110 entdeckt worden ist, oder wenn nur korrigierbare Fehler vorhanden und bei 112 korrigiert worden sind, geht das System weiter zu einer Entscheidung 115. Wenn es bei der Entscheidung 115 bestimmt wird, dass kein Fehler auf dem Netzerkbus 52 geltend gemacht wird, geht das System weiter zur Verarbeitung der nächsten Transaktion. Wenn ein Fehler auf dem Netzwerkbus 52 geltend gemacht wird, geht das System weiter zu der Fehler- bzw. Ausfallmanagementprozedur 116.
  • Die Fig. 6 veranschaulicht die Verarbeitungsschritte, die innerhalb der Adressenphase der Operation ausgeführt werden. Anfänglich wird eine Fallauswahl 144 an den Daten ausgeführt, die in der Adressenphase empfangen werden. Die Fallauswahl 144 bestimmt, ob die empfangenen Daten von einer neuen Transaktion oder einer Wiederholung, Zweig 144a, oder von einer Kontrolllesung oder einer unwiederbringlichen Speicherlöschung, Zweig 144b, sind. Eine Adressenphasenwiederholung wird in einer Wiederholungsprozedur ausgeführt, die unten unter Bezugnahme auf Fig. 9 beschrieben ist, und der Kontrollesefall ist unten unter Bezugnahme auf Fig. 13 beschrieben. Der Fall der unwiederbringlichen Löschung des Speichers führt eine Korrektur von unrichtig gespeicherter Information, die während einer Lesetransaktion als korrigierbar bestimmt worden ist, durch.
  • Wenn der Fall einer neuen Transaktion oder Wiederholung vorliegt, Zweig 144a, bringt bzw. treibt die CPU die Adresse bei 140 zu der BIU, die die Adresse bei 141 festhält. Dann wird die Adresse dekodiert, und eine Cache-RAM-Bestimmung über Volltreffer/Fehltreffer wird bei 142 ausgeführt. In dieser Ausführungsform stellt der Cache in dem Adressendatenweg 58 einen schnelleren Zugriff zu Instruktionen/Daten, die in dem EEPROM gespeichert sind, zur Verfügung. Die Adressenphase führt dann eine Synchronisationsprozedur bei 145 und eine Annulierungsprozedur bei 147 aus (beide Prozeduren sind in Fig. 7 veranschaulicht und unten beschrieben). Vor der Annulierungsprozedur bringt die BIU die Adresse zum Speicher, und Speichersteuerungen werden bei 146 auf dem Speichersteuerbus 71 geltend gemacht. Die Analyse der Adressenphase der neuen Transaktion oder Wiederholung, Zweig 144a, ist bei Vollendung der Annulierungsprozedur vollständig, so dass demgemäß irgendwelche Fehler, die in der Prozedur der Adressenphase, der Synchronisationsprozedur oder der Annulierungsprozedur bestimmt worden sind, zurückgebracht werden.
  • Wenn die Prozedur der Adressenphase den Fall einer Kontrolllesung oder einer unwiederbringlichen Löschung des Speichers auswählt, Zweig 144b, führt die Prozedur der Adressenphase alle die gleichen Aufgaben wie im Fall der Wiederholung durch, ausgenommen, dass die BIU die vorher gehaltene Adresse (143) benutzt, und die Prozedur nicht die Annulierungsprozedur durchführt.
  • Die Fig. 7 veranschaulicht die Synchronisationsprozedur bei 145 von Fig. 6 und die Annulierungsprozedur bei 147, die innerhalb der Adressenphase operieren. Die Synchronisationsprozedur führt drei gleichzeitige Funktionen durch, die als Wege 169 a, b und c gezeigt sind. Eine Funktion, 169a, bestimmt, ob ein Synchronisationsfehler in der Adressenphase der Operation auftritt. Die anderen beiden gleichzeitigen Funktionen, die Wege 16% und c, treiben einen FTM- Adressenmerker, wenn die BIU denkt, dass sie durch die CPU adressiert wird, und treiben ein Maschen- bzw. Netzwerkkonsistenzsignal, wenn die BIU glaubt, ihre Operation der Adressenphase ist konsistent mit dem dem Speicher in den Speichereinheiten 57. Der getriebene Adressenmerker wird mit irgendeinem der getriebenen Fehlersignale bei 175 qualifiziert, sowie dann zu dem Algorithmus geführt, der bei 176a und 180a beginnt, welcher unten unter Bezugnahme auf Fig. 16A beschrieben ist. Das getriebene Konsistenzsignal wird in entsprechender Weise mit den Fehlersignalen bei 177 qualifiziert und durch einen Algorithmus bei 176b und 180b verarbeitet, wie unten mit Bezug auf Fig. 17A beschrieben ist. Bei 181 werden resultierende Aktionen an der Analyse der Daten von dem Beginnen des Synchronisationsprozesses an ausgeführt.
  • Wenn kein Merkersignal existiert, wird keine Transaktion verfolgt. Wenn eine Adresse und ein Transaktionskonsistenzsignal existieren, dann gibt der Synchronisationsprozess an, dass die Transaktion gut ist. Wenn jedoch ein Merker vorhanden ist und kein Transaktionskonsistenzsignal existiert, ist die Transaktion illegal und wird ein synchrones Unterbrechungssignal für die weitere Benutzung in der Fehler- bzw. Ausfallmanagementprozedur erzeugen.
  • Die Annulierungsprozedur ist mit der Synchronisationsprozedur veranschaulicht, da sie den gleichen ausgesteuerten Fehlerausgang von 170 benutzt. Die CPU 56 führt eine Fließbandverarbeitung von Transaktionen durch die BIUen 54 zur leistungsfähigen Verarbeitung durch. Jedoch können Situationen auftreten, in denen eine Transaktion im Fließband bzw. in der Pipeline nicht notwendig ist und annuliert werden muss. Die Annulierungsprozedur stellt der FTM die Fähigkeiten des Annulierens einer unerwünschten Transaktion zur Verfügung. Wenn ein Annulierungssignal durch die BIU empfangen wird, wird ein Ausgangssignal zu dem Netzwerkbus 52 geschickt, um die Transaktion bei 190 zu annulieren. Das Annulierungssignal, das zu dem Netzwerkbus 52 geschickt worden ist, wird dann durch die Fehlersignalausgabe von 170 qualifiziert, und die Ausführung des Annulierungsalgorithmus von 185 und 186 wird dann durchgeführt. Wenn der Konsens des Algorithmus eine Annulierungsentscheidung ist, wird ein nicht wiederholbares Signal erzeugt, und irgendeine nicht übereinstimmende BIU wird bei 182 abgeschaltet (nicht wiederholbare Fehler werden unten unter Bezugnahme auf Fig. 11 beschrieben). Der Annulierungsalgorithmus wird in mehr Einzelheiten unter Bezugnahme auf Fig. 18 beschrieben. Eine Vollendung von sowohl der Annulierungs- als auch der Synchronisationsprozedur bringt die Verarbeitung zu der Adressenphase zurück.
  • Die andere Prozedur, die in dem Fehlerdetektionstest bei 110 von Fig. 5 ausgeführt wird, ist die Prozedur der Datenphase, die in Fig. 8 gezeigt ist. Die Prozedur der Datenphase umfasst eine Fallauswahl bei 153 zum Auswählen von einer aus fünf Transaktionen, die als Wege 167a bis e gezeigt sind, und zwar gemäß den Daten, die durch den Datendatenweg 59 empfangen worden sind: eine Lesetransaktion 167a, eine Schreibtransaktion 167b, eine Unterbrechungstransaktion 167c, eine Transaktion der unwiederbringlichen Löschung 167d, eine Kontrolllesetransaktion 167e. Wenn der Fall eine Lesetransaktion 167a ist, werden Daten aus dem Speicher gelesen, die BIU hält die aus dem Speicher bei 150 gelesenen Daten fest, überprüft sie hinsichtlich von Fehlern in einer Fehlerdetektions- und Korrekturschaltung (EDAC), die innerhalb des Datenwegs 59 lokalisiert ist, und erzeugt Parität bei 152, und steuert die Daten auf den CPU-Bus 50 bei 156 aus bzw. bringt die Daten bei 156 auf den CPU-Hus 50. Wenn bestimmt wird, dass der Fall eine Schreibtransaktion 167b ist, ein Schreiben von Daten in den Speicher, hält die BIU die Daten von der CPU fest, damit sie bei 151 in den Speicher geschrieben werden, erzeugt einen Fehlerkorrigiercode (ECC) bei 155, und bringt die von der CPU empfangenen Daten bei 157 auf den Speicherbus. Die Schreibtransaktion enthält einen Schritt B, der mehr im Detail unten bei Fig. 13 beschrieben ist. Wenn die Transaktion eine Unterbrechung 167c ist, werden Unterbrechungsparameter bei 158 in ein Unterbrechungsregister geschrieben. Die Unterbrechungstransaktion wird von Fehlern initiiert, die es erfordern, dass die FTM und/oder die BIU temporär die Verarbeitung stoppen. Wenn der Fall eine Transaktion der unwiederbringlichen Löschung 167d ist, wird ein Fehlerkorrigiercode (ECC) bei 162 erzeugt, und die BIU befördert die Daten, die gespeichert werden sollen, auf den Speicherbus und macht Speichersteuerungen bei 161 geltend. Wenn der Fall schließlich eine Kontrollesetransaktion 167c ist, werden die Speichersteuerungen bei 163 geltend gemacht, die BIU hält die Daten bei 166 fest, die zu dem Speicher geschickt worden sind, überprüft die gespeicherten Daten durch EDAC, und vergleicht jene Daten mit den von der CPU empfangenen Daten bei 165. Die Transaktion der unwiederbringlichen Löschung führt Korrekturen von korrigierbaren Daten aus. Die Vollendung von jedem der Fälle innerhalb der Datenphasenprozedur bringt die Prozedur zurück zu der Entscheidung auf Seite 17 bei 110 von Fig. 5, und zwar mit bzw. bei irgendwelchen Fehlern, die durch die Datenprozedur selbst bestimmt worden sind.
  • Wie in Fig. 13 gezeigt ist, wird eine Überprüfung an den im Speicher von einer Schreibtransaktion gespeicherten Daten durchgeführt, während entweder ein einzelner CPU-Kanal oder ein einzelner Speicherkanal bei 127 in das DPRAM schreibt. Wenn die in den Speicher geschriebenen Daten korrekt sind, kehrt der Prozess zur Phasenverarbeitung 110 von Fig. 5 zurück. Wenn die Daten unrichtig aber korrigierbar (131) sind, werden die Daten korrigiert (132). Wenn jedoch die Daten unrichtig aber nicht korrigierbar sind, wird ein Fehler auf dem Netzwerkbus geltend gemacht.
  • Wenn ein wiederholbarer oder nicht wiederholbarer Fehler (wiederholbare oder nicht wiederholbare Fehler) nach der Verrichtung der Phasenoperationen existiert (existieren), wird die Fehler- bzw. Ausfallmanagementprozedur 116 initiiert, wie in den Fig. 9 bis 12 gezeigt ist. Bei der Entscheidung 198 bewegt sich der Prozess direkt zu einer Fehler- bzw. Ausfallidentifikations- und -rekonfigurations (FDIR)-prozedur 208, wenn ein nicht wiederholbarer Fehler vorher entdeckt wurde. Wie in Fig. 9 gezeigt ist, wiederholt das System separat die Prozedur der Adressen- und Datenphase bei 197 bis 205. Im Schritt 200 werden Fehler der Prozedur der Adressenphase festgehalten und bis zur Vollendung der Prozedur der Datenphase aufbewahrt. Dieses ermöglicht es der nächsten Transaktion, die Prozedur der Adressenphase zu starten, wenn die vorliegende Transaktion die Prozedur der Datenphase startet. Es wird eine voreingestellte Anzahl von Wiederholungen ausgeführt, bis keine Fehler auf dem Netzwerkbus 52 geltend gemacht werden, wie es durch eine Entscheidung bei 205 bestimmt wird, oder bis die Wiederholungsgrenze erreicht ist, wie es durch die Entscheidung 207 bestimmt wird. Wenn die Wiederholung den wiederholbaren Fehler (die wiederholbaren Fehler) unwiederbringlich löscht, geht das System zur Verarbeitung der nächsten Transaktion weiter. Wenn ein Fehler bzw. Ausfall noch auf dem Netzwerkbus 52 geltend gemacht wird, nachdem die Wiederholgrenze erreicht worden ist, geht das System weiter zu der FDIR-Prozedur 208 weiter.
  • Es sei auf Fig. 10 Bezug genommen, wonach die FDIR- Prozedur 208 zuerst hinsichtlich von Adressenphasenfehlern bei 210 bis 212, dann hinsichtlich von Datenphasenfehlern bei 215 bis 217 prüft. Wenn ein Fehler in einer der Phasen bei 212 und 217 detektiert wird, wird eine Fehler- bzw. Ausfallidentifikations (FID)-prozedur 218 separat initiiert. Im Wesentlichen in diesem Stadium der Prozedur werden irgendwelche Fehler, die gegenwärtig sind, in eine von den beiden Phasen, Adressen oder Daten kategorisiert. Die FID-Prozedur 218 isoliert weiter irgendwelche Fehler innerhalb jeder Phase und rekonfiguriert den Netzwerkkonfigurationsvektor gemäß irgendwelchen detektierten Fehlern.
  • Die Fig. 11 veranschaulicht die FID-Prozedur 218, die weiter irgendwelche Fehler isoliert und den Konfigurationsvektor gemäß dem Ort des Fehlers (der Fehler) rekonfiguriert. Jede BIU hält den n-Bit-Konfigurationavektor aufrecht, der die Wahrnehmung der BIU von dem Status von jeder der n BIUen in der FTM angibt. Für den Zweck der vorliegende Erfindung ist n = 6, weil es sechs BIUen in der Matrixgruppierung von 2 mal 3 gibt. Die erste Analyse bestimmt bei 220, ob der Fehler (die Fehler) als selbstimplizierend charakterisiert werden. Wenn ein oder mehrere selbstimplizierende Fehler existieren, wird eine Fehlerbotschaft auf dem Netzwerkbus 52 von einer Entscheidung bei 221 her geltend gemacht. Alle BIUen senden fortlaufend ein in Phase gebrachtes Herzschlagsignal zu den BIUen über den Netzwerkbus 52. Während einer fehler- bzw. ausfallfreien Operation läuft das Herzschlagsignal fortlaufend zyklisch mit einer speziellen Umlaufphase, die allen den BIUen bekannt ist, um. Wenn das Herzschlagsignal von einer BIU außer Phase empfangen wird, wird die BIU getötet oder vom Abstimmen entfernt. Ein nicht wiederholbarer Fehler ist ein Fehler, der eine fehlerhafte Änderung in dem Herzschlagsignal der BIU verursacht. Die selbst implizierte BIU schaltet bei 223 ab und sendet eine Änderung von ihrem in Phase gebrachten Herzschlagsignal zu allen den BIUen in der FTM. Ein in der Phase geändertes Herzschlagsignal zeigt an, dass der Konfigurationsvektor eine Rekonfiguration erfordert und einer Rekonfiguration unterworfen werden muss. Die individuelle BIU- Reaktion auf ein geändertes Herzschlagsignal ist unten unter Bezugnahme auf Fig. 20 beschrieben. Eine Konfigurationskonsistenzprozedur 237 führt irgendeine notwendige Rekonfiguration des Konfigurationsvektors durch. Die Konfigurationskonsistenzprozedur führt einen Konfigurationsabstimmungsalgorithmus (CVA) aus und ordnet die Leiter- bzw. Master-BIUen erneut entsprechend, wie es unten unter Bezugnahme auf die Fig. 19 bis 22 beschrieben ist, zu. Sobald das vollendet ist, kehrt das System zu der FDIR-Prozedur 208 zurück (Fig. 10), um das Überprüfen nach irgendwelchen anderen Fehlern von der gleichen Phase (Adresse oder Daten) fortzusetzen.
  • Die drei anderen Fehlertypen werden durch separate Verarbeitungsdurchgänge in der FID-Prozedur isoliert. Synchronisationskonsistenzfehler, Speicherbusfehler und CPU-Busfehler werden isoliert und gemäß vorher definierten Algorithmen rekonfiguriert. Die synchronen Konsistenzalgorithmen sind unten unter Bezugnahmen auf die Fig. 18A und 19A beschrieben. Der Rekonfigurationsalgorithmus für Speicherbusfehler ist unten unter Bezugnahme auf Fig. 14A beschrieben. Der CPU- Busfehleralgorithmus ist unten unter Bezugnahme auf Fig. 15A beschrieben. Nachdem ein Fehler durch den entsprechenden Algorithmus unwiederbringlich gelöscht ist, führt die Konfigurationskonsistentprozedur (Fig. 12) irgendeine notwendige Rekonfiguration durch, gefolgt von einer Rückkehr zu der FDIR-Prozedur für die weitere Fehlerverarbeitung.
  • Wie in Fig. 12 gezeigt ist, empfängt jede BIU bei 240 den Konfigurationsvektor von allen den anderen BIUen. Der CVA führt dann einen Vergleich von jedem Bit innerhalb der Konfigurationsvektoren bei 241, 242 und 245 durch. Zuerst stimmen die BIUen in dem Speicherkanal über ein Bit in dem Konfigurationsvektor bei 241 ab, siehe unten unter Bezugnahme auf den Schritt 1 der Fig. 19A. Dann wird über die Ergebnisse der Abstimmungen der Speicherkanäle weiter für jedes Bit in dem Konfigurationsvektor bei 242 abgestimmt, und die BIUen, die eine bestimmte aktive BIU totstimmen, werden bei 245 eliminiert, siehe unten unter Bezugnahme auf den Schritt 2 der Fig. 19A. Bei Vollendung des CVA kompiliert jede BIU einen neuen Konsenskonfigurationsvektor bei 246 und vergleicht diesen mit einem vorher gespeicherten Bezugskonfigurationsvektor bei 247, siehe unten unter Bezugnahme auf die Fig. 19 und 20. Wenn kein Zusammenpassen gefunden wird, wird der Netzwerkbus mit einem Fehler geltend gemacht, und die Konfigurationskonsistenzprozedur beginnt erneut. Wenn die Vektoren zusammenpassen ist die FID-Prozedur vollständig. Der Konsensvektor wird als neuer Bezugsvektor bei 252 gesichert, wobei ein Herzschlagfehler bei 253 angezeigt wird, wenn eine BIU fehlerhaft bzw. ausgefallen ist. Die Leiter- bzw. Masterschaft wird bei 254 und 255 zugeordnet, und der Prozess wird zu der FDIR-Prozedur zurückgeführt. Die Schritte und die Schaltungsanordnung der Konfigurationskonsistenzprozedur sind in näheren Einzelheiten unten unter Bezugnahme auf die Fig. 19 bis 22 beschrieben.
  • Wie bemerkt wurde, werden die Adressenphasen- und Datenphasenprozedur vor 110 von Fig. 5 und während der Fehler- bzw. Ausfallmanagementprozedur (bei 197, 201, 210 und 215 der Fig. 9 und 10) durchgeführt.
  • Rekonfigurationsalgorithmen
  • Die Fig. 14A veranschaulicht dem zweischrittigen Speicherbusfehleralgorithmus, der bei 230 in Fig. 11 ausgeführt wird. Im Schritt 1 überprüft die Leiter- bzw. Master-BIU des Speicherkanals erneut hinsichtlich jedes selbstimplizierenden Fehlers, Spalte A. Die Eliminierung des Masters bzw. Leiters, Zeile 2, Spalte B, tritt auf, wenn sich der Master bzw. Leiter selbst impliziert. Wenn sich der Master bzw. Leiter nicht selbst impliziert, leitet der Schritt 2 die Zeile 2, Spalte A ein. Der Schritt 2 ist ein Übereinstmmungs- oder Nichtübereinstimmungsvotum der Majoritäts-BIU über die Daten des jeweiligen Kanalmasters bzw. -leiters, die auf dem Speicherbus 51 platziert sind. Wenn die Majoritätsentscheidung der BIUen mit den Speicherbusdaten übereinstimmt, Zeile 1, Spalte A, geht die Transaktion weiter, Zeile 1, Spalte B, und irgendeine nicht übereinstimmende BIU wird eliminiert, Zeile 2, Spalte C. Wenn die Majoritätsentscheidung der BIUen nicht mit den Master- bzw. Leiterspeicherbusdaten übereinstimmt, Zeile 2, Spalte A, wird die Transaktion wiederholt, Zeile 2, Spalte B, und die Minoritäts-BIU wird eliminiert, Zeile 1, Spalte C. In dem Fall einer Stimmengleichheit, Zeile 3, Spalte C, wird der gesamte Speicherkanal eliminiert, Zeile 3, Spalte B. Die Fig. 14B zählt einige Konfigurationen und Aktionen auf. In einem Beispiel, Spalte B von Fig. 14B, ist es so, dass sich der Speicherkanalmaster bzw. -leiter nicht selbst impliziert. Der Master bzw. Leiter und eine andere BIU in dem gleichen Speicherkanal, stimmen mit den Daten, die der Master bzw. Leiter auf dem Speicherbus 51 platziert hat, überein, Zeilen 1, 2, und die letzte BIU in dem gleichen Speicherkanal stimmt nicht damit überein, Zeile 3. Das Resultat besteht darin, dass die Transaktion weitergeht und die nicht übereinstimmende BIU eliminiert wird, Zeile 4.
  • Die Fig. 15A veranschaulicht den zweischrittigen CPU- Busfehleralgorithmus, der bei 235 in Fig. 11 ausgeführt wird. Der Schritt 1 ist gleichartig mit dem Schritt 1 des Speicherbusfehleralgorithmus der Fig. 14A, ausgenommen, dass die Master- bzw. Leiter-BIU des CPU-Kanals die Master- bzw. Leiter-BIU von Interesse ist. Der Schritt 2 ist ein striktes Majoritätsvotum über die Daten, die die des Master- bzw. Leiter-BIU des CPU-Kanals auf dem CPU-Bus 50 platziert. Der Schritt 2 ist gleichartig mit dem Schritt 2, der in Fig. 14A oben beschrieben wurde.
  • Die Fig. 15B zählt einige Konfigurationen und entsprechende Aktionen auf. Die Spalte E ist unten für ein Beispiel beschrieben. Zuerst bestimmt die Master- bzw. Leiter-BIU des CPU-Kanals, dass keine Selbstimplikation existiert. Die Master- bzw. Leiter-BIU des CPU-Kanals stimmt mit dem überein, was auf dem CPU-Bus 50, Zeile, platziert ist. Nur eine andere BIU ist in dem gleichen CPU-Kanal aktiv, und diese BIU stimmt nicht mit den Daten überein, Zeile 2, die die Master- bzw. Leiter-BIU auf dem CPU-Bus 50 platziert hat. Bei keinem Majoritätsergebnis wird dieser CPU-Kanal eliminiert, Spalte 14, und es wird keine weitere Transaktionsverarbeitung durch diesen CPU-Kanal durchgeführt.
  • Wie in Fig. 16A gezeigt ist, werden Fehler, die durch sich auf die FTM-Adressierung 176a, 180a der Fig. 7 beziehende Fehler angegeben werden, durch ein zweischrittiges Majoritätsvotum der BIUen 54 in der FTM aufgelöst. Im Schritt 1 votieren die BIUen 54 über jeden der CPU-Kanäle, wenn sie denken, dass die CPU 56 die FTM adressiert. Im Schritt 2 wird über die Ergebnisse von allen den CPU-Kanalvoten abgestimmt. Stimmengleichheiten in dem ersten Schritt sind neutral hinsichtlich des Ergebnisses des zweiten Schritts. Eine spezifische Fehlerinformation, die sich auf den FTM-Adressenmerker und die Netzwerkkonsistenz bezieht, wird auf dem Netzwerkbus 52 platziert, um die Gültigkeit des Merkers und der Netzwerkkonsistenz von einer andernfalls aktiven BIU zu annulieren. Die Ergebnisse der meisten Fälle stimmen mit jenen einer einfachen Majorität überein. Wie in Fig. 16B gezeigt ist, repräsentieren die Fehler- bzw. Ausfallsyndromspalten A, B, C die CPU-Spalten, und jede der beiden Ansprechungen in einer Spalte repräsentiert eine votierende BIU auf einem bzw. über einen separaten Speicherkanal. In dem Beispiel der Zeile 4 wird eine Stimmengleichheit durch die Adressierungsvoten der BIUen in den CPU-Kanälen der Spalte A, B erfahren und ein Ja- Adressenvotum des Konsenses der beiden BIUen in der Spalte C des rechten CPU-Kanals. Das resultierende Majoritätsvotum des CPU-Kanals ist Ja, Spalte D. Die FTM wird adressiert, die Transaktion wird eingeleitet, und die BIUen, die nicht adressiert votiert haben, obere linke und untere mittige BIU, werden eliminiert, Spalte E, F. Die Spalten "Bemerkungen" der Fig. 16 bis 19 sind für Bemerkungen reserviert, die die entsprechenden Zeilenergebnisse betreffen.
  • Minoritätsfallausnahmen werden in der Spalte der Bemerkungen notiert mit "Minorität" und "Tie-Break". Für die Minoritätsfälle ist das Ansprechen konservativer als ein einfaches Majoritätsvotum. Für den Fall des Tie-Breaks bleibt die FTM aktiv, weil das Votum der CPU-Kanalabstimmungen einem der möglichen Ergebnisse Majorität gibt, selbst wenn die absolute Anzahl von BIU-Voten auf jeder Seite der Frage die gleiche ist. Beachte, dass mehrere resultierende Konfigurationen getrennt sind, derart, dass zwei einzelne Kanäle ohne Kreuz- bzw. Querkanaldatenvergleiche vorhanden sein können, obwohl die Netzwerksynchronisation noch vorhanden bzw. an Ort und Stelle ist.
  • Der Votierungsalgorithmus 176b, 180b der Fig. 7 und 226 der Fig. 11 ist in Fig. 17A gezeigt. Wenn im Schritt 1 das Majoritätsvotum des CPU-Kanals entscheidet, dass die Transaktion inkonsistent ist, Zeile 2, wird dann im Schritt 2, Zeile 2 eine Speicherausnahme bzw. -ausschließung initiiert. Eine Stimmengleichheit führt zu der CPU-Kanalabschaltung, Zeile 3, und ein konsistentes Majoritätsvotum leitet die Transaktion ein, Zeile 1, und eliminiert die BIUen, die als Minorität abgestimmt haben, Zeile 1. Die Fig. 17B bis D zählen die generellen Konfigurationen und Aktionen mit einer Erläuterung über die Bezeichnungsweise bzw. Notation an dem Ende der Tabelle auf. Die Ergebnisse der meisten Fälle stimmen mit jenen einer einfachen Majorität überein. Dia Ausnahmen sind durch "Minorität" und "Tie-Break" in der Spalte der Bemerkungen notiert. Für die Minoritätsergebnisse sind die Ergebnisse konservativer als ein einfaches Majoritätsvotum. Wie bei der Votierungsprozedur der Fig. 16A sind getrennte Konfigurationen als ein Ergebnis des Votums möglich. Ein Beispiel des obigen Algorithmus ist in der Zeile 18 der Fig. 17B gezeigt. Fünf BIUen sind fähig, zu votieren, siehe die Spalten A bis C. Wie in Fig. 16B, repräsentiert, jede der Spalten A bis C die BIUen, die mit dem CPU-Bus verbunden sind, und die fraktionierte Zeile repräsentiert eine BIU, die fähig ist, in einem der beiden Speicherbusse zu votieren. Das Ergebnis des Votums der Spalte A ist eine Stimmengleichheit. Das Votum der Spalte B ist für eine konsistente Transaktion, und das Ergebnis der Spalte C ist für eine inkonsistente Transaktion. Als ein Ergebnis der obigen Voten ist das kombinierte Votum der CPU-Kanäle eine Stimmengleichheit wegen der einen Stimmengleichheit, einem konsistenten und einem inkonsistenten Votum. Das Stimmengleichheitsvotum führt dazu, dass die FTM abgeschaltet wird, wie durch die Spalte E bis 6 angegeben ist.
  • Wie in den Fig. 18A bis F gezeigt ist, unterscheidet sich das Annulierungsvotum von 182, 185, 186 der Fig. 7 von den vorherigen beiden Synchronisationskonsistenzfehleralgorithmen darin, dass das Votum stattfindet, nachdem die Aktion aufgetreten ist. Die Entscheidung, zu annulieren oder fortzusetzen, Spalte B von Schritt 2, muss von jeder BIU ohne den Vorteil einer synchronisierenden Transaktion auf dem Netzwerkbus 52 getroffen werden. Daher wird, um die Synchronisation aufrecht zu erhalten, ein Fost-Aktions-Votum durchgeführt, und die Nichtübereinstimmungen schalten sofort ab, Spalte C, um einen Verlust der Synchronisation zu vermeiden, siehe Schritt 2. Dieses muss getan werden, weil die Annulierungs-/Fortsetzungsentscheidung zu einer unwiderruflichen Änderung des Zustands in dem System führt. Eine Annulierung tritt aus drei Gründen auf: die CPUen 56 machen ein Annulierungssignal geltend; die andere FTM macht ein Haltesignal geltend; oder Selbsabschaltung von einer BIU. Nur die ersten beiden Fälle sind signifikant, weil der dritte Fall selbstauflösend ist. Eine Diskrepanz in dem Annulierungsvotum aufgrund dessen, dass entweder ein Annulierungs- oder ein Haltesignal geltend gemacht wird, impliziert entweder einen Datenfehler oder den Verlust der Sychronisation quer über die CPU-Kanäle.
  • Die Fig. 18A spezifiziert den zweischrittigen Fehler- bzw. Ausfallidentifikationsprozess für das Annulierungsnetzwerkvotum. Die Annulierungsentscheidung wird auf dem Netzwerkbus 52 zwischen den Zählimpulsen des Taktgebers geltend gemacht. Im Schritt 1 der Fig. 18A werden die BIUen für jeden CPU-Kanal votiert bzw. zum Votieren gebracht, wobei Voten für die CPU-Kannäle erzeugt werden. Im Schritt 2 wird über alle Voten der CPU-Kanäle vom Schritt. 1 abgestimmt. Wenn eine BIU 54 erkennt, dass ihre Annullierungsentscheidung nicht mit der Entscheidung der Netzwerkabstimmung zusammengepasst hat, dann schaltet jene BIU ab, Spalte C, und verbreitet die Abschaltung durch Ändern ihres Herzschlagssignals. Die Änderung in dem Herzschlagsignal der BIU ist eine unmittelbare Anzeige für die FTM, dass die BIU sich selbst getötet hat. Die überlebenden BIUen detektieren die Herzschlagänderung und führen die Konfigurationskonsistenzprozedur durch, um einen neuen Konfigurationsvektor zu erzeugen. Beachte, dass das Ergebnis der Abstimmung nur einen individuellen Fehler erzeugt, jedoch keine neue FTM-Konfiguration. Die Fig. 18B bis F zählen einige allgemeine Konfigurationen und entsprechende Aktionen mit einer Erläuterung über die Bezeichnungen an dem Ende der Tabelle auf. Hinsichtlich eines Beispiels siehe die Zeile 10 der Fig. 188. Der linke und mittige CPU-Kanal, Spalte A, B, erfahren eine Stimmengleichheit der enthaltenen BIUen. Das Votum des rechten CPU-Kanals, Spalte C, besteht darin, mit der Transaktion fortzufahren, sie nicht zu annullieren. Demgemäß besteht das kombinierte Votum der CPU-Kanäle darin, fortzufahren, Spalte D. Die obigen BIUen, die votiert haben, die fortgesetzte Transaktion zu annullieren, werden eliminiert, Spalte E, weil diese BIUen nicht mit dem Ergebnis übereinstimmen.
  • Die Fig. 19A veranschaulicht den CVA, der bei 241, 242 und 245 der Fig. 12 durchgeführt wird. Die Fig. 19B bis E zählen allgemeine Konfigurationen und Aktionen mit einer Notationserläuterung auf. Im Schritt 1 führt der CVA ein Speicherkanalvotum über jedes Vektorbit der Konfigurationsvektoren durch, die durch die BIUen 54 erzeugt worden sind. Im Schritt 2 werden die Voten der Speichkanäle kombiniert, um ein Zwischenergebnis zu bilden. Der endgültige Schritt, Spalte C wird als "Totentfernung" bezeichnet. Totentfernung bezieht sich auf das Markieren von irgend einer BIU als tot, die die betreffende BIU in einem Votum als tot votiert hat, in dem es das Ergebnis war, dass die betreffende BIU aktiv bleibt, Zeile 1, Spalte C. Wenn das Kombinationsspeicherkanalvotum zu einer Majoritäts-tot-Entscheidung, Zeile 2, oder zu einer Stimmengleichheit führt, wird die BIU eliminiert, Zeile 3.
  • Die Ergebnisse der meisten Fälle stimmen mit jenem einer einfachen Majorität überein. Die Ausnahmen sind durch "Minorität" in der Bemerkungsspalte der Fig. 19B bis E notiert. Für jene Ausnahmen ist die vorliegende Erfindung konservativer als ein einfaches Majoritätsergebnis und votiert die infrage stehende Einheit als inaktiv. Bei nur zwei Speicherkanälen gibt es keine Fälle von "Tie-Break", wie zum Beispiel jene in den anderen Netzwerkvoten, in denen die Majorität der Kanalvoten eine Entscheidung in einem Fall hervorbringt, in dem die absolute Anzahl der BIU-Voten auf jeder Seite der Frage die gleiche ist. In den meisten Fällen wird erwartet, dass sie einstimmig sind, in welchem Fall das Majoritätsvotum klar korrekt ist. Die Tot-Entfernungsprozedur wird für einen kleinen Bruchteil der Fälle herangezogen, um sicherzustellen, dass dasjenige entfernt wird, was auch immer bewirkt hat, dass eine Inkonsistenz in den Konfigurationsvektorn quer über die FTM erscheint. Die Zeile 10 der Fig. 19B ist ein Beispiel eines Ergebnisses von dem CVA. Dieses spezielle Votum ist eines über die linke oberste BIU in der FTM. Das Ergebnis des Schritts 1 besteht darin, dass beide Speicherkanäle die BIU tot votieren. Demgemäß ist das sich ergebende kombinierte Votum der Speicherkanäle tot und daher die Entfernung der am weitesten linken BIU, Spalte D, E.
  • Die Fig. 20 veranschaulicht die Konfigurationskonsistenzschaltungsanordnung. Die Konfigurationskonsistenzschaltungsanordnung umfasst ein Zustand-Ein-Register 92, das Daten an eine CVA-Schaltung 93 ausgibt. Die Ausgangsgröße der CVA- Schaltung 93 geht durch einen Multiplexer (MUX) 98a zu einem Neu-Zustand-Register 91 und durch einen zweiten MUX 98b zu einem Alt-Zustand-Register 90. Außerdem wird die Ausgangsgröße der CVA-Schaltung und eine Ausgangsgröße des Neu-Zustand- Registers 91 von einem Zustand-Nichtübereinstimmung- Komparator bzw. Zustand-Fehlanpassung-Komparator 94 empfangen. Das Alt-Zustand-Register 90 gibt direkt an einen Optigenerator 95 und durch ein UND-Tor 97 an einen Spaltenleiter- bzw. -mastergenerator 96 aus. Geänderte Herzschlagsignale weren außerdem durch das UND-Tor 97 empfangen, und die Ausgangsgröße des UND-Tors 97 wird durch die CVA-Schaltung 93 empfangen. Das Alt-Zustand-Register 90 speichert immer den gegenwärtigen Konfigurationsvektor. Eine Konfiguration wird dadurch implementiert, dass der Konfigurationsvektor in dem Alt-Zustand-Register 90 gespeichert wird. Eine Tötungsmaske markiert entweder eine BIU, die einen anhängigen, nicht wiederholbaren Fehler hat, wie das durch ein geändertes Herzschlagsignal signalisiert wird, oder irgendeine BIU, deren Herzschlag nicht angemessen in Phase ist. Die BIU führt die Rekonfigurationsprozedur aus und erzeugt einen neuen Konfigurationsvektor, wobei sie jenen Konfigurationsvektor in einem Neu-Zustand-Register 91 speichert. Das Neu-Zustand-Register 91 führt eine zirkulare Verschiebung des 6-Bit-Konfigurationsvektors durch, macht ihn auf einer Zustand-Aus-Leitung geltend und beendet die Verschiebung damit, dass der Vektor wieder innerhalb des Neu-Zustand-Registers 91 abgefluchtet ist. Die Zustand-Aus-Leitung wird zu allen BIUen 54 auf dem Netzwerkbus 52 über einen MUX 99a geführt und tritt wieder in die Schaltung bei dem Zustand-Ein-Register ein.
  • An dieser Stelle empfängt jede BIU 54 im Zustand-Ein- Register 92 eine Kopie der Konfigurationsvektoren, die jede BIU 54 in der FTM erzeugt und in dem Neu-Zustand-Register 91 gespeichert hat. Der CVA, wie er vorher in Fig. 19A definiert wurde, wird aufgerufen, und ein neuer, zusammengesetzter Konfigurarionsvektor wird aus den Daten in dem Zustand- Ein-Register 92 und irgendeiner möglichen getöteten BIU, die durch das UND-Tor 97 empfangen werden, erzeugt. Wenn der zusammengesetzte Konfigurationsvektor mit den Inhalten des Neu- Zustand-Registers 91 zusammenpasst bzw. übereinstimmt, wie in dem Zustand-Nichtübereinstimmung-Komparator 94 bestimmt wurde, ist der Prozess vollständig, und die neue Konfiguration ist implementiert. Wenn jedoch eine aktive BIU einen Fehlvergleich im Komparator 94 hat, der angibt, dass der zusammengesetzte Konfigurationsvektor nicht mit dem zusammenpasst, was in seinem Neu-Zustand-Register 91 gespeichert ist, macht der Komparator eine Zustand-Nichtübereinstimmung auf der Syndromleitung des Netzwerkbusses 52 über einen MUX 99b geltend. Der neue zusammengesetzte Konfigurationsvektor wird in das Zustandsregister 91 durch den MUX 98b eingetaktet, der vorige Vektor, der in einem Neu-Zustand-Register 91 gespeichert ist, wird auf den Netzwerkbus 52 gedrückt, und die Prozedur wird wiederholt, bis kein Fehlvergleich in dem Komparator 94 existiert. An jener Stelle wird Konvergenz erreicht mit.
  • Der Aufbau der Schaltungsanordnung der Fig. 20 wird durch die Notwendigkeit vorangetrieben, Zustände bzw. Bedingungen zu handhaben, die während der Initialisierung auftreten können. Wie in Fig. 20 gezeigt ist, wird für die Initialisierung des Netzwerks dieser Erfindung das Neu-Zustand Register 91 durch den MUX 98a mit einem vorher gespeicherten Konfigurationsvektor geladen, der aus den EEPROM wiedergewonnen wird, und die Konfigurationskonsistenzprozedur wird unter Verwendung jenes Vertors als eines Anfangswerts aufgerufen. Es ist möglich, dass der Konfigurationsvektor, der durch die BIUen von einem Speicherkanal wiedergewonnen ist, nicht mit dem vektor zusammenpasst bzw. übereinstimmt, der durch die BIUen von anderen Speicherkanälen wiedergewonnen wird. Betrachte den Fall, in dem ein gesamter Speicherkanal während des Betriebs abgeschaltet wird. Das EEPROM von jenem Speicherkanal hat nicht den aktualisierten Konfigurationsvektor in sich gespeichert, weil jener Kanal nicht länger auf Transaktionen ansprechen kann. Er enthält einen Konfigurationsvektor, der einige der BIUen des inaktiven Kanals hat, die als noch aktiv markiert sind. In der Initialisierungsprozedur starten alle BIUen 54 als aktiv, bis sie anderweitig beschrieben sind. Demgemäß ist der vorher deaktivierte Speicherkanal zum nächsten Zeitpunkt, in dem das System initialisiert wird, aktiv, bis entweder individuelle Überprüfungen oder die Konfigurationskonsistenzprozedur veranschaulichen, dass er inaktiv sein soll. Durch Gewichten de Netzwerkkonfigurationsvotums, um ein klares Majoritätsvotum der Speicherkanäle anzufordern, wird der inaktive Status des schlechten Speicherkanals bestimmt, wenn nur einer der Speicherkanäle den genauen Vektor enthält, der angibt, dass der schlechte Kanal inaktiv sein sollte. Umgekehrt muss, damit eine BIU 54 aktiv bleibt, das endgültige Votum der Speicherkanäle explizit positiv sein. Ein Votum von jedem Speicherkanal, eine BIU zu töten, führt zur Deaktivierung von jener BIU. Daher wird die Konsistenz aufrecht erhalten.
  • Nach einer erfolgreichen Bestimmung des Konfigurationsvektors wird die Zuordnung des Speicherkanal- und CPU- Kanalleiters bzw. -masters bzw. der Speicherkanal- und CPU- Kanalleiter bzw. -master in Abhängigkeit von dem Konfugurationsvektor bestimmt. Um Buskonkurrenzprobleme zu vermeiden, wird der Master- bzw. Leiterschaftsstatus von den Inhalten des Alt-Zustand-Registers 90 her bestimmt, welche konsistent sein sollen. Der Algorithmus zum Bestimmen der Speicherkanalmaster- bzw. -leiterschaft ist in Fig. 21 gezeigt. Wenn die Master bzw. Leiterspeicherkanal-BIU deaktiviert wird, inkrementiert die Master- bzw. Leiterschaftszuordnung die Spaltenposition, bis eine aktive BIU erreicht ist. Die Speicherkanalmaster- bzw. -leiterschaft ist einfach, weil Master- bzw. Leiterzuordnungen des Speicherkanals Priorität über Master- bzw. Leiterzuordnungen des CPU-Kanals haben.
  • Die Regeln für das Bestimmen der Master- bzw. Leiterschaft des CPU-Kanals sind komplizierter, weil die Master- bzw. Leiterschaft des CPU-Kanals von einer noch aktiven BIU zu ihrem Spaltenpaar geführt werden kann, um die Situation zu vermeiden, in der eine BIU sowohl Speicherkanal- als auch CPU-Kanalmaster- bzw. -leiter ist. Der Algorithmus zum Bestimmen der CPU-Kanalmaster- bzw. -leiterschaft ist in Fig. 22 gezeigt. Es existieren drei mögliche Fälle, wenn beide BIUen in einem CPU-Kanal aktiv sind. In dem Fall 1 ist keine BIU der Speicherkanalmaster bzw. -leiter; daher behält der CPU-Kanalmaster bzw. -leiter die Master- bzw. Leiterschaft. Der Fall 2 hat das gleiche Ergebnis, wenn beide BIUen Speicherkanalmaster bzw. -leiter sind. Im Fall 3 ist eine BIU ein Speicherkanalmaster bzw. -leiter, und die CPU-Master- bzw. -leiterschaftszuordnung geht zu derjenigen, die nicht Speicherkanalmaster bzw. -leiter ist. Wenn eine einzige BIU in dem CPU-Kanal aktiv ist, ist sie der Master bzw. Leiter.
  • Die vorliegende Erfindung stellt eine verbesserte Fehler- bzw. Ausfallidentifikation und -rekonfiguration zur Verfügung, die in einer Netzwerkgruppierungscomputerarchitektur wegen einer Anzahl von wichtigen, vorher beschriebenen Faktoren ausgeführt wird. Die Fähigkeit dieses Systems, Fehler hinsichtlich ihres Typs und Orts zu Kategorisieren und die Netzwerkarchitektur gemäß den identifizierten Fehlern zu rekonfigurieren, sind zwei Merkmale, die zu den Verbesserungen dieser Erfindung befähigen.
  • Obwohl die bevorzugte Ausführungsform der Erfindung veranschaulicht und beschrieben worden ist, wird es erkannt werden, dass verschiedene Änderungen darin ausgeführt werden können, ohne den Bereich der folgenden Ansprüche zu verlassen.

Claims (12)

1. Fehler- bzw. ausfalltolerantes Computersystem, umfassend eine oder mehrere Zentraleinheiten (CPUen), von denen jede mit einem CPU-Bus verbunden ist, und eine oder mehrere Speichereinheiten, von denen jede mit einem Speicherbus verbunden ist, wobei das System weiter folgendes umfasst:
Busschnittstelleneinheiten (54) (BIUen), von denen jede eine Verbindung zwischen einem CPU-Bus und einem Speicherbus zur Verfügung stellt, wobei die Busschnittstelleneinheiten (54) (BIUen) Transaktionsmittel (63) zum Lesen oder Schreiben von Daten aus den oder in die Speichereinheiten für das Ausführen von Transaktionen umfassen;
einen Maschen- bzw. Vernetzungsbus zum Verbinden von vorbestimmten BIUen untereinander;
dadurch gekennzeichnet, dass die BIUen weiter folgendes umfassen:
Mittel zum Speichern eines Konfigurationsvektors, der das Wissen einer BIU von dem Operationsstatus der BIUen, die mit dem Maschen- bzw. Vernetzungsbus verbunden sind, repräsentiert;
Fehlerdetektiermittel zum Detektieren von korrigierbaren, wiederholbaren und nicht wiederholbaren Fehlern in der Transaktion;
Fehlergeltendmachungsmittel zum Geltendmachen einer Botschaft an alle die BIUen über den Maschen- bzw. Vernetzungsbus, wenn ein wiederholbarer oder nicht wiederholbarer Fehler bzw. wenn wiederholbare oder nicht wiederholbare Fehler durch das Fehlerdetektiermittel detektiert wurden;
Fehlerkorrigiermittel zum Korrigieren irgendwelcher detektierten, korrigierbaren Fehler;
Wiederholmittel zum erneuten Ausführen der Transaktion und erneuten Senden der Daten eine voreingestellte Anzahl von Malen zu dem Fehlerdetektiermittel, wenn eine wiederholbare Fehlerbotschaft auf dem Maschen- bzw. Vernetzungsbus geltend gemacht bleibt;
Fehler- bzw. Ausfallmanagementmittel zum Isolieren und Eliminieren der BIU(en), wenn irgendeiner von dem detektierten Fehler bzw. den detektierten Fehlern nach dem genannten erneuten Ausführen und erneuten Senden einer voreingestellte Anzahl von Malen bleibt, durch Ausführen (223, 226, 230, 235) eines Fehleralgorithmus für jede BIU, welcher der Art des verbleibenden Fehlers bzw. der verbleibenden Fehler entspricht, zum Rekonfigurieren des Konfigurationsvektors der BIU;
Erzeugen eines Konsenskonfigurationsvektors (246) gemäß dem rekonfigurierten Konfigurationsvektor von jeder BIU; und
Fortsetzungsmittel zum Vollenden der Transaktion, wenn kein Fehler (keine Fehler) auf dem Maschen- bzw. Vernetzungsbus geltend gemacht bleiben.
2. Fehler- bzw. ausfalltolerantes Computersystem nach Anspruch 1, worin das Fehlerdetektiermittel weiter folgendes umfasst:
ein Kontrolllesemittel für einen einzigen Teilprozess bzw. Thread bzw. ein einziges Teilprozess- bzw. Threadkontrolllesemittel zum Detektieren von Fehlern von Daten, die in den Speicher geschrieben sind, wenn nur ein einziger CPU- Kanal aktiv ist.
3. Fehler- bzw. ausfalltolerantes Computersystem nach Anspruch 1 oder 2, worin das Fehlerdetektiermittel weiter folgendes umfasst:
ein Kontrolllesemittel für einen einzigen Teilprozess bzw. Thread bzw. ein einziges Teilprozess- bzw. Threadkontrolllesemittel zum Detektieren von Fehlern von Daten, die in den Speicher geschrieben sind, wenn nur getrennte BIUen aktiv sind.
4. Fehler- bzw. ausfalltolerantes Computersystem gemäß Anspruch 1, 2 oder 3, worin das Fehler- bzw. Ausfallmanagementmittel weiter folgendes umfasst:
ein selbstimplizierendes Fehlerdetektionsmittel innerhalb des Fehler- bzw. Ausfallmanagementmittels von jeder BIU zum Detektieren von selbstimplizierenden Fehlern, Abschalten von jeder BIU, die einen selbstimplizierenden Fehler detektiert, Geltendmachen des Konfigurationsvektors von jeder BIU auf dem Maschen- bzw. Vernetzungsbus.
5. Fehler- bzw. ausfalltolerantes Computersystem gemäß irgendeinem der Ansprüche 1 bis 4, worin das Fehler- bzw. Ausfallmanagementmittel folgendes umfasst:
ein Synchronisationsfehlerdetektionsmittel innerhalb des Fehler- bzw. Ausfallmanagementmittels von jeder BIU zum Detektieren von Synchronisationsfehlern, Geltendmachen einer ersten Fehlerbotschaft zu dem Maschen- bzw. Vernetzungsbus, wenn ein Synchronisationsfehler detektiert wurde, Ausführen eines ersten Rekonfigurationsalgorithmus, wenn eine erste Fehlerbotschaft auf dem Maschen- bzw. Vernetzungsbus geltend gemacht wird, wobei der genannte Konsenskonfigurationsfehler entsprechend den Ergebnissen des ersten Rekonfigurationsalgorithmus erzeugt wird.
6. Fehler- bzw. ausfalltolerantes Computersystem gemäß irgendeinem der Ansprüche 1 bis 5, worin das Fehler- bzw. Ausfallmanagementmittel folgendes umfasst:
ein Speicherbusfehlerdetektionsmittel innerhalb des Fehler- bzw. Ausfallmanagementmittels von jeder BIU zum Detektieren von Speicherbusfehlern, Geltendmachen einer zweiten Fehlerbotschaft an den Maschen- bzw. Vernetzungsbus, wenn ein Speicherbusfehler detektiert wurde, Ausführen eines zweiten Rekonfigurationsalgorithmus, wenn eine zweite Fehlerbotschaft auf dem Maschen- bzw. Vernetzungsbus geltend gemacht wird, wobei der genannte Konsenskonfigurationsvektor entsprechend den Ergebnissen des zweiten Rekonfigurationsalgorithmus erzeugt wird.
7. Fehler- bzw. ausfalltolerantes Computersystem gemäß irgendeinem der Ansprüche 1 bis 6, worin das Fehler- bzw. Ausfallmanagementmittel folgendes umfasst:
ein CPU-Busfehlerdetektionsmittel innerhalb des Fehler- bzw. Ausfallmanagementmittels von jeder BIU zum Detektieren von CPU-Busfehlern, Geltendmachen einer dritten Fehlerbotschaft an den Maschen- bzw. Vernetzungsbus, wenn ein CPU-Busfehler detektiert wurde, Ausführen eines dritten Rekonfigurationsalgorithmus, wenn eine dritte Fehlerbotschaft auf dem Maschen- bzw. Vernetzungsbus geltend gemacht wird, wobei der Konsenskonfigurationsvektor entsprechend den Ergebnissen des dritten Rekonfigurationsalgorithmus erzeugt wird.
8. Fehler- bzw. ausfalltolerantes Computersystem gemäß irgendeinem der Ansprüche 1 bis 7, worin die Fehler- bzw. Ausfalldetektionsmittel den Typ der übrig bleibenden detektierten Fehler in der folgenden Reihenfolge isolieren:
das selbstimplizierende Fehlerdetektionsmittel;
das Synchronisationsfehlerdetektionsmittel;
das Speicherbusfehlerdetektionsmittel; und
das CPU-Busfehlerdetektionsmittel.
9. Fehler- bzw. ausfalltolerantes Rechenverfahren, umfassend eine oder mehrere Zentraleinheiten (CPUen), von denen jede mit einem CPU-Bus verbunden ist, und eine oder mehrere Speichereinheiten, von denen jede mit einem Speicherbus verbunden ist, wobei der CPU-Bus bzw. die CPU-Busse und der Speicherbus bzw. die Speicherbusse untereinander durch Busschnittstelleneinheiten (BIUen) verbunden sind und vorbestimmmte Busschnittstelleneinheiten (BIUen durch einen Maschen- bzw. Vernetzungsbus verbunden sind, wobei das Verfahren die folgenden Schritte umfasst:
Ausführen von Transaktionen, umfassend das Lesen oder Schreiben von Daten aus den oder in die Speichereinheiten;
Detektieren (110) innerhalb der BIUen von korrigierbaren, wiederholbaren und nicht wiederholbaren Fehlern in der Transaktion;
Korrigieren (112) irgendwelcher korrigierbarer Fehler, die detektiert worden sind;
Geltendmachen einer Fehlerbotschaft (111) an alle die BIUen über den Maschen- bzw. Vernetzungsbus, wenn ein wiederholbarer oder nicht wiederholbarer Fehler bzw. wiederholbare oder nicht wiederholbare Fehler detektiert wurde bzw. wurden;
Vollenden der Transaktion, wenn keine Fehlerbotschaften auf dem Maschen- bzw. Vernetzungsbus geltend gemacht werden;
gekennzeichnet durch Erzeugen eines Konfigurationsvektors für jede BIU, wobei der Konfigurationsvektor das Wissen der BIU über den Betriebsstatus von allen BIUen repräsentiert, die mit dem Maschen- bzw. Vernetzungsbus verbunden sind;
Wiederausführen der Transaktion und erneutes Senden der Daten zu dem Fehlerdetektierschritt eine vorbestimmte Anzahl von Malen, wenn ein wiederholbarer Fehler bzw. wenn wiederholbare Fehler auf dem Maschen- bzw. Vernetzungsbus geltend gemacht bleibt bzw. bleiben;
Isolieren und Eliminieren der BIU bzw. der BIUen, wenn irgendein detektierter Fehler bzw. irgendeiner der detektierten Fehler nach dem erneuten Ausführen und erneuten Senden eine voreingestellte Anzahl von Malen übrig bleibt, durch Ausführen (223, 226, 230, 235) eines Fehleralgorithmus für jede BIU, der dem Typ des genannten übrig bleibenden Fehlers bzw. der genannten übrig bleibenden Fehler entspricht, um den Konfigurationsvektor der BIU zu rekonfigurieren;
Vollenden der Transaktion gemäß dem rekonfigurierten Konfigurationsvektor.
10. Fehler- bzw. ausfalltolerantes Rechenverfahren gemäß Anspruch 9, weiter umfassend die Schritte des Speicherns des Konsenskonfigurationsvektors; und erneutes Erzeugen eines Konsenskonfigurationsvektors, wenn der Konsenskonfigurationsvektor nicht mit einem vorher gespeicherten Konsenskonfigurationsvektor zusammenpasst.
11. Fehler- bzw. ausfalltolerantes Computersystem, umfassend eine Zentraleinheit (CPU), die mit einem CPU-Bus verbunden ist, und wenigstens eine Speichereinheit, die mit einem Speicherbus verbunden ist, wobei das System weiter folgendes umfasst:
eine Busschnittstelleneinheit (BIU), die eine Verbindung zwischen dem CPU-Bus und einem Speicherbus vorsieht;
ein Transaktionsmittel zum Ausführen von Transaktionen, umfassend das Lesen oder Schreiben von Daten aus den oder in die Speichereinheiten;
dadurch gekennzeichnet, dass die BIU weiter folgendes umfasst:
ein Fehlerdetektiermittel zum Detektieren von korrigierbaren und unkorrigierbaren Fehlern in einer Transaktion;
ein Kontrolllesemittel zum Kontrolllesen der Daten von der Transaktion, wenn die Transaktion eine Schreibtransaktion ist, und Detektieren der kontrollgelesenen Daten nach korrigierbaren und nicht korrigierbaren Fehlern;
ein Fehlerkorrigiermittel zum Korrigieren irgendwelcher detektierten korrigierbaren Fehler;
ein Wiederholmittel zum erneuten Ausführen der Transaktion und Senden der Daten zurück zu dem Fehlerdetektiermittel, und zwar eine voreingestellte Anzahl von Malen, wenn ein unkorrigierbarer Fehler bzw. wenn unkorrigierbare Fehler detektiert wird bzw. werden;
ein Abschaltmittel zum Abschalten der BIU, wenn ein unkorrigierbarer Fehler bzw. wenn unkorrigierbare Fehler nach der Vollendung des Wiederholmittels übrig bleibt bzw. bleiben; und
ein Fortsetzungsmittel zum Vollenden der Transaktion, wenn die BIU nicht abgeschaltet wird.
12. Fehler- bzw. ausfalltolerantes Rechenverfahren, umfassend eine Zentraleinheit (CPU), die mit einem CPU-Bus verbunden ist, und wenigstens eine Speichereinheit, die mit einem Speicherbus verbunden ist, wobei der CPU-Bus und der Speicherbus mittels einer Busschnittstelleneinheit (BIU) untereinander verbunden sind, wobei das Verfahren die folgenden Schritte umfasst:
Ausführen von Transaktionen, umfassend das Lesen oder das Schreiben von Daten aus den oder in die Speichereinheiten;
Detektieren von korrigierbaren und unkorrigierbaren Fehlern in einer Transaktion innerhalb der BIU, dadurch gekennzeichnet, dass der Schritt des Detektierens weiter folgende Schritte umfasst:
Kontrolllesen der Daten von der vollendeten Transaktion, wenn die Transaktion eine Schreibtransaktion ist, und Detektieren der kontrollgelesenen Daten hinsichtlich korrigierbaren und unkorrigierbaren Fehlern, Korrigieren der Daten, wenn die Prüfung anzeigt, dass ein korrigierbarer Fehler vorhanden ist;
Korrigieren innerhalb der BIU, wenn irgendwelche korrigierbaren Fehler detektiert werden;
Senden der Daten zurück zu dem genannten Fehlerdetektierschritt eine voreingestellte Anzahl von Malen, wenn ein unkorrigierbarer Fehler bzw. wenn unkorrigierbare Fehler detektiert wird bzw. werden;
Abschalten der BIU, wenn ein unkorrigerbarer Fehler nach der Vollendung des Schritts des Zurücksendens der Daten übrig bleibt; und
Vollenden der Transaktion, wenn die BIU nicht abgeschaltet ist bzw. wird.
DE69720322T 1996-06-06 1997-06-06 Maschenverbundene Matrize in einem fehlertoleranten Computersystem Expired - Lifetime DE69720322T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/660,601 US5742753A (en) 1996-06-06 1996-06-06 Mesh interconnected array in a fault-tolerant computer system

Publications (2)

Publication Number Publication Date
DE69720322D1 DE69720322D1 (de) 2003-05-08
DE69720322T2 true DE69720322T2 (de) 2003-10-16

Family

ID=24650189

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69720322T Expired - Lifetime DE69720322T2 (de) 1996-06-06 1997-06-06 Maschenverbundene Matrize in einem fehlertoleranten Computersystem

Country Status (4)

Country Link
US (1) US5742753A (de)
EP (1) EP0811916B1 (de)
CA (1) CA2206840C (de)
DE (1) DE69720322T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
JP2877095B2 (ja) * 1996-08-28 1999-03-31 日本電気株式会社 マルチプロセッサシステム
US6000040A (en) * 1996-10-29 1999-12-07 Compaq Computer Corporation Method and apparatus for diagnosing fault states in a computer system
US5941997A (en) * 1996-11-26 1999-08-24 Play Incorporated Current-based contention detection and handling system
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6334193B1 (en) * 1997-05-29 2001-12-25 Oracle Corporation Method and apparatus for implementing user-definable error handling processes
US6138253A (en) * 1997-05-29 2000-10-24 Oracle Corporation Method and apparatus for reporting errors in a computer system
US6035425A (en) * 1997-09-29 2000-03-07 Lsi Logic Corporation Testing a peripheral bus for data transfer integrity by detecting corruption of transferred data
JPH11259383A (ja) * 1998-03-12 1999-09-24 Hitachi Ltd Ras情報取得回路及びそれを備えた情報処理システム
US6286110B1 (en) * 1998-07-30 2001-09-04 Compaq Computer Corporation Fault-tolerant transaction processing in a distributed system using explicit resource information for fault determination
US7061821B2 (en) * 1998-10-20 2006-06-13 International Business Machines Corporation Address wrap function for addressable memory devices
US6411981B1 (en) 1999-03-12 2002-06-25 Compaq Computer Corporation Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
US7020076B1 (en) * 1999-10-26 2006-03-28 California Institute Of Technology Fault-tolerant communication channel structures
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US6996745B1 (en) * 2001-09-27 2006-02-07 Sun Microsystems, Inc. Process for shutting down a CPU in a SMP configuration
US6848062B1 (en) 2001-12-21 2005-01-25 Ciena Corporation Mesh protection service in a communications network
US20050002223A1 (en) * 2002-02-06 2005-01-06 Coteus Paul William Output driver impedance control for addressable memory devices
US7185233B2 (en) * 2002-05-14 2007-02-27 Sun Microsystems, Inc. Method and apparatus for inserting synchronized errors
US20040153748A1 (en) * 2002-12-19 2004-08-05 Alfio Fabrizi Method for configuring a data processing system for fault tolerance
US7467326B2 (en) * 2003-02-28 2008-12-16 Maxwell Technologies, Inc. Self-correcting computer
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
JP4774347B2 (ja) * 2006-08-18 2011-09-14 富士通株式会社 ノード装置、制御装置、制御方法及び制御プログラム
US8656392B2 (en) * 2009-06-10 2014-02-18 The Boeing Company Consensus based distributed task execution
TWI410087B (zh) 2010-12-20 2013-09-21 Ind Tech Res Inst 多核心晶片網路
US8914165B2 (en) * 2011-03-29 2014-12-16 Hamilton Sundstrand Corporation Integrated flight control and cockpit display system
US9256426B2 (en) 2012-09-14 2016-02-09 General Electric Company Controlling total number of instructions executed to a desired number after iterations of monitoring for successively less number of instructions until a predetermined time period elapse
US9342358B2 (en) 2012-09-14 2016-05-17 General Electric Company System and method for synchronizing processor instruction execution
US20140281678A1 (en) * 2013-03-14 2014-09-18 Kabushiki Kaisha Toshiba Memory controller and memory system
US9710342B1 (en) 2013-12-23 2017-07-18 Google Inc. Fault-tolerant mastership arbitration in a multi-master system
CN107168226A (zh) * 2017-05-31 2017-09-15 宁波弘泰水利信息科技有限公司 一种闸泵自动化控制方法
US11099748B1 (en) * 2018-08-08 2021-08-24 United States Of America As Represented By The Administrator Of Nasa Fault tolerant memory card
GB2577120B (en) * 2018-09-14 2022-06-01 Siemens Ind Software Inc Error detection within an integrated circuit chip
TWI719741B (zh) 2019-12-04 2021-02-21 財團法人工業技術研究院 改變冗餘處理節點的處理器及其方法
CN113296531A (zh) * 2021-05-19 2021-08-24 广东汇天航空航天科技有限公司 飞行控制系统、飞行控制方法和飞行器
CN115577225B (zh) * 2022-12-07 2023-05-12 通号万全信号设备有限公司 二取二表决处理方法、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant multiple computer system
US4493081A (en) * 1981-06-26 1985-01-08 Computer Automation, Inc. Dynamic memory with error correction on refresh
US4438494A (en) * 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4570261A (en) * 1983-12-09 1986-02-11 Motorola, Inc. Distributed fault isolation and recovery system and method
US4589066A (en) * 1984-05-31 1986-05-13 General Electric Company Fault tolerant, frame synchronization for multiple processor systems
US4697344A (en) * 1986-05-23 1987-10-06 The Cloverline Incorporated Pill cutter
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5048816A (en) * 1990-07-09 1991-09-17 Murata Wiedemann, Inc. Workpiece registration system and method for determining the position of a sheet
JPH06275098A (ja) * 1993-03-24 1994-09-30 Mitsubishi Electric Corp 半導体記憶装置
GB9313255D0 (en) * 1993-06-26 1993-08-11 Int Computers Ltd Fault-tolerant computer systmes

Also Published As

Publication number Publication date
CA2206840C (en) 2003-11-25
DE69720322D1 (de) 2003-05-08
CA2206840A1 (en) 1997-12-06
EP0811916A2 (de) 1997-12-10
EP0811916A3 (de) 1999-04-28
US5742753A (en) 1998-04-21
EP0811916B1 (de) 2003-04-02

Similar Documents

Publication Publication Date Title
DE69720322T2 (de) Maschenverbundene Matrize in einem fehlertoleranten Computersystem
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
DE69427875T2 (de) Verfahren und vorrichtung zur inbetriebnahme eines datenbuswählers zur auswahl der steuersignale einer redundanten asynchronen digitalen prozessoreinheit aus einer vielzahl davon
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE3781873T2 (de) Rekonfigurierbare rechenanordnung.
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE69807077T2 (de) Verfahren und vorrichtung zur wiederherstellung in einem verteilten datenbanksystem mit nicht global erreichbaren daten unter verwendung von gemeinsam genutzten virtuellen platten
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE60019038T2 (de) Intelligente Fehlerverwaltung
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
DE60032015T2 (de) Systemen und verfahren zur ausfallsicheren prozessausführung,überwachung und ausgangssteuerung von kritischen systemen
DE60302184T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm
DE69126498T2 (de) Wiederherstellungsverfahren und Gerät für eine Pipeline-Verarbeitungseinheit eines Multiprozessor-systems
DE2554945C2 (de) Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern
DE69802833T2 (de) Diagnose redundanter steuerungen, die eine private lun verwenden
DE3751230T2 (de) Selbstgleichsetzung in redundanten Kanälen.
DE3751231T2 (de) Symmetriebildung für redundante Kanäle.
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
WO2011117155A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
DE2202231A1 (de) Verarbeitungssystem mit verdreifachten systemeinheiten
DE3727850A1 (de) Fehler-pruefsystem
DE102013018647B4 (de) Funktionalität für Ausfallsicherheitscode
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
EP2466466A1 (de) Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems
DE69032508T2 (de) Fehlertolerantes Rechnersystem mit Online-Wiedereinfügung und Abschaltung/Start

Legal Events

Date Code Title Description
8364 No opposition during term of opposition