Static random-access memory
Static random-access memory (deutsch: statisches RAM, Abkürzung: SRAM) bezeichnet einen elektronischen Speicherbaustein. Zusammen mit dem dynamischen RAM (DRAM) bildet es die Gruppe der flüchtigen (volatil; engl. volatile) Speicher, das heißt, die gespeicherte Information geht bei Abschaltung der Betriebsspannung verloren. Im Gegensatz zu DRAM benötigt der SRAM kein periodisches (dynamisches) Auffrischen (engl. refresh) zur Vermeidung von Datenverlust in jeder Datenzelle, sondern behält seine Dateninformation, solange die Betriebsspannung anliegt.
Eigenschaften und Aufbau
Die Informationen werden durch Zustandsänderung von einer bistabilen Kippstufe in Form eines Flipflops pro Bit gespeichert. Das erlaubt es zwar, die Speicherzelle schnell auszulesen, aber im Vergleich zu dynamischen Speicherzellen ist die Speicherzelle verhältnismäßig groß und daher die Speicherkapazität des gesamten Chips entsprechend kleiner. Im statischen Betrieb (Halten der Information) ist der Leistungsbedarf einer Zelle sehr klein.
SRAMs werden heutzutage meist als 6-Transistor-Zelle (6T-SRAM-Zelle) in CMOS-Technik hergestellt. Der Aufbau einer Kippstufe mit Widerständen als Lastelementen (sogenannte 4T-SRAM-Zelle) wird nicht mehr eingesetzt; statt der Lastwiderstände werden heute p-Kanal-MOS-Transistoren verwendet. Mit weiteren zwei Transistoren zur Ankopplung an die Spalten- bzw. Zeilen-Auswahlleitungen ergibt sich die besagte 6-Transistor-Zelle wie im Bild anbei. Wegen dieses komplizierteren Aufbaus verbraucht eine SRAM-Zelle im Vergleich zu einer DRAM-Zelle deutlich mehr Chipfläche (über 140 F²).[1][2] Prinzipiell wird also jedes Bit in der SRAM-Zelle in vier Transistoren gespeichert, die zwei gegeneinander verschaltete Inverter bilden. Diese Speicherzelle hat zwei stabile Zustände, die 0 und 1 darstellen. Die beiden zusätzlichen Zugriffstransistoren werden benutzt, um den Zugriff auf die Speicherzelle während Lese- und Schreibzugriff zu steuern.
Neben dem 4T- und 6T-SRAM-Design gibt es noch zahlreiche alternative Varianten, die mithilfe weiterer Transistoren zusätzliche Funktionen (z. B. separater Leseport) oder besondere Eigenschaften (z. B. geringere Leckströme, geringere Leistungsaufnahme beim Schreiben, höhere Stabilität[3]) realisieren sollen. Die hierfür genutzten Bezeichnungen 5T-, 7T-, 8T-, 9T-, 10T- oder 12T-SRAM-Zelle sind jedoch nicht auf ein spezielles Design beschränkt, vgl.[4]
Funktionsweise
Eine SRAM-Zelle besitzt drei unterschiedliche Zustände. Diese sind: Standby (warten auf Zugriff), Lesezugriff (Speicherzustand wurde angefordert) und Schreibzugriff (Speicherzustand wird überschrieben). Diese Zustände funktionieren wie folgt:
Standby
Wenn die Wordline nicht geschaltet ist, trennen die Zugriffstransistoren die Speicherzelle von den Bitlines. Die beiden gegenverschalteten Inverter (Transistoren M1-M4) verstärken ihren aktuellen Zustand jeweils gegenseitig (solange die Betriebsspannung anliegt).
Lesezugriff
Wir nehmen an, dass der Speicherzustand bei Q auf logisch 1 gesetzt ist. Der Lesezugriff startet dann mit dem Aufladen der beiden Bitlines auf die Hälfte der Betriebsspannung, gefolgt von dem Schalten der Wordline, um beide Zugriffstransistoren durchzuschalten. Als zweiten Schritt werden dann die jeweiligen Werte von Q und Q auf die Bitlines übertragen, d. h. BL bleibt aufgeladen und BL wird über M1 und M5 zu einer logischen 0 entladen (M1 ist aktiviert, weil Q auf eine logische 1 gesetzt ist). BL wird durch M4 und M6 über die Versorgungsspannung auf der logischen 1 geladen. Wenn der Speicherzustand vorher 0 gewesen wäre, wäre das Verhalten entsprechend entgegengesetzt. Der Unterschied zwischen BL und BL kann dann durch einen Leseverstärker ausgelesen werden.
Schreibzugriff
Der Schreibzugriff beginnt damit, dass der zu schreibende Wert auf die Bitlines gelegt wird. Wenn wir also eine 0 schreiben wollen, wird BL auf 0 und BL auf 1 gesetzt. Beim Schreiben einer 1 werden die beiden Werte vertauscht. In der Folge wird dann die Wordline geschaltet, so dass der Wert in die Speicherzelle geschrieben wird. Dies funktioniert, weil die relativ schwachen Transistoren, die die Inverter bilden, durch die relativ starken Bitlines überschrieben werden können. Eine entsprechende Größenauslegung der Transistoren ist bei der Herstellung notwendig, damit das Überschreiben einwandfrei funktioniert.
Schnittstellen
SRAMs werden mit unterschiedlichen Schnittstellen angeboten. Als diskretes Bauelement, primär für den direkten Anschluss an Mikrocontrollern, kommen parallele asynchrone Busschnittstellen zur Anwendung. Merkmal ist, dass der Zugriff auf den Speicher ohne Taktsignal erfolgt. Die Zugriffszeit pro Speicherzelle richtet sich nach der Laufzeit und liegt im Bereich von 5 ns bis zu knapp 100 ns. Darüber hinaus gibt es synchrone SRAMs, bei welchen der Zugriff synchron zu einem Taktsignal erfolgt. Im Regelfall ist der Durchsatz von synchronen SRAMs höher als bei asynchronen SRAMs, da bei synchronen Schnittstellen die Möglichkeit besteht, mittels einer Pipeline die Adressen zu den Daten definiert zeitlich zu versetzen. Dies bringt vor allem bei sequenziellen Speicherzugriffen Geschwindigkeitsvorteile. Ein Beispiel von synchronen SRAMs sind die sogenannten „ZBT-SRAMs“ (engl. zero-bus-turnaround SRAM), welche bei schnellen Grafikspeichern Anwendung finden.[5] Für den Einsatz in Kombination mit DDR- und „Quad“-Speicher gibt es auch SRAMs, die entsprechend mehr Daten auf beiden Flanken des Taktsignals übertragen; hierbei werden Größen bis 144 Mibit (in der Organisation 8 Mi×18) bei einer Taktfrequenz von 1066 MHz erreicht.
Anwendungen
SRAMs finden als schneller Speicher mit vergleichsweise kleiner Datenkapazität überall dort Anwendung, wo der Dateninhalt schnell im Zugriff sein muss, wie beispielsweise in Prozessoren als Cache und auf digitalen oder Mixed-Signal-ICs wie FPGAs als lokaler Speicher auf dem Chip.
Etwa in den 1980er Jahren benötigten die Mikroprozessoren SRAMs als externen Arbeitsspeicher, da sie keinen integrierten Arbeitsspeicher hatten. Die typischen Bausteine waren 5101 (noch zu vier Bit organisiert, Nibble genannt), 6116 und 6264.
Weiterhin wird SRAM in Geräten eingesetzt, bei denen der Dateninhalt ohne dauerhafte Stromversorgung bis zu einigen Jahren gesichert werden soll. Da der Stromverbrauch im statischen Zustand (keine Speicherzugriffe) im Bereich einiger nA liegt, genügt eine kleine Pufferbatterie (u. U. auch ein Kondensator), um die nötige Versorgungsspannung bereitzustellen, beispielsweise beim CMOS-RAM zur Speicherung von BIOS-Einstellungen in handelsüblichen PCs. In diesem Anwendungsbereich stellt das SRAM in Kombination mit einer meist in Form einer Lithiumbatterie ausgeführten Pufferbatterie eine spezielle Form von NVRAM (engl. non-volatile random-access memory, nicht-flüchtiger RAM) dar. Die Batterie kann in das Chipgehäuse des Speicherbausteins integriert sein.[6]
Literatur
- Ulrich Tietze, Christoph Schenk: Halbleiter-Schaltungstechnik. 12. Auflage. Springer, Berlin 2002, ISBN 3-540-42849-6, Statische RAMs, S. 713 ff.
- Jörg Schulze: Konzepte siliziumbasierter MOS-Bauelemente. Springer, Berlin 2005, ISBN 3-540-23437-3, S. 66–67, 297–314.
Einzelnachweise
- The International Technology Roadmap for Semiconductors 2007 - Emerging Research Devices (Memento vom 26. März 2010 im Internet Archive), Seite 7 (engl., PDF; 1,1 MB)
- The International Technology Roadmap for Semiconductors 2007 - System Drivers (Memento vom 6. März 2009 im Internet Archive) (engl., PDF; 603 kB)
- L. Chang u. a.: Stable SRAM cell design for the 32 nm node and beyond. In: 2005 Symposium on VLSI Technology, 2005. Digest of Technical Papers. 2005, S. 128–129, doi:10.1109/.2005.1469239 (PDF).
- Forrest Brewer: Array Structured Memories. (PDF; 2,3 MB) In: VLSI Project Design, ECE 224A - Spring 2011. Abgerufen am 1. April 2013 (Vortragsfolien).
- 71T75602 - 2.5V 512K X 36 ZBT Synchronous 2.5V I/O PipeLine SRAM. Renesas, abgerufen am 9. Januar 2022 (englisch, Datenblatt eines synchronen ZBT-SRAMs mit 512 Ki × 36).
- Datenblatt (Memento vom 1. Januar 2010 im Internet Archive) (PDF; 178 kB) eines NV-SRAM. (DS2030 mit 32 Ki × 8 mit integrierter Pufferbatterie) (englisch)