Ein Speichermodul oder Speicherriegel ist eine kleine Leiterplatte, auf der einer oder mehrere elektronische Speicherbausteine (meist Halbleiterspeicher wie z. B. DRAM) aufgelötet sind. Speichermodule bilden oder erweitern den Arbeitsspeicher elektronischer Geräte wie Computer oder Drucker und werden dort in speziell dafür vorgesehene Steckplätze gesteckt.

Die Bezeichnung Speichermodul wird seltener auch für Speicherkarten oder USB-Sticks verwendet.

mini|SIMM mini|SO-SIMM mini|SDR-DIMM mini|DDR-DIMM mini|Micro-DIMM mini|RIMM mini|SO-RIMM

Bauformen Handelsübliche Modul-Bauformen für Personal Computer (PCs) richten sich nach den Halbleiterspeichertechnologien und sind oder waren:

Single Inline Memory Module (SIMM): Dieses hat nur eine Reihe von Leitungen. Jede davon ist auf beiden Seiten durch einen Kontakt vertreten. 8 bit breite Module (30 Kontakte) Diese gab es auch in einer Variante mit Anschlusspins; sie wird als Single Inline Pin Package (SIPP) bezeichnet und entspricht praktisch einem SIMM mit an die Kontaktflächen angelöteten Anschlussstifte. PS/2-SIMM, 32 bit breit, 72 Kontakte, bestückt mit Fast Page Mode Random Access Memory (FPM-RAM) oder Extended Data Output Random Access Memory (EDO-RAM) Dual Inline Memory Module (DIMM): Hier sind die Kontakte beider Seiten unabhängig voneinander, 64 bit breit, bestückt mit: Synchronous Dynamic Random Access Memory (SDRAM) Double Data Rate SDRAM (DDR-SDRAM) Double Data Rate 2 SDRAM (DDR2-SDRAM) Double Data Rate 3 SDRAM (DDR3-SDRAM) Double Data Rate 4 SDRAM (DDR4-SDRAM) Double Data Rate 5 SDRAM (DDR5-SDRAM) Small Outline Dual Inline Memory Module (SO-DIMM) für geringeren Platzbedarf (beispielsweise in Notebooks) Micro Dual-Inline Memory Module (Micro-DIMM) Rambus Inline Memory Module (RIMM): 16 bit breit Small Outline Rambus Inline Memory Module (SO-RIMM)

Herstellerabhängige Modulformen (beispielsweise für Server) und solche für besondere Anforderungen gibt es in großer Zahl, darunter auch DIMMs mit EDO-RAM. Andererseits verwenden andere Gerätetypen (Drucker, RAID-Controller) durchaus gängige PC-Module.

SIMM-Speichermodule (asynchron) sind „unbuffered“ oder „buffered“, DIMM-Speichermodule (synchron, SDR, DDR) entsprechend „unregistered“ oder „registered“. Als Weiterentwicklung der registered-Module sind DDR2- und DDR3-Module als Fully Buffered DIMM (FB-DIMM) eingeführt worden.

Gepufferte Module (buffered, registered, fully-buffered) sind beim Zugriff durch die Latenz des Puffers einen Taktzyklus langsamer, dafür sinkt die elektrische Belastung des Speicherinterfaces im Chipsatz bzw. im Hauptprozessor. Dies macht solche Module, insbesondere für Serveranwendungen mit großem Speicherausbau, durch eine höhere Anzahl von Speichermodulen sinnvoll.

Parameter eines Speichers Speicherkapazität Die Speicherkapazität eines Speichermoduls ergibt sich normalerweise als Produkt aus der Speicherkapazität der meist gleichartigen Speicherchips und deren Anzahl.

Beispiel:

Ein Speichermodul sei mit 16 Chips des Typs GM72V16821CT10K bestückt. Im Datenblatt dieses Chip ist angegeben, das er in zwei Bänken mit je 524.288 (= 219) Datenwörtern mit einer Wortbreite von jeweils 16 bit organisiert ist (2×219×16). Daraus ergibt sich eine Speicherkapazität pro Chip von 2×219×16 bit = 224 bit = 16.777.216 bit. Mit 16 dieser Chips ergibt sich eine Speicherkapazität des Speichermoduls von 224×16 = 228 bit = 268.435.456 bit; mit acht Bits pro Byte sind das 2(28-3) Byte = 33.554.432 Byte = 32 MiB.

Manche Speichermodule besitzen ein oder zwei zusätzliche Chips (gleichen oder anderen Typs), die Informationen für eine Fehlerkorrektur- bzw. Paritätsfunktion speichern. Hier werden für ein Byte häufig neun Bits verwendet (acht Datenbits und ein Prüfbit).

