DE102012215192A1 - Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems - Google Patents

Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems Download PDF

Info

Publication number
DE102012215192A1
DE102012215192A1 DE102012215192A DE102012215192A DE102012215192A1 DE 102012215192 A1 DE102012215192 A1 DE 102012215192A1 DE 102012215192 A DE102012215192 A DE 102012215192A DE 102012215192 A DE102012215192 A DE 102012215192A DE 102012215192 A1 DE102012215192 A1 DE 102012215192A1
Authority
DE
Germany
Prior art keywords
memory
memory module
overheated
module
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102012215192A
Other languages
English (en)
Other versions
DE102012215192B4 (de
Inventor
Cary L. Bates
Nicholas P. Johnson
Justin K. King
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012215192A1 publication Critical patent/DE102012215192A1/de
Application granted granted Critical
Publication of DE102012215192B4 publication Critical patent/DE102012215192B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

Ein Computersystem umfasst eine Reihe von Speichermodulen und Temperaturfühlern. Jeder Temperaturfühler misst eine Temperatur eines Speichermoduls. In einem solchen Computersystem stellt ein Speicherbereiniger während der Speicherbereinigung fest, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, weist der Speicherbereiniger einen oder mehrere aktive Speicherbereiche in dem überhitzten Speichermodul einem nicht überhitzten Speichermodul zu. Das Neuzuweisen der aktiven Speicherbereiche umfasst das Kopieren der Inhalte der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Das Gebiet der Erfindung ist die Datenverarbeitung oder insbesondere Verfahren, Vorrichtungen und Produkte zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems.
  • Beschreibung des Stands der Technik
  • Die Entwicklung des EDVAC-Computersystems im Jahr 1948 wird oft als der Beginn des Computerzeitalters bezeichnet. Seit dieser Zeit haben sich Computersysteme zu äußert komplizierten Geräten entwickelt. Heutige Computer sind wesentlich komplexer als die frühen Systeme wie beispielsweise der EDVAC. Computersysteme bestehen typischerweise aus einer Kombination von Hardware- und Software-Komponenten, Anwendungsprogrammen, Betriebssystemen, Prozessoren, Bussen, Speicher, Eingabe-/Ausgabeeinheiten usw. Mit den Fortschritten in der Halbleiterverarbeitung und Computerarchitektur wird die Leistungsfähigkeit des Computers immer weiter vorangetrieben, technisch ausgereifte Computer-Software wurde entwickelt, um den Vorteil der höheren Leistungsfähigkeit der Hardware zu nutzen, so dass es heute Computersysteme gibt, die wesentlich leistungsfähiger sind als noch vor wenigen Jahren.
  • Während des Betriebs eines Computers können Speichermodule wie beispielsweise Dual In-line Memory Modules (DIMMs, Speichermodule mit zwei Kontaktreihen) große Hitze erzeugen. Hitzeentwicklung kann mit der Zeit zu einer Beschädigung und schließlich zum Ausfall der DIMMs führen. Die gegenwärtige Programmausführung kann zu einer ungleichmäßigen Verteilung der Hitzeentwicklung unter vielen DIMMs oder sogar unter Modulen eines DIMM führen. Das bedeutet, dass auf eine Teilmenge von DIMMs in einem Speichersystem, das eine Reihe von DIMMs umfasst, eventuell öfter zugegriffen wird als auf andere DIMMs in dem System. Dieser ungleichmäßige Zugriff kann zur Folge haben, dass die Teilmenge der DIMMs mit der Zeit wesentlich mehr Hitze als die anderen DIMMs erzeugt. Die ungleichmäßige Hitzeentwicklung kann bei der Teilmenge von DIMMs zu einer schnelleren Beschädigung führen als bei den anderen DIMMs in dem System. Das heißt, dass die Lebensdauer jedes DIMM aus der Teilmenge der DIMMs, auf die häufiger zugegriffen wird, kürzer ist als die Lebensdauer jedes der anderen DIMMs. Es wäre daher nützlich, die Hitzeentwicklung unter allen DIMMs in einem Teilsystem ausgewogener, gleichmäßiger zu verteilen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In dieser Beschreibung werden Verfahren, Vorrichtungen und Produkte zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems vorgestellt. Das Computersystem umfasst eine Reihe von Speichermodulen und eine Reihe von Temperaturfühlern, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst. Ein Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung umfasst: Feststellen durch einen Speicherbereiniger (garbage collector) während der Speicherbereinigung (garbage collection), ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, und Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul, wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist. Ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul gemäß Ausführungsformen der vorliegenden Erfindung umfasst ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  • Die Erfindung bezieht sich bei einem Aspekt auf ein Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und das Verfahren Folgendes umfasst:
    Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und
    wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  • Die Erfindung bezieht sich bei einem weiteren Aspekt auf eine Vorrichtung zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und die Vorrichtung einen Computerprozessor und einen Computerspeicher umfasst, der funktionsmäßig mit dem Computerprozessor verbunden ist, wobei der Computerspeicher über darin enthaltene Computerprogrammbefehle verfügt, die, wenn sie von dem Computerprozessor ausgeführt werden, die Vorrichtung veranlassen, folgende Schritte durchzuführen:
    Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und
    wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  • Die Erfindung bezieht sich bei einem weiteren Aspekt auf ein Computerprogrammprodukt zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und das Computerprogrammprodukt auf einem computerlesbaren Medium angeordnet ist, wobei das Computerprogrammprodukt Computerprogrammbefehle umfasst, die, wenn sie ausgeführt werden, einen Computer veranlassen, folgende Schritte durchzuführen:
    Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und
    wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  • Bei einer Ausführungsform umfasst das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes:
    Anfordern einer virtuellen Adresse von einem Betriebssystem des Computersystems, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird; und
    Verwenden der virtuellen Adresse, um Speicher in dem anderen Speichermodul zuzuweisen.
  • Bei einer weiteren Ausführungsform umfasst das Computerprogrammprodukt Computerprogrammbefehle, die, wenn sie ausgeführt werden, den Computer veranlassen, folgende Schritte durchzuführen:
    Speichern einer dem Speichermodul zugeordneten physischen Speicheradresse in dem nicht-flüchtigen Speicher jedes Speichermoduls nach dem Start des Computersystems; und
    als Reaktion auf die Anforderung der virtuellen Adresse, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird, durch das Betriebssystem ein Identifizieren der physischen Speicheradresse des nicht überhitzten Speichermoduls von der in dem nichtflüchtigen Speicher des nicht überhitzten Speichermoduls gespeicherten Zuordnung.
  • Bei einer weiteren Ausführungsform umfasst das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes:
    Zuweisen von Speicher in einer größenmäßig festgelegten Entfernung von dem aktiven Speicherbereich in dem überhitzten Speichermodul ab einer virtuellen Speicheradresse.
  • Bei einer weiteren Ausführungsform umfasst das Verfahren des Feststellens durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, weiterhin Folgendes:
    In einem festgelegten Zeitintervall regelmäßiges Feststellen, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist.
  • Bei einer weiteren Ausführungsform umfasst jedes Speichermodul eines der folgenden Elemente:
    ein Dual In-Line Memory Module (”DIMM”);
    eine DIMM-Reihe; und
    eine integrierte Schaltung des dynamischen Arbeitsspeichers (dynamic random access memory, DRAM) eines DIMM.
  • Bei einer weiteren Ausführungsform umfasst das computerlesbare Medium ein Speichermedium.
  • Bei einer weiteren Ausführungsform umfasst das computerlesbare Medium ein Übertragungsmedium.
  • Die Erfindung bezieht sich bei einem weiteren Aspekt auf ein System, das hier im Wesentlichen mit Bezug auf und laut Darstellung in den beigefügten Zeichnungen beschrieben wird.
  • Die Erfindung bezieht sich bei einem weiteren Aspekt auf ein Verfahren, das hier im Wesentlichen mit Bezug auf und laut Darstellung in den beigefügten Zeichnungen beschrieben wird.
  • Das Obengenannte und andere Aufgaben, Merkmale und Vorteile der Erfindung werden anhand der nachfolgenden ausführlicheren Beschreibungen von beispielhaften Ausführungsformen der Erfindung, wie sie in den beigefügten Zeichnungen veranschaulicht sind, besser verdeutlicht, wobei gleiche Ziffern allgemein gleiche Teile von beispielhaften Ausführungsformen der Erfindung kennzeichnen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung werden nun lediglich beispielhaft mit Bezug auf die folgenden Zeichnungen beschrieben, in denen:
  • 1 einen Block eines Systems zum Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
  • 2 einen Ablaufplan darstellt, der ein beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht.
  • 3 einen Ablaufplan darstellt, der ein weiteres beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht, und
  • 4 einen Ablaufplan darstellt, der ein weiteres beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Beispielhafte Verfahren, Vorrichtungen und Produkte zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß der vorliegenden Erfindung werden mit Bezug auf die beigefügten Zeichnungen mit 1 beginnend beschrieben. 1 stellt einen Block eines Systems zum Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung dar. Das System von 1 umfasst einen beispielhaften Computer (152), der seinerseits mindestens einen Computerprozessor (156) oder eine ”CPU” sowie einen Arbeitsspeicher (”RAM”) (168) umfasst, der über einen Hochgeschwindigkeitsspeicherbus (166) und einen Busadapter (158) mit dem Prozessor (156) und den anderen Komponenten des Computers (152) verbunden ist.
  • Bei dem beispielhaften Computer (152) von 1 umfasst der RAM (168) mehrere Speichermodule. Der Begriff ”Speichermodul”, wie er in dieser Beschreibung verwendet wird, bezieht sich auf eine beliebige Computerspeichereinheit. Zu den Beispielen für eine Computerspeichereinheit gehören: ein Dual In-Line Memory Module (”DIMM”); eine DIMM-Reihe; und eine integrierte Schaltung des dynamischen Arbeitsspeichers (”DRAM”) eines DIMM. In dem Beispiel von 1 ist der Computerspeicher mit vier Dual In-Line Memory Modules (DIMMs) (104a, 104b, 104c und 104d) umgesetzt. Jedes DIMM kann als ein separates Speichermodul angesehen werden. Alternativ kann jede integrierte Computerspeicherschaltung in dem DIMM selbst als ein separates Speichermodul angesehen werden. Zur einfacheren Erklärung – nicht Beschränkung – wird in dem Beispiel von 1 auf jedes DIMM (104a bis 104d) als ein separates Speichermodul Bezug genommen.
  • Bei dem Beispiel von 1 wird jedem DIMM (104a bis 104d) ein separater Temperaturfühler (102a, 102b, 102c, 102d) zugeordnet, so dass jeder Temperaturfühler die Temperatur eines DIMM misst. Die Temperaturfühler werden in dem Beispiel von 1 als von den DIMMs selbst getrennte Komponenten dargestellt, dem Fachmann ist jedoch ersichtlich, dass diese Temperaturfühler auf vielfältige Weise umgesetzt werden können – auf einer Grundplatine, in oder in der Nähe eines DIMM-Steckplatzes der Grundplatine, auf dem DIMM selbst usw. Jede dieser Umsetzungen liegt im Geltungsbereich der vorliegenden Erfindung.
  • Die Temperaturfühler (102a bis 102d) sind in dem Beispiel von 1 mit dem Prozessor (156) verbunden. Bei einer solchen Ausführungsform kann der Temperaturfühler eine vorliegende Temperatur eines Speichermoduls in regelmäßigen Abständen oder auf Anforderung in einem bestimmten, bekannten Prozessorregister speichern oder er kann eine Unterbrechung oder Markierung bewirken, wenn die Temperatur eines Speichermoduls einen festgelegten Schwellenwert überschreitet. Die Temperaturfühler (102a bis 102d) werden in dem Beispiel von 1 zur besseren Erläuterung, nicht Beschränkung, als mit dem Prozessor (156) verbunden dargestellt. Dem Fachmann ist ersichtlich, dass Temperaturfühler (10a bis 102d), die die Temperatur eines Speichermoduls messen können, funktionsmäßig auf vielfältige Weise verbunden sein können. Temperaturfühler können zum Beispiel über einen Eingabe-/Ausgabeadapter (E/A-Adapter) (178) mit einem Erweiterungsbus (160) verbunden sein, über einen Außerband-Bus (out-of-band bus) mit einem Dienstprozessor (nicht dargestellt) oder auf andere Weise verbunden sein, wie dem Fachmann ersichtlich ist.
  • In dem RAM (168) sind eine Anwendung (112) und ein Speicherbereiniger (106) gespeichert. Die Anwendung (112) ist ein Modul von Computerprogrammbefehlen, das Datenverarbeitungsaufgaben auf Benutzerebene ausführt. Zu Beispielen für solche Anwendungen gehören Anwendungen für Tabellenkalkulation, Anwendungen für Textverarbeitung, Anwendungen für Multimedia-Bibliotheksverwaltung, Anwendungen für Datenbankverwaltung, Anwendungen für Foto- oder Videobearbeitung, Anwendungen für E-Mail-Client usw., wie dem Fachmann ersichtlich ist.
  • Bei der Ausführung der Anwendung kann gelegentlich Speicher zugewiesen und von der Anwendung zum Speichern und Aufrufen von Daten verwendet werden. Die Anwendung kann anschließend unter Verwendung des Speichers enden, ohne den Speicher für eine künftige Zuweisung freizugeben. Die Anwendung kann zum Beispiel ein Objekt instanziieren, das Objekt eine Zeit lang verwenden und anschließend die Verwendung des Objekts beenden. Der Speicher, in dem das Objekt instanziiert wird, steht für eine Zuweisung für andere Anwendungen nicht zur Verfügung.
  • Der Speicherbereiniger (106) im Beispiel von 1 ist zu diesem Zweck ein Modul von Computerprogrammbefehlen, das Ausschussdaten zurückgewinn, oder Speicher, der von Objekten belegt ist, die von der Anwendung nicht mehr verwendet werden. Die Speicherbereinigung wird oft als Gegensatz zur manuellen Speicherverwaltung dargestellt, bei der ein Programmierer Objekte angeben muss, um Speicher für eine künftige Zuweisung freizugeben. Ein Speicherbereiniger führt eine typische Speicherbereinigung durch, indem er in regelmäßigen Abständen inaktive Speicherbereiche ermittelt, markiert und löscht, während er gleichzeitig aktive Speicherbereiche zu zusammenhängenden Blöcken komprimiert. Es wird gesagt, der Speicherbereiniger ”löscht” einen inaktiven Speicherbereich insofern, als der Speicherbereich freigegeben wird. Nach der Freigabe kann der Speicherbereiniger einen aktiven Speicherbereich wirksam in den freigegebenen Speicherbereich verschieben, so dass der aktive Speicherbereich Teil eines zusammenhängenden Blocks von aktiven Speicherbereichen wird.
  • In dem Beispiel von 1 wird der Speicherbereiniger (106) ferner konfiguriert, um die Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung zu verwalten. Das heißt, neben den typischen Speicherbereinigungsoperationen des Speicherbereinigers unterstützt der Speicherbereiniger (106) im Beispiel von 1 auch die Verwaltung der Wärmeverteilung in dem Computersystem – dem Computer (152). Der Speicherbereiniger (106) führt diese Verwaltung der Wärmeverteilung unter den Speichermodulen des Computers (152) durch, indem er während der Speicherbereinigung feststellt, ob eine Temperaturmessung (114) eines Temperaturfühlers (102a bis 102d) anzeigt, dass ein Speichermodul (104a bis 104d) überhitzt ist. In dem Beispiel von 1 kann der Speicherbereiniger feststellen, ob ein Speichermodul (104a bis 104d) in Echtzeit überhitzt ist, d. h. während der normalen Ausführung des Speicherbereinigers, ohne Interaktion des Benutzers. Es ist keine Anforderung des Benutzers erforderlich, damit der Speicherbereiniger feststellt, ob ein Speichermodul in dem Zielcomputersystem (152) überhitzt ist.
  • Wenn eine Temperaturmessung (114) eines Temperaturfühlers (102a bis 102d) anzeigt, dass ein Speichermodul (104a bis 104d) überhitzt ist, weist der Speicherbereiniger (106) einen oder mehrere aktive Speicherbereiche (110) in dem überhitzten Speichermodul (104a) einem nicht überhitzten Speichermodul (104b) neu zu. Die Neuzuweisung des aktiven Speicherbereichs (110) zu einem nicht überhitzten Speichermodul (104b) umfasst ein Kopieren der Inhalte der aktiven Speicherbereiche von dem überhitzten Speichermodul (104a) in das nicht überhitzte Speichermodul (104b).
  • Mit anderen Worten, wenn ein Speichermodul überhitzt ist, arbeitet der Speicherbereiniger (106) in einem wärmeempfindlichen Modus anstatt in einem typischen Betriebsmodus. Anstatt inaktive Speicherbereiche anzufordern, wie in einem typischen Betriebsmodus, arbeitet der Speicherbereiniger in dem wärmeempfindlichen Modus in aktiven Speicherbereichen und verschiebt einen aktiven Speicherbereich in einem überhitzten Speichermodul wirksam in ein anderes nicht überhitztes Speichermodul.
  • Jeder Zugriff auf einen aktiven Speicherbereich kann dazu führen, dass Hitze in dem Speichermodul erzeugt wird, dem der aktive Speicherbereich zugewiesen ist. Durch Neuzuweisen des aktiven Speicherbereichs von einem überhitzten zu einem nicht überhitzten Speichermodul lenkt der Speicherbereiniger den nachfolgenden Zugriff auf den aktiven Speicherbereich weg von dem überhitzten Speichermodul, wodurch die Anzahl der Zugriffe auf das Speichermodul insgesamt verringert wird. Eine Verringerung der Gesamtanzahl an Zugriffen auf das Speichermodul verringert die Hitze, die von dem Speichermodul erzeugt wird, so dass das Speichermodul abkühlen kann.
  • Nachdem die Temperaturfühler (102a bis 102d) anzeigen, dass das Speichermodul nicht mehr überhitzt ist, verlässt der Speicherbereiniger (106) den wärmeempfindlichen Ausführungszustand. Das heißt, nachdem die Temperatur des überhitzten Speichermoduls unter einen festgelegten Schwellenwert sinkt, arbeitet der Speicherbereiniger (106) auf normale Weise, bereinigt den Speicher, fordert inaktive Speicherbereiche zurück und richtet aktive Speicherbereiche in zusammenhängende Speicherblöcke aus, unabhängig von dem Speichermodul, dem die aktiven Speicherbereiche zugewiesen sind.
  • Im RAM (168) ist ferner ein Betriebssystem (154) gespeichert. Zu Beispielen für Betriebssysteme, die ein Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung unterstützen, gehören UNIXTM, LinuxTM, Microsoft XPTM, AIXTM, i5/OSTM von IBM und andere, wie dem Fachmann ersichtlich ist. Das Betriebssystem (154), die Anwendung auf Benutzerebene (110) und der Aufrufstapel (106) des Beispiels von 1 sind in dem RAM (168) dargestellt, viele Komponenten einer solchen Software sind jedoch auch typischerweise in einem nicht-flüchtigen Speicher gespeichert, beispielsweise auf einem Plattenlaufwerk (170).
  • Der Computer (152) von 1 umfasst einen Plattenlaufwerkadapter (172), der über den Erweiterungsbus (160) und den Busadapter (158) mit dem Prozessor (156) und anderen Komponenten des Computers (152) verbunden ist. Der Plattenlaufwerkadapter (172) verbindet einen nicht-flüchtigen Datenspeicher in Form des Plattenlaufwerks (170) mit dem Computer (152). Zu Plattenlaufwerkadaptern, die zweckdienlich bei Computern sind, welche das Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung unterstützen, gehören Integrated-Drive-Electronics-Adapter (Integrated Drive Electronics = ”IDE”, integrierte Laufwerk-Elektronik), Small-Computer-System-Interface-Adapter (Small Computer System Interface = ”SCSI”, Kleincomputersystemschnittstelle) und andere, wie dem Fachmann ersichtlich ist. Nicht-flüchtiger Computerspeicher kann auch als optisches Plattenlaufwerk, elektrisch löschbarer, programmierbarer Nur-Lese-Speicher (ein sogenannter ”EEPROM” oder ”Flash”-Speicher), RAM-Laufwerke usw. umgesetzt werden, wie dem Fachmann ersichtlich ist.
  • Der beispielhafte Computer (152) von 1 umfasst einen oder mehrere Eingabe/Ausgabe-Adapter (E/A-Adapter) (178). E/A-Adapter führen eine benutzerorientierte Eingabe/Ausgabe durch beispielsweise Software-Treiber und Computer-Hardware durch, um die Ausgabe an Anzeigeeinheiten wie beispielsweise Computerbildschirme sowie die Benutzereingabe über Benutzereingabeeinheiten (181) wie beispielsweise Tastaturen und Mäuse zu steuern. Der beispielhafte Computer (152) von 1 umfasst einen Videoadapter (209), der ein Beispiel für einen E/A-Adapter ist, der speziell für die grafische Ausgabe an einer Ausgabeeinheit (180) wie beispielsweise einem Bildschirm oder Computermonitor entworfen wurde. Der Videoadapter (209) ist über einen Hochgeschwindigkeitsvideobus (164), den Busadapter (158) und den Front-Side-Bus (Vorderseitenbus) (162), der ebenfalls ein Hochgeschwindigkeitsbus ist, mit dem Prozessor (156) verbunden.
  • Der beispielhafte Computer (152) von 1 umfasst einen Datenübertragungsadapter (167) für die Datenübertragung mit anderen Computern (182) sowie für die Datenübertragung mit einem Datenübertragungsnetzwerk (100). Solche Datenübertragungen können seriell über RS-232-Verbindungen, über externe Busse wie beispielsweise einen Universal Serial Bus (”USB”, universeller serieller Bus), über Datenübertragungsnetzwerke wie beispielsweise IP-Datenübertragungsnetzwerke und auf sonstige Weise durchgeführt werden, wie dem Fachmann ersichtlich ist. Datenübertragungsadapter setzen Datenübertragungen auf Hardware-Ebene um, durch die ein Computer Datenübertragungen direkt oder über ein Datenübertragungsnetzwerk an einen anderen Computer sendet. Zu Beispielen für Datenübertragungsadapter, die zweckdienlich bei Computern sind, welche das Verwalten der Wärmeverteilung unter Speichermodulen gemäß Ausführungsformen der vorliegenden Erfindung unterstützen, gehören Modems für drahtgebundene Wahldatenübertragungen, Ethernet (IEEE 802.3)-Adapter für die Datenübertragung über drahtgebundene Datenübertragungsnetzwerke und 802.11-Adapter für die Datenübertragung über drahtlose Datenübertragungsnetzwerke.
  • Die Anordnung der Server und anderen Einheiten, die das in 1 veranschaulichte beispielhafte System bilden, dient zur Erläuterung und ist nicht beschränkend. Datenverarbeitungssysteme, die gemäß verschiedener Ausführungsformen der vorliegenden Erfindung zweckdienlich sind, können zusätzliche Server, Leitwegrechner, andere Einheiten und nicht in 1 dargestellte Peer-to-Peer-Architekturen umfassen, wie dem Fachmann ersichtlich ist. Netzwerke in solchen Datenverarbeitungssystemen können viele Datenübertragungsprotokolle unterstützen, darunter zum Beispiel TCP (Transmission Control Protocol, Übertragungssteuerungsprotokoll), IP (Internet Protocol, Internet-Protokoll), HTTP (Hyper Text Transfer Protocol, Hypertext-Übertragungsprotokoll), WAP (Wireless Access Protocol, Protokoll für drahtlose Anwendungen), HDTP (Handheld Device Transport Protocol, Transportprotokoll für Handgeräte) und andere, wie dem Fachmann ersichtlich ist. Verschiedene Ausführungsformen der vorliegenden Erfindung können zusätzlich zu den in 1 gezeigten Plattformen bei einer Vielfalt von Hardware-Plattformen umgesetzt werden.
  • Zur weiteren Erläuterung stellt 2 einen Ablaufplan dar, der ein beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren von 2 wird in einem Computersystem ausgeführt, das dem Computer (152) von 1 ähnelt. Das Computersystem, in dem 2 ausgeführt wird, umfasst eine Reihe von Speichermodulen und eine Reihe von Temperaturfühlern. Jeder Temperaturfühler misst eine Temperatur eines Speichermoduls in dem Computersystem. Das Verfahren von 2 wird ferner von einem Speicherbereiniger (106) während der Speicherbereinigung ausgeführt.
  • Das Verfahren von 2 umfasst das Abrufen (208) von Temperaturmessungen von einem oder mehreren Temperaturfühlern (102a, 102b) des Computersystems. Das Abrufen (208) von Temperaturmessungen von einem oder mehreren Temperaturfühlern (102a, 102b) des Computersystems kann auf verschiedenen Wegen je nach Ausführung der Temperaturfühler durchgeführt werden. Bei Ausführungsformen, bei denen die Temperaturfühler (102a, 102b) konfiguriert sind, um den Prozessor zu unterbrechen, wenn die Temperatur eines Speichermoduls einen Schwellenwert überschreitet, kann der Speicherbereiniger (106) Temperaturmessungen abrufen, indem eine Unterbrechungsroutine bereitgestellt wird, die als Reaktion auf eine solche Unterbrechung das Speichermodul identifiziert. Bei Ausführungsformen, bei denen jeder Temperaturfühler regelmäßig eine vorliegende Temperatur eines Speichermoduls speichert, kann der Speicherbereiniger (106) die Inhalte dieses Registers regelmäßig abrufen und feststellen, ob der in dem Register gespeicherte Wert größer als ein festgelegter Schwellenwert ist. Dem Fachmann ist ersichtlich, dass dies nur zwei Möglichkeiten unter vielen darstellt, um Temperaturmessungen von Temperaturfühlern abzurufen (208).
  • Das Verfahren von 2 wird fortgesetzt, indem vom Speicherbereiniger (106) während der Speicherbereinigung und abhängig von den Temperaturmessungen in Echtzeit festgestellt wird (210), ob ein Speichermodul überhitzt ist. Die Feststellung (210), ob ein Speichermodul überhitzt ist, kann auf verschiedenen Wegen durchgeführt werden. Die Feststellung, ob ein Speichermodul überhitzt ist, kann zum Beispiel durchgeführt werden, indem bei jeder Temperaturmessung festgestellt wird, ob die gemessene Temperatur eines Speichermoduls größer als eine festgelegte Schwellentemperatur ist.
  • Wenn kein Speichermodul überhitzt ist, wird das Verfahren von 2 fortgesetzt, indem eine festgelegte Zeitdauer gewartet wird (224) und erneut Temperaturmessungen abgerufen werden (208), wonach festgestellt wird (210), ob ein Speichermodul überhitzt ist. Das bedeutet, dass bei dem Verfahren von 2 das Abrufen (208) von Temperaturmessungen von einem oder mehreren Temperaturfühlern des Computersystems und das Feststellen (210), ob ein Speichermodul überhitzt ist, regelmäßig in festgelegten Zeitintervallen durchgeführt werden. Das festgelegte Zeitintervall kann auf verschiedenen Wegen angegeben werden und muss nicht auf Minuten und Sekunden beschränkt sein. Das Intervall kann stattdessen als eine Reihe von ausgeführten Befehlen, eine Reihe von Ausführungssubroutinen, eine Reihe von Funktionsaufrufen, eine Reihe von Rücksprüngen von einer Subroutine usw. angegeben werden, wie dem Fachmann ersichtlich ist. Obgleich in 2 das Abrufen (208) und Feststellen (210) als in regelmäßigen Abständen ausgeführt dargestellt wird, können ein solches Abrufen und Feststellen als Reaktion auf Unterbrechungen, die hervorgerufen werden, wenn die Temperatur eines Speichermoduls einen festgelegten Schwellenwert überschreitet, asynchron durchgeführt werden.
  • Wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, wird das Verfahren von 2 fortgesetzt, indem ein oder mehrere aktive Speicherbereiche in dem überhitzten Speichermodul (104a) einem nicht überhitzten Speichermodul (102b) neu zugewiesen wird (202). Bei dem Beispiel von 2 wird das Neuzuweisen (202) von einem oder mehreren aktiven Speicherbereichen durchgeführt, indem die Inhalte der aktiven Speicherbereiche (110a) von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul (110b) kopiert werden (204). Speicherbereiniger nach dem Stand der Technik umfassen typischerweise Werkzeuge zur Neuzuweisung von Speicherbereichen. Bei normalen Anwendungen nach dem Stand der Technik werden diese Werkzeuge jedoch verwendet, um einen inaktiven Speicherbereich freizugeben oder zu löschen und die Inhalte eines aktiven Speicherbereichs ”nach oben” in den freigegebenen Speicherbereich und in einen zusammenhängenden Block von aktiven Speicherbereichen zu verschieben. Bei dem Verfahren von 2 dagegen macht der Speicherbereiniger eine Neuzuweisung oder verschiebt einen aktiven Speicher von einem Speichermodul zu einem anderen. Eine solche Neuzuweisung (202) kann durchgeführt werden, indem bei einem nicht überhitzten Speichermodul ein Speicherbereich von der gleichen Größe wie ein aktiver Speicherbereich von dem überhitzten Speichermodul neu zugewiesen wird und die Inhalte des aktiven Speicherbereichs in dem überhitzten Speichermodul in den neu zugewiesenen Bereich in dem nicht überhitzten Speichermodul kopiert werden (204). Bei einigen Ausführungsformen kann der Speicherbereiniger (106) den aktiven Speicherbereich in dem überhitzten Speichermodul freigeben, ohne dass ein anderer aktiver Speicherbereich in den freien Speicherbereich verschoben wird. Auf diese Weise bleibt der Bereich unbenutzt und es wird daher nicht darauf zugegriffen, und Hitze, die als Reaktion auf solche Speicherzugriffe erzeugt wird, wird verringert. Bei anderen Ausführungsformen kann der Speicherbereiniger (106) nach dem Neuzuweisen des aktiven Speicherbereichs zu dem nicht überhitzten Speichermodul den aktiven Speicherbereich in dem überhitzten Speichermodul nicht freigeben, um dadurch sicherzustellen, dass eine Zeit lang nicht auf den Speicherbereich zugegriffen wird. Sobald der Speicherbereiniger (106) einen oder mehrere aktive Speicherbereiche (110a) in dem überhitzten Speichermodul (104a) dem nicht überhitzten Speichermodul (104b) neu zugewiesen hat (202), wartet (224) der Speicherbereiniger (106) ein festgelegtes Zeitintervall lang, bevor er erneut Temperaturmessungen abruft (208) und feststellt (210), ob ein Speichermodul überhitzt ist. Während der Wartezeit kann der Speicherbereiniger konfiguriert werden, um die normale Speicherbereinigung bei anderen Speichermodulen als dem überhitzten Speichermodul fortzusetzen.
  • Zur weiteren Erläuterung stellt 3 einen Ablaufplan dar, der ein weiteres beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren von 3 ähnelt dem Verfahren von 2 insofern, als das Verfahren von 3 in einem Computersystem ausgeführt wird, das eine Reihe von Speichermodulen und Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst. Das Verfahren von 3 ähnelt dem Verfahren von 2 auch dahingehend, als das Verfahren von 3 das Abrufen von Temperaturmessungen (208), das Feststellen (210) durch einen Speicherbereiniger (106) während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, das Neuzuweisen (202) eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie das Kopieren (204) von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul umfasst.
  • Das Verfahren von 3 unterscheidet sich jedoch insofern von 2, als das Verfahren von 3 nach dem Start des Computersystems das Speichern (308) einer physischen Speicheradresse, die dem Speichermodul zugeordnet ist, durch ein Basiseingabe-/-ausgabedienstemodul (basic input/ouput services module) (310) in einem nicht-flüchtigen Speicher (306a, 306b) von jedem Speichermodul (104a, 104b) des Computersystems umfasst. In einem Computerspeicherteilsystem mit mehreren Speichermodulen, beispielsweise zwei DIMMs, stellt jedes Speichermodul eine Reihe von separaten physischen Adressen dar. In dem Beispiel von 3 speichert das BIOS (310) beim Booten eine Identifizierung des physischen Adressbereichs, der jedem Speichermodul zugeordnet ist. Auf diese Weise kann ein Modul von automatisierten Datenverarbeitungseinrichtungen – wie beispielsweise der Speicherbereiniger (106) oder das Betriebssystem (154) – die Inhalte des nichtflüchtigen Speichers (306) eines Speichermoduls prüfen, um eine physische Adresse in diesem Speichermodul zu identifizieren. Dem Fachmann ist ersichtlich, dass ein solches Speichern der physischen Adresse in Speichermodulzuordnungen nicht nur von einem BIOS-Modul ausgeführt zu werden braucht. Stattdessen kann auch jede Firmware, Software, jedes Betriebssystem oder jede Betriebssystemkomponente solche Zuordnungen in dem nicht-flüchtigen Speicher der Speichermodule (104a, 104b) speichern.
  • Bei dem Verfahren von 3 umfasst das Neuzuweisen (202) eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul das Anfordern (302) einer virtuellen Adresse von einem Betriebssystem (154) des Computersystems, wobei die virtuelle Adresse auf eine physischen Speicheradresse in einem anderen Speichermodul als dem überhitzten Speichermodul (104a) abgebildet wird. Eine solche Anforderung (302) kann ein Aufruf an eine Betriebssystemfunktion sein, die eine Speichermodulkennung als einen Parameter, der an die Funktion weitergeleitet wird, umfasst.
  • Speicherbereiniger und andere Anwendungen kennen normalerweise den physischen Adressbereich, der zugewiesenen Speicherbereichen zugeordnet ist, nicht. Der Speicherbereiniger kennt stattdessen nur einen virtuellen Adressbereich einer Anwendung, der der Anwendung bereitgestellt und von dem Betriebssystem verwaltet wird. Das Betriebssystem (154) in dem Beispiel von 3 ist konfiguriert, um die Anforderung nach einer virtuellen Adresse, die auf eine physische Adresse eines anderen Speichermoduls abgebildet wird, zu empfangen. Als Reaktion auf diese Anforderung identifiziert (312) das Betriebssystem eine physische Speicheradresse des anderen Speichermoduls von den Zuordnungen, die in dem nicht-flüchtigen Speicher (306a, 306b) des anderen Speichermoduls gespeichert sind.
  • Bei dem Verfahren von 3 empfängt der Speicherbereiniger (106) als Reaktion auf die Anforderung (302) die virtuelle Adresse, die auf eine physische Adresse in einem anderen Speichermodul (104b) abgebildet wird, und verwendet (304) die virtuelle Adresse, um Speicher in dem anderen, nicht überhitzten Speichermodul (104b) zuzuweisen. Eine solche Zuweisung kann mit einem Aufruf an eine Betriebssystemfunktion durchgeführt werden, die als an die Funktion weitergeleitete Parameter die von dem Betriebssystem empfangene virtuelle Adresse und eine Verschiebung aufweist, die die Größe des zuzuweisenden Speicherbereichs ab der virtuellen Adresse angibt.
  • Zur weiteren Erläuterung stellt 4 einen Ablaufplan dar, der ein weiteres beispielhaftes Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das Verfahren von 4 ähnelt dem Verfahren von 2 insofern, als das Verfahren von 4 in einem Computersystem ausgeführt wird, das eine Reihe von Speichermodulen und Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst. Das Verfahren von 4 ähnelt dem Verfahren von 2 auch dahingehend, als das Verfahren von 4 das Abrufen von Temperaturmessungen (208), das Feststellen (210) durch einen Speicherbereiniger (106) während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, das Neuzuweisen (202) eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie das Kopieren (204) von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul umfasst.
  • Das Verfahren von 4 unterscheidet sich jedoch von dem Verfahren von 2 insofern, als das Neuzuweisen (202) eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speicher in dem Verfahren von 4 das Zuweisen (402) von Speicher in einer festgelegten Entfernung von dem aktiven Speicherbereich in dem überhitzten Speichermodul ab einer virtuellen Speicheradresse umfasst.
  • Viele Betriebssysteme sind konfiguriert, um Speicherbereiche in physisch zusammenhängender Weise zuzuweisen; ein Speicherbereich, gefolgt von einem anderen, gefolgt von einem weiteren, mit wenig bis keinem freien Platz dazwischen. Auch in Datenverarbeitungsumgebungen, die mit virtuellen Adressen arbeiten, entsprechen die virtuellen Adressen somit allgemein ähnlichen physischen Adressen. Ein Speicherbereiniger (106) als solcher, der das Speicherteilsystem etwas kennt, beispielsweise die Größe jedes Speichermoduls, kann Speicher in einem anderen nicht überhitzten Speichermodul zuweisen, indem das Betriebssystem aufgefordert wird, den Speicher bei einer virtuellen Adresse zuzuweisen, so dass, wenn die virtuelle Adresse direkt auf die gleiche oder fast die gleiche physische Adresse abgebildet wird, notwendigerweise auf ein anderes Speichermodul verwiesen wird. Betrachten wir zum Beispiel ein Speicherteilsystem, das aus zwei DIMMs von 1 GB besteht. Gehen wir davon aus, dass das erste DIMM überhitzt ist, der Speicherbereiniger in einem wärmeempfindlichen Zustand arbeitet und der aktive Speicherbereich, der neu zugewiesen wird (202), bei einer virtuellen Adresse beginnt, so dass, wenn diese gleich wie eine physische Adresse ist, auf einen Speicherplatz 512 MB von der ursprünglichen Speicheradresse des überhitzten Speichermoduls verwiesen wird. Angesichts der typischen großen Nähe einer Abbildung einer virtuellen Adresse auf eine physische Adresse des Betriebssystems, wird die physische Adresse, die auf die dem Speicherbereiniger zwar unbekannte virtuelle Adresse dieses Speicherbereichs abgebildet wird, wahrscheinlich bei oder nahe bei 512 MB von der ursprünglichen Speicheradresse des Speichermoduls liegen und dabei grob bei der Hälfte des überhitzten DIMM beginnen. Die Zuweisung (402) eines Speicherbereichs bei einer virtuellen Speicheradresse 1 GB von der zuvor verwendeten virtuellen Speicheradresse des aktiven Speicherbereichs führt in den meisten Fällen als solche zu einer Speicherzuweisung in einem anderen Speichermodul, wenn auch hier von der typischen engen Beziehung zwischen den Abbildungen von virtueller auf physische Adresse durch das Betriebssystem ausgegangen wird. Die beispielhafte Zuweisung (402) ist eine Art von geschultem Raten eines Speicherbereinigers in Bezug auf eine virtuelle Adresse, die auf eine physische Adresse in einem anderen Speichermodul abgebildet wird.
  • Für den Fachmann ist ersichtlich, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Aspekte der vorliegenden Erfindung können daher die Form einer kompletten Hardware-Ausführung, einer kompletten Software-Ausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform haben, bei der Hardware- und Software-Aspekte kombiniert sind, die allgemein hier als ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Aspekte der vorliegenden Erfindung können des Weiteren die Form eines Computerprogrammprodukts haben, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, die über einen darin enthaltenen computerlesbaren Programmcode verfügen.
  • Eine beliebige Kombination von einem computerlesbaren Medium oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Übertragungsmedium oder ein computerlesbares Speichermedium sein. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel unter anderem um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit oder eine geeignete Kombination davon handeln. Zu genaueren Beispielen (einer nicht vollständigen Liste) für das computerlesbare Speichermedium gehören wie folgt: eine elektrische Verbindung mit einer oder mehreren Leitungen, ein tragbarer Computer-Diskettenspeicher, eine Festplatte, ein Schreib-Lese-Speicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer, programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktdisketten-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine geeignete Kombination davon. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium ein physisches Medium sein, das ein Programm enthalten oder speichern kann, welches von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Befehlen verwendet wird.
  • Ein computerlesbares Übertragungsmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem computerlesbarem Programmcode umfassen, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches weitergeleitetes Signal kann eine Vielfalt von Formen haben, unter anderem elektromagnetische, optische Formen oder eine geeignete Kombination davon. Ein computerlesbares Übertragungsmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Befehlen übertragen, weitergegeben oder transportieren kann.
  • In einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines geeigneten Mediums übermittelt werden, das unter anderem drahtlos, drahtgebunden, Lichtwellenleiterkabel, HF usw. oder eine geeignete Kombination davon sein kann.
  • Der Computerprogrammcode zum Ausführen der Operationen in Verbindung mit Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, zu denen eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder ähnliche sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache ”C” oder ähnliche Programmiersprachen gehören. Der Programmcode kann ganz auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder ganz auf dem entfernten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernte Computer über ein beliebiges Netz mit dem Computer des Benutzers verbunden sein, zum Beispiel über ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), oder es kann die Verbindung zu einem externen Computer hergestellt werden (beispielsweise über das Internet durch einen Internetdienstanbieter).
  • Aspekte der vorliegenden Erfindung werden obenstehend unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalrechners, Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass die Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, um auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsartikel einschließlich der Befehle erzeugen, die die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegte Funktion/Maßnahme umsetzen.
  • Die Computerprogrammbefehle können ferner in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Betriebsschritten auszulösen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder den anderen Einheiten durchgeführt werden, um einen computerimplementierten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder in der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse bereitstellen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren zeigen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, Segment oder einen Teil eines Codes darstellen, das/der einen oder mehrere ausführbare Befehle zur Umsetzung der festgelegten Logikfunktion(en) umfasst. Es ist ferner darauf hinzuweisen, dass die im Block angegebenen Funktionen bei einigen alternativen Ausführungen in einer anderen Reihenfolge als in den Figuren dargestellt ablaufen können. Zwei aufeinanderfolgend dargestellte Blöcke können zum Beispiel tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach entsprechender Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Des Weiteren ist darauf hinzuweisen, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellung sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die angegebenen Funktionen oder Maßnahmen bzw. Kombinationen von speziellen Hardware- und Computerbefehlen durchführen.
  • Aus der vorstehenden Beschreibung geht hervor, dass an verschiedenen Ausführungsformen der vorliegenden Erfindung Abwandlungen und Änderungen vorgenommen werden können. Die Darstellungen in dieser Beschreibung sind nur zur Veranschaulichung und sind nicht in einschränkendem Sinne auszulegen. Der Geltungsbereich der vorliegenden Erfindung wird lediglich durch die Sprache der folgenden Ansprüche beschränkt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.3 [0038]

Claims (14)

  1. Verfahren zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und das Verfahren Folgendes umfasst: Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  2. Verfahren nach Anspruch 1, bei dem das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes umfasst: Anfordern einer virtuellen Adresse von einem Betriebssystem des Computersystems, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird; und Verwenden der virtuellen Adresse, um Speicher in dem nicht überhitzten Speichermodul zuzuweisen.
  3. Verfahren nach Anspruch 2, das weiterhin umfasst: Speichern einer dem Speichermodul zugeordneten physischen Speicheradresse in dem nicht-flüchtigen Speicher jedes Speichermoduls nach dem Start des Computersystems; und als Reaktion auf die Anforderung nach der virtuellen Adresse, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird, durch das Betriebssystem Identifizieren der physischen Speicheradresse des nicht überhitzten Speichermoduls von der in dem nichtflüchtigen Speicher des nicht überhitzten Speichermoduls gespeicherten Zuordnung.
  4. Verfahren nach einem der Ansprüche 1–3, bei dem das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes umfasst: Zuweisen von Speicher ab einer virtuellen Speicheradresse in einer festgelegten Entfernung von dem aktiven Speicherbereich in dem überhitzten Speichermodul.
  5. Verfahren nach einem der Ansprüche 1–4, bei dem das Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, weiterhin Folgendes umfasst: In einem festgelegten Zeitintervall regelmäßiges Feststellen, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist.
  6. Verfahren nach einem der Ansprüche 1–5, bei dem jedes Speichermodul eines der folgenden Elemente umfasst: ein Dual In-Line Memory Module (”DIMM”); eine DIMM-Reihe; und eine integrierte Schaltung des dynamischen Arbeitsspeichers (”DRAM”) eines DIMM.
  7. Vorrichtung zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und die Vorrichtung einen Computerprozessor und einen Computerspeicher umfasst, der funktionsmäßig mit dem Computerprozessor verbunden ist, wobei der Computerspeicher über darin enthaltene Computerprogrammbefehle verfügt, die, wenn sie von dem Computerprozessor ausgeführt werden, die Vorrichtung veranlassen, folgende Schritte durchzuführen: Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  8. Vorrichtung nach Anspruch 7, bei der das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes umfasst: Anfordern einer virtuellen Adresse von einem Betriebssystem des Computersystems, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird; und Verwenden der virtuellen Adresse, um Speicher in dem anderen Speichermodul zuzuweisen.
  9. Vorrichtung nach einem der Ansprüche 7–8, die weiterhin Computerprogrammbefehle umfasst, die, wenn sie von dem Computerprozessor ausgeführt werden, die Vorrichtung veranlassen, folgende Schritte durchzuführen: Speichern einer dem Speichermodul zugeordneten physischen Speicheradresse in dem nicht-flüchtigen Speicher jedes Speichermoduls nach dem Start des Computersystems; und als Reaktion auf die Anforderung nach der virtuellen Adresse, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird, durch das Betriebssystem Identifizieren der physischen Speicheradresse des nicht überhitzten Speichermoduls von der in dem nichtflüchtigen Speicher des nicht überhitzten Speichermoduls gespeicherten Zuordnung.
  10. Vorrichtung nach einem der Ansprüche 7–9, bei der das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes umfasst: Zuweisen von Speicher ab einer virtuellen Speicheradresse in einer festgelegten Entfernung von dem aktiven Speicherbereich in dem überhitzten Speichermodul.
  11. Vorrichtung nach einem der Ansprüche 7–10, bei der das Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, weiterhin Folgendes umfasst: In einem festgelegten Zeitintervall regelmäßiges Feststellen, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist.
  12. Vorrichtung nach einem der Ansprüche 7–11, bei der jedes Speichermodul eines der folgenden Elemente umfasst: ein Dual In-Line Memory Module (”DIMM”); eine DIMM-Reihe; und eine integrierte Schaltung des dynamischen Arbeitsspeichers (”DRAM”) eines DIMM.
  13. Computerprogrammprodukt zum Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems, wobei das Computersystem eine Vielzahl von Speichermodulen und eine Vielzahl von Temperaturfühlern umfasst, wobei jeder Temperaturfühler eine Temperatur eines Speichermoduls misst und das Computerprogrammprodukt auf einem computerlesbaren Medium angeordnet ist, wobei das Computerprogrammprodukt Computerprogrammbefehle umfasst, die, wenn sie ausgeführt werden, einen Computer veranlassen, folgende Schritte durchzuführen: Feststellen durch einen Speicherbereiniger während der Speicherbereinigung, ob eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist; und wenn eine Temperaturmessung eines Temperaturfühlers anzeigt, dass ein Speichermodul überhitzt ist, ein Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul sowie ein Kopieren von Inhalten der aktiven Speicherbereiche von dem überhitzten Speichermodul in das nicht überhitzte Speichermodul.
  14. Computerprogrammprodukt nach Anspruch 13, bei dem das Neuzuweisen eines oder mehrerer aktiver Speicherbereiche in dem überhitzten Speichermodul zu einem nicht überhitzten Speichermodul weiterhin Folgendes umfasst: Anfordern einer virtuellen Adresse von einem Betriebssystem des Computersystems, die auf eine physische Speicheradresse in dem nicht überhitzten Speichermodul abgebildet wird; und Verwenden der virtuellen Adresse, um Speicher in dem anderen Speichermodul zuzuweisen.
DE102012215192.3A 2011-09-09 2012-08-27 Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems Active DE102012215192B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/228,898 2011-09-09
US13/228,898 US9164898B2 (en) 2011-09-09 2011-09-09 Administering thermal distribution among memory modules of a computing system

Publications (2)

Publication Number Publication Date
DE102012215192A1 true DE102012215192A1 (de) 2013-03-14
DE102012215192B4 DE102012215192B4 (de) 2023-07-27

Family

ID=46546293

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012215192.3A Active DE102012215192B4 (de) 2011-09-09 2012-08-27 Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems

Country Status (4)

Country Link
US (2) US9164898B2 (de)
CN (1) CN102999132B (de)
DE (1) DE102012215192B4 (de)
GB (1) GB2494490B (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164898B2 (en) 2011-09-09 2015-10-20 International Business Machines Corporation Administering thermal distribution among memory modules of a computing system
JP5792019B2 (ja) * 2011-10-03 2015-10-07 株式会社日立製作所 半導体装置
US9146855B2 (en) * 2012-01-09 2015-09-29 Dell Products Lp Systems and methods for tracking and managing non-volatile memory wear
US8918699B2 (en) * 2012-07-31 2014-12-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage apparatus
JP2014044527A (ja) * 2012-08-24 2014-03-13 Canon Inc 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
JP6041610B2 (ja) * 2012-10-02 2016-12-14 キヤノン株式会社 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
US9342443B2 (en) * 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
US9501393B2 (en) * 2014-01-27 2016-11-22 Western Digital Technologies, Inc. Data storage system garbage collection based on at least one attribute
JP6381480B2 (ja) * 2015-05-12 2018-08-29 東芝メモリ株式会社 半導体装置
US10209749B2 (en) * 2015-06-15 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload allocation based on downstream thermal impacts
KR102507769B1 (ko) * 2015-11-04 2023-03-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10108462B2 (en) * 2016-02-12 2018-10-23 Microsoft Technology Licensing, Llc Virtualizing sensors
US10872018B2 (en) * 2018-01-30 2020-12-22 Quanta Computer Inc. Memory data preservation solution

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US5502838A (en) 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US6838331B2 (en) 2002-04-09 2005-01-04 Micron Technology, Inc. Method and system for dynamically operating memory in a power-saving error correction mode
US7146521B1 (en) 2002-08-21 2006-12-05 3Pardata, Inc. Preventing damage of storage devices and data loss in a data storage system
US7191088B1 (en) 2004-10-25 2007-03-13 Nvidia Corporation Method and system for memory temperature detection and thermal load management
US20070257359A1 (en) 2006-05-03 2007-11-08 Reis Bradley E Thermal Management Device For A Memory Module
US7500078B2 (en) 2006-08-25 2009-03-03 Dell Products L.P. Thermal control of memory modules using proximity information
US7788513B2 (en) 2006-08-29 2010-08-31 Hewlett-Packard Development Company, L.P. Method of reducing power consumption of a computing system by evacuating selective platform memory components thereof
US7596714B2 (en) 2006-11-20 2009-09-29 Intel Corporation Methods and apparatus to manage throttling in computing environments
US8825718B2 (en) * 2006-12-28 2014-09-02 Oracle America, Inc. Methods and apparatus for marking objects for garbage collection in an object-based memory system
US8954685B2 (en) 2008-06-23 2015-02-10 International Business Machines Corporation Virtualized SAS adapter with logic unit partitioning
US8566539B2 (en) 2009-01-14 2013-10-22 International Business Machines Corporation Managing thermal condition of a memory
US8458417B2 (en) * 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US9164898B2 (en) 2011-09-09 2015-10-20 International Business Machines Corporation Administering thermal distribution among memory modules of a computing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.3

Also Published As

Publication number Publication date
US20130067136A1 (en) 2013-03-14
CN102999132A (zh) 2013-03-27
GB2494490A (en) 2013-03-13
DE102012215192B4 (de) 2023-07-27
US9164898B2 (en) 2015-10-20
US9164899B2 (en) 2015-10-20
US20130103885A1 (en) 2013-04-25
GB2494490B (en) 2014-01-01
CN102999132B (zh) 2015-06-17
GB201208777D0 (en) 2012-07-04

Similar Documents

Publication Publication Date Title
DE102012215192A1 (de) Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems
US11693723B2 (en) Query watchdog
KR101357397B1 (ko) 데이터 프로세싱 시스템의 메모리 사용을 추적하는 방법
DE112018006769B4 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
CN108733464B (zh) 一种确定计算任务的调度方案的方法及装置
Pal et al. An experimental approach towards big data for analyzing memory utilization on a hadoop cluster using HDFS and MapReduce
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
US9268609B2 (en) Application thread to cache assignment
DE112011100739T5 (de) Programmatisches Ermitteln eines Ausführungsmodus für eine Anforderungszuteilungunter Verwendung von historischen Masszahlen
US20160147572A1 (en) Modifying memory space allocation for inactive tasks
JP2020194524A (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
DE112017005063T5 (de) Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters
Mahgoub et al. Suitability of nosql systems—cassandra and scylladb—for iot workloads
Jayakumar et al. A Holistic Approach for Performance Analysis of Embedded Storage Array
CN112527642A (zh) 性能测试指标数据的显示方法、装置、设备及存储介质
US8606757B2 (en) Storage and retrieval of concurrent query language execution results
DE102013205739A1 (de) Programmgestütztes lastbasiertes verwalten der prozessorbelegung
US9298576B2 (en) Collecting processor usage statistics
WO2019079187A1 (en) MEMORY ASSIGNMENT IN AN ANALYTICAL DATA SYSTEM
CN107408127B (zh) 用于索引队列的动态阈值门
TW201942741A (zh) 資訊處理裝置、控制方法及程式產品
US10037145B1 (en) Performant memory manager for cloud applications
CN112669025B (zh) 一种数据资源供给计费方法、装置、介质及终端设备
Grimmer et al. Enabling dynamic memory management support for mtc on nvidia gpus
van Loo et al. Scalable Infrastructure for Workload Characterization of Cluster Traces

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final