80 Prozent aller Hardware-Fehler werden ohne Techniker lokalisiert:

Wartungsprozessor jongliert mit falschen Bits

16.10.1981

Die fortschreitende Technologie auf dem Bauteilsektor der Prozessorhardware dient nicht nur dazu, mit jeder neuen Computer-Generation ein besseres Preis-/Leistungverhältnis zu erzielen. Die moderne Technologie wird ebenso genutzt, die ständig teurer und personalintensiver werdende Dienstleistung der EDV-Wartung effektiver zu gestalten. Der Einfluß dieser neuen Technologie auf die Aspekte der Wartung soll im folgenden am Beispiel des Systems 1100/60 beschrieben werden.

MSU Hauptspeicher (Main Storage Unit)

SIU Pufferspeicher (Storage Interface Unit)

SSP Wartungs-/Konsolprozessor (System Support Processor)

Das System ist als Multi-Mikroprozessorsystem aufzufassen, da an vielen Stellen der Prozessorhardware Mikroprozessoren mit entsprechender Firmware bestimmte Aufgaben im System übernehmen.

Der Prozessor selbst besteht aus 72 Leiterplatten (in Mehrschichttechnik mit typischen 10 Lagen), die untereinander wiederum mit gedruckten Verdrahtungsplatinen in Multilayertechnik verbunden sind. Die Mikroprozessoren sind Bit-Slice-Prozessoren, die zugehörige Firmware hat eine Instruktionsbreite von 269 Bits. Im Hauptspeicher werden (16-K-)Chips verwendet.

An dem Wartungs- und Konsolprozessor, einem freistellenden Gerät, ist die Konsole zur Bedienung der 1100/60 angeschlossen. Darüber hinaus lassen sich über eine Konsole auch die Prozessor-Firmware laden oder ein Aufteilen einer Multiprozessoranlage in Einzelsysteme vornehmen. Außerdem dient der Wartungsprozessor auch dem Technischen Dienst zur Überprüfung der Zuverlässigkeit der Systemhardware und zur Fehlersuche. Er erstellt Fehleranalysen und bietet zum Teil Fehlerkorrektur-Möglichkeiten. Der Anschluß zum Ferndiagnose-Zentrum ist mit in den Wartungsprozessor integriert.

Methoden der Fehlererkennung

Auf diesen Punkt wurde im Zusammenhang mit einer leichten Wartbarkeit der Anlage bei der Hardware-Entwicklung besonderer Wert gelegt. Die Hardware zur Fehlererkennung basiert im wesentlichen auf der Kombination dreier Techniken:

- Auf bekannte Weise werden im gesamten System alle Daten- und Adreßpfade auch über die Kanäle und Steuereinheiten hinweg bis zu den Peripheriegeräten auf Parität geprüft.

Auch der Pufferspeicher besitzt eine Paritätsprüfung. Fehlerhafte Sektionen (vier Worte) werden automatisch herausgenommen und können erst durch eine Konsoleingabe wieder zugeschaltet werden.

- Im Hauptspeicher ist jedem Datenwort ein "Error Correction Code" von 7 Bits beigefügt. Dadurch können beim Lesen Einzelbitfehler korrigiert und Multibitfehler angezeigt werden. Bei Hardwarefehlern werden von dem Betriebssystem fehlerhafte Sektionen (512 Worte) herausgenommen und stehen ebenfalls erst nach einer Konsoleingabe (beispielsweise nach erfolgter Reparatur) dem Benutzer zur Verfügung.

- Neu ist die Methode der Verdoppelung bestimmter Hardwarefunktionen wie des Rechenwerkes selbst sowie wichtiger logischer Steuerungsfunktionen. Hochintegrierte, aber dennoch immer billiger werdende Bauteile ermöglichen dies.

Durch kontinuierlich durchgeführte Vergleiche bei den in der doppelten Hardware ausgeführten Operationen läßt sich auf einfache Weise das fehlerfreie Arbeiten der Schaltkreise überwachen.

Alle Techniken der Fehlererkennung erfolgen parallel zur Verarbeitung. Die dazu erforderliche zusätzliche Logik ist deshalb durchsatzneutral. Im übrigen dienen elf Prozent der Prozessorhardware der Fehlererkennung.

Nach jeder Fehlererkennung, unabhängig davon, ob der Fehler korrigiert oder umgangen werden konnte, wird auch bei weiter fortgeführtem Betrieb eine automatische Eintragung in eine Fehlerdatei (Error Log) vorgenommen. Hierdurch werden alle wesentlichen Daten und

Informationen im Augenblick des Fehlerereignisses für spätere Untersuchungen (Wartung) festgehalten.

Falls die Fehlererkennungs-Schaltkreise eine Unstimmigkeit entdecken, unterscheidet der Prozessor prinzipiell transiente und permanente Fehler.

Grundsätzlich wird zunächst davon ausgegangen, daß die Unstimmigkeit durch einen transienten Fehler verursacht wurde, daß es sich also um einen Einmalfehler oder um ein Ereignis mit Abklingvorgängen (Spike) handelt.

In diesem Fall stoppt die gesamte Verarbeitung des Prozessors für Bruchteile einer Sekunde, gesteuert durch einen Hardware-Zeitzähler. Der Zeitzähler, der eventuelle Abklingvorgänge überbrücken soll, kann sowohl per Programm als auch über die Konsole eingestellt werden. Nach dem Auslaufen des Zeitzählers wird die zuletzt ausgeführte Mikroinstruktion überprüft. Ist in diesem Augenblick der Zustand der Prozessor-Hardware fehlerfrei, geht die Verarbeitung einfach weiter.

Verläuft die Prüfung der letzten Mikroinstruktion negativ, so handelt es sich vermutlich nicht um einen transienten, sondern um einen permanenten Fehler. In diesem Fall wird ein Fehlerstatuswort gebildet, das Hinweise auf die Fehlerart enthält. In einem nächsten Schritt wird nun geprüft, ob die augenblicklich in Ausführung befindliche Software-Instruktion von Anbeginn an wiederholbar ist. Bis auf wenige Ausnahmen, und dann auch noch abhängig von dem Fortschritt der Abarbeitung der Software-Instruktion, sind die meisten Software-Instruktionen wiederholbar. Läuft die Wiederholung der Software-Instruktion fehlerfrei ab, setzt der Prozessor die Verarbeitung fort.

Ist dies nicht der Fall, startet die "Error Recovery", eine Prüfroutine des Betriebssystems. Sie untersucht vor allem das Fehlerstatuswort sowie, abhängig vom Ergebnis, unterschiedlich Korrektur- beziehungsweise Umgehungsmöglichkeiten.

Führt auch dies zu keinem Erfolg, wird viertens der Wartungsprozessor angesprochen. Dem Bediener stehen dann weitere Möglichkeiten zur Aufrechterhaltung eines arbeitsfähigen Systems zur Verfügung (zum Beispiel Systemsplitten) oder es werden Diagnose-Programme angeboten. In der Überwiegenden Zahl aller Fälle kreisen diese Diagnose-Programme den Fehler so weit ein, daß dem Bedienungspersonal auf der Konsole eine Liste der möglichen defekten Leiterplatten angezeigt wird.

Alle erwähnten Fälle der vier Ebenen der Fehlereinkreisung führen zu einem Eintrag in die Error Log Datei.

Bits komplementär einschreiben

Erkennt das System ein Fehlerverhalten des Mikroprogrammspeichers, versucht zunächst der Wartungsprozessor mittels Reboot den Fehler zu korrigieren. Tritt ein Parity-Fehler im Firmware-Speicher auf, so liegt die Sprache wahrscheinlich in einem komplementär zum Ursprungsbit ausgelesenen Bit. In dem Speicherbereich, in dem der Fehler auftrat, werden jetzt entweder alle Bits vor der Verarbeitung komplementiert, oder der Wartungsprozessor schreibt in diesen Speichersektor alle Mikroinstruktionen erneut, jedoch komplementär, ein. In beiden Fällen liefert die fehlerhafte Bit-Stelle nun vermutlich eine korrekte Information:

