TU Wien. Aktuelle Speichertechnologien (RAM) Embedded Computing Systems Institut für Technische Informatik. Mark Volcic 0425294 033/535



Ähnliche Dokumente
DIE EVOLUTION DES DRAM

RAM - Random Access Memory

Notizen-Neuerungen PC- HAUPTSPEICHER

Nicht flüchtige Speicher: Nicht löschbar: ROM, PROM (z.b. System). löschbar: EPROM, EEPROM, Flash (z.b. BIOS).

Digitaltechnik II SS 2007

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

einfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten...

RO-Tutorien 3 / 6 / 12

B Hauptspeicher und Cache

B Hauptspeicher und Cache

19. Speicher Überblick Entwicklung: Speicherchips

E Hauptspeicher und Cache

E Hauptspeicher und Cache

Flüchtige Halbleiterspeicher: statisch: SRAM (für Caches). dynamisch: DRAM (für Arbeitsspeicher).

Rechnerorganisation. 1. Juni 201 KC Posch

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

2. Halbleiterspeicher

Digitaltechnik II SS 2007

Tutorium Rechnerorganisation

Ram/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

REFERAT ÜBER RAM-MODULE:

Technische Grundlagen der Informatik

Modul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Vorlesung. Technologische Grundlagen der Informationsverarbeitung. Speicherung von Daten. Dipl.-Ing. Gert Martin

Fachbereich Medienproduktion

Erweiterung von Adressraum und Bit Tiefe

IT für Führungskräfte. Zentraleinheiten Gruppe 2 - CPU 1

1 Architektur von Rechnern und Prozessoren Cache-Speicher (11) Ersetzungsstrategie

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Neben Prozessor ist in einem Rechner das Speichersystem entscheidend für

Technische Grundlagen der Informatik

Grundlagen der Rechnerarchitektur. Speicher

Mikroprozessortechnik Grundlagen 1

Elektrizitätslehre und Elektronik. Halbleiterspeicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Referat von Sonja Trotter. Hauptspeicher / Arbeitsspeicher / Speicher / RAM

SRAM-Zelle Lesevorgang

Hauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik :

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

ZENTRALEINHEITEN GRUPPE

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Adressierung von Speichern und Eingabe- Ausgabegeräten

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

1,8V Flash and SRAM 28F3208W30

Rechnernetze und Organisation

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Digitaltechnik. 6 Speicherelemente. Revision 1.4

EEPROM Lesen/Schreiben über SPI-Bus

FAKULTÄT FÜR INFORMATIK

3. Rechnerarchitektur

Elektronischer Speicher

5 Zusammengesetzte und reguläre Schaltungsstrukturen

Cache Blöcke und Offsets

Michael Gründl CS CN Themen:

Software ubiquitärer Systeme

Lerndokumentation. Arbeitsspeicher. Lerndokumentation Arbeitsspeicher. Ausbildung Vorlehre Informatik. Autor: Ramon Schenk

Einleitung Architektur Schnittstellen Dateisysteme 3D XPoint im Vergleich Zusammenfassung Literatur. 3D XPoint. Patrick Wittke

Eine Möglichkeit: Latch als Speicherzelle

PC-Speichertechnologien im Überblick

4 DRAM-Varianten (2) 4 DRAM-Varianten. 4 DRAM-Varianten (4) 4 DRAM-Varianten (3)

Arithmetische und Logische Einheit (ALU)

Halbleiterspeicher. Halbleiterspeicher

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Halbleiterspeicher. Thomas Schumann. M.Sc.-Studiengang Elektrotechnik. Hochschule Darmstadt. Fachbereich Elektrotechnik und Informationstechnik

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Vorlesung: Technische Informatik 3

Grundlagen der Rechnerarchitektur

Speicherarten eines Mikrokontrollers

1. Basiskomponenten eines Rechners 1.3 Befehlssatzarchitekturen (1) Mehr Flexibilität beim Datenzugriff. Vier Klassen von Befehlssatz-Architekturen

Halbleiterphysik und Anwendungen Vorlesungsplanung Teil 10: Speicherbauelemente Prof. Dr. Sven Ingebrandt

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Klausur Mikroprozessortechnik

Einfluss der Taktfrequenz von DDR SDRAM und des Prozessors auf die Speicherperformance eines Computers

6. Die Spartan-Familie

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die

Speicher. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Hochschule Emden / Leer. Ausarbeitung. Speicherung digitaler Signale

Ein- Ausgabeeinheiten

Inhaltsverzeichnis. 1. Die Unterteilung des internen Speichers in ROM und RAM Seite Der ROM-Speicher Seite Der RAM Speicher Seite 4

6 Speicherelemente. Digitaltechnik. Übersicht. Adressen. Read-Only Memory ROM. Random Access Memory RAM. Datenbusse. Caches.

Klassifizierung der Halbleiterspeicher

Computer-Systeme. Teil 3: Das Boxmodell von Variablen

Computer-Systeme Teil 3: Das Boxmodell von Variablen

Speicherkapazität und Zugriffszeit einiger. Informationsspeicher. Informationsspeicher

Grundlegendes zum PC

Transkript:

TU Wien Embedded Computing Systems Institut für Technische Informatik Mark Volcic 0425294 033/535 Aktuelle Speichertechnologien (RAM) Bakkalaureatsarbeit Im Rahmen der LVA SE Seminar mit Bakkalaureatsarbeit Betreuung: Andreas Steininger Wien, 1. Juni 2007

1 Inhaltsverzeichnis Abbildungsverzeichnis 4 Tabellenverzeichnis 6 1 Übersicht 7 2 Begriffserklärung 8 2.1 random access read only...................... 8 2.1.1 RAM random access memory............... 8 2.1.2 ROM read only memory.................. 8 2.2 volatile non volatile......................... 8 2.2.1 volatile memory........................ 8 2.2.2 non-volatile memory..................... 9 2.3 Latenzzeit versus Datendurchsatz.................. 9 3 DRAM Klein und billig 11 3.1 Allgemeines.............................. 11 3.2 Aufbau und Funktionsweise..................... 11 3.2.1 1-Bit-Speicherzelle...................... 11 3.2.2 Speichermatrix........................ 12 3.2.3 Lesen und Schreiben..................... 13 3.2.4 Refresh............................ 15 3.2.5 Zusammenfassung....................... 15 3.3 Technologien............................. 16 3.3.1 FPM-DRAM Fast Page Mode DRAM.......... 16 Burst-Mode.......................... 16 Beispiel............................ 16 Interleaving.......................... 17 3.3.2 EDO-DRAM Extended Data Out DRAM........ 17 Beispiel............................ 18 3.3.3 Burst EDO.......................... 18 3.3.4 SDRAM Synchronous DRAM............... 19 Beispiel............................ 20 Read-Timing......................... 20 Write-Timing......................... 20 3.3.5 RDRAM Rambus DRAM................. 21 3.3.6 DDR-SDRAM Double Data Rate SDRAM........ 22 Pins und Symbole....................... 22 Read-Timing......................... 23 Write-Timing......................... 24

Inhaltsverzeichnis 2 3.3.7 DDR2-SDRAM........................ 24 Terminierung......................... 25 Pins und Symbole....................... 26 Read-Timing......................... 26 Write-Timing......................... 27 3.3.8 DDR3-SDRAM........................ 28 3.4 Anwendungen............................. 29 3.4.1 Embedded DRAM...................... 29 3.5 Zusammenfassung........................... 29 3.5.1 Vorteile............................ 29 3.5.2 Nachteile............................ 29 Gegenüberstellung...................... 30 4 SRAM Schnell und teuer 32 4.1 Allgemeines.............................. 32 4.2 Aufbau und Funktionsweise..................... 32 4.2.1 6T-SRAM........................... 32 4.2.2 Lesen und Schreiben..................... 33 Standby............................ 33 Lesen............................. 33 Schreiben........................... 35 4.2.3 4T-SRAM........................... 36 4.2.4 1T-SRAM........................... 36 Lesen............................. 38 Schreiben........................... 38 Dual Port SRAM....................... 39 Multi Port SRAM....................... 40 4.2.5 Speichermatrix........................ 41 4.3 Technologien............................. 41 4.3.1 ASRAM Asynchronous SRAM............... 41 4.3.2 SSRAM Synchronous SRAM................ 42 Burst SRAM......................... 43 Pipelined Burst SRAM.................... 43 Zero Bus Turn-around SRAM ZTB SRAM........ 44 Double Date Rate SRAM DDR SRAM.......... 44 Quad Data Rate SRAM QDR-SRAM........... 45 Quad Data Rate II SRAM QDRII-SRAM........ 47 4.4 Anwendungen............................. 48 4.4.1 Cache............................. 48 Funktionsweise........................ 48 4.5 Zusammenfassung........................... 49 5 MRAM Speicher der Zukunft? 50 5.1 Aufbau und Funktionsweise..................... 50 5.1.1 Lesen............................. 52 Twin Cell Method...................... 52 Reference Cell Method.................... 52 Self-Referenced Method................... 53

Inhaltsverzeichnis 3 5.1.2 Schreiben........................... 53 5.2 Speichermatrix............................ 54 5.2.1 XPT Crosspoint...................... 54 Lesen............................. 54 Schreiben........................... 55 5.2.2 1T1MTJ - 1 Transistor 1 Magnetic Tunnel Junction.... 55 Lesen............................. 56 Schreiben........................... 57 5.3 Zusammenfassung........................... 58 6 VRAM Video Random Access Memory 59 6.1 Aufbau und Funktionsweise..................... 59 6.2 Weiterentwicklungen......................... 60 6.2.1 WRAM Window RAM................... 60 6.2.2 SGRAM Synchronous Graphics RAM........... 60 DDR-SGRAM Double Data Rate Synchronous Graphics RAM........................ 61 Beispiel - Vergleich von SGRAM und DDR-SGRAM... 61 6.2.3 MDRAM Multibank DRAM................ 61 6.2.4 CDRAM Cache DRAM.................. 62 6.2.5 IDRAM Integrated DRAM................. 62 6.2.6 3DRAM 3 Dimenisonal RAM............... 62 6.2.7 GDDR-SDRAM Graphics Double Data Rate SDRAM. 63 Lesen............................. 63 Schreiben........................... 64 6.2.8 GDDR2-SDRAM....................... 64 6.2.9 GDDR3-SDRAM....................... 65 6.2.10 GDDR4-SDRAM....................... 65 6.3 Zusammenfassung........................... 66 7 Zusammenfassung 67 Literaturverzeichnis 68

4 Abbildungsverzeichnis 1.1 Überblick der unterschiedlichen Speichertypen........... 7 2.1 Verdeutlichung der Latenzzeiten [16]................ 9 3.1 Aufbau einer DRAM-Speicherzelle.................. 11 3.2 Blockdiagramm eines DRAMS.................... 12 3.3 Aufbau einer Speichermatrix [9]................... 13 3.4 Timing-Diagramm eines Lesezyklus [9]............... 15 3.5 Timing-Diagramm eines FPM-DRAMs im Burst-Mode [8].... 17 3.6 Timing-Diagramm eines EDO-DRAMs im Burst-Mode [8].... 18 3.7 Timing-Diagramm eines BEDO-DRAMs im Burst-Mode [8].... 19 3.8 SDRAM: Timing-Diagramm (Lesen) [29].............. 20 3.9 SDRAM: Timing-Diagramm (Schreiben) [29]............ 21 3.10 DDR-SDRAM: Timing-Diagramm (Lesen) [16]........... 23 3.11 DDR-SDRAM: Timing-Diagramm (Schreiben) [16]........ 24 3.12 Terminierung DDR- und DDR2-SDRAM [5]........... 25 3.13 Terminierung DDR- und DDR2-SDRAM [5]........... 26 3.14 DDR2-SDRAM: Timing-Diagramm (Lesen) [25].......... 27 3.15 DDR2-SDRAM: Lesen - Beispiel [25]................ 27 3.16 DDR2-SDRAM: Timing-Diagramm (Schreiben) [25]........ 28 3.17 DDR2-SDRAM: Schreiben - Beispiel [25].............. 28 3.18 Überblick der DDR-Technologien und deren Markteinführung [28] 31 4.1 Aufbau einer SRAM-Speicherzelle [51]............... 33 4.2 Blockdiagramm [43].......................... 33 4.3 Lesen einer SRAM-Speicherzelle [32]................ 34 4.4 6T-SRAM-Speicherzelle mit Sense-Amplifier [32].......... 35 4.5 SRAM mit Widerständen [51].................... 36 4.6 Aufbau einer 1T-SRAM-Speicherzelle [32]............. 37 4.7 Dual Port RAM mit Intel 8086 Prozessor [39]........... 39 4.8 Dual Ported RAM [43]........................ 40 4.9 SRAM-Speichermatrix [43]...................... 41 4.10 Blockdiagramm eines ASRAM [35]................. 42 4.11 Blockdiagramm eines SSRAM [35].................. 42 4.12 Timing-Diagramm eines synchronen SRAM [35].......... 43 4.13 Timing-Diagramm eines synchronen SRAM im Burst-Mode [35]. 43 4.14 Timing-Diagramme im Vergleich (Pipelined SRAM, synchrones SRAM) [35].............................. 43 4.15 Timing-Diagramm eines DDR-SRAMs [18]............. 44

Abbildungsverzeichnis 5 4.16 Lesen und Schreiben im Vergleich (a) Standard-SRAM; (b) QDR- SRAM [3]............................... 45 4.17 Blockdiagramm eines QDR-SRAM [3]................ 46 4.18 Timing-Diagramm eines QDR-SRAM (Burst 2) [12]........ 46 4.19 Vergleich der Geschwindigkeiten diverser SRAM-Technologien [12] 47 4.20 Timing-Diagramm eines QDRII-SRAM (Burst 4) [38]....... 47 4.21 Interner Aufbau eines PC-Speicher-Systems [35].......... 48 4.22 Schematischer Aufbau Prozessor und Cache [18]......... 48 4.23 Samsung QDR SRAM Roadmap [40]................ 49 5.1 Schematischer Aufbau einer MRAM-Zelle [26]........... 51 5.2 Darstellung der Werte mittels Magnetowiderstandseffekt [26]... 51 5.3 Schreiben einer MRAM-Zelle [26].................. 53 5.4 Aufbau einer XPT-Speichermatrix [26]............... 54 5.5 Schreiben eines Bits in einer XPT-Matrix [26]........... 55 5.6 Querschnitt einer 1T1MTJ-Speichermatrix [26]........... 56 5.7 1T1MTJ-Matrix mit 2 Referenzzellen [26]............. 57 5.8 1T1MTJ-Matrix mit 2 Referenzzellen [26]............. 57 6.1 Burst Read eines GDDR-Speichers von Samsung [13]....... 63 6.2 Burst Write eines GDDR-Speichers von Samsung [13]....... 64

6 Tabellenverzeichnis 3.1 DDR-SDRAM: Timing-Diagramme Pinerklärung [16]...... 22 3.2 DDR-SDRAM: Timing-Diagramme Symbolerklärung [16].... 23 3.3 Gegenüberstellung der DRAM-Technologien............ 30 7.1 Gegenüberstellung aller RAM-Technologien............. 67

7 1 Übersicht Diese Arbeit beschäftigt sich mit den aktuellen Speichertechnologien im Bereich der RAM-Technologien. Hierbei wird auf die unterschiedlichen Arten wie DRAM, SRAM, MRAM und VRAM mit deren Aufbau, Funktionsweise und Entwicklungen eingegangen. Im Kapitel 2 werden die wichtigsten Begriffe erklärt. Die nachfolgende Grafik zeigt einen Überblick der verschiedenen Speichertechnologien, wobei in dieser Arbeit nur der gelb hinterlegte Bereich behandelt wird. Abbildung 1.1: Überblick der unterschiedlichen Speichertypen

8 2 Begriffserklärung 2.1 random access read only 2.1.1 RAM random access memory Unter random access memory versteht man Speicherelementen auf deren Inhalt wahlfrei zugegriffen werden kann. Das bedeutet, dass der Zugriff auf Speicherzellen nicht sequentiell erfolgt, sondern dass jede Zelle direkt angesprochen werden kann. Daraus ergibt sich natürlich ein schnellerer Zugriff als bei sequentiellen Verfahren, da auf jede Speicherzelle mit dem selben Zeitaufwand gelesen und auch geschrieben werden kann. Die häufigste Anwendung derartiger Speicherbausteine findet man im Hauptspeicher eines PCs. 2.1.2 ROM read only memory Read only memory bedeutet, dass - wie der Name schon sagt - von diesem Speicher nur gelesen, jedoch nicht darauf geschrieben werden kann. Um die entsprechenden Daten zu erhalten, muss eine Adresse (Eingangsmuster) an das Speicherelement angelegt werden. Intern wird das Ergebnis über eine kombinatorische Funktion ermittelt und danach am Ausgang abgebildet (Ausgangsmuster). Die bekannteste Anwendung für Read-Only-Speicher ist die CD-ROM, von der die Daten nur gelesen werden können. Außerdem fand diese Art der Speichermedien bei diversen Spielekonsolen einen großen Anklang. Hier wurden die Spielen - je nach Hersteller - in unterschiedlichen Ausprägungen in Kassetten gespeichert, die vom Anwender nur gelesen aber nicht beschrieben werden durften (GameBoy, Nintendo64,...). 2.2 volatile non volatile 2.2.1 volatile memory Der Begriff volatile memory bezeichnet einen Speicher, dessen Inhalt beim Abschalten der Versorgungsspannung verloren geht (flüchtiger Speicher). Der Hauptspeicher des PCs (RAM) ist ein flüchtiger Speicher, da nach dem Abschalten des PCs bzw. beim Neustart die Daten nicht mehr im Speicher enthalten sind.

2 Begriffserklärung 9 2.2.2 non-volatile memory Im non-volatile memory bleiben die Daten auch nach dem Abschalten der Versorgungsspannung erhalten, er bezeichnet somit einen nicht-flüchtigen Speicher. Beispiele dafür sind ROM, CDs und DVDs und auch die Harddisk. 2.3 Latenzzeit versus Datendurchsatz In der Beschreibung und speziell in den Datenblättern der Chiphersteller findet man oft den Begriff der Latenzzeit. In den folgenden Kapiteln werden zwei unterschiedliche Angaben verwendet: Y-X-X-X Das Y steht hier für die beim ersten Zugriff benötigten Taktzyklen, das X für die Zugriffe auf die nächsten drei Speicheradressen im Burst-Modus. Dieser Zusammenhang wird nochmals im Kapitel 3.3.1 mit aktuellen Werten in einem Beispiel beschrieben. In den folgenden Kapiteln wird diese Form innerhalb von eckigen Klammern angegeben werden (z.b. [5-3-3-3]). t CAS -t RCD -t RP -t RAS Um diese Beschreibung von der zuvor genannten unterscheiden zu können, werden die Daten innerhalb von geschwungenen Klammern angegeben (z.b. {3-3-5-7}), wobei in der Literatur auch oft nur die ersten drei Stellen verwendet. Abbildung 2.1: Verdeutlichung der Latenzzeiten [16] In der folgenden Aufzählung werden die benötigten Werte noch genau beschrieben. Um einen besseren Bezug zum reellen Verhalten darstellen zu können, sind diese auch in Abbildung 2.1 eingetragen. t CAS : CAS Latency Anzahl der Taktzyklen für den Zugriff auf eine bestimmte Spalte. t RCD : Row address to column address delay Anzahl der Taktzyklen zwischen RAS und CAS.

2 Begriffserklärung 10 t RP : RAS Precharge Dauer des Aufladens der Bitleitungspaare auf die halbe Versorgungsspannung t RAS : Active to Precharge Delay Zeit zwischen zwei Lesevorgängen, die benötigt wird um die Bitleitungspaare vorzuladen. Zu diesen beiden Varianten gibt es noch eine dritte, die in diesem Dokument zwar nicht verwendet wird, aber zur Vollständigkeit sei sie noch angeführt CAS Latency bzw. Column Address Strobe Latency Time. Diese Timing-Angabe wird auch schon in der zweiten Aufzählung verwendet, kann aber auch alleine in der Form CLx angegeben werden, wobei das x für die Anzahl der Zyklen zwischen dem Read-Befehl bis zum Lesen der Daten steht (z.b.: CL2 Es dauert zwei Takte, bis die Daten gelesen werden). In den Beschreibungen der diversen Technologien werden die ersten beiden Varianten verwendet, wobei bis zum SDRAM die erste und dann die zweite angegeben wird. Beim SDRAM sind in der Literatur zum Teil beide Timing-Angaben zu finden.

11 3 DRAM Klein und billig 3.1 Allgemeines Der Begriff DRAM bedeutet Dynamic Random Access Memory. Hierbei handelt es sich um einen Speicher mit wahlfreiem Zugriff, der auch beschrieben werden kann. Da die Ladung nach einer gewissen Zeit dynamisch aufgefrischt werden muss (genaue Beschreibung im Kapitel 3.2), ergibt sich die Bezeichnung DRAM bzw. Dynamic RAM. Gerade im Bereich dieses dynamischen Speichers wurde viel Entwicklungsarbeit notwendig. Da die typische Anwendung der Hauptspeicher eines PCs ist und die Prozessoren einen rasanten technologischen Fortschritt machten, wurde es notwendig, auch den Speicher, der mit den schnellen Prozessoren in Verbindung steht, laufend weiter zu entwickeln. Oft schienen die Entwicklungen ausreichend für viele Jahre, doch schon bei der nächsten Geschwindigkeitssteigerung der Prozessoren wurde es notwendig, auch den Speicher zu beschleunigen und somit waren die neusten Technologien schnell veraltet. In den folgenden Abschnitten werden der Aufbau und die Funktionsweise, die Anwendungen und die Entwicklungen bis zum heutigen Datum erläutert. 3.2 Aufbau und Funktionsweise 3.2.1 1-Bit-Speicherzelle Eine DRAM-Speicherzelle zur Speicherung eines Bits ist sehr einfach aufgebaut und besteht aus einem Transistor und einem Kondensator, der dazu verwendet wird, um den Zustand (HIGH bzw. LOW) zu speichern. Die Abbildung 3.1 zeigt den Aufbau einer solchen Speicherzelle. Abbildung 3.1: Aufbau einer DRAM-Speicherzelle

3 DRAM Klein und billig 12 Über den Transistor, der die Funktion eines Schalters übernimmt, wird die Ladung des Kondensators angesteuert. So kann diese im Kondensator isoliert bzw. der Transistor zum Ein- und Auslesen der Daten durchgeschaltet werden. 3.2.2 Speichermatrix In einem Chip werden mehrere Speicherzellen zu einem Block zusammengefasst. Das Blockdiagramm in Abbildung 3.2 zeigt den Aufbau eines Speichers mit den benötigten Steuersignalen. Abbildung 3.2: Blockdiagramm eines DRAMS Eine Speichermatrix des DRAMs kann sich aus mehreren parallelen Speicherfeldern zusammensetzen. Zum Beispiel kann ein 16-MBit-DRAM aus einer Organisation von 4Mx4, 2Mx8 oder 1Mx16 aufgebaut sein, die Gesamtkapazität bleibt aber in allen Fällen 16 MBit. 2Mx8 bedeutet, dass die Größe eines Speicherfeldes 2MBit beträgt und insgesamt 8 parallele Speicherfelder verwendet werden (Abbildung 3.3). Die Aufteilung zwischen Zeilen und Spalten kann symmetrisch oder asymmetrisch sein. Das Verhältnis von Zeilen zu Spalten ergibt einen Wert, der als Refresh-Cycle bezeichnet wird und die Werte 1 K, 2 K, 4 K und 8 K annehmen kann. Dieser Wert bezeichnet die Anzahl der Zeilen, die regelmäßig aufzufrischen sind. In dem zuvor genannten Beispiel eines 16-MBit-DRAMs mit einer Organisation von 2Mx8 beträgt der Refresh-Cycle 4 K. Bei einer Zeilenanzahl von 4 K (= 4096) muss die Spaltenanzahl 512 sein, um auf insgesamt 2048 K Speicherzellen zu kommen, was den 2 MBit entspricht. Für die Adressierung der 4096 Zeilen ist

