Wikipedia · einfach zusammengefasst · Stand
Dynamic Random Access Memory
Dynamic Random Access Memory (DRAM) oder der halb eingedeutschte Begriff dynamisches RAM bezeichnet eine Technologie für einen elektronischen …
Inhalt6 Abschnitte
Grundprinzip und Bedeutung
Dynamic Random Access Memory (DRAM), auf Deutsch auch dynamisches RAM, ist eine Technologie für elektronische Speicherbausteine mit wahlfreiem Zugriff. „Wahlfrei“ bedeutet, dass einzelne Speicherstellen direkt adressiert werden können, anders als bei sequenziellen Speichern wie FIFO- oder LIFO-Speichern. DRAM wird vor allem in Computern als Arbeitsspeicher eingesetzt, aber auch in anderen Geräten wie Druckern.
Das speichernde Element einer DRAM-Zelle ist ein Kondensator. Er ist entweder geladen oder entladen und stellt damit die gespeicherte Information dar. Über einen Schalttransistor wird die Zelle zugänglich, sodass sie gelesen oder beschrieben werden kann. Der Speicherinhalt ist flüchtig: Ohne Betriebsspannung oder bei zu spätem Auffrischen geht die Information verloren.
Die große Stärke von DRAM ist die Verbindung aus sehr hoher Datendichte und geringen Herstellungskosten. Deshalb eignet sich DRAM besonders dort, wo große Speichermengen zu mittleren Zugriffszeiten gebraucht werden. Im Vergleich zu SRAM, also statischem RAM, ist DRAM langsamer und muss regelmäßig aufgefrischt werden, kann aber auf gleicher Chipfläche deutlich mehr Bits speichern.
Das Auffrischen heißt Refresh. Es ist normalerweise in Abständen von einigen zig Millisekunden nötig und erfolgt zeilenweise: Eine Speicherzeile wird in einen Zeilenpuffer übertragen, dort verstärkt und anschließend zurückgeschrieben. Daher stammt die Bezeichnung „dynamisch“. Bei SRAM kann man dagegen alle Signale anhalten, ohne dass die Daten verloren gehen. Der Refresh verbraucht auch im Ruhezustand Energie, weshalb in Anwendungen mit sehr geringem Ruhestrom häufig SRAM bevorzugt wird.
Die Ladung in den Kondensatoren verflüchtigt sich innerhalb von Millisekunden, kann durch Fertigungstoleranzen aber auch Sekunden bis Minuten erhalten bleiben. Bauteile werden sicherheitshalber mit dem garantierten Worst-Case-Wert spezifiziert, also der kürzesten vorkommenden Haltezeit. Hersteller senken den Energiebedarf unter anderem durch niedrigere Versorgungsspannungen: DDR-SDRAM von 1998 arbeitete mit 2,5 Volt, DDR2-SDRAM mit 1,8 Volt, DDR3-SDRAM mit 1,5 Volt, DDR4-SDRAM von 2014 mit 1,2 Volt und DDR5-SDRAM von 2020 mit 1,1 Volt.
Aufbau von Zellen, Zeilen und Feldern
Ein DRAM ist hierarchisch aufgebaut. Nach außen folgt die logische Struktur den Normen des Industriegremiums JEDEC, sodass Chips verschiedener Hersteller nach demselben Schema angesprochen werden können. Im Inneren sind die Speicherzellen auf dem Die, also dem Halbleiterplättchen, in Submatrizen organisiert.
Eine einzelne DRAM-Speicherzelle besteht aus einem Kondensator und einem Transistor, heute meist einem MOS-Feldeffekttransistor. Sie wird auch 1T1C-Zelle genannt, weil sie aus einem Transistor und einem Kondensator besteht. Jede Zelle speichert ein Bit. Der Kondensator kann in verschiedenen Technologien aufgebaut sein: Bei der Stack-Technik liegt er über dem Transistor, bei der Trench-Technik entsteht er durch ein etwa 5 bis 10 Mikrometer tiefes Loch im Substrat.
Der Transistor dient als Auswahltransistor. Über die Wortleitung wird am Gate-Anschluss eine positive Spannung angelegt; dadurch verbindet der Transistor den Zellkondensator mit der Bitleitung. Die Information kann dann gelesen oder geschrieben werden. Der untere Anschluss der Kondensatoren wird gemeinsam an eine Spannung angeschlossen, idealerweise V_Pl = 1/2 · V_BL, wodurch die maximale Feldstärke im Dielektrikum des Kondensators halbiert wird.
DRAM-Zellen benötigen sehr wenig Chipfläche. Ihre Größe wird oft als Vielfaches von F² angegeben, wobei F die kleinste fertigbare Strukturlänge ist. Eine DRAM-Zelle benötigt heute 6 oder 8 F², eine SRAM-Zelle dagegen mehr als 100 F². Dadurch kann DRAM bei gleicher Chipgröße wesentlich mehr Bits speichern und ist pro Bit günstiger.
Mehrere Speicherzellen an einer Wortleitung bilden eine Speicherzeile, auch Page genannt. Wird die Wortleitung aktiviert, geben alle Zellen dieser Zeile gleichzeitig ihren Inhalt auf die zugeordneten Bitleitungen aus. Eine übliche Pagegröße liegt bei 1 Ki bis 16 Ki Zellen.
In einem Zellenfeld sind Speicherzellen als Matrix verschaltet: Wortleitungen verbinden die Steuerelektroden einer Zeile, Bitleitungen die Drain-Gebiete einer Spalte. Am Rand der Matrix sitzen Schreib-Lese-Verstärker, auch Sense-Amplifier genannt. Sie verstärken das kleine Signal aus den Zellen und wirken zugleich wie ein einfacher statischer Speicher für eine ganze Speicherzeile. Bitleitungen werden im inaktiven Zustand auf 1/2 · V_BL vorgeladen.
Adressierung und interne Abläufe
Damit eine Speicherstelle erreicht wird, müssen Zeile und Spalte adressiert werden. Bei der Adressdekodierung wählt der Zeilendekoder aus 2^n Wortleitungen genau eine aus und hebt ihr Potential auf die Wortleitungsspannung V_WL. Die aktivierte Speicherzeile gibt ihren Inhalt auf die Bitleitungen aus, wo die Leseverstärker das Signal verstärken, speichern und zugleich wieder in die Zellen zurückschreiben. Der Spaltendekoder wählt aus 2^m Spaltenauswahlleitungen eine aus und verbindet je nach Datenbreite k bestimmte Bitleitungen mit den Datenleitungen nach außen.
Im Ruhezustand liegt die Wortleitung auf niedrigem Potential, U_WL = 0 V. Die Zelltransistoren sind nichtleitend, und die gespeicherte Ladung bleibt abgesehen von Leckströmen erhalten. Die Bitleitungen werden auf 1/2 · U_BL gehalten, und die Spannungsversorgung der Leseverstärker ist abgeschaltet.
Bei der Aktivierung einer Speicherzeile wird aus Bank- und Zeilenadresse bestimmt, welche Zeile angesprochen wird. Die Vorladung der Bitleitungen wird getrennt, dann wird an die Wortleitung eine positive Spannung angelegt. Die Transistoren werden leitend, und es kommt zu einem Ladungsaustausch zwischen Zellkondensator und Bitleitung. Wegen der hohen Bitleitungskapazität C_BL / C = 5 … 10 beträgt die Spannungsänderung nur etwa 100 mV. Danach werden die primären Leseverstärker eingeschaltet und verstärken den kleinen Spannungsunterschied, bis eine Bitleitung auf U_BL geladen und die andere auf 0 V entladen ist.
Beim Lesen wird die Spaltenadresse dekodiert. Die passende Spaltenauswahlleitung verbindet eine oder mehrere Bitleitungen mit Datenleitungen, die aus dem Zellenfeld herausführen. Am Rand des Feldes werden die Daten erneut verstärkt, in ein Schieberegister parallel eingelesen, mit dem externen Takt synchronisiert und ausgegeben.
Beim Schreiben werden die Schreibdaten fast gleichzeitig mit der Spaltenadresse eingelesen. Die passende Spaltenauswahlleitung verbindet Datenleitung und Bitleitung. Die Schreibdaten überschreiben den Zustand der primären Leseverstärker, die anschließend das Umladen der Bitleitungen und Speicherkondensatoren unterstützen.
Zur Deaktivierung wird die Wortleitungsspannung auf 0 V oder leicht negativ verringert. Die Zelltransistoren sperren, die Kondensatoren werden von den Bitleitungen getrennt, die Leseverstärker können abgeschaltet werden, und die Bitleitungen kehren durch Vorladung wieder auf 1/2 · U_BL zurück.
Timing, Multiplex, Burst, Refresh
DRAM-Zugriffe werden durch Timingparameter beschrieben. t_RCD, auch RAS-to-CAS delay oder row-to-column delay, ist die Zeit zwischen Aktivierung einer Wortleitung und dem frühesten erlaubten Lesekommando. CL, die CAS latency oder t_CL, ist die Zeit zwischen Lesekommando und Erhalt der Daten. t_RAS beschreibt, wie lange nach Aktivierung einer Zeile gewartet werden muss, bevor sie per Precharge deaktiviert werden darf. t_RP, die Row Precharge Time, ist die Mindestzeit nach einem Precharge-Kommando bis zur erneuten Aktivierung einer Zeile in derselben Bank. t_RC, die Row Cycle Time, beschreibt die Zeit zwischen zwei Aktivierungen beliebiger Zeilen in derselben Bank und entspricht weitgehend t_RAS + t_RP.
Die Adressleitungen eines DRAMs sind üblicherweise gemultiplext: Dieselben Pins übertragen nacheinander Zeilen- und Spaltenadresse. Bei asynchronen DRAMs wie EDO oder FPM zeigen RAS und CAS an, wie die Adresse zu verstehen ist. RAS steht für Row Address Strobe und gilt während einer gültigen Zeilenadresse. CAS steht für Column Address Select oder Column Address Strobe und gilt während einer gültigen Spaltenadresse. Bei synchronen DRAMs wie SDRAM und DDR-SDRAM werden Kombinationen aus Steuersignalen bei steigender Clock-Flanke ausgewertet.
Ein Burst-Zugriff liefert mehrere Daten unmittelbar hintereinander. Die Daten liegen in derselben Zeile, haben also dieselbe Zeilenadresse, aber unterschiedliche Spaltenadressen. Beim asynchronen DRAM mussten innerhalb des Bursts noch alle Spaltenadressen angegeben werden; bei synchronen DRAMs wird nur die Startadresse angegeben, die weiteren Spaltenadressen erzeugt ein interner Zähler. Die hohe Datenrate entsteht, weil innerhalb eines Bursts nur noch auf die Leseverstärker zugegriffen werden muss.
Refresh ist nötig, weil Leckströme die Ladung der Kondensatoren verändern. Die Retention Time, also die Zeit, nach der eine Zelle nicht mehr korrekt bewertet werden kann, halbiert sich bei einer Temperaturerhöhung um 15 bis 20 K. Kommerzielle DRAMs besitzen meist eine vorgeschriebene Refresh-Periode von 32 ms oder 64 ms. Beim Refresh wird eine Zeile in die Latches der Leseverstärker kopiert und direkt verstärkt zurückgeschrieben.
Wichtige Refresh-Verfahren sind RAS-only-Refresh, CAS-before-RAS-Refresh beziehungsweise Auto-Refresh, und Self-Refresh. Beim RAS-only-Refresh steuert der Speichercontroller die aufzufrischende Zeile extern an. Beim CAS-before-RAS-Refresh nutzt der DRAM einen internen Zähler für die Zeilenadresse. Beim Self-Refresh befindet sich der DRAM in einem Stromsparzustand und führt den Refresh weitgehend selbst aus; bei neueren DRAMs wie DDR-2 und DDR-3 wird die Periode oft temperaturabhängig geregelt, als Temperature Controlled Self-Refresh, TCSR.
Leistungssteigerung und Fehlerausgleich
Schneller wird DRAM nicht nur durch kürzere interne Zeiten, sondern auch durch Organisationstricks. Speicherbänke erlauben, dass pro Bank eine Zeile aktiviert sein kann. Vor synchronen DRAMs konnte jeweils nur eine Zeile im DRAM aktiv sein; ein vollständiger Schreib- oder Lesezyklus, t_RC, dauerte etwa 80 ns. Mit synchronen DRAMs wurden zunächst 2 Speicherbänke bei 16 MiB SDRAM, dann 4 bei 64 MiB SDRAM und DDR-SDRAM, 8 bei DDR-3-SDRAM sowie 16 und 32 bei RDRAM eingeführt. Während eine Bank Daten liefert, kann der Speichercontroller bereits Adressen für eine andere Bank senden.
Prefetching erhöht die externe Datentransferrate, ohne die interne Geschwindigkeit im gleichen Maß erhöhen zu müssen. Dabei werden pro Adressierung Daten mehrerer Spaltenadressen ausgelesen und in einen Parallel-Seriell-Wandler, also ein Schieberegister, geschrieben. Von dort werden sie mit höherer externer Taktrate ausgegeben. Die minimale Burstlänge entspricht dem Prefetch-Faktor: SDR-SDRAM hat Prefetch = 1, DDR-SDRAM Prefetch = 2, DDR2-SDRAM Prefetch = 4, DDR3- und DDR4-SDRAM Prefetch = 8, LPDDR4- und DDR5-SDRAM Prefetch = 16.
Mit steigender Speicherdichte steigt die Wahrscheinlichkeit defekter Speicherzellen. Deshalb enthalten DRAMs redundante Elemente: zusätzliche Zeilen- und Spaltenleitungen mit Speicherzellen. Werden beim Test fehlerhafte Zellen gefunden, wird die betroffene Leitung deaktiviert und durch eine redundante Leitung ersetzt. Dieses Remapping wird dauerhaft gespeichert, zum Beispiel durch laser-fuse, e-fuse oder anti e-fuse. Die Anzahl redundanter Elemente beträgt etwa 1 Prozent.
Diese Redundanz ist nicht dasselbe wie aktive Fehlerkorrektur mit Paritätsbits oder fehlerkorrigierenden Codes. Die Redundanzkorrektur erfolgt einmalig vor der Auslieferung des Speicherbauelements. Fehler, die später durch Alterung oder Übertragungsprobleme auftreten, werden dadurch nicht beseitigt.
Bauarten, Module, Geschichte und Anwendungen
DRAM wird im Alltag meist in Speichermodulen verwendet. Dabei darf man Modul und Speicherchip nicht verwechseln: DIMMs werden in Mebi- oder Gibibyte angegeben, einzelne Chips auf dem DIMM dagegen in Mebi- oder Gibibit. Erst durch die Zusammenschaltung einzelner SDRAM-Chips entsteht ein standardisiertes Speichermodul. Verbreitete Modulformen sind SIMM beziehungsweise PS/2-SIMM, DIMM beziehungsweise SO-DIMM und MicroDIMM. Die Netto-Gesamtgröße von RAM-Modulen als Arbeitsspeicher ist praktisch immer eine Potenz von 2.
Historisch entwickelte sich eine Reihe von DRAM-Typen. Der erste kommerziell erhältliche DRAM-Chip war 1970 Intels Typ 1103 mit 1024 Speicherzellen, also 1 KiBit. Das Prinzip der DRAM-Speicherzelle wurde 1966 von Robert H. Dennard am Thomas J. Watson Research Center von IBM entwickelt. Seitdem stieg die Kapazität eines DRAM-Chips um den Faktor 8 Millionen, während sich die Zugriffszeit auf ein Hundertstel verkürzte. 2014 hatten DRAM-ICs Kapazitäten bis zu 8 GiBit als Single-Die beziehungsweise 16 GiBit als Twin-Die und Zugriffszeiten von 6 ns.
Zu den wichtigen Generationen gehören klassischer DRAM ab 1970, FPM-DRAM ab 1987, EDO-RAM ab 1995, SDRAM ab 1997, RDRAM ab 1999, DDR-SDRAM ab 2000, DDR2-SDRAM ab 2004, DDR3-SDRAM ab 2007, DDR4-SDRAM ab 2012 und DDR5-SDRAM ab 2020. Für Grafikanwendungen entstanden außerdem GDDR-Varianten wie GDDR2, GDDR3, GDDR4, GDDR5, GDDR5X und GDDR6.
Die wichtigste Anwendung ist Arbeitsspeicher für Prozessoren. Die Haupttypen entwickelten sich zeitlich von Fast Page Mode DRAM über Extended Data Output RAM, Synchronous DRAM und Double-Data-Rate-Synchronous DRAM. Ihre Eigenschaften sind durch JEDEC genormt. Daneben existiert Rambus-DRAM, das vor allem bei Speicher für Server eingesetzt wird.
Für Spezialanwendungen gibt es angepasste DRAMs. Grafikkarten nutzen speziellen Bild- und Texturspeicher, zum Beispiel GDDR3. Graphics-DRAM beziehungsweise SGRAM ist durch höhere Datenbreiten für Grafikkarten optimiert. Vorläufer waren Video-RAM mit zwei Ports und Window RAM mit EDO-Eigenschaften und einem eigenen Display-Port. Für Netzwerkkomponenten wurden Typen wie Network-RAM, Fast-Cycle-RAM und Reduced Latency RAM entwickelt. In mobilen Geräten wie Mobiltelefonen oder PDAs sind mobile DRAMs wichtig, weil sie durch besondere Schaltungstechnik und Herstellungstechnologie weniger Strom aufnehmen. Pseudo-SRAM, auch cellular RAM oder 1T-SRAM, ist intern DRAM, verhält sich nach außen aber wie SRAM.