-
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft eine elektronische Vorrichtung, die einen Master-Slave-Bus
aufweist, der eine oder mehrere Busmastereinheiten mit einer oder
mehreren Busslaveeinheiten verbindet. Die Erfindung betrifft insbesondere
einen Switch, der einen Master-Slave-Bus
aufweist, der durch die Arbeit eines Softwareprogramms automatisch
das Versagen einer oder mehrerer Busslaveeinheiten bewältigt.
-
HINTERGRUND DER ERFINDUNG
-
Systeme,
die zumindest teilweise auf gemeinsamen Master-Slave-Bussystemen
beruhen, sind anfällig
für ein
Systemversagen, falls Slaveeinheiten auf gewisse Arten ausfallen.
Microsoft Windows implementiert eine Erkennung dieser Ausfälle, besitzt
jedoch nicht die Fähigkeit,
das System wieder arbeitsfähig
zu machen. Die Erfindung erlaubt es, dass Systeme diese Versagensfälle bewältigen, ohne
dass besondere Redunzanzen und eine überbrückende Hardwareunterstützung vorhanden
sind. Die Erfindung verwendet Softwaremodifikationen und liefert
Switchingsysteme, die für
ein Systemversagen beim Auftreten von Hardwarefehlern in Slaveeinheiten
unempfindlich sind. Dieses Verfahren erfordert keine besondere Hardwareunterstützung.
-
US-5,453,737 offenbart ein
Master-Slave-Kommunikations- und Steuersystem. In diesem System
gibt es jedoch keine Möglichkeit,
festzustellen, ob eine Slaveeinheit versagt hat, während sie eine
Anforderung von der Mastereinheit verarbeitet, nachdem die Slaveeinheit
die Anforderung einmal angenommen hat.
-
EP1357479 offenbart ein
Datenübertragungssystem,
das verhindert, dass eine Slaveeinheit fehlerhaft arbeitet, wenn
die Kommunikation wieder aufgenommen wird, nachdem sie durch einen Stromausfall
oder ein ähnliches
Ereignis unterbrochen wurde. Dieses Dokument offenbart gleichfalls kein
Verfahren, mit dem festgestellt wird, ob eine Slaveeinheit versagt
hat, während
sie eine Anforderung von der Mastereinheit verarbeitet, nachdem
die Slaveeinheit die Anforderung einmal angenommen hat.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Erfindung, die ausführlich
im beigefügten unabhängigen Anspruch
1 bestimmt ist, betrifft einen Switch (Weiche) für die Datenübertragung. Der Switch umfasst
mindestens eine Mastereinheit. Der Switch umfasst eine Anzahl Slaveeinheiten.
Der Switch besitzt einen Bus, über
den die Mastereinheit mit den Slaveeinheiten kommuniziert. Der Switch enthält einen
nicht flüchtigen
Speicher, der irreguläre Betriebstillstände des
Switchs übersteht.
Der Switch enthält
einen Mechanismus zum Erfassen eines Versagens von Slaveeinheiten,
der daraufhin bewirkt, dass der Switch irregulär angehalten wird. Der Switch umfasst
einen Speicher in Verbindung mit der Mastereinheit, der ein Softwareprogramm
enthält,
das bewirkt, dass der Switch automatisch wieder mit dem Betrieb
beginnt, falls der Erkennungsmechanismus den Switch irregulär stilllegt,
wobei Statusinformation bezüglich
der ausgefallenen Slaveeinheit im nicht flüchtigen Speicher abgelegt wird,
und anschließend verhindert
wird, dass die Mastereinheit versucht, auf die ausgefallene Slaveeinheit
zuzugreifen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
In
den beiliegenden Zeichnungen werden die bevorzugte Ausführungsform
der Erfindung und bevorzugte Verfahren zum Umsetzen der Erfindung
erläutert.
-
Es
zeigt:
-
1A und 1B Flussdiagramme
der Erfindung; und
-
2 ein
Blockdiagramm eines Switchs der Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
In
den Zeichnungen bezeichnen gleiche Bezugszeichen ähnliche
oder identische Teile innerhalb der Abbildungen. Es wird nun Bezug
auf die Zeichnungen genommen, und zwar insbesondere auf 1A, 1B und 2,
die einen Switch 10 für die
Datenübertragung
zeigen. Der Switch 10 umfasst mindestens eine Mastereinheit 12.
Der Switch 10 umfasst eine Anzahl Slaveeinheiten 14.
Der Switch 10 besitzt einen Bus 16, über den
die Mastereinheit 12 mit den Slaveeinheiten 14 kommuniziert.
Der Switch 10 umfasst einen Speicher 18 in Verbindung
mit der Mastereinheit 12, der ein Softwareprogramm 22 enthält, das
bewirkt, dass der Switch 10 automatisch wieder mit dem
Betrieb beginnt, falls eine Slaveeinheit 14 ausfällt.
-
Bevorzugt
enthält
der Switch 10 einen nicht flüchtigen Speicher 20,
der einen irregulären
Betriebsstillstand des Switchs 10 übersteht. Der Switch 10 enthält bevorzugt
einen Mechanismus zum Erfassen eines Versagens von Slaveeinheiten 14,
der daraufhin bewirkt, dass der Switch 10 irregulär angehalten
wird. Das Softwareprogramm 22 bewirkt bevorzugt, dass der
Switch 10 automatisch wieder mit dem Betrieb beginnt, falls
der Erkennungsmechanismus den Switch 10 irregulär stilllegt.
Der Erkennungsmechanismus enthält
bevorzugt eine Hardware-Überwachungsvorrichtung 27.
-
Die
Erfindung betrifft ein Verfahren zur Datenübertragung. Das Verfahren umfasst
Schritte, in denen versucht wird, auf eine ausgefallene Slaveeinheit 14 von
mehreren Slaveeinheiten 14 des Switchs 10 über eine
Mastereinheit 12 des Switchs 10 zuzugreifen, und
zwar mit einem Signal über
einen Bus 16, über
den die Mastereinheit 12 und die ausgefallene Slaveeinheit 14 kommunizieren.
Es gibt einen Schritt, in dem der Switch 10 automatisch
den Ausfall der Slaveeinheit 14 bewältigt, und zwar mit einem Softwareprogramm 22 im
Switch 10, das die Mastereinheit 12 anweist, weitere
Zugriffe auf die ausgefallene Slaveeinheit 14 der Anzahl
Slaveeinheiten zu vermeiden. Bevorzugt enthält der Bewältigungsschritt einen Schritt,
in dem Statusinformation über die
Slaveeinheiten 14 aus dem nicht flüchtigen Speicher 20 gewonnen
wird.
-
Die
Erfindung, siehe 1A und 1B, betrifft
ein Softwareprogramm 22. Das Softwareprogramm 22 umfasst
Schritte, in denen eine erste Slaveeinheit 14 von zahlreichen
Slaveeinheiten 14 eines Switchs 10 erkannt wird,
die ausgefallen ist, als die Mastereinheit 12 des Switchs 10 versucht
hat, auf die erste Slaveeinheit 14 zuzugreifen. Das Softwareprogramm 22 umfasst
einen Schritt, in dem verhindert wird, dass eine Mastereinheit 12 versucht,
auf die ausgefallene erste Slaveeinheit 14 zuzugreifen.
-
Bevorzugt
gibt es einen Schritt, in dem festgestellt wird, dass der Switch 10 den
Betrieb irregulär beendet
hat, als die Mastereinheit 12 versucht hat, auf die erste
Slaveeinheit 14 zuzugreifen. Es gibt bevorzugt einen Schritt,
in dem Information bezüglich der
ersten Slaveeinheit 14 im nicht flüchtigen Speicher von "als ausgefallen erkannt" in "als funktionierend
erkannt" geändert wird,
falls der Switch 10 den Betrieb nicht irregulär beendet,
nachdem die Mastereinheit 12 versucht, Kontakt zur Slaveeinheit 14 herzustellen.
Es gibt bevorzugt einen Schritt, in dem eine Variable "Steckplatz" 24, die
aus einer Anzahl von Steckplätzen 26 des
Switchs 10 ausgewählt
wird, nicht als potentiell fehlerhaft gesetzt wird. Es gibt bevorzugt
einen Schritt, in dem festgestellt wird, ob die erste Slaveeinheit 14 in
einem ersten Steckplatz 26 der Anzahl Steckplätze 26 körperlich
vorhanden ist.
-
Es
gibt bevorzugt einen Schritt, in dem festgestellt wird, ob der erste
Steckplatz 26 als zu überspringen
markiert ist. Es gibt bevorzugt einen Schritt, in dem die Variable
Steckplatz 24 als potentiell fehlerhaft markiert wird,
solange sie nicht als potentiell fehlerhaft markiert ist. Es gibt
bevorzugt einen Schritt, in dem gemeldet wird, dass die Variable
Steckplatz 24 ausgefallene Hardware bezeichnet, und in
dem verhindert wird, dass die Mastereinheit 12 versucht,
auf die Variable Steckplatz 24 zuzugreifen, falls die Variable
Steckplatz 24 als zu überspringen
markiert ist.
-
Es
gibt bevorzugt einen Schritt, in dem versucht wird, auf die in der
Variablen Steckplatz 24 vorhandene Hardware zuzugreifen,
falls die Variable Steckplatz 24 als möglicherweise fehlerhaft gekennzeichnet
ist. Es gibt bevorzugt einen Schritt, in dem die Variable Steckplatz 24 als
in Ordnung gekennzeichnet wird, falls der Switch 10 den
Betrieb nicht irregulär
beendet, wenn die Mastereinheit 12 auf die erste Slaveeinheit 14 zugreift.
Es gibt bevorzugt einen Schritt, in dem die in der Variablen Steckplatz 24 vorhandene
Hardware für
den Normalbetrieb freigegeben wird, falls die Variable Steckplatz 24 als
in Ordnung gekennzeichnet ist. Es gibt bevorzugt einen Schritt,
in dem die Variable Steckplatz 24 auf einen folgenden Steckplatz 26 der
Anzahl Steckplätze 26 gesetzt
wird.
-
In
der bevorzugten Ausführungsform
wird nicht flüchtige
Information in einer nicht flüchtigen Speichervorrichtung 20 abgelegt,
beispielsweise einem Dateisystem. Diese Information wird dazu verwendet,
den Status einer Slave-Hardwareeinheit zu verfolgen. Fällt diese
Slaveeinheit 14 aus und verursacht einen Systemabsturz,
so wird die gespeicherte Information danach dazu verwendet, die
Hardware als zweifelhaft zu markieren, damit zukünftige Hardwarezugriffe auf
die ausgefallenen Slaveeinheit 14 vermieden werden, die
einen Systemabsturz verursachen könnten. Das beigefügte Flussdiagramm
erläutert
die Einzelheiten dieser Prozedur.
-
Für den Betrieb
der Erfindung weist der Switch die folgende Architektur auf.
-
Switch
- a. Master-Slave-Bus
- b. Eine Anzahl Slaveeinheiten
- c. Steuerprozessor
i. Speicher
1. der ein Softwareprogramm
enthält
ii. Überwachungsschaltung
iii.
Nicht flüchtiger
Speicher
iv. Mastereinheit
-
Der
Switch 10 umfasst einen oder mehrere Steuerprozessoren.
Jedes Steuerprozessorelement enthält: einen Speicher 18,
in dem sich ein Softwareprogramm 22 befindet, das den Switch 10 steuert; eine Überwachungsvorrichtung,
die gewisse Arten von Fehlern erkennen kann, und die auch in der
Lage ist, den Switch 10 erneut zu starten, falls ein Fehler erkannt
wird; einen nicht flüchtigen
Speicher 20, der seine Information auch bei einem Neustart
des Systems und bei einem Stromausfall des Systems behält; und
eine Mastereinheit 12, die über einen Master-Slave-Bus 16 die
Kommunikation mit einer oder mehreren Slaveeinheiten 14 herstellen
kann. Jede dieser Komponenten wird in den folgenden Abschnitten
genauer erläutert.
-
Der
Master-Slave-Bus 16 dient zum Verbinden der Einheiten in
einem Hardwaresystem. Er besteht aus einer elektrischen Verbindung
zwischen den unterschiedlichen Einheiten, und Protokollen, die beschreiben,
wie die Signale, die über
die elektrische Verbindung transportiert werden, dazu zu verwenden sind,
die Kommunikation zwischen den Einheiten zu vereinfachen, die an
den Bus 16 angeschlossen sind.
-
Die
an den Bus 16 angeschlossenen Einheiten kann man in zwei
Kategorien einteilen, nämlich Mastereinheiten 12 und
Slaveeinheiten 14. Die Mastereinheiten 12 können eine
Kommunikation mit anderen Einheiten am Bus 16 anstoßen; dagegen
antworten Slaveeinheiten 14 einfach auf die Kommunikation,
die von den Mastereinheiten 12 ausgeht. Ein üblicher
Lesevorgang über
den Bus 16 beginnt damit, dass eine Mastereinheit 12 Information
von einer Slaveeinheit 14 anfordert. Die Slaveeinheit 14 akzeptiert die
Anforderungen, führt
jegliche Verarbeitungsvorgänge
aus, die sie lokal vornehmen muss, um die Information zu erzeugen,
und gibt daraufhin die angeforderte Information zurück. Anschließend meldet
die Slaveeinheit 14, dass sie den Vorgang abgeschlossen
hat. Ein üblicher
Schreibvorgang beginnt damit, dass die Mastereinheit 12 eine
Schreibanforderung zusammen mit den zu schreibenden Daten an eine Slaveeinheit 14 sendet.
Die Slaveeinheit 14 bestätigt den Vorgang, führt jegliche
Verarbeitungsvorgänge aus,
die sie lokal vornehmen muss, um die Schreibanforderung zu verarbeiten,
und zeigt daraufhin den Abschluss des Vorgangs an.
-
Das
Steuerprozessor-Untersystem verwaltet den Normalbetrieb des Systems
und enthält
auch einen Softwarealgorithmus, der das System automatisch wiederherstellt,
falls eine Slaveeinheit 14 ausfällt. Das Steuerprozessor-Untersystem
enthält
auch einen Speicher 18, der das Programm enthält und Variable,
die das Programm beim Verwalten und Wiederherstellen des Systems
unterstützen.
Es enthält auch
einen nicht flüchtigen
Speicher 20, so dass man Information auch über System-Neustartereignisse und
System-Stromausfälle hinweg
festhalten kann. Schließlich
weist das Steuerprozessorsystem einen Überwachungsmechanismus auf.
Der Zweck der Überwachung
besteht darin, gewisse Arten von Ausfällen im System zu erkennen
und zu bewältigen.
-
Allgemein
arbeitet eine Überwachungsvorrichtung
so, dass sie die Aktivität
einer anderen Vorrichtung beobachtet. Ist die beobachtete Vorrichtung in
einer übermäßig langen
Zeitspanne nicht aktiv, so führt
sie eine gewisse Handlung zum Wiederherstellen des Systems aus.
Im ASX-4000 beobachtet die Überwachung
den Befehlsholstatus des Steuerprozessors. Hört der Steuerprozessor während einer ausreichend
langen Zeitspanne damit auf, auf Befehle zuzugreifen, so setzt die
ASX-4000-Überwachung das
Steuerprozessor-Untersystem zurück.
Dies hat einen Neustart des Systems zur Folge.
-
Es
wird nun auf 1A und 1B Bezug genommen.
Die Bezugszeichen im Text beziehen sich auf bestimmte Kästchen in
den Flussdiagrammen in 1A und 1B, die
das Softwareprogramm beschreiben. Der Text ist als Bewegung durch die
Flussdiagramme organisiert.
-
In
der bevorzugten Ausführungsform
ist die Erfindung in dem Produkt ASX-4000 von Marconi als Switch 10 implementiert.
Der ASX-4000 ohne die Erfindung war bereits vor dem Einreichungsdatum
dieses Patents frei käuflich.
In diesem besonderen Switch 10 verbindet der Master-Slave-Bus 16 den Steuerprozessor
mit jedem der Steckplätze 26 im System.
Jeder Steckplatz 26 enthält, falls er belegt ist, eine
Slavevorrichtung, auf die der Steuerprozessor zugreift. Der Steuerprozessor
wirkt im System als Master. Die Schlüsselanforderung für den Steuerprozessor
besteht darin, dass er in der Lage ist, auf ein Dateisystem zuzugreifen,
und – ganz
besonders wichtig – dass
dieses in der Lage ist, Information synchron zu speichern, d. h.
ohne Pufferung. Dies wird im Weiteren ausführlicher erklärt.
-
Der
Betrieb der Erfindung beginnt in dem Kästchen, das mit "1" bezeichnet ist. Der Ablauf geht zum
Kästchen "2", in dem eine Variable mit dem Namen "STECKPLATZ" so initialisiert
wird, dass sie auf den ersten Steckplatz 26 zeigt. Normalerweise
arbeitet der Algorithmus so, dass er über alle Slavevorrichtungen
im System iteriert. Im Fall des ASX-4000 entsprechen die Slavevorrichtungen
den Systemsteckplätzen 26.
Daher bezieht sich das Flussdiagramm auf Steckplätze 26.
-
Die
erste Entscheidung erfolgt im Entscheidungskästchen, das im Flussdiagramm
mit "3" bezeichnet ist.
Der entscheidende Sachverhalt an dieser Stelle ist, dass nach dem
Entfernen von fehlerhaften Slavevorrichtungen aus dem System und
dem Ersetzen durch funktionierende Hardware der nicht flüchtige Status,
der den Betriebszustand der Hardware verfolgt, zurückgesetzt
werden muss. Erfolgt dies nicht, so würde die ersetzte Hardware von
der Erfindung weiterhin als nicht funktionsfähig behandelt. Ist der Steckplatz 26 leer,
beispielsweise weil die fehlerhafte Hardware entfernt wurde, so
geht der Ablauf zum mit "10" bezeichneten Kästchen.
Dabei wird der Steckplatz 26 oder generell die Slavevorrichtung als "nicht vorhanden" gekennzeichnet,
indem im Dateisystem, das dem Steuerprozessor zugeordnet ist, eine
Kennung abgelegt wird.
-
Wird
am Entscheidungspunkt "3" festgestellt, dass
der Steckplatz 26 belegt ist, so geht der Ablauf zum folgenden
Entscheidungspunkt im Flussdiagramm mit der Bezeichnung "4". Das Schwergewicht liegt hier darauf,
das Dateisystem zu prüfen
und festzustellen, ob der Steckplatz 26 bzw. die Slavevorrichtung
bereits vor dem Systemneustart als "nicht funktionsfähig" beurteilt worden ist. Trifft dies zu,
so geht der Ablauf zum Kästchen "11", und es werden keine weiteren
Versuche unternommen, auf die ausgefallene Slavevorrichtung zuzugreifen.
Ein geeigneter Vorgang wird eingeleitet, der der Bedienperson des
Systems meldet, dass eine Slavevorrichtung im System nicht mehr
bedient wird. Der Ablauf geht nun zum Kästchen "15" über, in
dem der Algorithmus auf irgendwelchen anderen nicht betrachteten
Slavevorrichtungen im System läuft.
Sind alle Slavevorrichtungen im System überprüft, so endet der Algorithmus
normal. Dies ist durch den Übergang
des Ablaufs auf das Kästchen "16" dargestellt.
-
Nun
zurück
zum Entscheidungskästchen "4". Ist die betrachtete Slavevorrichtung
während
eines vorhergehenden Aufrufs des Algorithmus nicht als "zu überspringen" markiert worden,
weil die Slavehardware nicht funktionstüchtig ist, so fährt der
Algorithmus mit dem Prüfen
der Hardware fort. Der Algorithmus prüft im Entscheidungspunkt 7 des
Flussdiagramms, ob die Hardware als "möglicherweise
fehlerhaft" gekennzeichnet
ist. Ist während
eines vorhergehenden Aufrufs des Algorithmus die Slavevorrichtung
ausgefallen, und hat der Ausfall der Slavevorrichtung den Steuerprozessor
zum Absturz gebracht, so ist die Slavevorrichtung im Dateisystem
als "möglicherweise
fehlerhaft" gekennzeichnet.
Jegliche Slavevorrichtungen, die im Dateisystem als "möglicherweise fehlerhaft" gekennzeichnet sind,
müssen
das System zum Absturz gebracht haben. Damit werden diese Vorrichtungen
im Kästchen "6" des Flussdiagramms als "zu überspringen" markiert.
-
Ist
im Entscheidungspunkt "4" die Hardware nicht
als "möglicherweise
fehlerhaft" gekennzeichnet,
so versucht der Algorithmus, die Hardware durch den Zugriff auf
die Slavevorrichtung zu prüfen.
Zuerst kennzeichnet er die Vorrichtung im Dateisystem als "möglicherweise fehlerhaft". Diese Vorgehensweise des
Kennzeichnens ist kritisch für
das Funktionieren des Algorithmus. Das Dateisystem muss den Schreibvorgang
abschließen
und die Information dauerhaft gespeichert haben, BEVOR im Kästchen "9" auf die Vorrichtung zugegriffen wird.
Der Weg zum Erreichen dieses Ziels besteht darin, dass eine gewisse
Art von Synchronisiervorgang im Dateisystem aufgerufen wird. Bei
Systemen, die auf Linux oder anderen zu POSIX kompatiblen Betriebssystemen
beruhen, erreicht dies der Systemaufruf fsync(). In der Marconi-Implementierung
dieses Algorithmus in der Marconi-Software Fore Though wird die
Operation VxWorks ioctl dazu verwendet, das Synchronisieren des
gesamten Dateisystems zu erzwingen. Ist der Schreibvorgang vor dem
Zugriff auf die Slavevorrichtung nicht abgeschlossen, so kann der
Algorithmus nicht funktionierende Slavevorrichtungen nicht bewältigen,
da der Algorithmus ausfallende Slavevorrichtungen nicht über Aufrufe
hinweg verfolgen kann, wenn der Schreibvorgang nicht abgeschlossen ist.
-
Nach
dem Kennzeichnen des Systems, siehe Kästchen "8",
versucht das System auf die Slavevorrichtung zuzugreifen, siehe
Kästchen "9". Ist die Vorrichtung funktionsfähig, so
wird der Steckplatz 26 als funktionierend gekennzeichnet,
siehe Kästchen "9", und der Ablauf geht zum Kästchen "14" über, damit die Vorrichtung
normal arbeiten kann, und anschließend zum Kästchen "15",
um festzustellen, ob weitere Vorrichtungen überprüft werden müssen.
-
Ist
dagegen die Slavevorrichtung nicht funktionsfähig, so hängt sich das System auf, falls
der Steuerprozessor versucht, die Slavevorrichtung zu manipulieren.
Schließlich
stellen die Überwachungs-Zeitgeber
fest, dass das System ausgefallen ist, und starten das System neu.
In diesem Fall läuft der
Algorithmus neu an. Beim Übergang
des Ablaufs zum Entscheidungspunkt "7" die
ausgefallene Hardware erkannt, da im Dateisystem die Information
aus dem vorhergehenden Aufruf des Algorithmus hinterlassen worden
ist. Auf diese Weise wird versagende Hardware erkannt und als nicht
funktionstüchtig
gekennzeichnet.
-
Schließlich sind
alle Slavevorrichtungen geprüft
und entweder als funktionstüchtig
oder nicht funktionstüchtig
gekennzeichnet. Ist dies geschehen, so endet der Algorithmus im
Kästchen "16".
-
In
jedem Master-Slave-Bus 16 können mit dem Bus 16 verbundene
Vorrichtungen entweder als Master des Busses 16 oder Slaves
des Busses 16 betrachtet werden. Mastervorrichtungen besitzen
die Fähigkeit,
Transaktionen über
den Bus 16 anzustoßen.
Dagegen beginnen Slaveeinheiten 14 keinerlei Aktivitäten, es
sei denn, sie werden dazu von einem Master aufgefordert. In der
bevorzugten Ausführungsform
ist der Systemsteuerprozessor der Master des Busses 16,
und alle Portkarten arbeiten als Slavevorrichtungen.
-
Eine
Transaktion auf einem Master-Slave-Bus 16 beginnt damit,
dass eine Mastereinheit 12 eine Anforderung an eine der
Slaveeinheiten 14 richtet. Die Slaveeinheit 14 nimmt
die Anforderung entweder an oder weist sie zurück, führt die benötigten Vorgänge zum Erfüllen der Anforderung aus, und
gibt daraufhin das Ergebnis der Anforderung an die Mastereinheit 12 zurück. In der
Zeitspanne, die die Slaveeinheit 14 zum Ausführen der
Anforderung benötigt,
warten die Mastereinheit 12, das Softwareprogramm 22 und
der Systemsteuerprozessor 29 nur. Während dieser Wartezeit sind
die Mastereinheit 12 und das gesamte System 10 im
Wesentlichen "stillgelegt". In der Regel ist
diese Periode sehr kurz; sie liegt im Bereich einer millionstel
Sekunde.
-
Ein
Problem tritt dadurch auf, dass gewisse Hardwarefehler bewirken
können,
dass die Slaveeinheit 14 die Anforderung annimmt und daraufhin
beim Verarbeiten der Anforderung versagt. Dadurch bleiben die Mastereinheit 12 und
das gesamte System 10 dauerhaft "stillgelegt". Daher ist im Switch 10 eine Hardware
vorhanden, die Überwachung
heißt
und feststellt, ob der Master für
eine zu lange Zeit stillgelegt ist. Sie führt dann einen Rücksetzvorgang
der Mastereinheit 12 durch. Der Begriff "irregulärer Stillstand" in der bevorzugten
Ausführungsform
bezieht sich auf eine Transaktion auf dem Bus 16, die dadurch
beendet wird, dass die Überwachungshardware
die Mastervorrichtung zurücksetzt
anstatt dass die Slavevorrichtung die Transaktion auf dem Bus 16 beendet
und das Transaktionsergebnis an den Master zurückgibt.
-
Der
nicht flüchtige
Speicher in den ATM-Switches von Marconi, etwa dem ASX-4000, ist mit Hilfe
eines Flash-Dateisystems implementiert. Dies ist eine Festkörpervorrichtung,
die auf der Prozessorkarte untergebracht ist und sich wie ein normal formatiertes
Dateisystem verhält. Ähnliche
Vorrichtungen werden in Digitalkameras verwendet. Dieser Speicher
wird von dem auf dem Prozessor laufenden Programm über die
Dateisystemroutinen des VxWorks-Betriebssystems verändert. Die
Schlüsselmöglichkeit
für das Überbrückungsmerkmal
besteht darin, dass VxWorks eine transaktionsartige Verarbeitung über einige
der VxWorks-Systemaufrufe unterstützt. Dies ist in der Beschreibung
des obigen Flussdiagramms ausführlich
erklärt.
-
Die
Erfindung ist anhand der obigen Ausführungsformen zum Zweck der
Erläuterung
ausführlich beschrieben.
Natürlich
dienen die Einzelheiten nur diesem Zweck, und Fachleute können Abwandlungen
vornehmen, ohne den Bereich der Erfindung zu verlassen, der in den
folgenden Ansprüchen
beschrieben ist.