Hauptspeicherfehler sehr viel hÀufiger als bisher angenommen

Eine Studie von Google und der UniversitÀt Toronto zeigt, dass DRAM-Module vergleichsweise hÀufig patzen.

vorlesen Druckansicht 369 Kommentare lesen
Lesezeit: 6 Min.

Bisher gab es nur sehr wenige praktische Untersuchungen zu HĂ€ufigkeit und Ursachen von Fehlern im Hauptspeicher von PCs und Servern. SelbstverstĂ€ndlich sind zahlreiche Studien zu dem Thema bekannt, aber diese beziehen sich auf Experimente an einzelnen Chips und Speichermodulen unter Laborbedingungen. Die Firma Google hat in Kooperation mit der Professorin Bianca Schroeder von der Uni Toronto, die frĂŒher an der Carnegie Mellon University (CMU) tĂ€tig war, nun Daten veröffentlicht, die ĂŒber zweieinhalb Jahre bei "der Mehrheit der Google-Serverflotte" gesammelt wurden. Diese Studie (PDF-Datei) belegt, dass DRAM-Fehler sehr viel hĂ€ufiger auftreten als bisher erwartet und dass in der Praxis "harte Fehler" – also Probleme mit einzelnen Speicherzellen oder DIMMs – sehr viel hĂ€ufiger sind als sogenannte Soft Errors, die zufĂ€llig etwa durch kosmische Strahlung oder andere elektromagnetische Einstrahlungen entstehen und bislang als wichtigste DRAM-Fehlerquelle angesehen wurden.

Die Ergebnisse der Studie lassen sich nicht ohne Weiteres auf herkömmliche Desktop-PCs und Notebooks ĂŒbertragen, denn es wurden ausschließlich verschiedene Serversysteme von Google untersucht, die alle mit (unterschiedlichen) ECC-Fehlerkorrekturverfahren arbeiten. Die Studie unterscheidet deshalb zwischen korrigierbaren und nicht korrigierbaren Fehlern (Correctable Errors, CE/Uncorrectable Errors, UE). Die einfachsten aktuellen ECC-Verfahren korrigieren 1-Bit-Fehler zuverlĂ€ssig, können Multi-Bit-Fehler aber nur erkennen und nicht ausbĂŒgeln. Komplexere Mehrkanal-Speichercontroller – bekannt ist etwa die sogenannte Chipkill-Technik von IBM – korrigieren auch vier oder gar acht gleichzeitig auftretende Fehler und können so den Ausfall eines kompletten Chips mit vier (x4) beziehungsweise acht (x8) Datensignalleitungen ĂŒberbrĂŒcken (Single Device Data Correction, SDDC). Die Firmware von Serverboards kann solche Fehler beziehungsweise deren Korrektur protokollieren. Einige der von Google eingesetzten Systeme nutzen auch Memory Scrubbing: Damit sich Einzel-Bitfehler nicht akkumulieren, ĂŒberprĂŒft der Speicher-Controller bei geringer Auslastung kontinuierlich das RAM. Ohne Memory Scrubbing erkennt der Speicher-Controller Bitfehler erst beim Zugriff auf die jeweiligen Zellen.

Die Studie geht nicht nĂ€her auf die Zahl der Systeme sowie Hersteller und Typen der eingesetzten Prozessoren, Mainboards und Speichermodule ein, sondern verrĂ€t nur einige gröbere Angaben. So wurden sechs verschiedene "Plattformen" untersucht, von denen drei mit DDR-Speicher bestĂŒckt waren (die Datensammlung erfolgte zwischen Januar 2006 bis Juni 2008), zwei mit DDR2-SDRAM-Modulen und eine mit Fully-Buffered-(FB-)DIMMs – bei Letzterer handelt es sich offenbar um Xeon-Server von Intel, denn nur diese arbeiteten damals mit FB-DIMMs. Der FB-DIMM-Controller der Xeon-ChipsĂ€tze unterstĂŒtzt je nach DIMM-BestĂŒckung x4-SDDC.

Die Speichermodule stammten von sechs unterschiedlichen Firmen, es kamen Module mit 1, 2 oder 4 GByte KapazitĂ€t zum Einsatz; die verschiedenen Server waren auch mit unterschiedlich vielen Modulen bestĂŒckt.

Die 12-seitige Studie kommt zu sieben wesentlichen Ergebnissen. Pro Jahr trat bei rund einem Drittel aller Server beziehungsweise bei 8 Prozent aller DIMMs mindestens ein korrigierbarer Fehler auf. Dieses Ergebnis liegt um ein Mehrfaches höher als von bisherigen Laborstudien und Untersuchungen zu weniger Maschinen bekannt. Die jĂ€hrliche Rate nicht korrigierbarer Fehler, die ĂŒblicherweise zum Absturz oder zum Herunterfahren des Servers fĂŒhren, betrug 1,3 Prozent pro Server beziehungsweise 0,22 Prozent pro DIMM.

Die FehlerhĂ€ufigkeit verteilte sich sehr ungleichmĂ€ĂŸig ĂŒber die Systeme und es war kein klarer Zusammenhang zwischen bestimmten Speichertypen und Plattformen erkennbar. Allerdings produzierten Module, bei denen in der Vergangenheit bereits Fehler aufgetreten waren, mit sehr hoher Wahrscheinlichkeit spĂ€ter wieder Fehler. Das belegt auch, dass Soft Errors eine deutlich seltenere Fehlerquelle sind als Hardware-Probleme. Es ist also wichtig, auftretende Fehler zu protokollieren und die betroffenen Module auszutauschen. Die HĂ€ufigkeit der Speicherfehler nimmt außerdem mit wachsendem Alter der Speicherriegel zu.

Die Betriebstemperatur der Speicherchips hatte kaum Einfluss auf die FehlerhĂ€ufigkeit, das gilt allerdings im Rahmen der geringen Schwankungsbreite von 20 Kelvin wĂ€hrend der Untersuchungen, denn die Server arbeiteten selbstverstĂ€ndlich in klimatisierten Rechenzentren. Eine Ă€ltere Studie (PDF-Datei) von Prof. Schroeder und Google, in der es um Festplatten ging, wurde diesbezĂŒglich auch oft falsch interpretiert. Wenig ĂŒberraschend stieg die Fehlerwahrscheinlichkeit auch mit dem Auslastungsgrad des Hauptspeichers, allerdings bei manchen Systemen auch mit der Speichermenge. Hier lĂ€sst die Studie kaum genauere RĂŒckschlĂŒsse zu, denn gleiche SpeicherkapazitĂ€ten wurden mit unterschiedlichen Zahlen von Speichermodulen und Speicherchips realisiert.

Anders als in Servern kommen in Desktop-PCs und Notebooks fast ausschließlich Speicher-Controller und Speichermodule ohne ECC-Funktion zum Einsatz. Der Einsatz von ECC gilt bei Systemen mit vergleichsweise kleinem Hauptspeicherausbau, die diesen zudem nur selten voll ausnutzen und nur wenige Stunden am Tag arbeiten, als verzichtbar – jedenfalls ist unklar, ob Speicherfehler im Vergleich zu anderen Fehlerquellen besonders hĂ€ufig zu AbstĂŒrzen fĂŒhren. Angesichts der neuen Erfahrungen mit Speicherfehlern scheint es aber jedenfalls ratsam, Speicherchips nicht außerhalb ihrer Betriebsparameter zu betreiben – sie also nicht zu ĂŒbertakten.

Bereits 2006, im Vorfeld der Vista-EinfĂŒhrung, hatte Microsoft – wohl auch im Hinblick auf den bei Vista-x64-Installationen typischerweise grĂ¶ĂŸeren Hauptspeicherausbau – den Einsatz von ECC empfohlen, allerdings offenbar erfolglos. Non-ECC-DIMMs sind billiger; bei bestimmten Schreibzugriffen kann die Berechnung der ECC-PrĂŒfbits zudem die Latenzzeiten des RAM verlĂ€ngern. Intel-Prozessoren und -ChipsĂ€tze fĂŒr Desktop-PCs und Notebooks unterstĂŒtzen ECC nicht. Die AMD-Prozessorfamilien Athlon und Phenom unterstĂŒtzen ECC, doch nicht jedes Mainboard-BIOS erlaubt die Nutzung dieser Funktion oder protokolliert korrigierte Fehler. (ciw)