-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Informationsverarbeitungsvorrichtung,
wie beispielsweise einen fehlertoleranten Computer mit Verriegelungsstufe
(Lockstep-Computer),
der gleichzeitig dieselben Anweisungen in einer Vielzahl von taktsynchronisierten
Computermodulen darin verarbeitet, und genauer gesagt eine Informationsverarbeitungsvorrichtung,
die ein Computermodul, das nicht mehr synchron zu den anderen Computermodulen
und vom Betrieb isoliert gewesen ist, schnell mit anderen Computermodulen
synchronisiert.
-
Ein
herkömmlicher
fehlertoleranter Computer mit Verriegelungsstufe hat eine Vielzahl
von Computermodulen, die gleichzeitig dieselben Anweisungen ausführen. Beim
fehlertoleranten Computer kann eines der Computermodule aufgrund
eines Fehlers oder aus irgendwelchen anderen Gründen unterschiedlich von den
anderen Computermodulen arbeiten. Auf Erfassen eines Computermoduls
hin, das unterschiedlich von den anderen Computermodulen arbeitet,
anders ausgedrückt
beim Finden eines Computermoduls, das außerhalb einer Verriegelungsstufensynchronisierung
ist, setzt der fehlertolerante Computer mit Verriegelungsstufe das
erfasste Computermodul einmal außer Betrieb.
-
Gründe, die
veranlassen, dass das Computermodul außerhalb der Verriegelungsstufensynchronisierung
ist, sind unterschiedlich. Ein Reaktionsverlauf, der für das Computermodul
vorzunehmen ist, das außerhalb
der Verriegelungsstufensynchronisierung ist, hängt von der Ursache ab. Eine
der Ursachen, die veranlasst, dass das Computermodul außerhalb
der Verriegelungsstufensynchronisierung ist, kann ein permanenter
Fehler sein, der innerhalb des Computermoduls auftritt. Der permanente
Fehler ist keine temporäre
Störung
oder ein Fehler, von dem sich 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 Verriegelungsstufe herausgenommen,
und anstelle von diesem Modul wird ein anderes gesundes Computermodul
installiert.
-
Eine
weitere mögliche
Ursache, die dazu führt,
dass das Computermodul außerhalb
der Verriegelungsstufensynchronisierung ist, kann ein Fehlen an
Synchronisierung sein, so dass sich die Betriebszeitgabe aufgrund
von Herstellungsvariationen der Computermodule temporär nicht
mit den anderen Computermodulen synchronisiert. Eine weitere mögliche Ursache
kann eine temporäre
Fehlfunktion eines Speichers in dem Computermodul sein, die durch
einen Einfluss wie beispielsweise einen α-Strahl bewirkt wird. Bei diesen
Ursachen, wie bei einem Fehlen an Synchronisierung oder bei einer temporären Fehlfunktion,
die keinen permanenten Fehler verursachen, muss das Computermodul
nicht ausgetauscht werden.
-
Wenn
der permanente Fehler auftritt, wird das fehlerhafte Computermodul
ausgetauscht, und das ausgetauschte Computermodul wird mit den anderen
Computermodulen verbunden und mit diesen synchronisiert. Wenn es
keinen permanenten Fehler gibt, wird das Computermodul wieder mit
den anderen Computermodulen verbunden und erneut mit diesen synchronisiert.
Die Operation zum Veranlassen, dass ein getrenntes Computermodul
wieder mit den anderen Computermodulen verbunden ist, ist eine erneute
Synchronisation. Wenn der herkömmliche fehlertolerante
Computer mit Verriegelungsstufe neu mit dem Computermodul synchronisiert,
das außerhalb
der Verriegelungsstufensynchronisierung war, kopiert der herkömmliche
fehlertolerante Computer mit Verriegelungsstufe einen Speicher des
Computermoduls, das neu zu verbinden bzw. anzuschließen ist,
aus einem Speicher eines anderen Computermoduls, das in der Verriegelungsstufensynchronisierung ist.
Das neu angeschlossene Computermodul führt darauf folgend dieselben
Operationen mit den anderen Computermodulen aus.
-
Ein
herkömmlicher
fehlertoleranter Computer mit Verriegelungsstufe erzwingt ein Stoppen
aller Computermodule und kopiert die gesamten Inhalte eines Speichers
des angeschlossenen oder neu angeschlossenen Computermoduls von
einem anderen Computermodul, das innerhalb der Verriegelungsstufensynchronisierung
ist, wenn das Computermodul angeschlossen oder neu angeschlossen
wird. Dies lässt
zu, dass alle Computermodule vollständig denselben internen Zustand
haben. Ein herkömmlicher fehlertoleranter
Computer mit Verriegelungsstufe wird gezwungen, lange Zeit zu stoppen,
um das Computermodul anzuschließen
oder neu anzuschließen.
Dies ist deshalb so, weil es lange Zeit dauert, die gesamten Inhalte
des Speichers im Computermodul zu kopieren. Insbesondere deshalb,
weil eine Speichergröße im Computermodul
größer wird,
erhöht
sich eine Zeit zum Kopieren des gesamten Inhalts des Speichers im
Computermodul. Ein solcher herkömmlicher fehlertoleranter
Computer mit Verriegelungsstufe ist in US 2002/0065996 A1 offenbart.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung, die durch die Ansprüche definiert
ist, besteht im Bereitstellen einer Informationsverarbeitungsvorrichtung,
die eine Verfügbarkeit
verbessert.
-
Eine
weitere Aufgabe der Erfindung besteht im Bereitstellen einer Informationsverarbeitungsvorrichtung,
die einen Betrieb nach der Erfassung eines Fehlers schnell wieder
aufnimmt.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine Informationsverarbeitungsvorrichtung
zur Verfügung
gestellt, die folgendes enthält:
ein erstes und ein zweites Computerelement, die dieselben Anweisungen
gleichzeitig ausführen
und die miteinander synchronisiert sind; ein erstes Speicherelement,
das im ersten Computerelement vorgesehen ist und das durch das erste
Computerelement während
eines ersten Zustands gelesen und beschrieben wird; ein zweites
Speicherelement, das im ersten Computerelement vorgesehen ist und
das durch das zweite Computerelement während des ersten Zustands beschrieben
wird; und ein Steuerelement, das das erste Computerelement während eines
zweiten Zustands aus dem zweiten Speicherelement lesen lässt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird eine Informationsverarbeitungsvorrichtung
zur Verfügung
gestellt, die folgendes enthält:
ein erstes und ein zweites Computerelement, die dieselben Anweisungen
gleichzeitig ausführen
und die miteinander synchronisiert sind; einen ersten Speicherbereich,
der im ersten Computerelement vorgesehen ist und der durch das erste
Computerelement während
eines ersten Zustands gelesen und beschrieben wird; einen zweiten
Speicherbereich, der im ersten Computerelement vorgesehen ist und
der durch das zweite Computerelement während des ersten Zustands beschrieben
wird; und ein Steuerelement, das das erste Computerelement während eines
zweiten Zustands aus dem zweiten Speicherbereich lesen lässt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Weitere
Merkmale und Vorteile der Erfindung werden durch die folgende detaillierte
Beschreibung und die beigefügten
Zeichnungen klarer gemacht werden, wobei:
-
1 ein
Blockdiagramm eines Ausführungsbeispiels
der vorliegenden Erfindung ist;
-
2 ein
Blockdiagramm einer Speichersteuerung bei einem Ausführungsbeispiel
der vorliegenden Erfindung ist;
-
3 ein
Diagramm ist, das den Betrieb eines Computermoduls in Reaktion auf
eine Lesezugriffsanfrage während
eines normalen Prozesses zeigt;
-
4 ein
Diagramm ist, das den Betrieb eines Computermoduls in Reaktion auf
eine Schreibzugriffsanfrage während
eines normalen Prozesses zeigt;
-
5 ein
Diagramm ist, das den Betrieb eines Computermoduls in Reaktion auf
eine Lesezugriffsanfrage während
eines Neuverbindungsprozesses zeigt;
-
6 ein
Diagramm ist, das den Betrieb eines Computermoduls in Reaktion auf
eine Schreibzugriffsanfrage während
eines Neuverbindungsprozesses zeigt; und
-
7 ein
Diagramm ist, das die Speicherkopieroperation eines Computermoduls
während
eines Neuverbindungsprozesses 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, besteht eine Ursache, die
ein Computermodul in einen Zustand versetzt, dass es außerhalb
einer Verriegelungsstufensynchronisierung ist, in einem permanenten
Fehler oder einem nichtpermanenten Fehler. Bei einem fehlertoleranten
Computer muss ein Computermodul, bei welchem der permanente Fehler
aufgetreten ist, ausgetauscht werden. Wenn ein Computermodul andererseits
aufgrund eines nichtpermanenten Fehlers außerhalb einer Verriegelungsstufensynchronisierung
ist, wird es dann normalerweise nicht ausgetauscht, sondern unverändert installiert.
Das bedeutet, dass in wichtigen Fällen ein Computermodul, das
außerhalb
der Verriegelungsstufensynchronisierung ist, wieder an einen fehlertoleranten
Computer anschließt.
-
Eine
Aufgabe der vorliegenden Erfindung besteht im Reduzieren der Zeit,
für welche
ein fehlertoleranter Computer mit Verriegelungsstufe nicht im Dienst
ist, wenn ein Computermodul, das außerhalb einer Verriegelungsstufensynchronisierung
war, wieder angeschlossen wird, ohne ausgetauscht zu werden.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung wird nachfolgend detailliert beschrieben werden.
-
Gemäß 1 enthält eine
Informationsverarbeitungsvorrichtung Computermodule 300 und 301.
Bei diesem Ausführungsbeispiel
ist die Informationsverarbeitungsvorrichtung ein fehlertoleranter Computer
mit Verriegelungsstufe. Das Computermodul 300 und das Computermodul 301 haben
dieselbe oder eine äquivalente
Konfiguration oder Struktur. Das Computermodul 300 enthält Prozessoren 101 und 102,
Speicher 111 und 112 und eine Speichersteuerung 121.
Der Prozessor 101 und der Prozessor 102 haben
dieselbe Konfiguration und nutzen einen Bus 200 gemeinsam.
Die Speichersteuerung 121 ist mit dem Bus 200 der
Prozessoren 101 und 102 verbunden. Der Speicher 111 und
der Speicher 112 haben dieselbe Konfiguration. Der Speicher 111 ist
mit der Speichersteuerung 121 über eine Signalleitung 201 verbunden.
Der Speicher 112 ist mit der Speichersteuerung 121 über eine
Signalleitung 203 verbunden.
-
Wie
das Computermodul 300 enthält das Computermodul 301 Prozessoren 103 und 104, Speicher 113 und 114 und
eine Speichersteuerung 122. Die Prozessoren 103 und 104 sind
dieselben wie die Prozessoren 101 und 102 des
Computermoduls 300. Die Speichersteuerung 122 ist
dieselbe wie die Speichersteuerung 121 des Computermoduls 300.
Die Speicher 113 und 114 sind dieselben wie die Speicher 111 und 112 des
Computermoduls 300.
-
Die
Speichersteuerung 121 des Computermoduls 300 und
die Speichersteuerung 122 des Computermoduls 301 sind über Signalleitungen 202 und 205 verbunden.
-
Als
nächstes
wird nachfolgend ein erstes Ausführungsbeispiel
der vorliegenden Erfindung unter Ausrichtung auf das Computermodul 300 als
Beispiel detaillierter beschrieben werden.
-
Die
Prozessoren 101 und 102 führen durch den fehlertoleranten
Computer mit Verriegelungsstufe angewiesene Anweisungen aus. Die
Anweisungsausführung
durch die Prozessoren 101 und 102 ist im Wesentlichen
mit derjenigen durch die Prozessoren 103 und 104 des
Computermoduls 301 basierend auf einem identischen oder
im Wesentlichen demselben Taktsignal synchronisiert, und die Prozessoren 101 und 102 führen dieselben
oder im Wesentlichen dieselben Anweisungen im Wesentlichen gleichzeitig mit
den Prozessoren 103 und 104 des Computermoduls 301 aus.
Die Quelle des Taktsignals ist gemeinsam für die Computermodule 301 und 300 vorgesehen,
oder die Quellen der Taktsignale, welche Quellen synchronisiert
sind, sind jeweils für
die Computermodule 301 und 300 vorgesehen. Das
bedeutet, dass die Computermodule 300 und 301 die
Anweisungen in einer "Verriegelungsstufen"-Synchronisierung
ausführen,
bei welcher jedes Computermodul 300 und 301 einen
im Wesentlichen identischen Anweisungsstrom im Wesentlichen gleichzeitig
ausführt.
Während
der Anweisungsausführung
schreiben die Prozessoren 101 und 102 Daten in
einen Speicher oder lesen Daten daraus aus.
-
Die
Speichersteuerung 121 schaltet zwischen Speicherzugriffsanfragen
vom Prozessor 101, Speicherzugriffsanfragen vom Prozessor 102 und Speicherzugriffsanfragen
vom Computermodul 301, die über die Signalleitung 205 empfangen
werden, und sendet die Anfragen zu den geeigneten Speichern 111 und 112.
Zusätzlich
empfängt
die Speichersteuerung 121 eine Antwort auf eine Speicherzugriffsanfrage
von den Speichern 111 oder 112 und sendet die
Antwort zu den Prozessoren 101 und 102. Eine Anfrage
wird von den Prozessoren 101 oder 102 zu einem
oder zu beiden der Speicher 111 und 112 gesendet,
wenn die Anfrage eine Schreibzugriffsanfrage oder eine Lesezugriffsanfrage
ist. Eine Schreibzugriffsanfrage ent hält Schreibdaten. Eine Antwort wird
vom Speicher zum Prozessor gesendet, wenn die Anfrage eine Lesezugriffsanfrage
ist. Die Antwort enthält
Lesedaten.
-
Gemäß 2 enthält die Speichersteuerung 121 Umschaltschaltungen 400, 401, 402 und 403 und eine
Direktspeicherzugriffs-(DMA-)Schaltung 404. Die Umschaltschaltung 400 verbindet
eine Signalleitung 207 mit einer Signalleitung 206 und
sendet eine Antwort zur Signalleitung 206, wenn die Antwort
von einem der Speicher 111 und 112 empfangen wird.
Die Signalleitung 206 ist eine Signalleitung vom oder identisch
zum Bus 200, und die Antwort wird zu den Prozessoren 101 und 102 gesendet.
Die Umschaltschaltung 400 verbindet die Signalleitung 206 mit
der Signalleitung 202, wenn die Anfrage von den Prozessoren 101 und 102 zu
einem oder beiden der Speicher gesendet wird. Die Umschaltschaltung 400 wählt eine
Signalleitung aus den Signalleitungen 202 und 207 aus
und verbindet sie mit der Signalleitung 206.
-
Die
Umschaltschaltung 401 verbindet die Signalleitung 203 mit
der Signalleitung 207, um die vom Speicher 112 empfangene
Antwort auszuwählen, wenn
eine Antwort vom Speicher 112 während eines Wiederverbindungs-
bzw. Wiederanschlussprozesses empfangen wird. Die Umschaltschaltung 401 verbindet
die Signalleitung 201 mit der Signalleitung 207,
um eine vom Speicher 111 empfangene Antwort auszuwählen, wenn
die Antwort vom Speicher 111 während eines normalen Prozesses
empfangen wird. Der Ausdruck "normaler
Prozess" hat die
Bedeutung des Zustands, in welchem das Computermodul 300 synchron
zu dem anderen Computermodul 301 arbeitet. Der Ausdruck "während eines Wiederverbindungsprozesses" hat die Bedeutung
des Zustands, in welchem ein durch das Computermodul 300 begonnener
Wiederverbindungsprozess noch nicht fertig gestellt ist.
-
Die
Umschaltschaltung 402 wählt
eine Signalleitung aus den Signalleitungen 202 und 203 aus und
verbindet sie mit der Signalleitung 201. Die Umschaltschaltung 402 verbindet
die Signalleitung 202 mit der Signalleitung 201,
um eine Anfrage zum Speicher 111 zu senden, wann immer
die Anfrage von den Prozessoren 101 und 102 über die
Signalleitung 202 empfangen wird. Die Umschaltschaltung 402 verbindet
die Signalleitung 203 mit der Signalleitung 201,
um eine Anfrage zum Speicher 111 zu senden, wenn während eines
Wiederverbindungsprozesses eine Schreibzugriffsanfrage im DMA-Transfer-(Kopier-)Mode über die
Signalleitung 203 empfangen wird.
-
Die
Umschaltschaltung 403 wählt
eine der Signalleitungen 202, 205 und 208 aus
und verbindet sie mit der Signalleitung 203. Die Umschaltung 403 verbindet
die Signalleitung 202 mit der Signalleitung 203,
um eine Anfrage zum Speicher 112 zu senden, wenn die Anfrage über die
Signalleitung 202 während eines
Wiederverbindungsprozesses empfangen wird. Die Umschaltschaltung 403 verbindet
die Signalleitung 205 mit der Signalleitung 203,
um eine Anfrage zum Speicher 112 zu senden, wenn die Anfrage vom
Computermodul 301 während
des normalen Prozesses über
die Signalleitung 205 empfangen wird. Die Umschaltschaltung 403 verbindet
die Signalleitung 208 mit der Signalleitung 203,
um beim DMA-Transfer (Kopieren) eine Lesezugriffsanfrage von der
DMA-Schaltung 404 zum Speicher 112 zu senden,
wenn der Wiederverbindungsprozess gerade ausgeführt wird und keine Anfrage
von der Signalleitung 202 empfangen wird.
-
Die
DMA-Schaltung 404 transferiert im DMA-Transfermode Daten
vom Speicher 112 zum Speicher 111 über die
Signalleitung 208, wenn ein Wiederverbindungsprozess gerade
ausgeführt
wird und keine Anfrage von der Signalleitung 202 empfangen
wird. Während
des DMA-Transfers liest die DMA-Schaltung 404 Daten sequentiell
aus allen Speicherbereichen im Speicher 112 und schreibt
die Daten in den Speicher 111. Wenn während des DMA-Transfers eine
Anfrage von den Prozessoren 101 und 102 zu den
Speichern 111 und 112 über die Signalleitung 202 gesendet
wird, unterbricht die DMA-Schaltung 404 den DMA-Transfer
kurzzeitig.
-
Als
nächstes
wird der Betrieb des fehlertoleranten Computers mit Verriegelungsstufe
bei diesem Ausführungsbeispiel
während
des normalen Prozesses detailliert beschrieben werden. Während des normalen
Betriebs führen
alle Computermodule 300 und 301 denselben oder
im Wesentlichen denselben Betrieb aus.
-
Zuerst
wird der Betrieb in Reaktion auf eine Lesezugriffsanfrage während des
normalen Prozesses beschrieben werden.
-
Gemäß 3 wird
eine Lesezugriffsanfrage von den Prozessoren 101 und 102 zur
Umschaltschaltung 400 über
die Signalleitung 206, das heißt den Bus 200, gesendet.
Die Anfrage von der Signalleitung 206 wird durch Führen durch
die Umschaltschaltung 400 zur Signalleitung 202 gesendet.
Die Anfrage wird zum Computermodul 301 über die Signalleitung 202 gesendet.
Diese Anfrage erreicht den Speicher 114, aber die Umschaltschaltung
im Computermodul 301 stoppt die Antwort vom Speicher 114.
Die Anfrage wird auch zur Umschaltschaltung 403 über die
Signallei tung 202 gesendet, stoppt aber dort und erreicht
den Speicher 112 nicht, weil die Umschaltschaltung 403 die
Signalleitung 202 und die Signalleitung 203 nicht
verbindet. Die Anfrage wird auch zur Umschaltschaltung 402 über die
Signalleitung 202 gesendet. Die Anfrage wird zur Signalleitung 201 durch
Führen
durch die Umschaltschaltung 402 gesendet und erreicht den
Speicher 111. Die Anfrage erreicht auch die Umschaltschaltung 401 über die
Signalleitung 201, stoppt aber dort, weil die Umschaltschaltung 401 die
Signalleitung 201 und die Signalleitung 207 nicht
verbindet.
-
Eine
Antwort, die aus dem Speicher 111 gelesene Daten enthält, in Reaktion
auf die Anfrage von den Prozessoren 101 und 102 wird
zur Umschaltschaltung 401 über die Signalleitung 201 gesendet. Die
Antwort von dem Speicher 111 wird zur Signalleitung 207 durch
Führen
durch die Umschaltschaltung 401 gesendet und erreicht die
Umschaltschaltung 400. Die Antwort, die die Lesedaten enthält, wird
zur Signalleitung 206 durch Führen durch die Umschaltschaltung 400 gesendet
und erreicht die Prozessoren 101 und 102. Auf
diese Weise werden Daten während
einer normalen Verarbeitung aus dem Speicher 111 gelesen,
wie es in 3 gezeigt ist.
-
Als
nächstes
wird der Betrieb in Reaktion auf eine Schreibzugriffsanfrage während des
normalen Prozesses beschrieben werden.
-
In 4 werden
Schreibzugriffsanfragen von den Prozessoren 101 und 102 zur
Umschaltschaltung 400 über
die Signalleitung 206, das heißt den Bus 200, gesendet.
Die Anfrage von der Signalleitung 206 wird zur Signalleitung 202 durch
Führen durch
die Umschaltschaltung 400 gesendet. Die Anfrage wird zum
Computermodul 300 über
die Signalleitung 202 gesendet. Dies Anfrage erreicht den Speicher 114 des
Computermoduls 301. Dann werden Daten in den Speicher 114 geschrieben.
Die Anfrage wird auch zur Umschaltschaltung 403 über die Signalleitung 202 gesendet,
stoppt aber und erreicht nicht den Speicher 112, weil die
Umschaltschaltung 403 die Signalleitung 202 und
die Signalleitung 203 nicht verbindet. Die Anfrage wird
auch zur Umschaltschaltung 402 über die Signalleitung 202 gesendet. Die
Anfrage wird zur Signalleitung 201 durch Führen durch
die Umschaltschaltung 402 gesendet und erreicht den Speicher 111.
Dann werden Daten in den Speicher 111 geschrieben.
-
Auf
diese Weise werden Daten während
des normalen Prozesses in den Speicher 111 geschrieben,
wie es in 4 gezeigt ist. Obwohl es nicht
gezeigt ist, werden dieselben Daten in den Speicher 114 des
Computermoduls 301 über
die Signalleitung 206, die Umschaltschaltung 400 und
die Signalleitung 202 durch die Prozessoren 101 und 102 geschrieben.
Zusätzlich
werden deshalb, weil die Prozessoren 103 und 104 des
Computermoduls 301 denselben Betrieb wie denjenigen der
Prozessoren 101 und 102 ausführen, dieselben Daten auch
in den Speicher 112 über
die Signalleitung 205, die Umschaltschaltung 403 und
die Signalleitung 203 geschrieben, wie es in 4 gezeigt
ist.
-
Als
nächstes
wird der Betrieb des fehlertoleranten Computers mit Verriegelungsstufe
bei diesem Ausführungsbeispiel
ab der Zeit, zu welcher herausgefunden wird, dass ein Computermodul
außerhalb einer
Verriegelungsstufensynchronisierung ist, bis zu der Zeit, zu welcher
ein Wiederverbindungsprozess beendet ist, einschließlich der
Dauer des Wiederverbindungsprozesses, beschrieben.
-
Wenn
herausgefunden wird, dass ein Computer außerhalb der Verriegelungsstufensynchronisierung
ist, stoppt der fehlertolerante Computer mit Verriegelungsstufe
einmal alle Computermodule 300 und 301. Dann speichert
der fehlertolerante Computer mit Verriegelungsstufe den Kontext
eines Prozesses oder von Prozessen, die in den Prozessoren 101, 102, 103 und 104 zu
dieser Zeit ausgeführt
werden, in den Speicher.
-
Darauf
folgend lädt
der fehlertolerante Computer mit Verriegelungsstufe den Kontext
des Prozesses oder der Prozesse, der im Speicher gespeichert ist,
zu den Prozessoren von allen Computermodulen. Das Computermodul,
das nicht außerhalb
einer Verriegelungsstufensynchronisierung ist, startet dann erneut
den normalen Prozess. Das Computermodul, das außerhalb einer Verriegelungsstufensynchronisierung
ist, startet den Wiederverbindungsprozess.
-
Als
nächstes
wird der Betrieb eines Computermoduls während des Wiederverbindungsprozesses
beschrieben werden. Es soll angenommen sein, dass das Computermodul 300 das
Computermodul ist, welches außerhalb
einer Verriegelungsstufensynchronisierung ist.
-
Zuerst
wird nachfolgend der Betrieb des Computermoduls in Reaktion auf
eine Lesezugriffsanfrage während
des Wiederverbindungsprozesses beschrieben werden.
-
Gemäß 5 wird
eine durch die Prozessoren 101 und 102 ausgegebene
Lesezugriffsanfrage zur Umschaltschaltung 400 über die
Signalleitung 206, das heißt den Bus 200, gesendet.
Die Anfrage von der Signalleitung 206 wird zur Signalleitung 202 durch
Führen
durch die Umschaltschaltung 400 gesendet. Die Anfrage wird
zum Computermodul 301 über
die Signalleitung 202 gesendet. Diese Anfrage erreicht
den Speicher 114, aber die Umschaltschaltung im Computermodul 301 stoppt
eine Antwort vom Speicher 114. Die Anfrage wird auch zur
Umschaltschaltung 402 über
die Signalleitung 202 gesendet. Die Umschaltschaltung 402 verbindet
die Signalleitung 202 mit der Signalleitung 201.
Weiterhin erreicht diese Anfrage den Speicher 111, aber
die Umschaltschaltung 401 stoppt die Antwort vom Speicher 111. Die
Anfrage wird auch zur Umschaltschaltung 403 über die
Signalleitung 202 gesendet. Diese Anfrage wird zur Signalleitung 203 durch
Führen
durch die Umschaltschaltung 403 gesendet und erreicht den Speicher 112.
Eine Antwort einschließlich
Daten, die aus dem Speicher 112 durch die von den Prozessoren 101 und 102 ausgegebene
Anfrage gelesen werden, erreicht die Umschaltschaltung 401 über die
Signalleitung 203. Diese Antwort erreicht auch die Umschaltschaltung 402,
stoppt aber dort, weil die Umschaltschaltung 402 die Signalleitung 203 nicht
mit der Signalleitung 201 verbindet. Diese Antwort wird zur
Signalleitung 207 durch Führen durch die Umschaltschaltung 401 gesendet
und erreicht die Umschaltschaltung 400. Diese Antwort,
die aus dem Speicher 112 gelesene Daten enthält, wird
zur Signalleitung 206 durch Führen durch die Umschaltschaltung 400 gesendet
und erreicht die Prozessoren 101 und 102. Auf
diese Weise werden Daten während
des Wiederverbindungsprozesses aus dem Speicher 112 gelesen,
wie es in 5 gezeigt ist.
-
Als
zweites wird nachfolgend der Betrieb des Computermoduls in Reaktion
auf eine Schreibzugriffsanfrage während des Wiederverbindungsprozesses
beschrieben werden.
-
In 6 wird
eine durch die Prozessoren 101 und 102 ausgegebene
Schreibzugriffsanfrage zu der Umschaltschaltung 400 über die
Signalleitung 206, das heißt den Bus 200, gesendet.
Die Anfrage von der Signalleitung 206 wird zur Signalleitung 202 durch
Führen
durch die Umschaltschaltung 400 gesendet. Die Anfrage wird
zum Computermodul 301 über
die Signalleitung 202 gesendet. Diese Anfrage erreicht
den Speicher 114 im Computermodul 301. Dann werden
Daten in den Speicher 114 geschrieben. Die Anfrage wird
auch zur Umschaltschaltung 402 über die Signalleitung 202 gesendet.
Die Anfrage wird zur Signalleitung 201 durch Führen durch
die Umschaltschaltung 402 gesendet und erreicht den Speicher 111.
Dann werden Daten in den Speicher 111 geschrieben. Die
Anfrage wird auch zur Umschaltschaltung 403 über die
Signalleitung 202 gesendet. Die Anfrage wird zur Signalleitung 203 durch Führen durch
die Umschaltschaltung 403 gesendet und erreicht den Speicher 112.
Dann werden Daten in den Speicher 112 geschrieben.
-
Auf
diese Weise werden Daten während
des Wiederverbindungsprozesses in die Speicher 111 und 112 geschrieben,
wie es in 6 gezeigt ist. Obwohl es in
der Figur nicht gezeigt ist, werden dieselben Daten durch die Prozessoren 101 und 102 auch in
den Speicher 114 des Computermoduls 301 geschrieben.
-
Als
drittes kopiert das Computermodul während des Wiederverbindungsprozesses
die Inhalte des Speichers durch Verwenden der DMA-Schaltung 404 parallel
zur Verarbeitung der Lesezugriffsanfrage oder der Schreibzugriffsanfrage,
die von den Prozessoren 101 und 102 empfangen
sind und die oben beschrieben sind.
-
7 ist
ein Diagramm, das den Speicherkopierbetrieb zeigt, der durch das
Computermodul während
eines Wiederverbindungsprozesses ausgeführt wird.
-
Auf
ein Erfassen hin, dass während
des Wiederverbindungsprozesses kein Zugriff von der Signalleitung 202 zum
Speicher 112 durchgeführt
wird, sendet die DMA-Schaltung 404 sequentiell
Leseanfragen für
alle Speicherbereiche des Speichers 112 zur Umschaltschaltung 403 über die
Signalleitung 208. Diese Anfragen werden zur Signalleitung 203 durch
Führen
durch die Umschaltschaltung 403 gesendet und erreichen
den Speicher 112. Dann werden Daten sequentiell aus dem
Speicher 112 gelesen. Eine Antwort, die Lesedaten vom Speicher 112 enthält, erreicht
die Umschaltschaltung 401, stoppt aber dort, weil die Umschaltschaltung 401 die
Signalleitung 203 nicht mit der Signalleitung 207 verbindet. Diese
Antwort erreicht auch die Umschaltschaltung 402 als Schreibzugriffsanfragen
für den
Speicher 111. Diese Anfragen werden zur Signalleitung 201 durch
Führen
durch die Umschaltschaltung 401 gesendet und erreichen
den Speicher 111. Somit werden aus dem Speicher 112 gelesene
Daten sequentiell in den Speicher 111 geschrieben. Die
Inhalte des Speichers werden auf diese Weise kopiert.
-
Wenn
während
des oben beschriebenen Speicherkopierbetriebs eine Anfrage von den
Prozessoren 101 und 102 zu den Speichern 111 und/oder 112 über die
Signal leitung 202 gesendet wird, unterbricht der fehlertolerante
Computer mit Verriegelungsstufe kurzzeitig den Speicherkopierbetrieb
und führt
die von den Prozessoren 101 und/oder 102 empfangene
Anfrage aus. Wenn die Anfrage eine Schreibzugriffsanfrage ist, werden
dieselben Daten in den Speicher 111 und den Speicher 112 geschrieben.
Somit werden nicht nur dann dieselben Daten in die Speicher 111 und 112 geschrieben, wenn
der Speicherkopierbetrieb ausgeführt
wird, sondern auch dann, wenn ein Ausführungsergebnis von den Prozessoren 101 und 102 empfangen
wird.
-
Wenn
der Speicherkopierbetrieb für
alle Speicherbereiche des Speichers, bei diesem Ausführungsbeispiel
des Speichers 112, beendet ist, ändert der fehlertolerante Computer
mit Verriegelungsstufe den Zustand des Computermoduls 300 zum
normalen Zustand. Somit wird der Speicher 112 durch den Speicherkopierbetrieb
und die Ausführung
für die
Anfrage von den Prozessoren 101 und 102 zeitlich
gemeinsam genutzt, bis der Speicherkopierbetrieb fertig gestellt
ist.
-
Das
Computermodul, das aufgrund eines nichtpermanenten Fehlers außerhalb
der Verriegelungsstufensynchronisierung ist, behält die Inhalte der Speicher 111 und 112,
solange sie nicht ausgetauscht sind. Die Inhalte des Speichers 112 sind durch
das Computermodul geschrieben worden, das nicht außerhalb
einer Verriegelungsstufensynchronisierung ist. Daher müssen, wie
die Inhalte des Speichers des Computermoduls, das nicht außerhalb
einer Verriegelungsstufensynchronisierung ist, die Inhalte des Speichers 112 sogar
im Computermodul 300, das außerhalb der Verriegelungsstufensynchronisierung
ist, normal und gültig
sein.
-
Bei
diesem Ausführungsbeispiel
kann dann, wenn ein Computermodul, das außerhalb einer Verriegelungsstufensynchronisierung
ist, direkt in einen Betrieb zurückversetzt
wird, das einer Wiederverbindung unterzogene Computermodul während des
Wiederverbindungsprozesses sofort die Ausführung von Anweisungen unter
Verwendung des Speichers 112 beginnen, in welchem Daten
durch das andere Computermodul während
des normalen Prozesses geschrieben worden sind. Dies ermöglicht,
dass das wiederverbindende Computermodul sofort denselben Betrieb
wie demjenigen des anderen Computermoduls beginnt, das nicht außerhalb
einer Verriegelungsstufensynchronisierung ist. Zusätzlich kopiert das
Computermodul während
des Wiederverbindungsprozesses den Speicher parallel zur Ausführung von
Anweisungen. Dies eliminiert eine Notwendigkeit zum Stoppen des
fehlertoleranten Computers mit Verriegelungsstufe während des
Speicherkopierbetriebs, während
ein solches Stoppen für
den herkömmlichen
Computer unentbehrlich ist. Daher kann der fehlertolerante Computer
mit Verriegelungsstufe der vorliegenden Erfindung den Betrieb nach
einer kurzen Stoppzeit wieder beginnen.
-
Obwohl
der fehlertolerante Computer mit Verriegelungsstufe bei diesem Ausführungsbeispiel eine
Konfiguration hat, bei welcher zwei Computermodule 300 und 301 vorgesehen
sind, ist die vorliegende Erfindung nicht auf diese Konfiguration
beschränkt.
Die vorliegende Erfindung kann auf eine Konfiguration angewendet
werden, bei welcher eine Vielzahl von Computermodulen vorgesehen
ist. Für drei
oder mehrere Computermodule können
die Speichersteuerungen der Computermodule als Ring verbunden sein.
Wenn eine Anzahl von Computermodulen gerade ist, können jeweils
zwei Module ein Paar bilden, so dass die Speichersteuerung von gepaarten
Computermodulen wie beim Beispiel dieses Ausführungsbeispiels verbunden werden.
-
Das
Computermodul kann einen Speicher haben, der einen ersten Speicherbereich
entsprechend beispielsweise dem Speicher 111 hat, und einen
zweiten Speicherbereich entsprechend beispielsweise dem Speicher 112,
obwohl das Computermodul 300 des oben beschriebenen Ausführungsbeispiels
zwei Speicher 111 und 112 hat.
-
Bei
diesem Ausführungsbeispiel
ist ein fehlertoleranter Computer mit Verriegelungsstufe als Beispiel
verwendet. Jedoch ist die vorliegende Erfindung nicht auf einen
fehlertoleranten Computer mit Verriegelungsstufe beschränkt. Die
vorliegende Erfindung kann auf eine Vorrichtung angewendet werden,
die eine Vielzahl von Schaltungen enthält, von welchen jede Prozessoren
und Speicher enthält,
die den konsistenten internen Zustand haben müssen.
-
Während diese
Erfindung in Zusammenhang 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 zahlreiche andere Arten in die Praxis
umzusetzen.