Leitungen Der heute veraltete DDR/DDR2-Speicher besitzt 64 Daten-Signalleitungen (beziehungsweise 72 bei ECC). Die einzelnen SDRAM-Chips sind so verschaltet, dass sie die gesamte Breite des Datenbusses belegen. Jeder Chip ist für bestimmte Datenleitungen zuständig. Ein Chip mit einer „×n“-Organisation kann n Datenleitungen versorgen. Für einen Datenbus mit 64 Leitungen sind folglich 64/n Chips mit der Organisation „×n“ erforderlich. Bei Modulen mit mehreren Bänken (siehe unten) sind mehrere Chips (zwei oder vier) an den Datenleitungen parallel geschaltet. Folglich enthält ein Modul mit k Bänken 64/n×k Chips mit der Organisation „×n“.

Zusätzliche Eingangsleitungen regeln die Auswahl des Speicherbausteins (Chip Select) und die Schreib- bzw. Leserichtung (R/W) der Daten.

Geschwindigkeit Ebenso wie bei der Größe, wird auch bei der Geschwindigkeit zwischen dem gesamten DIMM und den einzelnen Chips unterschieden. Ein einzelner Chip bezieht sich immer auf die maximale Taktfrequenz (zum Beispiel DDR2-1066, DDR-400, SDRAM 133).

Beim gesamten DIMM hingegen geht es um die Datentransferrate (zum Beispiel PC2-4200, PC3200). Bestückt mit SDRAM-Chips mit DDR2-533, die also eine Taktfrequenz von 266 MHz haben, übertragen sie im DDR2-Modus 4 Datenwörter pro Takt, und man kann die maximale Übertragungsrate beispielsweise folgendermaßen berechnen: 64 Leitungen je Speichermodul können pro Takt 4 × 8 Byte = 32 Byte übertragen; 133,3 Millionen Taktzyklen/s (MHz) × 32 Byte = 4,266 Milliarden Byte/s, also ungefähr 4,2 GB/s.

Der Datentransfer-Leistungswert ist nur ein Idealwert und wird in der Praxis nie erreicht. Er ist jedoch zur Klassifizierung von Speicher üblich; im obigen Beispiel wäre es also PC2-4200 aus DDR2-533-Chips, die mit 133 MHz laufen (siehe DDR2-SDRAM).

Bänke/Ranks Ein DIMM lässt sich mit einer unterschiedlichen Anzahl jeweils gleicher Module aufbauen. Das Gremium der JEDEC Solid State Technology Association macht dabei ganz bestimmte Vorgaben zum Aufbau der DIMMs. Erlaubt ist es, Chips einzusetzen, die entweder vier (nur mit Puffer), acht oder 16 Datenleitungen (siehe oben: Leitungen) in Anspruch nehmen. Des Weiteren ist immer eine bestimmte Gruppe von DRAM-Chips jeweils einer Bank zugeordnet. Eine Bank oder ein Rank (gemäß JEDEC-Terminologie) ist dabei ein eindeutiger, unabhängig adressierbarer 64 bit breiter Bereich eines Speichermoduls (bei ECC-Modulen 72 bit). (PDF; 278 kB). Kingston Technology memory ranking technical brief, April 2005. (PDF; 80 kB), Februar 2004. What’s the difference between a rank and a bank? Jede Bank verhält sich dabei wie ein separates Speichermodul. Daher belasten beispielsweise Zwei-Bank-Module die Busleitungen genau so stark wie zwei Ein-Bank-Module. Es existieren Speichermodule mit einer Bank, zwei oder vier Bänken (Single-, Dual- und Quad-Rank-DIMMs). Da Chipsätze in der Regel nur maximal acht Bänke verwalten können (bzw. bei hohem Tempo wie DDR-400 zumeist nur sechs Bänke), muss man für großen Speicherausbau (zum Beispiel 8 × 2 GiB = 16 GiB) auf Ein-Bank-Module zurückgreifen, da mit Zwei-Bank-Modulen mit 4 × 2 Bänken bereits alle acht Bänke belegt wären. Zudem muss in solchen Fällen meist die Geschwindigkeit der RAMs reduziert werden, zum Beispiel von PC3200 auf PC2700, da ansonsten die Interferenzen auf den Leitungen zu groß werden.

Zwischen der Bankanzahl und der einseitigen oder beidseitigen Bestückung der Speichermodule mit Speicherchips (single-sided/double-sided) besteht kein direkter Zusammenhang, d. h. einseitig bestückte Module können zwei Bänke enthalten, und beidseitig bestückte Module können auch nur eine Bank enthalten.

Puffer RAM-Chips gibt es mit unterschiedlichen Busbreiten (4 bit, 8 bit oder 16 bit) und in unterschiedlichen Größen (2015: 4 Gbit, 8 Gbit oder 16 Gbit)https://www.micron.com/products/dram/ddr4-sdram. Für den Bau kleiner Module (2 GB) werden wenige kleine RAM-Chip-Bausteine mit breitem Bus benötigt (4 Stück 256M×16 bit). Jeder dieser RAM-Chip-Bausteine hängt an den Adress- und Steuerleitungen (das sind hier vier), an den Datenleitungen hängt jeweils ein RAM-Chip-Baustein.

Für größere RAM-Module werden größere RAM-Chip-Bausteine (8 Gbit, 16 Gbit) und höhere Bausteinanzahl (8, 16, 32) verwendet und entsprechend die Busbreite verringert (8 bit, dann 4 bit). Durch die höhere Chipanzahl steigt auch die Belastung der Adress- und Steuerleitungen. Ab neun Chips müssen die Adress- und Steuerleitungen mit Registern gepuffert werden; dieser Modultyp wird als RDIMM (Registered DIMM) bezeichnet. Übersteigt die Gesamtbusbreite aller Module 64/72 bit, müssen auch Datenleitungen parallelgeschaltet werden. Das kann eine zusätzliche Pufferung der Datenleitungen empfehlenswert oder notwendig machen; der Modultyp lautet dann LRDIMM (Load Reduced DIMM).

Modulgröße Speicherbaustein Fan-Out Bemerkungen Anzahl Typ (Gesamt) Adressen Daten 2 GiB 4× 256 M × 16 bit (4 Gbit) 4 1 Kleinstes Modul mit DDR4-RAM 4 GiB 8× 512 M × 8 bit (4 Gbit) 8 1 Erweiterung durch mehr Chips 4 GiB 4× 512 M × 16 bit (8 Gbit) 4 1 Erweiterung durch größeren Chip 16 GiB 8× 2 G × 8 bit (16 Gbit) 8 1 Fan-Out der Adressen von 8, größtes Modul, das als unbuffered DIMM (UDIMM) verfügbar ist 16 GiB ECC 9× 2 G × 8 bit (16 Gbit) 9 1 Version mit ECC 32 GiB 16× 4 G × 4 bit (16 Gbit) 16 1 Fan-Out der Adressen von 16, erfordert Pufferung der Adressen (RDIMM: Registered DIMM) 32 GiB ECC 18× 4 G × 4 bit (16 Gbit) 18 1 Version mit ECC 64 GiB ECC 36× 4 G × 4 bit (16 Gbit) 36 2 Fan-Out der Adressen von 36, erfordert Pufferung der Adressen (RDIMM: Registered DIMM).Fan-Out der Daten von 2, wenn Daten auch gepuffert werden, handelt es sich um (LRDIMM: Load Reduced DIMM).

Registered DIMM und Load Reduced DIMM weisen auf Grund der zusätzlichen Latenzen der Pufferbausteine größere Latenzen auf.

Funktionsweise der Adressierung Der Auslöser für einen Schreib- oder Lesevorgang im Hauptspeicher ist hauptsächlich der Hauptprozessor. Auch Computerperipherie kann per Direct Memory Access auf den Speicher zugreifen, jedoch werden auch dabei die meisten Operationen vom Hauptprozessor veranlasst.

Findet der Hauptprozessor Daten nicht innerhalb des Prozessorcaches oder will Daten direkt in den Speicher schreiben, wird der Speichercontroller damit beauftragt. Bei älteren Intel-Prozessoren wie zum Beispiel dem Pentium 4 oder dem Core 2 Duo wurden die Befehle über den Front Side Bus an den Speichercontroller, welcher in der Northbridge sitzt, geschickt. Neuere Intel-Prozessoren wie Modelle der Core-i-Serie sowie AMD-Prozessoren seit Einführung der K8-Architektur haben einen deutlich kürzeren Weg, da hier der Speichercontroller direkt in dem Hauptprozessor liegt.

Timing Es existiert eine Vielzahl von Parametern, welche das Zeitverhalten des Speichers steuern. Standardmäßig ist im Speichermodul ein vom Hersteller eingestelltes Zeitverhalten eingetragen. Bei modernen Bauformen befindet sich dazu ein Electrically Erasable Programmable Read-Only Memory (EEPROM) auf dem Modul, das vom BIOS ausgelesen werden kann und so für eine korrekte Konfiguration sorgt. Durch sogenanntes Tuning durch den Nutzer wird oft versucht, dieses Zeitverhalten zu optimieren, was aber zu Systemabstürzen führen kann.

DDR-Speicher wird auf die folgende Art beschriftet:

Geschwindigkeit Puffer tCL tRCD tRP SPD-EEPROM-Version Platinen-VersionPC3200U 30331A1

Im obigen Beispiel wird ein Modul mit den Parametern PC3200U-30331-A1 beschrieben. Der wichtigste Parameter ist die maximale Geschwindigkeit des Moduls. „PC3200“ kennzeichnet, wie bei Geschwindigkeiten näher erklärt, Speichermodule, die 3,2 Milliarden Bytes pro Sekunde liefern können. Dadurch kann man recht einfach die Zuordnung von Prozessoren/Chipsätzen und passenden Speichermodulen ermitteln. Ein FSB-400-Prozessor kann ebenfalls nur 3,2 GB/s über seine Schnittstelle schicken. Aus diesem Grund wäre deshalb dieser Speicher für den entsprechenden Prozessor ausreichend. Das „U“ steht für ungepufferte DIMMs. Nach dem Bindestrich folgen die wichtigen Latenzzeiten und zwar ausgedrückt in Taktzyklen:

CAS Latency tCL: Zeitdauer zwischen einem Lesekommando und dem Erhalt der Lesedaten