DE102014106909A1 - Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung - Google Patents

Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung Download PDF

Info

Publication number
DE102014106909A1
DE102014106909A1 DE102014106909.9A DE102014106909A DE102014106909A1 DE 102014106909 A1 DE102014106909 A1 DE 102014106909A1 DE 102014106909 A DE102014106909 A DE 102014106909A DE 102014106909 A1 DE102014106909 A1 DE 102014106909A1
Authority
DE
Germany
Prior art keywords
access
memory cell
memory
bit line
coupled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102014106909.9A
Other languages
English (en)
Other versions
DE102014106909B4 (de
Inventor
Thomas Künemund
Gerd Dirscherl
Gunther Fenzl
Joel Hatsch
Nikolai Sefzik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102014106909.9A priority Critical patent/DE102014106909B4/de
Priority to US14/710,617 priority patent/US10276222B2/en
Publication of DE102014106909A1 publication Critical patent/DE102014106909A1/de
Application granted granted Critical
Publication of DE102014106909B4 publication Critical patent/DE102014106909B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/414Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the bipolar type
    • G11C11/415Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

Gemäß einer Ausführungsform wird Verfahren zum Zugreifen auf einen Speicher beschrieben, dass das Durchführen eines ersten Zugriffs auf den Speicher und das Laden, für eine Speicherzelle, eine mit der Speicherzelle gekoppelte Bitleitung auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert, das Halten des Zustands der Bitleitung bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt und das Ausgeben des gehaltenen Zustands, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist, aufweist.

Description

  • Ausführungsbeispiele betreffen allgemein Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltungen.
  • SRAM-Speicher, wie sie beispielsweise in Steuerchips eingesetzt werden, sollen typischerweise eine hohe Zugriffsgeschwindigkeit und einen niedrigen Energieverbrauch haben. Dementsprechend sind Mechanismen wünschenswert, die eine hohe Zugriffsgeschwindigkeit erlauben, ohne dass dabei der Energieverbrauch erhöht wird.
  • Gemäß einer Ausführungsform wird ein Verfahren zum Zugreifen auf einen Speicher bereitgestellt, das das Durchführen eines ersten Zugriffs auf den Speicher und das Laden, für eine Speicherzelle, eine mit der Speicherzelle gekoppelte Bitleitung auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert, das Halten des Zustands der Bitleitung bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt und das Ausgeben des gehaltenen Zustands, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist, aufweist.
  • Gemäß einer weiteren Ausführungsform wird eine Speicherzugriffsschaltung gemäß dem Verfahren zum Zugreifen auf einen Speicher bereitgestellt.
  • Die Figuren geben nicht die tatsächlichen Größenverhältnisse wieder sondern sollen dazu dienen, die Prinzipien der verschiedenen Ausführungsbeispiele zu illustrieren. Im Folgenden werden verschiedene Ausführungsbeispiele mit Bezug auf die folgenden Figuren beschrieben.
  • 1 zeigt eine SRAM-Zelle.
  • 2 zeigt ein Ablaufdiagramm gemäß einer Ausführungsform.
  • 3 zeigt eine Speicherzugriffsschaltung gemäß einer Ausführungsform.
  • 4 zeigt eine Speicherzugriffsschaltung gemäß einer Ausführungsform in größerem Detail.
  • 5 zeigt eine nanoCache-Anordnung gemäß einer Ausführungsform.
  • 6 zeigt eine Multiplex/Demultiplex-Anordnung gemäß einer Ausführungsform.
  • 7 zeigt ein Beispiel für den Verlauf verschiedener Signale für einen Zugriff ohne nanoCache-Hit.
  • 8 zeigt eine Adressendetektierlogikschaltung.
  • 9 zeigt eine Adressvergleichsschaltung.
  • Die folgende detaillierte Beschreibung bezieht sich auf die beiliegenden Figuren, die Details und Ausführungsbeispiele zeigen. Diese Ausführungsbeispiele sind so detailliert beschrieben, dass der Fachmann die Erfindung ausführen kann. Andere Ausführungsformen sind auch möglich und die Ausführungsbeispiele können in struktureller, logischer und elektrischer Hinsicht geändert werden, ohne vom Gegenstand der Erfindung abzuweichen. Die verschiedenen Ausführungsbeispiele schließen sich nicht notwendig gegenseitig aus sondern es können verschiedene Ausführungsformen miteinander kombiniert werden, so dass neue Ausführungsformen entstehen. Im Rahmen dieser Beschreibung werden die Begriffe ”verbunden”, angeschlossen” sowie ”gekoppelt” verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung.
  • Für Steuerchips mit niedrigem Energieverbrauch werden typischerweise SRAM(Static Random Access Memory)-Speicher auf dem Chip zum Speichern von Programmcode und Daten verwendet.
  • 1 zeigt eine SRAM-Zelle 100.
  • Die SRAM-Zelle 100 weist einen ersten Inverter 101 und einen zweiten Inverter 102 auf.
  • Der Ausgang des ersten Inverters 101 ist mittels eines ersten Knotens 103, der mit b bezeichnet wird, mit dem Eingang des zweiten Inverters 102 gekoppelt.
  • Der Ausgang des zweiten Inverters 102 ist mittels eines zweiten Knotens 104, der mit bq bezeichnet wird, mit dem Eingang des ersten Inverters 101 gekoppelt.
  • Der erste Knoten 103 ist mittels eines ersten Feldeffekttransistors (FETs) 105 mit einer ersten Bitleitung 106 gekoppelt.
  • Der zweite Knoten 104 ist mittels eines zweiten Feldeffekttransistors (FETs) 107 mit einer zweiten Bitleitung 108 gekoppelt.
  • Die Gates der FETs 105, 107 sind mit einer Wortleitung 109 gekoppelt.
  • Der Zustand (d. h. der Pegel) am ersten Knoten 103 ist der Zustand der SRAM-Zelle und entspricht dem Wert des von der SRAM-Zelle 100 gespeicherten Bits. Der Zustand am zweiten Knoten 104 ist invers zum Zustand am ersten Knoten 103. Entsprechend werden die erste Bitleitung 106 und die zweite Bitleitung 108 auch als Bitleitung und inverse Bitleitung bezeichnet.
  • Mittels der Wortleitung 109 kann die SRAM-Zelle 100 für einen Zugriff aktiviert werden. Je nachdem, ob es sich um einen Lesezugriff oder einen Schreibzugriff handelt, wird der Zustand der SRAM-Zelle 100 mittels den Bitleitungen 106, 108 ausgelesen oder festgelegt (d. h. geschrieben), Ein SRAM-Speicher weist eine Vielzahl von SRAM-Zellen in Form eines SRAM-Zellenfeldes auf. Zur Einsparung von Energie und Chipfläche kann statt der Verwendung eines Leseverstärkers für einen Lesezugriff ein Vorlade/Entlade-Mechanismus verwendet werden. Dabei werden beispielsweise die Bitleitungen 106, 108 vorgeladen und bei einem Lesezugriff auf die SRAM-Zelle 100 je nach Zustand der SRAM-Zelle 100 jeweils entladen oder nicht entladen (wobei nach jedem Zugriff der Zustand der Bitleitungen 106, 108 komplementär ist).
  • Der ausgelesene Zustand bzw. der ausgelesene invertierte Zustand kann in einem Bitleitungs-Latch, das für die Bitleitung 106 und die invertierte Bitleitung 108 jeweils vorgesehen ist, bis zum nächsten Lesezugriff gehalten werden.
  • Dabei erfordert jeder Zugriff durch einen Prozessor einen Zugriff auf das SRAM-Speicherzellenfeld, der ein entsprechendes Vorladen erfordert. Dies verbraucht Energie und kann aufgrund von Wartezyklen, die bei höheren Prozessortaktfrequenzen eingefügt werden, auch die Verarbeitungsgeschwindigkeit des Prozessors reduzieren.
  • Um die Geschwindigkeitseinbußen zu vermeiden, kann ein Cache mit entsprechender Cache-Steuerung vorgesehen werden. Durch diese Maßnahme kann die Geschwindigkeit erhöht werden, sie erfordert jedoch zusätzliche Chipfläche und erhöht den Energieverbrauch. Außerdem können Fälle auftreten wie z. B. dass bei einem Datentransfer von angeforderten Daten zwischen dem Arbeitsspeicher (d. h. dem SRAM-Speicher) und dem Cache, der mehrere Zyklen erfordert, der Speicherbus für einen anderen Prozessorzugriff auf Speicher (wie einen nichtflüchtigen Speicher, z. B. ein Flash oder ein ROM) oder Peripheriekomponenten, die mit dem Bus verbunden sind, blockiert ist.
  • Im Folgenden werden Ausführungsformen beschrieben, bei denen eine erhöhte Zugriffsgeschwindigkeit auf einen Speicher, z. B. ein SRAM, erreicht werden kann, wobei gleichzeitig der Energieverbrauch gesenkt werden kann.
  • 2 zeigt ein Ablaufdiagramm 200 gemäß einer Ausführungsform.
  • Das Ablaufdiagramm 200 veranschaulicht ein Verfahren zum Zugreifen auf einen Speicher.
  • In 201 wird ein erster Zugriffs auf den Speicher durchgeführt.
  • In 202, beispielsweise während der Durchführung des Zugriffs, wird für eine Speicherzelle eine mit der Speicherzelle gekoppelte Bitleitung auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert geladen.
  • In 203, wird der Zustand der Bitleitung bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt, gehalten.
  • In 204 wird der gehaltene Zustand ausgegeben, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist.
  • In anderen Worten wird der Zustand einer Bitleitung, den die Bitleitung durch Auslesen einer Speicherzelle erhalten hat, für einen etwaigen nachfolgenden Lesezugriff auf die Speicherzelle gehalten. Anschaulich erfolgt ein Zwischenspeichern (d. h. Cachen) schon auf Bitleitungsebene, anstatt in einem dem Speicher nachgeschalteten Cache-Speicher. Entsprechend wird eine Schaltung bzw. eine Schaltungsanordnung zum Durchführen des in 2 dargestellten Verfahrens im Folgenden auch als nanoCache bezeichnet.
  • Der nanoCache kann beispielsweise als Mechanismus zum Erhöhen der Verarbeitungsgeschwindigkeitserhöhende und Verringerung des Energieverbrauchs bei einer System-on-Chip(SoC)-Architektur eingesetzt werden, der geringe Systemkosten hat, d. h. eine geringe Chipfläche erfordert. Zusätzliche Chipfläche wie für Cache-Speicher mit entsprechenden Chip-Steuerungen ist nicht erforderlich.
  • Der zweite Zugriff ist beispielsweise der auf den ersten Zugriff unmittelbar folgende Zugriff auf den Speicher, d. h. dass zwischen dem ersten Zugriff und den zweiten Zugriff beispielsweise kein Zugriff auf den Speicher stattfindet (oder zumindest kein Zugriff, an dem die Bitleitung beteiligt ist, d. h. bei dem der Wert der Bitleitung verändert, verarbeitet oder ausgegeben wird).
  • Der erste Zugriff ist beispielsweise ein Lesen eines Werts aus der Speicherzelle oder einer mit derselben Wortleitung gekoppelten Speicherzelle.
  • Der erste Zugriff kann auch ein Schreiben eines Werts in die Speicherzelle oder eine mit derselben Wortleitung gekoppelten Speicherzelle sein.
  • Gemäß einer Ausführungsform weist das Verfahren, falls der zweite Zugriff ein Schreibzugriff auf die Speicherzelle ist, das Laden der Bitleitung auf einen bei dem Schreibzugriff zu schreibenden Wert auf.
  • Gemäß einer Ausführungsform weist das Verfahren, falls der zweite Zugriff ein Lesezugriff auf eine andere Speicherzelle ist, die mit der Bitleitung gekoppelt ist, das Vorladen der Bitleitung auf.
  • Das Verfahren weist beispielsweise das Halten des Zustands mittels eines Latches auf.
  • Gemäß einer Ausführungsform weist das Verfahren das Laden, für jede weitere Speicherzelle einer Mehrzahl von weiteren Speicherzellen, die mit derselben Wortleitung gekoppelt sind wie die Speicherzelle, einer mit der weiteren Speicherzelle gekoppelten weiteren Bitleitung auf einen in der weiteren Speicherzelle gespeicherten oder zu speichernden Wert, das Halten der Zustände der weiteren Bitleitungen bis zu dem zweiten Zugriff und das Auswählen des gehaltenen Zustands der Speicherzelle, auf die der zweite Zugriff zugreift aus den gehaltenen Zuständen und das Ausgeben des ausgewählten Zustands, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle oder eine der weiteren Speicherzellen ist, auf.
  • Das Auswählen und das Ausgeben des ausgewählten Zustands weisen beispielsweise ein Multiplexen der gehaltenen Zustände gemäß der Speicherzelle, auf die der zweite Zugriff zugreift, auf.
  • Die Speicherzelle ist beispielsweise eine SRAM-Zelle.
  • Das Verfahren weist beispielsweise das Überprüfen, ob der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist, auf.
  • Gemäß einer Ausführungsform weist das Verfahren das Überprüfen, ob der zweite Zugriff ein Zugriff auf die Speicherzelle ist oder eine Speicherzelle ist, die mit derselben Wortleitung gekoppelt ist, auf.
  • Beispielsweise weist das Überprüfen, ob der zweite Zugriff ein Zugriff auf die Speicherzelle ist oder eine Speicherzelle ist, die mit derselben Wortleitung gekoppelt ist, ein Vergleichen einer Wortleitungsadresse des ersten Zugriffs mit einer Wortleitungsadresse des zweiten Zugriffs auf.
  • Das Verfahren wird beispielsweise von einer Schaltung durchgeführt, wie sie in 3 dargestellt ist.
  • 3 zeigt eine Speicherzugriffsschaltung 300 gemäß einer Ausführungsform.
  • Die Speicherzugriffsschaltung 300 weist eine Bitleitungssteuerschaltung 301 auf, die eingerichtet ist, bei der Durchführung eines ersten Zugriffs auf einen Speicher für eine Speicherzelle 302 des Speichers eine mit der Speicherzelle gekoppelte Bitleitung 303 auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert zu laden.
  • Die Speicherzugriffsschaltung 300 weist ferner eine Halteschaltung 304 auf, die eingerichtet ist, den Zustand der Bitleitung 303 bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt, zu halten.
  • Die Speicherzugriffsschaltung 300 weist außerdem eine Ausgabeschaltung 305 auf, die eingerichtet ist, den gehaltenen Zustand auszugeben, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle 302 ist.
  • Es sollte beachtet werden, dass Ausführungsbeispiele, die im Zusammenhang mit dem in 2 dargestellten Verfahren beschrieben sind, sinngemäß für die Speicherzugriffsschaltung 300 gelten und umgekehrt.
  • Im Folgenden werden Ausführungsformen genauer beschrieben.
  • Gemäß einer Ausführungsform wird jeder RAM-Basisblock (z. B. 4 kByte) jeweils mit der nanoCache-Funktionalität ausgestattet, d. h. für jeden RAM-Basisblock wird der Zustand der Bitleitung, der zum Auslesen des RAM-Basisblocks verwendet wird, gehalten. In anderen Worten kann in diesem Fall der nanoCache als einzeiliger Cache pro RAM-Basisblock angesehen werden. Für einen Zugriff, bei dem eine Wortleitung aktiviert wird, werden die Zustände aller Speicherzellen, die mit der Wortleitung verbunden sind, gespeichert.
  • Die Zustände werden beispielsweise in Bitleitungs-Latches gehalten. Entsprechend sind Zugriffe auf die Zustände ohne Vorladeoperation möglich. Auf die gespeicherten Zustände kann beispielsweise mit verschiedenen Granularitäten zugegriffen werden, beispielsweise in Bytes, Halbworten oder Worten.
  • Innerhalb des nanoCaches, d. h. der gespeicherten Zustände, kann Bit-Interleaving vorgenommen werden. Das heisst, das Bytes, Halbworte oder Worte nicht zwingend in aufsteigender Reihenfolge nebeneinander (d. h. mittels benachbarter Bitleitungen) gespeichert sein müssen. Gemäß einer Ausführungsform kann auf einen gespeicherten Zustand mittels eines Zugriffs ausgelesen werden, der nur einen Taktzyklus erfordert. Der nanoCache kann somit die Geschwindigkeit der Speicherzugriffe an die Geschwindigkeit des Prozessors angleichen. Beim ersten Zugriff auf den Speicher (wenn der nanoCache noch nicht gefüllt ist), können Verzögerungen entsprechend einem ungecachten Zugriff auf den Speicher auftreten.
  • Beispielsweise wird für jeden RAM-Basisblock die Adresse der Speicherzelle (oder Adresse der Wortleitung) des Basisblocks, auf die zuletzt zugegriffen wurde, gespeichert und bei einem neuen Zugriff mit der Adresse des neuen Zugriffs (d. h. der durch den neuen Zugriff adressierten Speicherzelle/Wortleitung) verglichen, beispielsweise durch eine Adressendetektierlogik. Im Falle eines Treffers im nanoCache, d. h. dem Übereinstimmen der beiden Adressen, gibt der nanoCache im Falle eines Lesezugriffs das adressierte Datum aus. Im Falle eines Schreibzugriffs wird der zu schreibende Wert sowohl in die adressierte Speicherzelle als auch in den Bitleitungs-Latch, der den Zustand für den Basisblock speichert, übernommen.
  • Dadurch kann der Energieverbrauch bei mehreren aufeinanderfolgenden RAM-Zugriffen verringert werden, vorausgesetzt die Lokalität ist innerhalb einer Wortleitungsbreite, beispielsweise 128 bit. Ist dies der Fall, so ist kein weiteres Vorladen erforderlich. Beispielsweise werden mittels eines für jede Bitleitung vorgesehenen Multiplexers die gespeicherten Daten in der verwendeten Granularität (beispielsweise ein Byte, ein Halbwort oder ein Wort) ausgegeben. Je länger die Wortleitung ist, beispielsweise 256 Bit statt 128 Bit, umso größer ist die Energieersparnis, die erreicht werden kann.
  • 4 zeigt eine Speicherzugriffsschaltung 400 gemäß einer Ausführungsform.
  • In diesem Beispiel dient die Speicherzugriffsschaltung für ein Teilfeld einer SRAM-Speicherzellenfelds mit vier Paaren aus Bitleitung 401, 403, 405, 407 und jeweils zugehöriger invertierter Bitleitung 402, 404, 406, 408. Jedes Paar aus Bitleitung 401, 403, 405, 407 und invertierter Bitleitung 402, 404, 406, 408 ist mit einer Vielzahl von SRAM-Speicherzellen wie mit Bezug auf 1 beschrieben verbunden, wobei bei einem Zugriff eine SRAM-Speicherzelle der Vielzahl von SRAM-Speicherzellen (entsprechend der RAM-Basisblockgröße) durch die zugehörige Wortleitung aktiviert wird.
  • In anderen Worten dient die dargestellte Speicherzugriffsschaltung 400 dem Zugriff auf vier Zeilen des Speicherzellenfelds. Bei einer Wortleitungsbreite von 128 Bit (d. h. eine Wortleitung dient zum Adressieren von 128 Speicherzellen), ist die dargestellte Speicherzugriffsschaltung entsprechend beispielsweise 32-mal vorhanden.
  • Jedes Paar aus Bitleitung und zugehöriger invertierter Bitleitung ist mittels einer jeweiligen Vorlade- und Latchschaltung 409 bis 412, die das Bitleitungspaar wenn erforderlich vorlädt und die Zustände der Bitleitungen zwischenspeichert, mit einer Multiplex/Demultiplex-Schaltung 413 verbunden deren Eingang (wenn sie als Demultiplexer arbeitet) bzw. deren Ausgang (wenn sie als Multiplexer arbeitet) mit einer Eingabe/Ausgabe-Schaltung 414 verbunden ist.
  • Die Bitleitungen 401 bis 408 sind beispielsweise die Bitleitungen, die mit den Speicherzellen verbunden sind, die jeweils erste Bit (z. B. Bit 0) von vier 32-Bit-Worten speichern. Auf die Bits eines einzelnen Worts wird somit nicht durch benachbarte Bitleitungen zugegriffen, sondern die Bits der vier Worte sind gemäß ihrer Bit-Position in den Worten gruppiert. Dies kann als Interleaving angesehen werden und ermöglicht eine geringen Flächenbedarf der Multiplex/Demultiplex-Schaltung 413.
  • Bei einem Schreibzugriff empfängt die Eingabe/Ausgabe-Schaltung 414 ein Eingangssignal (Eingangsbit) DIN. Die Multiplex/Demultiplex-Schaltung 413, die in diesem Fall als Demultiplexer arbeitet, leitet das Eingangssignal an das Bitleitungspaar weiter, dessen zugeordnetes Auswahlsignal der Auswahlsignale s<3:0> und dessen zugeordnetes invertiertes Auswahlsignal der invertierten Auswahlsignale sq<3:0> aktiv ist.
  • Bei einem Lesezugriff leitet die Multiplex/Demultiplex-Schaltung 413, die in diesem Fall als Multiplexer arbeitet, den Zustand des Bitleitungspaars, dessen zugeordnetes Auswahlsignal der Auswahlsignale s<3:0> und dessen zugeordnetes invertiertes Auswahlsignal der invertierten Auswahlsignale sq<3:0> aktiv ist, an die Eingabe/Ausgabe-Schaltung 414 weiter, die den Zustand als Ausgangssignal (Ausgangsbit) DOUT ausgibt.
  • Die Vorlade- und Latchschaltungen 409 bis 412 und die von ihnen empfangenen Signale prchQ, lckQ, lck sind in 5 genauer dargestellt.
  • 5 zeigt eine nanoCache-Anordnung 500 gemäß einer Ausführungsform.
  • Die nanoCache-Anordnung 500 entspricht beispielsweise einer der Vorlade- und Latchschaltungen 409 bis 412 zusammen mit den mit der Vorlade- und Latchschaltung 409 bis 412 gekoppelten SRAM-Zellen.
  • Die nanoCache-Anordnung 500 weist eine Vielzahl von SRAM-Zellen 501 auf, die wie mit Bezug auf 1 beschrieben mit einer Bitleitung 502 und einer invertierten Bitleitung 503 gekoppelt sind. Die Zahl der SRAM-Zellen 501 entspricht beispielsweise der Größe eines RAM-Basisblocks.
  • Zwischen die Bitleitung 502 und die invertierte Bitleitung 503 sind ein erster p-Kanal-FET 504 und ein zweiter p-Kanal FET 505 seriell geschaltet.
  • Das Gate des ersten p-Kanal-FETs 504 ist mit der invertierten Bitleitung 503 verbunden und das Gate des zweiten p-Kanal-FETs 505 ist mit der Bitleitung 502 verbunden.
  • Ferner sind zwischen die Bitleitung 502 und die invertierte Bitleitung 503 ein dritter p-Kanal-FET 506 und ein vierter p-Kanal FET 507 seriell geschaltet.
  • Ein fünfter p-Kanal-FET 508 ist zwischen den Verbindungsknoten des ersten p-Kanal-FETs 504 und des zweiten p-Kanal-FETs 505 und ein hohes Versorgungspotential (VDD) geschaltet. Der Verbindungsknoten des dritten p-Kanal-FETs 506 und des vierten p-Kanal-FETs 507 ist mit dem hohen Versorgungspotential gekoppelt.
  • Das Gate des dritten p-Kanal-FETs 506 und das Gate des vierten p-Kanal FETs 507 erhalten das niedrig-aktive Vorladesignal prchQ, mittels welchem die Bitleitungen 503, 504 auf das hohe Versorgungspotential geladen werden können.
  • Ferner sind zwischen die Bitleitung 502 und die invertierte Bitleitung 503 ein erster n-Kanal-FET 509 und ein zweiter n-Kanal FET 510 seriell geschaltet.
  • Ein dritter n-Kanal-FET 511 ist zwischen den Verbindungsknoten des ersten n-Kanal-FETs 509 und des zweiten n-Kanal-FETs 510 und ein niedriges Versorgungspotential (VSS) geschaltet.
  • Dem Gate des dritten n-Kanal FET 511 wird das hoch-aktive Latch-Aktivierungssignal lck und dem Gate des fünften p-Kanal FETs 508 das dazu inverse niedrig-aktive Latch-Aktivierungssignal lckQ zugeführt.
  • Sind die Latch-Aktivierungssignale aktiv, so funktionieren der erste p-Kanal-FET 504, der zweite p-Kanal-FET 505, der erste n-Kanal-FET 509 und der zweite n-Kanal-FET 510 als Latch, das die Zustände der Bitleitungen 502, 503 hält.
  • Ein Beispiel für die Multiplex/Demultiplex-Schaltung 413 und die Eingabe/Ausgabe-Schaltung 414 ist in 6 dargestellt.
  • 6 zeigt eine Multiplex/Demultiplex-Anordnung 600.
  • Die Multiplex/Demultiplex-Anordnung 600 weist für jede Bitleitung 601, 603, 605, 607 und für jede invertierte Bitleitung 602, 604, 606, 608 ein Transmissionsgatter aus jeweils einem p-Kanal-FET 609 und einem n-Kanal-FET 610 auf.
  • Das Transmissionsgatter einer Bitleitung ist zwischen die Bitleitung und einen (nichtinvertierten) ersten Eingangs/Ausgangs-Knoten 611 geschaltet und das Transmissionsgatter einer invertierten Bitleitung ist zwischen die Bitleitung und einen invertierten zweiten Eingangs/Ausgangs-Knoten 612 geschaltet.
  • Dem Gate des p-Kanal-FETs 609 für eine Bitleitung 601, 603, 605, 607 wird das invertierte Auswahlsignal der invertierten Auswahlsignale sq<3:0>, das dieser Bitleitung zugeordnet ist, zugeführt.
  • Dem Gate des p-Kanal-FETs 609 für eine invertierte Bitleitung 602, 604, 606, 608 wird das invertierte Auswahlsignal der invertierten Auswahlsignale sq<3:0>, das dieser Bitleitung zugeordnet ist, zugeführt.
  • Dem Gate des n-Kanal-FETs 610 für eine Bitleitung 601, 603, 605, 607 wird das Auswahlsignal der Auswahlsignale s<3:0>, das dieser Bitleitung zugeordnet ist, zugeführt.
  • Dem Gate des n-Kanal-FETs 610 für eine invertierte Bitleitung 602, 604, 606, 608 wird das Auswahlsignal der Auswahlsignale s<3:0>, das dieser Bitleitung zugeordnet ist, zugeführt.
  • Eine Bitleitung und eine invertierte Bitleitung, die zu einem Bitleitungspaar gehören, sind dasselbe Auswahlsignal der Auswahlsignale s<3:0> und dasselbe invertierte Auswahlsignal der invertierten Auswahlsignale sq<3:0> zugeordnet.
  • Die FFTs 609, 610 bilden eine bidirektionale Multiplex/Demultiplex-Schaltung, die bei einem Lesezugriff als 4-auf-1-Bitleitungs-Multiplexer arbeitet und bei einem Schreibzugriff als 1-aus-4-Demultiplexer arbeitet.
  • Die Multiplex/Demultiplex-Anordnung 600 weist ferner ein Dateneingabelatch 613 und ein Datenausgabelatch 614, die der Eingabe/Ausgabe-Schaltung 414 entsprechen, auf.
  • Das Dateneingabelatch 613 empfängt bei einem Schreibzugriff für jeden Taktzyklus eines Schreibtakts clk_wr ein Eingangssignal DIN, puffert es und gibt es an seinem Ausgang als Signal Q aus.
  • Zwischen den Ausgang des Dateneingabelatches 613 und den ersten Eingangs/Ausgangs-Knoten 611 ist ein erster weiterer n-Kanal-FET 615 geschaltet.
  • Ferner ist der Ausgang des Dateneingabelatches 613 ist mit dem Eingang eines Inverters 616 verbunden. Zwischen den Ausgang des Inverters 616 und den zweiten Eingangs/Ausgangs-Knoten 612 ist ein zweiter weiterer n-Kanal-FET 617 geschaltet.
  • Die Gates der weiteren n-Kanal-FETs 615, 617 wird das hochaktive Schreib-Aktivierungssignal wr zugeführt, so dass die weiteren n-Kanal-FETs 615, 617 bei einem Schreibzugriff das Eingangssignal bzw. das invertierte Eingangssignal an den ersten Eingangs/Ausgangs-Knoten 611 bzw. den zweiten Eingangs/Ausgangs-Knoten 612 weiterleiten.
  • Der erste Eingangs/Ausgangs-Knoten 611 ist mit einem nichtinvertierenden Eingang des Datenausgabelatches 614 verbunden und der zweite Eingangs/Ausgangs-Knoten 612 ist mit einem invertierenden Eingang des Datenausgabelatches 614 verbunden.
  • Das Datenausgabelatch 614 empfängt bei einem Lesezugriff für jeden Taktzyklus eines Lesetakts clk_rd die Zustände der Eingangs/Ausgangs-Knoten 611, 612, puffert sie und gibt ein entsprechendes Ausgangssignal DOUT aus (beispielsweise den gepufferten Zustand des ersten Eingangs/Ausgangs-Knotens 611).
  • Das Datenausgabelatch 614 kann mittels eines Rücksetz-Signals rst zurückgesetzt werden.
  • 7 zeigt ein Beispiel für den Verlauf der Signale clk_rd, wr, lck, lckQ, prchQ und wl für einen Zugriff ohne Cache-Hit (Cache-Treffer).
  • Ein erstes Signaldiagramm 701 zeigt den Verlauf des Signals clk_rd.
  • Ein zweites Signaldiagramm 702 zeigt den Verlauf des Signals wr.
  • Ein drittes Signaldiagramm 703 zeigt den Verlauf des Signals lck.
  • Ein viertes Signaldiagramm 704 zeigt den Verlauf des Signals lckQ.
  • Ein fünftes Signaldiagramm 705 zeigt den Verlauf des Signals prchQ.
  • Ein sechstes Signaldiagramm 706 zeigt den Verlauf des Signals wl.
  • Für einen Lesezugriff wird zunächst das (Bitleitungs-)Latch-Aktivierungssignal lck für die n-Kanal-FETs 509, 510, 511 deaktiviert, um einen Treiberkonflikt mit den Vorlade(Pull-Up)-Transistoren 506, 507 zu vermeiden, die danach (Pfeil 707) aktiviert werden, so dass das Bitleitungspaar auf den logischen Zustand (1, 1) geladen wird. Dies ist erforderlich, da nach dem vorhergehenden Speicherzugriff die Bitleitungen in ihren vorhergehenden (komplementären) Zuständen gehalten werden.
  • Nachdem das Vorladen beendet ist, wird die ausgewählte Wortleitung wl (d. h. die Wortleitung, die einer dem Speicher zugeführten Leseadresse entspricht) aktiviert (Pfeil 708) und die Bitleitungen nehmen komplementäre Zustände entsprechend dem Inhalt der adressierten SRAM-Zelle an, so dass das Datenausgabelatch 614 durch Aktivieren von clk_rd aktiviert werden kann. Letztlich werden wl und clk_rd deaktiviert und lck wird wieder aktiviert, so dass der Zustand der Bitleitungen gehalten wird.
  • Für einen Schreibzugriff werden zunächst das (Bitleitungs-)Latch-Aktivierungssignal lck für die n-Kanal-FETs 509, 510, 511 und das (Bitleitungs-)Latch-Aktivierungssignal lckQ für die p-Kanal-FETs 504, 505, 508 deaktiviert, um einen Treiberkonflikt mit dem von dem Dateneingangslatch 613 gelieferten Eingangsbit zu vermeiden. Danach wird das Schreib-Aktivierungssignal wr aktiviert (Pfeile 709). Im Anschluss (Pfeile 710) werden die Latch-Aktivierungssignale lck und lckQ wieder aktiviert, so dass die geschriebenen Zustände der Bitleitung auf einen vollen VDD-VSS-Unterschied gebracht werden und gehalten werden, so dass das Schreib-Aktivierungssignal wr wieder deaktiviert werden kann (Pfeil 711) und die ausgewählte Wortleitung wl (d. h. die Wortleitung, die einer dem Speicher zugeführten Leseadresse entspricht) aktiviert werden kann (Pfeil 712), so dass die Zustände der Bitleitungen in die adressierte SRAM-Zelle übernommen werden. Letztlich wird die Wortleitung wieder deaktiviert, d. h. die Zugriffstransistoren 105, 107 der ausgewählten SRAM-Zelle werden ausgeschaltet. Das durch den Schreibzugriff geschriebene Bit wird auf den Bitleitungen gehalten.
  • Der in 7 dargestellte Ablauf veranschaulicht den Fall, dass sich die Wortleitungsadresse des aktuellen Zugriffs von der Wortleitungsadresse des vorherigen Zugriffs unterscheidet. Im Folgenden wird mit Bezug auf 8 eine Adressendetektierlogik beschrieben, die gemäß einer Ausführungsform vorgesehen ist, um zu detektieren, ob die Wortleitungsadresse des aktuellen Zugriffs mit der Wortleitungsadresse des vorherigen Zugriffs übereinstimmt und die Speicherzugriffsschaltung 400 entsprechend steuert.
  • 8 zeigt eine Adressendetektierlogikschaltung 800.
  • Die Adressendetektierlogikschaltung 800 empfängt eine Adresse Wortadresse für den aktuellen (d. h. neuesten) Zugriff adr<nadr – 1:0>, deren höchstwertige Bits adr<nadr – 1:nadr – nmsb> die Adresse der Wortleitung angeben und deren niedrigstwertige Bits adr<nadr – nmsb – 1:0> das Wort der Worte (beispielsweise der vier 32-Bit-Worte), auf die mittels der adressierten Wortleitung zugegriffen wird, angibt.
  • Die Adressendetektierlogikschaltung 800 weist eine erste Flip-Flop-Schaltung 801 auf, die die nmsb höchstwertigen (most significant) Bits der vorherigen Adresse, d. h. die Wortleitungsadresse für den vorherigen Zugriff, adr_ff<nadr – 1:nadr – nmsb> speichert. Beispielsweise weist die erste Flip-Flop-Schaltung 801 für jede der nmsb höchstwertigen Bits einer Adresse ein D-Flip-Flop auf, das bei einem Zugriff das Bit der Adresse an seinem D-Eingang empfängt, für den nachfolgenden Zugriff speichert und über seinen Q-Ausgang ausgibt.
  • Die Adressendetektierlogikschaltung 800 weist ferner einen Adressvergleicher 802 auf, der die nmsb höchstwertigen Bits der aktuellen Adresse, d. h. der Wortleitungsadresse für den aktuellen Zugriff, adr<nadr – 1:nadr – nmsb>, empfängt und mit den nmsb höchstwertigen Bits der gespeicherten vorherigen Wortleitungsadresse, die ihm von der ersten Flip-Flop-Schaltung 801 zugeführt wird, vergleicht.
  • Beispielsweise erzeugt der Adressvergleicher 802 ein Ausgangssignal adr_ck_en gemäß
    Figure DE102014106909A1_0002
    wobei das Summenzeichen Σ ein Boolesches ODER bezeichnet.
  • Das Ausgangssignal wird einer Clock-Gating-Schaltung 803 zugeführt, die je nachdem, ob adr_ck_en gleich 1 oder 0 ist, das Taktsignal CK für den Speicher an seinem Ausgang durchschaltet oder blockiert.
  • Das Ausgangssignal der Clock-Gating-Schaltung 804 wird der ersten Flip-Flop-Schaltung 801 als Takt (beispielsweise jedem D-Flip-Flop an seinem Takteingang) zugeführt.
  • Somit speichert die erste Flip-Flop-Schaltung 801 nur dann die aktuelle Wortleitungsadresse, wenn sich die aktuelle Wortleitungsadresse von der vorherigen Wortleitungsadresse unterscheidet.
  • Das Ausgangssignal der Clock-Gating-Schaltung wird auch einer Wortleitungs/Bitleitungssteuerschaltung 804 zugeführt, die ein Bitleitungssteuersignal bl_ctrl und ein Wortleitungsdekodersteuersignal wl_dec_ctrl erzeugt. Dabei berücksichtigt die Wortleitungs/Bitleitungssteuerschaltung 804 ob es sich um einen Lesezugriff (Lese Aktivierungssignal rd aktiv) oder um einen Schreibzugriff (Schreib-Aktivierungssignal wr) aktiv, handelt.
  • Beispielsweise erzeugt die Wortleitungs/Bitleitungssteuerschaltung 804 das Bitleitungssteuersignal bl_ctrl derart, dass nur wenn rd = 1 und ck_adr_msb = 1 ein Vorladen der Bitleitungen durchgeführt wird.
  • Das Wortleitungsdekodersteuersignal wl_dec_ctrl steuert einen Wortleitungsdekoder 805.
  • Der Wortleitungsdekoder 805 aktiviert immer nur eine von seinen 2n Wortleitungen, die ihm zur Verfügung stehen. Die gespeicherte Wortleitungsaadresse in 801 ist die zur Zeit aktive Wortleitungsaadresse von der gelesen oder auf die geschrieben wird.
  • Der Adressen Vergleich findet zwischen der (zuletzt) aktiven Wortleitungsaadresse und der nächsten (aktuellen) Wortleitungsaadresse statt.
  • Die Adressendetektierlogikschaltung 800 weist ferner eine zweite Flip-Flop-Schaltung 806, auf die die niedrigstwertigen (least significant) Bits der vorherigen Adresse, d. h. der Wortleitungsadresse für den vorherigen Zugriff, adr_ff<nadr – nmsb – 1:0> speichert. Beispielsweise weist die zweite Flip-Flop-Schaltung 806 für jede der niedrigstwertigen Bits einer Adresse ein D-Flip-Flop auf, das bei einem Zugriff das Bit der Adresse an seinem D-Eingang empfängt, für den nachfolgenden Zugriff speichert und über seinen Q-Ausgang ausgibt.
  • Die von der zweiten Flip-Flop-Schaltung 806 gespeicherten Bits werden einer Bitleitungsmultiplexersteuerschaltung 807 zugeführt, die Multiplexer-Steuersignale bl_mux_ctrl, wie beispielsweise die Auswahlsignale s und sq, entsprechend erzeugt.
  • Ein Beispiel für eine Implementierung des Adressvergleichers 802 ist in 9 dargestellt.
  • 9 zeigt eine Adressvergleichsschaltung 900.
  • Die Adressvergleichsschaltung 900 weist eine Mehrzahl von XOR-Gattern 901 auf, die jeweils in Bit der aktuellen Adresse mit dem entsprechenden Bit der vorherigen Adresse XOR-Verknüpfen. Die Ergebnisse der XOR-Verknüpfungen werden von einem ODER-Gatter 902 ODER-verknüpft. Das Ergebnis der ODER-Verknüpfung ist das Ausgangssignal der Adressvergleichsschaltung 900 adr_ck_en.
  • Wenn der von der Adressvergleichsschaltung 900 durchgeführte Vergleich erfolgreich ist, d. h. ein nanoCache-Hit vorliegt, wird die aktuelle Adresse nicht in der ersten Flip-Flop-Schaltung 801 gespeichert, da diese Adresse bereits dort gespeichert ist. Außerdem wird typischerweise durch die Bitleitungsmultiplexersteuerschaltung 807 ein anderes Wort (der beispielsweise vier Worte mit derselben Wortleitungsadresse) ausgewählt, da der Prozessor typischerweise nicht nochmal das gleiche Datum lesen will, sondern beispielsweise das Wart mit der nächsten höheren Adresse. Das wird durch die niederwertigen Adressbits bestimmt, die in der zweiten Flip-Flop-Schaltung 806 gespeichert sind. Der Multiplex/Demultiplex-Schaltung 413 werden entsprechend neue Auswahlsignale s und sq zugeführt.
  • Im Unterschied zu dem in 7 dargestellten Ablauf wird bei einem nanoCache-Hit bei einem Lesezugriff um Strom zu sparen und schneller zu lesen prchQ nicht low-aktiviert.. Wenn der Lesezugriff in 7 z. B. zwei Takte Zeit verbraucht, kann die Dauer dadurch bei einem nanoCache-Hit auf einen Takt reduziert werden. In einer Ausführungsform, in der das Ausgangslatch 614 nicht vorhanden ist, sondern die Zustände der Knoten 611, 612 direkt ausgegeben werden, kann auch auf die Aktivierung von clk_rd verzichtet werden.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (13)

  1. Verfahren zum Zugreifen auf einen Speicher aufweisend: Durchführen eines ersten Zugriffs auf den Speicher und Laden, für eine Speicherzelle, eine mit der Speicherzelle gekoppelte Bitleitung auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert; Halten des Zustands der Bitleitung bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt; und Ausgeben des gehaltenen Zustands, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist.
  2. Verfahren gemäß Anspruch 1, wobei der erste Zugriff ein Lesen eines Werts aus der Speicherzelle oder einer mit derselben Wortleitung gekoppelten Speicherzelle ist.
  3. Verfahren gemäß Anspruch 1, wobei der erste Zugriff ein Schreiben eines Werts in die Speicherzelle oder eine mit derselben Wortleitung gekoppelten Speicherzelle ist.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, aufweisend, falls der zweite Zugriff ein Schreibzugriff auf die Speicherzelle ist, Laden der Bitleitung auf einen bei dem Schreibzugriff zu schreibenden Wert.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, aufweisend, falls der zweite Zugriff ein Lesezugriff auf eine andere Speicherzelle ist, die mit der Bitleitung gekoppelt ist, Vorladen der Bitleitung.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, aufweisend Halten des Zustands mittels eines Latches.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, aufweisend Laden, für jede weitere Speicherzelle einer Mehrzahl von weiteren Speicherzellen, die mit derselben Wortleitung gekoppelt sind wie die Speicherzelle, einer mit der weiteren Speicherzelle gekoppelten weiteren Bitleitung auf einen in der weiteren Speicherzelle gespeicherten oder zu speichernden Wert, Halten der Zustände der weiteren Bitleitungen bis zu dem zweiten Zugriff; und Auswählen des gehaltenen Zustands der Speicherzelle, auf die der zweite Zugriff zugreift aus den gehaltenen Zuständen und Ausgeben des ausgewählten Zustands, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle oder eine der weiteren Speicherzellen ist.
  8. Verfahren gemäß Anspruch 7, wobei das Auswählen und Ausgeben des ausgewählten Zustands ein Multiplexen der gehaltenen Zustände gemäß der Speicherzelle, auf die der zweite Zugriff zugreift, aufweist.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei die Speicherzelle eine SRAM-Zelle ist.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, aufweisend Überprüfen, ob der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, aufweisend Überprüfen, ob der zweite Zugriff ein Zugriff auf die Speicherzelle ist oder eine Speicherzelle ist, die mit derselben Wortleitung gekoppelt ist.
  12. Verfahren gemäß Anspruch 11, wobei das Überprüfen, ob der zweite Zugriff ein Zugriff auf die Speicherzelle ist oder eine Speicherzelle ist, die mit derselben Wortleitung gekoppelt ist, ein Vergleichen einer Wortleitungsadresse des ersten Zugriffs mit einer Wortleitungsadresse des zweiten Zugriffs aufweist.
  13. Speicherzugriffsschaltung aufweisend: eine Bitleitungssteuerschaltung, die eingerichtet ist, bei der Durchführung eines ersten Zugriffs auf einen Speicher für eine Speicherzelle des Speichers eine mit der Speicherzelle gekoppelte Bitleitung auf einen in der Speicherzelle gespeicherten oder zu speichernden Wert zu laden; eine Halteschaltung, die eingerichtet ist, den Zustand der Bitleitung bis zu einem zweiten Zugriff, der auf den ersten Zugriff folgt, zu halten; und eine Ausgabeschaltung, die eingerichtet ist, den gehaltenen Zustand auszugeben, falls der zweite Zugriff ein Lesezugriff auf die Speicherzelle ist.
DE102014106909.9A 2014-05-16 2014-05-16 Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung Active DE102014106909B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014106909.9A DE102014106909B4 (de) 2014-05-16 2014-05-16 Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung
US14/710,617 US10276222B2 (en) 2014-05-16 2015-05-13 Method for accessing a memory and memory access circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014106909.9A DE102014106909B4 (de) 2014-05-16 2014-05-16 Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung

Publications (2)

Publication Number Publication Date
DE102014106909A1 true DE102014106909A1 (de) 2015-11-19
DE102014106909B4 DE102014106909B4 (de) 2019-08-14

Family

ID=54361540

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014106909.9A Active DE102014106909B4 (de) 2014-05-16 2014-05-16 Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung

Country Status (2)

Country Link
US (1) US10276222B2 (de)
DE (1) DE102014106909B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867668B2 (en) * 2017-10-06 2020-12-15 Qualcomm Incorporated Area efficient write data path circuit for SRAM yield enhancement
US20210327501A1 (en) * 2020-04-20 2021-10-21 Stmicroelectronics International N.V. Lower power memory write operation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862242B2 (en) * 2003-04-25 2005-03-01 Sunplus Technology Co., Ltd. SRAM control circuit with a power saving function
US20090296500A1 (en) * 2008-05-30 2009-12-03 Fujitsu Limited Memory circuit and control method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939002A (en) * 1987-12-15 1990-07-03 General Electric Company Poltrusion apparatus and method for impregnating continuous lengths of multi-filament and multi-fiber structures
GB2278698B (en) * 1993-05-05 1997-09-03 Hewlett Packard Co Multi-ported data storage device with improved cell stability
US6556482B2 (en) * 1999-06-24 2003-04-29 Nec Electronics Corporation Semiconductor memory device
JP4236903B2 (ja) * 2002-10-29 2009-03-11 Necエレクトロニクス株式会社 半導体記憶装置及びその制御方法
ATE452408T1 (de) * 2003-07-14 2010-01-15 Fulcrum Microsystems Inc Asynchroner statischer direktzugriffspeicher
US7876634B2 (en) * 2005-12-02 2011-01-25 Arm Limited Apparatus and method for adjusting a supply voltage based on a read result
US8351287B1 (en) * 2010-12-22 2013-01-08 Lattice Semiconductor Corporation Bitline floating circuit for memory power reduction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862242B2 (en) * 2003-04-25 2005-03-01 Sunplus Technology Co., Ltd. SRAM control circuit with a power saving function
US20090296500A1 (en) * 2008-05-30 2009-12-03 Fujitsu Limited Memory circuit and control method thereof

Also Published As

Publication number Publication date
US10276222B2 (en) 2019-04-30
US20150332756A1 (en) 2015-11-19
DE102014106909B4 (de) 2019-08-14

Similar Documents

Publication Publication Date Title
DE102006014558B4 (de) Flashspeicherbauelement
DE69133361T2 (de) Halbleiterspeichervorrichtung mit einem Speicher mit großer Speicherkapazität und einem Hochgeschwindigkeits-Speicher
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE69923634T2 (de) Synchrone Burstzugriffshalbleiterspeicheranordnung
DE69128021T2 (de) Lese-/Schreibe-Speicher mit einem verbesserten Schreibtreiber
DE102006062383B4 (de) Halbleiterspeicherelement und System für ein Halbleiterspeicherelement
DE112012005060B4 (de) Höhere Energieeinsparung bei Speicher-Arrays
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE102008019522A1 (de) Halbleiterspeicherbauelement und zugehöriges Treiberverfahren, Verfahren zum Schreiben von Daten in einen Flashspeicher und mobiles Kommunikationssystem
DE102007050864B4 (de) Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen
DE102006054998A1 (de) Latenzsteuerschaltung, automatische Vorladesteuerschaltung, Halbleiterspeicherbauelement, Verfahren zum Steuern der Latenz und Verfahren zum Steuern eines Vorladevorgangs
DE102014100677A1 (de) System und Verfahren zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen
DE102014019386A1 (de) Lesen von Daten aus einer Speicherzelle
DE3834759A1 (de) Halbleiterspeichereinrichtung mit ablage-speicher und betriebsverfahren
DE102006016247A1 (de) Speicher, Datenverarbeitungssystem, Steuereinheit und Steuerverfahren
DE102012221806A1 (de) Speicher-Array mit doppelter Stromversorgung, das eine Steuerschaltung besitzt, die für Bitzeilen-Vorlaufladevorgänge dynamisch eine niedrigere von zwei Versorgungsspannungen auswählt, sowie ein zugehöriges Verfahren
DE102021115374A1 (de) Abschwächung des in zonen unterteilten namensraums unter verwendung des unterblock-modus
DE102011053359A1 (de) Latch-basierte Speichervorrichtung
DE102012104648A1 (de) Techniken zur Verifikation einer Verlässlichkeit eines Speichers
DE102007050424A1 (de) DRAM mit geringem Energieverbrauch und Verfahren zum Steuern desselben
DE102005035136A1 (de) Halbleiterbauelement und Speicherzelleninitialisierungsverfahren
DE112004002181T5 (de) Verfahren und Schaltungskonfiguration zum Auffrischen von Daten in einem Halbleiterspeicher
DE102005054432B4 (de) Direktzugriffsspeicher mit schnellem Spaltenzugriff
DE102014106909B4 (de) Verfahren zum Zugreifen auf einen Speicher und Speicherzugriffsschaltung
DE69835116T2 (de) Inhaltaddressierter Speicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative