DE102017122430A1 - Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse - Google Patents

Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse Download PDF

Info

Publication number
DE102017122430A1
DE102017122430A1 DE102017122430.0A DE102017122430A DE102017122430A1 DE 102017122430 A1 DE102017122430 A1 DE 102017122430A1 DE 102017122430 A DE102017122430 A DE 102017122430A DE 102017122430 A1 DE102017122430 A1 DE 102017122430A1
Authority
DE
Germany
Prior art keywords
nvme
reconfiguration
computing device
devices
module
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.)
Pending
Application number
DE102017122430.0A
Other languages
English (en)
Inventor
Luke Remis
Mark E. Andersen
Wilson Velez
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.)
Lenovo Enterprise Solutions Singapore Pte Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte Ltd
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 Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Publication of DE102017122430A1 publication Critical patent/DE102017122430A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

Abstract

Eine Vorrichtung zum Rekonfigurieren eines Computergerätes umfasst ein Inventarmodul, ein thermisches Analysemodul und ein Rekonfigurationsmodul. Das Inventarmodul erfasst einen oder mehrere Orte für ein oder mehrere Non-Volatile Memory Express-(“NVMe”)Geräte. Das eine oder die mehreren NVMe-Geräte sind mit einer Mehrzahl von Slots derart gekoppelt, dass wenigstens einer der Slots frei ist. Das eine oder die mehreren NVMe-Geräte beeinflussen thermisch eine oder mehrere weitere Komponenten eines Computergerätes. Das thermische Analysemodul bestimmt einen oder mehrere thermische Kennwerte für eine aktuelle Konfiguration und für eine oder mehrere mögliche Rekonfigurationen. Die aktuelle Konfiguration umfasst Orte des einen oder der mehreren NVMe-Geräte und der einen oder den mehreren weiteren Komponenten. Das Rekonfigurationsmodul wählt eine Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten aus.

Description

  • GEBIET
  • Der Gegenstand, der hierin offenbart wird, bezieht sich auf Computergeräte, einschließlich eines nicht-flüchtigen Speichers und/oder Speichers, und betrifft insbesondere eine Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse.
  • HINTERGRUND
  • So wie sich Abspeicherungsdichte und Geschwindigkeiten für eine nicht-flüchtige Abspeicherung und Speicher erhöhen, können sich in ähnlicher Weise auch Stromverbrauch und Energieverlust durch nicht-flüchtige Speichergeräte erhöhen. Zum Beispiel können Non-Volatile Memory Express („NVME“) Geräte bis zu 25 Watt verbrauchen. Auf ähnliche Weise können vier NVMe-Laufwerke, die Seite an Seite gebündelt sind, so viel Wärme wie ein 100-Watt-Heizer abführen. Ein kühlender Luftstrom, der über andere Computerkomponenten wie über eine zentrale Verarbeitungseinheit (“CPU”), Speicher, Expansionskarten, weitere interne Peripheriegeräte und dergleichen strömt, kann durch Verlustwärme von nicht-flüchtigen Laufwerken signifikant vorgewärmt werden. Unter der Annahme, Komponenten mit vorgewärmter Luft zu kühlen, kann sich eine Durchführung eines Drosselns, um ein Überhitzen zu verhindern, oder eine erhöhte Gebläsegeschwindigkeit mit entsprechender Erhöhung des Geräuschs und des Stromverbrauchs ergeben.
  • KURZE ZUSAMMENFASSUNG
  • Eine Vorrichtung zum Rekonfigurieren eines Computergerätes wird offenbart. Ein Verfahren und Computerprogrammprodukt führen die Funktionen der Vorrichtung ebenfalls aus. Die Vorrichtung umfasst ein Inventarmodul, das einen oder mehrere Orte von einem oder mehreren Non-Volatile Memory Express-(“NVMe”)Geräten erfasst. Das eine oder die mehreren NVMe-Geräte sind mit einer Vielzahl von Slots derart gekoppelt, dass wenigstens einer der Slots frei ist. Das eine oder die mehreren NVMe-Geräte beeinflussen thermisch eine oder mehrere weitere Komponenten eines Computergerätes. The Vorrichtung umfasst ein thermisches Analysemodul, das ein oder mehrere thermische Kennwerte für eine aktuelle Konfiguration und für eine oder mehrere mögliche Rekonfigurationen bestimmt. Die aktuelle Konfiguration umfasst Orte für das eine oder die mehreren NVMe-Geräte und die eine oder mehreren weiteren Komponenten. Die Vorrichtung umfasst ein Rekonfigurationsmodul, das, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten, eine Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen auswählt.
  • In einer Ausführungsform befinden sich das eine oder die mehrern NVMe-Geräte stromaufwärts von dem einen oder den mehreren weiteren Komponenten in Bezug auf den kühlenden Luftstrom. In einer bestimmten Ausführungsform erfasst das Inventarmodul einen oder mehrere Orte für die eine oder die mehreren weiteren Komponenten des Computergerätes. In einigen Ausführungsformen bestimmt das Inventarmodul, ob sich Kabel kreuzen, basierend auf einem Erfassen, welche von einem oder mehreren Ports mit dem einem oder den mehreren NVMe-Geräten gekoppelt sind. In bestimmten Ausführungsformen umfasst die aktuelle Konfiguration ferner ein Zuordnen zwischen dem einen oder den mehreren Ports und dem einen oder den mehreren NVMe-Geräten. In weiteren Ausführungsformen umfassen die eine oder die mehreren möglichen Rekonfigurationen ein oder mehrere mögliche alternative Zuordnungen.
  • In einer Ausführungsform, erfasst das Inventarmodul einen oder mehrere Orte für das eine oder die mehreren NVMe-Geräte unter Verwenden einer Managementschnittstelle, die unabhängig von einer zentralen Verarbeitungseinheit (“CPU”) betrieben wird, basierend auf einer Schnittstelle für das eine oder die mehreren NVMe-Geräte. In einer weiteren Ausführungsform erfasst das Inventarmodul den einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte, wenn ein Betriebssystem für das Computergerät nicht läuft. In einer bestimmten Ausführungsform, erfasst das Inventarmodul den einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte in Reaktion auf einen Einschaltvorgang für das Computergerät und/oder einer Änderung in der Konfiguration des einen oder die mehreren NVMe-Geräte.
  • In einer Ausführungsform, bestimmt das thermische Analysemodul den einen oder die mehreren thermischen Kennwerte, basierend auf: den gegenwärtigen Einstellungen für das Computergerät, auf Informationen von einem oder mehreren Sensoren für das Computergerät, teilweise auf Informationen für das eine oder die mehreren NVMe-Geräte, teilweise auf Information für die eine oder die mehreren weiteren Komponenten des Computergerätes und/oder auf einer Applikationscharakterisierung des Computergeräts. In einer bestimmten Ausführungsform erzeugt das thermische Analysemodul iterativ die eine oder die mehreren möglichen Rekonfigurationen durch ein iteratives Identifizieren von einer oder mehreren möglichen Änderungen an der aktuellen Konfiguration, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten.
  • In einigen Ausführungsformen umfasst the Vorrichtung ein Triggermodul, das das thermische Analysemodul aktiviert, um das eine oder die mehreren thermischen Kennwerte in Reaktion auf einen Trigger zu bestimmen. In weiteren Ausführungsformen kann der Trigger ein CPU-Drosseln umfassen, falls diese einen Drosselschwellwert übersteigt, dass eine Temperatur einen Temperaturschwellwert übersteigt, und/oder falls durch das Inventarmodul eine neue Konfiguration erfasst wird.
  • In einer Ausführungsform, umfasst die ausgewählte Rekonfiguration einen neuen Ort für wenigstens ein NVMe-Gerät, basierend auf einer Konzentration der Wärme von dem einen oder den mehreren NVMe-Geräten in eine besonderen Region oder auf ein Verteilen der Wärme von dem einen oder den mehreren NVMe-Geräten über eine größere Region als in der aktuellen Konfiguration. In einer bestimmten Ausführungsform wählt das Rekonfigurationsmodul die ausgewählte Rekonfiguration basierend auf einer Messung, die durch den Nutzer priorisiert wird, aus. In einer weiteren Ausführungsform kann die priorisierte Messung eine CPU-Temperatur, eine Speichertemperatur, eine Erweiterungskartentemperatur, eine Gebläsegeschwindigkeit und/oder eine akustische Messung umfassen.
  • In einer Ausführungsform, umfasst die Vorrichtung ein Meldemodul, das die ausgewählte Rekonfiguration an einen Nutzer kommuniziert. In einer bestimmten Ausführungsform kann das Kommunizieren der ausgewählten Rekonfiguration ein Aktivieren eines Lichtes, entsprechend einem freien NVMe-Slot, umfassen, um einen neuen Ort für wenigstens ein NVMe-Gerät anzuzeigen, wenn ein Betriebssystem des Computergeräts nicht läuft. In einigen Ausführungsformen, kann die Vorrichtung das Computergerät einschließen.
  • Ein Verfahren zum Rekonfigurieren eines Computergerätes umfasst ein Erfassen von einem oder mehreren Orten für ein oder mehrere NVMe-Geräte. Das eine oder die mehreren NVMe-Geräte sind mit einer Mehrzahl von Slots derart gekoppelt, dass wenigstens einer der Slots frei bleibt. Das eine oder die mehreren NVMe-Geräte beeinflussen thermisch eine oder mehrere weitere Komponenten eines Computergerätes. Das Verfahren umfasst ein Bestimmen von einem oder mehreren thermischen Kennwerten für eine aktuelle Konfiguration und für eine oder mehrere möglichen Rekonfigurationen. Die aktuelle Konfiguration umfasst Orte des einen oder der mehreren NVMe-Geräte und der einen oder den mehreren weiteren Komponenten. Das Verfahren umfasst ein Auswählen einer Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten.
  • In einer Ausführungsform umfasst das Verfahren ein Erfassen eines oder mehrerer Orte für eine oder mehrere weitere Komponenten des Computergerätes. In einer bestimmten Ausführungsform erfolgt das Bestimmen des einen oder der mehreren thermischen Kennwerte in Reaktion auf einen Trigger. In einer weiteren Ausführungsform umfasst der Trigger ein CPU-Drosseln, falls diese einen Drosselschwellwert übersteigt, dass eine Temperatur einen Temperaturschwellwert übersteigt, und/oder eine neue Konfiguration für das Computergerät. In einigen Ausführungsformen umfasst das Verfahren ein Kommunizieren der ausgewählten Rekonfiguration an den Nutzer.
  • Ein Programmprodukt zum Rekonfigurieren eines Computergerätes umfasst ein computerlesbares Speichermedium, das einen Code, der durch einen Prozessor ausführbar ist, speichert. Der ausführbare Code umfasst einen Code, um ein Erfassen von einem oder mehreren Orten für ein oder mehrere NVMe-Geräte auszuführen. Das eine oder die mehreren NVMe-Geräte sind mit einer Vielzahl von Slots derart gekoppelt, dass wenigstens einer der Slots frei bleibt. Das eine oder die mehreren NVMe-Geräte beeinflussen thermisch eine oder mehrere weitere Komponenten eines Computergerätes. Der ausführbare Code umfasst ein Code, um ein Bestimmen von einem oder mehreren thermischen Kennwerten für eine aktuelle Konfiguration und für eine oder mehrere Rekonfigurationen auszuführen. Die aktuelle Konfiguration umfasst Orte von dem einen oder den mehreren NVMe-Geräten und der einen oder den mehreren weiteren Komponenten. Der ausführbare Code umfasst einen Code, um ein Auswählen einer Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten auszuführen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine speziellere Beschreibung der Ausführungsformen, die oben kurz beschrieben wurden, wird durch Bezugnahme auf spezifische Ausführungsformen ausgeführt, die in den anhängenden Zeichnungen dargestellt werden. Es ist verständlich, dass diese Zeichnungen nur einige Ausführungsformen zeigen und deshalb nicht als den Umfang begrenzend zu betrachten sind, wobei die Ausführungsformen mit zusätzlicher Spezifikation und zusätzlichem Detail durch den Gebrauch der begleitenden Zeichnungen beschrieben und erläutert werden, in denen:
  • 1 ein schematisches Blockdiagramm ist, das eine Ausführungsform eines Systems zum Rekonfigurieren eines Computergerätes darstellt;
  • 2A ein schematisches Blockdiagramm ist, das eine andere Ausführungsform eines Systems zum Rekonfigurieren eines Computergerätes darstellt;
  • 2B ein schematisches Blockdiagramm ist, das eine Ausführungsform einer Rekonfiguration des Systems der 2A darstellt;
  • 3 ein schematisches Blockdiagramm ist, das eine Ausführungsform einer Vorrichtung zum Rekonfigurieren eines Computergerätes darstellt;
  • 4 ein schematisches Blockdiagramm ist, das eine andere Ausführungsform einer Vorrichtung zum Rekonfigurieren eines Computergerätes darstellt;
  • 5 ein schematisches Flussdiagramm ist, das eine Ausführungsform eines Verfahrens zum Rekonfigurieren eines Computergerätes darstellt; und
  • 6 ein schematisches Flussdiagramm ist, das eine andere Ausführunsform eines Verfahrens zum Rekonfigurieren eines Computergerätes darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Wie es für den Fachmann der Technik ersichtlich ist, können Aspekte der Ausführungsformen als ein System, ein Verfahren oder ein Programmprodukt verkörpert sein. Dementsprechend können Ausführungsformen die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (einschließlich Firmenware, residenter Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardwareaspekte kombiniert, einnehmen, auf die hierin allgemein als ein “Schaltkreis”, “Modul” oder “System” Bezug genommen wird. Darüber hinaus können Ausführungsformen die Form eines Programmproduktes annehmen, das in einem oder mehreren computerlesbaren Speichergeräten enthalten ist, die einen maschinenlesbaren Code, einen computerlesbaren Code und/oder einen Programmcode speichern, auf die hiernach als Code Bezug genommen wird. Die Speichergeräte können materiell, nicht transitorisch und/oder nicht übertragend sein. Die Speichergeräte können keine Signale verkörpern. In einer bestimmten Ausführungsform verwenden die Speichergeräte Signale nur als Zugangscode.
  • Viele der funktionellen Einheiten, die in dieser Spezifikation beschrieben werden, wurden als Module markiert, um insbesondere ihre Ausführungsunabhängigkeit hervorzuheben. Zum Beispiel kann ein Modul als eine Hardwareschaltung, die kundenspezifische VLSI-Schaltungen oder Gate-Arrays umfasst, als standardmässige Halbleiter wie Logikchips, Transistoren oder andere diskrete Komponenten implementiert sein. Ein Modul kann auch in programmierbaren Hardwaregeräten wie Field Programmable Gate-Arrays, programmierbarer Arraylogik, programmierbaren Logikgeräten oder dergleichen ausgeführt sein.
  • Module können auch in einem Code und/oder Software zum Ausführen durch verschiedene Arten von Prozessoren ausgeführt sein. Ein identifiziertes Modul eines Codes kann zum Beispiel ein oder mehrere physische oder logische Blöcke eines ausführbaren Codes umfassen, welcher beispielsweise als ein Objekt, ein Verfahren oder eine Funktion organisiert sein kann. Nichts desto weniger müssen die Ausführbaren eines identifizierten Moduls nicht physisch zusammen angeordnet sein, sondern können verteilte Instruktionen, die an verschiedenen Orten gespeichert sind, umfassen, welche, wenn sie logisch zusammengefügt werden, das Modul umfassen und den angegebenen Zweck für das Modul erreichen.
  • Tatsächlich kann ein Modul eines Codes eine einzige Instruktion oder viele Instruktionen sein und kann selbst über mehrere unterschiedliche Codesegmente, unter verschiedenen Programmen und über mehrere Speichergeräte verteilt sein. Auf ähnliche Weise können Betriebsdaten identifiziert und hierin innerhalb von Modulen dargestellt werden und können diese in irgendeiner geeigneten Form enthalten und innerhalb irgendeiner geeigneten Art von Datenstruktur organisiert sein. Die Betriebsdaten können als einzelner Datensatz zusammengefasst sein oder können über verschiedene Orte, einschließlich über verschiedene computerlesbare Speichergeräte, verteilt sein. Wo ein Modul oder Abschnitte eines Moduls in Software ausgeführt ist bzw. sind, werden die Softwareabschnitte auf einem oder mehreren computerlesbaren Speichergeräten gespeichert.
  • Es können irgendwelche Kombinationen von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Speichermedium sein. Das computerlesbare Speichermedium kann ein Speichergerät sein, das den Code speichert. Das Speichergerät kann zum Beispiel, ist aber nicht begrenzt auf, ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes, holografisches, mikromechanisches oder Halbleiter-System, -Vorrichtung, oder -Gerät, oder irgendeine geeignete Kombination des Vorhergehenden sein.
  • Spezifischere Beispiele (einer nicht erschöpfenden Liste) des Speichergerätes würden Folgendes umfassen: eine elektrische Verbindung, die ein oder mehr Drähte aufweist, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (“RAM”), einen Festwertspeicher (“ROM”), einen löschbaren programmierbaren Festwertspeicher (“EPROM” oder Flash-Speicher), einen tragbaren Compakt-Disk Festwertspeicher (“CD-ROM”), ein optisches Speichergerät, ein magnetisches Speichergerät oder irgendeine geeignete Kombination des Vorhergehenden. Im Kontext dieses Dokumentes kann ein computerlesbares Speichermedium irgendein materielles Medium sein, das ein Programm zum Gebrauch durch oder in Verbindung mit einem Instruktionsausführungssystem, einer Vorrichtung oder einem Gerät enthalten oder speichern kann.
  • Ein Code zum Ausführen von Vorgängen der Ausführungsformen kann in irgendeiner Kombination von einer oder mehreren Programmiersprachen geschrieben sein, einschließlich einer Objekt orientierten Programmiersprache wie Python, Ruby, Java, Smalltalk, C++, oder dergleichen, und konventioneller Prozessprogrammiersprachen wie der "C" Programmiersprache, oder dergleichen, und/oder Maschinensprachen, wie Assemblersprachen. Der Code kann vollständig auf dem Computer des Nutzers, teilweise auf dem Computer des Nutzers, als ein allein stehendes Softwarepaket, teilweise auf dem Computer des Nutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt sein. In dem letzteren Szenario kann der Remote-Computer mit dem Computer des Nutzers über irgendeine Art von Netzwerk, einschließlich eines lokalen Netzwerkes (“LAN”) oder eines Weitverkehrsnetzes (“LAN”), verbunden sein, oder kann die Verbindung zu einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwenden eines Internet Service Providers).
  • Eine Bezugnahme in dieser gesamten Spezifikation auf “eine einzelne Ausführungsform”, “eine Ausführungsform” oder ähnliche Sprache bedeutet, dass ein besonderes Merkmal, eine Struktur oder ein Kennzeichen, das in Verbindung mit der Ausführungsform beschrieben wird, in wenigstens einer Ausführungsform enthalten ist. Somit kann sich das Auftreten der Ausdrücke “in einer einzigen Ausführungsform”, “in einer Ausführungsform” und ähnliche Sprache in dieser gesamten Spezifikation insgesamt auf die gleiche Ausführungsform beziehen, muss sich dies aber nicht notwendigerweise, bedeutet jedoch “eine oder mehrere, aber nicht alle Ausführungsformen”, außer es ist ausdrücklich in anderer Weise spezifiziert. Die Ausdrücke “einschließlich”, “umfassend”, “aufweisend” und Variationen davon bedeuten “einschließlich, aber nicht begrenzt auf”, außer es ist ausdrücklich in anderer Weise spezifiziert. Eine nummerierte Auflistung von Gegenständen bedeutet nicht das irgendeines oder alle der Gegenstände wechselseitig exklusiv sind, außer es ist ausdrücklich in anderer Weise spezifiziert. Die Ausdrücke “ein”, “eine” und “der, die, das” beziehen sich auch auf “ein oder mehr”, außer es ist ausdrücklich in anderer Weise spezifiziert.
  • Darüber hinaus können die beschriebenen Merkmale, Strukturen oder Kennzeichen der Ausführungsformen in irgendeiner geeigneten Weise kombiniert sein. In der folgenden Beschreibung werden zahlreiche spezifische Details bereitgestellt, wie Beispiele des Programmierens, der Softwaremodule, der Nutzerauswahl, der Netzwerktransaktionen, der Datenbankabfragen, der Datenbankstrukturen, der Hardwaremodule, der Hardwareschaltungen, der Hardwarechips, usw., um ein sorgfältiges Verständnis der Ausführungsformen bereitzustellen. Ein Fachmann der relevanten Technik wird jedoch erkennen, dass Ausführungsformen ohne eine oder mehrere der spezifischen Details oder mit anderen Verfahren, Komponenten, Materialien und so weiter ausgeführt werden können. In anderen Beispielen sind gut bekannte Strukturen, Materialien oder Vorgänge nicht gezeigt oder im Detail beschrieben, um verwirrende Aspekte einer Ausführungsform zu vermeiden.
  • Aspekte der Ausführungsformen werden unten mit Bezug auf schematische Flussdiagramme und/oder schematische Blockdiagramme von Verfahren, Vorrichtungen, Systemen und Programmprodukten gemäß den Ausführungsformen beschrieben. Es ist verständlich, dass jeder Block der schematischen Flussdiagramme und/oder schematischen Blockdiagramme und Kombinationen der Blöcke in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch einen Code ausgeführt sein können. Diese Codes können einem Prozessor eines Computers für allgemeine Zwecke, eines Computers für spezielle Zwecke oder anderer programmierbarer Datenverarbeitungsvorrichtunger zur Verfügung gestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, die durch den Prozessor des Computers oder anderer programmierbarer Datenvorrichtungen ausgeführt werden, Mittel zum Ausführen der Funktionen/Aktionen erzeugen, die in dem Block bzw. den Blöcken der schematischen Flussdiagramme und/oder schematischen Blockdiagramme oder spezifiziert sind.
  • Der Code kann auch in einem Speichergerät gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Geräte anweisen kann, auf eine bestimmte Weise zu funktionieren, so dass die Instruktionen, die in dem Speichergerät gespeichert sind, einen Gegenstand der Herstellung produzieren, einschließlich Instruktionen, welche die Funktionen/Aktionen implementieren, die in dem Block bzw. den Blöcken der schematischen Flussdiagramme und/oder schematischen Blockdiagramme spezifiziert ist.
  • Der Code kann auch auf einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Geräte geladen werden, um eine Reihe von Betriebsschritten auf dem Computer, anderen programmierbaren Vorrichtungen oder anderen Geräten auszuführen, um einen computerimplementierten Prozess zu erzeugen, so dass der Code, der auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt wird, Prozesse zum Implementieren der Funktionen/Aktionen, die in dem Block bzw. den Blöcken der schematischen Flussdiagramme und/oder schematischen Blockdiagramme spezifiziert werden, bereitstellt.
  • Die schematischen Flussdiagramme und/oder schematischen Blockdiagramme in den Figuren zeigen die Architektur, Funktionalität und den Betrieb von möglichen Ausführungsformen der Vorrichtungen, Systeme, Verfahren und Programmprodukte gemäß verschiedenen Ausführungsformen. In dieser Beziehung kann jeder Block in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen ein Modul, Segment oder einen Abschnitt des Codes darstellen, welcher eine oder mehrere ausführbare Instruktionen des Codes zum Ausführen der spezifizierten logischen Funktion(en) umfasst.
  • Es sollte auch angemerkt werden, dass, in einigen alternativen Ausführungsformen, die in den Blöcken spezifizierten Funktionen manchmal in einer anderen reihenfologe als der in den Figuren beschriebenen auftreten können. Beispielsweise können zwei aufeinanderfolgend gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder können die Blöcke, je nach der betrofffenen Funktionalität, manchmal in umgekehrter Reihenfolge ausgeführt werden Andere Schritte oder Verfahren, die in Funktion, Logik oder Wirkung äquivalent zu dem einen oder mehreren Blöcken der dargestellten Figuren, oder Teilen hiervon sind, können konzipiert werden.
  • Obwohl verschiedene Pfeiltypen und Linienarten in den Flussdiagrammen und/oder Blockdiagrammen angewendet werden, sind diese nicht als Begrenzung des Umfangs der entsprechenden Ausführungsformen zu verstehen. Tatsächlich können einige Pfeile oder andere Verbindungen verwendet werden, um nur den logischen Fluss der dargestellten Ausführungsform zu zeigen. Zum Beispiel kann ein Pfeil eine Warte- oder Überwachungsperiode von nicht spezifischer Dauer zwischen den aufgezählten Schritten der dargestellten Ausführungsform anzeigen. Es ist auch anzumerken, dass jeder Block der Blockdiagramme und/oder der Flussdiagramme und Kombinationen der Blöcke in den Blockdiagrammen und/oder Flussdiagrammen durch Hardware basierte Systeme für spezielle Zwecke ausgeführt sein können, welche die speziellen Funktionen oder Aktionen ausführen, oder durch Kombinationen von Hardware für spezielle Zwecke und Code.
  • Die Beschreibung von Elementen in jeder Figur kann sich auf Elemente der vorhergehenden Figuren beziehen. Ähnliche Nummern beziehen sich auf ähnliche Elemente in allen Figuren, einschließlich alternativer Ausführungsformen oder ähnlichen Elementen.
  • 1 zeigt eine Ausführungsform eines Systems 100 zum Rekonfigurieren eines Computergerätes. In der gezeigten Ausführungsform umfasst das System 100 eine thermische Konfigurationsvorrichtung 150, die auf einem Server 102, einem Computernetzwerk 104 und einem Clienten 106 betrieben wird.
  • Im allgemeinen kann in verschiedenen Ausführungsformen eine thermische Konfigurationsvorrichtung 150 Orte für Non-Volatile Memory Express-(“NVMe”)Geräte oder andere nicht-flüchtige Laufwerke erfassen, die weitere Komponenten eines Computergerätes wie den Server 102 thermisch beeinflussen, thermische Kennwerte für eine aktuelle Konfiguration und für mögliche Rekonfigurationen bestimmen und eine Rekonfiguration basierend auf der bestimmten thermischen Konfiguration auswählen. In weiteren Ausführungsformen kann die thermische Konfigurationsvorrichtung 150 die ausgewählte Rekonfiguration an einen Nutzer oder Administrator des Computergerätes kommunizieren und kann der Nutzer oder Administrator das Computergerät rekonfigurieren (z.B. durch Versetzen der NVMe-Geräte 110 in andere Slots 108, Umlagern anderer Komponenten oder dergleichen). Das Rekonfigurieren eines Computergerätes, basierend auf bestimmten thermischen Kennwerten, kann in bestimmten Ausführungsformen ein übermäßiges Vorheizen von sensitiven Komponenten vermeiden, ein CPU-Drosseln reduzieren oder vermeiden, Wärme so verteilen, dass Gebläsegeschwindigkeiten für akustische Zwecke oder dergleichen gleichmäßig ansteigen. Die thermische Konfigurationsvorrichtung 150 wird weiter unten im Detail mit Bezug auf die Vorrichtungen 300, 400 der 3 und 4 beschrieben.
  • In einer Ausführungsform kann der Server 102 ein Großrechner, ein Blade-Server, eine Workstation, ein Desktopcomputer oder dergleichen sein. In der gezeigten Ausführungsform umfasst der Server 102 eine Mehrzahl von Slots 108 für NVMe-Geräte 110 und ein oder mehrere NVMe-Geräte 110, die mit den Slots 108 so gekoppelt sind, dass wenigstens einer der Slots 108 frei bleibt. In bestimmten Ausführungsformen kann es das Vorhandensein von frei bleibenden Slots 108 ermöglichen, dass NVMe-Geräte 110 zu anderen Slots 108 bewegt werden können, um thermische Kennwerte des Server 102 zu verbessern. In einer anderen Ausführungsform kann der Server 102 jedoch durch Versetzen anderer Komponenten als der NVMe-Geräte 110 rekonfiguriert werden. Der Server 102 kann die thermische Konfigurationsvorrichtung 150 verwenden, um eine thermisch vorteilhafte Rekonfiguration für den Server 102 auszuwählen.
  • Ein NVMe-Gerät 110 kann sich in verschiedenen Ausführungsformen auf irgendein nicht-flüchtiges Abspeicherungsgerät, nicht-flüchtiges Speicher-(“NVM”)Gerät, nicht-flüchtiges Laufwerk oder dergleichen beziehen, das dem NVM-Expressstandard entspricht, wie er gegenwärtige existiert oder wie er in der Zukunft entwickelt werden kann. In bestimmten Ausführungsformen kann ein hoher Stromverbrauch von NVMe-Geräten 110 eine Kühlluft vorheizen, bevor diese andere Komponenten des Servers 102 erreicht, und kann eine thermische Konfigurationsvorrichtung 150 eine Rekonfiguration auswählen, bestimmen oder identifizieren, die thermische Kennwerte verbessert, Probleme, die mit dem Vorheizen oder dergleichen assoziiert sind, vermindert. Obwohl die thermische Konfigurationsvorrichtung 150 hierin für den Gebrauch mit NVMe-Geräten 110 offenbart wird, kann die vorliegende Offenbarung auf ähnliche Weise für die Server 102 oder andere Comptergeräte unter Verwenden anderer Arten von nicht-flüchtigen Speichergeräten oder zukünftiger nicht-flüchtiger Speicherprotokolle oder dergleichen verwendet werden.
  • Ein Slot 108 kann sich in verschiedenen Ausführungsformen auf einen Sockel für einen Randstecker (z.B. einen Slot 108 für ein M.2 NVMe-Modul) oder auf irgendeinen anderen Typ von Sockel, Rack, eStecker oder dergleichen, der konfiguriert ist, um ein NVMe-Gerät 110 zu empfangen oder zu verbinden, beziehen. In verschiedenen Ausführungsformen, kann ein Slot 108 auf einer Hauptplatine, einer Rückseitenplatine, getrennt von der Hauptplatine, einer Erweiterungskarte oder dergleichen angeordnet sein. Viele Arten von Slots 108 für NVMe-Geräte 110 werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • Der Server 102 kann die Authentifizierungsvorrichtung 150 verwenden, um eine thermische vorhteilhafte Rekonfiguration des Servers 102 selbst, des Client 106, anderer Computer über das Computernetzwerk 104 oder dergleichen auszuwählen. In der gezeigten Ausführungsform umfasst der Server 102 die NVMe-Geräte 110 und Slots 108, jedoch kann die thermische Konfigurationsvorrichtung 150 in einer anderen Ausführungsform verwendet werden, um irgendein Computergerät, einschließlich einem oder mehreren NVMe-Geräten 110, mit wenigstens einem freien Slot 108 zu rekonfigurieren.
  • Der Client 106 kann ein Desktopcomputer, Laptopcomputer, eine virtuelle Maschine, ein Tablet, Mobiltelefon oder dergleichen sein. Der Client 106 kann mit dem Server 102 über das Computernetzwerk 104 in Kommunikation stehen. In einer Ausführungsform kann die thermische Konfigurationsvorrichtung 150 mit einem oder mehreren Nutzern oder Adminstratoren des Servers über den Client 106 kommunizieren. Zum Beispiel kann die thermische Konfigurationsvorrichtung 150 in verschiedenen Ausführungsformen eine ausgewählte Rekonfiguration an einen Nutzer über eine Webseite, auf die ein Client 106 zugreift, ein E-Mail-Programm, das auf einem Clienten 106 läuft, einer Testmitteilungsapplikation, die auf einem Clienten 106 läuft, oder dergleichen kommunizieren. In einer anderen Ausführungsform kann die thermische Konfigurationsvorrichtung 150 direkt mit einem Nutzer oder Administrator des Servers 102 kommunizieren (z.B. unter Verwenden einer Anzeige für den Server 102), anstatt über einen Client 106 zu kommunizieren.
  • In der gezeigten Ausführungsform arbeitet die thermische Konfigurationsvorrichtung 150 auf dem Server 102 oder ist in diesen eingebaut. In einer anderen Ausführungsform kann die thermische Konfigurationsvorrichtung 150 in dem Client 106, einer Kombination des Servers 102 und des Client 106, einem Computer, der die thermische Konfigurationsvorrichtung 150 außerhalb einer Server/Clientenarchitektur ausführt, oder dergleichen, arbeiten oder eingebaut sein. Beim Betrachten dieser Offenbarung werden viele Wege zum Ausführen einer thermischen Konfigurationsvorrichtung 150 offensichtlich sein.
  • Das Computernetzwerk 104 kann in verschiedenen Ausführungsformen ein lokales Netzwerk (“LAN”), eine drahtlose Verbindung, eine Internetverbindung oder dergleichen umfassen. Das Computernetzwerk 104 kann einen oder mehrere Schalter, Router, Datenkabel, Sender und dergleichen, die normalerweise mit einem Computernetzwerk 104 assoziiert sind, umfassen. In einer Ausführungsform umfasst das Computernetzwerk 104 mehrere Netzwerke, die zum Senden von Daten zwischen dem Server 102 und dem Client 106, zwischen einem Datenspeichergerät und dem Server 102 oder dergleichen funktionieren.
  • Eine drahtlose Verbindung für das Computernetzwerk 104 kann ein mobiles Telefonnetzwerk sein. Die drahtlose Verbindung kann auch ein Wi-F-Netzwerk nutzen, basierend auf irgendeinem der Institute of Electrical und Electronics Engineers (“IEEE”) 802.11 Standards. Alternativ kann die drahtlose Verbindung eine BLUETOOTH®-Verbindung sein. Zusätzlich kann die drahtlose Verbindung eine Hochfrequenzidentifikations-(“RFID”)Kommunikation benutzen, einschließlich RFID-Standards, die durch die Internationale Organisation für Standardisierung (“ISO”), die Internationale Elektrotechnische Kommission (“IEC”), die Amerikanische Gesellschaft für Testung und Material® (“ASTM”®), die DASH7TM Alliance und die EPCGlobalTM bereitgestellt werden.
  • Alternativ kann die drahtlose Verbindung eine ZigBee®-Verbindung, basierend auf dem IEEE 802 Standard nutzen. In einer Ausführungsform benutzt die drahtlose Verbindung eine Z-Wave®-Verbindung, wie sie durch Sigma Designs® entworfen wurde. Alternativ kann die drahtlose Verbindung eine ANT®- und/oder ANT+®-Verbindung, wie sie durch Dynastream® Innovations Inc. aus Cochrane, Kanada, definiert ist, benutzen.
  • Die drahtlose Verbindung kann eine Infrarotverbindung sein, die Verbindungen einschließt, die wenigstens der Infrared Physical Layer Specification (“IrPHY”) entsprechen, wie sie durch die Infrared Data Association® (“IrDA”®) definiert ist. Alternativ kann die drahtlose Verbindung eine Mobiltelefonnetzwerkkommunikation sein. Alle Standards und/oder Verbindungsarten umfassen die neueste Version und Revision der Standard- und/oder Verbindungsart seit dem Anmeldetag dieser Anmeldung.
  • 2A ist ein schematisches Blockdiagramm, das eine andere Ausführungsform eines Systems 200 zum Rekonfigurieren eines Computergerätes darstellt. Das System 200 umfasst einen Server 102, der Slots 108 und NVMe-Geräte 110 umfasst. Der Server 102, die Slots 108 und NVMe-Geräte 110 sind im wesentlichen ähnlich zu denen, die oben in Verbindung mit dem System 100 der 1 beschrieben wurden. Zusäztlich umfasst der Server 102 in der gezeigten Ausführungsform weitere Komponenten wie eine Stromversorgung 202, eine oder mehrere Erweiterungskarten 204 (z.B. Peripheral Component Interconnect Express-(“PCIe”)-Platinen oder dergleichen), ein oder mehrere Speichermodule 206 (z.B. dual in-line Speichermodul oder dergleichen), eine oder mehrere zentrale Verarbeitungseinheiten (“CPUs”) 208, einen Baseboard Management Controller (“BMC”) 250 und dergleichen. Die gezeigten Komponenten 202, 204, 206, 208, 250 sind für darstellende und nicht für begrenzende Zwecke; in einer anderen Ausführungsform kann ein Server 102 alternative und/oder zusätzliche Komponenten umfassen. Verschiedene Arten von Computerkomponenten für einen Server 102 oder ein anderes Computergerät werden für den Fachmann der Technik offensichlich werden.
  • In der gezeigten Ausführungsform koppeln Kabel 212 Ports 210 mit NVMe-Geräten 110. Zum Beispiel können in einer Ausführungsform Slots 108 für NVMe-Geräte 110 auf einer oder mehreren Rückseitenplatinen angeordnet sein und kann jedes Kabel 212 einen Port 210 auf einer Hauptplatine mit einem Stecker auf einer Rückseitenplatine für einen Slot 108 verbinden. In einer anderen Ausführungsform können Kabel 212 Hauptplatinenanschlüsse 210 direkt, ohne die Verwendung einer Rückseitenplatine, mit NVMe-Geräten 110 koppeln. Verschiedene Wege zum Verbinden von einem oder mehreren NVMe-Geräten 110 mit einem Server 102 oder einem anderen Computergerät, mit oder ohne Kabel 212, sind für den Fachmann der Technik offensichtlich.
  • In Ausführungsformen, die Kabel 212 umfassen, können bestimmte Konfigurationen der Kabel 212 vorteilhafter für die Kühlung sein als andere. Zum Beispiel können gekreuzte Kabel 212 einen kühlenden Luftstrom in bestimmten Regionen des Servers 102 blockieren und kann ein Neuanordnen der Kabel 212 (und möglicherweise entsprechender NVMe-Geräte 110) die thermischen Kennwerte des Servers 102 verbessern.
  • In der gezeigten Ausführungsform arbeitet die thermische Konfigurationsvorrichtung 150 auf dem oder ist wenigstens teilweise in dem BMC 250 enthalten. In verschiedenen Ausführungsformen kann das BMC 250 ein Side-Band- und/oder Out-of-Band Management Controller sein, welcher unter Verwenden des Stroms von der Stromversorgung 202, unabhängig von der (den) CPU(s) 208 oder einem Betriebssystem, das auf der (den) CPU(s) 208 betrieben wird, arbeitet. In bestimmten Ausführungsformen, kann ein BMC 250 Komponenten des Servers 102 unabhänig davon, ob ein Betriebssytsem gebootet wurde, überwachen und/oder managen. In weiteren Ausführungsformen kann ein BMC 250 seine eigenen Netzwerkverbindungen zum Kommunizieren mit einem Nutzer oder Administrator, Verbindungen mit einem Management-Bus zum Überwachen und/oder Konfigurieren von Komponenten des Servers 102 oder dergleichen umfassen.
  • In einer Ausführungsform kann die thermische Konfigurationsvorrichtung 150 das BMC 250 verwenden, um Orte für NVMe-Geräte 110 zu erfassen und/oder Orte für andere Komponenten des Servers 102 zu erfassen. In einer bestimmten Ausführungsform kann die thermische Konfigurationsvorrichtung 150 das BMC 250 verwenden, um thermische Kennwerte für eine aktuelle Konfiguration und für mögliche Rekonfigurationen zu bestimmen und eine Rekonfiguration basierend auf der bestimmten thermischen Konfiguration auswählen. In einer weiteren Ausführungsform kann die thermische Konfigurationsvorrichtung 150 das BMC 250 verwenden, um die ausgewählte Rekonfiguration an einen Nutzer oder Administrator für den Server 102 zu kommunizieren. Verschiedene Wege des Konfiurierens einer thermischen Konfigurationsvorrichtung 150, um ein BMC 250 oder Side-Band- und/oder Out-of-Band Management Controllers zu verwenden, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In der gezeigten Ausführungsform ist die Richtung eines Luftstroms 218 zum Kühlen durch den Pfeil angezeigt. In verschiedenen Ausführungsformen kann ein Luftstrom 218 zum Kühlen durch Kühlgebläse oder dergleichen in verschiedene Richtungen ausgerichtet sein. Zum Beispiel kann der Server 102 in einer Ausführungsform ein Rack-Mounted Server 102 sein, wie in 2A, die eine Draufsicht auf den Server 102 zeigt, und kann ein Luftstrom durch Gebläse innerhalb des Servers 102, durch auf einem Rack montiertes Gebläse oder dergleichen von der Vorderseite zur Rückseite, von einem kalten Gang zu einem heißen Gang eines Datenzentrums gerichtet ist. In einer anderen Ausführungsform kann der Server 102 außerhalb eines Racks oder einer Datenzentrumsumgebung montiert sein, und kann auf ähnliche Weise durch einen Luftstrom 218 in verschiedenen Richtungen gekühlt werden.
  • In der gezeigten Ausführungsform sind die NVMe-Geräte 110 mit Bezug auf den kühlenden Luftstrom 218 stromaufwärts von anderen Komponenten wie einer CPU 208b, einigen der Speichermodule 206 und dergleichen angeordnet. Somit kann der Luftstrom 218 durch die NVMe-Geräte 110 vorgeheizt werden, bevor er andere Komponenten erreicht. In bestimmten Ausführungsformen kann das Kühlen von anderen Komponenten schwieriger sein, wenn der Luftstrom 218 vorgeheizt ist. Zum Beispiel können Gebläsegeschwindigkeiten zum Kühlen bestimmter Komponenten erhöht werden, was zu einem erhöhten Stromverbrauch für das Kühlen und zu einem erhöhten Lärm führt. In einer anderen Ausführungsform können bestimmte Komponenten thermische Grenzen überschreiten, wenn der kühlende Luftstrom 218 durch NVMe-Geräte 110 vorgeheizt wird. Zum Beispiel kann eine Temperatur für die CPU 208b eine vorbestimmte Grenze überschreiten, was zu einer CPU-Drosselung führt, um eine Überhitzung zu vermeiden.
  • 2B zeigt eine Ausführungsform einer Rekonfiguration des Systems 200 der 2A. In bestimmten Ausführungsformen kann sich eine Konfiguration für einen Server 102 auf vorliegende Orte für NVMe-Geräte 110 und/oder andere Komponenten beziehen und eine kann sich Rekonfiguration auf alternative Orte für die NVMe-Geräte 110 und/oder andere Komponenten beziehen. In der gezeigten Ausführungsform umfasst die Rekonfiguration für das System 200 neue Orte für die NVMe-Geräte 110: in 2A sind die NVMe-Geräte 110 zusammen vor einer der CPUs 208b gruppiert und in 2B sind die NVMe-Geräte 110 gleichmäßiger über die verfügbaren Slots 108 verteilt. Die Rekonfiguration der 2B kann durch eine thermische Konfigurationsvorrichtung 150 ausgewählt werden, um Wärme von den NVMe-Geräten 110 über eine größere Region des Servers 102 als in der Originalkonfiguration der 2A zu verteilen. Das Verteilen der Wärme von den NVMe-Geräten 110 über eine größere Region des Servers 102 als in der Originalkonfiguration kann in bestimmten Ausführungsformen Probleme vermeiden, die mit dem Konzentrieren der Wärme in einer bestimmten Region verbunden sind. Zum Beispiel kann die CPU 208b in der Konfiguration der 2A gedrosselt werden, um ein Überhitzen zu verhindern, kann aber bei der Rekonfiguration der 2B, wo die Wärme von den NVMe-Geräten 110 gleichmäßiger verteilt wird, in voller Geschwindigkeit betrieben werden.
  • In einer anderen Ausführungsform kann die thermische Konfigurationsvorrichtung 150 eine Rekonfiguration auswählen, welche anders als die Rekonfiguration der 2B ist, welche die Wärme von dem einen oder den mehreren NVMe-Geräten 110 in einer besonderen Region des Servers 102 konzentriert. Zum Beispiel, wenn der Server 102 einen leeren Sockel für eine CPU 208 umfasst, kann eine Rekonfiguration neue Orte für die NVMe-Geräte 110 auf der Vorderseite des leeren Sockels umfassen, wo die konzentrierte Wärme in keinem Drosseln einer CPU 208 resultiert. Verschiedene Wege des Rekonfigurierens eines Servers 102 oder eines anderen Computergerätes werden unten in weiterem Detail erörtert.
  • 3 zeigt eine Ausführungsform einer Vorrichtung 300 zum Rekonfigurieren ein Computergerätes. Die Vorrichtung 300 umfasst eine Ausführungsform der thermischen Konfigurationsvorrichtung 150 mit einem Inventarmodul 302, einem thermischen Analysemodul 304 und einem Rekonfigurationsmodul 306, die unten beschrieben werden.
  • In der gezeigten Ausführungsform umfasst die thermische Konfigurationsvorrichtung 150 ein Inventarmodul 302, das einen oder mehrere Orte für ein oder mehrere NVMe-Geräte 110 erfasst. In verschiedenen Ausführungsformen kann ein Inventarmodul 302 ein Side-Band- oder ein Out-of-Band Management Controller wie ein BMC 250, einen Management-Bus, ein Datenspeichergerät, eine Datenbank, die Informationen über Komponenten und/oder Komponentenorte speichert, eine Hardwareschaltung, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zur Ausführung durch einen oder mehrere Prozessoren aufweist, umfassen. Andere Ausführungsformen können ähnliche oder äquivalente Geräte für ein Erfassen von Orten für ein oder mehrere NVMe-Geräte 110 umfassen.
  • Wie oben beschrieben, kann sich ein NVMe-Gerät 110, in verschiedenen Ausführungsformen, auf irgendein nicht-flüchtiges Abspeichergerät, nicht-flüchtiges Speicher-(“NVM”)Gerät, nicht-flüchtiges Laufwerk oder dergleichen beziehen, das mit dem NVM-Expressstandard übereinstimmt, wie er gegenwärtig existiert oder in der Zukunft entwickelt werden kann. Obwohl die thermische Konfigurationsvorrichtung 150 hierin für den Gebrauch mit NVMe-Geräten 110 offenbart wird, kann die vorliegende Offenbarung auf ähnliche Weise für Server 102 oder andere Computergeräte unter Verwenden anderer Arten von nicht-flüchtigen Speichergeräten, anderen oder zukünftigen nicht-flüchtigen Speicherprotokollen oder dergleichen, anwendbar sein.
  • In verschiedenen Ausführungsformen können ein oder mehrere NVMe-Geräte 110 mit einer Mehrzahl von Slots 108 derart gekoppelt sein, dass wenigstens einer der Slots 108 frei ist. Wie oben beschrieben kann sich ein Slot 108 in verschiedenen Ausführungsformen auf einen Sockel für einen Randstecker (z.B. einen Slot 108 für ein M.2 NVMe Modul) oder irgendeine andere Art von Sockel, Rack, Stecker oder dergleichen beziehen, der konfiguriert ist, um mit einem NVMe-Gerät 110 empfangen oder verbunden zu sein, unabhängig davon, ob der Slot 108 auf einer Hauptplatine, einer Rückseitenplatine, getrennt von der Hauptplatine, einer Erweiterungskarte 204 oder dergleichen angeordent ist. In weiteren Ausführungsformen kann sich ein freier Slot 108 auf einen Slot 108 beziehen, der nicht durch ein NVMe-Gerät 110 besetzt oder mit diesem verbunden ist. In bestimmten Ausführungsformen kann es die Präsenz des freien Slotss 108 ermöglichen, dass NVMe-Geräte 110 zu anderen Slots 108 bewegt werden, um die thermischen Kennwerte eines Computergerätes zu verbessern.
  • In bestimmten Ausführungsformen kann das eine oder die mehreren NVMe-Geräte 110 thermisch ein oder mehrere weitere Komponenten eines Computergerätes beeinflussen. Ein Computergerät kann irgendein Computer, Server 102, Client 106, Desktopcomputer, eine Workstation, ein Blade-Server oder dergleichen sein, welcher ein oder mehrere NVMe-Geräte 110 und weitere Komponenten umfasst. In einer bestimmten Ausführungsform kann die Vorrichtung 300 das Computergerät umfassen. In einer Ausführungsform kann die thermische Konfigurationsvorrichtung 150 auf dem Computergerät betrieben werden, welches das eine oder die mehreren NVMe-Geräte 110 und weitere Komponenten umfasst. In einer anderen Ausführungsform kann die thermische Konfigurationsvorrichtung 150 auf einem separaten Computer arbeiten und kann mit dem Computergerät, welches das eine oder die mehreren NVMe-Geräte 110 und weitere Komponenten umfasst, über einen Computer 104 kommunizieren.
  • In verschiedenen Ausführungsformen kann sich eine Komponente auf irgendein Teil, Element, Bestandteil oder Stück eines Computergerätes beziehen. Bestimmte Komponenten, wie ein Prozessor, Speichermodul 206, Erweiterungskarten 204 und dergleichen, können abnehmbar mit einer Hauptplatine des Computergeräts verbunden sein. Andere Komponenten, wie ein Plattformsteuergeräteknoten oder dergleichen, können nicht entfernbar (z.B. durch ein oberflächenmontiertes Löten) mit einer Hauptplatine des Computergeräts verbunden sein. Verschiedene Arten von Computergerätekomponenten werden beim Betrachten dieser Offenbarung offensichtlich sein. Zusätzlich können sich “weitere” Komponenten in bestimmten Ausführungsformen auf andere Komponenten als das eine oder die mehreren NVMe-Geräte 110, beziehen.
  • In bestimmten Ausführungsformen können ein oder mehrere NVMe-Geräte 110 ein oder mehrere weitere Komponenten eines Computergeräts thermisch auf verschiedenen Wegen beeinflussen. Im allgemeinen kann eine Komponente (wie ein NVMe-Gerät 110) thermisch eine andere Komponente beeinflussen, wenn die Präsenz oder der Betrieb der ersten Komponente irgendeine Wirkung auf die Temperatur, thermische Umgebung, Kühlung oder dergleichen für die zweite Komponente aufweist. Zum Beispiel kann ein NVMe-Gerät 110 in einer Ausführungsform eine andere Komponente thermisch durch Wärmeübertragung beeinflussen: Wärme, die durch das NVMe Gerät 110 erzeugt wird, kann zu einer anderen Komponente durch Leitung, Konvektion oder Strahlung übertragen werden. Andererseits kann Wärme von der anderen Komponente in einigen Ausführungsformen auf das NVMe-Gerät 110 übertragen werden, wenn das NVMe Gerät- 110 kühler ist.
  • In einer anderen Ausführungsform kann ein NVMe-Gerät 110 eine zweite Komponente durch Einwirken auf den kühlenden Luftstrom 218, der über die zweite Komponente streicht, thermisch beeinflussen. In einer bestimmten Ausführungsform können NVMe-Geräte 110 mit Bezug auf den kühlenden Luftstrom stromaufwärts der einen oder mehreren Komponenten angeordnet sein. Der kühlende Luftstrom 218 kann sich auf irgendeinen Strom von Umgebungs- oder geblasener Kühlluft beziehen, der auf die NVMe-Geräte 110 oder weitere Komponenten gerichtet ist oder in anderer Weise darüber strömt, um Verlustwärme zu absorbieren, und “stromaufwärts” kann anzeigen, dass der kühlende Luftstrom 218 über das “stromaufwärts” gelegene Gerät vor einer “stromabwärts” gelegenen Komponente strömt. Zum Beispiel kann der kühlende Luftstrom 218 von der Vorderseite zu der Rückseite eines Serverracks gerichtet sein und können die NVMe-Geräte 110 auf der Vorderseite eines Servers 102 angeordnet sein, mit weiteren Komponenten hinter den NVMe-Geräten 110.
  • Bei einem beispielhaften NVMe-Gerät 110, das auf eine andere Komponente durch Einwirken des kühlenden Luftstroms 218 einwirkt kann, selbst wenn das NVMe-Gerät 110 und die zweite Komponente dieselbe Temperatur haben, so dass kein Wärmetransfer zwischen dem NVMe-Gerät 110 und der zweiten Komponente auftritt, ein kühlender Luftstrom 218 durch Wärme von dem NVMe-Gerät 110 vorgeheizt werden, so dass der Luftstrom 218 eine geringere Wirkung zum Kühlen der zweiten Komponente aufweist. In einer anderen Ausführungsform kann ein NVMe-Gerät 110 eine oder mehrere weitere Komponenten durch physische Behinderung des kühlenden Luftstroms 218 für die weiteren Komponenten thermisch beenflussen. Verschiedene weitere Wege, wie ein oder mehrere NVMe-Geräte 110 ein oder mehrere weitere Komponenten eines Computergerätes thermisch beenflussen können, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In bestimmten Ausführungsformen kann das Inventarmodul 302 einen oder mehrere Orte für ein oder mehrere NVMe-Geräte 110 erfassen. In einer Ausführungsform kann das Erfassen eines Ortes für ein NVMe-Gerät 110 ein Bestimmen, welcher Slot 108 mit einem NVMe-Gerät 110 gekoppelt oder welches NVMe-Gerät darin angeordnet ist, umfassen. Zum Beispiel kann das Inventarmodul 302 ein BMC 250 verwenden, um zu identifizieren, welche NVMe-Geräte 110 vorhanden sind, in welchen Slots 108 die NVMe-Geräte 110 angeordnet sind und dergleichen, durch Überwachen von Management-Bus-Verbindungen zu den Rückseitenplatinen, zu den Slots 108 oder zu den NVMe-Geräten 110. In einer anderen Ausführungsform kann das Erfassen eines Ortes für ein NVMe-Gerät 110 ein Bestimmen einschließen, welche weiteren Komponenten thermisch durch das NVMe-Gerät 110 beeinflusst sein können. Zum Beispiel kann das Inventarmodul 302 Temperaturen von verschiedenen Komponenten während eines starken Gebrauchs von einem oder mehreren NVMe-Geräten 110 überwachen, um weitere Komponenten, welche thermisch betroffen sind, zu identifizieren. Verschiedene Wege zum Erfassen von NVMe-Geräteorten 110 werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In einer weiteren Ausführungsform kann das Inventarmodul 302 einen oder mehrere Orte für eine oder mehrere weitere Komponenten des Computergerätes erfassen, die thermisch durch das (die) NVMe-Gerät(e) 110 beeinflusst werden. Zum Beispiel kann das Inventarmodul 302 ein BMC 250, einen Management-Bus, ein thermisches Überwachen oder dergleichen verwenden, um Orte von einer oder mehreren CPUs 208, Speichermodulen 206, Erweiterungskarten 204 oder dergleichen zu identifizieren. In einer anderen Ausführungsform kann sich das Inventarmodul 302 auf eine Datenbank, Datenstruktur oder dergleichen beziehen, um Komponenten und Orte für ein Computergerät zu identifizieren. In bestimmten Ausführungsformen kann das Inventarmodul 302 einen Hardwarebestand verwenden durch Identifizieren, welche NVMe-Geräte 110 und weitere Komponenten für ein Computergerät vorhanden sind, und durch Erfassen, Bestimmen oder in anderer Weise Identifiziern von Orten für die NVMe-Geräte 110 und weiteren Komponenten.
  • In einer Ausführungsform erfasst das Inventarmodul 302 den einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte 110 (und/oder einer oder mehrerer weiterer Komponenten des Computergerätes) unter Verwenden einer Managementschnittstelle, die unabhängig von einer CPUbasierenden Schnittstelle für das eine oder die mehreren NVMe-Geräte 110 arbeitet. Eine Managementschnittstelle kann sich auf irgendeine Schnittstelle zum Überwachen und/oder Verwalten des Leistungsvermögens eines Computergerätes beziehen. In bestimmten Ausführungsformen kann eine CPU-basierende Managementschnittstelle in der Lage sein, während ein Betriebssystem läuft, NVMe-Geräte 110 und andere Komponenten zu erfassen. Es kann jedoch nicht praktikabel sein, ein Computergerät zu rekonfigurieren (z.B. durch Versetzen von einem oder mehreren der NVMe-Geräte 110 oder anderer Komponenten), während das Betriebssystem läuft und das Computergerät in Gebrauch ist. Zum Beispiel könnte, wenn die thermische Rekonfigurationsvorrichtung 150 eine Rekonfiguration auswählt, die einen neuen Ort für ein NVMe Gerät 110 einschließt, ein Neuanordnen des NVMe-Gerätes 110 ein Trennen des NVMe-Gerätes 110 in einer Zeit betreffen, wenn normalerweise von diesem erwartet wird, für Lese- oder Schreibdaten zur Verfügung zu stehen. Somit kann in bestimmten Ausführungsformen eine Managementschnittstelle bereitgestellt werden, die unabhängig von der CPU 208 arbeitet. Zum Beispiel kann in einer Ausführungsform ein BMC 250 eine Managementschnittstelle bereitstellen oder mit einer gekoppelt sein. Das BMC 250 kann mit einer Stromversorgung 202 gekoppelt sein und kann eingeschaltet sein und betrieben werden, wenn Strom zur Verfügung steht, unabhängig davon, ob ein Betriebssystem auf der CPU 208 läuft.
  • Durch Verwenden einer Managementschnittstelle, unabhängig von einer CPU 208, kann das Inventarisierungsmodul 302 in bestimmten Ausführungsformen ein oder mehrere Orte für das eine oder die mehreren NVMe-Geräte 110 erfassen, wenn ein Betriebssystem des Computergeräts nicht läuft. Ein Erfassen von NVMe-Geräten 110, wenn das Betriebssystem nicht läuft, kann ein Rekonfigurieren des Computergerätes erleichtern, während die NVMe-Geräte 110 nicht in Gebrauch sind.
  • In einer bestimmten Ausführungsform erfasst das Inventarmodul 302 einen oder mehrere Orte für das eine oder die mehreren NVMe-Geräte 110 (und/oder weitere Komponenten) in Reaktion auf ein Einschaltereignis für das Computergerät und/oder einer Änderung in der Konfiguration des einen oder der mehreren NVMe-Geräte 110. Das Einschaltereignis kann sich auf irgendwelche verschiedenen Ereignisse beziehen, die ein Stromeinschalten und ein Booten eines Computergerätes betreffen, wie ein Empfangen von Strom von einer Stromversorgung 202, ein Empfangen eines Neustartsignals von einem Nutzer oder dergleichen. In bestimmten Ausführungsformen können NVMe-Geräte 110 und andere Geräte hinzugefügt, entfernt oder neu angeordnet werden, während ein Computergerät abgeschaltet ist. Somit ermöglicht es ein Erfassen der Orte der NVMe-Geräte 110 oder anderer Komponenten in Reaktion auf ein Einschalten dem Inventarmodul 302, eine periodische Bestandsaufnahme durchzuführen, die Änderungen mit möglichen thermischen Wirkungen erfasst.
  • In verschiedenen Ausführungsformen kann sich eine Änderung in der Konfiguration für das eine oder die mehreren NVMe-Geräte 110 auf NVMe-Geräte 110 beziehen, die hinzugefügt, entfernt, neu angeordnet oder dergleichen sind. Wie oben beschrieben, können Computergeräte in bestimmten Ausführungsformen während einer Änderung in der Konfiguration abgeschaltet sein. Jedoch können NVMe-Geräte 110 in einigen Ausführungsformen im eingeschalteten Zustand austauschbar sein und können hinzugefügt, entfernt oder neu angeordnet werden, während das Computergerät arbeitet. Somit kann es ein Erfassen von NVMe-Geräte- 110 Orten in Reaktion auf ein Ändern in der Konfiguration dem Inventarmodul 302 ermöglichen, aktualisierte Orte zu erhalten, ohne auf ein Einschaltereignis zu warten.
  • In einer Ausführungsform kann das Inventarmodul 302 bestimmen, ob sich Kabel 212 kreuen, basierend auf einem Erfassen, welcher von dem einen oder den mehreren Ports 210 mit dem einen oder den mehreren NVMe-Geräten 110 gekoppelt ist. In einigen Ausführungsformen können Slots 108 mit einem Prozessor durch permanente Verbindungen gekoppelt sein. Zum Beispiel können Slots 108 auf einer Hauptplatine mit einem Prozessor durch PCIe-Leiterbahnen auf der Hauptplatine gekoppelt sein. In einer anderen Ausführungsform können Slots 108 jedoch über Kabel 212 abnehmbar mit Ports 210 für eine CPU 208 verbunden sein. Zum Beispiel können Kabel 212 in einer Ausführungsform, wo die Slots 108 auf einer Rückseitenplatine, separat von einer Hauptplatine angeordnet sind, nicht freie Slots 108 für Ports 210 auf der Hauptplatine verbinden. Jedoch können die Orte der Kabel 212 ein Kühlen eines Computergeräts beeinflussen. Zum Beispiel können Kabel 212 einen kühlenden Luftstrom 218 behindern, insbesondere wo sich Kabel 212 kreuzen. Somit kann das Inventarmodul 302 in bestimmten Ausführungsformen bestimmen, ob sich Kabel 212 kreuzen.
  • Bei einem Beispiel des Bestimmens, ob sich Kabel 212 kreuzen, kann das Inventarmodul 302 Informationen einschließen oder Zugriff auf Informationen haben, die sich auf die Topologie des Computergerätes beziehen und anzeigen, dass ein erster, zweiter, dritter und vierter Slot 108 physisch benachbart zu einem entsprechenden ersten, zweiten, dritten und vierten Port 210 angeschlossen sind. Wenn das Inventarmodul 302 erfasst, dass ein Kabel 212 den ersten Port 210 mit einem NVMe-Gerät 110 in dem zweiten Slot 108 koppelt und dass ein anders Kabel 212 den zweiten Port 210 mit einem NVMe-Gerät 110 in dem ersten Slot 108 koppelt, kann das Inventarmodul 302 bestimmen, dass sich die Kabel 212 kreuzen. In bestimmten Ausführungsformen kann das Inventarmodul 302 keinen Zugriff auf Informationen über den exakten Verlauf eines Kabels 212 haben, jedoch kann das Inventarmodul 302 erfassen, welche Ports 210 mit welchen NVMe-Geräten 110 gekoppelt sind, und kann auf eine Zuordnung zwischen den Ports 210 und den NVMe-Geräten 110 in den Slots 108 zugreifen oder diese Zuordnung erzeugen, um zu bestimmen, welche Kabel 212 sich kreuzen.
  • In der gezeigten Ausführungsform umfasst die thermische Konfigurationsvorrichtung 150 ein thermisches Analysemodul 304, das einen oder mehrere thermische Kennwerte für eine aktuelle Konfiguration und für eine oder mehrere mögliche Rekonfigurationen des Computergerätes bestimmt. In verschiedenen Ausführungsformen kann ein thermisches Analysemodul 304 einen Side-Band- oder Out-of-Band Management Controller umfassen, wie ein BMC 250, einen Management-Bus, Temperatursensoren, ein Datenspeichergerät, eine Datenbank, die Informationen über Teile, Einstellungen und/oder Applikationen speichert, eine Hardwareschaltung, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zum Ausführen durch einen oder mehrere Prozessoren speichert. Andere Ausführungsformen können ähnliche oder äquivalente Geräte zum Bestimmen der thermischen Kennwerte aufweisen.
  • In verschiedenen Ausführungsformen kann sich eine Konfiguration für ein Computergerät auf irgendeine Information beziehen, die betrachtet, wie das Computergerät konfiguriert ist, wie welche Komponenten eingeschlossen sind, wo die NVMe-Geräte 110 angeordnet sind, wo weitere Komponenten angeordnet sind und/oder dergleichen. In einer bestimmten Ausführungsform kann sich eine “Konfiguration” auf eine volle Bestandsaufnahme der NVMe-Geräte 110, weiterer Komponenten und Orte beziehen. In einer anderen Ausführungsform, kann eine “Konfiguration” bestimmte Teile und/oder Orte weglassen, kann sich jedoch dennoch auf eine Konfiguration beziehen. Eine derartige verkürzte Konfiguration kann immernoch für thermische Analsysen und Rekonfigurationszwecke nützlich sein. Eine “aktuelle” Konfiguration bezieht sich auf Informationen über die aktuellen oder gegenwärtigen NVMe-Geräte 110, Komponenten und/oder Orte, während sich eine “Rekonfiguration” oder eine “mögliche Rekonfiguration” auf eine Konfiguration bezieht, die sich in wenigstens einem Aspekt von der aktuellen oder gegenwärtigen Konfiguration unterscheidet.
  • In einer Ausführungsform umfasst die aktuelle Konfiguration Orte von einem oder mehreren NVMe-Geräten 110, wie sie durch das Inventarmodul 302 erfasst wurden. In einer weiteren Ausführungsform kann die aktuelle Konfiguration zusätzliche Informationen wie Orte weiterer Komponenten, eine Zuordnung zwischen einem oder mehreren Ports 210 und dem einen oder den mehreren NVMe-Geräten 110 (wobei die Zuordnung wenigstens in gewissem Umfang Kabel- 212 Orten entspricht) oder dergleichen umfassen. Entsprechend kann eine mögliche Rekonfiguration einen oder mehrere mögliche alternative Orte für ein oder mehrere NVMe-Geräte 110 oder weitere Komponenten, ein oder mehrere mögliche alternative Zuordnungen zwischen Ports 210 und NVMe-Geräten 110 und/oder dergleichen umfassen.
  • In verschiedenen Ausführungsformen kann das thermische Analysemodul 304 einen oder mehrere thermische Kennwerte für die aktuelle Konfiguration und für eine oder mehrere mögliche Rekonfigurationen bestimmen. Ein thermischer Kennwert kann sich in verschiedenen Ausführungsformen auf irgendeinen wärme- oder termperaturbezogenen Kennwert, eine Eigenschaft, ein Merkmal oder dergleichen beziehen, ob es sich auf das Computergerät als ganzes, auf eine besondere Region oder eine Komponente innerhalb des Computergerätes, auf ein besonderes Teilsystem oder dergleichen bezieht. Zum Beispiel kann ein thermischer Kennwert eine mittlere Temperatur, ein Spitzenstromverbrauch, ein mittlerer Stromverbrauch, eine CPU- 208 Temperatur, eine Speichertemperatur, eine NVMe-Geräte- 110 Temperatur, eine Gebläsegeschwindigkeit, eine Wahrscheinlichkeit einer temperaturbasierten CPU-Drosselung oder dergleichen sein. Verschiedene Arten der thermischen Kennwerte werden beim Betrachten dieser Offenbarung offensichtlich sein..
  • In bestimmten Ausführungsformen kann das thermische Analysemodul 304 thermische Kennwerte durch Messen aktueller thermischer Kennwerte, durch Projizieren ähnlicher thermischer Kennwerte unter Verwenden eines thermischen Modells oder dergleichen bestimmen. Zum Beispiel kann das thermische Analysemodul 304 für die aktuelle Konfiguration auf Temperatursensoren zugreifen, um thermische Kennwerte zu bestimmen. Bei einem weiteren Beispiel für eine aktuellee Konfiguration oder eine mögliche Rekonfiguration kann das thermische Analysemodul 304 thermische Kennwerte durch Erzeugen oder Analysieren eines thermischen Modells, basierend auf einer Teilinformation oder dergleichen, bestimmen.
  • In bestimmten Ausführungsformen bestimmt das thermische Analysemodul 304 einen oder mehrere thermische Kennwerte basierend auf Informationen, wie aktuelle Einstellungen für das Computergerät, Informationen von einem oder mehreren Sensoren für das Computergerät, Teilinformationen für ein oder mehrere NVMe-Geräte 110, Teilinformationen für die eine oder die mehreren weiteren Komponenten des Computergerätes und/oder Applikationskennwerte für das Computergerät. Aktuelle Einstellungen für das Computergerät können irgendwelche aktuellen Parameter einschließen, wie eine voreingestellte Temperatur, über der das CPU-Drosseln auftritt, eine aktuelle Gebläsegeschwindigkeitseinstellung, eine “Ruhe-”Stromeinstellung, die den CPU-Gebrauch begrenzt, um die Gebläsegeschwindigkeiten niedrig zu halten, installierte Applikationen des Computergeräts oder dergleichen. Zum Beispiel kann das thermische Analysemodul 304 thermische Kennwerte basiered auf einem Strommaximum der Gebläsegeschwindigkeitseinstellung oder dergleichen bestimmen.
  • In einer bestimmten Ausführungsform kann ein Computergerät einen oder mehrere Sensoren, wie Temperatursensoren, Gebläsegeschwindigkeitssensoren und dergleichen, einschließen und kann das thermische Analysemodul 304 thermische Kennwerte basierend auf den Informationen von einem oder mehreren Sensoren bestimmen. Zum Beispiel kann das thermische Analysemodul 304 einen thermischen Kennwert basierend auf einer aktuellen oder historischen Temperatur, einer aktuellen oder historischen Gebläsegeschwindigkeit oder dergleichen bestimmen.
  • In einer Ausführungsform kann das thermische Analysemodul 304 Teilinformationen für die NVMe-Geräte 110 oder Teilinformationen für eine oder mehrere weitere Komponenten des Computergerätes verwenden, um thermische Kennwerte zu bestimmen. Zum Beispiel kann das thermische Analysemodul 304 Produktdaten empfangen oder auf Daten zugreifen, die einen thermischen Strukturpunkt oder eine erwartete Größe der verbrauchten Wärme für ein NVMe-Gerät 110 oder eine andere Komponente anzeigen, und kann einen thermischen Kennwert basierend auf der erwarteten Größe der verbrauchten Wärme bestimmen.
  • In einer bestimmten Ausführungsform kann das thermische Analysemodul 304 einen thermischen Kennwert basierend auf einem Applikationskennwert für das Computergerät bestimmen. In verschiedenen Ausführungsformen kann ein Applikationskennwert irgendeine Information über die Kennwerte einer Applikation einschließen, beispielsweise ob eine Applikation CPU-intensiv oder speicherintensiv ist, wie häufig oder wie stark eine Applikation verwendet wird oder dergleichen. Zum Beispiel kann das thermische Analysemodul 304 einen gewöhnlichen Gebrauch identifizieren, eine CPU-schwere Applikation und einen thermischen Kennwert basierend auf einer Erwartung eines starken CPU-Gebrauchs bestimmen. In einer anderen Ausführungsform kann das thermische Analysemodul 304 bestimmen, dass ein Computergerät eine Medienserverapplikation sfrequentiert benutzt, und kann einen thermischen Kennwert basierend auf der Erwartung einer leichten CPU-Last mit schwerem Speicher- und Abspeicherungsgebrauch bestimmen. Verschiedene Wege, um einen thermischen Kennwert basierend auf aktuellen Einstellungen, Sensorinformationen, Teilinformationen und/oder Applikationskennwerten zu bestimmen, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In einer bestimmten Ausführungsform erzeugt das thermische Analysemodul 304 iterativ die eine oder die mehreren möglichen Rekonfigurationen durch iteratives Identifizieren von einer oder mehreren möglichen Änderungen der aktuellen Konfiguration, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten. Zum Beispiel kann das thermische Analysemodul 304 in einer Ausführungsform thermische Kennwerte für die aktuelle Konfiguration und für eine mögliche Rekonfiguration bestimmen, die sich in einer Weise von der aktuellen Konfiguration unterscheidet (z.B. durch Versetzen eines NVMe-Gerätes 110 in einen anderen Slot 108). Wenn die thermischen Kennwerte für die mögliche Rekonfiguration, verglichen mit der aktuellen Konfiguration, verbessert sind, kann das thermische Analysemodul 304 iterativ eine weitere mögliche Rekonfiguration erzeugen (z.B. durch weiteres Versetzen eines NVMe-Gerätes 110, durch Versetzen eines zusätzlichen NVMe-Gerätes 110).
  • Wenn, im Gegensatz dazu, die thermischen Kennwerte in der ersten Iteration nicht verbessert werden, kann das thermische Analysemodul 304 iterativ eine neue mögliche Rekonfiguration erzeugen, welche die aktuelle Konfiguration auf anderem Wege ändert. In bestimmten Ausführungsformen kann das Analysemodul 304 anfänglich einige zufällige Rekonfigurationen erzeugen und iterativ die möglichen Rekonfigurationen basierend auf den bestimmten thermischen Konfigurationen verbessern. Verschiedene Wege der iterativ erzeugten und analysierten möglichen Rekonfigurationen, um thermische Kennwerte zu verbessern, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In der gezeigten Ausführungsform umfasst die thermische Konfigurationsvorrichtung 150 ein Rekonfigurationsmodul 306, das eine Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen basierend auf dem einen oder den mehreren thermischen Kennwerten, die durch das thermische Analysemodul 304 bestimmt werden, auswählt. In verschiedenen Ausführungsformen kann ein Rekonfigurationsmodul 306 ein Side-Band- oder Out-of-Band Management Controller aufweisen, wie ein BMC 250, einen Management-Bus, ein Datenspeichergerät, eine Hardwareschaltung, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zum Ausführen durch einen oder mehrere Prozessoren speichert. Andere Ausführungsformen können ähnliche oder äquivalente Geräte zum Auswählen einer Rekonfiguration aufweisen.
  • In verschiedenen Ausführungsformen kann sich das Auswählen einer Rekonfiguration auf ein Identifizieren, Auswählen oder Aussuchen einer Rekonfiguration beziehen, um mit einem Nutzer oder Administrator zu kommunizieren, der eingesetzt wird, um das Computergerät tatsächlich zu rekonfigurieren In verschiedenen Ausführungsformen kann das Rekonfigurationsmodul 306 eine Rekonfiguration aus den möglichen Rekonfigurationen auswählen, für die das thermische Analysemodul 304 thermische Kennwerte auf verschiedenen Wegen bestimmt hat. Das Rekonfigurationsmodul 306 wählt eine Rekonfiguration basierend auf den einen oder den mehreren bestimmten thermischen Kennwerten aus. In bestimmten Ausführungsformen kann das Rekonfigurationsmodul 306 mehr oder weniger Gewicht auf bestimmte vordefinierte thermische Konfigurationen legen. Zum Beispiel kann das Rekonfigurationsmodul 306 in einer Ausführungsform eine Rekonfiguration auswählen, die einen wichtigeren oder stark gewichteten thermischen Kennwert verbessert, selbst wenn die ausgewählte Rekonfiguration einen weniger wichtigen oder weniger stark gewichteten thermischen Kennwert verschlechtert.
  • In einer Ausführungsform umfasst die ausgewählte Rekonfiguration einen neuen Ort für wenigsten ein NVMe-Gerät 110. Weil NVMe-Geräte 110 bis zu 25 Watt Strom in einem kleinen Raum verteilen können, kann ein Neuanordnen eines NVMe-Gerätes 110 einen oder mehrere thermische Kennwerte eines Computergerätes signifikant verbessern. In einer Ausführungsform kann das Rekonfigurationsmodul 306 eine Rekonfiguration basierend auf einer Konzentration der Wärme von den NVMe-Geräten 110 in einer besonderen Region auswählen. Eine “Region” kann sich auf ein Volumen oder eine Fläche innerhalb eines Computergerätes beziehen. In einigen Ausführungsformen kann eine Konzentration der Wärme in einer besonderen Region eine Ausführung in wichtigeren Regionen verbessern. Zum Beispiel kann das Rekonfigurationsmodul 306, in einem Computergerät mit einem freien CPU-Sockel, eine Rekonfiguration auswählen, welche die Positionen der NVMe-Geräte 110 nahe zu oder vor dem freien CPU-Sockel auswählt, so dass eine oder mehrere andere CPUs 208 mit nicht vorgeheizter Luft gekühlt werden können.
  • In einer anderen Ausführungsform kann das Rekonfigurationsmodul 306 eine Rekonfiguration basierend auf einer Wärmeverteilung von dem einen oder den mehreren NVMe-Geräte 110 über eine größere Region als in der aktuellen Konfiguration auswählen. Zum Beispiel können NVMe-Geräte 110 in der aktuellen Konfiguration fest zusammengeführt sein und kann sich die Wärme in einer bestimmten Fläche konzentieren. In der ausgewählten Rekonfiguration können die NVMe-Geräte 110, im Gegensatz dazu, neu angeordnet sein, so dass die Wärme gleichmäßiger verteilt wird. Ein Verteilen der Wärme über eine größere Region kann ein Überheizen, ein CPU-Drosseln und dergleichen, welches auftreten könnte, wo sich Wärme in einer kleineren Region konzentriert ist, vermeiden.
  • In bestimmten Ausführungsformen kann das Rekonfigurationsmodul 306 eine Rekonfiguration auswählen, die einen neuen Ort für eine oder mehrere weitere Komponenten des Computergerätes einschließt. Zum Beispiel kann, anstelle eines Versetzens der NVMe-Geräte 110, um näher an einem freien CPU-Sockel zu sein, eine CPU 208 zu dem freien Sockel bewegt werden. Viele weitere Wege, um eine Rekonfiguration für ein Computergerät auszuwählen, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • 4 zeigt eine andere Ausführungsform einer Vorrichtung 400 zum Rekonfigurieren eines Computergerätes. Die Vorrichtung 400 umfasst eine Ausführungsform der thermischen Konfigurationsvorrichtung 150 mit einem Inventarmodul 302, einem thermischen Analysemodul 304 und einem Rekonfigurationsmodul 306, welche im wesentlichen ähnlich sind zu denen, die oben mit Bezug auf die Vorrichtung 300 der 3 beschrieben wurden. Das thermische Analysemodul 304 kann in verschiedenen Ausführungsformen ein Triggermodul 402, das unten beschrieben wird, umfassen. Das Rekonfigurationsmodul 306 kann in verschiedenen Ausführungsformen ein Prioritätsmodul 404, das unten beschrieben wird, umfassen. Zusätzlich umfasst die thermische Konfigurationsvorrichtung 150 in bestimmten Ausführungsformen ein Meldemodul 406, das unten beschrieben wird.
  • In der gezeigten Ausführungsform umfasst das thermische Analysemodul 304 ein Triggermodul 402, das das thermische Analysemodul 304 aktiviert, um einen oder mehrere thermische Kennwerte in Reaktion auf einen Trigger zu bestimmen. In verschiedenen Ausführungsformen kann ein Triggermodul 402 einen Side-Band- oder Out-of-Band Management Controller, wie ein BMC 250, einen Management-Bus, Temperatursensoren, ein Datenspeichergerät, eine Datenbank, die Informationen über eine Konfiguration des Computergerätes speichert, eine Hardwareschaltung, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zum Ausführen durch einen oder mehrere Prozessoren speichert, umfassen. Andere Ausführungsformen können ähnliche oder äquivalente Geräte zum Aktivieren des Analysemoduls 304 umfassen.
  • In bestimmten Ausführungsformen kann sich ein Trigger auf irgendein Ereignis, eine Bedingung oder einen Satz von Ereignisen und/oder Bedingungen beziehen, die vorschlagen, dass die aktuelle Konfiguration des Computergerätes nicht zufriedenstellend ist oder durch eine Rekonfiguration verbessert werden könnte. Das Inventarmodul 302 kann periodisch Orte für NVMe-Geräte 110 bestimmen (z.B. beim Starten oder in Reaktion auf eine Änderung der Konfiguration) und das Triggermodul 402 kann das thermische Analysemodul 304 aktivieren, um thermische Kennwerte für mögliche Rekonfigurationen in Reaktion auf einen Trigger zu bestimmen, so dass der Trigger die thermische Analyse aktiviert, die in dem Rekonfigurationsmodul 306 ein Auswählen einer Rekonfiguration ergibt.
  • In einer Ausführungsform kann ein Trigger für das Triggermodul 402, um das thermische Analysemodul 304 zu aktivieren, ein CPU-Drosseln, falls diese einen Drosselschwellwert übersteigt, umfassen. Ein Drosselschwellwert kann sich auf ein Maß oder eine Charakterisierung beziehen, die akzeptierbare Pegel der CPU-Drosselung von Pegeln der CPU-Drosselung unterscheidet, welche ein thermsiches Problem, eine Notwendigkeit für eine thermische Rekonfiguration oder dergleichen anzeigen. Zum Beispiel kann ein Drosselschwellwert in einer Ausführungsform überstiegen werden, wenn irgendeine CPU-Drosselung auftritt. In einer anderen Ausführungsform kann ein Drosselschwellwert überstiegen werden, wenn ein CPU-Drosseln oberhalb einer Schwellwert-Rate oder -Häufigkeit auftritt. Verschiedene Wege zum Definieren eines CPU-Drosselschwellwertes und zum Bestimmen, ob der Drosselschwellwert überstiegen ist, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In einer anderen Ausführungsform kann ein Trigger für das Triggermodul 402, um das thermische Analysemodul 304 zu aktivieren, eine Temperatur einschließen, falls diese einen Temperaturschwellwert übersteigt. Ein Temperaturschwellwert kann sich auf ein Messen oder Charakterisieren beziehen, das akzeptable Temperaturpegel von Temperaturpegeln unterscheidet, welche ein thermisches Problem, eine Notwendigkeit für eine thermische Rekonfiguration oder dergleichen anzeigen. Zum Beispiel kann ein Temperaturschwellwert in einer Ausführungsform überstiegen werden, wenn eine CPU-Temperatur, eine Speichertemperatur oder dergleichen über ein vordefiniertes Maximum steigt. In einer anderen Ausführungsform kann ein Temperaturschwellwert überstiegen werden, wenn eine mittlere Temperatur für das Computergerät höher ist als eine Entwurfstemperatur. Verschiedene Wege des Definierens eines Temperaturschwellwertes und eines Bestimmens, ob der Temperaturschwellwert überstiegen ist, werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In einer anderen Ausführungsform kann ein Trigger für das Triggermodul 402, um das thermische Analysemodul 304 zu aktivieren, eine neue Konfiguration umfassen, die durch das Inventarmodul 302 erfasst wird. Wenn das Inventarmodul 302 zum Beispiel erfasst, dass ein NVMe-Gerät 110 oder eine andere Komponente hinzugefügt, entfernt oder neu angeordnet wird, kann das Triggermodul 402 das thermische Analysemodul 304 aktivieren, um thermische Kennwerte von möglichen Rekonfigurationen zu bestimmen, im Fall, dass eine Rekonfiguration die neue Konfiguration verbessern kann. In bestimmten Ausführungsformen kann der Trigger für das Triggermodul 402 irgendeinen Satz oder eine Kombination von individuellen Triggern umfassen, einschließlich eines CPU-Drosseln, falls diese einen Drosselschwellwert übersteigt, eine Temperatur, falls diese einen Temperaturschwellwert übersteigt, und/oder eine neue Konfiguration, die durch das Inventarisierungsmodul 302 erfasst wird.
  • In der gezeigten Ausführungsform verwendet das Rekonfigurationsmodul 306 ein Prioritätsmodul 404, um eine Rekonfiguration basierend auf einer Messung, die durch einen Nutzer oder Administrator des Computergerätes priorisiert wird, auszuwählen. In verschiedenen Ausführungsformen kann ein Prioritätsmodul 404 einen Side-Band- oder Out-of-Band Management Controller, wie ein BMC 250, einen Management-Bus, Temperatursensoren, ein Datenspeichergerät, ein Nutzerschnittstellengerät für ein Anfragen und Empfangen von priorisierten Messwerten, eine Hardwareschaltung, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zum Ausführen durch einen oder mehrere Prozessoren speichert, umfassen. Andere Ausführungsformen können ähnliche oder äquivalente Geräte für ein Auswählen einer Rekonfiguration basierend auf einer priorisierten Messung umfassen.
  • In verschiedenen Ausführungsformen kann das Rekonfigurationsmodul 306 eine Rekonfiguration auswählen, basierend auf einer vorbestimmten Messung oder eines Objektes für thermische Kennwerte des Computergerätes. Zum Beispiel kann das Rekonfigurationsmodul 306 eine Rekonfiguration auswählen, um eine mittlere Temperatur zu reduzieren, eine Temperatur für eine besondere Komponente (z.B. eine CPU-Temperatur) zu reduzieren, eine Spitzentemperatur zu reduzieren oder dergleichen. In einer bestimmten Ausführungsform kann eine vordefinierte Basis zum Auswählen einer Rekonfiguration jedoch eigene Prioritäten eines Nutzers nicht zurückweisen. Somit ermöglicht das Prioritätsmodul 404 im allgemeinen einem Nutzer eine Messung als eine Basis für das Rekonfigurationsmodul 306 zu priorisieren, um eine Rekonfiguration auszuwählen.
  • Eine priorisierte Messung kann sich auf irgendeine oder eine Menge von Messungen beziehen, die ein Nutzer als eine Basis zum Ausführen einer Rekonfiguration bereitgestellt hat. Zum Beispiel kann in verschiedenen Ausführungsformen eine priorisierte Messung eine CPU-Temperatur, eine Speicherkartentemperatur, eine Erweiterungskarten- 204 Temperatur, eine Gebläsegeschwindigkeit, eine akustische Messung oder dergleichen umfassen. In einer Ausführungsform kann ein Nutzer eine Temperatur für eine besondere Komponente basierend darauf, wie stark die Komponente verwendet wird, wie empfindlich die Komponente für hohe Temperaturen ist, wie schwierig die Komponente zu ersetzen ist oder dergleichen, priorisieren und das Rekonfigurationsmodul 306 kann die priorisierte Messung von dem Prioritätsmodul 404 verwenden, um eine Rekonfiguration auszuwählen, welche die Temperatur für die Komponente verbessert. In einer anderen Ausführungsform kann ein Nutzer eine Gebläsegeschwindigkeit oder eine akustische Messung priorisieren (wie einen Schalldruckpegel) und kann das Rekonfigurationsmodul 306 die priorisierte Messung von dem Prioritätsmodul 404 verwenden, um eine Rekonfiguration auszuwählen, welche die Gebläsegeschwindigkeit oder eine andere akustische Messung verbessert, selbst wenn die Rekonfiguration andere thermische Kennwerte verschlechtert.
  • In einer bestimmten Ausführungsform kann das Prioritätsmodul 404 mit einem Nutzer kommunizieren, um eine priorisierte Messung durch Darstellen einer Schnittstelle für ein Priorisieren einer Messung, unter Verwenden einer Web-Schnittstelle, einer Dialogboxschnittstelle, einer Konfigurationsdatei oder dergleichen zu identifizieren. Verschiedene Wege zum Erhalten und Verwenden einer priorisierten Messung als eine Basis für ein Auswählen einer Rekonfiguration werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In der gezeigten Ausführungsform umfasst die thermische Konfigurationsvorrichtung 150 ein Meldemodul 406, das die ausgewählte Rekonfiguration an einen Nutzer kommuniziert. In verschiedenen Ausführungsformen kann ein Meldemodul 406 einen Side-Band- oder Out-of-Band Management Controller, wie ein BMC 250, einen Monitor, eine Frontplattenanzeige für einen auf einem Rack-Mounted Server, eine E-Mail, ein Text oder eine Web-Schnittstelle, ein Datenspeichergerät, eine Datenbank, welche die ausgewählte Rekonfiguration speichert, ein programmierbares Hardwaregerät, einen oder mehrere Prozessoren und/oder ein computerlesbares Speichermedium, das einen Code zum Ausführen durch einen oder mehrere Prozessoren speichert, umfassen. Andere Ausführungsformen können ähnliche oder äquivalente Geräte für ein Kommunizieren der ausgewählten Rekonfiguration an einen Nutzer umfassen.
  • In verschiedenen Ausführungsformen kann das Meldemodul 406 die ausgewählte Rekonfiguration von dem Rekonfigurationsmodul 306 an einen Nutzer kommunizieren. In weiteren Ausführungsformen kann der Nutzer das Computergerät entsprechend der ausgewählten Rekonfiguration rekonfigurieren. Somit kann das Meldemodul 406 die ausgewählte Rekonfiguration durch Bereitstellen einer Beschreibung der ausgewählten Rekonfiguration, durch Instruktionen für ein Rekonfigurieren des Computergerätes oder dergleichen kommunizieren.
  • In verschiedenen Ausführungsformen kann das Meldemodul 406 die ausgewählte Rekonfiguration zu dem Nutzer auf verschiedenen Wegen unter Verwenden verschiedener Arten von Schnittstellen kommunizieren. Zum Beispiel kann das Meldemodul 406 dem Nutzer in bestimmten Ausführungsformen eine Webseite, eine gesendete E-Mail, eine gesendete Textmitteilung oder dergleichen mit Informationen über die ausgewählte Rekonfiguration f anzeigen. In einer anderen Ausführungsform kann das Meldemodul 406 eine Frontplattenanzeige für einen Rack-Mounted Server verwenden, um Informationen über die ausgewählte Rekonfiguration anzuzeigen. Verschiedene Wege des Kommunizierens von Informationen über die ausgewählte Rekonfiguration werden beim Betrachten dieser Offenbarung offensichtlich sein.
  • In einer bestimmten Ausführungsform kann das Meldemodul 406 die ausgewählte Rekonfiguration durch Aktivieren eines Lichtes (z.B. einer lichtemittierenden Diode) an einem entsprechenden leeren NVMe-Slot 108 kommunizieren, um einen neuen Ort für wenigstens ein NVMe-Gerät 110 anzuzeigen. Zum Beispiel kann in einer Ausführungsform eine Rückseitenplatine mit mehreren NVMe-Slots 108 ein Licht für jeden Slot 108 umfassen und kann das Meldemodul 406 ein Licht aktivieren, um anzuzeigen, dass ein NVMe-Gerät 110 in den entsprechenden Slot 108 versetzt werden sollte. In einer weiteren Ausführungsform kann das Meldemodul 406 mehrere Lichter in einer Reihenfolge aktivieren, um anzuzeigen, wo ein erstes NVMe-Gerät 110 angeordnet werden sollte, wo ein zweites NVMe-Gerät 110 angeordnet werden sollte und so weiter. In bestimmten Ausführungsformen kann das Meldemodul 406 in der Lage sein, derartige Lichter zu betreiben, wenn das Computergerät mit einer Stromquelle verbunden ist, unabhängig davon, ob das Computergerät gebootet ist oder ein Betriebssystem läuft. Zum Beispiel kann ein Meldemodul 406 einen BMC 250 betreiben, selbst wenn eine CPU 208 nicht läuft. Somit kann das Meldemodul 406 durch Aktivieren der Lichter der Slots 108, um Orte für NVMe-Geräte 110 zu kommunizieren, die ausgewählte Rekonfiguration kommunizieren, wenn ein Betriebssystem für das Computergerät nicht läuft. Ein Kommunizieren der ausgewählten Rekonfiguration ohne Verwenden eines laufenden Betriebssystems kann es dem Nutzer ermöglichen, ein System zu rekonfigurieren, ohne einen Heißaustausch von NVMe-Geräten 110 vorzunehmen oder in anderer Weise störend in das laufende Betriebssystem einzugreifen.
  • 5 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens 500 zum Rekonfigurieren eines Computergerätes darstellt. Das Verfahren 500 beginnt und erfasst bei 502 Orte von einem oder mehreren NVMe-Geräten 110. In einer Ausführungsform erfasst das Inventarmodul 302 bei 502 die Orte für die NVMe-Geräte 110. Das Verfahren 500 bestimmt bei 504 einen oder mehrere thermische Kennwerte für eine aktuelle Konfiguration, die Orte von dem einen oder den mehreren NVMe-Geräten 110 und der einen oder den mehreren weiteren Komponenten umfasst, und eine oder mehrere mögliche Rekonfigurationen des Computergerätes. In einer Ausführungsform bestimmt das thermische Analysemodul 304 bei 504 den einen oder die mehreren thermischen Kennwerte. Das Verfahren 500 wählt bei 506 eine Rekonfiguration aus den einen oder den mehreren möglichen Rekonfigurationen basierend auf dem einen oder den mehreren Kennwerten aus, und das Verfahren 500 endet. In einer Ausführungsform wählt das Rekonfigurationsmodul 306 bei 506 die Rekonfiguration aus.
  • 6 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines anderen Verfahrens 600 zum Rekonfigurieren eines Computergerätes darstellt. Das Verfahren 600 beginnt und erfasst bei 602 Orte von einem oder mehreren NVMe-Geräten 110. In einer Ausführungsform erfasst das Inventarmodul 302 bei 602 die Orte für die NVMe-Geräte 110. Das Verfahren 600 erfasst bei 604 einen oder mehrere Orte für eine oder mehrere weitere Komponenten des Computergerätes. In einer Ausführungsform erfasst das Inventarmodul 302 bei 604 die Orte für weitere Komponenten. Das Verfahren 600 bestimmt bei 606, ob ein Trigger aufgetreten ist. In einer Ausführungsform bestimmt das Triggermodul 402 bei 606, ob der Trigger aufgetreten ist. Wenn der Trigger nicht aufgetreten ist, endet das Verfahren 600.
  • Wenn der Trigger aufgetreten ist, bestimmt das Verfahren 600 bei 608 einen oder mehrere thermische Kennwerte für eine aktuelle Konfiguration des Computergerätes. In einer Ausführungsform bestimmt das thermische Analysemodul 304 bei 608 die aktuellen thermischen Kennwerte. Das Verfahren 600 erzeugt bei 610 eine mögliche Rekonfiguration und bestimmt bei 612 einen oder mehrere thermische Kennwerte für die Rekonfiguration. In einer Ausführungsform erzeugt das thermische Analysemodul 304 bei 610 die mögliche Rekonfiguration und bestimmt bei 612 die thermischen Kennwerte für die Rekonfiguration. Das Verfahren 600 bestimmt bei 614, ob eine priorisierte Messung durch die bestimmten thermischen Kennwerte für die Rekonfiguration erfüllt ist. In einer Ausführungsform kann das Rekonfigurationsmodul 306 bei 614 bestimmen, ob die priorisierte Messung erfüllt ist. Wenn die priorisierte Messung nicht erfüllt ist, fährt das Verfahren 600 fort und erzeugt bei 610 eine andere mögliche Rekonfiguration.
  • Wenn die prioriserte Messung erfüllt ist, wählt das Verfahren 600 bei 616 die Rekonfiguration basierend auf den bestimmten thermischen Kennwerten aus. In einer Ausführungsform wählt das Rekonfigurationsmodul 306 bei 616 die Rekonfiguration aus. Das Verfahren 600 kommuniziert bei 618 die ausgewählte Rekonfiguration an einen Nutzer und das Verfahren 600 endet. In einer Ausführungsform kommuniziert das Meldemodul 406 bei 618 die ausgewählte Rekonfiguration an einen Nutzer.
  • Ausführungsformen können in anderer spezifischer Form praktiziert werden. Die beschriebenen Ausführungsformen werden in jeder Hinsicht nur als darstellend und nicht als begrenzend betrachtet. Der Umfang der Erfindung wird deshalb eher durch die anhängenden Ansprüche angezeigt als durch die vorhergehende Beschreibung. Alle Änderungen, welche innerhalb der Bedeutung und dem Bereich der Äquivalenz der Ansprüche fallen, sind innerhalb des Schutzumfangs einbezogen.
  • 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 Standard [0047]

Claims (20)

  1. Vorrichtung, umfassend: – ein Inventarmodul, das einen oder mehrere Orte für ein oder mehrere Non-Volatile Memory Express-(“NVMe”)Geräte erfasst, die mit einer Mehrzahl von Slots derart gekoppelt sind, dass wenigstens einer der Slots frei ist, wobei das eine oder die mehreren NVMe-Geräte thermisch eine oder mehrere weitere Komponenten eines Computergerätes beeinflussen; – ein thermisches Analysemodul, das einen oder mehrere thermische Kennwerte für eine aktuelle Konfiguration bestimmt, welche Orte des einen oder der mehreren NVMe-Geräte und der einen oder der mehreren Komponenten umfasst, sowie einen oder mehrere thermische Kennwerte für eine oder mehrere mögliche Rekonfigurationen und; – ein Rekonfigurationsmodul, das eine Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten auswählt.
  2. Vorrichtung nach Anspruch 1, wobei das eine oder die mehreren NVMe-Geräte mit Bezug auf den kühlenden Luftstrom stormaufwärts von der einen oder den mehreren weiteren Komponenten angeordnet sind.
  3. Vorrichtung nach Anspruch 1, wobei das Inventarmodul einen oder mehrere Orte für die eine oder die mehreren weiteren Komponenten des Computergerätes erfasst.
  4. Vorrichtung nach Anspruch 1, wobei das Inventarmodul basierend auf einem Erfassen, welche von einem oder der mehreren Ports mit dem einen oder den mehreren NVMe-Geräten gekoppelt sind bestimmt, ob sich Kabel kreuzen, wobei die aktuelle Konfiguration ferner eine Zuordnung zwischen dem einen oder den mehreren Ports und dem einen oder den mehreren NVMe-Geräten umfasst, und wobei die eine oder die mehreren möglichen Rekonfigurationen eine oder mehrere mögliche alternative Zuordnungen umfassen.
  5. Vorrichtung nach Anspruch 1, wobei das Inventarmodul die einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte unter Verwenden einer Managementschnittstelle erfasst, die unabhängig von einer auf einer zentralen Verarbeitungseinheit (“CPU”) basierenden Schnittstelle für das eine oder die mehreren NVMe-Geräte arbeitet.
  6. Vorrichtung nach Anspruch 5, wobei das Inventarmodul den einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte erfasst, wenn ein Betriebssystem für das Computergerät nicht läuft.
  7. Vorrichtung nach Anspruch 1, wobei das Inventarmodul den einen oder die mehreren Orte für das eine oder die mehreren NVMe-Geräte in Reaktion auf ein oder mehrere eines Einschaltereignisses für das Computergerät und einer Änderung in der Konfiguration des einen oder der mehreren NVMe-Geräte erfasst.
  8. Vorrichtung nach Anspruch 1, wobei das thermische Analysemodul den einen oder die mehrern thermischen Kennwerte bestimmt, basierend auf ein oder mehrere von: – Stromeinstellungen für das Computergerät, – Informationen von einem oder mehreren Sensoren des Computergeräts, – Teilinformationen für das eine oder die mehreren NVMe-Geräte, – Teilinformationen für die eine oder die mehreren weiteren Komponenten des Computergerätes, und – Applikationskennwerten für das Computergerät.
  9. Vorrichtung nach Anspruch 1, wobei das thermische Analysemodul basierend auf dem einen oder der mehreren bestimmten thermischen Kennwerten iterativ die eine oder die mehreren möglichen Rekonfigurationen durch ein iteratives Identifizieren von einer oder mehreren möglichen Änderungen der aktuellen Konfiguration erzeugt.
  10. Vorrichtung nach Anspruch 1, ferner ein Triggermodul umfassend, welches das thermische Analysemodul aktiviert, um den einen oder die mehreren thermischen Kennwerte in Reaktion auf einen Trigger zu bestimmen, wobei der Trigger ein oder mehrere einer zentralen Verarbeitungseinheits-(“CPU”) Drosselung, falls diese einen Drosselschwellwert übersteigt, einer Temperatur, falls diese einen Temperaturschwellwert übersteigt, und einer neuen Konfiguration, die durch das Inventarisierungsmodul erfasst wird, umfasst.
  11. Vorrichtung nach Anspruch 1, wobei die ausgewählte Rekonfiguration einen neuen Ort für wenigstens ein NVMe-Gerät umfasst, basierend auf einem von: einem Konzentrieren der Wärme von dem einen oder den mehreren NVMe-Geräten in einer besonderen Region und einem Verteilen der Wärme von dem einen oder den mehreren NVMe-Geräten über eine größere Region als in der aktuellen Konfiguration.
  12. Vorrichtung nach Anspruch 1, wobei das Rekonfigurationsmodul die ausgewählte Rekonfiguration basierend auf einer Messung, welche durch einen Nutzer priorisiert wird, auswählt, wobei die priorisierte Messung eines von einer zentralen Verarbeitungseinheits-(“CPU”)Temperatur, einer Speichertemperatur, einer Erweiterungskartentemperatur, einer Gebläsegeschwindigkeit und einer akustischen Messung umfasst.
  13. Vorrichtung nach Anspruch 1, ferner ein Meldemodul umfassend, das die ausgewählte Rekonfiguration an einen Nutzer kommuniziert.
  14. Vorrichtung nach Anspruch 13, wobei ein Kommunizieren der ausgewählten Rekonfiguration ein Aktivieren eines Lichtes umfasst, das einem freien NVMe-Slot entspricht, um einen neuen Ort für wenigstens ein NVMe-Gerät anzuzeigen, wenn ein Betriebssystem für das Computergerät nicht läuft.
  15. Vorrichtung nach Anspruch 1, ferner das Computergerät umfassend.
  16. Verfahren, umfassend: – Erfassen von einem oder mehreren Orten für ein oder mehrere Non-Volatile Memory Express-(“NVMe”)Geräte, die mit einer Mehrzahl von Slots derart gekoppelt sind, dass wenigsten einer der Slots frei ist, wobei das eine oder die mehreren NVMe-Geräte thermisch eine oder mehrere weitere Komponenten eines Computergerätes beeinflussen; – Bestimmen eines oder mehrerer thermische Kennwerte für eine aktuelle Konfiguration, die Orte für das eine oder die mehreren NVMe-Geräte und der einen oder den mehreren weiteren Komponenten umfasst, sowie eines oder mehrerer thermischer Kennwerte für eine oder mehrere mögliche Rekonfigurationen; und – Auswählen einer Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten.
  17. Verfahren nach Anspruch 16, ferner ein Erfassen von einem oder mehreren Orten für die eine oder die mehreren weiteren Komponenten des Computergerätes umfassend.
  18. Verfahren nach Anspruch 16, wobei ein Bestimmen des einen oder der mehreren thermischen Kennwerte in Reaktion auf einen Trigger erfolgt, wobei der Trigger ein oder mehrere einer zentralen Verarbeitungseinheits-(“CPU”)Drosselung, falls diese einen Drosselschwellwert übersteigt, einer Temperatur, falls diese einen Temperaturschwellwert übersteigt, und einer neuen Konfiguration für das Computergerät umfasst.
  19. Verfahren nach Anspruch 16, ferner ein Kommunizieren der ausgewählten Rekonfiguration an einen Nutzer umfassend.
  20. Programmprodukt, umfassend ein computerlesbares Speichermedium, das einen Code speichert, der durch einen Prozessor ausführbar ist, wobei der ausführbare Code einen Code umfasst zum Ausführen von: – einem Erfassen von einem oder mehreren Orten für ein oder mehrere Non-Volatile Memory Express-(“NVMe”)Geräte, die mit einer Mehrzahl von Slots derart gekoppelt sind, dass wenigsten einer der Slots frei ist, wobei das eine oder mehreren NVMe-Geräte thermisch eine oder mehrere weitere Komponenten eines Computergerätes beeinflussen; – einem Bestimmen von einem oder mehreren thermischen Kennwerten für eine aktuelle Konfiguration, die Orte für das eine oder die mehreren NVMe-Geräte und der einen oder den mehreren weiteren Komponenten umfasst, sowie einem oder mehrereen thermischen Kennwerten für eine oder mehrere mögliche Rekonfigurationen; und – Auswählen einer Rekonfiguration aus der einen oder den mehreren möglichen Rekonfigurationen, basierend auf dem einen oder den mehreren bestimmten thermischen Kennwerten.
DE102017122430.0A 2016-09-29 2017-09-27 Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse Pending DE102017122430A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/280,468 2016-09-29
US15/280,468 US10146280B2 (en) 2016-09-29 2016-09-29 Reconfiguration of computing device and/or non-volatile memory devices based on thermal analysis

Publications (1)

Publication Number Publication Date
DE102017122430A1 true DE102017122430A1 (de) 2018-03-29

Family

ID=61563722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017122430.0A Pending DE102017122430A1 (de) 2016-09-29 2017-09-27 Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse

Country Status (3)

Country Link
US (1) US10146280B2 (de)
CN (1) CN107894928B (de)
DE (1) DE102017122430A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146280B2 (en) * 2016-09-29 2018-12-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reconfiguration of computing device and/or non-volatile memory devices based on thermal analysis
US10826883B2 (en) * 2017-04-11 2020-11-03 Dell Products L.P. Systems and methods for host system management of an information handling system via a mobile information handling system
US10642603B2 (en) 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US20190332409A1 (en) * 2018-04-26 2019-10-31 Nutanix, Inc. Identification and storage of logical to physical address associations for components in virtualized systems
US10838754B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Virtualized systems having hardware interface services for controlling hardware
KR102091704B1 (ko) * 2018-06-05 2020-03-20 주식회사 스토리지안 다양한 크기의 ssd 메모리 카드를 수평 슬라이드 방식으로 적층하는 구조와 내진동 특성을 갖는 에스에스디 멀티플러
US11068543B2 (en) * 2019-06-11 2021-07-20 Dell Products L.P. Component and object management of information handling systems
US10795846B1 (en) 2019-07-15 2020-10-06 Cisco Technology, Inc. Scalable NVMe storage management over system management bus
US11509751B2 (en) * 2020-12-23 2022-11-22 Dell Products L.P. Self-describing system using single-source/multi-destination cable
US11644876B2 (en) 2021-03-31 2023-05-09 Kyndryl, Inc. Data analytics for mitigation of data center thermal issues
US20230066587A1 (en) * 2021-09-01 2023-03-02 Micron Technology, Inc. Memory placement in a computing system
US11567668B1 (en) 2021-09-08 2023-01-31 International Business Machines Corporation Data flow management in a heterogeneous memory device using a thermal profile
CN114356057A (zh) * 2021-12-30 2022-04-15 浙江大华技术股份有限公司 控制PCIe卡散热的方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088799A1 (en) * 2001-11-05 2003-05-08 Bodas Devadatta V. Method and apparatus for regulation of electrical component temperature and power consumption rate through bus width reconfiguration
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
US20100211663A1 (en) * 2008-07-28 2010-08-19 Viewfinity Inc. Management of pool member configuration
GB2476878A (en) * 2010-01-08 2011-07-13 Viewfinity Inc Management of pool member configuration in the provision of virtual desktop images to users
US20120095719A1 (en) * 2010-10-19 2012-04-19 Lenovo (Singapore) Pte. Ltd. Memory thermal management based on slot information
US8826049B2 (en) * 2010-11-16 2014-09-02 International Business Machines Corporation Minimizing airflow using preferential memory allocation by prioritizing memory workload allocation to memory banks according to the locations of memory banks within the enclosure
US10664744B2 (en) * 2015-10-13 2020-05-26 Facebook, Inc. End-to-end memory networks
US10146280B2 (en) * 2016-09-29 2018-12-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reconfiguration of computing device and/or non-volatile memory devices based on thermal analysis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802 Standard

Also Published As

Publication number Publication date
US20180088639A1 (en) 2018-03-29
CN107894928A (zh) 2018-04-10
US10146280B2 (en) 2018-12-04
CN107894928B (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
DE102017122430A1 (de) Rekonfiguration eines Computergerätes und/oder von nicht-flüchtigen Speichergeräten basierend auf einer thermischen Analyse
DE102006051672B4 (de) System und Verfahren für adaptive Abkühlungsprofile für ein Informationsverarbeitungssystem
JP5284469B2 (ja) パワー・アウトレットとit装置との間の物理的接続性の自動発見
DE112018004350B4 (de) Zugreifen auf gateway-verwaltungskonsole
CN113632071A (zh) 用于配置漂移检测和修复的系统和方法
US20150178095A1 (en) Synchronous bmc configuration and operation within cluster of bmc
US9313281B1 (en) Method and system for creating and dynamically deploying resource specific discovery agents for determining the state of a cloud computing environment
US20160154670A1 (en) System and Method for Resizing a Virtual Desktop Infrastructure using Virtual Desktop Infrastructure Monitoring Tools
US10599521B2 (en) System and method for information handling system boot status and error data capture and analysis
CN107832087A (zh) 自配置基板管理控制器(bmc)
DE112011100990T5 (de) Begrenzen eines Leistungsbusstroms unter Verwendung von Informationen über Anforderungen von Einheiten
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
US11567962B2 (en) Computer network controlled data orchestration system and method for data aggregation, normalization, for presentation, analysis and action/decision making
DE102011085335A1 (de) Auf rack-ebene modulares server- und speicher-framework
US20130218354A1 (en) Power distribution network event correlation and analysis
DE112010003136T5 (de) Verfahren und Systeme für eine Zwischenelementplatine
DE102014003666B4 (de) Prozessor mit betriebsfrequenzdaten für garantierten betrieb unter hochtemperaturereignissen
CN109931285A (zh) 一种风扇调速方法、装置及电子设备
US11500435B2 (en) Information handling system having regional cooling
US10935960B2 (en) Pre-runtime fan control
US20150365781A1 (en) Server systems
DE102022106024A1 (de) Selbstheilung, zieltemperaturlastausgleich und verwandte technologien für wärmetauschernetzwerke
CN110839007B (zh) 一种云网络安全处理方法、设备和计算机存储介质
DE112017004849T5 (de) Modifizieren des Zugriffs auf einen Dienst auf der Basis von Konfigurationsdaten
DE102021108971A1 (de) Steuerung des zugriffs auf periphere anschlüsse eines host-rechnersystems

Legal Events

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

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE