-
Eine
Ausführungsform
der Erfindung betrifft ein Verfahren zum Betrieb einer Speichervorrichtung. Eine
weitere Ausführungsform
betrifft einen Speichereinrichtung sowie eine Speichervorrichtung
bzw. ein Speichermodul.
-
Der
Speicherbedarf von heutigen Anwendungen und Geräten steigt kontinuierlich.
Dabei ist es wichtig, dass die eingesetzten Speicherbausteine bei einer
hohen Datenrate betrieben werden können. Dies betrifft z. B. die
interne Architektur und externe Signale.
-
Es
ist eine Aufgabe der Erfindung, ein Verfahren zum Betrieb einer
Speichervorrichtung bereitzustellen, welches eine hohe Speicherleistung
bei einer hohen Geschwindigkeit ermöglicht.
-
Die
Aufgabe wird gelöst
durch ein Verfahren gemäß Anspruch
1, eine Speichereinrichtung gemäß Anspruch
11 sowie eine Speichervorrichtung gemäß Anspruch 15.
-
1 zeigt
ein Ablaufdiagramm eines Verfahrens zum Betrieb einer Speichervorrichtung
gemäß einer
Ausführungsform
der Erfindung;
-
2 zeigt
ein weiteres Ablaufdiagramm gemäß einer
weiteren Ausführungsform
der Erfindung;
-
3 zeigt
eine Speichereinrichtung gemäß einer
Ausführungsform
der Erfindung;
-
4 zeigt
eine Speichervorrichtung gemäß einer
weiteren Ausführungsform
der Erfindung;
-
5 zeigt
eine weitere Ausführungsform
einer Speichereinrichtung;
-
6 zeigt
eine weitere Ausführungsform
einer Speichervorrichtung;
-
7 zeigt
ein Beispiel für
ein Adressierungsschema;
-
8 zeigt
ein weiteres Ablaufdiagramm eines Verfahrens zum Betrieb einer Speichervorrichtung
gemäß einer
weiteren Ausführungsform
der Erfindung;
-
9 zeigt
noch ein weiteres Ablaufdiagramm einer weiteren Ausführungsform
der Erfindung;
-
10 zeigt eine Speichervorrichtung gemäß einer
weiteren Ausführungsform
der Erfindung;
-
11 zeigt
einen schematischen Ausschnitt einer Speichervorrichtung gemäß einer
weiteren Ausführungsform
der Erfindung;
-
12 zeigt
schematisch die Verdrahtung zwischen einem Speichercontroller und
einer Speichereinrichtung;
-
13 zeigt
eine Speichereinrichtung gemäß einer
weiteren Ausführungsform
der Erfindung.
-
Es
wird darauf hingewiesen, dass die im Folgenden beschriebenen Ausführungsformen
der Erfindung sowie deren Merkmale jeweils beliebig miteinander
kombinierbar sind, d. h., es gibt keine Einschränkung dahingehend, dass bestimmte
Merkmale, die im Zusammenhang mit einer bestimmten Ausführungsform
beschrieben werden, nicht mit Merkmalen einer anderen Ausführungsform
kombinierbar sein können.
-
1 zeigt
ein Ablaufdiagramm eines Verfahrens zum Betrieb einer Speichervorrichtung,
bei dem in einem Schritt S100 eine Wortleitung aktiviert wird. Die
Speichervorrichtung kann z. B. mehrere Speichereinrichtungen bzw.
Speicherchips aufweisen oder aus solchen bestehen, z. B. in einer Stack-Anordnung.
Zunächst
wird eine Wortleitung in einer durch ein Zeilenaktivierungskommando
(engl.: Row activate command) vorgegebenen Bank aktiviert. Das Zeilenaktivierungskommando
kann daher beispielsweise eine Bankadresse sowie eine Zeilenadresse
enthalten, wobei durch die Bankadresse die Bank und durch die Zeilenadresse
die Zeile innerhalb einer Bank angegeben werden kann.
-
In
einem Schritt S102 wird eine Bankinformation gespeichert, wobei
die Bankinformation angibt, welche Bank bzw. Bänke pro Speichereinrichtung eine
durch das Zeilenaktivierungskommando aktivierte Wortleitung enthält bzw.
enthalten. Die Bankinformation kann also beispielsweise allein die
Bankadresse des letzten Zeilenaktivierungskommandos oder mehrere
Bankadressen enthalten. Aus der Bankinformation kann sich auch ergeben,
dass keine Bank der jeweiligen Speichereinrichtung eine durch das
Zeilenaktivierungskommando aktivierte Wortleitung enthält.
-
In
einem Schritt S104 werden Speicherinhalte aus Bänken mit aktivierten Wortleitungen
in Abhängigkeit
der Bankinformation ausgelesen und/oder es werden Speicherinhalte
in Bänke
mit ak tivierten Wortleitungen in Abhängigkeit der Bankinformation geschrieben.
Folglich ist es möglich,
dass die Bankinformation solange gespeichert wird, bis ein Auslesen/Schreiben
z. B. mit Auto-Precharge erfolgt, das z. B. mittels eines Spaltenkommandos
(Column Read/Write Command) ausgelöst wird.
-
Das
Zeilenaktivierungskommando kann eine vorbestimmte Anzahl von Zeilenadressbits
enthalten, wobei durch eine vorbestimmte Untermenge der Zeilenadressbits
eine bestimmte Speichereinrichtung bestimmt werden kann, in welcher
eine Wortleitung aktiviert wird. Die Zeilenadressbits können beispielsweise
gemäß einem
Adressierungsstandard mit A0 bis A16 gekennzeichnet sein (z. B.
gemäß JEDEC Standard).
Die oberen Zeilenadressbits, z. B. A14 bis A16, können zur
Adressierung der jeweiligen Speichereinrichtung bestimmt sein. Beispielsweise
könnte
in einer Ausführungsform
eine Speichereinrichtung eine Größe von 1
Gigabit aufweisen, und die Speichervorrichtung könnte aus acht 1 Gigabit Speichereinrichtungen
(mit Row Adressen A0–A13)
bestehen. In diesem Fall wären
zur Adressierung der 8 Speichereinrichtungen drei Adressbits notwendig,
beispielsweise A14 bis A16. In einem anderen Beispiel könnten nur
vier 1 Gigabit Speichereinrichtungen bzw. Speicherchips vorhanden
sein. In diesem Fall wären
nur zwei Bits, z. B. A14 und A15, zur Adressierung notwendig.
-
Das
Verfahren könnte
ferner einen weiteren Schritt umfassen, bei dem ein Spaltenkommando empfangen
wird, welches eine Bankadresse zur Angabe der jeweiligen Bank enthält, aus
der die Speicherinhalte ausgelesen werden sollen, bzw. in die Speicherinhalte
geschrieben werden sollen. Das Spaltenkommando (engl.: column read/write
command) kann gemäß einem
vorbestimmten Standard beispielsweise Spaltenadressbits A0 bis A9/A11,
sowie Bankadressbits BA0 bis BA2 enthalten (z. B. JEDEC Standard).
-
Das
Spaltenkommando könnte
gemäß einer weiteren
Ausführungsform
von jeder Speichereinrichtung empfangen und decodiert werden. In
diesem Fall könnte
jede Speichereinrichtung anhand der gespeicherten Bankinformation überprüfen, ob
die durch die Bankadresse des Spaltenkommandos adressierte Bank
der jeweiligen Speichereinrichtung eine aktivierte Wortleitung enthält. Beim
Auslesen bzw. Schreiben werden bei dieser Ausführungsform daher nur dann Daten
aus einer jeweiligen Bank ausgelesen bzw. in eine jeweilige Bank
geschrieben, wenn die Bankinformation angibt, dass in der jeweiligen
Speichereinrichtung die jeweilige durch die Bankadresse des Spaltenkommandos
angegebene Bank eine aktivierte Wortleitung enthält. Damit kann verhindert werden,
dass, obwohl jede Speichereinrichtung das Spaltenkommando erhält und decodiert, ungültige Daten
auf einen an die Speichervorrichtung angeschlossenen Datenbus (DQ)
ausgegeben werden bzw. Daten überschrieben
werden.
-
Gemäß einer
weiteren Ausführungsform
ist es möglich,
dass jede Speichereinrichtung nur einen Teil der Bankinformation
speichert, wobei der jeweilige Teil angibt, welche Bänke der
jeweiligen Speichereinrichtung eine aktivierte Wortleitung enthalten.
Bei Speicherchips mit 8 Bänken
könnte
z. B. jede Speichereinrichtung 8 Bit speichern.
-
2 zeigt
ein weiteres Ablaufdiagramm gemäß einer
weiteren Ausführungsform
der Erfindung.
-
Im
Schritt S200 wird ein Zeilenaktivierungskommando (row command) empfangen,
welches Adressbits A0 bis A16 sowie Bankadressbits BA0 bis BA2 enthält.
-
Gemäß dem Zeilenaktivierungskommando wird
eine Wortleitung in einer Bank einer Speichervorrichtung aktiviert,
wobei die Speichervorrichtung wenigstens zwei Speichereinrichtungen
umfasst, und wobei jede Speichereinrichtung wenigstens eine Bank
enthält.
Die Speichereinrichtungen können
in einer Ausführungsform
beispielsweise jeweils die gleiche Anzahl von Bänken enthalten, beispielsweise acht
Bänke,
die durch die Bankadressbits BA0 bis BA2 adressiert werden können. Durch
einen vorgegebenen Teil der Zeilenadressbits A0 bis A16, beispielsweise
A14, A15 und A16, kann angegeben werden, welche Speichereinrichtung
adressiert wird. Innerhalb einer Bank kann immer nur eine Wortleitung aktiviert
werden. Es können
aber mit mehreren Zeilenbefehlen mehrere Wortleitung gleichzeitig
in verschiedenen Bänken
geöffnet
werden. Somit kann in der Speichervorrichtung durch die Bankadressbits BA0
bis BA2 nur jeweils eine erste Bank einer Speichereinrichtung eine
aktivierte Wortleitung enthalten, und nur jeweils eine zweite Bank
und so fort. In anderen Worten, es kann jeweils nur eine erste,
zweite, ..., achte Bank eine aktivierte Wortleitung enthalten, wobei
durch den vorgegebenen Teil der Zeilenadressbits A0 bis A16, d.
h. beispielsweise A14, A15 und A16 festgelegt ist, in welcher Speichereinrichtung
die jeweilige Bank liegt.
-
Im
Schritt S202 wird dann die Wortleitung gemäß dem Zeilenaktivierungskommando
aktiviert.
-
Im
Schritt S204 wird Bankinformation BI gespeichert, wobei die Bankinformation
BI angibt, welche Bänke
pro Speichereinrichtung eine durch das Zeilenaktivierungskommando
aktivierte Wortleitung enthalten. Falls beispielsweise eine Speichereinrichtung
eine erste Bank und eine fünfte
Bank mit einer aktivierten Wortleitung enthält, so könnte die Bankinformation wie
folgt aussehen: 10001000.
-
Im
Schritt S206 wird ein Spaltenkommando empfangen, das beispielsweise
Spaltenadressbits A0 bis A9/A11 sowie Bankadress bits BA0 bis BA2 enthalten
kann. Das Spaltenkommando kann auch angeben, ob ein Schreib- oder
Lesezugriff erfolgen soll. Das Spaltenkommando muss die Adressbits A14–A16 welche
eine der Speichereinrichtungen auswählt, nicht enthalten.
-
Im
Schritt S208 wird anhand der gespeicherten Bankinformation BI von
jeder oder zumindest einer Speichereinrichtung geprüft, ob die
Bankadresse des Spaltenkommandos einer geöffneten Bank entspricht. In
anderen Worten, es wird überprüft ob die Bankadresse
des Spaltenkommandos in der Bankinformation enthalten ist (BA0,
BA1, BA2 adressiert genau eine Bank, wohingegen die Bankinformation
angibt, welche Bänke
geöffnete
bzw. aktivierte Wortleitungen enthalten). Falls die Bankadresse
des Spaltenkommandos einer geöffneten
Bank entspricht, so erfolgt im Schritt S210 ein entsprechender Lese-
bzw. Schreibzugriff. Falls dies nicht der Fall ist, so erfolgt im
Schritt S212 ein Abbruch, da in diesem Fall ein illegales Lese/Schreibkommando
vorliegt. Da wie oben dargelegt wurde z. B. nur jeweils in einer
ersten Bank aller Speichereinrichtungen eine aktive Wortleitung
sein kann wird verhindert, dass zwei Speichereinheiten das Spaltenkommando
ausführen.
-
3 zeigt
eine Speichereinrichtung 300 gemäß einer Ausführungsform
der Erfindung, welche acht Bänke 302-1 bis 302-8,
sowie einen Kommandodecoder 304 und ein Speicherregister 306 enthält.
-
Der
Zugriff auf die Speichereinrichtung 300 wird mittels eines
ersten Kontrollsignals 308 gesteuert, wobei das erste Kontrollsignal 308 beispielsweise
via einen CA-Bus und/oder einen Kontrollbus übertragen wird. Der CA-Bus
kann außer
Commando Signalen (RAS, CAS, WE) beispielsweise Zeilen- bzw. Spaltenadressbits
A0 bis A16 bzw. A0 bis A9/A11 übertragen
und der Kontrollbus ein CS-Signal (= Chip Select Signal), ODT-Signal
(= On Die Termination Signal) und/oder CKE-Signal (= Clock Enable Signal).
-
Der
Kommandodecoder 304 kann eine Wortleitung in einer der
Bänke in
Abhängigkeit
eines Zeilenaktivierungskommandos, welches im ersten Kontrollsignal 308 enthalten
sein kann, aktivieren. Ferner kann der Kommandodecoder 304 Speicherinhalte aus
Bänken
mit aktivierten Wortleitungen auslesen bzw. in Bänke mit aktivierten Wortleitungen
schreiben, und zwar in Abhängigkeit
von Bankinformation, wobei die Bankinformation angibt, welche Bänke eine
durch das Zeilenaktivierungskommando aktivierte Wortleitung enthalten.
Die Bankinformation kann vom Kommandodecoder 304 durch
ein Bankinformationssignal 310 an das Speicherregister 306 übertragen
und dort gespeichert werden und auch von dort wieder abgerufen werden.
-
In
einer Weiterbildung der Ausführungsform kann
die Bankinformation nach Erhalt eines Zeilenaktivierungskommandos
so lange im Speicherregister 306 gespeichert bleiben, bis
die Wortleitung geschlossen wird z. B. durch ein Precharge Kommando.
-
Der
Kommandodecoder 304 kann beispielsweise anhand der in dem
Speicherregister 306 gespeicherten Bankinformation überprüfen, ob
die durch die Bankadresse des Spaltenkommandos adressierte Bank
eine aktivierte Wortleitung enthält.
-
Die
Größe des Speicherregisters 306 kann von
der Anzahl Bänke 302-1 bis 302-8 abhängen. In der
in 3 gezeigten Ausführungsform sind acht Bänke 302-1 bis 302-8 vorgesehen.
Die Größe des Speicherregisters
kann acht Bit betragen. Somit kann im Speicherregister 306 gespeichert
werden, welche der acht Bänke 302-1 bis 302-8 eine
aktivierte bzw. geöffnete
Wortleitung aufweist.
-
4 zeigt
eine Speichervorrichtung 4, welche acht Speichereinrichtungen 402-1 bis 402-8 enthält. Eine
Speichereinrichtung 402 kann beispielsweise ein Speicherchip
sein, der eine Speichergröße von 1
Gigabit bereitstellt. Jede Speichereinrichtung 402-1 bis 402-8 umfasst
Speicherbänke 404 bis 418, wobei
jede Speichereinrichtung 402 jeweils acht Speicherbänke 404-1, 404-8,
..., 418-1, ..., 418-8 enthält.
-
Beim
Empfang eines Zeilenaktivierungskommandos kann eine Wortleitung
innerhalb einer bestimmten Bank einer bestimmten Speichereinrichtung
wie folgt aktiviert werden: das Zeilenaktivierungskommando enthält beispielsweise
Zeilenadressbits A0 bis A16 sowie Bankadressbits BA0 bis BA2. Die
Speichervorrichtung 400 ist so aufgebaut, dass ein Teil
der Zeilenadressbits A0 bis A16, im Beispiel von 4 die
Adressbits A14, A15 und A16 zur Adressierung einer bestimmten Speichereinrichtung 402-1,
..., 402-8 verwendet werden. Beispielsweise kann die fünfte Speichereinrichtung 402-5 ausgewählt werden,
indem A14, A15, A16 = "100" gesetzt werden.
Die übrigen
Zeilenadressbits A0 bis A13 werden zur Auswahl einer bestimmten
Wortleitung innerhalb einer Bank verwendet. Eine Bank wird durch die
Bankadressbits BA0 bis BA2 ausgewählt.
-
Das
Beispiel von 4 zeigt acht aktivierte Wortleitungen 420-1 bis 420-8,
wobei durch die beschriebene Adressierung gewährleistet ist, dass in allen
ersten Bänken 404-1,
..., 418-1 nur eine einzige Wortleitung 420-1 aktiviert
ist. Ebenso ist in allen zweiten Speicherbänken 404-2, ..., 418-2 nur
eine einzige Wortleitung 420-2 aktiviert. Das Analoge gilt für die jeweils
dritten bis achten Speicherbänke 404-3,
..., 418-3, 404-4, 418-4, 404-5,
..., 418-5, 404-6, ..., 418-6, 404-7,
..., 418-7, 404-8, ..., 418-8.
-
Ein
Controller bzw. Speichercontroller, der auf die Speichervorrichtung 400 zugreift "sieht" somit immer nur
eine erste, zweite, ..., achte Bank, wobei der Controller nicht
bemerkt, dass es sich um Bänke in
unterschiedlichen Speichereinrichtungen 402-1 bis 402-8 handeln
kann.
-
Unter
Speichercontroller wird hier eine Vorrichtung verstanden, die einen
Request des Prozessors in Kommandos bzw. Adressen gemäß DRAM-Protokoll
umsetzt.
-
Die
Information, welche Wortleitungen aktiviert sind, wird als Bankinformation
gespeichert. Hierfür
kann jede Speichereinrichtung 402-1 bis 402-8 jeweils
ein Acht-Bit-Speicherregister enthalten, in dem jeweils abgespeichert
wird, welche Bank bzw. welche Bänke
eine durch das Zeilenaktivierungskommando aktivierte Wortleitung
enthält.
-
Die
Bankinformation wird anschließend
bei Erhalt eines Spaltenkommandos genutzt, um ungültige Speicherzugriffe
zu verhindern. Das Spaltenkommando enthält beispielsweise Spaltenadressen
A0 bis A9/A11 und Bankadressbits BA0–BA2. Das Spaltenkommando (column
read/write command) wird von einem internen Controller einer Speichereinrichtung
beispielsweise nach Ablauf von tRCD ausgeführt.
-
Die
Bankadressbits BA0 bis BA2 des Spaltenkommandos werden dabei mit
der gespeicherten Bankinformation verglichen. Hierfür kann es
sinnvoll sein, dass jede Speichereinrichtung 402-1 bis 402-8 ein
Spaltenkommando erhält
und decodiert. Falls durch die Bankadresse BA0 bis BA2 des Spaltenkommandos
eine Bank mit einer aktivierten Wortleitung adressiert wird, liegt
ein gültiger
Lese/Schreibzugriff vor. Sonst liegt ein ungültiger Lese/Schreibzugriff
vor.
-
5 zeigt
eine Ausführungsform
einer Speichereinrichtung 500, die beispielsweise in einer Stackanordnung
verwendet werden kann. Die Speichereinrichtung 500 kann
beispielsweise 1 Gigabit groß sein,
wobei jeweils acht solche Speichereinrichtungen in einem Stack zusammengefasst
werden können,
so dass ein Speicherbaustein realisiert wird, der acht Gigabit groß ist.
-
Die
Speichereinrichtung 500 umfasst einen Kommandodecoder 502,
ein Speicherregister 504, acht Bänke 506-1, ..., 506-8,
und einen Kontrolllogikbaustein 508.
-
Der
Kommandodecoder 502 erhält
von einem externen Speichercontroller via einen CA-Bus 514 Zeilen-
und/oder Spaltenadressen und Kommandos (RAS/CAS/WE), sowie Bankadressen
BA0–BA2. Ferner
erhält
der Kommandodecoder 502 via einen Kontrollbus die Signale
CS (Chip Select), ODT (On Die Termination), CKE (Clock Enable).
-
Bei
einem Speicherzugriff erhält
der Kommandodecoder 502, z. B. zunächst ein Zeilenaktivierungskommando,
das eine durch A0 bis A16 vorgegebene Zeilenadresse sowie eine durch
BA0 bis BA2 vorgegebene Bankadresse enthält. Anschließend erhält der Kommandodecoder 502 ein
Spaltenkommando, das durch die Adressbits A0 bis A9/A11 eine Spalte
adressiert.
-
Im
Beispiel von 5 erhält der Kommandodecoder 502 ein
Zeilenaktivierungskommando, durch das z. B. in der ersten Bank 506-1 eine
Wortleitung aktiviert wird, während
in der fünften
Bank 506-5 bereits eine Wortleitung adressiert ist. Die
Information, in welcher Bank jeweils eine Wortleitung aktiviert wird,
wird im Register 504 gespeichert. Dadurch "weiß" die Speichereinrichtung 500 bei
Erhalt eines Spaltenkommandos, ob sie auf eine bestimmte Bank zugreifen
darf.
-
Die
Steuerung des Registers 504 bzw. der Bänke 506-1 bis 506-8 erfolgt
durch entsprechende Selektoren 510 bzw. 512.
-
Anhand
des Zeilenaktivierungskommandos überprüft der Kommandodecoder 502 jeder
Speichereinrichtung auch, ob er überhaupt
angesprochen ist. Hierfür
werden z. B. die Adressbits A14, A15, A16 verwendet, d. h. nur für einen
bestimmten Wert der Adressbits A14, A15, A16 wird überhaupt
eine Wortleitung in einer der Bänke 506 aktiviert.
In 5 könnte
es sich z. B. um die fünfte
Speichereinrichtung in einem Stack handeln. Dieser könnte z.
B. bei A14, A15, A16 = "100" angesprochen werden,
d. h. nur falls A14, A15, A16 = "100" gilt, würde die
Speichereinrichtung anhand der übrigen
Werte A0–A13, sowie
BA0, BA1, BA2 eine entsprechende Wortleitung aktivieren.
-
Nach
Erhalt eines Spaltenkommandos überprüft der Kommandodecoder 502,
ob die in dem Spaltenkommando enthaltene Bankadresse eine solche
ist, die in der im Register 504 gespeicherten Bankinformation
enthalten ist. Falls ja, so wird ein Zugriff via den Signalleitungen
bzw. Signalen 522 auf den Datenbus DQ zugelassen. Die entsprechende
Zugriffssteuerung kann beispielsweise durch die Kontrolllogikschaltung 508 erfolgen.
-
6 zeigt
eine Speichervorrichtung 600, welche eine Stackanordnung
aus Speichereinrichtungen bzw. Speicherchips 602-1 bis 602-4 aufweist. Die
Speichervorrichtung 600 wird auch als DRAM Stack bezeichnet.
Die unterste Speichereinrichtung 602-1 des Stacks ist eine
Masterspeichereinrichtung und die übrigen Speichereinrichtungen 602-2, 602-3 und 602-4 sind
Slavespeichereinrichtungen. Jede der Speichereinrichtungen 602-1 bis 602-4 enthält eine
jeweilige Kontrolllogik 608-1 bis 608-4. Die Kontrolllogik 608 steuert
jeweils den Zugriff auf den Datenbus DQ. Die Kontrolllogik 608 enthält jeweils
einen Tri State Buffer 610, der jedoch bei den Slavespeichereinrichtungen 602-2, 602-3 und 602-4 auch entfallen
könnte,
da er bei Slavespeichereinrichtungen nicht benötigt wird.
-
Die
Speichereinrichtungen 602-1 bis 602-4 sind durch
ein oder eine Mehrzahl von Through Silicon Via (TSV) 606 miteinander
verbunden.
-
Jeder
Speicherbaustein 602 enthält einen DRAM Core 604,
der beispielsweise die oben beschriebenen Bänke etc. enthält.
-
Die
Speichereinrichtungen 602-1 bis 602-4 enthalten
weiterhin weitere Kontrolllogik 612, die u. a. Tri State
Buffer enthält.
Damit kann eine Speichereinrichtung entweder als Master oder als
Slave eingestellt werden. Die weitere Kontrolllogik 612-1 ist
so eingestellt bzw. konfiguriert, dass die Speichereinrichtung 602-1 als
Master arbeitet. Empfangene Kommandos werden somit bspw. über den
TSV 606 verteilt bzw. weitergeleitet. Die weitere Kontrolllogik 612-2 der
Speichereinrichtungen 602-2, 602-3 und 602-4 ist
so eingestellt, dass diese Speichereinrichtungen als Slave arbeiten.
-
7 zeigt
ein Beispiel eines Adressierungsschemas für einen DDR2- und einen DDR3-Speicher.
Wie in 7 angegeben, werden die Adressbits A14 und A15
beispielsweise zur Adressierung eines 4 Gigabit großen Speichers
verwendet.
-
8 zeigt
eine weitere Ausführungsform
eines Verfahrens zum Betrieb einer Speichervorrichtung, welche wenigstens
zwei Speichereinrichtungen umfasst, wobei jede Speichereinrichtung
wenigstens eine Bank bzw. Speicherbank enthält. Die Speichervorrichtung
kann bspw. eine Stack-Anordnung aus einer Mehrzahl von Speichereinrichtungen
bzw. Speicherchips bzw. Halbleiter speichereinrichtungen sein, wobei
auf jeder Speichereinrichtung z. B. ein DRAM-Core angeordnet sein
kann.
-
Im
Schritt S800 wird eine Wortleitung in einer Bank gemäß einem
Zeilenaktivierungskommando aktiviert. Dabei wird maximal eine Wortleitung
pro Speichereinrichtung bzw. Speicherchip aktiviert. Anschließend, im
Schritt S802, werden Speicherinhalte aus Bänken mit aktivierten Wortleitungen
gemäß einem
Spaltenkommando ausgelesen bzw. es werden Speicherinhalte in Bänke mit
aktivierten Wortleitungen geschrieben.
-
Damit
z. B. bei einer 8 Gigabit Stackanordnung maximal eine Wortleitung
pro Speichereinrichtung aktiviert wird, können in einer Ausführungsform der
Erfindung Zeilenadressanschlüsse
der Speichereinrichtung mit Bankadressanschlüssen eines zur Adressierung
verwendeten Controllers verbunden sein. Der Controller kann ein
Standard-Controller sein, d. h. ein bisher üblicherweise zur Ansteuerung von
DRAM-Speichern verwendeter Controller.
-
Gemäß einer
Ausführungsform
der Erfindung können
Bankadressanschlüsse
der Speichereinrichtung mit Zeilenadressanschlüssen des Controllers verbunden
sein. In anderen Worten ist es möglich,
dass ein Controller eine Zeilenadresse an die Speichervorrichtung überträgt, wobei
die Verdrahtung der Speichervorrichtung so ausgebildet ist, dass
die Zeilenadresse von der Speichereinrichtung als Bankadresse aufgefasst
wird. Weiterhin kann durch die Verdrahtung der Speichervorrichtung
eine vom Controller an die Speichervorrichtung übertragene Bankadresse als
Zeilenadresse für
eine Speichereinrichtung verwendet werden. In diesem Fall wird der
Teil der Zeilenadresse z. B. nicht als Zeilenadresse verwendet,
sondern als Speichereinrichtungsadresse. Das sind zusätzliche
Adressen die die einzelne Speichereinrichtung nicht hätte.
-
In
einer weiteren Ausführungsform
kann das Zeilenaktivierungskommando beispielsweise eine Zeilenadresse
und eine Bankadresse umfassen. Ein Teil der Zeilenadresse, z. B.
A14, A15 und A16 (gemäß JEDEC
Standard), wird dann von einer Speichereinrichtung durch die "vertauschte" Verdrahtung zur Adressierung
einer Bank innerhalb der Speichereinrichtung verwendet. Die vom
Controller generierte Bankadresse BA0, BA1 und BA2 (gemäß JEDEC Standard)
kann zur Adressierung einer bestimmten Speichereinrichtung der Speichervorrichtung
verwendet werden. Die Speichervorrichtung verhält sich somit bei einer 8 Gigabit
Stack-Anordnung aus Ein-Gigabit Speichereinrichtungen so, als ob
eine Speichereinrichtung einer Bank entspricht.
-
Die
beispielsweise von einem Controller generierte Bankadresse (z. B.
BA0, BA1, BA2) kann also zur Auswahl bzw. Adressierung einer Speichereinrichtung
verwendet werden, in welcher in einer jeweiligen Bank eine Wortleitung
aktiviert wird. Die Wortleitung wird dabei beispielsweise durch
die Zeilenadressbits A0 bis A13 gemäß JEDEC Standard ausgewählt bzw.
adressiert.
-
In
anderen Worten wird ein Zeilenaktivierungskommando von einem Controller
bzw. Speichercontroller bereitgestellt, wobei der Speichercontroller
eigentlich mit einer Bankadresse eine Bank auswählen will. Tatsächlich wählt der
Speichercontroller aber mit einer Bankadresse eine Speichereinrichtung
bzw. einen bestimmten Speicherchip aus. Andererseits wird die von
dem Controller generierte und im Zeilenaktivierungskommando enthaltene
Zeilenadresse zur Auswahl einer Bank in einer durch die Bankadresse
ausgewählten
Speichereinrichtung verwendet.
-
Die
Zeilenadresse kann einen ersten Adressteil, z. B. A0 bis A13, und
einen zweiten Adressteil, z. B. A14 bis A16, aufwei sen, wobei der zweite
Adressteil A14 bis A16 zur Auswahl der jeweiligen Bank verwendet
wird.
-
Der
erste Adressteil A0 bis A13 kann zur Auswahl einer Wortleitung in
einer durch den zweiten Adressteil (A14 bis A16) ausgewählten Bank
verwendet werden.
-
Gemäß einer
weiteren Ausführungsform kann
zumindest ein Teil des Zeilenaktivierungskommandos gespeichert werden,
beispielsweise zumindest bis zum Erhalt eines Precharge Kommandos
mit dem die Wortleitung wieder geschlossen bzw. deaktiviert wird.
-
Der
gespeicherte Teil des Zeilenaktivierungskommandos kann der oben
erwähnte
zweite Adressteil (A14 bis A16) sein.
-
9 zeigt
eine weitere Ausführungsform
eines Verfahrens zum Betrieb einer Speichervorrichtung, wobei im
Schritt S900 ein Zeilenaktivierungskommando von einem Controller
empfangen wird.
-
Im
Schritt S902 wird ein Speicherchip in Abhängigkeit von BA0, BA1 und BA2
(Bankadressen gemäß JEDEC
Standard, vom Controller erzeugt) ausgewählt. Es ist daher möglich, dass
nur ein durch BA0, BA1 und BA2 ausgewählter Speicherchip "aktiviert" wird. Das heißt, nur
falls ein bestimmter Speicherchip durch BA0, BA1 und BA2 adressiert
wird, decodiert dieser ausgewählte
Chip ein Zeilenaktivierungskommando und/oder folgendes Spaltenkommando
vollständig.
Somit kann z. B. Strom eingespart werden. Es wird beispielsweise
auch dadurch Strom gespart, dass nur eine Wortleitung pro Chip aktiviert
sein kann.
-
Im
Schritt S904 wird schließlich
in Abhängigkeit
von A14, A15 und A16 eine Bank in dem durch BA0, BA1 und BA2 ausgewählten Speicherchip adressiert.
-
Im
Schritt S906 werden die Werte von A14, A15 und A16 des Zeilenaktivierungskommandos
gespeichert. Im Schritt S908 wird ein Spaltenkommando, z. B. A0
bis A9/A11 gemäß JEDEC
Standard, empfangen.
-
Im
Schritt S910 wird zunächst
das Spaltenkommando aus Schritt S908 insoweit ausgewertet, als dass
festgestellt wird, welcher Speicherchip durch die im Spaltenkommando
enthaltene Bankadresse adressiert wird. Das heißt, in einer weiteren Ausführungsform
der Erfindung wird auch beim Lesen/Schreiben nur dann auf einen
Speicherchip zugegriffen, falls dieser durch die Bankadresse des Spaltenkommandos
ausgewählt
bzw. adressiert wird.
-
Um
festzustellen, aus welcher Bank innerhalb des durch BA0, BA1, BA2
des Spaltenkommandos adressierten Speicherchips gelesen werden soll bzw.
in welche Bank geschrieben werden soll, werden die gespeicherten
Werte von A14, A15 und A16 verwendet. Das heißt, Speicherinhalte werden
aus Bänken
ausgelesen bzw. in Bänke
geschrieben, die durch die gespeicherten Werte von A14, A15 und A16
festgelegt sind. Zur Aktivierung eines Speichers bzw. von Registern,
in welchen die Werte A14, A15, A16 des Zeilenaktivierungskommandos
gespeichert sind, können
z. B. die Kommandobussignale RAS (= Row Address Strobe), CAS (=
Column Address Strobe) und/oder WE (= Write Enable) verwendet werden.
Alternativ und/oder zusätzlich
können
auch die Kontrollbussignale CS (= Chip Select), ODT (= On Die Termination)
und/oder CKE (= Clock Enable) verwendet werden.
-
10A zeigt eine Speichervorrichtung 1000.
Die Speichervorrichtung 1000 besteht aus acht Speichereinrichtungen 1000-1,
..., 1000-8. Die Speichereinrichtungen 1000-1 bis 1000-8 können beispielsweise
in einem Gehäuse
in einer Stackanordnung ange ordnet sein, wobei die Kontaktierung
mittels Balls erfolgt. Die Speichereinrichtungen 1000-1 bis 1000-8 können z.
B. durch ein oder eine Mehrzahl Through Silicon Via (TSV) miteinander
verbunden sein.
-
Die
Verdrahtung der Speichervorrichtung 1000 kann so gewählt sein,
dass durch eine von einem Speichercontroller bereitgestellte Bankadresse BA0,
BA1, BA2 eine der acht Speichereinrichtungen 1000-1, ..., 1000-8 ausgewählt wird.
Da die Bankadresse BA0, BA1, BA2 gemäß JEDEC Standard vom Speichercontroller
sowohl bei einem Zeilenaktivierungskommando (Row Command) als auch
bei einem Spaltenkommando (Column Read/Write Command) bereitgestellt
wird, ist die beschriebene Adressierung bzw. Aktivierung einer Speichereinrichtung sowohl
beim Erhalt eines Zeilenaktivierungskommandos als auch beim Erhalt
eines Spaltenkommandos möglich.
-
Demgemäß wird durch
eine vom Speichercontroller bereitgestellte Bankadresse BA0, BA1, BA2
in Wirklichkeit keine Bank innerhalb einer Speichereinrichtung ausgewählt bzw.
adressiert, sondern eine der Speichereinrichtungen 1000-1,
..., 1000-8. Beispielsweise kann durch eine Bankadresse
BA0, BA1, BA2 = 011 die vierte Speichereinrichtung 1000-4 ausgewählt werden.
-
Das
Zeilenaktivierungskommando enthält gemäß JEDEC
Standard beispielsweise die Zeilenadressen A0 bis A16 sowie eine
Bankadresse BA0, BA1 und BA2. Wie bereits beschrieben, wird durch die
Bankadresse BA0, BA1, BA2 eine bestimmte Speichereinrichtung 1000 ausgewählt. Durch
einen Teil der Zeilenadresse A0, A16 wird eine Bank innerhalb der
durch BA0, BA1, BA2 ausgewählten
Speichereinrichtung adressiert. Beispielsweise kann durch A14, A15,
A16 = "010" eine dritte Bank
B3 einer Speichereinrichtung ausgewählt werden. Die übrigen Zeilenadressbits
A0 bis A13 der Zeilenadresse werden verwendet, um eine bestimmte
Wortleitung innerhalb der durch A14, A15, A16 adressierten Bank auszuwählen bzw.
diese zu aktivieren.
-
In
anderen Worten wird bei der Ausführungsform
gemäß 10A durch eine von einem Controller bereitgestellte
Bankadresse eine Speichereinrichtung 1000 ausgewählt, und
durch einen Teil der Zeilenadresse, beispielsweise A14, A15 und
A16 eine Bank innerhalb der ausgewählten Speichereinrichtung 1000.
-
Die
aktivierten Wortleitungen sind in 10A mit
Bezugszeichen 1002-1, ..., 1002-8 gekennzeichnet.
Aufgrund der Zuordnung von BA0, BA1, BA2 zu Speichereinrichtungen
ergibt sich, dass pro Speichereinrichtung maximal eine Wortleitung 1002 aktiviert
werden kann, da der Controller pro Speichereinrichtung nur eine
Bank „sieht".
-
Nach
Abarbeitung eines Zeilenaktivierungskommandos kann ein folgendes
Spaltenkommando verarbeitet werden. Das Spaltenkommando enthält beispielsweise
eine Spaltenadresse A0, ..., A9/A11 und eine Bankadresse BA0, BA1,
BA2. Bei der Verarbeitung eines Spaltenkommandos wird wiederum durch
die Bankadresse BA0, BA1, BA2 eine Speichereinrichtung 1000 adressiert.
Durch die Spaltenadresse A0, ..., A9/A11 wird in einer Bank mit
einer aktivierten Wortleitung 1002 eine entsprechende Spalte aktiviert,
so dass ein entsprechender Speicherinhalt ausgelesen wird.
-
Um
zu verhindern, dass bei einem Spaltenkommando auf eine Bank ohne
aktivierte Wortleitung zugegriffen wird, werden die Werte A14, A15,
A16 des Zeilenaktivierungskommandos beispielsweise in einem Register
gespeichert. Hierfür
kann ein Speicherregister beispielsweise in jeder Speichereinrichtung 1000 vorgesehen
werden, wobei in der Ausführungsform
gemäß 10A die Größe des Speicherregisters
beispielsweise 3 Bit ist, so dass die Information, welche der acht
Bänke eine
aktivierte Wortleitung enthält,
gespeichert werden kann.
-
Bei
der Speichervorrichtung 1000 ist es möglich, dass nicht jede Speichereinrichtung 1000 ein Zeilenaktivierungskommando
und/oder ein entsprechendes Spaltenkommando vollständig decodieren muss,
da eine Decodierung möglicherweise
nur dann erfolgen muss, wenn eine Speichereinrichtung 1000 durch
BA0, BA1, BA2 angesprochen wird.
-
10B zeigt eine Speichervorrichtung 1008 gemäß einer
weiteren Ausführungsform
der Erfindung. Die Speichervorrichtung 1008 umfasst vier Speichereinrichtungen 1010-1 bis 1010-4,
die beispielsweise jeweils eine Größe von 1 Gbit aufweisen können. Die
Größe der Speichervorrichtung 1008 beträgt somit
4 Gbit. Bei der Ausführungsform
gemäß 10B werden zur Auswahl einer der Speichereinrichtungen 1010 nur
die Bankadressen BA0 und BA1 des Zeilenaktivierungskommandos verwendet.
Das heißt,
eine Speichereinrichtung 1110, in welcher eine Wortleitung
aktiviert werden soll, wird durch die in dem Zeilenaktivierungskommando
enthaltenen Bankadressteile BA0 und BA1 ausgewählt.
-
Innerhalb
einer durch BA0 und BA1 ausgewählten
Speichereinrichtung wird eine Bank durch die Zeilenadressbits A14,
A15 sowie durch das Bankadressbit BA2 ausgewählt.
-
Zur
Aktivierung einer Wortleitung 1012 wird also ein Teil der
Bankadresse beispielsweise die Bankadressbits BA0 und BA2 zur Auswahl
einer Speichereinrichtung 1010 verwendet, und ein Teil
der Zeilenadresse, beispielsweise die Zeilenadressbits A14 und A15,
sowie ein weiterer Teil der Bankadresse, beispielsweise das Bankadressbit
BA2, wird verwendet, um eine bestimmte Bank innerhalb der Speichereinrichtung
zu aktivieren.
-
Bei
der Ausführungsform
von 10B ist es somit möglich, dass
in einer Speichereinrichtung 1010 durch aufeinander folgende
Zeilenaktivierungskommandos Wortleitungen in zwei Bänken geöffnet bzw.
aktiviert werden.
-
Bei
der Ausführungsform
von 10B müssen in jeder Speichereinrichtung 1010 lediglich
zwei Bits in einem Register gespeichert werden, nämlich die
Zeilenadressbits A14 und A15.
-
Anhand
der 10A und 10B wird deutlich,
dass es auch möglich
ist, beispielsweise einen Stack aus lediglich zwei 1 Gbit Speichereinrichtungen
aufzubauen. Dabei würde
beispielsweise die Speichereinrichtung durch das Bankadressbit BA0 ausgewählt, wobei
eine jeweilige Bank innerhalb einer der beiden Speichereinrichtungen
durch das Zeilenadressbit A14, sowie die Bankadressbits BA1 und BA2
ausgewählt
werden.
-
11 zeigt
schematisch eine Unterseite 1102 einer Speichervorrichtung 1100 gemäß einer weiteren
Ausführungsform
der Erfindung.
-
Die
Unterseite 1102 weist Balls zum Anschluss der Speichervorrichtung 1100 auf.
Die Balls werden auch als "äußere Anschlüsse" der Speichervorrichtung 1100 bezeichnet.
Die Anordnung der Balls erfolgt beispielsweise gemäß dem JEDEC Standard,
so dass genau festgelegt ist, an welchem äußeren Anschluss eine bestimmte
Signalleitung eines Controllers zur Steuerung des Speichers bzw. zum
Zugriff auf den Speicher angelegt wird.
-
Der Übersicht
halber sind in 11 lediglich die äußeren Anschlüsse BA0-0,
BA1-0, BA2-0, A14-0, A15-0, A16-0 für eine Speichereinrichtung dargestellt.
Die äußeren Anschlüsse BA0-0,
BA1-0, BA2-0 werden vom Speichercontroller mit einer Bankadresse
versorgt. Die äußeren Anschlüsse A14-0,
A15-0 und A16-0 werden vom Speichercontroller mit den Zeilenadressbits
A14, A15, A16 versorgt bzw. angesteuert. Die übrigen äußeren Adressanschlüsse A0 bis
A13 sind, wie bereits erwähnt,
der Übersicht
halber, nicht dargestellt.
-
In
einem Ausschnitt 1104 sind beispielhaft die Adressleitungsanschlüsse A14-1,
A15-1, A16-1 einer Speichereinrichtung dargestellt, sowie die Bankadressanschlüsse BA0-1,
BA1-1, BA2-1 der Speichereinrichtung. Die Adressleitungsanschlüsse A14-1,
A15-1, A16-1 und Bankadressanschlüsse BA0-1, BA1-1, BA2-1 sind
die Anschlüsse
der Speichereinrichtung die gemäß JEDEC
Standard bisher zur Zeilenadressierung bzw. Bankadressierung verwendet
wurden.
-
Bei
einer herkömmlichen
Verdrahtung würden
nun die äußeren Bankadressanschlüsse mit
den Bankadressanschlüssen
der Speichereinrichtung verbunden werden, d. h. BA0-0 würde mit
BA0-1 verbunden werden und so fort. Ferner würden die äußeren Adressleitungsanschlüsse A14-0,
A15-0, A16-0 mit den Zeilenadressanschlüssen A14-1, A15-1, A16-1 der
Speichereinrichtung verbunden.
-
Gemäß der Ausführungsform
der Erfindung von 11, geschieht dies jedoch nicht.
Stattdessen werden die äußeren Bankadressanschlüsse mit
den Zeilenadressanschlüssen
der Speichereinrichtung verbunden und die äußeren Zeilenadressanschlüsse mit
den Bankadressanschlüssen
der Speichereinrichtung.
-
In
anderen Worten ergeben sich folgende Verbindungen: BA0-0 mit A14-1,
BA1-0 mit A15-1, BA2-0 mit A16-1 und A14-0 mit BA0-1, A15-0 mit BA1-1
und A16-0 mit BA2-1.
-
Somit
kann eine Bankadresse des Speichercontrollers zur Auswahl einer
Speichereinrichtung verwendet werden. Ferner kann durch die Adressbits A14,
A15, A16 eines Zeilenaktivierungskommandos eine bestimmte Bank innerhalb
einer Speichereinrichtung ausgewählt
werden.
-
12 zeigt
schematisch eine kreuzweise Verdrahtung 1200 zwischen einem
Controller 1202 und einer Speichereinrichtung 1204,
die beispielsweise Teil einer Stackanordnung in einer Speichervorrichtung
sein kann.
-
Wie
dargestellt, wird durch die "vertauschte Verdrahtung" eine von einem Controller 1202 erzeugte
Bankadresse BA0, BA1, BA2 auf die Anschlüsse A14, A15, A16 der Speichereinrichtung 1204 gelegt. Ferner
wird ein Teil der Zeilenadresse, d. h. die Adressleitungen A14,
A15, A16 auf die Bankanschlüsse
BA0, BA1, BA2 der Speichereinrichtung 1204 gelegt.
-
Die
Vertauschung von einer Bankadresse mit einer Zeilenadresse kann
beispielsweise auch durch ein entsprechendes Routing eines DIMM
(Dual Inline Memory Module) erreicht werden. In diesem Fall wäre die Speichervorrichtung
normal verdrahtet, wobei die in der Speichervorrichtung enthaltenen Speichereinrichtungen
die beschriebenen Speicher bzw. Register bzw. Speichereinheiten
aufweisen. Ferner könnte
die Vertauschung auch durch einen Advanced Memory Buffer (AMB) erfolgen.
Der Advanced Memory Buffer könnte
beispielsweise auf dem DIMM oder dem Motherboard angeordnet sein.
-
13 zeigt
eine weitere Ausführungsform einer
Speichereinrichtung 1300. Die Speichereinrichtung 1300 enthält einen
Kontrolllogikblock 1302, Bänke 1304-1, ..., 1304-8,
einen Selektor 1306, einen Kommandodecoder 1308,
eine Einstellvorrichtung 1310, Speicherregister 1312-1,
..., 1312-3, 2:1-Multiplexer 1314-1, ..., 1314-3,
sowie weitere Kontrolllogik 1316.
-
Beim
Betrieb der Speichereinrichtung 1300 erhält der Kommandodecoder 1308 via
dem CA-Bus, CMD-Bus und Kontrollbus beispielsweise ein Zeilenaktivierungskommando
und/oder ein Spaltenkommando. Zum Zugriff auf einen bestimmten Speicherinhalt
kann beispielsweise zunächst
ein Zeilenaktivierungskommando empfangen und verarbeitet werden
und anschließend
ein Spaltenkommando.
-
Das
Zeilenaktivierungskommando wird beispielsweise von einem Speichercontroller
bereitgestellt und enthält
Zeilenadressbits A0' bis
A16' sowie eine
Bankadresse BA0' bis
BA2'. Die vom Controller erzeugte
Bankadresse BA0',
BA1', BA2' wird der Speichereinrichtung 1300 als
Zeilenadresse zugeführt.
Das heißt,
die vom Controller bereitgestellte Bankadresse BA0', BA1', BA2' wird den gemäß JEDEC
Standard üblicherweise
verwendeten Anschlüssen
A14, A15, A16 der Speichereinrichtung 1300 zugeführt. Weiterhin
wird ein Teil der vom Controller erzeugten Zeilenadressbits, nämlich die
Adressbits A14',
A15' und A16', von der Speichereinrichtung 1300 als
Bankadresse aufgefasst, d. h., die vom Controller erzeugten Adressbits
A14', A15', A16' werden den gemäß JEDEC
Standard verwendeten Bankadressleitungen (in 13 durch
BA0, BA1 und BA2 gekennzeichnet) zugeführt.
-
Der
Kommandodecoder 1308 kann anhand der an seinen Anschlüssen A14,
A15, A16 anliegenden Werte (die einer vom Controller erzeugten Bankadresse
BA0', BA1', BA2' entsprechen) entscheiden, ob
die Speichereinrichtung 1300 angesprochen wird. In einer
Ausführungsform
der Erfindung ist es möglich,
dass ein Kommando nur dann decodiert wird, wenn der Kommandodecoder 1308 anhand
von A14, A15, A16 feststellt, dass die Speichereinrichtung 1300 adressiert
wird. Somit kann z. B. Strom gespart werden.
-
Die
Speichereinrichtung 1300 wird also so angeschlossen, dass
eine vom Controller erzeugte Bankadresse BA0', BA1', BA2' an den Anschlüssen A14, A15, A16 der Speichereinrichtung 1300 anliegt, und
vom Controller erzeugte Zeilenadressbits A14', A15' und A16' and den Anschlüssen BA0, BA1, BA2 der Speichereinrichtung.
Dabei entsprechen die Anschlüsse
A14, A15, A16 und BA0, BA1, BA2 Anschlüssen, die normalerweise gemäß einem
vorbestimmten Standard, z. B. JEDEC Standard, zum Anschluss von
entsprechenden Zeilenadressleitungen bzw. Bankadressleitungen verwendet
werden.
-
Die
Einstellvorrichtung 1310 steuert die Speicherregister 1312-1, 1312-2, 1312-3 sowie
die 2:1-Multiplexer 1314-1, 1314-2, 1314-3. Beim Erhalt eines
Zeilenaktivierungskommandos stellt die Einstellvorrichtung 1310 die
Speicherregister 1312-1, 1312-2, 1312-3 so
ein, dass die jeweiligen am Eingang anliegenden Signale bzw. Werte
eingespeichert ("gelatched") werden. Das heißt, beim
Empfang eines Zeilenaktivierungskommandos werden die Werte, die
an den Signalen 1317-1, 1317-2, 1317-3 anliegen,
in die jeweiligen Register 1312 übernommen.
-
Ferner
stellt die Einstellvorrichtung 1310 die 2:1-Multiplexer 1314 so
ein, dass die Signale 1317-1, 1317-2, 1317-3 am
Ausgang anliegen. Das heißt,
die Signale 1318-1, 1318-2, 1318-3 entsprechen
den Signalen 1317-1, 1317-2, 1317-3.
-
Der
Kommandodecoder 1308 erhält somit beim Empfang eines
Zeilenaktivierungskommandos die vom Controller erzeugten Adressbits
A14', A15', A16', die er dann, wie
oben beschrieben, als Bankadresse auffasst. D. h., durch die "vertauschte" Verdrahtung verwendet
der Kommandodecoder 1308 die anliegenden Signale A14', A15', A16' zur Auswahl einer
der Bänke 1304-1,
..., 1304-8. Das heißt,
durch die vom Controller erzeugten Adressbits A14', A15', A16' wählt der
Kommandodecoder 1308 via Se lektor 1306 eine Bank 1304 aus,
in welcher eine Wortleitung aktiviert wird. Im Beispiel von 13 wird
die sechste Bank 1304-6 ausgewählt.
-
Innerhalb
einer durch A14',
A15', A16' ausgewählten Bank
wird eine Wortleitung 1305 durch die (richtig verdrahteten)
Adressbits A0 bis A13 ausgewählt.
D. h. die vom Controller erzeugten Adressbits A0 bis A13' werden an die "richtigen" bzw. normalerweise
hierfür
vorgesehenen Anschlüsse
A0 bis A13 der Speichereinrichtung angeschlossen.
-
Wie
oben beschrieben, wird die Speichereinrichtung 1300 durch
die vom Controller erzeugte Bankadresse BA0', BA1', BA2' ausgewählt bzw. aktiviert. Dies kann
durch den Kommandodecoder 1308 festgestellt werden. Falls
der Kommandodecoder 1308 feststellt, dass die Speichereinrichtung 1300 ausgewählt bzw.
adressiert wurde, erfolgt die Auswahl einer Bank, in der eine Wortleitung
zu aktivierenden ist, durch die vom Controller erzeugten Adressbits
A14', A15', A16'.
-
Beim
Erhalt eines Spaltenkommandos stellt der Controller gemäß JEDEC
Standard die Adressbits A14',
A15', A16' nicht bereit. Deshalb
stellt die Einstellvorrichtung 1310 beim Erhalt eines Spaltenkommandos
die 2:1-Multiplexer 1314-1, 1314-2, 1314-3 so
ein, dass am jeweiligen Ausgang 1318-1, 1318-2, 1318-3 der
Inhalt eines jeweiligen Speicherregister 1312-1, 1312-2, 1312-3 anliegt.
Dem Kommandodecoder 1308 steht somit beim Erhalt eines Spaltenkommandos
die Information zur Verfügung welche
Bank eine durch das Zeilenaktivierungskommando aktivierte Wortleitung 1305 enthält.
-
Somit
kann der Kommandodecoder 1308 beim Erhalt eines Spaltenkommandos
Speicherinhalte gezielt aus einer Bank auslesen bzw. in eine Bank schreiben,
in welcher Bank eine Wortleitung aktiviert ist.
-
Der
Kontrolllogikblock 1302 ist anschließend für die Datenübertragung zwischen den Bänken und einem
Datenbus DQ zuständig.
-
Die
weitere Kontrolllogik 1316-1, 1316-2, 1316-3 enthält jeweils
Tri State Buffer, die verwendet werden können, um die Speichereinrichtung 1300 als eine
Masterspeichereinrichtung oder als eine Slavespeichereinrichtung
zur Verwendung in einer Stackanordnung einzustellen (siehe hierzu
auch Beschreibung von 6).