-
ALLGEMEINER
STAND DER TECHNIK
-
Auf
dem Gebiet der Speicher werden dynamische Direktzugriffsspeicher
(Dynamic Random Access Memories, DRAMs) normalerweise als der Hauptspeicher
eines Computersystems verwendet. Das heißt, in einem typischen Computersystem
wie etwa einem Desktop-Personalcomputer (PC) wird die Hauptspeicherfunktion
von DRAM-Einrichtungen erfüllt.
Der Betrieb eines DRAM bringt im allgemeinen die Verwendung von
Zeilen- und Spaltenadressen zum Adressieren des Speichers mit sich,
so daß Lese-
und Schreiboperationen auf den Komponenten des DRAM ausgeführt werden
können.
Es ist bekannt, daß in
vielen Fällen
DRAMs mit einem Prozessor wie etwa einer Zentraleinheit eines Computers verwendet
werden, doch in anderen Fällen
kann der DRAM mit anderen Verarbeitungs-/Steuereinrichtungen verwendet
werden, wie etwa mit Speicherkontrollern.
-
Um
ein wesentlich höheres
Leistungsvermögen
in schnelleren Computersystemen sicherzustellen, werden auch an
DRAMs höhere
Leistungsanforderungen gestellt, welche beinhalten, Daten in viel größeren Mengen
und mit erheblich kürzerer
Ausführungszeit
zu verarbeiten. Daher ist es nicht ungewöhnlich, DRAMs in Bänken von
DRAM-Anordnungen konfiguriert vorzufinden, in welchen die Datenübertragung
zu und von den DRAM-Anordnungen durch Hochgeschwindigkeits-Datenbursts erreicht wird.
Zum Beispiel kann ein 256 Megabit (Mb) Hochgeschwindigkeits-DRAM, der in mehreren
Bänken angeordnet
ist, so getaktet sein, daß er
für eine
Datenübertragung
mit einer Ausgabe eines Lese- und/oder Schreibzugriff-Befehls sorgt.
In einer solchen Konfiguration kann es möglich sein, ein spezialisiertes
getaktetes Signal (als ein Flagsignal bezeichnet) zur Verfügung zu
stellen, um die Datenübertragung
in Reaktion auf den Lese- oder Schreibzugriff auf dem DRAM auszulösen. In
manchen Fällen
kann die Datenübertragung
sowohl mit dem ansteigenden als auch mit dem abfallenden Übergang des
Flagsignals durchgeführt
werden. Zum Beispiel kann ein erster Lese-/Schreibzugriff bei einem
ansteigenden Übergang
eines solchen Flagsignals ausgelöst
werden, während
ein zweiter Lese-/Schreibzugriff in Reaktion auf den abfallenden Übergang
des Flagsignals ausgelöst
werden kann. Diese Datenübertragung
zu bzw. von dem DRAM sowohl bei dem ansteigenden als auch bei dem
abfallenden Übergang
des Flagsignals kann zwei Speicherzugriffe in Reaktion auf einen
Zyklus des Flagsignals ermöglichen.
Zum Beispiel kann ein solches Schema derart implementiert sein,
daß eine
Datenübertragung zu/von
einem Abschnitt des Speichers in Reaktion auf den ansteigenden Übergang
des Flagsignals erzielt werden kann und eine zweite Datenübertragung zu
bzw. von einem anderen Abschnitt des Speichers in Reaktion auf den
abfallenden Übergang
des Taktsignals erfolgt.
-
Es
ist ebenfalls allgemein bekannt, daß DRAM-Einrichtungen eine Vorlade-Funktion
verwenden. Als das Vorladen eines DRAM wird im allgemeinen eine
Operation bezeichnet, welche die Bitlinien auf einen vorgewählten Wert
lädt. Eine
Auto-Vorlade-Bedingung lädt
in Reaktion auf eine Ausgabe eines Befehls wie etwa eines Lese-
oder Schreibbefehls automatisch die Bitlinien vor. Das heißt, in manchen
Fällen
kann ein Lese- oder Schreibbefehl eine Auto-Vorladung der Bitlinien,
auf die zugegriffen wird, auslösen,
bevor die Lese- oder die Schreibfunktion ausgeführt wird. Bei den meisten DRAMs
wird bei der Vorlade- oder Auto-Vorlade-Funktion normalerweise ein
Signal von einem Prozessor oder Kontroller zu der DRAM-Einrichtung
gesendet, um die Vorlade-Operation auszuführen. Der Befehl erfordert
im allgemeinen ein spezialisiertes Pin an der DRAM-Einrichtung, um den
Vorlade-Befehl zu empfangen. Es ist klar, daß, wenn das Vorladen (oder
Auto-Vorladen) mit
einem anderen Signal codiert ist, das zu dem DRAM gesendet wird,
kein spezielles Pin verwendet werden muß, um die Vorlade-Bedingung zu
kennzeichnen. Dies hat eine verringerte Anzahl von Pins für die DRAM-Einrichtung
zur Folge, oder alternativ kann das extra Pin, das zuvor für die Vorlade-/Auto-Vorlade-Funktion
bestimmt war, nun für
andere Signale verwendet werden, die zum DRAM gesender oder von
ihm kommend empfangen werden.
-
US 6 330 636 B1 offenbart
eine synchrone dynamische Direktzugriffsspeicher- (Synchronous Dynamic
Random Access Memory, SDRAM) Einrichtung mit doppelter Taktrate
(Double Data Rate, DDR). Die Speichereinrichtung ist durch einen
Taktbus, einen Adreß-/Befehlsbus
sowie einen Data-Strobe-Leitung (DQS) und einen Datenbus mit einem
Kontroller verbunden. Auto-Vorlade-Befehle können von dem Kontroller vor
der Datenübertragung
zu oder von dem Speicher ausgegeben werden. Die DQS-Leitung ist während der
Datenübertragung
aktiviert und dient dazu, die Signale auf dem Datenbus zu synchronisieren.
-
WO
94/28550 offenbart ein DRAM-System. In dem Bestreben, die Anzahl
der Pins zu verringern, sind die Adreß- und Steuerleitungen zu der
Speichereinrichtung kombiniert, und die Informationen werden darauf
gemultiplext.
-
Die
Erfindung ist durch die Ansprüche
1, 6, 13 und 19 definiert.
-
KURZBESCHREIBUNG
DER ZEICHNUNGBEN
-
1 ist
ein schematisches Blockschaltbild eines Computersystems, bei dem
eine Speichereinrichtung und ein DRAM verwendet werden, welche eine
Ausführungsform
der Erfindung implementieren.
-
2 ist
ein schematisches Blockschaltbild eines DRAM, der eine Vorladung
implementiert.
-
3 ist
ein Zeitablaufdiagramm, das eine Codierung eines Vorlade-Befehls
durch Anbringen eines Flag-Übergangs
(Flag Transition) eine Taktperiode nach einem Lese- oder Schreibbefehl
zeigt.
-
4 ist
ein Zeitablaufdiagramm, das ein Fehlen eines codierten Vorlade-Befehls
nach einem Lese- oder Schreibbefehl zeigt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Es
wird auf 1 Bezug genommen. Sie zeigt
ein Beispiel eines Computersystems 10, das einen Prozessor 11,
einen Speicherkontroller 12 und einen Speicher 13,
der mehrere dynamische Direktzugriffsspeicher- (Dynamic Random Access
Memory, DRAM) Einrichtungen 14 aufweist, umfasst. In dem Beispiel
sind die DRAMs des Speichers 13 in Ranks angeordnet (dargestellt
als RK0-RK3). Das Computersystem 10 kann eines von verschiedenen
Computersystemen sein, etwa ein Personalcomputer- (PC-) System,
wobei in diesem Falle der Prozessor 11 höchstwahrscheinlich
eine Zentraleinheit (CPU) des PC ist. Der Prozessor 11 kann
auch mehrere Prozessoren umfassen, die mit einem oder mehreren Speicherkontrollern 12 zusammenwirken.
In dem Beispiel eines Computersystems 10 von 1 liefert
der Speicherkontroller 12 Steuerbefehle, um auf die mehreren
DRAMs 14 zuzugreifen, die mit dem Speicherkontroller 12 verbunden
sind. Normalerweise gewährleistet
der Speicherkontroller 12 die Schnittstellenfunktion zwischen
dem Prozessor 11 und dem Speicher 13, um Daten
zu und von den DRAMs 14 zu übertragen. Bei der Ausführungsform
von 1 erzeugt der Speicherkontroller 12 vielfältige Signale, die
dem Speicher 13 zugeführt
werden, darunter die in 1 dargestellten Signale.
-
Die
spezielle Ausführungsform
des Speichers 13 weist einen oder mehrere DRAMs 14 auf, die
durch Bildung von Gruppen konfiguriert sind, welche als Ranks bezeichnet
werden. Das Beispiel zeigt vier Ranks (RK0-RK3) von DRAM-Einrichtungen, welche
den Speicher 13 bilden. Es ist klar, daß die Anzahl solcher Ranks
in Abhängigkeit
von der gewünschten
Systemkonfiguration variieren kann. Die Aufteilung der DRAMs 14 kann
auch in andere Gruppierungen erfolgen, die anders definiert sind
als Ranks. Ferner könnem
die DRAMs 14 in verschiedene andere Typen von Gruppierungen
kategorisiert sein. Zum Beispiel können DRAMs zu physischen Einbauplätzen konfiguriert
sein. In 1 befindet sich RK0 auf einer
Seite eines Speichermoduls vom Typ Double Inline Memory Module (DIMM) 18,
während
RK1 sich auf der anderen Seite befindet. In ähnlicher Weise befindet sich
RK2 auf einer Seite eines anderen DIMM 19, und RK3 befindet
sich auf der anderen Seite des DIMM 19. Es können auch
andere Anordnungen verwendet werden. in der nachfolgenden Beschreibung
wird ein einzelner DRAM erläutert, doch
ist die Beschreibung auf eine beliebige Anzahl von DRAMs anwendbar.
Ferner implementieren die DRAMs 14 eine Timing-Einheit 28,
welche unter Bezugnahme auf 2 ausführlicher
beschrieben wird.
-
Bei
der speziellen Ausführungsform
des Computersystems 10 sind diejenigen Signale und Leitungen
dargestellt, die für
das Verständnis
der Funktionsweise der DRAMs 14 und des Speicherkontrollers 12 von
Bedeutung sind. Es ist jedoch anzumerken, daß möglicherweise nicht alle diese
Signale benötigt
werden, um die Erfindung zu realisieren. Wie dargestellt gewährleistet
ein Datenbus 15, der mit den DRAMs 14 verbunden
ist, die Datenübertragungs-Verbindung
zwischen den DRAMs 14 und dem Speicherkontroller 12 oder
irgendeiner anderen Komponente, die mit dem Bus 15 verbunden
ist. Bei einer Leseoperation werden Daten aus dem ausgewählten DRAM 14 auf
den Bus 15 gelesen, während bei
einer Schreiboperation Daten auf dem Bus 15 in den ausgewählten DRAM 14 geschrieben
werden. Die dargestellten Signale umfassen ein Taktsignal (CLK),
ein Befehls-Flagsignal (FLG), das Befehls- und Adreßsignal
(CMD/ADDR) und die Chip-Select-Signale
(CS).
-
Wie
weiter unten erläutert
wird, sorgt das CLK-Signal für
die Timing-Steuerung, um die DRAM-Einrichtungen 14 zu takten.
Das FLG-Signal, das mit den DRAMs 14 verbunden ist, steuert
den Zeitablauf der Datenübertragung.
In Reaktion auf den FLG-Signalübergang
können
Daten aus den DRAMs 14 gelesen werden, oder es können Daten
in die DRAMs 14 geschrieben werden. Das Signal CMD/ADDR
liefert den DRAMs 14 sowohl Befehls- (CMD) als auch Adreß-Informationen
(ADDR). Das CS-Signal wählt
einen gegebenen Rank von DRAMs aus, der zu aktivieren ist. Normalerweise
ist mit jedem DRAM-Rank ein separates CS-Signal vom Speicherkontroller 12 verbunden.
Somit stellen bei vier dargestellten Ranks von DRAMs vier separate CS-Signal-Verbindungen sicher,
daß die
Aktivierung der richtigen DRAM-Einrichtung 14 bewirkt werden kann,
um den entsprechenden DRAM 14 zum Lesen oder Schreiben
von Daten aus dem/in den Speicher 13 auszuwählen. Der
Speicherkontroller 12 kann außerdem ein Reset-Signal (RST)
erzeugen, um die DRAMs 14 zurückzusetzen; möglicherweise
verwenden jedoch manche DRAMs das Reset-Merkmal nicht.
-
Wie
ebenfalls unter Bezugnahme auf 2 beschrieben
wird, liefert das Signal CMD/ADDR den DRAMs 14 des Speichers 13 sowohl
Befehls- als auch Adreßinformationen.
Es ist klar, daß die
Befehls- (CMD) und Adressinformationen (ADDR) von dem Speicherkontroller 12 zu
den DRAMs 14 in separaten Übertragungen gesendet werden
können oder
die Informationen zusammen in einer Übertragung gemultiplext werden
können.
Das FLG-Signal steuert den Zeitablauf des Lesens der Daten aus dem
Speicher (falls ein Lesebefehl aufgerufen ist) oder des Schreibens
von Daten in den Speicher (falls ein Schreibbefehl aufgerufen ist).
Das heißt,
der FLG-Signalübergang
initiiert den Trigger, um die Datenübertragung zu/von dem DRAM 14 zu
bewirken. Das CS-Signal, das unabhängig mit den DRAMs verbunden
ist, stellt sicher, daß der
richtige Rank für
die Datenübertragung
ausgewählt
werden kann.
-
2 zeigt
eine detailliertere Darstellung der DRAM-Einrichtungen 14.
Das heißt, 2 zeigt
eine Ausführungsform
einer DRAM-Einrichtung, welche in jedem beliebigen der in 1 dargestellten DRAM-Ranks
implementiert sein kann. Bei der dargestellten speziellen Ausführungsform
umfasst die DRAM-Einrichtung 14 mehrere Speicheranordnungen 20.
In dem speziellen dargestellten Beispiel umfassen vier Bänke (BK0-BK3)
von Speicheranordnungen 20 die eigentlichen Speicherkomponenten für den DRAM 14.
Es ist klar, daß die
tatsächliche
Anzahl solcher Bänke
variieren kann, in Abhängigkeit von
der Konstruktion der speziellen DRAM-Einrichtung.
-
Ein
interner Datenbus 21 verbindet die Speicheranordnungen 20 mit
einer Lesesteuereinheit 22 und einer Schreibsteuereinheit 23.
Die Lesesteuereinheit 22 steuert die Übertragung der Daten von den Speicheranordnungen 20 zum
Datenbus 15 in Reaktion auf das Aufrufen des Lesebefehls
durch den Speicherkontroller. Ebenso steuert die Schreibsteuereinheit 23 die
Datenübertragung
vom Datenbus 15 zu der ausgewählten Speicheranordnung 20 in
Reaktion auf das Aufrufen des Schreibbefehls durch den Speicherkontroller.
Bei manchen Ausführungsformen können die
zwei Steuereinheiten 22, 23 zu einer einzigen
Einheit kombiniert sein. Das FLG-Signal steuert den Zeitablauf für das Auslösen der
Datenübertragung
auf den/von dem Bus 15. Es ist anzumerken, daß die Schaltungsanordnung,
die in der Lesesteuereinheit 22 und der Schreibsteuereinheit 23 implementiert
ist, normalerweise vielfältige
Komponenten umfasst. Im allgemeinen gehören zu diesen Komponenten verschiedene
Signalspeicher, Register, Puffer, Treiber und/oder Multiplexer.
Die tatsächlich
implementierte Schaltungsanordnung ist für das Verständnis der vorliegenden Erfindung
nicht entscheidend. Wesentlich ist, daß die Datenübertragung zwischen jeder DRAM-Einheit 14 und
dem Bus 15 durch Lese- und Schreibsteuereinheiten (wie
etwa die Einheiten 22 und 23) durchgeführt werden
kann, welche den Zeitablauf (Auslösung) des Datenübergangs
zwischen dem Bus 15 und den DRAM-Einheiten 14 mittels
des Timings steuern, das von einem internen Flagsignal (intFLG)
geliefert wird, welches aus dem FLG-Signal erhalten wird.
-
Das
Signal CMD/ADDR ist als mit einem Decoder 25 verbunden
dargestellt, welcher das Steuersignal decodiert und das Steuersignal
auf der CMD-Leitung den Speicheranordnungen 20 zuführt. Der
Decoder 25 decodiert die Adreßkomponente ADDR in ein Zeilen-,
ein Spalten- und ein Bank-Adreßsignal,
die in der speziellen Ausführungsform
von 2 als Signale RAS, CAS und BANK dargestellt sind.
Das RAS gewährleistet
die Adressierung, um die spezielle Zeile der Speicheranordnung 20 zu
wählen.
Ebenso gewährleistet
das CAS die Adressierung, um die spezielle Spalte der Speicheranordnung 20 zu
wählen.
Das Signal BANK wählte
eine der Bänke
der Speicheranordnung 20 aus. Somit kann mit der Kombination
des RAS, CAS und BANK eine bestimmte Zeile und Spalte einer bestimmten
Bank für
die Datenübertragung
ausgewählt werden.
Es ist klar, daß manche
DRAM-Einheiten nicht in mehrere Bänke aufgeteilt werden können. In manchen
Fällen
kann ein Abschnitt eines oder mehrerer der Adressierungssignale
mit der Lesesteuereinheit 22 (oder sogar mit der Schreibsteuereinheit 23)
verbunden sein, um eine bestimmte gemultiplexte Datenleitung für das Auswählen der
zu übertragenden
Daten auszuwählen.
Ferner sind andere Signale, die normalerweise mit DRAMs implementiert
sind, möglicherweise
in 2 nicht dargestellt, da die betreffenden Signale
für das
Verständnis
der Funktionsweise der Erfindung nicht von Bedeutung sind.
-
Das
Befehlssignal CMD bestimmt, ob eine Lese- oder eine Schreiboperation
für die
ausgewählte
Befehlsadresse ausgeführt
werden soll. Es ist klar, daß der
Decoder 25 noch verschiedene andere Einheiten umfassen
kann, darunter Signalspeicher, Register, Multiplexer und/oder Sequenzer,
welche die Decodierungs- und Ablaufsteuerungs-Operationen steuern,
die mit der Speicheranordnung 20 verknüpft sind.
-
Wie
ebenfalls in 2 dargestellt ist, ist das Reset-Signal
RST mit dem Decoder 25 verbunden, um den DRAM zurückzusetzen,
wie etwa bei der Initialisierung. Auch das RST-Signal ist möglicherweise in
manchen Fällen
nicht vorhanden. Das CLK-Signal ist mit den verschiedenen Einhei ten/Komponenten 20, 22, 23 und 25 des
DRAM 14 verbunden. Das FLG-Signal ist mit der Timing-Einheit 28 verbunden, um
das interne Flagsignal intFLG zu erzeugen, welches dann mit der
Lesesteuereinheit 22 und der Schreibsteuereinheit 23 verbunden
wird, um die Reaktion dieser Einheiten 22, 23 zu
steuern, um die Datenübertragung
zu/von dem Bus 15 auszulösen. Obwohl es nicht dargestellt
ist, ist anzumerken, daß das CLK-Signal
intern innerhalb des DRAM 14 verarbeitet werden kann, um
ein oder mehrere interne CLK-Signale (intCLK) zu erzeugen, welche
eine geringfügige
Timing-Differenz gegenüber
dem empfangenen CLK-Signal aufweisen können. Außerdem kann sich die Timing-Einheit 28 in
der DRAM-Einrichtung selbst befinden, oder die Einheit 28 kann
sich stattdessen in einer anderen integrierten Schaltung befinden,
welche in der Kombination mit dem Rank von DRAMs arbeitet.
-
Da
dieselben CLK-, FLG- und CMD/ADDR-Signale mit sämtlichen DRAM-Einheiten 14 des
Speichers 13 verbunden sind, kann die Aktivierung eines
bestimmten Ranks des DRAM 14 durch das Chip-Select-Signal
CS gesteuert werden. Somit kann, da individuelle CS-Signale mit
den DRAMs 14 verbunden sind, die Auswahl eines bestimmten
Ranks von DRAM 14 erfolgen, indem eine Angabe des entsprechenden
CS-Signals geliefert wird. Somit aktiviert in 2 für die dargestellte
bestimmte DRAM-Einrichtung der CS-Eingang der Speicheranordnung 20 die
Speicheranordnung 20 in Reaktion auf ein Auftreten des
CS-Signals, das dem betreffenden Rank entspricht.
-
Es
wird auf beide 1 und 2 Bezug genommen;
wenn der Speicherkontroller 12 auf einen bestimmten DRAM-Rank
zugreift, wählt
das CS-Signal den entsprechenden Rank aus. Die CMD-Komponente des Signals
CMD/ADDR gibt eine Lese- oder eine Schreiboperation aus. Die ADDR-Komponente enthält die Bank-,
Zeilen- und Spalten-Informationen, um die ausgewählte Adresse der Anordnung 20 zu
adressieren. Danach löst
der intFLG-Übergang,
der dem Lese- oder Schreibbefehl (RD/WR) folgt, das Lesen der Daten
auf den Bus 15 bzw. das Schreiben der Daten vom Bus 15 in
den DRAM aus.
-
Der
intFLG-Übergang
kann die Datenübertragung
zu/von dem Bus 15 an einem ansteigenden Übergang
(zum Beispiel einer Anstiegsflanke), einem abfallenden Übergang
(zum Beispiel einer Abfallflanke) oder an beiden Übergängen auslösen. Es
ist anzumerken, daß manche
Befehlsstrukturen zwei Lese- und zwei Schreibanweisungen aufweisen
können,
wenn beide FLG-Übergänge verwendet
werden, um eine Datenübertragung
zu bewirken. Daher kann bei einer Ausführungsform die Befehlsstruktur
Anweisungen "Lesen
mit ansteigendem Flag" (Read-with-Rising
Flag, RDR), "Lesen
mit abfallendem Flag" (Read-with-Falling
Flag, RDF), "Schreiben mit
ansteigendem Flag" (Write-with-Rising
Flag, WRR) und "Schreiben
mit abfallendem Flag" (Write-with-Falling
Flag, WRF) aufweisen, um anzugeben, bei welchem entsprechenden FLG-Signalübergang
eine gegebene Datenübertragung
erfolgen kann. Bei anderen Ausführungsformen
werden nur eine Lese- und eine Schreibanweisung von dem Speicherkontroller 12 ausgegeben.
-
Unabhängig von
den vorhandenen Typen von Lese- und Schreibbefehlen kann der entsprechende
FLG-Übergang,
der einem RD/WR-Befehl folgt, eine oder mehrere Taktperioden erfordern,
um den DRAM für
die Datenübertragung
einzustellen. Das FLG-Signal ist in diesem Zeitraum in Bezug auf Übergänge inaktiv.
Dementsprechend kann dieser Abschnitt des FLG-Signals dann verwendet
werden, um andere Informationen zu codieren, einschließlich von
Befehlen, welche eine separate Leitung zu dem DRAM erfordern können.
-
Es
wird auf 3 Bezug genommen. Ein Zeitablaufdiagramm 30 veranschaulicht
eine operative Implementierung der Codierung des FLG-Signals mit
RD/WR-Befehlen. In der beispielhaften Ausführungsform ist jeder CLK-Zyklus
durch eine vertikale Linie abgetrennt dargestellt, wobei neun separate Zeitabschnitte
angegeben sind. Das Auftreten von Lese-/Schreibbefehlen ist auch
alle vier Zeitintervalle des Taktes CLK dargestellt. Die zeitliche
Trennung zwischen den Befehlen ist als tCCD angegeben. In dem dargestellten
Beispiel tritt das erste Lese-/Schreibbefehls-Signal RD/WR1 in den
Taktperioden-Abschnitten 1 und 2 auf. Das zweite Befehlssignal RD/WR2
tritt in den Taktperioden-Abschnitten 5 und 6 auf. Wie in 3 angegeben,
kann der Flag-Übergang,
gleichgültig,
ob es sich um einen ansteigenden Übergang oder einen abfallenden Übergang
handelt, eine spezifizerte Taktperiode nach dem Auftreten des entsprechenden
Lese-/Schreibbefehls auftreten, um die Datenübertragung auszulösen. Die
beispielhafte Ausführungsform
des Diagramms 30 zeigt den FLG-Übergang vier Taktzyklen nach
dem Auftreten des entsprechenden RD/WR-Signals. Demzufolge tritt
das Signal RD/WR2 ebenfalls wenigstens vier Taktzyklen nach dem
Vorliegen des Signals RD/WR1 auf. Die zeitliche Trennung der FLG-Übergänge, um
eine Datenübertragung
durchzuführen,
ist in 3 als tFFD dargestellt.
-
Da
der entsprechende FLG-Übergang
ungefähr
vier Taktzyklen nach dem Auftreten des RD/WR-Signals auftritt, kann ein Abschnitt
der Zeitperiode, die dem RD/WR-Signal folgt, als eine inaktive Periode
bezeichnet werden, in welcher FLG-Übergänge nicht zu erwarten sind.
Bei einer Ausführungsform
der Erfindung wird diese inaktive Periode verwendet, um einen anderen
Befehl zu codieren. Im Wesentlichen wird ein separater Befehl auf
das FLG-Signal codiert (oder gemulti plext). In dem speziellen Beispiel
tritt dieser Befehl in der ersten Taktperiode auf, die dem RD/WR-Befehl folgt. Ferner
wird in dem Beispiel ein Vorlade-Befehl eine Taktperiode nach dem
Auftreten des RD/WR-Befehls codiert. Das Codieren kann in verschiedenen
Formen erfolgen, jedoch in dem Beispiel bedeutet ein FLG-Übergang
in einer spezifizierten Periode, die der Periode des Auftretens
des RD/WR-Befehls folgt, daß der RD/WR-Befehl
ein Vorladen der Bitlinien initiiert. In dem Beispiel ist die spezifizierte
Zeitperiode als eine Periode des Taktes dargestellt.
-
Bei
der speziellen Ausführungsform
erzeugt der Speicherkontroller 12 von 1 einen
Vorlade-Befehl innerhalb
einer Taktperiode, die der Ausgabe eines Lese- oder Schreibbefehls
folgt, falls eine Vorladung für
diesen Lese-/Schreibbefehl durchgeführt werden soll. Dies kann
als eine Auto-Vorladungs-Bedingung
bezeichnet werden. Eine FLG-Erzeugungs-Schaltung 16 erzeugt
den FLG-Befehl gemäß dem festgelegten
Protokoll. Ein festgelegtes Protokoll für einen Prozessor oder Kontroller
stellt sicher, daß das
zugehörige
FLG-Signal einen Übergang
eine Taktperiode nach dem RD/WR-Signal aufweist, falls der RD/WR-Befehl
die Vorladung erfordert. Kein Übergang
tritt in der einen Taktperiode nach dem RD/WR-Signal auf, falls
eine Vorladung nicht benötigt
wird. In jedem Falle tritt der entsprechende FLG-Übergang
zum Auslösen
der Datenübertragung
in einer spezifizierten Taktperiode auf. Dieser Übergang kann in der zweiten
Taktperiode nach dem RD/WR-Signal oder später erfolgen. Es ist klar,
daß vielfältige Schaltungsanordnungen
(welche den Fachleuten bekannt sind) für die FLG-Erzeugungs-Schaltung 16 implementiert
sein können.
-
Ferner überwacht,
wie in 2 dargestellt, die Timing-Einheit 28 die
FLG- und die CMD-Signale, um
zu bestimmen, ob ein Übergang
des FLG-Signals innerhalb der spezifizierten Periode (die in dem
Beispiel erneut als eine Taktperiode dargestellt ist) auftritt,
die der Ausgabe des RD/WR-Signals folgt. Falls ein FLG-Übergang
in einer Taktperiode erkannt wird, die dem RD- oder WR-Befehl folgt, so identifiziert
die Timing-Einheit 28 dies als einen Vorlade-Befehl und erzeugt
interne Vorlade-Signale, um das Vorladen der Bit-Linien zu bewirken.
Die Timing-Einheit 28 erzeugt außerdem das intFLG-Signal, welches
im allgemeinen den Übergängen des
FLG-Signals folgt, mit der Ausnahme, daß die intFLG-Übergänge nicht für die FLG-Übergänge erzeugt
werden, die dem codierten Vorlade-Befehl entsprechen.
-
Dementsprechend
zeigt das Diagramm 30 in 3 eine Ausführungsform,
bei welcher das erste Lese-/Schreibsignal RD/WR1 in den Taktperioden 1–3 auftritt.
Das Protokoll kann festlegen, daß ungefähr vier Taktperioden zwischen
aufeinanderfolgenden Lese- oder Schreibbefehlen vergehen können. Das
heißt,
tCCD beträgt
vier Taktperioden. Somit tritt das nächste Lese- oder Schreibsignal RD/WR2
in den Taktperioden 5–6
auf. Der FLG-Übergang
für die Datenübertragung
in Reaktion auf RD/WR1 tritt wenigstens zwei Taktperioden nach RD/WR1
auf, und im Allgemeinen innerhalb derselben Grenzen, wie sie für die aufeinanderfolgenden
Lese-/Schreibbefehle festgelegt wurden. Daher tritt der FLG-Übergang
für die
RD/WR1 Datenübertragung
in Taktperiode 6 in 3 auf. Die Periode tFFD wird
in dem speziellen Beispiel ebenfalls auf 4 eingestellt (wie bei
tCCD).
-
Wie
erwähnt,
codiert der FLG-Übergang
in Taktperiode 3 den Vorlade-Befehl, und an dem Abtastpunkt, der
durch den CLK-Übergang
zwischen den Taktperioden 3 und 4 definiert ist, wird die Auto-Vorlade-Operation
in der ausgewählten DRAM-Komponente
initiiert. 4 zeigt die Situation, wenn
das FLG-Signal nicht den codierten Vorlade-Befehl aufweist. Wie
erwähnt,
tritt in der einen Taktperiode, die dem RD/WR1-Befehl folgt, kein Übergang
des FLG-Signals auf. Das Nichtvorhandensein eines Übergangs
in dieser Periode zeigt an, daß ein
Codieren für
die Auto-Vorladung
nicht vorhanden ist. Diese Nicht-Vorlade-Bedingung ist auch in der
Taktperiode angegeben, die RD/WR2 in 3 folgt.
-
Dementsprechend
kann ein Vorlade-Befehl innerhalb des Flagsignals codiert werden,
welches die Datenübertragung
zu/von der DRAM-Komponente kennzeichnet oder auslöst. In dem
oben beschriebenen Beispiel codiert das Flagsignal einen Vorlade-Befehl,
um eine Auto-Vorladung durchzuführen. Jedoch
können
anstelle des Vorlade-Befehls auch andere Befehle codiert werden.
Das Flagsignal kann eine Datenübertragung
sowohl bei der Anstiegs- als auch bei der Abfallflanke initiieren,
was in den Beispielen der 3, 4 der
Fall ist. Jedoch kann das Flagsignal auch die Datenübertragung
bei der Anstiegsflanke oder stattdessen bei der Abfallflanke initiieren.
In diesem Falle kann eine ordnungsgemäße Rücksetzung des Pegels nach dem
Auftreten des Übergangs,
der die Vorladung anzeigt, durchgeführt werden. Dementsprechend
können
vielfältige
Konstruktionen und Protokolle leicht so angepasst werden, daß sie (eine)
Befehlscodierungen) gewährleisten,
bei denen das Flagsignal verwendet wird, um die Datenübertragung
zu/von dem DRAM auszuführen. Durch
Codieren eines Vorlade-Befehls mit einem anderen Signal wird kein
zweckgebundenes Pin benötigt,
um einen Vorlade-Befehl dem DRAM oder anderen Speichereinrichtungen
für diesen
Zweck zuzuführen.
-
Somit
wurde ein Schema zum Codieren einer Auto-Vorladung beschrieben.
Es ist anzumerken, daß,
obwohl oben ein DRAM beschrieben wurde, auch andere Einrichtungen
(einschließlich
anderer Speichereinrichtungen) die Erfindung implementieren können. Die
Erfindung muß nicht
allein auf eine DRAM-Anwendung beschränkt werden. Ferner können, obwohl
der zweite (oder andere) Befehl, der mit dem Datenübertragungs-Befehl
zu implementieren ist (Lese- und Schreibbefehle, wie oben beschrieben),
ein Typ von Vorlade-Befehl ist, andere Ausführungsformen andere Befehle
implementieren als den Vorlade- (Auto-Vorlade-) Befehl, der oben
beschrieben wurde. Das heißt,
auch andere Befehle als ein Vorlade-Befehl können leicht mit dem Flagsignal kombiniert
werden, um Anweisungen zu der empfangenden Einrichtung zu transportieren.