Sporadisch auftretende Störungen spielen mit Systemspezialisten Katz und Maus:

Kein Allheilmittel gegen weiche Fehler

03.12.1982

Zwei Computer-Systempannen, die 1980 in den USA militärischen Alarm auslösten, haben einmal mehr gezeigt, daß auch sorgfältigste hergestellte und programmierte Systeme nicht gegen Fehler gefeit sind. Die Ursachen für solche Unzulänglichkeiten können ganz verschiedener Natur sein: falsche Bedienung, Hardware-, Softwarefehler oder eine Kombination davon, menschliches Versagen nicht zu vergessen.

Eigentlich sollte die Tatsache, daß Computer Fehler machen, niemanden erstaunen. Wenn Millionen digitaler Komponenten pro Tag Milliarden Male schalten, wenn im Datentransfer von Computer zu Drucker in wenigen Minuten Hunderttausende und zu einer Disk pro Sekunde gar Millionen von Zeichen übermittelt werden, dann erscheint ein einziger Schaltfehler nicht ins Gewicht zu fallen. Solche Fehler können auch lange unentdeckt bleiben, bis der Output der Machine so unplausibel wird, daß der Benutzer Verdacht schöpft. Allerdings kommt es auch vor, daß solche Störungen ein Computersystem zum Aussteigen bringen.

Das Versagen eines Computers ist eine Sache, die Fehlersuche eine andere. Die heutigen Systeme sind so komplex, die Integration der Elektronik auf kleinstem Raum so groß, daß es unmöglich geworden ist, alles durchzuprüfen. Schon bei Tests einzelner Bausteine stößt man an die Grenzen des Machbaren. Um beispielsweise alle 2 hoch 4096 möglichen Zustände eine 4-KBit RAMs mit heutigen Laborgeräten durchzuchecken, die bei einer Frequenz von 10 Megahertz arbeiten, würde man mehr als 4000 Jahre brauchen!

Soft Failure führt zum Stillstand

Selbst wenn die Zuverlässigkeit aller Bausteine gewährleistet ist, heißt das noch lange nicht, daß sie im fertig zusammengebauten Gerät zufriedenstellend arbeiten. Durch falsches Systemdesign treten oft Probleme mit dem zeitlich richtigen Ablauf der Computeroperationen oder mit überschrittenen Hardwaretoleranzen auf, Weitere Fehlerquellen sind selbsterzeugte oder von außen empfangene Störungen. So können beispielsweise Fotokpiergeräte kurze, aber hohe Impulse auf Netzspannung schicken und so Computer aus dem Konzept bringen. James V. Dinkey von der Applied Technology Division von Itek in Sunnyvale (USA) maß von Kopiergräten erzeugte Spannungsspitzen von über 100 Volt, die sich mit der Netzspannung von 110 Volt überlagerten und Geräte in weitem Umkreis störten.

Die Liste möglicher Hardware-Fehler ist lang. Erwähnt seien hier speziell die Korrosion, die sogar bei hermetisch versiegelten Mikrochips auftreten kann, wenn bei der Fabrikation geringe Mengen von Feuchtigkeit miteingeschlossen werden, und Unterbrechungen in miniaturisierten Stromleitungen auf den Chips durch sogenannte Elektro-Migration.

In eine ähnliche Kategorie gehören Schäden durch elektrostatische Entladungen. In vielen Fällen können diese erst Monate später mit empfindlichen Meßgeräten festgestellt werden.

Viel schlimmer sind sporadisch auftretende Störungen, die mit dem Systemspezialisten Katz und Maus spielen. Erst vor ein paar Jahren wurde eine neue Art von solchen Fehlern entdeckt. Sie verschwinden von selber nach einer gewissen Zeit wieder, um an einem anderen Ort im Computer erneut aufzutauchen. Man bezeichnet solche Störungen als Soft Failures. Sie sind grundsätzlich auf das spontane Umkippen eines einzigen Bits von 0 auf 1 oder umgekehrt zurückzuführen.

Das kann schwerwiegende Folgen haben. Wenn das Bit zu den gespeicherten Daten gehört, kann eine laufende Berechnung zu einem falschen Resultat führen. Ist das Bit ein Teil eines Programms, kann die Befehlsfolge, die der Computer ausfahren sollte, geändert werden. Das führt wiederum zu einem falschen Ergebnis. Häufiger wird aber die geänderte Instruktion für die Maschine gar nicht lesbar sein, und das ganze Programm kommt zum Stillstand. Der Operateur weiß dann sofort, daß etwas schief gelaufen ist. Falsche Ergebnisse hingegen werden häufig gar nicht als solche erkannt.

Dicht gespeicherte Information

