SDRAM - Synchronous DRAM
SDRAM ist der am häufigsten verwendete Arbeitsspeicher bzw. Hauptspeicher in Computersystemen. Hauptsächlich in PCs. SDRAM hat die Eigenschaft, dass er seine Schreib- und Lesezugriffe am Systemtakt orientiert. Das bedeutet, er arbeitet synchron mit dem Speicherbus. Woraus die Bezeichnung "Synchronous DRAM" abgeleitet wird. Im Gegensatz dazu arbeitet normales DRAM asynchron.
Die synchrone Arbeitsweise vereinfacht und beschleunigt die Ansteuerung des Speichers. SDRAM kann programmiert und so die Art des Zugriffs gesteuert werden. Auf diese Weise lässt sich SDRAM an jede beliebige Anwendung anpassen.
In den Jahren 1996 und 1997 erfolgte auf Druck des Prozessor-Herstellers Intel der Übergang von den verschiedenen älteren DRAM-Speichern auf synchrones DRAM (SDRAM). SDRAM fand aber erst dann eine weite Verbreitung, als der Bustakt auf 100 MHz angehoben wurde.
SDRAM-Speicherbus
Der SDRAM-Speicherbus ist die Verbindung zwischen den Speichermodulen und dem Speichercontroller im Prozessor oder Chipsatz. Der Speicherbus von SDRAM arbeitet mit parallelen unsymmetrischen Signalen und das mit hoher Geschwindigkeit und einem engeren Timing. Der Bus ist bidirektional. Das bedeutet, die Signale zwischen dem Speichercontroller und den Speicherchips fließen in beide Richtungen. Die typischen Bus-Probleme wie Übersprechen, Fehlanpassung, elektromagnetische Störungen, Jitter und Rauschen spielen auch auf dem SDRAM-Speicherbus eine große Rolle. Die Probleme nehmen auch hier mit zunehmender Geschwindigkeit zu.
Mit zunehmender Geschwindigkeit werden erhebliche Anforderungen an die Speicherchips gestellt. Die Speicherchips hängen gemeinsam an den Signalleitungen und beeinflussen sich deshalb gegenseitig. Probleme entstehen vor allem durch Laufzeittoleranzen, kapazitive Effekte und Übersprechen auf benachbarte Leiterbahnen durch die hohe Taktfrequenz. Um diese Probleme zu umgehen entwickelte jeder Speicherhersteller andere Lösungen.
Um Inkompatibilitäten zwischen den Speichermodulen der unterschiedlichen Speicherherstellern zu vermeiden, werden ausführliche Spezifikationen erstellt. So wird sichergestellt, dass Speicherchips, Speichermodule und Speicher-Controller unterschiedlicher Hersteller sich untereinander vertragen. Diese Spezifikation sieht folgende Parameter und Maßnahmen vor:
- minimale und maximale Leiterbahnlänge zur Signallaufzeitminimierung
- Leiterbahnbreite und Leiterbahnabstand
- Leiterbahnplatine (PCB) muss aus 6 Ebenen (Layern) bestehen
- Abstände zwischen den Layern
- Abschlusswiderstände an den Datenleitungen
- SPD-EEPROM (Serial Presence Detect) mit Modul-Daten muss auf den SDRAM-Modulen vorhanden sein
- elektromagnetische Abschirmung
- goldbeschichtete Anschlüsse
SPD-EEPROM (Serial Presence Detect)
Damit jedes Motherboard die nötigen Einstellungen des Speicher-Controllers vornehmen kann, hat jedes Speichermodul (DIMM) ein digitales Datenblatt. Es ist im SPD-EEPROM gespeichert (Serial Presence Detect EEPROM). Das BIOS kann diesen Chip über den System Management Bus (SMBus) auslesen. Die darin enthaltenen Informationen sind für die Konfiguration des Speicher-Controllers sehr wichtig.
Architektur von SDRAM
Die Speicherzellen sind in Spalten und Zeilen angeordnet. Pro Spalte gibt es einen Schreib-/Leseverstärker.
Die Adressierung beginnt mit der Zeilenadresse (RAS). Erst nach dem Auslesen darf die Spaltenadresse folgen (CAS). Ein Decoder sorgt für die richtige Auswahl der Daten. Die Daten stehen nach Ablauf der CAS Latency (CL) am Ausgang bereit. Pro Adressierungsvorgang wandern die Daten von mehreren Spalten aus dem Sense Amps in die Pufferstufe. Von dort werden die Datenpakete Bit für Bit an die externen Anschlüsse des Chips weitergereicht.
Intern besteht SDRAM aus zwei Speicherbänken. Der Zugriff erfolgt abwechselnd, so dass die benötigte Erholungszeit zwischen den Zugriffen entfällt. Einen zusätzlichen Geschwindigkeitsvorteil bringt das Pipeline-Verfahren. Während der SDRAM-Chip noch Daten einliest, gibt er Daten bereits aus.
DDR-SDRAM
Um die Übertragungsgeschwindigkeit der SDRAM-Speichermodule zu erhöhen setzt man auf das Double-Data-Rate-Verfahren (DDR) indem man beide Taktflanken (aufsteigend und absteigend) zur Übertragung nutzt. Das entspricht einer Bandbreitenverdopplung. Eine weitere Geschwindigkeitssteigerung erreicht man dadurch, dass man pro Takt mehrere Datenworte überträgt (QDR, ODR).
Die Verdopplung bezieht sich jedoch nur auf die Anbindung der Speichermodule zum Chipsatz. Intern arbeiten die Speicherchips mit einer anderen Geschwindigkeit. Um die Differenz zwischen Speicherbus-Geschwindigkeit und interner Speicher-Geschwindigkeit auszugleichen, werden die Daten spekulativ aus den Speicherchips gelesen, in der Annahme, dass diese Daten nachfolgend angefordert werden.