Mächtigere Anwendungen erfordern überlegenes Fehler-Management

ECC-Memory-Technologie rückt PCs an Mainframes heran

06.10.1989

Glenn Henry, 48, ist Senior Vice President der Product Group der Dell Computer Corporation, Austin/Texas und einer der 50 "IBM-Fellows"

Auch die neueste PC-Generation mußte bis jetzt auf ECC (Error Correcting Code) verzichten, jenem ausgefeilten Mechanismus zum Auffinden und Korrigieren von Fehlern im Hauptspeicher. Weshalb das so ist, erscheint schwer begreiflich.

ECC ist ein einleuchtendes und bewährtes Verfahren und aus der Welt der Workstations, Minis und Mainframes nicht mehr wegzudenken. Einzig im PC-Bereich begnügen sich die Hersteller bis heute noch mit dem wesentlich simpleren und überdies weniger zuverlässigen Modus der "Parity Detection".

Allerdings kann man für künftige PC-Entwicklungen schon bald ein anderes Vorgehen erwarten. Der PC ist im Begriff, neue Einsatzgebiete zu erobern, wie zum Beispiel im CAD/CAM-Bereich, als Netzwerk-Server, in der Unix-Umgebung und im DTP. Hier erscheint ein Error-Handling im ECC-Modus als wertvolle Komponente. Überdies kann sich das Vordringen hochintegrierter Schaltkreise (VLSI) in PCs auch im Niedrigpreissektor wegbereitend auf den ECC-Einsatz auswirken.

ECC legt im Hauptspeicher oder auf der Festplatte gemeinsam mit den zu speichernden Daten spezielle "Check-Bits" ab. Auf den meisten PC-Festplatten kommt diese Technik bereits zum Einsatz.

Diese "Check-Bits" sorgen im Hauptspeicher- beziehungsweise Festplattencontroller für eine logische Struktur, die einzelne Bit-Fehler bei der Datenabfrage auffindet und automatisch korrigiert, sowie Doppel- oder Mehrfachfehler ausfindig und kenntlich macht.

Bei der Speicherung umfangreicher Datenbestände sind Fehler unvermeidlich. Deshalb ist ein fehlerkorrigierendes System wie ECC in solchen Fällen dringend erwünscht. Im Fall der neuen DRAM-Chips sind transiente Speicherfehler aufgrund geänderter Speicherwerte vergleichsweise häufig.

Der Umfang solcher Fehler kann sehr unterschiedlich sein: Vom Unentdecktbleiben über partiell falsche Datenwiedergabe bis zum kompletten Systemversagen einschließlich dauerhafter Datenverluste und ernster Hardwareschäden.

Das im PC-Bereich übliche Verfahren der "Parity Detection" kann am Datenfehler selbst nichts ändern, da der Parity-Mechanismus nicht zu finden weiß, welches Bit im Speicherinhalt sich geändert hat.

Nun ist es sehr leicht möglich, daß jeder weitere Rechnerbetrieb auf der Basis inkorrekter Hauptspeicherdaten zu schweren Folgeschäden einschließlich Datenverlusten auf der Festplatte führen wird. Deshalb brechen nach dem "Parity"-Verfahren kontrollierte Systeme im Störfall einfach zusammen eine reichlich unproduktive Nothilfe. Überdies bleiben Doppel- oder Mehrfach-Bit-Fehler im Parity-Modus auf PCs unentdeckt.

Unter diesen Umständen leuchten die Vorteile eines ECC-überwachten Hauptspeichers ein Systemabstürze und Datenverluste werden durch dieses Verfahren wesentlich reduziert. Weshalb also kommt dieses Verfahren in den PCs von heute nicht zum Einsatz?

Vier Hemmschwellen sind zu nennen: Zum ersten kostet ein ECC-kontrollierter Hauptspeicher mehr; zweitens sind zusätzliche Schaltkreise für die Speicherüberwachung erforderlich; drittens ist ein gewisser Verlust an Rechnerleistung in Kauf zu nehmen und schließlich stellten die kleinen Hauptspeicherdimensionen früherer PCs nicht gerade einen Anreiz für den ECC-Einsatz dar.

Heute stellt sich die Frage nach dem Hauptspeicheraufwand anders. Für kleine Wortgroßen belegt der ECC-Modus zwar mehr Speicherplatz als das Parity-Verfahren (fünf statt zwei Bits bei 16-Bit-Wörtern und sieben statt vier Bits bei 32-Bit-Wörtern). Das bedeutet, daß ECC auf heutigen 32-Bit-Rechnern auf 386-Basis gerade acht Prozent mehr Speicherplatz benötigt als auf einem 16-Bit-Rechner der Vergangenheit.

Diese geringfügig höheren Ansprüche werden durch drei praktische Faktoren ausgeglichen: Die Parity-Implementierung erfordert Einzel-Bit-Schritte bei der Dateneintragung im Speicher; Speicherchips hoher Kapazität werden in einer 4-Bit-"Slice"-Konfiguration eingesetzt; und die meisten PCs mit großen Hauptspeichern basieren auf Simm-Technologie, sind also auf Speicherabschnitte entsprechend einer Wortgröße von 32 Megabit ausgelegt.

Das bedeutet für moderne Hardware-Konfigurationen: Ein typisches 32 Bit-, 1 MB-Simm mit neuen DRAM-Chips zu 1 MB benötigt im Parity-Modus zwölf Speicherchips und im ECC-Modus nur zehn Speicherchips. Damit ist der scheinbare Kostenvorteil des Parity-Modus mehr als aufgehoben und es ergibt sich vielleicht sogar ein deutlicher Vorteil für ECC.

Die Entwicklung noch stärkerer Chips, wie zum Beispiel den erst kürzlich vorgestellten 4-MB-Chip, werden diesen Trend noch verstärken.

Für diejenigen Hersteller, die ihre eigenen VLSI-Chips entwikkeln, werden sich ohnedies nur minimale Kosten für ECC-Schaltkreise ergeben. Nach dem gegenwärtigen Stand der Technik dürften die Kosten annähernd gleich liegen. Freilich gibt es bis heute noch keine Chips nach Industriestandard, die einen ECC-kontrollierten PC-Speicher unterstützen, so daß in näherer Zukunft nur hochwertige Weiterentwicklungen auf der Basis von Standard-Chips für ECC-Lösungen in Frage kommen.

Der Unterschied zwischen dem Parity-Modus und dem ECC-Modus ist in Wirklichkeit sehr kompliziert.

Grob vereinfacht kann man sagen: Ein Parity-kontrolliertes System ist unter Idealbedingungen vielleicht etwas schneller, doch ein ECC-System gewährt bei nur geringem Leistungsverlust ein wesentlich höheres Maß an Datensicherheit, gerade bei anspruchsvoIlen Anwendungen mit dem Trend zu wachsenden Hauptspeicherdimensionen.

ECC rückt den PC von morgen einen Schritt näher an das Ideal der "Mainframeleistung auf dem Schreibtisch" heran.