DE602005002485T2 - Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern - Google Patents

Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern Download PDF

Info

Publication number
DE602005002485T2
DE602005002485T2 DE602005002485T DE602005002485T DE602005002485T2 DE 602005002485 T2 DE602005002485 T2 DE 602005002485T2 DE 602005002485 T DE602005002485 T DE 602005002485T DE 602005002485 T DE602005002485 T DE 602005002485T DE 602005002485 T2 DE602005002485 T2 DE 602005002485T2
Authority
DE
Germany
Prior art keywords
switch
slave
master unit
subunit
master
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.)
Active
Application number
DE602005002485T
Other languages
English (en)
Other versions
DE602005002485D1 (de
Inventor
Kevin Nolish
Drew Anderson
Keith Arner
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.)
Ericsson AB
Original Assignee
Ericsson AB
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 Ericsson AB filed Critical Ericsson AB
Publication of DE602005002485D1 publication Critical patent/DE602005002485D1/de
Application granted granted Critical
Publication of DE602005002485T2 publication Critical patent/DE602005002485T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0745Error 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 an input/output transactions management context
    • 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/0793Remedial or corrective actions

Description

  • 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.

Claims (3)

  1. Weiche (10) zum Übertragen von Daten, umfassend mindestens eine Mastereinheit (12); Untereinheiten (14); und einen Bus, über den die mindestens eine Mastereinheit (12) mit den Untereinheiten (14) kommuniziert; gekennzeichnet durch: einen Dauerspeicher (20), der eine abnormale Beendigung der Weiche (10) übersteht; einen Mechanismus zum Erfassen von Fehlern der Untereinheiten (14) und gegebenenfalls zum Veranlassen der Weiche (10) zu einer abnormalen Beendigung; einen Speicher (8) in Verbindung mit der mindestens einen Mastereinheit (12) mit einem Softwareprogramm (22) für ein automatisches Wiederherstellen der Weiche (10), veranlasst der Erfassungsmechanismus die Weiche (10) zu einer abnormalen Beendigung, indem es die Statusinformation zu der fehlerhaften Untereinheit (14) in dem Dauerspeicher (20) abgelegt wird und dann verhindert, dass die mindestens eine Mastereinheit (12) versucht, die fehlerhafte Untereinheit (14) zu nutzen.
  2. Weiche (10) nach Anspruch 1, wobei das Programm einen Hinweis abspeichert, dass eine Untereinheit (14) möglicherweise schlecht ist, bevor es die Untereinheit (14) testet, um zu sehen, ob sie noch funktioniert, und wonach es die Untereinheit (14) als gut markiert wird, wenn sie nicht durch den Test durchfällt.
  3. Weiche (10) nach Anspruch 2, wobei die mindestens eine Mastereinheit (12) Slots (26) aufweist, alle Untereinheiten einem Slot (26) zugeordnet sind, und wobei das Programm die Weiche (10) veranlasst, sich automatisch wieder herzustellen, ist eine Untereinheit (14) fehlerhaft, indem es die fehlerhafte Untereinheit (14) von seinem zugehörigen Slot (26) trennt und sie ersetzt durch eine funktionstüchtige Hardware.
DE602005002485T 2004-02-19 2005-02-17 Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern Active DE602005002485T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/782,217 US20050193246A1 (en) 2004-02-19 2004-02-19 Method, apparatus and software for preventing switch failures in the presence of faults
US782217 2004-02-19

Publications (2)

Publication Number Publication Date
DE602005002485D1 DE602005002485D1 (de) 2007-10-31
DE602005002485T2 true DE602005002485T2 (de) 2008-06-26

Family

ID=34711860

Family Applications (2)

Application Number Title Priority Date Filing Date
DE602005002485T Active DE602005002485T2 (de) 2004-02-19 2005-02-17 Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern
DE602005016462T Active DE602005016462D1 (de) 2004-02-19 2005-02-17 Verfahren, Vorrichtung und Software zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE602005016462T Active DE602005016462D1 (de) 2004-02-19 2005-02-17 Verfahren, Vorrichtung und Software zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern

Country Status (5)

