-
Die Erfindung betrifft ein Gerät zur Verwaltung redundanter
Daten mit einer Einrichtung für den Empfang asynchroner
redundanter digitaler Nachrichten, einer mit dieser Empfangseinrichtung
verbundenen Einrichtung zum Vergleichen der redundanten
digitalen Nachrichten, einer mit der Vergleichseinrichtung verbundene
Abstiinmungseinrichtung zur Auswahl einer korrekten Nachricht
aus den redundanten Nachrichten, und einer mit der
Abstiinmungseinrichtung verbundenen Speichereinrichtung für die korrekte
Nachricht.
HINTERGRUND DER ERFINDUNG
-
Redundante Kommunikationskanäle sind wesentlich für den Betrieb
von Computersystemen, in denen eine hohe Zuverlässigkeit
wesentlich ist. Zum Beispiel benützen digitale
Flugkontrollsysteme moderner Flugzeuge normalerweise drei unabhängige
digitale Computer, die redundant arbeiten. Jeder Computer führt
einen Satz von Rechnungen aus, und vergleicht seine Resultate mit
denen der anderen beiden. Die Kommunikation zwischen den
Prozessoren erfolgt über drei unabhängige Nachrichtenkanäle, so
daß nie zwei Computer Informationen auf dem gleichen Kanal
senden.
-
Mit drei unabhängigen Rechenergebnissen kann jeder der
redundanten Computer Überprüfungen der Konsistenz der Daten
durchführen, um sicherzustellen, daß die Rechnungen identisch sind.
Wenn einer der Computer unterschiedliche Ergebnisse errechnet
hat, ist in irgendeinem Teil des Systems ein Hardware- oder
Softwarefehler aufgetreten. Im Falle eines Fehlers bestimmt das
"Abstimmergebnis" einer zwei von drei Mehrheit, welche
Rechenergebnisse als korrekt angenommen werden. Zusätzlich können
Diskrepanzen zwischen redundanten Rechnungen verwendet werden,
um zu bestimmen, in welchem der redundanten Kanäle der Fehler
aufgetreten ist. Ein Fehlerkanal kann dann elektronisch
isoliert werden, um eine weitere Verwendung dessen fehlerhafter
Rechnungen zu verhindern.
-
Wenn zumindest zwei Kanäle eines dreifach redundanten Systems
ordentlich arbeiten, wird das Gesamtsystem fortfahren,
fehlerlos zu arbeiten. In bestimmten Zeitabständen überträgt jeder
Computer des dreifach redundanten Systems seine
Rechenergebnisse zu und empfängt Daten von den anderen beiden Computern.
Die Computer tauschen die Information in einem festgelegten
Zeitfenster aus, innerhalb dessen alle Kopien der Daten
empfangen sein müssen. Daher ist jeder Computer lose mit den anderen
Computern in der redundanten Gruppe synchronisiert. Jeder
Computer vergleicht seine Resultate mit den Resultaten der anderen
beiden, indem er einen Softwarealgorithmus verwendet, der
Diskrepanzen identifiziert und korrigiert. Die als gültig
akzeptierten Resultate werden dann für die weiteren
Systemoperationen verwendet.
-
US-A-4,616,312 beschreibt ein Gerät zur Verwaltung redundanter
Daten der oben beschriebenen Art in der Form einer zwei aus
drei Auswahlmöglichkeit für die Verwendung mit drei Computern,
die parallel für die gleichen Eingabedaten arbeiten und
unabhängige Taktgeber aufweisen, so daß sie im wesentlichen
asynchron arbeiten. Jeder Computer hat einen abtrennbaren
Ausgangsport und einen Vergleichsdaten-Eingangsport mit zwei Eingängen.
Weiterhin führt jeder Computer das Resultat eines Vergleichs
der den beiden Eingängen seines Vergleichs-Eingangsports
zugeführten Daten einer Mehrheits-Abstimmschaltung zu. Die
Ausgangssignale von den Ausgangsports der anderen beiden Computer
werden dem Vergleichsdaten-Eingangsport jedes Computers
Zugeführt. Die Mehrheits-Abstimmschaltung führt Steuersignale, die
von einem ROM in Abhängigkeit von der Kombination der von den
Computern empfangenen Resultate ausgelesen werden, einer
Schaltlogik zu, die zwei der drei Computerergebnisse für die
Zufuhr zu einem Paar Parallel/Seriell-Wandler auswählt. Hierbei
wird eines der beiden Ergebnisse in invertierter Form
zugeführt. Die beiden finalen seriellen Ausgangssignale werden
einer
Nicht-Äquivalenz-Prüfschaltung zugeführt. Einer der beiden
finalen seriellen Ausgangssignale wird verwendet.
-
Zusätzlich zu den dreifach redundanten Flugkontrollsystemen
enthalten andere Beispiele von bekannten redundanten
Computersystemen Softwareimplementierte Fehlertoleranz (SIFT) und die
Fehlertoleranz-Multiprozessor (FTMP) -Systeme.
-
Ähnlich wie ein dreifach redundantes System verwendet das SIFT-
System ebenfalls direkte Kommunikationskanäle zwischen den
verschiedenen Computern des Systems. Jedoch geht das SIFT-System
einen Schritt weiter als die üblichen
Dreifach-Redundanz-Systeme, insofern als die Computer dynamisch unter
Softwaresteuerung in redundanten Arbeitsgruppen kombiniert werden können.
Dies erlaubt eine vorteilhafte Herabsetzung der Prioritätsstufe
(degradation), weil Arbeiten niedriger Priorität beendet werden
können, um zur Freisetzung von Computerreserven fehlerhafte
Einheiten zu ersetzen. Zusätzlich kann SIFT dynamisch den Grad
der Redundanz (z.B. Dual, dreifach, vierfach, etc.), unter dem
jede Arbeit des Systems ausgeführt wird, steuern.
-
Für eine gegebene SIFT-Konfiguration tauscht jeder Prozessor
innerhalb einer redundanten Gruppe Rechenergebnisse mit den
anderen Mitgliedern der Gruppe aus. Die Computer tauschen die
Information während eines festgelegten Zeitfensters aus,
währenddessen alle Kopien der Daten empfangen werden müssen. Jeder
Computer ist locker mit den anderen Mitgliedern der redundanten
Gruppe synchronisiert. Nachdem die Daten ausgetauscht worden
sind, werden die Ergebnisse unter Verwendung eines
Softwarealgorithmus verglichen, um Diskrepanzen zu identifizieren und um
korrekte Resultate für die weitere Verwendung durch das System
festzulegen.
-
Das FTMP-System ermöglicht es, daß Computer dynamisch in
redundanten Gruppen kombiniert werden, obwohl der Grad der Redundanz
für alle Systemarbeiten festgelegt ist. Die errechneten
Ergebnisse werden während jedes Zugriffs auf den Hauptspeicher
verglichen. Als Resultat sind die Computer in einer redundanten
Gruppe fest miteinander synchronisiert, so daß jeder dem
Hauptspeicher zugeführte Wert von allen beteiligten Prozessoren
gleichzeitig errechnet worden ist.
-
Das FTMP-System differiert von dem vorhergehenden darin, daß
der Redundanzdatenvergleich und Korrekturfunktionen automatisch
in der Hardware durchgeführt werden. Dies wird durch die feste
Synchronisierung der Nachrichtenkanäle ermöglicht. Die
Hardwareimplementierung dieser Funktionen resultiert in einer
ungefähr 20:1 Reduktion der Systemgemeinkosten für FTMP-Systeme
verglichen mit SIFT-Systemen.
-
Der Nachrichtenvergleich bei FTMP-Systemen wird auf serieller
Bitbasis durchgeführt. Fehlererkennung und Korrektur werden
durch logische Gatter durchgeführt. FTMP ist weiterhin darin
einzigartig, daß die Datenbusse, die das Kommunikationsnetzwerk
zwischen den Prozessoren bilden, zwischen den dreifach
redundanten Gruppen im Multiplexbetrieb anstelle
Punkt-zu-Punkt-Betrieb wie in SIFT betrieben werden. Dies resultiert in einer
signifikanten Reduktion des Hardwareaufwandes, erlaubt einen
höheren Grad an Fehlertoleranz und bietet eine bessere
Zuverlässigkeit durch den Einbau von Reservedatenbussen.
-
Allgemein erfordert eine Kommunikation zwischen den Prozessoren
in redundanten Computersystemen signifikante Kosten sowohl bei
der Systemhardware als auch bei den Computerresourcen. Die
Komplexität der Hardware wird erhöht mit steigender Anzahl
separater Kommunikationskanäle. Softwareaufwand ist erforderlich, um
den Austausch redundanter Daten zu verwalten und zu steuern und
um Konsistenz-Überprüfungen und Fehlerkorrektur-Operationen
durchzuführen. Hieraus resultierend haben bekannte redundante
Computer-Kommunikationssysteme die folgenden grundlegenden
Grenzen:
-
1. Zweipunkt-Kommunikationskanäle erfordern N (N-1)
Kommunikationskanäle für N redundante Computer;
-
2. redundante Kommunikationskanäle werden bestimmten
Computern zugeordnet, so daß ein Fehler innerhalb eines Computers
dazu führt, daß alle ihm zugeordneten Kanäle unbrauchbar
werden; und
-
3. ein signifikanter Prozentsatz der verfügbaren
Computerleistung wird für die Verwaltung und Steuerung der Übertragung,
des Empfangs, des Vergleichs und der Korrektur der redundanten
Daten verbraucht.
-
Somit besteht Bedarf für ein redundantes
Interprozessor-Kommunikationssystem, das den erforderlichen Aufwand an
Kommunikationshardware reduziert, Kommunikationskanäle in Multiplextechnik
zur Verfügung stellt und Datenvergleiche und Korrekturvorgänge
in der Hardware durchführt. Ein Hauptziel ist die Reduzierung
der Systemkomplexität und der Rechenkosten, die für die
Verwaltung und Steuerung der redundanten Computer erforderlich sind.
-
Es ist eine Aufgabe der Erfindung, ein Gerät für die Verwaltung
von Daten zu schaffen, die in den redundanten digitalen
Kommunikationskanälen eines lose synchronisierten verteilten
Computersystems empfangen werden.
-
Erfindungsgemäß ist das Gerät zur Verwaltung redundanter Daten
der eingangs genannten Art charakterisiert durch eine
Ermittlungseinrichtung zum Feststellen, wann entweder alle Kopien der
asynchronen redundanten digitalen Nachricht empfangen worden
sind, oder ein Fehler eine oder mehrere redundante Nachrichten
von der Ankunft abgehalten hat; und daß die Empfangseinrichtung
mehrere Dual-port-Nachrichtenpuffer enthält, der zum Empfang
der redundanten Nachrichten an eine entsprechenden Vielzahl
multigeplexter, unabhängiger Kommunikationskanäle angeschlossen
ist, wobei jeder der Dual-port-Puffer ein Dual-port Random
Access Memory für die Speicherung der Datenwörter der Nachricht
enthält, eine Seite FIFO, die mit dem Random Access Memory zur
Speicherung der Adressen der Nachrichtenspeicherbereiche
innerhalb des Speichers verbunden ist, einen Nachrichtenheader FIFO,
der mit dem Speicher verbunden ist, um
Nachrichtenheader-Information
zu speichern, die mit den in dem Speicher gespeicherten
Datenwörtern assoziiert ist, und eine
Nachrichten-Puffersteuerung, die verbunden ist mit dem Speicher, mit der Seite FIFO
und dem Nachrichtenheader-FIFO, um diese mit Steuerungs- und
Zeitsignalen zu versorgen.
-
Ein bevorzugtes Ausführungsbeispiel der Erfindung in der Form
eines Systems zur Steuerung und Verwaltung redundanter
Interprozessor-Kommunikationskanäle umfaßt zwei größere Komponenten,
einen Dual-port-Nachrichtenpuffer und eine
Redundanz-Verwaltungseinheit. Diese Komponenten bilden die
Hardwareunterstützung für die Synchronisierung der redundanten verteilten
asynchronen Computer, für den Vergleich der Rechenergebnisse von
den redundanten Computern und für die Korrektur von Fehlern,
die mittels eines Mehrheitsabstimm-Mechanismus entdeckt worden
sind.
-
Der Dual-port-Nachrichtenpuffer (DPB) enthält ein Dual-port
Random Access Memory (RAM), welches mehrere Nachrichten
speichert, die asynchron über einen Kommunikationskanal empfangen
werden. Empfangene Nachrichten werden in dem ersten Port des
Dual-port RAM gespeichert und von dort weitergegeben zur
Bearbeitung im zweiten Port. Für einen gegebenen Computer wird
jeder unabhängige Kommunikationskanal durch einen zugeordneten
DPB bedient.
-
Die Redundanz-Verwaltungseinheit (RMU) enthält Steuerungs- und
Datenpfadelemente, die redundante Nachrichten von den DPB
lesen, die empfangenen Nachrichten zur Entdeckung und Korrektur
von Diskrepanzen vergleichen und ein abgestimmtes
zusammengesetztes Ergebnis an einen Verarbeitungsrechner abgeben.
-
Somit ermöglicht das bevorzugte Ausführungsbeispiel die
Konstruktion eines fehlertolerierenden Computersystems durch
Netzwerkgruppen oder Cluster von Rechenelementen mit vielen
Kommunikationskanälen. Im Betrieb ermöglicht diese Ausführungsform
die Verbindung von unähnlichen Computerelementen in einer
verteilten locker synchronisierten Art zur Durchführung von
Redundanzberechnungen
und der Korrektur von Fehlern, die durch
Hardware- oder Softwarefehler verursacht werden.
-
Die Erfindung wird nun durch ein Beispiel mit Bezug auf die
beiliegenden Zeichnungen beschrieben. In diesen zeigen:
-
Fig. 1 ein Blockdiagramm eines fehlertolerierenden
Multiprozessor-Clusters gemäß der vorliegenden Erfindung;
-
Fig. 2 eine lineare zeitliche Auftragung zur Darstellung der
Übertragung redundanter Nachrichten in den
Kommunikationskanälen in der Ausführungsform der Fig. 1;
-
Fig. 3 eine schematische Darstellung eines
Dual-port-Nachrichtenpuffers (DPB) in dem Ausführungsbeispiel der
Fig. 1;
-
Fig. 4 eine schematische Darstellung einer
Redundanz-Verwaltungseinheit (RMU), die mit vier
Dual-port-Nachrichtenpuffern (DPBs) in dem Ausführungsbeispiel der Fig.
1 verbunden ist; und
-
Fig. 5 die Beziehungen zwischen Eingangs- und
Ausgangssignalen einer Nachrichten-Vergleichssteuerung der RMU
aus Fig. 4.
BESCHREIBUNG EINES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
-
Die vorliegende Erfindung enthält eine Einrichtung zum Steuern
und Verwalten redundanter Interprozessor-Kommunikationskanäle.
Wie in Fig. 1 dargestellt ist, erlaubt die vorliegende
Erfindung die Konstruktion eines fehlertolerierenden Computersystems
durch Netzwerkgruppen oder Cluster von Rechenelementen mit
mehreren Kommunikationskanälen. Der in Fig. 1 dargestellte
Rechencluster verwendet eine Redundanzverwaltungseinheit (RMU) 11 in
Verbindung mit dessen Kommunikationsnetzwerk-Busschnittstellen
von denen jede einen Dual-port-Nachrichtenpuffer (DPB), wie den
DPB 12, enthält.
-
In dem System der Fig. 1 werden die Hauptbusse dynamisch unter
Softwaresteuerung gruppiert zur Bildung redundanter
Kommunikationskanäle.
Die über diese Kanäle fließenden Nachrichten
stellen die Rechenergebnisse der durch das Netzwerk verbundenen
redundanten Computer dar. Digitale Bustechnologie in
Multiplextechnik kann verwendet werden, so daß ein gegebener Satz an
Kommunikationskanälen durch viele redundante
Verarbeitungscluster geteilt werden kann.
-
Ein Verarbeitungscluster kann ebenfalls einen
Datenspeicherbereich enthalten, wie z.B. den Hauptspeicher 14 für die
Verwendung durch die unterschiedlichen Computer in dem System.
Hieraus resultierend kann der Hauptspeicher über das gesamte
Netzwerk verteilt und derart konfiguriert sein, daß es redundant
arbeitet, wo globale Speicherelemente in zwei oder mehreren
Clustern mehrere Kopien redundanter globaler Daten speichern,
wiedergewinnen und vergleichen. In Clustergruppen werden
identische Rechnungen in lockerer Synchronisation durchgeführt. Die
Rechenergebnisse werden immer dann verglichen, wenn eine
redundante Clustergruppe auf das Kommunikationsnetzwerk zugreift.
Der Netzwerkzugriff vollzieht sich während globaler
Speicherzugriffe und während Interprozessor-Kommunikationsvorgängen.
-
Ein Beispiel eines Nachrichtenflusses über einen dreifach
redundanten Nachrichtenkanal ist in Fig. 2 dargestellt. Wegen der
lockeren Synchronisation der drei die Nachrichten sendenden
Verarbeitungscluster werden viele Kopien der redundanten
Nachrichten nicht gleichzeitig übermittelt (z.B. ist Nachricht 1
auf Bus 2 gegenüber Nachricht 2 auf Bus 1 verzögert). Bei der
vorliegenden Erfindung müssen die Nachrichten auf jedem Kanal
nicht in der gleichen Ordnung übertragen werden (z.B. wird
Nachricht 3 auf Bus 3 vor den Nachrichten 1 und 2 auf Bus 3
übermittelt). Wenn ein Cluster alle Kopien der redundanten
Nachricht erhalten hat, wird eine einzelne
Nachrichtenerwiderung in jeden der beteiligten Kommunikationskanäle abgegeben.
-
Mehrere Kopien der redundanten Nachrichten werden durch den DPB
30 aus Fig. 3 synchronisiert. Bei jedem Kommunikationskanal
werden die empfangenen Nachrichten in Seiten eines Dual-port
RAM 130 gespeichert. Die Seiten innerhalb des RAM 130 werden
dynamisch durch das Ausgangssignal der Seite FIFO 32
zugeordnet. Die Seite FIFO 32 wird mit den Binäradressen der
verfügbaren (nicht zugeordneten) Nachrichtenspeicherbereiche in den
Dual-port RAM 31 geladen. RAM 31 wird unterteilt durch
Verwendung der Seitennummer als meist signifikante Bits der Adresse
zum Port 1 (PA 1-Eingänge). Die Datenwörter innerhalb jeder
Nachricht werden seguentiell bei Wortadressen gespeichert, die
durch das Ausgangssignal des Wortzählers 33 bestimmt werden,
welcher die am wenigstens signifikanten Bits der Adresse in den
Port 1 (WR1-Eingänge) des RAM 31 eingibt.
-
Die Netzwerk-Nachrichten umfassen üblicherweise Steuerwörter in
einem Nachrichtenheader. Diese Information wird verwendet, um
zu identifizieren, woher die Nachricht stammt, wo sie
hingesendet werden soll und wieviel Datenwörter sie enthält. Die
Nachrichtenheader-Information wird nicht in dem Dual-port-RAM 31
gespeichert, weil jede Kopie einer redundanten Nachricht einen
einzigartigen Header haben kann. Die Nachrichtenheader werden
extrahiert und in einem Nachrichtenheader FIFO 34 vor dem
Empfang der aktuellen Nachrichtendaten gespeichert. Eine
Nachrichten-Puffersteuerung 35 stellt die erforderlichen Logik- und
Zeitsignale für ein Nachrichtenkanal-Interface 36, den
Wortzähler 33, den Dual-port-RAM 31 und den Nachrichtenheader FIFO 34
zur Verfügung.
-
Wenn jede empfangene Nachricht gespeichert wird, wird die
zugehörige Seitennummer von der Seite FIFO 32 entfernt und in dem
Nachrichtenheader FIFO 34 zusammen mit dem vorher extrahierten
Nachrichtenheader gespeichert. Auf diese Information wird dann
durch einen Steuerungs- (oder Verarbeitungs-) Computer
zugegriffen und sie wird verwendet, um die in jedem DPB
gespeicherten Nachrichten zu identifizieren. Die Nachrichten werden in
den DPB akkumuliert, bis der Steuerungsprozessor feststellt,
daß alle Kopien der redundanten Nachricht empfangen worden sind
oder bis ein time-out stattfindet, der anzeigt, daß ein Fehler
die Ankunft einer oder mehrerer Nachrichten verhindert hat. Der
Steuerungsprozessor verwendet dann die RMU 40 aus Fig. 4, um
alle Kopien der redundanten Nachrichten zu vergleichen und die
Diskrepanzen unter diesen Nachrichtenkopien zu identifizieren
und zu korrigieren.
-
Unter Leitung des Verarbeitungsrechners gibt die RMU 40 eine
einzelne Seitenadresse zu den PA2-Eingängen jedes Dual-port-
RAMs innerhalb der aktiven Dual-port-RAMs zusammen mit einer
gemeinsamen Wortadresse (WA2-Eingänge) und geeigneten
Steuerungssignalen für jedes zu vergleichende Datenwort ab. Jedes
Wort der gegebenen Nachricht wird mit einem entsprechenden Wort
in jeder redundanten Kopie verglichen. Diskrepanzen werden
entdeckt und korrigiert und eine zusammengesetzte "abgestimmte"
Nachricht wird gebildet. Wenn die Verarbeitung der Nachricht
beendet ist, gibt die RMU 40 ein Steuerungssignal ab, das
veranlaßt, daß die Seitenadresse, die an jeden der DPBs abgegeben
worden ist, in der zugehörigen Seite FIFO gespeichert wird.
Dieser Vorgang resultiert in einer Freigabe der
Seitenzuordnung, wodurch diese für die Speicherung einer neuen Nachricht
verfügbar wird.
-
Die in Fig. 4 dargestellte RMU 40 ist in der Lage, zwei, drei
oder vier Kopien einer redundanten Nachricht zu vergleichen.
Theoretisch kann jede Anzahl von Nachrichtenkopien durch eine
geeignete Ausführungsform der vorliegenden Erfindung
verarbeitet werden, jedoch wird die vorliegende Ausführungsform
beispielsweise durch eine vierfache Redundanz beschrieben.
-
Die Verarbeitung der redundanten Nachricht wird durch einen
Verarbeitungsrechner initiiert. Der Nachrichtenkanal und die
Seitennummer, die jeder zu vergleichenden Nachrichtenkopie
zugeordnet sind, werden an eine
Nachrichten-Vergleichs-Steuerschaltung 41 über eine Verarbeitungsrechner-Schnittstelle 42
abgegeben. Der Verarbeitungsrechner führt dann eine Wortzählung
durch, die anzeigt, wieviel Datenwörter verglichen werden
müssen, so daß die Nachrichtenverarbeitung begonnen werden kann.
-
Die Nachrichtenverarbeitung wird durch die
Nachrichten-Vergleichssteuerung 41 durchgeführt, welche die geeigneten
Seitennummern, Wortadressen und Steuersignale an die DPBs abgibt.
-
Jede Wortadresse bewirkt, daß ein Datenwort jeder
Nachrichtenkopie von dem Port 2 der Dual-port-RAMs gelesen wird. Die
Datenwörter werden dann zu einem Netzwerk von
Vergleichsschaltungen geleitet, z.B. wie den Wortvergleicher 43. Jeder Komparator
erzeugt ein Signal, das anzeigt, ob zwei angegebene Datenwörter
den gleichen Wert haben oder nicht. Das Komparatornetzwerk der
Fig. 4 produziert die folgenden Äquivalentsignale:
-
1) Kanal 1 = Kanal 2;
-
2) Kanal 1 = Kanal 3;
-
3) Kanal 1 = Kanal 4;
-
4) Kanal 2 = Kanal 3;
-
5) Kanal 2 = Kanal 4;
-
6) Kanal 3 = Kanal 4.
-
Basierend auf den vorhergehenden Äquivalenzsignalen kann die
Nachrichten-Vergleichssteuerung 41 jede Diskrepanz zwischen den
verglichenen Nachrichten identifizieren. Ein Mehrheitsvotum
wird durchgeführt, um zu bestimmen, welche Kanäle die korrekte
Information haben. Die Nachrichten-Vergleichssteuerung 41 gibt
dann Signale an die Three-State-Gatter, wie z.B. Gatter 44, ab,
um ein Datenwort von einem der korrekten Nachrichtensignale zu
einer votierten Nachricht FIFO 45 zu leiten. Jedes Wort einer
redundanten Nachricht wird in dieser Weise verarbeitet.
-
Wenn die Nachrichtenverarbeitung abgeschlossen ist, enthält die
votierte Nachricht FIFO 45 eine einzelne korrekte Kopie der
Inhalte der redundanten Nachricht. Auf diese Daten kann dann von
dem Steuerungscomputer über die
Verarbeitungsrechner-Schnittstelle 42 zugegriffen werden, Als Option für einen Selbsttest
kann der Steuerungscomputer den Ausgang der Three-State-Gatter
auch direkt adressieren, wodurch die votierte Nachricht FIFO 45
umgangen wird.
-
Die Seitennummer für jede von den DPBs gelesene Nachricht wird
in der korrespondierenden Seite FIFO unter Steuerung der
Nachrichten-Vergleichssteuerung 41 gespeichert, wodurch die
Zuordnung
der Seite des RAM-Speichers aufgehoben und dieser wieder
für eine neu empfangene Nachricht verfügbar gemacht wird.
-
Die RMU 40 kann programmiert werden, um Nachrichten
unterschiedlicher Redundanzgrade zu vergleichen. In zweifach
redundanten Fällen werden die Kanäle 1 und 2, die Kanäle 1 und 3,
die Kanäle 1 und 4, die Kanäle 2 und 3, die Kanäle 2 und 4 oder
die Kanäle 3 und 4 für die Verarbeitung ausgewählt. In dreifach
redundanten Fällen werden die Kanäle 1, 2 und 3, die Kanäle 1,
2 und 4, die Kanäle 1, 3 und 4 oder die Kanäle 2, 3 und 4 für
die Verarbeitung ausgewählt. Diese Eigenschaft ermöglicht die
Auswahl von Zusatzkommunikationskanälen, um diejenigen zu
ersetzen, die fehlerhaft gearbeitet haben, und um den
Redundanzgrad im Falle mehrfacher Fehler zu verringern, indem von
vierfacher auf dreifache auf zweifache Redundanz gewechselt wird.
-
Mit Bezug auf Fig. 5 generiert die
Nachrichten-Vergleichssteuerung 41 gemäß einem Satz logischer Regeln Enable-Signale für
die Three-State-Gatter und Fehlerdetektionssignale für die
Verwendung durch den Verarbeitungsrechner, basierend auf den
aktiven Nachrichtenkanälen und den Ausgangssignalen des
Komparators. Die Nachrichtenvergleichssteuerung 41 ist in Fig. 5
dargestellt, mit den Eingangs- und Ausgangssignal-Beziehungen für
Fälle zweifacher, dreifacher und vierfacher Redundanz, wie sie
hiernach in den Tabellen 1, 2 und 3 jeweils dargestellt sind.
Diese Verarbeitungsregeln sind einer einfachen Implementierung
zugänglich unter Verwendung eines 1024 Wortes durch ein 8 Bit
Read-Only-Memory (ROM), das sowohl hohe Geschwindigkeit als
auch minimalen Hardwareaufwand bietet.
-
Fehlertolerierung in hochzuverlässigen Computersystemen für die
Luftfahrt ist sehr schnell zu einer Schlüsseltechnologie
geworden, insbesondere bei Flugsteuerungssystemen, weil
Fly-by-wireund Map-of-the-earth-Führungssysteme in neuen Flugzeugen
geläufiger werden. Fehlertolerierende fehleraktive Computersysteme
werden bald sowohl in der kommerziellen als auch in der
militärischen Luftfahrt präsent sein. In der Schaffung eines
Fehlertolerierungssystems enthält die vorliegende Erfindung Hardware,
die folgende Funktionen durchführt: Verwaltung asynchroner
redundanter digitaler Nachrichten; Sortieren redundanter
Nachrichten, die in einer willkürlichen Reihenfolge empfangen werden;
Synchronisierung verteilter Computerelemente; Vergleich von
Datenwörtern beliebiger Bitlänge; und programmierbare
Konfigurationssteuerung aktiver Kanäle und Kommunikationspfad-Redundanz.
Weiterhin schafft die vorliegende Erfindung einen Mechanismus
zum Vergleichen und Korrigieren redundanter Nachrichten, der
unabhängig von der physikalischen Übertragungsrate und dem
Protokoll des physikalischen Datenbus abhängig ist. Diese
Eigenschaft ermöglicht den Betrieb mit jeder virtuellen digitalen
Netzwerktechnologie.
-
Obwohl die vorliegende Erfindung mit Bezug auf ein spezielles
Ausführungsbeispiel beschrieben worden ist, können dem Fachmann
zahlreiche Änderungen und Modifikationen unterbreitet werden.
Insbesondere ist die vorliegende Erfindung im Zusammenhang mit
einem Ausführungsbeispiel beschrieben worden, welches vierfache
Nachrichtenredundanz verwendet. Die Erfindung ist jedoch nicht
darauf beschränkt. Die offenbarten Techniken für die Pufferung,
den Vergleich und die Korrektur redundanter Nachrichten sind
anwendbar auf jeden Redundanzgrad. In gleicher Weise ist die
Nachrichtenlänge und die korrespondierende Wortbreite nicht in
irgendeiner Art beschränkt. Die vorliegende Erfindung umfaßt
vielmehr solche Änderungen und Modifikationen, die innerhalb
des Schutzbereichs der beigefügten Ansprüche fallen.
Tabelle 1
Nachrichten-Vergleichssteuerungs-Regeln für zweifache Redundanz
Zweifache Redunanzbedingungen
Aktive Puffer
Betriebsregeln
Tabelle 2
Nachrichten-Vergleichssteuerungs-Regeln für dreifache Redundanz
Dreifache Redundanz-Bedingungen
Aktive Puffer
Betriebsregeln
Tabelle 3
Nachrichten-Vergleichssteuerungs-Regeln für vierfache Redundanz
Vierfache Redunanz -Bedingungen
Aktive Puffer
Betriebsregeln