-
Die
vorliegende Anmeldung ist eine Anmeldung auf Teilweiterbehandlung
und beansprucht Nutzen und Priorität aus der Anmeldung Nr. 10/100.757, eingereicht
am 19. März
2002 unter der Bezeichnung "Synchron
gesteuerter, selbsttaktender lokaler SRAM-Block", dessen vollständiger Gegenstand hier enthalten
ist.
-
HINTERGRUND DER ERFINDUNG
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung betrifft Speichervorrichtungen. Insbesondere
betrifft ein Ausführungsbeispiel
der vorliegenden Erfindung eine synchron gesteuerte globale Steuereinheit
für Speichervorrichtungen.
-
Speicherstrukturen
bzw. -vorrichtungen sind zu integralen Bestandteilen moderner VLSI-Systeme,
u. a. von Digitalleitungs-Verarbeitungssystemen, geworden. Obwohl
es typischerweise wünschenswert
ist, so viele Speicherzellen wie möglich auf einer bestimmten
Fläche
einer Speicherstruktur unterzubringen, wird die Speicherzellendichte üblicherweise durch
andere Designfaktoren wie Anordnungseffizienz, Leistung, Leistungsbedarf
und Störanfälligkeit begrenzt.
-
Dokument
US 6.178.057 betrifft ein
Plattenlaufwerk und ein Verfahren zur Steuerung eines Lese-/Schreibvorgangs
im Plattenlaufwerk. Das Plattenlaufwerk weist ein plattenförmiges Aufzeichnungsmedium
mit einer Vielzahl von Servobereichen auf einer Aufzeichnungsoberfläche auf.
In einem ersten Bereich der Aufzeichnungsoberfläche erfolgt das Lesen oder
Schreiben auf der Basis eines ersten Takts mit einer ersten Frequenz
und in einem zweiten Bereich erfolgt das Lesen oder Schreiben auf
der Basis eines zweiten Takts mit einer zweiten Frequenz. Das Plattenlaufwerk weist
einen Referenztakterzeuger zum Erzeugen eines Referenztakts der
ersten Frequenz, wenigstens wenn kein Lesen und Schreiben in den
Datensektoren erfolgt, einen Zielsektordetektor zum Zählen des
ersten Takts vom Referenztakterzeuger zum Ermitteln einer Position
des Datensektors, für
den das Lesen oder Schreiben befohlen wurde, und einen Kompensator
zum Kompensieren eines Unterschieds in der ermittelten Position
des Zielsektors auf. Der Unterschied in der ermittelten Position
wird als Ergebnis eines Unterschieds in der Frequenz zwischen dem
ersten Takt und dem zweiten Takt und der Lese-/Schreibsteuereinheit
zum Lesen bzw. Schreiben von Daten im Sektor an der vom Zielsektordetektor
ermittelten Position erzeugt. Somit sind gemäß Dokument
US 6.178.057 wenigstens zwei Codierer/Decodierer,
ein Takterzeuger und eine Steuereinheit erforderlich, um zwei unterschiedliche Taktsignale
mit zwei unterschiedlichen Frequenzen zu erzeugen.
-
Dokument
US 5.917.353 offenbar zwei
Arten des Betriebs einer getakteten Speichervorrichtung: eine normale
Betriebsart und eine spezielle Betriebsart. Während der normalen Betriebsart
bleibt die Breite des selbsttaktenden Impulses unverändert und entspricht
der Verzögerung
der ersten Verzögerungstaktkette.
Während
der speziellen Betriebsart vergrößert sich
die Breite des selbsttaktenden Impulses und entspricht der Summe
aus der Verzögerung
der ersten Verzögerungstaktkette
und der Verzögerung
der zweiten Verzögerungstaktkette.
Das selektive Ändern
der Breite des selbsttaktenden Impulses ermöglicht einem Anwender das Kompensieren
von Abweichungen der Breite des selbsttaktenden Impulses, die ggf.
durch Prozessparameterabweichungen verursacht werden, so dass der
selbsttaktende Impuls eine optimale Breite für ordnungsgemäße Funktion der
Schaltung und maximale Taktfrequenz der getakteten Speichervorrichtung
aufweist.
-
Vor
dem Hintergrund der Trends zu kompakten integrierten Computernetzwerken
mit hoher Leistung und großer
Bandbreite, mobiler Computerarbeit und mobiler Kommunikation können die
genannten Grenzen das Design von Speicherstrukturen stark einschränken, was
herkömmliche
Speicherstrukturen und Implementierungen von Unterkomponenten ggf. nicht
beheben können.
-
Bei
solchen Speicherstrukturen ist eine bestimmte Zeit erforderlich
zum Durchführen
von Lese- bzw. Schreibvorgängen.
Nach Beenden des Lese- oder Schreibvorgangs ist zusätzliche
Zeit erforderlich zum Aufladen der Signale. Die minimale Zykluszeit ist
erreicht, wenn das Voraufladen direkt nach dem Beenden des Lese-
bzw. Schreibvorgangs beginnt. Es liegt aber kein Signal vor, welches
das Beenden des Lese- bzw. Schreibvorgangs meldet. Somit werden
Vorauflader im Allgemeinen mit einer fallenden Flanke eines Taktimpulses
eingeschaltet, so dass die Schreib- bzw. Lesevorgänge in der
ersten Hälfte
des Zyklus beendet sein müssen,
wenn der Taktimpuls im High-Zustand ist. Der Taktimpuls muss mit
anderen Worten lange genug im High-Zustand bleiben, damit die Lese-
und Schreibvorgänge
beendet werden. In der zweiten Hälfte
des Zyklus, wenn der Takt im Low-Zustand ist, führen die Vorauflader die Voraufladung
durch.
-
Weitere
Einschränkungen
und Nachteile der herkömmlichen
Ansätze
werden den Fachleuten in diesem Gebiet durch den Vergleich solcher
Systeme mit der vorliegenden Erfindung gemäß dem Rest der vorliegenden
Anmeldungen mit Bezugnahme auf die Zeichnungen klar.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Aufgabe der vorliegenden Erfindung wird durch Anspruch 1 gelöst. Die
Einleitung von Anspruch 1 beruht auf Dokument
US 6.003.118 .
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung betrifft eine globale Steuereinheit,
die für das
Erzeugen unterschiedlicher Taktimpulse bei Lese- und Schreibvorgängen geeignet
ist. In einem Ausführungsbeispiel
wird wenigstens einer der Taktimpulse verlängert. In einem weiteren Ausführungsbeispiel
wird weniges ein Voraufladesignal für wenigstens einen Lesevorgang
versetzt.
-
In
einem weiteren Ausführungsbeispiel
betrifft die vorliegende Erfindung eine Speichervorrichtung mit
wenigstens einem lokalen Speicherblock und einer mit dem lokalen
Block gekoppelten globalen Steuereinheit (beispielsweise einer synchron
gesteuerten globalen Steuereinheit). In diesem Ausführungsbeispiel
ist die globale Steuereinheit für
das Verwalten der Taktung eines Lese- und Schreibvorgangs (beispielsweise
durch Verlängern
eines High-Teils eines Taktimpulses) geeignet.
-
Ein
weiteres Ausführungsbeispiel
betrifft eine Speicherstruktur, die ein synchron gesteuertes globales
Element und ein selbsttaktendes lokales Element umfasst. In diesem
Ausführungsbeispiel umfasst
das globale Element wenigstens eine synchron gesteuerte globale
Steuereinheit, die für
das Verlängern
eines Teils von wenigstens einem Taktimpuls geeignet ist. Das selbsttaktende
lokale Element umfasst wenigstens einen lokalen Speicherblock, wobei
der lokale Spei cherblock für
die Kommunikation mit dem globalen geeignet ist.
-
Ein
weiteres Ausführungsbeispiel
der vorliegenden Erfindung betrifft ein Verfahren zur Verarbeitung
von Lese- und Schreibvorgängen
in einer Speicherarchitektur mit wenigstens einer synchron gesteuerten
globalen Steuereinheit. Das Verfahren beinhaltet das Erzeugen von
Steuersignalen und das Verwalten der Taktung während der Lese- und Schreibvorgänge, einschließlich dem
Versetzen von wenigstens einem Taktimpuls, so dass die Lese- und Schreibvorgänge in eifern
einzigen Zyklus durchgeführt
werden.
-
Ein
weiteres Ausführungsbeispiel
der vorliegenden Erfindung beinhaltet ein Verfahren zur Verarbeitung
von Lese- und Schreibvorgängen
in der Speicherarchitektur. Dieses Verfahren umfasst das Versetzen
eines Taktimpulses mit einer globalen Steuereinheit, wobei das Versetzen
des Taktimpulses das Verlängern
eines High-Teils des Taktimpulses mit wenigstens einer Wortleitung
mit einer Schnittstelle zur globalen Steuereinheit beinhaltet.
-
Weitere
Ausführungsformen,
Vorzüge
und neue Merkmale der vorliegenden Erfindung und Details eines dargestellten
Ausführungsbeispiels
werden aus der folgenden Beschreibung und Zeichnung klar, wobei
sich die Bezugszeichen auf gleiche Teile beziehen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN
DER ZEICHNUNGEN
-
1 stellt
ein Blockdiagramm eines beispielhaften SRAM-Moduls dar;
-
2 stellt
ein Blockdiagramm eines in Bänke
aufgeteilten SRAM-Speicherkerns dar;
-
3A und 3B stellen
SRAM-Module dar, die eine Blockstruktur bzw. ein Untersystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung beinhalten;
-
4 stellt
ein in einem SRAM-Modul verwendetes Dimensionsblockfeld bzw. Untersystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
5 stellt
ein Zellenfeld, das eine Vielzahl von Speicherzellen umfasst, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
6A stellt
eine gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung verwendete Speicherzelle dar;
-
6B zeigt
aufeinander folgende Inverter zur Darstellung der Speicherzelle
von 6A gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
7 stellt
ein SRAM-Modul ähnlich
dem in 3A und 3B dargestellten
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
8 stellt
einen lokalen Decodierer gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
9 stellt
ein Schaltbild eines lokalen Decodierers ähnlich dem in 8 dargestellten
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
10 stellt
ein Schaltbild der lokalen Leseverstarker und des 4:1-Muxens gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
11 stellt
ein Schaltbild der lokalen Leseverstärker und der globalen Leseverstärker gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
12A stellt ein Schemabild der lokalen Leseverstärker und
der globalen Leseverstärker
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
12B stellt ein Schaltbild eines Ausführungsbeispiels
eines lokalen Leseverstärkers
(ähnlich
dem lokalen Leseverstärker
von 12A) gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
12C stellt ein Schemabild des Verstärkerkerns ähnlich dem
in 12B dargestellten Verstärkerkern dar;
-
13 stellt
ein Blockdiagramm eines weiteren Ausführungsbeispiels der lokalen
Leseverstärker und
der globalen Leseverstärker
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
14 stellt
ein Schaltbild mit einem Übertragungsgatter
des 4:1-Mux ähnlich
dem in 10 und 12 dargestellten
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
15 stellt
mit den Wechselrichtern eines lokalen Leseverstärkers gekoppelte Übertragungsgatter
des 2:1-Mux gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
16 stellt
mit den Wechselrichtern eines lokalen Leseverstärkers gekoppelte Vorauflade-
und Entzerrteile und Übertragungsgatter
des 2:1-Mux gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
17 stellt
ein Schaltbild des lokalen Leseverstärkers gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
18 stellt
ein Blockdiagramm einer lokalen Steuereinheit gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung dar;
-
19 stellt
ein Schaltbild der lokalen Steuereinheit gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
20 stellt
die Taktung für
einen LESE-Zyklus mit einem SRAM-Speichermodul gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
21 stellt
die Taktung für
einen SCHREIB-Zyklus mit einem SRAM-Speichermodul gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
22A stellt ein Blockdiagramm eines lokalen Leseverstärkers mit
integriertem lokalen 4:1-Muxen und Voraufladen gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
22B stellt ein Beispiel eines 16:1-Muxens (einschließlich globalem
4:1-Muxen und lokalem 4:1-Muxen) gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung dar;
-
22C stellt ein Beispiel eines 32:1-Muxens (einschließlich globalem
8:1-Muxen und lokalem 4:1-Muxen) gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung dar;
-
23 stellt
einen mit einer Clusterschaltung verwendeten lokalen Leseverstärker gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
24 stellt
ein Blockdiagramm einer Speichervorrichtung mit einer synchron gesteuerten
globalen Steuereinheit gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
25 stellt eine Vielzahl von Verbindungen für die synchron
gesteuerte globale Steuereinheit gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
26 stellt ein allgemeines Taktdiagramm für einen
Schreibzyklus gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
27 stellt ein Taktdiagramm für einen Lesezyklus gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
28 stellt ein Taktdiagramm für einen Schreibzyklus mit einem
verlängerten
Taktimpuls gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar; und
-
29 stellt ein Taktdiagramm für einen Lesezyklus mit einem
verlängerten
Taktimpuls gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar;
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Fachleuten
auf diesem Gebiet ist bekannt, dass die meisten VLSI-Systeme, einschließlich Kommunikationssysteme
und DSP-Vorrichtungen, VLSI-Speicheruntersysteme beinhalten. Moderne
Anwendungen von VLSI-Speicheruntersystemen erfordern nahezu immer
Implementierungen mit hoher Effizienz und hoher Leistung, welche
die Designkompromisse zwischen Anordnungseffizienz, Geschwindigkeit,
Leistungsverbrauch, Skalierbarkeit, Designtoleranzen u. ä. verstärken. Die
vorliegende Erfindung verringert diese Kompromisse durch eine neue synchrone,
selbsttaktende hierarchische Architektur. Das Speichermodul der
vorliegenden Erfindung kann auch eines oder mehrere neue Komponenten
verwenden, die zusätzlich
zu Effizienz und Robustheit des Speichermoduls beitragen.
-
Es
sei angemerkt, dass ein Beschreiben der verschiedenen Ausführungsformen
und Ausführungsbeispiele
der vorliegenden Erfindung im Zusammenhang einer SRAM-Speicherstruktur
mit CMOS-SRAM-Speicherzellen sinnvoll ist. Es sei ferner für Fachleute
in diesem Gebiet angemerkt, dass die vorliegende Erfindung nicht
auf CMOS-basierte Prozesse beschränkt ist und dass diese Ausführungsformen
und Ausführungsbeispiele
in Speicherprodukten, die keine SRAM-Speicherstrukturen sind, wie
DRAM, ROM, PLA u. ä.,
eingebettet in ein VLSI-System oder autarken Speichervorrichtungen, verwendet
werden können.
-
BEISPIELHAFTES SRAM-MODUL
-
1 stellt
ein Funktionsblockdiagramm eines Beispiels für eine SRAM-Speicherstruktur 100 dar,
welche die Basismerkmale von SRAM-Untersystemen bietet. Das Modul 100 beinhaltet
einen Speicherkern 102, eine Wortleitungs-Steuereinheit 104 und
Speicheradresseneingänge 114.
Im vorliegenden Ausführungsbeispiel
besteht der Speicherkern 102 aus einem zweidimensionalen
Feld von K-Bits der Speicherzellen 103, so angeordnet,
dass sie Spalten C und Reihen R von Bitspeicherplätzen aufweisen,
wobei gilt: K = [C × R].
Die häufigste
Konfiguration des Speicherkerns 102 verwendet einzelne Wortleitungen 106 zum
Verbinden der Zellen 103 zu paarigen Differentialbitleitungen 118.
Im Allgemeinen ist der Kern 102 als ein Feld von 2P Einträgen
basierend auf einem Satz von P Speicheradressen angeordnet. Somit
wird die p-Bit-Adresse durch den Reihenadressen-Decodierer 110 und
den Spaltenadressen-Decodierer 122 decodiert. Der Zugriff
auf eine bestimmte Speicherzelle 103 in solch einem Single-Core-Speicher 102 erfolgt
durch Aktivieren der Spalte 105 durch Auswahl der Bitleitung
in der Spalte entsprechend der Zelle 103.
-
Die
jeweilige Reihe für
den Zugriff wird durch selektives Aktivieren des Reihenadressen-
bzw. Wortleitungs-Decodierers 110 ausgewählt, der
normalerweise eindeutig einer bestimmten Reihe oder Wortleitung
entspricht, die alle Zellen 103 in dieser jeweiligen Reihe
umfasst. Ebenso kann der Wortleitungstreiber 108 eine ausgewählte Wortleitung 106 ansteuern,
so dass auf einem bestimmten Paar von Bitleitungen 118,
entsprechend der von den Speicheradresseneingängen 114 bereitgestellten
Bitadresse, in die ausgewählte Speicherzelle 103 geschrieben
bzw. aus dieser gelesen werden kann.
-
Die
Bitleitungs-Steuereinheit 116 kann Voraufladezellen (nicht
dargestellt), Spalten-Multiplexer bzw. -Decodierer 122,
Leseverstärker 124 und
Eingabe/Ausgabe-Puffer (nicht dargestellt) beinhalten. Da für Speicherzellen
typischerweise unterschiedliche LESE/SCHREIB-Schemata verwendet
werden, ist es wünschenswert,
dass die Bitleitungen in einen wohldefinierten Zustand versetzt
werden, bevor auf diese zugegriffen wird. Die Voraufladezellen können zum
Herstellen des Zustands von Bitleitungen 118 über einen
VORAUFLADE-Zyklus gemäß einem
definierten Voraufladeschema verwendet werden. In einem statischen
Voraufladeschema können
die Voraufladezellen kontinuierlich eingeschaltet bleiben, es sei
denn es erfolgt ein Zugriff auf einen bestimmten Block.
-
Zusätzlich zum
Herstellen eines definierten Zustands von Bitleitungen 118 können Voraufladezellen
auch zum Bewirken eines Entzerrens von Differentialspannungen in
Bitleitungen 118 vor einem LESE-Vorgang verwendet werden.
Leseverstärker 124 ermöglichen
ein Verringern der Größe der Speicherzelle 103 durch
Messen der Differentialspannung auf Bitleitungen 118, die
den Zustand anzeigt, und Übersetzen
dieser Differentialspannung in ein Logikpegelsignal.
-
Im
Ausführungsbeispiel
wird ein LESE-Vorgang durch Freigabe des Reihen-Decodierers 110 durchgeführt, der
eine bestimmte Reihe auswählt. Die
Ladung auf einer der Bitleitungen 118 von jedem Paar von
Bitleitungen in jeder Spalte wird durch die freigegebene Speicherzelle 103 unter
Darstellung des Zustands der aktiven Zellen 103 in dieser
Spalte 105 entladen. Der Spal ten-Decodierer 122 gibt
nur eine der Spalten unter Verbinden der Bitleitungen 118 zu
einem Ausgang frei. Die Leseverstärker 124 stellt die
Treiberfunktion bereit, um Strom zum Ausgang einschließlich Eingabe/Ausgabe-Puffer
zu leiten. Wenn der Leseverstärker 124 freigegeben
ist, verursachen die unsymmetrischen Bitleitungen 118,
dass der symmetrische Leseverstärker
in den Zustand der Bitleitungen wechselt, und es werden Daten ausgegeben.
-
Im
Allgemeinen wird ein SCHREIBE-Vorgang durch Anwenden der Daten auf
einen Eingang mit E/A-Puffern (nicht dargestellt) durchgeführt. Vor dem
SCHREIB-Vorgang
können
die Bitleitungen 118 durch die Voraufladezellen auf einen
bestimmten Wert voraufgeladen werden. Das Anwenden von Eingangsdaten
auf die Eingänge
zielt darauf ab, die Voraufladespannung auf einer der Bitleitungen 118 zu entladen,
wodurch eine Bitleitung in einen logischen HIGH- und eine Bitleitung
in einen logischen LOW-Zustand versetzt wird. Der Spalten-Decodierer 122 wählt eine
bestimmte Spalte 105 unter Verbinden der Bitleitungen 118 mit
dem Eingang aus, wodurch eine der Bitleitungen 118 entladen
wird. Der Reihen-Decodierer 110 wählt eine bestimmte Reihe und die
Informationen auf den Bitleitungen 118 werden in die Zelle 103 am
Schnittpunkt von Spalte 105 und Reihe 106 geschrieben.
-
Zu
Beginn eines typischen internen Taktzyklus wird das Voraufladen
gesperrt. Das Voraufladen kann erst wieder freigegeben werden, wenn
der gesamte Vorgang durchgeführt
wurde. Es werden dann der Spalten-Decodierer 122 und der
Reihen-Decodierer 110 aktiviert, gefolgt von der Aktivierung
des Leseverstärkers 124.
Nach Abschluss eines LESE- oder SCHREIB-Vorgangs wird der Leseverstärker 124 deaktiviert.
Darauf folgt das Sperren der Decodierer 110, 122;
zu diesem Zeitpunkt werden die Voraufladezellen 120 ebenfalls
in einem folgenden VORAUFLADE-Zyklus wieder aktiviert.
-
LEISTUNGSREDUZIERUNG UND GESCHWINDIGKEITSSTEIGERUNG
-
In 1 wird
der Inhalt der Speicherzelle 103 des Speicherblocks 100 im
Leseverstärker 124 mit
einer Differentialleitung zwischen den paarigen Bitleitungen 118 ermittelt.
Es sei angemerkt, dass diese Architektur nicht skalierbar ist. Das
Vergrößern des
Speicherblocks 100 kann ebenfalls die praktischen Beschränkungen
der Leseverstärker 124 zum rechtzeitigen
Empfangen eines adäquaten
Signals auf den Bitleitungen 118 überschreiten. Das Verlängern der
Bitleitungen 118 erhöht
die entsprechende Bitleitungskapazität und verlängert somit die erforderliche
Zeit zum Entwickeln einer Spannung auf diesen. Den Leitungen 104, 106 muss
mehr Leistung zur Verfügung
gestellt werden, um die zusätzliche
Kapazität
zu überwinden.
-
Darüber hinaus
dauert das Voraufladen von langen Bitleitungen in Architekturen
auf dem Stand der Technik länger,
wodurch die effektive Geschwindigkeit der Vorrichtung verringert
wird. Somit erfordert das Schreiben auf längeren Bitleitungen 118 gemäß dem Stand
der Technik mehr Strom. Dies erhöht den
Leistungsbedarf der Schaltung und verringert die effektive Geschwindigkeit
der Vorrichtung.
-
Im
Allgemeinen kann ein niedrigerer Leistungsverbrauch in Speichervorrichtungen
wie der Struktur 100 in 1 beispielsweise
durch Verringern der gesamten geschalteten Kapazität und Minimieren
von Spannungsschwankungen erreicht werden. Die Vorzüge der Ausführungsformen
zur Leistungsreduzierung bestimmter Ausführungsbeispiele der vorliegenden
Erfindung können
im Zusammenhang der Verringerung der geschalteten Kapazität und Begrenzung
von Spannungsschwankungen besser beurteilt werden.
-
VERRINGERN DER GESCHALTETEN
KAPAZITÄT
-
Bei
zunehmender Bitdichte von Speicherstrukturen wurde beobachtet, dass
Single-Core-Speicherstrukturen ggf. inakzeptabel große Schaltkapazitäten bei
jedem Speicherzugriff aufweisen. Der Zugriff auf eine Bitstelle
in solch einem Single-Core-Speicher erfordert die Freigabe der gesamten
Reihe oder Wortleitung 106, in dem das Datum gespeichert
ist, und das Schalten aller Bitleitungen 118 in der Struktur.
Daher ist das Design von Hochleistungsspeicherstrukturen wünschenswert,
um die gesamte geschaltete Kapazität bei einem beliebigen Zugriff
zu verringern.
-
Zwei
wohl bekannte Ansätze
zum Verringern der gesamten geschalteten Kapazität bei einem Speicherstrukturzugriff
beinhalten das Unterteilen einer Single-Core-Speicherstruktur in eine bankförmige Speicherstruktur
und das Verwenden von unterteilten Wortleitungsstrukturen. Beim
ersten Ansatz muss nur die jeweilige Speicherbank aktiviert werden,
die mit der relevanten Speicherzelle verknüpft ist. Beim zweiten Ansatz
verringert das Aktivieren der Wortleitung zur Lokalisierung die
gesamte geschaltete Kapazität
im größtmöglichen
Umfang.
-
UNTERTEILTER ODER BANKFÖRMIGER SPEICHERKERN
-
Ein
Ansatz zum Verringern der Schaltkapazitäten besteht im Unterteilen
des Speicherkerns in separat schaltbare Bänke von Speicherzellen. Ein
Beispiel für
einen in Bänke
unterteilten Speicherkern 200 ist in 2 dargestellt.
Im dargestellten Ausführungsbeispiel
beinhaltet der Speicherkern zwei Bänke von Speicherzellen, Bank
Nr. 0 und Bank Nr. 1, allgemein jeweils als 202 und 204 bezeichnet.
Der Speicherkern 200 beinhaltet zwei lokale Decodierer 206,
die kommunikativ miteinander und einem globalen Decodierer 208 über die
Wortleitung High 210 gekoppelt sind. Jeder lokale Decodierer 206 beinhaltet eine
lokale Wortleitung High 210, die kommunikativ den Decodierer 206 mit
seiner verknüpften
Bank koppelt. Zusätzlich
sind zwei Bankleitungen 214 dargestellt, die kommunikativ
mit den lokalen Decodierern 206 gekoppelt sind bzw. zu
diesen eine Schnittstelle aufweisen. Es sei angemerkt, dass in einem
Ausführungsbeispiel
eine Bankleitung 214 mit jeder Bank verknüpft ist.
-
Typischerweise
ist die gesamte geschaltete Kapazität während eines bestimmten Speicherzugriffs
bei bankförmigen
Speicherkernen umgekehrt proportional zur Anzahl der verwendeten
Bänke. Durch
geschickte Auswahl von Anzahl und Anordnung der Bankeinheiten in
einem bestimmten Speicherkerndesign und der verwendeten Art der
Decodierung kann die gesamte Schaltkapazität und somit die gesamte vom
Speicherkern verbrauchte Leistung erheblich verringert werden. Ein
bankförmiges
Design kann auch eine höhere
Produktausbeute erzielen. Die Speicherbänke können so angeordnet werden,
dass eine defekte Bank außer
Betrieb gesetzt und nicht zugreifbar gemacht wird, während die
restlichen betriebsfähigen
Bänke des
Speicherkerns 200 in ein Produkt geringerer Kapazität gebündelt werden können.
-
Bankförmige Designs
sind aber ggf. für
bestimmte Anwendungen ungeeignet. Unterteilte Speicherkerne erfordern
zusätzliche
Decodierschaltungen, um selektiven Zugriff auf einzelne Bänke zu ermöglichen.
Solche unterteilten Speicherkerne verlangen mit anderen Worten ggf.
beispielsweise zusätzlich
einen lokalen Decodierer 206, eine lokale Bankleitung 214 und
eine lokale Wortleitung High 210. Dadurch können Verzögerungen
verursacht werden. Bei vielen bankförmigen Designs werden auch
Speichersegmente verwendet, die lediglich verkleinerte Versionen
von herkömmlichen
monolithischen Kernspeicherdesigns darstellen, wobei jedes Segment eine
eigene Steuer-, Vorauflade-, Decodier-, Lese- und Treiberschaltung
aufweist. Diese Schaltungen verbrauchen meist mehr Leistung im Standby
und im Betrieb als ihre verknüpften
Speicherzellen. Solche bankförmigen
Strukturen sind zwar einfach zu designen, aber die zusätzliche
Komplexität
und der zusätzliche
Leistungsverbrauch können
die Gesamtleistung der Speicherkomponente verringern.
-
Bankförmige Designs
eignen sich von sich aus nicht zum Vergrößern, um die Anforderungen großer Designs
zu erfüllen.
Ebenso sind herkömmliche
bankförmige
Designs nicht ohne weiteres an Anwendungen anpassbar, die eine Speicherkernkonfiguration
erfordern, die sich wesentlich von der zugrundeliegenden Bankarchitektur
(beispielsweise einer Speicherstruktur, die relativ wenig Reihen
von großen
Wortlängen
erfordert) unterscheidet. Herkömmliche
Bankdesigns können
im Allgemeinen nicht ohne weiteres an eine Speicherstruktur angepasst
werden, die relativ wenig Reihen von sehr großen Wortlängen erfordert.
-
Statt
eine Top-down-Unterteilung der Basisspeicherstruktur mit bankförmigen Speicherdesigns zu
ver wenden, stellen ein oder mehr Ausführungsbeispiele der vorliegenden
Erfindung eine hierarchische Speicherstruktur bereit, die mit einem
Bottom-up-Ansatz erzeugt wurde. Hierarchisches Koppeln von Basisspeichermodulen
mit lokalisierten Entscheidemerkmalen, die synergetisch zusammenwirken,
um den Gesamtleistungsbedarf erheblich zu verringern und die Betriebsgeschwindigkeit
der Struktur zu verbessern. Als Minimum kann solch ein hierarchisches
Basismodul eine lokalisierte Bitleitungsmessung beinhalten.
-
UNTERTEILTE WORTLEITUNG
-
Oft
ist die Bitbreite einer Speicherkomponente so groß, dass
sie einer bestimmten Wortlänge
entspricht. Mit zunehmender Wortlänge für ein bestimmtes Design werden
auch die verknüpften
Wortleitungsverzögerungen,
die geschaltete Kapazität,
der Leistungsverbrauch usw. größer. Für sehr lange Wortleitungen
ist das Unterteilen der kernübergreifenden
globalen Wortleitungen in lokale Wortleitungen wünschenswert, die jeweils aus
kleineren Gruppen von benachbarten, wortorientierten Speicherzellen
bestehen. Jede lokale Gruppe verwendet lokale Decodier- und Treiberkomponenten
zum Erzeugen der lokalen Wortleitungen, wenn die globale Wortleitung,
mit der diese gekoppelt ist, aktiviert wird. Bei Anwendungen mit
großer
Wortlänge
kann der zusätzliche
Aufwand durch unterteilte Wortleitungen durch verringerte Wortleitungsverzögerungen
kompensiert werden.
-
Statt
die herkömmliche
Top-down-Unterteilung von Wortleitungen zu verwenden, beinhalten
bestimmte Ausführungsbeispiele
der vorliegenden Erfindung das Bereitstellen einer lokalen Wortleitung
für das
genannte Basisspeichermodul, was die lokalen Entscheidungs merkmale
des Moduls zusätzlich
verbessert. Wie zuvor können
durch das Verwenden eines Bottom-up-Ansatzes zum hierarchischen
Koppeln von Basisspeichermodulen wie zuvor beschrieben mit den hinzugefügten lokalisierten
Entscheidungsmerkmalen von lokalen Wortleitungen gemäß der vorliegenden
Erfindung zusätzliche
Synergien erzielt werden, was den Gesamtleistungsverbrauch und die
Signalausbreitungszeiten weiter verringert.
-
MULTIPLEXEN
-
Eine
Alternative für
ein bankförmiges
Speicherkerndesign ist das Multiplexen oder Muxen der Speicherzellen.
Bits von verschiedenen Worten werden mit anderen Worten nicht sequentiell
gespeichert. Beim 2:1-Muxen
beispielsweise werden Bits von zwei Wörtern in einem wechselnden
Muster gespeichert. Wenn die Zahl 1 beispielsweise Bits von einem
ersten Wort darstellt, stellt die Zahl 2 Bits von einem zweiten
Wort dar. Bei einem LESE- bzw. SCHREIB-Vorgang wählt der Mux, welche Spalte
er absucht (d. h. linkes oder rechtes Bit). Es sei angemerkt, dass
Muxen Platz sparen kann. Bankförmige Designs
ohne Muxen erfordern einen Leseverstärker für jeweils zwei Leitungen. Bei
2:1-Muxen beispielsweise wird ein Leseverstärker für jeweils vier Leitungen verwendet.
(D. h. ein Leseverstärker
bündelt zwei
Sätze von
Bitleitungen.) Muxen ermöglicht
das gemeinsame Verwenden von Leseverstärkern durch gemuxte Zellen,
was die Anordnungsteilung und die Flächeneffizienz erhöhen kann.
-
Im
Allgemeinen verbraucht Muxen mehr Leistung als das bankförmige Speicherkerndesign. Um
beispielsweise ein gespeichertes Wort zu lesen, greift der Mux auf
eine gesamte Reihe im Zellenfeld zu bzw. gibt diese frei, liest
alle in dieser gespeicherten Daten, fragt nur die erforderlichen
Daten ab und ignoriert den Rest.
-
Bei
einem Bottom-up-Ansatz zum hierarchischen Koppeln von Basisspeichermodulen
mit Muxen gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung werden zusätzliche Synergien erzielt,
was den Leistungsverbrauch und die Signalausbreitungszeiten verringert.
-
TECHNIKEN ZUM VERRINGERN VON
SPANNUNGSSCHWANKUNGEN
-
Eine
Leistungsreduzierung kann auch durch Verringern der Spannungsschwankungen
erreicht werden, die in der gesamten Struktur auftreten. Durch Beschränken der
Spannungsschwankungen kann die Menge der verbrauchten Leistung verringert werden,
wenn die Spannung an einem Knoten oder auf einer Leitung während eines
bestimmten Ereignisses oder Vorgangs abfällt, und die Menge der erforderlichen
Leistung zum Zurückversetzen
der verschiedenen abgefallenen Spannungen in den gewünschten
Zustand nach dem jeweiligen Ereignis oder Vorgang bzw. vor dem nächsten Zugriff
verringert werden. Zwei Techniken für diesen Zweck beinhalten die
Verwendung von Impulswortleitungen und die Verringerung von Leseverstärker-Spannungsschwankungen.
-
IMPULSWORTLEITUNGEN
-
Durch
Bereitstellen einer Wortleitung, die gerade lang genug ist, um die
Differentialspannung in einer ausgewählten Speicherzelle zu messen,
kann die Bitleitungs-Spannungsentladung entsprechend einem LESE-Vorgang der gewählten Zelle
verringert werden. Bei einigen Designs wird durch Anlegen eines
Impulssignals an die verknüpfte
Wortleitung über ein
gewähltes
Intervall ein Leseverstärker
nur in diesem Intervall aktiviert, wodurch die Dauer des Abfalls der
Bitleitungsspannung verringert wird. Diese Designs verwenden typischerweise
eine Art von Impulserzeuger, der einen Impuls fester Dauer erzeugt. Wenn
die Dauer des Impulses für
Worst-Case-Taktszenarien ausgelegt ist, führt die zusätzliche Reserve zu einem unnötigen Ziehen
von Bitleitungsstrom im Nennbetrieb.
-
Daher
ist ggf. die Verwendung einer selbsttaktenden, selbstbegrenzenden
Wortleitungsvorrichtung wünschenswert,
die auf die tatsächliche
Dauer eines bestimmten LESE-Vorgangs an einer ausgewählten Zelle
anspricht und die Wortleitungsaktivierung während dieser Zeit im Wesentlichen
begrenzt. Wenn darüber
hinaus ein Leseverstärker
erfolgreich einen LESE-Vorgang in weniger als einem Speichersystemtaktzyklus
abschließt,
kann es ebenfalls wünschenswert
sein, über
eine asynchrone Impulsbreitenaktivierung entsprechend dem Speichersystemtakt zu
verfügen.
Bestimmte Ausführungsformen
der vorliegenden Erfindung stellen beispielsweise ein Impulswortleitungssignal
unter Verwendung einer kooperativen Interaktion zwischen lokalem
Decodierer und lokaler Steuereinheit bereit.
-
VERRINGERN DER SPANNUNGSSCHWANKUNGEN
DES LESEVERSTÄRKERS
-
Um
große
Speicherfelder zu erzeugen, ist es wünschenswert, die Größe einer
einzelnen Speicherzelle auf ein Minimum zu begrenzen. Folglich sind einzelne
Speicherzellen im Allgemeinen nicht in der Lage, die verknüpften Eingabe/Ausgabe-Bitleitungen mit
Steuerstrom zu versorgen. Leseverstärker dienen typischerweise
dazu, den Wert der in einer bestimmten Speicherzelle gespeicherten
Daten zu ermitteln und den erforderlichen Strom zum Ansteuern der E/A-Leitungen
bereitzustellen.
-
Bei
einem Leseverstärkerdesign
muss typischerweise ein Kompromiss zwischen Leistung und Geschwindigkeit
geschlossen werden, wobei kürzere Reaktionszeiten üblicherweise
höhere
Leistungsanforderungen stellen. Schnellere Leseverstärker können auch
verglichen mit langsamen, leistungsarmen Vorrichtungen physikalisch
eher größer sein.
Darüber
hinaus kann der analoge Aufbau von Leseverstärkern zu einem Verbrauch eines
erheblichen Anteils der gesamten Leistung führen. Ein Weg zur Verbesserung
des Ansprechverhaltens eines Leseverstärkers ist die Verwendung eines
empfindlicheren Leseverstärkers,
wobei allerdings die gewonnenen Vorzüge durch die gleichzeitige
Schaltungskomplexität
aufgehoben werden, die zusätzlich
eine höhere Störanfälligkeit
aufweist. Daher ist ein Begrenzen der Spannungsschwankungen in Bitleitungen
und ein Verringern der vom Leseverstärker verbrauchten Leistung
wünschenswert.
-
Bei
einem typischen Design erfasst der Leseverstärker die kleinen Differentialsignale
in einer Speicherzelle, die in einem unsymmetrischen Zustand repräsentativ
für den
in der Zelle gespeicherten Datenwert sind, und verstärkt das
resultierende Signal auf einen Logikpegel. Vor einem LESE-Vorgang werden
die mit einer bestimmten Speicherspalte verknüpften Bitleitungen auf einen
gewählten
Wert voraufgeladen. Wenn eine bestimmte Speicherzelle freigegeben
ist, werden eine bestimmte Reihe, in der sich die Speicherzelle
befindet, und ein mit der jeweiligen Spalte verknüpfter Leseverstärker ausgewählt. Die
Ladung auf einer dieser mit der Speicherzelle verknüpften Bitleitungen
wird über
die freigegebene Speicherzelle auf eine Weise entladen, die dem
Wert der in der Speicherzelle gespeicherten Daten entspricht. Dies
erzeugt eine Asymmetrie zwischen den Signalen auf den paarigen Bitleitungen
und führt
zu einer Spannungsschwankung in den Bitleitungen.
-
Bei
Freigabe erfasst der Leseverstärker
das asymmetrische Signal und als Reaktion wechselt der normalerweise
symmetrische Leseverstärkerzustand in
einen Zustand, der für
den Wert der Daten repräsentativ
ist. Diese Zustandserkennung und Reaktion erfolgt innerhalb einer
begrenzten Zeit, in der eine bestimmte Menge an Leistung verbraucht
wird. In einem Ausführungsbeispiel
verbrauchen Speicherleseverstärker
nur Leistung beim Aktivieren, bis der Leseverstärker die Daten auflöst. Die
Leistung wird beim Aufbau von Spannung in den Bitleitungen verbraucht.
Je größer der
Abfall der Spannung in den voraufgeladenen Bitleitungen, desto mehr
Leistung wird während
des LESE-Vorgangs
verbraucht.
-
Es
sei angemerkt, dass die Verwendung von Leseverstärkern, die nach Abschluss eines
Lesevorgangs automatisch ausgeschaltet werden, die Leistung verringern
können.
Ein selbstspeichernder Leseverstärker
beispielsweise schaltet ab, sobald der Leseverstärker den gelesenen Datenzustand
meldet. Speicherleseverstarker erfordern ein Aktivierungssignal,
das in einem Ausführungsbeispiel
durch eine Dummyspalten-Taktschaltung
erzeugt wird. Der Leseverstärker
löst ein
begrenztes Schwankungssignal in den globalen Bitleitungen aus, um
Leistung zu sparen.
-
REDUNDANZ
-
Speicherdesigner
suchen typischerweise ein Gleichgewicht zwischen Leistung, Fläche der
Vorrichtung und Geschwindigkeit. Hochleistungsspeicherkomponenten
stellen hohe Anforderungen an Leistung und Fläche von verknüpften Systemen,
insbesondere wenn solche Komponenten in einem VLSI-System wie einem
Digitalsignalverarbeitungssystem eingebettet sind. Daher ist es
höchst
wünschenswert,
Speicheruntersysteme bereitzustellen, die schnell, aber dennoch
leistungs- und flächeneffizient sind.
-
Stark
integrierte Hochleistungskomponenten erfordern komplexe Fertigungs-
und Herstellprozesse. Diese Prozesse können unvermeidbaren Parameterschwankungen
unterliegen, die unerwünschte physikalische
Defekte an den erzeugten Einheiten hervorrufen können, oder die Designgrenzen
in einem Maß ausreizen,
dass die betroffenen Einheiten nicht verwendbar sind oder den Standard
nicht erfüllen.
-
In
einer Speicherstruktur kann Redundanz wichtig sein, weil ein Fertigungsdefekt
oder Betriebsfehler von beispielsweise nur einer einzigen Bitzelle zum
Ausfall des Systems führen
kann, das von diesem Speicher abhängig ist. Ebenso können prozesskonstante
Merkmale erforderlich sein, um zu gewährleisten, dass die internen
Vorgänge
der Struktur präzise
Takt- und Parameterspezifikationen erfüllen. Wenn Redundanz und prozesskonstante
Merkmale fehlen, ist der tatsächliche
Herstellungsertrag für
einen bestimmten Speicher insbesondere bei Einbettung in komplexere
Systeme inakzeptabel, die naturgemäß engere Fertigungs- und Herstellgrenzen
aufweisen. Ein höherer
Herstellungsertrag bedeutet geringere Kosten pro Einheit, während ein
robustes Design zuverlässige
Produkte mit geringeren Betriebskosten bedeutet. Daher ist es höchst wünschenswert,
Komponenten zu designen, die wenn möglich Redundanz und prozesskonstante
Merkmale aufweisen.
-
Redundanzvorrichtungen
und -techniken stellen andere bestimmte bevorzugte Ausführungsformen
der vorliegenden Erfindungen dar, die alleine oder zusammen die
Funktionalität
der hierarchischen Speicherstruktur verbessern. Die zuvor beschriebenen
Redundanzausführungsformen
der vorliegenden Erfindung können
die hierarchische Speicherstruktur weniger anfällig für Unbrauchbarkeit durch Fehler während Fertigung
oder Betrieb machen, wobei zweckmäßigerweise ein Speicherprodukt
bereitgestellt wird, das gleichzeitig besser herstellbar und kostengünstiger
und im Betrieb robuster ist.
-
Redundanz
in einem hierarchischen Speichermodul kann durch Hinzufügen von
einer oder mehr redundanten Reihen, Spalten oder beiden zur Basismodulstruktur
erzielt werden. Darüber
hinaus kann eine aus hierarchischen Speichermodulen zusammengesetzte
Speicherstruktur eines oder mehrere redundante Module zur Zuordnung
zu defekten Speicherschaltungen verwenden. Ein redundantes Modul
kann einen Eins-zu-eins-Ersatz für
ein defektes Modul bereitstellen oder es kann eine oder mehrere
Speicherzellenschaltungen für
ein oder mehrere Hauptspeichermodule bereitstellen.
-
SPEICHERMODUL MIT HIERARCHISCHER
FUNKTIONALITÄT
-
Die
modulare, hierarchische Speicherarchitektur gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung stellt ein kompaktes, robustes, leistungseffizientes
Hochleistungsspeichersystem bereit, das zweckmäßigerweise eine flexible und stark
skalierbare Architektur aufweist. Die hierarchische Speicherstruktur
besteht aus Grundspeichermodulen oder -blöcken, die kooperativ gekoppelt
und in mehreren hierarchischen Ebenen angeordnet werden können, um
ein zusammengesetztes Speicherprodukt mit beliebiger Spaltentiefe
bzw. Reihenlänge zu
erzeugen. Dieser Bottom-up-Ansatz grenzt Taktparameter, Entscheidung
und Leistungsverbrauch auf die jeweilige(n) Einheit(en) ein, in
der/denen die gewünschten
Daten gespeichert sind.
-
In
einer definierten Designhierarchie können die Grundspeicheruntersysteme
oder -blöcke
zum Bilden einer größeren Speicherstruktur
gruppiert werden, die wiederum mit ähnlichen Speicherstrukturen
zum Bilden noch größerer Speicherstrukturen
gekoppelt werden kann. Diese größeren Strukturen wiederum
können
zum Erzeugen einer komplexen Struktur, einschließlich eines SRAM-Moduls, auf
der obersten Ebene der Hierarchie angeordnet werden. Bei hierarchischem
Lesen ist es wünschenswert, zwei
oder mehr Ebenen des Bitlesens bereitzustellen und dadurch die LESE-
und SCHREIB-Zeit
der Vorrichtung zu verringern, d. h. die effektive Vorrichtungsgeschwindigkeit
zu erhöhen,
und gleichzeitig den Gesamtleistungsbedarf der Vorrichtung zu verringern.
In einem hierarchischen Design ist der Leistungsverbrauch durch
Schalten und Speicherzelle während
eines LESE/SCHREIB-Vorgangs auf die unmittelbare Umgebung der zu
lesenden oder beschreibenden Speicherzellen, d. h. der Speicherzellen
in ausgewählten
Speicheruntersystemen oder Blöcken,
eingegrenzt, mit Ausnahme einer begrenzten Anzahl von globalen Wortleitungswählern, Leseverstärkern und
Unterstützungsschaltungen.
Die Mehrzahl von Untersystemen bzw. Blöcken, die keine Speicherzellen
enthalten, die gelesen oder beschrieben werden, bleiben im Allgemeinen
inaktiv.
-
Alternative
Ausführungsbeispiele
der vorliegenden Erfindung stellen ein hierarchisches Speichermodul
unter Verwendung von lokalem Lesen der Bitleitung, lokalem Decodieren
der Wortleitung oder beidem bereit, was den gesamten Leistungsverbrauch
und die Signalausbreitung wesentlich verringert und die Gesamtgeschwindigkeit
erhöht
als auch die Designflexibilität
und -skalierbarkeit steigert. Ausführungsformen der vorliegenden
Erfindung beinhalten Vorrichtungen und Verfahren, die den gesamten Leistungsverbrauch
der hierarchischen Speicherstruktur weiter begrenzen und die Folgen
einer Hierarchie mit mehreren Ebenen minimieren. Bestimmte Ausführungsformen
der vorliegenden Erfindung zielen darauf ab, die funktionalen Einschränkungen,
die sich aus Schwankungen von Betriebsparametern ergeben können oder
mit dem Fertigungsprozess verknüpft
sind, zu reduzieren.
-
HIERARCHISCHE SPEICHERMODULE
-
Bei
Speicherdesigns auf dem Stand der Technik, beispielsweise den genannten
bankförmigen
Designs, werden große
logische Speicherblöcke in
kleinere physikalische Module unterteilt, von denen für jedes
der entsprechende Aufwand eines gesamten Speicherblocks einschließlich Vordecodierer, Leseverstärker, Multiplexer
u. ä. getrieben
werden muss. Insgesamt verhalten sich solche Speicherblöcke wie
einzelne Speicherblöcke.
Bei Verwendung der vorliegenden Erfindung können SRAM-Speichermodule vergleichbarer
oder wesentlich größerer Abmessung
durch Koppeln der hierarchischen Funktionsuntersysteme bzw. -blöcke zu größeren physikalischen
Speichermodulen einer beliebigen Anzahl von Wörtern und Wortlänge bereitgestellt
werden. Beispielsweise erfordern bestehende Designs, die kleinere
Speichermodule zu einzelnen logischen Modulen bündeln, normalerweise ein Vervielfältigen der Vordecodierer,
Leseverstärker
und sonstiger Verwaltungsschaltungen, die mit einem einzelnen Speichermodul
verknüpft
ist.
-
Gemäß der vorliegenden
Erfindung ist diese Vervielfältigung
unnötig
und unerwünscht.
Ein Ausführungsbeispiel
der vorliegenden Erfindung umfasst ein lokales Bitleitungslesen,
bei dem eine begrenzte Anzahl von Speicherzellen mit einem einzelnen
lokalen Leseverstärker
gekoppelt ist, wodurch ein Basisspeichermodul gebildet wird. Ähnliche
Speichermodule werden gruppiert und angeordnet, um Blöcke zu bilden,
die mit der entsprechenden Schaltung das lokale Leseverstärkersignal
für den
globalen Leseverstärker
ausgeben. Somit sind die mit den Speicherzellen verknüpften Bitleitungen
im Block nicht direkt mit einem globalen Leseverstärker gekoppelt,
was die Signalausbreitungsverzögerung
und den Leistungsverbrauch reduziert, die typischerweise mit globalem
Bitleitungslesen verbunden sind. Bei diesem Ansatz liest der lokale
Bitleitungsleseverstärker schnell
und wirtschaftlich den Zustand einer ausgewählten Speicherzelle in einem
Block und meldet den Zustand an den globalen Leseverstärker.
-
In
einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung wird neben anderen Einheiten ein Speicherblock,
eine begrenzte Anzahl von Speicherzellen, bereitgestellt. Das Verwenden
von lokalem Wortleitungsdecodieren verringert Verzögerungen
und Leistungsverbrauch von globalem Wortleitungsdecodieren. Ähnlich wie
beim Ansatz zum lokalen Bitleitungslesen kann ein einzelner globaler Wortleitungsdecodierer
mit den jeweiligen lokalen Wortleitungsdecodierern von mehreren
Blöcken
gekoppelt werden. Wenn der globale Decodierer mit einer Adresse
aktiviert wird, reagiert nur der mit der gewünschten Speicherzelle eines
gewünschten
Blocks verknüpfte
lokale Wortleitungsdecodierer und aktiviert die Speicherzelle. Diese
Ausführungsform
ist ebenfalls besonders leistungssparend und schnell, weil die Ladung
in der globalen Leitung auf die verknüpften lokalen Wortleitungsdecodierer
beschränkt ist
und das globale Wortleitungssignal nur so lange wie nötig zum
Ansteuern der jeweiligen lokalen Wortleitung vorhanden sein muss.
In einem weiteren Ausführungsbeispiel
wird ein hierarchischer Speicherblock bereitgestellt, der lokales
Bitleitungslesen und lokales Wortleitungsdecodieren verwendet, was
die Vorzüge
beider Ansätze
bietet. U. a. die genannten Ausführungsbeispiele
werden nachfolgend beschrieben.
-
SYNCHRON GESTEUERTES SELBSTTAKTENDES
SRAM
-
Ein
Ausführungsbeispiel
eines 0,13-μm-SRAM-Moduls,
allgemein als 300 bezeichnet, ist in 3A und 3B dargestellt.
Es sei angemerkt, dass zwar ein 0,13-μm-SRAM-Modul dargestellt ist, aber SRAM-Module
in anderen Größen ebenfalls
in Betracht kommen. Das dargestellte SRAM-Ausführungsbeispiel umfasst einen
hierarchischen Speicher, der einen großen Speicher in ein zweidimensionales
Feld von Blöcken
unterteilt. In diesem Ausführungsbeispiel
wird eine Reihe von Blöcken
als Reihenblock bezeichnet, während
eine Spalte von Blöcken
als ein Spaltenblock bezeichnet wird. Ein Paar von benachbarten
Reihenblöcken 302 und
Spaltenblöcken 304 ist
dargestellt.
-
Es
sei angemerkt, dass die Begriffe Reihenblöcke und Spaltenblöcke beliebige
Bezeichnungen sind, die zuge wiesen werden, um die Blöcke, die
sich in einer Richtung erstrecken, von den Blöcken, die sich senkrecht hierzu
erstrecken, zu unterscheiden, und dass diese Begriffe unabhängig von
der Ausrichtung des SRAM 300 sind. Es sei ebenfalls angemerkt,
dass zwar vier Blöcke
abgebildet sind, aber eine beliebige Anzahl von Spalten- und Reihenblöcken in
Betracht kommt. Die Anzahl der Blöcke in einem Reihenblock kann
im Allgemeinen 1 bis 16 betragen, während die Anzahl von Blöcken in
einem Spaltenblock im Allgemeinen 1 bis 16 betragen kann; es kommen
jedoch auch größere Reihen- und Spaltenblöcke in Betracht.
-
In
einem Ausführungsbeispiel
umfasst ein Block wenigstens vier Elemente: (1) ein oder mehrere
Zellenfelder 308; (2) ein oder mehrere lokale Decodierer 310 (alternativ
als "LxDEC 710" bezeichnet); (3)
ein oder mehrere lokale Leseverstärker 312 (alternativ
als "LSA 712" bezeichnet) und
(4) eine oder mehrere lokale Steuereinheiten 314 (alternativ
als "LxCTRL 714" bezeichnet). In
einem alternativen Ausführungsbeispiel
kann der Block 306 Cluster wie nachfolgend beschrieben
beinhalten.
-
Das
in 3A und 3B dargestellte SRAM 300 beinhaltet
zwei lokale Vordecodierer 316 (alternativ als "LxPRED" bezeichnet), drei
globale Decodierer 318 (alternativ als "GxDEC" bezeichnet), einen globalen Vordecodierer 320 (alternativ
als "GxPRED" bezeichnet), zwei
globale Steuereinheiten 322 (alternativ als "GxCTR" bezeichnet) und
zwei globale Leseverstärker 324 (alternativ
als "GSA 724" bezeichnet) zusätzlich zum
dargestellten Block 306, der acht Zellenfelder 308,
sechs lokale Decodierer 310, acht lokale Leseverstärker 312 und
zwei lokale Steuereinheiten 314 umfasst. Es sei angemerkt, dass
ein Ausfüh rungsbeispiel
einen lokalen Leseverstärker
(und in einem Ausführungsbeispiel
einen 4:1-Mux) für
jeweils vier Spalten der Speicherzelle umfasst, jede dargestellte
globale Steuereinheit eine Vielzahl von globalen Steuereinheiten,
eine globale Steuereinheit für
jede lokale Steuereinheit, umfasst und jede dargestellte lokale
Steuereinheit eine Vielzahl von lokalen Steuereinheiten, eine für jede Reihe von
Speicherzellen, umfasst.
-
Ein
alternatives Ausführungsbeispiel
des Blocks 306, das nur vier Zellenfelder 308,
zwei lokale Decodierer 310, zwei lokale Leseverstärker 312 und eine
lokale Steuereinheit 314 umfasst, ist in 4 dargestellt.
Typischerweise weisen die Blöcke
eine Größe zwischen
2 Kbit und 150 Kbit auf.
-
In
einem Ausführungsbeispiel
können
die Blöcke 306 in
noch kleinere Elemente unterteilt sein. Ein Ausführungsbeispiel beinhaltet ein
in der Mitte der Zellenfelder 308 angeordnetes Feld von
Leseverstärkern,
das die Zellenfelder in obere und untere Unterblöcke wie nachfolgend beschrieben
unterteilt.
-
Es
wird in einem Ausführungsbeispiel
in Betracht gezogen, dass die externen Signale zur Steuerung von
jedem Block 300 durchgängig
synchron sind. Das heißt
die Impulsdauer der Steuersignale ist mit der Takt-High-Zeit des SRAM-Moduls
identisch. Ferner ist der interne Takt von jedem Block 300 selbsttaktend.
Die Impulsdauer der Signale ist mit anderen Worten von einer Bitleitungsabfallzeit
abhängig
und von der Taktzeit unabhängig.
Dieses Schema ist global nicht anfällig für RC-Effekte, lokal schnell und
leistungseffizient wie nachfolgend beschrieben.
-
SPEICHERZELLE
-
In
einem Ausführungsbeispiel
umfassen die Zellenfelder 308 des SRAM 300 eine
Vielzahl von Speicherzellen wie in 5 dargestellt,
wobei die Größe des Feldes
(gemessen in Zelleneinheiten) durch Reihe × Spalten festgelegt ist. Ein
Megabit-Speicherzellenfeld beispielsweise umfasst 1024 × 1024 Speicherzellen.
Ein Ausführungsbeispiel
einer im SRAM-Zellenfeld verwendeten Speicherzelle umfasst eine
6-Transistor-CMOS-Zelle 600A (alternativ als "6T-Zelle" bezeichnet) wie
in 6A dargestellt. Im dargestellten Ausführungsbeispiel
beinhaltet die 6T-Zelle 600 die Transistoren 601a, 601b, 601c und 601d.
-
Jede
6T-Zelle 600 weist eine Schnittstelle zu einer lokalen
Wortleitung 626 (alternativ als lwlH bezeichnet) auf, die
gemeinsam mit allen anderen 6T-Zellen in der gleichen Reihe in einem
Zellenfeld verwendet wird. Ein Paar von lokalen Bitleitungen, bezeichnet
als bit und bit_n und jeweils mit 628 und 630 nummeriert,
wird gemeinsam mit allen anderen 6T-Zellen 600 in der gleichen
Spalte im Zellenfeld verwendet. In einem Ausführungsbeispiel trifft das lokale
Wortleitungssignal bei jeder 6T-Zelle 600 direkt auf einer
Mehrfachleitung ein, die das Gatter der Zellzugriffstransistoren 632 und 634 bildet
wie dargestellt. Eine Überbrückungsmetallleitung überträgt ebenfalls
das gleiche lokale Wortleitungssignal. Die Überbrückungsmetallleitung ist mit
der Mehrfachleitung in Bandzellen kurzgeschlossen, die regelmäßig alle
16 bzw. 32 Spalten der 6T-Zellen 600 eingefügt sind.
Die Mehrfachleitung in den Bandzellen weist einen hohen Widerstand
auf und ist in einem Ausführungsbeispiel
der vorliegenden Erfindung durch eine Metallüberbrückung geshuntet, um den Widerstand zu
verringern.
-
Im
Allgemeinen weist die 6T-Zelle 600 einen von drei möglichen
Zuständen
auf: (1) STABIL-Zustand, in dem die 6T-Zelle 600 einen
Signalwert entsprechend einer logischen "1" oder
logischen "0" aufweist, (2) LESE-Vorgangszustand oder
(3) SCHREIBE-Vorgangszustand. Im STABIL-Zustand wird die 6T-Zelle 600 effektiv
vom Speicherkern (beispielsweise Kern 102 in 1)
getrennt. In einem Beispiel werden die Bitleitungen, d. h. jeweils
die Leitung bit und bit_n 628, 630, auf HIGH (logische "1") voraufgeladen, bevor LESE- bzw. SCHREIB-Vorgänge durchgeführt werden.
Die Reihenwahltransistoren 632, 634 werden beim
Voraufladen ausgeschaltet. Der lokale Leseverstärkerblock (nicht dargestellt,
aber ähnlich
dem LSA 712) weist eine Schnittstelle zur Leitung bit 628 und
Leitung bit_n 630, ähnlich
wie der LSA 712 in 3A, 3B und 4,
auf und stellt Voraufladeleistung bereit.
-
Durch
Durchführen
eines VORAUFLADE-Zyklus wird ein LESE-Vorgang ausgelöst, wobei ein
Voraufladen der Leitung bit 628 und der Leitung bit_n 630 auf
logisch HIGH erfolgt und ein Aktivieren von LwLH 626 mit
den Reihenwahltransistoren 632, 634 erfolgt. Eine
der Bitleitungen wird über
die 6T-Zelle 600 entladen und eine Differentialspannung wird
zwischen der Leitung bit 628 und der Leitung bit_n 630 aufgebaut.
Diese Spannung wird gemessen und auf Logikpegel verstärkt.
-
Nach
einem weiteren VORAUFLADE-Zyklus wird ein SCHREIB-Vorgang an der
6T-Zelle 600 durchgeführt,
wobei die Bitleitungen 628, 630 in den erforderlichen
Zustand geschaltet werden, was dem Schreiben von Daten und Aktivieren
von lwlH 626 entspricht. CMOS ist eine wünschenswerte
Technologie, da der von solch einer SRAM-Zelle gezogene Versorgungsstrom
typischer weise auf den Leckstrom der Transistoren 601a–d im STABIL-Zustand
beschränkt
ist.
-
6B zeigt
eine alternative Darstellung der in 6A gezeigten
6T-Zelle. In diesem Ausführungsbeispiel
sind die Transistoren 601a, 601b, 601c und 601d als
aufeinander folgende Inverter 636 und 638 jeweils
wie gezeigt dargestellt.
-
LOKALER DECODIERER
-
Ein
Blockdiagramm eines Ausführungsbeispiels
eines SRAM-Moduls 700, ähnlich
dem SRAM-Modul 300 von 3A, 3B und 4,
ist in 7 dargestellt. Dieses Ausführungsbeispiel beinhaltet ein
eindimensionales Feld von lokalen x-Decodierern oder LxDEC 710 ähnlich LxDEC 310.
Das Feld LxDEC 710 ist physikalisch als ein senkrechtes Feld
von lokalen x-Decodierern unmittelbar neben dem Zellenfeld 708 angeordnet.
Das LxDEC 710 weist eine Schnittstelle auf zu bzw. ist
kommunikativ gekoppelt mit einem globalen Decodierer oder GxDEC 718.
-
In
einem Ausführungsbeispiel
befindet sich LxDEC 710 links vom Zellenfeld 708.
Es sei angemerkt, dass die Begriffe "links" oder "rechts", "oben" oder "unten", "oberhalb" oder "unterhalb" beliebige Bezeichnungen
sind, die zugewiesen werden, um die Blöcke, die sich in einer Richtung
erstrecken, von den Blöcken,
die sich in einer anderen Richtung erstrecken, zu unterscheiden,
und dass diese Begriffe unabhängig
von der Ausrichtung des SRAM 700 sind. In einem Ausführungsbeispiel
befindet sich LxDEC 710 in einer Eins-zu-eins-Entsprechung
zu einer Reihe des Zellenfelds 708. Das LxDEC 710 aktiviert
eine entsprechende, nicht dargestellte lokale Wortleitung oder lwlH 726 eines Blocks.
Das LXDEC 710 wird beispielsweise durch die Signale WIH,
bnkL und BitR 742 in den entsprechenden Leitungen gesteuert.
-
Ein
weiteres Ausführungsbeispiel
von LxDEC 710 ist in 8 dargestellt.
In diesem Ausführungsbeispiel
weist jedes LxDEC 710 in einem Block eine Schnittstelle
zu einer einmaligen globalen Wortleitung 750 (alternativ
als "WIH" bezeichnet) entsprechend
der Speicherreihe auf. Die globale WIH 750 wird gemeinsam
mit anderen entsprechenden LxDEC 710 im gleichen Reihenblock
unter Nutzung von lwlH 750 verwendet. LxDEC 710 aktiviert
ausschließlich
die lokale Wortleitung 726, falls die entsprechende globale
Wortleitung 750 aktiviert wird. Es sei angemerkt, dass
eine Vielzahl von Zellen 754 ähnlich der zuvor beschriebenen
6T-Zellen kommunikativ
mit der lwlH 626 gekoppelt ist wie dargestellt.
-
Im
in 8 dargestellten Ausführungsbeispiel verwenden alle
LxDEC 710 im oberen oder unteren Bereich eines Unterblocks
gemeinsam die gleiche Bankleitung (alternativ als "bnk Sol H" bezeichnet). Es
sei angemerkt, dass jeweils separate Leitungen bnkL_bot 756 und
bnkL_top 758 für
unteren und oberen Unterblock vorhanden sind. LxDEC 710 aktiviert
IwIH 726 nur, wenn diese Leitung aktiv ist. Die Bankleitungen
dienen zum selektiven Aktivieren verschiedener Blöcke im gleichen
Reihenblock und Synchronisieren des richtigen Zugriffstakts. Während eines
LESE-Vorgangs beispielsweise wird die Bankleitung so früh wie möglich aktiviert,
um mit dem Lesevorgang zu beginnen. Während eines SCHREIB-Vorgangs
beispielsweise wird bnkL mit der Verfügbarkeit der Daten in den lokalen
Bitleitungen synchronisiert.
-
Jedes
LxDEC 710 im in 8 dargestellten Ausführungsbeispiel
verwendet die gleiche Leitung bitR 760. Diese Leitung wird
im Speicherruhezustand auf VDD voraufgeladen. Wenn bitR 760 VDD/2
(d. h. die Hälfte
von VDD) erreicht, signalisiert diese das Ende eines Speicherzugriffs
und weist das LXDEC 710 an, lwlH 726 zu deaktivieren.
Die Signalleitung bitR 760 ist als Replikat der Bitleitungen
(d. h. im vorliegenden Ausführungsbeispiel
Leitung bit 728 und Leitung bit_n 730 sind der
zuvor beschriebenen Leitung bit 628 und bit_n 630 ähnlich)
im Zellenfeld aufgebaut, so dass die kapazitive Last der Leitung
bitR 760 pro Einheitenlänge
gleich ist wie im Zellenfeld. In einem Ausführungsbeispiel löst ein lokaler
Replikat-Decodierer,
gesteuert von bnkL, das lwlRH aus. In diesem Ausführungsbeispiel
ist das lwlRH ein Synchronisierungssignal, das die lokale Steuereinheit steuert.
Das lwlRH kann bei jedem Zugriff auf einen verknüpften Unterblock (entsprechend
einem wlRH) ausgelöst
werden.
-
In
einem Ausführungsbeispiel
löst eine
globale Steuereinheit ein LESE- oder SCHREIB-Signal aus bzw. überträgt dieses.
Die verknüpfte
lokale Steuereinheit 714 löst ein entsprechendes Signal, basiert
auf dem von der globalen Steuereinheit (nicht dargestellt) übertragenen
Signal, aus bzw. überträgt dieses.
Die lokale Steuereinheit regelt die Leitung bitR line 760 vom
LxDEC 710 herunter, wenn die entsprechende Zelle GELESEN
oder BESCHRIEBEN wird, was Leistung spart. Wenn die Differenz zwischen
der Leitung bit 728 und der Leitung bit_n 730 groß genug
ist, um den Leseverstärkerteil
auszulösen,
wird lwlH 726 ausgeschaltet, um Leistung zu sparen. In 9 ist
ein Schaltbild eines Ausführungsbeispiels
eines lokalen x-Decodierers ähnlich LxDEC 710 dargestellt.
-
LOKALE LESEVERSTÄRKER
-
Ein
Ausführungsbeispiel
des SRAM-Moduls beinhaltet ein eindimensionales Feld von lokalen
Leseverstärkern
oder LSA 712 dargestellt in 10 und 11,
wobei die Ausgänge
des LSA 712 mit dem GSA 724 über die Leitung 762 gekoppelt
sind. In einem Ausführungsbeispiel
sind die Ausgänge
der LSA mit dem GSA über
wenigstens ein Paar der Leitungen gbit und gbit_n gekoppelt. 12A stellt ein Ausführungsbeispiel des LSA 712 dar,
das einen zentralen, differentialen, kreuzgekoppelten Verstärkerkern 764 umfasst,
der zwei Wechselrichter 764A und 764B umfasst.
Die Leitungen senseH 766 und clusterL 798 sind über den
Transistor 771 mit dem Verstärkerkern gekoppelt.
-
Die
LSAs 764 sind mit einem oder mehreren 4:1-Mux 771 und
acht Paaren von Leitungen muxL 768A, vier muxL 768A oberhalb
und vier 768B (am besten in 7 zu sehen),
angeordnet unterhalb des Verstärkerkerns 764,
gekoppelt. Im dargestellten Ausführungsbeispiel
verbindet jeder der Bitleitungs-Multiplexer 772 ein entsprechendes
Bitleitungspaar und den Verstärkungskern 764.
gbit und gbit_n sind über
PMOS-Transistoren (beispielsweise Transistoren 770) mit
dem Verstärkerkern
verbunden. Wenn ein Bitleitungspaar vom Verstärkerkern 764 getrennt
wird, entzerrt der Bitleitungs-Multiplexer aktiv das Bitleitungspaar
und führt
eine Voraufladung von diesem auf VDD durch.
-
12B stellt ein Schaltbild eines Verstärkerkerns 764 mit
zwei Wechselrichtern 764A und 764B dar, wobei
jeder Wechselrichter 764A und 764B über einen
Transistor NMOS 771 mit einer Leitung SenseH 766 und
einer Leitung cluster 798 verbunden ist. Nur eine Clusterleitung
SenseH ist dargestellt. Im gezeigten Ausführungsbeispiel ist jeder der Wechselrichter 764A und 764B als
gekoppelter PMOS- und NMOS-Transistor dargestellt, wie nach dem
Stand der Technik wohlbekannt ist. 12C stellt
ein Schemabild des Verstärkerkerns
von 12B (ähnlich dem Verstärkerkern
von 12A) dar.
-
In
einem in 13 dargestellten Ausführungsbeispiel
umfasst das Leseverstärkerfeld
ein horizontales Feld von Leseverstärkern 713, angeordnet in
der Mitte des Zellenfeldes 708, wodurch das Zellenfeld
in einen oberen 708A und unteren 708B Unterblock
wie zuvor beschrieben unterteilt wird. In diesem Ausführungsbeispiel
beträgt
die Breite eines einzelnen LSA 712 die vierfache Breite
des Zellenfeldes, während
die Anzahl der Objekte eines LSA 712 im Feld der Anzahl
von Spalten/4 entspricht. Das heißt jeder LSA 712 (und
in einem Ausführungsbeispiel
ein 4:1-Mux) steht in einer Eins-zu-eins-Entsprechung zu vier Spalten
des Zellenfeldes und weist Schnittstellen zu den entsprechenden
lokalen Bitleitungspaaren des Zellenfeldes 708 im oberen
und unteren Unterblock 708A, 708B auf. Diese Anordnung wird
als lokales 4:1-Multiplexen bezeichnet (alternativ als "lokales 4:1-Muxen" bezeichnet). Es
sei angemerkt, dass die Bitleitungspaare des unteren Unterblocks 708B vom
oberen Unterblock 708A abgetrennt werden, was die kapazitive
Last jeder Bitleitung 729 um den Faktor 2 verringert, die
Geschwindigkeit der Bitleitung um den gleichen Faktor erhöht und die
Leistung verringert. Ein Ausführungsbeispiel des
4:1-Mux plus Voraufladung ist in 10 und 12 dargestellt und nachfolgend detaillierter
beschrieben.
-
Allgemein
bekannt ist das Einfügen
von Stromschienen 774 (in Durchsicht gezeigt) zwischen Paaren
von Bit leitungen, um die Bitleitungspaare vor benachbarten Paaren
abzuschirmen. Dies verhindert, dass sich Signale von einem Paar
von Bitleitungen auf benachbarte Bitleitungspaare auswirken. Wenn
im vorliegenden Ausführungsbeispiel
auf ein Paar von Bitleitungen 729 (bit und bit_n, 728, 730) zugegriffen
wird, werden alle benachbarten Bitleitungen vom 4:1-Mux wie in 12 dargestellt auf VDD voraufgeladen.
Ein Voraufladen der benachbarten Bitleitungen erspart das Abschirmen
zum Isolieren dieser Bitleitungen. Das heißt, dass das Isolieren von Paaren
von Bitleitungen voneinander mit eingefügten Stromschienen 774 nicht
erforderlich ist. Dies ermöglicht
eine größere Bitleitungsteilung
auf der gleichen Gesamtbreite und somit weniger Kapazität, weniger Leistung
und eine höhere
Geschwindigkeit.
-
Der
LSA 712 weist eine Schnittstelle zu einem Paar von globalen
Bitleitungen mit der Bezeichnung gbit 776 und gbit_n 778 über einen PMOS-Transistor 770 wie
in 12A dargestellt auf. Dargestellt sind zwei PMOS-Transistoren,
aber es kommt eine beliebige Anzahl in Betracht. In einem Ausführungsbeispiel
laufen die globalen Bitleitungen senkrecht parallel zu den lokalen
Bitleitungen. Die globalen Bitleitungen werden gemeinsam mit den entsprechenden
lokalen Leseverstärkern 712 in
anderen Blöcken
im gleichen Spaltenblock verwendet. In einem Ausführungsbeispiel
verlaufen die lokalen Bitleitungen und globalen Bitleitungen in
unterschiedlichen Metallschichten. Da vier Mal weniger globale Bitleitungen
als lokale Bitleitungen vorhanden sind, sind die globalen Bitleitungen
physikalisch breiter und in einer größeren Teilung angeordnet. Dies
verringert wesentlich den Widerstand und die Kapazität der langen
globalen Bitleitungen, was die Geschwindigkeit und Zuverlässigkeit
des SRAM- Moduls
erhöht.
Die PMOS-Transistoren 770 isolieren die globalen Bitleitungen 776, 778 vom
Leseverstärker.
-
Ein
Ausführungsbeispiel
des Bitleitungs-Multiplexers bzw. 4:1-Mux 772 ist in 14 dargestellt. In
diesem Ausführungsbeispiel
umfasst der 4:1-Mux 772 eine(n) Vorauflade- und Entzerrteil
bzw. -vorrichtung 773 und zwei Übertragungsgatter pro Paar bit/bit_n.
Insbesondere kann das 4:1-Muxen 8 Übertragungsgatter und 4 Vorauflader
und Entzerrer umfassen, obwohl nur 4 Übertragungsgatter und 2 Vorauflader
und Entzerrer dargestellt sind.
-
Im
dargestellten Ausführungsbeispiel
umfasst jeder Vorauflade- und Entzerrteil 773 des 4:1-Mux
drei PFet-Transistoren 773A, 773B und 773C.
In diesem Ausführungsbeispiel
umfasst der Voraufladeteil die PFet-Transistoren 773A und 773B. Der
Entzerrteil umfasst den PFet-Transistor 773D.
-
Im
dargestellten Ausführungsbeispiel
umfasst jedes Übertragungsgatter
einen NFet 777B und einen PFet 777B Transistor.
Es wird zwar eine bestimmte Anzahl und Anordnung von PMOS- und NMOS-Transistoren
behandelt, aber es kommen auch abweichende Anzahlen und Anordnungen
in Betracht. Der Vorauflade- und Entzerrteil 773 ist für das Voraufladen
und Entzerren der Bitleitungen 728, 739 wie zuvor
beschrieben geeignet. Das Übertragungsgatter 775 ist
für das Übergeben
von logischen "1" und "0" geeignet, wie nach dem Stand der Technik wohlbekannt
ist. Die NFet-Transistoren, beispielsweise 777A und 777B,
können
Signale während
eines SCHREIB-Vorgangs übergeben,
während
die PFet-Transistoren 779A und 779B Signale
während eines
LESE-Vorgangs übergeben
können.
-
15 und 16 stellen
Ausführungsbeispiele
des mit dem Verstärkerkern 764 des
LSA gekoppelten 2:1-Mux dar. 16 zeigt
ebenfalls eine alternative Darstellung des Übertragungsgatters. Hier sind
vier Übertragungsgatter 775A, 775B, 775C und 775D dargestellt,
die mit den Wechselrichtern 764A und 764B des
Wechselrichterkerns gekoppelt sind. In einem Ausführungsbeispiel
der vorliegenden Erfindung werden acht Übertragungsgatter für jeden LSA,
zwei für
jedes Bitleitungspaar, beschrieben.
-
16 stellt
den Vorauflade- und Entzerrteil 773 des mit den Übertragungsgattern 775A und 775B des
Mux 772 gekoppelten 2:1-Mux dar, der wiederum mit den Verstärkerkern
gekoppelt ist. Obgleich nur ein Vorauflade- und Entzerrteil 773 dargestellt
ist, kommt in Betracht, dass ein zweiter Vorauflade- und Entzerrteil 773 mit
den Übertragungsgattern 775C und 775D gekoppelt
ist.
-
In
einem in 7 dargestellten Ausführungsbeispiel
wird der LSA 712 durch den folgenden Satz von Leitungen
oder Signalen in diesen Leitungen, die gemeinsam im gesamten LSA 712 Feld
verwendet werden, gesteuert: (1) muxL_bot 768B; (2) muxL_top 768A;
(3) senseH 766; (4) genL 780 und (5) lwlRH 782.
In einem Ausführungsbeispiel
des SRAM-Moduls wählt
der LSA 712, welche der lokalen Bitleitungen zum Auslösen des
Zellenfeldes 708 oder Zugreifen auf dieses verwendet wird.
Die lokalen Bitleitungen umfassen 8 Paare von Leitungen, 4 Paare von
Mux-Leitungen 768B, die eine Schnittstelle zum unteren
Unterblock 708B (alternativ bezeichnet als "muxL_bot 765B<0:3>") aufweisen, und 4 Paare von Mux-Leitungen 768A,
die eine Schnittstelle zum oberen Unterblock 708A (alternativ
bezeichnet als "muxL_top 765A<0:3>") aufweisen. Der LSA 712 wählt, welches
der 8 Paare von lokalen Bitleitungen für den aktuellen Zugriff verwendet
wird. Der LSA 712 hält
für den
Zugriff nicht ausgewählte
lokale Bitleitungen in einem voraufgeladenen und entzerrten Zustand.
In einem Ausführungsbeispiel
hält der
LSA 712 die nicht ausgewählten Bitleitungen auf VDD
voraufgeladen.
-
Der
LSA 712 aktiviert ebenfalls den Verstärkerteil des Leseverstärkers 713 mit
einer Lesefreigabeleitung 766 oder einem Signal in der
Leitung (alternativ bezeichnet als "senseH 766"), verbunden mit dem Transistor 773.
Dieses Aktivierungssignal wird auf vier separate Signale verteilt,
wobei jedes Signal einen von jeweils vier lokalen Leseverstärkern abgreift.
In einem Ausführungsbeispiel
kann die lokale Steuereinheit 714 alle Leitungen senseH 766 gleichzeitig
aktivieren (bezeichnet als "globales
1:1-Multiplexen" oder "globaler 1:1-Mux"), da jeder Leseverstärker 713 durch
die Leitungen senseH 766 bei jedem Zugriff aktiviert wird.
Alternativ kann die lokale Steuereinheit die Leitungen senseH 766 paarweise aktivieren
(bezeichnet als "globales
2:1-Multiplexen" oder "globaler 2:1-Mux"), da jeder zweite
Leseverstärker 713 durch
senseH 766 bei jedem Zugriff aktiviert wird. Zusätzlich kann
der LSA 712 die Leitungen senseH 766 einzeln aktivieren
(bezeichnet als "globales
4:1-Multiplexen" oder "globaler 4:1-Muxen"), da jeder vierte
Leseverstärker 713 bei
jedem Zugriff aktiviert wird. Es sei angemerkt, dass das Verbinden von
senseH 766 mit jedem vierten freigegebenen Transistor oder
Bereitstellen einer Schnittstelle zu diesem mit globalem 4:1-Multiplexen
besser konfigurierbare Anordnungen für unterschiedliche Speichergrößen ermöglicht.
-
Der
LSA 712 gibt die Leseverstärker 713 in einem
Ausführungsbeispiel
für die
globalen Bitleitungen frei. Der LSA 712 aktiviert bzw.
initialisiert die Leitung genL 780 und gibt dadurch die
Leseverstärker 713 für gbit und
gbit_n frei.
-
In
einem Ausführungsbeispiel
repliziert der LSA 712 die lokale Mehrfachwortleitung,
die durch jede Reihe von jedem Block verläuft. Diese replizierte Leitung
wird als Dummy-Mehrfachleitung 782 (alternativ bezeichnet
als "lwlRH 782") bezeichnet. Im
vorliegenden Ausführungsbeispiel
bildet die Leitung lwlRH 782 das Gatter der Dummy-Transistoren,
die jede Spalte des Zellenfeldes 708 abschließen. Jeder Dummy-Transistor
repliziert den Zugriffstransistor der 6T-SRAM-Zelle. Die kapazitive
Last dieser Leitung wird zum Replizieren der Taktcharakteristik
einer tatsächlichen
lokalen Wortleitung verwendet.
-
Es
wird in einem Ausführungsbeispiel
beschrieben, dass sich die Replikatleitung lwlRH 782 auch
auf die Metallüberbrückungsleitung
(nicht dargestellt) erstreckt. Die Replikatüberbrückungsleitung weist die gleiche
Breite und den gleichen Nachbarmetallabstand wie jede lokale Wortleitungsüberbrückung im
Zellenfeld auf. Diese Leitung dient ausschließlich als kapazitive Last durch
die lokale Steuereinheit 714 und beeinflusst in keiner
Weise die Funktion des LSA 712. Insbesondere ist die replizierte Überbrückungsleitung
für das
Verringern des Widerstands der Mehrfachleitung lwlRH geeignet, ähnlich wie
die zuvor beschriebene Metallabzweigleitung. In 17 ist
ein Schaltbild eines Ausführungsbeispiels
eines LSA 712 dargestellt.
-
LOKALE STEUEREINHEIT
-
In
einem Ausführungsbeispiel
weist jeder Block eine einzelne lokale Steuereinheit bzw. LxCTRL 174 auf
wie in 7 und 18 dargestellt, welche die Aktivitäten der
lokalen x-Decodierer 710 und Leseverstärker 713 koordiniert.
Im vorliegenden Ausführungsbeispiel
koordiniert die LxCTRL 714 solche Aktivitäten durch
Auslösen
bestimmter Leitungen einschließlich:
die Steuerleitungen (1) bitR 760; (2) bnkL_bot 756;
(3) bnkL_top 758; (4) muxL_bot 765B; (5) muxL
top 765A; (6) senseH 766; (7) genL 780 und (8)
lWlRH 782, wie in 7 dargestellt.
Jede dieser Leitung wird durch eine Treiber- und Steuerlogikschaltung
in der Schaltung LxCTRL 714 aktiviert. In einem Ausführungsbeispiel
sind alle diese Leitungen normalerweise inaktiv, wenn das SRAM-Modul
im Ruhezustand ist, mit Ausnahme der Leitung genL 780.
Die Leitung genL 780 ist im Ruhezustand aktiv. Die Schaltung
LxCTRL 714 wird wiederum durch externe senkrechte und waagrechte
Signale aktiviert. Zu den senkrechten Signalen gehören die
Signale (1) lmuxL 784, (2) gmuxL 786, (3) rbankL 788,
(4) gbitR 760 und (5) wbankL 792. Zu den waagrechten
Signalen gehören
(1) wlRH 794, (2) blkSelH_bot 756 und (3) blkSelH_top 758.
-
In
einem Ausführungsbeispiel
verwenden alle Schaltungen LxCTRL 714 im gleichen Spaltenblock
gemeinsam die senkrechten Signale. In diesem Ausführungsbeispiel
weist die LxCTRL 714 in jedem Block eine Schnittstelle
zu vier lokalen Mux-Leitungen 784 (alternativ bezeichnet
als "lmuxL<0:3>" bzw. "lmuxl") auf. Es ist nur jeweils eine der vier
Leitungen lmuxL 768 aktiv. Die LxCTRL 714 initialisiert
oder aktiviert eine der Leitungen lmuxL 768, um auf ein
Zellenfeld 708 zuzugreifen, wobei eine der vier Zellenfeldspalten
für den
Zugriff ausgewählt
wird, die eine Schnittstelle zu jedem LSA 712 aufweisen.
-
In
einem Ausführungsbeispiel ähnlich dem zuvor
beschriebenen kann der LSA 712 die Signale senseH 766 einzeln
aktivieren (d. h. globales 4:1-Multiplexen). In diesem Ausführungsbeispiel weist
die LxCTRL 714 in jedem Block eine Schnittstelle zu vier
globalen Mux-Leitungen 786 (alternativ bezeichnet
als "gmuxL<0:3>" bzw. "gmuxl") auf. Es sei angemerkt, dass jeweils
nur eine dieser vier Leitungen gmuxL 768 aktiv ist, wobei
eine von jeweils vier globalen Bitleitungen für den Zugriff ausgewählt bzw.
aktiviert wird. In einem Ausführungsbeispiel
aktiviert der LSA 712 die Leitungen senseH 766 paarweise
(d. h. globales 2:1-Multiplexen).
In diesem Ausführungsbeispiel
sind jeweils nur zwei der vier Leitungen gmuxL 768 aktiv,
wobei eine von jeweils zwei globalen Bitleitungen für den Zugriff
ausgewählt
bzw. aktiviert wird. Bei globalem 1:1-Multiplexieren sind immer
alle vier Leitungen gmuxL 786 aktiv, wobei alle globalen
Bitleitungen für
den Zugriff ausgewählt
werden.
-
Alle
Schaltungen LxCTRL 714 im gleichen Spaltenblock verwenden
gemeinsam die gleichen Lesebankleitungen 788 oder Signale
in den Leitungen (alternativ als "rbankL" bezeichnet). Die Leitung rbankL 788 wird
aktiviert, wenn ein LESE-Vorgang angefordert wird (d. h. Daten vom
Block ausgelesen werden). Am Ende des LESE-Vorgangs enthalten die von
der Leitung gmuxL 786 ausgewählten globalen Bitleitungen
Differentialsignale mit begrenzter Schwankung. Diese Differentialsignale
mit begrenzter Schwankung stellen die gespeicherten Werte in den
von der Leitung lwlH 726 und den Leitungen lmuxL 784 ausgewählten Zellen
dar.
-
In
einem Ausführungsbeispiel
wird eine globale Bitreplikatleitung 790 bzw. ein Signal
in der Leitung gemeinsam mit allen Schaltungen LxCTRL 714 im
gleichen Spaltenblock (alternativ als "gbitR" bezeichnet) verwendet. Die Leitung
gbitR 760 wird extern auf VDD gehalten, wenn der SRAM-Speicher
in Ruhe ist. Die Leitung gbitR 760 wird potentialfrei geschaltet,
wenn ein LESE-Zugriff ausgelöst
wird. Die LxCTRL 714 entlädt dieses Signal auf VSS, wenn eine
LESE-Zugriffsanforderung
synchron mit der Verfügbarkeit
von LESE-Daten auf gbit/gbit_n ausgeführt wird.
-
Während eines
SCHREIB-Vorgangs aktiviert die LxCTRL 714 Schreibebankleitungen 792 oder
Signale in der Leitung (alternativ als "wbnkL" bezeichnet). In den globalen Bitleitungen
liegen Differentialsignale mit begrenzter Schwankung vor, wenn die Leitung
wbnkL 792 aktiviert wird. Die Differentialsignale mit begrenzter
Schwankung stellen die zu schreibenden Daten dar.
-
Es
sei ferner angemerkt, dass in einem Ausführungsbeispiele alle Schaltungen
LxCTRL 714 in der gleichen Reihenblockspalte die waagrechten
Signale gemeinsam verwenden. In einem Ausführungsbeispiel verwenden alle
Schaltungen LxCTRL 714 ein Replikat der globalen Wortleitung
wlH 794 (alternativ als "wlRH" bezeichnet),
die durch jede Reihe des Speichers verläuft. Die physikalische Anordnung
der Leitung wlRH 794 repliziert die globale Wortleitung
in jeder Reihe bezüglich
Metallschicht, Breite und Abstand. Somit sind die kapazitiven Lasten
von wlRH 794 und des globalen Signals wlH identisch. Bei
jedem Speicherzugriff wird die Leitung wlRH 794 simultan
mit einem einzelnen globalen wlH für eine Reihe im Block aktiviert.
-
Die
LxCTRL 714 meldet dem Block, ob auf den unteren oder oberen
Unterblock 706B, 706A zugegriffen wird, mit der
Leitung blkSelH_bot 756 oder blkSelH_top 758 oder
Signalen in den Leitungen. Eine der beiden Leitungen ist bei jedem
Speicherzugriff auf den Block aktiv, wobei gemeldet wird, ob Übertragungsgatter
für den
unteren Unterblock 706B oder oberen Unterblock 706A im
LSA 712 geöffnet werden
sollen. In 19 ist ein Schaltbild eines
Ausführungsbeispiels
der lokalen Steuereinheit dargestellt.
-
Synchrone
Steuerung des selbsttaktenden lokalen Blocks Ein Ausführungsbeispiel
der vorliegenden Erfindung beinhaltet eines oder mehrere globale
Elemente oder Vorrichtungen, die synchron gesteuert werden, während eines
oder mehrere lokale Elemente asynchron gesteuert werden (alternativ
als "selbsttaktend" bezeichnet). Es
sei angemerkt, dass der Begriff "synchrone
Steuerung" bedeutet,
dass diese Vorrichtungen gesteuert werden oder synchron mit von
einer Uhr oder einer anderen Taktvorrichtung bereitgestellten Taktimpuls
sind. Ein Vorzug einer synchronen Steuerung von Elementen bzw. Vorrichtungen
auf globaler Ebene ist, dass diese Elemente, die von Widerstand
betroffen sind, angepasst werden können.
-
Beispielsweise
verlangsamt bzw. ändert
das Verlangsamen oder Ändern
des Taktimpulses das synchrone Signal. Das Verlangsamen oder Ändern des
synchronen Signals verlangsamt oder ändert die von den synchronen
Signalen gesteuerten Vorrichtungen oder Elemente, wobei mehr Zeit
für solche Vorrichtungen
zum Handeln bereitgestellt und diesen somit ermöglicht wird, ihre originäre Funktion
zu erfüllen.
In einem Ausführungs beispiel
ist die globale Steuereinheit synchron. In einem weiteren Ausführungsbeispiel
sind globale Steuereinheit, globaler Decodierer und globale Leseverstärker synchron.
-
Alternativ
sind die lokalen Vorrichtungen oder Elemente asynchron gesteuert
oder selbsttaktend. Die selbsttaktenden Vorrichtungen sind die Vorrichtungen,
bei denen geringe RC-Effekte bestehen. Asynchron gesteuerte Vorrichtungen
sind im Allgemeinen schneller und verbrauchen weniger Leistung. In
einem Ausführungsbeispiel
werden der lokale Block, allgemein beinhaltend die lokale Steuereinheit,
lokaler Decodierer, lokale Leseverstärker, Lesen freigeben High
und die Zellenfelder asynchron gesteuert.
-
LESEZYKLUSTAKTUNG
-
Die
Zyklustaktung für
einen Lesevorgang gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung beinhaltet, dass die globale Steuereinheit ein
High-Signal überträgt oder
bereitstellt und die LwlH auslöst
und eine oder mehrere Speicherzellen ausgewählt werden. Wenn ein Signal
in der Leitung LwlH eingeht, werden eines oder mehrere der Leitungspaare
bit/bit_n freigegeben und fallen ab (alternativ als "Integrationszeit" bezeichnet). Zum
gleichen oder ungefähren
Zeitpunkt des Beginns des Abfalls von bit/bit_n beginnt bitR abzufallen
(d. h. bei Eingang des High-Signals
in der Leitung lwlRH). bitR fällt aber
ungefähr
fünf bis
sechs Mal schneller ab als bit/bit_n, was die Integration vor dem
vollständigen Abfall
von bit/bit_n (d. h. Lesen einer Schwankungsleitungsspannung) stoppt
und das Verstärken
der Spannung auslöst.
-
BitR
löst eine
oder mehrere der Leitungen SenseH aus. Abhängig vom Muxen lösen alle
vier Leitungen SenseH (1:1-Muxen) aus, lösen zwei Leitungen SenseH aus
(2:1-Muxen) oder löst
eine Leitung SenseH aus (4:1-Muxen).
-
Nach
dem Auslösen
des Leitungssignals SenseH löst
der Leseverstärker
die Daten auf und globales Freigeben Low bzw. die Leitung genL werden
aktiviert (d. h. ein Low-Signal wird in genL übertragen). Das Aktivieren
der Leitung genL gibt den lokalen Leseverstärker für die globale bit und bit_n
frei. Das Signal genL startet auch das Abfallen des Signals in der
Leitung gbitR. Erneut fällt
das Signal gbitR etwa fünf
bis sechs Mal schneller ab als das Signal gbit, was das Herunterregeln
von gbit ausschaltet. In einem Ausführungsbeispiel fällt das
Signal gbitR etwa fünf
bis sechs Mal schneller ab als das Signal gbit, so dass das Signal
in der Leitung gbit nur auf etwa 10% von VDD abfällt, bevor es ausgeschaltet wird.
-
Das
Signal in gbitR schaltet das Signal in der Leitung SenseH aus und
löst den
globalen Leseverstärker
aus. Das Signal in gbitR schaltet mit anderen Worten den lokalen
Leseverstärker
aus und stoppt das Herunterregeln in den Leitungen gbit und gbit_n. In
einem Ausführungsbeispiel
ist das Signal SenseH vollständig
asynchron.
-
Die
Zyklustaktung für
einen LESE-Vorgang mit einem Ausführungsbeispiel der vorliegenden
Erfindung (ähnlich
dem von 7) ist in 20 dargestellt.
Während
des LESE-Vorgangs wird eine der vier Leitungen lmuxL<0:3> 784 aktiviert,
wobei eine der von jedem LSA 712 unterstützten Zellenfeldspalten
ausgewählt
wird. Eine, zwei oder vier Leitungen gmuxL<0:3> 786 werden
aktiviert, um jede vierte, jede zweite oder jede globale Bitleitung
für den
Zugriff auszuwählen,
entsprechend der globalen Multiplex-Option (d. h. 4:1-, 2:1- oder
1:1-Muxen).
-
Zum
Melden an den Block, dass auf den unteren oder oberen Unterblock 706B, 706A zugegriffen
wird, wird blkSelH_bot 756 oder blkSelH_top 758 aktiviert.
Die Leitung rbankL 788 wird aktiviert, um einen Lesevorgang
vom Block anzufordern. Die Leitung wlH wird für die Speicherreihe aktiviert,
auf die zugegriffen wird, während
die Leitung wlRH 794 simultan für alle Blöcke im Reihenblock aktiviert,
welche die Speicherreihe enthält.
-
Die
LxCTRL 714 deaktiviert die Leitung genL 780, um
die lokalen Leseverstärker
von den globalen Bitleitungen zu trennen. Die LxCTRL 714 aktiviert
die Leitung bnkL, um dem Feld LxDEC 710 zu signalisieren,
eine lokale Wortleitung zu aktivieren. Die LxCTRL 714 aktiviert
eine der vier Leitungen muxL<0:3> entsprechend dem aktivierten
Signal muxL. Dies veranlasst den LSA 712 eine der vier
Zellenspalten mit dem Leseverstärker-Verstärkerkern 762 zu
verbinden. Das LxDEC 710 entsprechend der aktivierten globalen
Wortleitung aktiviert die lokale Wortleitung. Simultan aktiviert
die LxCTRL 714 die Leitung lwlRH 782. Alle Zellen
in der Reihe entsprechend der aktivierten lokalen Wortleitung beginnen
eine Bitleitung in jedem Bitleitungspaar entsprechend dem gespeicherten
Wert der 6T-Zelle
zu entladen.
-
Nach
einer definierten Zeitdauer hat sich eine ausreichende Differentialspannung
in jedem Bitleitungspaar entwickelt. In einem Beispiel ist eine
Differentialspannung von etwa 100 mV ausreichend. Es sei an gemerkt,
dass diese definierte Zeitdauer von Prozessecke, Verbindungstemperatur,
Leistungsversorgung und Höhe
des Zellenfeldes abhängt.
-
Simultan
veranlasst das Signal lwlRH 782 die LxCTRL 714,
die Leitung bitR 760 mit einem NMOS-Transistor zu entladen,
der einen bestimmten Strom zu einem festen Vielfachen des Zellenstroms zieht.
Die Leitung bitR 760 wird daher mit einer Rate entladen,
die proportional zur Bitleitungsentladungsrate ist. Es sei angemerkt,
dass die Konstante der Proportionalität invariant (in erster Ordnung)
bezüglich
Prozessecke, Verbindungstemperatur, Stromversorgung und Höhe des Zellenfeldes 708 ist.
-
Wenn
das Signal bitR 760 eine definierte Schwelle überschreitet,
deaktiviert das LxDEC 710 die lokale Wortleitung und die
6T-Zellen stoppen das Entladen über
die Bitleitungen. Auf diese Weise wird eine begrenzte Schwankungsdifferentialspannung
in den Bitleitungen unabhängig
(in erster Ordnung) von Prozessecke, Verbindungstemperatur, Stromversorgung
und Höhe
des Zellenfeldes erzeugt. In einem Beispiel ist eine Differentialspannung
von etwa 100 mV ausreichend. Simultan deaktiviert die LxCTRL 714 die
Leitung muxL 768, so dass die entsprechenden Bitleitungen
vom Verstärkerkern 762 getrennt und
entzerrt und voraufgeladen werden.
-
Zum
gleichen Zeitpunkt, zu dem die LxCTRL 714 die Leitung muxL
line 768 deaktiviert, aktiviert die LxCTRL 714 die
Leitungen senseH 766 und, abhängig vom globalen Multiplexen,
verstärkt
der Verstärkerkern 762 schnell
das Differentialsignal an den Leseknoten. Sobald der Verstärkerkern 762 begonnen hat,
das Differentialsignal zu lesen, aktiviert die LxCTRL 714 die
Leitung genL 780, so dass die lokalen Leseverstärker mit
den globalen Bitleitungen verbunden sind. Der Verstärkerkern 762,
abhängig
vom globalen Multiplexen, fährt
fort, die Differentialsignale in den globalen Bitleitungen zu verstärken. Die
LxCTRL 714 entlädt
das Signal gbitR 760, um das Ende des LESE-Vorgangs zu signalisieren.
Wenn das Signal gbitR 760 eine definierte Schwelle überschreitet, deaktiviert
die LxCTRL 714 die Signale senseH 766 und der
Verstärkerkern 762 des
LSA-Felds stoppt das Verstärken.
Dies führt
zu einem Differentialsignal mit begrenzter Schwankung in den globalen
Bitleitungen, repräsentativ
für die
aus den Zellen ausgelesenen Daten.
-
Wenn
die Leitung wlRH 794 deaktiviert ist, führt die LxCTRL 714 in
der Leitung bitR 760 eine Voraufladung durch, um den nächsten Zugriff
vorzubereiten. Wenn die Leitung rbankL 788 deaktiviert
ist, deaktiviert die LxCTRL 714 die Leitung bnkL, um den nächsten Zugriff
vorzubereiten.
-
SCHREIBZYKLUSTAKTUNG
-
Die
Zyklustaktung für
einen Schreibvorgang gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung beinhaltet, dass die globale Steuereinheit und
der globale Leseverstärker
auf wbnkL übertragene
Daten oder ein Signal empfangen, wobei ein High-Signal auf einer
Leitung LWlH übertragen
oder bereitgestellt und eine oder mehrere Speicherzellen ausgewählt werden.
Der Schreibvorgang ist abgeschlossen, wenn die lokale Wortleitung
im High-Zustand ist.
-
Die
Daten zum Schreiben in eine Speicherzelle werden synchron mit wbnkL
synchron in die Leitung gbit eingespeist. In diesem Ausführungsbeispiel dient
wbnkL als Leitung gbitR beim Schreibvorgang. In diesem Ausführungsbeispiel
regelt wbnkL zum gleichen Zeitpunkt wie gbit herunter, aber fünf bis sechs
Mal schneller.
-
Das
Low-Signal in der Leitung wbnkL löst ein Signal in SenseH und
einem lokalen Leseverstärker aus.
genL wechselt mit anderen Worten zu High und trennt den lokalen
Leseverstärker.
Ein Signal in wbkkL löst
auch bnkL aus, so dass lwlH zu High wechselt, wenn wlH eintrifft.
Nach Übertragen
des Signals in SenseH öffnet
der Schalter lmux, so dass Daten vom lokalen Leseverstärker auf
die lokalen Bitleitungen übertragen
werden. BitR wird heruntergeregelt. In einem Ausführungsbeispiel
wird bitR mit der gleichen Rate heruntergeregelt wie bit. bitR und
bit werden mit anderen Worten mit der gleichen Rate heruntergeregelt,
wobei ein vollständiger
BDT gespeichert wird. LwlL wechselt zu High und überschneidet sich mit den Daten
in den Bitleitungen. BitR schaltet LwlH aus und schließt den Schalter
lmux und SenseH.
-
Die
Zyklustaktung für
einen SCHREIB-Vorgang mit einem Ausführungsbeispiel der vorliegenden
Erfindung ist in 21 dargestellt. Eine der vier Leitungen
lmuxL<0:3> 784 wird
aktiviert, um eine der vier von jedem LSA 712 unterstützten Zellenfeldspalten
auszuwählen.
Eine, zwei oder vier Leitungen gmuxL<0:3> 786 werden
aktiviert, um jede vierte, jede zweite oder jede globale Bitleitung
für den
Zugriff auszuwählen
(d. h. 4:1-, 2:1- oder 1:1-Muxen), entsprechend der globalen Multiplex-Option.
Zum Melden an den Block, ob auf den unteren 706B oder oberen
Unterblock 706A zugegriffen wird, wird die Leitung blkSelH_bot 756 oder
blkSelH_top 758 aktiviert. Die globale Wortleitung wird
für eine
bestimmte Speicherreihe, auf die zugegriffen wird, aktiviert.
-
Die
Leitung wlRH 794 wird simultan für alle Blöcke im Reihenblock aktiviert,
der die Speicherreihe enthält.
Der GSA 724 stellt Differentialdaten mit begrenzter oder
voller Schwankung in den globalen Bitleitungen bereit. Die Leitung
wbnkL 792 wird aktiviert, um einen SCHREIB-Vorgang für den Block
anzufordern. Die LxCTRL 714 aktiviert umgehend die Leitungen
senseH 766 abhängig
vom globalen Multiplexen und der Verstärkerkern 762 verstärkt schnell das
Differentialsignal an den Leseknoten. Nur die Daten von den durch
das globale Multiplexen ausgewählten
globalen Bitleitungen werden verstärkt.
-
Die
LxCTRL 714 aktiviert die Leitung bnkL, um dem Feld LXDEC 710 zu
signalisieren, eine lokale Wortleitung zu aktivieren. Die LxCTRL 714 aktiviert eine
der vier Leitungen muxL<0:3> 768 entsprechend
der aktivierten Leitung lmuxL 784. Die veranlasst den LSA 712 eine
der vier Zellenspalten mit dem Leseverstärker-Verstärkerkern 762 zu verbinden.
Der Verstärkerkern 762 entlädt eine
Bitleitung in jedem Auswahlpaar auf VSS entsprechend den Ausgangsdaten
in den globalen Wortleitungen. Das LXDEC 710 entsprechend
der aktivierten globalen Wortleitung aktiviert die lokale Wortleitung.
Die Daten von den lokalen Bitleitungen werden in die Zellen geschrieben.
-
Simultan
mit dem Schreiben der Daten von den lokalen Bitleitungen in die
Zellen aktiviert die LxCTRL 714 die Leitung lWlRH 794.
Dieses Signal veranlasst die LcCTRL 714 zum schnellen Entladen der
Leitung bitR 760. Wenn das Signal in der Leitung bitR 760 eine
definierte Schwelle überschreitet, deaktiviert
das LXDEC 710 die lokale Wortleitung. Die Daten sind jetzt
vollständig
in die Zellen geschrieben. Simultan deaktiviert die LxCTRL 714 die
Leitungen senseH 766 und muxL 768 und reaktiviert
die Leitung genL 780. Wenn die Leitung wlRH 794 deaktiviert
ist, führt
die LxCTRL 714 an der Leitung bitR 760 eine Voraufladung
durch, um den nächsten
Zugriff vorzubereiten. Wenn die Leitung rbankL 788 deaktiviert
ist, deaktiviert die LxCTRL 714 die Leitung bnkL, um den
nächsten
Zugriff vorzubereiten. In einem Ausführungsbeispiel stellt bnkL
lokale Banksignale für
den lokalen Decodierer bereit. Es sei angemerkt, dass bnkL bnkL-top
und bnkL-bot wie zuvor beschrieben umfassen kann.
-
BURN-IN-BETRIEB
-
In 7 beinhaltet
ein Ausführungsbeispiel der
vorliegenden Erfindung einen Burn-in-Prozessorbetrieb für die lokalen
Blöcke,
aktiviert durch eine Burn-in-Leitung 796 (alternativ
als "BIL" bezeichnet). Dieser
Prozess bzw. Betrieb belastet das SRAM-Modul bzw. den Block, um
Defekte festzustellen. Dies wird ermöglicht durch simultanes Aktivieren
aller Leitungen lmuxL<0:3> 784, blkSelH_bot 756, blkSelH_top 758 und
rbankL 788, aber ohne die Leitung wlRH 794 (d.
h. die Leitung wlRH 794 bleibt inaktiv). In diesem Fall
wird BIL 796 aktiv, was ein Auslösen der lokalen Wortleitungen
im Feld LxDEC 710 ermöglicht.
Es öffnen
sich ebenfalls alle LSA-Muxe, was ein simultanes Abfallen aller
Bitleitungen ermöglicht.
Da schließlich
wlRH 794 nicht aktiviert wird, fällt bitR 760 nicht
ab und der Zyklus wird unendlich fortgesetzt, bis die High-Taktzeit beendet
ist.
-
LOKALES CLUSTER
-
In
einem Ausführungsbeispiel
kann ein Block in mehrere Cluster unterteilt werden. Das Unterteilen des Blocks
in Cluster erhöht
die Multiplex-Tiefe des SRAM-Moduls und somit des Speichers. Obgleich die
gemeinsamen lokalen Wortleitungen durch alle Cluster in einem einzelnen
Block verlaufen, werden lediglich Leseverstärker in einem Cluster aktiviert.
In einem Ausführungsbeispiel
ist der lokale Clusterblock ein dünner Low-Overhead-Block mit
einer Leistung, die den Reststrom aller lokalen Leseverstärker 712 im
gleichen Cluster absenkt. Im vorliegenden Ausführungsbeispiel beinhaltet der
Block die globale Schnittstelle bzw. Leitung clusterL 799 und
die lokale Schnittstelle bzw. Leitung clusterL 798 (am
besten in 7 zu sehen).
-
Vor
einem LESE- bzw. SCHREIB-Vorgang wird eine globale Leitung clusterL 799 (alternativ
als "gclusterL" bezeichnet) von
der externen Schnittstelle für
alle Cluster, die am LESE/SCHREIB-Vorgang beteiligt sind, aktiviert.
Das lokale Cluster beinhaltet eine Leitung gclusterL 799 oder
ein Signal in der Leitung, die gepuffert und auf clusterL 798 gesteuert wird.
Die Leitung clusterL 798 ist direkt mit dem Reststrom aller
lokalen Leseverstärker 712 im
Cluster verbunden. Wenn das Cluster aktiv ist, lösen die Leseverstärker aus;
wenn das Cluster allerdings inaktiv ist, lösen die Leseverstärker nicht
aus. Da der Clustertreiber effektiv den Leseverstärker-Reststrom
absenkt, muss die NMOS-Herunterregelung sehr groß sein. Die Anzahl der Restströme, die
das Cluster unterstützen
kann, wird durch die Größe der NMOS-Herunterregelung
und der Breite der gemeinsamen Leitung begrenzt, die mit dem lokalen
Leseverstärker-Reststrom
verbunden ist.
-
Es
sei angemerkt, dass die oben beschriebene Muxen-Architektur eigenständig ohne den Verstärkerteil
des LSA 712 wie in 2 dargestellt
verwendet werden kann. Im vorliegenden Ausführungsbeispiel dienen die lokalen
Bitleitungsübertragungsgatter
zum direkten Verbinden der lokalen Bitleitungen mit den globalen
Bitleitungen. Die GSA 724 führen alle Funktionen des lokalen
Leseverstärkers durch.
Die Fläche
des LSA 712 und der LxCTRL 714 verringert sich,
da weniger Funktionalität
von diesen Blöcken
erforderlich ist. Bei kleinen und mittelgroßen Speichern kann die Zugriffszeit
ebenfalls sinken, da eine Kommunikationsstufe eingespart wurde.
Das heißt
die Bitleitungen kommunizieren jetzt direkt mit dem GSA 724 statt
dem LSA 712. Die reduzierte Schnittstelle und Taktung beinhaltet
das LxDEC 710 wie zuvor beschrieben, aber einen unterschiedlichen LSA 712 und
LxCTRL 714.
-
Im
vorliegenden Ausführungsbeispiel
sind die lokalen Bitleitungen hierarchisch aufgeteilt ohne den LSA.
Da gbit eine niedrigere Kapazität
aufweist als lbit (beispielsweise durch Spreizung und Fehlen einer
Ausbreitungslast), sind solche hierarchischen Speicher im Allgemeinen
schneller und leistungsärmer
im Vergleich zu einfachen Flachspeichern.
-
In
einem Ausführungsbeispiel
beinhaltet das Cluster ein eindimensionales Feld von LSA 712,
zusammengesetzt aus vier Paaren von Bitleitungsmultiplexern. Jeder
Bitleitungsmultiplexer kann ein entsprechendes Bitleitungspaar mit
der globalen Bitleitung über
ein vollwertiges Übertragungsgatter
verbinden. Wenn ein Bitleitungspaar von der globalen Bitleitung
getrennt wird, entzerrt der Bitleitungsmultiplexer aktiv das Bitleitungspaar
und führt
eine Voraufladung von diesem auf VDD durch. Da vier Mal weniger globale
Bitleitungen als lokale Bitleitungen vorhanden sind, sind die globalen
Bitleitungen physikalisch breiter und in einer größeren Teilung
angeordnet. Dies ver ringert wiederum wesentlich den Widerstand und
die Kapazität
der langen globalen Bitleitungen, was die Geschwindigkeit und Zuverlässigkeit
des Speichers erhöht.
-
Der
LSA 712 wird von den Signalen muxL und lwlH gesteuert,
die gemeinsam vom gesamten Feld LSA 712 verwendet werden.
Der Leitung muxL<0:3> 768 wählt, welches
der vier Paare von lokalen Bitleitungen für den aktuellen Zugriff verwendet wird.
Für den
Zugriff nicht ausgewählte
lokale Bitleitungen werden vom LSA 712 stets in einem voraufgeladenen
und entzerrten Zustand gehalten. In einem Beispiel werden die lokalen
Bitleitungen auf VDD voraufgeladen.
-
Die
Leitung lwlRH 794 stellt eine Dummy-Mehrfachleitung dar, welche die lokale
Vielfachwortleitung repliziert, die durch jede Reihe des Blocks läuft. Die
Leitung lwlRH 794 bildet das Gatter der Dummy-Transistoren,
die jede Spalte des Zellenfeldes abschließen. Jeder Dummy-Transistor
repliziert den Zugriffstransistor der 6T-SRAM-Zelle.
-
In
einem globalen Clusterbetrieb weist jeder Block eine einzelne lokale
Steuereinheit auf, welche die Aktivitäten der lokalen x-Decodierer
und Multiplexer durch Auslösen
der Steuersignale bitR 760, bnkL, muxL 768 und
lwlRH 782 koordiniert. Jedes dieser Signale wird durch
eine Treiber- und Steuerlogikschaltung in der Schaltung LxCTRL 714 aktiviert.
Alle diese Signale sind normalerweise inaktiv, wenn der Speicher
im Ruhezustand ist. Die Schaltung LxCTRL 714 wird wiederum
durch senkrechte und waagrechte Signale aktiviert.
-
Die
senkrechten Signale sind die von allen Schaltungen LxCTRL 714 im
gleichen Spaltenblock verwendeten Signale, einschließlich der
Leitungen ImuxL 784, rbnkL 788, rgbitR 760,
gbitR 760 und wbnkL 792 bzw. Signale in dieser
Leitung. Es ist jeweils nur eines der vier Signale lmuxL <0:3> 784 aktiv.
Die aktive Leitung wählt
eine der vier Zellenfeldspalten für den Zugriff aus, die eine
Schnittstelle zu jedem LSA 712 aufweisen. Die Leitung rbnkL 788 wird
aktiviert, wenn vom Block ein LESE-Vorgang angefordert wird. Am
Ende des LESE-Vorgangs beinhalten alle globalen Bitleitungen, die
nicht vom GSA 724 aktiv voraufgeladen wurden, Differentialsignale
mit begrenzter Schwankung, welche die gespeicherten Werte in den
von der Leitung wlH und den Signalen lmuxL ausgewählten Zellen
darstellen.
-
Die
Leitung rgbitR 760 wird extern auf VDD gehalten, wenn der
Speicher ruht, und potentialfrei geschaltet, wenn ein Lesezugriff
ausgelöst
wird. Der Block LxCTRL 714 verbindet diese Leitung mit
bitR 760 und entlädt
diese Signalleitung auf VSS, wenn ein LESE-Zugriff abgeschlossen
ist.
-
Die
Leitung wgbitR 760 wird extern auf VDD gehalten, wenn der
Speicher ruht, und während
eines Lesezugriffs entladen. Der Block LxCTRL 714 verbindet
diese Leitung mit bitR 760 und veranlasst das Signal, das
an VSS eintrifft, einen SCHREIB-Vorgang zu verarbeiten.
-
Die
Leitung wbnkL 792 wird aktiviert, wenn vom Block ein SCHREIB-Vorgang
angefordert wird. In den globalen Bitleitungen liegen Differentialsignale mit
voller Schwankung zur Darstellung der zu schreibenden Daten vor,
wenn diese Leitung aktiviert wird.
-
Alle
Schaltungen LxCTRL 714 im gleichen Reihenblock verwenden
gemeinsam waagrechte Signale. Die Leitung wlRH 794 ist
ein Replikat der globalen Wortleitung wlH, die durch jede Reihe
des Speichers läuft.
Die physikalische Anordnung der Leitung bezüglich Metallschicht, Breite
und Abstand repliziert die globale Wortleitung in jeder Reihe, um die
gleiche kapazitive Last zu gewährleisten.
Bei jedem Speicherzugriff wird diese Leitung simultan mit einer
einzelnen globalen Wortleitung für
eine Reihe im Block aktiviert. Die Leitung blkSelH ist bei jedem Speicherzugriff
auf den Block aktiv und meldet, dass das Übertragungsgatter geöffnet werden
muss.
-
22A, 22B und 22C stellen unterschiedliche globale und Muxen-Anordnungen
dar. 22A stellt ein Ausführungsbeispiel
eines lokalen Leseverstärkers
einschließlich
4:1-Muxen und Voraufladen und Entzerren dar. Der LSA ist hier als
eine einzelne Vorrichtung mit vier Paaren bit/bit_n, einer Leitung
SenseH, einer Leitung GenL, einer Leitung clusterL und einem Paar
gbit/gbit_n dargestellt, die mit dieser gekoppelt sind. 22 stellt ein Beispiel für 4:1-Muxen
(alternativ bezeichnet als lokales 4:1-Muxen) dar, integriert in
den LSA. In einem Ausführungsbeispiel
ist jeder LSA mit 4 Paaren bit/bit_n gekoppelt. Während eines
LESE/SCHREIB-Vorgangs wird ein Bitleitungspaar der vier möglichen
Bitleitungspaare, gekoppelt mit jedem LSA, ausgewählt. Es
kommen allerdings Ausführungsbeispiele
in Betracht, in denen die Cluster ohne Weglassen der LSA verwendet
werden; (das heißt
die Cluster werden mit den LSA verwendet).
-
22B stellt ein Ausführungsbeispiel der vorliegenden
Erfindung einschließlich
16:1-Muxen dar. Wie derum ist jeder LSA mit 4 Bitleitungspaaren gekoppelt
(zuvor beschriebenes lokales 4:1-Muxen). Hier sind vier Leitungen
SenseH <0:3>, gekoppelt mit den
LSA, dargestellt, wobei eine Leitung SenseH mit einem LSA gekoppelt
ist. Dies wird als 16:1-Muxen bezeichnet, umfassend globales 4:1-Muxen
durch die Leitungen SenseH und lokales 4:1-Muxen. Wenn eine der
Leitungen SenseH auslöst,
wird einer der vier LSA aktiviert, wodurch eine der vier Bitleitungspaare,
die mit dem aktivierten LSA gekoppelt sind, zur Auswahl freigegeben
wird. Diese Kombination gibt mit anderen Worten wenigstens ein Bitleitungspaar
zur Auswahl aus den insgesamt 16 verfügbaren Bitleitungspaaren frei.
-
22C stellt ein Ausführungsbeispiel der vorliegenden
Erfindung einschließlich
32:1-Muxen dar. Wiederum ist jeder LSA mit 4 Bitleitungspaaren gekoppelt
(zuvor beschriebenes lokales 4:1-Muxen). Hier sind vier Leitungen
SenseH <0:3>, gekoppelt mit den
LSAs, dargestellt, wobei eine Leitung SenseH mit zwei LSA gekoppelt
ist. Beispielsweise ist eine Leitung SenseH mit LSA 0 und 4 gekoppelt,
eine Leitung SenseH ist mit LSA 1 und 4 gekoppelt usw. Dieses Ausführungsbeispiel
beinhaltet zwei lokale Clustervorrichtungen, wobei die erste lokale
Clustervorrichtung mit den LSA 1–3 über eine erste Leitung ClusterL
gekoppelt ist, während
die zweite lokale Clustervorrichtung mit den LSA 4–7 über eine
zweite Leitung ClusterL gekoppelt ist. Wenn ClusterL im Low-Zustand
ist, lösen
die verknüpften
LSA aus.
-
Die
Clustervorrichtungen sind ebenfalls gekoppelt mit den Leitungen
SenseH <0:3> und GCTRL dargestellt.
GCTRL aktiviert eine oder mehrere lokale Clustervorrichtungen, die
wiederum die verknüpfte Leitung
ClusterL auslösen.
Wenn die verknüpfte
Leitung SenseH auslöst,
ist der LSA aktiv und ein Bitleitungspaar wird ausgewählt. Wenn
beispielsweise GCTRL die erste Clustervorrichtung aktiviert, löst die erste
Leitung ClusterL aus; (das heißt
ClusterL ist im Low-Zustand).
Wenn SenseH <0> ebenfalls auslöst, ist
LSA 0 aktiv und eine der vier mit LSA 0 gekoppelten Bitleitungspaare
wird ausgewählt.
Diese Kombination gibt mit anderen Worten wenigstens ein Bitleitungspaar
zur Auswahl aus den insgesamt 32 verfügbaren Bitleitungspaaren frei.
-
Es
sind lediglich 4:1-, 16:1- und 32:1-Muxen dargestellt; aber jede
beliebige Muxen-Anordnung (d. h. 8:1, 64:1, 128:1 usw.) kommt in
Betracht. Ferner sind zwar nur zwei Clustervorrichtungen und zwei Leitungen
ClusterL dargestellt, aber es kommt jede beliebige Anzahl oder Anordnung
in Betracht. Beispielsweise kann die Anzahl der Clustervorrichtungen
und Clusterleitungen von der Anzahl der lokalen Blöcke in der
Speicherarchitektur oder den Muxen-Anforderungen abhängen. Für eine bestimmte Speicheranforderung
sind flexible Optionen, Teiloptionen und mehr Optionen denkbar.
-
SYNCHRONE GLOBALE STEUEREINHEIT
MIT VERBESSERTEM PIPELINING
-
Speicherarchitekturen
verarbeiten eine Vielzahl von Lese- und Schreibvorgängen. In
einem Ausführungsbeispiel
der vorliegenden Erfindung müssen solche
Lese- und Schreibvorgänge in einem
einzelnen internen Zyklus, beispielsweise dem internen Zyklus der
Speicherarchitektur, durchgeführt
werden. In einem Ausführungsbeispiel
eines Speichersystems bzw. einer Speicherstruktur mit beispielsweise DSPM-Dual-Port-Speichern kann der
einzelne interne Zyklus schneller sein als der externe Takt; (d.
h. der interne Taktimpuls bzw. -zyklus wird durch Impulserzeugungsschaltungen
oder DLL-Schaltungen beschleunigt). Die globale Steuereinheit stellt
im Allgemeinen Steuersignale bereit und verwaltet die Taktung der
Lese- bzw. Schreibprozesse.
-
24 stellt
ein Ausführungsbeispiel
einer Speichervorrichtung dar, die wenigstens eine synchron gesteuerte
globale Steuereinheit 2400, gekoppelt mit einem lokalen
Block 2402 ähnlich
den zuvor beschriebenen lokalen Blöcken, umfasst. Im dargestellten
Ausführungsbeispiel
verwendet die globale Steuereinheit 2400 eine oder mehrere
Leitungen zum Kommunizieren oder Herstellen einer Schnittstelle
mit dem lokalen Speicherblock 2402 (umfassend einen oder
mehrere lokale Decodierer 2404, lokale Steuereinheiten 2406,
Speicherkerne 2408 und lokale Leseverstärker 2410), einen
globalen Vordecodierer 2412 und einen GSA 2425.
Es sind zwar vier lokale Decodierer, zwei lokale Steuereinheiten,
vier Speicherkerne und vier lokale Leseverstärker dargestellt, aber es kommen
auch abweichende Kombinationen und Anordnungen in Betracht. Ein
globaler Decodierer 2414 ist gekoppelt mit wenigstens einem
lokalen Decodierer 2404 des lokalen Speicherblocks 2402 (alternativ
als "lokaler Block" bezeichnet) dargestellt.
-
Eine
Vielzahl von Leitungen ist gekoppelt mit der globalen Steuereinheit 2400 (alternativ
als "GCTRL" bezeichnet) wie
zuvor beschrieben dargestellt. Im dargestellten Ausführungsbeispiel
sind eine Vielzahl von Adressleitungen 2417, eine Leitung Schreibfreigabeschiene
(alternativ als "web" bezeichnet) 2418,
eine Taktleitung 2420 und eine Leitung Wortleitung High
Replikat (alternativ als "wlHR" bezeichnet) 4244 dar gestellt,
die den globalen Vordecodierer 2416 mit der GCTRL 2400 koppeln,
so dass der globale Vordecodierer und die GCTRL kommunizieren können.
-
Wenn
das Signal in web 2418 an einer Flanke eines Taktimpulses
im Low-Zustand ist, wird ein Schreibzyklus ausgelöst. Das
heißt
GCTRL 2400 erzeugt die Steuersignale und verwaltet die
Taktung für einen
Schreibvorgang. Alternativ wird ein Lesezyklus ausgelöst, wenn
das Signal in der Leitung web 2418 im High-Zustand ist.
Das heißt
in einem Ausführungsbeispiel
erzeugt die GCTRL 2400 die Steuersignale und verwaltet
die Taktung für
einen Lesevorgang. In einem Ausführungsbeispiel
der vorliegenden Erfindung beinhaltet die GCTRL 2400 ferner
ein Signal phi n, das der invertierten Systemtakteingabe bei Single-Port-Speichern oder dem
zweifachen Taktimpuls bei Double-Pumped-Dual-Port-Speichern
entspricht.
-
24 stellt
ferner eine Anzahl von Leitungen dar, welche die GCTRL 2400 mit
dem GSA 2425 einschließlich
einer Leitung Voraufladung High ("preH") 2424,
einer Leitung rselH 2426, einer Leitung wselH 2428 und
einer Vielzahl von Leitungen gmux 2430 koppeln. Es sind
Vielzahlen von Leitungen gbit 2423 dargestellt, die eine
Schnittstelle zum GSA 2425 aufweisen, was dem GSA 2425 das
Kommunizieren mit dem lokalen Block 2402 ermöglicht.
In einem Ausführungsbeispiel
der vorliegenden Erfindung löst
der globale Leseverstärker 2424 aus,
wenn das Signal in der Leitung rselH 2426 im High-Zustand ist.
-
Die
GCTRL 2400 beinhaltet auch eine Vielzahl von Leitungen,
die mit dem lokalen Block 2402 gekoppelt sind oder zu diesem
eine Schnittstelle aufweisen wie dargestellt. Solche Leitungen beinhalten eine
Leitung rbnkL 2432, eine Leitung wbnkL 2434, eine
globale Leitung bit Replikat ("gbitR") 2436,
eine Vielzahl von lokalen Leitungen mux ("lmux <0:3>") 2438 und eine Vielzahl von
globalen Leitungen mux ("gmux <0:3>") 2440. In einem Ausführungsbeispiel der
vorliegenden Erfindung übernimmt
die GCTRL 2400 wenigstens eine Adresse und erzeugt wenigstens
ein Signal in wenigstens einer der lokalen MUX-Leitungen 2438 synchron
mit dem Taktimpuls.
-
25 stellt die unterschiedlichen Verbindungen
mit oder Schnittstellen zu den synchron gesteuerten Steuereinheiten 2500A–2500R (ähnlich den
zuvor beschriebenen globalen Steuereinheiten) gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar. GCTRL rbankl 2500A stellt die Verbindungen
zwischen der globalen Steuereinheit und wenigstens der Leitung rbankL
dar, während
GCTRL addr bnk 2500B die unterschiedlichen Verbindungen zwischen
der globalen Steuereinheit und der Vielzahl von addr bnk lines darstellt.
GCTRL wbankl 2500C stellt die unterschiedlichen Verbindungen
zwischen der globalen Steuereinheit und der Leitung wbankL dar und
GCTRL rselL 2500D stellt die Verbindungen zwischen der
globalen Steuereinheit und der Leitung rselL dar. Ebenso stellt
GIRL wselH 2500E die Verbindungen zwischen der globalen
Steuereinheit und der Leitung wselH dar und stellt GCTRL preH 2500F die
Verbindungen zwischen der globalen Steuereinheit und der Leitung
preH dar.
-
GCTRL 2500G1 stellt
die Verbindungen zwischen der globalen Steuereinheit und den Leitungen addr
lmux und addr gmux dar. Ähnlich
stellen GCTRL gmuxH 2500G2, 25001, 2500K, 2500M und
GCTRL gmuxL 2500H, 2500J, 2500L und 2500N die
Verbindungen zwischen der globalen Steuereinheit und den Leitungen
muxH, muxL und muxselL dar. GCTRL lmuxL 25000, 2500P, 2500Q und 2500R stellen
die Verbindungen zwischen der globalen Steuereinheit und der Vielzahl
von Leitungen ImuxL dar.
-
Ein
Ausführungsbeispiel
eines Taktzyklus für einen
Lesevorgang ist in 26 dargestellt. Das Signal
rbnkL löst
den Low-Zustand sobald wie möglich nach
Empfang eines Taktsignals aus. Das Signal rbnkL wird an die lokale
Steuereinheit übertragen,
um den Lesezyklus zu starten. Dieses Signal schaltet die Vorauflader
für die
Leitungen gbitR und gbit aus, während
gbitR ein Replikat der Leitungen gbit darstellt wie zuvor beschrieben.
-
Die
lokalen Leseverstärker
lösen einen
Abfall der Leitungen gbit in einem Ausführungsbeispiel aus, nachdem
Daten lokal gelesen werden. Wenn die lokalen Leseverstärker beginnen,
einen Abfall der Leitungen gbit auszulösen, beginnt die lokale Steuereinheit
mit dem Auslösen
eines Abfalls von gbitR zum selben Zeitpunkt, aber mit einer wesentlich
höheren Rate.
In einem Ausführungsbeispiel
fällt gbitR
fünf Mal
schneller ab als beispielsweise gbit. Wenn gbitR auf einen definierten
Wert, beispielsweise auf etwa Vdd/2, abfällt, ist gbit um einen ausreichenden
Betrag abgefallen und die verknüpften
lokalen Leseverstärker
schalten ab. Wenn die Leseverstärker
abschalten, schalten die globalen Leseverstärker ein. In rselL (eine invertierte
Version von rselH) wird durch Puffern von gbitR ein Signal erzeugt,
wodurch der globale Leseverstärker
eingeschaltet wird. Die Daten sind zum Lesen durch die E/A-Teile
bereit. Die Vorauflader werden eingeschaltet und führen das
Voraufladen der Leitungen gbitR und gbit für den nächsten Zyklus durch.
-
Ein
Ausführungsbeispiel
eines Taktzyklus für einen
Schreibvorgang ist in 27 dargestellt. In diesem Ausführungsbeispiel
löst das
Signal wselH so bald wie möglich
nach Empfang des Taktimpulses durch die GCTRL aus. Das Signal wselH
löst den
globalen Leseverstärker
aus und ermöglicht
dem GSA ein Abfallen der Leitungen gbit auszulösen. GCTRL beginnt mit dem
Auslösen
des Abfalls der Leitung wbnkL zum gleichen Zeitpunkt, wie GSA mit
dem Auslösen
des Abfalls der Leitung gbits beginnt, aber schneller. In einem
Ausführungsbeispiel
fällt wbnkL beispielsweise
fünf Mal
schneller ab. Wenn das Signal in der Leitung wbnkL eine definierten
Schwelle, beispielsweise Vdd/2, erreicht, ist die Basis des Signals
gbits ausreichend abgefallen. Das Signal in der Leitung wselH wird
ausgeschaltet. Die lokalen Blöcke beginnen
mit dem Lesen von Daten von den Leitungen gbit. Nach einer ausreichenden
Zeitdauer beginnen die Vorauflader mit dem Voraufladen, wodurch den
lokalen Blöcken
das Schreiben von Daten in die Speicherzellen ermöglicht wird.
-
In
einem Ausführungsbeispiel
wird beschrieben, dass eine bestimmte Zeitdauer erforderlich ist, um
einen Lese- oder Schreibvorgang abzuschließen, wenn alle Signale ordnungsgemäß mit einer
fallenden Flanke des Taktimpulses voraufgeladen werden sollen. Nach
Beenden des Lese- oder Schreibvorgangs ist zusätzliche Zeit erforderlich zum
Aufladen der Signale. Die minimale Zykluszeit kann erreicht werden,
wenn das Voraufladen direkt nach dem Beenden des Lese- bzw. Schreibvorgangs
beginnt. Es werden allerdings Signale verwendet, die das Beenden
des Lese- bzw. Schreibvorgangs melden. Somit lösen bei bekannten Systemen
Vorauflader im Allgemeinen mit einer fallenden Flanke eines Taktimpulses
aus, so dass die Schreib- bzw. Le sevorgänge in der ersten Hälfte des
Zyklus beendet werden, wenn der Taktimpuls im High-Zustand ist.
Der Taktimpuls bleibt mit anderen Worten lange genug im High-Zustand,
damit die Lese- und Schreibvorgänge
abgeschlossen werden. In der zweiten Hälfte des Zyklus, d. h. wenn
der Takt im Low-Zustand ist, führen
die Vorauflader die Voraufladung durch.
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung ist der Takt versetzt, um das optimale Verhältnis zwischen
Betriebszeit und Voraufladezeit zu erreichen. Der High-Teil des
Takts wird mit anderen Worten verlängert. Die GCTRL verwendet
das Signal gwlRH zum Verlängern
des High-Teils des Taktimpulses. Das Signal gwlRH ist ein Replikat
des Signals gwlH zum Aktivieren eines bestimmten lokalen Blocks 2402.
In einem Ausführungsbeispiel
imitiert gwlH die Zeit, die ein lokaler Block braucht, um durch Replizieren
der verknüpften
vordecodierten und globalen Decodiererverzögerungen aktiviert zu werden. Es
ist klar, dass es für
GCTRL keinen Sinn macht, den Takt über die fallende Flanke von
gwlH hinaus zu verlängern.
-
GCTRL
erzeugt zwei unterschiedliche Taktimpulse für Lese- und Schreibvorgänge. In
jedem Zyklus löst
einer dieser beiden Takte abhängig
vom Signal web (zur Anzeige eines Lese- oder Schreibbetriebs) mit
der steigenden Flanke des Taktimpulses (d. h. der fallenden Flanke
des Impulses phi n) aus und eine Bank wird ausgewählt. Nach
dem Abfallen oder Verschwinden des Referenztakts (d. h. phi n), hält gwlRH
den Wert der Lese-/Schreibtakte. In einem Ausführungsbeispiel ist der lokale
Takt in GCTRL eine Kombination von phi n und gwlRH (oder die Kombination
der beiden über
ein logisches ODER).
-
In
einem Ausführungsbeispiel
der vorliegenden Erfindung verlängert
GCTRL den Taktimpuls. Im Allgemeinen ist jedoch bei sehr schnellen
Speicherstrukturen nicht ausreichend Zeit zum Durchführen des
Voraufladens. Insbesondere ist nicht ausreichend Zeit zum Durchführen des
Voraufladens für
Signale, beispielsweise die Leitungen gbit und gbitR, die in Lesevorgängen verwendet
werden. Die Voraufladungen werden jedoch bis zum endgültigen Ende des
Lesevorgangs verwendet. Das heißt
wenn der jeweilige lokale Block bereits die Daten aus den Speicherzellen
liest und bereits ist, diese Daten in die globalen Leitungen einzuspeisen.
Durch Versetzen der Voraufladesignale für einen Lesevorgang nutzt GCTRL
den Vorteil des Fortsetzens des Voraufladens, während der lokale Block mit
dem Lesen von Daten von den Zellen beschäftigt ist. GCTRL schaltet die Lesevorauflader
mit fallender Flanke des Lesetaktimpulses ein. GCTRL schaltet jedoch
die Vorauflader erst nach einer bestimmten Verzögerung nach der steigenden
Flanke eines Lesetaktimpulses aus.
-
Das
Voraufladesignal erreicht die Leitungen gbit nach einer RC-Verzögerung.
Da die Leitung gbitR ein Replikat für die Leitungen gbit ist, aber
den Takt mit der Leitung WlH teilt, stellt die GCTRL eine Wechselrichterkette
bereit, um ein Voraufladesignal in der Leitung gbitR zu verzögern.
-
In
einem Schreibvorgang gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung werden die Leitungen gbit am Anfang des
Zyklus verwendet (d. h. während
die globalen Leseverstärker
Daten in die Leitungen gbit einspeisen). Gleichzeitig regelt GCTRL
die Leitung wbnkL herunter, wodurch dem lokalen Block gemeldet wird,
dass die Daten in den Leitungen gbit bereit sind. Da lokale Leseverstärker Daten
von den Leitungen gbit lesen, werden solche Leseverstärker bis
zum Ende des Schreibzyklus nicht verwendet. GCTRL verwendet die
verzögerte
Version des Signals wbnkL zum Einschalten der Vorauflader vor der
fallenden Flanke des Schreibtaktimpulses. Dieses Voraufladeschema
verbessert die Zykluszeit für
den Schreibvorgang.
-
In
einem Ausführungsbeispiel
stellt der Vordecodiererblock Mux-Adressen nur während des High-Teils des Referenztakts
(d. h. des Impulses phi) bereit. Da GCTRL die Betriebszeit verlängert, müssen diese
Adressen ebenfalls mit dem verlängerten Taktimpuls
gespeichert sein. Wenn die Mux-Signale nicht mit dem verlängerten
Taktimpuls gespeichert sind, können
sich die Mux-Signale ändern,
wenn das Signal phi abfällt
oder verschwindet. Die Mux-Signale können sich mit anderen Worten
inmitten eines Lese- oder Schreibvorgangs ändern und Daten beschädigen.
-
Um
den Burn-in-Betrieb zu ermöglichen, werden
dem GCTRL-Block einige Transistoren hinzugefügt. In einem Ausführungsbeispiel
der vorliegenden Erfindung stellt eine dynamische Bankdecodiererschaltung
in GCTRL das Signal bnkH bereit. Das Signal bnkH aktiviert die ausgewählte Bank
in bankwählbaren
Speichern. Durch Hinzufügen
von einem oder mehreren Transistoren in dieser Schaltung, so dass
alle Bänke
in einem Burn-in-Betrieb
aktiviert werden, stellt GCTRL die lokalen Mux-Signale für den lokalen
Block durch Hinzufügen
von einem oder mehreren Transistoren (bis zu vier Transistoren kommen
in Betracht), dort hinzugefügt,
um alle lokalen Mux-Signale gleichzeitig während des Burn-in-Betriebs
auszulösen,
bereit.
-
Vor
dem Hintergrund der oben beschriebenen Lehren sind viele Modifikationen
und Variationen der vorliegenden Erfindung möglich. Somit ist klar, dass
im Umfang der beigefügten
Ansprüche
die Erfindung auf andere Weise als oben beschrieben ausgeführt werden
kann.