TU Wien

Embedded Computing Systems Institut fur¨ 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 Ubersicht¨ 7

2 Begriffserkl¨arung 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 ...... 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 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 – DRAM ...... 21 3.3.6 DDR-SDRAM – 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 Gegenuberstellung¨ ...... 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 ...... 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 Uberblick¨ 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 Uberblick¨ der DDR-Technologien und deren Markteinfuhrung¨ [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¨anden [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 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¨arung [16] ...... 22 3.2 DDR-SDRAM: Timing-Diagramme – Symbolerkl¨arung [16] . . . . 23 3.3 Gegenuberstellung¨ der DRAM-Technologien ...... 30

7.1 Gegenuberstellung¨ aller RAM-Technologien ...... 67 7

1 Ubersicht¨

Diese Arbeit besch¨aftigt 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 Entwick- lungen eingegangen. Im Kapitel 2 werden die wichtigsten Begriffe erkl¨art. Die nachfolgende Grafik zeigt einen Uberblick¨ der verschiedenen Speichertechnologi- en, wobei in dieser Arbeit nur der gelb hinterlegte Bereich behandelt wird.

Abbildung 1.1: Uberblick¨ der unterschiedlichen Speichertypen 8

2 Begriffserkl¨arung

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 Speicherzel- len nicht sequentiell erfolgt, sondern dass jede Zelle direkt angesprochen werden kann. Daraus ergibt sich naturlich¨ ein schnellerer Zugriff als bei sequentiellen Ver- fahren, da auf jede Speicherzelle mit dem selben Zeitaufwand gelesen und auch geschrieben werden kann. Die h¨aufigste Anwendung derartiger Speicherbausteine findet man im Haupt- speicher 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 (Eingangsmus- ter) an das Speicherelement angelegt werden. Intern wird das Ergebnis uber¨ eine kombinatorische Funktion ermittelt und danach am Ausgang abgebildet (Aus- gangsmuster). Die bekannteste Anwendung fur¨ Read-Only-Speicher ist die CD-ROM, von der die Daten nur gelesen werden k¨onnen. Außerdem fand diese Art der Speicherme- dien bei diversen Spielekonsolen einen großen Anklang. Hier wurden die Spielen - je nach Hersteller - in unterschiedlichen Auspr¨agungen 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 Ab- schalten der Versorgungsspannung verloren geht (fluchtiger¨ Speicher). Der Haupt- speicher des PCs (RAM) ist ein fluchtiger¨ Speicher, da nach dem Abschalten des PCs bzw. beim Neustart die Daten nicht mehr im Speicher enthalten sind. 2 Begriffserkl¨arung 9

2.2.2 non-volatile memory Im non-volatile memory bleiben die Daten auch nach dem Abschalten der Ver- sorgungsspannung erhalten, er bezeichnet somit einen nicht-fluchtigen¨ Speicher. Beispiele dafur¨ sind ROM, CDs und und auch die Harddisk.

2.3 Latenzzeit versus Datendurchsatz

In der Beschreibung und speziell in den Datenbl¨attern der Chiphersteller fin- det man oft den Begriff der Latenzzeit. In den folgenden Kapiteln werden zwei unterschiedliche Angaben verwendet:

• Y-X-X-X – Das Y steht hier fur¨ die beim ersten Zugriff ben¨otigten Takt- zyklen, das X fur¨ die Zugriffe auf die n¨achsten 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]).

• tCAS-tRCD-tRP -tRAS – Um diese Beschreibung von der zuvor genannten un- terscheiden zu k¨onnen, 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¨ahlung werden die ben¨otigten Werte noch genau be- schrieben. Um einen besseren Bezug zum reellen Verhalten darstellen zu k¨onnen, sind diese auch in Abbildung 2.1 eingetragen.

– tCAS: CAS Latency – Anzahl der Taktzyklen fur¨ den Zugriff auf eine bestimmte Spalte.

– tRCD: Row address to column address delay – Anzahl der Taktzyklen zwischen RAS und CAS. 2 Begriffserkl¨arung 10

– tRP : RAS Precharge – Dauer des Aufladens der Bitleitungspaare auf die halbe Versorgungsspannung

– tRAS: Active to Precharge Delay – Zeit zwischen zwei Lesevorg¨angen, die ben¨otigt 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¨andigkeit sei sie noch angefuhrt¨ – CAS Latency bzw. Column Address Strobe Latency Time. Diese Timing-Angabe wird auch schon in der zweiten Aufz¨ahlung verwendet, kann aber auch alleine in der Form CLx angegeben werden, wobei das x fur¨ 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 ange- geben 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 Entwicklungsar- beit 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 fur¨ viele Jahre, doch schon bei der n¨achsten 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¨autert.

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

Uber¨ den Transistor, der die Funktion eines Schalters ubernimmt,¨ 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 zusammengefasst. Das Blockdiagramm in Abbildung 3.2 zeigt den Aufbau eines Speichers mit den ben¨otigten Steuersignalen.

Abbildung 3.2: Blockdiagramm eines DRAMS

Eine Speichermatrix des DRAMs kann sich aus mehreren parallelen Speicher- feldern zusammensetzen. Zum Beispiel kann ein 16-MBit-DRAM aus einer Orga- nisation von 4Mx4, 2Mx8 oder 1Mx16 aufgebaut sein, die Gesamtkapazit¨at bleibt aber in allen F¨allen 16 MBit. 2Mx8 bedeutet, dass die Gr¨oße eines Speicherfel- des 2MBit betr¨agt und insgesamt 8 parallele Speicherfelder verwendet werden (Abbildung 3.3). Die Aufteilung zwischen Zeilen und Spalten kann symmetrisch oder asym- metrisch sein. Das Verh¨altnis 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¨aßig aufzufrischen sind.

In dem zuvor genannten Beispiel eines 16-MBit-DRAMs mit einer Organisati- on von 2Mx8 betr¨agt 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. Fur¨ 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 fur¨ die 512 Spalten 9 Bit ausreichen. Das Verh¨altnis der Adressbreiten wird Mapping des DRAMs genannt und wurde¨ in diesem Beispiel 12/9 betragen.

Der Prozessor ubergibt¨ die Speicheradresse – aufgeteilt in Zeilen- und Spal- tenadresse – an den Adresspuffer. Diese Aufteilung erfolgt, damit die beiden Adressen zeitlich nacheinander ubergeben¨ werden, was als Adress-Multiplexing bezeichnet wird. Andernfalls w¨are die doppelte Anzahl von Adressleitungen n¨otig, was eine deutliche Steigerung der ben¨otigen Chipfl¨ache bedeuten wurde.¨ Dieses Multiplexing-Verfahren wird von den Signalen RAS1 und CAS2 gesteuert. Ubergibt¨ 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 fur¨ 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¨ahig und verbindet den Kondensator mit der Bitleitung. Beim

1Row Address Strobe bzw. Zeilenadressabtastung; low-aktives Signal 2Column 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 uber¨ den Vorladeschaltkreis auf die halbe Versor- gungsspannung vorgeladen und danach der Vorladeschaltkreis wieder deaktiviert. Die fur¨ diesen Ladevorgang ben¨otigte 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 Bit- leitung leicht angehoben. Analog l¨auft der Vorgang fur¨ den Zustand LOW ab, bei dem die Bitleitung leicht herabgezogen wird. Die zweite Leitung dieses Paares bleibt unver¨andert auf dem halben Wert der Versorgungsspannung. Um nun definierte Potentiale der Bitleitung zu bekommen, mussen¨ diese uber¨ einen Leseverst¨arker angepasst werden. Wurde das Potential der Leitung uber¨ die halbe Versorgungsspannung angehoben, so wird dieses uber¨ den Verst¨arker auf den vollen Wert der Versorgungsspannung gezogen, wurde das Potential herunter- gesetzt, so zieht der Leseverst¨arker dieses auf das Niveau der Masse (Null) herab. Die zweite Leitung des Paares wird auf den entgegengesetzten Wert ge¨andert. Nachdem nun s¨amtliche 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¨allt die Spannung der gespeicherten Zust¨ande. Dieser Vorgang wird Konsumierendes Lesen genannt und deshalb muss die Ladung nach dem Lesen in die Kondensatoren wieder zuruckgeschrieben¨ 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 we- nig von dem beim Lesen. Uber¨ die Speichersteuerung wird – bei aktivem RAS- Signal – die Zeilenadresse an das DRAM ubergeben.¨ Diese wird decodiert und die entsprechende Wortleitung in der Speichermatrix aktiviert. Um nun zu er- kennen, dass ein Schreibvorgang ansteht, wird das WE-Signal beim Anlegen des RAS-Signals aktiviert. Nun k¨onnen die Daten eingelesen werden und die Spal- tenadresse wird an das DRAM ubergeben.¨ Um die richtigen Werte zu schreiben, wird der Signalpegel der Daten uber¨ den Leseverst¨arker verst¨arkt und das Bitlei- tungspaar 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¨arke des Leseverst¨arkers k¨onnen die 3 DRAM – Klein und billig 15

Abbildung 3.4: Timing-Diagramm eines Lesezyklus [9]

Pegel ohne Probleme abge¨andert werden und die nicht ben¨otigten Bitleitungen bleiben vom Schreibvorgang unbeeinflusst. Danach werden Zeilen-, Spaltendeco- der und der Leseverst¨arker deaktiviert. Dadurch sind die Speicherzellen isoliert und die Bitleitungspaare werden vom Vorladeschaltkreis wieder auf die halbe Ver- sorgungsspannung aufgeladen. Nach Beendigung dieses Vorladevorgangs (RAS- Precharge-Time) kann somit der n¨achste Zugriff auf die Speicherzellen erfolgen.

3.2.4 Refresh Das Problem bei dieser dynamischen Speicherzelle besteht darin, dass die La- dung beim Lesen konsumiert wird und somit danach wieder in den Kondensator zuruckgeschrieben¨ werden muss. Dieser Vorgang wird write-back genannt. Außer- dem verliert ein Kondensator aufgrund unvermeidlicher Leckstr¨ome 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¨allen im BIOS ge¨andert werden, was aber das Risiko eines Soft Errors3 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¨altnis sehr gut und die Verwendung von DRAM-Speichermodulen auch fur¨ 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 mussen¨ fur¨ den Zugriff die ben¨otigten Zeilen- und Spaltenadressen gesucht werden. Da dieser Vorgang Zeit in Anspruch nahm, wurde eine neue Technik entwickelt: Paging Beim Paging kann auf s¨amtliche Adressen einer bestimmten Zeile der Matrix schneller zugegriffen werden, weil hier nur die Spaltenadresse ge¨andert wird und die Zeilenadresse erhalten bleibt. Speicher, die diese Technik unterstutzen¨ werden Page-Mode-Speicher bzw. Fast-Page-Mode-Speicher genannt.

Das Initialisieren des ersten Lesezugriffs l¨auft wie bei konventionellen DRAMs ab, doch nach dem ersten Lesezyklus l¨asst 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 ubergeben.¨ 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 eingefuhrt.¨ 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 Spalten- adresse fur¨ einen Zugriff festzulegen, um auch auf die folgenden drei Adressen ohne zus¨atzliche Latenzzeit bzw. Waitstates zugreifen zu k¨onnen. Burst-Zugriffe sind in der Regel auf vier Zugriffe beschr¨ankt. Das Timing wird h¨aufig als die Anzahl der Zyklen pro Zugriff beschrieben. Ein typischer Zugriff auf ein konventionelles DRAM im Burst-Mode w¨are in der Form X-Y-Y-Y beschrieben. Das X steht hierbei fur¨ die beim ersten Zugriff ben¨otigte Zeit und das Y fur¨ die Anzahl der Zyklen, die fur¨ jeden folgenden Zugriff ben¨otigt 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 funf¨ Zyklen in Anspruch nimmt, w¨ahrend die darauf folgenden drei Zyklen jeweils nur drei Takte beanspruchen. Ohne den Burst-Modus w¨are 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 Uberschneidung¨ bzw. uberschneiden¨ . Bei dieser Technik werden zwei separate Speicherbl¨ocke zusammen verwendet, auf die abwechselnd zugegriffen wird. W¨ahrend auf einen Block zugegriffen wird, kann der zweite bereits die neue Adresse nachladen. Somit kann die Latenzzeit verkurzt¨ wer- den, was den Zugriff auf die Daten beschleunigt. Das Problem dabei ist, dass zwei identische Speicherbl¨ocke ben¨otigt 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¨onnen, waren Speicher mit 128 Bit erforderlich, d.h. es mussten¨ vier Speichermodule installiert werden.

3.3.2 EDO-DRAM – Extended Data Out DRAM

1995 kam eine neue – speziell fur¨ Pentium-Systeme ausgelegte – Speichertech- nologie auf den Markt, die sich Extended Data Out Dynamic Random Access Memory nannte. Da diese Entwicklung eine abge¨anderte 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 Uberlappung¨ der Zugriffe erfolgt. W¨ahrend Daten aus einer Spalte gelesen werden, kann bereits die Adresse des nachfolgenden Speicherzugriffs geladen werden. Die Funktionsweise und die Zeitersparnis waren ¨ahnlich wie die des Interleavings, jedoch waren keine zwei identischen Speicherb¨anke 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¨oglicht 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 fur¨ 4 Speichertransfers insgesamt 14 Systemzyklen ben¨otigt, EDO-RAM fur¨ 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 fur¨ neue Systemspei- cher 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 Einfuhrung¨ wurden die BEDO-Speicher schon von SDRAM abgel¨ost, weil sie unter Anderem auch nur von einem einzigen Chipsatz unterstutzt¨ wurden.

Bei dieser Technik wird ein zwei Bit breiter Adressgenerator verwendet. Beim Zugriff auf den Speicher muss die erste Adresse an den Speicher ubergeben¨ wer- den, die nachfolgenden drei Spaltenadressen werden uber¨ den internen Adress- generator automatisch erzeugt. Weiters verwendeten BEDOs intern eine Dual- Bank-Architektur. Somit konnte, w¨ahrend eine Bank noch mit der Datenausgabe blockiert war, parallel dazu die zweite Bank mit der Adressierung der n¨achsten 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 kurzeren¨ CAS-Zyklen f¨allt 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¨oß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 uber¨ ein Bussystem kommunizieren. Fur¨ die Speicherzugriffe wird die steigende Taktflanke verwendet. Da diese Speicherarchitektur auch zur Familie der dynamischen RAMs z¨ahlt konnte die anf¨angliche Latenzzeit nicht verkurzt¨ werden, aber die gesamte Zy- kluszeit ist wesentlich kurzer¨ 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¨ahrend die andere noch mit einem Speicherzugriff belegt ist. Bei den aktuellen Technolo- gien werden sogar vier B¨anke verwendet, was die Zugriffe nochmals beschleunigt. Eine weitere Neuerung war, dass zus¨atzlich zu den Adressen auch eine Be- fehlsubermittlung¨ an das SDRAM angelegt wurde. Ahnlich¨ dem BEDO-DRAM generiert das SDRAM bei einem Speicherzugriff nachfolgende Adressen automa- tisch und fuhrt¨ den Zugriff uberlappend¨ auf die Speicherb¨anke durch.

