Statischer Direktzugriffsspeicher - Static random-access memory

Ein statischer RAM-Chip aus einem Nintendo Entertainment System- Klon (2K × 8 Bit)

Statischer Direktzugriffsspeicher ( statischer RAM oder SRAM ) ist eine Art von Direktzugriffsspeicher (RAM), der eine Verriegelungsschaltung (Flip-Flop) verwendet , um jedes Bit zu speichern. SRAM ist flüchtiger Speicher ; Daten gehen verloren, wenn die Stromversorgung unterbrochen wird.

Der Begriff statisch unterscheidet SRAM von DRAM ( dynamischer Speicher mit wahlfreiem Zugriff), der periodisch aufgefrischt werden muss . SRAM ist schneller und teurer als DRAM; es wird typischerweise für den Cache und die internen Register einer CPU verwendet, während DRAM für den Hauptspeicher eines Computers verwendet wird .

Geschichte

Der bipolare Halbleiter-SRAM wurde 1963 von Robert Norman bei Fairchild Semiconductor erfunden. MOS SRAM wurde 1964 von John Schmidt bei Fairchild Semiconductor erfunden. Es war ein 64-Bit-MOS-p-Kanal-SRAM.

1965 schufen Arnold Farber und Eugene Schlig, die für IBM arbeiteten, eine festverdrahtete Speicherzelle mit einem Transistor- Gate und einem Tunneldioden- Latch . Sie ersetzten den Latch durch zwei Transistoren und zwei Widerstände , eine Konfiguration, die als Farber-Schlig-Zelle bekannt wurde. 1965 schufen Benjamin Agusta und sein Team bei IBM einen 16-Bit-Silizium-Speicherchip auf Basis der Farber-Schlig-Zelle mit 80 Transistoren, 64 Widerständen und 4 Dioden.

Anwendungen und Verwendungen

SRAM-Zellen auf dem Chip eines STM32F103VGT6- Mikrocontrollers aus der Sicht eines Rasterelektronenmikroskops . Hergestellt von STMicroelectronics in einem 180- Nanometer- Prozess.
Vergleichsbild von 180- Nanometer- SRAM-Zellen auf einem STM32F103VGT6- Mikrocontroller aus Sicht eines Lichtmikroskops

Eigenschaften

Obwohl es als flüchtiger Speicher charakterisiert werden kann, weist SRAM eine Datenremanenz auf .

SRAM bietet ein einfaches Datenzugriffsmodell und erfordert keine Auffrischschaltung. Leistung und Zuverlässigkeit sind gut und der Stromverbrauch im Leerlauf niedrig.

Da SRAM mehr Transistoren zur Implementierung benötigt, ist es weniger dicht und teurer als DRAM und hat auch einen höheren Stromverbrauch beim Lese- oder Schreibzugriff. Der Stromverbrauch des SRAM variiert stark in Abhängigkeit von der Häufigkeit wird abgerufen.

Eingebettete Verwendung

Viele Kategorien industrieller und wissenschaftlicher Subsysteme, Automobilelektronik und ähnlicher eingebetteter Systeme enthalten statischen RAM, der in diesem Zusammenhang als ESRAM bezeichnet werden kann . Eine gewisse Menge (Kilobyte oder weniger) ist auch in praktisch alle modernen Geräte, Spielzeuge usw. eingebettet, die eine elektronische Benutzeroberfläche implementieren.

SRAM in seiner Dual-Port- Form wird manchmal für digitale Echtzeit- Signalverarbeitungsschaltungen verwendet.

In Computern

SRAM wird auch in PCs, Workstations, Routern und Peripheriegeräten verwendet: CPU- Registerdateien , interne CPU-Caches und externe SRAM-Caches im Burst-Modus , Festplattenpuffer , Router- Puffer usw. LCD-Bildschirme und Drucker verwenden normalerweise auch statisches RAM, um die angezeigtes (oder auszudruckendes) Bild. Statischer RAM wurde für den Hauptspeicher der meisten frühen Personalcomputer wie dem ZX80 , dem TRS-80 Model 100 und dem Commodore VIC-20 verwendet .

Bastler

Bastler, insbesondere Enthusiasten von selbstgebauten Prozessoren, bevorzugen aufgrund der einfachen Schnittstellen häufig SRAM. Es ist viel einfacher zu arbeiten als DRAM, da es keine Auffrischzyklen gibt und die Adress- und Datenbusse oft direkt zugänglich sind. Neben Bussen und Stromanschlüssen benötigt SRAM normalerweise nur drei Steuerelemente: Chip Enable (CE), Write Enable (WE) und Output Enable (OE). Im synchronen SRAM ist auch Clock (CLK) enthalten.

Arten von SRAM

