DE102007036990B4 - Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung - Google Patents
Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung Download PDFInfo
- Publication number
- DE102007036990B4 DE102007036990B4 DE102007036990A DE102007036990A DE102007036990B4 DE 102007036990 B4 DE102007036990 B4 DE 102007036990B4 DE 102007036990 A DE102007036990 A DE 102007036990A DE 102007036990 A DE102007036990 A DE 102007036990A DE 102007036990 B4 DE102007036990 B4 DE 102007036990B4
- Authority
- DE
- Germany
- Prior art keywords
- bank
- memory
- memory device
- command
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
Abstract
Verfahren zum Betrieb einer Speichervorrichtung, welche wenigstens zwei Speichereinrichtungen umfasst, wobei jede Speichereinrichtung wenigstens zwei Bänke enthält, umfassend:
Aktivierung wenigstens einer Wortleitung in wenigstens einer Bank gemäß einem Zeilenaktivierungskommando, wobei durch das Zeilenaktivierungskommando angegeben wird, welche Wortleitung in welcher Bank und in welcher Speichereinrichtung aktiviert wird;
Speichern von Bankinformation, die angibt, welche Bänke pro Speichereinrichtung eine durch das Zeilenaktivierungskommando aktivierte Wortleitung enthalten, und
Empfangen eines Spaltenkommandos, welches eine Bankadresse enthält zur Angabe einer jeweiligen Bank, aus der die Speicherinhalte ausgelesen werden sollen bzw. in welche Speicherinhalte geschrieben werden sollen, wobei:
beim Auslesen/Schreiben von Speicherinhalten jede Speichereinrichtung das Spaltenkommando erhält und decodiert.
Aktivierung wenigstens einer Wortleitung in wenigstens einer Bank gemäß einem Zeilenaktivierungskommando, wobei durch das Zeilenaktivierungskommando angegeben wird, welche Wortleitung in welcher Bank und in welcher Speichereinrichtung aktiviert wird;
Speichern von Bankinformation, die angibt, welche Bänke pro Speichereinrichtung eine durch das Zeilenaktivierungskommando aktivierte Wortleitung enthalten, und
Empfangen eines Spaltenkommandos, welches eine Bankadresse enthält zur Angabe einer jeweiligen Bank, aus der die Speicherinhalte ausgelesen werden sollen bzw. in welche Speicherinhalte geschrieben werden sollen, wobei:
beim Auslesen/Schreiben von Speicherinhalten jede Speichereinrichtung das Spaltenkommando erhält und decodiert.
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Betrieb einer Speichervorrichtung, eine Speichereinrichtung sowie eine Speichervorrichtung (bzw. ein Speichermodul), welche wenigstens eine Speichereinrichtung enthält.
- Der Speicherbedarf von 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
- Im Einzelnen ist eine Speichervorrichtung mit vier Speichereinrichtungen mit jeweils einer Speicherbank aus der
DE 694 28652 T2 bekannt. Weiterhin beschreibt dieDE 10 2004 020 038 A1 eine Speichervorrichtung. Mit einer Vielzahl von Speichereinrichtungen in einer Stapelanordnung. Schließlich ist aus derUS 2005/0044302 A1 - Es ist eine Aufgabe der Erfindung, ein Verfahren zum Betrieb einer Speichereinrichtung eine Speichereinrichtung und eine Speichervorrichtung bereitzustellen, welches bzw. welche eine hohe Speicherleistung bei einer hohen Geschwindigkeit ermöglicht.
- Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1, eine Speichereinrichtung gemäß Anspruch 8 sowie eine Speichervorrichtung gemäß Anspruch 15. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
1 zeigt ein Ablaufdiagramm eines Verfahrens zum Betrieb einer Speichervorrichtung gemäß dem Stand der Technik; -
2 zeigt ein Ablaufdiagramm gemäß einer 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. -
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 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 aktivierten 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 Bankadressbits 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 Speichereinrichtung300 gemäß einer Ausführungsform der Erfindung, welche acht Bänke302-1 bis302-8 , sowie einen Kommandodecoder304 und ein Speicherregister306 enthält. - Der Zugriff auf die Speichereinrichtung
300 wird mittels eines ersten Kontrollsignals308 gesteuert, wobei das erste Kontrollsignal308 beispielsweise via einem CA-Bus und/oder einem Kontrollbus übertragen wird. Der CA-Bus kann außer Commandosignalen (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 Kontrollsignal308 enthalten sein kann, aktivieren. Ferner kann der Kommandodecoder304 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 Kommandodecoder304 durch ein Bankinformationssignal310 an das Speicherregister306 ü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 Speicherregister306 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änke302-1 bis302-8 abhängen. In der in3 gezeigten Ausführungsform sind acht Bänke302-1 bis302-8 vorgesehen. Die Größe des Speicherregisters kann acht Bit betragen. Somit kann im Speicherregister306 gespeichert werden, welche der acht Bänke302-1 bis302-8 eine aktivierte bzw. geöffnete Wortleitung aufweist. -
4 zeigt eine Speichervorrichtung4 , welche acht Speichereinrichtungen402-1 bis402-8 enthalt. Eine Speichereinrichtung402 kann beispielsweise ein Speicherchip sein, der eine Speichergröße von 1 Gigabit bereitstellt. Jede Speichereinrichtung402-1 bis402-8 umfasst Speicherbänke404 bis418 , wobei jede Speichereinrichtung402 jeweils acht Speicherbänke404-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 von4 die Adressbits A14, A15 und A16 zur Adressierung einer bestimmten Speichereinrichtung402-1 , ...,402-8 verwendet werden. Beispielsweise kann die fünfte Speichereinrichtung402-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 Wortleitungen420-1 bis420-8 , wobei durch die beschriebene Adressierung gewährleistet ist, dass in allen ersten Bänken404-1 , ...,418-1 nur eine einzige Wortleitung420-1 aktiviert ist. Ebenso ist in allen zweiten Speicherbänken404-2 , ...,418-2 nur eine einzige Wortleitung420-2 aktiviert. Das Analoge gilt für die jeweils dritten bis achten Speicherbänke404-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 Speichereinrichtungen402-1 bis402-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 bis402-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 bis402-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 Speichereinrichtung500 , die beispielsweise in einer Stackanordnung verwendet werden kann. Die Speichereinrichtung500 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 Kommandodecoder502 , ein Speicherregister504 , acht Bänke506-1 , ...,506-8 , und einen Kontrolllogikbaustein508 . - Der Kommandodecoder
502 erhält von einem externen Speichercontroller via einem CA-Bus514 Zeilen- und/oder Spaltenadressen und Kommandos (RAS/CAS/WE), sowie Bankadressen BA0–BA2. Ferner erhält der Kommandodecoder502 via einem 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 Kommandodecoder502 ein Spaltenkommando, das durch die Adressbits A0 bis A9/A11 eine Spalte adressiert. - Im Beispiel von
5 erhält der Kommandodecoder502 ein Zeilenaktivierungskommando, durch das z. B. in der ersten Bank506-1 eine Wortleitung aktiviert wird, während in der fünften Bank506-5 bereits eine Wortleitung adressiert ist. Die Information, in welcher Bank jeweils eine Wortleitung aktiviert wird, wird im Register504 gespeichert. Dadurch ”weiß” die Speichereinrichtung500 bei Erhalt eines Spaltenkommandos, ob sie auf eine bestimmte Bank zugreifen darf. - Die Steuerung des Registers
504 bzw. der Bänke506-1 bis506-8 erfolgt durch entsprechende Selektoren510 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änke506 aktiviert. In5 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 Register504 gespeicherten Bankinformation enthalten ist. Falls ja, so wird ein Zugriff via den Signalen522 auf den Datenbus DQ zugelassen. Die entsprechende Zugriffssteuerung kann beispielsweise durch die Kontrolllogikschaltung508 erfolgen. -
6 zeigt eine Speichervorrichtung600 , welche eine Stackanordnung aus Speichereinrichtungen bzw. Speicherchips602-1 bis602-4 aufweist. Die Speichervorrichtung600 wird auch als DRAM Stack bezeichnet. Die unterste Speichereinrichtung602-1 des Stacks ist eine Masterspeichereinrichtung und die übrigen Speichereinrichtungen602-2 ,602-3 und602-4 sind Slavespeichereinrichtungen. Jede der Speichereinrichtungen602-1 bis602-4 enthält eine jeweilige Kontrolllogik608-1 bis608-4 . Die Kontrolllogik608 steuert jeweils den Zugriff auf den Datenbus DQ. Die Kontrolllogik608 enthält jeweils einen Tri State Buffer610 , der jedoch bei den Slavespeichereinrichtungen602-2 ,602-3 und602-4 auch entfallen könnte, da er bei Slavespeichereinrichtungen nicht benotigt wird. - Die Speichereinrichtungen
602-1 bis602-4 sind durch ein oder eine Mehrzahl von Through Silicon Vias (TSV)606 miteinander verbunden. - Jeder Speicherbaustein
602 enthält einen DRAM Core604 , der beispielsweise die oben beschriebenen Bänke etc. enthält. - Die Speichereinrichtungen
602-1 bis602-4 enthalten weiterhin weitere Kontrolllogik612 , die u. a. Tri State Buffer enthält. Damit kann eine Speichereinrichtung entweder als Master oder als Slave eingestellt werden. Die weitere Kontrolllogik612-1 ist so eingestellt bzw. konfiguriert, dass die Speichereinrichtung602-1 als Master arbeitet. Empfangene Kommandos werden somit bspw. über den TSV606 verteilt bzw. weitergeleitet. Die weitere Kontrolllogik612-2 der Speichereinrichtungen602-1 ,602-3 und602-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 in7 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. Halbleiterspeichereinrichtungen 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, aufweisen, 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 Speichervorrichtung1000 . Die Speichervorrichtung1000 besteht aus acht Speichereinrichtungen1000-1 , ...,1000-8 . Die Speichereinrichtungen1000-1 bis1000-8 können beispielsweise in einem Gehäuse in einer Stackanordnung angeordnet sein, wobei die Kontaktierung mittels Balls erfolgt. Die Speichereinrichtungen1000-1 bis1000-8 können z. B. durch ein oder eine Mehrzahl Through Silicon Vias (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 Speichereinrichtungen1000-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 ausgewahlt bzw. adressiert, sondern eine der Speichereinrichtungen
1000-1 , ...,1000-8 . Beispielsweise kann durch eine Bankadresse BA0, BA1, BA2 = 011 die vierte Speichereinrichtung1000-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 Speichereinrichtung1000 ausgewählt, und durch einen Teil der Zeilenadresse, beispielsweise A14, A15 und A16 eine Bank innerhalb der ausgewählten Speichereinrichtung1000 . - Die aktivierten Wortleitungen sind in
10A mit Bezugszeichen1002-1 , ...,1002-8 gekennzeichnet. Aufgrund der Zuordnung von BA0, BA1, BA2 zu Speichereinrichtungen ergibt sich, dass pro Speichereinrichtung maximal eine Wortleitung1002 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 Wortleitung1002 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 enthalt, gespeichert werden kann. - Bei der Speichervorrichtung
1000 ist es möglich, dass nicht jede Speichereinrichtung1000 ein Zeilenaktivierungskommando und/oder ein entsprechendes Spaltenkommando vollständig decodieren muss, da eine Decodierung möglicherweise nur dann erfolgen muss, wenn eine Speichereinrichtung1000 durch BA0, BA1, BA2 angesprochen wird. -
10B zeigt eine Speichervorrichtung1008 gemäß einer weiteren Ausführungsform der Erfindung. Die Speichervorrichtung1008 umfasst vier Speichereinrichtungen1010-1 bis1010-4 , die beispielsweise jeweils eine Größe von 1 Gbit aufweisen können. Die Größe der Speichervorrichtung1008 beträgt somit 4 Gbit. Bei der Ausführungsform gemäß10B werden zur Auswahl einer der Speichereinrichtungen1010 nur die Bankadressen BAD und BA1 des Zeilenaktivierungskommandos verwendet. Das heißt, eine Speichereinrichtung1110 , in welcher eine Wortleitung aktiviert werden soll, wird durch die in dem Zeilenaktivierungskommando enthaltenen Bankadressteile BA0 und BA1 ausgewählt. - Innerhalb einer durch BAD 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 Speichereinrichtung1010 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 Speichereinrichtung1010 durch aufeinander folgende Zeilenaktivierungskommandos Wortleitungen in zwei Bänken geöffnet bzw. aktiviert werden. - Bei der Ausführungsform von
10B müssen in jeder Speichereinrichtung1010 lediglich zwei Bits in einem Register gespeichert werden, nämlich die Zeilenadressbits A14 und A15. - Anhand der
10A und10B 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 Unterseite1102 einer Speichervorrichtung1100 gemäß einer weiteren Ausführungsform der Erfindung. - Die Unterseite
1102 weist Balls zum Anschluss der Speichervorrichtung1100 auf. Die Balls werden auch als ”äußere Anschlüsse” der Speichervorrichtung1100 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 auß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 Verdrahtung1200 zwischen einem Controller1202 und einer Speichereinrichtung1204 , 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 Speichereinrichtung1204 gelegt. Ferner wird ein Teil der Zeilenadresse, d. h. die Adressleitungen A14, A15, A16 auf die Bankanschlüsse BA0, BA1, BA2 der Speichereinrichtung1204 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 Speichereinrichtung1300 . Die Speichereinrichtung1300 enthält einen Kontrolllogikblock1302 , Bänke1304-1 , ...,1304-8 , einen Selektor1306 , einen Kommandodecoder1308 , eine Einstellvorrichtung1310 , Speicherregister1312-1 , ...,1312-3 , 2:1-Multiplexer1314-1 , ...,1314-3 , sowie weitere Kontrolllogik1316 . - Beim Betrieb der Speichereinrichtung
1300 erhält der Kommandodecoder1308 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 Speichereinrichtung1300 zugeführt. Weiterhin wird ein Teil der vom Controller erzeugten Zeilenadressbits, nämlich die Adressbits A14', A15' und A16', von der Speichereinrichtung1300 als Bankadresse aufgefasst, d. h., die vom Controller erzeugten Adressbits A14', A15', A16' werden den gemäß JEDEC Standard verwendeten Bankadressleitungen (in13 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 Speichereinrichtung1300 angesprochen wird. In einer Ausführungsform der Erfindung ist es möglich, dass ein Kommando nur dann decodiert wird, wenn der Kommandodecoder1308 anhand von A14, A15, A16 feststellt, dass die Speichereinrichtung1300 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 Speichereinrichtung1300 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 Speicherregister1312-1 ,1312-2 ,1312-3 sowie die 2:1-Multiplexer1314-1 ,1314-2 ,1314-3 . Beim Erhalt eines Zeilenaktivierungskommandos stellt die Einstellvorrichtung1310 die Speicherregister1312-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 Signalen1317-1 ,1317-2 ,1317-3 anliegen, in die jeweiligen Register1312 übernommen. - Ferner stellt die Einstellvorrichtung
1310 die 2:1-Multiplexer1314 so ein, dass die Signale1317-1 ,1317-2 ,1317-3 am Ausgang anliegen. Das heißt, die Signale1318-1 ,1318-2 ,1318-3 entsprechen den Signalen1317-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 Kommandodecoder1308 die anliegenden Signale A14', A15', A16' zur Auswahl einer der Bänke1304-1 , ...,1304-8 . Das heißt, durch die vom Controller erzeugten Adressbits A14', A15', A16' wählt der Kommandodecoder1308 via Selektor1306 eine Bank1304 aus, in welcher eine Wortleitung aktiviert wird. Im Beispiel von13 wird die sechste Bank1304-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 Kommandodecoder1308 festgestellt werden. Falls der Kommandodecoder1308 feststellt, dass die Speichereinrichtung1300 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-Multiplexer1314-1 ,1314-2 ,1314-3 so ein, dass am jeweiligen Ausgang1318-1 ,1318-2 ,1318-3 der Inhalt eines jeweiligen Speicherregister1312-1 ,1312-2 ,1312-3 anliegt. Dem Kommandodecoder1308 steht somit beim Erhalt eines Spaltenkommandos die Information zur Verfügung welche Bank eine durch das Zeilenaktivierungskommando aktivierte Wortleitung1305 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 Speichereinrichtung1300 als eine Masterspeichereinrichtung oder als eine Slavespeichereinrichtung zur Verwendung in einer Stackanordnung einzustellen (siehe hierzu auch Beschreibung von6 ).
Claims (20)
- Verfahren zum Betrieb einer Speichervorrichtung, welche wenigstens zwei Speichereinrichtungen umfasst, wobei jede Speichereinrichtung wenigstens zwei Bänke enthält, umfassend: Aktivierung wenigstens einer Wortleitung in wenigstens einer Bank gemäß einem Zeilenaktivierungskommando, wobei durch das Zeilenaktivierungskommando angegeben wird, welche Wortleitung in welcher Bank und in welcher Speichereinrichtung aktiviert wird; Speichern von Bankinformation, die angibt, welche Bänke pro Speichereinrichtung eine durch das Zeilenaktivierungskommando aktivierte Wortleitung enthalten, und Empfangen eines Spaltenkommandos, welches eine Bankadresse enthält zur Angabe einer jeweiligen Bank, aus der die Speicherinhalte ausgelesen werden sollen bzw. in welche Speicherinhalte geschrieben werden sollen, wobei: beim Auslesen/Schreiben von Speicherinhalten jede Speichereinrichtung das Spaltenkommando erhält und decodiert.
- Verfahren gemäß Anspruch 1, weiterhin umfassend: Auslesen/Schreiben von Speicherinhalten aus/in Bänken/Bänke mit aktivierten Wortleitungen in Abhängigkeit von der Bankinformation.
- Verfahren gemäß Anspruch 1 oder 2, wobei das Zeilenaktivierungskommando eine vorbestimmte Anzahl von Zeilenadressbits (A0–A16) enthält, wobei durch eine vorbestimmte Untermenge (A14–A16) der Zeilenadressbits die jeweilige Speichereinrichtung bestimmt wird, in welcher eine Wortleitung aktiviert wird.
- Verfahren gemäß Anspruch 2 oder 3, wobei das Zeilenaktivierungskommando wenigstens eine Bankadresse (BA0–BA2) enthält, die angibt, in welcher Bank einer Speichereinrichtung die Wortleitung aktiviert wird.
- Verfahren gemäß einem der Ansprüche 1 bis 4, wobei jede Speichereinrichtung anhand der jeweils gespeicherten Bankinformation überprüft, ob die durch die Bankadresse des Spaltenkommandos adressierte Bank eine aktivierte Wortleitung enthält.
- Verfahren gemäß einem der Ansprüche 1 bis 5, wobei beim Auslesen bzw. Schreiben nur dann Daten aus einer jeweiligen Bank ausgelesen werden bzw. in eine jeweilige Bank geschrieben werden, wenn die Bankinformation angibt, dass die jeweilige durch die Bankadresse des Spaltenkommandos angegebene Bank eine aktivierte Wortleitung enthält.
- Verfahren gemäß einem der Ansprüche 1 bis 6, wobei in jeder Speichereinrichtung ein Teil der Bankinformation gespeichert wird, wobei der Teil angibt, welche Bänke der jeweiligen Speichereinrichtung eine aktivierte Wortleitung enthalten.
- Speichereinrichtung, umfassend: eine Anzahl Bänke von wenigstens zwei; einen Kommandodecoder, eingerichtet zur Überprüfung, anhand eines Zeilenaktivierungskommandos, ob die Speichereinrichtung durch das Zeilenaktivierungskommando ausgewählt wird, wobei nur dann eine Wortleitung in einer Bank in Abhängigkeit des Zeilenaktivierungskommandos aktiviert wird, wenn die Speichereinrichtung durch das Zeilenaktivierungskommando ausgewählt wird; und eine Speichereinheit eingerichtet zum Speichern von Bankinformation, wobei die Bankinformation angibt, in welchen Bänken jeweils eine Wortleitung aktiviert ist, wobei der Kommandodecoder weiterhin eingerichtet ist zum Empfangen eines Spaltenkommandos, welches eine Bankadresse enthält, zur Angabe einer jeweiligen Bank, aus der die Speicherinhalte ausgelesen werden sollen bzw. in welche Speicherinhalte geschrieben werden sollen, und die Speichereinrichtung anhand der gespeicherten Bankinformation überprüft, ob die durch die Bankadresse des Spaltenkommandos adressierte Bank eine aktivierte Wortleitung enthält.
- Speichereinrichtung gemäß Anspruch 8, wobei das Zeilenaktivierungskommando eine vorbestimmte Anzahl von Zeilenadressbits (A0–A16) enthält, wobei der Kommandodecoder anhand einer vorbestimmten Untermenge (A14–A16) der Zeilenadressbits überprüft, ob die Speichereinrichtung ausgewählt ist.
- Speichereinrichtung gemäß Anspruch 8 oder 9, wobei das Zeilenaktivierungskommando wenigstens eine Bankadresse (BA0–BA2) enthält, die angibt, in welcher Bank der Speichereinrichtung die Wortleitung aktiviert wird.
- Speichereinrichtung gemäß einem der Ansprüche 8 bis 10, wobei die Speichereinheit die Bankinformation zumindest bis zum Empfang eines auf das Zeilenaktivierungskommando folgende Spaltenkommando speichert.
- Speichereinrichtung gemäß einem der Ansprüche 8 bis 11, wobei beim Auslesen bzw. Schreiben nur dann Daten aus einer jeweiligen Bank ausgelesen werden bzw. in eine jeweilige Bank geschrieben werden, wenn die Bankinformation angibt, dass die jeweilige durch die Bankadresse des Spaltenkommandos angegebene Bank eine aktivierte Wortleitung enthält.
- Speichereinrichtung gemäß einem der Ansprüche 8 bis 12, wobei die Größe der Speichereinheit von der Anzahl der Bänke abhängt.
- Speichereinrichtung gemäß Anspruch 13, wobei die Größe der Speichereinheit log2N beträgt, mit N = Anzahl der Bänke.
- Speichervorrichtung, welche wenigstens eine Speichereinrichtung gemäß einem der Ansprüche 8 bis 14 enthält.
- Speichervorrichtung gemäß Anspruch 15, welche eine Vielzahl von Speichereinrichtungen enthält.
- Speichervorrichtung gemäß Anspruch 16, wobei die Speichereinrichtungen in einer Stackanordnung angeordnet sind.
- Speichervorrichtung gemäß Anspruch 16 oder 17, wobei die Speichereinrichtungen mittels eines Through Silicon Vias verbunden sind.
- Speichervorrichtung gemäß einem der Ansprüche 16 bis 18, wobei eine Speichereinrichtung eine Master-Speichereinrichtung ist und die übrigen Speichereinrichtungen Slave-Speichereinrichtungen sind.
- Speichervorrichtung gemäß Anspruch 19, wobei die Master-Speichereinrichtung das Zeilenaktivierungskommando und/oder das Spaltenkommando von einem Controller eines Mikroprozessors empfängt und an die Slave-Speichereinrichtungen weiterleitet.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007036990A DE102007036990B4 (de) | 2007-08-06 | 2007-08-06 | Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung |
US12/186,195 US7986582B2 (en) | 2007-08-06 | 2008-08-05 | Method of operating a memory apparatus, memory device and memory apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007036990A DE102007036990B4 (de) | 2007-08-06 | 2007-08-06 | Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102007036990A1 DE102007036990A1 (de) | 2009-02-19 |
DE102007036990B4 true DE102007036990B4 (de) | 2013-10-10 |
Family
ID=40279287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102007036990A Expired - Fee Related DE102007036990B4 (de) | 2007-08-06 | 2007-08-06 | Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung |
Country Status (2)
Country | Link |
---|---|
US (1) | US7986582B2 (de) |
DE (1) | DE102007036990B4 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5595708B2 (ja) | 2009-10-09 | 2014-09-24 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置及びその調整方法並びにデータ処理システム |
KR101335367B1 (ko) * | 2012-04-26 | 2013-12-02 | 숭실대학교산학협력단 | 메모리 제어 장치 및 방법 |
WO2014085267A1 (en) | 2012-11-30 | 2014-06-05 | Intel Corporation | Apparatus, method and system for providing termination for multiple chips of an integrated circuit package |
KR102166762B1 (ko) * | 2013-12-26 | 2020-10-16 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 시스템 |
US11114150B2 (en) | 2019-04-18 | 2021-09-07 | Rambus Inc. | Memory system with multiple open rows per bank |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69428652T2 (de) * | 1993-08-24 | 2002-05-08 | Fujitsu Ltd | Halbleiterspeicher mit mehreren Banken |
DE102004020038A1 (de) * | 2003-04-21 | 2004-12-09 | Elpida Memory, Inc. | Speichermodul und Speichersystem |
US20050044302A1 (en) * | 2003-08-06 | 2005-02-24 | Pauley Robert S. | Non-standard dual in-line memory modules with more than two ranks of memory per module and multiple serial-presence-detect devices to simulate multiple modules |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09288614A (ja) * | 1996-04-22 | 1997-11-04 | Mitsubishi Electric Corp | 半導体集積回路装置、半導体記憶装置およびそのための制御回路 |
JP2000030464A (ja) * | 1998-07-15 | 2000-01-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100689817B1 (ko) * | 2004-11-05 | 2007-03-08 | 삼성전자주식회사 | 전압 발생 회로 및 이 회로를 구비하는 반도체 메모리 장치 |
-
2007
- 2007-08-06 DE DE102007036990A patent/DE102007036990B4/de not_active Expired - Fee Related
-
2008
- 2008-08-05 US US12/186,195 patent/US7986582B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69428652T2 (de) * | 1993-08-24 | 2002-05-08 | Fujitsu Ltd | Halbleiterspeicher mit mehreren Banken |
DE102004020038A1 (de) * | 2003-04-21 | 2004-12-09 | Elpida Memory, Inc. | Speichermodul und Speichersystem |
US20050044302A1 (en) * | 2003-08-06 | 2005-02-24 | Pauley Robert S. | Non-standard dual in-line memory modules with more than two ranks of memory per module and multiple serial-presence-detect devices to simulate multiple modules |
Also Published As
Publication number | Publication date |
---|---|
US7986582B2 (en) | 2011-07-26 |
US20090046534A1 (en) | 2009-02-19 |
DE102007036990A1 (de) | 2009-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102007036989B4 (de) | Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung | |
DE4220211C2 (de) | Spaltenauswahlschaltung | |
DE69830962T2 (de) | Integrierte Halbleiterschaltungsanordnung | |
DE60016220T2 (de) | Speichererweiterungsmodul mit einer vielzahl von speicherbanken und einer banksteuerungschaltung | |
DE102008015990B4 (de) | Speichermodul mit Rängen von Speicherchips und gestapelten ECC-Speichervorrichtungen sowie Computersystem | |
DE102007050864B4 (de) | Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
DE4307565C2 (de) | Flexible Adressierung für DRAMS | |
DE10350865A1 (de) | Speicherbaustein mit variabel verzögerter Spaltenauswahl | |
DE102004027121B4 (de) | Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben | |
DE102004053316A1 (de) | Verfahren zur Ein- und Ausgabe von Betriebsparametern eines integrierten Halbleiterspeichers | |
DE19645745B4 (de) | Dynamischer Schreib-/Lesespeicher | |
DE102007050424B4 (de) | DRAM mit geringem Energieverbrauch und Verfahren zum Steuern desselben | |
DE102007036990B4 (de) | Verfahren zum Betrieb einer Speichervorrichtung, Speichereinrichtung und Speichervorrichtung | |
DE19639972B4 (de) | Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung | |
DE69838660T2 (de) | Integrierte Halbleiterschaltungsvorrichtung | |
DE10305837A1 (de) | Speichermodul mit einer Mehrzahl von integrierten Speicherbauelementen | |
DE10261328B4 (de) | Kompensation überkreuzter Bitleitungen in DRAMs mit Redundanz | |
EP0283908A1 (de) | Mehrstufige integrierte Dekodereinrichtung | |
DE10261327A1 (de) | Kompensation überkreuzter Bitleitungen in DRAMs mit Redundanz | |
DE102007029371A1 (de) | Verfahren zum Verbergen defekter Speicherzellen und Halbleiterspeicher | |
DE102004015534B4 (de) | Speicherbauelement und Verfahren zum Ausgeben von Daten aus einem Speicherbauelement | |
DE10115817B4 (de) | Integrierter Speicherchip mit einem dynamischen Speicher | |
DE10231680A1 (de) | Integrierter Speicher | |
DE10039612B4 (de) | Halbleitervorrichtung mit einem Speicher für eine Zwischenwortgröße | |
DE102006032951B4 (de) | Halbleiterspeicher mit einem blockreservierten programmierbaren Latenz-Register |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20140111 |
|
R082 | Change of representative | ||
R081 | Change of applicant/patentee |
Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE |
|
R081 | Change of applicant/patentee |
Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |