DE60031404T2 - Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern - Google Patents

Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern Download PDF

Info

Publication number
DE60031404T2
DE60031404T2 DE60031404T DE60031404T DE60031404T2 DE 60031404 T2 DE60031404 T2 DE 60031404T2 DE 60031404 T DE60031404 T DE 60031404T DE 60031404 T DE60031404 T DE 60031404T DE 60031404 T2 DE60031404 T2 DE 60031404T2
Authority
DE
Germany
Prior art keywords
memory
pool
mode
request
power control
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 - Lifetime
Application number
DE60031404T
Other languages
English (en)
Other versions
DE60031404D1 (de
Inventor
B. Blaise Cameron Park FANNING
R. Jeffrey Folsom WILCOX
S. Khong Folsom FOO
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 DE60031404D1 publication Critical patent/DE60031404D1/de
Application granted granted Critical
Publication of DE60031404T2 publication Critical patent/DE60031404T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Dram (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Power- bzw. Leistungs- und thermische Management von Computersystemen und Vorrichtungen bzw. Bausteinen. Im Besonderen betrifft die vorliegende Erfindung eine Vorrichtung und ein Verfahren zur dynamischen Regelung der Leistungsverbrauchswerte von Speicherbausteinen in einem Speichersystem.
  • STAND DER TECHNIK
  • Im Zuge der Weiterentwicklung von Computervorrichtungen bzw. Computerbausteinen und Systemen und der zunehmenden Komplexität, ist ein effektives und effizientes Power- und thermisches Management der Computervorrichtungen und Systeme immer wichtiger geworden für die Systementwicklung und die Implementierung. Da Computervorrichtungen und Systeme nur innerhalb bestimmter Bereiche der elektrischen Stromversorgung und der Temperatur ordnungsgemäß und sicher betrieben werden können, ist es wichtig sicherzustellen, dass eine ausreichende Stromversorgung gegeben ist, um verschiedene Vorrichtungen zu betreiben, wenn diese benötigt werden. Darüber hinaus ist es wichtig sicherzustellen, dass die thermischen Bedingungen bestimmte Schwellen- bzw. Grenzwerte nicht überschreiten, die für den Betrieb dieser verschiedenen Vorrichtungen bzw. Geräte als sicher gelten. Im Allgemeinen sind Computervorrichtungen wie zum Beispiel Speicherbausteine so gestaltet, dass sie verschiedene Betriebsmodi oder Leistungszustände aufweisen, die unterschiedlichen Leistungswerten und Stromverbrauchswerten entsprechen. Zu den unterschiedlichen Betriebsmodi oder Leistungszuständen zählen unter anderem zum Beispiel ein aktiver Modus, ein Standby- bzw. Bereitschaftsmodus, ein Ruhe- bzw. Schlafmodus, etc. Im Allgemeinen arbeiten Vorrichtungen im aktiven Modus schneller als in den anderen Modi. In dem aktiven Modus verbrauchen Vorrichtungen aber auch mehr Leistung und erzeugen mehr Wärme als in den anderen Modi. Alle Vorrichtungen in dem System in dem aktiven Modus zu halten reduziert die Latenzzeit im Betrieb und verbessert somit die Leistung des Systems insgesamt. Alle Vorrichtungen in dem aktiven Modus zu halten, verbraucht jedoch auch mehr Leistung und erzeugt eine größere Wärmeausbreitung. Selbst wenn die Systemstromversorgung ferner ausreicht, um alle Vorrichtungen in dem System zu betreiben, können sich einige der Vorrichtungen trotzdem im Ruhezustand befinden, und somit wäre es eine Verschwendung von Ressourcen, alle Vorrichtungen stets im aktiven Modus zu halten. Die Anforderungen hinsichtlich der Systemleistung und die Anforderungen hinsichtlich des Systemleistungsverbrauchs müssen ausgeglichen werden. Um ein Gleichgewicht zwischen der Systemleistung und dem Systemleistungsverbrauch sowie der Wärmeausbreitung zu erhalten, ist es erforderlich, eine bestimmte Anzahl der Vorrichtungen in einem inaktiven Modus zu halten, um den Leistungsverbrauch ebenso zu reduzieren wie die Wärmeabstrahlung. Abhängig von den Anwendungen und der Betriebsumgebung kann die Anzahl der in dem inaktiven Modus zu haltenden Vorrichtungen variieren. Zum Beispiel offenbart das U.S. Patent US-A-5.901.103 eine integrierte Schaltung mit einer CPU und Speicherbänken mit einer Mehrzahl von Leistungsschaltern, die dazu eingesetzt werden, dynamisch auszuwählen, welche Signale einer Mehrzahl externer Spannungsversorgungssignale bereitgestellt werden, um jeden der Speicherblöcke mit Leistung bzw. Strom zu versorgen. Die Leistungsregelungsschalter können durch Software gesteuert bzw. geregelt werden, oder eine intelligente Steuereinheit kann dynamisch die Schalter als Reaktion auf den Ausführungsablauf von Datenzugriffen und Befehlserfassungen aus den Speicherbänken steuern, so dass Speicherbänke, auf die gerade zugegriffen wird oder kürzlich zugegriffen worden ist, auf einen hohen Leistungswert aktiviert werden, während sich alle anderen Speicherbände in einem Niederleitungs-Standby-Modus befinden.
  • Die vorstehend beschriebenen Beschränkungen und Kompromisse des Systems in Bezug auf Computervorrichtungen treffen im Allgemeinen gleichermaßen auf Speichervorrichtungen bzw. Speicherbausteine in einem Speichersystem zu. In ihrem aktiven oder Leistung konsumierenden Modus arbeiten Speicherbausteine, wie etwa DRAM-Bausteine (dynamische Direktzugriffsspeicher) schneller als wenn sie sich in einem inaktiven Modus befinden (z.B. Standby- oder Schlafmodus). Allerdings verbrauchen DRAM-Bausteine in ihrem aktiven Modus auch deutlich mehr Leistung als in dem inaktiven Modus. Um folglich ein Gleichgewicht zwischen der Leistung und dem Leistungsverbrauch (und der Wärmeabstrahlung) zu erhalten, muss eine bestimmte feste Anzahl von DRAM-Bausteinen in einem inaktiven Modus gehalten werden, um die Leistung zu konservieren und die Wärmeabstrahlung zu reduzieren. Die Anzahl der Vorrichtungen bzw. Bausteine in einem aktiven Modus und die Anzahl der Vorrichtungen in einem inaktiven Modus kann beim Systemstart (Booten bzw. Hochfahren) oder beim Zurücksetzen des Systems durch das BIOS (Basic Input/Output Program) spezifiziert werden. Die Verwaltung, welche Vorrichtungen sich im aktiven Modus befinden, und welche Vorrichtungen sich im inaktiven Modus befinden, kann durch eine Definition von Vorrichtungspools erreicht werden, die dazu eingesetzt werden, den Betriebsmodus oder Leistungszustand (z.B. aktive oder inaktive) der jeweiligen Vorrichtungen zu verfolgen. Ein Vorrichtungspool bezieht sich in diesem Kontext auf eine Abbildung oder eine Liste von Vorrichtungen, die sich in einem jeweiligen Betriebsmodus oder Leistungszustand befinden. Zum Beispiel kann ein Pool verwaltet werden, um die Vorrichtungen zu verwalten, die sich in dem aktiven Modus befinden, und wobei ein weiterer Pool zur Verwaltung der Vorrichtungen eingesetzt wird, die sich in dem inaktiven Modus befinden. Bei einem derartigen Power Management bzw. Leistungsmanagement wird angenommen, dass die Vorrichtungen, die in einem der Pools dargestellt sind, in einem bestimmten Betriebsmodus oder Leistungszustand arbeiten und somit eine bestimmte Leistungsmenge verbrauchen. Zum Beispiel wird angenommen, dass Vorrichtungen, die in dem aktiven Pool dargestellt sind, in dem aktiven Modus arbeiten. Die Anzahl der Vorrichtungen bzw. Bausteine in jedem Pool kann überprüft werden, um zu bestimmen, welche Leistungsmenge von dem ganzen Speichersystem verwendet wird. Die verschiedenen Pools zur Verfolgung bzw. Verwaltung des Betriebsmodus oder des Leistungszustands der verschiedenen Speicherbausteine werden nachstehend auch als Leistungsregelungspools oder Leistungseinsparungspools bezeichnet.
  • Für gewöhnlich wird die Anzahl der Vorrichtungen bzw. Bausteine in jedem Pool (nachstehend auch als Größe des Pools oder Poolgröße bezeichnet) beim Einschalten bzw. Hochfahren oder Zurücksetzen durch das BIOS konfiguriert oder spezifiziert und bleibt während dem Systembetrieb unverändert, aufgrund der Komplexität der Berücksichtigung der Leistungsverbrauchszustände aller Vorrichtungen während einem vorgesehenen Übergang. Zum Beispiel kann ein Systembetreiber oder ein Systemanwender über das BIOS-Setup spezifizieren, dass die Anzahl der aktiven Bausteine gleich 8 und die Anzahl der inaktiven Bausteine gleich 24 ist. Diese beiden Zahlen werden zur Bestimmung der maximal zulässigen Anzahl von Vorrichtungen bestimmt, die entsprechend aktiv bzw. inaktiv sein können. Eine derartige statische und unflexible Pool-Konfiguration ist in Bezug auf die Balancierung der Systemleistungsvoraussetzungen mit den Voraussetzungen für die Systemleistung und die Wärmeabstrahlung nicht effektiv und effizient, da während dem Systembetrieb bestimmte Ereignisse und Betriebsbedingungen auftreten können, welche eine Anpassung der Pool-Konfiguration erforderlich machen könnten, so dass das System weiter ordnungsgemäß, sicher und effizient arbeitet. In verschiedenen Situationen kann es zum Beispiel nützlich sein, in der Lage zu sein, die Pool-Konfiguration während den Systemoperationen als Reaktion auf verschiedene Reize von außen oder Veränderungen der Betriebsbedingungen zu verändern (z.B. die Größe des aktiven Pools und es inaktiven Pools zu verändern, etc.), da die Größen der Pools dazu verwendet werden, ein zweckmäßiges Gleichgewicht zwischen der Systemleistung und dem Systemleistungsverbrauch (und der Wärmeerzeugung) aufrechtzuerhalten. Zum Beispiel kann es sein, dass die Größen der Pools verändert werden müssen als Reaktion auf einen Temperaturzustand, der die für das System zulässigen thermischen Toleranzen überschreitet oder als Reaktion auf eine Indikation, dass das System aufgrund eines Stromausfalls oder eines ähnlichen Fehlers über eine batteriebetriebene Quelle versorgt wird. Darüber hinaus kann es sein, dass die Größen der Pools aufgrund von Veränderungen der Systembetriebseigenschaften verändert werden müssen, wie etwa Veränderungen der Anzahl der Systembenutzer, wobei dies allgemein die Nutzungs- und somit Leistungsverbrauchswerte des Speichersystems beeinflusst.
  • Folglich ist eine dynamische Umkonfiguration oder Veränderung der Größen der Leistungsregelungspools von Speicherbausteinen im Verlauf des Systembetriebs erforderlich.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 1.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung eine Vorrichtung gemäß dem gegenständlichen Anspruch 18.
  • Bevorzugte Merkmale der vorliegenden Erfindung sind durch die Unteransprüche definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden in Bezug auf die beigefügten Zeichnungen umfassender verständlich. In den Zeichnungen zeigen:
  • 1 ein Blockdiagramm eines Ausführungsbeispiels eines Systems, das die Lehren der vorliegenden Erfindung implementiert;
  • 2 ein Blockdiagramm einer Speichersteuereinheit mit einem Speicherleistungsverbrauch-Regelungsmechanismus;
  • 3 ein Blockdiagramm eines Ausführungsbeispiels einer Speichersteuereinheit, die einen Pool-Manager aufweist;
  • die 4A bis 4C ein Beispiel für ein Ausführungsbeispiel eines Verfahrens zur Verwaltung verschiedener Leistungsregelungspools, die verwendet werden, um die Betriebszustände von Speicherbausteinen zu überwachen und zu regeln;
  • die 5A bis 5C ein Beispiel für ein Ausführungsbeispiel eines Verfahrens zur Verwaltung von Leistungsregelungspools, die verwendet werden, um die Betriebszustände von Speicherbausteinen zu überwachen und zu regeln;
  • 6 ein Zustandsdiagramm eines Ausführungsbeispiels eines Verfahrens zur Ausführung normaler Speicherauffrischoperationen;
  • 7 ein Zustandsdiagramm eines Ausführungsbeispiels eines Verfahrens zur Ausführung von Auffrischoperationen als Reaktion auf eine Anforderung für eine neue Größenfestlegung der Leistungsregelungspools;
  • die 8A bis 8B ein Beispiele für eine Umkonfiguration der Leistungsregelungspools als Reaktion auf eine Anforderung zur neuen Größenfestlegung der Speicher-Leistungsregelungspools;
  • 9 ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools;
  • 10 ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools;
  • 11 ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools;
  • 12 ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools als Reaktion auf eine Anforderung von einem Prozessor;
  • 13 ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools als Reaktion auf durch Hardware detektierte Systemereignisse; und
  • 14 ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größe von Speicher-Leistungsregelungspools als Reaktion auf eine Anforderung eines Prozessors oder durch Hardware detektierte Systemereignisse.
  • GENAUE BESCHREIBUNG
  • In der folgenden genauen Beschreibung sind zahlreiche spezifische Einzelheiten ausgeführt, um ein umfassendes Verständnis der vorliegenden Erfindung zu vermitteln. Für den Fachmann auf dem Gebiet ist es jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten verstanden und ausgeführt werden kann.
  • In der nachstehenden Beschreibung werden die Lehren der vorliegenden Erfindung zur Implementierung eines Verfahrens und einer Vorrichtung eingesetzt, um dynamisch die Größen der Speicher-Leistungsregelungspools zu verändern bzw. anzupassen, die verwendet werden, um die Betriebszustände verschiedener Speicherbausteine zu überwachen und zu regeln. In einem Ausführungsbeispiel wird der Auffrischprozess, der normalerweise eingesetzt wird, um die verschiedenen Speicherbausteine aufzufrischen, so modifiziert, dass bewirkt wird, dass verschiedene Speicherbausteine in einen speziellen Betriebszustand eintreten, wie z.B. den Schlafzustand, und zwar nach einer Auffrischung als Reaktion auf eine Anforderung zur Anpassung der Größen der Speicher-Leistungsregelungspools. Nachdem verschiedene Speicherbausteine in den speziellen Betriebszustand (z.B. den Schlafzustand) eingetreten sind, können die Größen der Speicher-Leistungsregelungspools auf neue Werte gemäß der Anforderung angepasst werden. In einem Ausführungsbeispiel kann die Anforderung zum Anpassen der Größen der Speicher-Leistungsregelungspools durch einen Prozessor oder andere Einheiten eingeleitet werden, die eine Veränderung der Größen der Speicher-Leistungsregelungspools benötigen. In einem Ausführungsbeispiel kann die Anforderung für die Anpassung der Größen der Speicher-Leistungsregelungspools auch ohne Intervention der Systemsoftware eingeleitet werden als Reaktion auf das Detektieren eines spezifischen Systemereignisses, wie zum Beispiel, wenn ein Signal von einer thermischen Regelungseinheit des Systems oder einer thermischen Regelungseinheit des Computers anzeigt, dass die Temperatur einen Grenzwert überschritten hat.
  • Die Abbildung aus 1 zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Systemkonfiguration, wobei die Lehren der vorliegenden Erfindung implementiert werden. Die Systemkonfiguration 100 weist eine Mehrzahl von Zentraleinheiten (CPUs) 101a–d, einen Speicher-Steuer-Hub (auch als Speichersteuereinheit bezeichnet) 111, eine P64-Steuereinheit 121, eine Ein-Ausgabe-Steuereinheit (E/A-Steuereinheit) 131, eine Grafiksteuereinheit 141, die mit einem Grafikteilsystem 151 verbunden ist, und eine Mehrzahl von Speicherbausteinen 161 auf. Für die Zwecke der vorliegenden Patentschrift betrifft der Begriff „Prozessor" oder „CPU" jede Maschine bzw. Vorrichtung, die eine Befehlsfolge ausführen kann, und wobei die Bedeutung unter anderem und ohne einzuschränken universelle Mikroprozessoren, spezielle Mikroprozessoren, Multimedia-Steuereinheiten und Mikrocontroller, etc. einschließt. In einem Ausführungsbeispiel handelt es sich bei den CPUs 101a101d um universelle Mikroprozessoren, die einen Befehlsvorrat der Inte1 Architektur ausführen können. Die CPUs 101a101d, die P64-Steuereinheit 121, die E/A-Steuereinheit 131 und die AGP-Grafiksteuereinheit 141 greifen über die Speichersteuereinheit 111 auf die Systemspeicherbausteine 161 zu. Die Speichersteuereinheit 111 ist in einem Ausführungsbeispiel zuständig für die Behandlung aller Speichertransaktionen, die die Systemspeicherbausteine 161 zum Ziel haben. Die Speichersteuereinheit 111 kann eine Standalone-Einheit, ein integraler Bestandteil eines Chipsatzes oder Teil einer größeren Einheit sein, welche die Schnittstellen zwischen verschiedenen Systemkomponenten und Systemspeicherbausteinen 161 steuern. Die P64-Steuereinheit 121 sorgt für die Schnittstellensteuerung zwischen einer Mehrzahl von PCI-64-Slots 125 und der Speichersteuereinheit 111. Die E/A-Steuereinheit 131 sorgt für die Schnittstellensteuerung zwischen der Speichereinheit 111 und verschiedenen E/A-Vorrichtungen und Ports mit PCI-Slots und PCI-Agenten 133, einer Mehrzahl von USB-Ports 135, einer Mehrzahl von IDE-Ports 137 und anderen E/A-Vorrichtungen 139. Die AGP-Grafiksteuereinheit 141 sorgt für die Schnittstellensteuerung zwischen dem Grafikteilsystem 151 und der Speichersteuereinheit 111. Die Struktur und die Funktionen der Speichersteuereinheit 111 sind nachstehend im Text näher beschrieben.
  • Für die Zwecke der vorliegenden Patentschrift wird angenommen, dass es sich bei den Speicherbausteinen 161 um DRAM-Bausteine (dynamische Direktzugriffsspeicher) handelt. Es ist allgemein bekannt, dass DRAM eine Art von RAM ist, welche flüchtige Speicherzellen verwendet, die periodisch aufgefrischt werden, um Daten zu speichern. Die Auffrischrate oder die Auffrischfrequenz variiert abhängig von dem verwendeten Typ von DRAM, der installierten Speichergröße, der Konfiguration des Systemspeichers, etc. In der folgenden Beschreibung wird davon ausgegangen; dass es sich bei den Speicherbausteinen um RAMBUS® DRAMs (auch als RDRAMs bezeichnet) handelt, die von der Rambus Incl, Mountain View, Kalifornien, USA, entwickelt worden sind. Die vollständige folgende Beschreibung gilt jedoch gleichermaßen für andersartige DRAMs, dazu zählen herkömmliche DRAMs, Fast Page Mode (FPM) DRAMs, Extended Data Out (EDO) DRAMs, Burst Extended Data Out (BEDO) DRAMs, synchrone DRAMs (SDRAMs), SDRAMs mit doppelter Datenrate (DDR SDRAMs), synchronous-link DRAMs (SLDRAMs), etc.
  • Die Abbildung aus 2 zeigt ein Blockdiagramm eines Ausführungsbeispiels der in Bezug auf die Abbildung aus 1 beschriebenen Speichersteuereinheit 111. In dem vorliegenden Ausführungsbeispiel weist die Speichersteuereinheit 111 drei Hauptblöcke auf: die Host-Gruppe (HG) 211, die E/A-Gruppe (IOG) 221 und die Datengruppe (DG) 231. In einem Ausführungsbeispiel fungiert die Host-Gruppe 211 als eine Host-Schnittstelle für die Speichersteuereinheit 111. Zu einigen der durch die Host-Gruppe 211 ausgeführten Funktionen zählen der Empfang von Transaktionsanforderungen von den CPUs 101a101d, das Erzeugen entsprechender Befehle an die E/A-Gruppe 221 und die Datengruppe 231, das Empfangen von Antworten von der E/A-Gruppe 221 und der Datengruppe 231 und das Übermitteln der empfangenen Antworten an den Host (CPUs 101a101d). Darüber hinaus ist die Host-Gruppe 211 auch verantwortlich für die Erzeugung von Snoop-Anforderungen an die Datengruppe 231, den Empfang von Snoop-Antworten von der Datengruppe 231 und das Übermitteln von Snoop-Antworten zu dem Host. Die E/A-Gruppe 221 fungiert in einem Ausführungsbeispiel als eine E/A-Schnittstelle für die Speichersteuereinheit 111. Im Besonderen erfüllt die E/A-Gruppe 221 die Schnittstellenfunktionen zwischen der Datengruppe 231 und der P64-Steuereinheit 121, der E/A-Steuereinheit 131 und der Grafiksteuereinheit 141. In einem Ausführungsbeispiel ist die Datengruppe (die auch als Daten-Custer bezeichnet wird) 231 für die Verteilung und vollständige Ausführung aller Speichertransaktionen zuständig, welche die System-RDRAMs zum Ziel haben. In einem Ausführungsbeispiel weist die Datengruppe 231 zwei logische Teilkomponenten auf: eine Dateneinheit (Dunit), welche die komplexe Mechanik des Übermittelns von Transaktionen an die RDRAM-Bausteine über die RAMBUS-Kanalsteuereinheit (RAC) ausführt, und die Puffereinheit (Bunit), die für die Ablaufsteuerung, das Puffern und das Zustellen der Daten zuständig ist, die über den Speicherbus (auch als RAM-Bus bezeichnet) aus den RDRAM-Bausteinen gezogen oder zu diesen geschoben werden. Die Dunit akzeptiert Speicherlese-, Speicherschreib- und Speicherauffrischanforderungen von der Bunit. Diese Anforderungen werden decodiert, um den Status bzw. Zustand der Speicherseiten zu bestimmen, an welche sie gerichtet sind. Die Dunit erzeugt danach die entsprechenden Befehle oder Anweisungen (auch als die Pakete bezeichnet), die erforderlich sind, um die Speicherzugriffsanforderungen auszuführen, und wobei die Pakete für eine Übertragung über den Speicherbus in Warteschlangen platziert werden. Darüber hinaus synchronisiert die Dunit auch Datenübertragungen, welche eine Taktbegrenzung zwischen der Kernfrequenz und der Grundfrequenz des Speicherbusses überschreiten. Die Bunit empfängt in einem Ausführungsbeispiel Anforderungen für Speicherdaten von der Host-Gruppe 211 und der E/A-Gruppe 221 und erzeugt die entsprechenden Speicherzugriffsanforderungen an die Dunit, wie dies vorstehend im Text beschrieben worden ist.
  • Die Abbildung aus 3 zeigt ein Blockdiagramm eines Ausführungsbeispiels der Speichersteuereinheit 111, mit einer Auffrischeinheit 311, einem Paketgenerator 321 und einem Pool-Manager 331. Die Funktionen dieser Einheiten und die Interaktionen zwischen ihnen sind nachstehend im Text näher beschrieben. Wie dies bereits vorstehend im Text beschrieben worden ist, ist die Speichersteuereinheit (MCU) 111 zuständig für die Behandlung von Speichertransaktionen, die von verschiedenen Quellen zeitgerecht empfangen werden. Die von verschiedenen Quellen in dem System 100 empfangenen Speichertransaktionen umfassen Lese- und Schreibanforderungen in Bezug auf Speicherdaten. In einem Ausführungsbeispiel setzt die MCU 111 die von verschiedenen Quellen empfangenen Lese- und Schreibanforderungen in Befehle um, welche die RDRAM-Bausteine verstehen, die über den Speicherbus mit der MCU 111 gekoppelt sind. Die von den RDRAM-Bausteinen verstandenen Befehle (d.h. die nativen RDRAM-Anforderungen) werden hierin auch als RDRAM-Anforderungspakete oder einfach nur Pakete bezeichnet. Die in der Abbildung aus 3 dargestellte Paketgeneratoreinheit 321 ist die Einheit in der MCU 111, die für die Erzeugung und das Übermitteln von Paketen zu den RDRAM-Bausteinen zuständig ist.
  • In einem Ausführungsbeispiel ist die MCU 311 auch für die RDRAM-Verwaltungsoperationen wie etwa das Auffrischen und die Kalibrierung zuständig. Wie dies vorstehend im Text beschrieben worden ist, verwenden RDRAMs, wie jede andere DRAM-Technologie, flüchtige Speicherzellen, die periodisch aufgefrischt werden müssen, um Daten zu speichern. Die MCU 311 führt diese Verwaltungs- bzw. Wartungsoperationen in regelmäßigen Intervallen aus, indem Pakete an die RDRAMs übermittelt werden, um deren Daten aufzufrischen oder um deren elektrische Eigenschaften zu kalibrieren. In einem Ausführungsbeispiel verwendet die MCU 111 die Auffrischeinheit 311 aus 3 zur Ausführung der RDRAM-Wartungsoperationen. In einem Ausführungsbeispiel verwaltet die Auffrischeinheit 311 einen Zähler, der dazu eingesetzt wird, die Zeitintervalle zwischen Auffrisch- und Kalibrierungszyklen zu überwachen. Wenn die Auffrischeinheit 311 bestimmt hat, dass ein Wartungszyklus an den RDRAMs ausgeführt werden muss, so richtet sie eine Anforderung an den Paketgenerator 321, der wiederum die entsprechenden RDRAM-Anforderungspakete erzeugt, die bewirken, dass die RDRAM-Bausteine die erforderlichen Verwaltungs- bzw. Wartungsfunktionen (z.B. Auffrischen oder Kalibrieren) ausführen.
  • Der Pool-Manager 331 ist für die Verwaltung der Leistungsverbrauchsebenen (hierin auch als Betriebsmodi oder Leistungszustände bezeichnet) der RDRAM-Vorrichtungen zuständig. Um das Gleichgewicht zwischen der Systemleistung und der Systemleistungsnutzung zu erhalten, sind die Speicherbausteine so gestaltet, dass sie unterschiedliche Betriebsmodi aufweisen, die verschiedenen Leistungsebenen bzw. Leistungswerten (d.h. Geschwindigkeiten) entsprechen, wie dies bereits vorstehend im Text beschrieben worden ist. In dem vorliegenden Ausführungsbeispiel sind die RDRAMs so gestaltet, dass sie verschiedene Betriebsmodi aufweisen: aktiv, Bereitschaft bzw. Standby, Ruhe bzw. Schlafen und ausgeschaltet. Diese vier unterschiedlichen Betriebsmodi der RDRAMs unterscheiden sich durch zwei Faktoren: ihre Leistungsverbrauchswerte und ihre Leistungs- bzw. Performance-Werte. Zum Beispiel ist ein RDRAM im aktiven Modus bereit, eine Transaktion direkt zu bedienen. Der Leistungsverbrauch ist in dem aktiven Modus jedoch höher als in den anderen Modi. Die vier verschiedenen Leistungsverbrauchsebenen und Leistungsebenen der RDRAMs, welche den vier verschiedenen Betriebsmodi entsprechen, sind in der nachstehenden Tabelle 1 abgebildet, wobei 4 in der Leistungsverbrauchsspalte der höchsten Ebene des Leitungsverbrauchs durch den RDRAM entspricht, und 1 in der Leistungswertspalte entspricht der höchsten Leistungsebene.
  • Tabelle 1:
    Figure 00150001
  • Wie dies in Tabelle 1 veranschaulicht ist, arbeiten die RDRAMs im aktiven Modus schneller als in allen anderen drei Modi. Die RDRAMs verbrauchen jedoch in dem aktiven Modus deutlich mehr Leistung als in den anderen drei Modi. Der Leistungsverbrauch und auch die Wärmeerzeugung der Speicherbausteine (z.B. in der vorliegenden Beschreibung der RDRAMs) können reduziert werden, indem eines oder mehrere der RDRAMs in einem niedrigeren Leistungsmodus (z.B. Standby-, Ruhe- oder ausgeschalteter Modus) platziert werden. Wie dies bereits vorstehend im Text beschrieben worden ist, sind das Power Management und das thermische Management in modernen und häufig komplexen Computersystemen bezüglich der Entwicklung und Implementierung von Systemen immer bedeutender geworden. Um ein akzeptables Gleichgewicht zwischen der Systemleistung und dem Systemleistungsverbrauch (der auch der Wärmeabstrahlung entspricht) zu erreichen, werden Systeme häufig so konfiguriert, dass nur eine feste Anzahl von Speicherbausteinen (z.B. RDRAMs) in dem aktiven Modus arbeiten kann. Abhängig von den Anwendungen und den Betriebsumgebungen des Systems variiert die Anzahl der Speicherbausteine, die in dem aktiven Modus gehalten wird, wie dies bereits vorstehend im Text beschrieben worden ist. Bei einer Systemkonfiguration unter Verwendung von 12 RDRAM Speicherbausteinen können bestimmte Systemeinschränkungen zum Beispiel vorgeben, dass nur maximal 4 RDRAM Bausteine zu einem bestimmten Zeitpunkt aktiv sein dürfen. Wie dies bereits vorstehend im Text beschrieben worden ist, kann die maximale Anzahl der Bausteine bzw. Vorrichtungen in dem aktiven Modus, in dem Standby-Modus oder in dem Ruhemodus, etc. durch den Systembenutzer über das System-BIOS beim Hochfahren oder Zurücksetzen des Systems spezifiziert werden. Die Verwaltung, welche Bausteine sich in welchem Betriebsmodus befinden (z.B. aktiv, Standby, Ruhe, etc.), kann unter Verwendung einer Definition der Pools der Bausteine (auch bezeichnet als Leistungsregelungspools) erreicht werden, die verwendet werden, um den Betriebsmodus oder Leistungszustand der einzelnen Speicherbausteine zu überwachen und zu regeln. Ein Pool bezieht sich in der vorliegenden Beschreibung auf eine Abbildung oder eine Liste von Speicherbausteinen, die sich in einem bestimmten Betriebsmodus oder Leistungszustand befinden.
  • Wie dies bereits vorstehend im Text beschrieben worden ist, können die RDRAMs eine erhebliche Leistungsmenge verbrauchen und Wärme in erheblichem Ausmaß erzeugen, wenn sie im aktiven Modus betrieben werden. Folglich wäre es vorteilhaft, so viele RDRAMs wie praktisch möglich, in einem niedrigen Leistungszustand zu betreiben. In einem Ausführungsbeispiel erreicht die MCU 111 dies durch Drosselung, indem eine Reihe von Speicherbausteinen (z.B. die RDRAMs) in den Ruhe- oder Schlafmodus versetzt werden, in dem die Speicherbausteine deutlich weniger Leistung verbrauchen und somit deutlich weniger Wärme erzeugen als wie dies im aktiven Modus oder im Standby-Modus der Fall ist. Die RDRAMs können in dem Ruhemodus ihre Daten halten, wobei sie jedoch nicht in der Lage sind, ihre Daten an die MCU 111 bereitzustellen, bis sie in den aktiven oder den Standby-Modus gewechselt sind. Wie dies vorstehend im Text beschrieben worden ist, sollte um ein Gleichgewicht zwischen der Systemleistung und dem Leistungsverbrauch zu erhalten, eine bestimmte feste Anzahl von Speicherbausteinen zu einem beliebigen bestimmten Zeitpunkt in den Ruhemodus versetzt werde, Folglich muss nur eine bestimmte feste Anzahl von Speicherbausteinen zu einem bestimmten Zeitpunkt in dem aktiven Modus oder dem Standby-Modus gehalten werden. Computerprogramme kennen den Betriebsmodus oder den Leistungszustand eines bestimmten Speicherbausteins nicht. Somit muss der Betriebsmodus eines bestimmten Speicherbausteins durch die MCU verändert werden, bevor der jeweilige Speicherbaustein eine Speichertransaktion behandeln kann.
  • In erneutem Bezug auf die Abbildung aus 3 ist der Pool-Manager 331 in der MCU 111 die zuständige Einheit für die Erhaltung des Gleichgewichts zwischen dem Leistungsverbrauch der RDRAM Bausteine und deren entsprechenden Leistungswerten. Im Besonderen überwacht der Pool-Manager 331 den Betriebsmodus jedes einzelnen Speicherbausteins und unternimmt entsprechende Maßnahmen, um die Speicherbausteine auf der Basis von verschiedenen Faktoren aus einem Betriebsmodus in einen anderen zu versetzen, wie zum Beispiel der maximalen Anzahl von Vorrichtungen bzw. Bausteinen, die in jedem Betriebsmodus zulässig sind, welcher Baustein für die Behandlung einer bestimmten Speichertransaktion erforderlich ist, etc. Um in einem Ausführungsbeispiel den Betriebsmodus eines bestimmten Speicherbausteins zu verändern, fordert der Pool-Manager 331 den Paketgenerator auf, die entsprechenden Pakete (d.h. Befehle) an den Speicherbaustein zu senden, welche den Speicherbaustein anweisen, die erforderliche Funktion auszuführen (z.B. Wechsel aus dem aktiven in den Standby-Modus oder ein Wechsel aus dem Standby- in den Ruhemodus, etc.).
  • Wie dies vorstehend im Text beschrieben worden ist, verwaltet der Pool-Manager 331 in einem Ausführungsbeispiel Informationen in Bezug auf den Betriebsmodus jeder der einzelnen Bausteine bzw. Vorrichtungen (d.h. welche Vorrichtungen sich in dem aktiven, dem Standby- oder dem Ruhemodus befinden), und zwar unter Verwendung einer Mehrzahl von Pools, wobei jeder Pool eine Abbildung oder Liste von Vorrichtungen bzw. Bausteinen betrifft, die sich in einem spezifischen Betriebsmodus oder Leistungszustand befinden). In einem Ausführungsbeispiel verwendet der Pool-Manager 331 drei Pools, um die Betriebsmodi der Speichervorrichtungen zu überwachen. Eine der Pools, der als der aktive Pool oder Pool A bezeichnet wird, wird dazu verwendet, zu überwachen, welche Vorrichtungen in dem aktiven Modus arbeiten. Der andere Pool, der als Standby-Pool oder Pool B bezeichnet wird, überwacht, welche der Vorrichtungen in dem Standby-Modus betrieben wird. Der letzte Pool, der als Ruhe-Pool oder Pool C bezeichnet wird, wird zur Überwachung verwendet, welche der Vorrichtungen in dem Ruhemodus betrieben wird. Jeder der drei Pools enthält somit Verweise auf die Vorrichtungen bzw. Bausteine, die sich in einem bestimmten Betriebsmodus oder Leistungszustand befinden. In einem Ausführungsbeispiel werden die Informationen in dem aktiven Pool und dem Standby-Pool in einer Reihe von Registern gespeichert, während der Ruhe-Pool durch eine Subtraktions-Teilmenge der Speicherbausteine dargestellt wird, die sich nicht in dem aktiven Pool oder dem Standby-Pool befinden.
  • In einem Ausführungsbeispiel kann die MCU 111 zwei Betriebsmodi in Bezug auf die Betriebsmoduskonfiguration der RDRAM-Bausteine aufweisen. In dem ersten Modus wird angenommen, dass sich alle Bausteine bzw. Vorrichtungen entweder in dem aktiven oder dem Standby-Modus befinden. Bei dieser Konfiguration sind alle aktiven Vorrichtungen durch Token in Pool A (dem aktiven Pool) dargestellt, wobei der Pool B unbenutzt ist, und wobei Pool C subtraktiv alle Vorrichtungen aufweist, die nicht in Pool A dargestellt sind. Folglich wird davon ausgegangen, dass sich alle in Pool C dargestellten Vorrichtungen in dem Standby-Modus befinden. In dem zweiten Betriebsmodus können sich die Speichervorrichtungen bzw. Speicherbausteine in dem aktiven Modus, dem Standby-Modus oder dem Ruhemodus befinden. Alle drei Pools A, B und C werden in dieser Konfiguration eingesetzt. Pool A stellt alle aktiven Bausteine dar, Pool B stellt Bausteine dar, die sich in dem Standby-Modus befinden, und Pool C wird subtraktiv zur Darstellung aller Bausteine verwendet, die sich weder in Pool A noch in Pool B befinden und für die somit angenommen wird, dass sie sich in dem Ruhemodus befinden.
  • In einem Ausführungsbeispiel setzt der Pool-Manager 331 einen echten Least-Recently-Used-Algorithmus (LRU-Algorithmus) ein, um die Liste der in den Pools A und B dargestellten Bausteine zu verwalten. Die Abbildungen der 4A4C veranschaulichen ein Beispiel der Konfiguration und Wartung der drei Pools A, B und C, wenn die MCU 111 in dem zweiten Betriebsmodus betrieben wird (d.h. die Speicherbausteine können sich in dem aktiven Modus, dem Standby-Modus oder dem Ruhemodus befinden). In diesem Beispiel wird angenommen, dass sowohl Pool A als auch Pool B auf die Größen von 4 festgelegt sind, und wobei sie somit jeweils bis zu vier Speicherbausteine darstellen können. Ferner wird in diesem Beispiel angenommen, dass in dem System 12 Speicherbausteine vorhanden sind, bezeichnet von A bis L.
  • Die Abbildung aus 4A zeigt eine Konfiguration der drei Pools A, B und C an einem bestimmten Punkt im Verlauf des Systembetriebs. Auf dieser Stufe, wie dies in der Abbildung aus 4A abgebildet ist, sind die Bausteine A–D in dem Pool dargestellt, und wobei somit angenommen wird, dass sie sich in dem aktiven Modus befinden. Die Bausteine E–H sind in dem Pool B dargestellt, und wobei angenommen wird, dass sie in dem Standby-Modus betrieben werden. Die Bausteine I–L sind in dem Pool C dargestellt, und wobei dabei angenommen wird, dass sie sich in dem Ruhemodus befinden. In dem vorliegenden Beispiel gilt die in der Liste oben aufgeführte Vorrichtung bzw. Baustein (z.B. der Baustein A aus 4A) als der zuletzt verwendete Baustein, während der unten auf der Liste stehende Baustein (z.B. Baustein D aus 4A) als der am weitesten zurückliegend verwendete Baustein gilt. Unter Verwendung der Pool-Darstellung aus 4A würden die drei Pools A, B und C nach dem Lesen aus oder Schreiben an eine Stelle in dem Baustein D in die in der Abbildung aus 4B dargestellte Darstellung transformiert werden. Das Token „D", das den Baustein D darstellt, würde sich an die zuletzt verwendete Position (das obere Ende der Liste) in Pool A bewegen, während die Pools B und C unbeeinflusst bleiben, da die Änderung in Bezug auf den Baustein D die Anzahl der in jedem Pool zulässigen Bausteine nicht beeinflusst hat. Wenn angenommen wird, dass als nächstes auf den Baustein I zugegriffen wird, so würden die drei Pools A, B und C in die Pools gemäß der Abbildung aus 4C transformiert werden. In diesem Fall wurde der Baustein I an die zuletzt verwendete Position in Pool A bewegt. Da der Baustein I aus dem Ruhemodus in den aktiven Modus bewegt worden ist, wurde der Baustein C, der den am weitesten zurückliegenden verwendeten Baustein in dem Pool A darstellt, an die zuletzt verwendete Position in dem Pool B bewegt worden ist, um die maximal zulässige Anzahl aktiver Bausteine in dem Pool A zu erhalten. Da der Baustein C in ähnlicher Weise aus dem aktiven Modus in den Standby-Modus geändert worden ist, wurde der am weitesten zurückliegend verwendete Baustein aus Pool B (d.h. Baustein H) aus dem Pool B gestoßen und subtraktiv in Pool C bewegt, um die maximal zulässige Anzahl von Bausteinen in dem Pool B zu erhalten. Die Abbildung aus 4C zeigt somit die Pool-Darstellung der drei Pools A, B und C nachdem die entsprechenden Bausteine in ihre entsprechenden Betriebsmodi gewechselt sind.
  • Die Abbildungen der 5A5C veranschaulichen ein Beispiel der Konfiguration und Wartung der drei Pools A, B und C, wenn die MCU 11 in dem ersten Modus arbeitet (d.h. es wird angenommen, dass die Speicherbausteine entweder in dem aktiven oder dem Standby-Modus arbeiten). In dem vorliegenden Beispiel wird angenommen, dass Pool A eine maximale Größe von vier aufweist, was bedeutet, dass bis zu vier Vorrichtungen bzw. Bausteine zu einem beliebigen Zeitpunkt aktiv sein können. Pool B wird nicht verwendet. Ferner wird in dem vorliegenden Beispiel angenommen, dass in dem System 12 Speicherbausteine gegeben sind, die von A bis L bezeichnet sind.
  • Die Abbildung aus 5A zeigt eine Konfiguration der drei Pools A, B und C an einem bestimmten gegebenen Punkt im Verlauf des Systembetriebs. Auf dieser Stufe sind die Bausteine A–D gemäß der Abbildung aus 5A in dem Pool A dargestellt, und wobei angenommen wird, dass sie sich in dem aktiven Modus befinden. Die Bausteine E–L sind in dem Pool C subtraktiv dargestellt (d.h. da diese Bausteine nicht in Pool A dargestellt sind, wird angenommen, dass sie sich in dem Standby-Modus befinden). In dem vorliegenden Beispiel gilt wieder der oben in Pool A aufgeführte Baustein (z.B. der Baustein A aus 5A) als der zuletzt verwendete Baustein, während der am unteren Ende von Pool A aufgeführte Baustein (z.B. Baustein D aus 5A) als der am weitesten zurückliegend verwendete Baustein gilt. Unter Verwendung der Pool-Darstellung aus 5A würden die drei Pools A, B und C in die in 5B dargestellten Pools transformiert werden, nachdem ein Lese- oder Schreibvorgang von oder an eine Stelle in dem Baustein D vorgenommen worden ist. Das Token „D", das den Baustein D darstellt, würde sich an die zuletzt verwendete Position (das obere Ende der Liste) in Pool A bewegen, während die Pools B und C unbeeinflusst bleiben, da die Änderung in Bezug auf den Baustein D die Anzahl der in jedem Pool zulässigen Bausteine nicht beeinflusst hat. Wenn angenommen wird, dass als nächstes auf den Baustein I zugegriffen wird, so würden die drei Pools A, B und C in die Pools gemäß der Abbildung aus 5C transformiert werden. In diesem Fall wurde der Baustein I an die zuletzt verwendete Position in Pool A bewegt. Da der Baustein I aus dem Standby-Modus in den aktiven Modus bewegt worden ist, wurde der Baustein C, der den am weitesten zurückliegenden verwendeten Baustein in dem Pool A darstellt, aus Pool A gestoßen und subtraktiv in Pool C bewegt, um die maximal zulässige Anzahl von Bausteinen in dem Pool A zu erhalten. Die Abbildung aus 5C zeigt somit die Pool-Darstellung der drei Pools A, B und C nachdem die entsprechenden Bausteine in ihre entsprechenden Betriebsmodi gewechselt sind.
  • Wie dies bereits vorstehend im Text beschrieben worden ist, ist es erforderlich, um das Gleichgewicht zwischen der Systemleistung, dem Leistungsverbrauch und der thermischen Sicherheit aufrechtzuerhalten, eine bestimmte Anzahl von Speicherbausteinen in dem aktiven Modus zu halten und den Rest der Bausteine in niedrigeren Leistungszuständen (z.B. Standby- oder Ruhemodus). Da im Besonderen die Anzahl der in jedem der Leistungszustände betriebenen Speicherbausteine die Leistungs-, den Leistungsverbrauchs- und die Wärmeerzeugungswerte des Systems beeinflusst, ist es nützlich, die Größen der aktiven, Standby- und Ruhe-Pools innerhalb bestimmter anfänglicher Schwellenwertgrenzen zu halten, um ein gewisses Gleichgewicht zwischen der Systemleistung, dem Leistungsverbrauch und der Wärmeerzeugung zu erhalten. Auf herkömmliche Weise wird die maximal zulässige Anzahl von Bausteinen bzw. Vorrichtungen in jedem Pool unter Verwendung des System-BIOS beim Einschalten bzw. Hochfahren oder Zurücksetzen bzw. Reset konfiguriert oder spezifiziert und unverändert gelassen über den Verlauf der Systemoperationen. Eine derartige statische und unflexible Pool-Konfiguration stellt zwei ein anfängliches Systemgleichgewicht zwischen der Leistung und dem Leistungsverbrauch bereit, ist jedoch nicht effektiv und effizient in Bezug auf den Ausgleich der Systemleistungsvoraussetzungen in Verbindung mit den Anforderungen hinsichtlich der Systemleistung und der Wärmeabstrahlung. Grund dafür ist es, dass verschiedene Ereignisse und Betriebsbedingungen im Verlauf der Systemoperationen auftreten können, die eine Anpassung der anfänglichen Pool-Konfiguration erforderlich machen könnten, damit das System weiter ordnungsgemäß, sicher und effizient arbeitet. Anders ausgedrückt berücksichtigt das herkömmliche Verfahren der Pool-Konfiguration und Steuerung nicht die dynamische Beschaffenheit der Operationen des Computersystems und die Zuverlässigkeit, da Veränderungen der thermischen Umgebung des Systems oder der Intensität der Nutzung des Systems eine Anpassung der Betriebsmodi der Speicherbausteine voraussetzen können, die durch den Pool-Manager 331 geregelt werden. In verschiedenen Situationen wäre es nützlich, die Größen der Pools während Systemoperationen verändern zu können als Reaktion auf verschiedene externe Reize oder Veränderungen der Betriebsbedingungen, da die Größen der Pools verwendet werden, um ein zweckmäßiges Gleichgewicht zwischen der Systemleistung, dem Systemleistungsverbrauch und der Wärmeerzeugung zu erhalten. Zum Beispiel kann eine Systemüberhitzung als ein Auslöser verwendet werden, um die aktiven Speicherbausteine in einen Ruhemodus zu versetzen, um die Wärmeerzeugungskapazität der Speicherbausteine zu reduzieren. Darüber hinaus kann es sein, dass die Größen der Pools verändert werden müssen als Reaktion auf eine Indikation, dass das System über eine niedrigere Leistungsquelle (z.B. Batterie) betrieben wird, und zwar aufgrund eines Stromausfalls oder eines anderen Fehlers. Ferner kann eine Anpassung der Größen der Pools erforderlich sein aufgrund von Veränderungen der Betriebsmerkmale des Systems, wie etwa von Veränderungen hinsichtlich der Anzahl der Systembenutzer, etc.
  • Wie dies bereits vorstehend im Text beschrieben worden ist, bleibt die Pool-Konfiguration für gewöhnlich während den Systemoperationen unverändert, und zwar aufgrund der substanziellen Komplexität, die bei der Anpassung der Pool-Größe während dem Betrieb bzw. während Operationen erzeugt wird. Grund dafür ist es, dass entsprechende Anweisungen bzw. Befehle an die RDRAM-Bausteine übermittelt werden müssen, um für diese einen Wechsel von einem Zustand in den anderen zu bewirken, zusätzlich zu der Bewegung oder der Aktualisierung von Werten in den Registern, die dazu verwendet werden, die Betriebsmodi oder Leistungszustände der Speicherbausteine zu erhalten. Erforderlich wird dies dadurch, dass die Voraussetzung, dass die Zustände der Speicherbausteinen mit den in der MCU 111 gegebenen Zuständen übereinstimmen sollen. Die vorliegende Erfindung löst dieses Problem durch die Ausnutzung einer Eigenschaft der durch die Auffrischeinheit 311 ausgeführten Auffrischoperationen, die es erforderlich macht, dass die Speicherbausteine in regelmäßigen Zeitintervallen in bekannte Leistungszustände versetzt werden. Um im Besonderen Auffrischoperationen auszuführen, werden alle Speicherbausteine aktiviert (d.h. Übergang in den aktiven Modus), bevor Auffrischungsanforderungspakete zu diesen übertragen werden. Die Auffrischeinheit 311 fordert normalerweise bei der Ausführung periodischer Auffrischoperationen an, dass nach dem Abschluss der Auffrischung die Bausteine durch den Paketgenerator 321 wieder in ihre Zustände vor der Aktivierung versetzt werden.
  • Die Abbildung aus 6 zeigt ein Zustandsdiagramm eines Ausführungsbeispiels eines Verfahrens zur Ausführung normaler Auffrischoperationen, welche Zustände der Speicherbausteine reflektieren, die sowohl in der Auffrischeinheit 311 als auch dem Paketgenerator 321 existieren. Die Auffrischeinheit 311 tritt in dem Block 601 in einen Wartezustand ein. Wenn der Auffrischzähler, der für die Überwachung der Zeitintervalle zwischen Auffrischungen eingesetzt wird, einen vorbestimmten Zielzählwert erreicht, leitet die Auffrischeinheit 311 die Auffrischoperationen ein. In dem Block 611 wird eine Auffrischanforderung eingeleitet, welche die Auffrischoperationen beginnt. Wie dies bereits vorstehend im Text beschrieben worden ist, beginnt die Auffrischeinheit mit den Auffrischoperationen, indem eine Anforderung zum Aufwecken oder Aktivieren aller Speicherbausteine an den Paketgenerator 321 gesendet wird, der wiederum die entsprechenden Pakete an die Speicherbausteine ausgibt. In dem Block 621 wird eine Anforderung zum Aufwecken aller Speicherbausteine eingeleitet. Als Reaktion auf ein Signal, das anzeigt, dass alle Bausteine aktiviert worden sind, wird in dem Block 631 eine Anforderung zum Auffrischen aller Speicherbausteine eingeleitet. Als Reaktion auf ein Signal, das anzeigt, dass alle Bausteine aufgefrischt worden sind, wird in dem Block 641 eine Anforderung eingeleitet, um Bausteine aufzuwecken, die sich vor der Aktivierung in dem Schlaf- bzw. Ruhemodus befunden haben. Nachdem die Bausteine wieder in ihre Zustände vor der Aktivierung versetzt worden sind, tritt die Auffrischeinheit 311 in dem Block 601 wieder in den Wartezustand ein, um auf den nächsten Auffrischzyklus zu warten.
  • Um eine dynamische Konfiguration der Leistungsregelungspools zu ermöglichen (d.h. eine Veränderung der Größen der Pools während dem Systembetrieb), modifiziert die vorliegende Erfindung den vorstehend beschriebenen Auffrischprozess, so dass alle Bausteine am ende des Auffrischprozesses in einen bestimmten Modus versetzt werden, wie zum Beispiel den Ruhemodus, anstatt nur die Bausteine aufzuwecken, die sich vor der Aktivierung in dem Ruhemodus befunden haben. Dieses Verfahren ermöglicht es dem Pool-Manager 331 nach Abschluss einer Auffrischoperation einfach seine Pools zurückzusetzen, wenn eine derartige Pool-Konfiguration im Verlauf des Systembetriebs wünschenswert ist. In einem Ausführungsbeispiel wird der modifizierte Auffrischprozess durch eine Anforderung von dem Pool-Manager 331 eingeleitet, dass eine Größenanpassung des Pools oder eine neue Konfiguration erforderlich ist. Wenn in einem Ausführungsbeispiel alle Bausteine am Ende des modifizierten Auffrischprozesses einem Nap-Down unterzogen werden, signalisieren der Paketgenerator 321 und die Auffrischeinheit dem Pool-Manager 331 anzuzeigen, dass die Pools jetzt neu konfiguriert oder neu initialisiert werden können. Nachdem die Pools neu konfiguriert oder neu initialisiert worden sind, kann der Pool-Manager 331 seinen normalen Betrieb wieder aufnehmen, da er in der Lage ist die Pools zu erhalten nachdem die Zustände der Bausteine bekannt sind.
  • Die Abbildung aus 7 veranschaulicht ein Zustandsdiagramm eines Ausführungsbeispiels eines modifizierten Auffrischprozesses als Reaktion auf eine Anforderung für die neue Konfiguration oder Größenanpassung der Leistungsregelungspools. Die Auffrischeinheit 311 tritt in dem Block 701 in einen Wartezustand. Wenn der Auffrischzähler, der zur Überwachung der Zeitintervalle zwischen Auffrischungen verwendet wird, einen vorbestimmten Zielwert erreicht, leitet die Auffrischeinheit 311 die Auffrischoperationen ein. In dem Block 711 wird eine Auffrischanforderung eingeleitet, welche die Auffrischoperationen beginnt. Wie dies bereits vorstehend im Text beschrieben worden ist, beginnt die Auffrischeinheit mit den Auffrischoperationen, indem eine Anforderung zum Aufwecken oder Aktivieren aller Speicherbausteine an den Paketgenerator 321 gesendet wird, der wiederum die entsprechenden Pakete an die Speicherbausteine ausgibt. In dem Block 721 wird eine Anforderung zum Aufwecken aller Speicherbausteine eingeleitet. Als Reaktion auf ein Signal, das anzeigt, dass alle Bausteine aktiviert worden sind, wird in dem Block 731 eine Anforderung zum Auffrischen aller Speicherbausteine eingeleitet. In dem vorliegenden Beispiel wird angenommen, dass der Pool-Manager eine Anforderung zur Größenanpassung der Pools eingeleitet hat. Da eine Anforderung zur Größenanpassung der Pools eingeleitet worden ist anstatt mit dem Block 741 fortzufahren, um die Zustände der Bausteine wiederherzustellen, die sich vor der Aktivierung in dem Ruhemodus befunden haben, fährt der Ablauf mit dem Block 751 vor, um alle Speicherbausteine am Ende der Auffrischung in den Ruhezustand zu versetzen, und wobei es dem Pool-Manager signalisiert wird, wenn alle Bausteine in den Ruhezustand versetzt worden sind. Der Ablauf tritt danach in dem Block 701 wieder in den Wartezustand ein, um auf den nächsten Auffrischzyklus zu warten. Wie dies bereits vorstehend im Text beschrieben worden ist, kann durch Modifizieren des Auffrischprozesses eine dynamische Pool-Konfiguration erreicht werden. Die Abbildungen der 8A8B zeigen ein Beispiel für eine Konfiguration der drei Pools A, B und C als Reaktion auf eine Anforderung zur Größenanpassung der Pools. In dem vorliegenden Beispiel wird der aktive Pool in Bezug auf die Größe auf Eins neu angepasst, und die Größe des Standby-Pools wird ebenfalls auf Eins angepasst. Die Abbildung aus 8A zeigt den Status der drei Pools an einem bestimmten Punkt während dem Systembetrieb. Die Abbildung aus 8B zeigt den Status der drei Pools nach Abschluss einer Anforderung zur Größenanpassung der Pools. Wie dies in der Abbildung aus 8B dargestellt ist, ist sowohl der Pool A (der aktive Pool) als auch der Pool B (der Standby-Pool) leer, und alle Speicherbausteine sind in dem Pool C (dem Ruhezustands-Pool) dargestellt. Der Pool-Manager kann jetzt den normalen Betrieb wieder aufnehmen, um die Pools gemäß der neuen Größen der Pools zu erhalten.
  • Die Abbildung aus 9 zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zur dynamischen Anpassung der Größen der Leistungsregelungspools, die zum Erhalten und Regeln der Betriebsmodi der Speicherbausteine eingesetzt werden. In einem Ausführungsbeispiel befinden sich die Leistungsregelungseinheit 931 und die DRAM-Steuereinheit 941 in einer Speichersteuereinheit 921, welche die hierin beschriebenen Lehren der vorliegenden Erfindung einsetzt, um die Größen der Leistungsregelungspools dynamisch anzupassen. In einem Ausführungsbeispiel weist die Leistungsregelungseinheit 931 eine Pool-Verwaltungseinheit (d.h. einen Pool-Manager) auf, die dafür zuständig ist, die Größen der Leistungsregelungspools zu erhalten und zu regeln sowie die Betriebsmodi der Speicherbausteine. In einem Ausführungsbeispiel arbeitet die DRAM-Steuereinheit 941 so, dass die verschiedenen Speichertransaktionen, die an die Speicherbausteine gerichtet sind, gesteuert werden, und ferner zur Ausführung verschiedener Wartungsoperationen, wie etwa Auffrisch- und Kalibrierungsoperationen, wie dies bereits vorstehend im Text beschrieben worden sind. In einem Ausführungsbeispiel weist die DRAM-Steuereinheit 941 eine Auffrischeinheit und einen Paketgenerator auf, wobei es sich um Einheiten handelt, wie sie in Bezug auf die Abbildung aus 3 beschrieben worden sind. Eine oder mehrere Prozessoreinheiten (z.B. CPUs) sind mit der Leistungsregelungseinheit 931 gekoppelt, um Anforderungen für einen Größenanpassung der Pools zu senden. Wie dies bereits vorstehend beschrieben worden ist, kann es während dem Systembetrieb erforderlich oder vorteilhaft sein, die Größen der Leistungsregelungspools als Reaktion auf verschiedene Änderungen der Systemoperationen und Systembedingungen anzupassen, wie zum Beispiel bei Veränderungen der thermischen Umgebung des Systems oder der Systemnutzungswerte, um ein Gleichgewicht zwischen den Anforderungen in Bezug auf die Systemleistung, den Leistungsverbrauch und die Wärmeerzeugung zu erhalten. Wenn eine derartige Änderung detektiert wird, leitet der Prozessor 911 eine Anforderung zur Größenanpassung der Leistungsregelungspools an die Leistungsregelungseinheit 931 ein. In einem Ausführungsbeispiel leitet der Pool-Manager in der Leistungsregelungseinheit 931 als Reaktion auf dem Empfang einer Anforderung zur Größenanpassung der Pools eine Anforderung an die DRAM-Steuereinheit 941 ein, die Behandlung von Speichertransaktionen zu unterbrechen, bis alle DRAMs aufgefrischt worden sind. In diesem Fall weist der Pool-Manager, wie dies bereits vorstehend im Text beschrieben worden ist, die DRAM-Steuereinheit 941 an, dass eine Anforderung zur Größenanpassung der Pools eingeleitet worden ist, und somit müssen alle Speicherbausteine nach Abschluss der Auffrischung in den Ruhezustand versetzt werden (Napped-Down). Im Besonderen führt die DRAM-Steuereinheit 941 den vorstehend beschriebenen Auffrischprozess aus, so dass alle Speicherbausteine nach Abschluss der Auffrischung in einen bekannten Zustand (z.B. den Ruhezustand) versetzt werden. Der Pool-Manager in der Leistungsregelungseinheit 931 initialisiert danach die Pools mit neuen Größen neu, nachdem ein Signal von der DRAM-Steuereinheit 941 empfangen worden ist, dass alle Speicherbausteine aufgefrischt worden und in einen bestimmten Zustand (z.B. den Ruhezustand) versetzt worden sind. Nach der neuen Initialisierung der Pools kann der Pool-Manager jetzt dessen normalen Betrieb wieder aufnehmen, um die Pools zu erhalten und zu regeln, und zwar unter Verwendung der neuen Pool-Größen, die der von dem Prozessor 911 empfangenen Anforderung entsprechen. In einem Ausführungsbeispiel kann der Prozessor 911 Informationen liefern, die mit der Anforderung zur Größenanpassung die neuen Größen anzeigen. In einem anderen Ausführungsbeispiel können die neuen Größeninformationen vorab gespeichert werden, und der Pool-Manager kann bestimmen, welche neuen Größen durch die Art von Anforderung verwendet werden sollen, die von dem Prozessor 911 empfangen werden.
  • Unter Anwendung der Lehren der vorliegenden Erfindung, die eine dynamische Konfiguration der Leistungsregelungspools ermöglichen, kann Systemsoftware oder können Programme modifiziert oder so gestaltet werden, dass sie die thermischen Bedingungen des Systems überwachen und entsprechende Anforderungen an die Leistungsregelungseinheit erzeugen, um die Größen der Pools bei Bedarf anzupassen, wie dies in der Abbildung aus 9 dargestellt ist, um den Systembetrieb in einem sicheren Temperaturbereich zu halten. Leider können es thermisch induzierte Fehler verhindern, dass das System normal arbeitet, und somit können sie die Systemsoftware blockieren, so dass diese keine Möglichkeit besitzt, etwaige potenziell schädliche Zustände bzw. Bedingungen zu beheben. Im Besonderen kann es sein, dass die Systemsoftware nicht ausreichend schnell reagiert oder durch thermische Fehler selbst funktionsunfähig wird. Aus diesem Grund ist es erforderlich die Größen der Leistungsregelungspools dynamisch anzupassen, ohne Eingriffe der Systemsoftware. Um dieses Problem zu lösen können die Lehren der vorliegenden Erfindung eingesetzt werden, um einen Mechanismus bereitzustellen, der der Speichersteuereinheit ermöglicht, auf verschiedene thermische Bedingungen auf konfigurierbare Art und Weise zu reagieren, welche eine Drosselung der Leistungsverbrauchswerte der Speicherbausteine schnell ermöglicht, und dies ohne Intervention durch die Systemsoftware. In einem Ausführungsbeispiel kann der vorstehend beschriebene Pool-Manager so gekoppelt werden, dass er ein Signal empfängt, das anzeigt, dass einen thermischen Zustand, der einen bestimmten Schwellenwert überschritten (z.B. eine thermische Überlastung) hat, detektiert worden ist. Das Signal zeigt an, dass ein thermischer Überlastungszustand von externer Hardware oder einem thermischen Sensor stammen kann, der dafür zuständig ist, die thermischen Zustände auf Komponenten- oder Systemebene zu überwachen. Darüber hinaus kann das Signal, das den thermischen Überlastungszustand anzeigt, von anderer Hardware stammen, die die thermischen Zustände der Speicherbausteine selbst überwacht. In einem Ausführungsbeispiel bewirkt jeder Zustand, dass die Systemhardware so anspricht, dass die Größen der Leistungsregelungspools auf bestimmte sichere Werte angepasst werden, um den Leistungsverbrauchswert des Speichersystems schnell zu reduzieren. In einem Ausführungsbeispiel können sichere Größenwerte der Pools durch die Systemsoftware bereitgestellt und in einem Register gespeichert werden. Zum Beispiel können Informationen, die die Größe der aktiven, Standby- und Ruhezustands-Pools anzeigen, durch die Systemsoftware bereitgestellt und in einem Register gespeichert werden, auf dass der Pool-Manager zugreift. Wenn ein thermischer Überlastungszustand detektiert wird, passt der Pool-Manager die Größe der Pools gemäß den sicheren Größenwerten an, die in dem Register gespeichert sind, um die Größen der Pools gemäß den in dem Register gespeicherten sicheren Größenwerten anzupassen, um den Leistungsverbrauchswert der Speicherbausteine auf einen Wert zu reduzieren, der als sicher gilt. Die als sicher geltenden Größen der Pools können natürlich variieren, abhängig von der Systemkonfiguration, den Leistungsverbrauchswerten der Speicherbausteine in verschiedenen Leistungszuständen, der Schwere der thermischen Überlastungszustände, etc. Ferner können unterschiedliche Größen der sicheren Größenwerte für unterschiedliche Systemereignisse oder Variationen dieser bereitgestellt werden.
  • Die Abbildung aus 10 zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum dynamischen Anpassen der Größen der Leistungsregelungspools als Reaktion auf verschiedene Systemereignisse, und zwar ohne Intervention durch die Systemsoftware. In einem Ausführungsbeispiel ist der Pool-Manager 1020 zuständig für die Regelung der Größen der Leistungsregelungspools ohne Intervention durch die Systemsoftware. In einem Ausführungsbeispiel werden ein oder mehrere Register eingesetzt, um die Größen der Pools zu speichern, die als sichere Größen für die Verwendung durch den Pool-Manager 1020 gelten, wenn es erforderlich ist, die Größen der Pools als Reaktion auf einige spezifizierte Ereignisse anzupassen, die durch das Ausgangssignal des OR-Gatters 1030 angezeigt werden. Die sicheren Größen oder Variationen dieser können in einem Ausführungsbeispiel durch Systemsoftware bereitgestellt oder programmiert werden. In einem Ausführungsbeispiel können die Eingaben in das OR-Gatter 1030 von zwei verschiedenen Quellen stammen. Eine der beiden Eingaben in das OR-Gatter kann von einer Hardwarevorrichtung stammen, die für die Überwachung der thermischen Zustände spezifischer Komponenten auf der Komponentenebene oder des Systems auf Systemebene zuständig sind. In einem Ausführungsbeispiel stammt die andere Eingabe in das OR-Gatter 1030 von einem Thermosensor oder einer Hardwarevorrichtung, die für die Überwachung der thermischen Zustände des Speichersystems zuständig ist. In einem Ausführungsbeispiel wird das Ausgangssignal des OR-Gatters 1030 dazu verwendet, dem Pool-Manager 1020 anzuzeigen, dass ein thermischer Überlastungszustand detektiert worden ist. Als Reaktion auf das Ausgangssignal des OR-Gatters 1030 leitet der Pool-Manager 1020 eine Anforderung an die DRAM-Steuereinheit 1040 ein, die Größen der Pools gemäß der vorstehenden Beschreibung anzupassen, unter Verwendung der in dem Register 1010 gespeicherten sicheren Größenwerte.
  • Die Abbildung aus 11 zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum dynamischen Anpassen der Größen der Leistungsregelungspools als Reaktion auf eine Größenanpassungsanforderung von einem Prozessor (dargestellt in 9) oder als Reaktion als ein durch Hardware detektiertes Signal, das einen thermischen Überlastungszustand anzeigt (wie dies in 10 dargestellt ist). In dem vorliegenden Ausführungsbeispiel löst entweder eine von dem Prozessor 1110 empfangene Größenanpassungsanforderung oder ein Signal von dem OR-Gatter 1130 den Pool-Manager 1120 aus, um eine Anforderung an die DRAM-Steuereinheit 1140 zur Größenanpassung der Pools unter Verwendung des vorstehend beschriebenen Auffrischprozesses zu erzeugen. Wenn der Prozessor, wie dies vorstehend im Text beschrieben worden ist, die Anforderung für die Größenanpassung einleitet, können die neuen Größenwerte durch den Prozessor 1110 zum Zeitpunkt der Anforderung bereitgestellt werden. Die neuen Größenwerte können vorab gespeichert und durch den Pool-Manager 1120 auf der Basis der Art der von dem Prozessor 1110 empfangenen Anforderung bestimmt werden. Wenn der Ausgang des OR-Gatters 1130 einen thermischen Überlastungszustand anzeigt, können die zu verwendenden sicheren Größenwerte aus dem Register 1105 abgerufen werden. In einem Ausführungsbeispiel kann das Register 1105 durch Systemsoftware programmiert werden. Bei dieser Konfiguration kann der Pool-Manager 1120 die Größen der Pools dynamisch anpassen, und zwar als Reaktion auf die Größenanpassungsanforderung von dem Prozessor 1110 oder als Reaktion auf ein Signal von dem OR-Gatter 1130, das einen thermischen Überlastungszustand anzeigt.
  • Die Abbildung aus 12 veranschaulicht ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größen der Leistungsregelungspools als Reaktion auf eine Anforderung zur Größenanpassung von einem Prozessor oder von anderen Systemeinheiten. Das Verfahren 1200 beginnt in dem Block 1201 und fährt mit der Schleife 1205 fort. In der Schleife 1205 wartet der Pool-Manager auf eine Anforderung für eine Größenanpassung der Pools von dem Prozessor. Nach dem Empfang einer Anforderung für eine Größenanpassung von dem Prozessor verlässt der Pool-Manager die Schleife 1205, um in dem Block 1209 eine Anforderung an die DRAM-Steuereinheit zur Größenanpassung der Pools einzuleiten. In der Schleife 1213 verlässt die DRAM-Steuereinheit die Warteschleife 1213, wenn der Zeitpunkt für die Auffrischung der Speicherbausteine gekommen ist. In dem Block 1217 wird als Reaktion auf eine durch den Pool-Manager erzeugte Größenanpassungsanforderung ein modifizierter Auffrischprozess gemäß der vorstehenden Beschreibung ausgeführt, um alle Speicherbausteine in einen spezifischen Betriebsmodus oder Leistungszustand (z.B. den Ruhezustand) am Ende der Auffrischung zu versetzen. In einem Ausführungsbeispiel umfasst der modifizierte Auffrischprozess die Aktivierung aller Speicherbausteine, die Auffrischung aller Speicherbausteine und das Versetzen aller Speicherbausteine in den Ruhezustand, nachdem sie aufgefrischt worden sind. In dem Block 1221 werden die Pools durch den Pool-Manager neu initialisiert, und zwar nach dem Empfang eines Signals, das anzeigt, dass alle Speicherbausteine in einen bekannten spezifischen Betriebszustand oder Leistungszustand (z.B. den Ruhezustand) versetzt worden sind. Das Verfahren fährt danach mit dem Ende in dem Block 1291 fort.
  • Die Abbildung aus 13 veranschaulicht ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größen der Leistungsregelungspools als Reaktion auf Systemereignisse ohne Softwareintervention. Das Verfahren 1300 beginnt mit dem Block 1301 und tritt in der Schleife 1305 in einen Wartezustand ein. Wenn ein Signal detektiert wird, das einen thermischen Überlastungszustand anzeigt, so verlässt das Verfahren die Schleife 1305, so dass eine Anforderung zur Größenanpassung der Pools auf sichere Größenwerte in dem Block 1309 erzeugt wird. In der Schleife 1313 fährt die DRAM-Steuereinheit mit dem Verlassen der Warteschleife 1313 fort, wenn der Zeitpunkt zum Auffrischen der Speicherbausteine gekommen ist. In dem Block 1317 wird als Reaktion auf eine durch den Pool-Manager erzeugte Anforderung zur Größenanpassung ein modifizierter Auffrischprozess gemäß der vorstehenden Beschreibung ausgeführt, um alle Speicherbausteine in einen spezifischen Betriebsmodus oder Leistungszustand (z.B. den Ruhezustand) am Ende der Auffrischung zu versetzen. In einem Ausführungsbeispiel umfasst der modifizierte Auffrischprozess die Aktivierung aller Speicherbausteine, das Auffrischen aller Speicherbausteine und das Versetzen aller Speicherbausteine in den Ruhezustand, nachdem sie aufgefrischt worden sind. In dem Block 1331 werden nach dem Empfang eines Signals, das anzeigt, dass alle Speicherbausteine in einen bekannten spezifischen Betriebsmodus oder Leistungszustand (z.B. den Ruhezustand) versetzt worden sind, die. Pools durch den Pool-Manager neu initialisiert, und zwar unter Verwendung der sicheren Größenwerte, die dem detektierten thermischen Überlastungszustand entsprechen. Wie dies vorstehend beschrieben worden ist, können die sicheren Größenwerte zur Verwendung als Reaktion auf einen thermischen Überlastungszustand oder Variationen dieses Zustands durch Systemsoftware programmiert und in einem Register gespeichert werden, auf das der Pool-Manager zugreifen kann. Das Verfahren fährt danach mit dem Ende in dem Block 1391 fort.
  • Die Abbildung aus 14 zeigt ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum dynamischen Anpassen der Größen der Leistungsregelungspools als Reaktion auf eine Anforderung zur Größenanpassung, die von einem Prozessor empfangen worden ist (wie dies vorstehend im Text in Bezug auf die Abbildung aus 12 beschrieben worden ist) oder als Reaktion als ein durch Hardware detektiertes Signal, das einen thermischen Überlastungszustand anzeigt (wie dies vorstehend im Text in Bezug auf 13 beschrieben worden ist). Das Verfahren 1400 beginnt in dem Block 1401 und fährt mit dem Entscheidungsblock 1405 fort. In dem Entscheidungsblock 1405 fährt das Verfahren mit dem Entscheidungsblock 1409 fort, wenn kein thermischer Überlastungszustand detektiert worden ist. Ansonsten fährt das Verfahren mit dem Block 1413 fort. In dem Entscheidungsblock 1409 fährt das Verfahren in einer Schleife mit dem Entscheidungsblock 1405 fort, wenn keine Größenanpassungsanforderung von dem Prozessor gegeben ist. Ansonsten fährt das Verfahren mit dem Block 1413 fort. In dem Block 1413 leitet der Pool-Manager eine Anforderung zur Größenanpassung ein. An der Schleife 1417 verlässt die DRAM-Steuereinheit die Warteschleife 1417, wenn der Zeitpunkt zum Auffrischen der Speicherbausteine gekommen ist. In dem Block 1421 wird als Reaktion als eine durch den Pool-Manager erzeugte Größenanpassungsanforderung ein modifizierter Auffrischprozess gemäß der vorstehenden Beschreibung ausgeführt, so dass alle Speicherbausteine in einem spezifischen Betriebsmodus oder Leistungszustand (z.B. dem Ruhezustand) am Ende der Auffrischung platziert werden. In einem Ausführungsbeispiel umfasst der modifizierte Auffrischprozess das Aktivieren aller Speicherbausteine, das Auffrischen aller Speicherbausteine und das Versetzen aller Speicherbausteine in den Ruhezustand, nachdem sie aufgefrischt worden sind. In dem Block 1431 werden die Pools nachdem ein Signal empfangen worden ist, das anzeigt, dass alle Speicherbausteine in einen bekannten spezifizierten Betriebsmodus oder Leistungszustand (z.B. den Ruhezustand) versetzt worden sind, durch den Pool-Manager neu initialisiert, und zwar unter Verwendung der neuen Größenwerte, die dem Zustand entsprechen, der die Größenanpassungsanforderung auslöst. Wenn die Größenanpassungsanforderung durch den Prozessor ausgelöst wird, können die neuen Größenwerte zur Verwendung entweder durch den Prozessor bereitgestellt werden, wenn der Prozessor die Anforderung einleitet oder vorab gespeichert und durch den Pool-Manager bestimmt worden ist, auf der Basis des von dem Prozessor empfangenen Anforderungstyps. Wenn die Größenanpassungsanforderung durch das Signal ausgelöst wird, das einen thermischen Überlastungszustand anzeigt, werden die sicheren Größenwerte, die dem detektierten thermischen Überlastungszustand entsprechen, durch den Pool-Manager verwendet, um die Pools neu zu initialisieren. Wie dies bereits vorstehend im Text beschrieben worden ist, können die sicheren Größenwerte, die als Reaktion auf einen thermischen Überlastungszustand oder Variationen dieses Zustands verwendet werden sollen, durch Systemsoftware programmiert und in einem Register gespeichert werden, auf das der Pool-Manager zugreifen kann. Das Verfahren fährt danach mit dem Ende in dem Block 1491 fort.
  • Die vorliegende Erfindung wurde in Bezug auf die bevorzugten Ausführungsbeispiele beschrieben. Es ist offensichtlich, dass zahlreiche Alternativen, Modifikationen, Abänderungen und Anwendungen für den Fachmann auf dem Gebiet aus der vorstehenden Beschreibung deutlich werden.

Claims (22)

  1. Verfahren zum dynamischen Anpassen der Größe eines Leistungsregelungspools, der zur Verwaltung des Leistungsverbrauchs einer Mehrzahl von Speicherbausteinen (161) in einem Speichersystem verwendet wird, gekennzeichnet durch: das Empfangen einer Anforderung zur Veränderung der Größe des Leistungsregelungspools als eine Liste von Speicherbausteinen der Mehrzahl von Speicherbausteinen, die in einem ersten Betriebsmodus arbeiten, wobei der erste Betriebsmodus einem höheren Leistungsniveau und einem höheren Leistungsverbrauch als ein zweiter Betriebsmodus entspricht; das Versetzen der Mehrzahl von Speicherbausteinen in den zweiten Betriebsmodus, nachdem die Mehrzahl von Speicherbausteinen in einem periodischen Auffrischzyklus aufgefrischt worden sind; und das Anpassen der Größe des Leistungsregelungspools auf der Basis eines neuen Größenwertes, der der Anforderung zugeordnet ist, als Reaktion auf ein Signal, das anzeigt, dass die Mehrzahl von Speicherbausteinen in den zweiten Betriebsmodus versetzt worden ist.
  2. Verfahren nach Anspruch 1, wobei die Anforderung zur Veränderung der Größe des Leistungsregelungspools durch eine Prozessoreinheit (101) initiiert wird.
  3. Verfahren nach Anspruch 1, wobei die Anforderung zur Veränderung der Größe des Leistungsregelungspools durch ein durch eine Regelungsvorrichtung (111) erzeugtes Signal initiiert wird.
  4. Verfahren nach Anspruch 3, wobei das durch die Regelungsvorrichtung erzeugte Signal zum Anzeigen eines thermischen Zustands eingesetzt wird, der einen vorbestimmten Schwellenwert übersteigt.
  5. Verfahren nach Anspruch 3, wobei die Regelungsvorrichtung einen Wärmesensor darstellt, der den thermischen Zustand der Mehrzahl von Speicherbausteinen überwacht.
  6. Verfahren nach Anspruch 3, wobei die Regelungsvorrichtung ein Wärmesensor ist, der den Wärmezustand anderer Bausteine der Mehrzahl von Speicherbausteinen überwacht.
  7. Verfahren nach Anspruch 1, wobei das Empfangen einer Anforderung zum Verändern der Größe des Leistungsregelungspools folgendes umfasst: das Empfangen der Anforderung zum Verändern der Größe des Leistungsregelungspools von einem Prozessor.
  8. Verfahren nach Anspruch 1, wobei das Empfangen einer Anforderung zum Verändern der Größe des Leistungsregelungspools folgendes umfasst: das Detektieren eines Signals von einer thermischen Regelungseinrichtung, das einen thermischen Überlastungszustand außerhalb des Speichersystems anzeigt.
  9. Verfahren nach Anspruch 1, wobei das Empfangen einer Anforderung zum Verändern der Größe des Leistungsregelungspools folgendes umfasst: das Detektieren eines Signals von einer thermischen Regelungseinrichtung, das anzeigt, dass die Temperatur des Speichersystems einen Schwellenwert überschritten hat.
  10. Verfahren nach Anspruch 1, wobei das Versetzen der Mehrzahl von Speicherbausteinen in den zweiten Betriebsmodus nach der Durchführung eines periodischen Auffrischzykluses folgendes umfasst: das Aktivieren der Speicherbausteine; das Auffrischen der Speicherbausteine nach der Aktivierung der Speicherbausteine; und das Versetzen der Speicherbausteine in den zweiten Betriebsmodus, nachdem die Speicherbausteine aufgefrischt worden sind.
  11. Verfahren nach Anspruch 1, wobei das Verändern der Größe des Leistungsregelungspools folgendes umfasst: das Aktualisieren des Leistungsregelungspools, um wiederzugeben, dass die Mehrzahl von Speicherbausteinen in den zweiten Betriebsmodus versetzt worden ist; und das Verändern der Größe des Leitungsregelungspools auf den der empfangenen Anforderung zugeordneten neuen Größenwert.
  12. Verfahren nach Anspruch 1, wobei es sich bei dem zweiten Betriebsmodus um einen Ruhemodus handelt.
  13. Verfahren nach Anspruch 2, wobei der neue Größenwert durch den Prozessor mit der Anforderung bereitgestellt wird.
  14. Verfahren nach Anspruch 2, wobei der neue Größenwert vorab gespeichert wird.
  15. Verfahren nach Anspruch 3, wobei der neue Größenwert in einer Speichereinheit gespeichert wird.
  16. Verfahren nach Anspruch 15, wobei die Speichereinheit ein oder mehrere Register umfasst.
  17. Verfahren nach Anspruch 1, wobei vor dem Empfangen der Anforderung zum Verändern der Größe des Leistungsregelungspools das Verfahren ferner das Verwalten des Leistungsregelungspools auf der Basis eines Größenwertes umfasst, der eine maximal für den ersten Betriebsmodus zulässige Anzahl von Speicherbausteinen der Mehrzahl von Speicherbausteinen anzeigt.
  18. Vorrichtung zum dynamischen Anpassen der Größe eines Leistungsregelungspools, der eingesetzt wird, um den Leistungsverbrauch einer Mehrzahl von Speicherbausteinen (161) in einem Speichersystem zu verwalten, gekennzeichnet durch: eine Einrichtung (321) zum Empfangen einer Anforderung zum Verändern der Größe des Leistungsregelungspools als eine Liste von Speicherbausteinen in einem ersten Betriebsmodus auf einen neuen Größenwert, wobei der erste Betriebsmodus einem höheren Leistungsniveau und einem höheren Leistungsverbrauch als ein zweiter Betriebsmodus entspricht; eine Einrichtung (331) zum Regeln der Leistungsverbrauchswerte der Speicherbausteine, indem der Leistungsregelungspool verwaltet wird, wobei die Mehrzahl der Speicherbausteine in den zweiten Betriebsmodus versetzt wird, nachdem die Mehrzahl von Speicherbausteinen in einem periodischen Auffrischzyklus (311) aufgefrischt worden ist, und wobei die Größe des Leistungsregelungspools auf der Basis des neuen, der Anforderung zugeordneten Größenwertes verändert wird, und zwar als Reaktion auf ein Signal, das anzeigt, dass die Mehrzahl von Speicherbausteinen in den zweiten Betriebsmodus versetzt worden ist.
  19. Vorrichtung nach Anspruch 18, wobei diese ferner folgendes umfasst: eine Einrichtung zum Verwalten des Leistungsregelungspools auf der Basis eines Größenwertes, wobei der Leistungsregelungspool anzeigt, welche Bausteine der Mehrzahl von Speicherbausteinen sich in dem ersten Betriebsmodus befinden, wobei der Größenwert eine maximal zulässige Anzahl der Bausteine der Mehrzahl von Speicherbausteinen in dem ersten Betriebsmodus anzeigt.
  20. Vorrichtung nach Anspruch 19, wobei diese eine Speichersteuereinheit darstellt, mit einer Auffrischeinheit (311) zum Auffrischen der Mehrzahl von Speicherbausteinen.
  21. Vorrichtung nach Anspruch 20, implementiert in einem System zum dynamischen Ausgleichen der Leistungs- und Leistungsverbrauchswerte des Speichersystems, einschließlich der Mehrzahl von Speicherbausteinen, die jeweils periodisch aufgefrischt werden, wobei das System einen Prozessor zum Einleiten der Anforderung umfasst.
  22. Vorrichtung nach Anspruch 21, implementiert in einem System, das ferner eine thermische Regelungseinheit umfasst, um ein Signal zu erzeugen, das einen thermischen Zustand anzeigt, der einen thermischen Schwellenwert überschreitet, um die Größe des Leistungsregelungspools auf einen neuen Größenwert zu regeln, und zwar als Reaktion auf eine der Anforderungen durch den Prozessor oder das Signal von der thermischen Regelungseinheit.
DE60031404T 1999-06-29 2000-05-26 Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern Expired - Lifetime DE60031404T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/342,347 US6330639B1 (en) 1999-06-29 1999-06-29 Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices
US342347 1999-06-29
PCT/US2000/014832 WO2001001230A1 (en) 1999-06-29 2000-05-26 Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices

Publications (2)

Publication Number Publication Date
DE60031404D1 DE60031404D1 (de) 2006-11-30
DE60031404T2 true DE60031404T2 (de) 2007-08-23

Family

ID=23341440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031404T Expired - Lifetime DE60031404T2 (de) 1999-06-29 2000-05-26 Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern

Country Status (9)

Country Link
US (1) US6330639B1 (de)
EP (1) EP1192525B1 (de)
KR (1) KR100417835B1 (de)
CN (1) CN1191512C (de)
AU (1) AU5048300A (de)
DE (1) DE60031404T2 (de)
HK (1) HK1042362A1 (de)
TW (1) TW477928B (de)
WO (1) WO2001001230A1 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234650B1 (en) * 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
US6496894B1 (en) * 1999-10-19 2002-12-17 Intel Corporation Method for enforcing device connection policies
US6563746B2 (en) * 1999-11-09 2003-05-13 Fujitsu Limited Circuit for entering/exiting semiconductor memory device into/from low power consumption mode and method of controlling internal circuit at low power consumption mode
JP4265850B2 (ja) * 2000-01-17 2009-05-20 富士通株式会社 移動体交換機、ホームメモリ・ノード装置および関門交換機
US6886105B2 (en) * 2000-02-14 2005-04-26 Intel Corporation Method and apparatus for resuming memory operations from a low latency wake-up low power state
US7039755B1 (en) * 2000-05-31 2006-05-02 Advanced Micro Devices, Inc. Method and apparatus for powering down the CPU/memory controller complex while preserving the self refresh state of memory in the system
US6691237B1 (en) * 2000-08-08 2004-02-10 Dell Products, L.P. Active memory pool management policies
US6516399B2 (en) * 2001-03-30 2003-02-04 Koninklijke Philips Electronics N.V. Dynamically configurable page table
FR2824650A1 (fr) * 2001-05-10 2002-11-15 Koninkl Philips Electronics Nv Systeme de traitement de donnees et procede de distribution d'acces a des memoires
US6820169B2 (en) * 2001-09-25 2004-11-16 Intel Corporation Memory control with lookahead power management
US6880111B2 (en) * 2001-10-31 2005-04-12 Intel Corporation Bounding data transmission latency based upon a data transmission event and arrangement
US7103788B1 (en) * 2001-10-31 2006-09-05 Microsoft Corporation Selective suspension of bus devices
US6918060B2 (en) * 2001-10-31 2005-07-12 Intel Corporation Bounding data transmission latency based upon link loading and arrangement
US6918001B2 (en) * 2002-01-02 2005-07-12 Intel Corporation Point-to-point busing and arrangement
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7003597B2 (en) * 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size
US7178086B2 (en) * 2003-09-17 2007-02-13 Hitachi Global Storage Technologies Netherlands, B.V. Direct partial update of CRC/ECC check bytes
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7155623B2 (en) * 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
US7752470B2 (en) * 2003-12-03 2010-07-06 International Business Machines Corporation Method and system for power management including device controller-based device use evaluation and power-state control
US20050125701A1 (en) * 2003-12-03 2005-06-09 International Business Machines Corporation Method and system for energy management via energy-aware process scheduling
US7356665B2 (en) 2003-12-17 2008-04-08 International Business Machines Corporation Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
US7197652B2 (en) * 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7788461B2 (en) * 2004-04-15 2010-08-31 International Business Machines Corporation System and method for reclaiming allocated memory to reduce power in a data processing system
US7304905B2 (en) * 2004-05-24 2007-12-04 Intel Corporation Throttling memory in response to an internal temperature of a memory device
US20060080461A1 (en) * 2004-06-02 2006-04-13 Wilcox Jeffrey R Packet exchange for controlling system power modes
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7299372B2 (en) * 2004-08-05 2007-11-20 International Business Machines Corporation Hierarchical management for multiprocessor system with real-time attributes
US7342841B2 (en) * 2004-12-21 2008-03-11 Intel Corporation Method, apparatus, and system for active refresh management
US8140878B2 (en) * 2005-01-27 2012-03-20 Hewlett-Packard Development Company, L.P. Power conservation technique for blade computer systems
US8521855B2 (en) * 2005-09-27 2013-08-27 Intel Corporation Centralized server-directed power management in a distributed computing system
US7788513B2 (en) * 2006-08-29 2010-08-31 Hewlett-Packard Development Company, L.P. Method of reducing power consumption of a computing system by evacuating selective platform memory components thereof
US7505349B2 (en) * 2006-09-07 2009-03-17 Honeywell International Inc. Refresh sequence control for multiple memory elements
US7598166B2 (en) * 2006-09-08 2009-10-06 International Business Machines Corporation Dielectric layers for metal lines in semiconductor chips
US7653773B2 (en) * 2007-10-03 2010-01-26 International Business Machines Corporation Dynamically balancing bus bandwidth
US8200999B2 (en) * 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
CA2697991C (en) * 2009-04-01 2018-05-01 Accenture Global Services Gmbh System for monitoring the energy efficiency of technology components
KR101612111B1 (ko) * 2009-04-27 2016-04-14 삼성전자주식회사 전류 검출기를 포함하는 데이터 저장 장치
JP4962921B2 (ja) * 2009-08-26 2012-06-27 日本電気株式会社 コンピュータのメモリ再配置制御方法およびプログラム並びにコンピュータシステム
US8352758B2 (en) * 2010-03-22 2013-01-08 International Business Machines Corporation Power bus current bounding using local current-limiting soft-switches and device requirements information
US8675444B2 (en) 2011-12-08 2014-03-18 International Business Machines Corporation Synchronized command throttling for multi-channel duty-cycle based memory power management
US9086882B2 (en) * 2012-08-07 2015-07-21 International Business Machines Corporation DRAM energy use optimization using application information
US9430434B2 (en) 2013-09-20 2016-08-30 Qualcomm Incorporated System and method for conserving memory power using dynamic memory I/O resizing
CN104575586B (zh) * 2013-10-15 2019-02-22 恩智浦美国有限公司 基于错误信息的存储器设备保持模式
US10599349B2 (en) * 2015-09-11 2020-03-24 Samsung Electronics Co., Ltd. Method and apparatus of dynamic parallelism for controlling power consumption of SSDs
CN110520929B (zh) * 2017-04-14 2022-07-22 华为技术有限公司 内存刷新方法、装置及计算机***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710903A (en) 1986-03-31 1987-12-01 Wang Laboratories, Inc. Pseudo-static memory subsystem
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5404543A (en) 1992-05-29 1995-04-04 International Business Machines Corporation Method and system for reducing an amount of power utilized by selecting a lowest power mode from a plurality of power modes
JPH07105681A (ja) * 1993-10-07 1995-04-21 Mitsubishi Electric Corp 半導体装置
JPH07129287A (ja) * 1993-11-01 1995-05-19 Canon Inc コンピュータ装置
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
JPH09306164A (ja) * 1996-05-13 1997-11-28 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ・システム
JPH10269767A (ja) * 1997-03-19 1998-10-09 Mitsubishi Electric Corp 半導体装置
US5901103A (en) 1997-04-07 1999-05-04 Motorola, Inc. Integrated circuit having standby control for memory and method thereof
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor

Also Published As

Publication number Publication date
CN1359485A (zh) 2002-07-17
AU5048300A (en) 2001-01-31
HK1042362A1 (en) 2002-08-09
KR100417835B1 (ko) 2004-02-11
WO2001001230A1 (en) 2001-01-04
EP1192525A1 (de) 2002-04-03
TW477928B (en) 2002-03-01
DE60031404D1 (de) 2006-11-30
US6330639B1 (en) 2001-12-11
KR20020025904A (ko) 2002-04-04
EP1192525B1 (de) 2006-10-18
CN1191512C (zh) 2005-03-02

Similar Documents

Publication Publication Date Title
DE60031404T2 (de) Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern
DE19681716B4 (de) Computersystem und Verfahren für ein Stromversorgungsmanagement
DE112011105298B4 (de) Reduzieren des Energieverbrauchs von Uncore-Schaltkreisen eines Prozessors
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102012212441B4 (de) Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE112005001801B4 (de) Verfahren und Vorrichtung zum dynamischen DLL-Herunterfahren und Speicher-Selbstauffrischen
DE69629123T2 (de) Apparat und verfahren zum reduzieren des stromverbrauchs durch skalierung von spannung und frequenz
DE102009041723B4 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE60116650T2 (de) Strommodus-übergang für einen prozessor
DE69635887T2 (de) Schaltung zur Einstellung von Computersystembussignalen auf vorbestimmte Zustände im Niederstromverbrauchszustand
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE112007000632B4 (de) Energieoptimierte Frame-Synchronisation für mehrere USB-Controller mit nicht gleichförmigen Frame-Raten
DE69931653T2 (de) Verfahren und gerät zur wiederherstellung eines speichergerätekanals wenn ein niederspannungszustand verlassen wird
DE69631012T2 (de) Leistungssteuerung in einem Informationsverarbeitungssystem
DE69911026T2 (de) Synchronisation von prozessoren in einem fehlertoleranten multi-prozessor-system
DE112017004110T5 (de) Verfahren, vorrichtung und system für eine rollenübertragungsfunktion für einen bus-master
DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus
DE112013006184T5 (de) Verwalten eines Leistungszustandes eines Prozessors
DE112010002425B4 (de) Delegieren einer Anfrageoperation an eine ander Einrichtung
DE102013214907A1 (de) Training, power-gating und dynamische Frequenzänderung eines Speichercontrollers
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau
DE102010045743A1 (de) Verfahren und Vorrichtung um Turboleistung für das Event-Handling zu verbessern
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806