3 DRAM Klein und billig 13 Abbildung 3.3: Aufbau einer Speichermatrix [9] somit eine Adressbreite von 12 Bit notwendig, wobei für die 512 Spalten 9 Bit ausreichen. Das Verhältnis der Adressbreiten wird Mapping des DRAMs genannt und würde in diesem Beispiel 12/9 betragen. Der Prozessor übergibt die Speicheradresse aufgeteilt in Zeilen- und Spaltenadresse an den Adresspuffer. Diese Aufteilung erfolgt, damit die beiden Adressen zeitlich nacheinander übergeben werden, was als Adress-Multiplexing bezeichnet wird. Andernfalls wäre die doppelte Anzahl von Adressleitungen nötig, was eine deutliche Steigerung der benötigen Chipfläche bedeuten würde. Dieses Multiplexing-Verfahren wird von den Signalen RAS 1 und CAS 2 gesteuert. Übergibt die Speichersteuerung die Zeilenadresse, so aktiviert sie das Signal RAS und der Adresspuffer wird zum Einlesen der Adresse bereitgestellt. Diese wird danach an den Zeilendekoder weitergegeben, der die Adresse für den Zugriff auf eine bestimmte Zeile decodiert. Analog funktioniert danach der Zugriff auf eine Spalte mit der Spaltenadresse und dem Steuersignal CAS. 3.2.3 Lesen und Schreiben Wie in der Abbildung 3.1 zu sehen ist, wurde das Gate des Transistors mit der Wortleitung verbunden. Um die Ladung im Kondensator zu isolieren, muss der Pegel dieser Signalleitung auf LOW gesteuert werden. Somit befindet sich der Transistor im hochohmigen Zustand und die Ladung bleibt gespeichert. Um die Daten von Kondensator zu lesen bzw. in den Kondensator zu schreiben, muss der Pegel der Wortleitung auf HIGH angehoben werden. Dadurch wird der Transistor leitfähig und verbindet den Kondensator mit der Bitleitung. Beim 1 Row Address Strobe bzw. Zeilenadressabtastung; low-aktives Signal 2 Column Address Strobe bzw. Spaltenadressabtastung; low-aktives Signal

3 DRAM Klein und billig 14 Schreiben gleicht sich die Ladung des Kondensators entsprechend dem Pegel der Bitleitung an, auf der die zu schreibenden Information liegt. Es wird hier nicht nur eine Leitung, sondern ein Bitleitungspaar (BL, BL) verwendet. In der Speichermatrix sind die einzelnen Zellen abwechselnd mit einer der beiden Leitungen verbunden. Wird die Wortleitung aktiviert, so steht ein Schreib- bzw. Lesevorgang bevor und das Bitleitungspaar wird über den Vorladeschaltkreis auf die halbe Versorgungsspannung vorgeladen und danach der Vorladeschaltkreis wieder deaktiviert. Die für diesen Ladevorgang benötigte Zeit wird RAS-Precharge-Time genannt. Danach erfolgt der eigentliche Zugriff auf die zu lesenden Daten. Die aktivierte Wortleitung schaltet den Transistor durch und die Kondensatorladung fließt auf das vorgeladene Bitleitungspaar. Ist in einem Kondensator der logische Zustand HIGH (d.h. der Kondensator ist geladen) abgelegt, so wird das Potential der Bitleitung leicht angehoben. Analog läuft der Vorgang für den Zustand LOW ab, bei dem die Bitleitung leicht herabgezogen wird. Die zweite Leitung dieses Paares bleibt unverändert auf dem halben Wert der Versorgungsspannung. Um nun definierte Potentiale der Bitleitung zu bekommen, müssen diese über einen Leseverstärker angepasst werden. Wurde das Potential der Leitung über die halbe Versorgungsspannung angehoben, so wird dieses über den Verstärker auf den vollen Wert der Versorgungsspannung gezogen, wurde das Potential heruntergesetzt, so zieht der Leseverstärker dieses auf das Niveau der Masse (Null) herab. Die zweite Leitung des Paares wird auf den entgegengesetzten Wert geändert. Nachdem nun sämtliche Zellen und deren Bitleitungspaare ausgelesen und auf das entsprechende Potential gezogen wurden, erfolgt nun der Zugriff auf die Spalten. Das Signal RAS signalisiert nun, dass eine Spaltenadresse anliegt. Der Vorgang erfolgt analog dem des Zeilenzugriffs. Die erforderliche Zeit zwischen der Zeilen- und Spaltenadressierung heißt RAS-CAS-Delay. Beim Lesen der Daten aus den Kondensatoren wird die Ladung konsumiert, d.h. beim Lesen fällt die Spannung der gespeicherten Zustände. Dieser Vorgang wird Konsumierendes Lesen genannt und deshalb muss die Ladung nach dem Lesen in die Kondensatoren wieder zurückgeschrieben werde (siehe Kapitel 3.2.4). Die Abbildung 3.4 zeigt das Timing eines Lesezugriffs auf ein konventionelles DRAM. Der Ablauf beim Schreiben in den Speicher unterscheidet sich nur sehr wenig von dem beim Lesen. Über die Speichersteuerung wird bei aktivem RAS- Signal die Zeilenadresse an das DRAM übergeben. Diese wird decodiert und die entsprechende Wortleitung in der Speichermatrix aktiviert. Um nun zu erkennen, dass ein Schreibvorgang ansteht, wird das WE-Signal beim Anlegen des RAS-Signals aktiviert. Nun können die Daten eingelesen werden und die Spaltenadresse wird an das DRAM übergeben. Um die richtigen Werte zu schreiben, wird der Signalpegel der Daten über den Leseverstärker verstärkt und das Bitleitungspaar wird auf den zu schreibenden Wert geladen. Im Falle von HIGH muss die Leitung auf die Versorgungsspannung angehoben bzw. bei LOW auf Null gezwungen werden. Aufgrund der Treiberstärke des Leseverstärkers können die

3 DRAM Klein und billig 15 Abbildung 3.4: Timing-Diagramm eines Lesezyklus [9] Pegel ohne Probleme abgeändert werden und die nicht benötigten Bitleitungen bleiben vom Schreibvorgang unbeeinflusst. Danach werden Zeilen-, Spaltendecoder und der Leseverstärker deaktiviert. Dadurch sind die Speicherzellen isoliert und die Bitleitungspaare werden vom Vorladeschaltkreis wieder auf die halbe Versorgungsspannung aufgeladen. Nach Beendigung dieses Vorladevorgangs (RAS- Precharge-Time) kann somit der nächste Zugriff auf die Speicherzellen erfolgen. 3.2.4 Refresh Das Problem bei dieser dynamischen Speicherzelle besteht darin, dass die Ladung beim Lesen konsumiert wird und somit danach wieder in den Kondensator zurückgeschrieben werden muss. Dieser Vorgang wird write-back genannt. Außerdem verliert ein Kondensator aufgrund unvermeidlicher Leckströme mit der Zeit seinen Spannungszustand und dieser muss periodisch wieder aufgeladen werden, was Refresh genannt wird. Die Zeit zwischen zwei Refresh-Zyklen wird als refresh-rate bezeichnet und liegt nach einem festgelegten Industriestandard bei 15 µs. Dieser Werte kann in manchen Fällen im BIOS geändert werden, was aber das Risiko eines Soft Errors 3 mit sich bringt, weil bei zu langen Wartezeiten die Ladung verloren geht und somit nicht mehr richtig aufgefrischt wird. 3.2.5 Zusammenfassung Da eine DRAM-Speicherzelle nur aus einem Transistor und einem Kondensator besteht, kann eine hohe Speicherdichte auf einem Chip erzielt werden. Durch den geringen Materialbedarf ist auch das Preis-Leistungsverhältnis sehr gut und die Verwendung von DRAM-Speichermodulen auch für große Datenmengen geeignet. Allerdings sollte nicht außer Acht gelassen werden, dass DRAM-Speicherchips sehr langsam sind, sogar langsamer als die CPU eines PC-Systems. 3 Umfallen eines Speicherbits, nicht permanent

3 DRAM Klein und billig 16 3.3 Technologien 3.3.1 FPM-DRAM Fast Page Mode DRAM Bei den normalen DRAM-Speicherchips müssen für den Zugriff die benötigten Zeilen- und Spaltenadressen gesucht werden. Da dieser Vorgang Zeit in Anspruch nahm, wurde eine neue Technik entwickelt: Paging Beim Paging kann auf sämtliche Adressen einer bestimmten Zeile der Matrix schneller zugegriffen werden, weil hier nur die Spaltenadresse geändert wird und die Zeilenadresse erhalten bleibt. Speicher, die diese Technik unterstützen werden Page-Mode-Speicher bzw. Fast-Page-Mode-Speicher genannt. Das Initialisieren des ersten Lesezugriffs läuft wie bei konventionellen DRAMs ab, doch nach dem ersten Lesezyklus lässt die Speichersteuerung das Signal RAS auf LOW. Somit bleibt die Zeile, auch Page genannt, aktiv. Bei den folgenden Lesezugriffen muss die Steuerung nur noch jeweils eine neue Spaltenadresse an das DRAM übergeben. Dadurch fallen die RAS-Precharge-Time und der RAS-CAS-Delay bei den Folgezyklen weg. Mit dieser Technik wurde die Zugriffszeit deutlich gesenkt, allerdings nur dann, wenn der Zugriff durchgehend auf die selbe Zeile erfolgt. Beim Wechsel in eine andere Zeile, dem so genannten Page-Miss, muss allerdings ein neuer Lesevorgang komplett initialisiert werden. Burst-Mode Eine weitere Verbesserung der Zugriffsverfahren wurde ab der 486er- Prozessorfamilie eingeführt. Hier erfolgt der Zugriff auf die Daten im so genannten Burst-Mode. Dabei wird genutzt, dass die meisten Speicherzugriffe konsequent (nacheinander) erfolgen. Es reicht also aus, die Zeilen- und Spaltenadresse für einen Zugriff festzulegen, um auch auf die folgenden drei Adressen ohne zusätzliche Latenzzeit bzw. Waitstates zugreifen zu können. Burst-Zugriffe sind in der Regel auf vier Zugriffe beschränkt. Das Timing wird häufig als die Anzahl der Zyklen pro Zugriff beschrieben. Ein typischer Zugriff auf ein konventionelles DRAM im Burst-Mode wäre in der Form X-Y-Y-Y beschrieben. Das X steht hierbei für die beim ersten Zugriff benötigte Zeit und das Y für die Anzahl der Zyklen, die für jeden folgenden Zugriff benötigt wird. Die Abbildung 3.5 zeigt das Timing-Diagramm eines FPM-DRAMs im Burst- Mode. Sehr deutlich zu sehen ist hier, dass nach dem Anlegen der Zeilenadresse, vier aufeinander folgende Spalten gelesen werden. Beispiel Gegeben ist ein FPM-DRAM im Burst-Modus mit einem Timing von [5-3-3-3]. Das bedeutet, dass der erste Zugriff fünf Zyklen in Anspruch nimmt, während die darauf folgenden drei Zyklen jeweils nur drei Takte beanspruchen. Ohne den Burst-Modus wäre das Timing in diesem Fall [5-5-5-5] und man sieht sofort den großen Nutzen des Burst-Modus.

3 DRAM Klein und billig 17 Abbildung 3.5: Timing-Diagramm eines FPM-DRAMs im Burst-Mode [8] Interleaving Eine weitere Verbesserung der Zugriffszeiten stellte das Interleaving dar, was so viel bedeutet wie Überschneidung bzw. überschneiden. Bei dieser Technik werden zwei separate Speicherblöcke zusammen verwendet, auf die abwechselnd zugegriffen wird. Während auf einen Block zugegriffen wird, kann der zweite bereits die neue Adresse nachladen. Somit kann die Latenzzeit verkürzt werden, was den Zugriff auf die Daten beschleunigt. Das Problem dabei ist, dass zwei identische Speicherblöcke benötigt werden. Großen Anklang fand diese Technik zur Zeit der 32-Bit-Speichersysteme der 486er-Prozessoren, seit diverser Pentium-Entwicklungen ist sie eher bedeutungslos, da diese 64 Bit breite Speicher verwendeten. Um in Pentium-Systemen Interleaving realisieren zu können, waren Speicher mit 128 Bit erforderlich, d.h. es müssten vier Speichermodule installiert werden. 3.3.2 EDO-DRAM Extended Data Out DRAM 1995 kam eine neue speziell für Pentium-Systeme ausgelegte Speichertechnologie auf den Markt, die sich Extended Data Out Dynamic Random Access Memory nannte. Da diese Entwicklung eine abgeänderte Form des in Kapitel 3.3.1 beschriebenen FPM-DRAMs war, wurde sie auch als Hyper Page Mode bezeichnet. Hier werden die Ausgangstreiber von einem eigenen Signal (Output Enable OE) gesteuert, was den Vorteil hat, dass, im Gegensatz zu FPM-DRAM, eine bessere Überlappung der Zugriffe erfolgt. Während Daten aus einer Spalte gelesen werden, kann bereits die Adresse des nachfolgenden Speicherzugriffs geladen werden. Die Funktionsweise und die Zeitersparnis waren ähnlich wie die des Interleavings, jedoch waren keine zwei identischen Speicherbänke notwendig. Es konnten die selben Chips wie bei FPM verwendet werden, was eine bessere Leistung ohne Zusatzkosten darstellte. Die Schreibzugriffe blieben aber wie bei den FPM- Speichern unbeschleunigt und entsprechen von der Leistung her den normalen Standard-DRAMs.

3 DRAM Klein und billig 18 Abbildung 3.6: Timing-Diagramm eines EDO-DRAMs im Burst-Mode [8] In der Abbildung 3.6 ist sehr deutlich zu sehen, dass die Daten im Vergleich zum FPM-DRAM deutlich schneller am Ausgang anliegen. Beispiel Ein EDO-RAM ermöglicht im Burst-Modus ein Timing von [5-2-2-2]. Im Vergleich dazu steht das Timing [5-3-3-3] des FPM-RAMs aus dem vorherigen Beispiel. Man sieht, dass FPM-Speicher für 4 Speichertransfers insgesamt 14 Systemzyklen benötigt, EDO-RAM für den selben Aufwand jedoch nur 11. Ab dem Jahr 1998 nahm die Nachfrage an EDO-Speichern rapide ab, da sich die neuere und schnellere SDRAM-Entwicklung zum Standard für neue Systemspeicher entwickelte (siehe Kapitel 3.3.4). 3.3.3 Burst EDO Die Speichertechnik Burst EDO oder BEDO-RAM bedeutet Burst Extended- Data-Out Dynamic Random Access Memory und war die Entwicklung eines EDO-Speichers mit einer speziellen Burst-Funktion. Diese Technologie versprach einen noch schnelleren Datentransfer, doch kurz nach der Einführung wurden die BEDO-Speicher schon von SDRAM abgelöst, weil sie unter Anderem auch nur von einem einzigen Chipsatz unterstützt wurden. Bei dieser Technik wird ein zwei Bit breiter Adressgenerator verwendet. Beim Zugriff auf den Speicher muss die erste Adresse an den Speicher übergeben werden, die nachfolgenden drei Spaltenadressen werden über den internen Adressgenerator automatisch erzeugt. Weiters verwendeten BEDOs intern eine Dual- Bank-Architektur. Somit konnte, während eine Bank noch mit der Datenausgabe blockiert war, parallel dazu die zweite Bank mit der Adressierung der nächsten Spalte beginnen. In der Abbildung 3.7 ist das Timing-Diagramm eines BEDO-DRAMs im Burst-Modus zu sehen. Auf den ersten Blick scheint es nachteilig, dass die Daten nicht sofort nach dem ersten CAS-Zyklus bereit liegen, aber durch den geringen RAS-CAS-Delay und deutlich kürzeren CAS-Zyklen fällt dies aber nicht ins Gewicht.

3 DRAM Klein und billig 19 Abbildung 3.7: Timing-Diagramm eines BEDO-DRAMs im Burst-Mode [8] In dieser Technologie konnten erstmals auch die Schreibzugriffe beschleunigt werden. Dies wurde durch die Dual-Bank-Architektur realisiert, doch der größte Nachteil der BEDO-DRAMs war, dass sie nur mit Taktfrequenzen bis zu 66 MHz arbeiten konnten. 3.3.4 SDRAM Synchronous DRAM Im Jahre 1997 zur Zeit des Pentium II kam eine komplett neue Architektur an Speicherchips auf den Markt das SDRAM (Synchronous Dynamic Random Access Memory). Das SDRAM ist eine Art DRAM, bei der Prozessor, Chipsatz und der Speicher synchron über ein Bussystem kommunizieren. Für die Speicherzugriffe wird die steigende Taktflanke verwendet. Da diese Speicherarchitektur auch zur Familie der dynamischen RAMs zählt konnte die anfängliche Latenzzeit nicht verkürzt werden, aber die gesamte Zykluszeit ist wesentlich kürzer als bei FPM- und EDO-RAM. SDRAM-Bausteine verwenden wie auch schon BEDO-DRAM eine Dual- Bank-Architektur. Dadurch kann bereits auf eine Bank geladen werden, während die andere noch mit einem Speicherzugriff belegt ist. Bei den aktuellen Technologien werden sogar vier Bänke verwendet, was die Zugriffe nochmals beschleunigt. Eine weitere Neuerung war, dass zusätzlich zu den Adressen auch eine Befehlsübermittlung an das SDRAM angelegt wurde. Ähnlich dem BEDO-DRAM generiert das SDRAM bei einem Speicherzugriff nachfolgende Adressen automatisch und führt den Zugriff überlappend auf die Speicherbänke durch. Nicht nur die Tatsache, dass SDRAM nur mehr acht Zyklen für vier Speicherzugriffe benötigte, sondern auch, dass diese neue Technologie Systembusse mit Taktfrequenzen von 100 MHz und mehr unterstützte, setzte sich diese Technologie schnell am Markt durch. Außerdem waren die neuen Speichermodule nur unwesentlich teurer, aber deutlich schneller.

