DE60303468T2 - Fehlertolerante Vorrichtung zur Informationsverarbeitung - Google Patents

Fehlertolerante Vorrichtung zur Informationsverarbeitung Download PDF

Info

Publication number
DE60303468T2
DE60303468T2 DE60303468T DE60303468T DE60303468T2 DE 60303468 T2 DE60303468 T2 DE 60303468T2 DE 60303468 T DE60303468 T DE 60303468T DE 60303468 T DE60303468 T DE 60303468T DE 60303468 T2 DE60303468 T2 DE 60303468T2
Authority
DE
Germany
Prior art keywords
computer
memory
information processing
computer module
synchronization
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
DE60303468T
Other languages
English (en)
Other versions
DE60303468D1 (de
Inventor
Shigeyuki Minato-ku Aino
Shigeo Minato-ku Yamazaki
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of DE60303468D1 publication Critical patent/DE60303468D1/de
Application granted granted Critical
Publication of DE60303468T2 publication Critical patent/DE60303468T2/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
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Informationsverarbeitungsvorrichtung, wie beispielsweise einen fehlertoleranten Computer mit Lockstep-Betrieb, die gleichzeitig dieselben Anweisungen in einer Vielzahl von taktsynchronisierten Computermodulen darin verarbeitet, und insbesondere eine Informationsverarbeitungsvorrichtung, die ein Computermodul, das außerhalb einer Synchronisation mit den anderen Computermodulen und vom Betrieb isoliert gewesen ist, mit anderen Computermodulen schnell synchronisiert.
  • Ein herkömmlicher fehlertoleranter Computer mit Lockstep-Betrieb hat eine Vielzahl von Computermodulen, die dieselben Anweisungen gleichzeitig ausführen. Im fehlertoleranten Computer kann eines der Computermodule aufgrund eines Fehlers oder irgendwelcher anderer Ursachen unterschiedlich von den anderen Computermodulen arbeiten. Auf ein Erfassen eines Computermoduls hin, das unterschiedlich von den anderen Computermodulen arbeitet, anders ausgedrückt beim Finden eines Computermoduls, das außerhalb einer Lockstep-Betriebssynchronisation ist, setzt der fehlertolerante Computer mit Lockstep-Betrieb das erfasste Computermodul einmal außer Betrieb.
  • Es gibt unterschiedliche Gründe dafür, dass das Computermodul außerhalb der Lockstep-Betriebssynchronisation ist. Ein Verlauf einer für das Computermodul, das außerhalb der Lockstep-Betriebssynchronisation ist, vorzunehmenden Reaktion hängt von der Ursache ab. Eine der Ursachen, die dazu führen, dass das Computermodul außerhalb der Lockstep-Betriebssynchronisation ist, kann ein permanenter Fehler sein, der innerhalb des Computermoduls auftritt. Der permanente Fehler ist keine temporäre Störung oder ein Fehler, der sich durch das Computermodul selbst regeneriert, sondern ein Fehler, der Reparaturen erfordert. Ein Computermodul, bei welchem ein permanenter Fehler auftritt, wird normalerweise aus dem fehlertoleranten Computer mit Lockstep-Betrieb herausgenommen, und anstelle von diesem Modul wird ein anderes gesundes Computermodul installiert.
  • Eine weitere potentielle Ursache, die dazu führt, dass das Computermodul außerhalb der Lockstep-Betriebssynchronisation ist, kann ein derartiger Mangel an Synchronisation sein, dass sich die Betriebszeitgabe aufgrund von Herstellungsschwankungen der Computermodule temporär nicht mit den anderen Computermodulen synchronisiert. Eine weitere potentielle Ursache kann eine temporäre Fehlfunktion eines Speichers im Computermodul sein, das durch einen Einfluss, wie beispielsweise einen α-Strahl, beeinträchtigt wird. Bei denjenigen Gründen, wie einem Mangel an Synchronisation oder einer temporären Fehlfunktion, die keinen permanenten Fehler verursachen, muss das Computermodul nicht ersetzt werden.
  • Wenn der permanente Fehler auftritt, wird das fehlerhafte Computermodul ersetzt und wird das ausgetauschte Computermodul mit den anderen Computermodulen verbunden und synchronisiert. Wenn es keinen permanenten Fehler gibt, wird das Computermodul erneut mit den anderen Computermodulen verbunden und mit diesen erneut synchronisiert. Die Arbeit zum Veranlassen, dass sich ein abgetrenntes Computermodul erneut mit den anderen Computermodulen verbindet, ist eine erneute Synchronisation. Wenn sich der herkömmliche fehlertolerante Computer mit Lockstep-Betrieb erneut mit dem Computermodul synchronisiert, das außerhalb der Lockstep-Betriebssynchronisation war, kopiert der herkömmliche fehlertolerante Computer mit Lockstep-Betrieb einen Speicher des Computermoduls, das neu zu verbinden ist, von einem Speicher eines anderen Computermoduls, das innerhalb der Lockstep-Betriebssynchronisation ist. Das neu verbundene Computermodul führt darauf folgend dieselben Operationen mit den anderen Computermodulen aus.
  • Ein herkömmlicher fehlertoleranter Computer mit Lockstep-Betrieb zwingt alle Computermodule zu einem Stoppen und kopiert die gesamten Inhalte eines Speichers des verbundenen oder neu verbundenen Computermoduls von einem anderen Computermodul, das in der Lockstep-Betriebssynchronisation ist, wenn er das Computermodul verbindet oder neu verbindet. Dies lässt zu, dass alle Computermodule den vollständig selben internen Zustand haben. Ein herkömmlicher fehlertoleranter Computer mit Lockstep-Betrieb wird gezwungen, lange Zeit zu stoppen, um das Computermodul zu verbinden oder neu zu verbinden. Dies ist deshalb so, weil es eine lange Zeit dauert, die gesamten Inhalte des Speichers im Computermodul zu kopieren. Insbesondere erhöht sich dann, wenn eine Speichergröße im Computermodul erhöht, eine Zeit zum Kopieren des gesamten Inhalts des Speichers im Computermodul.
  • In EP-A-0 817 053 ist ein Speichermanagementsystem für ein fehlertolerantes Computersystem offenbart, das einen ersten Aufzeichnungsmechanismus enthält, der aktiviert werden kann, um Speicherupdateereignisse bzw. Speicheraktualisierungsereignisse aufzuzeichnen, einen zweiten Aufzeichnungsmechanismus mit einer Kapazität zum Aufzeichnen von wenigstens einer begrenzten Anzahl von Speicheraktualisierungsereignissen, einen Fehlereingang für ein Fehlersignal zum Aktivieren des ersten Aufzeichnungsmechanismus in dem Fall eines Fehlerereignisses und einen Mechanismus für eine erneute Integration des Speichers, um wenigstens Teile eines Speichers, die im ersten und im zweiten Aufzeichnungsmechanismus identifiziert sind, wieder zu integrieren. Die Aufzeichnung von Speicheraktualisierungen wird auf einer Seitenbasis unter Verwendung eines Schmutz-RAM und einer sekundären Schmutzseitenaufzeichnung durchgeführt.
  • In US-A-2002/0065996 ist ein Computersystem offenbart, das wenigstens zwei Verarbeitungsgruppen aufweist, die einen Hauptspeicher enthalten. Die Verarbeitungsgruppen sind durch eine Brücke verbunden, und eine erste Verarbeitungsgruppe enthält einen Schmutzspeicher mit Schmutzidentikatoren zum Anzeigen von verschmutzten Blöcken des Hauptspeichers der ersten Verarbeitungsgruppe. Die Brücke enthält eine Direktzugriffsspeichersteuerung, die betreibbar ist, um Blöcke einer ersten Verarbeitungsgruppe, die im Schmutzspeicher angezeigt sind, zum Hauptspeicher einer anderen Verarbeitungsgruppe zu kopieren.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Informationsverarbeitungsvorrichtung zur Verfügung zu stellen, die eine Verfügbarkeit verbessert. Die Erfindung ist durch die Ansprüche definiert.
  • Eine weitere Aufgabe der Erfindung besteht im Bereitstellen einer Informationsverarbeitungsvorrichtung, die nach der Erfassung eines Fehlers einen Betrieb schnell wieder aufnimmt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Andere Merkmale und Vorteile der Erfindung werden durch die folgende detaillierte Beschreibung und die beigefügten Zeichnungen klarer gemacht werden, wobei:
  • 1 ein Blockdiagramm ist, das ein Ausführungsbeispiel der vorliegenden Erfindung zeigt; und
  • 2 ein Diagramm ist, das ein Betriebsbeispiel der vorliegenden Erfindung zeigt.
  • In den Zeichnungen stellen dieselben Bezugszeichen dieselben strukturellen Elemente dar.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Wie es im Stand der Technik beschrieben ist, ist ein Grund, der ein Computermodul außerhalb einer Lockstep-Betriebssynchronisation setzt, ein permanenter Fehler oder ein nicht permanenter Fehler. In einem fehlertoleranten Computer muss ein Computermodul ersetzt werden, bei welchem der permanente Fehler aufgetreten ist. Wenn andererseits ein Computermodul, das aufgrund eines nicht permanenten Fehlers außerhalb der Lockstep-Betriebssynchronisation ist, wird es normalerweise nicht ersetzt, sondern unverändert neu verbunden. Das bedeutet, dass ein Computermodul, das außerhalb der Lockstep-Betriebssynchronisation ist, in beachtlichen Fällen nicht ersetzt wird, sondern unverändert installiert wird. Es kann einen Unterschied zwischen in einem Speicher des Computermoduls, das außerhalb der Lockstep-Betriebssynchronisation ist, gespeicherten Daten und in einem Speicher des Computermoduls, das innerhalb der Lockstep-Betriebssynchronisation ist, gespeicherten Daten geben, während die Speicher der Computermodule dieselben Daten speichern werden, wenn kein Fehler erfasst wird. In vielen Fällen ist der Unterschied gering oder begrenzt.
  • Nachfolgend wird ein Ausführungsbeispiel vorliegenden Erfindung detailliert beschrieben werden.
  • Nimmt man nun Bezug auf 1, enthält eine Informationsverarbeitungsvorrichtung Computermodule 100, 200 und 300, Steuerungen für eine periphere Vorrichtung 400 und 500, ein Überwachungselement 700, ein Adressenspeicherelement 701 und ein Datenübertragungselement 702. Bei diesem Ausführungsbeispiel ist die Informationsverarbeitungsvorrichtung ein fehlertoleranter Computer mit Lockstep-Betrieb.
  • Das Computermodul 100 enthält Prozessoren 101 und 102, einen Bus 103, einen Speicher 104 und eine Speichersteuerung 105. Die Prozessoren 101 und 102 haben dieselbe oder eine äquivalente Konfiguration und sind an denselben Bus 103 angeschlossen. Die Speichersteuerung 105 ist an den Bus 103 angeschlossen. Die Prozessoren 101 und 102 sind über den Bus 103 an die Speichersteuerung 105 angeschlossen. Der Speicher 104 ist an die Speichersteuerung 105 angeschlossen. Die Speichersteuerung 105 ist über eine Signalleitung 730 an das Datenübertragungselement 702 angeschlossen. Die Speichersteuerung 105 ist über eine Signalleitung 600 an die Steuerung für eine periphere Vorrichtung 400 und über eine Signalleitung 610 an die Steuerung für eine periphere Vorrichtung 500 angeschlossen.
  • Jedes Computermodul 100, 200 und 300 hat dieselbe oder eine äquivalente Konfiguration oder Struktur. Spezifisch enthält das Computermodul 200 Prozessoren 201 und 202, einen Bus 203, einen Speicher 204 und eine Speichersteuerung 205. Die Prozessoren 201 und 202 sind an denselben Bus 203 angeschlossen. Die Speichersteuerung 205 ist über eine Signalleitung 731 an das Datenübertragungselement 702 angeschlossen. Die Speichersteuerung 205 ist über eine Signalleitung 601 an die Steuerung für eine periphere Vorrichtung 400 und über eine Signalleitung 611 an die Steuerung für eine periphere Vorrichtung 500 angeschlossen. Das Computermodul 300 enthält Prozessoren 301 und 302, einen Bus 303, einen Speicher 304 und eine Speichersteuerung 305. Die Prozessoren 301 und 302 sind an denselben Bus 303 angeschlossen. Die Speichersteuerung 305 ist über eine Signalleitung 732 an das Datenübertragungselement 702 angeschlossen. Die Speichersteuerung 305 ist über eine Signalleitung 602 an die Steuerung für eine periphere Vorrichtung 400 und über eine Signalleitung 612 an die Steuerung für eine periphere Vorrichtung 500 angeschlossen.
  • Als Nächstes wird nachfolgend ein Ausführungsbeispiel der vorliegenden Erfindung detaillierter beschrieben werden. Für eine präzise Erklärung ist die Beschreibung auf das Computermodul 100 ausgerichtet.
  • Die Prozessoren 101 und 102 führen Anweisungen aus, die durch den fehlertoleranten Computer mit Lockstep-Betrieb 1 angewiesen sind. Die Anweisungsausführung durch die Prozessoren 101 und 102 ist im Wesentlichen mit derjenigen durch die Prozessoren der Computermodule 200 und 300 basierend auf einem identi schen oder einem im Wesentlichen selben Taktsignal synchronisiert, und die Prozessoren 101 und 102 führen dieselben oder im Wesentlichen dieselben Anweisungen im Wesentlichen gleichzeitig mit den Prozessoren der Computermodule 200 und 300 aus. Die Quelle des Taktsignals ist gemeinsam für alle Computermodule 100, 200 und 300 vorgesehen, oder die Quellen der Taktsignale, die synchronisiert sind, sind jeweils für die Computermodule 100, 200 und 300 vorgesehen. Das bedeutet, dass die Computermodule 100, 200 und 300 in der Anweisungs-"Lockstep-Betrieb"-Synchronisation ausführen, in welcher jedes Computermodul 100, 200 und 300 einen im Wesentlichen identischen Anweisungsstrom im Wesentlichen gleichzeitig ausführt. Während der Anweisungsausführung schreiben die Prozessoren 102 und 102 Daten in den Speicher 104 oder lesen Daten aus ihm aus. Die Prozessoren 101 und 102, die basierend auf dem Taktsignal mit den Prozessoren der Computermodule 200 und 300 synchronisiert sind, greifen auf eine periphere Vorrichtung oder periphere Vorrichtungen zu. Spezifisch greifen die Prozessoren 101 und 102 auf die periphere Vorrichtung, die an die Steuerung für eine periphere Vorrichtung 400 angeschlossen ist, über den Bus 103, das Speichersteuerelement 105 und die Signalleitung 600 zu. Die Prozessoren 101 und 102 greifen auf die periphere Vorrichtung, die an die Steuerung 500 für eine periphere Vorrichtung angeschlossen ist, über den Bus 103, das Speichersteuerelement 105 und die Signalleitung 610 zu. Wenn die Prozessoren 101 und 102 eine Unterbrechung, welche eine Stoppanweisung ist, vom Überwachungselement 700 empfangen, schreiben die Prozessoren 101 und 102 einen Zusammenhang eines Prozesses oder von Prozessen, der oder die zu der Zeit ausgeführt wird oder werden, wenn die Unterbrechung empfangen wird, in den vorbestimmten Bereich des Speichers und stoppen ihren Betrieb. Wenn die Prozessoren 101 und 102 aufgrund der Stoppanweisung, die aus ihrem eigenen Grund entstand, dass sie außerhalb der Lockstep-Betriebssynchronisation sind, stoppen, führen die Prozessoren 101 und 102 darauf folgend eine Hardwarediagnose aus. Die Hardwarediagnose ist eine Ausführung zum Diagnostizieren der Hardware von Computermodulen 100 diesbezüglich, ob es irgendeinen Fehler gibt oder nicht.
  • Die Speichersteuerung 105 sendet Zugriffsanforderungen, die die Schreibzugriffsanforderungen und/oder die Lesezugriffsanforderungen sind, die von den Prozessoren 101 und/oder 102 empfangen sind, zum Speicher 104. Die Speichersteuerung 105 sendet Antworten vom Speicher 104 zu den Prozessoren 101 und 102. Die Anforderung wird von den Prozessoren 101 und 102 zum Speicher 104 gesendet, wenn die Zugriffsanforderung die Schreibzugriffsanforderung oder die Lese zugriffsanforderung ist. Die Schreibzugriffsanforderung enthält Schreibdaten. Die Antwort wird vom Speicher 104 zu den Prozessoren 101 und 102 gesendet, wenn die Anforderung die Lesezugriffsanforderung ist. Die Antwort enthält Lesedaten. Die Speichersteuerung 105 sendet Zugriffsanforderungen, die von den Prozessoren 101 und/oder 102 kamen und zu wenigstens einer peripheren Vorrichtung adressiert sind, zu den Steuerungen 400 und 500 der peripheren Vorrichtungen. Die Speichersteuerung 105 sendet Zugriffsanforderungen, die von den Datenübertragungselement 702 über die Signalleitung 730 empfangen werden, zum Speicher 104. Beispielsweise besteht der vom Datenübertragungselement 702 empfangene Zugriff im Ausführen einer Direktzugriffsspeicher-(DMA-)Übertragung. Bei der DMA-Übertragung ist der Speicher 104 entweder ein Ursprung der Übertragung oder ein Zielort der Übertragung.
  • Die Steuerungen 400 und 500 für periphere Vorrichtungen überwachen, ob Zugriffsanforderungen zu der peripheren Vorrichtung, die von allen Computermodulen 100, 200 und 300 empfangen sind, sich voneinander unterscheiden oder nicht. Wenn sich keine der Zugriffsanforderungen, die von allen Computermodulen 100, 200 und 300 empfangen sind, unterscheidet, sendet jede Steuerung 400 und 500 für periphere Vorrichtungen eine einzelne Zugriffsanforderung aus den Zugriffsanforderungen zu der entsprechenden peripheren Vorrichtung. Wenn irgendeine der Zugriffsanforderungen, die von allen Computermodulen 100, 200 und 300 empfangen sind, sich von den anderen unterscheidet, wirft jede der Steuerungen 400 und 500 für periphere Vorrichtungen beispielsweise diese Zugriffsanforderungen weg oder wendet eine einzige Zugriffsanforderung, die durch eine Majoritätsentscheidungsregel bestimmt ist, zu der entsprechenden peripheren Vorrichtung. Wenn die Zugriffsanforderung, die die periphere Vorrichtung adressiert, die Lesezugriffsanforderung ist, sendet jede der Steuerungen 400 und 500 für periphere Vorrichtungen eine Antwort, die aus der entsprechenden peripheren Vorrichtung ausgelesene Daten enthält, zu allen Computermodulen 100, 200 und 300 gleichzeitig.
  • Bei diesem Ausführungsbeispiel ist das Überwachungselement 700 an einen Bus angeschlossen, der direkt an die Prozessoren 101 und 102 angeschlossen ist. Dies beschleunigt die Erfassung durch das Überwachungselement 700, welche darin besteht, herauszufinden, welches der Computermodule 100, 200 und 300 außerhalb der Lockstep-Betriebssynchronisation ist. Das Überwachungselement 700 ist an den Bus 103 des Computermoduls 100 über Signalleitungen 710 und 720 angeschlossen. Bei der Zugriffsanforderung von den Prozessoren 101 und 102 zum Speicher 104 oder zur peripheren Vorrichtung verteilt die Signalleitung 710 ein Adressenhinweissignal, das die Zeit anzeigt, zu welcher die Adresse ausgegeben wird, von dem Bus 103 zum Überwachungselement 700. Bei der Zugriffsanforderung von den Prozessoren 101 und 102 zum Speicher 104 oder zur peripheren Vorrichtung verteilt die Signalleitung 720 einen Befehl und eine Adresse vom Bus 103 zum Überwachungselement 700. Der Befehl enthält beispielsweise einen Schreibzugriffsbefehl oder einen Lesezugriffsbefehl. Das Überwachungselement 700 ist an den Bus 203 des Computermoduls 200 über Signalleitungen 711 und 721 angeschlossen und ist an den Bus 303 des Computermoduls 300 über Signalleitungen 712 und 722 angeschlossen.
  • Das Überwachungselement 700 findet heraus, welches der Computermodule 100, 200 und 300 außerhalb der Lockstep-Betriebssynchronisation ist. Das Überwachungselement 700 überwacht die Konsistenz der Zugriffsanforderungen von den Computermodulen 100, 200 und 300 auf der Basis der Adressenhinweissignale, die über die Signalleitungen 710, 711 und 712 empfangen werden, und die Befehle und die Adressen, die über die Signalleitungen 720, 721 und 722 empfangen werden. Wenn das Überwachungselement 700 die Inkonsistenz der Zugriffsanforderungen von den Computermodulen 100, 200 und 300 erfasst, teilt das Überwachungselement 700 dem Adressenspeicherelement 701 mit, dass es eine Inkonsistenz der Zugriffsanforderungen zwischen den Computermodulen 100, 200 und 300 gibt, und welches das inkonsistente Computermodul ist. Das Computermodul, dessen Zugriffsanforderung inkonsistent mit den anderen Computermodulen ist, wird als außerhalb der "Lockstep-Betrieb"-Synchronisation bestimmt. Wenn das Überwachungselement 700 die Inkonsistenz erfasst, teilt das Überwachungselement 700 den Prozessoren aller Computermodule 100, 200 und 300 eine Stoppanweisung mit, die tatsächlich eine Unterbrechung für die Prozessoren der Computermodule 100, 200 und 300 ist. Auf ein Empfangen der Stoppanweisung hin schreibt jeder Prozessor einen Zusammenhang eines Prozesses oder von Prozessen die zu der Zeit der Unterbrechung verfolgt werden, in die vorbestimmte Stelle des Speichers und hält dann an. Bei einem Beispiel einer Überwachung der Konsistenz der Zugriffsanforderungen zwischen den Computermodulen 100, 200 und 300 erfasst das Überwachungselement 700 die Konsistenz oder die Inkonsistenz der Zugriffsanforderungen, wenn das Überwachungselement 700 die Adressenhinweissignale von jedem Computermodul 100, 200 und 300 während desselben Zyklus empfängt, und die Befehle und die Adressen bei diesem Zyklus zwischen den Computermodulen 100, 200 und 300 dieselben sind. Wenn eine Adresse einer Zugriffsanforde rung vom Computermodul 100 unterschiedlich von Adressen von Zugriffsanforderungen von den Computermodulen 200 und 300 während eines bestimmten Zyklus ist, wird herausgefunden, dass das Computermodul 100 außerhalb der Lockstep-Betriebssynchronisation, anders ausgedrückt inkonsistent, ist. Bei einem weiteren Beispiel, welches ein vereinfachtes Beispiel ist, empfängt das Überwachungselement 700 nur die Adressenhinweissignale von allen Computermodulen 100, 200 und 300 und bestimmt die Konsistenz oder die Inkonsistenz der Zugriffsanforderungen, wenn die Adressenhinweissignale von den Computermodulen 100, 200 und 300 während desselben Zyklus empfangen werden.
  • Das Adressenspeicherelement 701 hat einen Puffer, der eine Adresse oder Adressen entsprechend den Daten speichert, die im Speicher des Computermoduls gespeichert sind, der in der Lockstep-Betriebssynchronisation ist, und die unterschiedlich von den Daten sind, die in dem Speicher der Computermodule gespeichert sind, die außerhalb der Lockstep-Betriebssynchronisation sind. Das Adressenspeicherelement 701 speichert eine Adresse oder Adressen, die durch die Zugriffsanforderung angewiesen sind, in welcher die Inkonsistenz erfasst wird, und die Schreibzugriffsanforderungen darauf folgend durch die Computermodule 100, 200 und 300, da das Überwachungselement 700 dem Adressenspeicherelement 701 die Inkonsistenz der Zugriffsanforderung und das inkonsistente Computermodul mitteilt.
  • Das Datenübertragungselement 702 fragt ein Fehlerindikator-Flag und ein Hardware-Diagnoseergebnis ab, wenn alle Prozessoren der Computermodule 100, 200 und 300 anhalten und eine darauf folgende Hardware-Diagnose beendet ist. Das Fehlerindikator-Flag ist ein Flag, das anzeigt, dass ein Fehler im Computermodul auftrat. Wenn ein permanenter Fehler im Computermodul auftrat, kann das Datenübertragungselement 702 es basierend auf dem Fehlerindikator-Flag und dem Hardware-Diagnoseergebnis herausfinden. Der permanente Fehler ist keine temporäre Störung oder ein Fehler, der sich selbst regeneriert, sondern ein Fehler, der Reparaturen erfordert. Das Datenübertragungselement 702 führt eine erneute Synchronisation aus, wenn kein permanenter Fehler im Computermodul aufgetreten ist. Die erneute Synchronisation enthält eine Ausführung zum Anpassen von Speicherinhalten des Computermoduls, das außerhalb der Lockstep-Betriebssynchronisation ist, an die Speicherinhalte der anderen Computermodule, die innerhalb einer Lockstep-Betriebssynchronisation sind. Bei dieser erneuten Synchronisation werden dann, wenn das Computermodul einen Cache hat, insbe sondere dann, wenn die Prozessoren einen Cache haben, Cache-Flashoperationen in dem Computermodul ausgeführt, das in einer Lockstep-Betriebssynchronisation ist. Eine Cache-Flashoperation kann nur in einem einzigen Computermodul ausgeführt werden, das in einer Lockstep-Betriebssynchronisation ist. Durch die Cache-Flashoperationen werden die Daten im Cache zu dem Speicher ausgeschrieben. Eine Adresse oder Adressen, die den vom Cache zum Speicher geschriebenen Daten entsprechen, werden im Adressenspeicherelement 701 gespeichert. Nach der Beendigung des Cache-Flash kopiert das Datenübertragungselement 702 die Daten, die der Adresse oder den Adressen entsprechen, die im Adressenspeicherelement 701 gespeichert ist oder sind, des Speichers des Computermoduls, das außerhalb einer Lockstep-Betriebssynchronisation ist, von dem Speicher des Computermoduls, das innerhalb einer Lockstep-Betriebssynchronisation ist. Das bedeutet, dass die Daten, die durch die Adresse oder die Adressen bestimmt sind, die im Adressenspeicherelement 701 gespeichert ist oder sind, und die im Speicher des Computermoduls gespeichert sind, das innerhalb einer Lockstep-Betriebssynchronisation ist, zu dem Speicher des Computermoduls kopiert werden, das außerhalb einer Lockstep-Betriebssynchronisation ist. Bei dieser Kopieroperation kann eine Direktzugriffsspeicher-(DMA-)Übertragung verwendet werden.
  • Nachdem das Datenübertragungselement 702 die Kopieroperation beendet, setzt das Datenübertragungselement 702 alle Computermodule 100, 200 und 300 zurück und lässt sie die Ausführungen wieder aufnehmen. Alle Computermodule 100, 200 und 300 beginnen eine normale Ausführung. Alle Prozessoren in den Computermodulen 100, 200 und 300 verwenden den in dem vorbestimmten Speicherbereich des Computermoduls gespeicherten Zusammenhang zum Beginnen einer normalen Ausführung.
  • Bei dem oben beschriebenen Ausführungsbeispiel werden die Signalleitungen 710 und 720, die vom Bus 103 abgeleitet sind, zum Übertragen der zum Speicher 104 adressierten Zugriffsanforderung von den Prozessoren 101 und 102 zu dem Überwachungselement 700 und dem Adressenspeicherelement 701. In einem eingeschränkten Fall kann die vorliegende Erfindung modifiziert werden. Beispielsweise besteht diese Modifikation im Verwenden von Signalleitungen, die von der Leitung abgeleitet sind, die die Speichersteuerung 105 und den Speicher 104 verbindet, um die Zugriffsanforderung von den Prozessoren 101 und 102 zu dem Überwachungselement 700 und dem Adressenspeicherelement 701 zu übertragen.
  • Als Nächstes wird der Betrieb dieses Ausführungsbeispiels beschrieben werden.
  • Nimmt man Bezug auf die 1 und 2 führen die Computermodule 100, 200 und 300 normalerweise Operationen in der Lockstep-Betriebssynchronisation aus. Das bedeutet, dass die Computermodule 100, 200 und 300 normalerweise dieselben Anweisungen im Wesentlichen gleichzeitig basierend auf einem identischen oder einem im Wesentlichen selben Taktsignal ausführen. Die Prozessoren der Computermodule 100, 200 und 300 greifen auf den Speicher und die periphere Vorrichtung gemäß den Anweisungen zu. Das Überwachungselement 700 überwacht jeden Zugriff von den Computermodulen 100, 200 und 300. Spezifisch überwacht das Überwachungselement 700 die Zeit, den Befehl und die Adresse der Zugriffsanforderungen im selben Zyklus diesbezüglich, ob sie zwischen den Computermodulen 100, 200 und 300 konsistent sind.
  • Unter der Annahme, dass das Computermodul 100 gestört ist und somit die Zugriffsanforderung vom Computermodul 100 inkonsistent mit den Zugriffsanforderungen von den anderen Computermodulen 200 und 300 ist, aber kein permanenter Fehler im Computermodul 100 auftrat, erfasst das Überwachungselement 700 die Inkonsistenz. Beim Erfassen der Inkonsistenz bestimmt das Überwachungselement 700, welches der Computermodule 100, 200 und 300 außerhalb einer Lockstep-Betriebssynchronisation ist. Bei diesem Ausführungsbeispiel bestimmt das Überwachungselement 700, dass das Computermodul 100 außerhalb einer Lockstep-Betriebssynchronisation ist. Das Überwachungselement 700 teilt dem Adressenspeicherelement 701 die Zugriffsinkonsistenz und das Computermodul, das außerhalb der Lockstep-Betriebssynchronisation ist, bei diesem Ausführungsbeispiel das Computermodul 100, mit. Das Überwachungselement 700 teilt allen Prozessoren in den Computermodulen 100, 200 und 300 die Stoppanweisung durch eine Unterbrechung mit.
  • Wenn das Adressenspeicherelement 701 über die Zugriffsinkonsistenz und das Computermodul 100, das außerhalb der Lockstep-Betriebssynchronisation ist, benachrichtigt wird, zeichnet das Adressenspeicherelement 701 die Adressen der inkonsistenten Zugriffsanforderung und die darauf folgenden Schreibzugriffsanforderungen von jedem der Computermodule 100, 200 und 300 auf.
  • Der Prozessor, dem die Stoppanweisung mitgeteilt wird, schreibt einen Zusammenhang eines ablaufenden Prozesses oder von ablaufenden Prozessen zu dem bestimmten Bereich des Speichers und hält dann an. Die Hardware-Diagnose wird an dem Computermodul ausgeführt, dessen Zugriff inkonsistent mit dem anderen Computermodul ist. Bei diesem Beispiel wird die Hardware-Diagnose am Computermodul 100 ausgeführt. Nach der Beendigung der Hardware-Diagnose fragt das Datenübertragungselement 702 den Fehlerindikator und das Hardware-Diagnoseergebnis ab. Da bei diesem Ausführungsbeispiel kein permanenter Fehler im Computermodul aufgetreten ist, führt das Datenübertragungselement 702 die erneute Synchronisation aus.
  • Bei der erneuten Synchronisation wird dann, wenn irgendein Computermodul, das in einer Lockstep-Betriebssynchronisation ist, den Cache hat, das Räumen des Caches ausgeführt. Das Räumen des Caches wird beispielsweise im Computermodul 200 ausgeführt. Bei diesem Ausführungsbeispiel besteht das Räumen des Caches im Auslesen der gesamten Inhalte des Caches zu einem Bereich des Speichers des Computermoduls. Das Räumen des Caches veranlasst, dass die Daten im Cache zum Speicher ausgeschrieben werden. Diese Schreiboperation zum Speicher wird durch den Schreibzugriff ausgeführt und die Adresse, deren Daten ausgeschrieben sind, wird im Adressenspeicherelement 701 gespeichert.
  • Das Datenübertragungselement 702 kopiert die Daten, die der Adresse oder den Adressen entsprechen, die nur im Adressenspeicherelement 701 gespeichert ist oder sind, und die im Speicher von einem der anderen Computermodule gespeichert sind, die in der Lockstep-Betriebssynchronisation sind, bei diesem Ausführungsbeispiel das Computermodul 200, zu dem Speicher des neu zu synchronisierenden Computermoduls, bei diesem Beispiel des Computermoduls 100. Bei diesem Ausführungsbeispiel verwendet die Kopieroperation die DMA-Übertragung. Die Anzahl der im Adressenspeicherelement 701 gespeicherten Adressen ist kleiner als die Anzahl der gesamten Adressen des Speichers. Das Kopieren der Daten bei der vorliegenden Erfindung basierend auf den im Adressenspeicherelement 701 gespeicherten Adressen dauert weniger lang als das Kopieren der Daten der gesamten Adressen. Nach der Beendigung der Kopieroperation setzt das Datenübertragungselement 702 alle Computermodule 100, 200 und 300 zurück. Nach dem Rücksetzen werden alle Computermodule 100, 200 und 300 mit dem identischen oder dem im Wesentlichen selben Taktsignal miteinander synchronisiert und beginnen die normale Ausführung.
  • Wie es oben beschrieben ist, speichert das Adressenspeicherelement 701 dann, wenn das Überwachungselement 700 herausfindet, dass irgendein Computermodul außerhalb der Lockstep-Betriebssynchronisation ist, die Adresse oder Adressen, deren Daten eine Möglichkeit haben, sich von den entsprechenden Daten der anderen Computermodule zu unterscheiden, von dem Speicher des Computermoduls, das außerhalb einer Lockstep-Betriebssynchronisation ist. Weiterhin kopiert das Datenübertragungselement 702 während einer erneuten Synchronisation die Daten entsprechend der Adresse oder den Adressen, die im Adressenspeicherelement 701 gespeichert ist oder sind, von dem Speicher das Computermoduls, das innerhalb der Lockstep-Betriebssynchronisation ist, zu dem Speicher das Computermoduls, das außerhalb einer Lockstep-Betriebssynchronisation ist. Die Zeit zum Fertigstellen des Kopierens des Speichers des neu zu synchronisierenden Computermoduls wird verkürzt. Als Ergebnis ist es möglich, das Computermodul, das einmal aufgrund keines kritischen Grunds, wie beispielsweise des permanenten Fehlers, außerhalb der Lockstep-Betriebssynchronisation war, so früh wie möglich in den fehlertoleranten Computer zu montieren.
  • Bei diesem Ausführungsbeispiel sind zu Erklärungszwecken drei Computermodule 100, 200 und 300 im fehlertoleranten Computer mit Lockstep-Betrieb 1 vorgesehen. Die vorliegende Erfindung ist nicht auf eine solche bestimmte Konfiguration beschränkt und die Anzahl der Computermodule kann nicht weniger als zwei sein.
  • Während diese Erfindung in Verbindung mit den oben beschriebenen bevorzugten Ausführungsbeispielen beschrieben worden ist, wird es nun für Fachleute auf dem Gebiet möglich sein, diese Erfindung auf verschiedene andere Arten in die Praxis umzusetzen.

Claims (8)

  1. Informationsverarbeitungsvorrichtung (1), die folgendes aufweist: ein erstes, ein zweites und ein drittes Computerelement (100, 200, 300), die dazu geeignet sind, dieselben Anweisungen gleichzeitig synchron auszuführen, und die jeweils ein erstes, ein zweites und ein drittes Speicherelement (104, 204, 304) haben; ein Überwachungselement (700), das dazu geeignet ist, herauszufinden, welches der Computerelemente außerhalb der Synchronisation ist; ein Kopierelement (702), das dazu geeignet ist, einen Teil der im zweiten Speicherelement gespeicherten Daten zum ersten Speicherelement zu kopieren, wenn das Überwachungselement herausfindet, dass das erste Computerelement außerhalb der Synchronisation ist; und ein viertes Speicherelement (701), das dazu geeignet ist, Information zu speichern, um zu bestimmen, welcher Teil der im zweiten Speicherelement gespeicherten Daten durch das Kopierelement kopiert ist, wenn das Überwachungselement herausfindet, dass das erste Computerelement außerhalb der Synchronisation ist; dadurch gekennzeichnet, dass das Überwachungselement dazu geeignet ist, Adressenhinweissignale vom ersten, zweiten und dritten Computerelement während desselben Zyklus zu empfangen, um zu bestimmen, ob das erste Computerelement außerhalb der Synchronisation ist; das zweite Computerelement einen Cache aufweist und dazu geeignet ist, eine Cache-Flashoperation auszuführen, die die Daten im Cache hinaus zum zweiten Speicherelement schreibt; die Information eine Adresse oder Adressen entsprechend den vom Cache zum zweiten Speicherelement geschriebenen Daten aufweist; und das Kopierelement dazu geeignet ist, nur diejenigen Daten zu kopieren, die der Adresse oder den Adressen entsprechen, die in dem vierten Speicherelement gespeichert ist oder sind.
  2. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei das Kopierelement aktiviert ist, außer wenn ein permanenter Fehler im ersten Computerelement auftrat.
  3. Informationsverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei das Überwachungselement basierend auf der Zeit, in welcher es die Adressenhinweissignale von allen Computermodulen empfängt, herausfindet, dass das erste Computerelement außerhalb der Synchronisation ist.
  4. Informationsverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei das Überwachungselement basierend auf der Zeit, in welcher es die Adressenhinweissignale, Befehle und Adressen von Anforderungen von allen Computermodulen empfängt, herausfindet, dass das erste Computerelement außerhalb der Synchronisation ist.
  5. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Information eine Adresse oder Adressen von Zugriffsanforderungen enthält, die durchgeführt sind, seit das Überwachungselement herausfand, dass das erste Computerelement außerhalb der Synchronisation ist.
  6. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Information die Stelle im ersten Speicher anzeigt, die eine Möglichkeit einer Inkonsistenz mit dem zweiten Speicher hat.
  7. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 6, wobei das Kopierelement den Teil von Daten durch Verwenden einer Direktspeicherzugriffsübertragung kopiert.
  8. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 7, wobei jedes des ersten und des zweiten Computerelements wenigstens einen Prozessor und einen mit dem Prozessor verbundenen Bus hat; und das Überwachungselement mit dem Bus verbunden ist.
DE60303468T 2002-07-10 2003-07-10 Fehlertolerante Vorrichtung zur Informationsverarbeitung Expired - Fee Related DE60303468T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002201796 2002-07-10
JP2002201796A JP2004046455A (ja) 2002-07-10 2002-07-10 情報処理装置

Publications (2)

Publication Number Publication Date
DE60303468D1 DE60303468D1 (de) 2006-04-20
DE60303468T2 true DE60303468T2 (de) 2006-09-28

Family

ID=29728480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60303468T Expired - Fee Related DE60303468T2 (de) 2002-07-10 2003-07-10 Fehlertolerante Vorrichtung zur Informationsverarbeitung

Country Status (10)

Country Link
US (1) US20040153731A1 (de)
EP (1) EP1380950B1 (de)
JP (1) JP2004046455A (de)
KR (1) KR100566340B1 (de)
CN (1) CN1269040C (de)
AU (1) AU2003211183A1 (de)
CA (1) CA2434290A1 (de)
DE (1) DE60303468T2 (de)
ES (1) ES2253613T3 (de)
TW (1) TWI241479B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155721B2 (en) * 2002-06-28 2006-12-26 Hewlett-Packard Development Company, L.P. Method and apparatus for communicating information between lock stepped processors
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
JP4161276B2 (ja) 2004-12-17 2008-10-08 日本電気株式会社 フォルトトレラントコンピュータ装置およびその同期化方法
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
JP2006178636A (ja) 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US7730350B2 (en) * 2005-04-28 2010-06-01 Hewlett-Packard Development Company, L.P. Method and system of determining the execution point of programs executed in lock step
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
TWI397820B (zh) * 2007-03-25 2013-06-01 Mstar Semiconductor Inc 記憶體界面裝置與應用於其上之記憶體資料存取方法
US7979746B2 (en) * 2009-04-27 2011-07-12 Honeywell International Inc. Dual-dual lockstep processor assemblies and modules
JP6084366B2 (ja) * 2012-03-30 2017-02-22 沖電気工業株式会社 冗長化構築システム及び冗長化構築プログラム
JP6007822B2 (ja) * 2013-02-15 2016-10-12 日本電気株式会社 フォールトトレラントサーバ、およびそのメモリコピー方法
CN104516840B (zh) * 2013-09-29 2017-08-29 联想(北京)有限公司 信息处理方法和信息处理设备
CN112767332B (zh) * 2021-01-08 2024-05-17 心医国际数字医疗系统(大连)有限公司 一种基于cta影像的血管区域判断方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394745A (en) * 1980-04-11 1983-07-19 Sony Corporation Video editing apparatus
DE3923872A1 (de) * 1989-07-19 1991-01-24 Philips Patentverwaltung Schaltungsanordnung zum steuern des zugriffs auf einen speicher
JP2836637B2 (ja) * 1990-07-06 1998-12-14 三菱電機株式会社 無線通信機の制御装置
US5249188A (en) * 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
EP0731945B1 (de) * 1993-12-01 2000-05-17 Marathon Technologies Corporation Fehler-betriebssichere/fehler tolerante computerbetriebsmethode
FR2737029B1 (fr) * 1995-07-19 1997-09-26 Sextant Avionique Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication
DE19626184C2 (de) * 1996-06-29 1998-07-30 Alexander Ernst Erdwin Lahmann Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren
US5799022A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
US5953742A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6249828B1 (en) * 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
CA2309926A1 (en) * 1997-11-14 1999-05-27 Erik Muench Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6260159B1 (en) * 1998-06-15 2001-07-10 Sun Microsystems, Inc. Tracking memory page modification in a bridge for a multi-processor system
US7007190B1 (en) * 2000-09-06 2006-02-28 Cisco Technology, Inc. Data replication for redundant network components
GB2369692B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Processor state reintegration
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6970392B1 (en) * 2001-06-29 2005-11-29 Cypress Semiconductor Corp. High speed asynchronous and programmable state machine for generating almost full synchronous flags in a synchronous FIFO
US7085955B2 (en) * 2001-09-14 2006-08-01 Hewlett-Packard Development Company, L.P. Checkpointing with a write back controller
US7472230B2 (en) * 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
US6941493B2 (en) * 2002-02-27 2005-09-06 Sun Microsystems, Inc. Memory subsystem including an error detection mechanism for address and control signals
US7003692B1 (en) * 2002-05-24 2006-02-21 Cisco Technology, Inc. Dynamic configuration synchronization in support of a “hot” standby stateful switchover
US7003691B2 (en) * 2002-06-28 2006-02-21 Hewlett-Packard Development Company, L.P. Method and apparatus for seeding differences in lock-stepped processors

Also Published As

Publication number Publication date
CA2434290A1 (en) 2004-01-10
KR100566340B1 (ko) 2006-03-31
CN1269040C (zh) 2006-08-09
CN1472650A (zh) 2004-02-04
EP1380950B1 (de) 2006-02-08
ES2253613T3 (es) 2006-06-01
TWI241479B (en) 2005-10-11
DE60303468D1 (de) 2006-04-20
AU2003211183A1 (en) 2004-01-29
JP2004046455A (ja) 2004-02-12
US20040153731A1 (en) 2004-08-05
KR20040005684A (ko) 2004-01-16
TW200402622A (en) 2004-02-16
EP1380950A1 (de) 2004-01-14

Similar Documents

Publication Publication Date Title
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
DE60303468T2 (de) Fehlertolerante Vorrichtung zur Informationsverarbeitung
DE60301702T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisation desselben und Programm zur Resynchronisation desselben
DE69434473T2 (de) Prozessorschnittstellenchip für Doppelmikroprozessorsystem
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE69909467T2 (de) Umschaltsverfahren zwischen mehreren systemprozessoren
DE4233569C2 (de) Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE69923621T2 (de) Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem
DE60016371T2 (de) Vorrichtung und verfahren um die übereinstimmung der daten in einer gruppe von einspiegelungseinrichtungen gespeichert zu behalten
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
DE69911026T2 (de) Synchronisation von prozessoren in einem fehlertoleranten multi-prozessor-system
EP1249744A1 (de) Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
DE19832060A1 (de) Doppelbare Prozessoreinrichtung
DE2048670B2 (de) Verfahren und anordnung zur ueberpruefung einer datenverarbeitungsanlage
DE3727850A1 (de) Fehler-pruefsystem
EP2550598A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
DE3328405A1 (de) Steuerorgane eines fehlertoleranten mehrrechnersystems
DE69919584T2 (de) Betriebsmittelsteuerung in einer datenverarbeitungsanlage

Legal Events

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