Computerhardware: RAM: Grundwissen

Aus Wikibooks

Grundwissen[Bearbeiten]

Einige Fachbegriffe[Bearbeiten]

Die Stangen aus hochreinem Silizium werden in der Chipfabrik in etwa einen Millimeter dünne Scheiben geschnitten, die man „Wafer“ nennt. Sie dienen als „Substrat“ (Grundplatte) für integrierte Schaltkreise. Wafer haben einen Durchmesser bis 300 mm, Intel hat erste Fabriken auf 450 mm Wafer umgestellt. Je größer der Wafer, desto geringer ist der Verschnitt am Rand.

In die Wafer werden die mikroelektronischen Strukturen hineingeätzt, aufgedampft usw. Auf einem Wafer entstehen gleichzeitig Dutzende bis hunderte CPUs, RAMs oder andere Strukturen. Dann wird der Wafer mit Diamantsägen in rechteckige Plättchen zerschnitten. Diese Plättchen mit einer integrierten Schaltung nennt man „Die“, mehrzahl „Dice“.

Das Die hat am Rand kleine Kontaktflächen für den Anschluss nach außen. Diese werden genutzt, um jeden Schaltkreis zu testen. Anschließend wird jedes intakte Die auf die Grundplatte eines Chip-Gehäuses geklebt. Die Kontaktflächen und die Pins (die „Beinchen“ des Chipgehäuses) werden mit hauchdünnen Gold- oder Aluminiumdrähten verbunden. Das Herstellung dieser Verbindung nennt man das „Bonden“. Anschließend wird der Chip luftdicht verschlossen und zum Abschlusstest geschickt.

Funktionsprinzip[Bearbeiten]

Das Funktionsprinzip des DRAM wurde 1966 erfunden. Die Speicherung der Information erfolgt in winzigen Kondensatoren. Zu jedem Kondensator gehört ein Steuerungstransistor. Transistor plus Kondensator bilden eine Speicherzelle.

Die Speicherzellen sind wie eine Matrix in Zeilen und Spalten angeordnet. Sie werden über Zeilen- und Spaltenleitungen verbunden. Um ein Bit zu lesen oder zu schreiben, muss gleichzeitig Spannung an eine Zeilenleitung und an eine Spaltenleitung angelegt werden. Nur da, wo sich diese Leitungen kreuzen, „öffnet“ der Steuertransistor und gibt die Ladung frei. Der Kondensator entlädt sich, und die Leseverstärker melden der CPU, dass eine „1“ oder „0“ gespeichert gewesen war. Weil die gespeicherte Information durch das Entladen verloren geht, muss der Speichercontroller umgehend die Speicherzelle wieder aufladen.

Innerhalb der Speicherchips werden die Zellen in mehrere „Bänke“ aufgeteilt. Bei geschickter Zuordnung der Adressen zu den Bänken werden bei fortlaufenden Adressen die Bänke abwechselnd benutzt. Während die gerade ausgelesene Bank sich „erholt“, ist die nächste Bank für den Lesezugriff bereit. Allerdings steigt der Schaltungsaufwand: Jede Bank braucht einen eigenen Satz Decoder und Verstärker für Zeilen-, Spalten- und Leseleitungen.

Dual-Side, Dual-Die und Stacking[Bearbeiten]

Etwa 234 = 16 GBit passten im Jahr 2015 in einen Speicherchip. Lötet man acht davon auf eine Platine, erhält man einen 16 GByte-Speicherriegel. Höhere Kapazitäten sind auf zwei Arten erreichbar: Man nutzt die Rückseite des Speichermoduls für weitere acht Chips. Man erhält einen „Dual-Sided“ (zweiseitigen) RAM. Doch das kann zu Problemen führen:

  • Auf manchen Mainboards funktionieren Dual-Side-Module gar nicht oder es wird möglicherweise nur die Hälfte der Kapazität erkannt.
  • Wenn Sie in die zusammengehörigen (gleichfarbigen) Steckplätze einen Single-Sided und einen Double-Sided Modul stecken, wird vom Double-Sided-Modul möglicherweise nur die halbe Kapazität genutzt. Außerdem funktioniert der Dual-Channel-Modus nicht.

Empfehlung: Greifen Sie zu Dual-Sided RAM nur nach sorgfältigem Studium des Handbuchs zur Hauptplatine und/oder Gespräch mit dem Fachverkäufer! Was die Sache völlig verrückt macht: Es gibt auch Module mit Chips auf beiden Seiten, die schaltungstechnisch als Single-Sided erkannt werden (und umgekehrt). Die zweite Möglichkeit für höhere Kapazitäten ist das „Stacking“. Dabei werden zwei Dies in einem Chipgehäuse übereinander gestapelt. Bei DDR3-RAM ist dies schaltungsmäßig schwierig, weil der Standard das nicht vorsieht. Doch beim DDR4-Standard ist das Chip-Stacking eingeplant: Hersteller dürfen die RAM-Dies in bis zu acht Ebenen übereinanderstapeln. Wenn die Hersteller diese Technologie beherrschen, werden Speicherriegel bis zu einer Kapazität von 512 GByte möglich.

