[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE69018286T2 - Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten. - Google Patents

Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten.

Info

Publication number
DE69018286T2
DE69018286T2 DE69018286T DE69018286T DE69018286T2 DE 69018286 T2 DE69018286 T2 DE 69018286T2 DE 69018286 T DE69018286 T DE 69018286T DE 69018286 T DE69018286 T DE 69018286T DE 69018286 T2 DE69018286 T2 DE 69018286T2
Authority
DE
Germany
Prior art keywords
message
redundant
messages
comparison
fifo
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 - Fee Related
Application number
DE69018286T
Other languages
English (en)
Other versions
DE69018286D1 (de
Inventor
David W Best
Kevin L Mcgahee
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 North American Inc
Original Assignee
Rockwell International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell International Corp filed Critical Rockwell International Corp
Publication of DE69018286D1 publication Critical patent/DE69018286D1/de
Application granted granted Critical
Publication of DE69018286T2 publication Critical patent/DE69018286T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Description

  • 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

Claims (5)

1. Gerät zur Verwaltung redundanter Daten mit einer Einrichtung (30) zum Empfangen asynchroner redundanter digitaler Nachrichten, einer mit der Empfangseinrichtung (30) verbundenen Einrichtung (43) zum Vergleichen der redundanten digitalen Nachrichten, einer mit der Vergleichseinrichtung (43) verbundenen Abstimmungseinrichtung (41,44) zum Auswählen einer korrekten Nachricht aus den redundanten Nachrichten und einer mit der Abstimmungseinrichtung (41, 44) verbundenen Speichereinrichtung (45) für die korrekte Nachricht, dadurch gekennzeichnet daß eine Ermittlungseinrichtung vorgesehen ist, zum Ermitteln, wann entweder alle Kopien der asynchronen redundanten digitalen Nachricht empfangen worden sind, oder ein Fehler die Ankunft einer oder mehrerer der redundanten Nachrichten verhindert hat; und daß die Empfangseinrichtung mehrere Dual-port-Nachrichtenpuffer (30) enthält, die angeschlossen sind, um die redundanten Nachrichten auf entsprechend vielen unabhängigen Kommunikationskanälen in Multiplex-Technik zu empfangen, wobei jeder der Dual-port-Puffer (30) ein Dual-port-Random-Access-Memory (31) zur Speicherung der Datenwörter der Nachricht aufweist, eine Seite FIFO (32), die mit dem Random-Access-Memory (31) zur Speicherung der Adressen der Nachrichten-Speicherbereiche in dem Speicher (31) verbunden ist, einen Nachrichtenheader FIFO (34), der mit dem Speicher (31) zur Speicherung der Nachrichtenheader-Information verbunden ist, die mit den im Speicher (31) gespeicherten Datenwörtern assoziiert ist, und eine Nachrichten-Puffersteuerung (35), die mit dem Speicher (31), der Seite FIFO (32) und dem Nachrichtenheader FIFO (34) verbunden ist, um dort Steuer- und Taktsignale bereitzustellen.
2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Vergleichseinrichtung mehrere Wort-Vergleichsschaltungen (43) aufweist.
3. Gerät nach Anspruch 2, dadurch gekennzeichnet, daß jede der Wort-Vergleichsschaltungen (43) Datenwörter von zwei der Kommunikationskanäle empfängt und ein Äquivalenzsignal erzeugt, welches anzeigt, ob die Datenwörter gleich sind oder nicht.
4. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die Abstimmungseinrichtung eine Nachrichten-Vergleichssteuerung (41) umfaßt, die mit den Wort-Vergleichsschaltungen (43) verbunden ist.
5. Gerät nach Anspruch 4, dadurch gekennzeichnet, daß die Speichereinrichtung eine FIFO (45) für die abgestimmte Nachricht enthält, welche mit der Nachrichten-Vergleichssteuerung (41) verbunden ist, um eine einzelne korrekte Kopie der redundanten Nachricht zu speichern.
DE69018286T 1989-02-03 1990-01-17 Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten. Expired - Fee Related DE69018286T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/306,611 US4995040A (en) 1989-02-03 1989-02-03 Apparatus for management, comparison, and correction of redundant digital data

Publications (2)

Publication Number Publication Date
DE69018286D1 DE69018286D1 (de) 1995-05-11
DE69018286T2 true DE69018286T2 (de) 1995-08-31

Family

ID=23186067

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69018286T Expired - Fee Related DE69018286T2 (de) 1989-02-03 1990-01-17 Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten.

Country Status (3)

Country Link
US (1) US4995040A (de)
EP (1) EP0381334B1 (de)
DE (1) DE69018286T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110082752A (zh) * 2019-04-23 2019-08-02 四川九洲空管科技有限责任公司 一种基于二次雷达询问机点迹数据容错处理的方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155801A (en) * 1990-10-09 1992-10-13 Hughes Aircraft Company Clustered neural networks
US5542064A (en) * 1991-11-21 1996-07-30 Hitachi, Ltd. Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
ES2097517T3 (es) * 1992-06-12 1997-04-01 Dow Chemical Co Sistema y metodo de comunicaciones inteligente para el control de procesos.
EP0645028B1 (de) * 1992-06-12 1997-12-29 The Dow Chemical Company Sicheres frontendverbindungssystem und verfahren fur prozesssteuerungsrechner
US5583757A (en) * 1992-08-04 1996-12-10 The Dow Chemical Company Method of input signal resolution for actively redundant process control computers
US5533188A (en) * 1992-10-19 1996-07-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault-tolerant processing system
SE515421C2 (sv) * 1993-02-15 2001-07-30 Ericsson Telefon Ab L M Sätt för hantering av redundanta väljarplan i paketväljare och väljare för utförande av sättet
SE516073C2 (sv) * 1993-02-15 2001-11-12 Ericsson Telefon Ab L M Sätt för hantering av redundanta väljarplan i paketväljare och paketväljare för utförande av sättet
JP3229070B2 (ja) * 1993-06-01 2001-11-12 三菱電機株式会社 多数決回路及び制御ユニット及び多数決用半導体集積回路
US5515282A (en) * 1994-04-25 1996-05-07 The Boeing Company Method and apparatus for implementing a databus voter to select flight command signals from one of several redundant asynchronous digital primary flight computers
US5513318A (en) * 1994-12-28 1996-04-30 At&T Corp. Method for built-in self-testing of ring-address FIFOs
KR960024899A (ko) * 1994-12-31 1996-07-20 김주용 대표값 선택기와 그 구현 방법
US6185662B1 (en) 1997-12-22 2001-02-06 Nortel Networks Corporation High availability asynchronous computer system
US6748451B2 (en) 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6721900B1 (en) * 1999-12-22 2004-04-13 Rockwell Automation Technologies, Inc. Safety network for industrial controller having reduced bandwidth requirements
JP4054509B2 (ja) * 2000-04-19 2008-02-27 株式会社東芝 フィールド機器制御システムおよびコンピュータが読取り可能な記憶媒体
US7908520B2 (en) * 2000-06-23 2011-03-15 A. Avizienis And Associates, Inc. Self-testing and -repairing fault-tolerance infrastructure for computer systems
JP3709795B2 (ja) 2001-02-05 2005-10-26 日本電気株式会社 コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US6611469B2 (en) 2001-12-11 2003-08-26 Texas Instruments Incorporated Asynchronous FIFO memory having built-in self test logic
US8315574B2 (en) * 2007-04-13 2012-11-20 Broadcom Corporation Management of variable-rate communication links
US8001445B2 (en) * 2007-08-13 2011-08-16 Provigent Ltd. Protected communication link with improved protection indication
US8040985B2 (en) 2007-10-09 2011-10-18 Provigent Ltd Decoding of forward error correction codes in the presence of phase noise
ES2577104T3 (es) * 2013-07-12 2016-07-13 Thales Deutschland Gmbh Dispositivo de prevención de fallos y método para operar el dispositivo de prevención de fallos
FR3018977B1 (fr) * 2014-03-24 2018-01-12 Thales Structure de controleur d'echanges de messages et de communications generique pour des systemes de communication avioniques rebondants
US10466702B1 (en) * 2018-02-14 2019-11-05 Rockwell Collins, Inc. Dual independent autonomous agent architecture for aircraft
US11099936B2 (en) * 2018-09-11 2021-08-24 Embraer S.A. Aircraft integrated multi system electronic architecture
FR3130410B1 (fr) * 2021-12-14 2023-12-15 Atos Worldgrid Système pour la conduite et l’aide à la conduite d’un processus industriel critique et procédé associé

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1253309A (en) * 1969-11-21 1971-11-10 Marconi Co Ltd Improvements in or relating to data processing arrangements
DE2202231A1 (de) * 1972-01-18 1973-07-26 Siemens Ag Verarbeitungssystem mit verdreifachten systemeinheiten
US3944974A (en) * 1974-12-26 1976-03-16 Lear Siegler, Inc. Digital signal selector device
CH601874A5 (de) * 1976-07-07 1978-07-14 Bbc Brown Boveri & Cie
DE2740840A1 (de) * 1977-08-09 1979-02-22 Bbc Brown Boveri & Cie Anlage zur ueberwachung der aussagekraft von auf einer anzahl n funktionell parallelgeschalteter datenkanaelen aufgebrachter elektrischer daten sowie deren verwendung
DE3037150C2 (de) * 1980-09-27 1984-03-15 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Sichere Datenverarbeitungseinrichtung
DE3208573C2 (de) * 1982-03-10 1985-06-27 Standard Elektrik Lorenz Ag, 7000 Stuttgart 2 aus 3-Auswahleinrichtung für ein 3-Rechnersystem
US4665522A (en) * 1985-01-28 1987-05-12 The Charles Stark Draper Laboratory, Inc. Multi-channel redundant processing systems
US4771427A (en) * 1986-10-02 1988-09-13 United Technologies Corporation Equalization in redundant channels
US4868826A (en) * 1987-08-31 1989-09-19 Triplex Fault-tolerant output circuits

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110082752A (zh) * 2019-04-23 2019-08-02 四川九洲空管科技有限责任公司 一种基于二次雷达询问机点迹数据容错处理的方法

Also Published As

Publication number Publication date
DE69018286D1 (de) 1995-05-11
EP0381334A2 (de) 1990-08-08
EP0381334B1 (de) 1995-04-05
EP0381334A3 (de) 1991-09-04
US4995040A (en) 1991-02-19

Similar Documents

Publication Publication Date Title
DE69018286T2 (de) Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten.
DE69227956T2 (de) Multiprozessorsystem mit gespiegeltem Speicher
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE3781873T2 (de) Rekonfigurierbare rechenanordnung.
DE3309418C2 (de) Schaltungsanordnung für eine Fernmeldeanlage, insbesondere Fernsprechvermittlungsanlage, mit mindestens zwei Rechnern zum abwechselnden Steuern von Vermittlungsvorgängen
DE3127349C2 (de)
DE3751616T2 (de) Parallel-Grossrechner.
EP0115609B1 (de) Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem
DE3586486T2 (de) Interface-vorrichtung zwischen mindestens einem kanal und mindestens einem bus.
DE69131840T2 (de) Verfahren zur Vervielfältigung eines geteilten Speichers
DE3751231T2 (de) Symmetriebildung für redundante Kanäle.
DE3122076C2 (de)
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
DE2626838B2 (de) Prüf-Schaltungsanordnung für eine Fernmeldeinstallation
EP0179936A1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE69321939T2 (de) Resynchronisation eines Asynchron-Transfer-Modus (ATM) Koppelfelds
DE69625953T2 (de) Methode und Vorrichtung zum Erreichen hoher Unversehrtheit und Verfügbarkeit in einem mehrkanaligen System
DE68917679T2 (de) Datenübertragungsnetzwerk für Multiprozessorsysteme.
DE19780639C2 (de) Arbeitsübernahmesystem
DE3780306T2 (de) Adapterbusschalter zur verbesserung der verfuegbarkeit einer steuereinheit.
DE112013001211T5 (de) Multithread-Paketverarbeitung
DE69523509T2 (de) Dezentralisiertes System und Mehrrechnersystem
EP1050814B1 (de) Fehlertolerantes System nach einem byzantinen Algorithmus
DE2902477A1 (de) Datenverarbeitungsanordnung
EP0135931A2 (de) Zentralsteuereinheit eines Vermittlungssystems insbesondere Fernsprech-Vermittlungssystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee