-
Hintergrund
-
Computersysteme, wie z. B. Personalcomputer (PCs; personal computers) benötigen im Allgemeinen eine periodische Wartung, um ein ausgezeichnetes Verhalten über die Lebensdauer des Computersystems sicherzustellen. In vielen Fällen jedoch wird eine Computersystemwartung und -diagnose reaktiv ausgeführt, wenn ein Problem entsteht, was zu einer kostspieligen Auszeit für den Benutzer führt. Wenn keine periodischen Überprüfungen und Wartung an einem Computersystem ausgeführt werden, kann dies zu Verhaltens- oder Instabilitätsproblemen, Benutzerfrustration und unnötigen Supportanrufen führen, was den Benutzer und den Systemanbieter Zeit und Geld kostet.
-
Ferner, sogar wenn eine periodische Computersystemwartung ausgeführt wird, werden die Wartungsprogramme, die heute verfügbar sind, im Allgemeinen innerhalb einer Betriebssystemumgebung ausgeführt. Daher wird ein Großteil der Hardware, die geprüft wird, durch das Betriebssystem verwendet und ist daher nicht vollständig zum Testen verfügbar. Dies kann dazu führen, dass Computersystemprobleme übersehen werden.
-
Kurze Beschreibung der Zeichnungen
-
Bestimmte exemplarische Ausführungsbeispiele werden in der nachfolgenden, detaillierten Beschreibung und Bezug nehmend auf die Zeichnungen beschrieben, in denen:
-
1 ein Blockdiagramm einer Rechenvorrichtung ist, die eine Systemwartungsanwendung umfasst, gemäß Ausführungsbeispielen;
-
2 ein Prozessflussdiagramm eines Verfahrens zum Ausführen einer Systemwartung bei einer Rechenvorrichtung gemäß Ausführungsbeispielen ist; und
-
3 ein Blockdiagramm ist, das ein nichtflüchtiges, computerlesbares Medium zeigt, das einen Code speichert, der ausgebildet ist, um eine Systemwartung in einer Rechenvorrichtung gemäß Ausführungsbeispielen auszuführen.
-
Detaillierte Beschreibung von spezifischen Ausführungsbeispielen
-
Exemplarische Ausführungsbeispiele der vorliegenden Technik stellen ein System und ein Verfahren zum proaktiven Ausführen einer System-Wartung, -Optimierung und -Verhaltenstests an einer Rechenvorrichtung bereit, wie z. B. einem Personalcomputer. Die System-Wartung, -Optimierung und -Verhaltenstests können hierin kollektiv als „Systemwartung” bezeichnet werden und können z. B. eine Prüfung und/oder Reparatur der Festplatte oder eines anderen Speicherungssystems, Batterieverhaltenstests und -Kalibrierung, Kühlsystemtests, Systemplatinentests und Systemspeichertests etc. umfassen. Die Systemwartung kann während einer Vorrichtungsauszeit in einem Offline-Modus ausgeführt werden, was die tägliche Verwendung des PCs durch den Benutzer nicht unterbricht. Ferner kann die Systemwartung in einer Vor-Betriebs-System-Hochfahr-Umgebung ausgeführt werden, sodass das Betriebssystem oder Anwendungen, die darauf laufen, die verschiedenen Hardwaretests und/oder Reparaturen nicht stören, die während der Systemwartung ausgeführt werden. Bei Ausführungsbeispielen kann die Systemwartung durch eine Systemwartungsanwendung ausgeführt werden, die in einer UEFI-Umgebung liegt (UEFI = unified extensible firmware interface; einheitliche erweiterbare Firmware-Schnittstelle), die in Computersystemen umfasst ist, die ein UEFI BIOS implementiert haben.
-
1 ist ein Blockdiagramm einer Rechenvorrichtung, die eine Systemwartungsanwendung gemäß Ausführungsbeispielen umfasst. Das System wird allgemein durch das Bezugszeichen 100 bezeichnet. Durchschnittsfachleute auf dem Gebiet werden erkennen, dass die funktionalen Blöcke und Vorrichtungen, gezeigt in 1, Hardwareelemente aufweisen können, die eine Schaltungsanordnung, Softwareelemente einschließlich Computercode, der auf einem nichtflüchtigen, maschinenlesbaren Medium gespeichert ist, oder eine Kombination aus sowohl Hardware- als auch Softwareelementen umfassen. Ferner ist die Konfiguration nicht auf jene begrenzt, die in 1 gezeigt ist, da jegliche Anzahl von funktionalen Blöcken und Vorrichtungen bei Ausführungsbeispielen der vorliegenden Techniken verwendet werden können. Durchschnittsfachleute auf dem Gebiet wären ohne Weiteres in der Lage, spezifische funktionale Blöcke basierend auf Entwurfsbetrachtungen für eine bestimmte elektronische Vorrichtung zu definieren.
-
Wie in 1 dargestellt ist, kann die Rechenvorrichtung 100 einen Prozessor 102 umfassen, der durch einen Bus 104 mit einem oder mehreren Typen von nichtflüchtigen, computerlesbaren Medien gekoppelt ist, wie z. B. einem Systemspeicher 106, der während der Ausführung von verschiedenen Betriebsprogrammen verwendet werden kann, was Betriebsprogramme umfasst, die bei Ausführungsbeispielen der vorliegenden Techniken verwendet werden. Der Speicher 106 kann einen Nur-Lese-Speicher (ROM; read-only memory), Direktzugriffsspeicher (RAM; random access memory) und ähnliches umfassen. Die Rechenvorrichtung 100 kann ferner andere nichtflüchtige, computerlesbare Medien umfassen, wie z. B. ein Speicherungssystem 108 für die Langzeitspeicherung von Betriebsprogrammen und Daten, was die Betriebsprogramme und Daten umfasst, die bei Ausführungsbeispielen der vorliegenden Techniken verwendet werden. Das Speicherungssystem 108 kann z. B. Festplatten, optische Laufwerke, CDs, DVDs, Flashspeicher und ähnliches umfassen. Bei Ausführungsbeispielen kann das Speicherungssystem 108 ein Festplattenlaufwerk sein und kann eine Plattenwartungsfirmware umfassen, die auf einer Speichervorrichtung des Festplattenlaufwerks gespeichert ist. Zum Beispiel kann die Plattenwartungsfirmware Fehlererfassungs- und Korrekturprogramme umfassen und kann die Fähigkeit aufweisen, automatisch volle Oberflächenscans, eine weiche Reparatur und eine Neuabbildung der Festplatte ausführen.
-
Die Rechenvorrichtung 100 kann ferner eine oder mehrere Eingabevorrichtungen umfassen (nicht gezeigt), wie z. B. eine Maus, einen Touchscreen und eine Tastatur, etc. Die Rechenvorrichtung kann ferner eine Anzeige umfassen (nicht gezeigt), z. B. einen Computermonitor, einen LCD-Bildschirm und ähnliches. Bei Ausführungsbeispielen ist die Rechenvorrichtung 100 eine Allzweckrechenvorrichtung, z. B. ein Desktop-Computer, Laptop-Computer, Business-Server und ähnliches.
-
Die Rechenvorrichtung 100 kann ferner einen Grafikprozessor 110 und eine oder mehrere I/O-Steuerungen 112 umfassen. Bei Ausführungsbeispielen, bei denen die Rechenvorrichtung 100 ein Laptop oder eine andere mit Batterie betriebene elektronische Vorrichtung ist, kann die Rechenvorrichtung ferner eine wiederaufladbare Batterie 114 umfassen. Die Batterie 114 kann jeglichen Typ von wiederaufladbaren Batterien umfassen, wie z. B. Lithiumionen-(Li+), Nickel-Kadmium-(NiCd), Nickel-Metall-Hybrid-(NiMH) Batterien und ähnliches. Die Batterie 114 kann eine Batteriesteuerschaltungsanordnung umfassen oder wirksam mit derselben gekoppelt sein, die mit einer Batteriesteuersoftware oder -firmware zum Steuern des Ladens und Entladens der Batterie programmiert sein kann.
-
Die Rechenvorrichtung 100 kann ferner ein Kühlsystem 116 umfassen. Das Kühlsystem kann ausgebildet sein, um Wärme aus verschiedenen Hardwarekomponenten der Rechenvorrichtung 100 zu extrahieren, wie z. B. dem Prozessor 102, dem Grafikprozessor 110, der Batterie 114 und ähnlichem. Das Kühlsystem 116 kann eine oder mehrere Kühlkanäle, Wärmesenken, Wärmerohre, Lüfter und andere Komponenten umfassen, die entworfen sind, Wärme aus den Hardwarekomponenten der Rechenvorrichtung 100 zu extrahieren. Das Kühlsystem 116 kann ferner einen oder mehrere Temperatursensoren umfassen, die durch den Prozessor verwendet werden können, um die Temperatur von bestimmten Hardwarekomponenten zu überwachen und den Wärmefluss durch die Rechenvorrichtung 100 zu überwachen. Bei Ausführungsbeispielen kann ein Grundlinientemperaturprofil für die Rechenvorrichtung 100 erzeugt werden. Das Grundlinientemperaturprofil kann entworfene oder gemessene Temperaturcharakteristika der Rechenvorrichtung 100 umfassen, die als eine Grundlinie dienen, mit der zukünftige Temperaturmessungen verglichen werden können, um Probleme mit dem Kühlsystem 116 zu identifizieren. Das Temperaturprofil kann durch einen Hersteller der Rechenvorrichtung erzeugt werden und z. B. in das BIOS 118 oder das Speicherungssystem 108 gespeichert werden.
-
Die Rechenvorrichtung 100 kann ferner ein Basis-Eingabe/Ausgabe-System (BIOS) 118 umfassen. Das BIOS 118 dient als eine Schnittstelle zwischen Systemhardware/-firmware und einem Betriebssystem. Bei bestimmten Ausführungsbeispielen ist das BIOS 118 eine UEFI-Umgebung, die in eine herkömmliche Basis-Eingabe/Ausgabe-System-Firmware (BIOS-Firmware) integriert sein kann oder diese ersetzen kann. Andere geeignete Schnittstellen könnten bei verschiedenen Ausführungsbeispielen verwendet werden. Bei verschiedenen Ausführungsbeispielen dient das BIOS 118 ferner als Boot-Ladeeinrichtung (boot loader), die die Boot-Sequenz bzw. Urladesequenz und das Laden des Betriebssystems für die Rechenvorrichtung 100 ausführt.
-
Die Rechenvorrichtung 100 kann ferner eine Wartungsanwendung 120 zum Ausführen verschiedener Systemoptimierungs- und Verhaltenstests umfassen, die hierin als Wartungsoperationen bezeichnet werden. Die Wartungsoperationen können z. B. eine Prüfung und/oder Reparatur der Festplatte oder eines anderen Speicherungssystems 108, Batterieverhaltenstests und/oder -kalibrierung, Kühlsystemtests, Systemplatinentests und Systemspeichertests, etc., umfassen. Die Wartungsoperationen, die durch die Wartungsanwendung ausgeführt werden, können in einer Vor-Betriebs-System-Umgebung ausgeführt werden. Auf diese Weise kann eine umfassendere Steuerung der Hardware des Computersystems 100 erreicht werden, ohne Störung durch andere Anwendungen, die ansonsten Hardwareressourcen gemeinschaftlich verwenden würden. Zusätzlich dazu können verschiedene Systemprüfungen und -optimierungen parallel ausgeführt werden, um den Zeitbetrag zu reduzieren, für den die Computervorrichtung 100 für den Benutzer nicht verfügbar ist. Die Wartungsanwendung 120 kann auf jeglichem geeigneten nichtflüchtigen, computerlesbaren Medium gespeichert sein. Wie z. B. in 1 gezeigt ist, kann die Wartungsanwendung 120 mit dem BIOS gespeichert sein, der auf einem dedizierten BIOS-Speicherchip sein kann, der in dem Systemspeicher 106 umfasst ist. Die Wartungsanwendung 120 kann ferner auf dem Speicherungssystem 108 oder einem separaten Speicherchip gespeichert sein, wie z. B. einem ROM, EEPROM, Flashspeicher und ähnlichem.
-
Die Rechenvorrichtung 100 kann ferner eine Benutzerschnittstelle 122 umfassen, die dem Benutzer der Rechenvorrichtung 100 ermöglicht, Aspekte der Wartungsanwendung 120 zu steuern. Zum Beispiel kann die Benutzerschnittstelle 122 verwendet werden, um Systemwartung zu planen, die Typen der Wartungsaufgaben zu spezifizieren, die ausgeführt werden sollen, verschiedene Parameter von Systemwartungsaktivitäten zu spezifizieren, die Wartungsanwendung zu deaktivieren oder zu aktivieren, etc. Die Benutzerschnittstelle kann ferner verwendet werden, um Ergebnisse der verschiedenen Wartungsoperationen anzuzeigen, die durch die Wartungsanwendung 120 ausgeführt werden.
-
Das Computersystem kann ferner einen Wartungsdämonen 124 umfassen, was ein Programm ist, das im Hintergrund ausgeführt wird und ausgebildet ist, ein Wartungsereignis auszulösen. Bei Ausführungsbeispielen verursacht das Wartungsereignis, das durch den Wartungsdämonen 124 ausgelöst wird, dass die Rechenvorrichtung 100 das Betriebssystem beendet und die Wartungsanwendung 120 in der Vor-Betriebs-System-Umgebung startet. Die Benutzerschnittstelle 122 und der Wartungsdämon 124 können in der Hauptbetriebssystemumgebung liegen und von dort aus zugreifbar sein. Wie in 1 gezeigt ist, können die Benutzerschnittstelle 122 und der Wartungsdämon 124 in dem Speicherungssystem 108 gespeichert sein. Zusätzlich dazu können die Benutzerschnittstelle 122 und der Wartungsdämon 124 mit dem BIOS 118 auf einem separaten Speicherchip gespeichert sein, wie z. B. einem ROM, EEPROM, Flashspeicher und ähnlichem. Die hierin beschriebenen Techniken sind besser verständlich Bezug nehmend auf 2.
-
2 ist ein Prozessflussdiagramm eines Verfahrens zum Ausführen einer Systemwartung in einer Rechenvorrichtung gemäß Ausführungsbeispielen. Das Verfahren kann durch das Bezugszeichen 200 bezeichnet werden. Das Verfahren kann bei Block 202 beginnen, wo ein Wartungsereignis ausgelöst wird. Bei Ausführungsbeispielen wird das Wartungsereignis durch eine Anwendung ausgelöst, die in der Betriebssystemumgebung arbeitet. Bei Ausführungsbeispielen kann das Wartungsereignis manuell ausgelöst werden, z. B. durch die Benutzerschnittstelle 122. Bei Ausführungsbeispielen wird das Wartungsereignis automatisch durch den Wartungsdämonen 124 gemäß einem Wartungsplan ausgelöst, der z. B. durch den Benutzer oder Hersteller der Rechenvorrichtung 100 spezifiziert sein kann. Bei Ausführungsbeispielen kann der Wartungsplan so spezifiziert sein, dass das Wartungsereignis während Vorrichtungsauszeiten ausgelöst wird, anders ausgedrückt während Zeiten, zu denen die Rechenvorrichtung wahrscheinlich nicht in Verwendung ist. Das Auslösen des Wartungsereignisses verursacht, dass die Rechenvorrichtung 100 das Betriebssystem schließt, falls es läuft, und von dem BIOS 118 der Rechenvorrichtung aus neu bootet bzw. lädt. Eine Wartungsflag kann in dem BIOS 118 gesetzt werden, um anzuzeigen, dass die Wartungsanwendung 120 beim Neustart gestartet werden sollte. Die Wartungsflag kann durch die Wartungsanwendung 120 neu gesetzt werden, wenn die Systemwartung komplett ist.
-
Bei Ausführungsbeispielen wird das Wartungsereignis von dem Betriebssystem der Rechenvorrichtung 100 ausgelöst, die in einem Standby-Zustand arbeiten kann, wie z. B. einem Schlafmodus oder einem Ruhezustand. Das Auslösen des Wartungsereignisses kann verursachen, dass die Rechenvorrichtung 100 aus dem Standby-Zustand aufwacht und ein Neustarten des Betriebssystems der Rechenvorrichtung auslöst. Bei Ausführungsbeispielen kann das Wartungsereignis ausgelöst werden, während die Rechenvorrichtung in einem Aus-Zustand ist. Bei solchen Ausführungsbeispielen kann das Auslösen des Wartungsereignisses verursachen, dass die Rechenvorrichtung 100 eingeschaltet wird.
-
Bei Block 204 kann die Wartungsanwendung 120 durch das BIOS 118 in der Vor-Betriebs-System-Umgebung gestartet werden. Wenn sie gestartet ist, kann die Wartungsanwendung 120 eine Vielzahl von Computerwartungsaufgaben ausführen, was eine Batteriekalibrierung, Speicherungssystemprüfung, Kühlsystemprüfung, Systemplatinenintegritätsprüfung und Speicherprüfung etc., umfasst. Ferner können zwei oder mehr der Computerwartungsaufgaben gleichzeitig ausgeführt werden. Durch Starten der Wartungsanwendung 120 bevor das Betriebssystem geladen ist kann die Wartungsanwendung 120 in einer Programmierumgebung mit einem Thread arbeiten (single threaded), wobei die Wartungsanwendung 120 eine umfassendere Steuerung über die Hardware der Rechenvorrichtung erreichen kann, ohne Ressourcen mit anderen Anwendungen gemeinschaftlich zu verwenden, die ansonsten in der Betriebssystemumgebung ausgeführt werden können. Die oben erwähnten Computerwartungsaufgaben werden nachfolgend detaillierter beschrieben.
-
Bei einem Ausführungsbeispiel kann die Wartungsanwendung 120 eine Batteriekalibrierung für die Batterie 114 ausführen. Aufgrund des Wesens von verschiedenen wiederaufladbaren Batterien ist es üblicherweise empfohlen, dass Batterien periodisch kalibriert werden, um eine maximale Batterielebensdauer zwischen Ladevorgängen sicherzustellen. Zum Beispiel sollte eine Batteriekalibrierung für Lithiumionenbatterien, die sich üblicherweise in Laptopcomputern befinden, im Allgemeinen alle 60 bis 90 Tage ausgeführt werden, um eine maximale Batterielebensdauer zwischen Ladevorgängen sicherzustellen.
-
Eine Batteriekalibrierung verwendet im Allgemeinen eine Kombination aus Lade- und Entladezyklen und kann zwei bis vier Stunden oder langer zur Fertigstellung benötigen.
-
Die Wartungsanwendung 120 kann eine Schnittstelle mit der Steuerlogik der Batterie zum Steuern des Ladens und Entladens der Batterie 114 bilden. Da die Wartungsanwendung 120 die Batteriekalibrierung in einer Vor-Betriebs-System-Umgebung ausführt, vermeidet die Wartungsanwendung Konflikte mit einem Leistungsverwaltungsdienstprogramm, das in das Betriebssystem der Rechenvorrichtung 100 eingebaut sein kann. Ein Umgehen des Leistungsverwaltungsdienstprogramms ermöglicht der Batterie 114, von einem vollständig geladenen Zustand in einen vollständig entladenen Zustand zu gehen, ohne Unterbrechungen, die durch Standby- und/oder Ruhezustände verursacht werden, die durch das Leistungsverwaltungsdienstprogramm aktiviert werden können. Ohne ein Umgehen eines solchen Leistungsverwaltungsdienstprogramms ermöglicht das Betriebssystem der Batterie vielleicht nicht, sich vollständig zu entladen. Zusätzlich dazu kann das Laden und Entladen der Batterie in Verbindung mit jeglichem der zusätzlichen Wartungsmerkmale ausgeführt werden, die durch die Wartungsanwendung 120 ausgeführt werden. Bei Ausführungsbeispielen resultiert die elektrische Last, die der Batterie während einer Entladung auferlegt wird, aus dem Verhalten von einer oder mehreren zusätzlichen Wartungsoperationen, wie z. B. der Kühlprüfung, der Speicherprüfung, der Systemintegritätsprüfung, der Speicherungssystemprüfung und ähnlichen. Ferner kann jede der Wartungsoperationen derart ausgeführt werden, um eine konstante elektrische Last an der Batterie 114 bereitzustellen.
-
Bei einem Ausführungsbeispiel kann die Wartungsanwendung 120 eine Wartung des Speicherungssystems 108 ausführen. Zum Beispiel kann die Wartungsanwendung 120 eine Prüfung einer Festplatte unter Verwendung einer vollen Oberflächenabtastung und einer weichen Reparatur der Festplatte ausführen. Die volle Oberflächenabtastung der Festplatte kann Fehler reparieren, die üblicherweise als „weiche Ausfalle” bezeichnet werden, bei denen die korrekten Daten durch die Verwendung von Fehlererfassungs- und Korrekturtechniken wiederherstellbar sind. Nach der Erfassung eines weichen Fehlers kann die Festplatte den Sektor, in dem ein Fehler erfasst wird, auf einen neuen Sektor neu abbilden. Da die Wartungsanwendung 120 außerhalb der Vor-Betriebs-System-Umgebung arbeitet, können Teile der Festplatte, die ansonsten durch das Betriebssystem verwendet werden würden, für ein Neuabbilden verfügbar sein, was zu einer sorgfältigeren Wartungsoperation führt. Abhängig von der Größe der Festplatte könnte eine volle Oberflächenabtastung eine bis mehrere Stunden dauern.
-
Bei einem Ausführungsbeispiel kann die Wartungsanwendung 120 eine Prüfung des Kühlsystems 116 ausführen, um zu bestimmen, ob das Kühlsystem 116 verstopft ist oder anderweitig nicht ordnungsgemäß funktioniert. Ein fehlfunktionierendes Kühlsystem kann das Verhalten der Rechenvorrichtung 100 beeinträchtigen, durch Erzwingen einer Drosselung des Prozessors 120, und könnte weiteren Schaden verursachen, wenn es nicht korrigiert wird. Die Wartungsanwendung 120 kann das Kühlsystem 116 durch die Verwendung eines Belastungstests prüfen. Der Belastungstest kann bestimmte Wärme erzeugende Hardwarekomponenten der Rechenvorrichtung treiben, wie z. B. den Prozessor 102 und den Grafikprozessor 100. Die Temperatur der Hardwarekomponenten kann durch die Verwendung von Wärmesensoren gemessen werden und verwendet werden, um ein aktuelles Wärmeprofil der Rechenvorrichtung 100 zu erzeugen. Das aktuelle Wärmeprofil kann mit dem ursprünglichen Wärmeprofil verglichen werden, das z. B. gemessen wurde, als die Rechenvorrichtung 100 hergestellt wurde. Auf diese Weise kann der Wärmefluss durch die Rechenvorrichtung 100 im Vergleich mit einem bekannten oder entworfenen Wärmeprofil bewertet werden, um Anormalitäten zu identifizieren.
-
Bei einem Ausführungsbeispiel kann die Wartungsanwendung 120 einen Systemintegritätstest ausführen. Der Systemintegritätstest kann verwendet werden, um intermittierende Fehler zu erfassen, die dem Prozessor 102, Grafikprozessor 110, Systembus 104, I/O-Steuerungen 112, der Systemschaltungsplatine, etc. zugeordnet sind. Während der Systemintegritätsprüfung kann die Wartungsanwendung einen Satz aus Computeroperationen ausführen, die die Kernkomponenten der Rechenvorrichtung 100 verwenden würden, wie z. B. den Prozessor 102, Systemspeicher 106, Bussteuerung, I/O-Steuerung 112, Grafikprozessor 110, etc., auf eine Weise, um die Kombination von Subsystemen zu belasten, um die Stifte der Vorrichtungen zu benutzen, um jegliche Integritätsprobleme dahingehend zu erfassen, wie sie an der Systemplatine gesichert sind, oder jegliche zeitgebungsbezogenen Probleme zwischen den Komponenten. Jegliche Systemfehler, die während der Systemintegritätsprüfungen erfasst werden, würden ein mögliches intermittierendes Problem mit der Systemschaltungsplatine oder anderen Komponenten der Rechenvorrichtung 100 anzeigen. Die Systemintegritätsprüfungen können iterativ wiederholt werden, um intermittierende Fehler zu identifizieren. Ferner können die Systemintegritätsprufungen während der Prüfung des Kühlsystems, der Batteriekalibrierung, Festplattenprüfung und anderen Wartungsoperationen ausgeführt werden. Bei Ausführungsbeispielen stellen die Systemintegritätsprüfungen einen Teil der Verarbeitungslast bereit, der die Hardwarekomponenten während der Prüfung des Kühlsystems 116 treibt und die Batterie 114 während der Batteriekalibrierung entlädt.
-
Bei einem Ausführungsbeispiel kann die Wartungsanwendung 120 eine Prüfung des Systemspeichers 106 ausführen. Der Systemspeicher 106 kann eine übliche Fehlerstelle bei jeglicher Rechenvorrichtung 100 sein. Das proaktive Diagnostizieren von Systemspeicherproblemen kann dabei helfen, Systemabstürze und Instabilität zu verhindern. Die Prüfung des Systemspeichers 106 kann ausgeführt werden durch Umschalten individueller Speicherbits des Systemspeichers 106 und Analysieren der Systemspeicherantwort für Zeitgebungsprobleme. In der Betriebssystemumgebung wären Teile des Speichersystems im Allgemeinen durch bestimmte Programme reserviert, die in der Betriebssystemumgebung ausgeführt werden, und wären somit für Fehlertestoperationen nicht zugreifbar. Da die Wartungsanwendung 120 die Prüfung des Systemspeichers 106 in der Vor-Betriebs-System-Umgebung ausführt, kann die Wartungsanwendung 120 eine volle Steuerung bzw. Kontrolle über den Systemspeicher 106 ausüben, ohne eine Störung von den Programmen, die anderweitig in der Betriebssystemumgebung ausgeführt werden würden. Die Prüfung des Systemspeichers 106 kann mehrere Stunden zur Fertigstellung benötigen. Bei Ausführungsbeispielen führt die Wartungsanwendung 120 die Prüfung des Systemspeichers 106 parallel zu anderen Wartungsoperationen aus, z. B. Batteriekalibrierung, Systemintegritätsprüfungen, Speicherungssystemwartung, Kühlsystemprüfung etc.
-
Bei Block 206 kann die Wartungsanwendung eine Protokolldatei erzeugen, die detailliert die Ergebnisse verschiedener Wartungsoperationen angibt, die durch die Wartungsanwendung ausgeführt werden. Obwohl sie als ein separater Block gezeigt ist, wird darauf hingewiesen, dass die Protokolldatei in Verbindung mit den Wartungsoperationen der Wartungsanwendung 120 erzeugt werden kann, z. B. wenn berichtbare Ereignisse auftreten. Die Protokolldatei kann in das Speicherungssystem 108 oder jeglichen anderen Speicherort gespeichert werden, der von dem Betriebssystem der Rechenvorrichtung 100 zugreifbar ist.
-
Die Protokolldatei kann jegliche berichtbare Bedingung umfassen, die während der Wartungsoperationen identifiziert wird, die durch die Wartungsanwendung 120 ausgeführt werden, was Erfolg oder Fehlschlagen bestimmter Operationen umfasst, sowie jegliche möglichen problematischen Bedingungen, die identifiziert werden. Zum Beispiel kann die Protokolldatei einen oder mehrere Einträge im Hinblick auf die Fertigstellung der Batteriekalibrierung umfassen sowie Einträge oder Indikatoren im Hinblick auf den Zustand der Batterie 114, wie z. B. die Ladekapazität der Batterie etc. Die Protokolldateieinträge im Hinblick auf die Batterie 114 können verwendet werden, um zu bestimmen, ob die Batterie 114 ordnungsgemäß arbeitet oder ausgetauscht werden muss.
-
Die Protokolldatei kann ferner einen oder mehrere Einträge im Hinblick auf den Zustand des Systemspeichers 106 umfassen, z. B. eine Anzeige, dass der Systemspeicher 106 voll betriebsfähig ist, oder Anzeigen im Hinblick auf Speicherbits, die fehlerhaft scheinen. Die Protokolldatei kann ferner Einträge im Hinblick auf die Fehler umfassen, die während der Prüfung des Speicherungssystems 108 erfasst werden, und ob die Fehler erfolgreich repariert wurden. Die Protokolldatei kann ferner Einträge im Hinblick auf die Erfassung von intermittierenden oder dauerhaften Fehlern umfassen, die während der Systemintegritätsprüfungen angetroffen werden.
-
Die Protokolldatei kann ferner Einträge im Hinblick auf den Zustand des Kühlsystems umfassen, wie z. B. das Vorhandensein von Anormalitäten in dem Kühlsystem und/oder eine Anzeige der Quelle der Anormalität. Zum Beispiel kann ein Protokolleintrag anzeigen, dass eine bestimmte Komponente des Rechensystems 100 möglicherweise überhitzt. Bei Ausführungsbeispielen kann das aktuelle Wärmeprofil der Rechenvorrichtung 100 in der Protokolldatei gespeichert sein.
-
Bei Block 208 endet die Wartungsanwendung 120 und gibt die Steuerung der Rechenvorrichtung 100 zurück zu dem vorhandenen BIOS oder der UEFI, abhängig von dem bestimmten Ausführungsbeispiel. Das vorhandene BIOS oder die UEFI kann dann jegliche verbleibenden BIOS-Aufgaben fertig stellen und das Betriebssystem der Rechenvorrichtung 100 starten. Nach dem Laden des Betriebssystems kann das Betriebssystem seinerseits bestimmte Startanwendungen oder Hintergrundausführungen starten, wie z. B. die Benutzerschnittstelle 122, den Wartungsdämonen oder ein anderes Wartungsdienstprogramm, das ausgebildet ist, die Wartungsergebnisse zu erhalten und/oder zu interpretieren, die in der Protokolldatei enthalten sind.
-
Bei Block 210 kann auf die Protokolldatei, die durch die Wartungsanwendung erzeugt wird, von innerhalb des Betriebssystems der Rechenvorrichtung 100 aus zugegriffen werden. Bei Ausführungsbeispielen kann die Protokolldatei manuell geöffnet werden, z. B. durch den Benutzer, einen Administrator oder einen Wartungstechniker. Die Protokolldatei kann verwendet werden, um beim Validieren der Stabilität des Systems zu helfen, ohne eine zusätzliche langwierige Diagnose auszuführen.
-
Bei Ausführungsbeispielen kann eine Anwendung, die in der Betriebssystemumgebung läuft, wie z. B. die Benutzerschnittstelle 122, Wartungsdämon 124 oder ein anderes Wartungsdienstprogramm automatisch auf die Protokolldatei zugreifen und den Benutzer im Hinblick auf berichtbare Zustände warnen. Zum Beispiel kann das Wartungsdienstprogramm den Benutzer im Hinblick auf einen möglichen Kühlsystemfehler warnen, wie z. B. eine blockierte Kühlleitung oder verstopfte Wärmesenke. Das Wartungsdienstprogramm kann den Benutzer ferner über ein Problem mit dem Systemspeicher 106 warnen, wie z. B. fehlerhafte Speicherbits. Das Wartungsdienstprogramm kann den Benutzer im Hinblick auf weiche Fehler informieren, die auf der Festplatte oder dem Speicherungssystem 108 erfasst werden, und über den Erfolg oder das Fehlschlagen der Reparatur der weichen Fehler oder ein Neuabbilden der Daten. Das Wartungsdienstprogramm kann ferner den Benutzer im Hinblick auf das Vorhandensein eines intermittierenden Fehlers warnen, der während der Systemintegritätsprüfungen angetroffen wurde. Das Wartungsdienstprogramm kann den Benutzer auch im Hinblick auf die Fertigstellung der Batteriekalibrierung informieren. Auf diese Weise können die Ergebnisse der Protokolldatei zum proaktiven Benachrichtigen des Benutzers über Systemintegritätsprobleme verwendet werden und einen Gesamtstatus der Stabilität des Systems bereitstellen. Eine proaktive Benachrichtigung kann dem Benutzer ermöglichen, proaktive Schritte zum Korrigieren potentieller Probleme mit der Rechenvorrichtung 100 zu unternehmen, bevor sie dem Benutzer wesentliche Unannehmlichkeiten bereiten.
-
3 ist ein Blockdiagramm, das ein nichtflüchtiges, computerlesbares Medium zeigt, das einen Code speichert, der ausgebildet ist, um eine Systemwartung in einer Rechenvorrichtung gemäß Ausführungsbeispielen auszuführen. Das nichtflüchtige, maschinenlesbare Medium wird durch das Bezugszeichen 300 bezeichnet. Das nichtflüchtige, computerlesbare Medium 300 kann jegliche geeignete Speicherungsvorrichtung aufweisen, die computerimplementierte Anweisungen speichert, wie z. B. Programmiercode. Zum Beispiel kann das nichtflüchtige, computerlesbare Medium 300 mindestens entweder einen nichtflüchtigen Speicher, einen flüchtigen Speicher und/oder eine oder mehrere Speicherungsvorrichtungen umfassen.
-
Beispiele eines nichtflüchtigen Speichers umfassen, sind jedoch nicht beschränkt auf einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM) und einen Nur-Lese-Speicher (ROM). Beispiele eines flüchtigen Speichers umfassen, sind aber nicht beschränkt auf einen statischen Direktzugriffsspeicher (SRAM) und einen dynamischen Direktzugriffsspeicher (DRAM). Beispiele von Speicherungsvorrichtungen umfassen, sind aber nicht beschränkt auf Festplattenlaufwerke, CD-Laufwerke, DVD-Laufwerke und Flashspeichervorrichtungen. Bei einem Ausführungsbeispiel umfasst das nichtflüchtige, computerlesbare Medium 300 einen Computerchip, in dem das BIOS 118 implementiert ist. Bei einem Ausführungsbeispiel umfasst das nichtflüchtige, computerlesbare Medium 300 eine Speicherungsvorrichtung, die ein Software- oder Firmwareupdate enthält, das verwendet werden kann, um das ganze oder einen Teil des BIOS 118 zu aktualisieren. Auf das nichtflüchtige, computerlesbare Medium 300 kann durch einen Prozessor 302 über einen Kommunikationsweg 304 zugegriffen werden.
-
Wie in 3 gezeigt ist, können die hierin erörterten, verschiedenen exemplarischen Komponenten auf dem nichtflüchtigen, computerlesbaren Medium 300 gespeichert sein.
-
Eine erste Region 306 auf dem nichtflüchtigen, computerlesbaren Medium 300 kann eine Wartungsanwendung umfassen, die eine oder mehrere Hardwarewartungsoperationen an der Hardware der Rechenvorrichtung während einer Vorrichtungsauszeit ausführt, wie im Hinblick auf 2 erörtert wurde. Die Wartungsanwendung ist ausgebildet, um in einer Vor-Betriebs-System-Umgebung einer Rechenvorrichtung gestartet zu werden, z. B. durch das System-BIOS. Die Wartungsanwendung kann ferner eine Protokolldatei basierend auf den Ergebnissen der einen oder mehreren Hardwarewartungsoperationen erzeugen. Eine Region 308 kann ein BIOS umfassen, wie z. B. UEFI-basiertes BIOS, das ausgebildet ist, um die Steuerung der Vor-Betriebs-System-Umgebung zu erhalten und das Betriebssystem der Rechenvorrichtung zu starten. Eine Region 310 kann eine Benutzerschnittstelle umfassen, die ausgebildet ist, um auf die Protokolldatei zuzugreifen. Die Benutzerschnittstelle kann innerhalb der Betriebssystemumgebung arbeiten. Obwohl sie als zusammenhängende Blöcke gezeigt sind, können die Softwarekomponenten in jeglicher Reihenfolge oder Konfiguration gespeichert sein. Wenn das nichtflüchtige, computerlesbare Medium 300 z. B. eine Festplatte ist, können die Softwarekomponenten in nicht zusammenhängenden oder sogar überlappenden Sektoren gespeichert sein.