Was ist der Unterschied zwischen ECC-Speicher und normalem Speicher? Erklären Sie, was „ECC-Unterstützung“ im RAM ist

Fragen

Welche Speichergrenzen setzen moderne Betriebssysteme der Windows-Familie?

Veraltet, aber mancherorts noch betriebsfähig anzutreffen Windows-Systeme 9x/ME kann nur mit 512 MB Speicher arbeiten. Und obwohl großvolumige Konfigurationen für sie durchaus möglich sind, bringt dies viel mehr Probleme als Vorteile. Modernes 32-Bit Windows-Versionen 2000/2003/XP und Vista unterstützen theoretisch bis zu 4 GB Speicher, tatsächlich stehen aber nicht mehr als 2 GB für Anwendungen zur Verfügung. Mit wenigen Ausnahmen ist das Einsteiger-Betriebssystem Windows XP Starter Edition und Windows Vista Starter kann mit nicht mehr als 256 MB bzw. 1 GB Arbeitsspeicher arbeiten. Die maximal unterstützte Größe von 64-Bit-Windows Vista variiert je nach Version und beträgt:

  • Home Basic - 8 GB;
  • Home Premium – 16 GB;
  • Ultimativ – Über 128 GB;
  • Geschäftlich - Mehr als 128 GB;
  • Unternehmen – Mehr als 128 GB.

Was ist DDR-SDRAM?

Speicher Typ DDR(Double Data Rate – doppelte Datenübertragungsrate) stellt eine Datenübertragung über den Speicherchipsatz-Bus zweimal pro Takt an beiden Fronten des Taktsignals bereit. Wenn also der Systembus und der Speicher mit der gleichen Taktfrequenz laufen, Durchsatz der Speicherbus ist doppelt so groß wie bei herkömmlichem SDRAM.

Bei der Bezeichnung von DDR-Speichermodulen werden üblicherweise zwei Parameter verwendet: entweder die Betriebsfrequenz (gleich dem doppelten Wert Taktfrequenz) - zum Beispiel beträgt die Taktfrequenz des DR-400-Speichers 200 MHz; oder Spitzendurchsatz (in Mb/s). Derselbe DR-400 hat eine Bandbreite von ca. 3200 Mb / s und kann daher als PC3200 bezeichnet werden. Derzeit hat DDR-Speicher an Relevanz verloren und ist in neuen Systemen fast vollständig durch das modernere DDR2 verdrängt worden. Um jedoch eine große Anzahl älterer Computer mit installiertem DDR-Speicher über Wasser zu halten, wird es immer noch veröffentlicht. Die gebräuchlichsten 184-Pin-DDR-Module sind PC3200 und in geringerem Maße PC2700. DDR SDRAM kann registrierte und ECC-Varianten haben.

Was ist DDR2-Speicher?

DDR2-Speicher ist der Nachfolger von DDR und derzeit der dominierende Speichertyp für Desktops, Server und Workstations. DDR2 ist für den Betrieb mit mehr als ausgelegt hohe Frequenzen, als DDR, zeichnet sich durch einen geringeren Stromverbrauch sowie eine Reihe neuer Funktionen aus (Prefetch 4 Bits pro Takt, eingebaute Terminierung). Darüber hinaus sind DDR2-Chips im Gegensatz zu DDR-Chips, die sowohl in TSOP- als auch in FBGA-Gehäusen hergestellt wurden, nur in FBGA-Gehäusen erhältlich (was ihnen eine größere Stabilität bei hohen Frequenzen verleiht). DDR- und DDR2-Speichermodule sind nicht nur elektrisch und mechanisch kompatibel zueinander: Für DDR2 werden 240-Pin-Blenden verwendet, während für DDR 184-Pin-Blenden verwendet werden. Heute arbeiten die gängigsten Speicher mit einer Frequenz von 333 MHz und 400 MHz und werden als DDR2-667 (PC2-5400/5300) bzw. DDR2-800 (PC2-6400) bezeichnet.

Was ist DDR3-Speicher?

Antwort: Der DDR-Speicher der dritten Generation – DDR3 SDRAM – sollte bald den aktuellen DDR2 ersetzen. Die Leistung des neuen Speichers hat sich im Vergleich zum Vorgänger verdoppelt: Jeder Lese- oder Schreibvorgang bedeutet nun Zugriff auf acht Gruppen von DDR3-DRAM-Daten, die wiederum unter Verwendung zweier unterschiedlicher Referenzoszillatoren über die I/O-Pins gemultiplext werden eine Frequenz von viermal der Taktfrequenz. Theoretisch liegen effektive DDR3-Frequenzen im Bereich von 800 MHz - 1600 MHz (bei Taktfrequenzen von 400 MHz - 800 MHz), daher lautet die Kennzeichnung von DDR3 je nach Geschwindigkeit: DDR3-800, DDR3-1066, DDR3 -1333, DDR3-1600 . Zu den Hauptvorteilen des neuen Standards gehört vor allem der deutlich geringere Stromverbrauch (Versorgungsspannung DDR3 - 1,5 V, DDR2 - 1,8 V, DDR - 2,5 V).

Was ist SLI-fähiger Speicher?

Antwort: SLI-Ready-Speicher, also Speicher mit EPP (Enhanced Performance Profiles - Profile zur Leistungssteigerung), wurde von den Marketingabteilungen von NVIDIA und Corsair entwickelt. EPP-Profile, bei denen neben den Standardspeichertimings auch der Wert der optimalen Versorgungsspannung der Module, sowie einige Zusätzliche Optionen, werden auf den SPD-Chip des Moduls geschrieben.

Dank EPP-Profilen wird die Komplexität der Selbstoptimierung des Betriebs des Speichersubsystems reduziert, obwohl "zusätzliche" Timings keinen signifikanten Einfluss auf die Systemleistung haben. Die Verwendung von SLI-fähigem Speicher bringt also im Vergleich zu herkömmlichem, manuell optimiertem Speicher keinen wesentlichen Vorteil.

Was ist ECC-Speicher?

ECC (Error Correct Code – Fehlererkennung und -korrektur) wird verwendet, um zufällige Speicherfehler zu korrigieren, die durch verschiedene externe Faktoren verursacht werden, und ist eine verbesserte Version des „Parity Check“-Systems. Physisch ist ECC als zusätzlicher 8-Bit-Speicherchip implementiert, der neben den Hauptchips installiert ist. Somit sind ECC-Module 72-Bit (im Gegensatz zu standardmäßigen 64-Bit-Modulen). Einige Speichertypen (Registered, Full Buffered) sind nur in der ECC-Version verfügbar.

Was ist registrierter Speicher?

Registrierte (registrierte) Speichermodule werden hauptsächlich in Servern verwendet, die mit großen Mengen an RAM arbeiten. Alle haben ECC, d.h. sind 72-Bit und enthalten zusätzlich zusätzliche Register-Chips für teilweise (oder vollständige – solche Module werden als Full Buffered oder FB-DIMM bezeichnet) Datenpufferung, wodurch der Speichercontroller entlastet wird. Gepufferte DIMMs sind im Allgemeinen nicht mit ungepufferten kompatibel.

Ist es stattdessen möglich herkömmliches Gedächtnis Registriert verwenden und umgekehrt?

Trotz der physikalischen Kompatibilität der Anschlüsse sind regulärer ungepufferter Speicher und registrierter Speicher nicht miteinander kompatibel und dementsprechend ist die Verwendung von registriertem Speicher anstelle von regulärem Speicher und umgekehrt unmöglich.

Was ist SPD?

Jedes DIMM-Speichermodul verfügt über einen kleinen SPD-Chip (Serial Presence Detect), in dem der Hersteller Informationen über die Betriebsfrequenzen und entsprechende Verzögerungen der Speicherchips aufzeichnet, die zur Bereitstellung erforderlich sind normale Operation Modul. Informationen aus dem SPD werden vom BIOS während der Selbsttestphase des Computers vor dem Booten gelesen Betriebssystem und ermöglicht die automatische Optimierung der Speicherzugriffsparameter.

Können Speichermodule mit unterschiedlichen Nennfrequenzen zusammenarbeiten?

Es gibt keine grundsätzlichen Einschränkungen für den Betrieb von Speichermodulen unterschiedlicher Nennfrequenz. In diesem Fall (bei Auto-Tuning Speicher nach SPD-Daten), wird die Geschwindigkeit des gesamten Speichersubsystems durch die Geschwindigkeit des langsamsten Moduls bestimmt.

Ja, du kannst. Die hohe Standard-Taktfrequenz des Speichermoduls beeinträchtigt nicht seine Fähigkeit, bei niedrigeren Taktfrequenzen zu arbeiten, außerdem verringert sich die Speicherlatenz aufgrund niedriger Timings, die bei niedrigen Modul-Betriebsfrequenzen erreichbar sind (manchmal erheblich).

Wie viele und welche Art von Speichermodulen sollten im Systemboard installiert werden, damit der Speicher im Dual-Channel-Modus arbeitet?

Um den Speicherbetrieb im Dual-Channel-Modus zu organisieren, ist es im Allgemeinen erforderlich, eine gerade Anzahl von Speichermodulen (2 oder 4) zu installieren, und die Module müssen paarweise die gleiche Größe haben und vorzugsweise (aber nicht notwendigerweise ) aus der gleichen Charge (oder schlimmstenfalls vom gleichen Hersteller). Bei modernen Mainboards sind die Speichersteckplätze verschiedener Kanäle mit unterschiedlichen Farben gekennzeichnet.

Die Reihenfolge der Installation von Speichermodulen sowie alle Nuancen des Betriebs dieser Karte mit verschiedenen Speichermodulen sind normalerweise im Handbuch des Motherboards aufgeführt.

Welche Hersteller sollten überhaupt auf den Speicher achten?

Es gibt mehrere Speicherhersteller, die einen guten Ruf in unserem Markt verdienen. Dies werden beispielsweise Module der Marken OCZ, Kingston, Corsair, Patriot, Samsung und Transcend sein.

Natürlich ist diese Liste noch lange nicht vollständig, aber beim Kauf von Speicher dieser Hersteller können Sie sich mit hoher Wahrscheinlichkeit auf dessen Qualität verlassen.

So wie ich es verstehe, sind seine Argumente wie folgt:

  1. Google hat ECC nicht verwendet, als sie 1999 ihre Server bauten.
  2. Die meisten RAM-Fehler sind systematische Fehler, keine zufälligen.
  3. RAM-Fehler sind selten, weil Hardware verbessert.
  4. Wenn ECC-Speicher tatsächlich vorhanden wäre Bedeutung, dann würde es überall verwendet werden, nicht nur in Servern. Für diese Art von optionalem Material zu bezahlen, ist eindeutig zu unseriös.
Gehen wir diese Argumente nacheinander durch:

1. Google hat ECC 1999 nicht verwendet

Wenn Sie etwas tun, nur weil Google es einmal getan hat, versuchen Sie Folgendes:

A. Platzieren Sie Ihre Server in Versandbehältern.

Heute schreiben sie immer noch Artikel, dass dies eine großartige Idee ist, obwohl Google gerade ein Experiment durchgeführt hat, das als Fehlschlag angesehen wurde. Es stellt sich heraus, dass selbst Googles Experimente nicht immer aufgehen. Tatsächlich bedeutet ihre notorische Vorliebe für „Durchbruchsprojekte“ („Loonshots“), dass sie mehr gescheiterte Experimente haben als die meisten Unternehmen. Meiner Meinung nach ist dies ein erheblicher Wettbewerbsvorteil für sie. Machen Sie diesen Vorteil nicht größer, als er ist, indem Sie fehlgeschlagene Experimente blind kopieren.

B. Feuer in Ihren eigenen Rechenzentren legen.

Ein Teil von Atwoods Beitrag diskutiert, wie erstaunlich diese Server waren:

Einige werfen vielleicht einen Blick auf diese frühen Google-Server und sehen die Unprofessionalität in Bezug auf die Brandgefahr. Nicht ich. Ich sehe hier ein visionäres Verständnis dafür, wie kostengünstige Standardhardware das moderne Internet prägen wird.

Der letzte Teil des Gesagten ist wahr. Aber im ersten Teil ist etwas Wahres dran. Als Google anfing, eigene Boards zu entwerfen, hatte eine Generation von ihnen ein "Wachstumsproblem" ( ), das eine Anzahl von Bränden ungleich Null verursachte.

Übrigens, wenn Sie zu Jeffs Post gehen und sich das Foto ansehen, auf das im Zitat verwiesen wird, werden Sie feststellen, dass sich auf den Platinen viele Überbrückungskabel befinden. Dies verursachte Probleme und wurde in der nächsten Hardwaregeneration behoben. Auch sieht man eine etwas schlampige Verkabelung, die zusätzlich Probleme bereitete und auch schnell behoben war. Es gab noch andere Probleme, aber ich überlasse sie dem Leser als Übung.

C. Erstellen Sie Server, die Ihre Mitarbeiter verletzen

Die scharfen Kanten einer der Generationen Google-Server brachten ihnen den Ruf ein, aus "Rasierklingen und Hass" zu bestehen.

D. Erstellen Sie Ihr eigenes Wetter in Ihren Rechenzentren

Nach Gesprächen mit den Mitarbeitern vieler großer Technologieunternehmen scheint es, dass die meisten Unternehmen so klimatisiert waren, dass sich Wolken oder Nebel in ihren Rechenzentren bildeten. Man könnte es Googles kalkulierten und hinterhältigen Plan nennen, das Wetter von Seattle zu replizieren, um Microsoft-Mitarbeiter abzuwerben. Alternativ hätte es sich um einen Schöpfungsplan im wörtlichen Sinne handeln können von „ Cloud Computing". Oder vielleicht nicht.

Bitte beachten Sie, dass alles, was von Google angegeben wurde, ausprobiert und dann geändert wurde. Fehler zu machen und sie dann zu beheben, ist in jeder erfolgreichen Entwicklungsorganisation üblich. Wenn Sie die Ingenieurpraxis vergöttern, dann sollten Sie zumindest an der modernen Praxis festhalten und nicht an dem, was 1999 getan wurde.

Als Google 1999 Nicht-ECC-Server verwendete, zeigten sie eine Reihe von Symptomen, die sich schließlich als Speicherbeschädigung herausstellten. Einschließlich eines Suchindex, der praktisch zufällige Ergebnisse in Abfragen zurückgab. Der tatsächliche Fehlermodus hier ist aufschlussreich. Ich höre oft, dass ECC auf diesen Maschinen ignoriert werden kann, weil Fehler in einzelnen Ergebnissen akzeptabel sind. Aber selbst wenn Sie zufällige Fehler für akzeptabel halten, bedeutet deren Ignorieren die Gefahr einer vollständigen Datenverfälschung, es sei denn, es wird sorgfältig analysiert, dass ein Fehler ein Ergebnis nur geringfügig verfälschen kann.

In durchgeführten Studien am Dateisysteme ah, es hat sich immer wieder gezeigt, dass es trotz heroischer Versuche, Systeme zu schaffen, die gegen einen einzigen Fehler resistent sind, äußerst schwierig ist, dies zu tun. Grundsätzlich kann jedes stark getestete Dateisystem aufgrund eines einzelnen Fehlers (). Ich werde Dateisystementwickler nicht angreifen. Sie sind bei dieser Art von Analyse besser als 99,9 % der Programmierer. Es hat sich nur immer wieder gezeigt, dass das Problem so schwierig ist, dass die Leute es nicht vernünftig diskutieren können, und ein automatisiertes Tool für eine solche Analyse ist noch weit davon entfernt, ein einfacher Knopfdruck zu sein. In ihrem Warehouse Computer Handbook diskutiert Google die Fehlererkennung und -korrektur, und ECC-Speicher gilt als die beste Option, wenn es offensichtlich ist, dass Hardware-Fehlerkorrektur ( ) verwendet werden muss.

Google verfügt über eine hervorragende Infrastruktur. Nach dem, was ich über die Infrastruktur anderer großer Technologieunternehmen gehört habe, scheint Google das beste der Welt zu sein. Aber das bedeutet nicht, dass Sie alles kopieren sollten, was sie tun. Auch wenn nur ihre guten Ideen berücksichtigt werden, macht es für die meisten Unternehmen keinen Sinn, sie zu kopieren. Sie haben einen Ersatz für den Linux-Job-Hook-Scheduler geschaffen, der sowohl Hardware-Laufzeitinformationen als auch statische Ablaufverfolgungen verwendet, damit sie die Vorteile der neuen Hardware in Intel-Serverprozessoren nutzen können, was eine dynamische Cache-Partitionierung über Kerne hinweg ermöglicht. Wenn Sie dies auf allen Geräten verwenden, spart Google in einer Woche mehr Geld als Stack Exchange in seiner Geschichte für alle seine Maschinen ausgegeben hat. Bedeutet das, dass Sie Google kopieren müssen? Nein, es sei denn, Sie wurden bereits mit Manna vom Himmel getroffen, z. B. wenn Sie Ihre Kerninfrastruktur in hochoptimiertem C++ anstatt in Java oder (Gott bewahre) Ruby geschrieben haben. Und Tatsache ist, dass es für die überwiegende Mehrheit der Unternehmen eine absolut vernünftige Entscheidung ist, Programme in einer Sprache zu schreiben, die eine 20-fache Verringerung der Produktivität mit sich bringt.

2. Die meisten RAM-Fehler sind systematische Fehler

Das Argument gegen ECC gibt den folgenden Abschnitt der DRAM-Fehlerstudie wieder (Hervorhebung hinzugefügt von Jeff):
Unsere Studie hat mehrere Hauptergebnisse. Erstens haben wir herausgefunden, dass etwa 70 % der DRAM-Ausfälle wiederholte (z. B. permanente) Ausfälle sind, während nur 30 % intermittierende (intermittierende) Ausfälle sind. Zweitens haben wir festgestellt, dass große Multibit-Fehler, wie z. B. Fehler, die eine ganze Zeile, Spalte oder einen Block betreffen, über 40 % aller DRAM-Fehler ausmachen. Drittens haben wir festgestellt, dass fast 5 % der DRAM-Ausfälle Schaltkreise auf Platinenebene betreffen, wie z. B. Daten- (DQ) oder Gate- (DQS) Leitungen. Schließlich fanden wir heraus, dass die Chipkill-Funktion die Häufigkeit von Systemausfällen, die durch DRAM-Ausfälle verursacht wurden, um den Faktor 36 reduzierte.

Das Zitat mutet etwas ironisch an, denn es scheint kein Argument gegen ECC zu sein, sondern ein Argument für Chipkill – eine bestimmte ECC-Klasse. Abgesehen davon zeigt Jeffs Beitrag, dass systematische Fehler doppelt so häufig sind wie zufällige Fehler. Der Post sagt dann, dass sie Memtest auf ihren Maschinen ausführen, wenn systematische Fehler auftreten.

Erstens ist das Verhältnis von 2:1 nicht groß genug, um zufällige Fehler einfach zu ignorieren. Zweitens impliziert der Beitrag Jeffs Überzeugung, dass systematische Fehler im Wesentlichen unveränderlich sind und nicht nach einer Weile auftauchen können. Das ist nicht wahr. Elektronik verschleißt genauso wie mechanische Geräte. Die Mechanismen sind unterschiedlich, aber die Wirkungen sind ähnlich. Wenn wir die Chip-Zuverlässigkeitsanalyse mit anderen Arten der Zuverlässigkeitsanalyse vergleichen, können wir in der Tat sehen, dass sie häufig dieselben Familien von Verteilungen für die Fehlermodellierung verwenden. Drittens impliziert Jeffs Argumentation, dass ECC nicht helfen kann, Fehler zu erkennen oder zu beheben, was nicht nur falsch ist, sondern dem Zitat direkt widerspricht.

Wie oft werden Sie Memtest auf Ihren Computern ausführen, um diese zu erkennen? Systemfehler und wie viel Datenverlust sind Sie bereit zu ertragen? Einer der Hauptzwecke von ECC ist nicht das Korrigieren von Fehlern, sondern das Signalisieren von Fehlern, sodass Hardware ersetzt werden kann, bevor eine „stille Beschädigung“ auftritt. Wer würde zustimmen, jeden Tag alles auf der Maschine zu schließen, um Memtest auszuführen? Es wäre viel teurer, als nur ECC-Speicher zu kaufen. Und selbst wenn Sie mich überzeugen könnten, einen Speichertest durchzuführen, würde memtest nicht so viele Fehler finden wie ECC.

Als ich für ein Unternehmen mit einer Flotte von etwa tausend Maschinen arbeitete, stellten wir fest, dass wir seltsame Fehler bei der Datenintegritätsprüfung hatten, und nach etwa sechs Monaten stellten wir fest, dass Fehler auf einigen Maschinen wahrscheinlicher waren als auf anderen. Diese Ausfälle waren ziemlich selten (im Durchschnitt vielleicht ein paar Mal pro Woche), daher dauerte es lange, Informationen zu sammeln und zu verstehen, was passierte. Ohne die Ursache zu kennen, war es auch nicht trivial, die Protokolle zu analysieren, um festzustellen, ob die Fehler durch einzelne Bit-Flips (mit hoher Wahrscheinlichkeit) verursacht wurden. Wir hatten das Glück, dass als Nebeneffekt des von uns verwendeten Prozesses die Prüfsummen in einem separaten Prozess auf einem anderen Computer zu unterschiedlichen Zeiten berechnet wurden, sodass ein Fehler das Ergebnis nicht verfälschen und diese Verfälschung auf die Prüfsumme übertragen konnte.

Wenn Sie nur versuchen, sich mit In-Memory-Prüfsummen zu schützen, besteht eine gute Chance, dass Sie eine Prüfsummenoperation für bereits beschädigte Daten durchführen und die korrekte Prüfsumme der fehlerhaften Daten erhalten, es sei denn, Sie führen einige wirklich ausgefallene Berechnungen durch die ihre eigenen Prüfsummen ausgeben. Und wenn Sie es mit der Fehlerkorrektur ernst meinen, verwenden Sie wahrscheinlich immer noch ECC.

Jedenfalls stellten wir nach Abschluss der Analyse fest, dass memtest keine Probleme feststellen konnte, aber der Austausch des Arbeitsspeichers auf schlechten Maschinen führte zu einer Verringerung der Fehlerrate um ein bis zwei Größenordnungen. Die meisten Dienste haben nicht die Art von Prüfsummen, die wir hatten; Diese Dienste schreiben beschädigte Daten einfach unbemerkt in den dauerhaften Speicher und sehen das Problem nicht, bis sich der Client beschwert.

3. Durch die Weiterentwicklung der Hardware sind Fehler sehr selten geworden.

Die Daten in der Post reichen für eine solche Aussage nicht aus. Beachten Sie, dass RAM-Ausfälle mit steigender und weiterhin exponentiell steigender RAM-Auslastung mit einer größeren exponentiellen Rate abnehmen müssen, um die Häufigkeit von Datenbeschädigungen tatsächlich zu verringern. Da die Chips immer kleiner werden, werden auch die Elemente kleiner und machen mehr aktuelle Themen Verschleiß, diskutiert im zweiten Absatz. Beispielsweise kann ein DRAM-Kondensator mit der 20-nm-Technologie ungefähr 50 Elektronen ansammeln, und diese Zahl wird für die nächste DRAM-Generation geringer sein, während sie weiter abnimmt.

Noch ein Hinweis: Wenn Sie für ECC bezahlen, zahlen Sie nicht nur für ECC-Speicher, sondern für Teile (Prozessoren, Platinen), die eine höhere Qualität aufweisen. Dies lässt sich leicht an den Ausfallraten von Laufwerken ablesen, und ich habe gehört, dass viele Leute dies bei ihren persönlichen Beobachtungen bemerkt haben.

Um öffentlich zugängliche Forschungsergebnisse zu zitieren, veröffentlichte die Gruppe von Andrea und Ramsey, soweit ich mich erinnere, vor einigen Jahren das SIGMETRICS-Papier, das zeigte, dass ein SATA-Laufwerk mit viermal höherer Wahrscheinlichkeit beim Lesen fehlschlägt als ein SCSI-Laufwerk und mit zehnmal höherer Wahrscheinlichkeit versteckte Datenkorruption haben. . Dieses Verhältnis wurde auch bei Verwendung von Discs des gleichen Herstellers beibehalten. Es gibt keinen besonderen Grund zu der Annahme, dass die SCSI-Schnittstelle zuverlässiger sein sollte als SATA-Schnittstelle, aber es geht nicht um die Schnittstelle. Wir sprechen über den Kauf von hochzuverlässigen Serverkomponenten im Vergleich zu Clientkomponenten. Vielleicht sind Sie nicht besonders an der Zuverlässigkeit der Festplatte interessiert, weil Sie alles auf den Prüfsummen haben und Schäden leicht zu finden sind, aber es gibt einige Arten von Verstößen, die schwieriger zu erkennen sind.

4. Wenn ECC-Speicher wirklich wichtig wäre, dann würde er überall verwendet werden, nicht nur in Servern.

Um dieses Argument leicht zu paraphrasieren, können wir sagen: "Wenn diese Eigenschaft für Server wirklich wichtig wäre, dann würde sie auch bei Nicht-Servern verwendet werden." Sie können dieses Argument auf ziemlich viele Serverhardware anwenden. Tatsächlich ist dies eines der frustrierendsten Probleme, mit denen große Cloud-Anbieter konfrontiert sind.

Sie haben genug Einfluss, um die meisten Komponenten zum richtigen Preis zu bekommen. Verhandlungen funktionieren jedoch nur dort, wo es mehr als einen tragfähigen Lieferanten gibt.

Einer der wenigen Bereiche, in denen es keine brauchbaren Wettbewerber gibt, ist die Fertigung CPUs und Videobeschleuniger. Zum Glück für große Anbieter brauchen sie normalerweise keine Videobeschleuniger, sie brauchen viel Prozessoren - das ist seit langem der Fall. Es gab mehrere Versuche von Prozessorherstellern, in den Servermarkt einzusteigen, aber jeder dieser Versuche hatte von Anfang an fatale Fehler, die offensichtlich zum Scheitern verurteilt waren (und das sind oft Projekte, die mindestens 5 Jahre dauern, d.h. es war notwendig viel Zeit ohne Vertrauen in den Erfolg zu verbringen).

Die Bemühungen von Qualcomm haben viel Aufsehen erregt, aber wenn ich mit meinen Kontakten bei Qualcomm spreche, sagen sie mir alle, was getan wurde dieser Moment der Chip ist im Wesentlichen zum Abtasten bestimmt. Es geschah, weil Qualcomm von all den Leuten, die es von IBM abgeworben hatte, lernen musste, wie man einen Serverchip herstellt, und dass der nächste Chip der erste sein würde, der hoffentlich wettbewerbsfähig sein könnte. Ich setze große Hoffnungen in Qualcomm und auch in die Bemühungen von ARM, gute Serverkomponenten herzustellen, aber diese Bemühungen haben noch nicht das gewünschte Ergebnis gebracht.

Die fast vollständige Untauglichkeit aktueller ARM- (und POWER-) Optionen (abgesehen von hypothetischen Optionen für Apples beeindruckenden ARM-Chip) für die meisten Server-Workloads in Bezug auf die Leistung pro Dollar der Gesamtbetriebskosten (TCO) ist ein Thema, das etwas abseits der ausgetretenen Pfade liegt , also belasse ich das erstmal bei einer weiteren Veröffentlichung. Aber der Punkt ist, dass Intel eine Position auf dem Markt hat, die die Leute dazu zwingen kann, für Serverfunktionen extra zu bezahlen. Und Intel macht es. Außerdem sind einige Funktionen für Server wirklich wichtiger als für mobile Geräte mit mehreren Gigabyte RAM und einem Energiebudget von mehreren Watt, mobile Geräte, von denen immer noch erwartet wird, dass sie regelmäßig abstürzen und neu starten.

Abschluss

Soll ich ECC-RAM kaufen? Es hängt von vielen Dingen ab. Für Server ist es wahrscheinlich eine gute Wahl unter Berücksichtigung der Kosten. Es ist jedoch wirklich schwierig, eine Kosten-Nutzen-Analyse durchzuführen, da es ziemlich schwierig ist, die Kosten einer latenten Datenbeschädigung oder die Kosten des Risikos zu bestimmen, ein halbes Jahr Zeit eines Entwicklers mit der Suche nach zeitweiligen Abstürzen zu verlieren, nur um festzustellen, dass sie verursacht wurden von Nicht-ECC-Speichernutzung.

Für Desktops bin ich auch ein Unterstützer von ECC. Wenn Sie jedoch keine regelmäßigen Backups erstellen, ist es für Sie sinnvoller, in regelmäßige Backups zu investieren als in ECC-Speicher. Und wenn ja Sicherungen ohne ECC können Sie beschädigte Daten problemlos in den Hauptspeicher schreiben und diese beschädigten Daten in das Backup replizieren.

Danke an Prabhakar Ragda, Tom Murphy, Jay Weiskopf, Leah Hanson, Joe Wilder und Ralph Corderoy für Diskussionen/Kommentare/Korrekturen. Außerdem danke (oder vielleicht auch nicht danke) an Leah, dass sie mich überzeugt hat, diesen mündlichen Impromptu als Blog-Beitrag zu schreiben. Wir entschuldigen uns für etwaige Fehler, fehlende Referenzen und erhabene Prosa; Dies ist im Wesentlichen eine Aufzeichnung der Hälfte der Diskussion, und ich habe die Begriffe nicht so detailliert erklärt, Links bereitgestellt oder die Fakten überprüft, wie ich es normalerweise tue.

Ein lustiges Beispiel ist (zumindest für mich) die magische selbstheilende Schmelzverbindung. Obwohl es viele Implementierungen gibt, stellen Sie sich eine schmelzbare Verbindung auf einem Chip als eine Art Widerstand vor. Wenn Sie etwas Strom durchleiten, sollten Sie eine Verbindung erhalten. Wenn der Strom zu hoch ist, erwärmt sich der Widerstand und bricht schließlich. Dies wird häufig zum Deaktivieren von Elementen auf Chips oder für Aktivitäten wie das Einstellen der Taktfrequenz verwendet. Das Grundprinzip ist, dass es nach dem Durchbrennen des Jumpers keine Möglichkeit gibt, ihn wieder in seinen ursprünglichen Zustand zu versetzen.

Vor langer Zeit gab es einen Halbleiterhersteller, der mit seinem Herstellungsprozess etwas voreilig war und die Toleranzen in einer bestimmten Technologiegeneration etwas übertrieben reduzierte. Nach einigen Monaten (oder Jahren) konnte die Verbindung zwischen den beiden Enden eines solchen Jumpers wieder auftauchen und sie wiederherstellen. Wenn Sie Glück haben, ist ein solcher Jumper so etwas wie das höchstwertige Bit des Taktmultiplikators, der, wenn er geändert wird, den Chip deaktiviert. Wenn Sie kein Glück haben, führt dies zu einer versteckten Datenbeschädigung.

Ich habe von vielen Leuten in verschiedenen Unternehmen von den Problemen dieser Technologiegeneration dieses Herstellers gehört, das waren also keine Einzelfälle. Wenn ich sage, dass es lustig ist, meine ich, dass es lustig ist, diese Geschichte in einer Bar zu hören. Es ist weniger lustig, nach einem Jahr des Testens herauszufinden, dass einige Ihrer Chips nicht funktionieren, weil ihre Jumper-Einstellungen bedeutungslos sind und Sie Ihren Chip neu machen und die Veröffentlichung um 3 Monate verzögern müssen. Übrigens ist diese Wiederherstellungssituation durch Schmelzverbindungen ein weiteres Beispiel für eine Klasse von Fehlern, die mit ECC gemildert werden können.

Es ist nicht Google-Problem; Ich erwähne das nur, weil viele Leute, mit denen ich spreche, überrascht sind, wie Hardware ausfallen kann.

Wenn Sie nicht das ganze Buch durchwühlen möchten, hier ist der Ausschnitt:

In einem System, das einer Reihe von Ausfällen auf Softwareebene standhalten kann, besteht die Mindestanforderung für den Hardwareteil darin, dass Ausfälle dieses Teils immer erkannt und gemeldet werden. Software rechtzeitig genug, damit die Softwareinfrastruktur sie eindämmen und geeignete Wiederherstellungsmaßnahmen ergreifen kann. Es ist nicht erforderlich, dass die Hardware explizit alle Fehler behandelt. Dies bedeutet nicht, dass die Hardware für solche Systeme ohne Fehlerkorrekturfähigkeit ausgelegt sein sollte. Wann auch immer Funktionalität Fehlerkorrekturen können zu angemessenen Kosten oder Komplexität angeboten werden, deren Unterstützung zahlt sich oft aus. Dies bedeutet, dass das System möglicherweise eine billigere Version verwenden kann, die nur Erkennungsfunktionen bietet, wenn die Hardwarefehlerkorrektur extrem teuer wäre. Moderne Systeme DRAM sind gutes Beispiel eine Situation, in der eine leistungsfähige Fehlerkorrektur zu sehr geringen zusätzlichen Kosten bereitgestellt werden kann. Eine Lockerung der Anforderung zur Erkennung von Hardwarefehlern wäre jedoch viel schwieriger, da dies bedeuten würde, dass jede Softwarekomponente mit der Notwendigkeit belastet würde, ihre eigene korrekte Ausführung zu überprüfen. Zu Beginn seiner Geschichte musste sich Google mit Servern auseinandersetzen, auf denen DRAM nicht einmal Parität hatte. Die Erstellung eines Websuchindex besteht im Wesentlichen aus einem sehr umfangreichen Sortier-/Zusammenführungsvorgang, bei dem mehrere Maschinen nacheinander verwendet werden. Im Jahr 2000 scheiterte eine der monatlichen Webindex-Aktualisierungen von Google an der Vorabprüfung, als festgestellt wurde, dass eine Teilmenge der getesteten Abfragen anscheinend Dokumente zurückgab nach dem Zufallsprinzip. Nach einiger Recherche in neu Indexdateien Es wurde eine Situation identifiziert, die dem Fixieren eines Bits auf Null an einer bestimmten Stelle in Datenstrukturen entsprach, was ein negativer Nebeneffekt des Streamens einer großen Datenmenge durch einen fehlerhaften DRAM-Chip war. Den Indexdatenstrukturen wurden Konsistenzprüfungen hinzugefügt, um die Wahrscheinlichkeit zu minimieren, dass dieses Problem erneut auftritt, und es sind keine weiteren Probleme dieser Art aufgetreten. Allerdings ist zu beachten, dass dieses Verfahren keine 100%ige Fehlererkennung im Indizierungsdurchlauf garantiert, da nicht alle Speicherstellen geprüft werden – Anweisungen bleiben beispielsweise ungeprüft. Dies funktionierte, weil die Indexdatenstrukturen so viel größer waren als alle anderen an der Berechnung beteiligten Daten, dass das Vorhandensein dieser selbstüberwachenden Datenstrukturen es sehr wahrscheinlich machte, dass Maschinen mit defektem DRAM identifiziert und aus dem Cluster ausgeschlossen würden. Die nächste Maschinengeneration Google schon enthielt eine Speicherparitätserkennung, und als der Preis für ECC-Speicher auf ein konkurrenzfähiges Niveau fiel, verwendeten alle nachfolgenden Generationen ECC-DRAM.

