DE19882858C2 - Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur - Google Patents
Ein Verfahren und Einrichtungen zum Steuern der KernlogiktemperaturInfo
- Publication number
- DE19882858C2 DE19882858C2 DE19882858T DE19882858T DE19882858C2 DE 19882858 C2 DE19882858 C2 DE 19882858C2 DE 19882858 T DE19882858 T DE 19882858T DE 19882858 T DE19882858 T DE 19882858T DE 19882858 C2 DE19882858 C2 DE 19882858C2
- Authority
- DE
- Germany
- Prior art keywords
- throttling
- memory controller
- write
- quadword
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/20—Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
Description
Die Erfindung bezieht sich auf ein Verfahren zum Regeln
der Temperatur einer Kernlogik, die eine Speichersteuer
einrichtung aufweist, sowie auf eine Speichersteuereinrich
tung zur Ausführung eines solchen Verfahrens.
Jedes Computersystem-Bauelement weist üblicherweise
eine zugehörige thermische Spezifikation auf, welche die
Maximaltemperatur definiert, bei welcher ein Bauelement
wahrscheinlich zusammenbricht oder langsamer wird und dabei
Systemausfälle bewirkt.
Bei der bekannten Lösung wird die Bauelemente-Chiptem
peratur anhand von Spannungsänderungen gemessen, die Tempe
raturänderungen reflektieren. Die Spannungspegel werden in
ein Digitalsignal konvertiert, das mit einem vorgegebenen
Schwellwert verglichen wird. Wenn der Schwellwert über
schritten wird, wird ein Interrupt-Signal an die zentrale
Verarbeitungseinheit (CPU) erzeugt, welche den Zustand ho
her Temperatur mit Software behandelt. Der bekannten Lösung
haften viele Nachteile an. Beispielsweise ist die bekannte
Lösung teuer, da sie eine analoge Schaltung erfordert,
welche ein hohes Maß an Abgleich erfordert, um genaue und
zuverlässige Temperatursignale bereitzustellen. Darüber
hinaus erfordert die Behandlung der Komplexität analoger
Schaltungen eine lange Produktentwicklungsdauer.
Schließlich verwendet die bekannte Lösung eine Hardware, um
den thermischen Zustand direkt zu erfassen, aber verläßt
sich auf Software, um thermische Überbeanspruchungen
tatsächlich zu vermeiden. Die bekannte Lösung ist somit
Sicherheitsverletzungen, beispielsweise durch Viren
programme, ausgesetzt.
Es ist eine Aufgabe der Erfindung, einen Mechanismus
bereitzustellen, der die oben genannten Nachteile der be
kannten Lösung überwindet und eine weniger aufwendige,
leichter zu kalibrierende Alternative für die Regelung der
Temperatur von Kernlogikbauelementen bereitstellt.
Die japanische Patentanmeldung Nr. 08-335143 offenbart
ein System zum Kontrollieren der Temperatur für DASD-Ar
rays. Daten, auf die häufig zugegriffen wird, werden einem
DASD zugewiesen, welches eine relative geringe Betriebstem
peratur aufweist. Daten, auf die selten zugegriffen wird,
werden einem DASD zugewiesen, welches eine relativ hohe Be
triebstemperatur aufweist. So kann die Betriebstemperatur
der mehreren DASDs des Arrays gemittelt werden, um das
Risiko eines Ausfalls infolge einer Überhitzung des DASD-
Arrays zu minimieren. Das US-Patent Nr. 5,590,061 offenbart
ein Verfahren und eine Einrichtung zum Bereitstellen eines
Temperaturmanagments in einem Computersystem, bei dem die
interne Temperatur gemessen wird. Auf der Grundlage der
Temperaturmessung wird die erzeugte Wärme reduziert, indem
ein Teil des Systems abgeschaltet wird. Die interne
Systemtemperatur wird periodisch gemessen. Wenn sie einen
Schwellwert überschreitet, werden integrierte Schaltungen
des Systems ab- oder heruntergeschaltet.
Diese o. g. Aufgabe wird erfindungsgemäß durch ein
Verfahren mit den Merkmalen des Anspruchs 1 bzw. eine
Speichersteuereinrichtung mit den Merkmalen des Anspruchs
13 gelöst. Die Kernlogik, deren Temperatur geregelt wird,
umfaßt eine mit einem Systemspeicher gekoppelte
Speichersteuereinrichtung. Das Verfahren bestimmt die
Zugriffsrate der Kernlogik auf den Systemspeicher und
regelt die Temperatur der Kernlogik, indem sie die
Zugriffsrate einstellt.
Vorteilhafte und bevorzugte Weiterbildung der Erfindung
sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand bevorzugter, in
den Zeichnungen veranschaulichter Ausführungsbeispiele be
schrieben.
Fig. 1 veranschaulicht eine beispielhafte Blockdar
stellung eines Computersystems mit einer einer möglichen
thermischen Überbeanspruchung unterworfenen Kernlogik.
Fig. 2a ist ein Blockschaltbild, das ein Ausführungs
beispiel eines Abschnitts der inneren Komponenten veran
schaulicht, die die in Fig. 1 veranschaulichte Speicher
steuereinrichtung umfaßt.
Fig. 2b ist ein Blockschaltbild eines Ausführungsbei
spiels einer Drosselungsentscheidungslogik, die mit einem
DRAM-Arbiter (Zuteilungsentscheider) der Speichersteuerein
richtung gekoppelt ist.
Fig. 3a veranschaulicht die zwei Zustände eines Aus
führungsbeispiels der Drosselungsentscheidungslogik.
Fig. 3b veranschaulicht ein Blockschaltbild eines Aus
führungsbeispiels der Drosselungsentscheidungslogik.
Fig. 3c veranschaulicht die Maskierung von Lese- und
Schreibanforderungen.
Fig. 4a und 4b sind Ablaufdiagramme, die die grund
sätzlichen Schritte veranschaulichen, denen ein Ausfüh
rungsbeispiel der vorliegenden Erfindung bei der Steuerung
der Kernlogiktemperatur folgt.
Die vorliegende Erfindung schafft ein Verfahren zum
Steuern der Kernlogiktemperatur. Die vorliegende Erfindung
überwacht und steuert die Speicherzugriffsrate zwischen
einer Kernlogik und Speicherbauelementen (z. B. SDRAM)
derart, daß die maximale Verlustleistung nicht
überschritten und folglich die thermische Spezifikation der
Kernlogik eingehalten wird. Der Begriff der thermischen
Spezifikation, wie er hier verwendet wird, bezeichnet eine
Toleranz eines bestimmten Bauelements für dessen Erwärmung.
Beispielsweise beschreibt die thermische Spezifikation für
ein gegebenes Bauelement näherungsweise die Temperatur, bei
welcher das Bauelement sich wahrscheinlich verlangsamt
und/oder Systemausfälle bewirkt oder zusammenbricht.
Wenn die Zugriffsrate überhöhte Temperaturen bewirkt,
wird die Drosselungsfunktion gemäß der vorliegenden Erfin
dung aktiviert. Die Drosselungsfunktion verlangsamt die
Zugriffsrate für eine vorgegebene Zeitdauer, die ausreicht,
um zu garantieren, daß die thermische Spezifikation des
Bauelements nicht überschritten wird.
Die vorliegende Erfindung ist einfach zu validieren und
hat einen vernachlässigbaren Einfluß auf die Gatteranzahl
des Bauelements.
Fig. 1 veranschaulicht ein Beispielblockschaltbild ei
nes Abschnitts eines Systems mit Kernlogikbauelementen, die
potentiellen thermischen Überbeanspruchungen ausgesetzt
sind. Insbesondere weist bei einem Ausführungsbeispiel eine
Kernlogik 100 eine Speichersteuereinrichtung 106 auf und
ist mit DRAMs 104 gekoppelt, die synchrone DRAMs (SDRAMs)
umfassen, sowie mit einem Systemspeicher 102 über den Bus
101. Die Speichersteuereinrichtung 106 koppelt den System
speicher 102 und die SDRAMs 104 mit verschiedenen Einrich
tungen, einschließlich einer zentralen Verarbeitungseinheit
(CPU) 108, wie beispielsweise einem Intel Pentium® II-Pro
zessor, die durch einen Bus 105 angekoppelt ist, einer
durch einen Bus 107 angekoppelten fortgeschrittenen Grafik
port-Einrichtung (AGP-Einrichtung) 110 und einer Mehrzahl
von über einen Bus 114 angekoppelten Peripheriekomponenten
verbindungs(PCI)-Einrichtungen 112 1 bis 112 N. Obwohl diese
nicht gezeigt sind, ist es einem Fachmann klar, daß das Sy
stem darüber hinaus zahlreiche andere Bauelemente und Kom
ponenten enthalten kann, die sich typischerweise in einem
Computersystem finden.
Die PCI-Einrichtungen 112 1 bis 112 N sind Eingabe/Ausgabe
(I/O)-Hardware-Einrichtungen, die mit dem System über einen
(nicht gezeigten) PCI-Erweiterungssteckverbinder gekoppelt
oder auf der (nicht gezeigten) Personalcomputer(PC)-Mutter
platine montiert sind. Beispiele von PCI- oder anderen I/O-
Einrichtungen umfassen eine Grafiksteuereinrichtung/karte,
eine Plattensteuereinrichtung/karte, eine Steuereinrich
tung/karte für ein lokales Netz (LAN) und eine Videosteuer
einrichtung/karte, sind aber nicht darauf beschränkt. Die
AGP-Einrichtung 110 ist mit dem Systemspeicher 102 über die
Speichersteuereinrichtung 106 gekoppelt und ist so ausge
bildet, daß sie dazu beiträgt, die Grafikdatenübertragungs
operationen bei Hochgeschwindigkeitspersonalcomputern (PCs)
zu optimieren.
Die Speichersteuereinrichtung 106 ermöglicht der CPU
108, der AGP-Einrichtung 110 und den PCI-Einrichtungen 112 1
bis 112 N einen Zugriff auf den Systemspeicher 102. Bei
spielsweise werden bei einer Datenschreibtransaktion eine
Schreibanforderung ebenso wie die in den Systemspeicher zu
schreibenden Daten zu der Speichersteuereinrichtung 106
weitergeleitet und von dieser verarbeitet. Bei einer Lese
transaktion wird eine Leseanforderung an die Speichersteu
ereinrichtung 106 weitergeleitet, und die angeforderten Da
ten werden aus dem Systemspeicher 102 zurück zu der anfor
dernden Komponente, wie beispielsweise der CPU 108, der
AGP-Einrichtung 110 und/oder den PCI-Einrichtungen 112 1 bis
112 N, zurückgesendet.
Aufgrund des hohen Verkehrs und des hohen Datenvolumens
bei Lese- und Schreibanforderungen, die von der Speicher
steuereinrichtung 106 verarbeitet und zu dem Systemspeicher
102 getrieben werden, erhöht sich der Energieverbrauch der
Speichersteuereinrichtung 106, was eine direkte Erhöhung
der Temperatur der Speichersteuereinrichtung 106 bewirkt.
Wenn die Temperatur eine bestimmte Grenze überschreitet,
wie sie von der Temperaturspezifikation der Speichersteuer
einrichtung 106 definiert ist, kann die Speichersteuerein
richtung 106 zusammenbrechen, langsamer werden und/oder ei
nen Systemausfall bewirken. In ähnlicher Weise kann die
Temperaturspezifikation der SDRAMs 104 infolge der erhöhten
Temperatur bei der Verarbeitung eines hohen Volumens von
Leseanforderungen verletzt werden. Das digitale Verfahren
und die Einrichtung gemäß der vorliegenden Erfindung steu
ert die Temperatur der Kernlogik 100, indem sie die Daten
zugriffsrate über die Speichersteuereinrichtung 106 überwacht,
um zu sichern, daß ein derartiger Zusammenbruch vermieden
wird.
Obwohl die Kernlogik 100 so dargestellt ist, daß sie
eine Speichersteuereinrichtung 106 umfaßt, kann die Kernlo
gik 100 bei einem anderen Ausführungsbeispiel auch eine
Host-Brücke umfassen, die den Systemspeicher 102 mit verschie
denen Komponenten verbindet, wie beispielsweise der CPU 108,
Peripherieverbindungs(PCI)-Einrichtungen 112 1 . . . 113 N und AGP-Einrich
tungen 110. Bei einem weiteren Ausführungsbeispiel kann die
Kernlogik 100 ein oder mehrere Bussteuereinrichtungen (z. B.
PCI-Bus-Steuereinrichtungen), eine Grafiksteuereinrichtung
(z. B. AGP-Steuereinrichtung) und eine CPU-Steuereinrichtung
zusätzlich zu der Speichersteuereinrichtung zum Steuern des
Datenzugriffs zwischen verschiedenen Komponenten, wie bei
spielsweise Bus- und Grafikeinrichtungen, dem Systemspei
cher und der CPU, umfassen.
Fig. 2a ist ein Funktionsblockschaltbild eines Ausfüh
rungsbeispiels einer Speichersteuereinrichtung. Eine Dros
selungsentscheidungslogik 200 ist mit mehreren Daten-Lese-
und -Schreib-Anforderungs/Daten-Warteschlangen 202, 204 und
206 gekoppelt. Die Drosselungsentscheidungslogik 200 über
wacht die Zugriffsrate der Datenübertragungsanforderungen
an den Systemspeicher und erzeugt Signale, die die Anzahl
von verarbeiteten Datenübertragungsanforderungen beschrän
ken, wenn die Zugriffsrate größer oder gleich einem vorge
gebenen Schwellwert ist.
Eine Leseanforderungswarteschlange 202 enthält eine
Mehrzahl von durch verschiedene Systemkomponenten ausgege
benen Leseanforderungen. Eine Schreibpufferanforderungs
warteschlange 204 enthält eine Mehrzahl von Schreibanforde
rungen, die von verschiedenen Komponenten der Kernlogik 100
ausgegeben wurden. Eine Außer-der-Reihe-AGP-Anforderungs
warteschlange 206 enthält AGP-Anforderungen, die von der
AGP-Einrichtung 110 herrühren.
Die Drosselungsentscheidungslogik 200 ist mit einem
DRAM-Arbiter 207 gekoppelt, welcher die Lese/Schreib-Anfor
derungen an eine DRAM-Steuereinrichtung 208 weiterleitet.
Die DRAM-Steuereinrichtung 208 führt DRAM-Operationen, bei
spielsweise Lese- und Schreibanforderungen, an den System
speicher durch. Der DRAM-Arbiter 207 empfängt Steuersignale
aus der Drosselungsentscheidungslogik 200, welche die Zeit
gabe und die Dauer spezifizieren, in der der DRAM-Arbiter
207 mit der Verarbeitung von Leseanforderungen einhalten
soll, um thermische Überbeanspruchungen in den SDRAMs zu
vermeiden, und mit der Verarbeitung von sowohl Lese- als
auch Schreibanforderungen einhalten soll, um thermische
Überbeanspruchungen in der Speichersteuereinrichtung zu
vermeiden.
Fig. 2b ist ein detaillierteres Blockschaltbild eine
Ausführungsbeispiels der Drosselungsentscheidungslogik 200, die
mit dem DRAM-Arbiter 207 gekoppelt ist. Die Drosselungsent
scheidungslogik 200 umfaßt eine Schreibdrosselungsentschei
dungslogik 210 und eine Lesedrosselungsentscheidungslogik
212.
Es werden ein oder mehrere Konfigurationsbits 214 von der
Schreibdrosselungsentscheidungslogik 210 verwendet, um
Schreibanforderungen an den Systemspeicher zu überwachen
und Signale an den DRAM-Arbiter 207 zu erzeugen, um zu verar
beitende Schreibanforderungen einzuschränken, wenn die
Schreibzugriffsrate einen vorgegebenen Schwellwert erreicht
hat. Konfigurationsbits 214 sind vorgegebene Werte, die
verwendet werden, um zu bestimmen, ob die Schreibdrossel
aktiviert werden sollte. Verschiedene Register, welche die
Quelle der Konfigurationsbits sind, sind in dem Block
schaltbild gemäß Fig. 3b veranschaulicht.
Ein DRAM-Steuersignal 216 aus der DRAM-Steuereinrich
tung versorgt die Schreibdrosselungsentscheidungslogik 210
mit der Anzahl von Quadworten (QW), die in den System
speicher geschrieben werden. Schreibanforderungen 218 aus
der CPU, der AGP-Einrichtung und/oder den PCI-Einrichtungen
werden der Schreibdrosselungsentscheidungslogik 210 zur
Verfügung gestellt, damit diese maskiert und zu dem DRAM-
Arbiter 207 durch die Schreibanforderungsleitung 224 wei
tergeleitet werden, wenn die Schreibdrosselung aktiviert
werden soll. Anderenfalls werden Schreibanforderungen 218
ohne Änderung zu dem DRAM-Arbiter 207 über die Schreib
anforderungsleitung 224 weitergeleitet.
Ein DRAM-Steuersignal 227 aus der DRAM-Steuereinrich
tung stellt die Anzahl von durch den Systemspeicher ausge
führten QW-Leseoperationen an die Lesedrosselungsentschei
dungslogik 212 zur Verfügung. Leseanforderungen 228 aus der
CPU, der AGP-Einrichtung und/oder den PCI-Einrichtungen
werden an die Lesedrosselungsentscheidungslogik 212 zur
Verfügung gestellt, damit diese maskiert werden, wenn die
Lesedrossel aktiviert werden soll. Anderenfalls werden die
Leseanforderungen 218 an den DRAM-Arbiter 207 in unverän
derter Form über die Leseanforderungsleitung 230 weiterge
leitet.
Fig. 3a veranschaulicht die zwei Regimes eines Ausfüh
rungsbeispiels der Drosselungsentscheidungslogik. Ein
Regime ist ein Überwachungsregime 301 und das andere ist
ein Drosselungsregime 302.
Bei dem Überwachungsregime 301 überwacht die Drosse
lungsentscheidungslogik die Benutzung der Datenzugriffsrate
zum und aus dem Systemspeicher über die Speichersteuer
einrichtung 106. Sofern die Zugriffsrate bestimmte Schwell
werte überschreitet, tritt die Drosselungsentscheidungs
logik in ein Drosselungsregime 302 für eine vorgegebene
Zeitdauer ein. Andernfalls verbleibt die Drosselungs
entscheidungslogik in dem Überwachungsregime 301.
Während sie sich in dem Überwachungsregime 301 befin
det, wird ein Abtastfenster definiert, in welchem die
Zugriffsrate auf den Systemspeicher überwacht wird. Während
des Abtastfensters werden die Zugriffe auf den System
speicher gezählt. Am Ende des Abtastfensters wird die
Gesamtzahl der gezählten Zugriffe mit einem vorgegebenen
Schwellwert verglichen. Wenn man beispielsweise eine maxi
male Bandbreite von 800 Megabyte pro Sekunde (MB/s)
annimmt, bei welcher die thermische Spezifikation eines
Speicherbauelements überschritten wird, so kann dann der
Schwellwert als irgendeine geringere Bandbreite, wie bei
spielsweise 500 MB/s definiert werden. Wenn die gezählten
Zugriffe den Schwellwert überschreiten (Zustandsübergang
303), tritt die Funktion in das Drosselungsregime 302 ein.
Andernfalls wird eine neue Abtastung verwendet, um das
Überwachungsregime 301 neu zu starten.
In dem Drosselungsregime 302 begrenzt die Drosselungs
entscheidungslogik aktiv die Zugriffsrate auf einen defi
nierten Grenzwert, der garantiert, daß eine thermische Spe
zifikation für die Speichersteuereinrichtung nicht über
schritten wird (d. h., die festgesetzte Maximaltemperatur
nicht überschritten wird). Insbesondere bestimmt in dem
Drosselungsregime 302 die Drosselungsentscheidungslogik,
daß die Datenzugriffsrate gedrosselt werden muß, und sendet
dem DRAM-Arbiter eine Maskiere-Schreiben- oder Maskiere-
Lesen-Anforderung, um die Zugriffsrate für eine definierte
Zeitdauer zu begrenzen.
Das Drosselungsregime 302 spezifiziert die Drosselungs
zeit. Die Drosselungszeit kann ein ganzzahliges Vielfaches
eines gegebenen Abtastfensters sein. Bei einem Ausführungs
beispiel ist jede Drosselungszeit in der Größenordnung von
Sekunden und ist ferner in Drosselungsfenster unterteilt,
welche in der Größenordnung von Mikrosekunden
(beispielsweise 10 Mikrosekunden) liegen. Für jedes Drosse
lungsfenster wird ein maximaler Quadwort(QW)-Wert bereit
gestellt, welcher die Anzahl von Zugriffen bezeichnet, die
durchgeführt werden können. Weitere Zugriffsanforderungen
auf den Systemspeicher werden von dem DRAM-Arbiter für die
verbleibende Dauer des Drosselungsfensters blockiert. Das
Verhältnis des Zugriffsbudgets zu den Drosselungsfenstern
steuert im Endeffekt die Zugriffsrate, um zu garantieren,
daß die Chiptemperatur der Kernlogikbauelemente kontrol
liert bleibt.
Fig. 3b veranschaulicht ein Ausführungsbeispiel der
Drosselungsentscheidungslogik der Speichersteuereinrich
tung, welche Signale erzeugt, die dem DRAM-Arbiter eingege
ben werden, um die Anzahl der Datenanforderungen zu begren
zen, die unterstützt werden sollen, und um die Dauer der
Unterstützung zu begrenzen, um eine thermische Überbean
spruchung der Kernlogikkomponenten zu vermeiden. Obwohl das
in Fig. 3b veranschaulichte Blockschaltbild nur für
Schreibdatenanforderungen veranschaulicht ist, ist es einem
Fachmann aus der hier angegebenen detaillierten Beschrei
bung klar, daß Lesedatenanforderungen ebenfalls im wesent
lichen in der gleichen Weise, wie es in dem Blockschaltbild
veranschaulicht ist, verarbeitet werden können.
Die Drosselungsentscheidungslogik verbleibt in dem
Überwachungsregime, bis die Drosselungsfunktion aktiviert
wird. Während sie in dem Überwachungsregime ist, wird die
Schreibabtastzeit, die in dem Schreibabtastfensterzeitgene
rator und -register 300 gespeichert wird, einem Schreib
übertragungszähler 303, einem Schreibquadwort(QW)-Schwell
wertkomparator 304 und einer Schreibdrosselungszustands
steuereinrichtung 306 eingegeben.
Dem Schreibabtastfensterzeitgenerator und -register 300
ist eine vorgegebene Zeitdauer, wie beispielsweise eine
Sekunde, vorprogrammiert in dem Register 300 eingegeben.
Die Dauer kann fest verdrahtet sein. Die vorgegebene Dauer
ist eine Zeitdauer, innerhalb welcher ein Abtastfenster die
Anzahl von Datenanforderungen abtastet, die durch die Spei
chersteuereinrichtung 106 an den Systemspeicher ausgeführt
worden sind. Allgemeiner ausgedrückt, überwacht die Drosse
lungsentscheidungslogik den Umfang des Lese/Schreib
verkehrs, der an den Systemspeicher erzeugt wird.
Der Schreibübertragungszähler 303 überwacht DRAM-
Steuersignal 308, welches die Anzahl von Dateneinheiten
anzeigt, die zu dem Systemspeicher übertragen werden. Bei
einem Ausführungsbeispiel sind diese Dateneinheiten Quad
worte (QW). Ein Schreib-QW-Schwellwertregister 310 wird
beim Einschalten des Computersystems durch das (nicht
gezeigte) Anfangsladeprogramm des Computersystems mit einem
QW-Schwellwert der Speichersteuereinrichtung vorprogram
miert. Somit wird jedesmal dann, wenn der Computer gestar
tet oder unter Verwendung eines Boot-Programms anfangsgela
den wird, ein vorgegebener QW-Schwellwert in das Schreib-
QW-Schwellwertregister 310 von dem Boot-Programm geladen.
Das Vorprogrammieren von Registern unter Verwendung eines
Boot-Programms ist im Stand der Technik gut bekannt.
Der Schreib-QW-Schwellwert wird auf der Grundlage des
Bandbreitenschwellwerts des Computersystems ausgewählt,
welcher garantiert, daß die Temperatur der Speichersteuer
einrichtung unter dem spezifizierten Wert bleibt. Wenn bei
spielsweise das Abtastfenster eine Sekunde und die maximal
unterstützte Bandbreite 500 Megabyte pro Sekunde sind, dann
ist der gewünschte Schwellwert 500 geteilt durch 8, was
einem Maximalwert von 62,5 Quadworte pro Sekunde ent
spricht.
Die Größe des Abtastfensters wird auf der Grundlage des
sich aus der Änderung der Bandbreite von irgendeinem sta
tionären Zustand zu einer maximalen Bandbreite ergebenden
Temperaturgradienten bestimmt. Wenn beispielsweise der Tem
peraturgradient 10°C/Sekunde, die Temperatur des stationä
ren Zustands 105°C und die maximal spezifizierte Temperatur
115°C ist, dann wird das Abtastfenster auf eine Sekunde
gesetzt.
Am Ende des Schreibabtastfensters vergleicht der
Schreib-QW-Schwellwertkomparator 304 die Anzahl der ausge
führten Schreibdatenübertragungen, wie sie von dem Schreib
übertragungszähler 303 gezählt worden sind, mit der thermi
schen Schwellwertdatenrate, wie sie in dem Schreib-QW-
Schwellwertregister 310 gespeichert ist. Wenn die Anzahl
der Schreibdatenübertragungen, die von dem Schreibübertra
gungszähler 303 innerhalb einer Schreibabtastzeit (wie sie
von dem Schreibabtastfensterzeitgenerator und -register 300
gekennzeichnet wird) gezählt worden ist, größer oder gleich
dem von dem Schreib-QW-Schwellwertregister 310 vorgegebenen
QW-Schwellwertdatenrate ist, dann signalisiert der Schreib-
QW-Schwellwertkomparator 304 der Schreibdrosselungs
zustandssteuereinrichtung 306, mit einem neuen Schreibdros
selungsregime zu beginnen. Anderenfalls überwacht die
Schreibdrosselungslogik neue Schreibübertragungen in einem
Überwachungsregime.
Dann initiiert die Schreibdrosselungszustandssteuer
einrichtung 306 ein neues Schreibdrosselungsregime und
benachrichtigt den Schreibdrosselungszeitgeber 311, auf
eine Schreibdrosselungszeitperiode zuzugreifen, die in
einem Schreibdrosselungszeitregister 309 gespeichert ist.
Die Schreibdrosselungszeitdauer wird beim Einschalten des
Computersystems vorprogrammiert. Darüber hinaus wird bei
einem Ausführungsbeispiel die Schreibdrosselungszeit auf
eine Weise ausgewählt, die die Beziehung zwischen dem Dros
selungsfaktor und der Drosselungsdauer optimiert.
Im allgemeinen gilt, je länger die Drosselungszeit ist,
desto geringer ist die Drosselung, die verwendet werden
muß. Es ist wünschenswert, daß das Drosselungsverhältnis so
gering wie möglich ist, um seinen Einfluß auf den System
betrieb und die Systemleistung zu reduzieren oder sogar zu
minimieren. Darüber hinaus ist es erwünscht, die geringst
mögliche Drosselungszeit zu wählen, um es dem System zu
ermöglichen, in das Überwachungsregime zurückzukehren und
die Notwendigkeit einer Drosselung erneut zu überprüfen.
Somit gibt es einen Punkt, bei welchem der Einfluß auf den
Systembetrieb minimal ist, aber die Drosselungszeit noch
ausreichend gering ist, um eine ausreichende Granularität
zum Überwachen des Verkehrs zu dem Systemspeicher zur Ver
fügung zu stellen.
Beispielsweise sei K das Verhältnis zwischen dem
Abtastfenster und der Drosselungszeit und T.BW die während
des Drosselungsregimes gestattete Bandbreite. Es sei ferner
angenommen, daß die erforderliche unterstützte Bandbreite
500 Megabyte pro Sekunde (MB/S) ist, und es sei eine Maxi
malbandbreite von 800 MB/S angenommen, wenn der Drosse
lungsschwellwert überschritten wird. Mit den gegebenen Grö
ßen wird die folgende Gleichung eingehalten:
wobei
K = 1 | T.BW = 200 MB/S | |
K = 2 | T.BW = 350 MB/S | |
K = 3 | T.BW = 400 MB/S | |
AL=L<. | ||
AL=L CB=3<.@ AL=L CB=3<.@ AL=L CB=3<.@ | K = 63 (Maximum) | T.BW = 500 MB/S |
Um eine gegebene Durchschnittsbandbreite zu erreichen,
die die gewünschte Bauelementetemperatur garantiert, kann
eine tiefere Drosselung für eine kurze Zeit und eine gerin
gere Drosselung für eine längere Zeit durchgeführt werden.
Wie oben veranschaulicht wurde, sei angenommen, daß die
Maximalbandbreite 800 MB/S ist und die gewünschte aufrecht
zuerhaltende Bandbreite 500 MB/S ist. Wenn die Abtastdauer
auf eine Sekunde gesetzt wird, kann die gewünschte auf
rechtzuerhaltende Bandbreite erreicht werden, indem für
eine Dauer von 1 Sekunde auf 200 MB/S heruntergedrosselt
wird oder für 2 Sekunden (K = 2) bei 350 MB/Sekunde
(T.BW = 350 MB/S) gedrosselt wird.
Sobald die Schreibdrosselungszustandssteuereinrichtung
306 ein neues Schreibdrosselungsregime initiiert, wird
einem Schreibdrosselungsüberwachungszeitgeber 314 von der
Schreibdrosselungszustandssteuereinrichtung 306 und dem
Schreibdrosselungszeitgeber 311 signalisiert, daß er eine
neue Schreibdrosselungsüberwachungszeit beginnen soll. Der
Schreibdrosselungsüberwachungszeitgeber 314 beginnt das
Zählen der Zeitdauer, die durch ein Schreibdrosselungsüber
wachungsfensterregister 312 bezeichnet wird.
Somit beginnen sowohl der Schreibdrosselungszeitgeber
311 als auch der Schreibdrosselungsüberwachungszeitgeber
314 das Zählen einer vorgegebenen Zeitdauer. Somit gibt es
bei einem Ausführungsbeispiel für jeweils eine Einheit des
Schreibdrosselungszeitgebers 314 mehrere Schreibdrosse
lungsüberwachungsfenster. Beispielsweise können für jeweils
eine Sekunde einer Schreibdrosselungsüberwachungszeit meh
rere Schreibdrosselungsüberwachungsfenster mit einer Dauer
von jeweils 10 Mikrosekunden vorhanden sein.
Die Drosselung gemäß der vorliegenden Erfindung basiert
auf der Begrenzung der Menge der Datenübertragungen, die
während einer gegebenen Zeitdauer ausgeführt werden dürfen.
Wenn ein Budget von Übertragungen einer Drosselungszeit von
typischerweise einer oder mehreren Sekunden zugewiesen
wird, kann es sein, daß die Übertragungen für eine Zeit
dauer von Abschnitten einer Sekunde oder länger maskiert
werden sollen. Lange Verzögerungen (oder Latenzen) bei der
Ausführung von Zyklen verursachen bestimmte Systembetriebs
ausfälle. Beispielsweise sind Betriebssysteme gegenüber
derartigen langen Verzögerungen empfindlich, wenn sie ver
suchen, die Zeit in Einheiten von weniger als 1 Sekunde zu
messen. Bei einem Ausführungsbeispiel mißt das Betriebs
system typischerweise die Zeit 18 mal in einer Sekunde oder
jeweils alle 55 Mikrosekunden. Die vorliegende Erfindung
weist kleinere Budgets einer kleineren Zeiteinheit in einer
solchen Größenordnung (beispielsweise in der Größenordnung
von Mikrosekunden) zu, so daß der grundlegende System
betrieb nicht gestört wird.
Ein Schreib-Maximum-QW-Zähler 316 empfängt das DRAM-
Steuersignal 313, das die Anzahl von Schreibdatenübertra
gungen kennzeichnet, die während jedes Schreibdrosselungs
überwachungsfensters auftreten. Ein Schreib-Maximum-QW-
Register 318 enthält eine Maximaleinheit von Schreibdaten
übertragungen (Quadworten), welche mit den angesammelten
Schreibdatenübertragungen, wie sie von dem Schreib-Maximum
zähler 316 gezählt worden sind, verglichen wird. Wenn die
akkumulierten Maximum-QW, wie sie von dem Schreib-Maximum-
QW-Zähler 316 gezahlt worden sind, größer oder gleich dem
Schreib-Maximum-QW, wie es in dem Schreib-Maximum-QW-Regi
ster 318 gespeichert ist, sind, so gibt ein Schreib-Maxi
mum-QW-Komparator 320 ein Schreibmaskensteuersignal an den
DRAM-Arbiter aus.
Bei einem Ausführungsbeispiel wird es für jedes
Schreibdrosselungsüberwachungsfenster gestattet, daß ein
Budget eines Schreib-Maximum-QW ausgeführt wird. Wenn mehr
Schreibanforderungen in dem gleichen Schreibdrosselungs
überwachungsfenster eingeführt werden, werden die Schreib
anforderungen von dem DRAM-Arbiter blockiert und bis zum
Ende des aktuellen Schreibdrosselungsüberwachungsfensters
nicht ausgeführt.
Das Schreib-Maximum-QW wird in Übereinstimmung mit dem
Drosselungsüberwachungsfenster und auf der Grundlage der
während der Drosselung gewünschten Bandbreite ausgewählt.
Wenn beispielsweise ein Drosselungsfenster von 10 Mikro
sekunden ausgewählt ist und die gewünschte Drosselungsband
breite 350 MB/Sekunde ist, dann ist das ausgewählte
Schreib-Maximum-QW etwa 437 Quadworte (QW).
Wie zuvor erwähnt, werden die Lesedatenübertragungen
auf die gleiche Weise wie die Schreibdatenübertragungen
verarbeitet. Insbesondere ist ein Leseabtastfenster eine
Zeitdauer, während welcher ein Leseübertragungszähler den
Umfang des Leseverkehrs überwacht, der zu dem System
speicher erzeugt wird. Das Leseabtastfenster ist dem Über
wachungsregime zugeordnet. Am Ende des Leseabtastfensters
wird die akkumulierte Anzahl von QW-Leseoperationen aus dem
Systemspeicher mit einem vorgegebenen Lese-QW-Schwellwert
verglichen.
Sofern die akkumulierte Anzahl von QW größer als der
Lese-QW-Schwellwert ist, so gibt es ein Erfordernis, die
Leseanforderungen zu drosseln, und es wird in das Drosse
lungsregime eingetreten. Anderenfalls überwacht die vorlie
gende Erfindung erneut die Leseanforderungen.
Sobald es die Notwendigkeit gibt, Leseanforderungen zu
drosseln, tritt die DRAM-Steuereinrichtung in das Drosse
lungsregime ein. Die DRAM-Steuereinrichtung bleibt in dem
Drosselungsregime für eine Dauer einer vorgegebenen Lese
drosselungszeit, die in einem Lesedrosselungszeitregister
gespeichert ist. Bei einem Ausführungsbeispiel ist das
Drosselungsregime ferner in eine Mehrzahl von Lesedrosse
lungsüberwachungsfenstern unterteilt. Wenn beispielsweise
eine Lesedrosselungszeit einige wenige Sekunden beträgt,
kann das Lesedrosselungsüberwachungsfenster auf 10 Mikro
sekunden gesetzt werden.
Schließlich weist die vorliegende Erfindung jedem Lese
drosselungsüberwachungsfenster ein Budget von Lese-Maximum-
QW zu, die durchgeführt werden können. Wenn mehr Leseanfor
derungen in dem gleichen Lesedrosselungsüberwachungsfenster
eingeführt werden, werden die Anforderungen von dem DRAM-
Arbiter blockiert und bis zum Ende des aktuellen Lesedros
selungsüberwachungsfensters nicht ausgeführt.
Fig. 3c veranschaulicht die Maskierung von Lese- und
Schreibanforderungen, die in der Drosselungsentscheidungs
logik durchgeführt wird, bevor die maskierten Anforderungen
dem DRAM-Arbiter eingegeben werden. Schreibpufferanforde
rungen 330 werden in zwei UND-Gattern zusammen mit einer
Maske Eins (1) zum Maskieren anhängiger Schreibpufferanfor
derungen und einer Maske Null (0) zum Maskieren aktueller
Schreibpufferanforderungen eingegeben. Eine Eingabe von
Eins wird für die jeweiligen Masken durchgeführt, wenn eine
Drosselung gesperrt ist, und eine Eingabe von Null wird für
die jeweiligen Masken ausgeführt, wenn eine Drosselung
freigegeben ist. Die jeweiligen Schreibanforderungen werden
dann zu dem DRAM-Arbiter weitergeleitet. In ähnlicher Weise
werden bei einer gegebenen AGP-Kommandowarteschlange 340
die Eingaben den UND-Gattern zur Verfügung gestellt, welche
außerdem eine Maske Eins (1) für anhängige AGP-Kommando
warteschlangenanforderungen und eine Maske Null (0) für
aktuelle AGP-Kommandowarteschlangenanforderungen aufnehmen.
Die jeweiligen AGP-Anforderungen werden dann an den DRAM-
Arbiter weitergeleitet. Andere Maskierschemata können
benutzt werden und sind für den Fachmann klar.
Fig. 4a und 4b sind Ablaufdiagramme, die die grund
sätzlichen Schritte veranschaulichen, denen ein Ausfüh
rungsbeispiel der vorliegenden Erfindung folgt. Die in den
Fig. 4a und 4b veranschaulichten Ablaufdiagramme sind
für Schreibdatenanforderungen veranschaulicht; jedoch kön
nen Lesedatenanforderungen ebenfalls auf die gleiche Weise,
wie sie in den Ablaufdiagrammen veranschaulicht ist, verar
beitet werden.
Im Schritt 401 wird eine Schreibabtastzeit, die in dem
Schreibabtastfensterzeitgenerator und -register 300 gespei
chert ist, in einen Schreibübertragungszähler 302, einen
Schreibquadwort(QW)-Schwellwertkomparator 304 und eine
Schreibdrosselungszustandssteuereinrichtung 306 eingegeben.
Der Schreibübertragungszähler 302 zählt die Anzahl von
Schreibanforderungen, die von der Speichersteuereinrichtung
während des Schreibabtastfensters unterstützt werden.
Im Schritt 402, am Ende des Schreibabtastfensters, ver
gleicht der Schreib-QW-Schwellwertkomparator 304 die Anzahl
der Schreibdatenübertragungen, die von dem Schreibübertra
gungszähler 302 gezählt worden sind, mit der thermischen
Schwellwertdatenrate, wie sie in einem Schreib-QW-Schwell
wertregister 310 gespeichert ist. Im Schritt 403, wenn die
Anzahl der von dem Schreibübertragungszähler 302 während
des Schreibabtastfensters gezählten Schreibdatenübertragun
gen größer als oder gleich dem von dem Schreib-QW-Schwell
wert-Register 310 vorgegebenen QW-Schwellwert ist, signali
siert dann im Schritt 404 der Schreib-QW-Schwellwertkom
parator 304 der Schreibdrosselungszustandssteuereinrichtung
306, daß sie ein neues Schreibdrosselungsregime initiieren
soll. Anderenfalls, im Schritt 405, überwacht die Schreib
drosselungsentscheidungslogik wiederum Schreibübertragun
gen.
Im Schritt 406 tritt die Schreibdrosselungszustands
steuereinrichtung 306 in ein neues Schreibdrosselungsregime
ein und benachrichtigt den Schreibdrosselungszeitgeber 311,
auf eine in einem Schreibdrosselungszeitregister 309
gespeicherte Schreibdrosselungsschreibdauer zuzugreifen. Im
Schritt 407 wird dem Schreibdrosselungsüberwachungs
zeitgeber 314 durch die Schreibdrosselungszustandssteuer
einrichtung 306 und den Schreibdrosselungszeitgeber 311
signalisiert, daß er auf eine Schreibdrosselungsüberwa
chungszeit aus einem Schreibdrosselungsüberwachungs
fensterregister 312 zugreifen soll. Im Schritt 408 beginnt
der Schreibdrosselungsüberwachungszeitgeber 314, die von
dem Schreibdrosselungsüberwachungsfensterregister 312
gekennzeichnete Zeitdauer zu zählen.
Im Schritt 409 empfängt der Schreib-Maximum-QW-Zähler
316 das DRAM-Steuersignal 313, das die Anzahl von Schreib
datenübertragungen kennzeichnet, die während jedes Schreib
drosselungsüberwachungsfensters auftreten. Im Schritt 410
wird die Maximaleinheit von Datenschreibübertragungen in
einem Schreib-Maximum-QW-Register 318 mit den akkumulierten
Schreibdatenübertragungen, wie sie von einem Schreib-Maxi
mum-QW-Zähler 316 gezählt worden sind, verglichen. Im
Schritt 411, wenn das akkumulierte Maximum-QW, wie es durch
den Schreib-Maximum-QW-Zähler 316 gezählt worden ist, grö
ßer als oder gleich dem in dem Schreib-Maximum-QW-Register
318 gespeicherten Schreib-Maximum-QW ist, dann gibt im
Schritt 412 ein Schreib-Maximum-QW-Komparator 320 ein
Schreibmaskensteuersignal aus, um die Schreibanforderungen
zu dem DRAM-Arbiter zu maskieren. Anderenfalls wird im
Schritt 413 die Drosselungsentscheidungslogik die Schreib
übertragungen erneut überwachen.
Es wurden ein Verfahren und Einrichtungen beschrieben
zum Steuern der Kernlogiktemperatur, um thermische Über
beanspruchungen der Kernlogik zu verhindern. Die Schreib
zugriffsrate stellt eine Steuerung der thermischen Bedin
gungen der Speichersteuereinrichtung zur Verfügung, während
die Lesezugriffsrate eine Steuerung der DRAM-Bauelemente
bereitstellt. Somit stellt die vorliegende Erfindung eine
unabhängige Überwachung und Steuerung der Lese- und
Schreibzugriffsraten zur Verfügung. Wenn beispielsweise die
Schreibdrosselungsbedingungen erfüllt sind, wie es durch
die Schreibdrosselungsentscheidungslogik festgestellt wird,
blockiert die vorliegende Erfindung Schreiboperationen,
aber versucht, Leseanforderungen solange zu bedienen, bis
die Lesedrosselungsfunktion freigegeben wird.
Während bestimmte Ausführungsbeispiele im Detail
beschrieben und in den begleitenden Zeichnungen gezeigt
worden sind, ist es klar, daß derartige Ausführungsbei
spiele bloß in einem veranschaulichenden und nicht in einem
einschränkenden Sinne für die breite Erfindung zu verstehen
sind, und daß diese Erfindung nicht auf die gezeigten und
beschriebenen speziellen Ausführungsbeispiele und Konstruk
tionen beschränkt ist, da zahlreiche andere Modifikationen
Fachleuten in den Sinn kommen werden.
Claims (31)
1. Verfahren zum Regeln der Temperatur einer Kernlogik,
wobei die Kernlogik eine Speichersteuereinrichtung aufweist,
die mit einem Systemspeicher gekoppelt ist, wobei:
die Zugriffsrate bestimmt wird (401-403), mit der die Kernlogik auf den Systemspeicher zugreift; und
die Temperatur der Kernlogik durch Einstellen der Zugriffsrate (404-412) geregelt wird.
die Zugriffsrate bestimmt wird (401-403), mit der die Kernlogik auf den Systemspeicher zugreift; und
die Temperatur der Kernlogik durch Einstellen der Zugriffsrate (404-412) geregelt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Anzahl von an den Systemspeicher gerichteten Daten
übertragungsanforderungen gezählt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,
daß zuvor ein Abtastfenster programmiert wird (402), wobei
die Anzahl von an den Systemspeicher gerichteten Datenüber
tragungsanforderungen während des Abtastfensters gezählt
wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet,
daß zuvor ein Datenschwellwert programmiert wird, welcher
eine maximale Datenmenge angibt, welche im Abtastfenster
übertragen werden kann, ohne daß eine thermische Überbela
stung der Kernlogik auftritt.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß die Anzahl von Datenübertragungsanforderungen mit dem
Datenschwellwert verglichen wird (403).
6. Verfahren nach Anspruch 4, dadurch gekennzeich
net, daß eine Drosselung von Datenübertragungsanforderungen
initiiert wird (404), sofern die Anzahl von Datenübertra
gungsanforderungen größer als der Datenschwellwert ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet,
daß zuvor eine Drosselungszeitdauer programmiert wird (401-403),
während welcher die Anzahl von Datenübertragungsanfor
derungen während des Drosselns überwacht wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet,
daß zuvor ein Drosselungsüberwachungsfenster programmiert
wird, welches eine Untereinheit der Drosselungszeitdauer ist
und in welchem die Anzahl der Datenübertragungsanforderungen
überwacht wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet,
daß die Anzahl von Datenübertragungen, die während des Dros
selungsüberwachungsfensters ausgeführt werden, überwacht
wird (409).
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet,
daß zuvor ein Wert programmiert wird, welcher die maximale
Anzahl von Datenübertragungen im Drosselungsüberwachungsfen
ster, deren Verarbeitung ermöglicht wird, ohne daß eine
thermische Überbelastung der Kernlogik auftritt, kennzeich
net.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet,
daß die Anzahl der während des Drosselungsüberwachungsfen
sters ausgeführten Datenübertragungen mit dem Wert vergli
chen wird (410, 411).
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet,
daß ein Maskensteuersignal zum Maskieren der nächsten Daten
übertragungsanforderung erzeugt wird (412).
13. Speichersteuereinrichtung zur Ausführung eines
Verfahrens nach Anspruch 1, aufweisend:
eine Drosselungsentscheidungslogik (200), die so ausge bildet ist, daß sie ein Maskensteuersignal zum Maskieren von Datenübertragungsanforderungen an einen Systemspeicher (102) erzeugt, bevor die Temperatur der Spei chersteuereinrichtung (106) über eine vorgegebene Maximal temperatur ansteigt; und
eine mit der Drosselungsentscheidungslogik (200) gekop pelte DRAM-Steuereinrichtung (208), wobei die DRAM-Steuer einrichtung (208) so ausgebildet ist, daß sie DRAM-Steuersi gnale (216; 308; 313) an die Drosselungsentscheidungslogik (200) er zeugt, die verarbeitete Datenübertragungsanforderungen kenn zeichnen.
eine Drosselungsentscheidungslogik (200), die so ausge bildet ist, daß sie ein Maskensteuersignal zum Maskieren von Datenübertragungsanforderungen an einen Systemspeicher (102) erzeugt, bevor die Temperatur der Spei chersteuereinrichtung (106) über eine vorgegebene Maximal temperatur ansteigt; und
eine mit der Drosselungsentscheidungslogik (200) gekop pelte DRAM-Steuereinrichtung (208), wobei die DRAM-Steuer einrichtung (208) so ausgebildet ist, daß sie DRAM-Steuersi gnale (216; 308; 313) an die Drosselungsentscheidungslogik (200) er zeugt, die verarbeitete Datenübertragungsanforderungen kenn zeichnen.
14. Speichersteuereinrichtung nach Anspruch 13, gekenn
zeichnet durch mehrere Datenübertragungsanforderungswarte
schlangen (202-206), die mit der Drosselungsentscheidungs
logik (200) gekoppelt sind, wobei die mehreren Datenübertra
gungswarteschlangen (202-206) so ausgebildet sind, daß sie
die Datenübertragungsanforderungen halten, die von Einrich
tungen (108, 110, 112) erzeugt worden sind.
15. Speichersteuereinrichtung nach Anspruch 14, dadurch
gekennzeichnet, daß die Einrichtungen (108, 110, 112) eine zentrale Verar
beitungseinheit (108) umfassen.
16. Speichersteuereinrichtung nach Anspruch 14, dadurch
gekennzeichnet, daß die Einrichtungen (108, 110, 112) einen AGP-Port (110)
umfassen.
17. Speichersteuereinrichtung nach Anspruch 14, dadurch
gekennzeichnet, daß die Einrichtungen (108, 110, 112) eine PCI-Einrichtung
(112) umfassen.
18. Speichersteuereinrichtung nach Anspruch 13, dadurch
gekennzeichnet, daß die Drosselungsentscheidungslogik (200)
eine Lesedrosselungsentscheidungslogik (212) aufweist, die
so ausgebildet ist, daß sie ein Maskensteuersignal erzeugt,
um Lesedatenübertragungsanforderungen an den Systemspeicher
zu maskieren, bevor die Temperatur der Speichersteuerein
richtung über eine vorgegebene Maximaltemperatur ansteigt.
19. Speichersteuereinrichtung nach Anspruch 13, dadurch
gekennzeichnet, daß die Drosselungsentscheidungslogik (200)
eine Schreibdrosselungsentscheidungslogik (210) aufweist,
die so ausgebildet ist, daß sie ein Maskensteuersignal zum
Maskieren von Schreibdatenübertragungsanforderungen an den
Systemspeicher erzeugt, bevor die Temperatur der Speicher
steuereinrichtung über eine vorgegebene Maximaltemperatur
ansteigt.
20. Speichersteuereinrichtung nach Anspruch 13, gekenn
zeichnet durch einen Abtastfensterzeitgenerator (300), der
so ausgebildet ist, daß er ein Abtastfenster erzeugt, wel
ches eine Zeitdauer kennzeichnet, während welcher die Anzahl
von verarbeiteten Datenübertragungsanforderungen durch Über
wachen der DRAM-Steuersignale (216; 308), die die verarbei
teten Datenübertragungsanforderungen kennzeichnen, gezählt
wird.
21. Speichersteuereinrichtung nach Anspruch 20, gekenn
zeichnet durch einen mit dem Abtastfensterzeitgenerator
(300) gekoppelten Übertragungszähler (303), wobei der Über
tragungszähler (303) so ausgebildet ist, daß er das DRAM-
Steuersignal (216; 308) überwacht, um die Anzahl von während
des Abtastfensters verarbeiteten Datenübertragungsanforde
rungen zu bestimmen.
22. Speichersteuereinrichtung nach Anspruch 21, gekenn
zeichnet durch einen Quadwort-Schwellwertkomparator (304),
der mit dem Abtastfensterzeitgenerator (300) und dem Über
tragungszähler (303) gekoppelt ist, wobei der Quadwort-
Schwellwertkomparator (304) so ausgebildet ist, daß er die
Anzahl von während des Abtastfensters verarbeiteten Datenan
forderungen mit einem Quadwortschwellwert vergleicht.
23. Speichersteuereinrichtung nach Anspruch 22, gekenn
zeichnet durch ein Quadwortschwellwertregister (310), das
mit dem Quadwortschwellwertkomparator (304) gekoppelt ist,
wobei das Quadwortschwellwertregister (310) so ausgebildet
ist, daß es den Quadwortschwellwert hält.
24. Speichersteuereinrichtung nach Anspruch 23, gekenn
zeichnet durch eine Drosselungszustandssteuereinrichtung
(306), die mit dem Abtastfensterzeitgenerator (300) und dem
Quadwortschwellwertkomparator (304) gekoppelt ist, wobei die
Drosselungszustandssteuereinrichtung (306) so ausgebildet
ist, daß sie ein Drosselungsregime (302) initiiert, sofern
der Quadwortschwellwertkomparator (304) feststellt, daß die
Anzahl von während des Abtastfensters verarbeiteten Datenan
forderungen größer als oder gleich dem Quadwortschwellwert
ist.
25. Speichersteuereinrichtung nach Anspruch 24, gekenn
zeichnet durch einen Drosselungszeitgeber (311), der mit der
Drosselungszustandssteuereinrichtung (306) gekoppelt ist,
wobei der Drosselungszeitgeber (311) so ausgebildet ist, daß
er eine Drosselungszeitdauer zählt, während welcher es einer
vorgegebenen Maximalanzahl von Datenübertragungsanforderun
gen in Quadworten gestattet wird, durch die Speichersteuer
einrichtung (106) verarbeitet zu werden.
26. Speichersteuereinrichtung nach Anspruch 25, gekenn
zeichnet durch ein Drosselungszeitregister (309), das mit
dem Drosselungszeitgeber (311) gekoppelt ist, wobei das
Drosselungszeitregister (309) so ausgebildet ist, daß es ei
nen Wert hält, der die Maximalanzahl von Datenübertragungs
anforderungen in Quadworten kennzeichnet, deren Verarbeitung
durch die Speichersteuereinrichtung (106) während der Drosselungs
zeitdauer gestattet wird.
27. Speichersteuereinrichtung nach Anspruch 26, gekenn
zeichnet durch einen Drosselungsüberwachungszeitgeber (314),
der mit dem Drosselungszeitgeber (311) gekoppelt ist, wobei
der Drosselungsüberwachungszeitgeber (314) so ausgebildet
ist, daß er eine Drosselungsüberwachungsfensterzeitdauer
zählt, welche eine Untereinheit der Drosselungszeitdauer
ist.
28. Speichersteuereinrichtung nach Anspruch 27, gekenn
zeichnet durch ein Drosselungsüberwachungsfensterregister
(312), das mit dem Drosselungsüberwachungszeitgeber (314)
gekoppelt ist, wobei das Drosselungsüberwachungsfensterregi
ster (312) so ausgebildet ist, daß es die Drosselungsüberwa
chungsfensterzeitdauer hält.
29. Speichersteuereinrichtung nach Anspruch 28, gekenn
zeichnet durch einen Maximumquadwortzähler (316), der mit
dem Drosselungsüberwachungszeitgeber (314) gekoppelt ist,
wobei der Maximumquadwortzähler (316) so ausgebildet ist,
daß er das DRAM-Steuersignal (313) empfängt, das die verar
beiteten Datenübertragungsanforderungen kennzeichnet, und
die Anzahl der während jedes Drosselungsüberwachungsfensters
der Drosselungszeit verarbeiteten Datenübertragungsanforde
rungen zählt.
30. Speichersteuereinrichtung nach Anspruch 29, gekenn
zeichnet durch einen Quadwortkomparator (320), der mit dem
Maximumquadwortzähler (316) gekoppelt ist, wobei der Quad
wortkomparator (320) so ausgebildet ist, daß er die Anzahl
von Datenübertragungsanforderungen, die während jedes der
Drosselungsüberwachungsfenster der Drosselungszeit verarbei
tet werden, mit einem Maximumquadwortwert vergleicht, wobei
der Quadwortkomparator ein Maskensteuersignal
erzeugt, wenn die Anzahl von verarbeiteten Daten
übertragungsanforderungen größer als oder gleich dem Maxi
mumquadwortwert ist.
31. Speichersteuereinrichtung nach Anspruch 30, gekenn
zeichnet durch ein Maximumquadwortregister (318), das mit
dem Quadwortkomparator (320) gekoppelt ist, wobei das Maxi
mumquadwortregister (318) so ausgebildet ist, daß es den Ma
ximumquadwortwert hält.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/979,835 US5953685A (en) | 1997-11-26 | 1997-11-26 | Method and apparatus to control core logic temperature |
PCT/US1998/018644 WO1999027429A1 (en) | 1997-11-26 | 1998-09-08 | A method and apparatus to control core logic temperature |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19882858T1 DE19882858T1 (de) | 2001-07-12 |
DE19882858C2 true DE19882858C2 (de) | 2003-08-21 |
Family
ID=25527182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19882858T Expired - Fee Related DE19882858C2 (de) | 1997-11-26 | 1998-09-08 | Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur |
Country Status (5)
Country | Link |
---|---|
US (2) | US5953685A (de) |
AU (1) | AU9224998A (de) |
DE (1) | DE19882858C2 (de) |
TW (1) | TW405066B (de) |
WO (1) | WO1999027429A1 (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953685A (en) * | 1997-11-26 | 1999-09-14 | Intel Corporation | Method and apparatus to control core logic temperature |
US6784890B1 (en) * | 1998-03-02 | 2004-08-31 | Intel Corporation | Accelerated graphics port expedite cycle throttling control mechanism |
US6535798B1 (en) * | 1998-12-03 | 2003-03-18 | Intel Corporation | Thermal management in a system |
US6304946B1 (en) * | 1999-07-01 | 2001-10-16 | Emc Corporation | System and method for optimizing cache write backs to disks |
US7050959B1 (en) | 1999-12-23 | 2006-05-23 | Intel Corporation | Dynamic thermal management for integrated circuits |
JP2001290697A (ja) * | 2000-04-06 | 2001-10-19 | Hitachi Ltd | 情報処理システム |
US6907421B1 (en) * | 2000-05-16 | 2005-06-14 | Ensim Corporation | Regulating file access rates according to file type |
US6662278B1 (en) * | 2000-09-22 | 2003-12-09 | Intel Corporation | Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system |
US6701272B2 (en) * | 2001-03-30 | 2004-03-02 | Intel Corporation | Method and apparatus for optimizing thermal solutions |
US20030025698A1 (en) * | 2001-08-01 | 2003-02-06 | Riemens Abraham Karel | Programmed stall cycles slow-down video processor |
KR20030043299A (ko) * | 2001-11-27 | 2003-06-02 | 주식회사 엘지이아이 | 오디오 데이터와 부가 데이터간의 동기 기록 관리 및재생방법 |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
JP4323745B2 (ja) * | 2002-01-15 | 2009-09-02 | 三洋電機株式会社 | 記憶装置 |
US6859868B2 (en) | 2002-02-07 | 2005-02-22 | Sun Microsystems, Inc. | Object addressed memory hierarchy |
JP3971941B2 (ja) | 2002-03-05 | 2007-09-05 | 三洋電機株式会社 | データ記憶装置 |
JP4387087B2 (ja) * | 2002-07-25 | 2009-12-16 | 三洋電機株式会社 | データ記憶装置 |
US7076672B2 (en) * | 2002-10-14 | 2006-07-11 | Intel Corporation | Method and apparatus for performance effective power throttling |
US7013406B2 (en) | 2002-10-14 | 2006-03-14 | Intel Corporation | Method and apparatus to dynamically change an operating frequency and operating voltage of an electronic device |
US20040117677A1 (en) * | 2002-12-13 | 2004-06-17 | Sanjeev Jahagirdar | Throttle of an integrated device |
US7080217B2 (en) * | 2003-03-31 | 2006-07-18 | Intel Corporation | Cycle type based throttling |
US6871119B2 (en) * | 2003-04-22 | 2005-03-22 | Intel Corporation | Filter based throttling |
US20040215912A1 (en) * | 2003-04-24 | 2004-10-28 | George Vergis | Method and apparatus to establish, report and adjust system memory usage |
US7269481B2 (en) * | 2003-06-25 | 2007-09-11 | Intel Corporation | Method and apparatus for memory bandwidth thermal budgetting |
EP1646950B1 (de) * | 2003-07-07 | 2008-01-16 | Koninklijke Philips Electronics N.V. | Datenverarbeitungssystem und verfahren zur datenverarbeitung |
US7054968B2 (en) * | 2003-09-16 | 2006-05-30 | Denali Software, Inc. | Method and apparatus for multi-port memory controller |
US20050068831A1 (en) * | 2003-09-30 | 2005-03-31 | Johnson Brian P. | Method and apparatus to employ a memory module information file |
US7318130B2 (en) * | 2004-06-29 | 2008-01-08 | Intel Corporation | System and method for thermal throttling of memory modules |
US7664970B2 (en) * | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US7451333B2 (en) * | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US20060137377A1 (en) * | 2004-12-29 | 2006-06-29 | Samson Eric C | Method and apparatus for external processor thermal control |
US7596707B1 (en) * | 2005-05-06 | 2009-09-29 | Sun Microsystems, Inc. | System and method for efficient power throttling in multiprocessor chip |
US7441949B2 (en) * | 2005-12-16 | 2008-10-28 | Micron Technology, Inc. | System and method for providing temperature data from a memory device having a temperature sensor |
US8118483B2 (en) | 2006-06-21 | 2012-02-21 | Intel Corporation | Thermal sensor having toggle control |
US20080059658A1 (en) * | 2006-06-29 | 2008-03-06 | Nokia Corporation | Controlling the feeding of data from a feed buffer |
US7698578B2 (en) * | 2006-06-29 | 2010-04-13 | Nokia Corporation | Temperature-dependent power adjustment of transmitter |
JP4841358B2 (ja) * | 2006-08-18 | 2011-12-21 | 富士通株式会社 | リクエスト送信制御装置およびリクエスト送信制御方法 |
US8050177B2 (en) * | 2008-03-31 | 2011-11-01 | Intel Corporation | Interconnect bandwidth throttler |
WO2010037117A1 (en) | 2008-09-29 | 2010-04-01 | Nirvanix, Inc. | Client application program interface for network-attached storage system |
US9354690B1 (en) | 2011-03-31 | 2016-05-31 | Adtran, Inc. | Systems and methods for adjusting core voltage to optimize power savings |
US8903994B2 (en) * | 2012-03-20 | 2014-12-02 | Drw Technologies Llc | Read-throttled input/output scheduler |
US9448941B1 (en) | 2012-12-31 | 2016-09-20 | Emc Corporation | System and method for cache management |
US9760136B2 (en) * | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US10088880B2 (en) | 2015-08-27 | 2018-10-02 | Intel Corporation | Thermal monitoring of memory resources |
US10048874B1 (en) * | 2016-06-29 | 2018-08-14 | EMC IP Holding Company LLC | Flow control with a dynamic window in a storage system with latency guarantees |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08335143A (ja) * | 1995-06-07 | 1996-12-17 | Internatl Business Mach Corp <Ibm> | 直接アクセス記憶装置(dasd)アレイのための温度制御システム及び温度制御方法 |
US5590061A (en) * | 1994-05-12 | 1996-12-31 | Apple Computer, Inc. | Method and apparatus for thermal management in a computer system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265099A (en) * | 1991-02-28 | 1993-11-23 | Feinstein David Y | Method for heating dynamic memory units whereby |
US5721837A (en) * | 1993-10-28 | 1998-02-24 | Elonex I.P. Holdings, Ltd. | Micro-personal digital assistant including a temperature managed CPU |
US5798918A (en) * | 1996-04-29 | 1998-08-25 | International Business Machines Corporation | Performance-temperature optimization by modulating the switching factor of a circuit |
US5784328A (en) * | 1996-12-23 | 1998-07-21 | Lsi Logic Corporation | Memory system including an on-chip temperature sensor for regulating the refresh rate of a DRAM array |
US5835885A (en) * | 1997-06-05 | 1998-11-10 | Giga-Byte Technology Co., Ltd. | Over temperature protection method and device for a central processing unit |
US5953685A (en) * | 1997-11-26 | 1999-09-14 | Intel Corporation | Method and apparatus to control core logic temperature |
-
1997
- 1997-11-26 US US08/979,835 patent/US5953685A/en not_active Expired - Lifetime
- 1997-12-15 US US08/990,711 patent/US6173217B1/en not_active Expired - Lifetime
-
1998
- 1998-09-08 DE DE19882858T patent/DE19882858C2/de not_active Expired - Fee Related
- 1998-09-08 WO PCT/US1998/018644 patent/WO1999027429A1/en active Application Filing
- 1998-09-08 AU AU92249/98A patent/AU9224998A/en not_active Abandoned
- 1998-11-20 TW TW087119273A patent/TW405066B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590061A (en) * | 1994-05-12 | 1996-12-31 | Apple Computer, Inc. | Method and apparatus for thermal management in a computer system |
JPH08335143A (ja) * | 1995-06-07 | 1996-12-17 | Internatl Business Mach Corp <Ibm> | 直接アクセス記憶装置(dasd)アレイのための温度制御システム及び温度制御方法 |
Also Published As
Publication number | Publication date |
---|---|
TW405066B (en) | 2000-09-11 |
AU9224998A (en) | 1999-06-15 |
US5953685A (en) | 1999-09-14 |
US6173217B1 (en) | 2001-01-09 |
WO1999027429A1 (en) | 1999-06-03 |
DE19882858T1 (de) | 2001-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19882858C2 (de) | Ein Verfahren und Einrichtungen zum Steuern der Kernlogiktemperatur | |
DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
US6470238B1 (en) | Method and apparatus to control device temperature | |
DE60215417T2 (de) | Netzwerkschaltung | |
DE19983026B4 (de) | Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu | |
DE69924039T2 (de) | Verfahren und vorrichtung zur arbitrierung in einer einheitlichen speicherarchitektur | |
DE60013470T2 (de) | Gerät zur initialisierung einer rechnerschnittstelle | |
DE19580707C2 (de) | PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus | |
DE102009041723B4 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
DE69736872T2 (de) | Datenverarbeitungssystem | |
DE102019116002A1 (de) | Verfahren und vorrichtungen zum abschwächen von temperaturerhöhungen in einem solid-state-gerät (ssd) | |
DE112005003324B4 (de) | Verfahren und Vorrichtung zur externen, thermischen Steuerung eines Prozessors | |
DE60125112T2 (de) | PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung | |
DE602004012310T2 (de) | Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem | |
CH619309A5 (de) | ||
DE10243694B4 (de) | Vorrichtung und Verfahren zur Regelung der Leistung und Taktgeschwindigkeit eines elektronischen Systems | |
DE4018481C2 (de) | ||
DE102009049078A1 (de) | Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen | |
DE60026068T2 (de) | System für externe transaktionen mit dynamischen prioritäten | |
DE112012004456B4 (de) | Verfahren und Vorrichtung zum Planen von Arbeitsspeicher-Auffrischungsoperationen unter Einbeziehung von Engergiezuständen | |
DE60132424T2 (de) | Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung | |
DE602005006338T2 (de) | Vorrichtung und Verfahren zur Datenübertragungsverarbeitung | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE102007010584A1 (de) | Handhabung von unzulässigen Befehlen auf der Befehlsdecoderstufe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8607 | Notification of search results after publication | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |