smooth el 4a schrieb:
diejenigen, die heute ihr system aufbauen, werden mit ihrer CPU im laufe der jahre auch immer öfter ins CPU-limit rutschen.
Klar, bei einer alten CPU ist man eher am CPU Limit und mehr schnelleren RAMs kann man dieses CPU Limit ein klein wenig strecken, je nachdem welches Spiel oder welche Anwendung man betrachtet, bringt das mehr oder weniger viel. Aber die alten Systeme haben noch DDR3 RAM und inzwischen ist DDR4 RAM aktuell, willst Du wirklich noch viel Geld in schnelles DDR3 RAM für ein altes System investieren oder ist es nicht sinnvoller das Geld in ein neues System mit sowieso schnellere CPU, neuen Featuren und ggf. aktuellen DDR4 RAMs zu stecken?
smooth el 4a schrieb:
da wärs eigentlich nur gescheit, wenn die adressen, an denen gehäuft fehler passieren, automatisch nicht mehr angesprochen werden würden. somit würde die RAM-kapazität zwar nach und nach sinken, oder besser: sie würde "gesund geschrumpft" werden
Das wäre schön, denn dann wären die hard-errors kein Thema mehr, aber das geht es nicht und das kann es auch nicht geben, denn wie soll der RAM Controller erkennen, dass die Daten die er ausgelesen hat, nicht die sind die dort geschrieben wurden? Ohne ECC RAM geht das nicht und nur Tools zum Testen des RAMs können das, weil die eben ein bestimmtes Bitmuster in die RAMs schreiben und daher genau wissen was sie beim Lesen bekommen müssen.
smooth el 4a schrieb:
vlt. auch ein zusätzlicher grund, warum es nicht die option gibt, "server-CPUs" zu übertakten und diese auch von haus aus mit nem niedrigeren takt laufen, als "gamer-CPUs"
Bei Server-HW geht es um Zuverlässigkeit, bei Gamer-HW um Höchstleistung (für möglichst wenig Geld) und Zuverlässigkeit ist den meisten egal, jedenfalls sollte sie jedem egal sein, der eine Komponente seines Systems übertaktet und wenn sie ihm nicht egal ist, sollte er nichts übertakten.
smooth el 4a schrieb:
und die alterung kann dann wohl auch beeinflusst werden, durch die höhe der anliegenden spannung und der entstehenden hitze...
Normalerweise laufen alle Alterungsprozesse je 10°C mehr doppelt so schnell ab.
smooth el 4a schrieb:
hab nochmal nachgedacht zum thema, wieviel mehr fehler mit ddr4 produziert werden, als mit ecc: vermutlich grundsätzlich ersmal kein einziger!
DDR4 vs ECC ist schon mal Blödsinn, ECC RAM gibt es sehr lange und nicht nur bei DDR4 RAM, es ist auch kein grundlegend anderes RAM, sonst hat eben 9 statt 8 Bits bzw. bei 72 Bits pro Riegel statt der bei den DIMMs schon länger üblichen 64 und daher 9 statt 8 Chips auf dem Riegel, oder 18 statt 16. Ansonsten ist zumindest das Unbuffered ECC RAM identisch und funktioniert daher auch überall wo normale Riegel ohne ECC RAM auch laufen, nur hängen dann eben die zusätzlichen Bits ungenutzt in der Luft und man hat keine ECC Funktion. Die steckt nämlich im RAM Controller und nicht in den Riegeln selbst, daher muss das System als Ganzes, also Board und CPU (dort steckt heutzutage der RAM Controller drin) ECC RAM unterstützen.
ECC funktioniert dadurch, dass in den zusätzlichen Bits eben eine Prüfsumme über die Daten der anderen Bits steckt und damit kann man Fehler erkennen und teilweise sogar auch beheben, ohne diese zusätzlichen Bits des ECC RAMs geht das einfach nicht, da gibt es keine Chance zu wissen ob die Daten die gelesen wurden auch die sind, die dort verher geschrieben wurden, außer eben wenn das Programm dies weiß, aber außer den Programmen zum Testen von RAM weiß das kein Prgramm. Es müsste dazu eine Pürfsumme über die Daten bildet, aber dann weiß es eben meist auch noch nicht, welches Bit wo falsch ist und wie es richtig sein müsste, sondern nur das die Daten eben nicht passen, außer die Prüfsumme ist so umfangreich, dass es bis zu eine bestimmten Grade Fehler beheben kann, aber damit bläht sich das Datenvolumen wieder auf. Packprogramme für Archive wie 7z, Zip oder RAR können sowas, die erkennen im einfachsten Fall zumindest, dass ein Archive korrrupt ist und bei eigen hat man auch die Möglichkeit Extradateien oder größere Archive anlegen zu lassen, die dann auch eine begrenzte Fehlerkorrektur erlauben, sollte ein Archiv korrupt sein.
smooth el 4a schrieb:
grund: ecc ist ja nur ein zusätliches "feature", welches z.b. eben am ddr4 mit drangebastelt wurde, um dessen fehler zu erkennen und evtl. zu korrigieren.
richtig?
Wie gesagt hat ECC nichts mit DDR4 zu tun, außer dass es eben auch wieder ECC RAM bei DDR4 gibt. ECC RAM ist einfach RAM mit mehr Bits und einem RAM Controller der diese zur Fehlererkennung und -korrektur nutzt. Da gibt es auch unterschiedlich aufwendige Technologien und die gibt es schon sehr, sehr lange und nicht erst seit es DDR4 RAM gibt und man hat sie sich auch nicht zum Spaß ausgedacht, sondern um die Fehlerrate noch weiter zu senken.
Schon der
erste IBM PC von 1981 hatte 9 RAM Chips mit Parity check, damit kann man zwar RAM Fehler nicht korrigieren, wohl aber erkennen. Um Geld zu sparen, wurde dann von den Nachbauern auf diese Feature verzichtet, aber die Schöpfer des Urahne alle x86er Rechner hatten sich um RAM Fehler schon damals Gedanken gemacht.
smooth el 4a schrieb:
also ich kenne mich ja nicht aus, aber VMs werden doch in den RAM geschrieben oder? da gibts doch möglichkeiten, die quersumme (?) oder so zu prüfen. macht man seinen RAM dann halt einfach mit VMs voll und checkt nach ner weile die quersumme. oder stell ich mir das zu einfach vor?
Ja, denn jedesmal wenn die VM den Inhalt ihres RAM ändert, müsste die Quersumme neu berechnet werden und vorher müsste man prüfen, ob die alten noch gestimmt hat. Wie lange soll das dauern? Über wie viele Byter würdest Du je eine Quersumme erreichen, damit die VM überhaupt mal dazu kommt auch was zu machen und nicht nur die ganze Zeit Quersummen erreichnet? Außer Du verlagerst das in HW und berechnest die Quersumme immer nur über ein paar Bytes, wäre das nicht praktikabel und dann hast Du genau das, was ECC RAM macht. Bei dem berechnet der RAM Controller z.B. pro 8 Byte, also 64 Bit dann noch mal 8 Bits der ECC und schreibt diese in den 9. RAM Chips auf dem ECC RAM Riegel und das in Echtzeit. Bei Dual-Channel RAM sind es eben 16 Byte bzw. 128 Bits über die dann 16 Bit "Quersumme" gebildet werden und wenn man diese Quersumme schlau genug bildet, dazu nimmt man z.B.
BCH Codes oder
Hamming-Codes, kann man je nach Auslegeung eben auch entsprechend viele Bitfehler noch korrigieren.
Beim einfachsten ECC wie es die kleinen Xeon E3 beherrschen, geht eben nur die Korrektur von Singlebit Fehlern, Multibit Fehler werden da zwar erkannt, können aber eben nicht mehr korrigiert werden. Die Xeon E5 können z.B. auch Advanced ECC wie
Chipkill und Techniken wie Memory Scrubbing, also aktiv nach Fehlern im RAM suchen um diese zu korrigieren, bevor so viele Bits gekippt sind, dass eine Korrektur nicht mehr möglich ist.
smooth el 4a schrieb:
wenns memtest an der stelle nicht bringt, dann muss es doch andere mögichkeiten geben, den RAM mit etwas voll zu schreiben und dann nach ner weile den dort gelagerten inhalt mit dem original abzugleichen, das vlt auf der festplatte liegt?
Du kannst ja ein Programm schreiben welches sowas macht, nur darf es nicht unter einem OS laufen, welches eine eigene Speicherverwaltung hat, denn dann weißt Du eben nie, wo welche RAM Inhalte wirklich stehen und damit wäre der Rechner auch nicht nutzbar, während das Programm läuft und schaut ob zufällig ein Bit im RAM gekippt ist.
So ein Prgramm zu machen ist aber relativ sinnfrei, weil die Lösung für RAM Fehler eben ECC RAM ist, dann schaut die HW automatisch bei jedem Lesezugriff aufs RAM selbst nach, ob die Daten auch die sind die dort geschrieben wurden und wenn nicht, korrigiert sie die oder, wenn das nicht möglich ist, meldet sie den Fehler. Dann kommt es darauf an, ob das OS diese Meldung auswerten kann und wenn ja, was dort als Reaktion hinterlegt ist.
smooth el 4a schrieb:
uh, das hieße ja, dass der RAM schlechter geworden ist und nur deswegen ne fehlererkennung braucht? schon wieder so ein "feature"
RAM war immer schon fehleranfällig, die CRC bei der Übertragung hat man aber nicht eingeführt um RAM Fehler zu erkennen, das kann die auch nicht leisten, sondern nur um Übertragungsfehler zu vermieden. Die kommen nämlich noch hinzu und wenn man kein ECC RAM hat, können sonst die Fehler eben sowohl im RAM als auch bei der Übertragung passiert sein. ECC RAM schützt auch vor Übertragungsfehlern, da wie gesagt die ECC Funktion eben im RAM Controller steckt und damit den Übertragungsweg einschließt. Leider hat man bei DDR4 eben ECC RAM nicht gleich zur Pflicht gemacht, dies hätte auch nur die Kosten getrieben, braucht man für ECC RAM Riegel immer noch einen 9. RAM Chip, muss also 12,5% mehr RAM verbauen als tatsächlich genutzt wird. Aber wie so oft, hat man eben mal wieder eine Fehlerquelle abgesichert wenn dort die Häufigkeit von Fehlern wegen der größeren Übertragungsfrequenzen zunimmt. Die Übertagung zu Festplatten wurde auch erst mit der Einführung der schnellen Ultra-DMA Übertragungen durch eine CRC für jeden FIS abgesichert, vorher gab es da auch keinen Schutz vor Übertragungsfehlern. Auf den Platten selbst gibt es aber schon lange eine Fehlererkennung und Korrektur, da dort Bitfehler schon immer ein Probleme waren und immer wenn etwas besonders fehleranfällig ist, hat es auch bei einfacher Consumerhardware eine Fehlerkorrektur, sonst nur bei Enterprise-HW.
smooth el 4a schrieb:
das klingt für den heimanwender erstmal unbedeutend, aber wie ein viel benutzer rechner mit OC-RAM wohl nach einigen jahren ausguckt?
Das sollte einem egal sein, wenn nicht, sollte man wissen was man macht und welches System und RAM man nimmt.
smooth el 4a schrieb:
na weil mit OC-RAM die stabilität des systems in zukunft immer unsicherer wird?
RAM altert und wird nicht besser, aber wer sein System oder sein RAM übertaktet, der sollte sich wie gesagt keine Sorgen um die Stabilität machen und wenn doch, dann sollte er nicht übertakten und überlegen ob Gaming-HW die passende Wahl ist. Die ist nur dazu gemacht um meistens stabil zu laufen und wenn man die Möglichkeit hat zu übertakten, liegt es auch noch in der eigenen Hand ob man die Einstellungen so hinbekommt, dass dieses meistens wenigstens oft genug ist.