Warum nur im Serverbereich ECC?

mr hyde

Lieutenant
Dabei seit
Okt. 2012
Beiträge
812
Warum sollte es das denn im Consumerbereich geben und von allen mitbezahlt werden müssen, obwohl es 99% aller Consumer nicht brauchen?
 
D

DunklerRabe

Gast
Das ist eine sehr gute Frage. Der Grund ist, dass Intel darüber die verschiedenen Marktsegmente künstlich trennt in die drei Bereiche Consumer, Workstation/Entry Level Server und Server. Es macht technisch überhaupt keinen Sinn, eigentlich sollten ausnahmslos ALLE Systeme immer ECC nutzen. Es verkommt dann aber rein zu einer Wirtschaftlichkeitsbetrachtung für den Hersteller.

Warum sollte es das denn im Consumerbereich geben und von allen mitbezahlt werden müssen, obwohl es 99% aller Consumer nicht brauchen?
Ziemliche Fehleinschätzung, da praktisch keine Mehrkosten entstehen und alle Consumer davon profitieren würden ohne es zu merken.
 

BeezleBug

Commander
Dabei seit
Jan. 2011
Beiträge
2.960
Gibt es auch im Consumerbereich Bereich wenn man es unbedingt will. Der Skylake I3 und Pentium supporten auch ECC Speicher.

"Memory Controller: Dual Channel PC4-17000U/PC3L-12800U (DDR4-2133/DDR3L-1600), 34.1GB/s, max. 64GB, ECC-Unterstützung"
Intel Core i3-6100

Es gibt keine technische Begründung..man kann es durchaus in die Memory Controller integrieren, wie man sieht, es wird halt einfach nicht wirklich gemacht. Frag doch einfach bei Intel an ;)
 
Zuletzt bearbeitet:

HansDampf555

Banned
Ersteller dieses Themas
Dabei seit
Aug. 2015
Beiträge
179
Mir gehts hier um die technische Begründung, warum ECC im Consumerbereich nicht Standard ist.
 

cvzone

Moderator
Teammitglied
Dabei seit
Okt. 2004
Beiträge
5.862
Technische Begründung gibt es keine, höchstens eine wirtschaftliche. Es ist aber halt ein Niveau von Sicherheit, das der Heimnutzer einfach nicht braucht. Wenn der PC alle 3 Monate mal speicherbedingt abstützt, dann ist das schade, aber nicht so Wild wie bei einem Mission Critical Server.
 
Zuletzt bearbeitet:

blöderidiot

Captain
Dabei seit
Juni 2004
Beiträge
3.294

HansDampf555

Banned
Ersteller dieses Themas
Dabei seit
Aug. 2015
Beiträge
179
Was macht dieses ECC eigentlich?

Das ist ja eine Fehlerkorrektur.

Hilft die nur, dass der Server nicht abstützt?
 
D

DunklerRabe

Gast
@blöderidiot:
Mein Rechner würde also 512 Fehler pro Monat erfahren, das wären statistisch 17 pro Tag. Inakzeptabel, brauch ich nichts weiter zu sagen, oder?

Die Mehrkosten, die so winzig wären, würde man auffangen durch die Skaleneffekte. Man müsste dann ja auch keine non ECC DIMMs mehr herstellen.

Und Kosten sind kein technischer Grund dafür ECC nicht zu nutzen ;)
 

blöderidiot

Captain
Dabei seit
Juni 2004
Beiträge
3.294
Mein Rechner würde also 512 Fehler pro Monat erfahren, das wären statistisch 17 pro Tag. Inakzeptabel, brauch ich nichts weiter zu sagen, oder?
Das hängt glaube ich von der Höhe/der atmosphärischen Schirmung ab. Aber so ungefähr wird das hinkommen:
the spacecraft Cassini–Huygens, launched in 1997, contains two identical flight recorders, each with 2.5 gigabits of memory in the form of arrays of commercial DRAM chips. Thanks to built-in EDAC functionality, spacecraft's engineering telemetry reports the number of (correctable) single-bit-per-word errors and (uncorrectable) double-bit-per-word errors. During the first 2.5 years of flight, the spacecraft reported a nearly constant single-bit error rate of about 280 errors per day. However, on November 6, 1997, during the first month in space, the number of errors increased by more than a factor of four for that single day. This was attributed to a solar particle event that had been detected by the satellite GOES 9
 

BeezleBug

Commander
Dabei seit
Jan. 2011
Beiträge
2.960
@Tausendsassa wieso soll das bitte viel teurer sein? kostet fast das selbe.

@HansDampf555
Ganz im Ernst, wie wärs wenn du einfach mal selber nachliest. Hier eine Frage nach der anderen stellen ohne wirklich Sinn, ist nicht Ziel dieses Forums.
http://lmgtfy.com/?q=ECC+Arbeitsspeicher
 
T

Tausendsassa

Gast
Hast du schon mal gekuckt was die Mainboards kosten?
Also für Haswell, Skylake ist ja eh noch nicht auf dem Markt angekommen.
 

h00bi

Fleet Admiral
Dabei seit
Aug. 2006
Beiträge
12.890
Dafür gibt es 2 Gründe:
1. Die Hersteller wollen verhindern dass Consumer Hardware für Server benutzt wird.
2. Der Endkunde ist nicht bereit den Aufpreis dafür zu bezahlen. Ein DRAM Modul mit ECC zu bauen kostet ungefähr 10% mehr als ein non-ECC, da man pro Rank einen zusätzlichen Chip benötigt. Wenn man sich mal die Speicherpreise von früher (bis ca. 2007) anschaut, wird aus 10% plötzlich ein nettes Sümmchen pro PC. Deswegen hat es sich nie etabliert.
 

Holt

Fleet Admiral
Dabei seit
Mai 2010
Beiträge
53.099
Weil es keiner braucht und es langsamer ist...
Langsamer ist nur das regECC, weil da alles über das Register geht, unbuffered ECC ist nicht automatisch langsamer. Ob man es braucht, darüber kann man streiten, der Rechner läuft auch ohne, er stürtzt vielleicht mal ab und man hat auch mal korrupte Dateien oder gar ein korruptes Filesystem, aber wer damit leben kann, braucht es nicht.

eigentlich sollten ausnahmslos ALLE Systeme immer ECC nutzen
Genau, zumal jeder PC ja heute einige bis etliche GB RAM verbaut hat, da wäre ECC RAM schon wirklich sinnvoll.

Gibt es auch im Consumerbereich Bereich wenn man es unbedingt will. Der Skylake I3 und Pentium supporten auch ECC Speicher.
Was alleine aber nichts nutzt, es muss von dem Speichercontroller (der heutzutage in der CPU steckt), dem Mainbaord (also auch Chipstz und BIOS) auch unterstützt werden, wenn nur ein Glied in der Kette fehlt, hat man kein ECC RAM, dann hängen die ggf. vorhandenen zusätzlichen Bits einfach in der Luft.

man kann es durchaus in die Memory Controller integrieren, wie man sieht, es wird halt einfach nicht wirklich gemacht.
Wobei ich wetten würde, dass auch jeder i5 und i7 einen Memory Controller mit ECC Funktion hat, nur wird der eben deaktiviert um die Xeons zu verkaufen. Bei den Celeron, Pentium und i3 lässt man den aktiv, weil deren Marktsegment nicht mit Xeons abgedeckt wird, das ist offenbar zu klein um dort die Xeons parallel anzubieten.

Mir gehts hier um die technische Begründung, warum ECC im Consumerbereich nicht Standard ist.
Nein, technisch kann man das nicht begründen, man könnte aber im Gegenteil gut begründen, warum es Standard sein sollte.

Das normale ECC wie es ein i3 oder Xeon E3 unterstützt, kann nur einzelne Bitfehler korrigieren und Doppelfehler erkennen, bei Advanced ECC geht auch mehr, aber das ist bei Intel den größeren Xeon E5 vorbehalten.
Hilft die nur, dass der Server nicht abstützt?
Es hilft auch gegen korrupte Datein oder verfälschte Ergebnisse, denn alles was im RAM steht wird ja verändert, wenn es in dem Bereich liegt wo ein Bit kippt und was das ist, kann man eben nie vorhersagen. Ist es Programmcode, stützt das Programm ab, ist es Kernal Code, gibt es einen Bluescreen, sind es Daten werden diese verfälscht und sind es Metadaten des Filesystems, kann man sich das Filesystem erschiessen. Wird der Bereich nicht genutzt oder sowieso wieder überschrieben, passiert gar nichts. Bemerken kann man RAM Fehler aber nur, wenn man ECC RAM und ein Betriebssystem hat, welches auf die Erkannten Fehler des Memory Controllers auch reagieren kann, also bei unkorrigieren Fehler den Rechner stoppt damit keine Schaden entsprecht, etwa indem falschen Ergebnisse ausgegegen werden.

Ansonstn kann ich mich h00bi nur anschliessen:
Dafür gibt es 2 Gründe:
1. Die Hersteller wollen verhindern dass Consumer Hardware für Server benutzt wird.
2. Der Endkunde ist nicht bereit den Aufpreis dafür zu bezahlen.
Wobei bei 2. den meisten einfach das Problembewusstsein fehlt, was aber auch nicht wundert, denn es steht ja nie dabei, dass ein RAM Fehler ihr Problem ausgelöst hat. Stützt ein Programm ab, ist das eben buggy, Windows ist sowieso Schrott wenn es abstützt und wenn mal eine Datei korrupt ist (fällt bei viele Dateien ja nicht auf, meist nur bei Archiven weil die eine Prüfsumme habe), dann liegt es an der Platte. Dabei ist die Platte fast nie die Ursache, da diese bei unkorrigieren Fehlern eine Lesenfehler ausgeben und unerkannte Fehler wirklich extrem selten vorkommen, denn auf der Platte gibt es für jeden Sektor eine ECC und auch bei der Übertragung eine CRC für jedes FIS mit maximal 8k Daten. Einzig der Plattencache ist bei Conmsumer Platten eine mögliche Fehlerquelle, da die meist keine Ende-zu-Ende Fehlerüberprüfung oder gar den vollen Schutz der internen Datenpfade haben.

Das haben Enterprise Platten aber und das ganzen Konzept zur Vermeidung oder wenigstens Erkennung von Fehlern geht ja weiter, so haben auch die Netzwerkadapter für Enterprisenutzung eine Fehlerkorrektur für ihre internen Puffer, was ja auch RAM ist. Hier z.B. die Übersicht für einige Intel Modelle:

Intel-Ethernet-Controller-ECC.png

Auch deswegen ist teurer, weil da eben überall die Fehlererkennung und -vermeidung eine Rolle spielt und wenn man es auf die Spitze treiben will oder muss, landet man beim Mainframe, wo wirklich alles doppelt und dreifach überwacht wird, damit ja kein Bit irgendwo kippt und Fehler provoziert, weshalb die Dinger auch bei Banken und Versicherungen, so ein solche Bitfehler gewaltige Schäden anrichten könnte, bis heute unverzichtbar sind.
 

mensch183

Captain
Dabei seit
Jan. 2008
Beiträge
3.610
Dafür gibt es 2 Gründe:
1. Die Hersteller wollen verhindern dass Consumer Hardware für Server benutzt wird.
Es gibt nur einen Grund. Deinen erstgenannten. Ich würde ihn noch umformulieren: "Die Hersteller wollen verhindern, dass Consumer Hardware für irgendwas ernsthaftes benutzt wird."

Bis Anfang der 90er (30 polige SIMMs) hatte jeder 0815-PC parity-RAM, also 9 Bit Speicher pro Byte Content, wie man auch für ECC brauch. Danach kamen PS/2-SIMMs, die es mit und ohne Parity gab. Die PC-Boards konnten beides. Danach war es ganz aus - genau in dem Moment, als breitere Speichersockel Mode wurden und ECC richtig nützlich gewesen wäre, weils ja viel mehr als ein parity-check bringt. Auch neuere EC-Mechanismen wie Chipkill sind nie in PCs angekommen. :(

Zur Häufigkeit von RAM-Fehlern: http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf ..."About a third of machines and over 8% of DIMMs in our fleet saw at least one correctable error per year ... Memory errors are strongly correlated ..."

Man bekommt recht gut mit, wenn ein RAM-Modul im Arsch ist und könnte oft tauschen bevor einem wichtige Daten geschrottet werden.
 
Zuletzt bearbeitet:

Holt

Fleet Admiral
Dabei seit
Mai 2010
Beiträge
53.099
Enterprise HW unterscheidet sich noch nur mehr als nur ECC-RAM von Consumer HW, was ich auch am Beispiel der NICs zeigen wollte, auch wenn der Übergang da fliessend ist und die eine Plattform mehr als die andere hat. Advanced ECC wie Chipkill haben z.B. bei Intel erst die Xeon E5, aber nicht die kleinen E3.
 
Top