DE10147592A1 - System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle - Google Patents
System und Verfahren zum Vorsehen geichzeitiger Zeilen- und SpaltenbefehleInfo
- Publication number
- DE10147592A1 DE10147592A1 DE10147592A DE10147592A DE10147592A1 DE 10147592 A1 DE10147592 A1 DE 10147592A1 DE 10147592 A DE10147592 A DE 10147592A DE 10147592 A DE10147592 A DE 10147592A DE 10147592 A1 DE10147592 A1 DE 10147592A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- column
- command
- memory device
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Es werden ein System und ein Verfahren zum Vorsehen gleichzeitiger Zeilen- und Spaltenoperation in einem Speichersystem vorgesehen. Das Speichersystem umfaßt einen Speichercontroller, mehrere Speichereinrichtungen und Übertragungswege zwischen dem Speichercontroller und den mehreren Speichereinrichtungen. Der Speichercontroller ist mit jeder Speichereinrichtung über einen Übertragungsweg verbunden, der ein Spaltenchipauswahlsignal an die Speichereinrichtung liefert, sowie mit einem Übertragungsweg, der ein Zeilenchipauswahlsignal an die Speichereinrichtung liefert. Die Doppelchipauswahlsignale erlauben es, eine Spaltenoperation in der Speichereinrichtung gleichzeitig mit einer Zeilenoperation in der Speichereinrichtung auszuführen. Die Übertragungswege umfassen ferner einen Spaltenbefehl-Übertragungsweg, der Spaltenbefehle an die Speichereinrichtung liefert, einen Spaltenadreß-Übertragungsweg, der Spaltenadressen für die Speicherbefehle an die Speichereinrichtung liefert, einen Zeilenbefehl-Übertragungsweg, der Zeilenbefehle an die Speichereinrichtung liefert, und einen Zeilenadreß-Übertragungsweg, der Zeilenadressen für die Zeilenbefehle an die Speichereinrichtung liefert.
Description
Die Erfindung betrifft im allgemeinen ein Speichersystem und insbesondere ein System und
ein Verfahren zum Vorsehen gleichzeitiger Zeilen- und Spaltenbefehle in einem Speichersy
stem, das getrennte Einrichtungs-Auswahlmechanismen verwendet.
Ein übliches Speichersystem umfaßt einen Speichercontroller oder eine Speichersteuerein
richtung und Speichereinrichtungen, wie dynamische Arbeitsspeicher (DRAM)-
Einrichtungen, welche mit diesen verbunden sind. In einigen Systemen führt ein Prozessor die
Funktion des Speichercontrollers durch. Im vorliegenden Zusammenhang umfaßt der Begriff
Speichercontroller einen solchen Prozessor. Die Speichereinrichtungen sind üblicherweise in
Speichermodulen angeordnet, und diese Module sind mit dem Speichercontroller über eine
Speicherschnittstelle verbunden. Die Speicherschnittstelle schafft eine Datenverbindung zwi
schen dem Speichercontroller und den Speichereinrichtungen. Die Speicherschnittstelle kann
z. B. Chipauswahlleitungen, Adreßbusleitungen, Befehlssignalleitungen und Datenbusleitun
gen umfassen.
Die zunehmende Nachfrage nach Computern mit höherer Leistung und Kapazität hat zu einer
Nachfrage nach schnelleren und effizienteren Speichersystemen geführt. Wenn Befehle von
einer zentralen Verarbeitungseinheit (CPU) eines Computers ausgeführt werden, werden kon
stant Information und Daten von dem Speichercontroller in die Speichereinrichtungen über
tragen und umgekehrt. Intensiver Lese- und Schreibverkehr in einem Speichersystem ergibt
sich häufig, wenn der Computer unter starke Arbeitsbelastung steht und gleichzeitig mehrere
Anwendungen laufen. Da sich die Daten permanent zwischen dem Speichercontroller und der
Speichereinrichtung bewegen, besteht eine Art zur Erhöhung der Effizienz eines Speichersy
stems darin, die Datenbandbreite auf den Datenbusleitungen und die Befehlsbandbreite auf
den Befehlssignalleitungen zu erhöhen. Die Datenbandbreite und die Befehlsbandbreite kön
nen angesehen werden als die Menge der Daten und Befehle, welche von dem Speichercon
troller in die Speichereinrichtung oder von der Speichereinrichtung an den Speichercontroller
zu einer gegebenen Zeit gesendet werden.
Obwohl einige Speichersysteme des Standes der Technik, wie Doppeldatenraten-Synchron-
DRAM-Systeme (DDR-Systeme), eine Spitzendatenbreite von ungefähr 1,6 Gigabyte pro
Sekunde haben, erreichen diese Speichersysteme des Standes der Technik üblicherweise nur
65% Wirkungsgrad bei den meisten Computeranwendungen. Dies ist teilweise das Ergebnis
dessen, daß der Speichercontroller Zeit damit verbringen muß, darauf zu warten, daß die
Speichereinrichtung für eine Operation bereit sind, bevor der Speichercontroller einen ande
ren Befehl ausgeben kann. Bevor z. B. ein DDR-System eine Leseoperation ausführen kann,
muß der Teil der Speichereinrichtung, welche die zu lesenden Daten enthält, vorgeladen und
aktiviert werden. Nach dem Vorladen und Aktivieren des fraglichen Teils gibt es Zeitbe
schränkungen, während derer das DDR-System warten muß, bevor die nächste Operation mit
diesem Teil ausgelöst werden kann. Diese Zeitbeschränkungen sind üblicherweise bekannt als
tRCD, was eine Abkürzung ist für Zeilen-Spalten-Decodierzeit oder -Verzögerung (Row to
Cloumn Decode time or delay).
Fig. 1 zeigt ein Beispiel eines Zeitablaufdiagramm eines DDR-Systems des Standes der
Technik. Bei diesem Beispiel möchte das DDR-System aus zwei getrennten Unterfeldern in
einer Speichereinrichtung lesen. Das obere Signal in dem Zeitablaufdiagramm stellt ein Ein-
Chip-Auswahlsignal 10 an die Speichereinrichtung dar. Das untere Signal in dem Zeitdia
gramm stellt Befehlssignale 20 dar, die von dem Speichercontroller ausgegeben werden.
Während das Chip-Auswahlsignal 10 niedrig ist, wird die Speichereinrichtung von dem Spei
chercontroller ausgewählt, um die fraglichen Befehle auszuführen. Der Speichercontroller
sendet hier einen ersten Lesebefehl 20 zum Lesen von Daten aus einem ersten Unterfeld der
Speichereinrichtung, einen Vorladebefehl 23 und einen Aktivierungsbefehl 24 zum Vorladen
und Aktivieren eines zweiten Feldes der Speichereinrichtung und einen Lesebefehl 28 zum
Lesen von Daten aus einem zweiten Unterfeld der Speichereinrichtung aus. Die Zeitpunkte
der gezeigten Befehle dienen nur der Erläuterung, weil die Taktanzahl der zeitlichen Bezie
hungen abhängig ist von einer Anzahl von Faktoren, einschließlich der Geschwindigkeitsgrad
der Einrichtung, die Betriebsfrequenz, die Menge des belegten Speichers. Aufgrund intrinsi
scher Beschränkung in dem DDR-Speichersystem können die Lese- und Vorladebefehle 22,
23 nur nacheinander ausgeführt werden. Die Länge eines Zeitblocks 26 stellt die Zeitbe
schränkung tRCD dar, während der das System warten muß, bevor der zweite Lesebefehl 28
an das zweite Unterfeld ausgelöst werden kann. Da das DDR-System diese Befehle sequenti
ell ausführen muß und darauf warten muß, daß die Zeit tRCD verstreicht, bevor der zweite
Befehl ausgelöst werden kann, bleiben die Datenbusleitungen zwischen den Speichereinrich
tungen und dem Speichercontroller zwischen der Übertragung von Daten, die aufgrund des
ersten Lesebefehls gelesen werden, und der Übertragung von Daten, die aufgrund des zweiten
Lesebefehls gelesen werden, leer. Die Datenbusleitungen sind während der Vorladeperiode,
der Aktivierungsperiode und der tRCD-Zeitbeschränkung unbenutzt. Als ein Folge werden
die Datenbusleitungen nicht effizient genutzt und leidet die Datenbandbreite.
In anderen Speichersystemen, wie einem Rambus-DRAM-System (RDRAM-System), wur
den Lösungen zum Erhöhen der Effizienz der Datenbandbreite entwickelt. In den RDRAM-
Systemen werden die Befehle in Paketform organisiert, anstatt einen Befehl während eines
Takts von einem Speichercontroller an eine Speichereinrichtung zu senden. Das Befehlspaket
wird an die Speichereinrichtung während mehrerer Taktzyklen gesendet, üblicherweise mit
acht Taktflanken, wobei jede Taktflanke zum Senden eines Teils des Pakets verwendet wird.
Das Befehlspaket kann mit seiner großen Größe Information codieren, welche die gleichzeiti
ge Ausführung von Zeilen- und Spaltenbefehlen erlaubt, im Gegensatz zu der sequentiellen
Verarbeitung bei einem DDR-System. Ein Vorlade- oder Aktivierungsbefehl ist z. B. ein Zei
lenbefehl, und ein Lesebefehl ist ein Spaltenbefehl. Dies verbessert die Befehlsbandbreite und
erlaubt es, die Datenbandbreite effizienter zu nutzen. Da jedoch mehrere Takte benötigt wer
den, um das Paket zu übertragen, können gewisse Verzögerungen entstehen. In einem 400-
Megahertz-System würden z. B. acht Taktflanken 10 Nanosekunden benötigen, um das Be
fehlspaket zu senden. Es werden daher ein System und ein Verfahren zum Vorsehen von
gleichzeitigen Zeilen- und Spaltenbefehlen benötigt, welche die Datenbandbreite verbessern,
jedoch keine Verzögerungen einführen.
Fig. 1 zeigt ein Ausführungsbeispiel eines Zeitablaufdiagramms eines DDR-Systems des
Standes der Technik;
Fig. 2 zeigt ein Speichersystem auf einem Motherboard-Niveau, in dem Ausführungsformen
der Erfindung arbeiten können;
Fig. 3 zeigt eine Darstellung der hierarchischen Struktur des Speichersystems der Fig. 2;
Fig. 4 zeigt ein Speichersystem gemäß einer Ausführungsform der Erfindung;
Fig. 5 zeigt ein Ausführungsbeispiel eines Zeitablaufdiagramms eines Speichersystems ge
mäß einer Ausführungsform der Erfindung; und
Fig. 6 zeigt ein Prozeß zum Betreiben eines Speichersystems gemäß einer Ausführungsform
der Erfindung.
Fig. 2 zeigt ein Speichersystem auf Motherboard-Niveau, in dem Ausführungsformen der
Erfindung arbeiten können. Das Speichersystem umfaßt einen Speichercontroller oder Spei
chersteuereinrichtung 110 und Speichereinrichtungen 130-145, wie DRAM-Einrichtungen.
Der Speichercontroller 110 kann z. B. ein Chipset oder eine zentrale Verarbeitungseinheit sein
und ist zum Übertragen verschiedener Information, z. B. Daten, Adreßinformation und Be
fehlsinformation, an die Speichereinrichtungen 130-145 geeignet. Der Speichercontroller
110 ist ferner geeignet, Daten und Statusinformation von den Speichereinrichtungen 130-145
zu empfangen. In dem Speichersystem liegt der Speichercontroller 110 auf einem Mo
therboard 200. Die Speichereinrichtungen 130-145 liegen in Speichermodulen 150, 155. Die
Speichermodule 150, 155 sind mit dem Motherboard 200 über Verbinder 160, 165 verbunden.
Die Speichereinrichtungen 130, 135 liegen in dem ersten Speichermodul 150, während die
Speichereinrichtungen 140, 145 in dem zweiten Speichermodul 155 liegen. In anderen Spei
chersystemen, mit denen die vorliegende Erfindung arbeiten kann, kann die Konfiguration der
Speichereinrichtungen 130-145 in den Speichermodulen 150, 155 anders sein, und der Spei
chercontroller 110 kann mehr oder weniger Speichereinrichtungen als die in Fig. 2 gezeigten
steuern. Ein oder mehrere externe Puffer oder Register (nicht gezeigt) können ebenfalls zwi
schen dem Speichercontroller 110 und den Speichereinrichtungen 130-145 in dem Speicher
system angeordnet sein, um die Impedanz zu reduzieren, welche der Speichercontroller 110
sieht, und die elektrischen Eigenschaften des Speichersystems zu verbessern.
Jede der Speichereinrichtungen 130-145 kann als ein Speicherfeld mit einer Zellentabelle
angesehen werden. Diese Zellen bestehen aus dünnen Kondensatoren, welche eine Ladung
halten und eines oder mehrere Bit enthalten, abhängig von der Konfiguration der Speicherein
richtungen 130-145. Jede der Speichereinrichtungen 130-145, die in Fig. 2 auf dem Mo
therboard-Niveau gezeigt sind, wird als eine logische Zeile des Speichers auf dem Mother
board oder ein Rang ("Rank") bezeichnet. Wie gezeigt, ist die Speichereinrichtung 130 Rang
0, die Speichereinrichtung 135 ist Rang 1, die Speichereinrichtung 140 ist Rang 2, und die
Speichereinrichtung 145 ist Rang 3. Das Speicherzellenfeld innerhalb jedes Rangs ist häufig
in eine Anzahl von Unterfeldern weiter unterteilt. Jedes dieser Unterfelder wird als Bank
("Bank") bezeichnet. In einem Niveau der Speichereinrichtung ist jede Bank weiter in Spei
cherzellenfelder unterteilt und kann als eine Speicherzellenunteranordnung betrachtet werden,
die N Speicherzeilen umfaßt, wobei jede Zeile in M Spalten aufgeteilt ist.
Fig. 3 zeigt eine Darstellung einer hierarchischen Struktur des Speichersystems der Fig. 2.
Das Signal geht von dem Speichercontroller 110 zu Komponenten innerhalb der Speicherein
richtungen 130-145 durch die Hierarchie. Oben in der Hierarchie ist der Speichercontroller
110. Das zweite Niveau der Hierarchie besteht aus Rängen, z. B. Ränge 0 bis 3 in der Ausfüh
rungsform. In anderen Ausführungsformen kann es X Ränge geben, wobei X eine ganze Zahl
ist. Auf dem dritten Niveau der Hierarchie sind Bänke. In der Ausführungsform ist jeder Rang
in einer Anzahl von Bänken aufgeteilt, z. B. die Bänke 0 bis Y, wobei Y eine ganze Zahl ist.
Der Rang 0 umfaßt die Bänke 0 bis Y, ebenso wie die Ränge 1 bis 3. Das dritte Niveau der
Hierarchie umfaßt Zeilen für jede Bank in jedem Rang ("Row"). Unter der Annahme, daß
jede Bank N Speicherzeilen umfaßt, wobei N eine ganze Zahl ist, wird jede Bank jedes Rangs
wird Zeilen 0 bis N zugeordnet. Rang 0, Bank 0 ist z. B. den Zeilen 0 bis N von Rang 0, Bank
0 zugeordnet. Das vierte Niveau der Hierarchie umfaßt Spalten für jede Zeile jeder Bank in
jedem Rang ("Column"). Unter der Annahme, daß jede Zeile M Speicherzellenspalten um
faßt, wobei M eine ganze Zahl ist, wird jede Zeile jeder Bank jedes Rangs Spalten 0 bis M
zugeordnet. Rang 0, Bank 0, Zeile 0 wird z. B. den Spalten 0 bis M von Rang 0, Bank 0, Zeile
0 zugeordnet. Es ist plausibel, ein Speichersystem zu definieren, in dem Ränge nicht weiter in
Bänke aufgeteilt sind, wobei das dritte Niveau der Hierarchie Spalten umfaßt, während das
vierte Niveau der Hierarchiestruktur Zeilen umfaßt, oder in dem Ränge in unterschiedliche
Anzahlen von Bänken, Zeilen und/oder Spalten unterteilt sind.
Fig. 4 zeigt ein Speichersystem gemäß einer Ausführungsform der Erfindung. Das Speicher
system umfaßt einen Speichercontroller 110, Speichereinrichtungen 130-145 und Übertra
gungsleitungen, welche den Speichercontroller 110 mit den Speichereinrichtungen 130-145
verbinden. In anderen Ausführungsformen kann es mehr oder weniger Speichereinrichtungen
geben als in Fig. 4. Die Verbindungsleitungen umfassen Signalleitungen für eine Spaltenchip
auswahl 50 (CCS0) und eine Zeilenchipauswahl 60 (RCS0), die mit der Speichereinrichtung
130 oder Rang 0 verbunden sind. Signalleitungen für die Spaltenchipauswahl 52, 54, 56
(CCS1, CCS2, CCS3) und Zeilenchipauswahl 62, 64, 66 (RCS1, RCS2, RCS3) sind ferner für
die Speichereinrichtungen 130, 140 bzw. 145 (oder Rang 1, 2, 3) vorgesehen. Die Chipaus
wahl bezeichnet hier jede Art von Signal, das eine bestimmte Speichereinrichtung, einen be
stimmten Teil einer Speichereinrichtung oder eine Gruppe von Speichereinrichtungen aus
wählt. Es kann als ein Signal betrachtet werden, das bewirkt, daß die ausgewählte(n) Ein
richtung(en) oder der Teil/die Teile Eingangsbefehle bemerken. In dieser Ausführungsform
gibt es zwei Chipauswahlsignale - eine Spaltenchipauswahl und eine Zeilenchipauswahl - pro
Speichereinrichtung oder pro Rang für insgesamt acht Chipauswahlsignale in dem Speicher
system. In anderen Ausführungsformen kann es mehr oder weniger Chipauswahlsignale ge
ben, weil die Anzahl der Speichereinrichtungen oder die Anzahl der Chipauswahlsignale pro
Speichereinrichtung variieren kann. Die Übertragungsleitungen umfassen ferner Busse zum
Übertragen von Spaltenbefehlen 70, Spaltenadressen 75, Zeilenbefehlen 80 und Zeilenadres
sen 85. Jede dieser vier Signal/Busleitungen sendet ihr Signal an alle Speichereinrichtungen
130-145. Der Klarheit halber sind die Busse zum Übertragen der Spaltenbefehle 70 und der
Spaltenadressen 75 in Fig. 4 als ein Bus dargestellt, und die Busse zum Übertragen der Zei
lenbefehle 80 und der Zeilenadressen 85 sind in Fig. 4 ebenfalls als ein Bus dargestellt. In
anderen Ausführungsformen werden einzelne Signal/Busleitungen für Spaltenbefehle, Spal
tenadressen, Zeilenbefehle und Zeilenadressen für jede Speichereinrichtung oder jeden Rang
vorgesehen, um eine getrennte Steuerung einzelner Speichereinrichtungen 130-145 zu erlau
ben.
Die Doppelchipauswahlsignale für eine Speichereinrichtung, oder einen Rang, dienen für
zwei Typen von Operationen in den Speichereinrichtungen 130-145: Zeilenoperationen und
Spaltenoperationen. Eine Zeilenoperation kann als eine Operation betrachtet werden, die sich
auf Zeilen des Speicherfeldes der Speichereinrichtungen 130-145 bezieht oder diese betrifft,
oder als eine Operation, welche die Auswahl oder die Verwendung einer Zeile oder Zeilen des
Speicherfeldes betrifft. Beispiele einer Zeilenoperation umfassen eine Vorladeoperation und
eine Aktivierungsoperation. Die Vorladeoperation bereitet im wesentlichen die Bank (Bänke)
für eine Leseoperation vor. Vor einer Leseoperation pumpt die Ladeoperation Ladungen auf
Bitleitungen innerhalb eines Unterfeldes der Speichereinrichtung, das häufig als ein Bank
bezeichnet wird. Die Aktivierungsoperation wählt dann eine bestimmte Zeile des Unterfeldes
aus, welche zu lesende Daten enthält, und legt den Inhalt dieser speziellen Zeile in ein Seiten
register. Aus dem Seitenregister werden die zu lesenden Daten extrahiert, um sie über die
Datenbusleitungen an den Speichercontroller 110 zu senden.
Beispiele einer Spaltenoperation umfassen eine Leseoperation und eine Schreiboperation.
Varianten der Schreib- und Leseoperationen, wie das Lesen ohne Vorladen, werden ebenfalls
als Spaltenoperationen betrachtet. Um aus einer bestimmten Zeile des Unterfeldes der Spei
chereinrichtung 130 zu lesen, müssen zunächst die Bitleitungen, die von mehreren Reihen
einer Bank, die die betreffende Zeile enthält, gemeinsam genutzt werden, vorgeladen werden,
wenn sie nicht bereits vorgeladen sind. Die fragliche Zeile des Unterfeldes kann auch nach
dem Vorladen aktiviert werden müssen. Nachdem das Vorladen und Aktivieren der Zeilenbe
fehle durchgeführt ist, liegen die zu lesenden Daten in dem Seitenregister, wo sie gelesen
werden können. Es wird dann ein Spaltenlesebefehl ausgegeben, um Spalten des Seitenregi
sters zu lesen, wobei die Datenstücke in dem Seitenregister, welches die zu lesenden Daten
enthält, ausgewählt und extrahiert werden. Wenn ein weiterer Teil der Daten, die in dem Sei
tenregister gespeichert sind, als nächstes benötigt wird, wird ein weiterer Spaltenlesebefehl
ausgegeben. Es muß kein Vorladen oder Aktivieren mehr durchgeführt werden, weil das Sei
tenregister bereits die benötigten Daten enthält. Wenn jedoch der nächste Teil der für das Le
sen angeforderten Daten in einer anderen Zeile des Unterfeldes oder in einem anderen Unter
feld gespeichert ist, muß das Speichersystem die Bitleitungen erneut vorladen und die andere
Zeile aktivieren, bevor die Daten aus der anderen Zeile gelesen werden können. Das Spei
chersystem kann z. B. anfordern, zuerst aus Rang 0, Bank 0, Zeile 0 und dann aus Rang 0,
Bank 1, Zeile 2 zu lesen. Wenn das Seitenregister für Rang 0, Bank 1 momentan belegt ist, ist
ein Vorladen erforderlich. Wenn das Vorladen bereits durchgeführt wurde und das Seitenregi
ster für Rang 0, Bank 1 zur Zeit nicht belegt ist, ist nur eine Aktivierung der Zeile 2 erforder
lich. Der Prozeß der Verwendung einer Kombination aus Zeilenbefehlen und Spaltenbefehlen
wird wiederholt, bis alle angeforderten Daten empfangen wurden. Eine Schreiboperation wird
ähnlich durch eine Kombination aus Zeilenbefehlen und Spaltenbefehlen durchgeführt.
Das Vorsehen der Doppelchipauswahlsignale pro Speichereinrichtung (oder Rang) und der
Spaltenbefehle 70, Spaltenadressen 75, Zeilenbefehle 80 und Zeilenadressen 85 erlaubt es
dem Speichersystem, gleichzeitige Zeilen- und Spaltenbefehle vorzusehen und auszuführen.
Mit einer Konfiguration, wie der in Fig. 4 gezeigten, kann der Speichercontroller 110 ein
RCS0 50, ein CCS0 60, Spaltenbefehle 70, Spaltenadressen 75, Zeilenbefehle 80 und Zei
lenadressen 85 an die Speichereinrichtung 130, oder Rang 0, auf einmal liefern. Die Fähig
keit, RCS0 50 und CCS0 60 gleichzeitig zu senden, erlaubt es dem Speichersystem, gleich
zeitige Zeilen- und Spaltenbefehle in der Speichereinrichtung 130, oder Rang 0, auszuführen.
In dem DDR-Speichersystem des Standes der Technik wird nur ein Chipauswahlsignal vorge
sehen, um entweder eine Zeilenoperation oder eine Spaltenoperation auf einmal durchzufüh
ren. Anders als bei dem DDR-Speichersystem, bei dem eine Zeilenoperation und eine Spal
tenoperation getrennt und nacheinander ausgeführt werden müssen, erlauben Ausführungs
formen des Speichersystems gemäß der Erfindung gleichzeitige Zeilen- und Spaltenbefehle.
Ein Speichersystem gemäß der Erfindung kann z. B. einen Spaltenbefehl ausführen wollen,
um einen ersten Teil des Speicherfeldes in Rang 0 zu lesen, während ein Zeilenbefehl zum
Vorladen eines zweiten Teils des Speicherfeldes in Rang 0 ausgeführt wird, um den zweiten
Teil für das nachfolgende Lesen vorzubereiten. Diese Erhöhung der Befehlsbandbreite, die
ihrerseits die Datenbandbreite erhöht, weil zu einem Zeitpunkt mehr Befehle ausgegeben
werden können, führt dazu, daß während dieser Zeit mehr Daten übertragen werden können.
Fig. 5 zeigt ein Beispiel eines Zeitablaufdiagramms eines Speichersystems gemäß einer Aus
führungsform der Erfindung. Das Zeitablaufdiagramm zeigt den Effekt des Vorsehens gleich
zeitiger Zeilen- und Spaltenbefehle in einer Ausführungsform der Erfindung. Bei diesem Bei
spiel führt das Speichersystem ein Lesesignal zum Lesen von Daten, die in einem bestimmten
Teil der Speichereinrichtung 130, oder Rang 0, liegen, gefolgt von einem weiteren Lesesignal
zum Lesen von Daten, die in einem anderen Teil der Speichereinrichtung 130 liegt. Spezieller
fordert der Speichercontroller ein erstes Lesen von Daten an, die in einem Seitenregister ent
halten sind, welches Daten aus Rang 0, Bank 0, Zeile 0 umfaßt, sowie ein zweites Lesen von
Daten, die in Rang 1, Bank 2, Zeile 1, Spalte 5 enthalten sind. In diesem Fall wird angenom
men, daß das Seitenregister von Rang 1, Bank 2 momentan belegt ist und ein Vorladen not
wendig ist. Da das zweite Lesen sich nicht auf Daten bezieht, die bereits in dem Seitenregister
enthalten sind, muß Rang 1, Bank 2 vorgeladen und aktiviert werden, bevor die Daten aus
Rang 1, Bank 2 gelesen werden können.
Das erste Signal in dem Zeitablaufdiagramm der Fig. 5 stellt CCS0 dar, das Rang 0, oder die
Speichereinrichtung 130, auswählt und die Ausführung von Spaltenbefehlen an Rang 0 er
laubt, wenn CCS0 niedrig ist. Das zweite Signal in dem Zeitablaufdiagramm stellt CCS1 dar,
das Rang 1, oder die Speichereinrichtung 135, auswählt und die Ausführung von Spaltenbe
fehlen an Rang 1 erlaubt, wenn CCS1 niedrig. In anderen Ausführungsformen können CCS0
und CCS1 so konfiguriert sein, daß Spaltenbefehle an Rang 0 und Rang 1 ausgeführt werden
können, wenn CCS0 bzw. CCS1 hoch sind. Das dritte Signal stellt Spaltenbefehle 70
("CCMD") dar. Das vierte Signal in dem Zeitablaufdiagramm stellt Spaltenadressen 75
("CA") dar, und liefert Spaltenadressen, die in Verbindung mit CCMD 70 eingesetzt werden.
CA 75 kann z. B. Spaltenadressen liefern, aufgrund derer Daten in dem Seitenregister während
einer Leseoperation gelesen werden. Das fünfte Signal in dem Zeitablaufdiagramm stellt
RCS1 dar, das Rang 1, oder die Speichereinrichtung 135, auswählt und die Ausführung von
Zeilenbefehlen an Rang 1 erlaubt, wenn RCS1 niedrig ist. In anderen Ausführungsformen
kann RCS1 so konfiguriert sein, daß die Ausführung von Zeilenbefehlen an Rang 1 erlaubt
werden, wenn RCS1 hoch ist. Das sechste Signal in dem Zeitablaufdiagramm stellt Zeilenbe
fehle 80 ("RCMD") dar. Das siebte Signal in dem Zeitablaufdiagramm stellt Zeilenadressen
85 ("RA") dar und liefert Zeilenadressen, die in Verbindung mit RCMD 80 verwendet wer
den. RA 80 kann z. B. Zeilenadressen des Teils der Speichereinrichtung liefern, der vorgela
den werden muß, bevor eine Leseoperation mit diesem Teil ausgeführt werden kann.
In dem Ausführungsbeispiel der Fig. 5 sendet der Speichercontroller 110 gleichzeitige Zeilen-
und Spaltenadressen, welche die gleichzeitige Ausführung von Zeilen- und Spaltenbefehlen
erlauben. In CCMD 70 ist ein Spaltenlesebefehl 71 zum Lesen von Daten enthalten, die be
reits in einem Seitenregister enthalten sind. Bei diesem Beispiel enthält das Seitenregister
Daten in Rang 0, Bank 0, Zeile 0, die nach dem Vorladen von Rang 0, Bank 0 und dem Akti
vieren von Rang 0, Bank 0, Zeile 0 erhalten werden. Mit demselben Takt, mit dem der Spal
tenlesebefehl 71 in dem CCMD 70 aktiviert wird, wird ein Vorladebefehl 81 in dem RCMD
80 zum Vorladen von Rang 0, Bank 2 aktiviert, um diese auf eine nachfolgende Leseoperati
on vorzubereiten. Bei diesem Takt ist CCS0 niedrig, wodurch angegeben wird, daß der Spal
tenlesebefehl 71 für Rang 0 bestimmt ist, und RCS1 ist ebenfalls niedrig, wodurch angezeigt
wird, daß der Zeilenvorladebefehl für Rang 1 aktiviert ist. Ein Block 76 in CA 75 liefert die
Spaltenadresse der Daten, die aus Rang 0, Bank 0, Zeile 0 gelesen werden sollen. Bei diesem
Beispiel gibt der Block 76 "Spalte 0" an, so daß Daten in Rang 0, Bank 0, Zeile 0 und Spalte
0 gelesen und aus Rang 0 extrahiert werden. Ein Block 86 in RA 85 liefert die Zeilenadresse,
für die das Vorladen durchgeführt werden soll. Bei diesem Beispiel gibt der Block 86 "Bank
2" an, so daß Rang 1, Bank 2 vorgeladen wird. Aufgrund der Doppelchipauswahlsignale und
der getrennten Befehls- und Adreßleitungen für Zeilenoperationen und Spaltenoperationen
müssen ein Zeilenbefehl und ein Spaltenbefehl nicht nacheinander ausgeführt werden. Viel
mehr können sie gleichzeitig bei demselben Takt ausgeführt werden, z. B. innerhalb von 2,5
Nanosekunden in einem 400 Megahertz-System. Unter der Annahme, daß es keine Konflikte
gibt, können beliebige zwei Zeilen- und Spaltenoperationen irgendwo in dem Speichersystem
bei demselben Takt gleichzeitig ausgeführt werden. Die Befehle werden somit auf kompakte
re Weise ausgegeben, und die Befehlsbandbreite wird verbessert.
Da Spalten- und Zeilenbefehle gleichzeitig ausgegeben werden können, muß ein Zeilenbefehl
nicht darauf warten, daß ein Spaltenbefehl beendet wird, bevor der Zeilenbefehl ausgegeben
wird. Manchmal ist es vorteilhaft, einen Spaltenbefehl gleichzeitig mit einem Zeilenbefehl
auszugeben, wie anhand des Beispiels der Fig. 5 gezeigt. Während des Lesens einer Spalte
aus Rang 0, Bank 0, Zeile 0 wird der Vorladebefehl 81, dem ein Aktivierungsbefehl 82 folgt,
zum Vorladen von Rang 1, Bank 2 ausgegeben. Da der Zeilenvorladebefehl 81 dem Spalten
lesebefehl 71 nicht folgen muß, wird der nächste Spaltenlesebefehl 72 einen Takt früher aus
gegeben, als wenn der Zeilenvorladebefehl 81 dem Spaltenlesebefehl 71 folgen müßte. Dies
ermöglicht es, daß der Spaltenlesebefehl 72 einen Takt vorgezogen wird, was zu einer frühe
ren Übertragung der nächsten Lesedaten auf den Datenbusleitungen führt. Mit anderen Wor
ten ermöglichen gleichzeitige Zeilen- und Spaltenoperationen, daß der zweite Lesebefehl 72
schneller ausgegeben wird, nachdem der erste Lesebefehl 71 ausgegeben wurde. Dies kom
primiert die Befehle, welche durch den CCMD 70 gehen, wodurch die Befehlsbandbreite ver
bessert wird.
Auch die Datenbandbreite wird verbessert, weil die Zeit, während der keine Daten auf den
Busleitungen liegen, verringert wird. Die Datenbusleitungen sind belegt, wenn Daten über
diese übertragen werden. Bei dem in Fig. 5 gezeigten Beispiel sind die Datenbusleitungen
belegt, wenn der erste Lesebefehl 71 ausgegeben wird und wenn der zweite Lesebefehl 72
ausgegeben wird, um die ersten Lesedaten und die zweiten Lesedaten an den Speichercon
troller zu übertragen. Zwischen dem ersten Lesebefehl 71 und dem zweiten Lesebefehl 72
sind die Datenbusleitungen jedoch nicht belegt, weil Rang 1, Bank 2 aktiviert werden muß
und die Zeitbeschränkung tRP verstreichen muß, bevor Rang 1, Bank 2 den zweiten Lesebe
fehl 72 annehmen kann. In Fig. 5 stellt der Block 82 in dem RCMD 80 einen Aktivierungsbe
fehl dar, und die Länge des Blocks 83 stellt die Länge der tRCD-Zeitbeschränkung dar. Der
Block 87 in RA 85 liefert eine vollständige Zeilenadresse, "Zeile 1", für den Aktivierungsbe
fehl 82 zum Aktivieren von Rang 1, Bank 2, Zeile 1. Der zweite Lesebefehl 72 wird mit
Spaltenadressen "Spalte 5" in Block 77 zum Lesen von Daten in den Rang 1, Bank 2, Zeile 1,
Spalte 5 vorgesehen. Durch Ausgeben des Zeilenvorladebefehls 81 in Verbindung mit dem
Spaltenlesebefehl 71 ist Rang 1, Bank 2 einen Takt früher bereit zum Annehmen des zweiten
Lesebefehls 72, und somit werden die zweiten Lesedaten an den Speichercontroller 110 einen
Takt früher über die Datenbusleitungen übertragen. Die Datenbandbreite wird daher wir
kungsvoller genutzt, weil die Datenbusleitungen in den Ausführungsformen der Erfindung
stärker belegt werden.
In anderen Ausführungsformen verbessern gleichzeitige Zeilen- und Spaltenoperationen die
Datenbandbreite weiter. Anstatt daß der Zeitblock 81 einen Vorladebefehl in RCMD 80 wäh
rend des Taktes enthält, zu dem RCS1 62 in Fig. 5 niedrig wird, kann z. B. ein Aktivierungs
befehl in dem Zeitblock 81 enthalten sein. Der Zeitblock 86 in RA 85 würde dann eine voll
ständige Zeilenadresse der zu aktivierenden Adresse liefern. In diesem Fall würde ein Vorla
debefehl innerhalb eines vorangehenden Taktes, bevor RCS1 62 niedrig wird, ausgeführt
werden. In diesem Fall werden zwei Takte gespart, und die Datenbusleitungen werden sogar
noch dichter und wirkungsvoller ausgenutzt. Ferner können auch andere Spaltenbefehle, wie
Schreibbefehle, zwischen dem ersten Spaltenlesebefehl 71 und dem zweiten Spaltenlesebefehl
72 ausgeführt werden, wodurch die Befehle auf den Befehlsignalleitungen noch weiter kom
primiert werden und die Befehlsbandbreite erhöht wird. Dadurch wird die Datenbandbreite
weiter verbessert.
Fig. 6 zeigt Prozesse zum Betreiben eines Speichersystems zum Liefern gleichzeitiger Zeilen-
und Spaltenbefehle gemäß einer Ausführungsform der Erfindung. Das Speichersystem umfaßt
einen Speichercontroller, Speichereinrichtungen und getrennte Auswahlmechanismen für jede
Speichereinrichtung zum Vorsehen gleichzeitiger Zeilen- und Spaltenoperationen in dem
Speichersystem. In einem Block P600 entscheidet das Speichersystem, ob ein Zeilenbefehl R
und ein Spaltenbefehl C gleichzeitig ausgeführt werden sollten. In einer Ausführungsform
können der Zeilenbefehl R und der Spaltenbefehl C in einer bestimmten Speichereinrichtung
gleichzeitig ausgeführt werden. In anderen Ausführungsformen können gleichzeitige Zeilen-
und Spaltenbefehle R, C an verschiedene Speichereinrichtungen gerichtet sein, wobei der
Zeilenbefehl R von einer ersten Speichereinrichtung ausgeführt wird und der Spaltenbefehl C
von einer zweiten Speichereinrichtung ausgeführt wird. In Block P610 werden dann, wenn ein
Zeilenbefehl R und ein Spaltenbefehl C gleichzeitig in einer Speichereinrichtung oder ver
schiedenen Speichereinrichtungen ausgeführt werden sollen, die Speichereinrichtung(en) zum
Ausführen des Spaltenbefehls C und des Zeilenbefehls R ausgewählt. In einer Ausführungs
form wird die Speichereinrichtung oder jede der verschiedenen Speichereinrichtungen als ein
Rang bezeichnet und ist weiter in Unterfelder aufgeteilt, die als Bänke bezeichnet werden.
Der Spaltenbefehl C bezieht sich auf eine Operation in einer Bank, während der Zeilenbefehl
R sich auf eine Operation in einer anderen Bank bezieht. Im Block P620 werden der Spalten
befehl C und der Zeilenbefehl R an die Speichereinrichtung oder die verschiedenen Spei
chereinrichtungen geliefert. Im Block P630 werden eine oder mehrere Spaltenadressen für
den Spaltenbefehl C und eine oder mehrere Zeilenadressen für den Zeilenbefehl R an die
Speichereinrichtung oder die verschiedenen Speichereinrichtungen geliefert. Obwohl die
Blöcke P610, P620 und P630 in Fig. 6 als getrennte Blöcke dargestellt sind, können sie kom
biniert und während desselben Taktes ausgeführt werden. Mit getrennten Auswahlmechanis
men für jede Speichereinrichtung werden Befehle vom Block P620 und Adressen vom Block
P630 und Zeilen- und Spaltenbefehle gleichzeitig ausgeführt, und gleichzeitige Zeilen- und
Spaltenoperationen werden innerhalb des Speichersystems durchgeführt.
Während sich die obige Beschreibung auf bestimmte Ausführungsformen der Erfindung be
zieht, wird man verstehen, daß zahlreiche Modifikationen vorgenommen werden können, oh
ne den Bereich der Erfindung zu verlassen. Anstatt ein Zeilenchipauswahlsignal und ein
Spaltenchipauswahlsignal für einen Rang vorzusehen, werden z. B. ein Zeilenchipauswahlsi
gnal und ein Spaltenchipauswahlsignal an jede oder ausgewählte Bänke innerhalb eines
Rangs geliefert. Dies erlaubt es, jede oder ausgewählte Bänke getrennt zu steuern, wodurch
die Befehlsbandbreite weiter erhöht wird und die Datenbandbreite effizienter genutzt wird,
indem Befehle komprimiert werden, welche über die Befehlssignalleitungen gehen, sowie
Daten komprimiert werden, welche über die Datenbusleitungen gehen. In einem anderen Bei
spiel können Befehle, wie eine Abschalt-Eingabe (Power Down) oder eine Auto-Refresh-
Eingabe als Zeilenbefehle zugeordnet werden. Dies erlaubt es, dem vorliegenden Speichersy
stem einen Zeilenlesebefehl oder Schreibbefehl an einen Rang auszugeben, während ein ande
rer Rang mit dem Ausgeben eines Zeilenbefehls aus einem heruntergefahrenen (Power Down)
Zustand aufgeweckt wird. Die anhängenden Ansprüche sollen solche Modifikationen umfas
sen, die innerhalb des wahren Bereichs der Erfindung fallen würden. Die offenbarten Ausfüh
rungsformen werden daher in jede Hinsicht als Beispiele und nicht als Beschränkung be
trachtet, der Bereich der Erfindung wird durch die Ansprüche definiert, nicht durch die vor
stehende Beschreibung, und alle Änderungen, die innerhalb des Bereichs der Äquivalent der
Ansprüche fallen, sollen umfaßt sein.
Claims (24)
1. Speichersystem mit
einem Speichercontroller, der Daten und Signale an wenigstens eine Speichereinrichtung sendet und Daten und Signale von der wenigstens eine Speichereinrichtung empfängt;
einem ersten Auswahl-Übertragungsweg, der ein erstes Auswahlsignal an die wenigstens eine Speichereinrichtung liefert, um sie zum Ausführen eines Spaltenbefehls auszuwäh len; und
einem zweiten Auswahl-Übertragungsweg, der ein zweites Auswahlsignal an die wenig stens eine Speichereinrichtung liefert, um sie für die Ausführung eines Zeilenbefehls gleichzeitig mit dem Spaltenbefehl auszuwählen.
einem Speichercontroller, der Daten und Signale an wenigstens eine Speichereinrichtung sendet und Daten und Signale von der wenigstens eine Speichereinrichtung empfängt;
einem ersten Auswahl-Übertragungsweg, der ein erstes Auswahlsignal an die wenigstens eine Speichereinrichtung liefert, um sie zum Ausführen eines Spaltenbefehls auszuwäh len; und
einem zweiten Auswahl-Übertragungsweg, der ein zweites Auswahlsignal an die wenig stens eine Speichereinrichtung liefert, um sie für die Ausführung eines Zeilenbefehls gleichzeitig mit dem Spaltenbefehl auszuwählen.
2. Speichersystem nach Anspruch 1, mit
einem Spaltenbefehl-Übertragungsweg, der Spaltenbefehle an die Speichereinrichtung lie fert;
einem Spaltenadreß-Übertragungsweg, der Spaltenadressen für die Spaltenbefehle an die Speichereinrichtung liefert;
einem Zeilenbefehl-Übertragungsweg, der Zeilenbefehle an die Speichereinrichtung lie fert; und
einem Zeilenadreß-Übertragungsweg, der Zeilenadressen für die Zeilenbefehle an die Speichereinrichtung liefert.
einem Spaltenbefehl-Übertragungsweg, der Spaltenbefehle an die Speichereinrichtung lie fert;
einem Spaltenadreß-Übertragungsweg, der Spaltenadressen für die Spaltenbefehle an die Speichereinrichtung liefert;
einem Zeilenbefehl-Übertragungsweg, der Zeilenbefehle an die Speichereinrichtung lie fert; und
einem Zeilenadreß-Übertragungsweg, der Zeilenadressen für die Zeilenbefehle an die Speichereinrichtung liefert.
3. Speichereinrichtung nach Anspruch 2, wobei die wenigstens eine Speichereinrichtung
mehrere Speichereinrichtungen umfaßt, jede Speichereinrichtung mit dem Speichercon
troller über einen ersten Auswahl-Übertragungsweg und einen zweiten Auswahl-
Übertragungsweg verbunden ist, der erste Auswahl-Übertragungsweg ein erstes Auswahl
signal an die Speichereinrichtung liefert, um diese zum Ausführen eines Spaltenbefehls in
ihrem Speicherzellenfeld auszuwählen, der zweite Auswahl-Übertragungsweg ein zweites
Auswahlsignal an die Speichereinrichtung liefert, um diese für die Ausführung eines Zei
lenbefehls in ihrem Speicherzellenfeld gleichzeitig mit der Spaltenoperation auszuwählen.
4. Speichersystem nach einem der vorangehenden Ansprüche, wobei die wenigstens eine
Speichereinrichtung, welche das Speicherzellenfeld aufweist, als ein Rang bezeichnet
wird und die wenigstens eine Speichereinrichtung ferner in mehrere Unterfelder aufgeteilt
ist, die als Bänke bezeichnet werden, wobei der Rang wenigstens eine erste Bank und eine
zweite Bank umfaßt.
5. Speichersystem nach Anspruch 4, wobei der erste Auswahl-Übertragungsweg ein erstes
Auswahlsignal zum Ausführen eines ersten Spaltenbefehls in der ersten Bank an den Rang
liefert und der zweite Auswahl-Übertragungsweg ein zweites Auswahlsignal zum Ausfüh
ren eines Zeilenbefehls in der zweiten Bank gleichzeitig mit der Ausführung der Spal
tenoperation an den Rang liefert.
6. Speichersystem nach einem der vorangehenden Ansprüche, wobei die Spaltenbefehle ei
nen Lesebefehl zum Lesen von Daten aus der wenigstens eine Speichereinrichtung und
einen Schreibbefehl zum Schreiben von Daten in die wenigstens eine Speichereinrichtung
umfassen.
7. Speichersystem nach einem der vorangehenden Ansprüche, wobei die Zeilenbefehle einen
Vorladebefehl zum Vorladen der wenigstens einen Speichereinrichtung oder eines Teils
hiervon, einen Aktivierungsbefehl zum Aktivieren eines Teils der wenigstens einen Spei
chereinrichtung, einen Power-Down-Befehl zum Bringen der wenigstens einen Spei
chereinrichtung oder eines Teils davon in einen niedrigeren Energiezustand und einen
Auto-Refresh-Befehl zum Neuladen der wenigstens einen Speichereinrichtung oder eines
Teils davon umfassen.
8. Speichereinrichtung mit einem Speicherzellenfeld, umfassend:
einen Spaltenchipauswahlpin zum Empfangen eines Spaltenchipauswahlsignals, welches die Speichereinrichtung zum Ausführen einer Spaltenoperation in einem ersten Teil des Speicherzellenfeldes auswählt;
einen Zeilenchipauswahlpin zum gleichzeitigen Empfangen eines Zeilenchipauswahlsi gnals, welches die Speichereinrichtung zum Ausführen einer Zeilenoperation in einem zweiten Teil des Speicherzellenfeldes gleichzeitig mit der Spaltenoperation auswählt;
Spaltenbefehlspins zum Empfangen eines Spaltenbefehls für die Spaltenoperation;
Spaltenadreßpins zum Empfangen eines Spaltenadresse für den Spaltenbefehl;
Zeilenbefehlspins zum Empfangen eines Zeilenbefehls für die Zeilenoperation; und
Zeilenadreßpins zum Empfangen einer Zeilenadresse für den Zeilenbefehl.
einen Spaltenchipauswahlpin zum Empfangen eines Spaltenchipauswahlsignals, welches die Speichereinrichtung zum Ausführen einer Spaltenoperation in einem ersten Teil des Speicherzellenfeldes auswählt;
einen Zeilenchipauswahlpin zum gleichzeitigen Empfangen eines Zeilenchipauswahlsi gnals, welches die Speichereinrichtung zum Ausführen einer Zeilenoperation in einem zweiten Teil des Speicherzellenfeldes gleichzeitig mit der Spaltenoperation auswählt;
Spaltenbefehlspins zum Empfangen eines Spaltenbefehls für die Spaltenoperation;
Spaltenadreßpins zum Empfangen eines Spaltenadresse für den Spaltenbefehl;
Zeilenbefehlspins zum Empfangen eines Zeilenbefehls für die Zeilenoperation; und
Zeilenadreßpins zum Empfangen einer Zeilenadresse für den Zeilenbefehl.
9. Speichereinrichtung nach Anspruch 8, wobei die Speichereinrichtung in mehrere Unter
felder weiter aufgeteilt ist, welche als Bänke bezeichnet werden, wobei die Speicherein
richtung wenigstens eine erste Bank und eine zweite Bank aufweist.
10. Speichereinrichtung nach Anspruch 8 oder 9, wobei die Spaltenoperation in der ersten
Bank der Speichereinrichtung und die gleichzeitige Zeilenoperation in der zweiten Bank
ausgeführt wird.
11. Speichereinrichtung nach einem der Ansprüche 8 bis 10, wobei der Spaltenbefehl einen
Lesebefehl zum Lesen von Daten aus der wenigstens einen Speichereinrichtung und einen
Schreibbefehl zum Schreiben von Daten in die wenigstens eine Speichereinrichtung um
faßt.
12. Speichereinrichtung nach einem der Ansprüche 8 bis 11, wobei der Zeilenbefehl einen
Vorladebefehl zum Vorladen der wenigstens einen Speichereinrichtung oder eines Teils
hiervon, einen Aktivierungsbefehl zum Aktivieren eines Teils der wenigstens einen Spei
chereinrichtung, einen Power-Down-Befehl zum Bringen der wenigstens einen Spei
chereinrichtung oder eines Teils davon in einen niedrigeren Energiezustand und einen
Auto-Refresh-Befehl zum Neuladen der wenigstens einen Speichereinrichtung oder eines
Teils davon umfassen.
13. Verfahren zum Vorsehen gleichzeitiger Zeilen- und Spaltenbefehlen in einem Speichersy
stem, das ein Speichercontroller und wenigstens eine Speichereinrichtung mit einem Spei
cherzellenfeld umfaßt, mit folgenden Verfahrensschritten:
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Spaltenopera tion in dem Speicherzellenfeld;
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Zeilenoperati on in dem Speicherzellenfeld gleichzeitig mit der Spaltenoperation;
Liefern von Spaltenbefehlen für die Spaltenoperation an die wenigstens eine Speicherein richtung;
Liefern von Spaltenadressen für die Spaltenbefehle an die wenigstens eine Speicherein richtung;
Liefern von Zeilenbefehlen für die Zeilenoperation an die wenigstens eine Speicherein richtung; und
Liefern von Zeilenadressen für die Zeilenbefehle an die wenigstens eine Speichereinrich tung.
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Spaltenopera tion in dem Speicherzellenfeld;
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Zeilenoperati on in dem Speicherzellenfeld gleichzeitig mit der Spaltenoperation;
Liefern von Spaltenbefehlen für die Spaltenoperation an die wenigstens eine Speicherein richtung;
Liefern von Spaltenadressen für die Spaltenbefehle an die wenigstens eine Speicherein richtung;
Liefern von Zeilenbefehlen für die Zeilenoperation an die wenigstens eine Speicherein richtung; und
Liefern von Zeilenadressen für die Zeilenbefehle an die wenigstens eine Speichereinrich tung.
14. Verfahren nach Anspruch 13, wobei die wenigstens eine Speichereinrichtung mehrere
Speichereinrichtungen umfaßt, jede Speichereinrichtung mit dem Speichercontroller über
einen ersten Auswahl-Übertragungsweg und einen zweiten Auswahl-Übertragungsweg
verbunden ist, der erste Auswahl-Übertragungsweg ein erstes Auswahlsignal an die Spei
chereinrichtung liefert, um diese zum Ausführen eines Spaltenbefehls in ihrem Speicher
zellenfeld auszuwählen, der zweite Auswahl-Übertragungsweg ein zweites Auswahlsignal
an die Speichereinrichtung liefert, um diese für die Ausführung eines Zeilenbefehls in ih
rem Speicherzellenfeld gleichzeitig mit der Spaltenoperation auszuwählen.
15. Verfahren nach Anspruch 13 oder 14, wobei die wenigstens eine Speichereinrichtung,
welche das Speicherzellenfeld aufweist, als ein Rang bezeichnet wird und die wenigstens
eine Speichereinrichtung ferner in mehrere Unterfelder aufgeteilt ist, die als Bänke be
zeichnet werden, wobei der Rang wenigstens eine erste Bank und eine zweite Bank um
faßt.
16. Speichersystem nach Anspruch 15, wobei die Spaltenoperation in der ersten Bank der
Speichereinrichtung ausgeführt wird und die gleichzeitige Zeilenoperation in der zweiten
Bank ausgeführt wird.
17. Speichersystem nach einem der Ansprüche 13 bis 16, wobei die Spaltenbefehle einen
Lesebefehl zum Lesen von Daten aus der wenigstens eine Speichereinrichtung und einen
Schreibbefehl zum Schreiben von Daten in die wenigstens eine Speichereinrichtung um
fassen.
18. Speichersystem nach einem der Ansprüche 13 bis 17, wobei die Zeilenbefehle einen Vor
ladebefehl zum Vorladen der wenigstens einen Speichereinrichtung oder eines Teils hier
von, einen Aktivierungsbefehl zum Aktivieren eines Teils der wenigstens einen Spei
chereinrichtung, einen Power-Down-Befehl zum Bringen der wenigstens einen Spei
chereinrichtung oder eines Teils davon in einen niedrigeren Energiezustand und einen
Auto-Refresh-Befehl zum Neuladen der wenigstens einen Speichereinrichtung oder eines
Teils davon umfassen.
19. Computerlesbares Medium zur Verwendung in Verbindung mit einem Speichersystem,
das ein Speichercontroller und wenigstens eine Speichereinrichtung mit einem Speicher
zellenfeld umfaßt, wobei das computerlesbare Medium computerlesbare Befehle umfaßt,
die darauf codiert sind, um folgende Schritte auszuführen:
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Spaltenopera tion in dem Speicherzellenfeld;
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Zeilenoperati on in dem Speicherzellenfeld gleichzeitig mit der Spaltenoperation;
Liefern von Spaltenbefehlen für die Spaltenoperation an die wenigstens eine Speicherein richtung;
Liefern von Spaltenadressen für die Spaltenbefehle an die wenigstens eine Speicherein richtung;
Liefern von Zeilenbefehlen für die Zeilenoperation an die wenigstens eine Speicherein richtung; und
Liefern von Zeilenadressen für die Zeilenbefehle an die wenigstens eine Speichereinrich tung.
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Spaltenopera tion in dem Speicherzellenfeld;
Auswählen der wenigstens einen Speichereinrichtung zum Ausführen einer Zeilenoperati on in dem Speicherzellenfeld gleichzeitig mit der Spaltenoperation;
Liefern von Spaltenbefehlen für die Spaltenoperation an die wenigstens eine Speicherein richtung;
Liefern von Spaltenadressen für die Spaltenbefehle an die wenigstens eine Speicherein richtung;
Liefern von Zeilenbefehlen für die Zeilenoperation an die wenigstens eine Speicherein richtung; und
Liefern von Zeilenadressen für die Zeilenbefehle an die wenigstens eine Speichereinrich tung.
20. Computerlesbares Medium nach Anspruch 19, wobei die wenigstens eine Speicherein
richtung mehrere Speichereinrichtungen umfaßt, jede Speichereinrichtung mit dem Spei
chercontroller über einen ersten Auswahl-Übertragungsweg und einen zweiten Auswahl-
Übertragungsweg verbunden ist, der erste Auswahl-Übertragungsweg ein erstes Auswahl
signal an die Speichereinrichtung liefert, um diese zum Ausführen eines Spaltenbefehls in
ihrem Speicherzellenfeld auszuwählen, der zweite Auswahl-Übertragungsweg ein zweites
Auswahlsignal an die Speichereinrichtung liefert, um diese für die Ausführung eines Zei
lenbefehls in ihrem Speicherzellenfeld gleichzeitig mit der Spaltenoperation auszuwählen.
21. Computerlesbares Medium nach Anspruch 19, wobei die wenigstens eine Speicherein
richtung, welche das Speicherzellenfeld aufweist, als ein Rang bezeichnet wird und die
wenigstens eine Speichereinrichtung ferner in mehrere Unterfelder aufgeteilt ist, die als
Bänke bezeichnet werden, wobei der Rang wenigstens eine erste Bank und eine zweite
Bank umfaßt.
22. Computerlesbares Medium nach Anspruch 21, wobei die Spaltenoperation in der ersten
Bank der Speichereinrichtung ausgeführt wird und die gleichzeitige Zeilenoperation in der
zweiten Bank ausgeführt wird.
23. Computerlesbares Medium nach einem der Ansprüche 19 bis 22, wobei die Spaltenbe
fehle einen Lesebefehl zum Lesen von Daten aus der wenigstens eine Speichereinrichtung
und einen Schreibbefehl zum Schreiben von Daten in die wenigstens eine Speicherein
richtung umfassen.
24. Computerlesbares Medium nach einem der Ansprüche 19 bis 23, wobei die Zeilenbefehle
einen Vorladebefehl zum Vorladen der wenigstens einen Speichereinrichtung oder eines
Teils hiervon, einen Aktivierungsbefehl zum Aktivieren eines Teils der wenigstens einen
Speichereinrichtung, einen Power-Down-Befehl zum Bringen der wenigstens einen Spei
chereinrichtung oder eines Teils davon in einen niedrigeren Energiezustand und einen
Auto-Refresh-Befehl zum Neuladen der wenigstens einen Speichereinrichtung oder eines
Teils davon umfassen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/675,348 US6553449B1 (en) | 2000-09-29 | 2000-09-29 | System and method for providing concurrent row and column commands |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10147592A1 true DE10147592A1 (de) | 2002-05-02 |
Family
ID=24710064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10147592A Ceased DE10147592A1 (de) | 2000-09-29 | 2001-09-27 | System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle |
Country Status (5)
Country | Link |
---|---|
US (1) | US6553449B1 (de) |
JP (1) | JP2002175216A (de) |
KR (1) | KR100532640B1 (de) |
DE (1) | DE10147592A1 (de) |
TW (1) | TW569093B (de) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999019875A2 (en) * | 1997-10-10 | 1999-04-22 | Rambus Incorporated | Apparatus and method for pipelined memory operations |
KR100349370B1 (ko) * | 1999-11-30 | 2002-08-21 | 주식회사 하이닉스반도체 | 램버스 디램 |
KR100336573B1 (ko) * | 1999-11-30 | 2002-05-16 | 박종섭 | 램버스 디램 |
US6728150B2 (en) * | 2002-02-11 | 2004-04-27 | Micron Technology, Inc. | Method and apparatus for supplementary command bus |
US20030217223A1 (en) * | 2002-05-14 | 2003-11-20 | Infineon Technologies North America Corp. | Combined command set |
JP4159415B2 (ja) | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
US6888777B2 (en) * | 2002-08-27 | 2005-05-03 | Intel Corporation | Address decode |
US7159066B2 (en) * | 2002-08-27 | 2007-01-02 | Intel Corporation | Precharge suggestion |
US7120765B2 (en) * | 2002-10-30 | 2006-10-10 | Intel Corporation | Memory transaction ordering |
US7469316B2 (en) * | 2003-02-10 | 2008-12-23 | Intel Corporation | Buffered writes and memory page control |
ATE529793T1 (de) * | 2003-03-07 | 2011-11-15 | Sherwin Williams Co | Vorrichtung und verfahren zur kontinuierlichen herstellung von farben mit automatischer anpassung der farbe |
US6968440B2 (en) * | 2003-05-09 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Systems and methods for processor memory allocation |
US7076617B2 (en) * | 2003-09-30 | 2006-07-11 | Intel Corporation | Adaptive page management |
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7085172B2 (en) * | 2004-01-05 | 2006-08-01 | Sony Corporation | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program |
US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
US7289386B2 (en) | 2004-03-05 | 2007-10-30 | Netlist, Inc. | Memory module decoder |
US20060064535A1 (en) * | 2004-09-22 | 2006-03-23 | Walker Robert M | Efficient multi-bank memory queuing system |
US7454586B2 (en) * | 2005-03-30 | 2008-11-18 | Intel Corporation | Memory device commands |
US7577760B2 (en) * | 2005-05-10 | 2009-08-18 | Samsung Electronics Co., Ltd. | Memory systems, modules, controllers and methods using dedicated data and control busses |
US7966446B2 (en) * | 2005-09-12 | 2011-06-21 | Samsung Electronics Co., Ltd. | Memory system and method having point-to-point link |
JP4816911B2 (ja) * | 2006-02-07 | 2011-11-16 | 日本電気株式会社 | メモリの同期化方法及びリフレッシュ制御回路 |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
WO2012061633A2 (en) | 2010-11-03 | 2012-05-10 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
KR20120067509A (ko) * | 2010-12-16 | 2012-06-26 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 그 제어 방법 |
JP5647014B2 (ja) * | 2011-01-17 | 2014-12-24 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体装置 |
KR102108845B1 (ko) | 2013-10-07 | 2020-05-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR102451156B1 (ko) | 2015-12-09 | 2022-10-06 | 삼성전자주식회사 | 메모리 모듈 내에서 랭크 인터리빙 동작을 갖는 반도체 메모리 장치 |
US10318187B2 (en) * | 2016-08-11 | 2019-06-11 | SK Hynix Inc. | Memory controller and memory system including the same |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5511024A (en) | 1993-06-02 | 1996-04-23 | Rambus, Inc. | Dynamic random access memory system |
JP3345282B2 (ja) * | 1996-06-10 | 2002-11-18 | 株式会社日立製作所 | 半導体集積回路装置の設計方法 |
KR970076271A (ko) * | 1996-05-17 | 1997-12-12 | 문정환 | 확장 메모리 모듈 |
JP3524337B2 (ja) * | 1997-07-25 | 2004-05-10 | キヤノン株式会社 | バス管理装置及びそれを有する複合機器の制御装置 |
US6108745A (en) * | 1997-10-31 | 2000-08-22 | Hewlett-Packard Company | Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes |
JP3247647B2 (ja) * | 1997-12-05 | 2002-01-21 | 株式会社東芝 | 半導体集積回路装置 |
JPH11219600A (ja) * | 1998-02-03 | 1999-08-10 | Mitsubishi Electric Corp | 半導体集積回路装置 |
US6154821A (en) | 1998-03-10 | 2000-11-28 | Rambus Inc. | Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain |
JP3786521B2 (ja) * | 1998-07-01 | 2006-06-14 | 株式会社日立製作所 | 半導体集積回路及びデータ処理システム |
US6122189A (en) | 1998-10-02 | 2000-09-19 | Rambus Inc. | Data packet with embedded mask |
KR20000039772A (ko) * | 1998-12-16 | 2000-07-05 | 김영환 | 메모리 모듈의 불량 감지장치 |
JP2001052495A (ja) * | 1999-06-03 | 2001-02-23 | Toshiba Corp | 半導体メモリ |
KR100699810B1 (ko) * | 2000-08-05 | 2007-03-27 | 삼성전자주식회사 | 버스 효율을 향상시키는 반도체 메모리장치 및 메모리시스템 |
-
2000
- 2000-09-29 US US09/675,348 patent/US6553449B1/en not_active Expired - Lifetime
-
2001
- 2001-09-27 DE DE10147592A patent/DE10147592A1/de not_active Ceased
- 2001-09-28 KR KR10-2001-0060423A patent/KR100532640B1/ko not_active IP Right Cessation
- 2001-09-28 JP JP2001300730A patent/JP2002175216A/ja active Pending
- 2001-09-28 TW TW090124149A patent/TW569093B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6553449B1 (en) | 2003-04-22 |
KR100532640B1 (ko) | 2005-12-02 |
TW569093B (en) | 2004-01-01 |
KR20020025798A (ko) | 2002-04-04 |
JP2002175216A (ja) | 2002-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10147592A1 (de) | System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle | |
DE3909896C2 (de) | ||
DE69725632T2 (de) | Halbleiterspeicheranordnung mit "Pipeline" Betrieb | |
DE19982871B4 (de) | Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen | |
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE19855645C2 (de) | Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch | |
DE102006062383B4 (de) | Halbleiterspeicherelement und System für ein Halbleiterspeicherelement | |
EP0908893B1 (de) | Speicherarchitektur mit Mehrebenenhierarchie | |
DE60037174T2 (de) | Puffersystem für externen speicherzugriff | |
DE112005002336T5 (de) | Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert | |
DE19983745B9 (de) | Verwendung von Seitenetikettregistern um einen Zustand von physikalischen Seiten in einer Speichervorrichtung zu verfolgen | |
DE112018005427T5 (de) | Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem | |
DE102013018135B4 (de) | Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen | |
DE102013109327A1 (de) | Speichervorrichtung zum Verringern eines Schreibfehlers, ein System mit derselben und Verfahren davon | |
DE3834759A1 (de) | Halbleiterspeichereinrichtung mit ablage-speicher und betriebsverfahren | |
DE4110173A1 (de) | Unterstuetzender cache-speicher fuer eine halbleiterspeichervorrichtung und verfahren zum betreiben eines solchen | |
DE10304673A1 (de) | Auffrischschaltung für dynamische Speicher | |
DE102006043311A1 (de) | Speichersystem | |
DE102008051035A1 (de) | Integrierte Schaltung umfassend Speichermodul mit einer Mehrzahl von Speicherbänken | |
DE102018119881B4 (de) | Verwaltung einer DRAM-Bankaktivierung | |
DE10307244A1 (de) | Automatische Vorladesteuerungsschaltung und zugehöriges Vorladesteuerungsverfahren | |
DE202007019469U1 (de) | Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
DE102012108093A1 (de) | Speicherchip, Speichersystem und Verfahren zum Zugreifen auf den Speicherchip | |
DE102015203202B4 (de) | Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen | |
DE102004060348A1 (de) | Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20120710 |