Bisher wurden Soft Failures nur in den neuesten Halbleiterbauteilen beobachtet. Solche Chips unterscheiden sich von den älteren vor allem dadurch, daß auf gleich viel Platz viel mehr elektronische Schaltungen integriert sind. Deshalb liegt der Verdacht nahe, daß die Chips der neuesten Generation vielleicht zu dicht gepackt sein könnten. Sie enthalten auf wenigen Quadratmillimetern über 65000 Bits. Jedes von ihnen wird repräsentiert durch vorhandene oder nicht vorhandene elektrische Ladung in einem winzigen Kondensator, der auf der Oberfläche des Siliziumplättchens integriert ist. Ein geladener Kondensator entspricht dem Wert 1, ein ungeladener dem Wert 0.

Jede solche Speicherzelle ist lediglich 100 Quadratmikrometer groß und die elektrische Ladung besteh. aus ungefähr 1,5 Millionen freien Elektronen und ebenso vielen "Löchern". Das sind freie Plätze im Kristallgitter, die die Abwesenheit eines Elektrons markieren.

Strahlung für Fehler verantwortlich

Wenn ein schnelles geladenens Teilchen festes Material durchdringt, ionisiert es auf seinem Weg laufend Atome. In Halbleitern, wo dieser Vorgang besonders effizient ablaufen kann, wird jedes ionisierte Atom durch ein freies Elektron und ein "Loch" repräsentiert.

Ein einziges Alphateilchen, das ein Siliziumplättchen durchdringt, kann darin trotz seiner geringen Reichweite bis zu 3 Millionen Elektronen und "Löcher" erzeugen. Während bis 1978 die Speicherelemente so groß waren, daß sie durch 3 Millionen Elektronen nicht umgeklappt werden konnten, hat sich die Situation in der Zwischenzeit grundlegend geändert, weil jetzt ein Bit nur noch durch halb soviel Ladung repräsentiert wird.

Alphateilchen sind wahrscheinlich der häufigste Grund für die Soft Failures. Sie werden von Spuren radioaktiver Materialien wie Uran und Thorium emittiert, die in Mengen von einigen Teilen auf eine Million unvermeidlicherweise im Halbleitermaterial und in der Verkapselung der Einheiten vorhanden sind. Die Hauptursache für solche weichen Fehler stammt also aus dem Computer selbst.

Aber auch Strahlung aus dem Kosmos muß für einige dieser Fehler verantwortlich gemacht werden. Im Gegensatz zur heute bereits gut bekannten Wirkung von Alphateilchen auf Halbleiterelemente ist jene der Höhenstrahlung erst viel später von Mitarbeitern des IBM-Forschungslabors in Yorktown Heigths (USA) untersucht worden.

Die primäre Kosmische Strahlung ist vermutlich galaktischen Ursprungs. Sie besteht aus Protonen, Helium-Ionen und den Kernen schwerer Elemente und ist sehr ernergiereich. 1600 Teilchen pro Quadratmeter und Sekunde bombardieren unsere Erde. Schon in großer Höhe erzeugen sie in Kollisionen mit Gasmolekülen der Atmosphäre eine riesige Anzahl sekundärer Partikel. Nur diese aus Protonen, Neutronen, Pionen, Myonen, Elektronen, Neutrinos und Photonen besehenden Sekundärstrahlung erreicht den Erdboden.

Nur gewisse Teilchenwechselwirkungen mit Siliziumatomen bewirken Elektronenschauer mit einer Intensität, die genügt, um Schaltelemente zu beeinflussen.

Am empfindlichsten auf solche Störungen sind die sogenannten Charge Coupled Devices (CCD), bei denen kleine elektrische Ladungen in sehr dicht gepackten, isolierten Potentialmulden gespeichert werden. Es gibt heute CCD's mit 256-KBit Speichersatz. Jedes Bit wird repräsentiert durch 50000 Elektronen und Löcher. Eine plötzliche Ladungsänderung von 20 Prozent kann schon genügen, um das Schaltelement umzukippen, so daß die kritische Ladung bei einem 256-KBit-System ungefähr 10000 Elektronen beträgt. Diese Ladungen wandern auf dem sogenannten Racetrack, so daß lange Ketten von Bits fortlaufend abgelesen werden können. Die Ladungswolke, welche ein Bit darstellt, wird nicht erneuert, sie ist deshalb auf Ladungsschauer während des Positionswechsels besonders empfindlich. Bei CCD's wurden etwa 3000 Soft Failurs pro Million Betriebsstunden gemessen, während bei einem normalen 64-KBit-Speicher in der gleichen Zeit sieben auftreten. Sieben Fehler scheinen auf den ersten Blick eine "quantite negligaeble" zu sein. Wenn ein Großcomputer aber mit 1000 Chips bestückt ist, tritt eine solche Störung durchschnittlich alle sechs Tage auf.

Fehlertolerante Computersysteme