Nichtflüchtiger SRAM

Der nichtflüchtige SRAM (nvSRAM) verfügt über die Standard-SRAM-Funktionalität, speichert jedoch die Daten, wenn die Stromversorgung ausfällt, und gewährleistet so den Erhalt kritischer Informationen. nvSRAMs werden in einer Vielzahl von Situationen eingesetzt – unter anderem in Netzwerken, in der Luft- und Raumfahrt und in der Medizin –, in denen die Datenerhaltung kritisch ist und Batterien unpraktisch sind.

Pseudo-SRAM

Pseudostatisches RAM (PSRAM) hat einen DRAM-Speicherkern, kombiniert mit einer Selbstauffrischungsschaltung. Sie erscheinen nach außen als langsameres SRAM. Sie haben einen Dichte-/Kostenvorteil gegenüber echtem SRAM, ohne die Zugriffskomplexität von DRAM. Der HyperRAM von Cypress Semiconductor ist ein PSRAM-Typ, der eine JEDEC-konforme 8-polige HyperBusor Octal xSPI-Schnittstelle unterstützt. Diese Low-Power-Bausteine ​​haben eine hohe Leistung und eine niedrige Pin-Anzahl, was sie ideal für Anwendungen macht, die externen RAM als Pufferspeicher benötigen.

Nach Transistortyp

Nach Flip-Flop-Typ

Nach Funktion

  • Asynchron  – unabhängig von der Taktfrequenz; Dateneingang und Datenausgang werden durch Adressübergang gesteuert. Beispiele sind die allgegenwärtigen 28-Pin 8K × 8- und 32K × 8-Chips (oft, aber nicht immer in der Art von 6264 bzw. 62C256 genannt) sowie ähnliche Produkte mit bis zu 16 Mbit pro Chip.
  • Synchron  – alle Timings werden durch die Taktflanken initiiert. Adress-, Dateneingangs- und andere Steuersignale sind den Taktsignalen zugeordnet.

In den 1990er Jahren wurde asynchroner SRAM für schnelle Zugriffszeiten verwendet. Asynchroner SRAM wurde als Hauptspeicher für kleine Cache-lose Embedded-Prozessoren verwendet, die unter anderem in Industrieelektronik und Messsystemen bis hin zu Festplatten und Netzwerkgeräten zum Einsatz kommen. Heutzutage wird synchroner SRAM (zB DDR SRAM) eher ähnlich wie synchroner DRAM verwendet – DDR SDRAM Speicher wird eher verwendet als asynchroner DRAM. Die synchrone Speicherschnittstelle ist viel schneller, da die Zugriffszeit durch die Verwendung einer Pipeline- Architektur erheblich reduziert werden kann . Da DRAM außerdem viel billiger als SRAM ist, wird SRAM häufig durch DRAM ersetzt, insbesondere wenn große Datenmengen benötigt werden. Der SRAM-Speicher ist jedoch für wahlfreien Zugriff (nicht Block/Burst) viel schneller. Daher wird SRAM-Speicher hauptsächlich für CPU-Cache , kleinen On-Chip-Speicher, FIFOs oder andere kleine Puffer verwendet.

Nach Funktion

  • Zero Bus Turnaround (ZBT) – Der Turnaround ist die Anzahl der Taktzyklen, die benötigt werden, um den Zugriff auf den SRAM von Schreiben auf Lesen und umgekehrt zu ändern . Der Turnaround für ZBT SRAMs bzw. die Latenz zwischen Lese- und Schreibzyklus ist null.
  • syncBurst (syncBurst SRAM oder synchron-burst SRAM) – bietet synchronen Burst-Schreibzugriff auf den SRAM, um den Schreibvorgang in den SRAM zu erhöhen
  • DDR SRAM  – Synchron, Single Read/Write Port, I/O mit doppelter Datenrate
  • Quad Data Rate SRAM  – Synchrone, separate Lese- und Schreibports, E/A mit vierfacher Datenrate

Auf Chip integriert

SRAM kann als RAM oder Cache-Speicher in Mikrocontroller (normalerweise von etwa 32 Byte bis zu 128  Kilobyte ), als primärer Cache in leistungsstarken Mikroprozessoren wie der x86- Familie und vielen anderen (von 8  KB bis zu vielen) integriert werden Megabyte), um die Register und Teile der Zustandsmaschinen zu speichern, die in einigen Mikroprozessoren (siehe Registerdatei ), auf anwendungsspezifischen ICs oder ASICs (normalerweise in der Größenordnung von Kilobytes) und in Field Programmable Gate Array und Complex Programmable Logic verwendet werden Gerät

Entwurf

Eine CMOS-SRAM-Zelle mit sechs Transistoren