Country Link
US (1) US20050193246A1 (de)
EP (2) EP1845447B1 (de)
JP (1) JP2005235214A (de)
AT (2) ATE441890T1 (de)
DE (2) DE602005002485T2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017046926A1 (ja) * 2015-09-17 2017-03-23 富士通フロンテック株式会社 紙葉類取扱装置及び紙葉類取扱装置の制御方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4597082A (en) * 1984-03-06 1986-06-24 Controlonics Corporation Transceiver for multi-drop local area networks
US4637022A (en) * 1984-12-21 1987-01-13 Motorola, Inc. Internally register-modelled, serially-bussed radio system
US4847837A (en) * 1986-11-07 1989-07-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Local area network with fault-checking, priorities and redundant backup
JPH02130658A (ja) * 1988-11-11 1990-05-18 Nec Corp 障害処理方式
JP2761924B2 (ja) * 1989-06-08 1998-06-04 キヤノン株式会社 ユニット間通信装置
US5333285A (en) * 1991-11-21 1994-07-26 International Business Machines Corporation System crash detect and automatic reset mechanism for processor cards
JPH0667909A (ja) * 1992-08-18 1994-03-11 Mitsubishi Electric Corp 障害回復方式
US5588112A (en) * 1992-12-30 1996-12-24 Digital Equipment Corporation DMA controller for memory scrubbing
US5453737A (en) * 1993-10-08 1995-09-26 Adc Telecommunications, Inc. Control and communications apparatus
US5574945A (en) * 1993-11-04 1996-11-12 International Business Machines Corporation Multi channel inter-processor coupling facility processing received commands stored in memory absent status error of channels
JP3447404B2 (ja) * 1994-12-08 2003-09-16 日本電気株式会社 マルチプロセッサシステム
US5828823A (en) * 1995-03-01 1998-10-27 Unisys Corporation Method and apparatus for storing computer data after a power failure
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
JPH09160840A (ja) * 1995-12-08 1997-06-20 Fuji Facom Corp バス通信装置
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US6000043A (en) * 1996-06-28 1999-12-07 Intel Corporation Method and apparatus for management of peripheral devices coupled to a bus
US5802269A (en) * 1996-06-28 1998-09-01 Intel Corporation Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6000040A (en) * 1996-10-29 1999-12-07 Compaq Computer Corporation Method and apparatus for diagnosing fault states in a computer system
US5864653A (en) * 1996-12-31 1999-01-26 Compaq Computer Corporation PCI hot spare capability for failed components
US6202067B1 (en) * 1998-04-07 2001-03-13 Lucent Technologies, Inc. Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
US6463550B1 (en) * 1998-06-04 2002-10-08 Compaq Information Technologies Group, L.P. Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller
US6587961B1 (en) * 1998-06-15 2003-07-01 Sun Microsystems, Inc. Multi-processor system bridge with controlled access
WO2000051000A1 (fr) * 1999-02-24 2000-08-31 Hitachi, Ltd. Systeme informatique et procede pour gerer les perturbations affectant un systeme informatique
US6718488B1 (en) * 1999-09-03 2004-04-06 Dell Usa, L.P. Method and system for responding to a failed bus operation in an information processing system
US6496890B1 (en) * 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
WO2001071501A1 (en) * 2000-03-22 2001-09-27 Interwoven Inc. Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
US6601187B1 (en) * 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US6735720B1 (en) * 2000-05-31 2004-05-11 Microsoft Corporation Method and system for recovering a failed device on a master-slave bus
US6574748B1 (en) * 2000-06-16 2003-06-03 Bull Hn Information Systems Inc. Fast relief swapping of processors in a data processing system
US6928584B2 (en) * 2000-11-22 2005-08-09 Tellabs Reston, Inc. Segmented protection system and method
US6769078B2 (en) * 2001-02-08 2004-07-27 International Business Machines Corporation Method for isolating an I2C bus fault using self bus switching device
JP2002300176A (ja) * 2001-04-02 2002-10-11 Sony Corp データ通信装置、データ通信方法、データ通信方法のプログラム及びデータ通信方法のプログラムを記録した記録媒体
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6910153B2 (en) * 2002-01-03 2005-06-21 International Business Machines Corporation Method and system for recovery from a coupling facility failure without preallocating space
US7043666B2 (en) * 2002-01-22 2006-05-09 Dell Products L.P. System and method for recovering from memory errors
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
JP3626741B2 (ja) * 2002-04-16 2005-03-09 オリオン電機株式会社 データ転送システム
TWM242781U (en) * 2002-11-25 2004-09-01 Quanta Comp Inc Blade server management system with auxiliary management structure
JP2008250632A (ja) * 2007-03-30 2008-10-16 Matsushita Electric Ind Co Ltd データ処理システム

Also Published As

Publication number Publication date
DE602005016462D1 (de) 2009-10-15
US20050193246A1 (en) 2005-09-01
EP1566733B1 (de) 2007-09-19
ATE441890T1 (de) 2009-09-15
JP2005235214A (ja) 2005-09-02
EP1566733A1 (de) 2005-08-24
ATE373842T1 (de) 2007-10-15
EP1845447A2 (de) 2007-10-17
DE602005002485D1 (de) 2007-10-31
EP1845447A3 (de) 2008-01-09
EP1845447B1 (de) 2009-09-02

Similar Documents

Publication Publication Date Title
DE102012109614B4 (de) Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE10296986B4 (de) Verfahren und Vorrichtung zum Programmieren eines BIOS
EP1328867B1 (de) Vorrichtung und verfahren zur datenspiegelung
EP0238841A1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
EP2466466B1 (de) Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems
DE1524239B2 (de) Schaltungsanordnung zur aufrechterhaltung eines fehler freien betriebes bei einer rechenanlage mit mindestens zwei parallel arbeitenden rechengeraeten
DE102007033346A1 (de) Verfahren und Vorrichtung zur Administration von Computern
DE102006043636A1 (de) Computersystem und Verfahren zum Aktualisieren von Programmcode
DE102010043011A1 (de) Parallele Programmierung und Aktualisierung von Gebäudetechnik-Busteilnehmern
EP1358554B1 (de) Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler
DE69934665T2 (de) Vorrichtung und verfahren zum gesicherten schreiben in einem plattencachespeicher für festplatten eines massenspeichersubsystems
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
EP0048991A1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
DE60008872T2 (de) Verfahren und vorrichtung zur automatischen reintegration eines moduls in ein rechnersystem
DE602005002485T2 (de) Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern
EP1359485B1 (de) Steuer- und Überwachungssystem
DE60003209T2 (de) Verfahren und vorrichtung zur verbesserung der zuverlässigkeit eines computersystems
DE69829909T2 (de) Wahlverfahren von der aktiven Station in einem gesicherten System für Informationsverarbeitung
DE102016103451A1 (de) Verfahren für ein Computersystem und Computersystem
EP2002446B1 (de) Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken
DE10135285A1 (de) Speichereinrichtung und Verfahren zum Betreiben eines eine Speichereinrichtung enthaltenden Systems
WO2021244868A1 (de) System zum übertragen zumindest eines aktualisierungspakets, sowie verfahren
DE2321232C3 (de) Schaltung zur Übertragung der Adresse einer perlpheren Einheit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition