TECHNISCHES GEBIET DER ERFINDUNG
-
Diese Erfindung bezieht sich im allgemeinen auf das Gebiet elektronischer
Systeme und insbesondere auf eine verbesserte Speichervorrichtung und auf ein
Konstruktionsverfahren.
HINTERGRUND DER ERFINDUNG
-
Speichervorrichtungen, einschließlich SRAM, DRAM und ROM, werden
weitverbreitet in elektronischen Schaltungen verwendet, um Daten in Form von
logischen Bits zu speichern, auf die unter Verwendung einer Speicheradresse
zugegriffen werden kann. Im allgemeinen wird eine Speicheradresse für eine
Speichervorrichtung bereitgestellt und die Speichervorrichtung führt einen
Speicherzyklus aus, um Daten von einem der Speicheradresse zugeordneten
Speicherplatz in der Speichervorrichtung bereitzustellen oder um Daten dort zu
speichern.
-
Speichervorrichtungen werden gemäß verschiedenen Architekturen
implementiert. Speichervorrichtungen können eine Speichermatrix umfassen, die
eine große Anzahl von Speicherzellen enthält, wobei jede Speicherzelle auf einen
von zwei Datenzuständen gesetzt werden kann, um ein Informationsbit zu
speichern. Die Speicherzellen sind häufig in Reihen und Spalten angeordnet,
weshalb jede Speicherzelle durch eine eindeutige Speicheradresse bezeichnet
werden kann, die eine Reihenadresse und eine Spaltenadresse enthält. Im
allgemeinen wählt eine Reihenadresse eine Wortleitung, die einen Zugriff auf jede
Speicherzelle in dieser Reihe ermöglicht, zu zugehörigen Spalten- oder
Bitleitungen aus, wobei die Bitleitungen paarweise vorhanden sein können, um
Differenzsignale zu übertragen. Große Speicher können in Blöcke unterteilt sein,
so daß die Reihenadresse eine globale Wortleitung auswählt, die in Abhängigkeit
von der Blockadresse selektiv mit Blockwortleitungen verbunden ist. Die
Blockadresse kann im allgemeinen Begriff der Spaltenadresse enthalten sein, da
sie Teil der Adresse ist, die eine bestimmte Spalte auswählt.
-
Speichervorrichtungen arbeiten gewöhnlich in einem Lesemodus und in einem
Schreibmodus, weswegen Speichervorrichtungen Speicherlesezyklen und
Speicherschreibzyklen ausführen. In vielen Speichervorrichtungen wird während
eines Speicherlesezyklus auf die Datenzustände jeder Speicherzelle in der durch
die Reihenadresse spezifizierten Reihe zugegriffen. Diese Datenzustände werden
dann gemäß der Spaltenadresse multiplexiert, um einen Ausgang zu schaffen, der
die Datenzustände der Speicherzellen, die der Speicheradresse entsprechen,
repräsentiert. Die Anzahl der Speicherzellen, für die der Datenzustand mit einem
Zugriff ausgegeben wird, hängt von der Organisation des gegebenen Speichers ab.
Typische Organisationsformen sind ·1, ·4 oder ·8. Der Ausgang einer
Speichermatrix vor dem Multiplexieren repräsentiert alle oder eine Untergruppe
der Speicherzellen, die der Reihenadresse entsprechen. Ein Speicherschreibzyklus
arbeitet gewöhnlich in einer ähnlichen Weise wie ein Speicherlesezyklus, wobei
der Datenzustand der Speicherzelle, die der Speicheradresse entspricht, gemäß
dem Datenwert eingestellt wird, der an die Speichervorrichtung geliefert wird.
Speichervorrichtungen können so aufgebaut sein, daß Lese- und Schreibzyklen
von einer oder mehreren Speicherzellen lesen oder auf diese schreiben können.
-
In einigen Speichervorrichtungen wird die Adressenübergangserkennung
verwendet, um Änderungen der Speicheradresse zu erfassen und um einen
vollständigen Speicherzyklus lediglich dann auszulösen, wenn sich die
Speicheradresse in ausreichendem Maße ändert. Ein Schwachleistungs-
Zugriffsmodus kann implementiert werden, indem Änderungen der Reihenadresse
von Änderungen der Spaltenadresse unterschieden werden und ein
Speichermatrixzugriff lediglich dann ausgelöst wird, wenn sich die Reihenadresse
ändert. Eine Implementierung eines solchen Schwachleistungs-Zugriffsmodus
besteht darin, die Ausgänge der Speichermatrix, die die Datenzustände der
Speicherzellen, die der Reihenadresse entsprechen, zwischenzuspeichern. Eine
Änderung in der Speicheradresse, die lediglich eine Änderung in der
Spaltenadresse enthält, kann dann behandelt werden, indem auf die
zwischengespeicherten Datenzustände anstatt auf die Speichermatrix zugegriffen
wird. Dieser Schwachleistungs-Zugriffsmodus spart Energie, indem er vermeidet,
daß die Speichervorrichtung die Speichermatrix vorlädt und die vollständige
Speicheradresse für Speicherlesezyklen, in denen sich die Reihenadresse nicht
ändert, decodiert.
-
Obwohl das Zwischenspeichern der Daten in jeder Spalte diesen
Schwachleistungs-Zugriffsmodus ermöglicht, kann es schwierig sein, einen
Zwischenspeicher zu entwerfen, der sich in das Teilungsmaß einer Spalte einpaßt.
Außerdem kann in großen Speichern das Multiplexieren der Daten von den
Spalten zur Ausgabe in mehreren Stufen ausgeführt werden. Die Ansteuerung und
Erfassung von Daten über die mehreren Stufen im Multiplexer verbraucht selbst
in einem Schwachleistungs-Zugriffsmodus weiterhin Energie. Dies trifft
insbesondere dann zu, wenn beim Multiplexieren zum Reduzieren der Zugriffszeit
Differenzsignale verwendet werden.
-
Das Erfassen der Ausgänge der Speichermatrix verbraucht Leistung und kann
in Speichervorrichtungen mit großen Speichermatrizen ein Problem des
Leistungsverbrauchs verursachen. Das Erfassen der Ausgänge der Speichermatrix
vor dem Multiplexieren der Ausgänge kann eine Ansteuerung der
Spaltenleitungen und die Aktivierung der Leseverstärker über die gesamte Breite
der Speichermatrix erforderlich machen. Zum Beispiel würde es bei einem
64 KBit-RAM mit 256 Reihen und 256 Spalten erforderlich sein, daß 256
Leseverstärker die Datenzustände von jeder Speicherzelle in einer Reihe lesen.
Selbst in einem Speicheradressenzyklus, in dem sich die Reihenadresse nicht
ändert, müssen 256 Spalten angesteuert und 256 Leseverstärker aktiviert werden,
wodurch Leistung verbraucht wird. Wenn außerdem die Ausgänge der
Speichermatrix als Differenzsignale implementiert sind und multiplexiert werden,
müssen Leseverstärker mit jedem Eingang des Multiplexers Paare bilden, die
zusätzlich Leistung verbrauchen. Die Ansteuerung dieser Vorrichtungen
verursacht einen Leistungsverbrauch, selbst wenn sich während eines
Schwachleistungs-Zugriffsmodus die Reihenadresse nicht ändert. Dieser
Leistungsverbrauch stellt ein Problem dar, da es für eine Speichervorrichtung
wünschenswert ist, daß sie so wenig Leistung wie möglich verbraucht.
-
EP-A-0 202 912 offenbart eine Halbleiter-Speichervorrichtung (DRAM) mit
mehreren Speicherzellen, die in Reihen und Spalten angeordnet sind, wobei ein
Multiplexer in Form eines Schieberegisters mit einer Stufe von
Zwischenspeichern an jeder der Spalten der Speicherzellen an einen Ausgang der
Speichervorrichtung gekoppelt ist und eine Folge von Datenbits durchschaltet.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es besteht deshalb ein Bedarf an einer verbesserten Speichervorrichtung, die
einen geringen Leistungsverbrauch aufweist.
-
Gemäß der vorliegenden Erfindung wird eine Speichervorrichtung geschaffen,
die die Nachteile und Probleme, die mit Speichervorrichtungen des Standes der
Technik verbunden sind, im wesentlichen beseitigt bzw. vermindert.
-
Die Erfindung ist in den Ansprüchen 1 und 2 angegeben.
KURZBESCHREIBUNG DER ZEICHNUNG
-
Ein vollständigeres Verständnis der vorliegenden Erfindung und ihrer Vorteile
kann durch Bezugnahme auf die folgende Beschreibung erlangt werden, die in
Verbindung mit der beigefügten Zeichnung erfolgt, in der gleiche Bezugszeichen
gleiche Merkmale angeben und in der:
-
Fig. 1 einen Blockschaltplan einer Speichervorrichtung darstellt, die gemäß
den Lehren der vorliegenden Erfindung aufgebaut ist;
-
Fig. 2a eine Ausführungsform einer Zwischenspeicherzelle darstellt, die
gemäß den Lehren der vorliegenden Erfindung aufgebaut ist;
-
Fig. 2b einen Zeitablaufplan darstellt, der eine Ausführungsform der
Funktionsweise der Steuersignale für die in Fig. 2a dargestellte
Zwischenspeicherzelle zeigt;
-
Fig. 2c eine weitere Ausführungsform einer Zwischenspeicherzelle darstellt,
die gemäß den Lehren der vorliegenden Erfindung aufgebaut ist;
-
Fig. 2d einen Zeitablaufplan darstellt, der eine Ausführungsform der
Funktionsweise der Steuersignale für die in Fig. 2c dargestellte
Zwischenspeicherzelle zeigt; und
-
Fig. 3 ein Computersystem darstellt, das eine Speichervorrichtung verwendet,
die gemäß den Lehren der vorliegenden Erfindung aufgebaut ist.
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Fig. 1 stellt einen Blockschaltplan einer allgemein mit dem Bezugszeichen 10
angegebenen Speichervorrichtung gemäß den Lehren der vorliegenden Erfindung
dar. Die Speichervorrichtung 10 umfaßt eine Speichermatrix, die allgemein mit
dem Bezugszeichen 12 angegeben ist, einen Multiplexerblock, der allgemein mit
dem Bezugszeichen 14 angegeben ist, einen Speichersteuerblock 16 und einen
Ausgabeblock, der allgemein mit dem Bezugszeichen 18 angegeben ist. Eine
Speicheradresse MEMORY ADDRESS, die eine Reihenadresse ROW ADDRESS
und eine Spaltenadresse COLUMN ADDRESS enthält, wird an den
Speichersteuerblock 16 und die Speichermatrix 12 geliefert, wie gezeigt ist.
-
Die Speichermatrix 12 umfaßt eine Speicherzellenmatrix 20. Die
Speicherzellenmatrix 20 enthält mehrere in Reihen und Spalten angeordnete
Speicherzellen. Die Speicherzellenmatrix 20 kann jede geeignete Anzahl von
Speicherzellen enthalten, die zweckmäßig angeordnet sind. Eine
Ausführungsform der Speichermatrix 12 umfaßt eine 64 KBit-
Speicherzellenmatrix mit 256 Reihen und 256 Spalten von Speicherzellen. Eine
Vorlade- und Taktgeberschaltung 22 ist mit der Speicherzellenmatrix 20
gekoppelt, wie gezeigt ist. Ein Reihendecodierer 24 und ein Spaltendecodierer 26
sind mit der Speicherzellenmatrix 20 gekoppelt, wie gezeigt ist. Die
Speichermatrix 12 umfaßt mehrere Speichermatrixausgänge 28&sub1;, 28&sub2;, ...., 28n-1
und 28n. Diese n Speichermatrixausgänge repräsentieren die Datenzustände von n
Speicherzellen in der Speicherzellenmatrix 20.
-
Der Multiplexerblock 14 umfaßt mehrere Zwischenspeicherblöcke, die in
mehreren Stufen angeordnet sind, wie gezeigt ist. In einer Ausführungsform
umfaßt jeder Zwischenspeicherblock einen Zwischenspeicher, der dem Ausgang
dieses Zwischenspeicherblocks entspricht. Eine mögliche Ausführungsform der
Erfindung umfaßt mehrere Leseverstärker und einen Zwischenspeicher, wie in
Fig. 2a dargestellt ist. In einer weiteren Ausführungsform der Erfindung umfaßt
jeder Zwischenspeicherblock im Multiplexerblock 14 mehrere
Zwischenspeicherzellen, deren Anzahl gleich der Anzahl der Eingänge des
Zwischenspeicherblocks ist. In einer Ausführungsform der vorliegenden
Erfindung umfaßt jede Zwischenspeicherzelle einen Zwischenspeicher und einen
Leseverstärker, wie in Fig. 2c dargestellt ist.
-
Die Zwischenspeicherblöcke 30&sub1; bis 30&sub1; umfassen eine erste Stufe des
Multiplexerblocks 14. Der Zwischenspeicherblock 30&sub1; ist mit den
Speichermatrixausgängen 28&sub1; und 28&sub2; gekoppelt. Der Zwischenspeicherblock 30&sub1;
ist mit den letzten beiden Speichermatrixausgängen 28n-1 und 28n gekoppelt. Wie
gezeigt ist, umfaßt die erste Stufe von Zwischenspeicherblöcken eine Anzahl von
Zwischenspeicherblöcken. Die Anzahl der Zwischenspeicherblöcke in der ersten
Stufe kann jede geeignete Anzahl sein, die so gekoppelt sind, damit alle
Speichermatrixausgänge 28&sub1; bis 28n empfangen werden.
-
Eine zweite Stufe der Zwischenspeicherblöcke umfaßt die
Zwischenspeicherblöcke 32&sub1; bis 32j. Die Anzahl j der Zwischenspeicherblöcke in
der zweiten Stufe hängt von der Anzahl der Eingänge in jeden der j
Zwischenspeicherblöcke in der zweiten Stufe ab. In der in Fig. 1 gezeigten
Ausführungsform empfängt jeder Zwischenspeicherblock zwei Ausgänge von der
vorherigen Stufe. Deswegen ist die Anzahl j der Zwischenspeicherblöcke in der
zweiten Stufe gleich der halben Anzahl i der Zwischenspeicherblöcke in der
ersten Stufe. Der Multiplexerblock 14 kann eine beliebige Anzahl von Stufen aus
Zwischenspeicherblöcken umfassen.
-
Der Multiplexerblock 14 umfaßt zwei letzte Stufen. Eine vorletzte Stufe
umfaßt den Zwischenspeicherblock 34&sub1; und den Zwischenspeicherblock 34&sub2; und
eine letzte Stufe umfaßt den Zwischenspeicherblock 36, die in der gezeigten
Weise gekoppelt sind. Der Ausgang des Zwischenspeicherblocks 36 in der letzten
Stufe des Multiplexerblocks 14 umfaßt den Multiplexerblockausgang 38.
-
In der Ausführungsform von Fig. 1 empfangen alle Zwischenspeicherblöcke
im Multiplexerblock 14 zwei Eingänge und liefern einen Ausgang, wobei der
Multiplexerblock 14 m Stufen umfaßt. In alternativen Ausführungsformen der
vorliegenden Erfindung empfangen die Zwischenspeicherblöcke jeweils drei oder
mehr Speichermatrixausgänge 28&sub1; bis 28n der Speichermatrix 12. Es gibt keine
Einschränkung, daß jeder der Zwischenspeicherblöcke die gleiche Anzahl von
Eingängen besitzen müßte. Außerdem können zwischenspeichernde und nicht
zwischenspeichernde Multiplexerelemente durcheinander angeordnet sein. Ferner
bedeutet die sequentielle Numerierung der Eingänge nicht, daß die Eingänge von
einer bestimmten Reihenfolge der Ausgänge von der vorherigen Stufe oder den
Spalten der Speichermatrix 12 kommen.
-
Der Speichersteuerblock 16 liefert die Speichersteuersignale 40, 41 und 42
sowie die Multiplexersteuersignale 44. Das Speichersteuersignal 40 ist mit der
Vorlade- und Taktgeberschaltung 22 gekoppelt. Das Speichersteuersignal 41 ist
mit dem Reihendecodierer 24 und das Speichersteuersignal 42 ist mit dem
Spaltendecodierer 26 gekoppelt. Die Multiplexersteuersignale 44 umfassen
Multiplexersteuersignale für jede Stufe des Multiplexerblocks 14. Wie in Fig. 1
gezeigt ist, umfassen die Multiplexersteuersignale 44 die Multiplexersteuersignale
44&sub1; bis 44m. Die Multiplexersteuersignale 44&sub1; sind mit den
Zwischenspeicherblöcken 30&sub1; bis 30&sub1; in der ersten Stufe und die
Multiplexersteuersignale 44&sub2; sind mit den Zwischenspeicherblöcken 32&sub1; bis 32i in
der zweiten Stufe gekoppelt, wie gezeigt ist. Die Multiplexersteuersignale 44m-1
sind mit den Zwischenspeicherblöcken 34&sub1; bis 34&sub2; und die
Multiplexersteuersignale 44m sind mit dem Zwischenspeicherblock 36 gekoppelt, wie gezeigt ist.
-
In einer Ausführungsform der vorliegenden Erfindung sind die
Speichermatrixausgänge 28&sub1; bis 28n Differenzsignale und die Ausgänge von
jedem Zwischenspeicherblock im Multiplexerblock 14 sind Differenzsignale.
Differenzsignale können für alle Zwischenspeicherblockausgänge oder für eine
Untergruppe von diesen verwendet werden.
-
Der Ausgabeblock 18 umfaßt einen Eingabe/Ausgabepuffer 50. Der
Eingabe/Ausgabepuffer 50 ist mit dem Multiplexerblockausgang 38 und mit
einem Eingabedatenbit D gekoppelt. Der Eingabe/Ausgabepuffer 50 liefert ein
Ausgabedatenbit Q. Alternativ können getrennte Eingabe- und Ausgabewege
verwendet werden. Einige Speicher sind so organisiert, daß ein gemeinsamer
Eingabe/Ausgabepin (I/O-Pin) für die Eingabe und Ausgabe von Daten verwendet
wird. Bei diesen Speichern wird der Puffer als Eingabe/Ausgabepuffer (I/O-
Puffer) bezeichnet. Bei anderen Speicherorganisationen werden für die Eingabe
und Ausgabe von Daten getrennte Pins verwendet. In jedem Fall können
wahlweise gemeinsame Busse für das Multiplexieren und für das Überragen von
Daten von der Speichermatrix zum Puffer und umgekehrt verwendet werden. In
jedem Fall wird im allgemeinen eine separate Schaltlogik verwendet, um die
Busse für die Eingabedaten und für die Ausgabedaten anzusteuern. Die Lehren
der vorliegenden Erfindung betreffen das Multiplexieren der Ausgabedaten und
können unabhängig davon angewendet werden, ob gemeinsame I/O-Busse
und/oder gemeinsame I/O-Puffer verwendet werden.
-
Die Speichervorrichtung 10 funktioniert so, daß sie einen Datenzustand einer
Speicherzelle, die der Speicheradresse MEMORY ADDRESS entspricht, als
Datenausgang Q liefert, und daß sie den Dateneingang D speichert, indem der
Datenzustand einer Speicherzelle, die der Speicheradresse MEMORY ADDRESS
entspricht, eingestellt wird.
-
Die Speichermatrix 12 funktioniert so, daß sie Datenzustände von
Speicherzellen in einer Reihe der Speicherzellenmatrix 20, die der Reihenadresse
ROW ADDRESS entspricht, liefert. Die Reihenadresse ROW ADDRESS und die
Spaltenadresse COLUMN ADDRESS werden an den Reihendecodierer 24· und an
den Spaltendecodierer 26 geliefert, wie gezeigt ist. Die Speichermatrix 12 liefert
die Datenzustände der Speicherzellen in der Speicherzellenmatrix 20, die der
Reihenadresse ROW ADDRESS und der Spaltenadresse COLUMN ADDRESS in
Abhängigkeit von dem Reihendecodierer 24 und dem Spaltendecodierer 26
entsprechen. Die Speichermatrix 12 ist betreibbar, um alle Datenzustände oder
eine Untergruppe der Datenzustände der Speicherzellen in der angegebenen Reihe
der Speicherzellenmatrix 20 als Speichermatrixausgänge 28&sub1; bis 28n zu liefern. In
der dargestellten Ausführungsform der vorliegenden Erfindung liefert die
Speichermatrix 12 n Speichermatrixausgänge 28&sub1; bis 28n.
-
Der Speichersteuerblock 16 wird so betrieben, daß er die
Speichersteuersignale 40, 41 und 42 erzeugt. Der Speichersteuerblock 16 steuert die Vorlade-
und Taktgeberschaltung 22 mit dem Speichersteuersignal 40. Der
Speichersteuerblock 16 steuert den Reihendecodierer 24 und den
Spaltendecodierer 26 mit den Speichersteuersignalen 41 bzw. 42. Der
Speichersteuerblock 16 wird so betrieben, daß er die Multiplexersteuersignale 44
erzeugt, die die Multiplexersteuersignale 44&sub1; bis 44m umfassen. Der
Speichersteuerblock 16 steuert mit den Multiplexersteuersignalen 44&sub1; bis 44m den
Betrieb jeder Stufe im Multiplexerblock 14.
-
Der Multiplexerblock 14 wird so betrieben, daß er die
Speichermatrixausgänge 28&sub1; bis 28n multiplexiert, um einen Multiplexerblockausgang 38 zu
schaffen. Der Multiplexerblockausgang 38 repräsentiert den Datenzustand der
Speicherzelle, die der Speicheradresse MEMORY ADDRESS entspricht, die an
die Speichervorrichtung 10 geliefert wird. Wie oben erläutert wurde, kann der
Multiplexerblock 14 mehrere Zwischenspeicherblöcke umfassen, die in mehreren
Stufen angeordnet sind. Die Zwischenspeicherblöcke sind so beschaffen, daß die
Speichermatrixausgänge 28&sub1; bis 28n multiplexiert werden, um den
Multiplexerblockausgang 38 einzustellen. Einer der Speichermatrixausgänge 28&sub1;
bis 28n repräsentiert den Datenzustand der Speicherzelle, die der Speicheradresse
MEMORY ADDRESS entspricht. Der Multiplexerblock 14 wird betrieben, um
den geeigneten Datenzustand auszuwählen und diesen Datenzustand als
Multiplexerblockausgang 38 zu liefern.
-
Der Multiplexerblock 14 wird so betrieben, daß er Datenzustände von den
mehreren Speichermatrixausgängen, die durch die Speichermatrix 12 geliefert
werden, multiplexiert, um den Multiplexerblockausgang 38 einzustellen, der an
den Ausgabeblock 18 geliefert wird. Die Anzahl der ausgegebenen Datenbits
kann jede geeignete Anzahl sein und ist lediglich für Darstellungszwecke als ein
Bit dargestellt. Eine Alternative ist eine Mehrbitausgabe mit parallelen
Ausgabewegen.
-
Jeder Zwischenspeicherblock besitzt wenigstens einen Eingang und einen
Ausgang. Die Anzahl der Eingänge bezieht sich auf den Grad der
Multiplexierung, die durch eine gegebene Stufe ausgeführt wird. Wenn lediglich
ein Eingang vorhanden ist, wirkt der Zwischenspeicherblock als Verstärker. In
Fig. 1 besitzt jeder Zwischenspeicherblock zwei Eingänge, da in jeder Stufe eine
Multiplexierung um einen Faktor zwei auszuführen ist. In einer Ausführungsform
der vorliegenden Erfindung ist der Zwischenspeicherblock so betreibbar, daß er
seinen Ausgang zwischenspeichert. Eine Ausführungsform ist in Fig. 2a
dargestellt, wobei jeder Zwischenspeicherblock einen Zwischenspeicher und
wenigstens einen Eingang umfaßt, wobei jedem Eingang ein Leseverstärker
zugeordnet ist. In einer weiteren Ausführungsform ist der Zwischenspeicherblock
so betreibbar, daß jeder Eingang zwischengespeichert wird. Eine Möglichkeit
dieser Ausführungsform ist in Fig. 2c dargestellt, in der der
Zwischenspeicherblock einen Leseverstärker und einen Zwischenspeicher umfaßt,
die jedem Eingang zugeordnet sind. In jeder dieser Ausführungsformen ist der
Zwischenspeicherblock so betreibbar, daß die Eingänge multiplexiert werden und
ein Ausgang geliefert wird. Der Zwischenspeicherblock ist ferner so betreibbar,
daß er eine Ausgabe von zwischengespeicherten Daten liefert.
-
Die Funktion des Multiplexerblocks 14 wird durch Multiplexersteuersignale
44 gesteuert, die durch den Speichersteuerblock 16 geliefert werden. Die
Multiplexersteuersignale 44&sub1; bis 44m steuern die Funktion der
Zwischenspeicherzellen in den Zwischenspeicherblöcken im Multiplexerblock 14.
Eine Ausführungsform zum Steuern der Zwischenspeicherblöcke besteht darin,
daß die Multiplexersteuersignale 44 so betrieben werden; daß die
Zwischenspeicherblöcke in der Weise gesteuert werden, daß jede
Zwischenspeicherzelle lediglich dann einen Datenzustand speichert, wenn die
Eingabe in die Zwischenspeicherzelle der Spaltenadresse COLUMN ADDRESS
1 entspricht. In einer alternativen Ausführungsform werden die
Multiplexersteuersignale 44 so betrieben, daß die Zwischenspeicherblöcke in der
Weise gesteuert werden, daß jede Zwischenspeicherzelle immer den Datenzustand
der Eingabe in die Zwischenspeicherzelle zwischenspeichert. Die
Multiplexersteuersignale 44&sub1; bis 44m steuern den Ausgang jedes
Zwischenspeicherblocks in der Multiplexerstufe 14 und das Zwischenspeichern
der Datenzustände durch die Zwischenspeicherzellen.
-
Der Ausgabeblock 18 wird so betrieben, daß er den Datenausgang von der
Speichervorrichtung 10 liefert und den Dateneingang in die Speichervorrichtung
10 empfängt. Der Eingabe/Ausgabepuffer 50 wird betrieben, um den
Datenzustand des Multiplexerblockausgangs 38 zu erfassen und ein
Ausgabedatenbit Q zu liefern, das den Datenzustand des
Multiplexerblockausgangs 38 repräsentiert. Der Eingabe/Ausgabepuffer 50 wird
außerdem betrieben, um den Datenzustand eines eingegebenen Datenbits D zu
erfassen und diesen Datenzustand an den Zwischenspeicherblock 36 am
Multiplexerblockausgang 38 zu liefern. Wie oben erwähnt wurde, können
getrennte Eingabe- und Ausgabewege verwendet werden.
-
In einer Ausführungsform der vorliegenden Erfindung ist der
Multiplexerblock 14 außerdem betreibbar, um den Eingabe/Ausgabepuffer 50 mit
der Speichermatrix 12 zu verbinden, wodurch ermöglicht wird, daß ein
Dateneingangsbit als ein Datenzustand einer Speicherzelle in der
Speicherzellenmatrix 20 gespeichert wird. Wenn der Betrieb in der Weise erfolgt,
daß Daten gespeichert werden, anstatt daß Daten geliefert werden, steuert der
Speichersteuerblock 16 die Zwischenspeicherblöcke im Multiplexerblock 14 in
der Weise, daß ein geeigneter Ausgang der Speichermatrixausgänge 28&sub1; bis 28n
auf den Datenzustand des Eingabedatenbits D gesetzt wird. In dieser
Ausführungsform können die Eingabedaten außerdem in den
dazwischenliegenden Multiplex-Zwischenspeichern zwischengespeichert werden
und stehen für die folgende Ausgabe von diesen Zwischenspeichern zur
Verfügung.
-
Ein technischer Vorteil der vorliegenden Erfindung ist das Zwischenspeichern
der Datenzustände im Multiplexerblock 14. Wenn eine Speichervorrichtung in
einer integrierten Schaltung auf einem Halbleiterchip aufgebaut wird, kann der
Raum beschränkt sein. Die Anzahl der Zwischenspeicherblöcke und die Anzahl
der Stufen im Multiplexerblock 14 kann so entworfen werden, daß sie für den
verfügbaren Raum geeignet sind. Einige herkömmliche Speichervorrichtungen
besitzen an jeder Spalte einen Leseverstärker und einen Zwischenspeicher. Das
kann beim Einpassen in das Teilungsmaß der Speichermatrix Schwierigkeiten
bereiten. Gemäß den Lehren der vorliegenden Erfindung kann eine beliebige
Anzahl von Spalten im ersten Zwischenspeicherblock multiplexiert werden. Diese
anfängliche Multiplexierung vor dem ersten Zwischenspeicherblock kann in einer
einzelnen Stufe oder in mehreren Stufen der Multiplexierung durchgeführt
werden.
-
Bei einem Speicherzugriff wird intern gewöhnlich auf mehr Speicherzellen
zugegriffen als Datenbits als Ausgänge bereitgestellt werden. Gemäß diesem
technischen Vorteil der vorliegenden Erfindung wird wenigstens eine
Untergruppe der Datenzustände der zusätzlichen Speicherzellen
zwischengespeichert und anschließend wird auf sie mit weniger Leistung
zugegriffen als bei der Speichermatrix erforderlich ist. Der Leistungsverbrauch ist
vermindert, indem Vorrichtungen nicht aktiviert werden, die eingangsseitig von
dem Zwischenspeicher liegen, der den adressierten Datenzustand speichert, wenn
sich die eingangsseitige Adresse nicht ändert. Je weiter eingangsseitig
Zwischenspeicher implementiert werden, desto breiter ist der Adressenbereich der
zwischengespeicherten Daten. Je weiter ausgangsseitig sie implementiert werden,
desto größer ist die Leistungseinsparung, wenn auf zwischengespeicherte Daten
zugegriffen wird. Zwischenspeicher können in jeder Stufe der Multiplexierung
implementiert werden, wodurch ermöglicht wird, daß Vorrichtungen bei Bedarf in
unterschiedlichen Stufen aktiviert werden können.
-
Zwischenspeicher können auf gewünschten Ebenen der Multiplexierung
implementiert werden. Zwischenspeicher können alternativ nur in der ersten Stufe
der Multiplexierung, nur in der letzten Stufe der Multiplexierung oder in jeder
ausgewählten Untergruppe der Stufen der Multiplexierung implementiert werden.
Für Anwendungen von Speichervorrichtungen, bei denen Gruppen von
Speicherzugriffen wahrscheinlich sind, bei denen die Adresse sequentiell geändert
wird, wie etwa in einem System mit einem Cache-Speicher oder bei der
Wiedergewinnung von Befehlsfolgen, ist die Wahrscheinlichkeit des Zugriffs auf
Daten, die sich in einem Zwischenspeicher befinden, groß, wenn die
Adressenfolge und die Multiplexierung so beschaffen sind, daß die in den
Zwischenspeichern gespeicherten Informationen den sequentiellen Adressen
entsprechen. Dies trifft auch dann zu, wenn lediglich wenige Zwischenspeicher
vorhanden sind, wie etwa Zwischenspeicher, die nur in der letzten Stufe der
Multiplexierung vorhanden sind.
-
Demzufolge besteht eine Ausführungsform der vorliegenden Erfindung darin,
daß die Adressen der Zwischenspeicher durch die niederwertigsten oder die am
häufigsten geänderten Bits in der Speicheradresse definiert werden. Zum Beispiel
könnte ein 64K-Speicher in 256 Zeilen und 256 Spalten angeordnet sein, wobei
die Adressenbits a0 bis a7 die Spalte festlegen und die Adressenbits a8 bis a15 die
Zeile festlegen. Ferner können die Spalten in drei Stufen multiplexiert werden,
ausgehend von 256 Bits auf 32 Bits und auf 4 Bits und schließlich zum Ein-Bit-
Ausgang. Wenn Zwischenspeicher in der 4 Bit-Stufe des Multiplexers eingesetzt
werden und die Adressenbits a0 und a1 die Stelle unter diesen vier Bits festlegen,
gibt es die größte Leistungseinsparung, wenn die Adressenbits a0 und a1 jene
sind, die sich am häufigsten ändern. Wenn Zwischenspeicher lediglich in der
32 Bit-Stufe der Multiplexierung enthalten sind und die Adressenbits a0 bis a4
diese Stellen festlegen, gibt es Leistungseinsparungen, wenn sich die Adresse
lediglich in aufeinanderfolgenden Zyklen in den Bits a0 bis a4 ändert. In diesem
zweiten Fall werden die Leistungseinsparungen bei diesem Zyklus nicht so groß
sein wie sie es wären, wenn der Zwischenspeicher wie im ersten Fall in der letzten
Stufe der Multiplexierung vorhanden ist, der Schwachleistungsmodus überstreicht
jedoch einen größeren Adressenraum. Es könnten Zwischenspeicher in beiden
Stufen der Multiplexierung eingesetzt werden, um die Vorteile beider Fälle, einen
Schwachleistungsmodus für einen breiteren Adressenraum und die geringste
Leistung für ein Segment dieses Adressenraums, auf Kosten der Komplexität und
der Fläche der Schaltlogik zu erzielen.
-
Wenn ein Speicher I/O-Pins gemäß der herkömmlichen Anordnung besitzt,
besteht eine Ausführungsform der vorliegenden Erfindung darin, daß der
Adressenraum der Zwischenspeicher durch die niederwertigsten Bits definiert
wird. Wenn der Speicher in einem System verwendet wird, wird in einer
Ausführungsform der vorliegenden Erfindung der Adressenraum der
Zwischenspeicher durch die sich am häufigsten ändernden Adressenbits definiert,
wobei die häufigste Änderung den Zwischenspeichern entspricht, die sich im
Multiplexerblock am weitesten ausgangsseitig befinden.
-
Die vorliegende Erfindung lehrt eine Architektur der Speichervorrichtung mit
Zwischenspeichern im Multiplexerblock 14, die den Leistungsverbrauch
vermindert. Der Leistungsverbrauch wird unabhängig davon vermindert, ob
Differenzsignale implementiert sind, obwohl die Leistungseinsparung größer ist,
wenn Differenzsignale im Multiplexerblock 14 verwendet werden. Die
Architektur der Speichervorrichtung der vorliegenden Erfindung ist bei allen
Speichern vorteilhaft, sie ist jedoch besonders vorteilhaft für Speicher, die unter
Verwendung von großen Speichermatrizen implementiert sind.
-
Ein technischer Vorteil der vorliegenden Erfindung besteht in der Verwendung
von Zwischenspeichern mit Differenzsignalen im Multiplexerblock 114. Die
Verwendung von Differenzsignalen kann die Verzögerung bei der Ausbreitung
eines Signals durch den Multiplexerblock insbesondere bei großen Speichern
vermindern, indem die Notwendigkeit des vollständigen Einschwingens des
Signals auf den Bussen eliminiert ist. Das verminderte Signaleinschwingen kann
auch die Leistung vermindern, aber das Halten und Erfassen von
Differenzsignalen verbraucht im allgemeinen eine bedeutende Energiemenge.
Somit spart die Verwendung von Zwischenspeichern zur Verminderung der
Häufigkeit von Ansteuerung und Erfassung von Differenzsignalen eine
bedeutende Energiemenge.
-
Ein weiterer technischer Vorteil der vorliegenden Erfindung besteht in der
Zwischenspeicherung von Differenzsignalen ohne Ansteuerung der
Differenzsignale von einem Versorgungspotential zum anderen. Die Verwendung
von Zwischenspeichern kann mit der Verwendung von Differenzsignalen in
Konflikt geraten, da Zwischenspeicher oftmals volle Signale verwenden. Die
Zwischenspeicherzellen im Multiplexerblock 14 sind so aufgebaut, daß die
Differenzsignale nicht von einem Versorgungspotential zum anderen angesteuert
werden. Eine Ausführungsform einer Zwischenspeicherzelle ist in den Fig. 2a und
2b dargestellt. Die Zwischenspeicher in den Zwischenspeicherzellen werden von
einem Versorgungspotential zum anderen angesteuert, die Differenzsignale
werden jedoch lediglich mit einem differentiellen Einschwingen angesteuert.
-
Fig. 2a stellt eine Ausführungsform einer allgemein mit dem Bezugszeichen
60 angegebenen Zwischenspeicherzelle dar, die gemäß den Lehren der
vorliegenden Erfindung aufgebaut ist. Die Zwischenspeicherzelle 60 umfaßt einen
Leseverstärker 62 und einen Zwischenspeicher 73.
-
Der Leseverstärker 62 umfaßt einen n-Kanal-Feldeffekttransistor (N-FET) 63
und einen N-FET 64. Eine Gate des N-FET 63 ist mit einer Leitung 65 gekoppelt
und ein Gate des N-FET 64 ist mit einer Leitung 66 gekoppelt. Ein Draün des N-
FET 63 ist mit einer Leitung 67 gekoppelt und ein Drain des N-FET 64 ist mit
einer Leitung 68 gekoppelt. Eine Source des N-FET 63 und eine Source des N-
FET 64 sind mit einem Knoten NODE 1 gekoppelt. Der Leseverstärker 62 umfaßt
ferner einen N-FET 70 und einen N-FET 72. Der N-FET 70 umfaßt eine Source,
einen Drain, der mit dem Knoten NODE 1 gekoppelt ist, und ein Gate, das mit
einem Leseverstärker-Adressensignal SA ADDRESS gekoppelt ist. Der N-FET
72 umfaßt einen Drain, der mit der Source des N-FET 70 gekoppelt ist, ein Gate,
das mit einem Leseverstärker-Steuersignal SA CONTROL gekoppelt ist, und eine
Source, die mit Massepotential gekoppelt ist.
-
Der Zwischenspeicher 73 umfaßt einen p-Kanal-Feldeffekttransistor (P-FET)
74 und einen P-FET 76. Der P-FET 74 umfaßt eine Source, die mit der Leitung 68
gekoppelt ist, ein Gate, das mit einem zweiten Zwischenspeicher-Steuersignal
LATCH CONTROL 2 gekoppelt ist, und einen Drain, der mit einem Knoten
NODE 2 gekoppelt ist. Der P-FET 76 umfaßt eine Source, die mit der Leitung 67
gekoppelt ist, ein Gate, das mit dem zweiten Zwischenspeicher-Steuersignal
LATCH CONTROL 2 gekoppelt ist, und einen Drain, der mit einem Knoten
NODE 3 gekoppelt ist. Der Zwischenspeicher 73 umfaßt außerdem einem P-FET
78, einen N-FET 80, einen P-FET 82 und einen N-FET 84. Der P-FET 78 umfaßt
eine Source, die mit einer positiven Spannungsversorgung VDD gekoppelt ist, ein
Gate, das mit einem Knoten NODE 3 gekoppelt ist, und einen Drain, der mit dem
Knoten NODE 2 gekoppelt ist. Der N-FET 80 umfaßt einen Drain, der mit dem
Knoten NODE 2 gekoppelt ist, ein Gate, das mit dem Knoten NODE 3 gekoppelt
ist, und eine Source, die mit einem Knoten NODE 4 gekoppelt ist. Der P-FET 82
umfaßt eine Source, die mit der positiven Spannungsversorgung VDD gekoppelt
ist, ein Gate, das mit einem Knoten NODE 2 gekoppelt ist, und einen Drain, der
mit dem Knoten NODE 3 gekoppelt ist. Der N-FET 84 umfaßt einen Drain, der
mit dem Knoten NODE 3 gekoppelt ist, ein Gate, das mit dem Knoten NODE 2
gekoppelt ist, und eine Source, die mit dem Knoten NODE 4 gekoppelt ist. Der
Zwischenspeicher 73 umfaßt ferner einen N-FET 86. Der N-FET 86 umfaßt einen
Drain, der mit dem Knoten NODE 4 gekoppelt ist, ein Gate, das mit einem ersten
Zwischenspeicher-Steuersignal LATCH CONTROL 1 gekoppelt ist, und eine
Source, die mit Massepotential gekoppelt ist.
-
Die Zwischenspeicherzelle 60 umfaßt ferner einen P-FET 88 und einen P-FET
90. Der P-FET 88 umfaßt eine Source, die mit der Spannungsversorgung VDD
gekoppelt ist, ein Gate, das mit der Leitung 68 gekoppelt ist, und einen Drain, der
mit der Leitung 68 gekoppelt ist. Der P-FET 90 umfaßt eine Source, die mit der
Spannungsversorgung VDD gekoppelt ist, ein Gate, das mit der Leitung 67
gekoppelt ist, und einen Drain, der mit der Leitung 67 gekoppelt ist.
-
Ein Differenz-Eingangssignal DIFFERENTIAL SIGNAL IN ist mit der
Leitung 65 und mit der Leitung 66 gekoppelt und ein Differenz-Ausgangssignal
DIFFERENTIAL SIGNAL OUT ist mit der Leitung 67 und mit der Leitung 68
gekoppelt.
-
Der Zwischenspeicher 60 wird betrieben, um das Differenz-Ausgangssignal
DIFFERENTIAL SIGNAL OUT gemäß dem Datenzustand des Differenz-
Eingangssignals DIFFERENTIAL SIGNAL IN anzusteuern oder um das
Differenz-Ausgangssignal DIFFERENTIAL SIGNAL OUT gemäß dem
Datenzustand anzusteuern, der durch den Zwischenspeicher 73
zwischengespeichert ist. Die Zwischenspeicherzelle 60 wird ansprechend auf das
Leseverstärker-Adressensignal SA ADDRESS, das Leseverstärker-Steuersignal
SA CONTROL, das erste Zwischenspeicher-Steuersignal LATCH CONTROL 1
und das zweite Zwischenspeicher-Steuersignal LATCH CONTROL 2 betrieben.
Der Leseverstärker 62 wird betrieben, um das Differenz-Ausgangssignal
DIFFERENTIAL SIGNAL OUT so anzusteuern, daß es dem Datenzustand des
Differenz-Eingangssignals DIFFERENTIAL SIGNAL 114 entspricht, wenn es
aktiviert ist. Der Zwischenspeicher 73 wird betrieben, um den Datenzustand des
Differenz-Ausgangssignals DIFFERENTIAL SIGNAL OUT zu erfassen,
zwischenzuspeichern und anzusteuern, wenn es aktiviert ist.
-
Der Leseverstärker 62 wird aktiviert, wenn der N-FET 70 und der N-FET 72
durch das Leseverstärker-Adressensignal SA ADDRESS und das Leseverstärker-
Steuersignal SA CONTROL eingeschaltet werden. Wenn der Leseverstärker 62
aktiviert ist, zieht er die Leitungen 67 und 68 auf ein Potential, das dem
Differenzpotential auf den Leitungen 65 und 66 entspricht.
-
Der Zwischenspeicher 73 wird aktiviert, wenn der N-FET 86 durch das erste
Zwischenspeicher-Steuersignal LATCH CONTROL 1 eingeschaltet wird. Der
Zwischenspeicher 73 ist mit den Leitungen 67 und 68 verbunden, wenn der P-
FET 74 und der P-FET 76 durch das zweite Zwischenspeicher-Steuersignal
LATCH CONTROL 2 aktiviert sind. Wenn der Zwischenspeicher 73 aktiviert und
mit den Leitungen 67 und 68 verbunden ist, erfaßt und speichert er den
Datenzustand des Differenzsignals auf den Leitungen 67 und 68. Der
Zwischenspeicher 73 wird betrieben, um einen Datenzustand zu bewahren, wenn
er aktiviert und nicht mit den Leitungen 67 und 68 verbunden ist. Wenn der
Zwischenspeicher 73 wieder mit den Leitungen 67 und 68 verbunden ist, wird er
betrieben, um die Leitungen 67 und 68 gemäß dem im Zwischenspeicher 73
bewahrten Datenzustand anzusteuern. Der Zwischenspeicher 73 wird betrieben,
um die Knoten NODE 1 und NODE 2 gemäß dem Datenzustand des
Zwischenspeichers 73 auf die Versorgungspotentiale VDD und Massepotential zu
steuern. Die Leitungen 67 und 68 werden jedoch nicht auf die
Versorgungspotentiale gesteuert, wenn der Zwischenspeicher 73 infolge der
Hochziehoperation des P-FET 88 und des P-FET 90 angeschaltet ist.
-
Bei der in Fig. 2a dargestellten Konfiguration ist auf einem Differenz-
Ausgabebus ein Zwischenspeicher vorhanden, der einem oder mehreren
Eingängen zu jedem Zwischenspeicherblock zugeordnet ist. Fig. 2a zeigt lediglich
einen von mehreren möglichen Differenzeingängen und zugeordneten
Leseverstärkern. Die Anzahl der Eingänge bestimmt den Grad der
Multiplexierung in dieser Stufe. Bei einem Eingang würde diese wie eine
Verstärkerstufe ohne Multiplexierung wirken. Das Leseverstärker-Adressensignal
SA ADDRESS ist das Signal, das einen Eingang auswählt. Das Leseverstärker-
Steuersignal SA CONTROL aktiviert die Ausbreitung des gewählten Eingangs.
Das erste Zwischenspeicher-Steuersignal LATCH CONTROL 1 steuert, ob der
Zwischenspeicher zwischengespeichert wird oder nicht. Das zweite
Zwischenspeicher-Steuersignal LATCH CONTROL 2 steuert, ob der
Zwischenspeicher mit dem Ausgabebus verbunden ist oder nicht. Variationen am
Aufbau des Leseverstärkers und des Zwischenspeichers können verwendet
werden. Zum Beispiel könnten die Signale SA ADDRESS und SA CONTROL
durch eine UND-Schaltung verknüpft werden. Außerdem könnten Vorlade- und
Ladungsausgleichsschaltungen beim Leseverstärker oder beim Zwischenspeicher
mit zusätzlichen Steuersignalen für die Taktsteuerung von
Vorladung/Ladungsausgleich hinzugefügt werden.
-
Bei der in Fig. 2a dargestellten Ausführungsform besitzt jeder
Zwischenspeicherblock einen oder mehrere Leseverstärker 62, die dem Signal
DIFFERENTIAL SIGNAL OUT und dem Zwischenspeicher 73 zugeordnet sind.
Wird diese in der Ausführungsform implementiert, die in Fig. 1 dargestellt ist, in
der für jeden Zwischenspeicherblock zwei Eingänge vorhanden sind, sind in
jedem Zwischenspeicherblock zwei Leseverstärker vorhanden. In einer
Ausführungsform ist das Leseverstärkersignal SA ADDRESS für jeden
Leseverstärker in einem Zwischenspeicherblock unterschiedlich, während das
Leseverstärker-Steuersignal SA CONTROL dasselbe ist. In einer weiteren
Ausführungsform wird dieselbe Gruppe aus Leseverstärker-Adressensignalen und
Leseverstärker-Steuersignalen parallel an eine Parallel-Konfiguration aus
Zwischenspeicherblöcken, wie etwa die Zwischenspeicherblöcke 30&sub1; bis 30&sub1; in
Fig. 1, angelegt, und eine andere Gruppe aus Leseverstärker-Adressensignalen
und Leseverstärker-Steuersignalen wird an die anderen Gruppen von
Zwischenspeicherblöcken angelegt. Bei dieser Ausführungsform werden dann, wenn eine
Gruppe von i parallelen Zwischenspeicherblöcken aktiviert ist, i Datenbits
zwischengespeichert, obwohl lediglich eine Untergruppe für die Ausgabe
ausgewählt sein kann. Die zwischengespeicherten Daten stehen dann in folgenden
Zugriffszyklen ohne Aktivierung der Leseverstärker in dieser Gruppe aus
parallelen Zwischenspeicherblöcken zur Ausgabe zur Verfügung.
-
Die in Fig. 2a dargestellte Zwischenspeicherzelle 60 stellt eine
Ausführungsform dar. Weitere Ausführungsformen von Zwischenspeicherzellen
sind möglich, die gemäß den Lehren der vorliegenden Erfindung betrieben
werden, um das Differenz-Ausgangssignal so zu steuern, daß es ansprechend auf
Steuersignale dem Datenzustand entweder des zwischengespeicherten Werts oder
des Differenz-Eingangssignals entspricht. Es gibt z.B. eine große Vielfalt von
Leseverstärkern, die verwendet werden könnten. Wie auch oben erwähnt wurde,
ist es möglich, den Leseverstärkern oder Zwischenspeichern eine Schaltlogik zur
Vorladung oder Ladungsausgleich anzufügen.
-
Fig. 2b stellt einen Zeitablaufplan dar, der eine Ausführungsform der
Funktionsweise der Steuersignale für die in Fig. 2a dargestellte
Zwischenspeicherzelle 60 zeigt. Der Zeitablaufplan von Fig. 2b stellt ein
Adressenbit An und ein Adressenbit Am dar. Fig. 2b stellt außerdem das
Leseverstärker-Adressensignal SA ADDRESS, das Leseverstärker-Steuersignal
SA CONTROL, das erste Zwischenspeicher-Steuersignal LATCH CONTROL 1
und das zweite Zwischenspeicher-Steuersignal LATCH CONTROL 2 dar. Der
Zeitablaufplan von Fig. 2b umfaßt drei Abschnitte, die in der gezeigten Weise mit
94, 96 und 98 bezeichnet sind.
-
Fig. 2b stellt eine Ausführungsform dar, bei der Steuersignale aus einer
i Erfassung des Adressenübergangs erzeugt werden, die auf ausgewählte
Abschnitte der Speicheradresse angewendet wird. Das Leseverstärker-
Steuersignal SA CONTROL kann den Leseverstärker freigeben, wenn ein
Übergang in der Adresse vorhanden ist, die Daten eingangsseitig vom
Leseverstärker zugehörig ist. Das Leseverstärker-Steuersignal kann durch eine
Schaltlogik zur Standarderfassung des Adressenübergang erzeugt werden, die auf
eine Untergruppe der Adressenbits angewendet wird, oder durch eine andere
Schaltlogik, wie etwa eine Schaltlogik zum Vergleichen einer neu eingegebenen
Adresse mit einer gespeicherten Adresse. Wenn die Adressenbits so bezeichnet
sind, daß höhere Adressenbits weiter eingangsseitig befindlichen
Multiplexierungsverzweigungen zugehörig sind, einschließlich Reihenadressen,
kann dies als ein Übergang beim Adressenbits An ausgedrückt werden, wobei n
größer als i ist und i das höchste Bit ist, das diesem Verzweigungsausgang
zugehörig ist. Die Signale LATCH CONTROL 1 und LATCH CONTROL 2
werden ebenfalls aus einem solchen Adressenübergang erzeugt, wobei die
Taktgebung so erfolgt, daß die neuen Adressendaten zwischengespeichert werden.
-
Außerdem wird ein Impuls im Signal LATCH CONTROL 2 durch einen
Übergang bei Adressenbits erzeugt, die der Auswahl der
Multiplexierungsverzweigungen von dieser Verzweigung zum nächsten Zwischenspeicher oder
zum Ausgang zugehörig sind, wenn ausgangsseitig kein Zwischenspeicher
vorhanden ist. Wenn die Speichervorrichtung einem Prozessor zugeordnet ist,
könnte der Prozessor die Steuersignale erzeugen. In diesem Fall könnten mehrere
Zwischenspeicher dem Differenz-Ausgabebus zugeordnet sein und Daten von
unterschiedlichen Zugriffszyklen könnten in verschiedenen Zwischenspeichern
gespeichert sein.
-
Im Bereich 94 ist das Leseverstärker-Steuersignal SA CONTROL auf
Tiefpegel. Das erste und das zweite Zwischenspeicher-Steuersignal
LATCH CONTROL 1 und LATCH CONTROL 2 sind auf Hochpegel. Somit sind
der Leseverstärker 62 und der Zwischenspeicher 73 nicht aktiviert.
-
Im Bereich 96 schaltet das Leseverstärker-Steuersignal SA CONTROL auf
Hochpegel. Dementsprechend wird der Leseverstärker 62 aktiviert und erfaßt das
Eingangssignal, wenn das Leseverstärker-Adressensignal SA ADDRESS auf
Hochpegel ist. Das erste und das zweite Zwischenspeicher-Steuersignal
LATCH CONTROL 1 und LATCH CONTROL 2 schalten nacheinander zum
Hochpegel, wie gezeigt ist. Neue Daten werden durch den Zwischenspeicher 73
zwischengespeichert. Diese Impulse werden durch den Übergang von An vom
Bereich 94 zum Bereich 96 erzeugt.
-
Im Bereich 98 schaltet das zweite Zwischenspeicher-Steuersignal
LATCH CONTROL 2 auf Tiefpegel und das Leseverstärker-Steuersignal
SA CONTROL ist auf Tiefpegel. Der Datenzustand, der durch den
Zwischenspeicher 73 gehalten wird, wird an das Differenz-Ausgangssignal
ausgegeben.
-
Es gibt verschiedene Arten der Erzeugung der Steuersignale für die
Zwischenspeicherzelle 60. Sie können durch einen Prozessor, der auf Daten vom
Speicher zugreift, erzeugt und an die Speichervorrichtung geliefert werden. Sie
können durch die Speichervorrichtung als Antwort auf Taktsignale und
Adressenfolgen erzeugt werden. Die Speichervorrichtung kann Adressen
speichern, die sich auf Daten beziehen, die in den Zwischenspeichern gespeichert
sind und eingegebene Adressen mit den gespeicherten Adressen vergleichen.
-
In einer Ausführungsform der vorliegenden Erfindung erzeugt die
Speichervorrichtung die Steuersignale durch das Erfassen von
Adressenbitübergängen in ausgewählten Untergruppen der Adresse. Das
Leseverstärker-Steuersignal SA CONTROL kann auf der Grundlage eines
Übergangs in den Adressenbits, der sich auf die Adresse eingangsseitig vom
Zwischenspeicher bezieht, einschließlich die Reihenadressenbits, erzeugt werden.
Das Leseverstärker-Adressensignal SA ADDRESS kann auf der Grundlage eines
Übergangs in den Adressenbits, der sich auf die Adresse am Zwischenspeicher
und ausgangsseitig vom Zwischenspeicher bezieht, erzeugt werden. Diese
Steuersignale können getaktete Impulse sein, um Leistung zu sparen und um eine
Zeitspanne für den Ladungsausgleich und die Vorladung zu ermöglichen. Wenn
die Daten, auf die zugegriffen wird, in einem Zwischenspeicher zur Verfügung
stehen, kann der Zugriff schneller erfolgen sowie weniger Energie verbrauchen als
wenn der Zugriff auf die Speicherzellenmatrix erfolgen muß.
-
Es können Systeme so aufgebaut werden, daß sie aus diesem technischen
Vorteil der vorliegenden Erfindung Nutzen ziehen, z.B. dann, wenn ein Cache-
Speicher von einer Speichervorrichtung geladen wird, die gemäß den Lehren der
vorliegenden Erfindung aufgebaut ist. Alternativ kann die Taktgebung des
Leseverstärker-Adressensignals SA ADDRESS so verzögert sein, daß die
Ausgabedaten vom vorherigen Zugriff in den aktuellen Zugriffszyklus hinein
länger gültig sind. Die Taktgebung der Steuersignale SA ADDRESS und
SA CONTROL kann so erfolgen, daß die Aktivierung der Erfassung, der
Zwischenspeicherung und der Ausgabe für einen vollen Zyklus geeignet ist,
unabhängig davon, ob ein vollständiger Zyklus aktiviert wurde oder nicht.
-
Fig. 2c stellt eine weitere Ausführungsform einer allgemein mit dem
Bezugszeichen 60 angegebenen Zwischenspeicherzelle gemäß den Lehren der
vorliegenden Erfindung dar. Die Konfiguration der Zwischenspeicherzelle 60 von
Fig. 2c ist dieselbe wie die von Fig. 2a mit Ausnahme der Hinzufügung eines P-
FET 100, eines P-FET 102 und eines dritten Zwischenspeicher-Steuersignals
LATCH CONTROL 3. Die P-FET 100 und 102 umfassen Source-Elektroden, die
mit den Differenz-Ausgabeleitungen 65 bzw. 66 verbunden sind, Gate-
Elektroden, die mit dem dritten Zwischenspeicher-Steuersignal
LATCH CONTROL 3 verbunden sind, und Drain-Elektroden, die mit den Knoten
NODE 2 bzw. NODE 3 verbunden sind, wie gezeigt ist.
-
Die Zwischenspeicherzelle 60 kann mit ähnlich aufgebauten
Zwischenspeicherzellen verbunden sein, um Zwischenspeicherblöcke zu bilden,
die mehrere Zwischenspeicherzellen umfassen, indem die Leitungen 67 und 68
Differenz-Ausgangssignal DIFFERENTIAL SIGNAL OUT jeder
Zwischenspeicherzelle verbunden werden. Somit verwenden die mehreren
Zwischenspeicherzellen in einem Zwischenspeicherblock einen
Differenz-Ausgangssignalbus gemeinsam mit jeder Zwischenspeicherzelle, die mit einem
anderen Differenz-Ausgangssignal gekoppelt ist. Wenn sie in dieser Weise
verbunden sind, können die P-FETs 88 und 90 von den Zwischenspeicherzellen
im Zwischenspeicherblock gemeinsam genutzt werden. In einer Ausführungsform
ist das Leseverstärker-Adressensignal SA ADDRESS für jede
Zwischenspeicherzelle in einem Zwischenspeicherblock unterschiedlich, während
des Leseverstärker-Steuersignal SA CONTROL dasselbe ist.
-
In der in Fig. 2c dargestellten Ausführungsform ist der Zwischenspeicher 73
einem einzelnen Eingang im Multiplexerzweig zugeordnet. Mehrere Eingaben in
den Zweig können gleichzeitig zwischengespeichert werden, obwohl lediglich
eine ausgegeben wird.
-
Wiederum könnten andere Leseverstärker oder Zwischenspeicherschaltungen
eingesetzt werden, ebenso ist das Anfügen von Schaltlogik zum Vorladen und
Ladungsausgleich möglich. Die Steuersignale sind denen von Fig. 2a ähnlich, mit
der Ausnahme, daß das Signal LATCH CONTROL 2 die Verbindung der
Zwischenspeichers 73 mit dem Eingang statt mit dem Ausgang steuert, und ein
zusätzliches Steuersignal LATCH CONTROL 3 steuert die Verbindung mit dem
Ausgang.
-
Fig. 2d stellt einen Zeitablaufplan dar, der eine Ausführungsform der
Funktionsweise der Steuersignale für die in Fig. 2c dargestellte
Zwischenspeicherzelle 60 zeigt. Fig. 2d stellt dieselben Steuersignale wie Fig. 2b
dar sowie zusätzlich das dritte Zwischenspeicher-Steuersignal
LATCH CONTROL SIGNAL 3. Fig. 2d stellt die Erzeugung dieser Steuersignale
als Antwort auf Adressenbitübergänge für eine Ausführungsform der
vorliegenden Erfindung dar.
-
Die Ausführungsform der in Fig. 2a dargestellten Zwischenspeicherzelle 60 ist
etwas einfacher als die in Fig. 2c dargestellte Ausführungsform, sie ist jedoch
auch etwas weniger effektiv bei der Verringerung der Aktivierung der
Schaltungselemente, wenn auf Daten vom Zwischenspeicher zugegriffen wird und
der Leistungsverbrauch vermindert wird. Es wird beispielsweise ein Multiplexer
mit zwei Stufen betrachtet. Die Implementierung der Ausführungsform von
Fig. 2a in der ersten der beiden Stufen ist etwa gleichwertig mit der
Implementierung der Ausführungsform von Fig. 2c in der zweiten der beiden
Stufen, da die gleiche Anzahl von Zwischenspeichern benötigt wird. Wenn jedoch
auf Daten von einem Zwischenspeicher zugegriffen wird, würde die erste
Implementierung die Aktivierung vom mehr Schaltlogik erfordern als dies die
zweite Implementierung tun würde. Weitere Variationen und Kombinationen von
Zwischenspeichern und Leseverstärkern sind gemäß den Lehren der vorliegenden
Erfindung möglich.
-
Fig. 3 stellt einen Blockschaltplan eines allgemein mit dem Bezugszeichen
100 angegebenen Computersystems unter Verwendung einer gemäß den Lehren
der vorliegenden Erfindung aufgebauten Speichervorrichtung dar. Das
Computersystem 100 umfaßt einen Prozessor 102, der an eine
Speichervorrichtung 104 gekoppelt ist. Der Prozessor 102 umfaßt einen Cache-
Speicher 105. Die Speichervorrichtung 104 ist gemäß den Lehren der
vorliegenden Erfindung aufgebaut und enthält einen Multiplexerblock mit einer
Anordnung aus Zwischenspeicherblöcken. Ein Plattenspeicher 106, eine Tastatur
108 und eine Anzeige 110 sind in der gezeigten Weise an den Prozessor 102
gekoppelt. Der Prozessor 102 und die Speichervorrichtung 104 funktionieren so,
daß der Prozessor 102 eine Speicheradresse zur Speichervorrichtung 104 senden
kann und daß die Speichervorrichtung 104 entweder Daten vom Prozessor 102
speichern oder Daten an den Prozessor 102 zurücksenden kann. Der Prozessor
102 kann einen Cache-Speicher 105 enthalten, wie gezeigt ist. Der Plattenspeicher
106 wird so betrieben, daß er eine magnetische Speicherung für Daten schafft, die
durch den Prozessor 102 geliefert werden. Der Plattenspeicher 106 wird außerdem
1 so betrieben, daß er Daten an den Prozessor 102 liefert. Die Tastatur 108 stellt
einen Eingang zum Prozessor 102 dar und die Anzeige 110 zeigt Daten an, die
durch den Prozessor 102 geliefert werden. Das Computersystem 100 könnte
mehrere weitere Elemente umfassen, die herkömmlich in Computersystemen
verwendet werden. Jedes Computersystem, das Speichervorrichtungen verwendet,
kann aus der Verwendung einer Speichervorrichtung, die gemäß den Lehren der
vorliegenden Erfindung aufgebaut ist, Nutzen ziehen. Ein großer Nutzen wird
daraus abgeleitet, daß das System die Adressenbits so abbildet, daß es Folgen von
Speicherzugriffen gibt, bei denen sich lediglich eine Untergruppe der
Adressenbits ändern und daß dies derart erfolgt, daß diese Untergruppe von
Adressenbits der Adresse der Zwischenspeicher im Multiplexer entspricht.
-
Obwohl die vorliegende Erfindung ausführlich beschrieben wurde, sollte es
selbstverständlich sein, daß verschiedene Änderungen, Ersetzungen und
Veränderungen daran ausgeführt werden können, ohne vom Umfang der
Erfindung, der durch die beigefügten Ansprüche definiert ist, abzuweichen.