# Double Data Rate

Double Data Rate (DDR, engl., auch: double pumped) bezeichnet in der Computertechnik ein Verfahren, mit dem Daten auf einem Datenbus mit doppelter Datenrate übertragen werden können.
Ähnliche Verfahren sind Quadruple Data Rate (QDR) mit vierfacher und Octal Data Rate (ODR) mit achtfacher Datenrate.

## Technik bei DDR

Die Datenbits werden bei der aufsteigenden und abfallenden Flanke des Taktsignals übertragen, statt nur bei der aufsteigenden wie beim konventionellen Single Data Rate Verfahren. Damit dabei nicht die Frequenz der Zugriffe auf die Speicherzellen verdoppelt werden muss, wird auf die so genannte „Prefetch“-Technik zurückgegriffen: bei einem Zugriff werden aus dem Speicherfeld gleich zweimal so viele Daten geholt, wie mit einem Mal nach außen gegeben werden können. Die eine Hälfte der Daten wird mit der steigenden Taktflanke ausgegeben, während die andere Hälfte zwischengespeichert und erst mit der fallenden Flanke ausgegeben wird. Damit das zu einer Beschleunigung führt, muss die Anzahl zusammenhängend angeforderter Daten (=„Burst Length“) immer gleich oder größer als die doppelte Busbreite sein. Da das nicht immer der Fall ist, ist der Datendurchsatz beim DDR-SDRAM im Vergleich zu klassischem (SDR-)SDRAM bei gleicher Taktfrequenz nicht exakt doppelt so hoch. Ein weiterer Grund dafür ist, dass Adress- und Steuersignale im Gegensatz zu den Datensignalen nur mit einer Taktflanke bereitgestellt werden.

## Anwendungen

Die Technik wird zum Beispiel bei der Anbindung von Prozessoren (Front Side Bus, QPI, HyperTransport), des Arbeitsspeichers (DDR-SDRAM), von Massenspeicher (Ultra-160/Ultra-3 SCSI) und Grafikkarten (PCIe) verwendet.

## Bezeichnungen

Bei der Angabe der Taktfrequenzen von Double Data Rate-Verbindungen wird häufig die Taktfrequenz des Busses mit der Datenrate verwechselt, z. B. wird ein Prozessorbus mit 100 MHz Taktfrequenz und Double Data Rate als „200 MHz-Bus“ bezeichnet. Dies wird gelegentlich auch als effektiver Takt bezeichnet.
Eine Bezeichnung beginnend mit PC und drei Ziffern danach gibt die Busrate in MHz an (z. B. PC-133 oder PC133=133 MHz). Vier Ziffern dagegen bezeichnen die Datenübertragungsrate in MByte/s, so weist PC-2700 auf ein für 166 MHz gedachtes DDR-SDRAM-Speichermodul hin. Berechnung: 166 MHz × 2 (da DDR) × 64 Bit (Busbreite) = 21248 MBit/s / 8 Bit/Byte = 2656 MByte/s, aufgerundet 2700 MByte/s. Die PC-Angaben sind daher nicht auf die DDR-Technologie beschränkt und nur sinnvoll in Verbindung mit der Angabe der Bus- und Technologie-Bezeichnung (mit dieser wird dann Busbreite und Faktor klar festgelegt).

## Weiterentwicklungen: DDR2 und DDR3

DDR2 und DDR3 sind Weiterentwicklungen dieses Konzeptes, speziell für PC-Arbeitsspeicher, bei denen statt mit Zweifach-Prefetch, mit Vierfach- bzw. Achtfach-Prefetch gearbeitet wird, um eine höhere Taktung des I/O-Puffers zu ermöglichen. Bei DDR2 werden dabei die eigentlichen Speicherzellen nur mit der Hälfte des Taktes der I/O-Puffer betrieben. Der marketingtechnisch hier oft genannte Vierfach-Prefetch entsteht dabei zum einen über das DDR-Verfahren (×2) und zum anderen über diese Taktdopplung (×2) – insgesamt ein Vierfach-Prefetch. Bei DDR3 wird das dahingehend gesteigert, dass zwischen dem Takt der I/O-Puffer und dem Takt der eigentlichen Speicherzellen ein Unterschied in Höhe des Vierfachen existiert – zusammen mit dem DDR-Verfahren ein Achtfach-Prefetch. Obwohl die Speicherzellen den mit 90 % deutlich größeren Teil des Speicherchips abgeben, gilt bei der Taktangabe von DDR2/DDR3-Speichern der Takt der I/O-Puffer als „offiziell“.

## Nebenentwicklungen: GDDR2 und GDDR3

GDDR2 und GDDR3 sind Speichersorten, die ausschließlich auf Grafikkarten verbaut werden. Im Gegensatz zu dem, was der Name suggeriert, basiert GDDR2 auf DDR-SDRAM und GDDR3 auf DDR2-SDRAM. Das hängt damit zusammen, dass GDDR2 und GDDR3 keine offiziellen Spezifikationen sind, sondern nur Marketingnamen der großen Grafikchip-Entwickler darstellen.

## Verwandte Entwicklungen: QDR und QDR II

Quad Data Rate-RAM bezeichnet einen Baustein, der die Vorteile von DDR-SDRAM und Dual-Port-RAM vereint. Es besitzt getrennte Lese- und Schreibports, so dass unabhängig voneinander kollisionsfrei gelesen und geschrieben werden kann. Allerdings teilen sich die Daten eine gemeinsame Adressleitung. Damit kann das QDR-SRAM auf beiden Ports gleichzeitig bei steigender und fallender Flanke Daten übertragen, was unter dem Strich eine Vervierfachung der Datenrate ergibt. Es gibt zwei Typen von QDR-SRAMs, die 2-Word-Burst-Variante und die 4-Word-Burst-Variante. Das heißt, bei einem Lese- oder Schreibzugriff werden gleich 2 bzw. 4 Worte gelesen bzw. geschrieben. QDR findet z. B. beim Systembus des Pentium 4 Verwendung, ODR beim AGP-Bus (AGP-8X) und bei XDR-DRAM.
QDR II-RAM ist die verbesserte Variante des QDR-RAM mit rückgeführten Taktausgängen, sogenannten Echo-Clocks, die zur Synchronisation genutzt werden. Damit verbreitert sich das Fenster gültiger Daten bei gleicher Frequenz um bis zu 35 %. Die Latenzzeit ist im Vergleich zu QDR-SRAMs um einen halben Takt länger, insgesamt können aber höhere Datenraten gefahren werden, sodass der Durchsatz steigt.