DE10147592A1 - System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle - Google Patents

System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle

Info

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
Application number
DE10147592A
Other languages
English (en)
Inventor
Michael W Williams
James M Dodd
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE10147592A1 publication Critical patent/DE10147592A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
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.
Stand der Technik
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.
KURZE BESCHREIBUNG DER FIGUREN
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.
DETAILLIERTE BESCHREIBUNG
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.
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.
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.
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.
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.
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.
DE10147592A 2000-09-29 2001-09-27 System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle Ceased DE10147592A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 버스 효율을 향상시키는 반도체 메모리장치 및 메모리시스템

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