-
HINTERGRUND
DER ERFINDUNG
-
In Computersystemen werden standardisierte
Buslösungen
zum Zusammenschalten verschiedener Peripheriegeräte oder Prozessorsysteme verwendet.
CompactPCI (PCI, Pheripheral Component Interconnect) ist
eine auf dem PCI-Bus basierende Buslösung, die insbesondere in für industrielle und/oder
eingebettete Anwendungen in mechanisch anspruchsvollen Umgebungen
beabsichtigte Computersysteme verwendet wird. Eine erschöpfendere Beschreibung
der Eigenschaften des PCI-Busses kann der Veröffentlichung "PCI Local
Bus Specification", PCI Special
Interest Group, 1. Juni 1995 entnommen werden.
-
An den Bus angeschlossene Einheiten
kommunizieren miteinander unter Verwendung einer speziellen Adressierungssequenz.
In bestimmten Adressierungssequenzen adressiert eine Adressierungseinheit
eine zu adressierende Einheit oder wartet auf eine Antwort auf die
Adressierung bis die adressierte Einheit antwortet. Falls die adressierte
Einheit defekt ist, kann sie nicht auf die Adressierung antworten, wobei
der gesamte Computer oder das gesamte Computersystem in einem solchen
Fall einen Zustand des Wartens auf die Freigabe des Adressbusses
beibehalten wird. Dies kann zu einer Fehlersituation in dem gesamten
System führen.
Ein Beispiel für diese
Situationsart tritt in bestimmten Adressierungsbetriebsarten des
CompactPCI-Busses auf, bei der die Adressierungssequenz kein Element
zur Überwachung
der Busfreigabe enthält.
Unter diesen Umständen
tritt ein Problem auf, falls die Einsteckeinheit defekt ist, wobei
sie in diesem Fall über
eine Schnittstellenschaltung wirkend das DEVSEL#-Signal des CompactPCI-Busses
im aktiven Zustand und das TRDY#-Signal im inaktiven Zustand halten
kann, und damit anzeigt, dass sie die Adressierung bemerkt hat (DEVSEL#),
aber für
die Aktion noch nicht bereit ist. Das den PCI-Bus steuernde System
verbleibt in einem Zustand des Wartens auf die Freigabe des Busses
und der Betrieb des Systems ist somit blockiert.
-
Typischerweise ist die Muttereinheit
(Mastereinheit) des Systems mit einer sogenannten Totmann-Schaltung
(Watchdog-Timer) ausgestattet, die in gewissen vorbestimmten Zeitintervallen
zurückzusetzen
ist. Wird die Totmann-Schaltung
nicht zurückgesetzt,
so wird das System neu gestartet, d.h. es setzt sich selbst zurück. Dies
kann zu einer endlosen Schleife und einem Systemabsturz führen. In
der vorgenannten beispielhaften Situation wird die Totmann-Schaltung
jedoch nicht notwendigerweise überhaupt
gestartet, oder sie könnte
die aufgetretene problematische Situation nicht "bemerken".
-
Die EP-A-O 851 363 offenbart ein
Verfahren und ein System zur Verbesserung der Zuverlässigkeit
eines Computersystems. Diese Druckschrift offenbart ein Systemverwaltungsmodul
(System Management Module SSM), das mit einem PCI-Bus gekoppelt
ist zur Überwachung
der anderen Komponenten auf dem PCI-Bus. Im Falle eines Fehlers deaktiviert
oder ersetzt das SSM die fehlerhafte Komponente auf dem PCI-Bus.
-
Es ist Aufgabe der vorliegenden Erfindung die
vorstehend beschriebenen Probleme zu eliminieren oder zumindest
deutlich abzumildern. Eine weitere Aufgabe der Erfindung ist die
Offenbarung einer neuen Art von Verfahren und Vorrichtung zum Trennen
einer defekten Einheit von einem Computersystem bei Auftreten eines
Fehlers. Eine weitere Aufgabe der Erfindung ist das Verbessern der
Zuverlässigkeit
des PCI-Bussystems durch Verwenden eines einfachen Überwachungsmechanismusses,
der intern in dem an den Bus angeschlossenen Gerät arbeitet.
-
KURZBESCHREIBUNG
DER ERFINDUNG
-
Die vorliegenden Erfindung wird durch
die beigefügten
unabhängigen
Patentansprüche
1 und 5 definiert.
-
In der vorliegenden Erfindung wird
eine Einsteckeinheit, die an einen PCI-Bus oder eine als Schnittstelle
zwischen dem Bus und der Einsteckeinheit wirkende Schnittstellenschaltung
angeschlossen ist, mit einer Totmann-Schaltung zur internen Überwachung
der Adressierung der Einsteckeinheit ausgestattet. Dies ermöglicht eine
Erfassung von Fehlersituationen, die nicht notwendigerweise durch
in dem den PCI-Bus steuernden Muttersystem implementierte Mechanismen
erfasst werden, wodurch eine Vermeidung der sich ergebenden Probleme
ermöglicht
wird.
-
Die Erfindung betrifft ein Verfahren
zur Verbesserung der Zuverlässigkeit
eines Computersystems. Das Computersystem umfasst einen Bus, vorzugsweise
einen CompactPCI-Bus. Darüber
hinaus umfasst das System eine Schnittstellenschaltung und eine
Einsteckeinheit, die über
die Schnittstellenschaltung an den Bus angeschlossen ist. In dem
Verfahren wird die Einsteckeinheit über den Bus adressiert. Die
Adressierung bezieht sich beispielsweise auf eine auf die Einsteckeinheit
gerichtete I/O- und Speicheradressierung. Gemäß der Erfindung wird die Dauer
der Adressierung durch die Schnittstellenschaltung überwacht,
und die Adressierung wird unterbrochen, falls sie eine vorbestimmte
Zeitdauer überschreitet.
Die Überwachung
der Adressierung kann realisiert werden durch Ausstatten der Schnittstellenschaltung
mit einer Totmann-Schaltung,
die beim Beginn der Adressierung der Einsteckeinheit aktiviert und
möglicherweise
initialisiert wird. Falls die Dauer der Adressierung ein in der
Totmann-Schaltung voreingestelltes Zeitlimit überschreitet, wird ein vorzeitiger
Abbruch der Adressierung ausgeführt
beispielsweise auf Initiative der Schnittstellenschaltung.
-
In einem bevorzugten Ausführungsbeispiel des
Vertahrens wird eine vorzeitige Adressierungsabbruchoperation vom
Typ TARGET ABORT von der Schnittstellenschaltung durchgeführt, wie
beispielsweise beschrieben in der vorgenannten Veröffentlichung "PCI Local
Bus Specification",
S. 41. In diesem Fall führt
die Schnittstellenschaltung den vorzeitigen Adressierungsabbruch
selbst dann durch, wenn die Einsteckeinheit außer Betrieb sein sollte und
den vorzeitigen Abbruch der Adressierung nicht selbst vornehmen
kann.
-
In einem Ausführungsbeispiel wird das SERR#-Signal
nach einem vorzeitigen Abbruch der Adressierung durch die Schnittstellenschaltung
in den inaktiven Zustand in dem Bus versetzt. Als Folge dieser Aktionen
kann die den Bus steuernde Muttereinheit die fehlerhafte Einsteckeinheit
von dem Bus trennen. In einem bevorzugten Ausführungsbeispiel der Erfindung
wird das Signaled-System-Error-Bit
in dem Statusregister der Einsteckeinheit durch die Schnittstellenschaltung
in den aktiven Zustand versetzt, falls die Dauer der Adressierung
den in der Totmann-Schaltung voreingestellten Zeitwert überschreitet.
Auf Grundlage des Signaled-System-Error-Bits erfasst die Einstiegseinheit,
dass die Schnittstellenschaltung eine Fehlernachricht für den Bus
erzeugt hat. Basierend darauf kann die Einsteckeinheit ihren Betriebsstatus ändern, beispielsweise
durch Anzeigen der Fehlersituation über eine in der Einsteckeinheit
vorhandene LED oder ein entsprechendes Signal, das einen Fehler
kennzeichnet. Die vorgenannten Signale sind ebenfalls in der oben
herangezogenen Veröffentlichung "PCI Local
Bus Specification" beschrieben.
-
Die Erfindung betrifft auch eine
Schnittstellenschaltung zur Verbesserung der Zuverlässigkeit eines
Computersystems, wie vorstehend beschrieben. Gemäß der Erfindung umfasst die
Schnittstellenschaltung eine Totmann-Schaltung, eine Einrichtung
zum Starten einer Zeitsteuerung beim Start einer Adressierung, und
eine Einrichtung zum vorzeitigen Abbrechen der Adressierung, falls
deren Dauer einen in der Totmann-Schaltung voreingestellten Zeitwert überschreitet.
In einem Ausführungsbeispiel der
Erfindung handelt es sich bei dem Bus um einen CompactPCI-Bus. Die
Schnittstellenschaltung umfasst vorzugsweise eine Einrichtung zum
Beendigen der Adressierung. Darüber
hinaus umfasst die Schnittstellenschaltung eine Einrichtung zum
Versetzen des SERR#-Signals in den aktiven Zustand in dem Bus, falls
die Dauer der Adressierung das in der Totmann-Schaltung voreingestellte
Zeitlimit überschritten
hat, oder wenn die Schnittstellenschaltung dem Bus eine Nachricht über die
Beendigung einer Adressierung übergeben
hat. Des weiteren kann die Schnittstellenschaltung eine Einrichtung
zum Versetzen des Signaled-System-Error-Bits in dem Statusregister der
Einsteckeinheit in den aktiven Zustand aufweisen, falls die Dauer
der Adressierung den in der Totmann-Schaltung voreingestellten Zeitwert überschritten
hat, oder nachdem die Schnittstellen schaltung dem Bus eine Nachricht über die
Beendigung der Adressierung übergeben
hat.
-
Die Erfindung weist den Vorteil der
Ermöglichung
einer Erfassung einer defekten Einsteckeinheit und einer Deaktivierung
dieser ohne benutzerseitige Aktionen. Des weiteren ermöglicht die
Erfindung eine Vermeidung einer das Gesamtsystem beeinflussenden
Fehlersituation, da die zur Beantwortung der Adressierung unfähige fehlerhafte
Einheit nicht die Systemressourcen belegen wird. Dabei teilt eine
Systemdiagnoseanordnung dem Servicepersonal mit, welche der Einsteckeinheiten
des Systems eine Reparatur erfordert. Die Totmann-Schaltung kann
auf einfache und wirtschaftliche Weise in der Schnittstellenschaltung
realisiert werden, so dass die Erfindung in vielen verschiedenen
Umgebungen einsetzbar ist.
-
LISTE DER ZEICHNUNGEN
-
Die Erfindung wird im Folgenden anhand
einiger Ausführungsbeispiele
unter Bezugnahme auf die beigefügte
Zeichnung beschrieben, wobei
-
1a und 1b Diagramme zeigen, die ein Ausführungsbeispiel
des erfindungsgemäßen Systems
darstellen;
-
2 ein
Diagramm einer allgemeinen Darstellung der mit einer CompactPCI-Bus-Anwendung gemäß der Erfindung
verbundenen Signalisierung zeigt; und
-
3 ein
Ausführungsbeispiel
des erfindungsgemäßen Verfahrens
in Form eines Flussdiagramms zeigt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
1a zeigt
ein Diagramm mit einem erfindungsgemäßen System. Das System umfasst
einen Bus PCI, der im Falle dieses Beispiels ein CompactPCI-Bus ist. An den CompactPCI-Bus
sind eine Vielzahl von Einsteckeinheiten 21,
22, 23 unter Verwendung
von Schnittstellenschaltungen 1 angeschlossen. Eine in
dem System vorhandene Einsteckeinheit 2 kann beispielsweise
eine Bus muttereinheit 21 sein, von denen
eine oder mehrere vorhanden sein können. Die Einsteckeinheit 2 kann
auch eine Tochtereinheit 22 sein, ein eingebettetes
System oder ein Hilfsgerät
23 zur Erweiterung der Eigenschaften des Systems.
Ein Beispiel für
das Computersystem ist das von Nokia hergestellte DX200-Telefonvermittlungssystem,
in dem die Einsteckeinheiten an einen CompactPCI-Bus angeschlossen
sind.
-
Die an den CompactPCI-Bus anzuschließenden Komponenten
werden hinsichtlich Ihres Betriebs gewissen Anforderungen unterworfen.
Diese Anforderungen beschreiben die auf dem PCI-Bus verwendete Signalisierung
und den Betrieb des Busses nach dem Empfang oder der Übertragung
verschiedener Signale. Diese Anforderungen werden in diesem Kontext
nicht näher
beschrieben; statt dessen wird verwiesen auf die vorgenannte Veröffentlichung "PCI Local Bus Specification", die eine detaillierte
Beschreibung der Anforderungen bereitstellt.
-
In dem Beispiel ist die Schnittstellenschaltung 1 als
getrennte mit der Einsteckeinheit 2 verbundene Komponente
realisiert, wobei sie aber auch als ein Teil der Einsteckeinheit
realisiert sein kann. Die Schnittstellenschaltung 1 ist
beispielsweise eine unter Verwendung einer FPGA-Schaltung (FPGA,
Field Programmable Gate Array) realisierte funktionelle Einheit,
wobei in diesem Falle gewisse Funktionen der Einsteckeinheit 2 auch
in derselben Schaltung implementiert sein können. Entsprechende Funktionen
können
auch unter Verwendung diskreter Komponenten oder einer ASIC-Schaltung
(ASIC, Application Specific Integrated Circuit) erzielt werden.
-
Die Schnittstellenschaltung 1 umfasst
die erforderlichen Komponenten und Programmblöcke – unter Verweis auf die vorgenannte
Veröffentlichung – zur Realisierung
der Kommunikation zwischen der Einsteckeinheit 2 und dem
Bus PCI, so dass die Schnittstellenschaltung als Verbindungsglied
zwischen der Einsteckeinheit 2 und den Busfunktionen wirkt.
Gemäß der Erfindung
umfasst die Schnittstellenschaltung 1 eine Totmann-Schaltung 3 (WDT),
die die Ausführungszeiten
von Adressierungsoperationen auf dem Bus PCI überwacht und Aktionen für die Anzeige
und Aufhebung der Fehlersituation einleitet, falls die Ausführungszeit
ein vorbestimmtes Zeitlimit überschreitet.
-
1b zeigt
ein Diagramm eines Ausführungsbeispiels
der Schnittstellenschaltung 1. Neben der Totmann-Schaltung 3 umfasst
die Schnittstellenschaltung eine Einrichtung 4 zum Aktivieren
der Totmann-Schaltung beim Start einer an die Einsteckeinheit 2 gerichteten
Adressierung. In der Praxis kann diese Einrichtung 4 realisiert
werden in Verbindung mit dem Signalisierungsteil der Schnittstellenschaltung
unter Verwendung eines Software-Blocks, der die Zeitsteuerung startet,
wenn ein vorgegebenes Signal oder vorgegebene Signale in einem aktiven
Zustand erfasst werden. Es können
auch andere dem Fachmann bekannte Verfahren zur Realisierung der Einrichtung 4 verwendet
werden. Der Software-Block 4 identifiziert auch die Adresse
der an die Schnittstellenschaltung 1 angeschlossenen Einsteckeinheit 2. Dadurch
ist sichergestellt, dass nur die Totmann-Schaltung der rechten Einsteckeinheit 2 gestartet
wird, so dass weniger häufig
adressierte Einsteckeinheiten keine unnötigen Fehlersignale erzeugen.
Eine Adressierungsbeendigung vom Typ TARGET ABORT wird realisiert
unter Verwendung eines vorgegebenen Software-Teils oder -Blocks 5,
in dem die vorzeitige Abbruchfunktion getriggert wird durch den
Zustand der Totmann-Schaltung 3. in der Praxis handelt
es sich beim Triggerfaktor um einen Zeitgeberüberlauf. In diesem Falle kann
die Funktionalität der
Schnittstellenschaltung das gesamte System selbst dann vor einem
Absturz schützen,
wenn die Einsteckeinheit defekt sein sollte. Die Adressierungsbeendigung
vom TARGET-ABORT-Typ bezieht sich auf eine abnormale Beendigung
der Adressierung in einer Situation, in der die adressierte Einsteckeinheit (Ziel,
Target) eine fatale Fehlfunktion erfasst oder eine an sie adressierte
Anfrage nicht ausführen
kann. Die Schnittstellenschaltung 1 umfasst auch eine Einrichtung 6 zum
Versetzen des SERR#-Signals in den aktiven Zustand auf dem Bus,
falls die Dauer der Adressierung den in der Totmann-Schaltung 3 voreingestellten
Zeitwert überschreitet.
In der Praxis ist dies ebenfalls eine funktionelle Eigenschaft der Schnittstellenschaltung
und diese Einrichtung 6 kann unter Verwendung eines geeigneten
Programms oder Programmblocks realisiert werden. Das SERR#-Signal
wird in dem System verwendet zum Berichten von Fehlern, die zu schwerwiegenden Fehlfunktionen
des Systems führen
können.
Des weiteren wird das Signaled-System-Error-Bit unter Verwendung einer Einrichtung 7 in
den aktiven Zustand in dem Statusregister STATUS der Einsteckeinheit 2 versetzt,
falls die Dauer der Adressierung den in der Totmann-Schaltung voreingestellten
Zeitwert überschrit ten
hat, d. h., falls die Adressierung unterbrochen wurde. Dies ist
ebenfalls eine funktionelle Eigenschaft der Schnittstellenschaltung
und die Einrichtung kann realisiert werden unter Verwendung eines
geeigneten Programms oder Programmblocks. Es soll ebenfalls angemerkt
werden, dass die Totmann-Schaltung 3 und
die in der Schnittstellenschaltung vorgesehenen Einrichtungen 4 bis 7 in
einer FPGA-Schaltung oder unter Verwendung diskreter Komponenten
realisiert werden können.
Die Funktion der Erfindung kann in allen Schnittstellenschaltungen 1 oder
lediglich in einigen von diesen realisiert sein.
-
2 zeigt
ein Beispiel einer detaillierteren Darstellung der in den 1a und 1b gezeigten Komponenten. 2 zeigt die Komponenten
und Signalisierung in der Schnittstellenschaltung einer Einsteckeinheit
oder Schnittstelleneinheit auf Blockschaltbildebene. Die Schnittstellenschaltung
ist an einen CompactPCI-Bus (CompactPCI BUS) angeschlossen. Die
Betriebsweise und Funktion dieser Komponenten sind für den Fachmann
naheliegend und werden daher nicht näher beschrieben mit Ausnahme
der in Bezug auf die Erfindung wesentlichen Bestandteile. Die Totmann-Schaltung
(2) wird gestartet,
wenn eine Adressierungssequenz auf dem PCI-Bus beginnt, d. h., wenn
eine hinter einer Schnittstellenschaltung befindliche Einsteckeinheit über den
Bus adressiert wird. Die Schnittstelleneinheit erfasst die Adressierung
beispielsweise durch ein aktives IDSEL-Signal, das die Auswahl einer
Einsteckeinheit anzeigt.
-
Vor dem Beginn der Adressierung muss
der PCI-Bus Zugriff auf den internen Bus der Einsteckeinheit anfordern
durch Versetzen des PCI_ BREQ-Signals in den aktiven Zustand. Für die Totmann-Schaltung
ist dies eine Hinweis für
eine beginnende Adressierung und sie wird gestartet. Wenn die Logik
der Benutzerschnittstelle den internen Bus an den PCI-Bus übergibt,
so wird das PCI_BGNTn-Signal in den aktiven Zustand versetzt und
die Totmann-Schaltung
wird zu diesem Zeitpunkt zum Anhalten des Zählvorgangs angewiesen. Durch
diese Aktion wird die Totmann-Schaltung zurückgesetzt. Nach Erhalt des
Zugriffs auf den internen Bus beginnt der PCI-Bus einen Schreiboder
Lesezyklus durch Versetzen des PCI_WRITE- oder PCI_READ-Signals
in den aktiven Zustand.
-
Falls sich die PCI-Schaltung in einem WAIT-Zustand
befindet, in dem jeder Bus-Zyklus mit einem READY-Signal bestätigt werden
muss, dann wird die Totmann-Schaltung gestartet. In diesem Fall wird
die Totmann-Schaltung angehalten, wenn das READYn-Signal aktiv ist,
wobei das PCI_WRITE- oder PCI_READ-Signal dadurch deaktiviert wird,
was in der Praxis bedeutet, dass die Operation abgeschlossen ist.
Die PCI-Schaltung befindet sich im WAIT-Zustand, wenn Software oder FPGA-Schaltungscode
in die fragliche Einheit geladen wird oder wenn die Einheit eine
Durchführung
aller Adressierungsoperationen auf WAIT-Basis erfordert. Befindet sich
die PCI-Schaltung nicht im WAIT-Zustand, so überwacht die Totmann-Schaltung
keine individuellen Adressierungsoperationen; stattdessen überwacht
sie lediglich Zuteilungsanforderungen für den internen Bus der Einheit
auf Grundlage der PCI_ BREQnund PCI_BGNTn-Signale.
-
Falls das in der Totmann-Schaltung
eingestellte Zeitlimit erreicht wird, während sich die PCI-Schaltung
im WAIT-Zustand befindet, werden die nachfolgenden Aktionen durchgeführt:
die
Adressierung wird vorzeitig abgebrochen oder der PCI-Bus-Zyklus
wird unterbrochen,
das an den Bus der Einheit angelegte Steuersignal wird
deaktiviert,
die internen Zustandsmaschinen der PCI-Schaltung werden
initialisiert,
das SIGNALED-SYSTEM-ERROR-Bit in dem STATUS-Register
wird gesetzt,
das SIGNALED-TARGET-ABORT-Bit in dem STATUS-Register
wird gesetzt,
das SERR#-Signal für den CompactPCI-Bus wird aktiviert,
worauf die Schaltung in den ursprünglichen Zustand zurückkehrt,
um auf eine neue Adressierung zu warten.
-
In der Praxis deaktiviert die Software
in dem den CompactPCI-Bus steuernden Muttercomputer ferner die defekte
Einsteckeinheit, und die für
die Systemwartung verantwortliche Partei wird über den Fehler informiert.
-
3 zeigt
ein Flussdiagramm mit den in einem erfindungsgemäßen Verfahren vorhandenen Schritten.
In Schritt 10 wird die Einsteckeinheit 1 von dem Bus PCI
adressiert. Bei der Adressierung kann es sich um eine Adressierung
vom I/O-Typ oder eine Speicheradressierung handeln. Das Adressierungsgerät kann beispielsweise
eine Busmuttereinheit 21 sein. Im Schritt 11 erfasst
die Schnittstellenschaltung 1 die Adressierung und startet
die Totmann-Schaltung 3. In den Schritten 12 und 13 wird
eine Überprüfung durchgeführt, um
den Zustand der Adressierung in Bezug auf die Totmann-Schaltung
nachzuweisen. Falls die Adressierung vor dem Auftreten eines Überlaufs
in der Totmann-Schaltung 3 abgeschlossen ist, wird der
Zeitgeber angehalten und in einem inaktiven Zustand belassen, um
auf das nächste
Auftreten einer Adressierung zu warten. Falls in der Totmann-Schaltung 3 ein Überlauf
auftritt, schreitet der Ablauf zum Schritt 14. Im Schritt 14 wird
eine Adressierungsbeendigung vom TARGET-ABORT-Typ durchgeführt. Im
Schritt 15 wird das SERR#-Signal auf dem Bus PCI in den
aktiven Zustand versetzt. Im Schritt 16 wird das Signaled-System-Error-Bit
in dem Statusregister der Einsteckeinheit 2 in den aktiven Zustand
versetzt.
-
Die Erfindung ist nicht auf die Beispiele
ihrer vorstehend beschriebenen Ausführungsbeispiele beschränkt; stattdessen
sind mehrere Änderungen
innerhalb des in den Patentansprüchen
definierten Umfangs der erfinderischen Idee möglich.