Tags: Tags hinzufügen

#ECC #Registriert #Gepuffert #Parität #SPD

Fehlerkorrekturcode (ECC)

ECC oder Error Correct Code - Erkennung und Korrektur von Fehlern (andere Interpretationen derselben Abkürzung sind möglich) - ein Algorithmus, der "Paritätsprüfung" ersetzte. Im Gegensatz zu letzterem ist jedes Bit in mehr als einer Prüfsumme enthalten, wodurch im Falle eines Fehlers in einem Bit die Fehleradresse wiederhergestellt und korrigiert werden kann. In der Regel werden auch Fehler in zwei Bits erkannt, jedoch nicht korrigiert. Um diese Fähigkeiten zu implementieren, wird ein zusätzlicher Chip auf dem Modul installiert und es wird 72-Bit, im Gegensatz zu den 64 Datenbits eines herkömmlichen Moduls.

ECC wird von allen modernen unterstützt Motherboards, entwickelt für Serverlösungen, sowie einige "allgemeine" Chipsätze. Einige Typen (Registered, Full Buffered) sind nur in der ECC-Version verfügbar. Es sollte beachtet werden, dass ECC kein Allheilmittel für defekten Speicher ist und verwendet wird, um zufällige Fehler zu korrigieren, wodurch das Risiko von Computerfehlfunktionen durch versehentliche Änderungen des Inhalts von Speicherzellen verringert wird, die durch externe Faktoren wie Hintergrundstrahlung verursacht werden.

gepuffert

Gepuffert - gepuffertes Modul. Aufgrund ihrer hohen elektrischen Gesamtkapazität führen ihre langen "Lade"-Zeiten zu zeitraubenden Schreibvorgängen. Um dies zu vermeiden, sind einige Module (meist 168-Pin-DIMMs) mit einem speziellen Chip (Puffer) ausgestattet, der eingehende Daten relativ schnell speichert, wodurch der Controller entlastet wird. Gepufferte DIMMs sind im Allgemeinen nicht mit ungepufferten kompatibel. Teilweise gepufferte Module werden auch als "registriert" bezeichnet ( Eingetragen) und Module mit voller Pufferung (Full Buffered) - FB-DIMM. In diesem Fall bezieht sich "ungepuffert" auf gewöhnliche Speichermodule ohne Puffermöglichkeiten.

Parität

Parität - Parität, Module mit Parität, auch Parität. Ein ziemlich altes Prinzip der Datenintegritätsprüfung. Der Kern des Verfahrens besteht darin, dass für das Datenbyte beim Aufzeichnen eine Prüfsumme berechnet wird, die als spezielles Paritätsbit in einem separaten Chip gespeichert wird. Beim Lesen von Daten wird die Prüfsumme neu berechnet und mit dem Paritätsbit verglichen. Bei Übereinstimmung gelten die Daten als authentisch, andernfalls wird eine Paritätsfehlermeldung generiert (was in der Regel zu einem Systemstopp führt). Zu den offensichtlichen Nachteilen des Verfahrens gehören die hohen Speicherkosten, die zum Speichern zusätzlicher Paritätsbits erforderlich sind, die Unsicherheit gegenüber Doppelfehlern (sowie falsch positive Ergebnisse im Falle eines Fehlers im Paritätsbit), das Herunterfahren des Systems selbst bei einem geringfügigen Fehler (z. in einem Videoframe). Derzeit nicht zutreffend.

SPD-Chip

SPD ist ein Chip auf einem DIMM-Speichermodul, das alle Daten darüber enthält (insbesondere Informationen über die Geschwindigkeit), die für einen normalen Betrieb erforderlich sind. Diese Daten werden während des Selbsttests des Computers ausgelesen, lange bevor das Betriebssystem geladen wird, und ermöglichen es Ihnen, die Einstellungen für den Speicherzugriff zu konfigurieren, selbst wenn verschiedene Speichermodule gleichzeitig im System vorhanden sind. Einige Motherboards weigern sich, mit Modulen zu arbeiten, die keinen SPD-Chip haben, aber solche Module sind jetzt sehr selten und sind hauptsächlich PC-66-Module.