Weil bei den heutigen Qualitätsanforderungen an Computer nur eine Störung pro Chip und Million Betriebsstunden toleriert wird, stellt sich natürlich das Problem, was man gegen die Soft Failurs machen kann. Da man die Strahlung nicht abschirmen kann, gibt es kein Allerweltsmittel gegen die weichen Fehler, es sei denn, man packe die Chips wieder weniger dicht. Speicherelemente, die total strahlungsunempfindlich sein sollten, müßten aber pro Bit wesentlich mehr als 500000 Elektronen zur Verfügung haben, denn zu den 70000 Elektronen, die die Alphastrahlung pro Mikrometer Weglänge in Silizium erzeugt, kommen noch 30000 Elektronen, die die Höhenstrahlung beisteuert.

Akut ist das Problem natürlich bei Speichern, die in hoch fliegenden Flugzeugen oder in der Raumfahrt eingesetzt werden, wo es ja auf Platz- und Gewichtseinsparungen, aber auch auf maximale Zuverlässigkeit ankommt.

Wenn man die Störungen selbst nicht verhindern kann, kann man wenigstens versuchen, ihre Wirkung abzuschirmen. Zuverlässige Computersysteme sind so gebaut, daß sie eigene Hardwarefehler automatisch entdecken. Die Fehlertolernaz eines Systems hängt also nicht nur von der Anzahl der Störungen pro Million Betriebsstunden ab, sondern auch von der Art, wie diese behandelt werden und von der Verfügbarkeit des Systems.

Die Fehlerbehandlung bezieht sich auf die Fähigkeit der Maschine, Hardwarefehler zu entdecken, auf die Genauigkeit, diese zu lokalisieren, und die Effizienz, die Auswirkungen einer Störung in möglichst kleinen Grenzen zu halten.

Die Verfügbarkeit hängt ab von der Fehlerentwicklungsrate und der Zeit, die das System braucht, um sich nach einer Störung wieder zu "erholen", also in einen brauchbaren Zustand zurückzukehren, wobei die Leistung vielleicht etwas verringert

ist.

Hohe Verfügbarkeit allein genügt aber nicht: Wenn ein System non-stop läuft, heißt das noch lange nicht, daß es auch keinen Unsinn produziert. Erst die Empfänglichkeit gegenüber eigenen Hardwarefehlern in Kombination mit hoher Verfügbarkeit zeichnet ein zuverlässiges System aus.

Natürlich verlangen nicht alle Anwendungen den gleichen Grad an Zuverlässigkeit. Die Kosten, die Hardwarestörungen verursachen, müssen gegen die Kosten der Abwehrmaßnahmen aufgewogen werden. Weil bei der zunehmenden Miniaturisierung aber Soft Failures immer öfter auftreten und weil man sich in der Technik und ihren Anwendungen immer stärker auf Computer verläßt, geht die Tendenz zunehmend in Richtung fehlertoleranter Systeme.

Modul überwacht sich selbst

Die Anwort der Technik auf diesen Wunsch ist die automatische Überwachung von Speichern, Datenbussen und Ein-/Ausgabegeräten mit dem sogenannten Cyclic Redundancy Check (CRC) oder dem Error Checking and Correcting (ECC).

So besitzt zum Beispiel das 32-Bit-System 432/600 von Intel einen ECC-Speicher, der alle single-bit- und double-bit-Fehler entdeckt und die ersteren sogar selber korrigiert.

In den Prozessoren hingegen sind Hardwarefehler viel schwieriger zu entlarven. Da Prozessoren Daten verändern, ist es fast unmöglich, unkorrekte Veränderungen von korrekten zu unterscheiden. Es bleibt eigentlich nichts anderes übrig, als mehrere Prozessoren gleichzeitig zu betreiben. So können zum Beispiel zwei Prozessoren zu einem einzigen "Self-checking-Module" zusammengeschaltet werden. Das Modul überwacht sich selbst, indem es alle Operationen von beiden Prozessoren parallel ausfahren läßt und anschließend die Resultate vergleicht. Wenn sie verschieden sind, erzeugt das Modul eine Fehlermeldung und schaltet sich von selbst ab. Ein Zeitverlust tritt dabei nicht auf: Das Self-checking-Module arbeitet genau gleich schnell wie ein einzelner Prozessor.

Für kritische Anwendungen in der Telekommunikation oder in der Raumfahrt werden häufig sogar drei bis fünf Prozessoren parallel geschaltet und dann das Resultat jeder Operation durch "Mehrheitsbeschluß" festgelegt.

Soft Failures stellen sicher ein ernstzunehmendes Problem bei der Miniaturisierung integrierter Schaltungen dar. Mit zunehmender Packungsdichte gesellen sich dann noch weitere Probleme dazu. So kann zum Beispiel der sogenannte Tunneleffekt auftreten, ein "Übersprechen" von einer Leitung zur nächsten.

Andererseits hat die zunehmende Miniaturisierung auch unbestreitbare Vorteile. In den letzten zehn Jahren ist der Preis pro gespeichertem Bit um den Faktor 100 gesunken, und die Tendenz hält an . Grund genug, Soft Failurs und andere Störungen hinzunehmen und dafür Fehlerkorrekturmaßnahmen zu integrieren, die lediglich einen Bruchteil des gewonnen Platzes beanspruchen.