-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft
Busarchitekturen im Allgemeinen.
-
Hintergrund
der Erfindung
-
Ein herkömmliches Rechnersystem verwendet
zur Datenübertragung
zwischen Komponenten eines Systems einen Bus. Eine populäre Busarchitektur
ist die PCI-Busarchitektur (PCI = Peripheral Component Interconnect
= Peripheriekomponentenverbindung), die zahlreiche wünschenswerte,
in der Technik wohlbekannte Eigenschaften aufweist. Die PCI-Busarchitektur wird
beispielsweise in PCI Local Bus Specification von der PCI Special
Interest Group, 5300 N. E. Elam Young Parkway, Hillsborough, Oregon,
beschrieben. Die erst kürzlich
entwickelte CompactPCI® Busarchitektur
ist eine Implementierung von für
industrielle und/oder eingebetteten Anwendungen konstruierter PCI-Technologie.
Die CompactPCI-Busarchitektur
wird in CompactPCI Specification von PCI Industrial Computer Manufacturers
Group (PCIMG®),
301 Edgewater Place Suite 220, Wakefield, Massachusetts, beschrieben.
CompactPCI und PCIMG sind eingetragene Marken der PCI Industrial Computer
Manufacturers Group.
-
Es wäre vorteilhaft, die Vorteile
der CompactPCI-Busarchitektur
in einem hochverfügbaren
oder fehlertoleranten System bereitzustellen, das zur Ausführung kritischer
Anwendungen geeignet ist, wie etwa Telefonvermittlungssysteme oder
Datenbankserver, ohne die Anwendungen durch das Risiko eines Systemausfalls
zu gefährden.
Ein Ausfall des Systemprozessors kann einen solchen Systemausfall
zur Folge haben. Dementsprechend wäre es wünschenswert, in einer CompactPCI-Busarchitektur über ein
hochverfügbares
und fehlertolerantes System zu verfügen, das einen Systemprozessorausfall ohne
Unterbrechung des Betriebs des Systems verkraften kann.
-
Die US-A-0 500 945 offenbart ein
Verfahren zur Steuerung eines Mulitprozessorsystems durch Verwenden
eines einen Systembus des Multiprozessorsystems steuernden Busarbiters,
wobei das Verfahren das Ermitteln einer Abnormität in dem Multiprozessorsystem
und das Ergreifen von Maßnahmen zum
Reinitialisieren des Systems zum Neustarten des Busarbiters im Falle
einer ermittelten Abnormität umfasst.
Der Systembus wird gestoppt und neu gestartet, um das Umschalten
zu vollbringen. Das Umschalten zwischen Multiprozessoren in einem
kontinuierlichen Betrieb wird dort nicht offenbart.
-
Zusammenfassung
der Erfindung
-
Die vorliegende Erfindung stellt
ein Verfahren zum Umschalten zwischen mehreren Systemprozessoren
auf einem Bus bereit, wie in Anspruch 1 beansprucht.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Schaltdiagramm der Multikonfigurations-Rückwandplatine
der bevorzugten Ausführungsform
der Erfindung;
-
2 ist
ein Schaltdiagramm einer Dualkonfiguration der Multikonfigurations-Rückwandplatine;
-
3 ist
ein Schaltdiagramm einer erweiterten Konfiguration der Multikonfigurations-Rückwandplatine;
-
4 ist
ein Schaltdiagramm einer Aktiv/Standby-Konfiguration der Multikonfigurations-Rückwandplatine
in einem Aktiv/Standby-Modus;
-
5 ist
ein Schaltdiagramm einer Aktiv/Standby-Konfiguration der Multikonfigurations-Rückwandplatine
in einem Aktiv/Aktiv-Modus;
-
6 ist
ein Flussdiagramm des Prozesses des Swappings der Hostplatine in
eine Aktiv/Standby-Konfiguration;
-
7 ist
ein Flussdiagramm des Prozesses des Swappings der Hostplatine in
eine Aktiv/Aktiv-Konfiguration;
-
8 ist
ein Schaltdiagramm des Systemhosts;
-
9 ist
ein Flussdiagramm des Prozesses des Umschaltens des Systemhosts;
und
-
10 ist
ein Flussdiagramm des Prozesses des Umschaltens des Systemprozessors.
-
Beschreibung einer bevorzugten
Ausführungsform
-
In einer bevorzugten Ausführungsform
der Erfindung wird ein Verfahren zum Umschalten zwischen mehreren
Systemprozessoren auf einem CompactPCI-Bus zur Verfügung gestellt.
Wenn ein Standby-Systemprozessor einen Ausfall feststellt, der einen
Aktiv-Systemprozessor auf dem CompactPCI-Bus beeinträchtigt,
stellt der Standby-Systemprozessor
einen speziellen Arbiter in einen Ein-Mastermodus. Dann stellt der Standby-Prozessor
fest, ob jedes Gerät
auf dem CompactPCI-Bus Gefahr läuft, eine
destruktive Aktion auszuführen,
indem beispielsweise festgestellt wird, ob Interrupts an das Gerät möglich sind,
ob das Gerät über die
Fähigkeit
des Ausführens
eines direkten Speicherzugriffs auf den Aktiv-Systemprozessor verfügt und/oder
ob sich das Gerät
auf einer ausgefallenen Platine befindet. Falls der Standby-Systemprozessor
feststellt, dass ein Gerät
Gefahr läuft,
eine destruktive Aktion auszuführen,
unterdrückt
der Standby-Systemprozessor das Gerät beispielsweise durch Programmieren
des Geräts
auf Einstellung des Betriebs oder durch Verändern einer Adresse, an die
das Gerät
schreibt. Dann stellt der Standby-Systemprozessor den speziellen Arbiter
in einen Mehrfach-Mastermodus.
-
Multikonfigurations-Rückwandplatine
-
1 ist
ein Schaltdiagramm einer Multikonfigurations-Rückwandplatine der bevorzugten
Ausführungsform
der Erfindung. In 1 weist
eine Rückwandplatine 100 einen CompactPCI-Bus
[1] 110 und einen CompactPCI-Bus [2] 120 auf.
Mit dem CompactPCI-Bus [1] 110 sind ein Systemprozessorslot
[1] 112, ein Brückenslot
[1] 114 und Ein-/Ausgabe-Slots [1] 116 verbunden. Die
Ein-/Ausgabe-Slots [1] 116 sind zum Einsetzen der Ein-/Ausgabe-Platinen
[1] 118 zur Implementierung entsprechender Geräte vorgesehen.
Mit dem CompactPCI-Bus [2] 120 sind ein Systemprozessorslot
[2] 122, ein Brückenslot
[2] 124 und Ein-/Ausgabe-Slots [2] 126 verbunden.
Die Ein-/Ausgabe-Slots [2] sind zum Einsetzen der Ein-/Ausgabe-Platinen
[2] 128 zum Implementieren entsprechender Geräte vorgesehen. Eine
Querverbindung [1] 130 koppelt den Systemprozessorslot
[1] 112 an den Brückenslot
[2] 124. Eine Querverbindung [2] 140 koppelt den
Systemprozessorslot [2] 122 an den Brückenslot [1] 114.
Vorzugsweise ist die Querverbindung [1] 130 ein erster
lokaler Peripheriekomponentenverbindungs (PCI)-Bus und die Querverbindung
[2] 140 ein zweiter lokaler PCI-Bus.
-
In 1 sind
ebenfalls die Systemprozessorplatinen und die Brückenplatinen gezeigt, die zur Bildung
des gesamten Rechnersystems mit der Rückwandplatine 100 verbunden
sind. Wie oben angemerkt, sieht die Rückwandplatine 100 mehrere
potentielle Konfigurationen von Rechnersystemen vor. Je nach der
ausgewählten
Konfiguration der Rückwandplatine 100,
wird irgendeine Kombination der in 1 gezeigten
Systemprozessorplatinen und Brückenplatinen
vorliegen und/oder aktiv sein. Eine Systemprozessorplatine [1] 150 mit
einem Systemprozessor [1] 152 und einem Systemhost [1S] 154 wird in
den Systemprozessorslot [1] 112 eingefügt. Eine Brückenplatine [1] 160 mit
einem Systemhost [1B] 164 und einem Hot-Swap-Controller
[1] 166 ist optional in den Brückenslot [1] 114 eingefügt. Eine
Systemprozessorplatine [2] 170 mit einem Systemprozessor
[2] 172 und einem Systemhost [2S] 174 wird in
den Systemprozessorslot [2] 122 eingefügt. Eine Brückenplatine [2] 180 mit
einem Systemhost [2B] 184 und einem Hot-Swap-Controller
[2] 186 ist optional in den Brückenslot [2] 124 eingefügt. Der
Systemprozessor ist zum Beispiel das Motorola-MPC750-Prozessorsystem.
-
2 ist
ein Schaltdiagramm einer Dualkonfiguration der Multikonfigurations-Rückwandplatine. In
der Dualkonfiguration funktionieren ein erstes und ein zweites Teilsystem
unabhängig
voneinander. In 2 wird
die Systemprozessorplatine [1] 150 in den Systemprozessorslot
[1] 112 eingefügt
und die Systemprozessorplatine [2] 170 wird in den Systemprozessorslot
[2] 122 eingefügt.
Der Systemprozessor [1] 152 steuert die Ein-/Ausgabe-Platinen
[1] 118 auf dem CompactPCI-Bus [1] 110, um die
damit implementierten Geräte
in einem ersten Teilsystem zu steuern. Der Systemhost [1S] 154 steuert
die Busfunktionen des CompactPCI-Busses [1] 110. Der Systemprozessor
[2] 172 steuert die Ein-/Ausgabe-Platinen [2] 128 auf
dem CompactPCI-Bus [2] 120, um die damit implementierten
Geräte
in einem zweiten Teilsystem zu steuern. Der Systemhost [2S] 174 steuert
die Busfunktionen des CompactPCI-Busses [2] 120. Weder
die Querverbindung [1] 130 noch die Querverbindung [2] 140 werden
verwendet.
-
3 ist
ein Schaltdiagramm einer erweiterten Konfiguration der Multikonfigurations-Rückwandplatine.
In der erweiterten Konfiguration steuert ein einzelner Systemprozessor
die auf beiden Bussen implementierten Geräte. In 3 wird die Systemprozessorplatine [1] 150 in
den Systemprozessorslot [1] 112 eingefügt, und die Brückenplatine
[2] 180 wird in den Brückenslot
[2] 124 eingefügt.
Der Sys temprozessor [1] 152 steuert die Ein-/Ausgabe-Platinen
[1] 118 auf dem CompactPCI-Bus [1] 110, um die
damit implementierten Geräte
zu steuern. Der Systemhost [1S] 154 steuert die Busfunktionen
des CompactPCI-Busses [1] 110. Der Systemprozessor [1] 152 steuert über die
Querverbindung [1] 130 ebenfalls die Ein-/Ausgabe-Platinen
[2] 128 auf dem CompactPCI-Bus [2] 120, um die
damit implementierten Geräte zu
steuern. Der Systemhost [2B] 184 steuert die Busfunktionen
des CompactPCI-Busses [2] 120. Die Querverbindung [2] 140 wird
nicht verwendet.
-
4 ist
ein Schaltdiagramm einer Aktiv/Standby-Konfiguration der Multikonfigurations-Rückwandplatine
in einem Aktiv-Modus. In dem Aktiv/Standby-System steuert ein einzelner
Aktiv-Systemprozessor die auf beiden Bussen implementierten Geräte in einem
Aktiv-Modus. Im Fall eines Ausfalls in dem Aktiv-Systemprozessor übernimmt
ein Standby-Prozessor die Steuerung der Geräte in einem Standby-Modus. In 4 wird die Systemprozessorplatine
[1] 150 in den Systemprozessorslot [1] 112 eingefügt, und
die Systemprozessorplatine [2] 170 wird in den Systemprozessorslot
[2] 122 eingefügt.
Die Brückenplatine
[1] 160 wird in den Brückenslot
[1] 114 eingefügt,
und die Brückenplatine [2] 180 wird
in den Brückenslot
[2] 124 eingefügt.
In einem Aktiv-Modus werden die Systemprozessorplatine [1] 150 und
die. Brückenplatine
[2] 180 als Anschlussplatinen verwendet. Der Systemprozessor
[1] 152 steuert die Ein-/Ausgabe-Platinen [1] 118 auf dem
CompactPCI-Bus [1] 110 und steuert über die Querverbindung [1] 130 ebenfalls
die Ein-/Ausgabe-Platinen [2] 128 auf dem CompactPCI-Bus
[2] 120. Der Systemhost [1S] 154 steuert die Busfunktionen
des CompactPCI-Busses [1] 110, und der Systemhost [2B] 184 steuert
die Busfunktionen des CompactPCI-Busses [2] 120. Die Querverbindung
[2] 140 wird nicht verwendet.
-
5 ist
ein Schaltdiagramm der Aktiv/Standby-Konfiguration der Multikonfigurations-Rückwandplatine
in einem Standby-Modus. In dem Standby-Modus werden die Systemprozessorplatine
[2] 170 und die Brückenplatine
[1] 160 als Anschlussplatinen verwendet. Der Systemprozessor
[2] 172 steuert die Ein-/Ausgabe-Platinen [2] 128 auf dem
CompactPCI-Bus [1] 110 und steuert über die Querverbindung [2] 140 ebenfalls
die Ein-/Ausgabe-Platinen [1] 118 auf dem CompactPCI-Bus
[2] 120. Der Systemhost [1B] 164 steuert die Busfunktionen
des CompactPCI-Busses [1] 110, und der Systemhost [2S] 174 steuert
die Busfunktionen des CompactPCI-Busses
[2] 120. Die Querverbindung [1] 130 wird nicht
verwendet.
-
In einer Aktiv/Aktiv-Konfiguration
werden beide Systemprozessorplatinen und beide Brückenplatinen
eingefügt,
wie in 1 gezeigt. Die
Systemprozessorplatine [1] 150 wird in den Systemprozessorslot
[1] 112 eingefügt,
und die Systemprozessorplatine [2] 170 wird in den Systemprozessorslot
[2] 122 eingefügt.
Die Brückenplatine
[1] 160 wird in den Brückenslot
[1] 114 eingefügt,
und die Brückenplatine [2] 180 wird
in den Brückenslot
[2] 124 eingefügt.
In einem Dualmodus funktionieren ein erstes und ein zweites System,
wie in der oben beschriebenen Dualkonfiguration, unabhängig voneinander.
Der Systemprozessor [1] 152 steuert die Ein-/Ausgabe-Platinen
[1] 118 auf dem CompactPCI-Bus [1] 110, um die damit
implementierten Geräte
in einem ersten System zu steuern. Der Systemprozessor [2] 172 steuert die
Ein-/Ausgabe-Platinen [2] 128 auf dem CompactPCI-Bus [2] 120,
um die damit implementierten Geräte
in einem zwei ten System zu steuern. Der Systemhost [1S] 154 steuert
die Busfunktionen des CompactPCI-Busses [1] 110, und der
Systemhost [2S] 174 steuert die Busfunktionen des CompactPCI-Busses [2] 120.
Weder die Querverbindung [1] 130 noch die Querverbindung
[2] 140 werden verwendet.
-
Falls in der Aktiv/Aktiv-Konfiguration
in dem Systemprozessor auf dem CompactPCI-Bus [2] 120 ein
Ausfall vorliegt, wird die Verarbeitungsbelastung in einem ersten
gemeinsamen ("shared") Modus zu dem Systemprozessor [1] 152 verschoben.
Der erste gemeinsame Modus arbeitet auf eine mit dem oben besprochenen
und in 4 gezeigten Aktiv-Modus der Aktiv/Standby-Konfiguration
identische Weise. Falls in dem Systemprozessor auf dem CompactPCI-Bus
[1] 110 ein Ausfall vorliegt, wird die Verarbeitungsbelastung
in einem zweiten gemeinsamen Modus zu dem Systemprozessor [2] 172 verschoben. Der
zweite gemeinsame Modus arbeitet auf eine mit dem oben besprochenen
und in 5 gezeigten Standby-Modus
der Aktiv/Standby-Konfiguration identische Weise.
-
Hostplatinen-Swap
-
Wie oben gezeigt, werden auf jedem
Bus mehrere Systemhosts bereitgestellt. Die Systemprozessorplatine
[1] 150, die Brückenplatine
[1] 160, die Systemprozessorplatine [2] 170 und
die Brückenplatine
[2] 180 sind jede eine Hostplatine ("host board"), auf
der ein Systemhost residiert. Als Folge kann im Falle eines Ausfalls
auf der Aktiv-Systemhostplatine die
Steuerung der Busfunktionen auf jedem Bus von einem Aktiv-Systemhost
zu einem Standby-Systemhost umgeschaltet werden. Herkömmliche
CompactPCI-Busarchitektur berücksichtigt
den "Hot-Swap" einer Nichthostplatine auf einem CompactPCI-Bus,
wie etwa einer der Ein-/Ausgabe-Platinen 118 oder
einer der Ein-/Ausgabe-Platinen 128. Das heisst, dass die Platine
entfernt und ausgewechselt werden kann, ohne den Betrieb des Rechners
durch ein Zurücksetzen
("resetting") der Geräte
zu unterbrechen. Dies wird zum Beispiel in CompactPCI Hot Swap Specification
von PCI Industrial Computer Manufacturers Group, 301 Edgewater
Place Suite 220, Wakefield, Massachusetts, beschrieben.
Dementsprechend schafft die bevorzugte Ausführungsform der Erfindung durch
das Bereitstellen mehrerer Systemhosts auf jedem CompactPCI-Bus
die Fähigkeit
für das Hot-Swapping
der Hostplatine, was während
der Fortführung
von Operationen den Austausch einer ausgefallenen Hostplatine zulässt. Als
Folge können die
Vorteile der CompactPCI-Busarchitektur einer hochverfügbaren oder
fehlertoleranten Anwendung zur Verfügung gestellt werden.
-
6 ist
ein Flussdiagramm des durch das Rechnersystem der bevorzugten Ausführungsform für das Swapping
in einer Aktiv/Standby-Konfiguration durchgeführten Prozesses. Die in 6 beschriebenen Grundfunktionen
werden durch eine Kombination des Systemprozessors 152 oder 172,
des Systemhosts 154, 164, 174 oder 184 und
des Hot-Swap-Controllers 166 oder 186 durchgeführt, und
diese werden später
in der Beschreibung näher erläutert. Dem
Fachmann ist klar, wie diese Funktionen in einer für die vorliegende
Anwendung am Besten geeigneten Weise, jedoch auf der Grundlage der vorliegenden
Beschreibung zu implementieren sind. Wenn bei Schritt 605 in
der Hostplatine ein Ausfall ermittelt wird, schreitet die Steuerung
zu Schritt 610. Bei Schritt 610 wird die Querverbindung
[2] 140 anstelle der Querverbindung [1] 130 verwendet.
Bei Schritt 615 wird die Systemverarbeitung von dem Systemprozessor
[1] 152 an den Systemprozessor [2] 172 übertragen.
Der Schritt 615 wird später
ausführlicher
erläutert.
Bei Schritt 620 wird die Steuerung der Busfunktionen des
CompactPCI-Busses [1] 110 von dem Systemhost [1S] 154 an
den Systemhost [1B] 164 übertragen. Bei Schritt 625 wird
die Steuerung der Busfunktionen des CompactPCI-Busses [2] 120 von
dem Systemhost [2B] 184 an den Systemhost [2S] 174 übertragen.
Die Systemhostübertragung
wird später
mit Bezug auf 8 und 9 ausführlicher erläutert. Bei
Schritt 630 wird die ausgefallene Hostplatine Hot-Swap-ausgewechselt
und der Hostplatinenausfall wird ohne Unterbrechung des Betriebs
des Systems behoben.
-
7 ist
ein Flussdiagramm des Prozesses des Swappings der Hostplatine in
einer Aktiv/Aktiv-Konfiguration. Wie in 6 werden die in 7 beschriebenen Grundfunktionen durch
eine Kombination des Systemprozessors 152 oder 172,
des Systemhosts 154, 164, 174 oder 184 und
des Hot-Swap-Controllers 166 oder 186 durchgeführt, und
dies wird später
in der Beschreibung näher
erläutert.
Dem Fachmann ist klar, wie diese Funktionen in einer für die vorliegende
Anwendung am Besten geeignete Weise, jedoch auf der Grundlage der
vorliegenden Beschreibung zu implementieren sind. Wenn bei Schritt 705 in
der Hostplatine ein Ausfall ermittelt wird, schreitet die Steuerung
zu Schritt 710. Bei Schritt 710 wird die Querverbindung
[2] 140 verwendet. Wie bei Schritt 715 angegeben,
fährt der
Systemprozessor [2] 172 mit der Steuerung der Verarbeitung
auf dem CompactPCI-Bus
[2] 120 fort. Bei Schritt 720 wird die Verarbeitungssteuerung
der Geräte
auf dem CompactPCI-Bus [1] 110 an den Systemprozessor [2] 172 übertragen.
Die Systemprozessorübertragung
wird später
mit Bezug auf 10 ausführlicher
erläutert.
Wie bei Schritt 725 angegeben, fährt
der Systemhost [2S] 174 mit der Steuerung der Busfunktionen
des CompactPCI-Busses [2] 120 fort. Bei Schritt 730 wird
die Steuerung der Busfunktionen des CompactPCI-Busses [1] 110 von
dem Systemhost [1S] 154 an den Systemhost [1B] 164 übertragen.
Bei Schritt 735 wird die ausgefallene Hostplatine Hot-Swap-ausgewechselt
und der Hostplatinenausfall wird ohne Unterbrechung des Systembetriebs
behoben.
-
Wie oben erwähnt, stellt der herkömmliche CompactPCI-Standard eine Hot-Swap-Fähigkeit
zur Verfügung.
Somit basieren der Hot-Swap-Controller [1] 166 auf der
Brückenplatine
[1] 160 und der Hot-Swap-Controller [2] 186 auf
der Brückenplatine [2] 180 auf
einem herkömmlichen
CompactPCI Hot Swap, wie in der oben zitierten CompactPCI Hot Swap
Specification definiert. Dem Fachmann wird es leichtfallen, auf
der Grundlage der vorliegenden Beschreibung, auf der Grundlage der
CompactPCI Hot Swap Specification und auf der Grundlage von Konstruktionspräferenz und
Eignung für
die vorliegende Anwendung, den Hot-Swap-Controller zu implementieren.
Das Hot-Swapping der Hostplatine erfordert jedoch einige Modifikationen
an dem herkömmlichen CompactPCI-Systemhost, um sicherzustellen,
dass die Busfunktionen durch die Existenz von zwei Systemhosts auf
einem Bus nicht gestört
werden.
-
8 ist
ein Schaltdiagramm eines derartige Modifikationen aufweisenden Systemhosts.
Der Systemhost 800 in 8 entspricht
dem Systemhost [1S] 154, dem Systemhost [1B] 164,
dem Systemhost [2S] 174 oder dem Systemhost [2B] 184.
Der Systemhost 800 enthält
eine herkömmliche PCI-PCI- Brücke 810,
welche den CompactPCI-Bus mit einem örtlichen PCI-Bus auf der Hostplatine
verbindet. Die Brücke 810 ist
zum Beispiel ein DEC-21154-PCI-Brückenarbiter. Weiterhin enthält der Systemhost 800 einen
speziellen Arbiter 820. Der spezielle Arbiter 820 ersetzt
die Funktion des in der Brücke 810 enthaltenen
herkömmlichen
Busarbiters, der gesperrt wird. Der spezielle Arbiter 820 gleicht dem
herkömmlichen
PCI-Busarbiter, mit der Ausnahme, dass verschiedene zusätzliche
Eigenschaften bereitgestellt werden, die ein Systemhostumschalten berücksichtigen.
Diese Eigenschaften werden nachstehend mit Bezug auf 9 erläutert.
-
9 ist
ein Flussdiagramm des Prozesses des Umschaltens des Systemhosts.
wie in den verschiedenen oben beschriebenen Szenarien, wird der Prozess
zum Umschalten zwischen dem Systemhost [1S] 154 und dem
Systemhost [1B] 164 auf dem CompactPCI-Bus [1] 110 durch
den Hot-Swap-Controller 166 und
den speziellen Arbiter 820 in dem Systemhost [1S] 154 oder
in dem Systemhost [1B] 164 durchgeführt, oder er wird zum Umschalten
zwischen dem Systemhost [2S] 174 und dem Systemhost [2B] 184 auf
dem CompactPCI-Bus [2] 120 durch den Hot-Swap-Controller 186 und
den speziellen Arbiter 820 in dem Systemhost [2S] 174 oder
in dem Systemhost [2B] 184 durchgeführt. Bei Schritt 905 unterdrückt der
Hot-Swap-Controller den Bus. Genauer gesagt, übermittelt der Hot-Swap-Controller
dem speziellen Arbiter 820 ein Anforderungssignal von hoher
Dringlichkeit-, dem der spezielle Arbiter 820 nur stattgibt,
wenn sich der Bus im Ruhezustand befindet. Ein spezielles Paar von
Anforderungs/Bewilligungsleitungen werden in dem speziellen Arbiter 820 für den Hot-Swap-Controller
zur Verwendung für
diesen Zweck bereitgestellt.
-
Bei Schritt 910 sperrt das
Rechnersystem die durch den Aktiv-Systemhost übermittelten Systemhostsignale.
Im Besonderen übermittelt
der Hot-Swap-Controller dem speziellen Arbiter 820 ein Schwebe
("float")-Signal, das den speziellen Arbiter 820 veranlasst,
das Systemhostsignal zu sperren, das er in seinem Aktiv-Zustand übermittelt.
Eine spezielle Floatleitung wird dem speziellen Arbiter 820 für den Hot-Swap-Controller
zur Verwendung für
diesen Zweck hinzugefügt.
Die Systemhostsignale, die durch das Floatsignal gesperrt werden,
enthalten Bewilligungssignale zum Bewilligen eines Buszugriffs auf
Geräte
auf dem Bus, Reset-Signale zum Zurücksetzen von Geräten auf
dem Bus und Taktsignale und Interrupts, die an die Geräte auf dem
Bus übermittelt werden.
Der spezielle Arbiter 820 definiert seine Bewilligungssignale,
Reset-Signale und Taktsignale als Dreiphasensignale, wobei eine
hochohmige Phase als dritte Phase hinzugefügt wird. Das Floatsignal veranlasst
den speziellen Arbiter 820, die Bewilligungssignale, die
Reset-Signale und die Taktsignale in der dritten Phase zu setzen
und die Unterbrechungen zu sperren. Bei Schritt 915 überträgt der Hot-Swap-Controller
die Steuerung von dem ausgefallenen Aktiv-Systemhost auf den Standby-Systemhost.
Obwohl zur Vereinfachung der Beschreibung in der gezeigten Reihenfolge
beschrieben, überträgt die bevorzugte
Ausführungsform
der Erfindung die Reset-Signale und Taktsignale an den Standby-Systemhost bevor
sie durch den Aktiv-Systemhost gesperrt werden, so dass nicht zugelassen
wird, dass die Reset- und Taktsignale eine Zwischenphase erreichen, in
der ein unerwünschtes
Signal zu irgendeinem der Geräte
gesendet werden könnte.
Weiterhin werden die Taktsignale zur Verhinderung von kurzen Zyklen in
der dritten Phase vorzugsweise auf die Abschlusskante gesetzt.
-
Systemprozessorplatinen-Swap
-
Das Swapping der Systemprozessorplatine macht
das Umschalten der Steuerung des Systemprozessors erforderlich.
Zum Beispiel wird, im Falle eines die Systemprozessorplatine [1] 150 beeinträchtigenden
Ausfalls, die Steuerung von dem Systemprozessor [1] 152 an
den Systemprozessor [2] 172 oder, im Falle eines die Systemprozessorplatine
[2] 170 beeinträchtigenden
Ausfalls, von dem Systemprozessor [2] 172 an den Systemprozessor
[1] 152 übertragen.
Hochverfügbare
oder fehlertolerante Anwendungen erfordern, dass die Systemprozessorumschaltung
ohne Zurücksetzen
der Geräte
auf dem System oder anderweitig den Betrieb des Systems unterbrechend
bewerkstelligt wird. Da jedoch der Systemprozessor [1] 152 und
der Systemprozessor [2] 172 unabhängig operieren, gefährdet eine
solche Umschaltung das System. Zum Beispiel kann ein Gerät auf dem
CompactPCI-Bus während
der Umschaltung einen direkten Speicherzugriff auf den Speicher des
Systemprozessors durchführen.
Der Standby-Systemprozessor
könnte
jedoch. nicht das gleiche Adressierschema verwenden, so dass kritische Daten
beschädigt
werden würden,
wenn das Gerät an
die ursprünglich
vorgesehene Adresse schreibt. Zur Verhinderung einer derartigen
Beschädigung, stellt
die bevorzugte Ausführungsform
der Erfindung durch den Standby-Systemprozessor eine nahtlose Umschaltung
der Systemprozessorsteuerung bereit.
-
10 ist
ein Flussdiagramm einer nahtlosen Umschaltung des Systemprozessors.
Die Funktionen von 10 wer den
zum Umschalten von dem Aktiv-Systemprozessor zu dem Standby-Systemprozessor
durch den Standby-Systemprozessor durchgeführt. Bei Schritt 1005 stellt
der Standby-Systemprozessor
fest, ob ein den Aktiv-Systemprozessor beeinträchtigender Ausfall besteht,
wie etwa ein Ausfall auf der Aktiv-Systemprozessorplatine oder auf
einer Anschlussbrückenplatine,
der, wie oben beschrieben wurde, das Umschalten von dem Aktiv-Systemprozessor
zu dem Standby-Systemprozessor
erforderlich macht. Bei Schritt 1010 stellt der Standby-Systemprozessor
den speziellen Arbiter 800 so in einen Ein-Mastermodus,
dass er mit Ausnahme des Standby-Systemprozessors
keinem Gerät
eine Busbewilligung erteilen wird. Bei Schritt 1015 überprüft der Standby-Systemprozessor ein
Gerät auf
dem Bus und stellt bei Schritt 1020 fest, ob das Gerät Gefahr
läuft,
eine destruktive Aktion durchzuführen.
Zum Beispiel greift der Standby-Systemprozessor
auf Informationen auf dem Gerät
zu und stellt fest, ob Interrupts an das Gerät freigegeben sind, stellt
fest, ob das Gerät über die
Fähigkeit
des Durchführens
eines direkten Speicherzugriffs auf den Aktiv-Systemprozessor verfügt und/oder stellt fest, ob sich
das Gerät
auf einer ausgefallenen Platine befindet, wie etwa bei einem Ausfall
auf der Aktiv-Systemprozessorplatine oder einer Begleitplatine.
-
Wenn der Standby-Systemprozessor
bei Schritt 1025 feststellt, dass das Gerät Gefahr läuft, eine destruktive Aktion
durchzuführen,
dann unterdrückt
der Standby-Systemprozessor
das Gerät. Zum
Beispiel programmiert der Standby-Systemprozessor das Gerät zum Einstellen
des Betriebs oder er verändert
eine Adresse, an die das Gerät
schreibt. So lange es mehrere bei Schritt 1030 zu überprü fende Geräte gibt,
wiederholt der Standby-Systemprozessor die Schritte 1015 bis 1030.
Letztendlich sind bei Schritt 1035 alle Geräte unterdrückt worden,
die Gefahr laufen, eine destruktive Aktion durchzuführen, und
der Standby-Systemprozessor
stellt den speziellen Arbiter 800 in einen Mehrfach-Mastermodus,
der es ihm gestattet, anderen Geräten als dem Standby-Systemprozessor
eine Busbewilligungen zu erteilen.
-
Es sollte klar sein, dass die hierin
beschriebene Erfindung den Vorteil eines nahtlosen Umschaltens zwischen
mehreren Prozessoren auf einem Bus zur Verfügung stellt. Die vorliegende
Erfindung ist oben mit Bezug auf die bevorzugten Ausführungsformen
beschrieben worden. Jedoch ist Fachleuten klar, dass Veränderungen
und Modifikationen dieser bevorzugten Ausführungsformen durchgeführt werden können, ohne
von dem Rahmen der vorliegenden Erfindung abzuweichen.