DE19855645A1 - Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers - Google Patents

Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers

Info

Publication number
DE19855645A1
DE19855645A1 DE19855645A DE19855645A DE19855645A1 DE 19855645 A1 DE19855645 A1 DE 19855645A1 DE 19855645 A DE19855645 A DE 19855645A DE 19855645 A DE19855645 A DE 19855645A DE 19855645 A1 DE19855645 A1 DE 19855645A1
Authority
DE
Germany
Prior art keywords
memory
state
bank
logic
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19855645A
Other languages
English (en)
Other versions
DE19855645C2 (de
Inventor
Zohar Bogin
David E Freker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE19855645A1 publication Critical patent/DE19855645A1/de
Application granted granted Critical
Publication of DE19855645C2 publication Critical patent/DE19855645C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Description

Die Erfindung bezieht sich auf ein Verfahren und eine Anordnung zum Betreiben eines Direktzugriffsspeichers (RAM).
Synchrone dynamische Direktzugriffsspeicher (SDRAM)-Kom­ ponenten oder -Bauelemente werden im Systemspeicher vieler moderner Computersysteme, insbesondere von Tischrechnern, verwendet. Bei der SDRAM-Konstruktion wird eine von einer Speichersteuereinrichtung empfangene Startadresse in einem Adreßregister innerhalb des SDRAM gespeichert. Nach dem Le­ sen oder Einschreiben des SDRAM an der Startadresse wird die Startadresse in Abhängigkeit von einem DRAM-Taktsignal auto­ matisch inkrementiert, um aufeinanderfolgende Speicherplätze zu adressieren. Da aufeinanderfolgende Adressen innerhalb des DRAM-Bauelements erzeugt und nicht über einen Adreßbus relativ hoher Kapazität empfangen werden, wird jede inkre­ mentale Adresse schneller gültig, als sie vom Speichersteu­ ergerät andernfalls aufgenommen werden könnte. Demgemäß kön­ nen Daten an sequentiellen Adressen im SDRAM beträchtlich schneller gelesen oder geschrieben werden, als bei anderen Speicherarten. Da der Datenfluß in modernen Computersystemen häufig die Übertragung von Datenblöcken zu und von sequen­ tiellen Adressen im Speichersystem (z. B. zum Füllen von Cache-Zeilen, Transferströmen von Videodaten usw.) umfaßt, wird bei SDRAMs im Unterschied zu anderen Speicherarten ein schnellerer Zugriff auf sequentielle SDRAM-Plätze gewöhnlich in eine schnellere Gesamtzugriffsfrequenz umgesetzt.
Trotz der Leistungsvorteile von SDRAMs bleiben Erweiter­ te-Datenausgabe-(extended-data-out = EDO)-DRAMs in mobilen Geräten, wie Notebooks und Laptopcomputer, vorherrschend. Dafür liegt der Hauptgrund darin, daß ein SDRAM typischer­ weise mehr Energie als ein EDO-DRAM verbraucht, ein wichti­ ger Gesichtspunkt in batterie-betriebenen Geräten. So können beispielsweise SDRAM-Bauelemente in einem Ruhezustand (d. h. dann, wenn kein Zugriff eingeleitet ist oder abläuft) 50mal mehr Energie verbrauchen, als im Ruhezustand befindliche EDO-DRAM-Bauelemente.
Eine Methode zum Reduzieren des Energieverbrauchs von Systemspeichern auf SDRAM-Basis besteht darin, den System­ speicher durch Abschalten eines an jedes SDRAM-Bauelement im Systemspeicher angelegten Taktfreigabesignals (clock enable) in einen niedrigen Leistungsmodus zu überführen. Wenn das Taktfreigabesignal abgeschaltet wird, ändern die logischen Elemente innerhalb der einzelnen DRAM-Bauelemente nicht mehr ihren Zustand in Abhängigkeit vom DRAM-Taktsignal. Da der größte Stromverbrauch an den Zustandsübergängen der DRAM-Lo­ gikelemente auftritt, führt das Abschalten des Taktfreigabe­ signals zu einer deutlichen Verringerung des Energiever­ brauchs von im Ruhezustand befindlichen SDRAM-Bauelementen, so daß diese zumindest unter dem Gesichtspunkt des Energie­ verbrauchs mit in Ruhe befindlichen EDO-DRAM-Bauelementen vergleichbar werden.
Ein Nachteil des Herunterfahrens des Systemspeichers be­ steht darin, daß er bei jedem Zugriff auf dem Systemspeicher reaktiviert werden muß. Dies führt zumindest zu zwei Proble­ men. Einerseits kann der SDRAM nicht ohne Zeitverlust in den Betriebszustand überführt werden, so daß eine Zeitstrafe mit jeder Reaktivierung des Systemspeichers verbunden ist. Ob­ wohl diese Zeitstrafe gewöhnlich kurz ist (ein oder zwei DRAM-Taktzyklen, beispielsweise), kann sie beachtlich wer­ den, wenn der Systemspeicher häufig zwischen dem Ein- und dem Aus-Zustand umgeschaltet wird. Ein zweites und verwand­ tes Problem besteht darin, daß üblicherweise wenigstens ein Abschnitt des Systemspeichers in Benutzung ist, sofern ein Computerbenutzer das Computersystem aktiv nutzt. Gerade dann, wenn eine Energieeinsparung besonders kritisch ist, d. h. wenn das Computersystem eingeschaltet und vom Computerbe­ nutzer in Gebrauch ist, ist es häufig undurchführbar, die Energiezufuhr zum Speichersystem abzubauen.
Aufgabe der Erfindung ist es, eine Möglichkeit zu schaf­ fen, den Systemspeicher-Energieverbrauch zu reduzieren, ohne das gesamte Speichersystem energiemäßig herunterzufahren.
Es werden eine Einrichtung und ein Verfahren beschrie­ ben, die bzw. das Abschnitte eines Speichers dynamisch in einen Zustand reduzierten Energieverbrauchs versetzen. Es werden Zugriffsanforderungen zum Zugreifen auf einen Spei­ cher empfangen, wobei der Speicher mehrere Zeilen oder Rei­ hen von Speicherbauelementen aufweist. Bei der Erfindung werden Teile eines Speichers dynamisch in einen Zustand ver­ minderter Energieaufnahme versetzt. Auf der Basis der Zu­ griffsanforderungen auf Zeilen von Speicherbauelementen wird mindestens eine der Zeilen von Speicherbauelementen in einen Zustand reduzierten Energieverbrauchs versetzt, während auf mindestens eine andere der Speicherbauelementezeilen zuge­ griffen wird.
Vorteilhafte Weiterbildungen des erfindungsgemäßen Ver­ fahrens und der erfindungsgemäßen Anordnung sind in den Un­ teransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand von der Zeichnung dargestellten Ausführungsbeispielen näher erläutert. In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild einer Anordnung, in der ein oder mehrere Ausführungsbeispiele der Erfindung verwendet werden kann oder können;
Fig. 2 ein Ausführungsbeispiel einer Subsystem-Steuer­ einrichtung;
Fig. 3 ein Ausführungsbeispiel einer Speicher-Steuerlo­ gik;
Fig. 4 ein Speicher-Subsystem, das unter Verwendung ei­ nes oder mehrerer Ausführungsbeispiele der vor­ liegenden Erfindung gesteuert werden kann;
Fig. 5 eine Anordnung von Speicher und Seitenpuffern innerhalb eines typischen SDRAM-Bauelements;
Fig. 6 ein bei einem Ausführungsbeispiel einer Zu­ standsmaschine realisiertes Zustandsdiagramm zum Steuern des Zustandes einer Speicherbank; und
Fig. 7 ein bei einem Ausführungsbeispiel einer Zu­ standsmaschine realisiertes Zustandsdiagramm zum Steuern des Energieverbrauchszustandes einer Zeile von SDRAM-Bauelementen.
Bei wenigstens einem Ausführungsbeispiel der Erfindung wird an jede von mehreren SDRAM-Bauelementezeilen eines Sy­ stemspeichers ein separates Taktfreigabesignal angelegt, so daß die Zeilen unabhängig voneinander aktiviert und deakti­ viert werden können. Eine Zustandsmanagementlogik dient zum Verfolgen der entsprechenden Zustände von Speicherbänken in­ nerhalb jeder der Zeilen auf der Basis von Zugriffsanforde­ rungen, die von einem oder mehreren anfordernden Stationen ausgegeben werden. Eine Abschaltlogik fragt die von der Zu­ standsmanagementlogik gesteuerten Zustände der Speicherbänke ab und schaltet das Taktfreigabesignal für jede Zeile ab, in der alle Speicherbänke in Ruhe sind. Durch derartiges selek­ tives Abschalten einer oder mehrerer Zeilen von SDRAM-Spei­ cherbauelementen kann die von einem Systemspeicher auf SDRAM-Basis verbrauchte Energiemenge beträchtlich reduziert werden. Allgemein gesprochen, können die Ausführungsbeispie­ le der Erfindung zur Verringerung des Energieverbrauchs in einem beliebigen Speicher verwendet werden, der in physika­ lischen oder logischen Einheiten organisiert ist, die unab­ hängig voneinander in einen Zustand reduzierten Energiever­ brauchs versetzt werden können.
Fig. 1 ist ein Blockschaltbild einer Anordnung 15, in der ein oder mehrere Ausführungsbeispiele der Erfindung ver­ wendet werden können. Die Anordnung 15 weist einen Prozessor 10, ein Speicher-Subsystem 14, ein Graphik-Subsystem 16 und ein I/O-Subsystem 22 auf, die alle mit einem Subsystem-Con­ troller 12 gekoppelt sind. Der Prozessor 10 ist mit dem Subsystem-Controller 12 über einen lokalen Bus 11 gekoppelt, und in ähnlicher Weise sind das Graphik-Subsystem 16, das Speicher-Subsystem 14 und das I/O-Subsystem 22 über entspre­ chende Busse mit dem Subsystem-Controller gekoppelt.
Gemäß einem Ausführungsbeispiel ist das Speicher-Subsy­ stem 14 aus mehreren Zeilen oder Reihen von SDRAM-Bauelemen­ ten aufgebaut. Diese Zeilen werden hier als Bauelementezeilen bezeichnet, um eine Verwechslung mit Speicherzellenzeilen innerhalb der SDRAM-Bauelemente zu ver­ meiden. Obwohl das Speicher-Subsystem 14 hier in SDRAM-Bau­ elementen-Ausbildung beschrieben wird, können im Rahmen des Erfindungsgedankens andere Arten von Speicherbauelementen verwendet werden, die geeignet sind, in einen und aus einem Zustand reduzierten Energieverbrauchs umgeschaltet zu wer­ den.
Das I/O-Subsystem 22 ist aus einem oder mehreren Kompo­ nentenbussen (24, 25) aufgebaut, mit dem oder denen ver­ schiedene I/O- bzw. Eingabe/Ausgabeeinrichtungen (26A, 26B, 26D, 26E) gekoppelt sind. Unterschiedliche Busse können in dem I/O-Subsystem 22 verwendet werden, einschließlich eines Peripheriekomponenten-Verbindungs(PCI)-Busses (z. B. eines Busses, der die PCI-Spezifikation, Rev. 1.0, publiziert am 22.06.1992 von Intel Corporation, oder spätere Revisionen der PCI-Spezifikation erfüllt), eines Industriestandardar­ chitektur(ISA) -Busses, eines erweiterten ISA-Busses (EISA), eines Microchannel-Busses u. dgl. Wenn mehr als ein Kompo­ nentenbus im I/O-Bus-Subsystem 22 vorhanden ist (z. B. ein oder mehrere PCI-Busse für eine Datenübertragung großer Bandbreite und ein oder mehrere ISA-Busse zur Unterstützung älterer Erweiterungskarten), so können die Busse über eine Brücke 26C oder eine ähnliche Bus-zu-Bus-Kopplungseinrich­ tungen miteinander verbunden sein.
Die Art der I/O-Einrichtungen wird von dem vorgesehenen Zweck der Anordnung 15 bestimmt. Wenn die Anordnung 15 bei­ spielsweise ein Computersystem ist, so umfassen die I/O-Ein­ richtungen (26A, 26B, 26D, 26E) typischerweise Benutzer-Ein­ gabegeräte, beispielsweise eine Tastatur und eine Cursor- Steuereinrichtung (z. B. eine Maus, einen Trackball oder ei­ nen Stift), ein oder mehrere Massenspeichereinrichtungen, z. B. Geräte zum Lesen und Schreiben von Daten auf optische und magnetische Speichermedien und verschiedene andere Computer­ systemgeräte (z. B. Drucker-, Audio-I/O-, Serienbus-Steuer­ einrichtungen u. dgl.) auf. Wenn die Anordnung 15 eine digi­ tale Kamera, ein cellulares Telefon oder ein anderes Ge­ brauchselektronikgerät ist, so können in alternativer Anord­ nung die I/O-Einrichtungen (26A, 26B, 26D, 26E) Benutzer­ schnittstellen (z. B. Knöpfe und Display), um eine betrieb­ liche Konfiguration des Geräts zu ermöglichen, und andere funktionsspezifische Geräte (z. B. Hochfrequenz-Sendeempfän­ ger für Zellentelefone, Blenden- und Fokussteuerungen für eine digitale Kamera usw.) aufweisen.
Das Graphik-Subsystem 16 weist einen Graphik-Beschleuni­ ger 20 auf, um eine Hochgeschwindigkeitsübertragung graphi­ scher Daten vom Speicher-Subsystem 14 zum Graphik-Subsystem 16 zu ermöglichen, wo die graphischen Daten verarbeitet und von einer Display-Steuereinrichtung 19 auf einem Display 18 zur Verfügung gestellt werden. Bei einem Ausführungsbeispiel ist der Graphik-Beschleuniger 20 mit dem Subsystem-Control­ ler über einen Beschleunigte-Graphik-Port (AGP) verbunden, der der "Accelerated Graphics Port Interface-Specification", Revision 1.0 oder eine spätere, publiziert am 01.08.1996 von der Intel Corporation, Santa Clara, Kalifornien genügt. Der AGP ist eine spezielle Schnittstelle zum Übertragen von Gra­ phikinformationen und Befehlen zwischen dem Graphik-Be­ schleuniger 20 und dem Subsystem-Controller. Bei alternati­ ven Ausführungsbeispielen können andere spezielle Graphik­ ports verwendet werden. An Stelle einer Kopplung des Subsy­ stem-Controllers über einen speziellen Graphikport kann das Graphik-Subsystem 16 in alternativer Ausführung mit dem Subsystem-Controller 12 über einen gemeinsamen Bus, bei­ spielsweise den lokalen Bus 11 oder einen Komponentenbus (24, 25) im I/O-Subsystem 22 gekoppelt sein.
Fig. 2 ist ein Blockschaltbild eines Ausführungsbei­ spiels des Subsystem-Controllers 12. Der Subsystem-Control­ ler 12 weist eine Zugriffsanforderungslogik (31A, 31B, 31C), eine Speicherzugriffslogik 35 und eine Speicher-Steuerlogik 38 auf. Der Subsystem-Controller 12 kann darüber hinaus eine Auffrischlogik 33 zur Steuerung des Auffrischens der DRAM- Zellen im Speicher-Subsystem 14 aufweisen. Bei alternativen Ausführungsbeispielen kann die Auffrischlogik 33 von dem Subsystem-Controller 12 getrennt angeordnet sein. Wenn auch die folgende Erörterung auf die Funktion des Subsystem-Con­ trollers 12 als Speicher-Steuereinrichtung gerichtet ist, kann der Subsystem-Controller 12 außerdem eine Logik zur Un­ terstützung anderer Funktionen enthalten, einschließlich ei­ ner Logik zur Verwaltung von Anforderungen, beispielsweise zum Übertragen von Daten zwischen dem Prozessor 10 und dem I/O-Subsystem 22, zwischen dem Prozessor 10 und dem Graphik- Subsystem 16 oder zwischen dem Graphik-Subsystem 16 und dem I/O-Subsystem 22.
Bei einem Ausführungsbeispiel wird die Zugriffsanforde­ rungslogik (31A, 31B, 31C) zum Verwalten der Speicherzu­ griffsanforderungen verwendet, die vom Prozessor 10, dem Graphik-Subsystem 16 und einem oder mehreren Bus-Master-Ein­ richtungen im I/O-Subsystem 22 empfangen werden. Bei alter­ nativen Ausführungsbeispielen können mehr oder weniger an­ fordernde Teilnehmer als die in Fig. 2 gezeigten vorhanden sein. An Stelle von separaten Zugriffsanforderungslogikein­ heiten (31A, 31B, 31C) für die verschiedenen anfordernden Teilnehmer könnte auch eine einzige Zugriffsanforderungslo­ gikeinheit zur Bedienung mehrerer anfordernder Teilnehmer in einem alternativen Ausführungsbeispiel verwendet werden.
Bei einem Ausführungsbeispiel priorisiert die Zugriffs­ anforderungslogik (31A, 31B, 31C) Speicherzugriffsanforde­ rungen nach verschiedenen Kriterien (z. B. Seitentrefferop­ timierung, Datenabhängigkeitsregeln usw.) und leitet dann die Anforderungen an die Speicherzugriffslogik 35 weiter. Dies ist generell in Fig. 2 durch die Anforderungspfade (37A, 37B, 37C, 37D) von der Zugriffsanforderungslogik (31A, 31B, 31C) und von der Auffrischlogik 33 gezeigt. Das "/"-Symbol auf den Anforderungspfaden und anderen Signalübertra­ gungspfaden zeigt in den verschiedenen Figuren an, daß der Signalpfad mehrere Leiter enthalten kann. Das Fehlen eines "/"-Symbols auf einem Signalpfad bedeutet aber keine Be­ schränkung der Ausführungsbeispiele der Erfindung auf einen einzelnen Signalleiter für diesen Pfad. Auch kann jeder der Anforderungspfade parallele Pfade zum gleichzeitigen Anlegen von Lese- und Schreibanforderungen an die Speicherzugriffs­ logik 35 aufweisen.
Die Speicherzugriffslogik 35 weist eine Entscheidungslo­ gik 29 zur Serialisierung der verschiedenen Speicherzu­ griffsanforderungen auf, die von den verschiedenen anfor­ dernden Teilnehmern angelegt werden. Bei einem Ausführungs­ beispiel gewährt die Entscheidungslogik 29 Zugriff mit Prio­ rität für bestimmte Anforderungen vom Prozessor 10 und von dem Graphik-Subsystem 16, bedient aber im übrigen die Anfor­ derungen in solcher Weise, daß ein Speicherzugriff für alle anfordernden Teilnehmer gewährleistet ist.
Sobald eine Anforderung für die Abarbeitung ausgewählt worden ist (d. h. sobald Anforderungen serialisiert sind), wird die Anforderung an eine Sequenzierlogik 30 innerhalb der Speicherzugriffslogik 35 geleitet. Die Sequenzierlogik 30 gibt in Abhängigkeit von der Zugriffsanforderung ver­ schiedene Steuersignale aus, einschließlich eines Zugriffs­ kommandos 34 an die Speicher-Steuerlogik, das eine Adresse und andere von der Zugriffsanforderung angegebene Parameter enthält. In Abhängigkeit vom Zugriffskommando 34 legt die Speichersteuerlogik 38 Steuersignale 42 und Adreßsignale 41 zum Zugriff auf das Speicher-Subsystem 14 an. Die Speicher­ steuerlogik 38 gibt ein Kommandobestätigungssignal 36 (CMDACK) in Beantwortung jedes Zugriffskommandos 34 aus, um die Speicherzugriffslogik 35 davon zu unterrichten, daß sie ein neues Zugriffskommando ausgeben kann.
Bei einem Ausführungsbeispiel weist der Subsystem-Con­ troller 12 einen Taktgenerator 27 auf, der ein DRAM-Taktsi­ gnal 40 zumindest an die Speicherzugriffslogik 35, die Spei­ chersteuerlogik 38 und das Speicher-Subsystem 14 ausgibt. Bei alternativen Ausführungsbeispielen kann das DRAM-Taktsi­ gnal 40 durch eine andere Logik innerhalb des Subsystem-Con­ trollers 12 oder von einer gegenüber dem Subsystem-Control­ ler 12 externen Logik erzeugt werden. Wie in Fig. 2 angege­ ben ist, werden Daten zwischen dem Speicher-Subsystem und verschiedenen Lese- und Schreibpuffern im Subsystem-Control­ ler über den Datenpfad 23 übertragen.
Fig. 3 ist ein Blockschaltbild der Speichersteuerlogik 38 gemäß einem Ausführungsbeispiel. Die Speichersteuerlogik 38 weist eine Adreß-Dekodierlogik 43, ein Zustandsmanage­ mentlogik 44, einen Signalgenerator 46 und eine Abschaltlo­ gik 45 auf. Bei einem Ausführungsbeispiel empfängt die Spei­ chersteuerlogik Zugriffskommandos 34 von der Speicherzu­ griffslogik und das DRAM-Taktsignal 40. Bei alternativen Ausführungsbeispielen kann die Speichersteuerlogik andere Eingangssignale erhalten.
Bei einem Ausführungsbeispiel enthält jeder von der Speicherzugriffslogik (z. B. Element 35 der Fig. 2) empfan­ gene Zugriffsbefehl wenigstens vier Bestandteile: eine Adresse 51, eine Transaktionslänge 53, einen Lese/Schreib- Indikator 55 und ein Zugriffssteuersignal 57, welches zum Abgrenzen jedes neuen Zugriffskommandos von dem vorhergehen­ den Zugriffskommando verwendet wird. Zugriffskommandos 34 können bei unterschiedlichen Ausführungsbeispielen mehr oder weniger Bestandteile enthalten.
Wie in Fig. 3 gezeigt ist, wird die Adresse 51 in die Adreßdekodierlogik 43 eingegeben. Bei einem Ausführungsbei­ spiel dekodiert die Adreßdekodierlogik 43 die Adresse 51 in vier Teiladreßwerte: einen Bauelementezeilenselektor 59, ei­ ne Zeilenadresse 60, eine Spaltenadresse 62 und eine Bank­ adresse 61. Die Zustandsmanagementlogik 44 erhält die Teil­ adreßwerte von der Adreßdekodierlogik 43 und erhält auch die Transaktionslänge 53, den Lese/Schreib-Indikator 55 und das Zugriffssteuersignal 57 aus dem Zugriffskommando 34. Wie oben gesagt, verwendet die Zustandsmanagementlogik 44 diese Eingangssignale zur Erzeugung von Zustandsinformationen, die für die entsprechenden Zustände von Speicherbänken innerhalb des Speicher-Subsystems repräsentativ sind. Bei einem Aus­ führungsbeispiel wird diese Zustandsinformation an die Ab­ schaltlogik 45 (z. B. über den Bankzustandspfad 65) zusammen mit dem Bauelementezeilenselektor 59 ausgegeben, um der Ab­ schaltlogik 45 die Möglichkeit zu geben, für jede Zeile von SDRAM-Bauelementen im Speicher-Subsystem festzustellen, ob eines aus einer Mehrzahl von Taktfreigabesignalen 70 (d. h. CKEN-1-CKE0) angelegt oder abgeschaltet werden soll. Wie weiter unten erörtert wird, wird eine Zeile von SDRAM-Bau­ elementen als eingeschaltet bzw. unter Strom stehend be­ zeichnet, wenn ein Taktfreigabesignal ansteht, und es gilt als abgeschaltet, wenn ihr Taktfreigabesignal unterbrochen ist. Bei einem Ausführungsbeispiel gibt die Abschaltlogik 45 ein Bauelementezeile-Bereit-Signal 66 aus, um anzuzeigen, ob die von dem Bauelementezeilenselektor spezifizierte Zeile von SDRAM-Bauelementen in eingeschaltetem oder ausgeschalte­ tem Zustand ist. Dieses Signal wird von der Zustandsmanage­ mentlogik 44 benutzt, um die Zeitgabe des befohlenen Spei­ cherzugriffs und des Anlegens des entsprechenden Kommandobe­ stätigungssignals 36 zu steuern.
Bei einem Ausführungsbeispiel gibt die Zustandsmanage­ mentlogik 44 die Teiladreßsignale (d. h. Bauelementezeilen­ selektor 59, Zeilenadresse 60, Spaltenadresse 62, Bank­ adresse 61) und den Lese/Schreib-Indikator 55 an den Signal­ generator 46 aus. Die Zustandsmanagementlogik 44 gibt auch ein DRAM-Steuersignal 68 an den Signalgenerator 46, um den Zustand der zuzugreifenden Speicherbank anzuzeigen. Der Si­ gnalgenerator 46 verwendet die Teiladreßinformation zum Steuern des Zustands der Chipauswahlsignale 71 (CSN-1-CS0), der Multiplex-Adreßsignale 41 (MA) und des Schreibfreigabe­ signals (WE) 74 während eines vorgegebenen Zyklusses des DRAM-Taktsignals 40. Das DRAM-Steuersignal 68 wird zur Steuerung des Zustandes des Zeilenadreß-Strobe(RAS)-Signals 72 und des Spaltenadreß-Strobe(CAS)-Signals 73 verwendet, die während eines vorgegebenen Zyklus des DRAM-Taktsignals 40 angelegt sind.
Wie weiter unten ausgeführt, weist jedes SDRAM-Bauele­ ment in typischer Ausführung mehrere Speicherbänke auf, die jeweils während eines vorgegebenen DRAM-Taktzyklus in einem unterschiedlichen Betriebszustand sein können. Das Chipaus­ wahlsignal 71, das Zeilenadreß-Strobe-Signal 72, das Spal­ tenadreß-Strobe-Signal 73 und das Schreibfreigabesignal 74 werden in verschiedenen Kombinationen zur Erzeugung von Kom­ mandos für eine ausgewählte SDRAM-Bauelementezeile verwen­ det. Das Multiplex-Adreßsignal (MA) dient zum Anlegen der Zeilenadresse und Bankadresse an eine ausgewählte Zeile von SDRAM-Bauelementen während eines ersten Adreßtransfers, und der Spaltenadresse während eines nachfolgenden Adreßtrans­ fers (daher der Name "Multiplexadresse").
Fig. 4 zeigt ein Speicher-Subsystem 14 gemäß einem Aus­ führungsbeispiel, welches eine Mehrzahl (N) von Zeilen (47, 48, 49) von SDRAM-Bauelementen enthält. Jede Bauelementezei­ le (47, 48, 49) weist eine Mehrzahl (M) von SDRAM-Bauelemen­ ten in integrierter Schaltungstechnik (47A, 47B, 47C) auf, wobei jedes SDRAM-Bauelement in der Zeile mit einer gemein­ samen Chip-Auswahlleitung gekoppelt ist. Aufgrund dieser An­ ordnung werden die eine Bauelementezeile bildenden SDRAM- Bauelemente als eine Einheit gelesen und beschrieben. Wie in der Bauelementezeile 0 (47) als Beispiel gezeigt ist, sind die Datenanschlüsse jedes der SDRAM-Bauelemente (47A, 47B, 47C) mit einem entsprechenden Abschnitt des Gesamtdatenpfa­ des 23 gekoppelt. Wenn daher die Reihe 0 (47) angesteuert wird, um Daten an den Datenpfad 23 auszugeben oder von letz­ terem zu empfangen, werden alle Bauelemente in der Zeile 47 in demselben Zugriffszyklus gelesen oder geschrieben.
Bei einem Ausführungsbeispiel ist jede SDRAM-Zeile (47, 48, 49) mit einer separaten Taktfreigabeleitung (70A, 70B, 70C) gekoppelt, und die Taktfreigabeleitung zu einer vorge­ gebenen Bauelementezeile ist mit dem Taktfreigabeeingang je­ des SDRAM-Bauelements in der Zeile gekoppelt. Durch selekti­ ves Anlegen oder Wegnehmen der Taktfreigabesignale CKEN-1-CKE0 (70A, 70B, 70C) können eine oder mehrere der Bauelemen­ tezeilen (47, 48, 49) abgeschaltet werden, während andere eingeschaltet oder aktiviert bleiben. Wie oben gesagt, er­ möglicht diese Anordnung beträchtliche Energieeinsparungen in dem Falle, daß nicht auf alle Zeilen tatsächlich zuge­ griffen wird, um den Computerbetrieb zu unterstützen, und der Rest der Zeilen nicht benutzt wird. Durch dynamisches Abschalten des Taktfreigabesignals der Bauelementezeilen während des Ruhezustands der zugehörigen Bänke und durch ih­ re Neueinschaltung nur bei Bedarf zur Unterstützung eines Zugriffs (einschließlich einer Auffrisch-Operation) kann der Gesamtenergieverbrauch des Systemspeichers beträchtlich re­ duziert werden.
Fig. 5 zeigt die Anordnung des Speichers und von Seiten­ puffern innerhalb eines typischen SDRAM-Bauelements 80. Das SDRAM-Bauelement 80 besteht aus einer Mehrzahl (K) von Spei­ cherbänken (d. h. BankK-1-BankO), wobei jede Bank aus meh­ reren Zeilen von DRAM-Zellen (nicht mit Bauelementezeilen zu verwechseln) aufgebaut ist. Wenn ein erster Abschnitt einer Adresse in den SDRAM eingelesen wird, enthält er typischer­ weise den Bankadreß- 61 und den Zeilenadreß-Abschnitt 60 der Gesamtadresse. Die Bankadresse selektiert eine Bank 78 aus den KBänken als Ziel für das Schreiben von Daten oder als Quelle für das Lesen von Daten, und die Zeilenadresse 60 wählt eine Zeile 77 der DRAM-Zellen aus der ausgewählten Bank 78 aus. Eine Zeile von DRAM-Zellen, die durch die Kom­ bination einer Bankadresse und einer Zeilenadresse exakt identifiziert ist, wird gewöhnlich als "Speicherseite" be­ zeichnet. Die Speicherseite, die durch die Bankadresse 61 und die Zeilenadresse 60 ausgewählt ist, wird von einer Bank von Operationsverstärkern 79 verstärkt, so daß die Daten auf den Datenpfad ausgegeben werden können. Diese Bank von Ope­ rationsverstärkern 79 wird häufig als Seitenpuffer 79 be­ zeichnet, und entsprechend der Darstellung in Fig. 5 ist ein getrennter Seitenpuffer für jede Bank des SDRAM-Bauelements 80 vorgesehen.
Um aus dem SDRAM-Bauelement 80 Daten auszulesen, müssen Daten aus der ausgewählten Zeile von DRAM-Zellen zunächst zum Seitenpuffer 79 für die ausgewählte Bank 78 übertragen werden. Dieser Transfer nimmt eine Zeit in Anspruch, während der die ausgewählte Bank als in einem Aktivierungszustand befindlich angesehen wird. Nach Beendigung des Transfers zum Seitenpuffer 79 wechselt die ausgewählte Bank 78 in einen aktiven Zustand über, und die Seite des Speichers (gewonnen aus Zeile 77) wird als offen für Lese- und Schreiboperatio­ nen angenommen. Aus einem von der Spaltenadresse 62 ange­ zeigten Abschnitt des Seitenpuffers 79 können Daten gelesen oder in diesen geschrieben, solange die Seite offen bleibt. Nach Ablauf einer vorgegebenen Zeitspanne ohne Zugriff auf eine offene Speicherseite oder nach Empfang eines Kommandos zum Zugriff auf eine andere Speicherseite in der ausgewähl­ ten Bank 78 muß die offene Seite des Speichers geschlossen werden. Dies geschieht durch Rückschreiben des Inhalts des Seitenpuffers 79 in die ausgewählte Zeile 77 von Speicher­ zellen, und zwar in einer Operation, die als "Voraufladung" bezeichnet wird. Die Voraufladung nimmt eine Zeit in An­ spruch, während der die ausgewählte Bank 78 als in einem Voraufladungszustand befindlich bezeichnet wird. In dem Falle, daß eine Voraufladung zur Ermöglichung eines Zugriffs auf eine andere Speicherseite in derselben Bank 78 durchge­ führt wird, wird die Bank 78 vom Voraufladungszustand in ei­ nen Aktivierungszustand (zum Übertragen der neu ausgewählten Datenzeile in den Seitenpuffer 79) und danach in einen akti­ ven Zustand überführt, bei dem ein Zugriff auf die neue Speicherseite beginnen kann. Wenn andererseits die Voraufla­ dung aufgrund eines Zeitablaufs durchgeführt wird, (d. h. kein Zugriff auf die offene Seite innerhalb einer vorgegebe­ nen Zeitspanne), wird die ausgewählte Bank 78 in einen Ruhe­ zustand überführt. Im Ruhezustand steht die Bank 78 zum Zu­ griff zur Verfügung; der Seitenpuffer 79 enthält jedoch nicht notwendigerweise eine gültige Seite des Speichers, und wird als geschlossen bezeichnet.
Eine wesentliche Charakteristik des SDRAM gemäß Fig. 5 besteht darin, daß jeder der K Seitenpuffer unabhängig ent­ weder offen oder geschlossen sein kann. Auch kann jede der K Bänke des Speichers entweder im Ruhezustand oder in einem Nicht-Ruhezustand (z. B. Aktivierungs-, Aktiv-, Lese-, Schreib-, Voraufladungs-Zustand) sein, und zwar unabhängig von den anderen Bänken. Wie weiter unten erörtert werden wird, wird diese Bank-Unabhängigkeit berücksichtigt, wenn bestimmt wird, ob das Taktfreigabesignal an einer Zeile von SDRAM-Bauelementen zur Überführung der Bauelementezeile in einen Zustand reduzierter Energieaufnahme abgeschaltet wer­ den kann oder nicht.
Fig. 6 ist ein Ablaufdiagramm 80, das bei einem Ausfüh­ rungsbeispiel einer Zustandsmaschine zum Steuern des Zustan­ des einer Speicherbank realisiert ist. Bei einer Realisie­ rung hält die Zustandsmanagementlogik (z. B. Element 44 der Fig. 3) getrennte und unabhängige Zustandsmaschinen für jede Speicherbank im Speicher-Subsystem aufrecht. Diese Zustands­ information wird danach an den Signalgenerator und die Ener­ gieabschaltlogik (z. B. über das DRAM-Steuersignal 68 bzw. den Bank-Zustandspfad 65 der Fig. 3) übertragen. Bei einem alternativen Ausführungsbeispiel könnte die Zustandsmanage­ mentlogik wenigstens für die Energieabschaltlogik eine Zu­ standsmaschine aufrechterhalten, welche den kollektiven Zu­ stand aller Speicherbänke innerhalb einer vorgegebenen Zeile (z. B. Zustand 1 = alle Bänke in Ruhe oder Zustand 2 = ein oder mehrere Bänke nicht in Ruhe) darstellt.
Bei einem Ausführungsbeispiel befindet sich eine Spei­ cherbank anfänglich im Ruhezustand 85. Am Entscheidungsblock 86 werden der Bauelementezeilenselektor und die Bankadresse, die in der Zustandsmanagementlogik einlaufen, überprüft, um festzustellen, ob sie eine Zugriffsanforderung auf die Bank anzeigen. Ist dies der Fall, so wird die Bank in den Akti­ vierungszustand 87 überführt. Wie oben gesagt, wird minde­ stens ein Signal, das anzeigt, daß sich die Bank im Aktivie­ rungszustand befindet, zusammen mit der Adresseninformation (z. B. Fig. 3, Bauelementezeile 59, Zeilenadresse 60, Spal­ tenadresse 62 und Bankadresse 61) an den Signalgenerator (z. B. Element 46 in Fig. 3) geleitet. In Abhängigkeit davon gibt der Signalgenerator die geeignete Kombination von Chip­ auswahl-, Zeilenadreß-Strobe-, Spaltenadreß-Strobe- und Schreibfreigabesignalen aus, um eine Aktivierungsoperation in den DRAM-Bauelementen der ausgewählten Zeile zu initiie­ ren. Während der Aktivierungsoperation werden die Inhalte einer Zeile von Speicherzellen aus der ausgewählten Bank zum Seitenpuffer für die Bank übertragen. Wie oben gesagt, öff­ net diese Operation eine Speicherseite für einen Lese- und Schreibzugriff.
Nach dem Öffnen der ausgewählten Seite wird die Bank in den aktiven Zustand 89 überführt. Wenn eine anhängige Zu­ griffsanforderung am Entscheidungsblock 98 festgestellt wird, wird die Anforderung am Entscheidungsblock 92 ausge­ wertet, um festzustellen, ob sie eine Zugriffsanforderung auf die Bank ist. Wenn die Anforderung keine Zugriffsanfor­ derung auf die Bank ist (d. h. eine Zugriffsanforderung auf eine andere Bank, die von der für diese Bank aufrechterhal­ tene Zugriffsmaschine verarbeitet wird), bleibt die Bank in ihrem aktiven Zustand 89. Wenn die Anforderung eine Zu­ griffsanforderung auf die Bank ist, so wird die Anforderung am Entscheidungsblock 96 weiter ausgewertet, um festzustel­ len, ob sie eine Zugriffsanforderung auf die offene Seite oder auf eine andere Seite innerhalb der Bank ist. Wenn die Anforderung eine Zugriffsanforderung auf eine andere Seite innerhalb der Bank ist, so wird die Bank in einen Voraufla­ dungszustand 93 überführt, um den Inhalt des Seitenpuffers in die richtige Zeile der Speicherzellen innerhalb der Bank zu schreiben. Der Signalgenerator wird davon informiert, daß die Bank in den Voraufladezustand 93 überführt werden soll (z. B. über das DRAM-Steuersignal 68 der Fig. 3), und legt die Kombination von Chipauswahl-, Zeilenadreß-Strobe-, Spal­ tenadreß-Strobe- und Schreibfreigabesignalen an, die zum Auslösen der Voraufladungsoperation notwendig sind. Nach Be­ endigung der Voraufladung wird die Bank wieder in den Akti­ vierungszustand 87 zurückgeführt, um den Inhalt der neu an­ gezeigten Zeile der Speicherzelle zum Speicherpuffer für die Bank zu übertragen. Nach der Aktivierungsoperation wird die Bank wieder in den aktiven Zustand 89 überführt.
Im folgenden wird wieder auf den Entscheidungsblock 96 Bezug genommen. Wenn die Anforderung eine Zugriffsanforde­ rung auf die offene Seite ist, so wird die Anforderung am Entscheidungsblock 97 weiter ausgewertet, um festzustellen, ob ein Schreib- oder Lesezugriff angefordert wird. Im Falle einer Schreibzugriffsanforderung wird die Bank in den Schreibzustand 91 überführt, und der Signalgenerator gibt den geeigneten Befehl zum Durchführen der verlangten Schreiboperation aus. Wenn eine Schreiboperation nicht ange­ fordert wird (d. h. eine Leseoperation verlangt wird), so wird die Bank in den Lesezustand 90 überführt, und der Si­ gnalgenerator gibt einen Lesebefehl zum Ausführen der ver­ langten Leseoperation aus. Nach Beendigung der verlangten Lese- oder Schreiboperation kehrt die Bank in den aktiven Zustand. 89 zurück.
Wenn im aktiven Zustand 89 der Bank keine Zugriffsanfor­ derungen innerhalb einer vorgegebenen Zeit festgestellt wer­ den, so wird dieses Aktivitätsfehlen vom Entscheidungsblock 94 festgestellt, und die Bank wird in den Voraufladungszu­ stand 95 überführt, um die offene Seite in einer Vorauflade­ operation zu schließen. Nach Beendigung der Voraufladung kehrt die Bank in den Ruhezustand 85 zurück. Hier ist der Ruhezustand 85 als Zustand definiert, in welchem der Seiten­ puffer für eine Speicherbank keine gültige Speicherseite enthält und sich nicht im Empfangsprozeß einer gültigen Speicherseite befindet. Wie oben gesagt, können sich alle Speicherbänke innerhalb des Systemspeichers zu beliebiger Zeit in unterschiedlichen Zuständen befinden. Daher können alle Bänke einer Zeile von SDRAM-Bauelementen im Ruhezustand sein, oder es kann sich mindestens eine Bank im Ruhezustand befinden, während die anderen nicht im Ruhezustand sind.
Bei einem Ausführungsbeispiel erfolgt die Feststellung, ob eine Zugriffsanforderung anhängig ist (Entscheidungsblock 98) und ob eine vorgegebene Zeit ohne Zugriffsanforderung abgelaufen ist (Entscheidungsblock 94), auf einer Bank-für- Bank-Basis, so daß die Zustandsmaschine für jede Bank nur festzustellen hat, ob diese Bank von Zugriffsanforderungen betroffen ist. (Bei diesem Ausführungsbeispiel kann der Ent­ scheidungsblock 92 fortgelassen werden). Bei einem alterna­ tiven Ausführungsbeispiel kann die am Entscheidungsblock 98 festgestellte (und zur Auszeitsteuerung am Block 94 verwen­ dete) Zugriffsanforderung auch Zugriffsanforderungen auf ei­ ne beliebige Bank innerhalb derselben Bauelementezeile wie die der Zustandsmaschine entsprechende Bank enthalten. In wiederum einem anderen Ausführungsbeispiel kann die am Ent­ scheidungsblock 98 festgestellte (und zur Auszeitsteuerung im Block 94 verwendete) Zugriffsanforderung auch Zugriffsan­ forderungen auf eine beliebige Bank im Speicher-Subsystem enthalten.
Fig. 7 ist ein Ablaufdiagramm 100, das bei einem Ausfüh­ rungsbeispiel einer Zustandsmaschine zur Steuerung des Ener­ gieverbrauchszustandes einer Zeile von SDRAM-Bauelementen realisiert ist. Bei einer Realisierung hält eine Energieab­ schaltlogik (z. B. Element 45 der Fig. 3) eine separate und unabhängige Zustandsmaschine 100 für jede Zeile von SDRAM- Bauelementen im Speicher-Subsystem aufrecht. Es sei angenom­ men, daß eine Bauelementezeile anfänglich in einem Energie- Abschaltzustand 101 ist, wenn ein Bauelementezeilenselektor von der Zustandsmanagementlogik (z. B. Element 44 der Fig. 3) empfangen wird, der anzeigt, daß auf die Bauelementezeile zugegriffen werden soll (Entscheidungsblock 102), überführt die Energieabschaltlogik die Bauelementezeile in den einge­ schalteten Zustand 104. Dies geschieht durch Anlegen des Taktfreigabesignals für die Bauelementezeile. Wenn bei einem Ausführungsbeispiel die Bauelementezeile im Energie-Ab­ schaltzustand 101 ist, wird das Bauelementezeile-Bereit-Si­ gnal (z. B. Signal 66 der Fig. 3) abgeschaltet, um der Zu­ standsmanagementlogik mitzuteilen, daß die Bauelementezeile noch nicht für einen Zugriff bereit ist. Wie oben gesagt, kann diese Information von der Zustandsmanagementlogik dazu verwendet werden, das Anlegen beispielsweise eines Aktivie­ rungskommandos an das Speicher-Subsystem oder eines Komman­ dobestätigungssignals an die Speicherzugriffslogik zu verzö­ gern.
Während sich die Bauelementezeile im Einschaltzustand 104 befindet, prüft die Energieabschaltlogik den Bauelemen­ tezeilenselektor im Schritt 106, um festzustellen, ob auf die Bauelementezeile zugegriffen werden soll. Ist dies der Fall, so bleibt die Bauelementezeile im Einschaltzustand 104. Wenn auf die Bauelementezeile nicht zugegriffen werden soll, so wird der Zustand jeder Bank in der Bauelementezeile in Entscheidungsblöcken 108, 110 und 112 überprüft (zu be­ achten ist, daß eine beliebige Anzahl (K) von Bänken und da­ her eine beliebige Zahl von Bankzustands-Entscheidungs­ blöcken vorhanden sein kann). Wenn eine der Bänke in der Bauelementezeile im Nicht-Ruhe-Zustand ist (z. B. Aktivie­ rungs-, Aktiv-, Lese-, Schreib- oder Voraufladungszustand), so wird die Bauelementezeile im Einschaltzustand 104 gelas­ sen und die Energie-Abschaltlogik fährt fort, das Taktfrei­ gabesignal an die Bauelementezeile anzulegen. Wenn sich da­ gegen alle Bänke der Bauelementezeile in einem Ruhezustand befinden, so wird die Bauelementezeile in einen Energie-Ab­ schaltzustand 101 überführt, und die Energie-Abschaltlogik unterbricht das Taktfreigabesignal an die Bauelementezeile. Da die Energie-Abschaltlogik den Zustand jeder Bauelemente­ zeile unabhängig von den Zuständen der anderen Bauelemente­ zeile aufrecht erhält, kann wenigstens eine der Bauelemente­ zeilen in den Energie-Abschaltzustand 101 überführt werden, während andere im Einschaltzustand 104 bleiben. Auf diese Weise können Zeilen der SDRAM-Bauelemente, welche sich nicht in Benutzung befinden, selektiv in den Energie-Abschaltzu­ stand 101 versetzt werden, um den Energieverbrauch des Spei­ cher-Subsystems zu reduzieren.

Claims (22)

1. Verfahren zum Betreiben eines Speichers, wobei Speicheranforderungen an eine Mehrzahl von Zeilen von Spei­ cherbauelementen aufweisenden Speicher empfangen werden, eine oder mehrere der Mehrzahl von Zeilen auf der Basis der Anforderungen in einen Zustand verringerter Energieauf­ nahme versetzt wird bzw. werden, während auf wenigstens eine andere der Mehrzahl von Zeilen zugegriffen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß wenigstens eine der Zeilen dadurch in einen Zustand verringerter Energieaufnahme versetzt wird,
daß für eine erste Zeile der Mehrzahl von Zeilen festge­ stellt wird, ob jede Bank einer Mehrzahl von in der ersten Zeile enthaltenen Bänken in einem Ruhezustand ist und
daß die erste Zeile dann in einen Zustand verringerter Energieaufnahme versetzt wird, wenn sich jede Bank der er­ sten Zeile in einem Ruhezustand befindet.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Feststellung, ob jede Bank der ersten Zeile in einem Ruhezustand ist, den Schritt des Feststellens umfaßt, ob ei­ ne vorgegebene Zeitspanne nach einem Zugriff auf eine erste Bank abgelaufen ist.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Feststellung, ob jede Bank der ersten Zeile in einem Ruhezustand ist, den Schritt des Feststellens umfaßt, ob ei­ ne vorgegebene Zeitspanne nach dem Zugriff auf den Speicher abgelaufen ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, da­ durch gekennzeichnet, daß ein Speicher verwendet wird, wel­ cher eine Vielzahl von synchronen dynamischen Direktzu­ griffsspeicher(SDRAM)-Bauelementen enthält.
6. Verfahren nach einem der Ansprüche 1 bis 5, da­ durch gekennzeichnet, daß wenigstens eine der Zeilen dadurch in einen Zustand reduzierter Energieaufnahme gebracht wird, daß ein Taktfreigabesignal an einem Taktfreigabeeingang je­ der aus einer Mehrzahl von synchronen dynamischen Direktzu­ griffsspeicher(SDRAM)-Bauelementen, welche in einer ersten Zeile der Mehrzahl von Zeilen angeordnet sind, weggenommen wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeich­ net, daß eine Zugriffsanforderung auf in der ersten Zeile der Mehrzahl von Zeilen gespeicherte Daten empfangen und das Taktfreigabesignal in Beantwortung der Zugriffsanforderung auf die in der ersten Zeile gespeicherten Daten angelegt wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß nach Anlegen des Taktfreigabesignals für eine erste Zeitspanne gewartet wird, bevor ein Adreß-Strobe-Signal an die SDRAM-Bauelemente angelegt wird, um Zeit zur Überführung der ersten Zeile aus dem Zustand verringerter Energieaufnah­ me in einen anderen Zustand zu gewinnen.
9. Anordnung zum Betreiben eines Speichers (14), der eine Mehrzahl von Zeilen (47, 48, 49) von Speicherbauelemen­ ten umfaßt, mit
Einrichtungen (31A, 31B, 31C, 35) zur Aufnahme von An­ forderungen zum Speicherzugriff und
Einrichtungen (38), die auf der Basis der Anforderungen eine oder mehrere der Zeilen in einen Zustand reduzierten Energieverbrauchs versetzen, während auf mindestens eine an­ dere der Zeilen zugegriffen werden kann.
10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß die Einrichtungen, welche mindestens eine der Mehrzahl von Zeilen (47, 48, 49) in einen Zustand verringerten Ener­ gieverbrauchs versetzen, enthalten:
Mittel zum Feststellen, ob jede Bank einer in einer er­ sten Zeile enthaltenen Mehrzahl von Bänken in einem Ruhe zu­ stand ist; und
Mittel, welche die erste Zeile in einen Zustand verrin­ gerten Energieverbrauchs versetzen, wenn jede Bank der Mehr­ zahl von Bänken in einem Ruhezustand ist.
11. Anordnung nach Anspruch 10, wobei die den Ruhezu­ stand jeder Bank der ersten Zeile bestimmenden Mittel solche Mittel enthalten, die für eine erste Bank der Mehrzahl von Bänken bestimmen, ob eine vorgegebene Zeitspanne nach dem letzten Zugriff der ersten Bank abgelaufen ist.
12. Anordnung nach Anspruch 10, wobei die den Ruhezu­ stand jeder Bank der ersten Zeile bestimmenden Mittel solche Mittel enthalten, die bestimmen, ob eine vorgegebene Zeit­ spanne nach dem Zugriff auf den Speicher verstrichen ist.
13. Anordnung zum Betreiben eines Speichers (14), der eine Mehrzahl von Speicherbauelementezeilen (47, 48, 49) aufweist, mit
einer Speicherzugriffslogik (31A-C, 35) zur Aufnahme von Anforderungen zum Speicherzugriff und
einer Speichersteuerlogik (38), die mindestens eine Zeile der Mehrzahl von Speicherbauelementezeilen während ei­ nes Zugriffs auf eine oder mehrere andere der Zeilen in ei­ nen Zustand reduzierten Energieverbrauchs versetzt.
14. Anordnung nach Anspruch 13, dadurch gekennzeich­ net, daß die Speichersteuerlogik (38) aufweist:
eine Zustandsmanagementlogik (44), die für eine erste Zeile der Mehrzahl von Zeilen feststellt, ob jede Bank aus einer Mehrzahl von in der ersten Zeile enthaltenen Bänken in einem Ruhezustand ist, und
eine Abschaltlogik (45), welche die erste Zeile in einen Zustand verringerten Energieverbrauchs versetzt, wenn jede Bank der Mehrzahl von Bänken in einem Ruhezustand ist.
15. Anordnung nach Anspruch 14, dadurch gekennzeich­ net, daß die Zustandsmanagementlogik (44) eine Logik ent­ hält, welche für eine erste Bank aus einer Mehrzahl von Bän­ ken bestimmt, ob eine vorgegebene Zeitspanne nach dem letz­ ten Zugriff auf die erste Bank abgelaufen ist.
16. Anordnung nach Anspruch 14, dadurch gekennzeich­ net, daß die Zustandsmanagementlogik (44) eine Logik ent­ hält, die feststellt, ob eine vorgegebene Zeitspanne nach dem Zugriff auf den Speicher abgelaufen ist.
17. Speicher-Steuereinrichtung, aufweisend:
eine Zustandsmanagementlogik (44), die auf der Basis von Anforderungen zum Zugriff auf in Zeilen organisierte Bauelemente eines synchronen dynamischen Direktzugriffspei­ chers (SDRAM 14), eine Mehrzahl von Zustandswerten verwal­ tet; und
eine Energie-Abschaltlogik (45), welche Taktfreigabesi­ gnale ausgibt, wobei jedes Taktfreigabesignal mit DRAM-Bau­ elementen in einer zugehörigen Zeile gekoppelt ist und auf der Basis eines entsprechenden Teilsatzes der Zustandswerte entweder in einem aktiven Zustand oder einem inaktiven Zu­ stand ist.
18. Speicher-Steuereinrichtung nach Anspruch 17, da­ durch gekennzeichnet, daß jeder Teilsatz der Mehrzahl von Zustandswerten einen entsprechenden Zustandswert für jede Bank einer in den DRAM-Bauelementen einer zugehörigen Zeile enthaltenen Mehrzahl von Speicherbänken umfaßt.
19. Speicher-Steuereinrichtung nach Anspruch 17, da­ durch gekennzeichnet, daß die Zustandsmanagementlogik (44) den Zustandswert jeder Bank nach Maßgabe eines Zugriffs auf diese Bank zuordnet, wobei der Zustandswert anzeigt, daß sich die Bank im Ruhezustand befindet, wenn auf die Bank über eine vorgegebene Zeitspanne nicht zugegriffen worden ist, und daß dann, wenn jede der in einer zugehörigen Zeile enthaltenen Bänke im Ruhezustand angezeigt wird, die Ener­ gie-Abschaltlogik (45) das Taktfreigabesignal für die Zeile aus dem aktiven Zustand in den inaktiven Zustand überführt.
20. Speicher-Steuereinrichtung nach Anspruch 17 oder 18, dadurch gekennzeichnet, daß ferner eine Adreß-Dekodier­ logik (43) zum Dekodieren von der Speicher-Steuereinrichtung zugeführten Adressen in Abhängigkeit von den Anforderungen vorgesehen ist, wobei die Adreß-Dekodierlogik jede Adresse in wenigstens ein Bauelementezeilensignal, welches eine der Zeilen von SDRAM-Bauelementen identifiziert, und wenigstens ein Bank-Adreßsignal dekodiert, welches eine entsprechende Bank von Speicherzellen in jedem der SDRAM-Bauelemente der identifizierten Zeile von SDRAM-Bauelementen identifiziert, und daß die von der Zustandsmanagementlogik verwaltete Mehr­ zahl von Zustandswerten einen entsprechenden Zustandswert für jede Bank in jeder Zeile enthält, wobei die Zustandsma­ nagementlogik den entsprechenden Zustandswert für jede Bank in jeder Zeile zuordnet, um anzuzeigen, daß sich die Bank in einem Ruhezustand befindet, wenn die Adreß-Dekodierlogik (43) keine Adresse dekodiert hat, welche die Bank innerhalb einer vorgegebenen Zeitspanne identifiziert.
21. Speicher-Steuereinrichtung nach Anspruch 17, da­ durch gekennzeichnet, daß die Energie-Abschaltlogik (45) ein Signal an die Zustandsmanagementlogik (44) ausgibt, das an­ zeigt, ob eine Zeile (47, 48, 49) von durch die Anforderung identifizierten DRAM-Bauelementen in einem Zustand verrin­ gerten Energieverbrauchs ist, wobei die Zustandsmanagement­ logik einen Zugriff auf diese Zeile verzögert, wenn durch das Signal von der Energie-Abschaltlogik angezeigt wird, daß diese Zeile in einem Zustand reduzierten Energieverbrauchs ist.
22. Computersystem mit
einem Prozessor (10),
einem eine Mehrzahl von Zeilen (47, 48, 49) von DRAM- Speicherbauelementen aufweisenden Speicher (14) und
einer mit einem Graphikbeschleuniger (20), dem Prozessor (10) und
dem Speicher (14) gekoppelten Speichersteuereinrichtung (12) mit einer Logik (35, 38), welche mindestens eine Zeile der SDRAM-Bauelemente in einen Zustand reduzierten Energie­ verbrauchs versetzt, wenn die wenigstens eine Zeile von SDRAM-Bauelementen innerhalb einer vorgegebenen Zeitspanne nicht von auf den Speicher zugreifenden Teilnehmern im Com­ putersystem, die den Prozessor und den Graphikbeschleuniger einschließen, zugegriffen worden ist.
DE19855645A 1997-12-02 1998-12-02 Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch Expired - Fee Related DE19855645C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/982,876 US5835435A (en) 1997-12-02 1997-12-02 Method and apparatus for dynamically placing portions of a memory in a reduced power consumtion state

Publications (2)

Publication Number Publication Date
DE19855645A1 true DE19855645A1 (de) 1999-06-10
DE19855645C2 DE19855645C2 (de) 2000-03-23

Family

ID=25529594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19855645A Expired - Fee Related DE19855645C2 (de) 1997-12-02 1998-12-02 Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch

Country Status (5)

Country Link
US (1) US5835435A (de)
AU (1) AU8783498A (de)
DE (1) DE19855645C2 (de)
TW (1) TW460775B (de)
WO (1) WO1999028913A1 (de)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6212599B1 (en) * 1997-11-26 2001-04-03 Intel Corporation Method and apparatus for a memory control system including a secondary controller for DRAM refresh during sleep mode
US6243817B1 (en) * 1997-12-22 2001-06-05 Compaq Computer Corporation Device and method for dynamically reducing power consumption within input buffers of a bus interface unit
US6040845A (en) * 1997-12-22 2000-03-21 Compaq Computer Corp. Device and method for reducing power consumption within an accelerated graphics port target
US5959929A (en) * 1997-12-29 1999-09-28 Micron Technology, Inc. Method for writing to multiple banks of a memory device
US6330679B1 (en) * 1997-12-31 2001-12-11 Intel Corporation Input buffer circuit with dual power down functions
US6199145B1 (en) * 1998-02-27 2001-03-06 Intel Corporation Configurable page closing method and apparatus for multi-port host bridges
US20020124195A1 (en) * 1998-11-04 2002-09-05 Puthiya K. Nizar Method and apparatus for power management in a memory subsystem
US7782844B1 (en) * 1999-01-05 2010-08-24 GlobalFoundries, Inc. Method and apparatus for pattern matching on single and multiple pattern structures
US6657634B1 (en) * 1999-02-25 2003-12-02 Ati International Srl Dynamic graphics and/or video memory power reducing circuit and method
US6668299B1 (en) 1999-09-08 2003-12-23 Mellanox Technologies Ltd. Software interface between a parallel bus and a packet network
US6611920B1 (en) 2000-01-21 2003-08-26 Intel Corporation Clock distribution system for selectively enabling clock signals to portions of a pipelined circuit
JP2002073330A (ja) * 2000-08-28 2002-03-12 Mitsubishi Electric Corp データ処理装置
US6983388B2 (en) * 2000-10-25 2006-01-03 Agere Systems Inc. Method and apparatus for reducing leakage power in a cache memory by using a timer control signal that removes power to associated cache lines
US7865747B2 (en) * 2000-10-31 2011-01-04 International Business Machines Corporation Adaptive issue queue for reduced power at high performance
US7085916B1 (en) * 2001-10-26 2006-08-01 Lsi Logic Corporation Efficient instruction prefetch mechanism employing selective validity of cached instructions for digital signal processor and method of operation thereof
AU2003272358A1 (en) * 2002-09-16 2004-04-30 Tigi Corporation Storage system architectures and multiple caching arrangements
US20040059954A1 (en) * 2002-09-20 2004-03-25 Rainer Hoehler Automatic low power state entry
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US7081897B2 (en) * 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
CA2557641A1 (en) * 2004-02-27 2005-09-15 Tigi Corporation System and method for data manipulation
US7343508B2 (en) 2004-03-05 2008-03-11 Ati Technologies Inc. Dynamic clock control circuit for graphics engine clock and memory clock and method
US7165165B2 (en) * 2004-03-16 2007-01-16 Intel Corporation Anticipatory power control of memory
US7500123B2 (en) * 2004-06-28 2009-03-03 Ati Technologies Ulc Apparatus and method for reducing power consumption in a graphics processing device
US7827424B2 (en) * 2004-07-29 2010-11-02 Ati Technologies Ulc Dynamic clock control circuit and method
US7606951B2 (en) 2004-11-12 2009-10-20 Woodbridge Nancy G Memory reuse for multiple endpoints in USB device
JP4674868B2 (ja) * 2004-12-21 2011-04-20 ルネサスエレクトロニクス株式会社 カードデバイス
US7222253B2 (en) 2004-12-28 2007-05-22 Intel Corporation Dynamic power control for reducing voltage level of graphics controller component of memory controller based on its degree of idleness
US7800621B2 (en) * 2005-05-16 2010-09-21 Ati Technologies Inc. Apparatus and methods for control of a memory controller
US7580312B2 (en) 2006-07-31 2009-08-25 Metaram, Inc. Power saving system and method for use with a plurality of memory circuits
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US7472220B2 (en) 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
JP2008544437A (ja) 2005-06-24 2008-12-04 メタラム インコーポレイテッド 一体化されたメモリコア及びメモリインターフェース回路
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US7590796B2 (en) 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US20070043895A1 (en) * 2005-08-16 2007-02-22 Adams Chad A Method and apparatus for row based power control of a microprocessor memory array
US7379316B2 (en) 2005-09-02 2008-05-27 Metaram, Inc. Methods and apparatus of stacking DRAMs
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
EP2442309A3 (de) * 2006-07-31 2013-01-23 Google Inc. Leistungsaufnahme-Steuerung für Speicherschaltung
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8266464B2 (en) * 2006-10-24 2012-09-11 Texas Instruments Incorporated Power controller, a method of operating the power controller and a semiconductor memory system employing the same
US7958380B2 (en) * 2007-05-22 2011-06-07 Intel Corporation Coarsely controlling memory power states
US7739461B2 (en) * 2007-07-10 2010-06-15 International Business Machines Corporation DRAM power management in a memory controller
US7724602B2 (en) * 2007-07-10 2010-05-25 International Business Machines Corporation Memory controller with programmable regression model for power control
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US9041720B2 (en) * 2009-12-18 2015-05-26 Advanced Micro Devices, Inc. Static image retiling and power management method and circuit
US8799685B2 (en) 2010-08-25 2014-08-05 Advanced Micro Devices, Inc. Circuits and methods for providing adjustable power consumption
US8503264B1 (en) * 2011-11-18 2013-08-06 Xilinx, Inc. Reducing power consumption in a segmented memory
US8743653B1 (en) 2012-06-20 2014-06-03 Xilinx, Inc. Reducing dynamic power consumption of a memory circuit
JP6003449B2 (ja) * 2012-09-20 2016-10-05 株式会社ソシオネクスト 半導体装置及びメモリの制御方法
NL2011800C2 (en) * 2013-11-14 2015-05-19 Stichting Katholieke Univ Magneto-optical device.
US20150254191A1 (en) * 2014-03-10 2015-09-10 Riverscale Ltd Software Enabled Network Storage Accelerator (SENSA) - Embedded Buffer for Internal Data Transactions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328911A (ja) * 1989-06-26 1991-02-07 Mitsubishi Electric Corp マイクロプロセッサ
JPH04143819A (ja) * 1989-12-15 1992-05-18 Hitachi Ltd 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ
US5535174A (en) * 1992-12-04 1996-07-09 Analog Devices, Incorporated Random access memory with apparatus for reducing power consumption
US5430683A (en) * 1994-03-15 1995-07-04 Intel Corporation Method and apparatus for reducing power in on-chip tag SRAM

Also Published As

Publication number Publication date
US5835435A (en) 1998-11-10
AU8783498A (en) 1999-06-16
WO1999028913A1 (en) 1999-06-10
DE19855645C2 (de) 2000-03-23
TW460775B (en) 2001-10-21

Similar Documents

Publication Publication Date Title
DE19855645C2 (de) Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch
DE69722117T2 (de) Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE3909896C2 (de)
DE60031404T2 (de) Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern
DE102006062383B4 (de) Halbleiterspeicherelement und System für ein Halbleiterspeicherelement
DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
DE102005001175B4 (de) Speicher mit automatischer Auffrischung bei bestimmten Bänken
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
DE60129373T2 (de) Hochleistung-DMAsteuerung
DE112007000632B4 (de) Energieoptimierte Frame-Synchronisation für mehrere USB-Controller mit nicht gleichförmigen Frame-Raten
DE60313323T2 (de) Dram, der zugriffe verschiedener burst-länge unterstützt, ohne die burst-längeneinstellung im modusregister zu verändern
DE60027748T2 (de) Busarchitektur und verteiltes busarbitrierungsverfahren für einen kommunikationsprozessor
DE69933328T2 (de) Mehrweg-Cachespeichervorrichtung und Verfahren
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE2617408A1 (de) Datenverarbeitungsgeraet
DE2854485A1 (de) Datenverarbeitungssystem mit speicherhierarchie
DE102006029287A1 (de) DRAM-Chipbaustein kommunizierend mit Flash-Speicherchip und einen solchen Baustein umfassender Mehrchip-Verbund
DE102018119881B4 (de) Verwaltung einer DRAM-Bankaktivierung
DE112004000166T5 (de) Nicht-Haupt-CPU/OS-basierte Betriebsumgebung
DE112005002336T5 (de) Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE102012219059A1 (de) Effizientes Befehlsabbildungsschema für Kurze-Datenburstlängen- Speichervorrichtungen
DE602004012310T2 (de) Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem
DE102009020758A1 (de) Halbleiterspeicherbauelement und zugehöriges Zugriffsverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee