Was ist ECC-RAM und warum ist es besser?


31

Ich habe eine Diskussion über die Verwendung von ECC-RAM auf Servern gesehen. Warum ist es besser?


2
Frage in einer anderen Frage beantwortet: serverfault.com/questions/5817/…
sh-beta

Gibt es Hinweise darauf, dass die Verwendung des ECC-Speichers erforderlich oder sinnvoll ist? Die Vorteile und Wirkungsmechanismen sind leicht zu verstehen, aber ich habe noch nie Beweise dafür gehört, dass diese Anwendung gerechtfertigt ist.
Drew Stephens

Und was sind die verschiedenen möglichen Konsequenzen, wenn solche Speicher- (Bit-) Fehler auftreten? Ich habe zum Beispiel gerade einen Server ausgeschaltet, der 5 Jahre ohne Unterbrechung online war (mit ECC-RAM), und im Großen und Ganzen ging alles in Ordnung, ich hatte nie Beschwerden von Kunden, die dort gehostet wurden oder jemals einen Major erlebt haben Schuld daran ... Das gleiche gilt für meine Desktop-Computer-Erfahrung - ein BSOD hier und da ziemlich selten, aber ist das alles? :)
Denis Volovik

@Denis, ich denke, wenn Sie möchten, dass die Leute Ihre Frage beantworten, müssen Sie sie möglicherweise als separate Frage und nicht als Kommentar stellen.
Toby Allen

Antworten:


28

Der ECC-RAM kann durch Verwendung von Paritätsbits kleine Fehler in Bits beheben. Da Server eine gemeinsam genutzte Ressource sind, bei der Verfügbarkeit und Zuverlässigkeit wichtig sind, wird ECC-RAM im Allgemeinen nur mit einem geringen Preisunterschied verwendet. ECC-RAM wird auch in CAD / CAM-Arbeitsstationen verwendet, da kleine Bitfehler zu Rechenfehlern führen können, die zu größeren Problemen führen, wenn ein Entwurf in die Fertigung geht.


5
Ein kleiner Fehler in einer Nummer, einschließlich des Finanzierungspakets für kleine Unternehmen, kann sehr klein oder sehr groß sein. Es hängt alles davon ab, was für ein Stück.
Zan Lynx

Hinzu kommt die Tatsache, dass ein falscher Fehler am falschen Ort mehr als eine Maschine zum Absturz bringen kann, wenn Sie für die Konsolidierung virtualisiert haben.
MikeyB

1
Ich warte nur darauf, dass eine skrupellose Firma behauptet, ihr Buchhaltungsbetrug sei eigentlich nur ein kleiner Fehler.
Eloff

29

Ausgezeichnete Praxisstudie:

DRAM-Fehler in freier Wildbahn: Eine groß angelegte Feldstudie (pdf)

Dieser Artikel bietet die erste groß angelegte Studie zu DRAM-Speicherfehlern auf diesem Gebiet. Es basiert auf Daten, die über einen Zeitraum von mehr als zwei Jahren aus der Serverflotte von Google gesammelt wurden und viele Millionen DIMM-Tage ausmachen. Der DRAM in unserer Studie deckt mehrere Anbieter, DRAM-Dichten und -Technologien ab (DDR1, DDR2 und FBDIMM).

Das Papier befasst sich mit den folgenden Fragen: Wie häufig sind Speicherfehler in der Praxis? Was sind ihre statistischen Eigenschaften? Wie werden sie von externen Faktoren wie Temperatur und Systemauslastung beeinflusst? Und wie variieren sie mit chipspezifischen Faktoren wie Chipdichte, Speichertechnologie und DIMM-Alter?

Wir stellen fest, dass sich DRAM-Fehler im Feld in vielen Aspekten sehr unterschiedlich verhalten als allgemein angenommen. Beispielsweise beobachten wir DRAM-Fehlerraten, die um Größenordnungen höher sind als zuvor berichtet, mit FIT-Raten (Ausfälle in der Zeit pro Milliarde Gerätestunden) von 25.000 bis 70.000 pro Mbit und mehr als 8% der betroffenen DIMMs pro Jahr. Wir liefern starke Beweise dafür, dass Speicherfehler eher von harten als von weichen Fehlern dominiert werden, auf die sich die meisten früheren Arbeiten konzentrieren. Wir stellen fest, dass die Temperatur von allen Faktoren, die das Fehlerverhalten eines DIMM im Feld beeinflussen, einen überraschend geringen Effekt hat. Anders als allgemein befürchtet, gibt es schließlich keinen Hinweis darauf, dass die Pro-DIMM-Fehlerrate mit neueren DIMM-Generationen zunimmt.

Interessanterweise waren die meisten Speicherfehler Hard - Hard - Speicherfehler sind nicht behebbar, was bedeutet, dass der Speicher physisch als fehlerhaft ersetzt werden muss , wohingegen Soft - Speicherfehler behoben werden können, indem der Speicher mit dem korrekten Wert überschrieben wird. Dies zeigt mir, dass der Wert von ECC ziemlich begrenzt ist.

