-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft eine Speichervorrichtung mit Speicherbänken, die
mindestens ein Speicherzellenfeld umfassen, aus dem Daten ausgelesen
werden können.
Die vorliegende Erfindung betrifft außerdem eine Speichersteuereinheit zum
Steuern einer damit verbundenen Speichervorrichtung. Die vorliegende
Erfindung betrifft außerdem Verfahren
zum Steuern einer solche Speichervorrichtung und einer solchen Speichersteuereinheit.
-
Speichervorrichtungen
dienen in der Regel dazu, dass darin gespeicherte Daten in einem
Datenzugriff ausgelesen werden können,
z.B. wird eine Anzahl von Daten gleichzeitig an einer bestimmten
Reihe oder Spalte der Speichervorrichtung ausgelesen und zumindest
teilweise seriell in einem Burst-Zeitintervall
ausgegeben, bevor die nächste
Leseadresse an die Speichervorrichtung angelegt werden kann, um
weitere Daten in einem nächsten
Datenzugriff auszulesen. Mithilfe der herkömmlichen DDR-Technologie kann
die Datenrate, mit der die Daten aus der Speichervorrichtung ausgelesen
werden, erhöht
werden, da Daten mit einer steigenden und einer fallenden Flanke
eines Datenauslesetaktsignals ausgegeben werden. Folglich steigt
auch die in einem Datenzugriff auszulesende Datenmenge. Dabei ist
es in Abhängigkeit
von der Auslegung der Speichervorrichtung möglich, dass die in einem Datenzugriff
ausgelesene Datenmenge zu umfangreich ist und in dem Computersystem,
in dem die Speichervorrichtung betrieben wird, nicht verwendet werden
kann.
-
Stattdessen
ist es wünschenswert,
dass die Daten von den unterschiedlichen Adressen (unterschiedliche
Spalten und/oder unterschiedliche Reihen) in einem Datenzugriff
dem Computersystem zur Verfügung
gestellt werden. Jedoch wird die Mindestzeit, die zwischen Datenlesezugriffen
auf unterschiedliche Spalten des Speicherzellenfeldes liegt, durch
die derzeitig verwendete DRAM-Technologie und durch die DRAM-Speicherzellenfeld-Architektur begrenzt.
Das bedeutet, dass aufeinanderfolgende Leseanfragen an unterschiedliche
Spalten der Speichervorrichtung dem Speicherzellenfeld nicht in
kürzerer
Zeit als der sogenannten Spaltenzugriffszykluszeit zur Verfügung gestellt
werden können.
In herkömmlichen
Speichervorrichtungen können
daher Leseanfragen an unterschiedliche Spalten des Speicherzellenfelds
nicht schneller als nach der Spaltenzugriffszykluszeit angelegt
werden, wobei eine Datenmenge während
der gesamten Spaltenzugriffszykluszeit seriell ausgegeben wird.
Eine Verringerung der in der Spaltenzugriffszykluszeit ausgegebenen Datenmenge
hätte jedoch
eine Zeitlücke
zwischen dem letzten auszugebenden Datenbit und dem Zeitpunkt zur
Folge, zu dem der nächste
Datenzugriff aus der Speichervorrichtung auszugebende Daten zur Verfügung stellt.
-
Aus
diesem Grunde besteht die Aufgabe der vorliegenden Erfindung darin,
eine Speichervorrichtung zur Verfügung zu stellen, in der die
aufgrund eines Lesezugriffs auf eine Speicheradresse auszugebenden
Daten verringert werden können,
ohne dass dabei die Kapazität
zum Auslesen weiterer Daten aus der Speichervorrichtung verloren
geht. Die Aufgabe der vorliegenden Erfindung besteht weiterhin darin, eine
Speichersteuereinheit zur Verfügung
zu stellen, die zum Betreiben einer solchen Speichervorrichtung dient.
Außerdem
sollen Verfahren zum Betreiben einer Speichervorrichtung und einer
Speichersteuereinheit gemäß den oben
genannten Aspekten zur Verfügung
gestellt werden.
-
Zusammenfassung der Erfindung
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird eine Speichervorrichtung
zur Verfügung
gestellt, die mehrere Speicherbanksätze umfasst, wobei jede Speicherbank
ein Speicherzellenfeld aufweist. Jede Speicherbank ist gestaltet,
um in einem Datenzugriff ausgelesen zu werden. Weiterhin sind mehrere
interne Datenbusse vorgesehen, die jeweils mit den mehreren Speicherbanksätzen verbunden
sind, wobei jedem Speicherbanksatz ein interner Datenbus zugeordnet
ist. Durch eine Datenausgabeeinheit werden die aus einem der Speicherbanksätze ausgelesenen
Daten über
den entsprechenden internen Datenbus in dem Datenzugriff ausgelesen
und gemäß dem Datenzugriff
seriell ausgegeben.
-
Gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung kann die Speichervorrichtung einen Befehls-
und einen Adressanschluss zum Empfangen von Befehls- und Adressdaten
von außen
aufweisen, sowie mehrere interne Befehls- und Adressbusse, die jeweils
mit den mehreren Speicherbanksätzen
verbunden sind, wobei jedem Speicherbanksatz ein interner Befehls-
und Adressbus zugeordnet ist.
-
Eine
solche Speichervorrichtung kann voneinander getrennte Anordnungen
von Speicherbanksätzen
aufweisen, wobei jede ihre eigenen internen Datenbusse und internen
Befehls- und Adressbusse aufweist. Alle Befehls- und Adressbusse
sind mit der Befehls- und Adresseinheit verbunden, die die empfangenen
Befehls- und Adressdaten zu den entsprechenden Speicherbanksätzen weiterleitet.
In ähnlicher
Weise sind auch die Datenbusse separat mit der Datenausgabeeinheit
verbunden, in der die während einem
Datenzugriff ausgelesenen Daten gepuffert und seriell ausgegeben
werden. Das Puffern und serielle Ausgeben von Daten wird auf eine
für Datenzugriffe übliche Art
und Weise durchgeführt.
Die physikalisch getrennte Anordnung der Speicherbanksätze (von
denen jeder mit seinem eigenen Daten-, Befehls- und Adressbus verbunden
ist) ermöglicht
einen separaten Betrieb der Datenbänke, im Wesentlichen ohne dass
dabei irgendwelche Mindestzugriffszeiten berücksichtigt werden, wie z.B.
eine Spalte-zu-Spalte-Verzögerungszeit
(tCCD), die die Zeit zwischen aufeinanderfolgenden Spaltenzugriffen
festlegt.
-
Jede
Speicherbank kann so vorgesehen sein, dass die aufeinanderfolgende
Datenzugriffe in einer Zeit möglich
sind, die nicht kürzer
als die Spaltenzugriffszykluszeit ist, wobei die Datenausgangseinheit
zum Ausgeben der während
des Datenzugriffs aus einem der Speicherbanksätze zur Verfügung gestellten
Daten in einem Ausgabezeitintervall, das kürzer ist als die Spaltenzugriffszykluszeit,
dient. Auf diese Weise ist es möglich,
die Beschränkung der
in der Speichervorrichtung vorgegebenen Mindestzugriffszeit zu überwinden.
-
Die
Datenausgangseinheit kann zum Ausgeben der von einem der Speicherbanksätze empfangenen
Daten in einer Zeit, die der Spaltenzugriffszykluszeit geteilt durch
die mehreren Speicherbanksätze
entspricht, dienen. Auf diese Weise können Daten von unterschiedlichen
Adressen mit den Ausgangsdaten kombiniert werden, die in einer einzigen
Datenausgabesequenz ausgegeben werden können. Im Falle von Burstdaten
(Daten, die in einer Folge von Datenbits ausgegeben werden) werden
dann Daten von unterschiedlichen Adressen ausgegeben, die von verschiedenen,
nacheinander in einer kürzeren Zeit
als der Spaltenzugriffszykluszeit adressierten Speicherbanksätzen zur
Verfügung
gestellt werden.
-
Um
die Befehls- und Adressdaten an den adressierten Speicherbanksatz
weiterzuleiten, kann die Befehls- und Adresseinheit einen Demultiplexer umfassen.
Der Demultiplexer kann direkt mit dem Befehls- und Adressanschluss
verbunden sein. Der Demultiplexer kann weiterhin einen Steuereingang
enthalten, der mit mindestens einem Adressbit der empfangenen Adressdaten
verbunden ist.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird eine Speichersteuereinheit zum
Steuern der Speichervorrich tung zur Verfügung gestellt. Die Speichervorrichtung,
die mit der Speichersteuereinheit verbunden werden kann, umfasst eine
Vielzahl von Speicherbanksätzen,
wobei eine Vielzahl von Speicherbereichen innerhalb jeder Speicherbank
enthalten ist. Die Speicherbereiche in einer Speicherbank können nacheinander
in einem Datenzugriff innerhalb einer Spaltenzugriffszykluszeit
ausgelesen werden. Die Speichersteuereinheit umfasst einen Befehls-
und Adressdatenausgang zum Weiterleiten von Befehls- und Adressdaten
an die Speichervorrichtung. Mithilfe einer Steuereinheit werden
Anfragen, die Speicheradressen, aus denen Daten in einem Datenzugriff
ausgelesen werden sollen, umfassen, erhalten und aneinander gereiht.
Die Steuereinheit dienst zum Sortieren der Anfragen bezüglich ihrer
Adressen, so dass zwei Adressen, die zu unterschiedlichen Speicherbanksätzen in
der Speichervorrichtung gehören,
in einem kurzen Zeitintervall, das kürzer ist als die Spaltenzugriffszykluszeit,
an die Speichervorrichtung angelegt werden.
-
Dadurch
optimiert eine Speichersteuereinheit den Datenzugriff auf die damit
verbundene Speichervorrichtung durch Kombinieren der Daten unterschiedlicher
Speicheradressen, auf die normalerweise nicht in einem einzigen
Datenzugriff zugegriffen werden kann.
-
Weiterhin
kann die Steuereinheit so vorgesehen sein, dass das kurze Zeitintervall
auf eine Zeit eingestellt wird, die durch die Spaltenzugriffszykluszeit
geteilt durch die Vielzahl von Speicherbänken in der Speichervorrichtung
bestimmt wird. Dadurch kann eine Vielzahl von Datenzugriffen auf
die Speichervorrichtung erreicht werden, die innerhalb einer Spaltenzugriffszykluszeit
ausgeführt
werden kann, wenn unterschiedliche Speicherbanksätze adressiert werden können.
-
Die
Steuereinheit kann zum Sortieren von Anfragen bezüglich ihrer
Adressen dienen, so dass zwei zu denselben Speicherbanksätzen in
der Speichervorrichtung gehörige
Adressen an die Speichervorrichtung innerhalb eines Zeitintervalls
ange legt werden, dass gleich oder größer ist als die Spaltenzugriffszykluszeit,
so dass kein Konflikt beim Zugreifen auf die Speicherbänke in einem
Satz auftritt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Betreiben einer Speichervorrichtung mit mehreren Speicherbanksätzen vorgesehen.
Jede Speicherbank umfasst ein Speicherzellenfeld. Jeder Speicherbanksatz
ist zum Auslesen in einem Datenzugriff vorgesehen, d.h. zum Ausgeben
von Daten, die für
ein Auslesen in einem Datenzugriff vorgesehen sind. Das Verfahren umfasst
das Empfangen von Befehls- und
Adressdaten, das Weiterleiten der empfangenen Befehls- und Adressdaten
zu einem der mehreren Speicherbanksätze der Speichervorrichtung
in Abhängigkeit
von den Adressdaten, das Empfangen der aus einem Speicherbanksatz
in dem Datenzugriff ausgelesenen Daten und das serielle Ausgeben
der empfangenen Daten gemäß dem Datenzugriff.
-
Gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung können
aufeinanderfolgende Datenzugriffe nach einer Spaltenzugriffszykluszeit zugelassen
werden, wobei die während
des Datenzugriffs vorgesehenen Daten aus einem der Speicherbanksätze in einem
Ausgangszeitintervall ausgegeben werden, das kürzer ist als die Spaltenzugriffszykluszeit.
Durch den Einsatz eines solchen Verfahrens können die Befehls- und Adressdaten
einer Speichervorrichtung schneller zur Verfügung gestellt werden, als durch
herkömmliche
Verfahren, da Mindestzugriffszeiten zum Adressieren der Speichervorrichtung
ignoriert werden können.
-
In
einer Ausführungsform
können
die von einem der Speicherbanksätze
empfangenen Daten in einer Zeit ausgegeben werden, die der Spaltenzugriffszykluszeit
geteilt durch die Anzahl der Speicherbanksätze entspricht.
-
Die
Befehls- und Adressdaten können
in Abhängigkeit
von mindestens einem Adressbit der empfangenen Adressdaten gedemultiplext
werden.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Betreiben einer Speichersteuereinheit zum Steuern einer Speichervorrichtung
mit mehreren Speicherbanksätzen vorgesehen.
In jeder Speicherbank sind mehrere Speicherbereiche enthalten, und
die Speicherbereiche in einer Speicherbank können nacheinander in einem
Datenzugriff innerhalb einer Spaltenzugriffszykluszeit ausgelesen
werden. Das Verfahren umfasst das Empfangen und Aneinanderreihen
von Leseanfragen, die Speicheradressen anzeigen, aus denen Daten
in einem Datenzugriff ausgelesen werden sollen, das Sortieren der
Adressen, so dass zwei Adressen, die unterschiedlichen Speicherbanksätzen in der
Speichervorrichtung zugeordnet sind, an die Speichervorrichtung
in einem kurzen Zeitintervall angelegt werden, das kürzer ist
als eine Spaltenzugriffszykluszeit, und das Bereitstellen der Befehls-
und Adressdaten an die Speichervorrichtung.
-
Ein
solches Verfahren zum Betreiben der Speichersteuereinheit ermöglicht einen
optimierten Zugriff auf die Speichervorrichtung, um in einem Datenzugriff
Daten anzufordern, wobei die an die Speichervorrichtung gesandten
Leseanfragen in kürzerer Zeit
als die Spaltenzugriffszykluszeit zur Verfügung gestellt werden, um aus
der Speichervorrichtung auszulesende Daten anzufordern.
-
Das
Sortieren der Anfragen bezüglich
ihrer Adressen kann so durchgeführt
werden, dass das kurze Zeitintervall auf eine Zeit eingestellt wird,
die durch die Spaltenzugriffszykluszeit geteilt durch eine Anzahl
von Speicherbanksätzen
in der Speichervorrichtung bestimmt wird. Dies ermöglicht ein
schnelles Übersenden
von Leseanfragen an die Speichervorrichtung, wobei jede Leseanfrage
ein Auslesen in einem Datenburst in einem Speicherbanksatz in der Speichervorrichtung
initiie ren kann und wobei die durch jeden Speicherbanksatz zur Verfügung gestellten
Daten seriell ausgegeben werden.
-
Kurze Beschreibung der
Figuren
-
Diese
und andere Ausführungsformen
und Merkmale der vorliegenden Erfindung werden nun anhand der nachfolgenden
Beschreibung in Verbindung mit den beigefügten Zeichnungen näher erläutert. Es
zeigen:
-
1 ein
Blockdiagram einer Speichervorrichtung mit mehreren Speicherbanksätzen gemäß einer
Ausführungsform
der vorliegenden Erfindung; und
-
2 ein
Blockdiagram einer Speichersteuereinheit gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
1 zeigt
ein Blockdiagram einer Speichervorrichtung 1 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Die Speichervorrichtung 1 umfasst
eine Vielzahl von Speicherbänken 2,
die in unterschiedlichen Speicherbanksätzen gruppiert sind. Im vorliegenden
Beispiel sind ein erster Satz 3 mit Speicherbänken 2 und
ein zweiter Satz 4 mit Speicherbänken 2 abgebildet,
wobei jeder Speicherbanksatz vier Speicherbänke 2 umfasst. Die Speicherbänke 2 umfassen
ein oder mehrere Speicherzellenfelder) und können eine gleiche Größe aufweisen.
Es können
jedoch auch Speicherzellenfelder mit unterschiedlicher Größe eingesetzt
werden. Die Speicherzellenfelder können DRAM-Speicherzellen umfassen
und bilden so einen DRAM-Speicherbaustein.
Andere Arten von Speicherzellen können ebenfalls eingesetzt werden,
wenn ihre Zugriffszeiten dieselben Beschränkungen haben, wie dies normalerweise
bei DRAM-Speicherzellen
der Fall ist.
-
Die
Speicherzellenfelder umfassen eine Matrix mit DRAM-Speicherzellen, die
an Wort- und Bitleitungen (oder an Reihen- und Spaltenleitungen)
angeordnet sind, über
die die DRAM-Speicherzellen ausgewählt und adressiert werden können. In
einem Lesezugriff wird eine Anzahl von Datenbits in einem Vorladevorgang
gleichzeitig ausgelesen und an ein Ausgangsregister 13 übertragen,
aus dem die ausgelesenen Daten seriell ausgegeben werden, beispielsweise
in einem Datenburst, in dem die Daten seriell in einer Anzahl von
Zyklen ohne Anlegen von Adressinformationen an die Speichervorrichtung
ausgegeben werden.
-
Die
Datenrate, mit der die Daten ausgegeben werden, ist von der Architektur
der Speichervorrichtung vorgegeben. In einer Speichervorrichtung der
DDR-2-Technologie werden beispielsweise 64-Bit-Daten gleichzeitig
aus der Speicherbank in einem Vorladevorgang ausgelesen, in dem
die entsprechenden Adressspeicherzellen gleichzeitig adressiert
und den Ausgaberegistern zur Verfügung gestellt werden. Wenn
die Datenbreite, in der die Daten ausgegeben werden, 16 Bit beträgt, so werden die
Daten durch vier Taktflanken innerhalb von zwei Taktzyklen ausgegeben.
-
In
einer Speichervorrichtung der DDR-3-Technologie wird die Anzahl
der gleichzeitig ausgelesenen Datenbits auf 128 Bit verdoppelt.
Die 128 Bit werden gleichzeitig vorgeladen und an das Ausgangsregister 13 weitergeleitet,
aus dem die Daten seriell in vier Taktzyklen mit acht Taktflanken
ausgegeben werden (unter der Voraussetzung, dass die Speichervorrichtung 16 Datenausgänge umfasst). Durch
eine weitere Steigerung der in einem Datenzugriff auszulesenden
Daten steigt die Anzahl der zur Verfügung stehenden Daten in den
Ausgaberegistern auf 256 Bit oder mehr; diese Menge muss in dem
entsprechenden Datenzugriff ausgelesen werden. Die 256 Bit umfassenden
Daten von einer Speicheradresse stellen in der Regel eine Datenmenge
dar, die für
eine effiziente Verarbeitung z.B. durch den Prozessor eines Computersystems
zu groß ist.
Insbesondere aus dem Speicher ausgelesene Instruktionsdaten werden
in der Regel durch unterschiedliche Speicheradressen zur Verfügung gestellt,
die im Wesentlichen über
größere Bereiche
des Spei cherzellenfelds oder die verschiedenen Speicherbänke 2 verteilt
sind. Dadurch können
in einem Datenzugriff ausgelesene Daten in der Regel nicht gänzlich von einem
angeschlossenen Prozessor verwendet werden, und üblicherweise werden ungenutzte
Daten verworfen, wodurch die Leistung der Speichervorrichtung reduziert
wird, da die ungenutzten Daten immer noch an den Datenausgängen der
Speichervorrichtung 1 zur Verfügung gestellt werden.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung sind die Speicherbänke 2 in zwei Speicherbanksätze aufgeteilt
(z.B. Satz 3 und Satz 4). Jeder Speicherbanksatz
ist über
einen separaten internen Datenbus 6, 7 mit einer
Datenausgangseinheit 5 verbunden, wobei ein erster Datenbus 6 die Ausgangseinheit
mit dem ersten Satz 3 der Speicherbänke 2 verbindet und
ein zweiter interner Datenbus 7 den zweiten Satz 4 der
Speicherbänke 2 mit
der Ausgangseinheit 5 verbindet.
-
Es
ist eine Befehls- und Adresseinheit 8 vorgesehen, die Befehls-
und Adressdaten an die Speicherbänke 2 weiterleitet.
Der erste Satz 3 der Speicherbänke 2 ist über einen
ersten Befehls- und Adressbus 9 mit der Befehls- und Adresseinheit 8 verbunden,
und der zweite Satz 4 der Speicherbänke 2 ist über den
zweiten Befehls- und Adressbus 10 mit der Befehls- und
Adresseinheit 8 verbunden. Die Befehls- und Adresseinheit 8 ist
mit einem Befehls- und Adressanschluss 11 verbunden. Der
Befehls- und Adressanschluss 11 kann externe Befehls- und Adresseingänge (nicht
gezeigt) und Eingangs-Zwischenspeicher (nicht gezeigt) zum Empfangen
der entsprechenden Befehls- und Adresssignale von einer Speichersteuereinheit
und zum Weiterleiten der empfangenen Befehls- und Adresssignale
an die Befehls- und Adresseinheit 8 umfassen.
-
In ähnlicher
Weise ist die Ausgangseinheit 5 mit einem Datenausgangsanschluss 12 verbunden, der
externe Dateneingänge/Datenausgänge (oder externe
I/O-Anschlüsse)
und I/O-Treiber
zum Empfangen und Übertragen
von Daten aufweist. Die Anzahl der (nicht gezeigten) externen Datenein-
und -ausgänge
können
gemäß den parallel
auszugebenden Datenbreiten zur Verfügung gestellt werden.
-
In
herkömmlichen
Speichervorrichtungen stehen in der Regel nur ein interner Datenbus
und ein interner Befehls- und Adressbus zur Verfügung und damit gibt es eine
Spaltenzugriffszykluszeit, welche die Mindestzeitspanne zwischen
zwei aufeinanderfolgenden Datenzugriffen definiert. Ein Datenzugriff wird
durch Anlegen einer Spaltenadresse an in den Speicherbänken vorliegenden
Demultiplexer-Schaltern zum Verbinden der auszulesenden Daten an
die interne Datenbusleitung durchgeführt. Die Spaltenzugriffszykluszeit
ist im Wesentlichen durch die Last auf den internen Datenbusleitungen
und aufgrund der Treiberkapazität
eines sekundären
Leseverstärkers,
der die aus dem Speicherzellenfeld ausgelesenen Daten verstärkt, bestimmt.
In herkömmlichen DRAM-Speicherbausteinen
kann die Spaltenzugriffszykluszeit durch die sogenannte Spalte-zu-Spalte-Verzögerung,
die als die Zeit tCCD abgekürzt wird, bestimmt
sein. Die Spalte-zu-Spalte-Verzögerung gibt
die Zeit an, die beachtet werden muss, wenn zum Auslesen von Daten
aus einer anderen Speicheradresse die Spaltenadresse geändert wird,
ohne die entsprechende Zeilenadresse (Wortleitungsadresse) zu ändern. Um
ein flexibleres Ausleseschema von Burstdaten zur Verfügung zu
stellen, wird daher eine Vielzahl von Speicherbänken 7 gemäß einer Ausführungsform
der vorliegenden zur Verfügung
gestellt, und jeder Speicherbanksatz kann mit einem separaten Befehls-
und Adressbus (z.B. Befehls- und Adressbus 9, 10)
und einem separaten Datenbus (z.B. Datenbus 6, 7)
verbunden werden, die aus diesem Grunde unabhängig voneinander betrieben
werden.
-
Um
die entsprechenden über
die Befehls- und Adressanschlüsse 11 erhaltenen
Befehls- und Adresssignale von einer Speichersteuereinheit zu dem
entsprechenden Speicherbanksatz 3, 4 weiterzuleiten,
umfasst die Befehls- und Adresseinheit 8 einen (nicht gezeigten)
Demultiplexer, der die Befehls- und Ad resssignale an den ersten
Befehls- und Adressbus 9 bzw. den zweiten Befehls- und
Adressbus 10 weiterleitet. Ein Steuereingang des Demultiplexers
der Befehls- und Adresseinheit 8 ist mit mindestens einem
Bit der Adresssignale oder mit einem separaten Steuersignal verbunden,
da die verschiedenen Speicherbänke 2 oder
die verschiedenen Sätze 3, 4 der
Speicherbänke 2 unterschiedlichen
Speicheradressen zugeordnet sind. Aus den Speicherbänken 2 ausgelesene
Daten werden im Vorladevorgang an die Ausgangseinheit 5 weitergeleitet
und im ausgangsregister 13 gesammelt, aus dem die Daten seriell
als Datenburst ausgegeben werden. Das Ausgeben der Daten kann unter
Verwendung einer vorgegebenen Anzahl von externen Datenausgängen in einer
Anzahl von Taktsignalzyklen in Abhängigkeit von der entsprechenden
DDR-Technologie durchgeführt
werden, und eine vorgegebene Burstlänge kann individuell eingestellt
werden.
-
Gemäß den Ausführungsformen
der vorliegenden Erfindung ermöglicht
diese Architektur einer Speichervorrichtung das Adressieren unterschiedlicher
Adressen in unterschiedlichen Speichersätzen, ohne dass eine Beschränkung durch
die Spaltenzugriffszykluszeit stattfindet, innerhalb derer die entsprechenden
Datenbusleitungen durch ein vorhergehendes Auslesen von Burstdaten
in Anspruch genommen werden. Indem durch eine Speichersteuereinheit,
die den Betrieb der Speichervorrichtung 1 steuert, Befehls-
und Adresssignale an den Befehls- und
Adressanschluss 11 angelegt werden, kann beispielsweise
die Architektur der Speichervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung zum Optimieren von aus der Speichervorrichtung 1 ausgelesenen
Daten genutzt werden. Beispielsweise können die Befehls- und Adresssignale zum
Adressieren einer Speicheradresse im ersten Satz 3 der
Speicherbänke 2 angelegt
werden, infolgedessen Daten auf dem ersten Datenbus 6 ausgegeben
und im Ausgaberegister 13 gespeichert werden. Ohne das
Verstreichen der Spaltenzugriffszykluszeit abzuwarten, können Befehls-
und Adresssignale zum Adressieren einer nächsten Speicheradresse in dem
zweiten Satz 4 der Speicherbänke 2 an den Befehls-
und Adressanschluss 11 angelegt werden, der durch die Befehls-
und Adresseinheit 8 eine Verbindung mit dem zweiten Satz 4 der
Speicherbänke 2 über den
zweiten Befehls- und Adressbus 10 herstellt. Der adressierte
Speicher in dem zweiten Satz 4 der Speicherbänke 2 gibt
dann die auszulesenden Daten über
den zweiten Datenbus 7 an das Ausgaberegister 13 aus.
Die Daten des im Ausgaberegister 13 enthaltenen ersten
Speicherbanksatzes 3 and des zweiten Speicherbanksatzes 4 können über den
Ausgangsdatenanschluss 12 in Serie als Burst ausgegeben
werden. Daher können
Daten von unterschiedlichen Speicheradressen so kombiniert werden,
dass sie als ein Datenburst ausgegeben werden, wenn die Daten von
den unterschiedlichen Speicheradressen aus unterschiedlichen Speicherbanksätzen 2 ausgelesen
wurden.
-
Um
zu signalisieren, welche Datenmenge in dem folgenden Datenburst
ausgelesen werden soll, kann die Speichervorrichtung 1 einen
Befehl erhalten, der die Länge
des Vorladevorgangs angibt. Ein Befehlssignal kann beispielsweise
anzeigen, dass ein anderes Befehls- und Adresssignal, das sich auf eine
Speicheradresse in einem anderen Speicherbanksatz bezieht, in einer
Zeit, die kürzer
als die Spaltenzugriffszykluszeit ist, an den Befehls- und Adressanschluss
angelegt wird, und daher nur eine verringerte Anzahl von Daten vorgeladen
werden, so dass mit den nachfolgenden Befehls- und Adressdaten weitere
Daten für
den nächsten
Burst-Auslesevorgang zur Verfügung
gestellt werden. Ansonsten werden Daten vorgeladen, die das Ausgaberegister 13 vollständig ausfüllen.
-
Die
Mindestzeit, in der zwei aufeinanderfolgende Befehls- und Adresssignale
an den Befehls- und Adressanschluss 11 angelegt werden
können, hängt lediglich
von der Einstellung und der Haltezeit der Befehls- und Adresseinheit 8 ab,
um die Befehls- und Adresssignale zuverlässig an die entsprechenden
Befehls- und Adressbusleitungen weiterzuleiten. In der in 1 gezeigten
Ausführungsform
kann die Zeit zwischen den an den Befehls- und Adressanschluss 11 angelegten
aufeinander folgenden Befehls- und Adresssignalen der halben Spaltenzugriffszykluszeit
entsprechen (wenn z.B. die Spaltenzugriffszykluszeit 5 nsec beträgt, kann
die Zeit zwischen den Befehls- und Adresssignalen 2,5 nsec betragen).
-
In
anderen Ausführungsform
können
mehr als zwei Speicherbanksätze
vorgesehen sein, und jeder Speicherbanksatz kann über einen
separaten Befehls- und Adressbus und einen separaten Datenbus verbunden
sein, so dass die Speicherbanksätze unabhängig voneinander
betrieben werden können. Die
Befehls- und Adresseinheit 8 kann in entsprechender Weise
zum Weiterleiten der in Abhängigkeit von
mindestens einem der Adressbits empfangenen Befehls- und Adresssignale
an einen der Speicherbanksätze
vorgesehen sein. In einer beliebigen, durch die Herstellungstechnologie
und dem Layout der Speichervorrichtung vorgegebene Spaltenzugriffszykluszeit
können
alle Speicherbanksätze
durch unterschiedliche Befehls- und Adresssignale innerhalb einer
Zykluszeit adressiert werden, die durch die Spaltenzugriffszykluszeit
geteilt durch die Anzahl der verschiedenen Speicherbanksätze bestimmt
wird.
-
Für die in
einem Datenburst auszugebenden Daten, die in dem Ausgaberegister 13 zur
Verfügung stehen
sollen, muss zwischen den Befehls- und Adresssignalen, die eine
Speicheradresse eines bestimmten Speicherbanksatzes 2 adressieren,
und der Zeit, zu der die entsprechenden Daten im Ausgaberegister
gepuffert werden und als Teil der Burstdaten ausgegeben werden können, ausreichend
Zeit zur Verfügung
gestellt werden.
-
2 zeigt
ein Blockdiagramm einer Speichersteuereinheit 20 gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung. Die Speichersteuereinheit 20 kann
in einem Computersystem zum Generieren von Betriebssignalen eingesetzt
werden, um Daten gemäß den Anforderungen
einer (nicht gezeigten) Prozessoreinheit in einer Speichervorrichtung
zu speichern bzw. aus ihr auszulesen. Die Speichersteuereinheit 20 umfasst
einen Befehls- und Adressdatenanschluss 21 zum Weiterleiten
von Befehls- und Adressdaten an die damit verbundene Speichervorrichtung.
Die Speichersteuereinheit 20 umfasst weiterhin eine Steuereinheit 22 zum
Empfangen von Anfragen über
einen Anfrageanschluss 23 (z.B. von einer Prozessoreinheit)
und zum Aneinanderreihen von Leseanfragen einschließlich Speicheradressen
in einer Anfrageschlange 24. Die Steuereinheit 22 umfasst
weiterhin eine Sortiereinheit 25, die die Anfragen bezüglich ihrer
Speicheradressen in der Schlange 24 sortiert, so dass zwei
Adressen, die unterschiedlichen Speicherbanksätzen in der Speichervorrichtung
zugeordnet sind, innerhalb eines Zeitintervalls an die Speichervorrichtung
angelegt werden, die kürzer
ist als die Spaltenzugriffszykluszeit der Speichervorrichtung. Auf
diese Weise können
Daten von unterschiedlichen Speicheradressen aus der Speichervorrichtung
in kürzerer
Zeit ausgelesen werden, als für
den Fall, dass nur Daten aus einer Speicheradresse (eine Reihenadresse
und eine Spaltenadresse) in einem Burst ausgegeben werden. Die Steuereinheit 22 kann
weiterhin zum Sortieren der Adressen dienen, so dass zwei dem gleichen Speicherbanksatz
zugeordnete Adressen, z.B. die Speicheradressen, die physikalisch
im selben Speicherzellenfeld liegen, in einem Zeitintervall an die Speichervorrichtung
angelegt werden, das entweder der Spaltenzugriffszykluszeit im Hinblick
auf die Spalte-zu-Spalte-Zugriffsverzögerungszeit
tCCD entspricht oder größer ist. In der Regel wird
während
einer Initialisierungsphase beim Hochfahren und dergleichen die
Speichersteuereinheit 20 über die verbundenen Speichervorrichtungen
informiert. Auf diese Weise weiß die
Steuereinheit 22, wie viele verschiedene Speicherbanksätze 2 in
der Speichervorrichtung und der entsprechenden Spaltenzugriffszykluszeit
(welche die Spalte-zu-Spalte-Verzögerungszeit
ist) enthalten sind. In Anbetracht dieser Information kann die Steuereinheit 22 eine
Zykluszeit bestimmen, in der eine der Speichervorrichtungen mit
Befehls- und Adressdaten versorgt werden kann, die Speicheradressen
in unterschiedlichen Speicherbanksätzen adressieren. Die Zeit
zum Adressieren von Speicheradressen im selben Speicherbanksatz 2 wird
jedoch nicht verringert.
-
Die
Steuereinheit 22 kann zusätzlich Befehlssignale generieren
und diese zusammen mit den Adressen der Anfragen der Speichervorrichtung zuführen. Das
Befehlssignal kann anzeigen, ob sich die gelieferte Adresse auf
eine Speichervorrichtung bezieht, aus der alle zur Verfügung stehenden
Daten ausgelesen werden sollen, oder ob die Befehls- und Adressdaten
nach einer kurzen Zeit weitergeleitet werden, um Daten aus einer
anderen Speicheradresse auszulesen, die dann zu den vorher vorgeladenen Daten
hinzugefügt
werden und vollständig
in einer Datensequenz ausgegeben werden.
-
Obwohl
die vorstehende Beschreibung auf Ausführungsformen der vorliegenden
Erfindung gerichtet ist, können
andere und weiterführende
erfindungsgemäße Ausführungsformen
formuliert werden, die den Umfang der Erfindung, wie er in den nun folgenden
Ansprüchen
definiert ist, nicht überschreiten.