Timing[Bearbeiten]

Vorbemerkungen[Bearbeiten]

Wenn die CPU auf den RAM zugreifen will, benutzt sie eine Baugruppe „Speichercontroller“. Dieser RAM-Controller war einmal Teil der CPU und wurde später in den Chipsatz (Northbridge) ausgelagert, um in der CPU mehr Platz für den Cache zu schaffen. Durch fortschreitende Verkleinerung der Strukturen ist wieder Platz in der CPU, und der Speichercontroller ist bei den neuesten CPUs wieder eine Baugruppe der CPU. Das macht den Speicherzugriff schneller. Der Einfachheit wegen werde ich schreiben „Die CPU sendet Signale...“, auch wenn diese vielleicht vom Chipsatz kommen.

Wenn die CPU ein Signal wie z. B. eine Adresse aussendet, dauert es eine Weile, bis das Signal am RAM-Chip ankommt. Die Leitungen sind unterschiedlich lang, haben geringe Unterschiede in der Leitfähigkeit (die auch von der Temperatur der Leiter abhängt) und werden kapazitiv und induktiv von den benachbarten Leitungen beeinflusst. Deshalb wartet die CPU nach dem Absenden der Adresse einen Moment ab, bis alle Bits des Adresse angekommen sein müssten und sendet das Signal „Ab jetzt ist die Adresse gültig“. In der Gegenrichtung läuft der Datentransfer analog.

Bei 234 = 16 GBit pro Speicherchip würde man 34 Leitungen für die Adressierung brauchen. Dazu kommen noch Daten-, Steuer- und Stromversorgungsleitungen. Doch so viele „Beinchen“ würden den Chip unnötig groß machen. Deshalb wird die Zahl der Adressleitungen halbiert und die Adresse in zwei Teilen übertragen: Erst der obere Adressteil (die Zeilenadresse) und danach die unteren Adressbits (die Spaltenadresse).

Ablauf des Zugriffs[Bearbeiten]

Stark vereinfacht funktioniert der Speicherzugriff so:

Die CPU fordert den Inhalt einer bestimmten Speicherzelle an. Dazu sendet der Speichercontroller die (obere) Hälfte der Adresse an den Speicherchip. Mit einer kleinen Verzögerung (wenn das Signal gültig ist) wird das RAS-Signal gesendet: RAS steht für Row Adress Strobe, was so viel wie „Zeilen-Adressierungs-Signal“ bedeutet. Das RAS-Signal signalisiert dem Chip, dass es sich bei der soeben übermittelten Adresse um die Zeilenadresse gehandelt hat. Der Chip speichert die Zeilenadresse im „Row Address Buffer“ und beginnt schon mal, die adressierte Zeilenleitung „aufzuladen“.

Nach Ablauf der Zeit tRCD (RAS-to-CAS-Delay) nimmt der Speichercontroller an, dass der Chip die Zeilenadresse empfangen und ausgewertet hat, und schickt den zweiten Teil der Adresse zum Chip: die Spaltenadresse. Kurz darauf wird dem Chip mit dem Spaltensignal CAS (Column Adress Strobe) signalisiert, dass die Spaltenadresse gültig ist und in den „Column Address Buffer“ übernommen werden soll.

Mit RAS und CAS ist die Speicheradresse vollständig. Während der Adressenübergabe hat die Steuerung bereits begonnen, die Zeilenleitung (die gleichzeitig die Leseleitung ist) auf die halbe Versorgungsspannung aufzuladen. Diese Zeit wird „RAS Precharge Time“ genannt. Danach gibt der Transistor die Speicherzelle frei (er verbindet sie mit der Leseleitung). Es passiert eine von zwei Möglichkeiten:

  • Wenn die Speicherzelle geladen ist (eine „1“ gespeichert hat), fließt die Ladung heraus auf die Leseleitung und bewirkt einen kurzen Spannungsanstieg, der von den Leseverstärkern entdeckt wird. Danach ist die Speicherzelle halb geladen.
  • Wenn die Speicherzelle leer ist (eine „0“ gespeichert hat), fließt ein Strom von der Leseleitung (die vorher auf halbe Spannung aufgeladen worden ist) in die leere Zelle und lädt sie zur Hälfte auf. Dieser winzige Stromfluss verringert die Spannung auf der Bitleitung und wird von den Leseverstärkern als „0“ erkannt.

Die Leseverstärker („Sense Amplifier“) geben das empfangene Bitsignal an die CPU weiter. Gleichzeitig speichern und verstärken sie das Signal und schicken es an die Speicherzellen zurück: Die nach dem Lesen nur noch halb geladenen Speicherzellen werden entweder voll aufgeladen (wenn eine „1“ gespeichert war) oder restlos entladen.

Das eigentliche Auslesen der Daten dauert zwei oder mehr Takte. Alles in allem vergehen mindestens sechs Taktschritte, ehe eine Information aus dem RAM ausgelesen ist.

Zur RAS- und CAS-Adressierung vergehen je nach Modul und Arbeitstakt jeweils zwei Taktschritte (CL2) oder drei Taktschritte (CL3). CL2 wird auch als CAS-2 oder 222-Speicher bezeichnet.

Burst-Modus[Bearbeiten]

Nach dem Lesen einer Speicherzelle können weitere Daten aus derselben Zeile vergleichsweise schnell übertragen werden. Wenn der Speichercontroller bei der nächsten Speicheranforderung nicht mit dem RAS-Signal beginnt, sondern das CAS-Signal aussendet, „weiß“ der RAM: Die im vorhergehenden Zyklus übermittelte Zeilenadresse bleibt weiterhin gültig. Nur die Spaltenadresse ändert sich. Das nennt man einen „Burst-Zugriff“.

Höhere Kapazitäten[Bearbeiten]

Einfach nur die Strukturen immer weiter zu verkleinern reicht nicht aus, es entstehen neue Probleme. Mit kleiner werdenden Zellen rücken die Leseleitungen näher zusammen. Die Gefahr des „Übersprechens“ steigt − wie lässt sich das verhindern?

Die Leseleitung führt zu allen Zellen einer Matrix und ist dadurch sehr lang. Je mehr Speicherzellen pro Matrix, desto länger ist die Leitung. Die Leitung hat eine große Eigenkapazität, etwa fünf mal mehr als die Kapazität einer einzelnen Speicherzelle. Stellen Sie sich vor, ein kleiner Kondensator (die einzelne Speicherzelle) entlädt sich in einen fünfmal größeren Kondensator (die Leseleitung). Das Entladen einer Speicherzelle beim Lesen erzeugt keinen deutlichen „Stromstoß“, sondern eher ein kaum wahrnehmbares Plätschern der Spannung. Dieser kleine Stromstoß muss dann noch an tausenden Speicherzellen „vorbeiplätschern“, bis er die Leseverstärker erreicht.

Geschwindigkeitsangaben[Bearbeiten]

Entscheidend ist das Timing, welches sich aus drei Werten zusammensetzt: CAS-Latency, RAS Precharge Time und RAS to CAS Delay. CAS-Latency gibt an, wie schnell auf den Hauptspeicher zugegriffen werden kann. Die Precharge Time und das CAS Delay bestimmen dagegen, in welchen Abständen auf das Modul zugegriffen wird. Angegeben werden alle drei hintereinander, zum Beispiel als 333 oder 322 oder 222. Bei gleichem Speichertakt steht ein kleinerer Wert für ein schnelleres Modul, da die Wartezyklen kürzer ausfallen. Wenn jedoch zwei Speichermodule unterschiedlich getaktet werden, ist ein direkter Vergleich der Latenzzeit nicht möglich. Man muss dann ausrechnen, wie lange ein Takt dauert, und ihn mit der Taktzahl multiplizieren. Drei Beispiele:

Was bedeutet „DDR400 CL2-2-2-5“? CL ist die Abkürzung von „CAS Latency“ (Latency = Wartezeit). CL ist die Zeit vom Aussenden des Lesebefehls durch die CPU bis zum Eintreffen der angeforderten Daten.

Bei DDR-Speicher werden mit jedem Takt zweimal Daten übertragen. Deshalb ist der Speichertakt halb so groß wie der „Output“. Die Speichergeschwindigkeit (400) wird durch 2 geteilt, um den Speichertakt zu bestimmen: 200 MHz. Ein Speichertakt dauert also 5 ns. Die Zahlen hinter CL stehen für tRCD, tRP, tRC und tRAS. Es sind also tRCD = tRP = tRC = 10 ns, tRAS = 25 ns.

Was bedeutet „DDR3-1333 CL7“? Bei DDR3-Speicher wird die Speichergeschwindigkeit (1333) durch 2 geteilt, um den Speichertakt zu bestimmen: 666 MHz. Ein Speichertakt dauert also 1,5 ns. CL = 7 × 1,5 = 10,5 ns. Bei DDR3-1333 CL9 ist CL = 9 × 1,5 = 13,5 ns. CL7 ist 28 % schneller als CL9.

Was bedeutet „DDR3-1600 CL9-9-9“? Speichergeschwindigkeit (1600) durch 2 geteilt ergibt einen Speichertakt von 800 MHz, der 1,25 ns dauert. CL = 9 × 1,25 = 11,25 ns. Übliche Werte für DDR3-1600 sind CL9 bis CL11, für DDR3-1333 sind CL7 bis CL9 verfügbar.

Beim DDR3-1333 CL7 dauert der Speicherzugriff also 10,5 ns, beim DDR3-1600 CL9 sind es 11,25 ns. Der höher getaktete RAM ist langsamer. Hätten Sie das erwartet?

Der Refresh-Vorgang[Bearbeiten]

Die Isolation der Speicherzellen ist nicht perfekt, und die in der Zelle gespeicherte Ladung ist gering. Es kommt zu „Leckströmen“. Deshalb muss in kurzen Abständen der Speicherinhalt aufgefrischt werden. Diese Wiederauffrischung wird als „Refresh“ bezeichnet (refresh = „auffrischen“). Dabei werden die Speicherinhalte Zeile für Zeile ausgelesen und sofort zurückgeschrieben. Während des Refreshs kann die CPU nicht auf den RAM zugreifen. Typische DRAM müssen alle 32 oder 64 ms aufgefrischt werden.

Die Zeit, bis der Ladungsverlust so groß wird, dass eine Speicherzelle nicht mehr korrekt gelesen werden kann, ist die „retention time“. Weil die Leckströme stark temperaturabhängig sind, hängt auch diese Zeit von der Temperatur ab. Bei einer Temperaturerhöhung um jeweils 15 bis 20 °C halbiert sich die Zeit. Nehmen wir an, dass die Temperatur beim Einschalten 25 °C beträgt und bei voller Belastung 70 °C erreicht. Bei dieser Differenz von 45 °C = 3 × 15 °C muss also der Refresh bei 70 °C zwei hoch drei = acht mal häufiger erfolgen als bei kaltem Computer. Ein weiterer Grund, den PC gut zu kühlen.

Bei vielen Hauptplatinen kann man die Refresh-Häufigkeit im CMOS verändern. Ein seltenerer Refresh macht den PC schneller, erhöht aber das Risiko von Bitfehlern. Zu empfehlen ist das kaum: Der Effekt ist viel zu gering, gemessen am Risiko.

Ein Teil der DDR-3-RAM kann die Periode für den Refresh temperaturabhängig regeln, um den Betriebsstrom bei niedrigen Temperaturen zu reduzieren. Bei DDR-4-RAM ist der Refresh immer temperaturgeregelt. Das wird „Temperature Controlled Self-Refresh“ (TCSR) genannt.

Übrigens: Ein Teil des Grafik-RAM benötigt keinen Refresh. Der Bildwiederholspeicher wird 60 mal pro Sekunde, also alle 17 ms, gelesen (und zurückgeschrieben), um das Bild an den Monitor zu senden. Für den Rest vom Grafik-RAM, der als Arbeitsspeicher für die GPU dient, bleibt der Refresh notwendig.

Speicherfehler[Bearbeiten]

Fehlerkorrektur beim Chiphersteller[Bearbeiten]

Bei der hohen Speicherdichte kommen vereinzelte defekte Speicherzellen vor. Deshalb sehen die Chiphersteller etwa ein Prozent redundante (zusätzliche) Speicherzeilen vor. Vor der Auslieferung an die Kunden werden die Chips getestet. Werden dabei defekte Speicherzellen gefunden, werden diese abgeschaltet (die Zeilenleitung wird durchtrennt) und eine der Reserve-Speicherzeilen tritt an deren Stelle. Das wird „Remapping“ genannt.

Um die defekten Zellen stillzulegen und den Reservezellen eine Adresse zuzuweisen, gibt es zwei Verfahren:

  • Mit einem Laser werden vorbereitete Kontakte in der Adressdekodierungschaltung verdampft.
  • Mit einem Überspannungsimpuls werden elektrische Kontakte entweder geöffnet oder (z. B. durch Zerstören einer dünnen isolierenden Schicht) geschlossen.

Verwechseln Sie diese (einmalige) Reparatur von Herstellungsfehlern vor der Auslieferung nicht mit der ständigen automatischen Korrektur von Bitfehlern während des Betriebs.

Leiterplatte und Montage[Bearbeiten]

DDR2 Modul Teil der Rückseite

Schauen Sie auf Ihr Mainboard und schätzen Sie: wie viele Zentimeter muss eine Speicheranforderung der CPU zurücklegen, bis sie die Kontakte des RAM-Moduls erreicht? Und wieviel innerhalb des RAM-Moduls bis zum Speicherchip? Und dann müssen die angeforderten Daten die gleiche Entfernung zurück zur CPU durchlaufen. Was meinen Sie, wie lange das dauert?

Die elektrischen Signale sind nur unwesentlich langsamer als das Licht. Doch die Lichtgeschwindigkeit von 300 000 km pro Sekunde entspricht 30 cm pro Nanosekunde. Bei einem CPU-Takt von 3 GHz dauert jeder Takt nur ein Drittel einer Nanosekunde, in dieser Zeit kann das Licht gerade einmal 10 cm zurücklegen. Das setzt die Konstrukteure des Mainboards und der RAM-Platinen unter enormen Druck: Hätten Sie gedacht, dass bei einer Speicheranforderung der CPU allein die „Wegezeit“ der Signale hin und zurück deutlich länger als ein CPU-Takt ist? In Gedanken höre ich die Ingenieure über die ach so „schneckenlangsame“ Lichtgeschwindigkeit fluchen ...

Beim Leiterplattenentwurf muss sichergestellt sein, dass alle 64 Datenbits einen gleich kurzen Weg zu den Steckkontakten haben. Außer den Laufzeitproblemen sind noch „Übersprechen“ und kapazitive Effekte zu reduzieren. Das Übersprechen kann man verhindern, wenn man zwischen je zwei Datenleitungen eine Masseleitung legt und zwischen zwei Leiterplattenebenen eine Abschirmebene. Doch beides erhöht die kapazitive Belastung der Datenleitung, die Signale werden gedämpft und die Signalflanken verschlechtern sich. Das könnte man zwar mit „kräftigeren“ Signalpegeln ausgleichen − doch das bedeutet höheren Energieverbrauch, und das will keiner. Es gilt, einen Mittelweg zu finden. Sie ahnen sicher: Leiterplattenentwurf ist eine verzwickte Sache.

Als die SDRAM-Module noch mit 66 MHz getaktet wurden, waren vierlagige Leiterplatten ausreichend. Für einen Speichertakt von 100 und 133 MHz fordert die JEDEC-Spezifikation sechslagige Leiterplatten. DDR-3 Module werden mit bis zu 300 MHz getaktet. Ein Blick auf die Kante einer DDR-3-RAM-Leiterplatte mit dem Mikroskop zeigte mir acht Ebenen. Bei DDR-4 geht der Takt bis 1600 MHz.

Bei der Serienproduktion von Halbleitern lassen sich größere Schwankungen der Kenndaten nicht vermeiden. Die Kenndaten ändern sich leider auch durch Erwärmung und Alterung. Bei 70 °C ist der RAM um etwa 20 % langsamer als bei 25 °C. Deshalb ist eine Sicherheitsreserve notwendig. Der Hersteller sortiert die fertigen RAM-Chips in Güteklassen. Ein Teil der Produktion ist für PCs ungeeignet, ist aber noch für die Unterhaltungs- oder Kommunikationselektronik sinnvoll verwendbar. Beispiel: Wird der RAM im Handy verwendet, ist die Zugriffszeit unkritisch. In portablen CD-Playern wird RAM gebraucht, um einige Sekunden Musik im Voraus einzulesen. Wenn der Laser durch einen Stoß die Positionierung verliert, wird die Musik aus dem RAM-Puffer wiedergegeben, bis der Laser die richtige Spur wiedergefunden hat. Weil bei der Musikwiedergabe einige defekte Bits nicht hörbar sind, genügt RAM einer geringen Güteklasse.

Es gibt weltweit nur wenige Hersteller von Speicherchips. Doch die Schar der Anbieter von Speicherriegeln ist viel größer. Man entwirft eine Platine und beauftragt einen Leiterplattenhersteller mit der Produktion. Dann kauft man Speicherchips irgend einer Güteklasse, bestückt die Platinen und klebt ein Etikett darauf. Doch nicht jeder Anbieter hat genug Erfahrung im Platinenentwurf und genug Kapital, um sich aufwendige Prüfanlagen und aufwendige Tests zu leisten. Und es gibt auch Geschäftemacher, welche die spottbilligen Bausteine als PC-Speicher verkaufen − mit großem Gewinn.

Speicherfehler durch kosmische Strahlung[Bearbeiten]

„Das National Laboratory in Los Alamos (New Mexico, USA) hat sich bei IBM einmal beschwert, dass bei ihren Kollegen in Livermore (Kalifornien, USA) bei den gleichen Rechnern viel weniger Fehler auftreten. Dazu muss man wissen, dass Los Alamos auf ca. 2200 m Höhe liegt, während Livermore in der Nähe von San Francisco etwa auf Meereshöhe liegt. In Los Alamos ist die kosmische Neutronenstrahlung fünfmal stärker als auf Meereshöhe.“ (gefunden auf http://www.elektronik-kompendium.de/sites/com/1504141.htm).

Sie sehen: Die „kosmische Strahlung“ in der Überschrift ist kein Witz. Die Erde wird ständig vom Sonnenwind und anderer kosmischer Strahlung bombardiert. Der größte Teil wird von der Atmosphäre abgefangen und erzeugt dabei Ozon, Polarlichter und anderes. Ein geringer Teil der energiereichen Partikel erreicht die Erdoberfläche, zertrümmert Atome, verursacht Mutationen und ermöglicht die Altersbestimmung von Funden mit der Radiokarbonmethode. Die zerfallenden Atome erzeugen Sekundärstrahlung, z. B. Neutronen- und Alpha-Teilchenschauer. Alpha-Teilchen sind Heliumkerne (bestehend aus zwei Protonen und zwei Neutronen) mit einer Energie von 5 MeV (Megaelektronen-Volt). RAM-Speicherzellen sind so klein (sie enthalten nur etwa 105 Elektronen), dass dieses wuchtige Alpha-Geschoss die gesamte Ladung aus einer Zelle herausschlagen kann. Solche RAM-Fehler, die durch Strahlung verursacht werden, nennt man „Soft-Error“.

Wie schlimm ist das? Sehr grobe Schätzung: Bei einem Speicher von 4 GB RAM geht einmal wöchentlich ein Bit verloren. Und meist merken Sie nichts davon, denn ein einzelnes falsches Bit in einem Bild oder Video fällt nicht auf. Nur wenn es ein aktives Programm trifft, ist mit einem Absturz (BlueScreen) zu rechnen. Nach einem Neustart ist alles wieder OK. Fast immer.

Was kann man dagegen tun? Server und hochverfügbare PC benutzen RAM mit „error correction code“ (mehr dazu unter 4.3.3.), bei dem Einzelbitfehler automatisch korrigiert werden. Das ist teuer und erfordert spezielle Chipsätze. Im DDR4-RAM gibt es eine interne Fehlerkorrektur.

Sie können auch mit dem PC in den Keller umziehen, das Haus dämpft weitgehend die kosmische Strahlung. Doch auch das ist keine Lösung: Es gibt ja noch die natürliche Radioaktivität. Radioaktive Elemente sind in winzigsten Spuren in allen Stoffen enthalten. Leider auch in Blei, Stahl, Plaste und Keramik. Blei steckt im Lötzinn, das für das Bonden verwendet wird. Stahl wird für federnde Kontakte gebraucht. Aus Plaste und Keramik bestehen die Gehäuse der Chips. Keramik beispielsweise enthält winzigste Mengen Uran 238 und Thorium 235. Mit höherer Reinheit der Ausgangsstoffe haben die Hersteller die Störungen verringern können.

Doch die Reinigung hat Grenzen. Blei enthält eine geringe Menge des Bleiisotops 210Pb, das eine Halbwertszeit von 22 Jahren hat. Auch Stahl enthält instabile Atome, im Eisen und in den Legierungsmetallen. Beim Zerfall einzelner Atome entsteht Gammastrahlung und andere Strahlung. Leider können die Isotope nicht mit chemisch-physikalischen Methoden entfernt werden. Daher wird auf strahlungsarmes Blei oder Stahl zurückgegriffen, die aus besonders strahlungsarmen Erzen hergestellt werden. Besonders begehrt sind Stahl oder Bleiballast von vor langer Zeit gesunkenen Schiffen, deren Metall vor vielen Halbwertzeiten hergestellt wurde und das in der Tiefe des Ozeans vor kosmischer Strahlung geschützt war.

Zusätzlich hüllen die Hersteller den Chip in eine Strahlenschutzschicht ein. Sie braucht nicht dick zu sein: Ein Alphateilchen kann nicht tiefer als 35 µm in Silizium eindringen.

Speicherfehler durch Alterung[Bearbeiten]

In einer Studie http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf wurden die RAM-Fehler untersucht, die zweieinhalb Jahre lang bei den Servern von Google aufgetreten sind.

Die Google-Server arbeiten mit verschiedenen Fehlerkorrekturverfahren. ECC-RAM vermag Einzelbitfehler korrigieren. Die aufwendigere „Chipkill“-Technik von IBM kann Acht-Bit-Fehler korrigieren: da führt nicht einmal der Ausfall eines ganzen Chips auf dem Speicherriegel zu einem RAM-Fehler. Die Firmware von Server-Hauptplatinen kann bei beiden Technologien die Fehler protokollieren. Diese Protokolle wurden in der Studie ausgewertet. Die wichtigsten Erkenntnisse waren:

  • Pro Jahr stürzten 1,3 % der Server wegen eines nicht korrigierbaren (mehrfachen) RAM-Fehlers ab. Absturz bedeutet: es sind Bits im Programmcode verloren gegangen. Ich schätze, die Bits in den Daten waren viel häufiger betroffen.
  • Mindestens 8 % aller RAM-Module hatten einmal pro Jahr einen Einzelbitfehler (bei „24/7 Betrieb“, das bedeutet: 24 Stunden täglich an allen 7 Tagen der Woche).
  • Module, die schon einmal einen Fehler hatten, werden mit hoher Wahrscheinlichkeit noch öfter versagen.
  • Die Fehlerhäufigkeit nimmt mit dem Alter der Module zu.

Frühere Experimente mit einzelnen Chips unter kontrollierten Laborbedingungen führten zu der Meinung, „Hard-Errors“ wären viel seltener als „Soft-Errors“. Doch der Großtest unter realen Bedingungen, bei dem der größte Teil der Google-Server untersucht wurde, zeigt: die Hardware-Fehler sind „deutlich häufiger“ als Soft-Errors.

Was mich daran beunruhigt: Wenn 8 % aller Module innerhalb eines Jahres versagt haben (wenn auch sehr selten), wie hoch ist der Anteil der Module, die in drei Jahren versagen? 12 %? 15 %? Wenn Sie zwei oder vier Module im PC haben, wie wahrscheinlich ist es dann, dass einer von ihnen nicht ganz sicher ist?

Google hat für seine Hauptproduktionsmittel, die Server, bestimmt keinen „verwertbaren Schrott“ gekauft, und sichert ihnen eine komfortable Umwelt: Die Server stehen in klimatisierten Räumen und werden mit einer stabilen Netzspannung versorgt. Und trotz allem treten Fehler auf ... Ihre Computer haben vermutlich weniger komfortable Umweltbedingungen zu ertragen.

Offenbar ist der Grenzbereich zwischen „einwandfrei funktionierend“ und „unzuverlässig“ nicht so breit wie allgemein angenommen und die Zuverlässigkeit ist wohl abhängiger von Temperatur und Spannungsstabilität als früher vermutet.

Der Nutzen von Speichertests[Bearbeiten]

Ihr PC läuft unzuverlässig und Sie wollen den RAM testen?

  • Wenn Windows noch läuft, können Sie „Windows Speicher“ in das Suchfeld eingeben, dann bietet Windows Ihnen die „Windows-Speicherdiagnose“ an.
  • Wenn Sie beim Start von Windows die Funktionstaste F8 drücken, bekommen Sie einen Speichertest angeboten. Wenn nicht, gehen Sie auf „Computerreparaturoptionen“ und dann zu den „Systemwiederherstellungsoptionen“, dort finden Sie die „Windows-Speicherdiagnose“.
  • Wenn Windows nicht mehr startet, können Sie von der Windows-DVD booten. Im Fenster mit den Spracheinstellungen klicken Sie auf „Weiter“, im nächsten Fenster auf „Computerreparaturoptionen“, dann kommen Sie ebenfalls zu den „Systemwiederherstellungsoptionen“ mit der „Windows-Speicherdiagnose“.

Das Testergebnis finden Sie in der Ereignisanzeige (eventvwr.msc) unter „Windows-Protokolle → System“.

Sie haben keine Windows-DVD? Laden Sie ein ISO-Abbild herunter. Oder laden Sie einen Speichertest von http://memtest86.com als ISO-Abbild herunter und brennen Sie damit eine bootfähige CD.

Der Standard-Speichertest dauert 15 bis 60 Minuten. Warum dauert es so lange?

Die Milliarden von Speicherzellen unterscheiden sich in Größe, Form und Qualität ihrer Isolierung. Dadurch speichert eine aufgeladene Zelle unterschiedlich viele Elektronen. Wenn die Zelle beim Lesen ihre Ladung freigibt, hängt die Entladung stark davon ab, wieviel Zeit seit der letzten Auffrischung vergangen ist. Und wenn der Entladeimpuls auf der Leseleitung auf dem Weg zum Leseverstärker ist, läuft er an tausenden inaktiven Speicherzellen vorbei. Leider erzeugt auch eine inaktive Speicherzelle ein elektrisches Feld in ihrer Umgebung (zwei negativ geladene Elektronen stoßen sich ab). Das bedeutet leider: Wie stark das Signal ist, das den Leseverstärker erreicht, hängt auch davon ab, welches Bitmuster in den benachbarten Speicherzellen gespeichert sind. Wobei mit „benachbart“ nicht nur die unmittelbar benachbarten Zellen gemeint sind, denn die Leseleitung läuft an vielen Zellen vorbei.

Deshalb genügt es nicht, den Speicher einmal mit „Einsen“ und einmal mit „Nullen“ zu testen, um dann sagen zu können, „der RAM ist OK“. Es kommen nacheinander sehr viele verschiedene Testmuster zum Einsatz.

Auch wenn der Test nach zehn Stunden keinen Fehler gefunden hat, ist das kein Beweis für die Fehlerfreiheit der Speichermodule. Wenn Sie noch Zweifel haben, tauschen Sie den RAM auf  Verdacht aus. Wenn Sie zwei Speicherriegel haben, bestücken Sie das Board im Wechsel mit einem von beiden.

DDR4[Bearbeiten]

Typ Modul Chip Speichertakt Übertragungsrate
DDR-3 PC3 - 6400 DDR3 - 800 100 MHz 6 400 MByte/s
DDR-3 PC3-19200 DDR3-2400 300 MHz 19 200 MByte/s
DDR-4 PC4-12800 DDR4-1600 800 MHz 12 800 MByte/s
DDR-4 PC4-25600 DDR4-3200 1600 MHz 25 600 MByte/s
Vergleich der Speichermodule DDR-3 und DDR-4.
Es sind jeweils der erste (langsamste) und der schnellste Typ aufgeführt.

Veränderungen im Vergleich zu DDR-3[Bearbeiten]

DDR (Doppelte Daten-Rate) liefern Daten zweimal pro Speichertakt, DDR-2 viermal pro Speichertakt und DDR-3 achtmal. Doch bei DDR-4 wurde die Datenübertragungsrate nicht erneut verdoppelt, insofern ist DDR-4 keine neue Technologie. Die höhere Geschwindigkeit wird einerseits durch eine höhere interne „Parallelisierung“ erreicht, andererseits durch den höheren Speichertakt. Vergleichen Sie den Speichertakt der ersten DDR3-Chips mit dem Takt der ersten DDR4-Chips!

Die Betriebsspannung wurde von 1,5 Volt (DDR-3) auf 1,2 Volt verringert. Das spart mindestens 15 % Energie. Die interne Fehlererkennung und -korrektur wurde verbessert, sie ist schneller als bei DDR-3.

DDR3-Module haben 240 Kontakte. Bei DDR4-Speicherriegeln ist die Zahl der Pins auf 288 gestiegen, um die Übertragung zur CPU schneller zu machen.

Bei DDR3-Modulen muss alle 64 Millisekunden ein Refresh-Zyklus stattfinden. DDR4-Module steuern die Refreshrate dynamisch: Bei niedriger Temperatur verlieren die Speicherzellen weniger Elektronen, deshalb kann die Refresh-Häufigkeit verringert werden. Das bringt eine weitere Energieersparnis von etwa 20 %, und die CPU muss seltener warten, bis ein laufender Refresh-Zyklus beendet wird.

Der Standard ermöglicht „Stacked-DDR-4-RAM“. Beim sogenannten „3D-Stacking“ werden wie bei der 3D-NAND-Technologie von SSDs mehrere Lagen der Speicherzellen im Inneren des Chips übereinander gestapelt. Laut Standard dürfen bis zu acht Schichten von RAM-Zellen übereinander gestapelt werden. Damit werden RAM-Riegel mit bis zu 512 GB möglich.

Dual-, Triple- und Quad-Channel sowie Point-to-Point[Bearbeiten]

Während die CPU die angeforderten Daten erhält, stellt die Speicherelektronik den Zustand der Zellen wieder her, aus denen Daten gelesen wurden. Das Lesen der Daten und das Wiederherstellen dauern etwa gleich lange. Falls die CPU erneut Daten anfordert, während noch die Wiederherstellung läuft, muss sie warten.

Um diese Zwangspause zu verkürzen, ermöglichen Hauptplatinen mit Mehrkernprozessoren den Dual-Channel-Betrieb. Die CPU benutzt zwei unabhängige Speicherkanäle, um die RAM-Module zeitversetzt ansteuern zu können. Während das eine Modul mit der Regeneration beschäftigt ist, kann bereits auf das andere Modul zugegriffen werden.

Diese Technologie wurde bei den Intel-i7-CPUs zur Triple-Channel-Technologie weiterentwickelt. Die Steckplätze sollten mit Dreiergruppen von RAM-Modulen bestückt werden, die vom Hersteller vermessen sind: Entweder ein oder zwei Trios. Seit 2010 wird der Quad Channel mit vier Speicherkanälen sowohl von Intel als auch von AMD angeboten.

Die wohl wichtigste Neuheit von DDR4: Jeder RAM-Steckplatz hat eigene Leitungen zum Speichercontroller der CPU und muss nicht mehr darauf warten, bis ein parallel gestecktes Speichermodul mit der Wiederherstellung fertig wird. Es gibt also keinen Speicher-Bus mehr, den sich mehrere Riegel teilen müssen, sondern sogenannte „Point-to-Point“-Verbindungen (Punkt zu Punkt).

Das bedeutet andererseits: Wer nicht alle vorhandenen Steckplätze bestückt, verliert deutlich an Leistung. „Speicher aufrüsten“ im Sinne von „ein zusätzliches Modul auf einen ungenutzte Steckplatz zu stecken“ ist nicht mehr sinnvoll. Will man aufrüsten, ist es sinnvoll, alle Module gleichzeitig durch größere zu ersetzen.

DDR4-RAM passt daher nicht in bisherige Boards, es werden neue Speicher-Controller und neue Chipsätze benötigt. Um eine Hauptplatine mit DDR-4 zu bestücken, muss der X99-Chipsatz darauf verbaut sein.

Mit der DDR-4-Speichergeneration ist gewissermaßen der „Quad Channel für alle“ zur Realität geworden.

Neue Speichertechnologien[Bearbeiten]

Seit Jahrzehnten wird für den Arbeitsspeicher eine Technologie verwendet, die auf Ladungsspeicherung in kleinen Kondensatoren beruht und weitgehend ausgereizt ist. Endlich gibt es etwas neues: Intel und Micron haben im August 2015 eine neue Speichertechnologie „3D-Xpoint“ vorgestellt (Xpoint wird gesprochen: Crosspoint). Die Chips basieren nicht mehr auf Silizium-Schaltungen, sondern es werden Atome in einem Leitungsgitter durch angelegte Spannungen anders angeordnet. Es handelt sich um nicht-flüchtige Speicher (sie verlieren die Daten nicht bei Stromausfall). Die Adressierung erfolgt in Byte statt in Blöcken. 3D Xpoint soll perspektivisch bis 1000 mal schneller arbeiten als der heute in SSD-Platten verwendete NAND-Flash-Speicher und vor allem viel langlebiger sein.

3D Xpoint wird eine bis zu zehnmal so hohe Speicherdichte wie RAM haben, aber langsamer sein. Damit könnte 3D Xpoint zwischen RAM und Festplatte als Cache-Speicher zum Einsatz kommen.

Intel will die Technologie unter dem Namen „Optane“ herausbringen. Zum Jahresende 2016 will Intel erste SSD mit Optane-Chips unter dem Codenamen „Mansion Beach“ herausbringen, die etwa sieben mal schneller sein werden als bisherige SSD. Die ersten Speicherkarten werden das M.2 Interface nutzen, das NVMe-Protokoll sowie PCIe-3.0-x4 nutzen.

Außerdem sind noch 2016 sogenannte „Systembeschleuniger“ geplant. Dafür sind Prozessoren auf Basis der „Skylake“-Architektur mit Socket 1151 und Hauptplatinen mit Kaby-Lake-Chipsatz notwendig.

Perspektivisch soll die Technologie die DDR4-RAM ablösen.