- ciw - Mail an ciw
c't-Artikel zum Thema:
Leistungsvergleich von SDR, DDR-SDRAM und Rambus-DRAM (RDRAM):
Christof Windeck, Sieger DDR?, Neue Speicherstandards für den PC, c't 6/2002, Seite 262ff.
(zu beziehen für 0,70 EURO unter http://www.heise.de/kiosk/archiv/ct/02/06/262/)
Grundsätzliche Infos zum Thema DDR-SDRAM und RDRAM (DDR, DDR 2, DDR III, QBM):
Christof Windeck, DDR-Technik, Neue Speicherstandards für den PC, Teil 2, c't 8/2002, Seite 228ff.
(zu beziehen für 1,10 EURO unter http://www.heise.de/kiosk/archiv/ct/02/08/228/)
Im Juli/August 2001 brachte c't eine Artikelserie zum Thema Speichermodule heraus:
Georg Schnurer, VerRAMscht, c't-Kauftest: PC133-Speichertest,
Teil 1, c't 16/2001, Seite 94ff
(zu beziehen für 1,40 EURO unter http://www.heise.de/kiosk/archiv/ct/01/16/094/)
Georg Schnurer, VerRAMscht, c't-Kauftest: PC133-Speichertest,
Teil 2, c't 17/2001, Seite 144ff
(zu beziehen für 1,00 EURO unter http://www.heise.de/kiosk/archiv/ct/01/17/144/)
Georg Schnurer, Richtig schnell, Was bringt eigentlich welcher
Speichertyp?, c't 17/2001, Seite 158ff
(zu beziehen für 0,70 EURO unter http://www.heise.de/kiosk/archiv/ct/01/17/158/)
Georg Schnurer, Viel RAM für wenige, c't-Kauftest:
512-MByte-DIMMs "für VIA", c't 16/2001, Seite 27
(zu beziehen für 0,40 EURO unter http://www.heise.de/kiosk/archiv/ct/01/16/027/)
Georg Schnurer, Vorsicht Falle!, Vermeintlicher "Markenspeicher"
im Umlauf, c't 17/2001, Seite 23
(zu beziehen für 0,30 EURO unter http://www.heise.de/kiosk/archiv/ct/01/17/023/)
Im August/September 2000 brachte c't eine Artikelserie zum Thema Speichermodule heraus:
Georg Schnurer, Katzen im Sack, c't-Kauftest: PC133-Speicher von
der Stange, Teil1, c't 17/2000, Seite 156ff.
(zu beziehen für 0,60 EURO unter www.heise.de/kiosk/archiv/ct/00/17/156/)
Georg Schnurer, Erbsen zählen, Der Einfluss des
Speichertyps auf die Systemleistung, c't 17/2000, Seite 160ff.
(zu beziehen für 0,70 EURO unter www.heise.de/kiosk/archiv/ct/00/17/160/)
Christof Windeck, Speicherriegel enträtselt, Wie Mainboards
Hauptspeicher-Zeitparameter einstellen (sollten), c't 17/2000,
Seite 166ff.
(zu beziehen für 1,00 EURO unter www.heise.de/kiosk/archiv/ct/00/17/166/)
Georg Schnurer, Katzen im Sack, c't-Kauftest: PC133-Speicher von
der Stange, Teil 2, c't 18/2000, Seite 148ff.
(zu beziehen für 1,20 EURO unter www.heise.de/kiosk/archiv/ct/00/18/148/)
Georg Schnurer, Katzen im Sack, c't-Kauftest PC133-Speicher Teil
3: Speicher-Praxis, c't 19/2000, Seite 180ff.
(zu beziehen für 1,10 EURO unter www.heise.de/kiosk/archiv/ct/00/19/180/)
Artikel zu Rambus-Speicher:
Christof Windeck, Rasender Daten-Bus, Direct-Rambus-Speicher
soll Computer beschleunigen, c't 3/2000, S. 232 ff.
(zu beziehen für 1,00 EURO unter www.heise.de/kiosk/archiv/ct/00/03/232/)
Diskussionsforum:
Heise-Online-Leserforum zum Thema SpeicherAuf 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!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.
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..
- ciw - Mail an ciw
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
- 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.
- ciw - Mail an ciw
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.
- ciw - Mail an ciw
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)
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.
- 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.
- ciw - Mail an ciw
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.
- ciw - Mail an ciw
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.- 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/
- ciw - Mail an ciw
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:
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.
- 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.
- ciw - Mail an ciw