Eine typische SRAM-Zelle besteht aus sechs MOSFETs . Jedes Bit in einem SRAM wird auf vier Transistoren (M1, M2, M3, M4) gespeichert , die zwei kreuzgekoppelte Inverter bilden. Diese Speicherzelle hat zwei stabile Zustände, die verwendet werden, um 0 und 1 zu bezeichnen . Zwei zusätzliche Zugriffstransistoren dienen der Steuerung des Zugriffs auf eine Speicherzelle bei Lese- und Schreibvorgängen. Zusätzlich zu einem solchen SRAM mit sechs Transistoren (6T) verwenden andere Arten von SRAM-Chips 4, 8, 10 (4T, 8T, 10T SRAM) oder mehr Transistoren pro Bit. Vier-Transistor-SRAM ist in eigenständigen SRAM-Bauelementen (im Gegensatz zu SRAMs, die für CPU-Caches verwendet werden) weit verbreitet und werden in speziellen Prozessen mit einer zusätzlichen Polysiliziumschicht implementiert , die sehr hochohmige Pullup-Widerstände ermöglicht. Der Hauptnachteil der Verwendung von 4T SRAM ist die erhöhte statische Leistung aufgrund des konstanten Stromflusses durch einen der Pull-Down-Transistoren.

Ein SRAM mit vier Transistoren bietet Vorteile hinsichtlich der Dichte auf Kosten der Herstellungskomplexität. Die Widerstände müssen kleine Abmessungen und große Werte haben.

Dies wird manchmal verwendet, um mehr als einen (Lese- und/oder Schreib-) Port zu implementieren, was bei bestimmten Typen von Videospeichern und Registerdateien, die mit SRAM-Schaltungen mit mehreren Ports implementiert sind, nützlich sein kann .

Im Allgemeinen gilt: Je weniger Transistoren pro Zelle benötigt werden, desto kleiner kann jede Zelle sein. Da die Kosten für die Verarbeitung eines Siliziumwafers relativ fest sind, werden durch die Verwendung kleinerer Zellen und damit das Packen von mehr Bits auf einen Wafer die Kosten pro Speicherbit reduziert.

Speicherzellen, die weniger als vier Transistoren verwenden, sind möglich – aber solche 3T- oder 1T-Zellen sind DRAM, nicht SRAM (auch nicht das sogenannte 1T-SRAM ).

Der Zugriff auf die Zelle wird durch die Wortleitung (WL in der Figur) aktiviert , die die beiden steuert den Zugriff - Transistoren M 5 und M 6 , die, wiederum, die Steuerung , ob die Zelle mit den Bitleitungen verbunden werden sollte: BL und BL. Sie werden verwendet, um Daten sowohl für Lese- als auch für Schreibvorgänge zu übertragen. Obwohl es nicht unbedingt notwendig ist, zwei Bitleitungen zu haben, werden typischerweise sowohl das Signal als auch seine Umkehrung bereitgestellt, um die Rauschgrenzen zu verbessern .

Bei Lesezugriffen werden die Bitleitungen von den Invertern in der SRAM-Zelle aktiv high und low angesteuert. Dies verbessert die SRAM-Bandbreite im Vergleich zu DRAMs – in einem DRAM ist die Bitleitung mit Speicherkondensatoren verbunden und die Ladungsteilung bewirkt , dass die Bitleitung nach oben oder unten schwingt. Die symmetrische Struktur von SRAMs ermöglicht auch eine differentielle Signalisierung , wodurch kleine Spannungsschwankungen leichter erkennbar werden. Ein weiterer Unterschied zu DRAM, der dazu beiträgt, SRAM schneller zu machen, besteht darin, dass kommerzielle Chips alle Adressbits gleichzeitig akzeptieren. Im Vergleich dazu haben handelsübliche DRAMs die Adresse in zwei Hälften gemultiplext, dh höhere Bits, gefolgt von niedrigeren Bits, über die gleichen Gehäusepins, um ihre Größe und Kosten niedrig zu halten.

Die Größe eines SRAM mit m Adressleitungen und n Datenleitungen beträgt 2 m Wörter oder 2 m  × n Bits. Die gebräuchlichste Wortgröße beträgt 8 Bit, was bedeutet, dass ein einzelnes Byte in jedes von 2 m verschiedenen Wörtern innerhalb des SRAM-Chips gelesen oder geschrieben werden kann . Mehrere übliche SRAM-Chips haben 11 Adressleitungen (also eine Kapazität von 2 11  = 2.048 = 2 k Wörter) und ein 8-Bit-Wort, daher werden sie als "2k × 8 SRAM" bezeichnet.

Die Abmessungen einer SRAM-Zelle auf einem IC werden durch die minimale Strukturgröße des Prozesses bestimmt, der verwendet wird, um den IC herzustellen.

SRAM-Betrieb

Eine SRAM-Zelle hat drei verschiedene Zustände: Standby (die Schaltung ist im Leerlauf), Lesen (die Daten wurden angefordert) oder Schreiben (Aktualisieren des Inhalts). SRAM, das im Lesemodus und im Schreibmodus arbeitet, sollte "Lesbarkeit" bzw. "Schreibstabilität" aufweisen. Die drei verschiedenen Zustände funktionieren wie folgt:

Stehen zu

Wenn die Wortleitung nicht aktiviert ist, trennen die Zugriffstransistoren M 5 und M 6 die Zelle von den Bitleitungen. Die beiden kreuzgekoppelten Wechselrichter M 1  – M 4 verstärken sich gegenseitig, solange sie am Netz sind.

Lektüre

Theoretisch erfordert das Lesen nur das Aktivieren der Wortleitung WL und das Lesen des SRAM-Zellenzustands durch einen einzelnen Zugriffstransistor und eine Bitleitung, zB M 6 , BL. Bitleitungen sind jedoch relativ lang und haben eine große parasitäre Kapazität . Um das Lesen zu beschleunigen, wird in der Praxis ein komplexeres Verfahren verwendet: Der Lesezyklus wird gestartet, indem beide Bitleitungen BL und BL auf hohe (logische 1 ) Spannung vorgeladen werden. Dann aktiviert das Anlegen der Wortleitung WL beide Zugriffstransistoren M 5 und M 6 , was bewirkt, dass die Spannung einer Bitleitung BL leicht abfällt. Dann haben die BL- und BL- Leitungen einen kleinen Spannungsunterschied zwischen ihnen. Ein Leseverstärker erkennt, welche Leitung die höhere Spannung hat und stellt somit fest, ob 1 oder 0 gespeichert wurde. Je höher die Empfindlichkeit des Leseverstärkers, desto schneller die Leseoperation. Da der NMOS leistungsstärker ist, ist das Herunterziehen einfacher. Daher werden Bitleitungen traditionell auf Hochspannung vorgeladen. Viele Forscher versuchen auch, mit einer etwas niedrigeren Spannung vorzuladen, um den Stromverbrauch zu reduzieren.

Schreiben

Der Schreibzyklus beginnt mit dem Anlegen des zu schreibenden Wertes an die Bitleitungen. Wenn wir eine 0 schreiben möchten, legen wir eine 0 an die Bitleitungen an, dh setzen BL auf 1 und BL auf 0 . Dies ist vergleichbar mit dem Anlegen eines Rücksetzimpulses an einen SR-Latch , der bewirkt, dass das Flip-Flop seinen Zustand ändert. Eine 1 wird geschrieben, indem die Werte der Bitleitungen invertiert werden. WL wird dann aktiviert und der zu speichernde Wert wird zwischengespeichert. Dies funktioniert, weil die Bitleitungs-Eingangstreiber viel stärker ausgelegt sind als die relativ schwachen Transistoren in der Zelle selbst, sodass sie den vorherigen Zustand des leicht überschreiben können kreuzgekoppelte Wechselrichter. In der Praxis müssen die Zugriffs-NMOS-Transistoren M 5 und M 6 stärker sein als entweder die unteren NMOS (M 1 , M 3 ) oder die oberen PMOS (M 2 , M 4 ) Transistoren. Dies ist leicht zu erreichen, da PMOS-Transistoren bei gleicher Größe viel schwächer als NMOS sind. Folglich wird, wenn ein Transistorpaar (zB M 3 und M 4 ) nur geringfügig durch den Schreibprozess überschrieben wird, die Gatespannung des gegenüberliegenden Transistorpaars (M 1 und M 2 ) ebenfalls geändert. Dies bedeutet, dass die Transistoren M 1 und M 2 leichter überschrieben werden können und so weiter. Somit verstärken kreuzgekoppelte Inverter den Schreibprozess.

Busverhalten

RAM mit einer Zugriffszeit von 70 ns gibt gültige Daten innerhalb von 70 ns ab dem Zeitpunkt aus, an dem die Adressleitungen gültig sind. Einige SRAMs haben einen "Seitenmodus", bei dem Wörter einer Seite (256, 512 oder 1024 Wörter) mit einer erheblich kürzeren Zugriffszeit (typischerweise ungefähr 30 ns) sequentiell gelesen werden können. Die Seite wird ausgewählt, indem die oberen Adressleitungen gesetzt werden, und dann werden Wörter sequentiell gelesen, indem die unteren Adressleitungen schrittweise durchlaufen werden.

Siehe auch

Verweise