Es gibt zwei Arten von Fehlern, die typischerweise in einem Speichersystem auftreten können. Der erste wird als wiederholbarer oder schwerer Fehler bezeichnet. In dieser Situation ist ein Teil der Hardware defekt und gibt durchweg falsche Ergebnisse zurück. Ein Bit kann stecken bleiben, sodass es beispielsweise immer "0" zurückgibt, unabhängig davon, was darauf geschrieben ist. Harte Fehler weisen normalerweise auf lose Speichermodule, defekte Chips, Motherboard-Defekte oder andere physikalische Probleme hin. Sie sind relativ einfach zu diagnostizieren und zu korrigieren, da sie konsistent und wiederholbar sind.

Klingt so, als hätten alle Server in der Studie ECC verwendet, sodass wir die ECC-Fehlerrate nicht im Vergleich zu Nicht-ECC-Fehlerraten kennen.

In diesem Artikel wurden die Häufigkeit und Eigenschaften von DRAM-Fehlern in einer großen Flotte von Standardservern untersucht. Unsere Studie basiert auf Daten, die über einen Zeitraum von mehr als zwei Jahren gesammelt wurden, und deckt DIMMs verschiedener Hersteller, Generationen, Technologien und Kapazitäten ab. Alle DIMMs waren mit einer Fehlerkorrekturlogik (ECC) ausgestattet, um mindestens Einzelbitfehler zu korrigieren.


5
+1 schöner Bericht. Ich kenne zwar keine Nicht-ECC-Fehlerraten, schätze aber, dass Nicht-ECC-Fehlerraten in etwa den ECC-Fehlerraten pro GB entsprechen. Die gleichen RAM-Chips werden sowohl in ECC- als auch in Nicht-ECC-DIMMs verwendet (die ECC-DIMMs verwenden einfach 9/8 so viele Chips - 72 Rohspeicherbits zum Speichern eines 64-Bit-Datenworts, und 8/9 ist die Fehlerrate ungefähr die gleiche Fehlerrate), und ich sehe keinen Grund dafür, dass ein RAM-Chip eine erheblich andere Fehlerrate aufweisen würde, wenn er auf einem ECC-DIMM platziert wird, als wenn er auf einem Nicht-ECC-DIMM platziert wird.
David Cary

9

ECC hat mehrere Vorteile gegenüber der Parität. Zum einen kann es Einzelbitfehler erkennen und beheben, ohne das gesamte System anhalten zu müssen. Bei Mehrbitfehlern wird immer noch ein Paritätsfehler zurückgegeben, aber die Wahrscheinlichkeit, dass dies auftritt, ist während der Lebensdauer eines PCs astronomisch gering, es sei denn, der Speicher selbst ist defekt. ECC ist wie eine Autoversicherung: Sie deckt die meisten Probleme ab, kann aber nicht verhindern, dass sich mehrere Autos zusammenballen.

Weitere Informationen finden Sie hier: ECC-Speicher: Ein Muss für Server, nicht für Desktop-PCs


1
Ich bin mit dem Artikel nicht einverstanden. Ich denke, jeder sollte ECC verwenden. Ich wollte nicht aufgeben, aber ich wollte einen neuen Core I7 genug, dass ich es endlich tat. Ich bin mir jedoch sicher, dass meine 6 GB RAM überall Fehler aufspüren.
Zan Lynx

4
@zan und diese Fehler, bei denen Sie sich "sicher" sind, welche Konsequenz haben sie?
Jeff Atwood

Rate nicht; korrigierbare Fehler sollten MCEs henerieren, die im Betriebssystem protokolliert werden können (Systemprotokoll unter Windows, / var / log / mcelog unter Linux)
MikeyB

@ JeffAtwood: Normalerweise nichts, aber ich hatte gelegentlich einen Bluescreen ohne ersichtlichen Grund. Auf Systemen , ich habe das tun ECC habe , werde ich ein paar einzelne Bitfehler jeden Monat sehen.
Zan Lynx

@ JeffAtwood: Und wie jeder andere, dessen ich mir sicher bin, musste ich gelegentlich eine Anwendung (Office. Visual Studio.) Neu installieren, weil sie anscheinend verrückt geworden ist. Anwendungsfehler oder ECC-Fehler, der eine beschädigte Festplattendatei verursacht? Wer weiß, ob Sie kein ECC haben?
Zan Lynx

5

Um die Sache zu vereinfachen, zitieren Sie aus Wikipedia :

Elektrische oder magnetische Störungen in einem Computersystem können dazu führen, dass ein einzelnes DRAM-Bit spontan in den entgegengesetzten Zustand wechselt. Ursprünglich wurde angenommen, dass dies hauptsächlich auf Alpha-Partikel zurückzuführen ist, die von Verunreinigungen in Chip-Verpackungsmaterialien emittiert werden. Untersuchungen [5] haben jedoch gezeigt, dass die Mehrzahl der einmaligen ("weichen") Fehler in DRAM-Chips auf Hintergrundstrahlung zurückzuführen ist
...
Dieses Problem kann durch die Verwendung von DRAM-Modulen mit zusätzlichen Speicherbits und Speichercontrollern, die diese Bits ausnutzen, verringert werden. Diese zusätzlichen Bits werden verwendet, um die Parität aufzuzeichnen oder einen fehlerkorrigierenden Code zu verwenden

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.