Bei allen übrigen Prozessorfehlern, die nicht durch Korrekturen oder Umgehungsmöglichkeiten beseitigt werden können, bietet das System dem Bedienungspersonal auf der Konsole Diagnostik-Programme wie die "Scan"-Funktion an. Hierbei werden während des Programmablaufs in regelmäßigen Abständen die Informationen aus Hardware-Registern und einer Vielzahl von Testpunkten verglichen mit entsprechenden Werten, die bereits vorher von derselben, aber fehlerlos arbeitenden Anlage generiert worden waren. Auf dem Konsolbildschirm werden, dann alle diejenigen Leiterplatten angezeigt, die in der Hardware-Logik mit dem fehlerhaften Signal in Verbindung stehen.

Bis zu 80 Prozent aller auftretenden Hardwarefehler können auf diese Weise lokalisiert werden.

Eine Anlage funktioniert nur zuverlässig, wenn auch die Fehlererkennungs-Schaltkreise in der Hardware einwandfrei arbeiten. Über eine Software-Instruktion lassen sich in periodischen Abständen Fehler injizieren.

Hierbei werden Informationen generiert, die zu Paritätsfehlern im Prozessor führen. Der Prozessor muß wie im Normalbetrieb den Fehler erkennen, eine Wiederholfunktion einleiten und einen Fehlerstatus generieren. Entspricht der Fehlerstatus den Erwartungen, dann arbeitet die entsprechende Fehlerprüfeinrichtung einwandfrei.

Über den Wartungsprozessor erfolgt auch der Modemanschluß an das Ferndiagnose-Zentrum, bei Sperry Univac mit dem Akronym Trace tituliert (Total Remote Assistance Center). Die Spezialisten im Ferndiagnose-Zentrum erfüllen im wesentlichen zwei Aufgaben:

- Regelmäßig Überwachung des Trends der Anlagenzuverlässigkeit. Dabei werden periodisch die Ergebnisse eines Auswertungsprogrammes für das Error Log an die Zentrale übertragen. Hier erfolgt eine Analyse beispielsweise der Anzahl der transienten Fehler, der Instruktions-Wiederholungen, der Fehlerkorrektur und Fehlerumgehungen oder auch der E-/ A-Wiederholungen mit Peripheriegeräten.

- Sofortiger Beginn der Fehlerdiagnose bei einer defekten Anlage durch Spezialisten, noch vor Einsatz eines Wartungstechnikers.

Über eine Datenübertragungsstrecke kann der Spezialist in der Zentrale zunächst die gleichen Diagnose-Programme starten und erhält die gleichen Anzeigen auf seiner Konsole wie ein Techniker direkt an der Anlage.

Die Tatsache, daß der Anschluß zum Ferndiagnosezentrum über den Wartungsprozessor und nicht über das Datenübertragungs-Untersystem der 1100/60 erfolgt (wobei dann das Funktionieren des Prozessors selbst schon eine Voraussetzung wäre), ermöglicht eine konsequente Fehlersuche auch bei einem gestörten Prozessor.

Das Sicherheitsbedürfnis der Kunden (Datensicherheit) bei Anwendung der Ferndiagnose ist dabei gewährleistet. Auf der untersten Stufe der Ferndiagnose-Aktivitäten wird nur der Zugriff auf den Wartungsprozessor mit dem Error Log und den Diagnoseprogrammen gewährt, und auch dies nur mit Beteiligung des Bedieners an der Anlage.

*Rüdiger Walpuski; Leitung Technischer Dienst, Sperry Univac Deutschland, Sulzbach/Ts.