Erklären Sie, was „ECC-Unterstützung“ im RAM ist

  1. Speicherprüfung auf Fehler
  2. es ist eine Fehlerkorrekturfunktion. ein solcher Speicher wird auf Servern platziert, da es für sie unmöglich ist, aufgrund von Fehlern zu verzögern, abzuschalten oder zu überlasten. Für einen Heimcomputer ist dies keine notwendige Sache, obwohl es nützlich ist. Wenn Sie sich entscheiden, selbst einen zu installieren, stellen Sie sicher, dass Ihr Motherboard diese Art von RAM mit ECC unterstützt.
  3. Sie können sich also auf das Memtest-Programm beschränken? Oder überwacht und korrigiert diese Technologie ständig kleine Werte in Speicherdaten?
  4. ECC (Error Correct Code) - Erkennung und Korrektur von Fehlern (andere Interpretationen der gleichen Abkürzung sind möglich) - ein Algorithmus, der die "Paritätsprüfung" ersetzt hat. Im Gegensatz zu letzterem ist jedes Bit in mehr als einer Prüfsumme enthalten, wodurch im Falle eines Fehlers in einem Bit die Fehleradresse wiederhergestellt und korrigiert werden kann. In der Regel werden auch Fehler in zwei Bits erkannt, jedoch nicht korrigiert. Um diese Fähigkeiten zu implementieren, wird ein zusätzlicher Speicherchip auf dem Modul installiert und es wird 72-Bit, im Gegensatz zu den 64 Datenbits eines herkömmlichen Moduls. ECC wird von allen modernen Motherboards unterstützt, die für Serverlösungen entwickelt wurden, sowie von einigen "allgemeinen" Chipsätzen. Einige Speichertypen (Registered, Full Buffered) sind nur in der ECC-Version verfügbar. Es sollte beachtet werden, dass ECC kein Allheilmittel für defekten Speicher ist und verwendet wird, um zufällige Fehler zu korrigieren, wodurch das Risiko von Computerfehlfunktionen durch versehentliche Änderungen des Inhalts von Speicherzellen verringert wird, die durch externe Faktoren wie Hintergrundstrahlung verursacht werden.
    Registrierte Speichermodule werden für die Verwendung in Systemen empfohlen, die mindestens 4 GB RAM benötigen (oder unterstützen). Sie sind immer 72 Bit groß, also ECC-Module, und enthalten zusätzliche Registerbausteine ​​zur partiellen Pufferung.
    PLL-Phase Locked Loop - automatische Frequenz- und Signalphasenregelschaltung, dient zur Reduzierung der elektrischen Belastung des Speichercontrollers und Erhöhung der Stabilität bei Verwendung einer großen Anzahl von Speicherchips, wird in allen gepufferten Speichermodulen verwendet.
    Gepuffert - gepuffertes Modul. Aufgrund der hohen elektrischen Gesamtkapazität heutiger Speichermodule führt deren lange „Ladezeit“ zu einem hohen Zeitaufwand für Schreibvorgänge. Um dies zu vermeiden, sind einige Module (meist 168-Pin-DIMMs) mit einem speziellen Chip (Puffer) ausgestattet, der eingehende Daten relativ schnell speichert, wodurch der Controller entlastet wird. Gepufferte DIMMs sind im Allgemeinen nicht mit ungepufferten kompatibel. Module mit teilweiser Pufferung werden auch als „Registered“ („Registered“) und Module mit vollständiger Pufferung (Full Buffered) – „FB-DIMM“ bezeichnet. „Unbuffered“ bezieht sich in diesem Fall auf gewöhnliche Speichermodule ohne Puffermöglichkeiten.
    Parität - Parität, Module mit Parität, auch Parität. Ein ziemlich altes Prinzip der Datenintegritätsprüfung. Der Kern des Verfahrens besteht darin, dass für das Datenbyte beim Aufzeichnen eine Prüfsumme berechnet wird, die als spezielles Paritätsbit in einem separaten Chip gespeichert wird. Beim Lesen von Daten wird die Prüfsumme neu berechnet und mit dem Paritätsbit verglichen. Bei Übereinstimmung gelten die Daten als authentisch, andernfalls wird eine Paritätsfehlermeldung generiert (was in der Regel zu einem Systemstopp führt). Zu den offensichtlichen Nachteilen des Verfahrens gehören die hohen Speicherkosten, die zum Speichern zusätzlicher Paritätsbits erforderlich sind, die Unsicherheit gegen Doppelfehler (sowie falsche positive Ergebnisse im Falle eines Fehlers im Paritätsbit), das Anhalten des Systems selbst bei einem nicht fundamentalen Fehler (z. B. in einem Videoframe). Derzeit nicht zutreffend.
    SPD ist ein Mikrochip auf einem DIMM-Speichermodul, der alle Daten darüber enthält (insbesondere Informationen über die Geschwindigkeit), die für einen normalen Betrieb erforderlich sind. Diese Daten werden beim Selbsttest des Computers ausgelesen, lange bevor das Betriebssystem geladen wird, und ermöglichen Ihnen, die Speicherzugriffseinstellungen zu konfigurieren, selbst wenn verschiedene Speichermodule gleichzeitig im System vorhanden sind. Einige Motherboards weigern sich, mit Modulen zu arbeiten, die keinen SPD-Chip haben, aber solche Module sind jetzt sehr selten und sind hauptsächlich PC-66-Module.
  5. memtest o check kann keine Fehler aufdecken, aber ein Test in memtest -Test 1 Addresstest, ownaddress deep test to detect error in memory address registration - erkennt solche Fehler gut, also falls vorhanden blaue Bildschirme ist es im Grunde ein RAM oder eine Festplatte
  6. Sie haben hier bereits gesagt, verwenden Sie windowsfix.ru

ECC (Error Correct Code – Fehlererkennung und -korrektur) wird verwendet, um zufällige Speicherfehler zu korrigieren, die durch verschiedene externe Faktoren verursacht werden, und ist eine verbesserte Version des „Parity Check“-Systems.

Physisch ist ECC als zusätzlicher 8-Bit-Speicherchip implementiert, der neben den Hauptchips installiert ist.

Somit sind ECC-Module 72-Bit (im Gegensatz zu standardmäßigen 64-Bit-Modulen).

Einige Speichertypen (Registered, Full Buffered) sind nur in der ECC-Version verfügbar.

Treiber AMD-Radeon Software Adrenalin Edition 19.9.2 Optional

Neue AMD-Treiberversion Radeon-Software Adrenalin Edition 19.9.2 Optional verbessert die Leistung in Borderlands 3 und fügt Unterstützung für Radeon Image Sharpening hinzu.

Kumulativ Windows Update 10 1903 KB4515384 (hinzugefügt)

Am 10. September 2019 hat Microsoft ein kumulatives Update für Windows 10 Version 1903 – KB4515384 – mit einer Reihe von Sicherheitsverbesserungen und einem Fix für einen fehlerhaften Fehler veröffentlicht Windows funktioniert Suche und verursachte eine hohe CPU-Auslastung.

Treiber Game Ready GeForce 436.30 WHQL

NVIDIA hat das Game Ready GeForce 436.30 WHQL-Treiberpaket veröffentlicht, das für die Optimierung in Spielen konzipiert ist: „Gears 5“, „Borderlands 3“ und „Call of Duty: Modern Warfare“, „FIFA 20“, „The Surge 2“ und "Code Vein", behebt eine Reihe von Fehlern, die in früheren Versionen aufgetreten sind, und erweitert die Liste der Displays in der Kategorie G-Sync-kompatibel.

AMD Radeon Software Adrenalin 19.9.1 Edition-Treiber

Erste September-Ausgabe der Grafik AMD-Treiber Radeon Software Adrenalin 19.9.1 Edition ist für Gears 5 optimiert.



Wird geladen...
Spitze