Nicht nur die Tatsache, dass SDRAM nur mehr acht Zyklen fur¨ vier Spei- cherzugriffe ben¨otigte, sondern auch, dass diese neue Technologie Systembusse mit Taktfrequenzen von 100 MHz und mehr unterstutzte,¨ 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 Geschwin- digkeit nicht mehr nur in Nanosekunden (ns), sondern in Megaherz (MHz) an- gegeben. Der damalige Standard waren 15 und 10 ns was 66 bzw. 100 MHz ent- sprachen. Die aktuellsten Werte fur¨ SDRAM-Speichermodule liegen bei 133 MHz und stellen einen Speicherplatz von 512 MB zur Verfugung.¨ Einer der gr¨oßten Hersteller in der Speichertechnologie “Infineon“ hat die Produktion der 512 MB großen Module bereits eingestellt und stellt nur mehr Chips mit einem Speicher- platz von 256 MB zu Verfugung,¨ die eine Latenzzeit von {2-2-2} (512 MB: {3-3-3} aufweisen. [30]

Beispiel Das Timing eines SDRAMs betr¨agt beim Zugriff im Burst-Modus lediglich [5-1-1- 1], was bedeutet, dass vier Speicheroperationen in nur acht Zyklen durchgefuhrt¨ werden k¨onnen. Zum Vergleich dazu ben¨otigte das EDO-RAM elf und das FPM- RAM sogar vierzehn Zyklen.

Read-Timing Zur Erkl¨arung 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 fur¨ mehrere Chips ver¨offentlicht 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 Daten- bl¨ocke am Ausgangspin bereitgestellt und danach kann eine neue Operation auf den Speicher erfolgen.

Write-Timing Als Beispiel fur¨ 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 fur¨ 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¨ocke gespeichert. Fur¨ die n¨achsten Bl¨ocke 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¨altlich. Wie auch die DDR-SDRAM-Architektur (siehe sp¨ater - Kapitel 3.3.6) nutzt diese beide Taktflanken fur¨ die Datenubertragung.¨ Das Bussystem wurde – im Vergleich zu den bisherigen Technologien – deutlich verbessert: Die Signalwege wurden ¨außerst kurz gehalten, die Versorgungsspannung wurde auf 1.8 Volt herabgesetzt4 und eine Terminierung des Signals sorgte fur¨ hohe Datenintegrit¨at. 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 fur¨ die Zeilen- und Spaltenadressierung, was den Vorteil von gleichzeitigen und unabh¨angigen Zugriffen auf Zeilen und Spalten erm¨oglicht, w¨ahrend noch Daten des vorhergehenden Befehls ubertragen¨ werden.

Ein großes Problem der RDRAMs ist die Kuhlung,¨ 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- 4wie auch vier Jahre sp¨ater bei DDR2-SDRAM 3 DRAM – Klein und billig 22

Pin Erkl¨arung CK, /CK Takteingang DQS Strobe-Signal (Referenzsignal fur¨ Chipsatz und Speicher) DQ Eingangs- und Ausgangsdatenpins

Tabelle 3.1: DDR-SDRAM: Timing-Diagramme – Pinerkl¨arung [16] grund der DDR-Entwicklungen eher in den Schatten gestellt. Heute sind RDRAMs haupts¨achlich in Spielkonsolen wie der Playstation 2 von Sony zu fin- den.

3.3.6 DDR-SDRAM – Double Data Rate SDRAM

Die Weiterentwicklung der SDRAM-Architektur fuhrte¨ zu einer weiteren Ver- besserung im Bereich der Zugriffszeiten. Es wurde nicht eine Verdopplung der Taktfrequenz angestrebt, sondern die Daten werden pro Ubertragungszyklus¨ zwei mal ubertragen,¨ n¨amlich 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 Ubertragungsrate¨ bei gleich bleibender Taktfrequenz und gleichen Timing-Signalen nahezu verdoppelt wer- den, da bei der konventionellen SDRAM-Technologie nur die steigende Flanke verwendet wurde. Intern besitzen sie vier unabh¨angige B¨anke, die parallel Speicherzugriffe abarbeiten k¨onnen. Durch die Verwendung beider Taktflanken sind die Laufzeitverz¨ogerungen sehr kritisch. Darum verwendet DDR-SDRAM fur¨ die Synchronisation des Datentransfers zus¨atzlich ein so genanntes bidirek- tionales Strobe-Signal DQS. Dieses Signal dient dem Chipsatz und Speicher als Referenz, womit ein schneller Datentransfer fur¨ jeden Datenpin erreicht werden kann. Damit keine Abweichungen zwischen diesem Daten-Strobe-Signal DQS und den Daten DQ auftreten, mussen¨ diese die exakt gleichen physikalischen Bedingungen erfullen¨ (z.B.: Leiterbahnl¨ange, Leiterbahnkapazit¨at). Somit wirken sich Anderungen¨ in der Umgebung auf beide Leitungen gleichermaßen aus und verursachen keine Verz¨ogerungen 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 gultigen¨ Daten DQ angezeigt. Umgekehrt verl¨auft 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 mussen¨ 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¨otigten Pins bzw. Symbole und fuhren¨ eine kurze Beschreibung an. 3 DRAM – Klein und billig 23

Symbol Erkl¨arung tRCD RAS-CAS-Delay tRPRE Read preamble tRPST Read postamble tWPRES Write preamble setup time tWPRE Write preamble tWPST Write postamble

Tabelle 3.2: DDR-SDRAM: Timing-Diagramme – Symbolerkl¨arung [16]

Read-Timing Anhand des folgenden Beispiels wird der lesende Zugriff auf ein DDR-SDRAM erl¨autert. 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, fur¨ das Beispiel aus- gew¨ahlten Chips fur¨ einen lesenden Zugriff. BL gibt die Burst Length an, die darstellt, wie viele Datenbl¨ocke gelesen werden. Unter der Zeile fur¨ die Adresse befindet sich DQS und darunter DQ fur¨ eine Burst Lengh von zwei, danach folgen die beiden Signale noch fur¨ eine L¨ange von vier bzw. acht Bl¨ocken.

Im Timing-Diagramm ist zu sehen, dass, nachdem die Adressen ubergeben¨ und der Read-Befehl abgesetzt wurde, noch drei Takte ben¨otigt werden (CL3) bis DQS eine steigende Flanke aufweist, was signalisiert, dass die Daten nun am Datenausgangspin DQ bereitstehen. Bei der n¨achsten Flanke (fallend) liegt bereits der n¨achste Datenblock an DQ bereit. 3 DRAM – Klein und billig 24

Write-Timing

Fur¨ die Erkl¨arung 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 fur¨ 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¨achsten Da- tenblock ist der Ablauf beinahe der selbe, nur in diesem Fall werden die bereit- stehenden Daten durch die fallende Flanke von DQS angezeigt. Liegen weitere Daten fur¨ 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 musste¨ ein neuer Schreib-Vorgang mit der entsprechenden L¨ange 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¨oht werden. Weiters werden nicht nur die steigenden und fallenden Flanken sondern auch die Zust¨ande dazwischen fur¨ gultige¨ Daten verwendet. Damit konnte von zwei (bei DDR-SDRAM) auf vier Datenworte pro Takt gesteigert werden. Dies wird Prefetch genannt und betr¨agt in diesem Fall vier, im Vergleich dazu war der Wert bei der DDR-SDRAM-Technologie zwei, da nur zwei Operationen pro Takt durchgefuhrt¨ 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¨armeent- wicklung und einer Steigerung der Taktrate fuhrte.¨ 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¨at des Signals steigert. Diese Technologie wird On-Die-Termination (ODT) genannt und wurde von der Firma Infineon in Zu- sammenarbeit mit JEDEC entwickelt. Bei den bisherigen Architekturen wurde dieser Vorgang am Motherboard durchgefuhrt.¨ 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 fuhrt¨ zu einer Verf¨alschung der Signale und vermindert somit die Qualit¨at 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¨otigten Signale an den nicht-aktiven RAMs terminiert und verursachen somit keine St¨orung der aktiven Signale.

Durch die geringe Versorgungsspannung von 1.8 Volt sind diese Speicher- elemente besonders gut fur¨ 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 uberschreiten.¨

Pins und Symbole Die wichtigsten Pins bzw. Symbole, die in den folgenden Timing-Beschreibungen verwendet werden, wurden schon in Kapitel 3.3.6 erkl¨art.

Read-Timing Das Read-Timing wird anhand eines Speicherbausteins der Firma Infineon erkl¨art. 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 WE bei der steigenden Taktflanke HIGH sein mussen.¨ Danach wird die erste Spalte der Adresse ubergeben.¨ 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¨allt der Zustand von DQS auf LOW. Sobald das erste Bit an DQ anliegt, wird DQS synchroni- siert und ¨andert 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 beschriebe- nen Ablauf einer Lese-Operation. Als Kommando wird ubergeben,¨ dass von der Adresse A gelesen werden soll. Nun erkennt man die Latenzzeit von funf¨ Taktzy- klen (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¨anderung 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 WE auf LOW gesetzt werden. Die so genannte Write-Latency entspricht einem Wert, der um eins klei- ner als die Read-Latency ist – in diesem Fall vier (WL = RL - 1 = 5 - 1 = 4). Sobald das Strobe-Signal DQS auf LOW f¨allt, k¨onnen 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 ubernommen¨ und bei der n¨achsten Taktflanke gespeichert werden. Dieser Vorgang wird mittels steigender und fallender Flanken von DQS fur¨ alle Datenbl¨ocke innerhalb der Burst-Length ausgefuhrt.¨ Danach werden die Daten am Eingang ignoriert und zum Speichern dieser, musste¨ ein neuer Schreibvorgang gestartet werden.

3.3.8 DDR3-SDRAM “The next generation begins“ titulierte die Homepage www.netzwelt.de den Artikel uber¨ die Neuentwicklung im Speicherbereich. Diese neue Architektur nennt sich DDR3-SDRAM und wurde laut diversen Internetberichten bereits von Infineon an die fuhrenden¨ Prozessorhersteller geliefert.

Wie schon der große Schritt von DDR auf DDR2 soll jetzt der n¨achste Riesenschritt erfolgen. Die Technologie beruht darauf, dass pro Taktzyklus nicht mehr zwei (DDR) bzw. vier (DDR2) Datenworte abgearbeitet werden, sondern acht.

Das gr¨oß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 naturlich¨ auch die W¨armeentwicklung in Grenzen h¨alt. 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 naturlich¨ eine weitere Verbesserung im mobilen Ein- satzbereich und Servern mich sich bringt.

Noch in diesem Jahr sollen die neuen Speichermodule auf den Markt kommen wobei sich die Hersteller in den n¨achsten drei Jahren einen Marktanteil von 65 Prozent erwarten.

3.4 Anwendungen

DRAM findet man heute in sehr vielen Bereichen. Die typische und wohl bekann- teste 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 weite- res Gebiet sind Server, bei denen vor allem eine hohe Zuverl¨assigkeit und eine niedere Versorgungsspannung eine wichtige Rolle spielt.

3.4.1 Embedded DRAM Ein Bereich, der immer wichtigeren Stellenwert einnimmt sind so genannte Em- bedded DRAM. Das bedeutet, dass sich der Speicher direkt am Chip befindet und uber¨ einen Chip-internen Bus mit den Logikzellen arbeitet. Die wichtigsten Vorteile sind unter Anderem eine kleinere Chipgr¨oße, h¨ohere Bandbreiten, h¨ohere Geschwindigkeiten und resultierend daraus naturlich¨ geringere Kosten. Typische Anwendungen finden sich z.B. in diversen Netzwerk-Ger¨aten (Switch, Router), in kabellosen Kommunikationsger¨aten (GPS, mobile-phones), Grafikkar- ten 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¨oranf¨allig 3 DRAM – Klein und billig 30

Architektur Markt- Taktrate Zykluszeit Datenraten Versor- Timing 1. Wort 2. Wort einfuhrung¨ [MHz] [ns] gungsspannung [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- 2006 1067 0.94 8.5 GB/s 1.5 {9-9-9} SDRAM Tabelle 3.3: Gegenuberstellung¨ der DRAM-Technologien

Gegenuberstellung¨ Die Tabelle 3.3 zeigt eine Gegenuberstellung¨ 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 er- folgte. Anhand der Formel 3.1 und des Beispiels (Formeln 3.2 bis 3.5) wird die Be- rechnung des ersten und des zweiten Worts erkl¨art:

Zugriffszeit = Zykluszeit + Latenzzeit (3.1)

F requenz = 33MHz = 33000Hz (3.2)

1 Zykluszeit = = 0.00003s = 0.03ms = 30ns (3.3) 33000Hz

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: Uberblick¨ der DDR-Technologien und deren Markteinfuhrung¨ [28] 32

4 SRAM – Schnell und teuer

4.1 Allgemeines

Diese Kapitel besch¨aftigt sich mit SRAM – Static Random Access Memory. Wie der Name schon erahnen l¨asst, 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¨otigt, um trotzdem die Leistung des Pro- zessors auszunutzen und diese nicht vom Arbeitsspeicher abh¨angig sein sollte. Das gr¨oß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 fur¨ die Speicherung eines Bits und die Transistoren fur¨ die Kommunikation verwendet. Wie in der Abbid- lung 4.1 deutlich zu erkennen ist, ben¨otigt diese Art einer Speicherzelle deutlich mehr Platz als DRAM-Speicherchips, jedoch wird kein Kondensator ben¨otigt. Daraus ergibt sich der Vorteil, dass kein periodischer Refresh erforderlich ist. Wie auch die DRAM-Technologie verfugt¨ SRAM uber¨ ein Paar von Bitlei- tungen (BL, BL). Der Zugriff auf die Speicherzelle erfolgt uber¨ die Wortleitung (WL), die den Zustand der Transistoren M5 und M6 steuert. Liegt der logische Zustand 1 an der Wortleitung an, so werden die Transistoren geschlossen, d.h. sie werden leitend. Uber¨ 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¨arung des Blockdiagramms und der Zugriffe auf eine Speicherzelle verwendet. 4 SRAM – Schnell und teuer 33

Abbildung 4.1: Aufbau einer SRAM-Speicherzelle [51]

Abbildung 4.2: Blockdiagramm [43]

4.2.2 Lesen und Schreiben Standby Ist die Wortleitung WL deaktiviert (entspricht dem Zustand 0), so sind die Tran- sistoren M5 und M6 ge¨offnet und es besteht keine Verbindung zwischen Source und Drain. Somit bleibt der gespeicherte Zustand innerhalb der Transistoren M1 bis M4 erhalten, weil keine Verbindung zwischen den Bitleitungen und dem ge- speicherten Wert vorhanden ist.

Lesen Der Lesevorgang einer SRAM-Speicherzelle wird im Folgenden anhand eines Bei- spiels und der Abbildung 4.3 erkl¨art. Der erste Schritt – um den Inhalt einer Speicherzelle zu ermitteln – ist, dass die Wordline (WL) auf LOW gezogen und das Bitleitungspaar auf den Wert der 4 SRAM – Schnell und teuer 34

Abbildung 4.3: Lesen einer SRAM-Speicherzelle [32]

Versorgungsspannung (Vcc) aufgeladen wird. Daraus ergibt sich, dass die Tran- sistoren M5 und M6 deaktiviert sind und somit keine Verbindung mit der Bitline besteht. Angenommen in der linken Speicherschleife wurde der Werte 0 gespei- chert (Abbildung 4.3: Q=0), so ist auch der Gate-Eingange des Transistors M3 0 und und es erfolgt keine Verbindung zwischen Source und Drain. Dieser Vorgang wiederholt sich analog bei M2, weil hier der negierte Gate-Eingang mit der rech- ten Speicherschleife (Abbildung 4.3: Q=1) verbunden und somit dieser Transistor ebenfalls nicht leitend ist (Abbildung 4.3). Als n¨achstes wird die Wordline auf Vcc gezogen und gleichzeitig das Aufladen des Bitleitungspaars beendet. Somit wer- den die Transistoren M5 und M6 leitend und die beiden Speicherschleifen mit der jeweiligen Leitung des Bitleitungspaar verbunden. Wie zuvor beschrieben, wurden beide Bitleitungen auf das Potential der Versorgunsspannung aufgela- den. Da in der rechten Speicherschleife der Wert 1 gespeichert ist, erfolgt hier keine Anderung¨ des Potentials, links hingegen (der gespeicherte Werte entspricht 0) wird das Potential auf das der Versorgungsspannung aufgeladen. Da auf bei- den Beitleitungspaaren ein Kondensator (Cbit) verwendet wird, der eine gr¨oßere Kapazit¨at als die jeweilige Speicherschleifen aufweist, erfolgt das Aufladen der Speicherschleife relativ schnell, w¨ahrend das Potential der Bitleitung auf LOW abf¨allt wird. Da auch der Transistor M1 zu diesem Zeitpunkt geschlossen ist, f¨allt das Potential der linken Speicherschleife wieder auf LOW ab. Um dies zu gew¨ahr- leisten ist es erforderlich, dass dieser Transistor einen h¨oheren Formfaktor als M5 besitzt (treibt st¨arker). Nach Abschluss dieses Vorgangs kann nur der gespeicherte Wert gelesen wer- den. Dafur¨ wird ein sogenannter Sense-Amplifier verwendet. Die Abbildung 4.4 zeigt nun den Aufbau einer 6T-SRAM-Speicherzelle mit allen ben¨otigten Signa- len. Der Sense-Amplifier wird zu Beginn des Lese-Vorgangs deaktiviert, d.h. das Si- gnal SE (sense enable) wird auf LOW gesetzt, ebenso das Signal EQ (equalize), das an den Gate-Eingang eines Transistors angeschlossen ist, der die beiden Bit- leitungen verbindet. Somit wird dieser leitend und es wird garantiert, dass beim Vorladevorgang keine Potentialdifferenz der Bitleitungen auftritt. Wird nun die Wortleitung einer Speicherzelle aktiviert, so werden auch die Signale EQ und PC auf HIGH gesetzt und der Vorladevorgang beendet. Das Sinal CS (column select) 4 SRAM – Schnell und teuer 35

Abbildung 4.4: 6T-SRAM-Speicherzelle mit Sense-Amplifier [32] wird nun auf Masse gezogen, was bewirkt, dass die Bitleitungen uber¨ die Tran- sistoren mit den Speicherschleifen verbunden werden. Die Abbildung 4.4 zeigt hier nur eine einzelne 6T-SRAM-Speicherzelle. Da mehrere dieser Zellen zu ei- nem Block zusammengefasst werden, sind auch mehrere Bitleitungen mit dem Sense-Amplifier verbunden, jede Zelle hat jedoch ihr eigenes CS-Signal um die entprechende Speicherzelle beim Lesevorgang zu adressieren. Nach einer gewissen Zeit wird nun das Signal SE deaktiviert, was dem bereits beschriebenen Vorgang des Entladens der linken Speicherzelle in unserem Beispiel entspricht. Nun stehen wieder die gespeicherten Werte zur Verfugung¨ – in der linken Speicherschleife 0 und in der rechten 1. Die die Leitungen Out und Out mit den Speicherschlei- fen verbunden sind, kann daraus der gespeicherte Bit-Wert gelesen werden. Um zu garantieren, dass in diesem Vorgang kein Fehler aufgetreten ist, werden die Signale Out und Out verglichen, die bei Erfolg den selben Wert beinhalten.

Schreiben

Der Vorgang beim Schreiben in eine 6T-SRAM-Speicherzelle ist um einiges ein- facher als beim Lesen. Um nun ein Bit zu speichern wird eine der Bitleitungen auf Masse die andere auf auf das Potential der Versorgungsspannung (Vcc) ge- zogen. Fur¨ das bessere Verst¨andnis der Funktionalit¨at wird der Vorgang anhand eines Beispiels erkl¨art: BL = 1, BL = 0. Es wird angenommen, dass der zuvor gespeicherte Wert 0 duch 1 ersetzt werden soll. Das Problem hierbei ist, dass – wie bereits im Kapitel 4.2.2 beschrieben – der Transistor M1 st¨arker treibt als Transistor M5. In unserem Beispiel hat nun die Leitung BL den Wert 1 und die Wordline wird aktiviert (HIGH). Somit w¨are der Transistor M5 leitend und wurde¨ den Wert 1 durchschalten. Durch den st¨arker treibenden Transistor M1 wurde¨ die- ses Potential aber wieder auf Masse gezogen werden. Um dies zu vermeiden, wird beim Schreiben der Vorgang uber¨ die rechte Speicherschleife abgewickelt. Hierbei wird der negierte Wert (in unserem Beispiel 0) in die rechte Schleife geschrieben. Da die invertierte Bitleitung auf LOW gesetzt wurde, wird beim Aktivieren der 4 SRAM – Schnell und teuer 36

Wordline der Transistor M6 geschlossen und das Potential nach dem Transistor auch auf LOW gezogen. Die rechte Speicherschleife hat den genau umgekehrten Aufbau wie die linke: Der Transistor M6 treibt hier st¨arker als M4, um zu verhin- dern, dass das Potential auf den Wert der Versorgungsspannung gezogen wird. Anschließend wird – aufgrund der Potential¨anderung – der Transistor M1 deak- tiviert und uber¨ die Bitleitung BL wird die linke Speicherschleife auf den Wert 1 aufgeladen, da nun keine Verbindung zur Masse existiert.

4.2.3 4T-SRAM Manche Technologien verwenden nicht vier Transistoren, die eine Speicherschlei- fe darstellen, sondern zwei Transistoren werden durch Widerst¨ande ersetzt (siehe Abbildung 4.5). Der Vorteil besteht darin, dass die Zelle kleiner wird, weil nur mehr NMOS-Transistoren verwendet werden. Allerdings ergibt sich ein statischer Stromverbrauch, der von den Widerst¨anden abh¨angig ist (im Giga-Ohm-Bereich). Durch den h¨oheren Stromverbrauch werden 4T-SRAM-Speicher heute nur in we- nigen Mikroprozessorsystemen eingesetzt, außer die Gr¨oße des Chips spielt eine wesentlichere Rolle als der Stromverbrauch. Ein weiterer Vorteil ergibt sich darin, dass Leckstr¨ome reduziert werden k¨onnen, da anstatt zweier PMOS-Transistoren Widerst¨ande verwendet werden. Der Ablauf beim Lesen und Schreiben unter- scheidet sich nicht vom den Abl¨aufen beim 6T-SRAM (siehe Kapitel 4.2.2 und 4.2.2).

Abbildung 4.5: SRAM mit Widerst¨anden [51]

4.2.4 1T-SRAM Eine der neuesten Entwicklungen im Bereich der SRAM-Speicher stellt die 1T- SRAM -Speicherzelle dar. Dabei wird nur ein Transistor und ein Kondensator fur¨ die Speicherung verwendet. Obwohl sie vom Aufbau eigentlich zu den DRAM- Speichertypen geh¨oren musste¨ (Verwendung eines Transistors), wird sie aufgrund ihrer Funktionsweise aber zur SRAM-Familie gez¨ahlt. Die Abbildung 4.6 zeigt den 4 SRAM – Schnell und teuer 37

Aufbau einer solchen 1T-SRAM-Speicherzelle. Den gr¨oßten Anteil der Entwick- lung dieser Technologie, die im Folgenden noch genau vorgestellt wird, hatte die Firma Monolithic Systems Technology – kurs MoSys, die mittlerweile renomierte Spielekonsolenhersteller wie Nintendo oder Sony ausstatten.

Abbildung 4.6: Aufbau einer 1T-SRAM-Speicherzelle [32]

Der gr¨oßte Vorteil der 1T-SRAM-Speichertechnologie ist die hohe Geschwindig- keit, die durch die Aufteilung des Speichers in viele kleine B¨anke (oft nur jeweils 32 KBits) erreicht wird. Diese haben sehr kurze Verbindungen, was ein sehr ge- ringes Leitungsdelay mit sich bringt (im Gegensatz zu konventionellen DRAMs). Mehrere B¨anke werden zu einem Macro zusammengefasst und ein Chip kann ebenfalls aus einem oder mehreren solcher Macros aufgebaut sein, die mit dem sogenannten Macrobus (256 Bit) verbunden sind. Bei den Zugriffen auf den Speicherinhalt k¨onnen die bisherigen Technologien bei weitem nicht mithalten. Der Lesezugriff ben¨otigt einen einzigen Takt-Zyklus, der bei den aktuellsten Technologien bei 600 MHz liegt. Außerdem kann bei je- dem Zyklus auf die Daten lesend bzw. schreibend zugegriffen werden, weil keine Verz¨ogerungen beim Wechsel zwischen Lesen und Schreiben (no bus-turnaround) auftreten. Obwohl diese Technologie pro Zelle einen Kondensator verwendet, sind keine Precharching- und Refreshing-Delays bemerkbar. Dies wird zum einen da- durch erreicht, dass das Vorladen der Bitleitungen bei jedem Zugriff am Ende des aktuellen Takt-Zyklus uberlappend¨ mit dem Beginn des n¨achsten Zyklus er- folgt, zum anderen kann der Refresh nach außen komplett verborgen werden. Auf jede Zeile muss w¨ahrend des sogenannten Refresh-Intervalls (1 bis 16 Millise- kunden) zumindest einmal ein Refresh ausgefuhrt¨ werden, um den Verlust von Daten zu verhindern (Problem des Potentialverlusts bei Kondensatoren – siehe DRAM). Dafur¨ wird fur¨ jede Bank ein eigener Refresh-Controller verwendet, der in jedem Takt-Zyklus einen Refresh auf alle B¨anke, die nicht im aktuellen Zu- griff eingebunden sind, durchfuhrt.¨ Das Problem hierbei besteht darin, dass bei sogenannten singal-processing-applications der Zugriff im Speicher durchgehend auf die selbe Bank erfolgt und somit kein Refresh darauf mehr m¨oglich ist. Eine M¨oglichkeit dies zu verhindern, wurde bei pseudostatic-SRAMs entwickelt, bei 4 SRAM – Schnell und teuer 38 denen ein Memory-Controller die Bank kurzzeitig sperrt, um den Refresh durch- zufuhren¨ und danach fur¨ den Zugriff wieder freigibt (hold off access). MoSys l¨ost dieses Problem, indem pro Makro ein zus¨atzlicher SRAM-Cache am Chip inte- griert wird, dessen Kapazit¨at der einer Bank entspricht. Beim Lesen werden die Daten in den Cache geschrieben und von der Anwendung daraus gelesen, w¨ahrend der Refresh der Bank parallel erfolgen kann. Die letzte Hurde¨ stellt der durch- gehende Zugriff auf eine Zeile in einer Bank dar, weil dabei die anderen Zeilen unberuhrt¨ bleiben und somit auch kein Refresh darauf durchgefuhrt¨ wird. Unter der proper-refresh-period versteht man ein Zeitintervall, das sich aus der Division von dem Refresh-Intervall und der Anzahl von Zeilen ergibt. Dieses Intervall ist deutlich gr¨oßer als die Anzahl der Zyklen, die fur¨ den Zugriff auf alle Zeilen ei- ner Bank ben¨otigt werden. Sogar im schlechtesten Fall von nur einem Zugriff auf den Cache w¨ahrend der proper-refresh-period, ist es m¨ogich, auf eine Zeile einen Refresh durchzufuhren¨ und somit einen Datenverlust zu vermeiden. Der integrierte Cache-Speicher erh¨oht die Fl¨ache des Chips nur geringfugig¨ (we- niger als 10 Prozent). Ein 64-Mbit 1T-SRAM-Chip ist zwar um ca. 10 bis 15 Prozent fl¨achenm¨aßig gr¨oßer als ein 64-Mbit SDRAM-Chip, jedoch um etwa 70 Prozent kleiner als ein herk¨ommlicher SRAM-Chip der selben Speicherkapazit¨at. Außerdem konnte durch diese relativ neue Technologie eine Gewinn des Energie- bedafrs von 75 Prozent im Vergleich zu herk¨ommlichen 6T-SRAM-Chips erzielt werden. Einen weiteren entscheidenden Vorteil stellt die Fertigung der Chips dar, weil aufgrund den einfachen Aufbaus nur zwei Masken ben¨otigt und durch die Verwendung eines optimierten Oxids Probleme bezuglich¨ Bruch der Verbindun- gen verringert werden k¨onnen.

Lesen

Durch die geringe Anzahl elektronischer Bauteile in einer Speicherzelle gestal- tet sich der Zugriff und die Funktionsweise deutlich weniger komplex als bei 6T- SRAM-Zellen. Zu Beginn des Lesezugriffs wird die Bitleitung BL auf das Potential der halben Versorgungsspannung aufgeladen. Anschließend wird die Wordline WL aktiviert, was zur Folge hat, dass der Transistor leitend wird und ein Ladungs- transfer zwischen der Bitleitung und dem Kondensator erfolgen kann. Ist in der Zelle der Wert 1 gespeichert, so wird das Potential der Bitleitung leicht ange- hoben, ansonsten leicht abgesenkt. Anschließend wird diese Ver¨anderung uber¨ den Sense Amplifier erkannt und daraus der logische Wert 0 oder 1 weitergege- ben. Wie schon im Kapitel der DRAM-Speicherzellen konsumiert das Lesen den Wert des Kondensators, was ein unmittelbares write-back nach dem Zugriff er- forderlich macht. Dabei wird der Output des Sense-Amplifiers an die Bitleitung ruckgekoppelt¨ und der Wert wird im Kondensator gespeichert.

Schreiben

Noch einfacher erfolgt der schreibende Zugriff auf eine 1T-SRAM-Speicherzelle: Um einen Wert zu speichern, wird dieser an die Bitleitung gelegt und anschließend die Wordline aktiviert. Somit wird der Transistor der Speicherzelle durchgeschal- tet und der Kondensator wird auf den Wert der Bitleitung auf- bzw. entladen. 4 SRAM – Schnell und teuer 39

Anschließend wird die Wordline wieder deaktiviert und der Zugriff ist abgeschlos- sen.

Dual Port SRAM In den letzten Jahren fuhrte¨ die Weiterentwicklung der PC-Systeme hin zu Dual- Prozessor-Systemen, bei denen zwei Prozessoren parallel arbeiten, was eine deut- liche Leistungssteigerung mit sich bringt. Allerdings werden dafur¨ auch entspre- chende Speicher ben¨otigt, die mit beiden Prozessoren die Daten austauschen k¨onnen. Diese Anforderung wurde mittels Dual Port RAM gel¨ost, die mit bei- den Prozessoren arbeiten (synchron oder asynchron). Eine Realisierung enth¨alt zwei unabh¨angige Busse (jeweils einen pro Prozessor), die im Multiplexverfahren verwendet werden. Das bedeutet, dass auf jedem Bus die Daten, aber auch die Adressen ubermittelt¨ werden. Der sich daraus ergebende Nachteil liegt im Bereich der Performance, weil Adresse und Daten seriell gesendet werden. Im Gegensatz dazu steht, dass nur eine geringe Anzahl von Pins ben¨otigt werden. Die zweite M¨oglichkeit ist, pro Port jeweils einen Adress- und Datenbus zu verwenden, was eine h¨ohere Geschwindigkeit erm¨oglicht, aber eine gr¨oßere Anzahl von Pins mit sich bringt.

Abbildung 4.7: Dual Port RAM mit Intel 8086 Prozessor [39]

Die Abbildung 4.7 zeigt ein Beispiel fur¨ den Aufbau eines Dual-Port-RAM- Systems. Dabei handelt es sich um einen Speicherchip von Dallas Semiconductors (Modell DS1609), der mit zwei Intel 8086 Mikroprozessoren zusammen arbeitet. Es wird nun die Arbeitsweise anhand dieses Beispiels beschrieben. Beim Lesen muss als erstes die entsprechende Zieladresse an den Pins AD0 bis AD7 fur¨ das jeweilige Port angelegt werden. uber¨ das Signal CE (port enable control) wird danach das entsprechende Port aktiviert, die Adresse ubernommen¨ und kann nach der Hold-Time wieder vom Bus genommen werden. Wurden die Daten erfolgreich aus dem Speicher gelesen, wird dies anhand des Signals OE (output enable control) signalisiert. Solange diese Signale aktiv sind, liegen gulti-¨ ge Daten bereit, sobald eine Anderung¨ eines dieser Signale erfolgt, sind die Daten nicht l¨anger gultig,¨ da eventuell ein schon ein anderer Zugriff auf den Speicher erfolgt. W¨ahrend des ganzen Lesevorgangs bleibt das Signal WE (write enable control) deaktiviert. Um Daten zu schreiben erfolgt der erste Teil analog zum be- 4 SRAM – Schnell und teuer 40 reits beschriebenen Lesevorgang: Die Adresse wird an die Pins angelegt und CE aktiviert. Somit wird die Adresse vom Chip ubernommen.¨ Anschließend wird WE aktiviert, was bedeutet, dass ein Schreibvorgang eingeleitet wird. Nach Ablauf der Hold-Time k¨onnen nun die zu speichernden Daten an den Pins gelegt werden, die anschließen vom Chip ubernommen¨ und in der Speichermatrix abgelegt werden. Erfolgt eine ¨anderung der Signale CE oder WE, so wird der Schreibvorgang be- endet. Ein sehr großer Vorteil dieser Technologie besteht darin, dass beide Ports gleich- zeitig lesen k¨onnen. Sollte w¨ahrend eines Lesevorgangs eines Ports das andere zu schreiben beginnen, so erfolgt je nach Architektur der Lesevorgang noch vor dem Schreiben und es werden die alten Daten gelesen oder erst danach und die aktuellen Daten stehen zur Verfugung.¨ Das gr¨oßte Problem besteht darin, dass beide Ports zur selben Zeit Daten schreiben wollen, was zu einem metastabilen Zustand fuhren¨ k¨onnte. Daher muss vor dem Zugriff gepruft¨ werden, ob bereits das zweite Port einen schreibenden Zugriff auf den Speicher durchfuhrt¨ (uber¨ das entsprechende WE-Signal des zweiten Ports). Eine zweite M¨oglichkeit zur Uberpr¨ ufung,¨ ob bereits ein Port einen schreibenden Zugriff durchfuhrt,¨ kann mit einem so genannten Busy-Flag erfolgen, welches am Beginn des Schreibens auf true gesetzt wird und somit signalisiert, dass kein weiterer Zugriff erfolgen darf. Nach Abschluss der Operation wird dieses Flag wieder gel¨oscht.

Abbildung 4.8: Dual Ported RAM [43]

Die Speicherzelle selbst verwendet zwei unabh¨angige Wortleitungen, wobei jeweils eine Leitung mit den Transistoren M5 und M6 verbunden wird. Somit wird diese nur geringfugig¨ gr¨oßer, es k¨onnen jedoch zwei Zellen gleichzeitig gelesen werden. Hierbei gibt jene Zelle, die mit der ersten Wortleitung verbunden ist, ihren Wert auf Bit und die zweite Zelle auf Bit aus. Da beim Schreiben allerdings beide Bitleitungen ben¨otigt werden, kann immer nur eine Zelle beschrieben und diese Verbesserung – wie bereits beschrieben – nur beim lesenden Zugriff effektiv genutzt werden.

Multi Port SRAM Es besteht nicht nur die M¨oglichkeit zwei Ports auf einen Speicher zugreifen zu lassen, sondern auch noch mehr. Daraus ergibt sich auch die Bezeichnung dieser Technologie – Multi Port SRAM. Die Funktionsweise unterscheidet sich nur in 4 SRAM – Schnell und teuer 41 der Anzahl der Ports zu den Dual Port SRAM. Es erscheint recht nutzlich¨ zum Beispiel mehrere Mikroprozessoren auf einen gemeinsamen Speicherchip zugreifen zu lassen, allerdings leidet die Stabilit¨at darunter, da es bei gleichzeitigen Zugrif- fen zu Problemen kommen kann. Außerdem steigt die Anzahl der Pins mit jedem zus¨atzlichen Port.

4.2.5 Speichermatrix

Wie auch schon im vorangegangenen Kapitel der DRAM-Speicherzelle, werden mehrere SRAM-Zellen zu einer Speichermatrix zusammengefasst. Soll nun in ei- ne Zelle ein bestimmter Wert gespeichert oder daraus gelesen werden, so wird uber¨ einen Decoder die entsprechende Wortleitung und somit eine ganze Zeile der Matrix aktiviert. uber¨ einen Multiplexer wird dann die entsprechende Zelle bestimmt, bzw. der Zugriff auf eine ganze Zeile durchgefuhrt.¨ Im Prinzip besteht kein wesentlicher Unterschied beim Zugriff auf eine Speichermatrix zum Ablauf und Aufbau bei DRAM (3.2.2).

Abbildung 4.9: SRAM-Speichermatrix [43]

4.3 Technologien

4.3.1 ASRAM – Asynchronous SRAM

Unter einem asynchronen SRAM versteht man einen Speicher, der ohne vorgege- benen Takt arbeitet und nur auf die sogenannten Enable-Signale reagiert. Hier werden chip enable (CE) fur¨ das Aktivieren bzw. Deaktivieren eines Speicher- chips, output enable (OE) fur¨ die Kennzeichnung, ob gultige¨ Daten bereitste- hen und write enable (WE) fur¨ die Auswahl zwischen Lesen und Schreiben ver- wendet. Weiters verzichtet diese Technologie auf das zeitaufwendige RAS/CAS- Multiplexing (Raw Address Strob/Column Address Strobe) und ben¨otigen im Ge- gensatz zu DRAMs keinen periodischen Refresh der Speicherzelle. Asynchrone SRAM-Speicher wurden bereits in der 386er-Familie eingesetzt und werden auch noch in manchen PC-Systemen als L2-Cache verwendet (siehe Kapitel 4.4.1). Da keine synchrone Arbeitsweise mit dem Prozessor besteht, besteht eine gewisse Wartezeit beim Datentransfer zwischen CPU und Speicher, die aber bei weitem kleiner ist als jene Verz¨ogerung bei DRAM. 4 SRAM – Schnell und teuer 42

Abbildung 4.10: Blockdiagramm eines ASRAM [35]

4.3.2 SSRAM – Synchronous SRAM Durch die rasche Entwicklung im Bereich der Prozessoren und die damit verbun- dene Geschwindungkeitssteigerung wurde eine Weiterentwicklung der bestehen- den asynchronen SRAM-Technologie erforderlich um eine ausreichend schnelle Kommunikation zwischen Prozessor und Speicher zu gew¨ahrleisten. Das Ergeb- nis waren synchrone Speicher – synchronous SRAM – die synchron mit dem Takt des Prozessors ihre Schreib- und Leseoperationen ausfuhren.¨ Erstmals kam diese neue Entwicklung bei den ersten Pentium-Systemen als L1-Cache zum Einsatz (siehe Kapitel 4.4.1). Im Folgenden werden die unterschiedlichen Entwicklungen der synchronen SRAM erkl¨art.

Abbildung 4.11: Blockdiagramm eines SSRAM [35] 4 SRAM – Schnell und teuer 43

Abbildung 4.12: Timing-Diagramm eines synchronen SRAM [35]

Burst SRAM Bereits im Kapitel 3.3.1 bei der DRAM-Technologie wurde diese Technik ver- wendet. Dabei wird die erste Adresse beim Speicherzugriff auf den Adressbus geschrieben und die drei folgenden automatisch uber¨ einen internen Counter er- rechnet. Somit liegen am Output des Speichers zu jedem Takt-Zyklus gultige¨ Daten bereit (siehe Abbildung 4.13). Bereits w¨ahrend die Daten des ersten Zu- griffs ermittelt und bereitgestellt werden, kann die neue Adresse ubergeben¨ und die interne Berechnung der nachfolgenden Adressen durchgefuhrt¨ werden.

Abbildung 4.13: Timing-Diagramm eines synchronen SRAM im Burst-Mode [35]

Pipelined Burst SRAM

Abbildung 4.14: Timing-Diagramme im Vergleich (Pipelined SRAM, synchrones SRAM) [35]

Pipelined Burst SRAMs verwenden zwischen dem Speicher und dem Output ein Register. Der Vorteil dabei gegenuber¨ Burst-SRAMs ist, dass bei aufeinander- folgenden Burst-Zugriffen die Daten durch eine uberlappende¨ Ubertragung¨ von Startadresse und Daten ein Taktzyklus eingespart werden kann. Dabei wird die 4 SRAM – Schnell und teuer 44

Startadresse schon im Voraus gespeichert und der Datenzugriff vorbereitet. Al- lerdings kann beim Wechsel zwischen Lesen und Schreiben eine Wartezeit von einem Taktzyklus nicht vermieden werden (turn-around).

Zero Bus Turn-around SRAM – ZTB SRAM Gerade im Bereich Netzwerk und Internet werden viele Daten, die zum Teil viel Speicherplatz in Anspruch nehmen in Massen ubertragen.¨ Dies sind außer herk¨ommlichen Daten wie diverse Dokumente auch Audio-Daten und vermehrt Videos. Durch die hohe Anzahl an Datentransfers uber¨ Netzwerke treten sehr viele Wechsel zwischen dem Lesen und Schreiben in Ger¨aten wie Router oder Switches auf. Da in den bisher beschriebenen Technologien beim Wechsel die- ser beiden Zugriffsarten Wartezeiten nicht zu vermeiden sind, wurde eine neue Technik entwickelt, bei der diese sogenannten toten Zyklen zwischen Schreib- und Lesezugriffen komplett vermieden werden k¨onnen – Zero Bus Turn-around SRAM. Eine zweite weit verbreitete Bezeichnung dieser SRAM-Technologie ist NoBL-SRAM – No Bus Latency SRAM.

Double Date Rate SRAM – DDR SRAM Double Date Rate bedeutet – wie auch schon im Kapitel DRAM – dass in einem Taktzyklus zwei Operationen durchgefuhrt¨ werden k¨onnen, das heißt es kann bei der steigenden und der fallenden Flanke ein schreibender oder lesender Zu- griff auf das Speicherelement erfolgen, was im Vergleich zu herk¨ommlichen (Singe Date Rate) SRAM-Speicherelementen bei der selben Frequenz den doppelten Da- tendurchsatz erzielt, weil dabei die steigende Flanke verwendet wurde.

Abbildung 4.15: Timing-Diagramm eines DDR-SRAMs [18]

Die Funktionsweise wird nun anhand eines Beispiels (Timing-Diagramm: Ab- bildung 4.15) erkl¨art [18]: Zum Zeitpunkt 1 wird ein Lesezyklus initialisiert, indem das Signal ADV auf LOW gesetzt wird. Die Adresse A wird nun verwendet, um die Daten im Adressbereich A und A+1 des Speichers zu lesen. Wird nun ADV wieder auf HIGH gesetzt, so wird die Adresse inkrementiert und die Daten im Adressbereich A+2 und A+3 ermittelt. W¨are ADV nach dem Zeitpunkt 1 wei- terhin auf LOW geblieben, so wurde¨ der Output des SRAMs zum Zeitpunkt 4 und 5 nur den beiden W¨ortern entsprechen, die von den Adressen A und A+1 gelesen wurden. Wird ein DDR-SRAM im non-burst-mode betrieben, so wurden¨ nur zwei W¨orter (Startadresse und das n¨achste Wort im Speicher) gelesen werden und bei der n¨achsten steigenden Taktflanke (Zeitpunkt 3) k¨onnte ein neuer Le- sezugriff gestartet werden. Im burst-mode w¨aren es insgesamt vier W¨orter ohne 4 SRAM – Schnell und teuer 45 einen neuen Lesezugriff starten zu mussen.¨ In unserem Beispiel wird nach den vier W¨ortern, die ab der Adresse A gelesen wurden, ein weiterer Lese-Zugriff im burst-mode ab Adresse B gestartet. Danach sollen Daten ab der Adresse C ge- schrieben werden, allerdings ist hier ein Taktzyklus Wartezeit zwischen Lesen und Schreiben unumg¨anglich, um alle gelesenen Daten korrekt am Datenausgangspin anzulegen.

Quad Data Rate SRAM – QDR-SRAM Namhafte Chip-Hersteller (unter anderem Cypress, NEC, Samsung) entwickelten gemeinsam eine weitere Verbesserung im Bereich der statischen Speicher – Quad Data Rate Static Random Access Memory. Diese Bezeichnung ergibt sich, weil es diese Technologie erm¨oglicht, vier W¨orter in einem einzelnen Taktzyklus zu lesen bzw. zu speichern. Die Abbildung 4.16 zeigt den Vergleich eines konventionellen SRAMs (a) und eines QDR-SRAM (b) beim Lesen und Schreiben.

Abbildung 4.16: Lesen und Schreiben im Vergleich – (a) Standard-SRAM; (b) QDR-SRAM [3]

Gerade im Bereich der Netzwerktechnik war diese Entwicklung sehr wichtig, weil die bisherigen Speicherelemente mit den hohen Taktraten der Prozessoren nicht mehr mithalten konnten. Beispiele dafur¨ sind diverse Netzwerkger¨ate wie Router oder Swichtes, die eingehende Netzwerkpakete zwischenspeichern, danach analysieren und anschließend an die Zieladresse weiterleiten. Der wesentliche Vor- teil der QDR-SRAM besteht darin, dass fur¨ den Datenin- und -output seperate Ports existieren. Dadurch wird ein gleichzeitiges Lesen und Schreiben des Spei- chers m¨oglich und Wartezeiten und Bus-Kollisionen zwischen diesen beiden Zu- griffsarten – wie es in den zuvor beschriebenen Technologien der Fall war – werden komplett vermieden. Außerdem werden die Daten im DDR-Modus, das bedeutet bei der steigenden und fallenden Flanke verarbeitet. Fur¨ die Adresse steht ein gemeinsam genutzter Adressport zur Verfugung.¨ QDR-SRAM gibt es in zwei ver- schiendenen Ausfuhrungen¨ – QDR2 und QDR4. Die Zahl bedeutet die Anzahl der W¨orter die bei einem Zugriff auf den Speicher gelesen bzw. geschrieben werden (Burst 2 bzw. Burst 4). Die Abbildung 4.17 stellt das Blockdiagramm eines QDR-SRAM dar. Eine Be- sonderheit ist, dass vier Takte verwendet werden: K und K fur¨ den Dateninput bzw. C und C fur¨ den Datenoutput, wobei jeder Vorgang mit der steigenden Flanke von K initialisiert wird. Weiters gibt es noch die Steuersignale RPS und WPS, welche die Art des Zugriffs steuern. RPS wird aktiviert, wenn ein Lesezu- griff erfolgt, analog wird WPS beim Schreiben aktiv. Eine weitere Ver¨anderung zu den bisherigen Technologien ist, dass der Lesevorgang bei der steigenden Flan- ke von K, das Schreiben aber bei der steigenden Flanke von K gestartet wird. Im 4 SRAM – Schnell und teuer 46

Abbildung 4.17: Blockdiagramm eines QDR-SRAM [3]

Folgenden wird der genaue Ablauf anhand eines Beispiels erkl¨art (siehe Abbildung 4.18).

Abbildung 4.18: Timing-Diagramm eines QDR-SRAM (Burst 2) [12]

Anhand des Timing-Diagramms eines QDR-SRAM im Burst-2-Modus wird der Ablauf beim Lesen und gleichzeitigem Schreiben erkl¨art: Zu Beginn wird ange- nommen, dass beide Steuersignale (RPS und WPS) inaktiv sind (LOW). Da bereits eine Adresse A zum Lesen an den Adresspins liegt, wird diese mit der steigenden Flanke von K und die Adresse B (soll beschrieben werden) mit der steigenden Flanke von K ubernommen.¨ Die zu speichernden Daten D(B) und D(B+1) werden ebenfalls mit der steigenden Flanke von K bzw. von K uber-¨ nommen. Das Lesen einer Speicheradresse erfolgt in zwei Taktzyklen. W¨ahrend des ersten wird die ubergebene¨ Adresse vom Speicherchip ubernommen¨ und im folgenden Zyklus wird bereits das gelesene Datenwort bereitgestellt. Da in die- sem Beispiel ein Burst-Wert von zwei angenommen wurde, erfolgt der Zugriff auf das zweite und letzte Datenwort, das bei der n¨achsten steigenden Flanke von K bereitsteht. Wie aus diesem Beispiel hervorgeht, erm¨oglicht QDR-SRAM einen lesenden und schreibenden Zugriff gleichzeitig auf die selbe Adresse zu starten (RPS und WPS gleichzeitig aktiviert). Tritt dieser Fall auf, so werden die zu speichernden Daten an die Output-Pins weitergegeben um die Richtigkeit der Daten zu garantieren. Abschließend zeigt die Abbildung 4.19 noch den Geschwindigkeitsvergleich der bisher vorgestellten SRAM-Technologien (bei einer Frequenz von 166 MHz), wenn diese als Cache bzw. in Netzwerkger¨aten eingesetzt und bestm¨oglich genutzt wer- den. 4 SRAM – Schnell und teuer 47

Abbildung 4.19: Vergleich der Geschwindigkeiten diverser SRAM-Technologien [12]

Quad Data Rate II SRAM – QDRII-SRAM

Ende des Jahres 2003 wurde eine Weiterentwicklung der QDR-SRAM-Technologie vorgestellt – Quad Data Rate II SRAM. Der Unterschied der beiden SRAM- Speicher besteht darin, dass bei QDRII-SRAM ein sogenannter echo-clock (CQ) Ausgang vorhanden ist, der die selbe Frequenz wie der Eingangstakt K verwendet. Uber¨ eine delay-locked loop (DLL) entsteht eine Verz¨ogerung zwischen K und dem Ausgang CQ, der ruckgekoppelt¨ und fur¨ die Synchronisation der Ein- und Ausgangsdaten verwendet wird (siehe Abbildung 4.20).

Abbildung 4.20: Timing-Diagramm eines QDRII-SRAM (Burst 4) [38]

Die Abbildung 4.20 zeigt das Timing-Diagramm eines QDRII-SRAM im Burst- 4-Modus (pro Zugriff werden vier W¨orter gelesen bzw. geschrieben). Im Prinzip gibt es keine großen Anderungen¨ zum Vorg¨angermodell, außer, dass die Daten zwischen den Taktzyklen von K bzw. K gelesen und geschrieben werden k¨onnen, woraus sich eine Leistungssteigerung ergibt. 4 SRAM – Schnell und teuer 48

Abbildung 4.21: Interner Aufbau eines PC-Speicher-Systems [35]

4.4 Anwendungen

4.4.1 Cache Unter Cache versteht man einen kleinen und sehr schnellen Speicher, der direkt mit dem Prozessor kommuniziert um Daten und Anweisungen zu speichern, die umittelbar vom Prozessor ben¨otigt werden. Hierbei muss man zwei Arten von Cache unterscheiden: L1 (first-level, internal-cache) Cache und L2 (second-level, external-cache) Cache. Der L1 Cache ist der speicherm¨aßig kleinere der beiden Typen (16 bis 32 KB) und befindet sich direkt auf dem Die des Prozessors, was den Vorteil mit sich bringt, dass Cache und Prozessor direkt miteinander kommunizieren k¨onnen ohne Daten uber¨ den Bus zu schicken. Da der first-level-cache relativ wenig Speicher- platz bietet, wird ein zweiter Cache – der second-level-cache – verwendet. Dieser befindet sich bei manchen Herstellern ebenfalls direkt auf der Platine, aber etwas weiter vom Prozessor entfernt. Fur¨ den Datenaustausch wird ein eigener interner Bus verwendet, was aber eine geringere Geschwindigtkeit als beim first-level-cache mit sich bringt. Aktuelle Intel Pentium 4 Prozessoren verwenden einen L2 Cache mit 1024 KB Speicherplatz. In manchen Anwendungen ist auch eine dritter Cache-Speicher zu finden – third-level-cache. Dieser befindet sich noch weiter vom Prozessor entfernt und weist in den meisten F¨allen eine schlechtere Perfomance als der L2 Cache auf.

Funktionsweise

Abbildung 4.22: Schematischer Aufbau – Prozessor und Cache [18]

Die Abbildung 4.22 zeigt den schematischen Aufbau eines Prozessors, der mit einem Cache-Speicher kommuniziert. Ben¨otigt ein Prozessor Daten vom Cache, so genieriert er einen Request-Befehl und ubergibt¨ diesen an den Cache-Controller. Dieser fuhrt¨ danach einen Zugriff auf den sogenannten TagRAM durch, um zu 4 SRAM – Schnell und teuer 49 ermitteln, ob die ben¨otigten Daten an der ubergebenen¨ Adresse gespeichert sind. Wurden die Daten gefunden, so spricht man von einem cache hit, andernfalls von cache miss. Beim erfolgreichen Zugriff auf die Daten werden diese an den Bus ubergeben,¨ anschließend an den Prozessor ubermittelt¨ und der Request gel¨oscht. Im Falle eines cache miss wird der Inhalt des Cache aus dem Arbeitsspeicher aktualisiert und der Zugriff erneut gestartet.

4.5 Zusammenfassung

Zusammenfassend sollte nochmals erw¨ahnt werden, dass sich SRAM-Speicher durch die hohe Zugriffsgeschwindigkeit auszeichnen. Weiters ist kein periodischer Refresh n¨otig, weil – bis auf 1T-SRAM – keine Kondensatoren verwendet werden, die aufgrund des Ladungsverlusts nach einer bestimmten Zeitspanne aufgeladen werden mussen.¨ Allerdings werden mehrere Transistoren fur¨ eine Speicherzelle verwendet, woraus sich ein großer Fl¨achenbedarf ergibt und eine einzelne Zelle in Relation zu DRAM sehr teuer ist. Die Abbildung 4.23 von Samsung zeigt einen Uberblick¨ zu bisherigen und zukunftigen¨ QDR-Technologien (QDRIII), wobei vertikal die Bandbreite und horizontal die Zeit in Jahren dargestellt sind.

Abbildung 4.23: Samsung QDR SRAM Roadmap [40] 50

5 MRAM – Speicher der Zukunft?

Um einen ersten Einblick in die Thematik von MRAM – Magneto-resistive Random Access Momory zu erhalten, soll man sich folgendes Szenario vor Augen halten: Morgens schalten Sie Ihr Mobiltelefon ein und ohne Verz¨ogerungszeit k¨onnen Sie sofort damit telefonieren. Danach setzen Sie sich vor Ihren PC, schal- ten ihn ein und k¨onnen ebenfalls ohne lange Bootzeiten mit dem installierten Betriebssystem arbeiten.

Mit den bisher vorgestellten Speichertechnologien im Bereich der Random Ac- cess Memory kann eine derartige Nutzung nicht realisiert werden, da – zum Bei- spiel am PC – die Daten von der Festplatte gelesen, bearbeitet und anschließend in den Arbeitsspeicher geladen werden. Da dieser aber als fluchtiger¨ Speicher rea- lisiert ist, gehen die Daten nach Abschalten der Versorgungsspannung verloren und beim Neustart muss wieder der Bootvorgang durchgefuhrt¨ werden, um da- nach das Ger¨at nutzen zu k¨onnen. Um dies zu vermeiden, kommt eine relativ neue Technik – Magneto-resistive Random Access Memory – zum Einsatz, welche die Vorteile von anderen Speicherelementen in sich vereint und somit die Wartezeiten verkurzen¨ bzw. sogar g¨anzlich eliminieren kann:

• sehr schneller Zugriff (SRAM)

• klein & billig (DRAM)

• nicht fluchtig¨ (ROM)

• kein Refresh n¨otig

5.1 Aufbau und Funktionsweise

Die bei MRAM verwendete Technik zur Sicherung eines bzw. mehrerer Bits kann bereits aus dem Namen erkannt werden. Es handelt sich hierbei um eine Spei- cherung mittels magnetischer Ladungselemente in Wechselwirkung mit dem so genannten Elektronenspin und nicht wie bei DRAM und SRAM durch elektri- sche Elemente. Die Abbildung 5.1 zeigt den schematischen Aufbau einer MRAM-Speicherzelle. Diese besteht aus zwei ferromagnetischen Schichten, die durch ein sehr dunnes¨ Ubergangsmaterial¨ getrennt sind. Um nun einen bin¨aren Wert zu speichern, nutzt¨ man die Ladung sowie den Elektronenspin aus, was bedeutet, dass die Elektronen in den zwei ¨außeren Schichten Tr¨ager des Stromes sind und selbst Elementar- magnete darstellen. Die Ausrichtung der Elektronen in der unteren Schicht ist fixiert wodurch sich ein unver¨anderliches Magnetfeld bildet, w¨ahrend die obere ferromagnetische Schicht ihre Polarisation ¨andern kann (Richtung bzw. Spin der 5 MRAM – Speicher der Zukunft? 51

Abbildung 5.1: Schematischer Aufbau einer MRAM-Zelle [26]

Elektronen). Durch die Orientierung und St¨arke des Magnetfeldes der beiden Außenschichten kann der Widerstand der Isolationsschicht variiert werden und es treten Tunnelstr¨ome auf. Dieses Verhalten nennt man den magneto-resistiven Effekt (MR-Effekt), der in Prozent angegeben wird und bei nichtmagnetischen Materialien einen Wert unter 1 Prozent, bei ferromagnetischen Metallen jedoch bis zu 100 Prozent aufweisen kann. Um 0 bzw. 1 speichern zu k¨onnen, werden zwei Widerstandswerte definiert, die den beiden Zust¨anden entsprechen und somit den gespeicherten Wert repr¨asentieren (Abbildung 5.2). Um stablie Werte beim Lesen und Schreiben zu erhalten, bestehen die einzelnen Schichten aus mehreren Layers.

Abbildung 5.2: Darstellung der Werte mittels Magnetowiderstandseffekt [26]

Nach dem Schreiben einer Zelle (Anderung¨ der Orientierung einer Elektrode) bleibt der aktuelle Zustand auch ohne weitere Versorungsspannung erhalten und muss nach dem Lesen auch keinem Write-Back unterzogen werden, da kein konsumierender Zugriff erfolgt. Um den gespeicherten Wert in einen logischen Zustand umzuwandeln, wird der Widerstand gelesen und anschließend der entsprechende bin¨are Wert ermittelt.

Eine Speicherzelle eines MRAM-Bausteins besteht aus einem Transistor und der zuvor beschriebenen Einheit aus einem Magnetpaar, sowie jeweils eine 5 MRAM – Speicher der Zukunft? 52

Zeilen- und Spaltenadressleitung. Durch diesen Aufbau ben¨otigt eine Zelle nur eine sehr geringe Leistungsaufnahme und erreicht eine hohe Packungsdichte, was zu einer ernormen Kosteneinsparung – ¨ahnlich wie bei DRAM – fuhrt¨ und speziell Vorteile fur¨ den Einsatz in mobilen Ger¨aten ergibt (Notebooks, Palms, Mobiltelefone etc.), weil eine l¨angere Betriebszeit erreicht werden kann.

5.1.1 Lesen Das Lesen erfolgt durch die Widerstandsmessung der Zwischenschicht, die in zwei Variationen ablaufen kann:

1. Stommessung: Es wird eine Spannung angelegt und die Stromst¨arke gemes- sen.

2. Spannungsmessung: Es wird Strom angelegt und die Spannung gemessen.

Der gemessene Wert wird anschließend mit einer Referenzspannung bzw. - stromst¨arke verglichen um den Speicherzugstand der Zelle zu ermitteln. Mit steigender Spannung bzw. Stromst¨arke kann die Genauigkeit des Lesevorgangs verbessert werden, weil dadurch die Differenz zwischen den Daten und dem Refe- renzwert sinkt. Durch eventuelle Abweichungen mussen¨ beide Signale – gemesse- ner Wert und Referenzwert – fur¨ einen robusten Entwurf genau festgelegt werden. Fur¨ die Verwendung eines Referenzsignals existieren drei Methoden:

• Twin Cell Method

• Reference Cell Method

• Self-Referenced Method

Twin Cell Method Bei dieser Methode werden zwei Zellen zum Speichern eines Bits verwendet, da- bei wird einmal der Originalwert und einmal die Inversion abgelegt. Beim Lesen vergleicht die Logik beide Werte mit der Referenz um sicherzustellen, dass kein Lesefehler aufgetreten ist. Der Nachteil dieser Anwendung ergibt sich darin, dass pro Bit zwei Zellen ben¨otigt werden, was die Dichte des Speicherelements verdop- pelt.

Reference Cell Method Werden eine oder mehrere Referenzzellen und eine Datenzelle fur¨ einen gesicher- ten Leseablauf verwendet, so spricht man von der Reference Cell Method. In diesem Fall wird der gelesene Wert mit einer oder mehreren Zellen verglichen, die im Vorhinein mit bestimmten Werten programmiert wurden. Verwendet MRAM nur eine Vergleichszelle, so muss der festgelegt Wert mit einem bestimmten Fak- tor multipliziert werden, um einen geeigneten Schwellwert zwischen 0 und 1 zu finden. Bei zwei Referenzzellen stehen deren Werte in Opposition zueinander und deren Durchschnitt wird fur¨ den Vergleich mit dem gelesenen Wert herangezogen. 5 MRAM – Speicher der Zukunft? 53

Der große Vorteil dieser Methode besteht in der Chipdichte, da fur¨ jedes Bit nur eine Zelle verwendet wird und die Vergleichszellen nur einmal installiert und fur¨ mehrere Zellen zum Vergleich verwendet werden. Weiters k¨onnen Fehler zwischen den Daten und deren Referenz einfach entdeckt werden.

Self-Referenced Method Bei der Self-Referenced Method wird der gelesene Wert zwischengespeichert. An- schließend wird ein festgelegter Wert in der Zelle abgelegt und erneut ausgelesen. Danach werden die beiden Werte miteinander verglichen, wobei der zweite, wie schon zuvor, wieder mit einem bestimmten Wert multipliziert wird um einen ge- eineten Schwellwert zwischen 0 und 1 zu finden. Alternativ dazu kann der Fixwert ein zweites Mal gespeichert werden, in diesem Fall mit seiner Inversion, danach gelesen und der Mittelwert der beiden Fixwerte mit dem gespeicherten Zellwert verglichen. Wie auch schon die zweite Methode wird hier kein zus¨atzlicher Platz am Chip ben¨otigt und Fehler beim Auslesen k¨onnen ebenfalls leicht gefunden werden. Allerdings leidet die Geschwindigkeit unter den mehrfachen Lese- und Schreibvorg¨angen. Dadurch ben¨otigt die Zelle beim lesenden Zugriff auch Strom bzw. Spannung, weil ein Schreiben der Fixwerte durchgefuhrt¨ wird.

5.1.2 Schreiben Der Vorgang beim Schreiben einer MRAM-Speicherzelle wird anhand der Abbil- dung 5.3 erkl¨art. Uber¨ die Word Line (WL) und die Bit Line (BL) wird die zu beschreibende Zelle ausgew¨ahlt. Danach wird Strom an beide Leitungen gelegt, der im Kreuzungspunkt zwei Magnetfelder erzeugt. Uber¨ die Vektorsumme er- rechnet sich anschließend der zu speichernde Wert, wobei zwei Punkte beachtet werden mussen:¨ • Die Vektorsumme muss einen entsprechend hohen Wert erreichen, um den Zustand der Zelle zu ¨andern und • darf nicht zu groß sein, da eventuell benachbarte Zellen der Matrix ebenfalls betroffen w¨aren und ihren gespeicherten Zustand verlieren wurden.¨

Abbildung 5.3: Schreiben einer MRAM-Zelle [26]

Um Effektivit¨at zu erreichen, liegen die beiden Leitungen (Word und Bit) eng beieinander, aber trotzdem ist eine Stromst¨arke von etwa 5 mA erforderlich, um 5 MRAM – Speicher der Zukunft? 54 den Zustand einer Zelle zu uberschreiben.¨ Die Dauer eines Pulses beim Schreiben einer Zelle liegt laut [26] bei weniger als 10 ns, wobei eine minimale Verschiebung ben¨otigt wird, um die Polarisation der variablen Schicht zu ¨andern, das heißt die Word Line startet den Vorgang und erst anschließend wird eine entsprechende Spannung an der Bit Line erzeugt.

5.2 Speichermatrix

Fur¨ die Konstruktion einer Speichermatrix existieren derzeit zwei Techniken:

• Crosspoint – XPT

• 1 Transistor, 1 Zelle – 1T1MTJ

5.2.1 XPT – Crosspoint Bei der Crosspoint-Architektur – oder kurz XPT – liegt die Zelle, bestehend aus den drei bereits beschriebenen Schichten, zwischen den Wort- und Bit-Leitungen mit Kontakt zur fixen und variablen ferromagnetischen Schicht. Dieser Aufbau, der keine zus¨atzlichen Leitungen enth¨alt, erm¨oglicht eine erh¨ohte Speicherdichte. Die Abbildung 5.4 zeigt eine schematische Darstellung dieses Aufbaus.

Abbildung 5.4: Aufbau einer XPT-Speichermatrix [26]

Ein Problem dieser Architektur besteht darin, dass in jeder Zelle ein Wider- stand enthalten ist, der den zu speichernden Wert verf¨alschen kann. Um diesem negativen Effekt vorzubeugen, muss der zelleninterne Widerstand erh¨oht werden, was wiederum einen geringeren Signalpegel beim Lesen ergibt. Da keine eigene Einheit zur Ansteuerung einer einzelnen Zelle in der MRAM-Technologie exis- tiert, kann es passieren, dass der Strom von benachbarten Zellen den Pegel beim Lesen verf¨alscht.

Lesen Das Lesen eines Bits in einer XPT-Matrix wird anhand der Abbildung 5.5 erkl¨art. Der Widerstand Runselected/(n − 1) repr¨asentiert den parallelen Widerstand aller n-1 nicht verwendeten Zellen der aktivierten Bitleitung. Dieser ist zum einen an die aktive Bit Line, zum anderen an alle nicht ausgew¨ahlten Word Lines ange- schlossen und wird auf die so genannnte equalization voltage Veq gezogen. Die fur¨ 5 MRAM – Speicher der Zukunft? 55

den Lesevorgang ausgew¨ahlt Zelle wird in der Abbildung als Rselected bezeichnet und enth¨alt eine Verbindung sowohl zur ausgew¨ahlten Bit- als auch Wortleitung, welche auf einen Pegel von Veq − Va gezogen wird, wobei Va den zu speichernden Spannungswert enth¨alt. Der Sense Amplifier besteht in dieser Architektur aus einen Operationsverst¨arker A und einem Ruckkopplungselement¨ F und beinhal- tet die Aufgabe, die gew¨ahlte Bitleitung auf den Spannungspegel Veq zu ziehen, und den Spannungswert auf Vout auszugeben und den Erfolg bzw. Misserfolg dieser Operation sofort zu messen. Dieser Wert wird im Anschluss mit einer Referenz- spannung verglichen um sicherzustellen, dass keine Fehler beim Lesen aufgetreten sind.

Abbildung 5.5: Schreiben eines Bits in einer XPT-Matrix [26]

Durch unbeherrschbare physikalische Vorg¨ange k¨onnen die theoretischen Spannungspegel an den Leitungen und Elemente nicht erreicht werden und es entstehen minimale Offsets, die in der Abbildung durch Voffset dargestellt sind. Um zu gew¨ahrleisten, dass keine unerwunscht¨ hohe Spannung in den nicht ausgew¨ahlten Zellen auftritt, wird auf der Bitleitung dieser Wert (Voffset) von Veq subrahiert.

Wie bereits erw¨aht, verwendet XPT fur¨ das Lesen nur sehr geringe Spannungs- pegel, die durch miniale St¨orungen verf¨alscht werden k¨onnen. Daraus ergibt sich der Nachteil, dass diese Technologie fur¨ Anwendungen, die Schwankungen der Spannungsquelle ausgesetzt werden (z.B. durch andere Elemente eines Chips in Embedded Systems), nicht geeignet ist.

Schreiben Analog zum Lesen erfolgt der Vorgang beim Schreiben, jedoch in der umgekehrten Richtung, deshalb wird nicht n¨aher darauf eingegangen. Das Problem der hohen Widerst¨ande wurde bereits am Beginn dieses Kapitels erkl¨art (5.2.1).

5.2.2 1T1MTJ - 1 Transistor 1 Magnetic Tunnel Junction Bei der Speichermatrix einer 1T1MTJ-Architektur existiert pro Bit eine MRAM- Speicherzelle, die mit einem n-FET-Transistor in Serie geschaltet ist (Abbildung 5.6). Dieser wird RWL (read word line) genannte und dient zum Ausw¨ahlen einer Zelle beim lesenden Zugriff. Darunter l¨auft parallel dazu die WWL (write word line) ohne direkte Verbindung zur Zelle. Diese beiden Leitungen stehen senkrecht 5 MRAM – Speicher der Zukunft? 56 zur Bit Line, die eine Verbindung zur variablen ferromagnetischen Schicht enth¨alt. Der Transistor ist uber¨ den Drain-Anschluss mit der fixen Schicht verbunden, w¨ahrend Source an die Masse geh¨angt wird.

Abbildung 5.6: Querschnitt einer 1T1MTJ-Speichermatrix [26]

Im Vergleich zur XPT-Speichermatrix verfugt¨ 1T1MTJ uber¨ eine geringere Speicherdichte, weil zus¨atzliche dunne¨ Schichten zwischen dem Source-Anschluss des Transistors und der Speicherzelle hinzugefugt¨ wurden. Weiters entsteht zus¨atzlicher Platzbedarf durch die Verwendung eines Transistors pro Zelle. Bei der Produktion einer derartigen Matrix ergibt sich das Problem, dass jede Zelle aufgrund ihres Transistors mit der Silikon-Schicht verbunden werden muss, was eine Multi-Layer-Konstruktion unm¨oglich macht.

Diese Technologie bietet jedoch entscheidende Vorteile im Bereich der elektro- technischen Funktionen bzw. Abl¨aufe. W¨ahrend des Schreibens werden die RWLs auf Low gezogen. Dadurch werden Verluste der Stromst¨arke verringert und der Widerstand der Zelle kann deutlich geringer als bei XPT ausfallen, woraus sich zus¨atzlich noch ein deutlich st¨arkeres Signal beim Lesen ergibt. Der selbe Effekt wird beim Lesen genutzt¨ – es extistieren keine St¨orsignale, weil WWL zu diesem Zeitpunkt ebenfalls auf Low gesetzt wird. Diese Vorteile ergeben eine wesentlich h¨ohere Performance beim Lesen einer 1T1MTJ-Matrix als sie bei XPT erreicht werden kann.

Lesen Der Ablauf eines Lesevorgangs wird im Folgenden anhand eines Beispiels erk¨art, bei dem eine 1T1MTJ-Matrix unter Verwendung der Reference Cell Method (2 Referenzzellen, Kapitel 5.1.1) gegeben ist. Die Abbildung 5.7 zeigt diesen Auf- bau. Da diese MRAM-Technologie die meist verwendete darstellt, wurde sie zur Erkl¨arung herangezogen. Wie in der Abbildung 5.7 zu erkennen ist, existiert eine Verbindung zwischen dem Sense Amplifier (SA) und den drei Bit Leitungen (1 Leitung fur¨ die Daten, 2 Referenzleitungen) uber¨ den Spalten Dekoder (Column Decoder). Zu Beginn des Lesevorgangs wird RWL auf High gezogen, wodurch die Verbindung der Da- tenzellen und der beiden – engegengesetzt programmierten – Referenzzellen mit 5 MRAM – Speicher der Zukunft? 57

Abbildung 5.7: 1T1MTJ-Matrix mit 2 Referenzzellen [26] den entsprechenden Bitleitungen durchgeschaltet wird. Zus¨atzlich enth¨alt dieses Design im oberen Bereich der Abbildung drei weitere Transistoren, deren Gates mit Vclamp verbunden sind. Dadurch sollen die Bitleitungen auf den gewunsch-¨ ten Spannungen gehalten werden. Drain h¨angt an dem so genannten load devi- ce, dessen Aufgabe es ist, den gelesenen Pegel der Zelle auf ein entsprechendes SA-Ausgangssignal (Out) umzuwandeln (Spannung £ Stromst¨arke). Die beiden Referenzleitungen wurden kurzgeschlossen, wodurch sich an beiden Anschluss- punkten der Durchschnitt der Referenzspannungen bildet und somit einen idealen Wert fur¨ die Ermittlung der zwei bin¨aren Werte darstellt.

Schreiben Die Abbildung 5.8 dient zur Erkl¨arung des Vorgangs beim Schreiben eines Werts in einer 1T1MTJ-Speichermatrix. Dabei wird die ausgew¨ahlte Bitleitung durch den Widerstand in der Mittel des Bildes repr¨asentiert und enth¨alt an beiden Enden eine Verbindung zu den master bit lines (MBLs) uber¨ den Spaltendekoder.

Abbildung 5.8: 1T1MTJ-Matrix mit 2 Referenzzellen [26]

Beginnt nun der Vorgang zum Schreiben eines Werts, so aktiviert der Dekoder die entsprechende Leitung und stellt eine Verbindung zur Masse her (rechtes un- tere Ecke der Abbildung). Somit werden die beiden MBLs sowie die Bitleitung 5 MRAM – Speicher der Zukunft? 58 entladen. Anschließend wird die Spannungsquelle (linke obere Ecke der Abbil- dung) aktiviert, wodurch sich ein Stromfluss – in der Abbildung durch die Pfeile gekennzeichnet – ergibt. Um den entgegen gesetzten Wert zu speichern, mussen¨ sowohl die zweite Quelle, als auch die andere Masse aktiviert werden, wodurch sich der Stromfluss in die entgegen gesetzte Richtung ergibt.

5.3 Zusammenfassung

Dieses Kapitel behandelte eine relative neue Technologie – MRAM, die in naher Zukunft viele Speicherelemente von elektronischen Ger¨aten abl¨osen und Warte- zeiten bei diversen Operationen (z.B. Bootvorg¨ange) eliminieren k¨onnte. Deshalb steckt in der Entwicklung von magnetischen RAM noch sehr viel Potential, da sie bereits jetzt die Vorteile von SRAM und DRAM vereinen, aber in manchen Bereichen noch nicht fur¨ den Einsatz geeignet sind. Die wichtigsten Vorteile bzw. charakteristischen Daten sind in folgender Aufz¨ahlung zusammengefasst:

• nicht fluchtig¨

• klein & billig

• kein Refresh n¨otig

• sehr schneller Zugriff

• keine Bootzeit

• Datenspeicherung fur¨ ca. 10 Jahre bzw. 1015 Schreibzyklen m¨oglich

• Stand 2006: 16 Mbit MRAM mit einer Datenrate von 200 MB/s und 34 ns Zykluszeit bei einer Versorgungsspannung von 1.8 Volt [51] 59

6 VRAM – Video Random Access Memory

Wie der Name VRAM – Video Random Access Memory schon erahnen l¨asst, handelt es sich hierbei um einen Grafikspeicher, der sich auf Grafikkarten wie- derfindet und der seine Wurzeln in den 90er-Jahren hat. Konventionelle DRAMs wiesen eine zu geringe Bandbreite auf, um entsprechend schnell Daten fur¨ hohe Aufl¨osungen bzw. Farbtiefen bereit zu stellen. Deshalb wurde eine neue Tech- nologie entwickelt, die diesen hohen Anforderungen gerecht wurde. Der genaue Aufbau wird im Kapitel 6.1 erkl¨art.

6.1 Aufbau und Funktionsweise

Ein VRAM-Speicher besteht aus zwei Teilen: SAM (serial access memory) und DRAM. Der SAM ist meist in Form eines Schieberegisters realisiert und enth¨alt die vom RAMDAC auszulesenden Daten. Es handelt sich – im Gegensatz zu einem DRAM-Speicher – um einen seqeuentiellen Speicher, das heißt, die Daten k¨onnen nur nacheinander ausgewertet werden. Der Vorteil dabei besteht darin, dass keine Adressberechnungen n¨otig sind und somit die Geschwindigkeit gesteigert werden kann.

Unter RAMDAC versteht man Random Access Memory Digital/Analog Converter, der entweder direkt auf der Grafikkarte oder als externer Baustein installiert ist. Er ist fur¨ die Umwandlung von digitalen Daten in analoge Bildsignale, die am Ausgabeger¨at (z.B.: Monitor) dargestellt werden k¨onnen, verantwortlich. Der RAMDAC enth¨alt einen kleinen statischen Speicher, in dem Farbtabellen abgelegt sind und drei Digital/Analog-Wandler (jeweils einen fur¨ die Grundfarben rot, grun¨ und blau), die aus dem digital vorliegenden Farbwert uber¨ die Farbtabellen den entsprechenden analogen Spannungswert fur¨ das Ausgabeger¨at berechnen. Das Leistungsmerkmal dieses Bausteins ist die Pixelfrequenz, die die Anzahl der Pixel, die pro Sekunde umgewandelt werden k¨onnen, beschreibt. Je gr¨oßer dieser Wert ist, desto h¨oher kann die Aufl¨osung bzw. die Bildwiederholfrequenz gew¨ahlt werden.

Den zweiten Teil eines VRAM stellt ein DRAM-Element dar, das entweder in Form eines FRM-RAM mit einer Zykluszeit von 30 bis 40 ns oder in Form eines EDO-RAM (20 bis 30 ns Zykluszeit) realisiert ist (genaue Beschreibung dieser zwei Technologien findet sich im Kapitel 3.3.1 bzw. 3.3.2). Weiters wurde das VRAM als dual-ported RAM realisiert, was bedeutet, dass getrennte Leitungen fur¨ die Ein- und Ausgabe existieren, was ein gleichzeitiges Schreiben und Lesen erm¨oglicht. Dies wird dabei genutzt, dass w¨ahrend neue Daten fur¨ die Anzeige 6 VRAM – Video Random Access Memory 60 berechnet und im DRAM des VRAMs abgelegt werden, die bereits gespeicherten Werte gelesen und an das Ausgabeger¨at weitergeleitet werden k¨onnen, woraus sich die M¨oglichkeit einer hohen Bildwiederholfrequenz ergibt. Prinzipiell kann ein VRAM als Puffer zwischen dem Prozessor und dem Ausgabeger¨at angesehen werden. Zu Beginn werden die, im Hauptspeicher abgelegten Daten, vom Pro- zessor gelesen und anschließend an das VRAM ubergeben.¨ Diese werden danach in die entsprechenden analogen Signalwerte konvertiert und letztendlich an das Ausgabeger¨at weitergegeben.

6.2 Weiterentwicklungen

6.2.1 WRAM – Window RAM Der Name Window RAM steht in diesem Fall – wie f¨alschlicherweise oft angenommen – in keinem Zusammenhang mit dem Betriebssystem Microsoft Windows. Es stellt eine Weiterentwicklung der VRAM-Technologie dar, die erstmals von auf deren Grafikkarten Verwendung fand (z. B. Matrox MGA Millenium mit 2 MB Speicherplatz). Sie besticht mit einer ca. 25 Prozent verringerten Zugriffszeit und um etwa 20 Prozent verringerten Herstellungskosten im Vergleich zum seinem Vorg¨anger VRAM.

Wie sein Vorg¨anger VRAM wurde WRAM ebenfalls als dual-ported- Architektur entworfen, erreicht die bessere Leistung jedoch durch mehrere Ver- besserungen:

• Fur¨ den Speicherzugriff bei normalen Aufgaben (Textdarstellung) und die Verschiebung von Datenbl¨ocken wurden verbesserte Algorithmen entwurfen und implementiert. Diese Verschiebung erfolt mit einer speziellen Einheit – der bit blocktransfer (BitBlt) engine, die fur¨ das Kopieren und die Modi- fikation ganzer Bl¨ocke verantwortlich ist. Ein Beispiel fur¨ einen derartigen Transfer ist das Verschieben einer Karte im Spiel Solitaire von Microsoft.

• Plane Masking: Darunter versteht man die M¨oglichkeit einzelne Bits in einem Datenbl¨ock zu modifizieren, w¨ahrend alle anderen Bits unberuhrt¨ bleiben, was einen erheblichen Geschwindigkeitsvorteil mit sich bringt.

• Grafikkarten, die mit einem WRAM-Speicherchip ausgestattet sind, bieten erstmals die M¨oglichkeit fur¨ den professionellen Multimedia-Einsatz, da sie Video-Ein- und Ausg¨ange enthalten und eine DVD-Unterstutzung¨ bieten.

Durch Einsparungen im Bereich der Herstellungskosten kann sie folglich gunstiger¨ als VRAM erworben werden, bleibt aber auch deutlich teurer als DRAM.

6.2.2 SGRAM – Synchronous Graphics RAM Unter SGRAM versteht man Synchronous Graphics RAM. Diese Technologie ba- siert auf SDRAM (Kapitel 3.3.4), wurde jedoch um einige Funktionen erweitert, um Grafikoperationen durchzufuhren.¨ Hierbei handelt es sich unter anderem um 6 VRAM – Video Random Access Memory 61 das blockweise Lesen und Schreiben bzw. das ¨andern einzelner Bits in einem Datenblock. Im Gegensatz zu den beiden zuvor erkl¨arten Videospeichern, wurde SGRAM als single-ported konzipiert, das bedeutet, dass ein gleichzeitiges Lesen und Schreiben nicht m¨oglich ist, jedoch k¨onnen h¨ohere Taktfrequenzen erreicht werden.

Eine typische Anwendung fur¨ Grafikkarten mit einem SGRAM-Chip waren high-end-Karten, bei denen die Leistung sehr wichtig ist, aber keine h¨ohen Aufl¨osungen erreicht werden mussen¨ (z. B. Matrox Graphics).

DDR-SGRAM – Double Data Rate Synchronous Graphics RAM Wie auch in der Familie der DDR-SDRAM (3.3.6), werden hierbei beide Tak- flanken fur¨ die Abarbeitung der Anweisungen verwendet, was eine theoretische Verdopplung der Geschwindigkeit im Vergleich zu SGRAM bedeutet. Diese Verbesserung wird bei 3D-Anwendungen, die h¨ohere Aufl¨osungen und Farbtiefen verwenden, erforderlich. Weiters erreicht man durch den Transfer von großen Datenbl¨ocken eine Verbesserung, weil weniger oft das Intervall der Initialisie- rungszeit abgewartet werden muss.

Beispiel - Vergleich von SGRAM und DDR-SGRAM Um die theoretisch maximal m¨ogliche Datentransferrate zu errechnen, muss die Taktfrequenz des Speicherbausteins mit der Busbreite multipliziert werden:

Gegeben ist ein SGRAM mit einer Frequenz von 166 MHz und einer Busbreite von 128 Bit, sowie ein DDR-SGRAM mit 150 MHz und der gleichen Busbreite.

166MHz ∗ 128Bit = 20263MBit/s = 2, 47GByte/s (6.1) 150MHz ∗ 2 ∗ 128Bit = 36621MBit/s = 4, 47Gbyte/s (6.2)

Wie man aus den Rechnungen 6.1 und 6.2 erkennt, ist eine theoretische Ver- dopplung der Datenubertragungsrate¨ bei gleichbleibender Frequenz von SG- und DDR-SGRAM m¨oglich

6.2.3 MDRAM – Multibank DRAM Die Technologie MDRAM – Multibank DRAM – verwendet mehrere unabh¨angige Speicherb¨anke, die zu Beginn der Entwicklung jeweils 32 KB Speicherdichte er- reichten, welche uber¨ einen gemeinsamen internen Bus kommunizieren. Dadurch wird Parallelbetrieb mehrerer Speicherzugriffe m¨oglich. Weitere Verbesserungen im Gegensatz zu den bisher vorgestellten Entwicklungen waren:

• Interleaving: Wie schon im Kapitel 3.3.1 besteht die M¨oglichkeit von uber-¨ lappenden Speicherzugriffen zwischen den B¨anken, was einen erheblichen Zeitgewinn mit sich bringt. 6 VRAM – Video Random Access Memory 62

• Flexible Speichergr¨oßen: Bei den zuvor konzipierten Technologien war es nur m¨oglich, Chips der Gr¨oße von ganzen Megabyte zu erstellen (z. B. 1 MB, 2 MB, 4 MB), was zu einer Verschwendung von Speicherplatz fuhrte.¨ Als Beispiel wird eine Aufl¨osung von 1024 x 768 Pixel mit einer Farbtiefe von 24 Bit angenommen, woraus sich ein Speicherbedarf von 2,25 MB berech- net (1024 ∗ 768 ∗ 24 : 8 : 1024 : 1024). Da die n¨achst m¨ogliche Speichergr¨oße bisher 4 MB waren, wurde beinahe die H¨alfte des Speichers nicht ben¨otigt. Durch die Aufteilung in kleine Bl¨ocke k¨onnen beinahe jede Speichergr¨oße erreicht und Verschwendungen vermieden werden. • Durch eine effektive Anordnung und Organisation der Speicherbl¨ocke gibt es zwischen den unterschiedlichen Gr¨oßen keinen Leistungsverlust mehr. Durch die erhebliche Leistung, die mit diesem Speicherchip erreicht wird und den trotzdem kostengunstigen¨ Komponenten, ergab sich der Einsatzbereich haupts¨achlich in high-end-applications.

6.2.4 CDRAM – Cache DRAM Der n¨achste Schritt in der technologischen Weiterentwicklung war CDRAM – Cache DRAM, der ebenfalls aus zwei B¨anken aufgebaut ist (dual-ported) und von Mitsubishi entwickelt wurde. Diese Architektur besteht aus einem statischen (SRAM) und einem dynamischen (DRAM) Speicher. Ahnlich¨ wie beim Cache des Prozessors dient der statische Speicher fur¨ die schnelle Zwischenspeicherung von h¨aufig verwendeten Daten, was eine Leistungssteigerung ergibt. Fur¨ beide Speicher (SRAM und DRAM) stehen separate Adress- und Kontrollleitungen zur Verfugung,¨ was den parallelen Betrieb der beiden Technologien erm¨oglicht. Fur¨ die Synchronisation wird ein externes Signal verwendet. Weiters kann CDRAM einen direkten Zugriff auf den Prozessorspeicher ( – DMA) und die Aktualisierung der Anzeige gleichzeitig durchfuhren.¨ Durch den chipin- ternen Cache kann eine Geschwindigkeitserh¨ohung von bis zu 50 Prozent erreicht werden.

6.2.5 IDRAM – Integrated DRAM Die n¨achste Weiterentwicklung im Bereich der Speicherelemente fur¨ Grafikkar- ten nennt sich IDRAM, was fur¨ Integrated Dynamic Random Access Memory steht. Der Name ergibt sich daraus, dass der Speicher direkt am Die des Grafik- Controllers positioniert wurde. Der daraus resultierende Vorteil besteht darin, dass keine Verbindungen mehr existieren und somit die Leitungsverz¨ogerungen entfallen. Aufgrund der Tatsache, dass beim Einsatz von IDRAM der Stromver- brauch um etwa 60 Prozent reduziert werden konnnte, ergab sich als prim¨arer Verwendungszweck der Einsatz in Notebooks und anderen mobilen Ger¨aten.

6.2.6 3DRAM – 3 Dimenisonal RAM Beim 3DRAM – 3 Dimensional RAM wurde das Prinzip des Integrated DRAM von Mitsubishi umgedreht, was bedeutet, dass der Speicher nicht im Mikropro- zessor, sondern der Mikroprozessor im Speicher installiert wurde. Durch eine, 6 VRAM – Video Random Access Memory 63 im Chip integrierte ALU konnten 3D-Operationen wie Z-Buffering und Alpha- Blending beschleunigt werden, weil diese direkt im Speicher durchgefuhrt¨ wer- den. Weiters konnte eine enorm hohe Bandbreite von 100 GB/s innerhalb des Speichers realisiert werden, was diese Speichertechnologie fur¨ Hochleistungsgra- fikkarten interessant machte. Die erste Anwendung fand 3DRAM in einem sehr leistungsf¨ahigen Grafikrechner von Sun

6.2.7 GDDR-SDRAM – Graphics Double Data Rate SDRAM Unter GDDR-SDRAM (Graphics Double Data Rate Synchronous Dynamic Ran- dom Access Memory) versteht man einen Speicherbaustein fur¨ Grafikkarten, der sich aus DDR-SDRAM (Kapitel 3.3.6) entwickelt hat, wobei fur¨ den Einsatz auf den Karten die Ports des Speichers leicht abge¨andert werden mussten. Der prinzi- pielle Aufbau wurde ubernommen¨ – bei den Latenzzeiten und der Spannung konn- ten minimale Verbesserungen erzielt werden. Eine wesentliche Weiterentwicklung stellte die Taktung der Chips (bis zu 500 MHz) und die h¨ohere Bandbreite des Bus (128 Bit) dar. Wie auch DDR-SDRAM arbeitet diese Technologie mit einem Zweifach-Prefetch, das heißt es werden beide Taktflanken fur¨ Operationen im Speicher verwendet. Im Folgenden werden Lesen und Schreiben im Burst-Modus am Beispiel eines x32 GDDR SDRAM von Samsung erkl¨art.

Lesen Zu Beginn muss noch festgehalten werden, dass Speicherelemente der GDDR- SDRAM-Familie zwei verschiedene Burst-Modi zur Verfugung¨ stellen, die – wie auch die Burst-L¨ange (2, 4, 8 oder eine gesamte Seite) – programmiert werden. Zum einen ist das ein sequentieller Zugriff – zum anderen Interleaving, wie es schon bei diversen anderen Speichertechnologien erkl¨art wurde.

Abbildung 6.1: Burst Read eines GDDR-Speichers von Samsung [13]

Der Zugriff beim Lesen eines GDDR-SDRAMs erfolgt ¨ahnlich wie bei SDRAM (Kapitel 3.3.4). Er wird uber¨ die Signale CS und CAS signalisiert, die beide auf 6 VRAM – Video Random Access Memory 64 low gezogen werden, w¨ahrend RAS und WE auf high gehalten werden. Dies ge- schieht zum Zeitpunkt der steigenden Flanke nach der Ablauf von tRDC (siehe Kapitel 2.3) nach dem Aktivieren der entsprechenden Bank, die fur¨ den Spei- cherzugriff ausgew¨ahlt wurde. Die Adresse besteht aus 8 Bit (A0 bis A7) und signalisiert die Startadresse fur¨ den Burst-Zugriff. Das Mode-Register enth¨alt den Zugriffsmodus (sequentiell oder interleaving) und die Burstl¨ange. Die ers- ten gelesenen Daten stehen nach Ablauf der CAS-Latenz der READ-Anweisung, die nachfolgenden bei steigender und fallender Flanke des Data-Strobe-Signals zur Verfugung¨ bis die Burstl¨ange abgearbeitet wurde. Die Abbildung 6.1 zeigt das Timing-Diagramm im Burst-Mode mit einer L¨ange von vier und einer CAS- Latenz von drei, vier und funf.¨

Schreiben Zum besseren Verst¨andnis des schreibenden Zugriffs wird wieder der zuvor erw¨ahnte Speicher von Samsung verwendet und die Operation anhand der Ab- bildung 6.2 erkl¨art. Beim Schreiben werden die Pegel der Signale CS, CAS und WE auf low und RAS zum Zeitpunkt der steigenden Flanke auf high gezogen. Wie auch schon beim Lesen signalisiert die 8-Bit-Adresse den Start des Adress- bereichs im Burst-Modus. Da keine Latenzzeit fur¨ diesen Speicherzugriff ben¨otigt wird, mussen¨ die ersten Daten bei der ersten steigenden Flanke nach Ablauf der tDQSS-Latenz an den Eingangspins bereit liegen. Die darauffolgenden Daten werden an beiden Flanke ubernommen¨ bis die Anzahl der programmierten Burst- L¨ange abgearbeitet wurden. In unserem Beispiel kann man in Abbildung 6.2 das Timing-Diagramm mit einer Burst-L¨ange von vier erkennen, wobei uber¨ die An- weisung WRITEA bzw. WRITEB jeweils vier Datenbl¨ocke von A bzw. danach von B gespeichert werden.

Abbildung 6.2: Burst Write eines GDDR-Speichers von Samsung [13]

6.2.8 GDDR2-SDRAM GDDR2-SDRAM war der Nachfolger von GDDR mit einer Bus-Anbindung von 256 Bit und kam im Jahr 2002 auf den Markt. Wie auch schon sein Vorg¨anger arbeitete es mit eine Spannung von 2.5 Volt. Die einzige Verbesserung der Per- formance wurde mit einer Erh¨ohung der Taktrate auf 600 MHz erreicht, was aber durch die relativ hohe Spannung zu einer deutlich h¨oheren W¨armeabgabe 6 VRAM – Video Random Access Memory 65 des Chips fuhrte¨ und den Durchbruch am Markt verhinderte. Da es sonst keine wesentlichen Ver¨anderungen zu GDDR gab, zeigt die folgende Auflistung einige wichtige Features eines Speicherbausteins von Samsung (K4N26323AE-GC mit 128 MB), die im Wesentlichen bereits in anderen Kapiteln erkl¨art wurden [14]:

• On-Die-Termination (3.3.7)

• Burstl¨ange: 4

• Burstmodus: sequentiell

• Data-Strobe-Signal fur¨ Datenein- und -ausgang (ab 3.3.6)

6.2.9 GDDR3-SDRAM Da GDDR2-SDRAM nicht den gewunschten¨ Erfolg erzielte, wurde bereits ein Jahr sp¨ater GDDR3 am Markt eingefuhrt.¨ Das Problem der Erw¨armung wurde mit einer herabgesetzten Spannung von nur mehr 1.8 Volt behoben, allerdings ist eine ausreichende Kuhlung¨ unbedingt erforderlich. Wie bei jeder neuen Technologie konnte eine Erh¨ohung der Taktrate – auf bis zu 900 MHz – erreicht werden, was durch eine neue Punkt-zu-Punkt-Verbindung zwischen Speicher- chip und Grafikkarte realisierbar wurde. Durch diese sehr kurze Verbindung zwischen dem Grafik-Controller und dem Speicher k¨onnen h¨ohere Taktraten als zwischen dem Prozessor und den Hauptspeicher-Modulen erreicht werden. Fast zur selben Zeit wurde an der DDR2-SDRAM-Technik (Kapitel 3.3.7) gearbeitet, die aber aufgrund von nicht fertig definierten Standardisierungsrichtlinien erst nach GDDR3 fertig gestellt wurde, weshalb GDDR3 als Weiterentwicklung von DDR-SDRAM gesehen werden kann. Durch die hohen Taktraten des Speichers erh¨ohten sich auch die Latenzzeiten, was in der Praxis – durch eine Vielzahl an Test von diversen PC-Magazinen best¨atigt – kaum eine Verbesserung der Performance im Vergleich zu GDDR1 bedeutet.

Zwei der – im Moment – wohl bekanntesten Anwendungen stellen die Playsta- tion 3 von Sony und Microsoft’s Xbox 360, die Grafikspeicher von 250 bzw. 512 MB mit einer Taktrate von 700 MHz verwenden, dar.

6.2.10 GDDR4-SDRAM Mitte des Jahres 2006 wurde mit der Massenproduktion von GDDR4- Grafikspeichern begonnen. Im Vergleich zu den letzten Weiterentwicklungen fin- den sich in dieser Technologie einige Neuerungen, durch die laut Herstelleranga- ben immense Geschwindigkeitsverbesserungen erzielt werden:

• Dynamic Bus Inversion, DBI: Dabei werden Signale, die technisch unguns-¨ tige Bitmuster enthalten, invertiert. Diese Technik wird auch am Frontside- Bus von Inter-Prozessoren angewendet.

• Double-Pumped Adressing: Erstmals wird bei Speicherbausteinen auch das Prinzip des DDR bei der Adressierung verwendet. Dabei werden Adressen 6 VRAM – Video Random Access Memory 66

an beiden Taktflanken ubertragen¨ und somit die Wartezeit bei Adressie- rungsvorg¨angen reduziert.

• Multi-Preamble

Weiters konnte die Spannung auf 1.5 Volt gesenkt werden, was wiederum Vor- teile im Bereich der Kuhlung¨ mit sich bringt. Die Anbindung erfolgt uber¨ einen 512-Bit breiten Bus und der Prefetch konnte auf 8 (das bedeutet 8 Operationen innerhalb eines Taktzyklus) gesteigert werden. Durch diese enormen Leistungsverbesserungen bilden GDDR4-Chips die per- fekte Grundlage fur¨ High-End-Grafik-Anwendungen, wie beispielsweise Spiele- Konsolen oder PC-Systeme auf Basis einer 64-Bit-Architektur. Auch wenn es den Anschein hat, dass der Bedarf von leistungsf¨ahigen Grafikspei- chern aktuell gedeckt ist, so werden die n¨achsten Entwicklungen nicht mehr lange auf sich warten lassen. Traut man diversen Herstellern, soll bereits in diesem Jahr GDDR5 am Markt erscheinen.

6.3 Zusammenfassung

Da sich die Sammlung von seri¨osen Informationen im Bereich der Video-Speicher recht kompliziert gestaltete, sei hier nur eine kurze Ubersicht¨ der charakteristi- schen Daten gegeben [51]:

• von 66 MHz (VRAM) auf 1.8 GHz (GDDR4-SDRAM) Taktrate

• von 5 V (VRAM) auf 1.5 V (GDDR4-SDRAM) Versorgungsspannung

• von einigen kB auf 1 GB (GDDR3-SDRAM) Speicherdichte

• Datenrate: 92.8 GB/s bei GDDR4-SDRAM 67

7 Zusammenfassung

Die Tabelle 7.1 zeigt eine Zusammenfassung bzw. Gegenuberstellung¨ der Spei- chertechnologien aus den Kapiteln 3 bis 6 mit charakteristischen Werten.

Technologie Kapitel Taktrate Versorgungs- Datenrate (max.) spannung (max.) (min.) DRAM 3 1 GHz 1.5 V 8.5 GB/s SRAM 4 600 MHz 1.8 V 40 GB/s MRAM 5 2 GHz 1.8 V 2 GB/s VRAM 6 1.8 GHz 1.5 V 92.8 GB/s

Tabelle 7.1: Gegenuberstellung¨ aller RAM-Technologien 68

Literaturverzeichnis

[1] Alfred Hammerl, Halit Bag. MRAM (Magenetische Speicher). Technical report, Technische Universit¨at Wien, 2002.

[2] Altera Corporation. SRAM Support in Stratix GX Devices. Technical report, Altera Corporation, 2006.

[3] Amit Dhir, Krishna Rangasayee. Spartan-II Family as a for QDR-SRAMs. Technical report, Xilinx, Inc., Feb. 2000.

[4] Anuj Chakrapani. QDR SRAM and RLDRAM: A comparative analysis. Technical report, Cypress Semiconductors Corporation, Dec. 2006.

[5] Bernhard Haluschak. Kein Gewinn: DDR2-SDRAM im Test. Tecchannel, Jun. 2004.

[6] Carsten Meyer. MRAM-Bausteine am Start. C’t, Apr. 2004.

[7] Christian Klas. Erster 16-MBit-MRAM-Prototyp – auf dem Weg zum besseren PC? Infineon und IBM entwickeln Magnetic-RAM weiter. Golem.de – IT-News fur¨ Profis, Jun. 2004.

[8] Christian Vilsbeck. DRAM-Speichertypen im Uberblick.¨ Tecchannel, Nov. 1999.

[9] Christian Vislbeck. So funktioniert DRAM. Tecchannel, Nov. 1999.

[10] ComputerBase Medien GbR. Computerbase, 2007.

[11] C’t. C’t Deutschland, 2007.

[12] Cypress Semiconductors Corporation. Interfacing the QDR to the XILINX SPARTAN-II FPGA. Technical report, Feb. 2000.

[13] . Device Operation & Timing Diagram – x32 GDDR SDRAM. http://www.samsung.com/Products/Semiconductor/GraphicsMemory/ DDRSDRAM/128Mbit/K4D263238E/x32ddr operation timing rev10.pdf.

[14] Samsung Electronics. Device Operation & Timing Diagram – 128M GDDR2 SDRAM. http://www.samsung.com/Products/Semiconductor/GraphicsMemory/ GDDR2SDRAM/128Mbit/K4N26323AE/ds k4n26323ae rev17.pdf, 1.7 edition, 2003. Literaturverzeichnis 69

[15] Samsung Electronics. Device Operation & Timing Diagrmm – 256M GDDR3 SDRAM. http://www.samsung.com/Products/Semiconductor/GraphicsMemory/ GDDR3SDRAM/256Mbit/K4J55323QG/ds k4j55323qg rev13.pdf, 1.3 edition, 2006.

[16] Elpida Memory Inc. ELPIDA Preliminary Data Sheet – 256M bit DDR SDRAM. http://www.elpida.com/pdfs/E0859E40.pdf, 2.0 edition, 2003.

[17] Golem. Golem.de – IT-News fur¨ Profis, 2007.

[18] GSI Technology. High Speed Memory Technology for Cache Applications. Technical report, GSI Technology, Dec. 2002.

[19] Hans-Peter Messmer. PC-Hardwarebuch. Addison-Wesley, 6. auflage edition, 2000.

[20] Hardware Luxx. Hardware Luxx – Your Guide to Luxurious Hardware, 2007.

[21] Hardwaremag. Hardware-Mag – Das Online Hardware-Magazin, 2007.

[22] Hartware. hartware.net, 2007.

[23] Hermann Strass. Zukunftige¨ Speichertechnologien. Tecchannel, Aug. 2003.

[24] Holger Glemser. Moderne Prozessorarchitekturen – Entwurfsprinzipien und Bewertung – Caches. Universit¨at Stuttgart, May 2004.

[25] Hynix Electronics. 512Mb (32Mx16) DDR2 SDRAM – HY5PS121621F. http://www.hynix.com/datasheet/pdf/dram/ HY5PS121621F(Rev0.1).pdf, 0.1 edition, 2004.

[26] IBM. Design considerations for MRAM. IBM – Journal of Research and Development, Jan. 2006.

[27] IBM. IBM Deutschland, 2007.

[28] Infineon Technologies AG. Infineon DDR3 – Leading in Technology and Performance. Technical report, Infineon Technologies AG, Mar. 2005.

[29] Infineon Technologies AG. Memory Products – HYB39S512160AT Data Sheet. http://www.infineon.com/upload/Document/Memory %20Products/DS/DDR/components/HYB39S512xx0ATx rev140.pdf, 1.4 edition, 2006.

[30] Infineon Technologies AG. Memory Spectrum. Technical report, Infineon Technologies AG, May 2006.

[31] Infineon Technologies AG. Technical Information about DDR2. Technical report, Infineon Technologies AG, 2006. Literaturverzeichnis 70

[32] Ingvar Carlson. Design and Evaluation of High Density 5T SRAM Cache for Advanced Microprocessors. Technical report, Universit¨at Link¨oping, Mar. 2004.

[33] Intel. Intel Deutschland, 2007.

[34] itseccity de. IBM und Infineon: Bislang fortschrittlichste MRAM-Technologie entwickelt. IT-SecCity., Jun. 2003.

[35] Jim Griffin, Brian Matas, Christian de Suberbasaux. MEMORY 1996 – Complete Coverage of DRAM, SRAM, EPROM, and ICs. Technical report, Integrated Circuit Engineering Corporation, 1996.

[36] Jurgen¨ Rink. MRAM-Rekord: Speicherzelle schaltet mit 2 GHz. C’t, Jul. 2005.

[37] Kingston. Kingston Technology Deutschland, 2007.

[38] Lakshmi Gopalakrishnan. QDR II SRAM Interface for Virtex-5 Devices. Technical report, Xilinx, Inc., May 2006.

[39] Maxim Integrated Products. Application Note 62 – Dual Port RAM. Technical report, Maxim Integrated Products, Mar. 2001.

[40] Michael Pearson. QRD-III: Next Generation SRAM for Networking. Technical report, Samsung Electronics, Oct. 2004.

[41] MoSys, Inc. 1T-SRAM – The System-on-Chip Embedded Memory. Technical report, MoSys, Inc., 2000.

[42] NVIDIA Corporation. NVIDIA macht als erster Anbieter Grafikkarten fit fur¨ GDDR-3-Grafikspeicher. PR Newswire Europe Limited, Mar. 2004.

[43] Peter Fischer. Digitale Schaltungstechnik 2005 – Speicherelemente. Technical report, Universit¨at Mannheim, 2005.

[44] Peter N. Glaskowsky. MoSys Explains 1T-SRAM Technology – Unique Architecture Hides Refresh, Makes DRAM Work Like SRAM. Mircoprocessor Report, Sep. 1999.

[45] Product Planning & Application Eng.Team. Key Difference Between GDDR2 and GDDR3. Technical report, Samsung Electronics, Oct. 2003.

[46] Ron Wilson. 1T SRAM for the masses. EETimes – The industry newspaper for engineers and technical management, Jun. 2005.

[47] Scott Mueller. PC-Hardware Superbibel. Markt & Technik, 12 edition, 2001.

[48] Stefanos Kaxiras, Polychronis Xekalakis. 4T-Decay Sensors: A new class of small, fast, robust and low-power, temperature/leakage sensors. Technical report, University of Patras, Aug. 2004. Literaturverzeichnis 71

[49] EE Times. EETimes – The industry newspaper for engineers and technical management, 2007.

[50] webflashers.at. MRAM-Speichertechnologie. mram-memory.eu, 2006.

[51] Wikipedia.org. Wikipedia, 2007.