Mickey Mouse schrieb:
Irgendwann im Laufe der Evolution wurde halt das Extra-Parity-Bit für ECC gestrichen, so what?
Nein, das ist immer noch üblich, aber es gibt auch Weiterentwicklungen beim ECC bis hin zu Spiegelung des RAM Inhalts, aber das ist für den Heimanwender dann wirklich übertrieben und selbst bei Servern eher selten. Eher findet man schon Advanced ECC Technologien wie Chipkill, denn selbst mit dem normalen ECC bleibt noch eine bestimmte Anzahl an RAM Fehlern unentdeckt und für Server kann das zuviel sein. Wirklich nahe an 100%iger Sicherheit vor Fehler durch gekippte Bits im RAM, der CPU, deren Cache oder auf Datenpfaden sind eigentlich nur Mainframes, weshalb diese auch noch bei Banken und Versicherungen weiter im Dienst sind, dann da kann ein gekipptes Bit an der falschen Stelle wirklich gewaltigen Schaden anrichten.
Mickey Mouse schrieb:
Jetzt mal Butter bei die Fische: WER hatte schonmal einen Absturz/Ausfall wegen eines Speicher Fehlers?
Sehr viel mehr Leute als es wissen! Es steht ja nie dran, dass es ein BSOD wegen einer RAM Fehlers war, die zeigen sich ja immer nur indirekt. RAM Fehler sind nicht so selten wie viele User glauben, google hat dazu mal eine Analyse gemacht, die nutzen aber ECC RAM und was dort als correctable errors auftaucht, bleibt ohne ECC RAM natürlich unentdeckt und führt ohne ECC RAM ggf. zu einem Problem wie einem Absturz, einer defekten Datei. Es kann auch nur einem Fehler wie komischen Pixel in einem Bild oder Film geben, je nachdem was gerade an der betroffenen Stelle im RAM steht.
Also im Alter von 10 bis 18 Monaten traten oft erst zunehmend Fehler auf, daher ist es eben auch durchaus sinnvoll den RAM Test nicht nur am Anfang einmal zu machen, sondern auch mal zu wiederholen, spätestens wenn sich denn mal Probleme zeigen.
Auch von Microsoft gibt es eine Analyse zu Hardwarefehlern:
foofoobar schrieb:
Ich! Aber da es schwierig nachzuweisen ist, werden die meisten Abstürze nicht untersucht oder anderen Faktoren zugeschoben.
Wenn man einen Rechner bekommt, zusammenbaut oder auch nur irgendwas am RAM ändert, dann sollte man grundsätzlich vor der Inbetriebnahme das RAM ordentlich testen, spätestens aber wenn Probleme auftauchen wie korrupte Dateien oder Bluescreens. Damit kann man zumindest die hard errors (Fehler die bei bestimmten Zugriffsmustern an bestimmten Adressen immer wieder auftreten) im RAM ausschließen, gegen die soft-errors (spontan gekippte Bits, z.B. aufgrund natürlicher radioaktiver Strahlung, Eletrosmok, etc.) hilft sowieso nur ECC-RAM und die kann man auch nur bei ECC RAM erkennen. Dazu sollte man grundsätzlich alles im BIOS so eingestellt haben, wie es auch nachher unter Windows läuft, also keine OC-Tweaktools unter Windows verwenden, außer für kurze Tests was ggf. noch geht bevor man es dann im BIOS einstellt! Dann die iso / img von
Memtest86+ von CD oder USB-Stick booten, denn man kann nicht unter Windows sinnvoll das RAM testen. Dieses
Memtest von HCI welches unter Windows läuft ist also weitgehend unsinnig, denn Windows hat eine eigene Speicherverwaltung und damit weiß man nie, welcher Teil des physikalischen Speichers nun gerade getestet wird und daher besagt das Ausbleiben eines Fehler bei dem Programm eben gerade nicht, dass das ganze RAM wirklich fehlerfrei ist. Es sollten min. 6 PASS abgewartet werden und es darf dabei kein einziger Fehler auftreten beim Test mit allen Riegeln zusammen, also am Besten über Nacht laufen lassen.
Wichtig: Man testet immer alle Riegel zusammen und nur dann die Riegel einzeln, wenn es mit allen zusammen Fehler gibt, denn dann muss nicht zwangsläufig ein Riegel defekt sein, es kann auch z.B. an einem Slot auf dem Board, einen verbogenen Pin der CPU, den BIOS Einstellungen oder der Spannungsversorgungen für die RAMs liegen.
foofoobar schrieb:
BTW: Auf Maschinen mit ECC tauchen Speicherfehler auch gerne mal auf. Ohne ECC wäre die Ursache quasi nicht nachvollziehbar.
Eben, ohne ECC erfährt man nur über die Auswirkungen davon, mit ECC und einem System welches dieses auch unterstützt, kann man dann die Anzahl der erkannten Fehler auch auslesen und bei erkannten aber nicht korrigierbaren Fehler z.B. eine Systempanik auslösen, was oft besser ist als mit korrupten Daten weiter zuarbeiten.
Cardhu schrieb:
Falls es hilft:
Auf meinem GA-Z77M-D3H Board liefen 1866er DDR3 ECC unregistered RAMs problemfrei.
Auf dem GA-H97M-D3H Brett vom Kollegen laufen 4*4GB 1866er ECC unregistered.
Auf dem alten GA-H77-D3H von nem anderen Kollegen lief das auch
Das ist auch keine Frage, unbuffered ECC RAM funktioniert eigentlich überall wo auch normales RAM geht, da hängen nur die extra Bits für die Fehlerkennung in der Luft, denn die gewöhnlichen S. 115x Consumerchipsätzen sowie -boards und auch die i5 und i7 CPUs für diese Sockel unterstützen kein ECC RAM, das wird dann wie normales RAM ohne ECC genutzt. Bei registered (reg.) oder LRDIMM ECC sieht das anders aus, das unterstützen nur echte Serverplattformen, bei Intel nicht einmal die Xeon E3 für die Sockel 115x, sondern erst die Xeon E5.
Nur mit ECC RAM und ohne passendes Boards und passende CPU hat man also kein funktionierendes ECC RAM und entsprechend keinen Schutz gegen RAM Fehler. Damit es funktioniert muss man schon eine CPU, ein Boards und eben das ECC RAM haben, dann hat man die Fehlerkorrekturfunktionen automatisch, da dies per HW im RAM Controller erfolgt. Will man auch noch die Anzahl der Fehler auslesen oder auf erkannte unkorrigierbare Fehler reagieren können, muss das Betriebssystem dies auch unterstützen und zwar für die konkret verwendete Plattform. Bei Windows können das meines Wissens nur die Serverversionen und bei Linux wird dafür z.B. das edac-utils verwendet, das kann bei manchen Boards auch noch weitere ECC Fehler erkennen, etwa bei PCIe Geräten, das Konzept Daten bzw -übertragungen per ECC zu sichern, hört ja beim RAM nicht auf. Bei Serverhardware gibt es oft auch entsprechende Herstellertools dafür.