DE102014100677B4 - Verfahren und Integrierte Schaltung zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen - Google Patents

Verfahren und Integrierte Schaltung zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen Download PDF

Info

Publication number
DE102014100677B4
DE102014100677B4 DE102014100677.1A DE102014100677A DE102014100677B4 DE 102014100677 B4 DE102014100677 B4 DE 102014100677B4 DE 102014100677 A DE102014100677 A DE 102014100677A DE 102014100677 B4 DE102014100677 B4 DE 102014100677B4
Authority
DE
Germany
Prior art keywords
access
access help
help
memory
memory cell
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.)
Active
Application number
DE102014100677.1A
Other languages
English (en)
Other versions
DE102014100677A1 (de
Inventor
Mahmut Ersin Sinangil
William J. Dally
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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
Priority claimed from US13/748,499 external-priority patent/US9460776B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102014100677A1 publication Critical patent/DE102014100677A1/de
Application granted granted Critical
Publication of DE102014100677B4 publication Critical patent/DE102014100677B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • 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/418Address 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/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
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

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

Abstract

Verfahren, aufweisend: Empfangen einer Adresse (108) für einen Speicher-Zugriff; Bestimmen, basierend auf der Adresse (108), dass Zugriffs-Hilfe für zumindest eine Speicher-Zelle (106) eines Speicher-Feldes (100), welches zu der Adresse korrespondiert, freigegeben ist; und Anwenden der Zugriffs-Hilfe auf die zumindest eine Speicher-Zelle (106), um den Speicher-Zugriff durchzuführen, Erzeugen einer Zugriffs-Hilfe-Karte, welche die zumindest eine Speicher-Zelle (106) spezifiziert, für welche die Zugriffs-Hilfe aktiviert ist, wobei Erzeugen der Zugriffs-Hilfe-Karte aufweist: Zugreifen auf das Speicher-Zelle-Feld (106), wobei die Zugriffs-Hilfe gesperrt ist; Identifizieren von fehlerhaften Speicher-Zellen des Speicher-Feldes (100); Zugreifen auf die fehlerhaften Speicher-Zellen des Speicher-Zell-Feldes (100), wobei die Zugriffs-Hilfe freigegeben ist; Angeben, in der Zugriffs-Hilfe-Karte, der fehlerhaften Speicher-Zellen, welche mit der freigegebenen Zugriffs-Hilfe bestehen.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Speicher-Schaltungen und insbesondere Zugriffs-Hilfe (access assist).
  • HINTERGRUND
  • Statische wahlfreier-Zugriff-Speicher-(random access memory)(SRAM)-Felder bzw. Arrays sind manchmal ausgelegt, um Spannungs-Hilfs-Schaltung zu umfassen, um Performance zu verbessern. Insbesondere kann Spannungs-Hilfe die Fähigkeit, von SRAM-Zellen zu lesen und auf SRAM-Zellen zu schreiben, verbessern und kann verhindern, dass gespeicherte Werte unbeabsichtigt während Lese- und Schreib-Operationen ausgetauscht bzw. vertauscht (flipped) werden. Existierende Hilfs-Mechanismen sind typischerweise für Worst Case Szenarios ausgelegt, um für einen weiten Bereich von Betriebs-Bedingungen und Fabrikations-Variationen verantwortlich zu sein. Dies kann dazu führen, dass die Hilfs-Schaltung relativ groß ist und eine beträchtliche Menge von Energie verbraucht.
  • Somit gibt es einen Bedarf das Problem von Zugriffs-Zuverlässigkeit zu verbessern.
  • Die US 2010/0207924 A1 beschreibt eine Vorrichtung zur Steuerung einer Anzeige mit einem Stromdetektor, der den Strom misst, der aus einer Anzeigevorrichtung herausfließt.
  • Die US 2011/0063932 A1 offenbart eine Speichervorrichtung mit vielen Speicherzellen, die Zugriffsteuerungen aufweist, mit dem ein Spannungslevel für Speicherzellen angehoben werden kann.
  • ZUSAMMENFASSUNG
  • Ein Verfahren und Integrierte Schaltung werden zum Durchführen von Adress-basierter Speicher-Zugriffs-Hilfe gemäß der unabhängigen Patentansprüche bereitgestellt. Eine Adresse wird für einen Speicher-Zugriff empfangen und, basierend auf der Adresse, wird eine Bestimmung gemacht, dass Zugriffs-Hilfe für zumindest eine Speicher-Zelle, welche der Adresse entspricht, freigegeben ist (enabled). Die Zugriffs-Hilfe wird auf die zumindest eine Speicher-Zelle angewendet, um den Speicher-Zugriff durchzuführen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A zeigt schematisch ein Beispiel-SRAM-Feld, welches mit Ausführungsformen von Spannungs-Verstärkungs-Mechanismen (voltage boost mechanisms), welche hierin beschrieben sind, bereitgestellt sein kann.
  • 1B zeigt schematisch eine SRAM-Zelle des SRAM-Feldes von 1A nach dem Stand der Technik.
  • 2A zeigt schematisch ein Beispiel einer Spannungs-Verstärkungs-Schaltung zum Bereitstellen einer verstärkten Spannung auf SRAM-Wortleitungen in Übereinstimmung mit einer Ausführungsform.
  • 2B zeigt eine Beispiel-Wellenform, welche während eines Betriebs der Spannungs-Verstärkungs-Schaltung von 2A auftritt, in Übereinstimmung mit einer Ausführungsform.
  • 3A zeigt schematisch ein Beispiel einer Spannungs-Verstärkungs-Schaltung zum Bereitstellen einer verstärkten Spannung auf SRAM-Bit-Leitungen, in Übereinstimmung mit einer Ausführungsform.
  • 3B zeigt Beispiel-Wellenformen, welche während eines Betriebs der Spannungs-Verstärkungs-Schaltung von 3A auftreten, in Übereinstimmung mit einer Ausführungsform.
  • 4A und 4B zeigen Beispiel-Kondensator-Felder zum Bereitstellen von variablen Pegeln von Spannungs-Hilfe an SRAM-Leitungen in Übereinstimmung mit einer Ausführungsform.
  • 5 stellt schematisch einen Mechanismus zum Bereitstellen eines variablen Pegels von Spannungs-Verstärkung basierend auf Adresse und anderen Parametern/Bedingungen dar, in Übereinstimmung mit einer Ausführungsform.
  • 6 illustriert ein Flussdiagramm eines Verfahrens zum Bereitstellen von Adress-basierter Speicher-Zugriffs-Hilfe nach dem Stand der Technik.
  • 7A illustriert die Speicher-Zelle-Schaltung von 1B, gekoppelt mit bzw. an eine programmierbare Zugriffs-Hilfe-Einheit 700, in Übereinstimmung mit einer Ausführungsform.
  • 7B illustriert ein Flussdiagramm eines Verfahrens zum Erzeugen einer oder mehrerer Hilfs-Karten (assist maps), welche benutzt werden, um Adress-basierte Speicher-Zugriffs-Hilfe durchzuführen, in Übereinstimmung mit einer Ausführungsform.
  • 8A illustriert ein anderes Flussdiagramm eines Verfahrens zum Durchführen von Adress-basierter Speicher-Zugriffs-Hilfe, nach dem Stand der Technik.
  • 8B illustriert ein Flussdiagramm eines Verfahrens zum Allozieren von Speicher unter Benutzung einer Hilfs-Karte in Übereinstimmung mit einer Ausführungsform.
  • 9 illustriert ein exemplarisches System, in welchem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorherigen Ausführungsformen implementiert werden kann.
  • DETAILLIERTE BESCHREIBUNG
  • Da Technologie vorangeschritten ist, sind SRAM-Geräte kleiner geworden und Betriebs-Spannungen haben sich verkleinert, was Energie-Einsparungen und Verbesserungen in Performance bereitstellt. Da diese Parameter vermindert worden sind, hat jedoch die Variabilität, welche intrinsisch in Fabrikations-Toleranzen und Betriebs-Bedingungen ist, ein größeres Potential, Negativ-Performance der Geräte zu beeinflussen. Insbesondere erlauben diese Verbesserungen Speicherung von Speicher-Zuständen mit geringeren Pegeln bzw. Levels von Ladung. Dies kann jedoch die Wahrscheinlichkeit erhöhen, dass das Gerät negativ durch Rauschquellen (z. B. umgebendes elektromagnetisches Rauschen, Rauschen, welches mittels anderer System-Komponenten ausgestrahlt wird, Energieversorgungs-Rauschen, etc.), durch Leck-Strom bzw. Ströme etc. beeinflusst wird. Spezifische Design-Herausforderungen umfassen ein Sicherstellen der Fähigkeit, zuverlässig von Zellen zu lesen und auf Zellen zu schreiben, und nachteilige Korruption von Speicher-Zuständen während Lese- und Schreib-Operationen zu vermeiden.
  • Spannungs-Hilfe (voltage assist) kann benutzt werden, diese Herausforderungen zu adressieren und erfolgreichen Betrieb in Anbetracht von sich vermindernden Spannungen und physikalischen Abmessungen sicherzustellen. Zum Beispiel können verschiedene Signale, Knoten, etc. über einen Bereich hinaus verstärkt werden, welcher mittels der positiven und negativen Versorgungen begrenzt ist, welche benutzt werden, anderenfalls bzw. andererseits die Speicherungs-Zellen zu betreiben. Wie es hierin benutzt ist, wird der Ausdruck „Spannungs-Verstärkung” und dergleichen benutzt, um sich auf irgendeine Spannung außerhalb des Spannungs-Versorgungs-Bereiches einer Speicher-Zelle zu beziehen, und kann daher z. B. bezeichnen ein Erhöhen eines Signals/Knotens auf einen Pegel oberhalb einer positiven Versorgung oder auf einen Pegel unterhalb einer negativen Versorgung.
  • Ein vorheriges Hilfs-Verfahren ist, kontinuierlich einen einzelnen verstärkten Spannungs-Pegel an alle der Wort-Leitungen und Bit-Leitungen des SRAM-Feldes bereitzustellen, z. B. mit einer Ladungs-Pumpe oder einer anderen Hilfs-Versorgung. Der verstärkte Spannungs-Pegel ist bei einer Design-Zeit ausgewählt, um Variationen in Performance und Verhalten von Zelle zu Zelle zu berücksichtigen, z. B. als ein Ergebnis von Geräte-Variationen, welche während einer Herstellung auftreten. Der Pegel muss auch alle der potentiellen Betriebs-Bedingungen und -Moden berücksichtigen. Dies bedingt notwendigerweise erhöhte Energie-Benutzung und dass Hilfe zu Zeiten angewendet wird, wenn es nicht benötigt ist, oder bei einem Pegel über oder verschieden von dem, welcher für eine bestimmte Wort-Leitung, Bit-Leitung oder Zelle benötigt ist. Ferner können Ladungs-Pumpen und dergleichen relativ groß in einer Abmessung sein (z. B. aufgrund von einem oder mehreren großen Kondensatoren), was sich negativ auf Größe, Kosten, Gewicht, etc. des Gewichtes auswirken kann.
  • Die vorliegende Diskussion stellt neue und verbesserte Verfahren zum Bereitstellen von Spannungs-Verstärkung bereit. In einer Ausführungsform ist Spannungs-Verstärkung selektiv erzeugt und dynamisch bei einem Pegel basierend auf der besonderen Speicher-Zelle(n), auf welche zugegriffen wird, angewendet, d. h. basierend auf der Adresse der Zelle. Zusätzlich zu Adress-basierter Spannungs-Verstärkung kann Verstärkung dadurch erzeugt sein, dass Ladung auf Wort-Leitungen und Bit-Leitungen kapazitiv gekoppelt ist, was somit den Bedarf nach einer Hilfs-Versorgung und ihre assoziierten Nachteile eliminiert.
  • Vor Diskutieren der spezifischen Verstärkungs-Mechanismen wird ein exemplarisches SRAM-Feld und -Zelle, mit welchem sie benutzt werden können, mit Bezug auf 1A und 1B beschrieben. 1A stellt schematisch ein Beispiel eines SRAM-Feldes 100 dar, welches mit den Verstärkungs-Systemen und -Verfahren, welche hierin beschrieben sind, implementiert sein kann. Feld 100 umfasst Bit-Leitungen 102 und Wort-Leitungen 104, auf welche im Allgemeinen als SRAM-Leitungen bezeichnet werden, welche benutzt sind, um auf SRAM-Zellen 106 zuzugreifen. Jede Zelle 106 ist bei der Kreuzung (intersection) zwischen einer oder mehreren Bit-Leitungen 102 und einer oder mehreren Wort-Leitungen 104 definiert. In typischen Konfigurationen ist jede SRAM-Zelle 106 bei der Kreuzung bzw. dem Schnitt von einer einzelnen Wort-Leitung 104 und einem Paar von Bit-Leitungen 102 definiert, wobei jede Zeile von SRAM-Zellen 106 an eine gemeinsame Wort-Leitung 104 gekoppelt ist und wobei jede Spalte von SRAM-Zellen 106 an ein gemeinsames Paar von Bit-Leitungen 102 gekoppelt ist, obwohl andere Konfigurationen möglich sind.
  • Um mit dem Speicher zu interagieren, stellt eine Kooperations-Einheit (z. B. CPU, GPU, etc.) eine Adresse 108 für eine oder mehrere bestimmte SRAM-Zellen 106 bereit, welche mittels einer peripheren Schaltung 110 empfangen ist, um entweder Daten 112 auf die adressierten SRAM-Zelle(n) zu lesen oder zu schreiben. Schaltung 110 kann z. B. Zeilen-Dekodierer 114 und Spalte-Dekodierer 116 umfassen, welche konfiguriert sind, Adresse 108 zu empfangen und dadurch Operationen zu initiieren, um auf die SRAM-Zelle(n), welche mittels der Adresse identifiziert ist, zuzugreifen. Sobald die gewünschte Zellen) selektiert worden sind, werden Daten 112 entweder von der adressierten SRAM-Zelle über Detektions- und Schnittstelle bildende Logik 118 abgerufen (gelesen) oder an die adressierte SRAM-Zelle über Logik 118 bereitgestellt (geschrieben). Es wird geschätzt sein, dass die in 1A illustrierten Komponenten für die Leichtigkeit des Verständnisses bereitgestellt sind und dass typische Speicher-Geräte zusätzliche und/oder verschiedene Komponenten in einigen Implementierungen umfassen können.
  • Hinwendend nun auf 1B ist eine einzelne SRAM-Zelle 106 von 1A schematisch bei dem Transistor-Level gezeigt. Spezifisch ist SRAM-Zelle 106 als eine Sechs-Transistor-„6T”-Zelle illustriert, obwohl die vorliegende Diskussion von Spannungs-Verstärkung auf andere SRAM-Konfigurationen anwendbar ist. Zum Beispiel kann sie auf eine Acht-Transistor-„8T”-Zelle angewendet werden. SRAM-Zelle 106 umfasst ein Paar von kreuzgekoppelten Invertern 128 zum Speichern eines einzelnen Speicher-Bits. Ein erster Inverter 128a umfasst Transistoren 130 und 132; ein zweiter Inverter 128b umfasst Transistoren 134 und 136. Die Inverter kooperieren, um komplementäre Zustände bei Speicher-Knoten 138 und 140 zu speichern, wobei jeder Inverter 128 Betrieb des anderen über eine positive Rückkopplung unterstützt (reinforcing). Wenn z. B. Speicher-Zelle 106 eine logische Eins (1) speichern würde, wird Knoten 138 bei einer logischen Eins (1) gehalten mit Knoten 140 bei einer logischen Null (0).
  • Ein Lesen einer Zelle 106 kann wie folgt voranschreiten. Zuerst werden Bit-Leitungen 102a und 102b „vorgeladen” auf die positive Versorgungs-Spannung 148 (z. B. VDD). Wort-Leitung 104 wird dann geschaltet (asserted), um Zuriffs-Transistoren 142 und 144, welche Knoten 138 bzw. 140 mit Bit-Leitungen 102a und 102b koppeln, freizugeben (enable). Unter der Annahme, dass Knoten 140 bei der negativen Versorgung (logisch 0) mittels des Inverters 128b gehalten wird (d. h. über Leitung von Transistor 134) und dass die Bit-Leitungen nicht länger aktiv getrieben sind, wird Bit-Leitung 102b durch Transistoren 134 und 144 vorgeladen. Wenn Bit-Leitung 102b vorgeladen ist, ist eine Differential-Spannung zwischen Bit-Leitungen 102a und 102b beobachtet, da Bit-Leitung 102a im Wesentlichen nahe der Versorgungs-Spannung aufgrund der intrinsischen Kapazität von Bit-Leitung 102a verbleiben kann. Dieses Spannungs-Differential ist z. B. über einen Differential-Detektions-Verstärker detektierbar, welcher an das Paar von Bit-Leitungen 102a und 102b gekoppelt ist, und Daten 102 in der Form eines binären Digital-Wertes werden basierend auf dem Spannungs-Differential bereitgestellt (z. B. über Detektions- und Schnittstelle-bildende Logik 116).
  • Ein Schreiben von SRAM-Zelle 106 kann wie folgt voranschreiten. Zuerst wird eine der Bit-Leitungen (z. B. Bit-Leitung 102a) auf einen gewünschten zu speichernden Wert über Treiber-Schaltung getrieben (z. B. über Schaltung 110), und Bit-Leitung 102b ist mit einem komplementären Wert getrieben. Für den Zweck dieses Beispiels ist der gewünschte Wert eine logische 1, was der positiven Versorgungs-Spannung 148 entspricht, und Bit-Leitung 102a wird daher auf die positive Versorgungs-Spannung getrieben, während Bit-Leitung 102b auf die negative Versorgungs-Spannung 150 getrieben ist. Sobald die Bit-Leitungen geeignet getrieben sind, wird Wort-Leitung 104 geschaltet (asserted) bzw. festgestellt, um die SRAM-Zelle 106 an Bit-Leitungen 102 zu koppeln. Sobald der Zugriffs-Transistor gekoppelt ist, versorgt die Seite, welche nach unten zieht (pulling down), seinen Inverter übermäßig mit Energie (overpowers), um dadurch den gewünschten Wert in die SRAM-Zelle zu schreiben.
  • Basierend auf dem Obigen wird es geschätzt werden, dass eine zuverlässige Lese-Operation von der Fähigkeit der SRAM-Zelle abhängen kann (z. B. über NMOS-Transistoren 130 und/oder 134), eine der vorgeladenen Bit-Leitungen zu der negativen Versorgungs-Spannung 150 (z. B. Masse) hin zu treiben. Ähnlich kann die Fähigkeit, zuverlässig Information auf die SRAM-Zelle zu schreiben, sich auf die Fähigkeit von einer der Bit-Leitungen stützen (z. B. über Treiber-Schaltung davon), einen von Knoten 138 und 140 auf die negative Versorgungs-Spannung dadurch zu ziehen, dass einer von PMOS-Transistoren 132 und 136 übermäßig mit Energie versorgt wird (overpowering), abhängig von dem zu schreibenden Zustand. In typischen Szenarien sind Zugriffs-Transistoren 142 und 144 kleiner als NMOS-Transistoren 130 und 134 bemessen, um so sicherzustellen, dass Zugriffs-Transistoren die NMOS-Transistoren nicht während einer Lese-Operation übermäßig mit Energie versorgen und die gespeicherte Information korrumpieren. Ähnlich können die Zugriffs-Transistoren größer als PMOS-Transistoren 132 und 136 bemessen sein, um so sicherzustellen, dass die PMOS-Transistoren, und somit die kreuzgekoppelten Inverter, fähig sind, während einer Schreib-Operation übermäßig mit Energie versorgt zu werden.
  • Wie oben erwähnt ist, können jedoch Variationen in der Herstellung und/oder in Betriebs-Bedingungen (z. B. Temperatur) zu einer beträchtlichen Variation in der Performance von individuellen Transistoren führen. Demgemäß kann SRAM-Zelle 106 gemäß einem Worst Case Szenario bemessen sein, z. B. mittels eines Erhöhens der relativen Bemessung der verschiedenen Transistoren. Solch eine Konfiguration kann die gewünschte Lese-/Schreib-Zuverlässigkeit zu Lasten von Größe und/oder Performance bereitstellen (z. B. aufgrund von erhöhter Zeit, Ladung bei den verschiedenen Knoten zu variieren).
  • Es kann daher wünschenswert sein, selektiv Spannungs-Hilfe für SRAM-Zelle(n) 106 von Speicher-Gerät 100 auf einer Wie-benötigt-Basis bereitstellen, um dadurch potentiell eine kleinere Zellen-Bemessung und/oder verminderten Energie-Verbrauch zu ermöglichen, ohne Lese-/Schreib-Zuverlässigkeit zu opfern. Wie illustriert ist, ist eine typische SRAM-Zelle mit fünf „Signalen” versorgt, nämlich zwei Bit-Leitung-Signalen 102, einem Wort-Leitungs-Signal 144, einer positiven Versorgung 148 und einer negativen Versorgung 150 (z. B. Masse). Demgemäß kann eine Einstellung von irgendeinem oder mehreren dieser Signale bei Performance helfen.
  • Dieses bedenkend zeigt 2A schematisch Spannungs-Verstärkungs-Schaltung 200 zum Bereitstellen einer verstärkten Spannung auf einer oder mehreren Wort-Leitungen 202 (z. B. Wort-Leitung 104) gemäß einer Ausführungsform der vorliegenden Offenbarung. Wie oben mit Bezug auf die typische SRAM-Zelle 106 beschrieben ist, kann sich die Fähigkeit, Daten auf eine SRAM-Zelle zu schreiben, auf die Fähigkeit stützen, einen der PMOS-Transistoren (z. B. Transistoren 132, 136) von einem kreuzgekoppelten Inverter-Paar zu überpowern (übermäßig mit Energie zu versorgen). Vergangene Zugangsweisen haben daher ein Bemessen der Zugriffs-Transistoren (z. B. Zugriffs-Transistoren 142 und 144) größer als die PMOS-Transistoren umfasst, um sicherzustellen, dass jeder Zugriffs-Transistor fähig ist, den geeigneten PMOS-Transistor zu überpowern (d. h. mittels eines Leitens einer größeren Menge von Strom). Vergangene Zugangsweisen haben auch ein Verstärken von Wort-Leitungen mittels eines Verbindens an eine fixe Höhere-Spannung-Versorgung umfasst.
  • Zusätzlich oder anstatt einer Bemessungs-Zugangsweise kann eine verstärkte Spannung auf die Zugriffs-Transistoren angewendet bzw. angelegt werden. Der Strom, welcher mittels eines NMOS-FET-Transistors (z. B. Zugriffs-Transistoren 142 und 144) geleitet wird, steigt mit dem Spannungs-Differential zwischen dem Gate-Anschluss (z. B. über Wort-Leitung 104 oder 202) und dem Source-Anschluss (z. B. über Bit-Leitung(en) 102) an. Die illustrierte Spannungs-Verstärkungs-Schaltung 200 von 2A ist konfiguriert, einen Spannungs-Pegel des Signals, welches auf Wort-Leitungen 202 angewendet ist, oberhalb des Pegels der positiven Versorgung zu erhöhen, um Performance der SRAM-Zellen zu erhöhen, auf welche zugegriffen wird.
  • Mit Bezug auf 2A und die assoziierten Wellenformen von 2B wird nun ein Beispiel-Verstärkungs-Betrieb beschrieben. Wenn eine bestimmte Wort-Leitung 202 nicht zugegriffen ist, wird die Wort-Leitung nicht-geschaltet bzw. festgestellt (deasserted) (z. B. mittels eines Treibens der Wort-Leitung auf die negative Versorgungs-Spannung), um die gekoppelten Zugriffs-Transistoren (z. B. Zugriffs-Transistoren 142 und 144) zu sperren (disable). Wie bei 252 von 2B illustriert ist, ist Aktives-Hoch-Signal D (204) angelegt an Transistor 206 geschaltet, was Transistor 206 freigibt und Wort-Leitung 202 auf die negative Versorgung 203 zieht/hält. Als nächstes, wie bei 254 illustriert ist, wird Signal D nicht-geschaltet (deasserted), um Wort-Leitung 202 von der negativen Versorgung zu unterbrechen bzw. entkoppeln.
  • Aktiv-Niedrig-Signal A' (210) wird dann bei 256 an Transistor 208 angelegt, um PMOS-Transistor 208 freizugeben. Wie bei 258 von 2B illustriert ist, wird die positive Versorgung verbunden und die Spannung auf Wort-Leitung 202 beginnt anzusteigen, wenn der Strom, welcher durch Transistor 208 geleitet ist, eine intrinsische Kapazität auf Wort-Leitung 202 lädt. Bei 260 wird Aktiv-Niedrig-Signal B' (212) an Transistor 214 angelegt, was Wort-Leitung 202 an Wort-Leitungs-Anschluss 218 von Wort-Leitung-Verstärkungs-Kondensator 216 bei Verstärkungs-Knoten 219 koppelt. Während Anschluss 218 von Kondensator 216 mit der Wort-Leitung gekoppelt ist, wird Wort-Leitungs-Verstärkungs-Befehl-Anschluss 220 von Kondensator 216 bei der negativen Versorgungs-Spannung mittels Signal C gehalten; dies stellt die Ladung über den Kondensator 216 auf das volle Versorgungs-Potential wieder her. Signal C, welches im Allgemeinen hierin als ein „Verstärkungs-Befehl-Signal” bezeichnet wird, kann z. B. auf jeden Wort-Leitung-Treiber 224 in einigen Ausführungsformen verteilt sein, wogegen das Verstärkungs-Befehl-Signal einer Teilmenge von Wort-Leitungs-Treibern 224 oder einem individuellen Treiber in anderen Ausführungsformen bereitgestellt werden kann.
  • Aktiv-Niedrig-Signal A' wird dann bei 262 nicht-geschaltet (deasserted), was somit Wort-Leitung 202 von beiden, der positiven Versorgung und der negativen Versorgung entkoppelt. Dieser entkoppelte oder „Floating”-Zustand von Wort-Leitung 202 erlaubt, dass die Wort-Leitung über die positive Versorgungs-Spannung 201 hinaus verstärkt wird. Bei 264 wird Aktives-Hoch-Signal C (222), welches an den Wort-Leitungs-Verstärkungs-Befehl-Anschluss 220 angelegt ist, geschaltet. Wenn dies erfolgt, ist Ladung, welche über Wort-Leitungs-Verstärkungs-Kondensator 216 gespeichert ist, mit der intrinsischen Kapazität von Wort-Leitung 202 geteilt bzw. gemeinsam benutzt (shared), um dadurch einen Anstieg in Spannung auf Verstärkungs-Knoten 219 über die Versorgungs-Spannung bei 266 hinaus zu bewirken, und somit einen Anstieg auf der gekoppelten Wort-Leitung 202 bei 268. Mit anderen Worten operiert die Spannungs-Verstärkungs-Schaltung 200, um die Spannung, welche bei Wort-Leitung 202 beobachtet wird, oberhalb bzw. über die positive Versorgungs-Spannung 201 hinaus dadurch zu verstärken, dass Wort-Leitungs-Verstärkungs-Kondensator 216 an die intrinsische Bit-Leitung-Kapazität von Wort-Leitung 202 gekoppelt wird. Signal C löst die Verstärkung aus und kann daher als ein „Wort-Leitung-Verstärkungs-Befehls-Signal” oder allgemeiner als ein „Verstärkungs-Befehl-Signal” bezeichnet werden.
  • Bei diesem Punkt können eine oder mehrere SRAM-Zelle(n), welche an eine Wort-Leitung 202 gekoppelt sind, mit gewünschter Information dadurch beschrieben werden, dass die Bit-Leitung(en) geeignet getrieben wird, z. B. wie oben mit Bezug auf die typische SRAM-Zelle 106 beschrieben ist. Die verstärkte Spannung auf Wort-Leitung 202 kann sicherstellen, dass gekoppelte Zugriffs-Transistoren) (z. B. Zugriffs-Transistoren 142 und 144) fähig sind, einen geeigneten Strom bereitzustellen, um die gewünschte Information zu schreiben. Sobald die Daten geschrieben sind, wird Signal C bei 270 nicht-geschaltet, um die Wort-Leitung auf die positive Versorgungs-Spannung zu entladen. Als nächstes ist das Aktive-Niedrig-Signal B' nichtgeschaltet, um dadurch Transistoren 214 zu sperren und Wort-Leitungs-Anschluss 218 von Verstärkungs-Kondensator 216 von Wort-Leitung 202 zu entkoppeln. Schließlich wird Signal D bei 274 geschaltet, um so Transistor 206 und niedrigere Wort-Leitung 202 freizugeben.
  • Durch Benutzen der intrinsischen Kapazität von jeder Wort-Leitung 202 kann die illustrierte Spannungs-Verstärkungs-Schaltung 200 weniger Raum als Hilfs-Versorgungen einnehmen, welche oft benutzt sind, um Spannungs-Hilfe in vorherigen Zugangsweisen bereitzustellen und welche typischerweise relativ große Komponenten einsetzen. Obwohl Verstärkungs-Kondensator 216 in einigen Ausführungsformen groß sein kann, kann sein Ausgabe-Verstärkungs-Knoten 219 an eine Mehrzahl von Wort-Leitung-Treibern 224 verteilt werden, welche jeweils an eine individuelle Wort-Leitung 202 gekoppelt sind. Auf diese Weise kann ein einzelner Verstärkungs-Kondensator über mehrere Zeilen hinweg benutzt werden, um selektive Steuerung über unabhängige Wort-Leitungs-Treiber 224 bereitzustellen (z. B. über Transistoren 214). Mittels eines selektiven und transienten Erzeugens einer verstärkten Spannung, wenn verglichen mit vorherigen, Konstante-Erzeugung-Zugangsweisen, kann die beschriebene Spannungs-Verstärkungs-Schaltung Energie-Verluste (z. B. aufgrund einer verminderten Konversion, Lecken und/oder Verteilungs-Verlusten) vermindern, verminderte physikalische Bemaßung bereitstellen und/oder kann auf andere Weise erhöhte Performance bereitstellen.
  • Spannungs-Verstärkungs-Schaltung 200 und/oder Signal(e) können in oder als Teil der Steuerlogik (z. B. Schaltung 110) eines bestimmten Speicher-Geräts implementiert sein. Es wird geschätzt sein, dass die oben beschriebenen Signale zum Zwecke eines Beispiels präsentiert sind und dass zusätzliche Konfigurationen (z. B. verschiedene Aktivierungs-Pegel, Logik-Familien, etc.) möglich sind, ohne von dem Geltungsbereich der vorliegenden Offenbarung abzuweichen. Obwohl die Wellenformen von 2B im Allgemeinen als zwischen einem negativen Versorgungs-Pegel VSS (z. B. Masse) und einem positiven Versorgungs-Pegel VDD schwingend illustriert sind, können verschiedene Konfigurationen Mechanismen zum dynamischen Einstellen der Schwingung eines bestimmten Signals umfassen. Solche Mechanismen können z. B. wünschenswert sein, um geeignetes Funktionieren von Spannungs-Verstärkungs-Schaltung 200 während der transienten Erzeugung von Spannungs-Verstärkung sicherzustellen.
  • Insbesondere können Spannungs-Übersetzung/Pegel-verschiebende Mechanismen (z. B. Einzelende- und/oder Differential-Kaskade-Treiber) benutzt werden, um dynamisch Signale einzustellen, um korrekten Betrieb während der Verstärkung aufrechtzuerhalten. Während eines „normalen” (z. B. nicht-verstärkten) Betriebs, sind Signale durch die positive Versorgungs-Spannung und die negative Versorgungs-Spannung beschränkt, aber während Verstärkung sind sie Pegel verschoben, so dass die durch die verstärkte Spannung und die negative Versorgungs-Spannung beschränkt sind. Dieses Pegel-Verschieben stellt einen gewünschten Betrieb der Spannungs-Verstärkungs-Schaltung über einen sich ändernden Spannungs-Bereich sicher. Ohne ein Pegel-Verschieben könnten PMOS-Transistoren 208 und/oder 214 unbeabsichtigt während einer Erzeugung der verstärkten Spannung freigegeben werden, wenn das jeweilige Gate-zu-Source-Spannungs-Differential (z. B. Spannungs-Differential zwischen der verstärkten Spannung und der positiven Versorgungs-Spannung) eine Schwellwert-Spannung von Transistoren 208 und/oder 214 übersteigt, z. B. da solche Betrachtungen nicht für NMOS-Transistoren gelten brauchen, brauchen bzw. können Signale, welche an NMOS-Transistoren bereitgestellt sind (z. B. Signal D bei Transistor 206) nicht Pegel-verschoben sein, obwohl es geschätzt ist, dass diese Szenarien für den Zweck eines Beispiels präsentiert sind und nicht beabsichtigt sind, in irgendeiner Weise zu begrenzen.
  • Zusätzlich zum Verstärken von Wort-Leitungen über die positive Versorgung hinaus kann Performance dadurch verbessert sein, dass Bit-Leitungen unterhalb einer negativen Versorgungs-Spannung verstärkt werden. In beiden Fällen werden Spannungen bei Anschlüssen der Zell-Zugriffs-Transistoren eingestellt. Die Fähigkeit der Zugriffs-Transistoren (z. B. Zugriffs-Transistoren 142 und 144) Strom zu leiten, steigt mit einem ansteigenden Gate-zu-Source-Spannungs-Differential an; somit ist eine erhöhte Strom-Leitung dadurch möglich, dass die Gate-Spannung erhöht wird (z. B. Erhöhen von Wort-Leitung-Spannung) und/oder dass die Source-Spannung erniedrigt wird (z. B. Erniedrigen von Bit-Leitungs-Spannung).
  • Hinwendend nun auf 3A und die begleitenden Wellenformen von 3B kann demgemäß Spannungs-Verstärkungs-Schaltung 300 benutzt werden, um die Bit-Leitung-Spannung dadurch zu verstärken, dass sie auf einen Pegel unterhalb der negativen Versorgung vermindert wird. Wie mit Bezug auf 1A diskutiert ist, sind Bitleitungen 302a und 302b auf eine positive Versorgungs-Spannung 301 vorgeladen, bevor eine SRAM-Zelle (z. B. SRAM-Zelle 106) an die Bit-Leitungen über einen oder mehrere Zugriffs-Transistoren (z. B. Zugriffs-Transistoren 142 und 144) gekoppelt ist. Somit, wie es bei 352 in den Wellenformen von 3B illustriert ist, ist Aktiv-Niedrig-Signal PC' (304), welches angewendet wird, um PMOS-Transistoren 306a und 306b vorzuladen, geschaltet, um die Transistoren freizugeben und sicherzustellen, dass die Bit-Leitungen bei der positiven Versorgungs-Spannung gehalten werden. Als nächstes, wie es bei 354 illustriert ist, ist Signal PC' nicht-geschaltet (deasserted), um Bit-Leitungen 302 von der positiven Versorgung zu trennen. Wie mit Wort-Leitungen 302, wird es geschätzt sein, dass jede Bit-Leitung 302 eine intrinsische Kapazität hat, welche die Bit-Leitung nahe der positiven Versorgungs-Spannung für eine Zeit auf ein Sperren von Vorlade-Transistoren 306 hin hält.
  • Sobald die Bit-Leitungen von der positiven Versorgung entkoppelt sind, ist eines von Signalen eN (308) und eP (310) geschaltet, um entweder Transistor 312 bzw. 314 freizugeben, abhängig davon, ob eine logische 1 oder eine logische 0 auf die adressierte SRAM-Zelle geschrieben wird. Zur Leichtigkeit des Verständnisses wird die Beschreibung der Spannungs-Verstärkungs-Schaltung mit Bezug auf Treiben von Bit-Leitung 302b zu einer negativen Versorgung 303 hin fortfahren mittels eines Feststellens von Aktiv-Hoch-Signal eP, welches an Transistor 314 bei 356 angelegt wird.
  • Wie bei 358 von 3B illustriert ist, beginnt die Spannung auf Bit-Leitung 302b zu fallen, wenn der Strom, welcher durch Transistor 314 geleitet wird, die intrinsische Kapazität von Bit-Leitung 302b entlädt. Bei 360 ist Aktiv-Hoch-Signal fP (315), welches an Transistor 316 angelegt ist, geschaltet, um dadurch Transistor 316 freizugeben, um Bit-Leitung 302b an Bit-Leitungs-Anschluss 317 von Bit-Leitungs-Verstärkungs-Kondensator 318 bei Verstärkungs-Knoten 319 zu koppeln. Bit-Leitungs-Verstärkungs-Befehls-Anschluss 320 von Kondensator 318 wird bei der positiven Versorgungs-Spannung mittels Signals G' (322) gehalten, welches hierin als ein „Bit-Leitung-Verstärkungs-Befehl-Signal” oder allgemeiner als ein „Verstärkungs-Befehl-Signal” bezeichnet wird. Das Koppeln von Bit-Leitungs-Anschluss 317 von Kondensator 318 an die negative Versorgung über Transistoren 316 und 314, während Aktiv-Niedrig-Signal G' nicht-geschaltet verbleibt, stellt die Ladung über dem Kondensator 318 auf das volle Versorgungs-Potential wieder her. Bei 362 ist Aktiv-Hoch-Signal eP nicht-geschaltet (deasserted), um somit Bit-Leitung 302b und Bit-Leitungs-Anschluss 317 von der negativen Versorgung zu entkoppeln und zu erlauben, dass Bit-Leitung 302b unterhalb von negativer Versorgungs-Spannung 303 verstärkt (boosted) wird.
  • Bei 364 ist Aktiv-Niedrig-Verstärkungs-Befehl-Signal G' geschaltet, um dadurch Ladung von Bit-Leitungs-Verstärkungs-Kondensator 318 kapazitiv an die intrinsische Bit-Leitungs-Kapazität von Bit-Leitung 302b bei Verstärkungs-Knoten 319 zu koppeln, um so Bit-Leitung 302b unterhalb der negativen Versorgung bei 366 zu verstärken (boost). Diese verstärkte Spannung bei Bit-Leitung 302b stellt die Spannungs-Hilfe bereit, welche benötigt sein kann, um sicherzustellen, dass die Zugriffs-Transistoren genügenden Strom bereitstellen, um wie gewünscht zu operieren.
  • Sobald die Zell-Zugriffs-Operation durchgeführt worden ist, wird Aktiv-Niedrig-Verstärkungs-Befehl-Signal G' bei 368 nicht-geschaltet (deasserted), was die Bit-Leitung auf die vorverstärkte negative Versorgungs-Spannung zurückkehrt. Als nächstes wird Signal fP bei 370 nicht-geschaltet, um Transistor 316 zu sperren und den Verstärkungs-Kondensator zu trennen. Schließlich wird Vor-Lade-Signal PC' bei 372 geschaltet, um die Bit-Leitung auf den Pegel der positiven Versorgung zurückzukehren.
  • Betrieb der Spannungs-Verstärkungs-Schaltung 300, wenn ein entgegengesetzter Zustand geschrieben würde, würde wie oben beschrieben voranschreiten, mit den folgenden Unterschieden: (i) das beschriebene Verhalten von Signal fP wird stattdessen mittels Signals fN durchgeführt, welches an Transistor 326 angewendet ist, und (ii) das Verhalten von Signal eP ist stattdessen mittels Signals eN ausgeführt, welches an Transistor 312 angelegt ist. Solch ein Betrieb wird somit die Spannung auf Bit-Leitung 302a unterhalb der negativen Versorgungs-Spannung verstärken. Signale eN, eP, fN und fP können z. B. über Spalte-Dekodier-Logik (z. B. über Spalte-Dekodierer 116) bereitgestellt sein, wogegen Signale PC' und G' gemeinsam über alle Spalten in einigen Ausführungsformen sein können. Es wird geschätzt sein, dass, wie mit Spannungs-Verstärkungs-Schaltung 200 von 2A, zumindest einige der Signale, welche an die Spannungs-Verstärkungs-Schaltung 300 angelegt sind, dynamisch Pegel-verschoben/übersetzt bzw. versetzt sein können, um einen korrekten Betrieb während beiden „normaler” und „verstärkter” Bedingungen sicherzustellen.
  • Wie oben erwähnt ist, ist eine typische SRAM-Zelle mit fünf „Signalen” versorgt, wobei jedes davon eingestellt werden kann, um Performance der SRAM-Zelle zu verbessern. Zusätzlich zum Verstärken von Wort-Leitungen oberhalb bzw. über eine positive Versorgungs-Spannung und Bit-Leitungen unterhalb einer negativen Versorgungs-Spannung, kann es wünschenswert sein, die positive Versorgungs-Spannung (z. B. Versorgungs-Spannung 148) und/oder die negativen Versorgungs-Spannungen (z. B. Versorgungs-Spannung 150), welche den SRAM-Zellen bereitgestellt sind, zu verstärken. Zum Beispiel kann eine positive Versorgungs-Spannung erhöht werden, um eine Lese-Toleranz (read margin) zu verbessern, oder kann vermindert werden, um Schreib-Toleranz zu verbessern. Ähnlich kann eine negative Versorgungs-Spannung erhöht werden, um Schreib-Toleranz zu verbessern, oder kann vermindert werden, um Lese-Toleranz zu verbessern. Die Schaltungen von 2A und 3A können auch benutzt werden, um Versorgungs-Spannungen zu erhöhen und zu erniedrigen.
  • Zusätzlich zum allgemeinen Bereitstellen von Spannungs-Verstärkung umfasst die vorliegende Beschreibung ein Bereitstellen einer spezifischen Menge von Spannungs-Verstärkung mittels eines Steuerns der Größe der Kapazität, welche in der oben beschriebenen kapazitiven Kopplung eingesetzt ist. Insbesondere hängt die Menge von Spannungs-Verstärkung, welche induziert ist, von der relativen Bemaßung des Verstärkungs-Kondensators (z. B. Verstärkungs-Kondensatoren 216 und 218) zu bzw. bzgl. der intrinsischen Kapazität der einen oder der mehreren gekoppelten SRAM-Leitung(en) ab. Wenn die Verstärkungs-Kapazität in Bezug auf die Kapazität der gekoppelten SRAM-Leitung(en) ansteigt, so tut dies auch die Menge von Spannungs-Verstärkung, welche bereitgestellt sein kann. Ansteigen der Größe des Verstärkungs-Kondensators ermöglicht ihm, mehr Ladung zu speichern und somit eine größere Änderung in der Spannung auf der gekoppelten SRAM-Leitung zu erzeugen, wenn das Verstärkungs-Befehls-Signal geschaltet ist, um das kapazitive Ladungs-Koppeln/Teilen zu bewirken.
  • Quantitativ hängt die Menge von Spannungs-Verstärkung VB oberhalb bzw. über oder unterhalb bzw. unter der Versorgung von der Kapazität des Verstärkungs-Kondensators (CB), der intrinsischen Kapazität der einen oder der mehreren gekoppelten SRAM-Leitung(en) (CI) und dem Spannungs-Bereich zwischen der positiven Versorgungs-Spannung und der negativen Versorgungs-Spannung (VRANGE) wie folgt ab:
    Figure DE102014100677B4_0002
    Zum Beispiel, wenn die Kapazität eines bestimmten Verstärkungs-Kondensators gleich der intrinsischen Kapazität der gekoppelten SRAM-Leitung(en) ist, ist der Betrag von verfügbarer Spannungs-Verstärkung, Nicht-Idealitäten ignorierend, gleich der Hälfte des Versorgungs-Spannungs-Bereichs.
  • Zusätzlich zum Auswählen von Verstärkungs-Kapazität bei Design-Phasen umfasst die vorliegende Beschreibung Mechanismen zum dynamischen Auswählen von Verstärkungs-Kapazität während des Betriebs des Gerätes. Verschiedene Betrachtungen können die Auswahl der Verstärkungs-Kapazität beeinflussen, um dynamisch verschiedene Verstärkungs-Pegel bereitzustellen. Wenn z. B. Betriebs-Temperaturen während der Benutzung fluktuieren, kann die Menge von Spannungs-Hilfe, welche bereitgestellt ist, ähnlich fluktuieren, um korrekte Geräte-Operation sicherzustellen. Verschiedene Pegel von Verstärkung können eingesetzt werden, um den Leistungs-Zustand des SRAM-Feldes oder von Schaltung und Logik zu berücksichtigen, welche von dem SRAM-Feld Gebrauch machen. Verstärkungs-Bedürfnisse können mit sich ändernden Geräte-Betriebs-Moden fluktuieren (z. B. variierende positive und/oder negative Versorgungs-Spannungen, variierende Takt-Frequenzen, etc.). Verschiedene Teile des SRAM-Feldes können verschiedene Pegel von Verstärkung basierend auf Testen erfordern, was verschiedenes Verhalten zeigt (z. B. eine Zelle benötigt mehr Verstärkung als eine andere).
  • Hinwendend nun auf 4A zeigt die Figur ein nicht-begrenzendes Beispiel von Verstärkungs-Kondensator-Feld 400 zum Bereitstellen von variablen Größen bzw. Mengen von Verstärkungs-Kapazität an Verstärkungs-Knoten 401 (z. B. Verstärkungs-Knoten 219 und/oder 319) und somit an irgendeine oder mehrere gekoppelte SRAM-Leitungen (z. B. über Verstärkungs-Schaltung 224 und/oder 319). Kondensator-Feld 400 kann z. B. für Verstärkungs-Kondensator 216 von Spannungs-Verstärkungs-Schaltung 200 und/oder für Verstärkungs-Kondensator 318 von Spannungs-Verstärkungs-Schaltung 300 in einigen Ausführungsformen ersetzt werden. Essentiell stellt das Feld eine Implementierung bereit, in welcher die Verstärkungs-Kapazität, welche an die Wort-Leitungen oder Bit-Leitungen und ihr freigebendes Signal gekoppelt ist, segmentiert ist bzw. sind, um Steuerung darüber zu erlauben, wie viel Kapazität während einer kapazitiven Ladungs-Kopplung benutzt wird. Obwohl das Kondensator-Feld 400 typischerweise in der Ausdehnung größer als Kondensatoren 216 und 318 sein wird, kann die Fähigkeit, dynamisch Verstärkungs-Pegel basierend auf Adresse und anderen Bedingungen zu variieren, bedeutende Vorteile bereitstellen. Ferner kann Kondensator-Feld 400 für mehrere SRAM-Leitungen (d. h. Wort-Leitungen und/oder Bit-Leitungen) benutzt werden, was erlaubt, dass seine Größe über diese SRAM-Leitungen amortisiert wird.
  • Wie es illustriert ist, kann Kondensator-Feld 400 eine Mehrzahl von Kondensator-Gruppen 402 umfassen, wobei jede einen oder mehrere Kondensatoren 404 umfasst, welche an ein Verstärkungs-Befehls-Signal 406 gekoppelt sind, welches segmentiert ist (Leitungen 406a, 406b und 406c konstituieren Signal-„Segmente” und tragen Signale C0, C1 und C2, welche individuell oder in irgendeiner Kombination geschaltet werden können). Signale C0, C1 und C2 sind somit eine segmentierte Äquivalente zu Verstärkungs-Befehl-Signal C (2A) und Verstärkungs-Befehl-Signal G' (3A). In einigen Ausführungsformen ist jeder Kondensator C1a–C1b gleich im Wert. Wenn somit die Kondensatoren wie angegeben in Potenzen von 2 gruppiert sind, stellt ein Feststellen von C0, C1 bzw. C2 1, 2 bzw. 4 „Einheiten” von Kapazität bereit.
  • Verstärkungs-Dekodier-Logik 408 kann bereitgestellt sein, um das Freigeben einer ausgewählten Menge bzw. Größe von Verstärkungs-Kapazität zu steuern. In dem Beispiel definiert Signal 409 die Größe von Verstärkungs-Kapazität, welche eingesetzt wird, und ist 3 Bits breit, entsprechend der Tatsache, dass das Feld 400 drei Gruppen von Kondensatoren hat. Jedes Bit steuert, ob Signale C0–C1 geschaltet sind; z. B., wenn Signal 409 einen Wert von {111} annimmt, entspricht dies einem Verstärkungs-Befehl-Signal, welches Ladung von 7 „Einheiten” von Kapazität auf die relevante Wort-Leitung/Bit-Leitung koppelt. Demgemäß kann Signal 409 benutzt werden, um irgendetwas von 0 bis 7 Einheiten von Kapazität auszuwählen. Wie es angegeben ist, kann Verstärkungs-Dekodier-Logik 408 auch auf ein globales Aktivierungs-Signal 410 antworten, was diktiert, ob irgendeine Größe von Verstärkung eingesetzt wird oder nicht. Wie unten diskutiert ist, kann der Wert von Signal 409 basierend auf der bestimmten Zelle(n), auf welche zugegriffen wird, und einer breiten Verschiedenheit von Betrachtungen gesteuert sein.
  • Kondensator-Felder können in einer breiten Verschiedenheit von Konfigurationen, welche anders sind als in den spezifischen gezeigten Beispielen, implementiert werden. Eine Variation ist, mehr (oder weniger) Gruppen von Kondensatoren zu benutzen – z. B. könnte ein 6-Bit-Signal benutzt werden, um zwischen 0 und 65 Einheiten von Kapazität auszuwählen. Ein einzelnes Kondensator-Feld kann für alle Wort-Leitungen (oder Bit-Leitungen) benutzt werden oder mehrere Felder können benutzt werden, wobei jedes für eine Teilmenge der Wort-Leitungen (oder Bit-Leitungen) als ein anderes Beispiel benutzt wird. Das Kondensator-Feld kann mit einem binären Auswahl-Signal, wie in 4A gezeigt ist, gesteuert werden oder es könnte ein Thermometer-kodiertes Steuer-Signal benutzen.
  • Noch mit Bezug auf 4A werden typischerweise eine oder mehrere Kondensator-Gruppen 402 zu einer gegebenen Zeit „gesperrt” (z. B. nicht zu der Spannungs-Hilfe beitragend). Da jedoch die gesperrten Kondensatoren an Verstärkungs-Knoten 401 gekoppelt bleiben, erhöhen sie nichtsdestotrotz die Belastung bzw. Laden und können potentiell Performance von Kondensator-Feld 400 vermindern (z. B. aufgrund von erhöhter Ladezeit auf Verstärkungs-Knoten 401).
  • Demgemäß illustriert 4B eine alternative Implementierung von Kondensator-Feld 400 von 4A, welche ein Schalt-Element 412 (z. B. FET-Transistor) umfasst, welches zwischen jedem Kondensator 404 und Verstärkungs-Knoten 401 gekoppelt ist. In anderen Ausführungsformen ist ein einzelner Schalter 412 zwischen jeder Kondensator-Gruppe 402 und Verstärkungs-Knoten 401 gekoppelt. Unabhängig von der spezifischen Konfiguration sind die Schalter operativ, ausgewählte Kondensatoren 404 von dem Verstärkungs-Knoten zu entkoppeln, um kapazitive Last bzw. kapazitives Laden zu vermindern. Die entkoppelten Kondensatoren werden daher nicht geladen und entladen während des Verstärkungs-Befehls-Zyklus, was potentiell Performance über das verbessern kann, was mit einem umgeschalteten Feld verfügbar ist. Obwohl es nicht illustriert ist, kann das Schalten mittels zusätzlicher Signale gesteuert sein, welche von Verstärkungs-Dekodier-Logik 408 bereitgestellt sind.
  • Benutzung der Kondensator-Felder von 4A und 4B erlaubt, Spannungs-Verstärkungs-Pegel dynamisch während des Betriebes basierend auf einem weiten Bereich von Faktoren zu ändern. Verstärkungs-Pegel bzw. Verstärkungs-Level können eingestellt werden basierend auf (1) dem Leistungs-Zustand des SRAM-Feldes oder Schaltung, welche auf das SRAM-Feld zugreift; (2) Temperatur; (3) der bestimmte durchgeführte Betrieb, z. B. Lesen gegenüber Schreiben; (4) gemessene Versorgungs-Spannung; und/oder (5) die Adresse der Zelle (auf welche zugegriffen wird). Bezüglich (5) kann irgendein Level von Granularität eingesetzt werden, was von Gruppen von Zeilen und Spalten bis hinab zu individuellen Zellen reicht.
  • Adress-basierte Variationen können auf einer beobachteten Performance des SRAM-Gerätes basiert sein, wie durch Testen oder andere Verfahren erhalten ist. In einigen Ausführungsformen kann das SRAM-Feld konfiguriert sein, Betrieb der SRAM-Zellen zu testen (z. B. über eingebaute Selbsttest-„BIST”-Mechanismen, etc.), um eine Menge bzw. eine Größe von Spannungs-Hilfe bereitzustellen zu bestimmen. Testen kann z. B. auf ein Hochfahren des Gerätes hin erfolgen, bei verschiedenen Intervallen, in Antwort auf bestimmte Betriebsbedingungen (z. B. Betriebs-Temperatur über einem vordefinierten Schwellwert, Änderung in Versorgungs-Spannung(en) und/oder Betriebs-Moden, etc.). Test-Ergebnisse können in verschiedenen Weisen gespeichert sein (z. B. Nachschau-Tabellen, Inhalt-adressierbare Speicher („CAM”, etc.) für zukünftige Benutzung beim Steuern von Verstärkungs-Pegeln.
  • 5 zeigt ein schematisches Beispiel eines Mechanismus zum Erzeugen eines spezifischen Verstärkungs-Levels dynamisch in Antwort auf eine Adresse und/oder andere Bedingungen, in der Form von Verstärkungs-CAM 500. Ein Adress-Signal 502 und ein Signal 504, Bedingungen/Parameter anders als Adresse spezifizierend, sind an den CAM als Eingaben bereitgestellt. Verstärkungs-CAM 500 speichert Verstärkungs-Level und stellt ein Nachschauen bereit, welches spezifische Eingabe-Werte und eine Kombination davon mit einem Verstärkungs-Pegel korreliert, was als ein Signal 406 ausgegeben ist, welches den spezifischen Pegel von Verstärkung kodiert, welcher einzusetzen ist. Mit Bezug auf 4A und 4B kann Verstärkungs-Pegel-Signal 506 als eine Eingabe 409 an die Verstärkungs-Dekodier-Logik 408 angewendet bzw. angelegt werden, um einen Pegel von Verstärkungs-Kapazität auszuwählen. In einer Implementierung gibt Verstärkungs-CAM 500 einen Voreinstellungs-Pegel von Verstärkung über Signal 506 aus, es sei denn, es gibt eine Übereinstimmung mit einem Eintrag in dem Verstärkungs-CAM, in welchem Fall ein spezifizierter Nicht-Voreinstellungs-Pegel von Verstärkung über Signal 506 ausgegeben wird.
  • Adress-Korrelationen in Verstärkungs-CAM 500 können bei irgendeinem Level von Granularität sein. Verstärkungs-Pegel können für individuelle Zeilen und Spalten oder für Gruppen von Zeilen und Spalten spezifiziert sein. In dem allgemeinsten Fall können bestimmte Verstärkungs-Pegel für individuelle Zellen spezifiziert sein. Ähnliche Flexibilität und Spezifität kann mit den anderen Bedingungen (Leistungszustand, Temperatur, Versorgungs-Spannung, Lesen gegenüber Schreiben, etc.) eingesetzt werden. Einträge in dem CAM können bei der Design-Phase oder während des Betriebs (z. B. über Testen) populiert bzw. bevölkert werden. Der CAM kann derartig eingerichtet sein, so dass eine spezifischere Übereinstimmung eine weniger spezifische Übereinstimmung überschreibt bzw. überstimmt. Zum Beispiel kann ein CAM-Eintrag die Verstärkung spezifizieren, welche auf eine Gruppe von vier Zeilen anzuwenden ist, während ein zweiter Eintrag die Verstärkung spezifiziert, welche auf eine Zeile der vier anzuwenden ist. Mit diesen zwei Einträgen werden drei der Zeilen die Verstärkung empfangen, welche an die vier-Zeile-Gruppe zugewiesen ist, während die übrige Zeile ihre individuelle Verstärkung empfängt.
  • Aspekte dieser Offenbarung sind mittels eines Beispiels und mit Bezug auf die illustrierten Ausführungsformen, welche oben aufgelistet sind, beschrieben worden. Komponenten, welche im Wesentlichen dieselben in einer oder mehreren Ausführungsformen sind, sind koordinativ identifiziert und sind mit minimaler Wiederholung beschrieben. Es wird jedoch bemerkt sein, dass Elemente, welche koordinativ identifiziert sind, auch zu einem gewissen Grad differieren können. Die Ansprüche, welche an diese Beschreibung angehängt sind, definieren eigentümlich den Gegenstand, welcher hierin beansprucht ist. Die Ansprüche sind nicht auf die Beispielstrukturen oder numerischen Bereiche, welche unten ausgeführt sind, begrenzt, noch auf Implementierungen, welche die hierin identifizierten Probleme oder Nachteile des momentanen Standes der Technik adressieren.
  • Adress-basierte SRAM-Zugriffs-Hilfen
  • Wie vorher erläutert ist, können verschiedene Typen von Zugriffs-Hilfen (d. h. Spannungs-Verstärkung) eingesetzt werden, um Lese- und Schreib-Zuverlässigkeit von SRAM-Speicher-Zellen (d. h. Bits) zu verbessern, ohne sich auf Ändern von Transistor-Größen zu stützen. Beispiele von verschiedenen Typen von Spannungs-Verstärkung umfassen Bit-Leitungs-Spannungs-Verstärkung, Wort-Leitungs-Spannungs-Verstärkung und Versorgungs-Spannungs-(VDD)-Verstärkung. In einer Ausführungsform kann die Bit-Leitungs-Spannungs-Verstärkung und die Versorgungs-Spannungs-Verstärkung während Schreib-Operationen freigegeben sein und während Lese-Operationen gesperrt sein, um ungewollte Seiten-Effekte während Lese-Operationen zu vermeiden. In einer Ausführungsform kann Wort-Leitungs-Spannungs-Verstärkung während Lese-Operationen oder während Schreib-Operationen benutzt werden.
  • In einer Ausführungsform wird die Bit-Leitung, welche den niedrigen Differential-Wert der Daten kodiert (d. h. die negative Bit-Leitung) dadurch verstärkt, dass die Spannung der negativen Bit-Leitung unterhalb des negativen Versorgungs-Spannungs-Pegels (z. B. VSS) erniedrigt wird, welcher der Speicher-Zelle bereitgestellt ist, was typischerweise Masse ist, um Zugriffs-Hilfe durchzuführen. In einer Ausführungsform wird die Bit-Leitung, welche den hohen Differential-Wert der Daten kodiert (d. h. die positive Bit-Leitung) dadurch verstärkt, dass die Spannung der positiven Bit-Leitung oberhalb des Hoch-Spannungs-Versorgungs-Pegels (z. B. VDD) erhöht wird, welcher der Speicher-Zelle bereitgestellt ist, um Zugriffs-Hilfe durchzuführen. In einer Ausführungsform vermindert VDD-Spannungs-Verstärkung (d. h. VDD-Kollaps) eine Spalte-Versorgungs-Spannung von der hohen Versorgungs-Spannung (VDD) auf einen kollabierten Spannungs-Pegel, welcher geringer ist als die hohe Versorgungs-Spannung, um Zugriffs-Hilfe durchzuführen. In einer Ausführungsform vermindert Wort-Leitungs-Spannungs-Verstärkung für eine Lese-Operation (d. h. treibt herunter) einen Spannungs-Pegel der Wort-Leitung entsprechend den Speicher-Zellen, auf welche zuzugreifen ist für die Lese-Operation, um Zugriffs-Hilfe durchzuführen. Umgekehrt erhöht (d. h. treibt darüber hinaus) eine Wort-Leitungs-Spannungs-Verstärkung für eine Schreib-Operation einen Spannungs-Pegel der Wort-Leitung entsprechend den Speicher-Zellen, auf welche zuzugreifen ist für die Schreib-Operation, um Zugriffs-Hilfe durchzuführen.
  • 6 illustriert ein Flussdiagramm eines Verfahrens 600 zum Durchführen von Adress-basierter Speicher-Zugriffs-Hilfe. Bei Schritt 605 wird eine Adresse für einen Speicher-Zugriff empfangen. In dem Kontext der folgenden Beschreibung kann eine Speicher-Zugriffs-Operation eine Lese-Operation oder eine Schreib-Operation sein. Die Adresse entspricht zumindest einer Speicher-Zelle in einem Speicher-Feld von Speicher-Zellen, auf welche zuzugreifen ist. Bei Schritt 610 wird, basierend auf der Adresse, eine Bestimmung gemacht, dass Zugriffs-Hilfe für die zumindest eine Speicher-Zelle, welche der Adresse entspricht, freigegeben ist. Bei Schritt 615 ist die Zugriffs-Hilfe auf die zumindest eine Speicher-Zelle angewendet, um den Speicher-Zugriff durchzuführen. Zusätzlich zu der Adresse kann die Zugriffs-Hilfe auch basierend auf einer Nicht-Adresse-Bedingung freigegeben oder gesperrt sein, einschließlich eines oder mehrerer von (1) dem Leistungs-Zustand des SRAM-Feldes oder von Schaltung, welche konfiguriert ist, auf das RAM-Feld zuzugreifen, (2) Betriebs-Bedingungen (z. B. gemessene Temperatur, gemessene Versorgungs-Spannung, Betriebs-Frequenz, oder skalierte Versorgungs-Spannung), und (3) dem Typ der bestimmten durchgeführten Operation (z. B. Lesen oder Schreiben). In einer Ausführungsform kann der Versorgungs-Spannungs-Pegel skaliert sein auf einen oder mehrere vordefinierte Spannungs-Pegel, um Energie-Verbrauch zu vermindern, oder erhöht werden, um Verarbeitungs-Performance zu verbessern.
  • Wie vorher erläutert, kann irgendein Level von Granularität eingesetzt werden, wenn Zugriffs-Hilfe basierend auf der Adresse freigegeben oder gesperrt wird. Zum Beispiel kann die Zugriffs-Hilfe für individuelle Speicher-Zellen, welche mittels der Adresse spezifiziert sind, mittels einer oder mehrerer Zeilen von Speicher-Zellen, mittels einer oder mehrerer Spalten von Speicher-Zellen, oder für irgendeine andere Gruppierung der Speicher-Zellen, welche zumindest zum Teil der Adresse entsprechen, freigegeben werden.
  • 7A illustriert die Speicher-Zelle-Schaltung 106 von 1B, gekoppelt an eine programmierbare Zugriffs-Hilfe-Einheit 700 in Übereinstimmung mit einer Ausführungsform. Die programmierbare Zugriffs-Hilfe-Einheit 700 umfasst die Bit-Leitung-Verstärkungs-Teilschaltung 300 von 3A, die Wort-Leitungs-Verstärkungs-Teilschaltung 200 von 2A, den Verstärkungs-CAM 500 von 5 und eine Versorgungs-Kollaps-Teilschaltung 720. Der Verstärkungs-CAM 500 empfängt die Adresse und Nicht-Adress-Bedingung 504 für einen Speicher-Zugriff und erzeugt ein oder mehrere Zugriffs-Hilfe-Steuer-Signale, welche an die Bit-Leitungs-Verstärkungs-Teilschaltung 300, die Wort-Leitungs-Verstärkungs-Teilschaltung 200, und eine Versorgungs-Kollaps-Teilschaltung 720 ausgegeben werden, um selektiv die verschiedenen Typen von Zugriffs-Hilfe anzuwenden, welche mittels der Bit-Leitungs-Verstärkungs-Teilschaltung 300, der Wort-Leitungs-Verstärkungs-Teilschaltung 200 und einer Versorgungs-Kollaps-Teilschaltung 720 durchgeführt werden. Jeder Typ von Zugriffs-Hilfe und Kombination von verschiedenen Typen von Zugriffs-Hilfe ist eine Variation von Zugriffs-Hilfe, welche mittels der programmierbaren Zugriffs-Hilfe-Einheit 700 bereitgestellt sein kann.
  • Wie in 7A gezeigt ist, sind, anstatt die Sources der Transistoren 132 und 136 direkt mit VDD zu koppeln, die Sources der Transistoren 132 und 136 an VDD durch einen Hochzieh-Transistor (pull-up transistor) 731 innerhalb einer Versorgungs-Kollaps-Teilschaltung 720 gekoppelt. In einer Ausführungsform ist Zugriffs-Hilfe für eine Schreib-Operation mittels einer Kombination von Verstärkung der negativen Bit-Leitung 702b und eines Kollabierens der Spalte-Versorgungs-Spannung 722 für die Speicher-Zelle erreicht, welche beschrieben wird. Die programmierbare Zugriffs-Hilfe-Einheit 700 kann konfiguriert sein, die Spalte-Versorgungs-Spannung 722 zu kollabieren, welche an die Speicher-Zell-Schaltung 106 während einer Schreib-Operation bereitgestellt ist, indem die Spalte-Versorgungs-Spannung 722 von der hohen Versorgungs-Spannung (VDD) auf einen kollabierten Spannungs-Pegel reduziert wird, welcher niedriger ist als die hohe Versorgungs-Spannung. Ein Kollabieren der Spalte-Versorgungs-Spannung 722 vermindert den Spannungs-Pegel, welcher den Heraufzieh-Transistoren 132 und 136 der Speicher-Zell-Schaltung 106 bereitgestellt ist.
  • Verstärken der negativen Bit-Leitung 702a erhöht die Gate-Source-Spannung (Vgs) des Passier-Transistors (pass transistor) 142 und Knoten 138 ist niedriger gezogen verglichen mit Bereitstellen der (nicht verstärkten) niedrigen Versorgungs-Spannung bei Bit-Leitung 702a. Die Source-Gate-Spannung (Vsg) des Hochzieh-Transistors 136 wird erhöht, um dadurch den Hochzieh-Transistor 136 und den Passier-Transistor 142 zu stärken (strengthening). Der Spannungs-Kollaps vermindert die Spalte-Versorgungs-Spannung 722 und vermindert die Vsg auf dem Hochzieh-Transistor 132, um dadurch den Hochzieh-Transistor 132 zu schwächen. Man bemerke, dass ein Benutzen von Hoch-Versorgungs-Spannungs-Kollaps allein auch die Stärke des Hochzieh-Transistors 136 vermindern wird (was nicht gewünscht ist) und Ziehen von Knoten 140 auf hoch wird schwieriger sein. Kombinieren der negative-Bit-Leitungs-Verstärkung mit dem Hohe-Versorgungs-Spannung-Kollaps wirkt jedoch der Verminderung in der Stärke des Hochzieh-Transistors 136 entgegen.
  • In einem anderen Beispiel ist die Bit-Leitung 702b bei dem niedrigen Spannungs-Pegel = VSS, die Bit-Leitung 702a ist bei dem hohen Spannungs-Pegel = VDD und die Speicher-Zell-Schaltung 106 hält den entgegengesetzten Wert, wobei Knoten 138 bei dem niedrigen Spannungs-Pegel ist und Knoten 140 bei dem hohen Spannungs-Pegel ist. Die programmierbare Zugriffs-Hilfe-Einheit 700 ist konfiguriert, die negative Bit-Leitung 702b zu verstärken und die Spalte-Versorgungs-Spannung 722 während einer Schreib-Operation zu kollabieren. Verstärken von Bit-Leitung 702b erhöht den Vgs-Passier-Transistor 144, welcher Knoten 140 niedriger ziehen wird, verglichen mit Bereitstellen der (nicht-verstärkten) niedrigen Versorgungs-Spannung (z. B. VSS) bei der negativen Bit-Leitung 702b. Die Vsg auf dem Hochzieh-Transistor 132 ist erhöht, um dadurch den Hochzieh-Transistor 132 und den Passier-Transistor 144 zu stärken. Der Spannungs-Kollaps vermindert die Spalte-Versorgungs-Spannung 722 und vermindert die Vsg auf dem Hochzieh-Transistor 136, um dadurch den Hochzieh-Transistor 136 zu schwächen. Man bemerke, dass Benutzen des Hoch-Versorgungs-Spannungs-Kollapses allein auch die Stärke des Hochzieh-Transistors 132 vermindern wird (was nicht gewünscht ist) und Ziehen von Knoten 138 hoch wird schwierig sein. Kombinieren der negativen-Bit-Leitung-Verstärkung mit dem Hohe-Versorgungs-Spannung-Kollaps wirkt jedoch der Verminderung in der Stärke des Hochzieh-Transistors 132 entgegen.
  • Wenn der Spannungs-Kollaps für die Speicher-Zell-Schaltung 106 freigegeben ist, ist der (p-Typ-Metalloxid-Halbleiter) PMOS-Transistor 731 mittels des Verstärkungs-CAM 500 gesperrt, so dass die Spalte-Versorgungs-Spannung 722 floated. Man bemerke, dass, weil die Spalte-Versorgungs-Spannung 722 vorher auf die hohe Versorgungs-Spannung gezogen wurde, die floatende Spalte-Versorgungs-Spannung 722 bei einem hohen Spannungs-Pegel ist. Wenn der Spannungs-Kollaps nicht freigegeben ist, wird die Spalte-Versorgungs-Spannung 722 auf die hohe Versorgungs-Spannung mittels des PMOS-Transistors 731 hochgezogen. Um eine Schreib-Operation zu vollenden, muss das Hochziehen (pullup) 136 innerhalb der Speicher-Zell-Schaltung 106 den niedrigen internen Knoten 140 hochziehen (unter der Annahme, dass die verstärkte Bit-Leitung 702b hoch ist und verstärkte Bit-Leitung 702a niedrig ist). So dass der Hochzieh-Transistor 136 den 140 Knoten hochziehen kann, sollte die Spalte-Versorgungs-Spannung 722 auf den hohen Versorgungs-Spannungs-Pegel wieder hergestellt werden, bevor die Wort-Leitung 704 negiert wird (d. h. abgeschaltet wird). Um den Hochzieh-Transistor 136 stark zu halten, sollte die negative Bit-Leitung 702a noch verstärkt werden, wenn die hohe Versorgungs-Spannung, z. B. VDD, auf die Spalte-Versorgungs-Spannung 722 wieder hergestellt ist.
  • Obwohl nur eine einzelne Speicher-Zelle-Schaltung 106 in 7A gezeigt ist, können mehrere Speicher-Zell-Schaltungen 106 in einem Feld, welches zwei oder mehr Zeilen hat, konfiguriert sein. Jede Zeile ist separat aktiviert, gemäß einer Adresse und die Wort-Leitung 704 ist geschaltet bzw. gesetzt (asserted), um Lese- und Schreib-Operationen durchzuführen. Speicher-Zell-Schaltungen 106 in einem Feld können in einer oder mehreren Spalten organisiert sein, wobei ein Teil der Adresse benutzt ist, um zwischen den verschiedenen Spalten für Lese- und Schreib-Operationen auszuwählen. Die Spalte-Versorgung 722 ist die Spalte-Versorgungs-Spannung, welche mittels der Spalte-Versorgungs-Kollaps-Teilschaltung 720 an Speicher-Zell-Schaltungen 106 in einer Spalte des SRAM-Feldes bereitgestellt ist. Die Bit-Leitungs-Verstärkungs-Teilschaltung 300 kann zwischen zwei oder mehr Spalten eines SRAM-Feldes geteilt bzw. gemeinsam benutzt werden. Die programmierbare Zugriffs-Hilfe-Einheit 700 kann auch mit keiner Spalte dazwischen kommend (interleaving) benutzt werden oder kann zwischen mehr als zwei Spalten des SRAM-Feldes gemeinsam benutzt werden. In einer Ausführungsform kann jede Variation von Zugriffs-Hilfe auf individuelle Speicher-Zellen oder eine Teilmenge von Speicher-Zellen angewendet werden, um Speicher-Zugriff durchzuführen.
  • Die programmierbare Zugriffs-Hilfe-Einheit 700 kann die Anzahl von Gates und/oder Verzögerung für einen Timing-kritischen-Pfad während Speicher-Zugriffen erhöhen, weil der Verstärkungs-CAM 500 für jeden Speicher-Zugriff gelesen wird, um die Zugriffs-Hilfe-Steuer-Signale zu erzeugen. In einer Ausführungsform ist die programmierbare Zugriffs-Hilfe-Einheit 700 in einer Pipeline angeordnet, um mit der Latenz der Adress-Dekodierung für den SRAM übereinzustimmen (match). In einer anderen Ausführungsform erfolgt das Lesen des Verstärkungs-CAM 500 während einer Vor-Lade-Phase einer Speicher-Zugriffs-Operation und die Anwendung der Zugriffs-Hilfe ist während einer Phase angewendet, wenn die Wort-Leitung und/oder Bit-Leitung an Speicher-Zellen gekoppelt ist, um die Speicher-Zellen, welche der Adresse entsprechen, zu lesen oder zu beschreiben. In einer Ausführungsform wird der Verstärkungs-CAM 500 nicht für jeden Speicher-Zugriff gelesen und ein spekulatives oder lernendes Schema ist benutzt, um zu bestimmen, ob Zugriffs-Hilfe für einen bestimmten Zugriff anzuwenden ist oder nicht. Wenn z. B. die letzte Adresse, auf welche in der Adresse zugegriffen wurde, unmittelbar vor oder nach der momentanen Adresse ist, wird dieselbe Zugriffs-Hilfe, welche für die letzte Adresse spezifiziert war, für die Speicher-Zellen angewendet, welche der momentanen Adresse entsprechen.
  • Der Boost-CAM 500 kann konfiguriert sein, eine oder mehrere Zugriffs-Hilfe-Karten (access assist maps) zu speichern, um Zugriffs-Hilfe-Signale basierend auf der Adresse 502 und/oder Nicht-Adress-Bedingung 504 zu erzeugen. Eine Zugriffs-Hilfe-Karte gibt Adressen eines Speicher-Feldes an, welche Speicher-Zellen entsprechen, für welche eine Zugriffs-Hilfe-Variation freigegeben ist (d. h. irgendeine Kombination von einem oder mehr von Bit-Leitungs-Spannungs-Verstärkung, Wort-Leitungs-Spannungs-Verstärkung und Versorgungs-Spannungs-Kollaps). Die bestimmte Zugriffs-Hilfe-Variation für die eine oder die mehreren Speicher-Zellen, welche einer Adresse entsprechen, können mittels einer Bit-Maske spezifiziert sein.
  • Für irgendeinen bestimmten Typ von Zugriffs-Hilfe kann die Zugriffs-Hilfe-Karte auch einen Level bzw. Pegel von Zugriffs-Hilfe spezifizieren. Zum Beispiel können verschiedene Pegel oder Stärken von Spannungs-Verstärkung für verschiedene Speicher-Zellen spezifiziert sein. Der bestimmte Level für eine Zugriffs-Hilfe-Variation für die eine oder die mehreren Speicher-Zellen, welche einer Adresse entsprechen, können auch mittels der Bit-Maske spezifiziert sein. Verschiedene Zugriffs-Hilfe-Karten oder Teile einer Zugriffs-Hilfe-Karte können für verschiedene Nicht-Adresse-Bedingungen, wie etwa Zugriffs-Operationen, benutzt werden. Zum Beispiel kann eine erste Zugriffs-Hilfe-Karte benutzt werden für Lese-Operationen und eine zweite Zugriffs-Hilfe-Karte kann für Schreib-Operationen benutzt werden.
  • Einige der Speicher-Zellen, welche einer Adresse entsprechen, brauchen bzw. können keine Zugriffs-Hilfe erfordern, während eine oder mehrere verschiedenen Variationen von Zugriffs-Hilfe erfordern können, welche mittels der Zugriffs-Hilfe-Karte spezifiziert sind. Wenn keine der Speicher-Zellen, welche einer Adresse entsprechen, Zugriffs-Hilfe erfordert, wird die Adresse nicht in einer Zugriffs-Hilfe-Karte gespeichert. Daher kann die Anzahl von Einträgen in einer Zugriffs-Hilfe-Karte ansteigen, wenn die Anzahl von Speicher-Zellen, welche Zugriffs-Hilfe erfordern, ansteigt. Wenn die Zugriffs-Hilfe nur für die individuellen Speicher-Zellen angewendet ist, welche Zugriffs-Hilfe erfordern, dann kann Energie-Verbrauch verglichen damit vermindert werden, dass Zugriffs-Hilfe für alle der Speicher-Zellen in einem Feld angewendet wird.
  • Energie-Verbrauch kann jedoch dadurch vermindert werden, dass Zugriffs-Hilfe auf eine Teilmenge der Speicher-Zellen in dem Feld angewendet wird, welche eine Teil einer Adresse oder einem Bereich von Adressen entspricht, selbst wenn alle der Speicher-Zelle in der Teilmenge nicht Zugriffs-Hilfe erfordern. Beispiele von Teilmengen umfassen, sind jedoch nicht darauf beschränkt, die Speicher-Zellen in einer Zeile eines Speicher-Feldes und ein Teilblock von N × M-Speicher-Zellen, wobei N und M ganze Zahlen sind, welche größer sind als oder gleich sind wie eins. In einer Ausführungsform kann eine Zugriffs-Hilfe-Variation für jede Speicher-Zelle in der Teilmenge spezifiziert sein. Ein Vorteil eines Anwendens von Zugriffs-Hilfe auf eine Teilmenge von Speicher-Zellen, welche einer Adresse entsprechen, ist, dass die Anzahl von Einträgen in der Zugriffs-Hilfe-Karte(n) innerhalb des Verstärkungs-CAM 500 vermindert werden kann, weil die Granularität der Adresse reduziert ist. Benutzen von Speicher-Zell-Teilmengen erlaubt, dass willkürlich Größenbemessene Bereiche des Speicher-Feldes mit einem einzelnen Eintrag einer Zugriffs-Hilfe-Karte adressiert werden. Dies kann zum Adressieren von fehlerhaften Speicher-Zellen nützlich sein, welche räumlich in dem physikalischen Layout des Speicher-Feldes korreliert sind.
  • Alternativ kann bzw. braucht die Zugriffs-Hilfe-Karte nur spezifisch eine „Worst Case”-Zugriffs-Hilfe für eine Teilmenge von Speicher-Zellen, welche einer Adresse entsprechen, spezifizieren. In einer Ausführungsform ist die Worst Case-Zugriffs-Hilfe eine Kombination der verschiedenen Variationen von Zugriffs-Hilfe für alle der Speicher-Zellen in der Teilmenge, für welche Zugriffs-Hilfe freigegeben ist. Ein Vorteil eines Anwendens von Zugriffs-Hilfe auf eine Teilmenge von Speicher-Zellen ist, dass die Größe der Zugriffs-Hilfe-Karte(n) innerhalb des Verstärkungs CAM 500 vermindert ist, weil die Granularität der Adresse vermindert ist, und eine einzelne Variation von Zugriffs-Hilfe ist für mehrere Speicher-Zellen spezifiziert anstatt eine Variation von Zugriffs-Hilfe für jede individuelle Speicher-Zelle zu spezifizieren, welche der Adresse entspricht. Ferner kann die Granularität der Adresse dynamisch geändert werden, so dass die Anzahl von Speicher-Zellen in der Teilmenge vermindert oder erhöht werden kann, um dadurch die Energie, welche verbraucht ist, um die Zugriffs-Hilfe durchzuführen, zu erhöhen bzw. zu vermindern.
  • Wenn eine Nicht-Adress-Bedingung 504 zusammen mit der Adresse 502 bereitgestellt ist, kann die Zugriffs-Hilfe-Variation, welche mittels der Zugriffs-Hilfe-Karte spezifiziert ist, basierend auf der Nicht-Adresse-Bedingung 504 modifiziert werden. Insbesondere kann der Verstärkungs-CAM 500 oder programmierbare Zugriffs-Hilfe-Einheit 700 konfiguriert sein, einen Pegel von Spannungs-Verstärkung basierend auf einer Nicht-Adresse-Bedingung 504 zu erhöhen oder zu vermindern. Alternativ kann eine andere Zugriffs-Hilfe-Karte für jede Nicht-Adresse-Bedingung 504 erzeugt werden. In einer Ausführungsform kann der Verstärkungs-CAM 500 mit einer ternärer-Inhalt-adressierbarer-Speicher-(ternary content adressable memory) (TCAM)-Struktur implementiert sein. Die Zugriffs-Hilfe-Karte ist erzeugt, indem die Funktion jeder Speicher-Zelle oder einer Teilmenge in dem Speicher-Feld unter Benutzung von verschiedenen Variationen von Zugriffs-Hilfe charakterisiert wird. In einer Ausführungsform ist die Hilfs-Karte dadurch erzeugt, dass die Funktion für jede adressierbare Stelle in dem Speicher-Feld unter Benutzung von verschiedenen Variationen von Zugriffs-Hilfe und verschiedenen Nicht-Adresse-Bedingungen 504 charakterisiert wird.
  • 7B illustriert ein Flussdiagramm eines Verfahrens 750 zum Erzeugen von einer oder mehreren Hilfs-Karten, welche benutzt sind, um Adress-basierte Speicher-Zugriffs-Hilfe durchzuführen, in Übereinstimmung mit einer Ausführungsform. Obwohl das Verfahren 750 in dem Kontext eines Programms beschrieben ist, welches mittels eines Prozessors ausgeführt ist, kann das Verfahren 750 auch mittels einer maßgeschneiderten Schaltung oder mittels einer Kombination einer maßgeschneiderten Schaltung und eines Programms durchgeführt werden. Bei Schritt 755 wird auf jede Adresse eines Speicher-Feldes mit einer Zugriffs-Hilfe deaktiviert zugegriffen, so dass keine Zugriffs-Hilfe während der Lese- und/oder Schreib-Operationen angewendet ist. Bei Schritt 757 wird eine Scheitern-Karte bzw. Fehler-Karte spezifiziert, welche die fehlerhaften Speicher-Zellen spezifiziert. Die Fehler-Karte wird in einer Zugriffs-Hilfe-Karte oder in einem anderen Speicher gespeichert. Adressen, welche Speicher-Zellen entsprechen, welche nicht bei Lese-Operationen und Schreib-Operationen fehlschlagen, erfordern nicht irgendeine Variation von Zugriffs-Hilfe und müssen nicht in der Scheitern-Karte oder in einer Zugriffs-Hilfe-Karte gespeichert werden.
  • Bei Schritt 760 wird auf die Adressen von fehlerhaften Zellen (gemäß der Scheitern-Karte), wobei eine Variation von Zugriffs-Hilfe freigegeben ist, zugegriffen, um eine Zugriffs-Hilfe-Karte für die Variation von Zugriffs-Hilfe zu erzeugen. Die Adressen, welche mit Zugriffs-Hilfe deaktiviert passiert sind bzw. bestanden haben (have passed), werden nicht während Schritt 760 zugegriffen. Die Variation von Zugriffs-Hilfe, welche freigegeben ist, kann irgendeine Kombination von Zugriffs-Hilfe sein, welche mittels der programmierbaren Zugriffs-Hilfe-Einheit 700 unterstützt ist. Bei Schritt 765 werden die passierenden Speicher-Zellen identifiziert und eine Angabe der passierenden Speicher-Zellen wird gespeichert, um eine Zugriffs-Hilfe-Karte für die Variation von Zugriffs-Hilfe zu erzeugen, welche bei Schritt 760 angewendet wurde. Bei Schritt 770 ist es bestimmt, ob eine andere Variation von Zugriffs-Hilfe mittels der programmierbaren Zugriffs-Hilfe-Einheit unterstützt ist. Wenn eine andere Variation von Zugriffs-Hilfe unterstützt ist, dann sollten die fehlerhaften Adressen, welche der Scheitern-Karte entsprechen, welche bei Schritt 757 gespeichert ist, für die anderen Variationen von Zugriffs-Hilfe mittels eines Zurückkehrens zu Schritt 760 charakterisiert werden.
  • Anderenfalls wird bei Schritt 775 bestimmt, ob irgendeine der fehlerhaften Speicher-Zellen für zumindest eine Variation der Zugriffs-Hilfe nicht besteht. Mit anderen Worten gibt es keine Variation der Zugriffs-Hilfe, für welche auf die Speicher-Zelle zuverlässig zugegriffen werden kann (d. h. bestehen) und die Speicher-Zelle wird als fehlerhaft betrachtet. Wenn zumindest eine fehlerhafte Speicher-Zelle existiert, dann werden bei Schritt 780 die fehlerhaften Speicher-Zellen mit redundanten Speicher-Zellen ersetzt, bevor zu Schritt 785 fortgeschritten wird. Auf die redundanten Speicher-Zellen sollten während Schritten 755 und 760 zugegriffen werden, um die redundanten Speicher-Zellen zu charakterisieren. Wenn möglich, sollten die redundanten Zellen, welche benutzt werden, um die fehlerhaften Speicher-Zellen zu ersetzen, ohne Zugriffs-Hilfe funktionieren. Ersetzungs-redundante Zellen, welche eine gewisse Variation von Zugriffs-Hilfe erfordern, können jedoch benutzt werden, um fehlerhafte Speicher-Zellen zu ersetzen. Die Zugriffs-Hilfe-Karten sollten demgemäß aktualisiert werden, wenn Ersetzung erfolgt.
  • Wenn es bei Schritt 775 keine fehlerhaften Speicher-Zellen gibt, dann wird bei Schritt 785 bestimmt, ob eine andere Betriebs-Bedingung existiert. Wenn eine andere Betriebs-Bedingung existiert (z. B. verschiedene Betriebs-Spannung, Temperatur, etc.), dann können die Speicher-Zellen-Zugriffe für jede der anderen Betriebs-Bedingungen über alle der verschiedenen Zugriffs-Hilfe-Variationen charakterisiert werden, um zusätzliche Zugriffs-Hilfe-Karten zu erzeugen. Eine Zugriffs-Hilfe-Karte kann für verschiedene Bereiche einer bestimmten Betriebs-Bedingung erzeugt werden. Zum Beispiel können zwei oder mehr diskrete Spannungs-Pegel in den Betriebs-Spannungs-Bereich des Speicher-Feldes beim Hochstarten ausgewählt werden und separate Zugriffs-Hilfe-Karten können für jeden Bereich erzeugt werden. Wenn die Betriebs-Spannung herabgestuft wird, kann eine Auf-Chip-Überwachungs-Schaltung die Betriebs-Spannung messen und die Zugriffs-Hilfe-Karte, welche zum Zugreifen des Speichers zu benutzen ist, auswählen. Anstatt mehrere Zugriffs-Hilfe-Karten zu speichern, können zwei Zugriffs-Hilfe-Karten erzeugt werden, eine für das hohe Ende des gemessenen Spannungs-Bereichs und eine für das niedrige Ende des gemessenen Spannungs-Bereichs. Ähnlich können separate Zugriffs-Hilfe-Karten für verschiedene gemessene Temperatur-Werte oder Bereiche erzeugt werden.
  • Anstatt eine Zugriffs-Hilfe-Karte für jede Betriebs-Bedingung oder jeden Betriebs-Bedingungs-Bereich zu erzeugen, können die Zugriffs-Hilfe-Variationen, welche in einer oder mehreren Zugriffs-Hilfe-Karten spezifiziert sind, für eine oder mehrere der verschiedenen Betriebs-Bedingungen modifiziert werden (z. B. erhöht oder erniedrigt um einen vorbestimmten Betrag bzw. Größe basierend auf der Betriebs-Bedingung). Wie in 7B gezeigt ist, ist, wenn eine verschiedene Betriebs-Bedingung bei Schritt 785 existiert, dann bei Schritt 760 die Betriebs-Bedingung geändert, und der Prozess wird beginnend bei Schritt 755 wiederholt.
  • Die Struktur, welche implementiert ist, die eine oder die mehreren Zugriffs-Hilfe-Karten zu speichern, kann volatil sein, so dass die Zugriffs-Hilfe-Karte nach jedem Herunterfahren des SRAM oder eines Teils des SRAMs einschließlich des Verstärkungs-CAM 500 regeneriert wird. In einer Ausführungsform kann eine Zählzahl von Benutzungs-Zyklen, während welcher jede Zugriffs-Hilfe-Karte gelesen ist, gehalten werden und wenn die Zählzahl größer als ein vorbestimmter Wert für eine Zugriffs-Hilfe-Karte ist, kann die Zugriffs-Hilfe-Karte unter Benutzung des in 7B gezeigten Verfahrens 750 regeneriert werden. In einer anderen Ausführungsform ist die Struktur, welche implementiert ist, um die eine oder die mehreren Zugriffs-Hilfe-Karten zu speichern, nicht-volatil und die Zugriffs-Hilfe-Karten können regeneriert werden, nachdem eine Zeitdauer abgelaufen ist, weil sich das SRAM-Verhalten über die Zeit ändern kann, d. h., wenn der SRAM altert. Die Nicht-Adresse-Bedingung 504 kann auch einen Alterungsfaktor umfassen, welcher einer oder mehr Zeitdauern entspricht, so dass die bestimmte Zugriffs-Hilfe, welche angewendet ist, basierend auf einem Altern des SRAMs fein eingestellt werden kann.
  • 8A illustriert ein anderes Flussdiagramm eines Verfahrens 800 zum Durchführen von Adress-basierter Speicher-Zugriffs-Hilfe. Obwohl das Verfahren 800 in dem Kontext eines Programms beschrieben ist, welches mittels eines Prozessors ausgeführt ist, kann das Verfahren 800 auch mittels einer maßgeschneiderten Schaltung oder mittels einer Kombination einer maßgeschneiderten Schaltung und eines Programms durchgeführt werden. Bei Schritt 805 empfängt die programmierbare Zugriffs-Hilfe 700 eine Adresse für einen Speicher-Zugriff. Bei Schritt 806 empfängt die programmierbare Zugriffs-Hilfe-Einheit 700 eine Nicht-Adresse-Bedingung, welche mit der Adresse assoziiert ist. Bei Schritt 810 bestimmt die programmierbare Zugriffs-Hilfe-Einheit 700, ob Zugriffs-Hilfe für die Speicher-Adresse freigegeben ist basierend auf der Adresse und der Nicht-Adresse-Bedingung.
  • Bei Schritt 815 erzeugt die programmierbare Zugriffs-Hilfe-Einheit 700 die Zugriffs-Hilfe-Steuer-Signale, welche auf das Speicher-Feld angewendet werden, um den Zugriff durchzuführen. Die Zugriffs-Hilfe-Steuer-Signale können konfiguriert sein, Zugriffs-Hilfe für eine oder mehrere Speicher-Zellen zu sperren und/oder eine Variation von Zugriffs-Hilfe für eine oder mehrere Speicher-Zellen anzuwenden, für welche Zugriffs-Hilfe freigegeben ist.
  • Die programmierbare Zugriffs-Hilfe-Einheit 700 kann konfiguriert sein, Speicher innerhalb des Speicher-Feldes zur Benutzung als ein Zwischenspeicher oder eine Register-Datei zu allozieren. Wenn die Menge bzw. Größe von Speicher, welcher für eine Allozierung nachgefragt ist, geringer ist als die totale Kapazität des Speicher-Feldes, kann die programmierbare Zugriffs-Hilfe-Einheit 700 einen Teil des Speicher-Feldes allozieren, um die Allozierung basierend auf einer oder mehreren Zugriffs-Hilfe-Karten zu erfüllen. Die Allozierung kann sich dynamisch basierend auf der Arbeits-Belastung ändern und die programmierbare Zugriffs-Hilfe-Einheit 700 kann die Allozierung des Speicher-Feldes ändern, um die Allozierung zu erhöhen oder zu erniedrigen basierend auf einer oder mehreren Zugriffs-Hilfe-Karten. Insbesondere kann die programmierbare Zugriffs-Hilfe-Einheit 700 den Teil des Speichers dadurch allozieren, dass die Anzahl von Speicher-Zellen, für welche Zugriffs-Hilfe freigegeben ist, minimiert wird, um den Energie-Verbrauch für die Allozierung zu vermindern.
  • Wenn eine Speicher-Allozierung vermindert wird, kann ferner die Teilmenge von Speicher-Zellen entsprechend jeder Adresse einer Zugriffs-Hilfe-Karte in der Größe vermindert werden, um spezifischere Zugriffs-Hilfe-Steuerung für den allozierten Speicher bereitzustellen. Unter der Annahme, dass jede Teilmenge von Speicher-Zellen acht Speicher-Zellen umfasst, und eine Zugriffs-Hilfe-Variation für jede Teilmenge spezifiziert ist, wenn die Größe der Allozierung um 1/8 vermindert ist, kann z. B. eine Zugriffs-Hilfe-Variation für jede individuelle Speicher-Zelle anstatt für jede Teilmenge von acht Speicher-Zellen spezifiziert sein.
  • 8B illustriert ein Flussdiagramm eines Verfahrens 825 zum Allozieren von Speicher unter Benutzung einer Hilfs-Karte in Übereinstimmung mit einer Ausführungsform. Bei Schritt 830 empfängt die programmierbare Zugriffs-Hilfe-Einheit 700 eine Speicher-Allozierungs-Anfrage. Bei Schritt 835 bestimmt die programmierbare Zugriffs-Hilfe-Einheit 700, ob die Größe der Allozierung unter Benutzung von Speicher-Zellen, für welche Zugriffs-Hilfe deaktiviert ist, aufgenommen bzw. befriedigt werden kann. Wenn dem so ist, aktualisiert bei Schritt 845 die programmierbare Zugriffs-Hilfe-Einheit 700 eine Allozierungs-Karte, um eine Gruppe von Speicher-Zellen zu spezifizieren, welche nicht Zugriffs-Hilfe erfordern, um die Allozierungs-Anfrage zu erfüllen.
  • Anderenfalls wählt bei Schritt 840 die programmierbare Zugriffs-Hilfe-Einheit 700 eine Allozierung von Speicher-Zellen basierend auf einer oder mehreren Zugriffs-Hilfe-Karten aus, welche für das Speicher-Feld erzeugt worden sind. Die Allozierung ist ausgewählt, um die Zugriffs-Hilfe zu minimieren, welche für den allozierten Speicher benötigt ist. Bei Schritt 845 aktualisiert dann die programmierbare Zugriffs-Hilfe-Einheit 700 die Allozierungs-Karte, um die ausgewählten Speicher-Zellen zu spezifizieren, um die Allozierungs-Anfrage zu erfüllen.
  • Unter Benutzung einer Adress-basierten Zugriffs-Hilfe oder einer Kombination einer Adress- und Nicht-Adress-basierten Zugriffs-Hilfe kann die Energie, welche verbraucht ist, spezifische Stellen in einem Speicher zu lesen und zu schreiben, vermindert werden verglichen mit Benutzen einer Zugriffs-Hilfe, um alle der Stellen in dem Speicher zu lesen und/oder zu schreiben. Die Zugriffs-Hilfe-Karte, welche erzeugt ist, kann auch während einer Speicher-Allozierung benutzt werden, um die Energie zu vermindern, welche verbraucht ist, mittels eines Auswählens von Speicher-Zellen, welche keine Zugriffs-Hilfe erfordern, oder was die Zugriffs-Hilfe, welche erfordert ist, minimiert.
  • 9 illustriert ein exemplarisches System 900, in welchem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorherigen Ausführungsformen implementiert werden kann. Insbesondere kann die Adress-basierte Hilfe-Technik, welche mittels der programmierbaren Speicher-Zugriffs-Hilfe-Einheit 700 implementiert ist, für ein oder mehrere der Speicher- oder Register-Elemente eingesetzt werden, welche sich auf die SRAM-Speicher-Schaltung abstützen. Wie gezeigt ist, ist ein System 900 einschließlich zumindest eines Zentral-Prozessors 901, welcher mit einem Kommunikations-Bus 902 verbunden ist, bereitgestellt. Der Kommunikations-Bus 902 kann unter Benutzung irgendeines geeigneten Protokolls, wie etwa PCI (Peripheral Component Interconnect), PCI-Express, AGP (Accelerated Graphics Port), HyperTransport oder irgendein anderes Bus- oder Punkt-zu-Punkt-Kommunikations-Protokoll(s) implementiert werden. Das System 900 umfasst auch einen Haupt-Speicher 904. Steuer-Logik (Software) und Daten sind in dem Haupt-Speicher 904 gespeichert, welcher die Form eines wahlfreier-Zugriff-Speichers (RAM) annehmen kann.
  • Das System 900 umfasst auch Eingabe-Geräte 912, einen Grafik-Prozessor 906 und eine Anzeige 908, d. h. eine konventionelle CRT (Kathoden-Strahlröhre), LCD (Flüssigkristall-Anzeige), LED (Licht-emittierende Diode), Plasma-Anzeige oder dergleichen. Benutzer-Eingabe kann von den Eingabe-Geräten 912, z. B. Tastatur, Maus, Berührfeld, Mikrofon und dergleichen empfangen werden. In einer Ausführungsform kann der Grafik-Prozessor 906 eine Mehrzahl von Schattierungs-Modul, ein Rasterisierungs-Modul, etc. umfassen. Jedes der vorangehenden Module kann sogar auf einer einzelnen Halbleiter-Plattform untergebracht sein, um eine Grafik-Verarbeitungs-Einheit (GPU) zu bilden.
  • In der vorliegenden Beschreibung kann sich eine einzelne Halbleiter-Plattform auf einen einzelnen unitären Halbleiter-basierten integrierte-Schaltung oder Chip beziehen. Es sollte bemerkt werden, dass der Ausdruck einzelne Halbleiter-Plattform sich auch auf Mehr-Chip-Module mit erhöhter Konnektivität beziehen kann, welche Auf-Chip-Betrieb simulieren, und welche wesentliche Verbesserungen über ein Benutzen von konventioneller Zentral-Verarbeitungs-Einheit (CPU) und Bus-Implementierung machen. Natürlich können die verschiedenen Module auch separat oder in verschiedenen Kombinationen von Halbleiter-Plattformen nach den Wünschen des Benutzers situiert sein.
  • Das System 900 kann auch einen sekundären Speicher 910 umfassen. Der sekundäre Speicher 910 umfasst z. B. ein Festplatte-Laufwerk und/oder ein entfernbares Speicher-Laufwerk, was ein Floppydisk-Laufwerk, ein Magnetband-Laufwerk, ein Kompaktdisk-Laufwerk, ein Digitale-versatile-Disk-(DVD)-Laufwerk, Aufzeichnungs-Gerät, universaler serialer Bus (USB)-Flash-Speicher repräsentiert. Das entfernbare Speicher-Laufwerk liest von und/oder schreibt auf eine entfernbare Speicher-Einheit in einer wohl bekannten Weise.
  • Computer-Programme oder Computer-Steuer-Logik-Algorithmen können in dem Haupt-Speicher 904 und/oder dem sekundären Speicher 910 gespeichert sein. Solche Computer-Programme, wenn ausgeführt, befähigen das System 900, verschiedene Funktionen durchzuführen. Der Speicher 904, der sekundäre Speicher 910 und/oder irgendeiner anderer Speicher sind mögliche Beispiele von Computer-lesbaren Medien.
  • In einer Ausführungsform kann die Architektur und/oder Funktionalität der verschiedenen vorherigen Figuren in dem Kontext des Zentral-Prozessors 901, des Grafik-Prozessors 906 und integrierte-Schaltung (nicht gezeigt) implementiert sein, welche fähig ist von zumindest einem Teil der Fähigkeiten von beiden dem Zentral-Prozessor 911 und dem Grafik-Prozessor 906, einem Chip-Satz (d. h. eine Gruppe von integrierten Schaltungen, welche ausgelegt sind, als eine Einheit zum Durchführen von betreffenden Funktionen zu arbeiten und verkauft zu werden, etc.) und/oder irgendeine andere integrierte Schaltung für diesen Zweck.
  • Noch weiter kann die Architektur und/oder Funktionalität der verschiedenen vorherigen Figuren in dem Kontext eines Allgemeincomputer-Systems, eines Schaltungsplatte-Systems, eines Spielkonsole-Systems, welches für Unterhaltungszwecke dediziert ist, eines Anwendungs-spezifischen Systems, und/oder irgendeines anderen gewünschten Systems implementiert sein. Zum Beispiel kann das System 900 die Form eines Schreibtisch-Computers, eines Laptop-Computers, Servers, Arbeitsstation, Spielkonsole, eingebettetes System, und/oder irgendein anderer Typ von Logik annehmen. Noch weiter kann das System 900 die Form von verschiedenen anderen Geräten annehmen einschließlich, aber nicht darauf beschränkt, ein persönlicher digitaler Assistent-(PDA)-Gerät, ein mobiles Telefongerät, ein Fernseher, etc.
  • Während es nicht gezeigt ist, kann ferner das System 900 mit einem Netzwerk gekoppelt sein (z. B. ein Telekommunikations-Netzwerk, Lokalbereichs-Netzwerk (LAN), drahtloses Netzwerk, Fernbereichs-Netzwerk (WAN), wie etwa das Internet, Peer-to-Peer-Netzwerk, Kabel-Netzwerk, oder dergleichen) für Kommunikations-Zwecke.

Claims (15)

  1. Verfahren, aufweisend: Empfangen einer Adresse (108) für einen Speicher-Zugriff; Bestimmen, basierend auf der Adresse (108), dass Zugriffs-Hilfe für zumindest eine Speicher-Zelle (106) eines Speicher-Feldes (100), welches zu der Adresse korrespondiert, freigegeben ist; und Anwenden der Zugriffs-Hilfe auf die zumindest eine Speicher-Zelle (106), um den Speicher-Zugriff durchzuführen, Erzeugen einer Zugriffs-Hilfe-Karte, welche die zumindest eine Speicher-Zelle (106) spezifiziert, für welche die Zugriffs-Hilfe aktiviert ist, wobei Erzeugen der Zugriffs-Hilfe-Karte aufweist: Zugreifen auf das Speicher-Zelle-Feld (106), wobei die Zugriffs-Hilfe gesperrt ist; Identifizieren von fehlerhaften Speicher-Zellen des Speicher-Feldes (100); Zugreifen auf die fehlerhaften Speicher-Zellen des Speicher-Zell-Feldes (100), wobei die Zugriffs-Hilfe freigegeben ist; Angeben, in der Zugriffs-Hilfe-Karte, der fehlerhaften Speicher-Zellen, welche mit der freigegebenen Zugriffs-Hilfe bestehen.
  2. Verfahren gemäß Anspruch 1, wobei die Zugriffs-Hilfe zumindest eines von Bit-Leitungs-Spannungs-Verstärkung, Wort-Leitung-Spannungs-Verstärkung und Versorgungs-Spannung-Verstärkung aufweist.
  3. Verfahren gemäß Anspruch 2, wobei die Zugriffs-Hilfe einen Pegel von Spannungs-Verstärkung spezifiziert.
  4. Verfahren gemäß Anspruch 1, wobei Anwenden der Zugriffs-Hilfe aufweist: Anwenden einer ersten Zugriffs-Hilfe-Variation auf eine erste Speicher-Zelle (106) der zumindest einen Speicher-Zelle; und simultanes Anwenden einer zweiten Zugriffs-Hilfe-Variation auf eine zweite Speicher-Zelle der zumindest einen Speicher-Zelle (106).
  5. Verfahren gemäß Anspruch 1, ferner aufweisend Empfangen einer Nicht-Adresse-Bedingung und Bestimmen, dass die Zugriffs-Hilfe freigegeben ist basierend auf der Nicht-Adresse-Bedingung.
  6. Verfahren gemäß Anspruch 5, wobei die Nicht-Adresse-Bedingung eines oder mehr von einer gemessenen Temperatur, einer gemessenen Versorgungs-Spannung, einer Betriebs-Frequenz, eines Alterungs-Faktors und einer skalierten Versorgungs-Spannung aufweist.
  7. Verfahren gemäß Anspruch 5, wobei die Nicht-Adresse-Bedingung eines oder mehr von einer Lese-Operation oder einer Schreib-Operation aufweist.
  8. Verfahren gemäß Anspruch 5, ferner aufweisend Modifizieren der Zugriffs-Hilfe basierend auf der Nicht-Adresse-Bedingung.
  9. Verfahren gemäß Anspruch 1, wobei die Zugriffs-Hilfe-Karte eine Variation der Zugriffs-Hilfe spezifiziert, welche auf die zumindest eine Speicher-Zelle anzuwenden ist.
  10. Verfahren gemäß Anspruch 1, wobei die Zugriffs-Hilfe-Karte eine erste Variation der Zugriffs-Hilfe für eine erste Speicher-Zelle korrespondierend zu der Adresse spezifiziert und eine zweite Variation der Zugriffs-Hilfe für eine zweite Speicher-Zelle korrespondierend zu der Adresse spezifiziert.
  11. Verfahren gemäß Anspruch 1, ferner aufweisend Allozieren eines Teils des Speicher-Feldes basierend auf der Zugriffs-Hilfe-Karte.
  12. Verfahren gemäß Anspruch 1, ferner aufweisend: Erzeugen einer ersten Zugriffs-Hilfe-Karte, welche eine erste Speicher-Zelle spezifiziert, für welche die Zugriffs-Hilfe freigegeben ist, für eine erste Betriebs-Bedingung; und Erzeugen einer zweiten Zugriffs-Hilfe-Karte, welche eine zweite Speicher-Zelle spezifiziert, für welche die Zugriffs-Hilfe freigegeben ist, für eine zweite Betriebsbedingung.
  13. Verfahren gemäß Anspruch 1, ferner aufweisend: Erzeugen einer ersten Zugriffs-Hilfe-Karte, welche eine erste Speicher-Zelle spezifiziert, für welche eine erste Variation der Zugriffs-Hilfe freigegeben ist, für eine Betriebs-Bedingung; und Erzeugen einer zweiten Hilfe-Karte, welche die erste Speicher-Zelle spezifiziert, für welche eine zweite Variation der Zugriffs-Hilfe freigegeben ist, für die Betriebs-Bedingung.
  14. Verfahren gemäß Anspruch 1, ferner aufweisend Ersetzen einer fehlerhaften Speicher-Zelle durch eine redundante Speicher-Zelle.
  15. Integrierte Schaltung, aufweisend: ein Speicher-Feld von Speicher-Zellen; und eine Zugriffs-Hilfe-Schaltung, welche mit dem Speicher-Feld von Speicher-Zellen gekoppelt ist und konfiguriert ist, die Verfahren gemäß irgendeinem der Ansprüche 1–14 durchzuführen.
DE102014100677.1A 2013-01-23 2014-01-22 Verfahren und Integrierte Schaltung zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen Active DE102014100677B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/748,499 US9460776B2 (en) 2013-01-23 2013-01-23 SRAM voltage assist
US13/748,499 2013-01-23
US14/147,411 2014-01-03
US14/147,411 US9208900B2 (en) 2013-01-23 2014-01-03 System and method for performing address-based SRAM access assists

Publications (2)

Publication Number Publication Date
DE102014100677A1 DE102014100677A1 (de) 2014-07-24
DE102014100677B4 true DE102014100677B4 (de) 2017-07-20

Family

ID=51064605

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014100677.1A Active DE102014100677B4 (de) 2013-01-23 2014-01-22 Verfahren und Integrierte Schaltung zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen

Country Status (4)

Country Link
US (1) US9208900B2 (de)
CN (1) CN103943141A (de)
DE (1) DE102014100677B4 (de)
TW (1) TWI569280B (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460776B2 (en) 2013-01-23 2016-10-04 Nvidia Corporation SRAM voltage assist
US10650882B2 (en) * 2014-10-15 2020-05-12 Taiwan Semiconductor Manufacturing Company, Ltd. Static random access memory with a supplementary driver circuit and method of controlling the same
US9431097B2 (en) * 2014-12-22 2016-08-30 Qualcomm Incorporated Volatile/non-volatile SRAM device
TWI587300B (zh) 2015-02-06 2017-06-11 円星科技股份有限公司 Sram模組與sram模組之寫入控制方法
CN105989872B (zh) * 2015-02-12 2019-08-09 円星科技股份有限公司 Sram模块与sram模块的写入控制方法
US9984730B2 (en) 2015-02-23 2018-05-29 Qualcomm Incorporated Negative supply rail positive boost write-assist circuits for memory bit cells employing a P-type field-effect transistor (PFET) write port(s), and related systems and methods
US9947406B2 (en) 2015-02-23 2018-04-17 Qualcomm Incorporated Dynamic tag compare circuits employing P-type field-effect transistor (PFET)-dominant evaluation circuits for reduced evaluation time, and related systems and methods
US9741452B2 (en) 2015-02-23 2017-08-22 Qualcomm Incorporated Read-assist circuits for memory bit cells employing a P-type field-effect transistor (PFET) read port(s), and related memory systems and methods
US10163490B2 (en) * 2015-02-23 2018-12-25 Qualcomm Incorporated P-type field-effect transistor (PFET)-based sense amplifiers for reading PFET pass-gate memory bit cells, and related memory systems and methods
US9548104B1 (en) * 2015-06-30 2017-01-17 International Business Machines Corporation Boost control to improve SRAM write operation
CN106409330B (zh) * 2015-07-31 2019-06-25 展讯通信(上海)有限公司 高电源电压下抑制位线负电压的电路及方法
US10269418B2 (en) * 2015-12-28 2019-04-23 Taiwan Semiconductor Manufacturing Co., Ltd. Write assist circuit of memory device
US9508420B1 (en) * 2016-01-28 2016-11-29 Globalfoundries Inc Voltage-aware adaptive static random access memory (SRAM) write assist circuit
US9940992B2 (en) * 2016-03-30 2018-04-10 Qualcomm Incorporated Leakage-aware activation control of a delayed keeper circuit for a dynamic read operation in a memory bit cell
US10102917B2 (en) * 2016-04-14 2018-10-16 Chengdu Haicun Ip Technology Llc Multi-bit-per-cell three-dimensional one-time-programmable memory
US10199092B2 (en) * 2016-06-21 2019-02-05 Arm Limited Boost circuit for memory
US10497430B2 (en) 2016-06-22 2019-12-03 Samsung Electronics Co., Ltd. Semiconductor devices, circuits and methods for read and/or write assist of an SRAM circuit portion based on power supply voltage detection circuits
US10403384B2 (en) 2016-06-22 2019-09-03 Darryl G. Walker Testing a semiconductor device including a voltage detection circuit and temperature detection circuit that can be used to generate read assist and/or write assist in an SRAM circuit portion and method therefor
US9672898B1 (en) * 2016-08-15 2017-06-06 Samsung Electronics Co., Ltd. Read column select negative boost driver circuit, system, and method
US10140224B2 (en) 2016-10-20 2018-11-27 Qualcomm Incorporated Noise immune data path scheme for multi-bank memory architecture
US9934846B1 (en) 2017-03-01 2018-04-03 Nxp Usa, Inc. Memory circuit and method for increased write margin
US9940996B1 (en) * 2017-03-01 2018-04-10 Nxp Usa, Inc. Memory circuit having increased write margin and method therefor
US10163493B2 (en) * 2017-05-08 2018-12-25 International Business Machines Corporation SRAM margin recovery during burn-in
KR102177549B1 (ko) * 2019-01-23 2020-11-11 연세대학교 산학협력단 멀티스텝 워드라인 기반의 정적 메모리 장치 및 그 제어 방법
US10756693B1 (en) * 2019-10-08 2020-08-25 Nanya Technology Corporation Integrated circuit device
US11238923B2 (en) * 2019-10-18 2022-02-01 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device
CN112116937B (zh) * 2020-09-25 2023-02-03 安徽大学 一种在存储器中实现乘法和或逻辑运算的sram电路结构
CN113314174B (zh) * 2021-05-06 2023-02-03 安徽大学 一种用于sram阵列的列移位多位乘法二进制分解运算的电路结构
US20230069890A1 (en) * 2021-09-03 2023-03-09 Advanced Micro Devices, Inc. Processing device and method of sharing storage between cache memory, local data storage and register files
US11955171B2 (en) 2021-09-15 2024-04-09 Mavagail Technology, LLC Integrated circuit device including an SRAM portion having end power select circuits
US11568904B1 (en) 2021-10-15 2023-01-31 Qualcomm Incorporated Memory with positively boosted write multiplexer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160745A (en) * 1999-03-04 2000-12-12 Nec Corporation Semiconductor storage device
US20100207924A1 (en) * 2009-02-17 2010-08-19 Seiko Epson Corporation Apparatus for driving electrophoretic display unit, electrophoretic apparatus, electronic device, and method of driving electrophoretic display unit
US20110063932A1 (en) * 2009-09-16 2011-03-17 Vikas Chandra Boosting voltage levels applied to an access control line when accessing storage cells in a memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8493812B2 (en) 2010-10-28 2013-07-23 International Business Machines Corporation Boost circuit for generating an adjustable boost voltage
US8363453B2 (en) 2010-12-03 2013-01-29 International Business Machines Corporation Static random access memory (SRAM) write assist circuit with leakage suppression and level control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160745A (en) * 1999-03-04 2000-12-12 Nec Corporation Semiconductor storage device
US20100207924A1 (en) * 2009-02-17 2010-08-19 Seiko Epson Corporation Apparatus for driving electrophoretic display unit, electrophoretic apparatus, electronic device, and method of driving electrophoretic display unit
US20110063932A1 (en) * 2009-09-16 2011-03-17 Vikas Chandra Boosting voltage levels applied to an access control line when accessing storage cells in a memory

Also Published As

Publication number Publication date
CN103943141A (zh) 2014-07-23
US20140204687A1 (en) 2014-07-24
DE102014100677A1 (de) 2014-07-24
TW201443909A (zh) 2014-11-16
TWI569280B (zh) 2017-02-01
US9208900B2 (en) 2015-12-08

Similar Documents

Publication Publication Date Title
DE102014100677B4 (de) Verfahren und Integrierte Schaltung zum Durchführen von Adress-basierten SRAM-Zugriffs-Hilfen
DE102013114243B4 (de) SRAM-Spannungsunterstützung
DE60215576T2 (de) Wortleitungstreiber für eine Halbleiterspeicheranordnung
US7324368B2 (en) Integrated circuit memory with write assist
US10431269B2 (en) Methods and apparatus for reducing power consumption in memory circuitry by controlling precharge duration
US7486540B2 (en) Memory device with improved writing capabilities
DE102016209540B4 (de) Boost-steuerung zur verbesserung eines sram-schreibvorgangs
KR102220632B1 (ko) 메모리 소자 및 이러한 메모리 소자의 동작 방법
DE69128021T2 (de) Lese-/Schreibe-Speicher mit einem verbesserten Schreibtreiber
US7259986B2 (en) Circuits and methods for providing low voltage, high performance register files
DE102007002192A1 (de) Lokalwortleitungstreiberschema, um Ausfälle aufgrund einer schwebenden Wortleitung bei einem Segmentiert-Wortleitung-Treiberschema zu vermeiden
DE102007008179B4 (de) Halbleiterspeicherbauelement und Verfahren zum Betreiben eines Halbleiterspeicherbauelements
US20100002495A1 (en) Column Selectable Self-Biasing Virtual Voltages for SRAM Write Assist
KR20140106770A (ko) 반도체 메모리 장치, 이의 테스트 방법 및 동작 방법
DE102007046954A1 (de) Steuerung der Spannungsversorgung einer Speicherzelle aufgrund von Fehlerermittlung
DE60213813T2 (de) Dram mit bitleitungsaufladung, invertiertem dateneinschreiben, verlängerter ausgabedatenhaltung und verringertem leistungsverbrauch
DE102012217578A1 (de) Feingranulares Power-Gating
DE4020895C2 (de) Halbleiterspeichereinrichtung zum Speichern von Daten mit einer Mehrzahl von Bits und Betriebsverfahren für diese
DE19806999B4 (de) Halbleiterspeicherelement
US5677889A (en) Static type semiconductor device operable at a low voltage with small power consumption
DE60211253T2 (de) Bitleitungs-Vorabladeschaltung für Halbleiterspeicher
DE112010003116T5 (de) Speicherzelle auf Transistorbasis und zugehörige Betriebsverfahren
US9607663B2 (en) Non-volatile dynamic random access memory (NVDRAM) with programming line
DE69920830T2 (de) Schnelles einseitiges Lesen mit konfigurierbarer Halbverriegelungsschaltung
DE19537310C2 (de) Halbleiterspeichereinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final