DE112006002905B4 - Mechanismus zum Selbstauffrischen während C0 - Google Patents

Mechanismus zum Selbstauffrischen während C0 Download PDF

Info

Publication number
DE112006002905B4
DE112006002905B4 DE112006002905.3T DE112006002905T DE112006002905B4 DE 112006002905 B4 DE112006002905 B4 DE 112006002905B4 DE 112006002905 T DE112006002905 T DE 112006002905T DE 112006002905 B4 DE112006002905 B4 DE 112006002905B4
Authority
DE
Germany
Prior art keywords
memory
threshold
idle time
circuit
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE112006002905.3T
Other languages
English (en)
Other versions
DE112006002905T5 (de
Inventor
Eric C. Samson
Robert Riesenmann
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 DE112006002905T5 publication Critical patent/DE112006002905T5/de
Application granted granted Critical
Publication of DE112006002905B4 publication Critical patent/DE112006002905B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4061Calibration or ate or cycle tuning
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein Verfahren für Speicher (115) zum Eintreten in ein Selbstauffrischen, mit: Berechnen eines Betrags einer Speicherzugriffsleerlaufzeit; Bestimmen, ob die Speicherzugriffsleerlaufzeit einen Wechselstrom-Schwellenwert oder einen Gleichstrom-Schwellenwert übersteigt, um in einen Auffrischzustand zu wechseln, wobei der Wechselstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Wechselstrom und der Gleichstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Gleichstrom entspricht; und Wechseln in einen Selbstauffrischzustand ohne eine explizite Angabe von einem Prozessor (105) bezüglich des Prozessorleistungszustands, wenn bestimmt wurde, dass Speicherzugriffsleerlaufzeit den Wechselstrom-Schwellenwert oder den Gleichstrom-Schwellenwert übersteigt.

Description

  • HINTERGRUND
  • Der Advanced Configuration und Power Interface Standard, Revision 3.0, veröffentlicht am 2. September 2004 („ACPI”) schafft eine Schnittstelle zur Betriebssystemsteuerung von Hardwarekomponenten, die ein flexibles Leistungsmanagement erlaubt. Das ACPI schafft ein Verfahren zum Konservieren von Energie durch Versetzen nicht-aktiver Geräte in einen Zustand mit geringer Leistung und kann auch ein gesamtes System in einen Niedrigenergie-Schlafzustand versetzen, wenn dies erwünscht ist. Ein Computersystem in Übereinstimmung mit dem ACPI Standard kann die Leistung reduzieren, um wenige aktive Komponenten, etwa einen Bildschirm oder eine Festplatte oder auch verfügbare Gerate ein- oder auszuschalten. Der ACPI Standard definiert daher einen Schnittstellenmechanismus, der ein ACPI – kompatibles Betriebssystem zur Steuerung und zum Kommunizieren mit einer ACPI kompatiblen Hardwareplattform erlaubt.
  • Nach dem ACPI Standard sind die Prozessorleistungszustände (Cx-Zustände) der Leistungsverbrauch des Prozessors und die thermischen Managementzustände und können weiter als globaler Arbeitszustand G0 definiert werden. Cx weist C0, C1, C2, C3 bis zu Cn auf. Weiter besitzen die Cx Zustände spezifische Eingangs- und Ausgangssemantiken, wie sie in den folgenden Absätzen kurz beschrieben werden.
  • Nach dem ACPI Standard kann ein Prozessor Befehle ausführen, während er in dem C0 Prozessorleistungszustand ist. In dem C1 Leistungszustand ist die Hardwarelatenz gering genug, damit eine Betriebssoftware den Latenzaspekt des Zustands nicht berücksichtigt, wenn es entscheidet, diese zu benutzen. Wie in dem Standard definiert ist, hat der Zustand keine andere für die Software sichtbare Effekte neben dem Versetzen des Prozessors in einen nichtarbeitenden Leistungszustand.
  • Der C2 Leistungszustand bietet verbesserte Leistungsersparnisse gegenüber dem C1 Zustand. Der schlimmste Fall einer Hardwarelatenz wird in diesem Zustand von der ACPI System-Firmware bewirkt und die Betriebssoftware kann diese Information verwenden, um zu bestimmen, wann der C1 Zustand statt des C2 Zustands verwendet werden sollte. Durch diesen Standard wird auch definiert, dass der C2 Zustand keine anderen für die Software erkennbaren Wirkungen hat, als das Bringen eines Prozessors in einen nicht-arbeitenden Leistungszustand.
  • Der C3 Leistungszustand bietet verbesserte Leistungsersparnisse gegenüber dem C1 und C2 Zustand. Die schlimmste Hardwarelatenz für diesen Zustand wird durch die ACPI Systemfirmware geschaffen und die Betriebssoftware kann diese Information verwenden, um zwischen diesen Zuständen zu bestimmen. Während in dem C3 Zustand die Caches eines Prozessors den Zustand beibehalten während sie etwaige Anfragen ignorieren, ist die Betriebssoftware dafür verantwortlich sicherzustellen, dass die Caches kohärent bleiben. Für eine eingehende Definition jedes der Cx Zustände, siehe Abschnitt 8.1 des ACPI Standards, Processor Power States.
  • Ein Dynamic Random Access Memory (DRAM) ist ein typischer Speicher zum Speichern von Information. Der DRAM besteht aus einem Speicherzellenfeld/Matrix, wobei jede Speicherzelle mit einer aus einer Mehrzahl von Messverstärkern, Bitlinien und Wortlinien gekoppelt sein kann. Die Speicherzellenmatrix kann weiter in eine Anzahl von Bänken unterteilt sein.
  • Die DRAM Speicherzellen bestehen aus einem einzigen Transistor und einer Kapazität. Ladung, die in der DRAM Speicherzelle gespeichert ist, verringert sich aufgrund des Leckstroms und die Information geht schließlich verloren, wenn die Ladung nicht periodisch aufgefrischt wird. Da die Ladung periodisch aufgefrischt werden muss, wird dieser Speicher als dynamisch bezeichnet. Ein beispielhafter Auffrischvorgang schließt einen Speichercontroller auf, der Daten aus einem Zellenfeld liest und die Daten in das Zellenfeld zurück schreibt unter Auffrischen der Kapazität in der Speicherzelle auf eine vorangehende Ladung. Ein synchrones DRAM (SDRAM) unterstützt ständig die Selbstauffrischung. Das Selbstauffrischen ist ein Auffrischvorgang, der von dem Speicher, nicht also von einem Speichercontroller ausgeführt wird. Während des Selbstauffischens kann der Speicher einen internen Oszillator verwenden, um Auffrischzyklen zu erzeugen, um Daten, die in den Speicherzellen gespeichert sind, beizubehalten.
  • Sich selbst auffrischende Speicher verbrauchen weniger Leistung, da eine zugehörige Ausgangslatenz vorhanden ist, um den Normalbetrieb fortzusetzen. Da die Leistungsfähigkeit von der Speicherzugriffszeit abhängig ist, kann sie erhöht werden, wenn ein Speichercontroller weiß, wie lange es dauert, um den Speicher aufzuwecken und bereit ist, wenn ein Prozessor ihn benötigt.
  • Ein üblicher Leistungssparansatz ist das Rapid Memory Power Management (RMPM). Das RMPM ist eine Eigenschaft eines Speichercontrollers, die Plattformleistung durch Prüfen der Nutzung durch den Prozessor spart. Wenn ein Prozessor, der mit dem Speichercontroller gekoppelt ist, in den C2–C4 ACPI Zuständen ist, wird er nicht auf den Speicher zugreifen, was es dem Speicher erlaubt, das Selbstauffrischen auszuführen. Ein Speichercontroller kann weiter eine Logik ausschalten, die auf den Lese/Schreibspeicher bezogen ist, um Leistung zu sparen. Leistung kann aufgrund des Ausmaßes des Taktgatters und des Schließens der Delay-Locked Loop (DLL) auf einem Controller während dieses Zustands gespart werden.
  • Das DRAM Row Power Management (DRPM) ist ein weiteres Verfahren zum Reduzieren der Leistungsanforderungen. In dem DRPM kann eine Speicherreihe während des normalen Betriebs basierend auf den Leerlaufzeiten in der Reihe des Speichers in der Leistung herabgesetzt werden. Wenn alle Seiten für die Reihe zu dem Zeitpunkt der Leistungsherabsetzung geschlossen sind, kann ein Gerät einen aktiven leistungsreduzierten Zustand erreichen. Wenn Seiten zum Zeitpunkt der Herabsetzung der Leistung offen bleiben, kann das Gerät einen Zustand einer Vorladung mit herabgesetzter Leistung erreichen.
  • Typischerweise erreicht der Speicher eine Selbstauffrischung nur, wenn dies durch den Prozessor explizit angegeben wird, dass der Prozessor inaktiv wird, wie etwa in den ACPI Zuständen C1, C2 und C3. Während C0 gibt ein Prozessor nicht explizit an, dass er inaktiv werden wird. Was erforderlich ist, sind ein Verfahren und eine Vorrichtung zum Erreichen eines Selbstauffrischens, wenn nicht explizit angegeben wird, dass gekoppelte Komponenten nicht vollständig aktiv sind.
  • In US2003/0033472 A1 ist ein Verfahren zum Wechseln in einen Selbstauffrischzustand eines DRAM-Speichers offenbart. Für das Wechseln in andere Zustände ist ein Eingriff durch einen Prozessor notwendig.
  • KURZE ERLÄUTERUNG DER ZEICHNUNGEN
  • Ausführungsbeispiele der Erfindung ergeben sich am besten durch Lesen der Offenbarung unter Bezugnahme auf die beiliegenden Zeichnungen, wobei
  • 1 ein Blockdiagramm ist, das ein Ausführungsbeispiel eines Computersystems zeigt,
  • 2 ein Blockdiagramm ist, das ein Beispiel eines Chipsatzes in einem Computersystem nach einem Ausführungsbeispiel der Erfindung zeigt,
  • 3 eine Zustandsdiagramm eines Ausführungsbeispieles zur Reduzieren des Leistungsverbrauchs eines Speichers oder eines Graphikcontrollers ist,
  • 4 ein Flussdiagramm ist, das ein beispielhaftes Ausführungsbeispiel zum Verringern des Leistungsverbrauchs des Speichers oder eines Graphikcontrollers zeigt.
  • EINGEHENDE BESCHREIBUNG
  • In der nachfolgenden Beschreibung werden eine Anzahl von besonderen Einzelheiten angegeben. Es versteht sich jedoch, dass Ausführungsbeispiele der Erfindung verwirklicht werden können, ohne diese besonderen Einzelheiten. In anderen Fällen sind gut bekannte Schaltungen, Strukturen und Techniken nicht in ihren Einzelheiten gezeigt, um das Verständnis der Beschreibung nicht zu erschweren. Eine Bezugnahme in der Beschreibung auf „ein Ausführungsbeispiel” oder „das Ausführungsbeispiel” usw. bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung mit dem Ausführungsbeispiel beschrieben wird, wenigstens bei einem Aspekt der Erfindung vorhanden ist. Das Auftreten der Phrase „in einem Ausführungsbeispiel” an verschiedenen Orten der Beschreibung beziehen sich nicht notwendigerweise alle auf dasselbe Ausführungsbeispiel.
  • Verschiedene Verfahren und Vorrichtungen werden offenbart zum Steuern des Leistungsverbrauchs von Computersystemen. Bei einem beispielhaften Ausführungsbeispiel kann, wenn ein Prozessor eines Computersystems in einem regelmäßigen Leistungsmodus ist, der Leistungsverbrauch für eine oder mehrere Komponenten eines Speichen, der mit dem Prozessor gekoppelt ist und für andere Systemkomponenten, die Controller haben, die mit dem Stellen von Anfragen an den Speicher verbunden sind, reduziert werden. Ausführungsbeispiele können dies durch Berechnen von Hardwarezuständen erreichen und können daher geringere Leistungszustände erreichen, ohne dass dies explizit von einem Betriebssystem (OS) oder einem Prozessor vorgegeben ist.
  • 1 ist ein Blockdiagramm, das ein Beispiel eines Computersystems zeigt. Das Computersystem 100 kann einen Prozessor, eine zentrale Recheneinheit (CPU) usw. 105 aufweisen, mit einem Systemspeicher 115, der mit einem Bus 25 gekoppelt sein kann. Das Computersystem 100 kann weiter eine Displayeinheit 105 aufweisen, etwa ein Flüssigkeitskristalldisplay (LDC), einen Plasmabildschirm, eine Kathodenstrahlröhre (CRT), einen Projektionsschirm usw. Eine Information einschließlich Graphiken, Text, Bildern usw., die auf der Displayeinheit 25 angegeben ist, kann durch einen Graphikcontroller gesteuert sein, etwa einem Chipsatz (nicht gezeigt). Das Computersystem 100 kann eine alphanumerische Eingabeeinheit 120, eine Cursorsteuereinheit 124 und einen Plattenspeicher 130 aufweisen.
  • Der Plattenspeicher 130 kann ein (nicht gezeigtes) maschinenlesbares Medium aufnehmen, auf dem ein Satz von Befehlen (beispielsweise eine Softwareanwendung) gespeichert ist, die einige der hier beschriebenen Ausführungsbeispiele verwirklicht. Die Befehle können auch, vollständig oder wenigstens teilweise in dem Hauptspeicher 115 und/oder dem Prozessor 105 angeordnet sein. Die Befehle können auch von einer Netzwerkschnittstelle 135 zum Verbinden zu einem oder mehreren Netzwerken übertragen werden und/oder empfangen werden. Das Computersystem 100 kann durch eine Wechselspannungsleistungsquelle oder eine Direktstromleistungsquelle (DC) unter Verwendung ein oder mehrerer Batterien betrieben werden. Zusätzlich kann das System 100 ein Server sein und kann mehrere Speicherblöcke 115, mehrere Prozessoren 105, einen beliebigen Untersatz der Blöcke von 1 oder auch zusätzliche Komponenten aufweisen.
  • Obwohl dies nicht gezeigt ist, kann der Bus 25 einen Adressbusses, Bussteuersignale, einen Datenbus und/oder einen Speichercontroller, der zwischen allen Speicherzugriffsanforderungen vermittelt, aufweisen. Der Prozessor 105 kann den Bus 25 steuern, so dass die Kommunikationen zwischen den Eingangs/Ausgangs (I/O) Einheiten das Einbeziehen des Prozessors 105 erfordern kann.
  • Zusätzlich können (nicht gezeigt) andere Controller in dem Computersystem 100 vorhanden sein, die bei Zugriffsanforderungen zu dem Speicher 115 zum Zusammenarbeiten mit dem Prozessor 105 in der Lage sind. Dies kann es einem Controller erlauben, den Adressbus und die Steuersignale des Busses 25 mit minimaler Intervention durch den Prozessor 105 zu betreiben. Als ein Beispiel kann der Prozessor 105 mit dem Ausführen anderer Aufgaben, die nicht den Bus 25 benötigen, beschäftigt sein, oder der Prozessor 105 kann in einem Niedrigenergiezustand leer laufen. Ein Controller kann seinen eigenen Prozessor oder Mikrocontroller oder Maschine beinhalten, die Anforderungen an den Speicher 115 erzeugt. Beispielhafte Controller weisen einen Ethernetcontroller, einen Universal Serial Bus (USB) Controller, einen Tonwandlercontroller, einen Graphikcontroller usw. auf.
  • Zum Zwecke dieser Erläuterung betrifft die Beschreibung einen beispielhaften integrierten Graphikcontroller als ein Beispiel eines Controllers, der dazu in der Lage ist, Gelegenheiten zum Anordnen eines Speichers in einem sich selbst auffrischenden Zustand durch Beobachten der Zustände in Hardware und ohne explizite Befehle von einem OS oder einem zugehörigen Prozessor oder zugehörigen Prozessoren zu nutzen.
  • Weiter werden Beispiele gezeigt des Versetzens des Speichers in das Selbstlauffrischen entsprechend dem Leistungszustand des Prozessors, ohne dass dies explizit von einem Prozessor bestimmt wird. Zusätzlich zu den Leistungsersparnissen in dem Speicher können Speichercontroller Speicher einsparen basierend auf demselben Mechanismus und demselben Verfahren. Der Fachmann wird erkennen, dass die Beschreibung auch auf andere Controller anwendbar sein kann.
  • Weiter können die Controller, da sich die Technologien ändern, in Prozessoren oder auch in Speicher eingebettet sein, d. h., die Funktionalität kann sich um die Hardware herum bewegen, Ausführungsbeispiele sind aber nicht in der Art begrenzt und können bei einer in unterschiedlichen Hardwarekonfigurationen verteilter Funktionalität angewendet werden.
  • 2 ist ein Blockdiagramm, das ein Beispiel eines Chipsatzes in einem Computersystem 200 nach einem Ausführungsbeispiel zeigt. Das Computersystem 200 kann einen Prozessor 105 und einen Chipsatz 210 aufweisen. Der Chipsatz 210 wird hier manchmal mit dem allgemeineren Begriff Schaltung 210 bezeichnet. Das Computersystem 200 kann weiter einen Speicher 115 aufweisen. Bei einem Ausführungsbeispiel kann der Chipsatz 210 einen Grafikchipsatz einschließen, etwa einen Intel 45G integrierten Graphikchipsatz von Intel Corporation, Santa Clara, USA.
  • Weiter kann der Chipsatz 210 einen integrierten Graphikcontroller 212 aufweisen zum Schaffen einer Graphik/Videounterstützung. Der Chipsatz 210 kann weiter eine Graphikschnittstelle 222 aufweisen, etwa eine Accelerated Graphics Port (AGP) Schnittstelle zum Unterstützen von (nicht gezeigten) externen Graphikcontrollern für fortschrittliche Graphikfähigkeit. Ein externer Graphikcontroller kann einen Speicher aufweisen.
  • Der Chipsatz 210 kann weiter einen Speichercontroller 213 aufweisen, der mit dem Speicher 115 in Verbindung steht, um Lese/Schreibanforderungen von dem Prozessor 105 zu entsprechen. Der Speicher 115 kann, beispielsweise, ein Speicher mit wahlfreiem Zugriff (DRAM), ein synchroner Speicher mit wahlfreiem Zugriff (SDRAM), ein Doppeldatenraten (DDR) SDRAM sein, ein DDR2 SDRAM usw.
  • Der Chipsatz 210 kann weiter einen I/O Controller 214 aufweisen, um mit Peripheriegeräten (nicht gezeigt) zu verbinden. Obwohl 2 den Prozessor mit einem unterschiedlichen Modul gegenüber dem Graphikcontroller 212 zeigt, können ein oder mehrere Prozessoren 105, der Graphikcontroller 212 und der I/O Controller 214 in einem Modul oder in mehreren Modulen implementiert sein. Wie oben erwähnt, können die Funktionalitäten des Speichercontrollers 213 in dem Prozessor 105 integriert sein.
  • Der Graphikcontroller 212 und der Speicher 115 können Bezugstaktsignale von einem Taktgenerator 205 empfangen. Der Graphikcontroller 212, der Speichercontroller 213 und der Speicher 115 können auch eine Delayed Locked Loop (DLL) Schaltung(en) aufweisen (nicht gezeigt), die beispielsweise zur Zeitsteuerung usw. verwendet werden.
  • Der Graphikcontroller 212 kann Berechnungen zum Verbinden von Displaydaten von dem Speicher 115 und zum Ausgeben der Displaydaten an diese Displayeinheiten mit dem Videoausgangsanschluss 220 ausführen. Der Videocontroller 212 kann weiter andere Operationsverhalten der Displayeinheit 125 bestimmen einschließlich, beispielweise, Auffrischdaten, Rücklichthelligkeit und dgl. Die von dem Graphikcontroller 212 ausgeführten Aktivitäten können zu dem Leistungsverbrauch, der von dem Chipsatz 210 und von dem System 200 verbraucht wird.
  • Bei einem Ausführungsbeispiel kann die Vorrichtung einen Link aufweisen, der mit einem Speicher 115 gekoppelt ist, einer Schaltung 210, die mit dem Link geschaltet ist, wobei die Schaltung zum Berechnen eines Betrags der Zugriffsleerlaufzeit des Speichers 115 gekoppelt ist um zu bestimmen, wann eine Speicherzugriffsleerlaufzeit ausreichend ist, um in einen Selbst-Auffrischzustand zu wechseln und zum Wechseln in einen Selbst-Auffrischzustand basierend auf der Zugriffsleerlaufzeit des Speichers 115 ohne eine explizierte Angabe von dem Prozessor 105 bezüglich des Prozessorleistungszustands.
  • Bei einigen Ausführungsbeispielen ist die Leerlaufzeit des Speichers 115 ein Arbeitszyklusschwellenwert während eines Evaluationsintervalls. Bei einem anderen Ausführungsbeispiel ist die Speicherzugriffsleerlaufzeit eine minimale Dauer in einem bestimmten Leistungszustand. Das vorliegende Ausführungsbeispiel kann weiter ein Steuerbit aufweisen, um optional in derselben Leerlaufzeitperiode fortzuschreiten. In einem anderen Ausführungsbeispiel kann die Schaltung 213 weiter in einen Zustand mit höherem Leistungsverbrauch wechseln, wenn die Zugriffsleerlaufzeit des Speichers 115 geringer ist als der Schwellenwert.
  • Bei einigen Ausführungsbeispielen kann die Zugriffsleerlaufzeit in einem gleitenden Fenster gemessen werden. Beispielsweise kann die Zugriffsleerlaufzeit nicht nur für ein statisches Zeitintervall bestimmt werden, sondern auch hinter einen bestimmten Betrag von Zeit von irgendeiner Anfrage, wobei das gleitende Fenster einen dynamischeren Ansatz zum Bestimmen, wenn ein Speicher in den Selbst-Auffrischungszustand gehen kann, schafft. Einige Beispiele können eine Isolationsperiode mit begleitendem Fenster unter Verwendung eines finiten Impulsantwortfilter (FIR) implementieren. Ein weiteres Ausführungsbeispiel kann einen infiniten Impulsantwortfilter (FIR) aufweisen, beispielsweise zum Gewichten einer neueren Information, die höher ist als die ältere Information in dem gleitenden Fenster.
  • Bei einem Ausführungsbeispiel kann das System eine Leistungsquelle mit einer integrierten Batterie 280 aufweisen, um die Schaltung 210 zu versorgen, einen Speicher 115, der mit einem Link verbunden ist und eine Schaltung 210, die mit dem Link verbunden ist, wobei die Schaltung 210 einen Betrag der Zugriffsleerlaufzeit des Speichers 115 berechnet, bestimmen, ob die Zugriffsleerlaufzeit des Speichers 115 ausreichend ist, um einen Selbstauffrischzustand zu ändern und ändern in einen Selbst-Auffrischzustand basierend auf der Zugriffsleerlaufzeit des Speichers ohne eine explizite Angabe von einem Prozessor 105 bezüglich des Prozessorleistungszustands.
  • Bei einigen Systemausführungsbeispielen ist die Zugriffsleerlaufzeit des Speichers 115 ein Arbeitszyklusschwellenwert während eines Evulationsintervalls. Bei einigen Systemausführungsbeispielen ist die Zugriffsleerlaufzeit des Speichers 115 eine minimale Dauer in einem bestimmten Leistungszustand. Bei einigen Ausführungsbeispielen kann die Schaltung 210 weiter ein Kontrollbit zum optionalen Fortschreiten innerhalb einer Leerlaufperiode aufweisen. Bei einem anderen Ausführungsbeispiel kann die Schaltung weiter konfiguriert sein, um sich in einen höheren Leistungszustand umzustellen, wenn die Zugriffsleerlaufzeit des Speichers 115 kleiner ist als ein Schwellenwert.
  • 3 ist ein Zustandsdiagramm, das ein beispielhaftes Ausführungsbeispiel zum Reduzieren des Leistungsverbrauchs eines Speichen oder eines Graphikcontrollers zeigt. Diese Zustande können in einem Speichercontroller umgeschaltet werden, ohne explizit von einem OS instruiert zu sein und auch während ein zugehöriger Prozessor in dem C0 Zustand entsprechend dem ACPI Standard ist. Bei einigen Ausführungsbeispielen kann Leistung gespart werden aufgrund des Ausmaßes des Schließens für I/O Puffer, Takttrunks, Taktteilern, DLLs und/oder Phase Locked Loops (PLLs), während der Prozessor in dem C0 Zustand ist oder ohne dass der Prozessor explizit an Controller und Speicher angibt, dass es inaktiv sein wird.
  • Bei einigen unten angegebenen Ausführungsbeispielen kann die Hardware beobachtet werden und ein beispielhafter Controller des Speichers kann den Speicher in einen selbst-auffrischenden Zustand basierend auf bestimmten Hardwareverhalten versetzen. Wenn, beispielsweise, ein Prozessor für eine bestimmte Leerlaufzeit nicht auf einen Speicher zugreift, oder ein Prozessor versucht, innerhalb einer bestimmten Periode auf einen Speicher zuzugreifen, kann der Speicher in oder aus einem selbst-auffrischenden Zustand bewegt werden. Wenn ein bestimmter Schwellenwert bezüglich der Leerlaufzeit oder der aktiven Zeit in einem Evaulationsintervall erreicht wird, können dieselben Zustandsänderungen ausgelöst werden, wodurch Leistung in dem Speicher als auch in jedem Controller des Speichers gespart wird.
  • Einige Ausführungsbeispiele können weiter Speicherzugriffe justieren, um Möglichkeiten zum Erreichen eines Selbstauffrischens in dem Speicher zu bewirken. Bei einem Ausführungsbeispiel kann das Speichersystem, das ein Display 125 unterstützt, Zugriffe zu einem Display auffrischen in längeren Bursts zum Verbessern des Fensters der Gelegenheit zum Selbstauffrischen während C0 ausgeführt werden. Weiter kann die Fähigkeit zum Verwalten von Möglichkeiten zum Erreichen eines Selbstauffrischens zwischen unterschiedlichen Speicherzugriffen koordiniert werden.
  • Da ein Prozessor 105 beispielsweise unterschiedliche Zugriffsanforderungen auf den Speicher 115 haben kann als ein Speicher 125 während des Auffrischens, können die gesonderten Zugriffsanforderungen in einer Weise zum Erlauben der Möglichkeiten zum Erreichen des Selbstauffrischens koordiniert werden. Ein Speicher 125 kann daher längere Züge für ein Displayauffrischzugang basierend auf einem Prozessor 105 haben mit bestimmter Speicherzugriffsaktivität, etwa einer bestimmten Speicherzugriffsleerlaufzeit oder andere Speicherzugriffsaktivitäten, die Möglichkeiten schaffen zum Koordinieren der Speicherzustände des Selbstauffrischens.
  • Es wird jetzt auf das in 3 gezeigt Ausführungsbeispiel Bezug genommen. Ein Statusdiagramm mit unterschiedlichen Speichercontrollerleistungszuständen (MCx) ist gezeigt mit einem Zustand MC0 320, Zustand MC1 340 und einem Zustand MC2 360. Entsprechend diesem Ausführungsbeispiel kann das MC0 definiert werden als ein normaler Speicherzustand, MC1 kann definiert werden als ein DRPM Zustand und MC2 kann definiert werden als ein Selbst-Auffrischzustand. 3 zeigt daher das Schalten zwischen beliebigen mit zwei Zuständen MC0 320, MC1/DRMP 340 und MC2/Selbstauffrischen 360 als auch ein Schalten zwischen Zuständen in jeder Richtung in Richtung auf das Selbstauffrischen oder in Richtung auf einen vollen Leistungszustand. Zusätzlich können alle diese Zustände operativ sein, während ein zugehöriger Prozessor bzw. zugehörige Prozessoren in dem ACPI C0 Zustand ist (sind).
  • Unter der Annahme, dass ein Speichercontroller in dem MC0 320 Zustand arbeitet, ist es daher möglich, in den MC1/DRPM 340 Zustand durch Erreichen einer MCI Promote Limit 312 fortzuschreiten oder es kann f zu einem MC2/Selbst-Auffrischzustand 360 durch Erreichen eines MC2 Promote Limit 310 ortschreiten. Zusätzlich kann es, wenn der Speichercontroller in dem MC1/DRPM 340 Zustand war, in den MC2/Selbst-Auffrischzustand 260 durch Erreichen des MC12 Promote Limit 314 fortschreiten, wie in 3 angegeben.
  • 3 zeigt weiter ein Beispiel eines rückgestuften Powerzustands. Das heißt, wenn ein Speichercontroller in einem MX2/Selbst-Auffrischzustand 360 ist, kann es entweder zu einem MC1/DRPM Zustand 340 oder dem MC0 320 Zustand rückstufen, wie dies mit ähnlichen Rückstufungen gezeigt ist wie den Hochstufungen auf der linken Seite der 3.
  • Auf diese Weise kann die zulässige Auslasslatenz eines angebrachten Prozessors zum Bestimmen, wann ein Speichercontroller und/oder ein Speicher einen Übergang anordnen kann zu oder von einem Selbst-Auffrischen und damit den durchschnittlichen Leistungszustand verringern.
  • Während C0 können Ausführungsbeispiele von dem DRAM Row Power Management (DRPM) zu/von einer Selbst-Auffrischung basierend auf dem DRAM Zugang rückstufen/hochstufen kann einen Selbst-Auffrischzustand entweder sofort oder bei nächster Gelegenheit erreichen, wenn Zeit in dem DRAM Zustand von ausreichender Länge war, kann den DRPM Zustand bei der nächsten Angelegenheit erreichen, wenn die Selbst-Auffrischzeit nicht von ausreichender Dauer war und kann iterative Frequenzschritte annehmen, bis eine Zielcontrollerverwendung ein Treffer ist. Einige Ausführungsbeispiele können eine minimale Dauer garantieren sowohl für das DRPM als auch für die Selbst-Auffrischung. Zusätzlich können Ausführungsbeispiele optional DLLs inaktivieren, um noch mehr Leistung zu sparen. Beispielhafte Ausführungsbeispiele werden jetzt in weiteren Einzelheiten unter Bezugnahme auf das Statusdiagramm von 3 erläutert.
  • Gemäß einer Ausführungsform kann Leerlaufzeit über ein Evaluationsintervall akkumuliert werden, und können Entscheidungen betreffend Speicherleistungszustand anhand dieser Leerlaufakkumulierungen über das Intervall getroffen werden. Das folgende Beispiel bezieht sich auf Berechnen von Prozentsätzen, jedoch sind Ausführungsformen nicht derart eingeschränkt und können tatsächlich jeden geeigneten Schwellenwert verwenden. Die folgende Beschreibung verwendet Pseudocode-Darstellungen, jedoch offenbart die Beschreibung im Wesentlichen einen Weg zum Akkumulieren von Leerlaufzeiten über ein Evaluationsintervall, das wie unten beansprucht verwendet werden soll.
  • Bei dem vorliegenden Beispiel kann ein Leerlauf-Prozentsatz definiert werden als die (Summe der Leerlaufzeiten)/(Abtastintervall)·100. Der Leerlauf-Prozentsatz kann dann verwendet werden zum Bestimmen, ob das Ausführungsbeispiel zu einem neuen MCx Zustand hochstufen oder rückstufen sollte. Die Grenzen können daher gesetzt werden an programmierbaren Zeitvorgaben wie MCx PromoteLimit = 100ms und McxDemotLimit = 100mx, zum Beispiel. Diese beiden Grenzen zeigen, dass für jeden MC Zustand programmierbare Grenzen gesetzt werden können, die, wenn sie entweder erreicht oder überschritten werden, ein Controller oder ein zugehöriges Speicher zu einem tieferen oder höheren Leistungszustand hochgestuft oder rückgestuft werden.
  • Das vorliegende Ausführungsbeispiel kann weiter dafür sorgen, dass Leerlaufprozentsätze können abhängig davon variieren, ob ein Controller oder ein Speicher mit AC oder DC Leistung arbeitet. Beispielsweise:

    Unter AC Leistung können beispielhafte Grenzen sein:

    MC0PromoteProzent = 50%
    MC2DemoteProzent = 40%
    MC2PromoteProzent = 60%
  • Unter DC Leistung sind Grenzen beispielsweise wie folgt:
    MC1PromoteProzent = 20% Wenn der Leerlauf 20% der Zeit beträgt, gehe in MC1
    MC2DemoteProzent = 20% Wenn in MC2 gewesen, jetzt Leerlauf 20% der Zeit, gehe
    in MC1
    MC2PromoteProzent = 40% Wenn Leerlauf 40% der Zeit, gehe in MC2, wenn Leerlauf.
  • Nach dem vorliegenden Ausführungsbeispiel kann, wenn der Controller nicht für einen ausreichenden Schwellenwert im Leerlauf ist, beispielsweise wenn Leerlauf < 8 Takt, in dem MC0 bleiben. Wenn der Leerlauf für den Schwellenwert ist, kann die Leerlaufzeit akkumuliert werden über ein Evaluationsintervall und eine Bestimmung kann zum Verschieben von leistungssparenden Zuständen in dem Speicher und dem zugehörigen Speichercontroller ausgeführt werden.
  • Der MC2PromoteProzent kann beispielsweise in den dem MC2 Promote Limit 312 in 3 gleichsetzen und, wenn die 40% Grenze einmal erreicht ist, können der Controller und der Speicher in den MC2/Selbst-Auffrischzustand 360 geraten, wenn Leerlauf gegeben ist. Es wird daher unter Bezugnahme auf 3 deutlich, wie die anderen Hochstuf/Rückstufe Prozentsätze in dem beispielhaften Pseudocode dem Statusdiagramm von 3 entsprechen. Entsprechend dem anderen Ausführungsbeispiel kann die Leerlaufzeit einfach basierend auf einer Dauer, über die auf den Speicher nicht zugegriffen wird, berechnet werden. Dieses beispielhafte Ausführungsbeispiel kann eine Minimalzeit sicherstellen, in einem MC Zustand vor dem Schalten in einen anderen Zustand verbleibt, beispielsweise kann die Leerlaufzeit jedes Mal berechnet werden, wenn ein Controller einen MCx Zustand erreicht. Der Pseudocode für dieses Ausführungsbeispiel kann sein:
    Promote zu MCx + 1, wenn die vorangehende Graphikleerlaufzeit größer ist als
    MCx Zeit Promote
    Demote zu MCx – 1, wenn die vorangehende Graphikleerlaufzeitdauer kleiner ist
    als MCx Zeit Demote.
  • Daher gilt:
    MC1_Zeit_Promote = 100 μsec wenn letzte verbrauchte Zeit in Leerlauf > 100 μsec, dann gehe
    zu MC1
    MC1_Zeit_Demote = 40 μsec wenn letzte verbrauchte Zeit in MC4 war < 20 μsec, dann gehe
    zu MC0
    MC2_Zeit_Promote = 20 μsec wenn letzte verbrauchte Zeit in MC4 war > 200 μsec, dann
    gehe zu MC2
    MC1_Zeit_Demote = 20 μsec wenn letzte verbrauchte Zeit in MC5 war < 200 μsec, dann
    gehe zu MC1
  • Zusätzlich kann ein Steuerbit verwendet werden, um optional das Hochstufen in derselben Leerlaufperiode zu erlauben. Eine symbolische Statusmaschine für das vorliegende Ausführungsbeispiel ist sehr ähnlich zu der Leerlaufzeitakkumulation über einem Evaluationsintervallausführungsbeispiel mit der Ausnahme, dass MCx_Zeit_y Schwellenwerte verwendet werden statt MCx_y_Limits.
  • 4 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 400 zum Reduzieren des Leistungsverbrauchs eines Speichers und/oder eines Graphikcontrollers zeigt. Es wird auf 4 Bezug genommen. Ein beispielhaftes Verfahren für einen Speicher zum Erreichen einer Selbst-Auffrischung kann das Berechnen der Menge der Speicherzugriffsleerlaufzeit beinhalten, wie in dem Block 410 gezeigt. In dem Block 420 des beispielhaften Ausführungsbeispiels 400 kann das Bestimmen einschließen, wenn die Speicherzugriffsleerlaufzeit ausreichend ist, um einen Selbst-Auffrischstatus zu erreichen und in dem Block 430 des beispielhaften Verfahrens 400 kann das Ändern in einen selbstauffrischenden Status beinhalten basierend auf einer Speicherzugriffsleerlaufzeit ohne eine explizite Bestimmung von einem Prozessor in Abhängigkeit von dem Prozessorleistungszustand.
  • Bei einem Ausführungsbeispiel können Verfahren der Speicherzugriffsleerlaufzeit ein Arbeitszyklusstellenwert sein während eines Evaluationsintervalls. Beispielsweise bei einem Beispiel kann, während des Arbeitens auf Batterieleistung mit einem aktiven Prozessor, ein mobiles Ausführungsbeispiel einer Leerlaufzeit von 20% erkennen und dann in einen DRPM Zustand übergehen, während eine Leerlaufzeit von 40% für den zugehörigen Speicher in einen Übergang in einen selbstauffrischenden Zustand führt, wie unter Bezugnahme auf 3 diskutiert.
  • Bei einigen Verfahren kann die Speicherzugriffsleerlaufzeit zusätzlich eine minimale Dauer in einem bestimmten Leistungszustand sein. Wenn in einem Controllerzustand, beispielsweise einem Speichercontroller, das in dem DRPM Zustand gewesen ist für eine gewisse Zeitdauer, eine minimale Zeit erreicht wird, kann diese in einen selbstauffrischenden Zustand übergehen und der zugehörige Speicher kann in eine Selbst-Auffrischung gehen oder wenn der Speichercontroller unter einem bestimmten Schwellenwert ist, kann er in einen normalen Speicherzustand zurückkehren. Einige Ausführungsbeispiele können das Setzen eines Steuerbits zum optionalen Hochstufen in derselben Leerlaufperiode beinhalten.
  • Die vorliegende Erfindung kann ausgeführt werden bei bestimmten Formen, ohne sich aus dem Schutzbereich oder den wesentlichen Merkmalen zu lösen.

Claims (16)

  1. Ein Verfahren für Speicher (115) zum Eintreten in ein Selbstauffrischen, mit: Berechnen eines Betrags einer Speicherzugriffsleerlaufzeit; Bestimmen, ob die Speicherzugriffsleerlaufzeit einen Wechselstrom-Schwellenwert oder einen Gleichstrom-Schwellenwert übersteigt, um in einen Auffrischzustand zu wechseln, wobei der Wechselstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Wechselstrom und der Gleichstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Gleichstrom entspricht; und Wechseln in einen Selbstauffrischzustand ohne eine explizite Angabe von einem Prozessor (105) bezüglich des Prozessorleistungszustands, wenn bestimmt wurde, dass Speicherzugriffsleerlaufzeit den Wechselstrom-Schwellenwert oder den Gleichstrom-Schwellenwert übersteigt.
  2. Das Verfahren nach Anspruch 1, wobei die Speicherzugriffsleerlaufzeit ein Arbeitszyklusschwellenwert während eines Evaluationsintervalls ist.
  3. Das Verfahren nach Anspruch 1, wobei die Speicherzugriffsleerlaufzeit eine maximale Dauer in einem bestimmten Leistungszustand ist.
  4. Das Verfahren nach Anspruch 3, weiter mit Setzen eines Kontrollbits zum optionalen Fortschreiten der Leerlaufzeitperiode.
  5. Das Verfahren nach Anspruch 1, weiter mit Rückstufen in einen höheren Leistungszustand, wenn die Speicherzugriffsleerlaufzeit geringer ist als ein Schwellenwert.
  6. Eine Vorrichtung mit: einem Speicher (115); einer Schaltung (213); und einer Verbindung zwischen dem Speicher (115) und der Schaltung (213); wobei die Schaltung (213) dient zum: Berechnen eines Betrags einer Zugriffsleerlaufzeit über den Link; Bestimmen, ob die Speicherzugriffsleerlaufzeit einen Wechselstrom-Schwellenwert oder einen Gleichstrom-Schwellenwert übersteigt, um in einen Selbstauffrischzustand zu wechseln, wobei der Wechselstrom-Schwellenwert einem Betrieb der Schaltung (213) oder des Speichers (115) bei Wechselstrom und der Gleichstrom-Schwellenwert einem Betrieb der Schaltung (213) oder des Speichers (115) bei Gleichstrom entspricht; und Wechseln in einen Selbstauffrischzustand ohne eine explizite Angabe von einem Prozessor (105) bezüglich des Prozessorleistungszustands, wenn bestimmt wurde, dass Speicherzugriffsleerlaufzeit den Wechselstrom-Schwellenwert oder den Gleichstrom-Schwellenwert übersteigt.
  7. Die Vorrichtung nach Anspruch 6, wobei die Speicherzugriffsleerlaufzeit ein Arbeitszyklusschwellenwert während eines Evaluationsintervalls ist.
  8. Die Vorrichtung nach Anspruch 6, wobei die Speicherzugriffsleerlaufzeit eine minimale Dauer in einem bestimmten Leistungszustand ist.
  9. Die Vorrichtung nach Anspruch 8, weiter mit einem Kontrollbit zum optionalen Fortschreiten in einer Leerlaufperiode.
  10. Die Vorrichtung nach Anspruch 6, wobei die Schaltung (213) weiter zum Rückstufen in einen höheren Leistungszustand dient, wenn die Speicherzugriffsleerlaufzeit geringer als ein Schwellenwert ist.
  11. Eine Vorrichtung mit: Mitteln zum Kommunizieren mit einem Speicher (115); Mitteln zum Durchführen eines Verfahrens gemäß einem der vorstehenden Ansprüche 1 bis 5.
  12. Ein System mit: einem Speicher (115); einer Schaltung (213); einer Verbindung zwischen dem Speicher (115) und der Schaltung (213); und einer integrierten Batterieleistungsquelle zum Betreiben der Schaltung (213); wobei die Schaltung (213) dient zum: Berechnen einer Menge einer Speicherzugriffsleerlaufzeit auf dem Link, Bestimmen, ob die Speicherzugriffsleerlaufzeit einen Wechselstrom-Schwellenwert oder einen Gleichstrom-Schwellenwert übersteigt, um in einen Selbstauffrischzustand zu wechseln wobei der Wechselstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Wechselstrom und der Gleichstrom-Schwellenwert einem Betrieb einer Schaltung (213) oder des Speichers (115) bei Gleichstrom entspricht; und Wechseln in einen Selbstauffrischzustand ohne eine explizite Angabe von einem Prozessor (105) bezüglich des Prozessorleistungszustands, wenn bestimmt wurde, dass Speicherzugriffsleerlaufzeit den Wechselstrom-Schwellenwert oder den Gleichstrom-Schwellenwert übersteigt.
  13. Das System nach Anspruch 12, wobei die Speicherzugriffsleerlaufzeit ein Arbeitszyklusschwellenwert während eines Evaluationsintervalls ist.
  14. Das System nach Anspruch 12, wobei die Speicherzugriffsleerlaufzeit eine minimale Dauer in einem bestimmten Leistungszustand ist.
  15. Das System nach Anspruch 14, wobei die Schaltung (213) weiter ein Kontrollbit zum optionalen Fortschreiten in derselben Leerlaufperiode enthält.
  16. Das System nach Anspruch 12, wobei die Schaltung (213) weiter zum Rückstufen in einen höheren Leistungszustand dient, wenn die Leistungszugriffsleerlaufzeit geringer ist als ein Schwellenwert.
DE112006002905.3T 2005-12-29 2006-12-14 Mechanismus zum Selbstauffrischen während C0 Expired - Fee Related DE112006002905B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/323,344 2005-12-29
US11/323,344 US7613941B2 (en) 2005-12-29 2005-12-29 Mechanism for self refresh during advanced configuration and power interface (ACPI) standard C0 power state
PCT/US2006/048091 WO2007078894A1 (en) 2005-12-29 2006-12-14 Mechanism for self refresh during c0

Publications (2)

Publication Number Publication Date
DE112006002905T5 DE112006002905T5 (de) 2008-11-06
DE112006002905B4 true DE112006002905B4 (de) 2015-10-01

Family

ID=38015413

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006002905.3T Expired - Fee Related DE112006002905B4 (de) 2005-12-29 2006-12-14 Mechanismus zum Selbstauffrischen während C0

Country Status (8)

Country Link
US (1) US7613941B2 (de)
JP (1) JP4922306B2 (de)
KR (1) KR100993995B1 (de)
CN (1) CN101346709B (de)
DE (1) DE112006002905B4 (de)
GB (1) GB2447155B (de)
TW (1) TWI341969B (de)
WO (1) WO2007078894A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181051B2 (en) * 2006-02-09 2012-05-15 Freescale Semiconductor, Inc. Electronic apparatus and method of conserving energy
US8314806B2 (en) * 2006-04-13 2012-11-20 Intel Corporation Low power display mode
US8704833B2 (en) * 2007-06-06 2014-04-22 Apple Inc. Method and apparatus for displaying a video signal on a computer system
US8284179B2 (en) * 2008-02-21 2012-10-09 Himax Technologies Limited Timing controller for reducing power consumption and display device having the same
US8266393B2 (en) * 2008-06-04 2012-09-11 Microsoft Corporation Coordination among multiple memory controllers
TWI395096B (zh) * 2009-05-12 2013-05-01 Via Tech Inc 電源管理方法及其相關晶片組及電腦系統
JP5390967B2 (ja) * 2009-07-07 2014-01-15 キヤノン株式会社 プロセッサシステム及びその制御方法
US8352759B2 (en) * 2010-01-11 2013-01-08 Qualcomm Incorporated System and method of monitoring a central processing unit in real time
US8656198B2 (en) * 2010-04-26 2014-02-18 Advanced Micro Devices Method and apparatus for memory power management
JP2011238124A (ja) * 2010-05-12 2011-11-24 Fujitsu Toshiba Mobile Communications Ltd 携帯型電子機器
US9026829B2 (en) * 2010-09-25 2015-05-05 Intel Corporation Package level power state optimization
TWI473090B (zh) * 2011-08-08 2015-02-11 Winbond Electronics Corp 動態記憶體的重刷新電路及方法
CN102956260B (zh) * 2011-08-19 2015-12-16 华邦电子股份有限公司 动态存储器的重刷新电路及方法
US8539146B2 (en) 2011-11-28 2013-09-17 International Business Machines Corporation Apparatus for scheduling memory refresh operations including power states
TWI493850B (zh) * 2012-10-08 2015-07-21 Univ Nat Cheng Kung 具相關性系統識別功能之監測方法
CN104076900B (zh) * 2013-03-28 2019-09-27 超威半导体(上海)有限公司 Dram控制方法和系统以及计算机节电控制方法和系统
JP5715670B2 (ja) * 2013-10-10 2015-05-13 キヤノン株式会社 通信装置
US20160239442A1 (en) * 2015-02-13 2016-08-18 Qualcomm Incorporated Scheduling volatile memory maintenance events in a multi-processor system
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
KR102480017B1 (ko) * 2017-08-11 2022-12-21 삼성전자 주식회사 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법
US10955901B2 (en) 2017-09-29 2021-03-23 Advanced Micro Devices, Inc. Saving power in the command processor using queue based watermarks
US10671148B2 (en) 2017-12-21 2020-06-02 Advanced Micro Devices, Inc. Multi-node system low power management
US10503670B2 (en) * 2017-12-21 2019-12-10 Advanced Micro Devices, Inc. Dynamic per-bank and all-bank refresh
US11054887B2 (en) 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US11435813B2 (en) 2018-08-29 2022-09-06 Advanced Micro Devices, Inc. Neural network power management in a multi-GPU system
US11620230B2 (en) * 2019-05-24 2023-04-04 Texas Instruments Incorporated Methods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths
US11100698B2 (en) 2019-06-28 2021-08-24 Ati Technologies Ulc Real-time GPU rendering with performance guaranteed power management
US11175856B2 (en) 2019-11-08 2021-11-16 Micron Technology, Inc. Background operation selection based on host idle time
CN112925592A (zh) 2019-12-05 2021-06-08 超威半导体公司 渲染主页面的内核软件驱动的颜色重新映射
US11914905B1 (en) * 2021-07-15 2024-02-27 Xilinx, Inc. Memory self-refresh re-entry state

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033472A1 (en) * 2001-08-09 2003-02-13 Nec Corporation Dram device and refresh control method therefor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US693641A (en) * 1901-07-26 1902-02-18 Harry B Cramer Staging bracket or support.
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
AU2364095A (en) * 1994-05-12 1995-12-05 Ast Research, Inc. Cpu activity monitoring through cache watching
US5455801A (en) * 1994-07-15 1995-10-03 Micron Semiconductor, Inc. Circuit having a control array of memory cells and a current source and a method for generating a self-refresh timing signal
JPH09306164A (ja) * 1996-05-13 1997-11-28 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ・システム
US6334167B1 (en) * 1998-08-31 2001-12-25 International Business Machines Corporation System and method for memory self-timed refresh for reduced power consumption
US6693641B1 (en) * 2000-05-25 2004-02-17 Intel Corporation Calculating display mode values
US6816977B2 (en) * 2001-12-03 2004-11-09 Hewlett-Packard Development Company, L.P. Power reduction in computing devices using micro-sleep intervals
US7149909B2 (en) * 2002-05-09 2006-12-12 Intel Corporation Power management for an integrated graphics device
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
KR20050120344A (ko) * 2004-06-18 2005-12-22 엘지전자 주식회사 데이터 백업에 의한 에스디램의 셀프 리프레쉬 소모전류절감 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033472A1 (en) * 2001-08-09 2003-02-13 Nec Corporation Dram device and refresh control method therefor

Also Published As

Publication number Publication date
TW200732891A (en) 2007-09-01
JP2009515263A (ja) 2009-04-09
GB2447155B (en) 2011-07-20
GB0807329D0 (en) 2008-05-28
CN101346709A (zh) 2009-01-14
WO2007078894A1 (en) 2007-07-12
GB2447155A (en) 2008-09-03
US20070157046A1 (en) 2007-07-05
KR20080072957A (ko) 2008-08-07
JP4922306B2 (ja) 2012-04-25
KR100993995B1 (ko) 2010-11-11
TWI341969B (en) 2011-05-11
US7613941B2 (en) 2009-11-03
DE112006002905T5 (de) 2008-11-06
CN101346709B (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
DE112006002905B4 (de) Mechanismus zum Selbstauffrischen während C0
US9927860B2 (en) Method for reducing power consumption of memory system, and memory controller
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE10345383B4 (de) Bankadreßabbildung gemäß einer Bankhaltezeit bei dynamischen Direktzugriffsspeichern
DE112015006117B4 (de) Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus
DE112012004456B4 (de) Verfahren und Vorrichtung zum Planen von Arbeitsspeicher-Auffrischungsoperationen unter Einbeziehung von Engergiezuständen
DE102011014587B4 (de) Schneller Austritt aus Selbstauffrischungszustand eines Speichergeräts
DE112006002835B4 (de) Verfahren und System zum Optimieren der Latenz bei dynamischer Speichereinteilung
US8010764B2 (en) Method and system for decreasing power consumption in memory arrays having usage-driven power management
DE112006001135B4 (de) Adaptive temperaturbasierte Steuerung der Frequenzschranken
DE102013214907A1 (de) Training, power-gating und dynamische Frequenzänderung eines Speichercontrollers
DE112007001987T5 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102004034760B4 (de) Auffrischsteuerverfahren, Speichersteuerschaltung und Chipprodukt
DE102006013976A1 (de) Festplattenlaufwerk, Datenverarbeitungsvorrichtung und Lese-/Schreibverfahren
DE10307244B4 (de) Automatische Vorladesteuerungsschaltung und zugehöriges Vorladesteuerungsverfahren
DE112006002154T5 (de) Dynamische Speichergrösseneinteilung zur Leistungsreduktion
DE112017003291T5 (de) Verfahren und einrichtung zum vermindern von schwellenspannungsdrift
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren
DE102015223187A1 (de) Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen
DE112018000372T5 (de) Systeme und verfahren für eine kohärente energieverwaltung
DE102021122170A1 (de) Adaptive fehlerbereinigung und fehlerbehandlung für internen speicher
Pourshirazi et al. Refree: A refresh-free hybrid DRAM/PCM main memory system
DE112018003997T5 (de) Mechanismus zum eintreten in oder austreten aus bewahrungspegelspannung, während ein system-on-a-chip in einem niederleistungsmodus ist
DE102022117443A1 (de) Verfahren zur videoerfassung und elektronisches gerät

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G11C 11/406 AFI20061214BHDE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee