www.ctmagazin.de - ciw - Mail an ciw

Speicher-Links und FAQ:

c't-Artikel zum Thema: 

Leistungsvergleich von SDR, DDR-SDRAM und Rambus-DRAM (RDRAM):

Im Juli/August 2001 brachte c't eine Artikelserie zum Thema Speichermodule heraus:

Im August/September 2000 brachte c't eine Artikelserie zum Thema Speichermodule heraus:

Artikel zu Rambus-Speicher:

Diskussionsforum:

Heise-Online-Leserforum zum Thema Speicher

Auf der ctSPD-Website finden Sie eine eigene FAQ zum Thema Speicher. Von dort können Sie ctSPD herunterladen, eine Win32-Software zur Anzeige der SDRAM-Konfigurationsdaten von PC66/PC100/PC133-Speicherriegeln, die der Modulhersteller im SPD-EEPROM Ihrer Speicherriegel abgelegt hat.

FAQ:

Bitte hier klicken für c't-Hotline-Beiträge zum Thema RAM!
  1. Wie ist ein Speichermodul aufgebaut? (Chipkombinationen) (9.5.2000)
  2. Was bedeutet eigentlich DIMM oder SIMM? (9.5.2000)
  3. Puffer (Buffer), Register, Fehlerkorrektur (EC, ECC) (29.6.01)
  4. Welche Parameter hat mein Speichermodul? (9.5.2000)
  5. Parameter von DDR-SDRAM-DIMMs (8.11.2001)
  6. Welche Parameter sollte ich im BIOS-Setup einstellen, wenn ich die korrekten Werte nicht kenne? (c't-FAQ 8/2001)
  7. Ich habe ein neues Speichermodul eingebaut. Mein Rechner erkennt danach nur einen Teil des installierten Speichers oder stürzt häufig ab. (9.5.2000)
    Dazu auch: Hotline-Tipps speziell für Intel-440BX-Chipsatz 128-Mbit-Chips allgemein und in 32M×4-Organisation
  8. Kann man Speichermodule mit verschiedenen Frequenzangaben (PC66, PC100, PC133) mischen?
    Bringen PC133-Module Vorteile in PC100-Mainboards?
    (9.5.2000)
  9. Welche Vorteile haben Marken-Speichermodule? (9.5.2000)
  10. Ein Teilbereich meines Speichers ist defekt. Kann ich das Modul trotzdem weiter nutzen? (25.5.2000)
  11. Wie zuverlässig sind Software-Speichertests? (8.8.2000)
  12. ctRAMTST meldet viele Fehler, in meinem PC steckt eine Grafikkarte mit 3Dfx-Chip (Voodoo) (c't-FAQ, 18/2000)
  13. Ich habe mehr Speicher in meinen PC mit Sockel-7-Prozessor eingebaut, jetzt wird er langsamer (c't-FAQ 8/2001)
  14. Wieviel Speicher ist eigentlich bei Windows 95, 98, 98SE und ME optimal und maximal möglich? (7.8.2001)

Aufbau eines Speichermoduls

Grundbaustein eines Speichermoduls sind einzelne Speicherchips.Diese Chips enthalten die eigentlichen DRAM-Zellen (Dynamic Random Access Memory) sowie die für Schreib- und Lesevorgänge und zur regelmäßigen Auffrischung (Refresh) nötigen Schreib- / Leseverstärker (Sense Amps).
Der innere Aufbau der Speicherchips bedingt den prinzipiellen Speichertyp: So kann man EDO-SIMMs nur aus EDO-Chips aufbauen und nicht etwa aus FPM-Chips. Für SDRAM-DIMMs braucht man dementsprechend SDRAM-ICs. 

Die Speicherfelder mit den DRAM-Zellen können in den Chips unterschiedlich strukturiert sein. Ein 64-MBit-Chip enthält natürlich immer 64*1024*1024 = 67.108.864 Speicherzellen (die alle funktionieren müssen). Aktuelle 64-MBit-SDRAM-Chips sind dabei intern zunächst einmal in 4 Bänke unterteilt, die der Chipsatz über spezielle "Bank Select"-Leitungen auswählen kann.

Die Speicherzellen in den einzelnen Bänken des SDRAM-Chips können nun unterschiedlich aufgeteilt sein, je nach Zahl der externen Datenleitungen: So gibt es 64-MBit-Chips mit

Diese unterschiedlichen Bauformen braucht man, um DIM-Module unterschiedlicher Kapazität mit denselben Bausteinen aufbauen zu können -- die DIMMs haben ja immer gleich viele Datenleitungen. Aus 64-MBit-SDRAMs kann man bauen:

Anders betrachtet:
Ein 64-MByte-SDRAM-DIMM kann man aus den folgenden verschiedenen Bausteinen aufbauen:

Die interne Organisation der Speicherchips bestimmt also den Aufbau eines Speichermoduls. Da die internen Speicherfelder in Zeilen (Rows) und Spalten (Columns) angeordnet sind, ist je nach innerer Organisation das Verhältnis von Zeilen- zur Spaltenanzahl unterschiedlich. Bei 64-MBit-SDRAMs sieht das so aus:

Die Zahl der Zeilen wird absichtlich konstant gehalten: Bei einem Refresh-Zyklus müssen alle Zeilen der Reihe nach aufgefrischt werden, und zwar spätestens nach einer in der Spezifikation festgelegten Zeit (meist 64 ms). Ein sogenannter 4K-Refresh bedeutet, dass 4096 Zeilen innerhalb 64 ms aufgefrischt werden.

Chipkombinationen gängiger SDRAM-DIMMs

Chip-Aufbau (Eigenschaften der SDRAMs) DIMM-Aufbau (Moduleigenschaften)
Kapazität Organisation Bänke Adressbits Page Length 32 MByte
(4 M x 64)
64 MByte
(8 M x 64)
128 MByte
(16 M x 64)
256 MByte
(32 M x 64)
512 MByte
(64 M x 64)
1 GByte
(128 M x 64)
2 GByte
(256 M x 64)
4 GByte
(512 M x 64)
  Tiefe x Datenleitungen   Row (Zeile) Col (Spalte) (Bit) Anzahl der SDRAM-Chips pro Modul / Anzahl der Rows / Page Size pro Row in KByte
16 MBit 4 M x 4 2 12 9 512 162/1/4K - - - - - - -
64 MBit 4 M x 16 4 12 8 256 4/1/2K - - - - - - -
64 MBit 8 M x 8 4 12 9 512 - 8/1/4K 161/2/4K - - - - -
64 MBit 16 M x 4 4 12 10 1 K - - 162/1/8K 323/2/8 K - - - -
128 MBit 8 M x 16 4 12 9 512 - 4/1/4K - - - - - -
128 MBit 16 M x 8 4 12 10 1 K - - 8/1/8K 161/2/8K - - - -
128 MBit 32 M x 4 4 12 11 2 K - - - 162/1/16K 323/2/16K - - -
256 MBit4 16 M x 16 4 13 9 512 - - 4/1/4K - - - - -
256 MBit4 32 M x 8 4 13 10 1 K - - - 8/1/8K 161/2/8K - - -
256 MBit4 64 M x 4 4 13 11 2 K - - - - 162/1/16K 323/2/16K - -
512 MBit4 32 M x 16 4 13 10 1 K - - - 4/1/8K - - - -
512 MBit4 64 M x 8 4 13 11 2 K - - - - 8/1/16K 161/2/16K - -
512 MBit4 128 M x 4 4 13 12 4 K - - - - - 162/1/32K 323/2/32K -
1 GBit5 64 M x 16 4 14 10 1 K - - - - 4/1/8K - - -
1 GBit5 128 M x 8 4 14 11 2 K - - - - - 8/1/16K 161/2/16K -
1 GBit5 256 M x 4 4 14 12 4 K - - - - - - 162/1/32K 323/2/32K

Die Modulbezeichnung 8 M x 64 steht für ein als "Non-Parity" oder auch "Non-ECC" bezeichnetes 64-MByte-Modul. Für EC- oder ECC-Fehlerkorrektur benötigt man Module mit zusätzlichen Chips und 8 weiteren Datenleitungen, weshalb man ein 64-MByte-ECC-DIMM auch unter der Bezeichnung "8 M x 72" findet. Das gilt sinngemäß auch für die anderen Kapazitäten. Die gebräuchlichsten Modulbauformen sind fett gedruckt.

1 Auf solchen zweireihigen DIMMs (auch "dual-row" oder "double-sided" oder DS-DIMM) sind die Datenleitungen von je zwei Chips parallel geschaltet.

2 Bei solchen doppelseitig bestückten DIMMs sind keine Datenleitungen parallel geschaltet, es handelt sich also elektrisch um Single-Sided-Module (SS-DIMMs, "single-row", "einreihig"). Diese sind laut PC133-Spezifikation als ungepufferte DIMMs (unbuffered DIMMs) nicht vorgesehen, sondern nur als Registered DIMMs.

3 Solche Riesenmodule sind nur als Stacked DIMMs mit Pufferchips (Registered DIMMs) zulässig. "Stacked" steht für "gestapelt" (übereinander angebrachte Chips, teilweise in einem Gehäuse (Dual-Die-Chips)). Meist sind sie auch mit ECC-Zusatzspeicher ausgestattet, also mit insgesamt 36 Chips (x72). Sie kommen fast nur in Servern zum Einsatz.

4 256- und 512-MBit-Chips brauchen einen 8K-Refresh (7,8 µs).

5 Stand April 2003: Noch kein Datenblatt von 1-GBit-Chips verfügbar..


www.ctmagazin.de - ciw - Mail an ciw

DIMM, SIMM, RIMM

SIMM = Single Inline Memory Module
SIMMs haben zwar auf beiden Seiten Kontakte, doch sind diese 1:1 durchverbunden.
30-Pin-SIMMs haben 16 Datenleitungen. Module müssen immer paarweise eingesetzt werden.
PS/2-SIMMs haben 72 Kontakte, davon sind 32 für Datenleitungen. IBM hat bei der Einführung des PS/2-PCs diese Module spezifiziert, die ebenfalls immer paarweise eingebaut werden müssen. Es gibt eine unübersehbare Vielfalt von Ausführungen, beispielsweise Double-Sided-Module (DS).

DIMM = Dual Inline Memory Module
SO-DIMM = Small Outline DIMM (kleines DIMM mit 144 Kontakten für Notebooks)
SDR-SDRAM-DIMMs (Single Data Rate SDRAM DIMM) nach PC66-, PC100- oder PC133-Spezifikation haben 168 Pins und 64 Datenleitungen.
DDR-SDRAM-DIMMs (Double Data Rate SDRAM DIMM) nach PC1600-, PC2100- oder PC2700-Spezifikation haben 184 Pins und 64 Datenleitungen.

RIMM = Rambus Dual Inline Memory Module

EDO = Extended Data Out

BEDO = Burst-EDO

FPM = Fast Page Mode

SDRAM = Synchronous Dynamic RAM

RAM = Random Access Memory


www.ctmagazin.de - ciw - Mail an ciw

Puffer, Register, Fehlerkorrektur

In Servern müssen Speichermodule oft zwei besondere Anforderungen erfüllen:

Die erste Bedingung erfüllen Speicherriegel, bei denen die Signale der Adressleitungen durch so genannte Register-Chips gepuffert werden. Bei den in Desktop-PC üblichen "Unbuffered" DIMMs sind ja nicht nur die Datenleitungen aller Module, sondern auch die Adressleitungseingänge aller Speicherchips einfach parallel geschaltet. Bei einem Hauptspeicherausbau von beispielsweise 1 GByte mit 128-MBit-Chips muss der Chipsatz bereits 64 Chips ansprechen, kommt noch ECC-Fehlerkorrektur hinzu, sind es sogar 72. Registered DIMMs entlasten die Adress-Treiberleitungen, damit der Chipsatz stabiler arbeitet. Außerdem sind Registered DIMMs manchmal aus Chips anderer Organisation aufgebaut. Statt etwa ein 256-MByte-Modul aus 16 Chips in 16Mx8-Organisation (also mit je 8 Datenleitungen, je 8 SDRAMs ergeben 64 Bit) aufzubauen, die als "Double-Sided"-Modul (also mit zwei "Bänken") auf beiden Seiten der DIMM-Platine sitzen und an den Datenleitungen parallel geschaltet sind, kann man auch 16 Chips in 32Mx4 verwenden. Obwohl ein solches Modul ebenfalls doppelseitig bestückt ist, ist es nur ein Ein-Bank-Modul ("Single Sided"), denn die 16 mal 4 Datenleitungen ergeben gerade die 64 Bit Datenpfadbreite von (PC66-/PC100-/PC133-/PC1600-/PC2100-) SDRAM-DIMMs. Single-Sided-Module entlasten die Datensignal-Leitungstreiber, weil weniger Chips  parallel geschaltet sind. Mit solchen Modulen kann aber nicht jeder Chipsatz umgehen: Der 440BX etwa verträgt maximal 16Mx8-Chips.

Bei EDO- und PC66-Speichermodulen spricht man auch von Buffered DIMMs. Die Pufferbausteine schlucken aber etwas Zeit, sodass ab 100 MHz Taktfrequenz die Eingangssignale erst einen Taktzyklus später an den Ausgängen der Pufferbausteine erscheinen. Puffer mit diesem logischen Verhalten nennt man eben "Register"; Registered DIMMs sind folgerichtig bei der Adressierung genau 1 Takt langsamer als Unbuffered DIMMs.

Auf Registered DIMMs findet sich außer den meist zwei Pufferbausteinen für die Adressleitungen auch noch ein PLL-Baustein, der zur Aufbereitung des Taktsignals dient. Das entlastet den Taktsignaltreiber des Mainboards. 

Zur Fehlerkorrektur hat Andreas Stiller in c't 12/1998 auf Seite 232 den Artikel
"Daten auf sicheren Schienen 
Über Wirkung und Nutzen von Parität und ECC"
veröffentlicht, den es hier für 0,80 Euro zum Download gibt.

Hier noch eine Hotline-Meldung zu der Frage, ob sich ECC-Speicher für Privatanwender lohnt.

Daher an dieser Stelle nur soviel:

ECC steht für Error Correction Code. Per ECC lassen sich 1-Bit-Fehler erkennen und korrigieren und 2-Bit-Fehler noch erkennen. Bei PCxxx-SDRAM nutzt man bei 64 Bit Datenpfadbreite 8 zusätzliche Leitungen und pro 64 Bit gespeicherte Daten 8 zusätzliche Bits; daher haben Module mit ECC immer mehr Speicherchips als "Non-Parity"-Module.

Beim Booten eines PC mit ECC-Hauptspeicher muss das BIOS das RAM zunächst mit bekannten Werten initialisieren, damit auch die entsprechenden Prüfbits in den ECC-Zusatzbausteinen abgelegt werden. Schreibzugriffe mit aktiviertem ECC dauern manchmal etwas länger, wenn nicht ein Datensatz mit voller Datenbusbreite anliegt. Der Chipsatz muss nämlich dann diese zur vollständigen "Zeile" fehlenden Bits erst aus dem RAM lesen, um die neue Prüfsumme bilden zu können. Erst dann schreibt er die neuen Daten. Wie stark genau der Leistungsverlust durch ECC ist, hängt vom Chipsatz, dem Betriebssystem und der laufenden Software ab — wir haben keine Erfahrungswerte.

Außer ECC gibt es noch EC (Error Checking), was in etwa der noch aus PC-Urzeiten bekannten Partity entspricht. Dieses Verfahren hat heute keine praktische Bedeutung mehr.

Manches BIOS-Setup erlaubt bei ECC eine Auswahl zwischen Hardware- und Software-ECC. Nach meinem bisherigen Verständnis ist damit gemeint, dass bei Hardware-ECC der Chipsatz etwaige Fehler stillschweigend korrigiert, bei Software-ECC stattdessen ein SMI (System Management Interrupt) ausgelöst wird, damit das Betriebssystem oder ein Treiber in Aktion treten kann.

In aktuellen Desktop-PCs hat ECC nur wenig Sinn, die Fehlerraten (Soft-Error-Rate SER, also die "weichen" Fehler, die während des PC-Betriebes dynamisch auftreten) heutiger Speicherbausteine sind extrem gering. Nur, wenn Daten sehr lange (mehrere Tage oder Wochen ohne Reboot) im Hauptspeicher stehen, etwa bei Servern, macht ECC Sinn. Dort setzt man auch zusätzlich Verfahren wie "Memory Scrubbing" ein, bei dem der Chipsatz in regelmäßigen Abständen den gesamten Speicherinhalt ausliest und neu schreibt (kann etwa der 440BX). So vermeidet man, dass sich (korrigierbare) 1-Bit-Fehler zu  (nicht korrigierbaren) Multibit-Fehlern auswachsen. 

In großen Servern bieten Chipsätze wie der ServerSet II HE-SL die "Chipkill"-Funktion. Wenn man immer vier Speicherbänke mit identischen ECC-Modulen bestückt, kann der Chipsatz den Ausfall eines kompletten Speicherchips korrigieren.

Die wichtigste Funktion in Zusammenhang mit ECC ist aber, dass das BIOS erkannte und korrigierte Speicherfehler protokolliert. So kann der Administrator erkennen, dass ein Speichermodul fehlerhaft ist und es rechtzeitig austauschen. Server-Fernwartungstools wie LANDesk erlauben bei entsprechender BIOS- und Treiberausstattung sogar die Ferndiagnose solcher Probleme.

Hinweise:

Es gibt Chipsätze, die ausschließlich mit Registered ECC DIMMs arbeiten können (ServerSet); auch manche Mainboards sind so ausgelegt, selbst wenn der Chipsatz auch mit ungepufferten Modulen arbeiten könnte. Das gilt vor allem im Serverbereich. Die geneigt montierten DIMM-Slots auf Mainboards  für ultraflache 1-HU-Rackgehäuse verlängern die Daten- und Adressleitungen. Das sorgt für höhere Lasten an den Treiberstufen, daher sind hier zum Ausgleich oft Registered DIMMs vorgeschrieben. Andererseits kommt mancher Chipsatz gar nicht mit Registered DIMMs zurecht (i815, obwohl manches BIOS es dennoch kann).

Auch ECC beherrscht nicht jeder Chipsatz. Chipsätze ohne ECC sind etwa Intel i815 oder VIA KT133. Meist laufen aber auch DIMMs mit ECC-Zusatzchips in Boards mit diesen Chipsätzen. 


www.ctmagazin.de - ciw - Mail an ciw

Speichermodul-Parameter

Eigentlich sollte sich auf jedem DIMM ein Aufkleber mit folgenden Informationen finden:

PC100-abc-defG

a = CAS Latency, kurz CL [Takte] 
b = RAS-to-CAS-Delay, kurz TRCD[Takte]
c = RAS Precharge Time, kurz TRP [Takte] 
d = Tac, output valid from clock [ns]
e = SPD-EEPROM-Version
f = (Reserviert)
G = kein Buchstabe oder "R" für Registered DIMM (gepufferte Ausführung)

Die langsamsten DIMMs für PC100 tragen also die Bezeichnung PC100-333-620.
Das schnellste DIMM für PC133 müsste als PC133-222-520 ausgezeichnet sein.

Etwas anders als die Intel-PC133-Spezifikation Rev. 1.7 definiert VIAs PC133-Spezifikation Rev. 0.4 die Angabe der Parameter:

PC133m-abc-dde

m = U für Unbuffered (die VIA-Spec gibts nur für Unbuffered DIMMs)
a = CAS Latency, kurz CL [Takte] 
b = RAS-to-CAS-Delay, kurz TRCD[Takte]
c = RAS Precharge Time, kurz TRP [Takte] 
dd = Tac, output valid from clock [ns], ohne Komma: "54" steht für die für PC133-DIMMs geforderten 5,4 ns
e = SPD-EEPROM-Version nach JEDEC, meist die Ziffer "2"

Die RAS Cycle Time TRCergibt sich aus der Summe von RAS Precharge Time, TRPund TRAS, der RAS Active Time. Letztere darf bei PC100 maximal 5 Clocks, also 50 ns lang sein und bei PC133 6 Clocks, also 6×7,5 = 45 ns. Für PC100-ab2-Module ergibt daraus eine  TRC von 7, für PC100-ab3 von 8 Clocks, ebenso wie bei DIMMs nach PC133-ab2. Module mit PC133-ab3 benötigen eine TRC von 9 Takten. 

Meist findet man nur Teile der möglichen Angaben, also beispielsweise "PC133-3". Dabei handelt es sich um ein PC133-SDRAM-DIMM mit einer CAS-Latency von 3 Takten. Meist impliziert diese Angabe, das auch die beiden anderen Parameter jeweils den Wert "3" haben.

Dieselben Angaben sollten auch, und zwar jeweils für PC66, PC100 und PC133, im SPD-EEPROM stehen. In diesen Serial-Presence-Detect-Chip schreibt der Modul-Hersteller ebenfalls seine Angaben, damit entsprechende Mainboards die Werte automatisch einstellen können.

Mit entsprechender Software kann man bei den meisten Mainboards diesen Chip auslesen, bei manchen Mainboards stehen die ausgelesenen Werte auch im BIOS-Setup, wenn man die automatische Einstellung aktiviert hat (Asus P2B, P3B). Bei Intel-Chipsätzen (ZX, BX, 810) und AMD-Athlon-Chipsätzen zeigt auch die c't-Software ctia an, welche Speicherwerte eingestellt sind. Wenn die BIOS-Einstell-Automatik funktioniert, kommen Sie darüber an die Werte heran -- doch leider ist das nur bei wenigen Mainboards der Fall.

Es gibt auch andere Share- und Freeware, die die Informationen aus dem SPD-EEPROM ausliest und anzeigt (Motherboard Monitor 5, CPUCool).

Anhand der Bezeichnungen auf den einzelnen Chips eines Speichermoduls kann man keine sichere Aussage über die Parameter des gesamten Speichermoduls machen. Einerseits sind diese Chip-Bezeichnungen sowieso oft Fantasiebezeichnungen, zu denen sich keine Datenblätter finden lassen. Doch selbst wenn es sich um Marken-Chips erster Qualität handelt, bestimmt das Platinchen, auf dem die Speicherchips sitzen, die Zugriffsgeschwindigkeit mit. Bei schlechtem Layout funktionieren schnelle Zugriffe nicht immer richtig.

Die zulässigen Daten eines unbekannten und nicht beschrifteten Moduls sind also sehr schwer herauszufinden. Auch mit Hardware-Testgeräten kommt man nicht viel weiter, weil die Spezifikation für PC133-333 und PC133-222-Module beispielsweise in einzelnen Parametern nur um 0,5 Nanosekunden auseinanderliegt. Ein Messgerät zur Messung solcher Zeitwerte müsste eine Bandbreite von über 2 GHz aufweisen -- solche Messgeräte kosten einige Zehntausend Mark. Speichertestgeräte wie das SIMCHECK für rund 4000 Mark halten da nicht mit. Außerdem müsste man die Zugriffsparameter auch noch in Abhängigkeit von der Betriebsspannung im zulässigen Bereich zwischen 3,0 und 3,6 Volt und der Betriebstemperatur im Bereich zwischen 0 und 55 °C messen, weil diese Einflussgrößen einen starken Einfluss auf die Parameter haben.

Eigentlich kann sich der zulässigen Parameter nur bei Modulen sicher sein, zu denen ein Datenblatt existiert und die vom Hersteller einzeln geprüft wurden und für die er eine Garantie übernimmt.

Leider halten auch nicht alle Mainboards die PC100-/PC133-Spezifikation genau ein: So schwanken speziell die Pegel der Taktsignale in Abhängigkeit von der Anzahl der eingesteckten DIMMs und der Betriebsfrequenz stark. Je nach Platinen-Layout gibt es auch stärkere Rauschpegel auf einzelnen Leitungen. Manches DIMM funktioniert deshalb tadellos in dem einen Mainboard und ist auf einem anderen nicht zum Laufen zu bringen. 


www.ctmagazin.de - ciw - Mail an ciw

DDR-SDRAM-DIMMs

Eigentlich sollte sich auf jedem DIMM ein Aufkleber mit folgenden Informationen finden:

PCxxxxG-aabc
xxxx = Modulbezeichnung je nach Taktfrequenz (s. Tabelle)
aa = CAS Latency, kurz CL [Takte] 
b = RAS-to-CAS-Delay, kurz TRCD[Takte]
c = RAS Precharge Time, kurz TRP [Takte] 
G = kein Buchstabe oder "R" für Registered DIMM (gepufferte Ausführung)

c't-Hotline-Meldung dazu und zum Thema Abwärtskompatibilität.

Modul-
Bezeichnung
Maximale theoretische Datentransferrate Chip-
Bezeichnung
Spezifikation(en) Taktfrequenz/
Zyklusdauer
CL 
(CAS-Latency)
TRCD
(RAS-to-CAS-Delay)
TRP
(RAS Precharge Time)
TRAS
(Active-to-Precharge-Time), TRC (RAS Cycle Time)
PC1600-??? 1,6 GByte/s 
(2×100 MBit/s×8 Byte = 1,526×230 Byte/s)
DDR200-10 Intel Addendum 100 MHz/10 ns 20 ns = 2 Takte 20 ns = 2 Takte 20 ns = 2 Takte TRAP< 50 ns
TRC= 70 ns
PC1600-2033 DDR200 JESD79R1 100 MHz/10 ns 20 ns = 2 Takte 20 ns = 2 Takte 20 ns = 2 Takte TRAS= 50 ns
TRC= 70 ns
PC2100-2533 2,13 GByte/s 
(2×133 MBit/s×8 Byte = 2,029×230 Byte/s)
DDR266B JESD79R1,
Intel Addendum
133 MHz/7,5 ns 20 ns = 2,5 Takte 20 ns = 3 Takte 20 ns = 3 Takte TRAS= 45 ns
TRC= 67,5 ns
PC2100-2033 DDR266A JESD79R1 133 MHz/7,5 ns 15 ns = 2 Takte 20 ns = 3 Takte 20 ns = 3 Takte TRAS= 45 ns
TRC= 67,5 ns
PC2100-2022 DDR266 Intel 133 MHz/7,5 ns 15 ns = 2 Takte 15 ns = 2 Takte 15 ns = 2 Takte TRAP< 45 ns
TRC= 60 ns
PC2700-2533 2,656 GByte/s 
(2×166 MBit/s×8 Byte = 2,533×230 Byte/s)
DDR333B JESD79R2 166 MHz/6 ns 15 ns = 2,5 Takte 18 ns = 3 Takte 18 ns = 3 Takte TRAS= 42 ns
TRC= 60 ns
PC2700-2033 DDR333A JESD79R2 166 MHz/6 ns 12 ns = 2 Takte 18 ns = 3 Takte 18 ns = 3 Takte TRAS= 42 ns
TRC= 60 ns
PC2700-2022 DDR333 ??? 166 MHz/6 ns 12 ns = 2,5 Takte 12 ns = 2 Takte 12 ns = 2 Takte TRAS= 42 ns
TRC= 54 ns
PC3200-3044 3,2 GByte/s 
(2×200 MBit/s×8 Byte = 3,052×230 Byte/s)
DDR400 JEDEC/Intel 200 MHz/5 ns 15 ns = 3 Takte 20 ns = 4 Takte 20 ns = 4 Takte TRAS= 40 ns
TRC= 60 ns
PC3200-3033 DDR400 JEDEC/Intel 200 MHz/5 ns 15 ns = 3 Takte 15 ns = 3 Takte 15 ns = 3 Takte TRAS= 40 ns
TRC= 55 ns
PC3200-2533 DDR400 JEDEC/Intel 200 MHz/5 ns 12,5 ns = 2,5 Takte 15 ns = 3 Takte 15 ns = 3 Takte TRAS= 40 ns
TRC= 55 ns
DDR 2 533 4,3 GByte/s 
(2×266 MBit/s×8 Byte = 4,267×230 Byte/s)
??? www.ami2.com ??? ??? ??? ??? ???

DDR-2-Speicher wird im Laufe des Jahres 2003 erwartet.


www.ctmagazin.de - ciw - Mail an ciw

Der Rechner erkennt die Speicherkapazität falsch.

Symptome:
Nach Einbau eines zusätzlichen Speichermodules wird nicht die volle Kapazität des Hauptspeichers erkannt, sondern nur ein Teil.
Der Rechner erkennt beim verschiedenen Bootvorgängen unterschiedlich viel Speicher.
Nach dem Einbau neuer Speichermodule stürzt der Rechner oft ab.

Diagnose:
Speichermodule können sehr unterschiedlich aufgebaut sein (s.o.).

Wenn Sie ein Mainboard mit Intel 440BX-Chipsatz verwenden, beachten Sie auch:
Hinweise zu 128-Mbit-Chips (256 MByte-Modulen) allgemein und speziell in 32M×4-Organisation

Ein Chipsatz kann nur eine bestimmte maximale Anzahl an Adressbits verwalten; das bedeutet, dass nur bestimmte Speicherchips und damit nur bestimmte Speichermodule adressiert werden können. Zusätzlich muss natürlich das Mainboard-BIOS auf die Erkennung der Speicherchips programmiert sein und auch für die richtigen Refresh-Intervalle sorgen.

Wenn also ein bestimmte Speichermodul in einem Mainboard nicht erkannt wird oder nicht läuft, kann man außer einem BIOS-Update nicht viel unternehmen. Vorsicht ist geboten, wenn man beispielsweise PS/2-EDO-Module mit hoher Kapazität, aber nur wenigen Speicherchips kauft: Als die Chipsätze mit PS/2-Speicherunterstützung entwickelt wurden, gab es noch keine 64-MBit-EDO-Chips, ja nicht einmal 16-MBit-Chips. Damals waren 4-MBit-Chips schon Luxusware, und für ein einziges 4-MByte-PS/2-Modul brauchte man 32 1-MBit-Chips.

Bei SDRAM-DIMMs ist oft eine Mischbestückung problematisch: Viele Chipsätze und BIOSse haben Schwierigkeiten, wenn in den verschiedenen DIMM-Slots Module mit Speicherchips unterschiedlicher Organisation stecken. Manchmal hilft es, die Module umzusortieren.

Besonders kritisch sind Mainboards für eine Mischbestückung EDO-SIMM / SDRAM-DIMM. Hier kann es zusätzlich Probleme mit der Spannungseinstellung kommen. Die alten EDO-SIMMs benötigen 5 Volt Betriebsspannung, moderne SDRAM-DIMMs 3,3 Volt. Es gab aber in einer Übergangszeit 5-Volt-SDRAM-Module, heute gibt es auch 3,3-Volt-EDO-DIMMs. Auf Dauer kann der Betrieb der Speichermodule mit Überspannung diese Beschädigen.

Hat man Probleme mit dem Speicherausbau, kontrolliert man zunächst alle Jumper auf die richtige Einstellung.

Anschließend sollte ein Blick ins Handbuch klären, ob die eingesetzte Speicherkombination überhaupt vorgesehen ist -- häufig gibt es im Handbuch Listen mit zulässigen Modulkombinationen.

Im BIOS-Setup kann man dann noch an den Speicher-Timing-Einstellungen drehen. Bei SDRAM-Speicher sollte man für die Werte CAS Latency, RAS-to-CAS-Delay und RAS Precharge Time jeweils 3 Takte einstellen (Hier detaillierte Hinweise für Athlon-Mainboards).

Stürzt der Rechner häufig ab, kann man bei manchem BIOS an den Refresh-Parametern drehen. Hier bedeuten kürzere Zeitintervalle häufigere Auffrischung der Speicherzellen, was bei schlechten Modulen manchmal hilft.

Ebenfalls nützlich bei schlechten Modulen ist der Parameter "MA Wait States" oder "DRAM Read Latch Delay". Hier kann man zusätzliche Wartetakte für den Speicherzugriff eingeben.

Wenn alles nichts hilft, ist als nächster Schritt ein BIOS-Update fällig.

Hilft auch dies nicht, kann man nur noch die Module umtauschen.


www.ctmagazin.de - ciw - Mail an ciw

Speichermodule mischen

Theoretisch ist es möglich, alle Speichermodule miteinander zu kombinieren, solange sie innerhalb ihrer Spezifikationen laufen. Vor allem ist es möglich, Speicher unterhalb ihrer Spezifikationen zu betreiben - PC100-Speicher läuft auch in Systemen mit 66 MHz FSB-Takt (Frontside-Bustakt), PC133-Module in PC100- und PC66-Boards.

Dennoch können beim Mischen von verschiedenen Speichermodulen Timing-Probleme auftreten: Jedes Modul benötigt eine bestimmte Kombination der Zugriffsparameter, mit der es das Mainboard und BIOS ansprechen sollte. Die dabei auftretenden Konflikte können sein:

Mit etwas Glück läuft die gewünschte Kombination trotzdem:

Neben der reinen Taktfrequenz (133 MHz bei PC133, 100 MHz bei PC100) sind noch andere Parameter für die Arbeitsgeschwindigkeit von Speichermodulen wichtig. Drei weitere wichtige Angaben sieht die DIMM-Spezifikation vor: Die CAS-Latency (kurz CL), das RAS-to-CAS-Delay (tRCD) und die RAS Precharge Time (tRP). Diese Zeitparameter können entweder zwei oder drei Taktzyklen lang sein, die Angabe sollte auf dem Speicherchip nach dem Muster PC100-abc erfolgen, wobei a für CL steht, b für tRCD und c für tRP. Ein Speicherriegel mit der Angabe PC100-333 arbeitet langsamer als einer mit PC100-222 oder PC100-322. Oft findet man auf dem Speicherriegel hinter der PC100- oder PC133-Angabe aber nur eine Ziffer, die dann für CL steht.

Eigentlich sollten moderne Mainboards diese Parameter automatisch richtig einstellen; dazu gibt es auf jedem DIMM einen Chip, in dem diese Informationen für das BIOS lesbar abgelegt sind (SPD-EEPROM). Schlägt die automatische Einstellung fehl oder hat man von Hand im BIOS-Setup falsche Werte eingetragen (meist im Menü ‘Advanced Chipset Setup’), kann der Rechner abstürzen oder er bootet gar nicht erst.

Speicherriegel von Markenherstellern entsprechen heute meist der Geschwindigkeit PC100-222 und PC133-333. Schnellere PC133-Module sind zurzeit noch nicht erhältlich.

Viele PC133-333-DIMMs lassen sich in 100-MHz-Boards als PC100-222 betreiben und sind dann schneller als beispielsweise PC100-322-Module. In diesem Fall hätte man einen Vorteil, wenn man sich beim Kauf für PC133-Module entscheidet. Schneller als ‘richtige’ PC100-222-Modulen sind sie jedoch nicht.

Leider kann man nicht generell davon ausgehen, dass PC133-Module bei PC100 wirklich in der Einstellung ‘222’ laufen; sie müssen explizit dafür spezifiziert sein. Im Allgemeinen ist also die Aussage falsch, dass PC133-Module bei 100 MHz Speichertakt besser oder schneller sind. Allerdings sind PC133-Module immer auch für 100 MHz Taktfrequenz spezifiziert und arbeiten damit problemlos.


www.ctmagazin.de - ciw - Mail an ciw

Marken-Module

No-Name-Speichermodule sind deutlich preiswerter als Markenware. Viele c't-Leser setzen daher keine "Originalmodule" von Speicherherstellern wie Fujitsu, Hitachi, Hyundai, IBM, Infineon, Micron/Crucial, Nanya, Samsung, Toshiba oder anderen ein. Solche Originalmodule haben immer eine eigene Typenbezeichnung. Dabei geht es nicht um die Typenbezeichnung der einzelnen Chips, sondern um eine Bezeichnung des DIMMs. Diese findet sich auf einem Aufkleber, der auf den Chips klebt. Alle namhaften Anbieter bieten im Web Datenblätter zu ihren Modulen, im Idealfall enthalten diese (etwa bei Infineon oder Samsung) sogar eine genaue Angabe des Inhaltes des SPD-EEPROMs. Bei allen bisher von c't getesteten Originalmodulen konnte ctSPD den Herstellernamen aus den Bytes 64-71 des SPD-EEPROMs auslesen.

Ebenfalls teurer als No-Name-Ware sind so genannte "Major-on-Third"-DIMMs, die Modulspezialisten wie beispielsweise Apacer, Dataram, Kingston, MSC, Transcend oder Viking auf eigenen Platinen unter Verwendung von Speicherchips der großen Hersteller fertigen. Nach unserer Erfahrung ist für solche Module oft kein exaktes Datenblatt verfügbar. Oft bieten Händler solche Module etwa als "Original-Infineon-Speicher" oder "Markenware" an. Nach dem Kauf stellt man dann fest, dass die Speicherchips zwar beispielsweise von Infineon sind, das Modul aber von einer anderen Firma produziert wurde. Zur rechtlichen Zulässigkeit dieser Praxis haben wir keine Informationen. Wer sichergehen will, sollte sich vom Händler die genaue Hersteller-Typennummer des gewünschten DIMMs geben und auf der Rechnung vermerken lassen.

No-Name-Module sind deshalb so billig, weil

Weil No-Name-Module und auch viele Major-on-Third-DIMMs trotz gleicher Typenbezeichnung aus völlig unterschiedlichen Chips aufgebaut sein können, kann die Qualität dieser Module schwanken. Ein Test solcher Module ist also praktisch sinnlos, weil man manchmal schon beim Nachkauf eine scheinbar gleichen Moduls ein tatsächlich völlig unterschiedliches Modell bekommt. Beim Test im Jahre 2001 baten wir mehrere Major-on-Third Hersteller  zur Einsendung von drei identischen Modulen -- mindestens ein Hersteller schickte jedoch drei Module gleicher Typenbezeichnung, die aber tatsächlich aus unterschiedlichen Chips aufgebaut waren und sich elektrisch auch unterschiedlich verhielten.

Nach den Erfahrungen der c't-Mainboardtests der vergangenen Jahre gab es nur sehr selten Probleme mit Originalmodulen namhafter Hersteller. Die Mehrzahl der Anfragen zu Speicherproblemen an die c't-Hotline stammt von Besitzern von No-Name-Modulen. Es scheint also empfehlenswert zu sein, keine No-Name-Module einzusetzen, sondern möglichst Originalmodule.

www.ctmagazin.de - ciw - Mail an ciw

Fehlerhaftes Speichermodul trotzdem nutzen

Ein Speicher-Testprogramm (beispielsweise ctRAMtst) findet fehlerhafte Speicherzellen in einem Modul. Gibt es eine Möglichkeit, diesen defekten Speicherbereich auszublenden, um das Modul weiter nutzen zu können?

Unseres Wissens nach gibt es kein Programm, mit dem man defekte Hauptspeicherbereiche gezielt ausblenden kann.

Die bei virtuelle Speicherverwaltung moderner Betriebssysteme (Windows / Linux) sowie die je nach Chipsatz sehr unterschiedliche Verwaltung des physischen Speichers machen die Programmierung eines solchen Tools sehr kompliziert.

Es ist jedoch unter Windows und Linux möglich, die maximal vom Betriebssystem verwendete Speichermenge zu begrenzen. Wenn es gelingt, per ctramtst-Diagnose und Tausch der Speichermodule untereinander, die fehlerhaften Speicherzellen in einen möglichst hohen Adressbereich zu verlagern, kann man den Speicher auf einen Wert knapp darunter begrenzen. Wir haben das noch nicht richtig getestet, hier trotzdem die Anleitung:

Windows 9x: Ein Artikel in der Microsoft Knowledge Base beschreibt (http://support.microsoft.com/search/, Article ID: Q181862), wie man mit dem Parameter "MaxPhysPage" im System.ini-Abschnitt [386Enh] Windows eine maximale Speichergröße aufzwingt. 
Beispiel:
   MaxPhysPage=08000
begrenzt den Speicher auf 128 MByte.

Windows 2000: Hier muss man die Speicherbegrenzung mit dem Parameter "/maxmem" in die Datei boot.ini eintragen, man kann dann leicht verschiedene vor dem Booten wählbare Konfigurationen erzeugen. Zum Bearbeiten der boot.ini muss man meist den Schreibschutz dieser Datei aufheben. Artikel der MS-Knowledge-Base, Beispiel:
   multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /maxmem=128
begrenzt den Speicher auf 128 MByte.

Linux: Der Kernel-Parameter "mem" übergibt dem Kernel die nutzbare Speichergröße. (man-Page dazu)
Beispiel: Man übergibt an der LILO-Eingabeaufforderung den Parameter mem=63m, also
   LILO: linux mem=63m
begrenzt den Speicher auf 63 MByte.
Um dies nicht bei jedem Start zu wiederholen, kann man dies in der /etc/lilo.conf automatisieren:
Im Abschnitt des zu startenden Kernels trägt man 
  append="mem=63m" 
ein. Anschließendes 
  /sbin/lilo 
teilt lilo diesen Eintrag mit..
Weitere Hinweise: http://sdb.suse.de/sdb/de/html/maddin_memory1.html
Noch ein interessanter Hinweis: http://home.zonnet.nl/vanrein/badram/


www.ctmagazin.de - ciw - Mail an ciw

Software-Speichertest:

Weder per Software noch mit einem Speichertestgerät lassen sich moderne Speichermodule 100-prozentig auf Fehlerfreiheit prüfen. Diese auf den ersten Blick erstaunliche Aussage beruht darauf, dass es Fehler in Speicherchips gibt, die nur bei bestimmten Zugriffsmustern auftreten. Da jedoch ein 64-MByte-Speichermodul genau 229 =536.870.912 Speicherzellen enthält (also mehr als eine halbe Milliarde), lassen sich in der Praxis nicht alle Kombinationsmöglichkeiten testen.

Speicher-Testsoftware wie

aber auch die ab etwa 4000 DM teuren Hardware-Testgeräte testen daher nur bestimmte, als kritisch bekannte Zugriffskombinationen.

Auch professionelle und Shareware-Diagnosetools enthalten oft Routinen zum Speichertest. Einen Überblick über solche Software bietet:

Software-Speichertests können jedoch immer nur eingeschränkt nützliche Ergebnisse liefern, weil ja zwangsläufig die Module in einem bestimmten Mainboard mit dessen Hardware-Eigenschaften getestet werden. Außerdem ist das Testprogramm selbst ja in den Speichermodulen geladen und kann diese beispielsweise nicht einfach ein- und ausschalten.

Das heißt: 

  1. Wenn ein Software-Speichertest keine Fehler findet, heißt das nicht, dass das Modul mit 100-prozentiger Sicherheit fehlerfrei ist. Grund: Das Modul könnte beispielsweise bei anderen Temperaturen, bei anderer Betriebsspannung oder mit ganz leicht veränderten Zugriffsparametern trotzdem ausfallen.
  2. Wenn ein Software-Speichertest Fehler findet, heißt das aber auch nicht, dass das Modul mit 100-prozentiger Sicherheit fehlerhaft ist. Grund: Das Mainboard, mit dem getestet wurde, kann ganz knapp innerhalb oder gar außerhalb der PC100-/PC133-Spezifikation arbeiten. Das Modul kann dann in einem anderen PC völlig problemlos funktionieren.

Wenn man also Fehler bei einem Speichermodul findet, sollte man zumindest denselben Test nochmals in einem anderen PC durchführen oder einen anderen Test mit demselben Modul nochmals durchführen. Hat man mehrere Module, sollte man diese in den Slots vertauschen und den Test wiederholen. Ändert sich auch die Fehleradresse, so steigt die Wahrscheinlichkeit, dass das Modul tatsächlich defekt ist.

Hardware-Speichertester (Advantest T5591), die sämtliche Zeitparameter von PC133-Modulen bei verschiedenen Betriebsspannungen und -temperaturen prüfen können, kosten mehrere Millionen DM. Dabei ist es mit dem Gerät alleine nicht getan, sondern es müssen noch für das jeweilige Modul geeignete Testroutinen entwickelt werden. Je nach internem Aufbau der Speicherchips reagieren diese unterschiedlich empfindlich auf bestimmte Bitmuster. Nur mit solchem Aufwand lassen sich Speichermodule zuverlässig prüfen.

Weitere Hinweise.


www.ctmagazin.de - ciw - Mail an ciw

Wieviel Speicher ist unter Windows 9x sinnvoll und maximal möglich?

Die Windows-9x-Versionen sind als preisgünstiges Privatkunden-Betriebssystem gedacht. Entsprechend ist die Speicherverwaltung nicht auf High-End-Ansprüche ausgelegt. Microsoft empfiehlt für Windows ME beispielsweise eine Minimalvoraussetzung von 32 MByte RAM und sagt, dass mehr Speicher die Arbeitsgeschwindigkeit steigere. Das gilt aber nicht bis zu beliebigen Speichergrößen. Man sollte diese Empfehlung eher so verstehen: Zu wenig Speicher bremst das Betriebssystem. Baut man mehr ein, arbeitet es flüssiger. Ab einer gewissen Grenze des Speicherausbaus, die von der installierten Software, den im Hintergrund arbeitenden Prozessen, der persönlichen Arbeitsweise wie etwa der Anzahl der gleichzeitig geöffneten Fenster und natürlich der Größe der geöffneten Dateien abhängt, bringt mehr Speicher keine großen Vorteile mehr. Es gibt sogar eine Obergrenze von 512 MByte RAM, ab der bei allen Windows-9x-Versionen Probleme auftreten können (im Juli 2001 veröffentlichten c't dazu einen Hotline-Artikel und eine Newsticker-Meldung, später noch eine Hotline-Meldung, Microsoft hat schon im Jahre 2000 einen Knowledge-Base-Artikel zu dem Thema veröffentlicht). Auch mit sehr viel Speicher ist die maximale Dateigröße begrenzt (hier Hotline-Meldung dazu).

Zur Messung der Arbeitsgeschwindigkeit des reinen Betriebssystems an sich gibt es keinen Standard-Benchmark. Geschwindigkeitsvorteile durch mehr Speicher kann man also objektiv nur mit Anwendungs- oder synthetischen Benchmarks messen. Quake 3 Demo 1 etwa läuft nach Messungen bei c't mit mehr als 128 MByte kaum schneller. Auch bei den BAPCo-SYSmark-Versionen  2000 und 2001 liegt der Unterschied zwischen 128 und 256 MByte RAM unter 10 Prozent, bei mehr als 256 MByte ist praktisch keine Änderung mehr messbar. Diverse andere, leider nicht näher beschriebene Benchmark-Vergleichsdaten liefert der Memory Calculator von Crucial. Hier kann man bei bestimmten Mainboards mit unterschiedlichen Prozessoren die Leistung bei diversen Speicherausstattungen vergleichen. Oberhalb von 384 MByte Speicherausbau sinkt nach den Angaben der Micron-Vertriebstochter Crucial bei vielen Benchmarks sogar die Verarbeitungsgeschwindigkeit.

Manche Programme wie Adobe Photoshop profitieren aber erheblich von mehr Speicher. Das Öffnen einer 90 MByte großen Datei kann nach unseren Messungen mit 256 MByte Speicher über eine Minute dauern, bei 1 GByte Hauptspeicher dauert es nur noch 20 Sekunden. Dieser Geschwindigkeitszuwachs hat aber nicht mit dem Betriebssystem an sich zu tun und tritt auch nur bei großen Dateien auf.

Windows verwaltet für den Fall, dass der physisch vorhandene Hauptspeicher nicht ausreicht, eine Auslagerungsdatei auf der Festplatte als "virtuellen Speicher". Natürlich ist der Zugriff auf Daten in diesem ausgelagerten Speicherbereich wesentlich langsamer als auf Daten im RAM. Tipps zur Optimierung der Auslagerungsdatei bietet der Artikel:

Axel Vahldiek
Ausgelagert 
Virtueller Arbeitsspeicher unter Windows 9x und ME
c't 1/2001, Seite 166
(Für 0,40 Euro unter http://www.heise.de/kiosk/archiv/ct/01/01/166/)

Uns ist kein Weg bekannt, Windows so an der Verwendung einer Auslagerungsdatei auf der Festplatte zu hindern, dass die Arbeitsgeschwindigkeit steigt. Es gibt im Web verschiedentlich den Tipp, eine RAM-Disk einzurichten und diese in Windows als Speicherort für die Auslagerungsdatei unterzuschieben. Ob das funktioniert und Vorteile bringt, haben wir bisher nicht nachgemessen.


www.ctmagazin.de - ciw - Mail an ciw