3 DRAM Klein und billig 20 Erstmals mit dieser neuen synchronen Speichertechnologie wurde die Geschwindigkeit nicht mehr nur in Nanosekunden (ns), sondern in Megaherz (MHz) angegeben. Der damalige Standard waren 15 und 10 ns was 66 bzw. 100 MHz entsprachen. Die aktuellsten Werte für SDRAM-Speichermodule liegen bei 133 MHz und stellen einen Speicherplatz von 512 MB zur Verfügung. Einer der größten Hersteller in der Speichertechnologie Infineon hat die Produktion der 512 MB großen Module bereits eingestellt und stellt nur mehr Chips mit einem Speicherplatz von 256 MB zu Verfügung, die eine Latenzzeit von {2-2-2} (512 MB: {3-3-3} aufweisen. [30] Beispiel Das Timing eines SDRAMs beträgt beim Zugriff im Burst-Modus lediglich [5-1-1-1], was bedeutet, dass vier Speicheroperationen in nur acht Zyklen durchgeführt werden können. Zum Vergleich dazu benötigte das EDO-RAM elf und das FPM- RAM sogar vierzehn Zyklen. Read-Timing Zur Erklärung des Timings wird ein SDRAM mit 512 MB, einer Taktfrequenz von 133 MHz und einem Timing von {3-3-3} der Firma Infineon verwendet. Die Grafik 3.8 zeigt nun das Timing-Diagramm des beschriebenen Chips bei einem Lese-Zugriff. Abbildung 3.8: SDRAM: Timing-Diagramm (Lesen) [29] Da die Abbildung 3.8 aus einem Datenblatt kopiert wurde, das für mehrere Chips veröffentlicht wurde, scheint hier die Latenzzeit von zwei bzw. drei auf. Deutlich zu sehen ist, dass, sobald das Kommando READ A am Speicherchip anliegt, noch zwei bzw. drei Taktzyklen vergehen, bis die Daten am Ausgangspin anliegen. Da der Zugriff im Burst-Modus verwendet wird, werden vier Datenblöcke am Ausgangspin bereitgestellt und danach kann eine neue Operation auf den Speicher erfolgen. Write-Timing Als Beispiel für das Timing bei einem schreibenden Zugriff wird wieder dasselbe Speichermodul wie in 3.3.4 verwendet. Die Abbildung 3.9 zeigt nun das Timing-

3 DRAM Klein und billig 21 Diagramm des genannten Chips. Abbildung 3.9: SDRAM: Timing-Diagramm (Schreiben) [29] Beim Timing-Diagramm für den schreibenden Zugriff (Abbildung 3.9) ist zu erkennen, dass Daten mit derselben steigenden Taktflanke wie der Befehl Daten zu schreiben, in den Speicher geladen werden. Im Burst-Modus werden danach weitere drei Datenblöcke gespeichert. Für die nächsten Blöcke muss ein neuer Zugriff gestartet werden. 3.3.5 RDRAM Rambus DRAM 1995 wurde diese Technologie bereits in der Nintendo-64-Konsole und diversen Grafikkarten eingesetzt. Als Speichermodule war sie aber erst im Jahre 1999 am Markt erhältlich. Wie auch die DDR-SDRAM-Architektur (siehe später - Kapitel 3.3.6) nutzt diese beide Taktflanken für die Datenübertragung. Das Bussystem wurde im Vergleich zu den bisherigen Technologien deutlich verbessert: Die Signalwege wurden äußerst kurz gehalten, die Versorgungsspannung wurde auf 1.8 Volt herabgesetzt 4 und eine Terminierung des Signals sorgte für hohe Datenintegrität. Auch der Schritt in der Taktfrequenz war enorm. Waren es 1997 bei SDRAM noch 133 MHz, so wurde diese auf 800 MHz angehoben und eine Datenrate von 1.6 GByte pro Sekunde erreicht. Diese Entwicklung der Firma Rambus besteht aus drei Komponenten: Controller, Channel und das RDRAM. Das Channel-Interface besitzt nur einen 16- oder 18-Bit breiten Datenbus, der Kontrollbus eine Breite von 8 Bit und getrennte Leitungen für die Zeilen- und Spaltenadressierung, was den Vorteil von gleichzeitigen und unabhängigen Zugriffen auf Zeilen und Spalten ermöglicht, während noch Daten des vorhergehenden Befehls übertragen werden. Ein großes Problem der RDRAMs ist die Kühlung, da die Chips bei den Burst-Zugriffen starken thermischen Belastungen ausgesetzt sind. Weiterentwicklungen der RDRAM-Technologie wie zum Beispiel Direct RDRAM unterscheiden sich nur hinsichtlich ihrer Taktraten und wurden auf- 4 wie auch vier Jahre später bei DDR2-SDRAM

3 DRAM Klein und billig 22 Pin CK, /CK DQS DQ Erklärung Takteingang Strobe-Signal (Referenzsignal für Chipsatz und Speicher) Eingangs- und Ausgangsdatenpins Tabelle 3.1: DDR-SDRAM: Timing-Diagramme Pinerklärung [16] grund der DDR-Entwicklungen eher in den Schatten gestellt. Heute sind RDRAMs hauptsächlich in Spielkonsolen wie der Playstation 2 von Sony zu finden. 3.3.6 DDR-SDRAM Double Data Rate SDRAM Die Weiterentwicklung der SDRAM-Architektur führte zu einer weiteren Verbesserung im Bereich der Zugriffszeiten. Es wurde nicht eine Verdopplung der Taktfrequenz angestrebt, sondern die Daten werden pro Übertragungszyklus zwei mal übertragen, nämlich bei der steigenden und der fallenden Taktflanke. Daraus ergab sich die Bezeichnung der neuen Technologie Double Date Rate Synchronous Dynamic Random Access Memory DDR-SDRAM. Durch die Verwendung beider Taktflanken konnte somit die Übertragungsrate bei gleich bleibender Taktfrequenz und gleichen Timing-Signalen nahezu verdoppelt werden, da bei der konventionellen SDRAM-Technologie nur die steigende Flanke verwendet wurde. Intern besitzen sie vier unabhängige Bänke, die parallel Speicherzugriffe abarbeiten können. Durch die Verwendung beider Taktflanken sind die Laufzeitverzögerungen sehr kritisch. Darum verwendet DDR-SDRAM für die Synchronisation des Datentransfers zusätzlich ein so genanntes bidirektionales Strobe-Signal DQS. Dieses Signal dient dem Chipsatz und Speicher als Referenz, womit ein schneller Datentransfer für jeden Datenpin erreicht werden kann. Damit keine Abweichungen zwischen diesem Daten-Strobe-Signal DQS und den Daten DQ auftreten, müssen diese die exakt gleichen physikalischen Bedingungen erfüllen (z.b.: Leiterbahnlänge, Leiterbahnkapazität). Somit wirken sich Änderungen in der Umgebung auf beide Leitungen gleichermaßen aus und verursachen keine Verzögerungen und somit auch keine Timing-Probleme. Beim Lesen wird vom DDR-SDRAM das bidirektionale Strobe-Signal generiert und mit der steigenden und fallenden Flanke dem Chipsatz die gültigen Daten DQ angezeigt. Umgekehrt verläuft dieser Vorgang beim Schreiben der Daten: Vom Chipsatz wird das Strobe-Signal generiert und gesteuert und damit dem Speicher mit beiden Taktflanken die einzulesenden Daten signalisiert. Die Daten müssen allerdings beim jeweiligen Flankenwechsel des DQS schon am Datenpin des Speichers bereitstehen. Pins und Symbole Die Tabellen 3.1 und 3.2 zeigen alle benötigten Pins bzw. Symbole und führen eine kurze Beschreibung an.

3 DRAM Klein und billig 23 Symbol trcd trpre trpst twpres twpre twpst Erklärung RAS-CAS-Delay Read preamble Read postamble Write preamble setup time Write preamble Write postamble Tabelle 3.2: DDR-SDRAM: Timing-Diagramme Symbolerklärung [16] Read-Timing Anhand des folgenden Beispiels wird der lesende Zugriff auf ein DDR-SDRAM erläutert. Es handelt sich um einen, von Intel hergestellten Chip, mit 256 MB Speicher, 400 MHz Taktfrequenz und einem Timing von {3-4-4}. Der Chip kam 2003 auf den Markt und wird auch derzeit noch hergestellt und verkauft. Abbildung 3.10: DDR-SDRAM: Timing-Diagramm (Lesen) [16] Die Abbildung 3.10 zeigt das Timing-Diagramm des, für das Beispiel ausgewählten Chips für einen lesenden Zugriff. BL gibt die Burst Length an, die darstellt, wie viele Datenblöcke gelesen werden. Unter der Zeile für die Adresse befindet sich DQS und darunter DQ für eine Burst Lengh von zwei, danach folgen die beiden Signale noch für eine Länge von vier bzw. acht Blöcken. Im Timing-Diagramm ist zu sehen, dass, nachdem die Adressen übergeben und der Read-Befehl abgesetzt wurde, noch drei Takte benötigt werden (CL3) bis DQS eine steigende Flanke aufweist, was signalisiert, dass die Daten nun am Datenausgangspin DQ bereitstehen. Bei der nächsten Flanke (fallend) liegt bereits der nächste Datenblock an DQ bereit.

3 DRAM Klein und billig 24 Write-Timing Für die Erklärung wurde wieder der in Kapitel 3.3.6 beschriebene Chip verwendet. Abbildung 3.11: DDR-SDRAM: Timing-Diagramm (Schreiben) [16] In Abbildung 3.11 ist ein Timing-Diagramm für den schreibenden Zugriff eines DDR-SDRAM-Chips dargestellt. Nachdem das DDR-SDRAM den Befehl zum Schreiben erhalten hat, wird das Strobe Signal generiert und sobald die Daten am Eingangspin DQ bereitstehen, wird dies mit der steigenden Flanke von DQS signalisiert. Beim nächsten Datenblock ist der Ablauf beinahe der selbe, nur in diesem Fall werden die bereitstehenden Daten durch die fallende Flanke von DQS angezeigt. Liegen weitere Daten für den Schreibvorgang bereit (BL = 4 bzw. BL = 8), so werden diese analog im Chip gespeichert, wobei keine Daten mehr gespeichert werden, wenn die Burst Length erreicht wurde. Danach müsste ein neuer Schreib-Vorgang mit der entsprechenden Länge initialisiert werden. 3.3.7 DDR2-SDRAM 2003 kam eine Weiterentwicklung der DDR-SDRAM-Architektur auf den Markt, welche DDR2-SDRAM genannt wird. Dabei konnte die Taktrate erhöht werden. Weiters werden nicht nur die steigenden und fallenden Flanken sondern auch die Zustände dazwischen für gültige Daten verwendet. Damit konnte von zwei (bei DDR-SDRAM) auf vier Datenworte pro Takt gesteigert werden. Dies wird Prefetch genannt und beträgt in diesem Fall vier, im Vergleich dazu war der Wert bei der DDR-SDRAM-Technologie zwei, da nur zwei Operationen pro Takt durchgeführt wurden (steigende und fallende Flanke). Diese Verbesserung wurde erreicht, indem I/O-Puffer mit der doppelten Frequenz wie der Speicher selbst

3 DRAM Klein und billig 25 getaktet wird. Die Abbildung 3.12 zeigt nochmals das Prinzip dieser Technologie im Vergleich zu SDRAM und DDR-SDRAM. Abbildung 3.12: Terminierung DDR- und DDR2-SDRAM [5] Die Versorgungsspannung wurde verringert was zu einer geringeren Wärmeentwicklung und einer Steigerung der Taktrate führte. Aktuelle Chips arbeiten mit einer Taktrate von 800 MHz und einer Bandbreite von 6.4 GByte pro Sekunde, was einer Verdopplung der Geschwindigkeit und der Bandbreite im Vergleich zu der DDR-Architektur entspricht. Terminierung Eine weitere Neuerung ist, dass das Signal nun im Chip terminiert wird (siehe Abbildung 3.13), was die Qualität des Signals steigert. Diese Technologie wird On-Die-Termination (ODT) genannt und wurde von der Firma Infineon in Zusammenarbeit mit JEDEC entwickelt. Bei den bisherigen Architekturen wurde dieser Vorgang am Motherboard durchgeführt. Wie im linken Teil (DDR1) der Abbildung 3.13 zu sehen ist, wird hier ein Motherboard mit 2 DDR-Speicherbausteinen verwendet. Deutlich zu erkennen ist, dass eine Reflexion des Signals am nicht-aktiven DDR-Ram stattfindet, weil die Terminierung des Signals erst am Motherboard stattfindet. Diese Reflexion führt zu einer Verfälschung der Signale und vermindert somit die Qualität der

3 DRAM Klein und billig 26 Abbildung 3.13: Terminierung DDR- und DDR2-SDRAM [5] Speicherzugriffe. In der Abbildung auf der rechten Seite ist die DDR2-SDRAM- Architektur schematisch gezeigt. Durch die On-Die-Termination werden die nicht benötigten Signale an den nicht-aktiven RAMs terminiert und verursachen somit keine Störung der aktiven Signale. Durch die geringe Versorgungsspannung von 1.8 Volt sind diese Speicherelemente besonders gut für den Notebook-Betrieb und bei Servern mit großen Speichermengen geeignet. Trotz der diversen Vorteile konnte sich DDR2 nicht wie geplant am Markt durchsetzen, da die hohen Kosten und die nicht besonders guten Latenzen den Nutzen überschreiten. Pins und Symbole Die wichtigsten Pins bzw. Symbole, die in den folgenden Timing-Beschreibungen verwendet werden, wurden schon in Kapitel 3.3.6 erklärt. Read-Timing Das Read-Timing wird anhand eines Speicherbausteins der Firma Infineon erklärt. Dabei handelt es sich um einen DDR2-Modul mit einem Gigabyte Speicherplatz, 667 MHz Taktfrequenz und einem Timing von {5-5-5}. Dieser Chip kam im Jahr 2005 auf den Markt. Das Lesen wird initialisiert, indem CS und CAS LOW und RAS und W E bei der steigenden Taktflanke HIGH sein müssen. Danach wird die erste Spalte der Adresse übergeben. Die Zeitspanne zwischen dem Lese-Kommando und bis die gelesenen Daten am Ausgangspin anliegen, nennt man Read Latency (RL). Genau einen Taktzyklus bevor die gelesenen Daten an DQ anliegen, fällt der Zustand von DQS auf LOW. Sobald das erste Bit an DQ anliegt, wird DQS synchronisiert und ändert seinen Zustand jedes Mal synchron, wenn Daten an DQ anliegen. Die Abbildung 3.14 zeigt den grundlegenden Ablauf eines Lese-Zugriffs auf ein DDR2-SDRAM.

3 DRAM Klein und billig 27 Abbildung 3.14: DDR2-SDRAM: Timing-Diagramm (Lesen) [25] Abbildung 3.15: DDR2-SDRAM: Lesen - Beispiel [25] Die Abbildung 3.15 zeigt nun anhand eines Beispiels den zuvor beschriebenen Ablauf einer Lese-Operation. Als Kommando wird übergeben, dass von der Adresse A gelesen werden soll. Nun erkennt man die Latenzzeit von fünf Taktzyklen (RL) bis die Daten der Adressen A0 bis A3 am Ausgangspin DQ anliegen. Deutlich zu sehen ist auch, dass der Zustandswechsel von DQS genau einen Takt bevor die Daten am Ausgang anliegen und die synchrone Zustandsänderung bei jedem Mal, wenn neue Daten am Ausgangspin anliegen. Write-Timing In der Abbildung 3.16 ist der grundlegende Ablauf eines schreibenden Zugriffs auf ein DDR2-SDRAM dargestellt. Die Grafik darunter (3.17 stellt diesen Ablauf anhand eines Beispiels nochmals dar. Verwendet wird hierbei wieder der in 3.3.7 beschriebene Chip. Das Schreiben wird initialisiert, indem CS, CAS und W E auf LOW gesetzt werden. Die so genannte Write-Latency entspricht einem Wert, der um eins kleiner als die Read-Latency ist in diesem Fall vier (WL = RL - 1 = 5-1 = 4). Sobald das Strobe-Signal DQS auf LOW fällt, können die Daten am Ein-

3 DRAM Klein und billig 28 Abbildung 3.16: DDR2-SDRAM: Timing-Diagramm (Schreiben) [25] Abbildung 3.17: DDR2-SDRAM: Schreiben - Beispiel [25] gangspin DQ übernommen und bei der nächsten Taktflanke gespeichert werden. Dieser Vorgang wird mittels steigender und fallender Flanken von DQS für alle Datenblöcke innerhalb der Burst-Length ausgeführt. Danach werden die Daten am Eingang ignoriert und zum Speichern dieser, müsste ein neuer Schreibvorgang gestartet werden. 3.3.8 DDR3-SDRAM The next generation begins titulierte die Homepage www.netzwelt.de den Artikel über die Neuentwicklung im Speicherbereich. Diese neue Architektur nennt sich DDR3-SDRAM und wurde laut diversen Internetberichten bereits von Infineon an die führenden Prozessorhersteller geliefert. Wie schon der große Schritt von DDR auf DDR2 soll jetzt der nächste Riesenschritt erfolgen. Die Technologie beruht darauf, dass pro Taktzyklus nicht mehr zwei (DDR) bzw. vier (DDR2) Datenworte abgearbeitet werden, sondern acht. Das größte Problem bei DDR2 die hohen Latenzzeiten werden um ca. 15 bis 20 Prozent gesenkt werden und aktuelle Entwicklungen wurden bereits mit einer Taktfrequenz von 1067 MHz getestet. Eine weitere Verbesserung ist die Verringerung der Versorgungsspannung auf 1.5 Volt, was natürlich auch die Wärmeentwicklung in Grenzen hält. Zum Vergleich wurden DDR-SDRAM- Speicher noch mit 2.5 bis 2.6 Volt betrieben, was mittlerweile eine Einsparung

3 DRAM Klein und billig 29 von 1 Volt bedeutet und natürlich eine weitere Verbesserung im mobilen Einsatzbereich und Servern mich sich bringt. Noch in diesem Jahr sollen die neuen Speichermodule auf den Markt kommen wobei sich die Hersteller in den nächsten drei Jahren einen Marktanteil von 65 Prozent erwarten. 3.4 Anwendungen DRAM findet man heute in sehr vielen Bereichen. Die typische und wohl bekannteste von ihnen ist der Arbeitsspeicher eines PC-Systems, wo sich vor allem die neusten Entwicklungen sehr schnell wiederfinden. Aber auch in Spielekonsolen von z.b. von Sony oder Nintendo sind derartige Speicher im Einsatz. Ein weiteres Gebiet sind Server, bei denen vor allem eine hohe Zuverlässigkeit und eine niedere Versorgungsspannung eine wichtige Rolle spielt. 3.4.1 Embedded DRAM Ein Bereich, der immer wichtigeren Stellenwert einnimmt sind so genannte Embedded DRAM. Das bedeutet, dass sich der Speicher direkt am Chip befindet und über einen Chip-internen Bus mit den Logikzellen arbeitet. Die wichtigsten Vorteile sind unter Anderem eine kleinere Chipgröße, höhere Bandbreiten, höhere Geschwindigkeiten und resultierend daraus natürlich geringere Kosten. Typische Anwendungen finden sich z.b. in diversen Netzwerk-Geräten (Switch, Router), in kabellosen Kommunikationsgeräten (GPS, mobile-phones), Grafikkarten und diversen Anwendungen der digitalen Videotechnik (Camcoder). 3.5 Zusammenfassung Zusammenfassend werden nochmals die Vor- und Nachteile der DRAM- Technologie veranschaulicht: 3.5.1 Vorteile billig hohe Speicherdichte 3.5.2 Nachteile langsam komplizierte Zugriffsverfahren periodischer Refresh erforderlich störanfällig

3 DRAM Klein und billig 30 Architektur Taktrate [MHz] Zykluszeit [ns] Datenraten Markteinführung Versorgungsspannung Timing 1. Wort 2. Wort [V] DRAM 1970 [5-5-5-5] FPM 1987 33 30 200 MB/s 5.0 [5-3-3-3] 150 ns 90 ns EDO 1995 66 15 300 MB/s 3.3-5.0 [5-2-2-2] 75 ns 30 ns BEDO 1996 66 15 500 MB/s 3.3 [5-1-1-1] 75 ns 15 ns SDRAM 1997 133 7.5 1.06 GB/s 3.3 [5-1-1-1] 37.5 ns 7.5 ns RDRAM 1999 800 1.25 1.6 GB/s 1.8 {3-4-4} DDR- 1999 400 2.5 3.2 GB/s 2.5-2.6 {2-3-3} SDRAM DDR2-2003 800 1.25 6.4 GB/s 1.8 {4-4-4-12} SDRAM DDR3- SDRAM 2006 1067 0.94 8.5 GB/s 1.5 {9-9-9} Tabelle 3.3: Gegenüberstellung der DRAM-Technologien Gegenüberstellung Die Tabelle 3.3 zeigt eine Gegenüberstellung der diversen DRAM-Technologien mit diversen Kriterien. Somit kann man deutlich sehen, welch enormer Fortschritt in den letzten zwanzig Jahren im Bereich der dynamischen Speicherelemente erfolgte. Anhand der Formel 3.1 und des Beispiels (Formeln 3.2 bis 3.5) wird die Berechnung des ersten und des zweiten Worts erklärt: Zugrif f szeit = Zykluszeit + Latenzzeit (3.1) Zykluszeit = F requenz = 33MHz = 33000Hz (3.2) 1 33000Hz = 0.00003s = 0.03ms = 30ns (3.3) Latenz(1.W ort) = 5 5 30ns = 150ns (3.4) Latenz(2.W ort) = 3 3 30ns = 90ns (3.5)

3 DRAM Klein und billig 31 Abbildung 3.18: Überblick der DDR-Technologien und deren Markteinführung [28]

32 4 SRAM Schnell und teuer 4.1 Allgemeines Diese Kapitel beschäftigt sich mit SRAM Static Random Access Memory. Wie der Name schon erahnen lässt, handelt es sich hiebei um einen statischen Speicher. Das bedeutet, dass die Daten so lange gespeichert bleiben, solange sie das SRAM mit Strom versorgt wird. Im Kapitel 4.2 wird auf den Aufbau und die Funktionsweise noch genau eingegangen. Da der Arbeitsspeicher eines PCs von der Geschwindigkeit schon sehr viele Jahre nicht mehr mit der rasanten Weiterentwicklung der Prozessoren mithalten konnte, wurden neue Mechanismen benötigt, um trotzdem die Leistung des Prozessors auszunutzen und diese nicht vom Arbeitsspeicher abhängig sein sollte. Das größte Einsatzgebiet der SRAM-Speicher findet sich im Cache-Speicher. Dieser sehr kleine Speicher dient als Puffer, um Daten, die zwischen Arbeitsspeicher und Prozessor ausgetauscht werden, zwischenzuspeichern. Genaueres folgt in Kapitel 4.4. 4.2 Aufbau und Funktionsweise 4.2.1 6T-SRAM Eine konventionelle 6T-SRAM-Speicherzelle besteht aus zwei Invertern und zwei Transistoren (Abbildung 4.1), dabei werden die Inverter für die Speicherung eines Bits und die Transistoren für die Kommunikation verwendet. Wie in der Abbidlung 4.1 deutlich zu erkennen ist, benötigt diese Art einer Speicherzelle deutlich mehr Platz als DRAM-Speicherchips, jedoch wird kein Kondensator benötigt. Daraus ergibt sich der Vorteil, dass kein periodischer Refresh erforderlich ist. Wie auch die DRAM-Technologie verfügt SRAM über ein Paar von Bitleitungen (BL, BL). Der Zugriff auf die Speicherzelle erfolgt über die Wortleitung (WL), die den Zustand der Transistoren M 5 und M 6 steuert. Liegt der logische Zustand 1 an der Wortleitung an, so werden die Transistoren geschlossen, d.h. sie werden leitend. Über die beiden Bitleitungen erfolgen sowohl der lesende als auch der schreibende Zugriff auf die Speicherzelle. In den folgenden Abschnitten wird nur jene Speicherzelle mit sechs Transistoren und einer Wortleitung zur Erklärung des Blockdiagramms und der Zugriffe auf eine Speicherzelle verwendet.