-
TECHNISCHES GEBIET
-
Diese
Erfindung bezieht sich im Allgemeinen auf das Leistungsmanagement
eines Computers und genauer auf einen Mechanismus, der ein einfaches Leistung-An/Aus-Modell für einen
Personal Computer ermöglicht,
der einen flüchtigen
Standby-Zustand als den Default-„Aus"-Zustand benutzt, um eine „Sofort-An"-Benutzererfahrung
zur Verfügung
zu stellen, während
der Benutzer- und Systemzustand im Falle eines AC-Leistungsausfalls
bewahrt werden.
-
HINTERGRUND DER ERFINDUNG
-
Das
Einschalten und Ausschalten eines Computers sind grundlegende Arbeitsvorgänge des Computers.
Dafür hat
ein Computer typischerweise einen Leistungsknopf (power button)
an seinem Gehäuse
(z. B. an seinem Frontpaneel), den ein Benutzer drücken kann,
um den Einschalt- oder Ausschaltarbeitsvorgang des Computers einzuleiten.
Außer dem
Arbeitszustand und dem Leistung-Aus-Zustand implementieren viele
moderne Personal Computer Leistungssparzustände (power saving states),
die in der „Advanced
Configuration and Power Interface"-(ACPI)-Spezifikation definiert sind.
Abhängig von
dem Leistungssparschema, das im Computer implementiert ist, kann
der Leistungsknopf benutzt werden, um den Computer vom normalen
Arbeitszustand (d. h. „An") in einen der Leistungssparzustände zu bringen,
in welchen der Computer zum Teil mit Leistung versorgt wird, wie
etwa den S1-S3-Zuständen
der ACPI, oder in einen Ausschaltzustand (power down state), wie
etwa den S4- oder S5-Zustand der ACPI.
-
Die
Implementierung eines ausgeklügelten Leistungssparschemas
mit verschiedenen Leistungszuständen
kann jedoch die Aufgabe des Ausschaltens eines Personal Computers
(PC) in eine komplizierte Sache für nichttechnische Benutzer
verwandeln. Ein Benutzer muss die Unterschiede zwischen den „Standby/Schlaf"-, „Ruhe-halten"-(hibernate) und
den wahren „Aus"-Leistungszuständen kennen
und er muss die Austauschbeziehungen zwischen diesen verschiedenen
Leistungszuständen verstehen.
Der Benutzer muss beispielsweise entscheiden, ob der Computer in
den „Aus"-Zustand versetzt
werden soll, der die Daten vollständig speichert, aber später einen
vollständigen „Wiederhochfahr-Vorgang" (reboot) benötigt oder
ob die Maschine in den Standby-Zustand versetzt werden soll, der
es dem Computer erlaubt, schnell in den „An"-Zustand zurückzukehren, aber die Zustandsdaten
der Maschine nicht bewahrt, wenn die Leistung aus fällt. Zusätzlich beeinflusst
die Art und Weise, wie ein Computer ausgeschaltet wird, die Art
und Weise, wie er antwortet, wenn der Benutzer seinen Leistungsknopf drückt. Wenn
der Computer beispielsweise im „Standby"-Zustand ist, kann er schnell in den „An"-Zustand (unter zwei Sekunden) zurückkehren, während wenn
er im „Aus"-Zustand ist, eine
lange Zeit für
den Computer benötigt
wird, um zurück
in den „An"-Zustand hochzufahren
(15–45
Sekunden). Die verschiedenen Arten und Weisen, wie der Computer auf
das Drücken
des gleichen Leistungsknopfes reagieren kann, kann eine inkonsistente
und verwirrende Benutzererfahrung erzeugen. Dies steht im scharfen
Gegensatz zu normalen Heimanwendungen, wie etwa ein Stereosystem
oder ein Fernseher, die einfache An/Aus-Zustände haben.
-
Eine
mögliche
Art und Weise, ein einfaches An/Aus-Modell in einem Personal Computer
zu implementieren, ist, einen dazwischen liegenden Leistungssparzustand
als Default-„Aus"-Zustand zu wählen, wie
etwa den S3-„Standby"-Zustand der ACPI-Spezifikation.
Wenn der Benutzer den Leistungsknopf drückt, um den Computer „aus"-zuschalten, geht
das Computersystem in den Standby-Zustand, anstatt komplett abzuschalten
(den ACPI-S5-Zustand). Wenn der Benutzer den Leistungsknopf drückt, um
den Computer wieder anzuschalten, wacht der Computer aus dem Standby-Zustand
auf und nimmt den Arbeitszustand (den ACPI-S0-Zustand) wieder auf.
Ein wichtiger Vorteil dieses einfachen Leistung-An/Aus-Modells zusätzlich zu
der vereinfachten und konsistenten Benutzererfahrung ist, dass der
Computer schnell vom Standby-Zustand in den Arbeitszustand übergehen
kann und damit eine „Sofort-An"-(instant-on)-Erfahrung
zur Verfügung
stellt.
-
Das
einfache An/Aus-Modell hat jedoch ein signifikantes Problem. Ein
Standby-Zustand ist typischerweise ein flüchtiger Zustand in dem Sinne,
dass die System- und Benutzerdaten nicht dauerhaft gespeichert (z.
B. auf einer Festplatte) werden, wenn das System vom Arbeitszustand
in den Standby-Zustand übergeht.
Wenn der Computer in einem Standby-Zustand ist und die AC-Leistung
ausfällt
oder unterbrochen wird, oder der Computer versehentlich ausgesteckt
(unplugged) wird, wird der Computer seine Benutzer- und Systemdaten
und andere Daten, die im RAM (z. B. geöffnete und ungespeicherte Dokumente
und Dateien) gehalten werden, verlieren, wenn sie nicht vor dem
AC-Leistungsverlust
gespeichert wurden. Wenn die AC-Leistung zurückkehrt, wird der Computer
hochfahren müssen
und kann nicht in den vorhergehenden Benutzerzustand zurückkehren,
in dem er vor dem AC-Leistungsausfall war. Der Benutzer muss als
Ergeb nis alle Anwendungen, die vorher vor dem AC-Leistungsausfall
gelaufen waren, erneut starten.
-
DE 43 09 369 A bezieht
sich auf ein Verfahren zur Überbrückung eines
Ausfalls der Hauptversorgung in Personal Computern durch Hilfsbatterien für eine beliebige
Zeitdauer. Eine Leistungsversorgung generiert im Falle eines Ausfalls
des Hauptnetzes ein Signal, das einerseits ein Energiespeichermedium
aktiviert und andererseits das BIOS. Ein Interruptsignal veranlasst
die zentrale Verarbeitungseinheit, eine Unterbrechungsbehandlungsroutine
(interrupt handling routine) des BIOS auszuführen. Die benutzte zentrale
Verarbeitungseinheit umfasst einen Systemmanager-Interrupt, der
unabhängig
von der Interrupt-Tabelle ist, die vom Betriebssystem verwaltet
wird.
-
ÜBERSICHT DER ERFINDUNG
-
Es
ist die Aufgabe der vorliegenden Erfindung, Zustandsdaten eines
Personal Computers im Falle eines AC-Leistungsausfalls unabhängig vom benutzten
BIOS zu bewahren.
-
Diese
Aufgabe wird durch die Erfindung, wie in den unabhängigen Ansprüchen beansprucht,
gelöst.
Bevorzugte Ausführungsformen
werden von den abhängigen
Ansprüchen
definiert.
-
Angesichts
des Vorhergehenden stellt die vorliegende Erfindung einen Mechanismus
zur Bewahrung von Benutzer- und Systemzustandsdaten eines Personal
Computers im Falle eines AC-Leistungsverlusts zur Verfügung, wenn
der Computer in einem Standby-Zustand
ist. Dieser Mechanismus benutzt ein Energiespeichermedium, wie etwa
eine Batterie, zur Leistungsversorgung der Arbeitsvorgänge oder
des Computers, wenn die AC-Leistung ausfällt. Wenn der Computer in einem
Standby-Zustand ist und der AC-Leistungsausfall
auftritt, verbindet eine Umschaltschaltung (switchover circuit)
die DC-Ausgangsspannung
des Energiespeichermediums mit der Leistungsversorgung des Computers
zur Leistungsversorgung der internen Komponenten des Computers,
aber nicht der externen peripheren Geräte und der Computer wird aufgeweckt
und kehrt in den Arbeitszustand zurück. Ein Batterietreiber erlässt dann
einen „Batterie
kritisch"-Alarm (critical battery alarm),
obwohl die Batterie nicht bei einem niedrigen Spannungslevel ist.
Der „Batterie
kritisch"-Alarm
veranlasst das Betriebssystem des Computers, einen Übergang
in einen Ruhezustand (hibernation state) durchzuführen, während dessen
die Zustandsdaten des Computers dauerhaft gespeichert sind (d. h.
in einem nichtflüchtigen
Speicher gespeichert, um Datenverlust vorzubeugen). Das Energiespeicher medium
wird dann von der Leistungsversorgung getrennt, nachdem das Computersystem
in die Ruhe (hibernation) eingetreten ist. Wenn die AC-Leistung
zurückkehrt,
kann der Computer wieder hochfahren und die Zustandsdaten wiederherstellen
und dann in den Standby-Zustand zurückkehren, in dem er vor dem AC-Leistungsverlust
war.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das allgemein ein exemplarisches Computersystem
illustriert, in dem die vorliegende Erfindung implementiert werden kann;
-
2 ist
ein schematisches Diagramm eines Desktop-Personal-Computers, der
einen Leistungsknopf zum Anschalten oder Ausschalten des Computers
hat;
-
3 ist
ein schematisches Diagramm, das Komponenten zeigt, die in einem
Mechanismus in Übereinstimmung
mit einer Ausführungsform
der Erfindung involviert sind, um betriebssichere Leistung zur Bewahrung
von Zustandsdaten zur Verfügung
zu stellen, um Systemwiederherstellung im Falle, wenn ein AC-Leistungsverlust
auftritt, wenn der Computer in einem Standby-Zustand ist, zu erlauben;
und
-
4 ist
ein schematisches Diagramm, das Übergänge zwischen
Leistungszuständen
des Computers in Übereinstimmung
mit einer Ausführungsform
der Erfindung zeigt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Unter
Zuwendung zu den Zeichnungen, wo gleiche Bezugszeichen sich auf
gleiche Elemente beziehen, wird die Erfindung als in einer geeigneten Computerumgebung
implementiert illustriert. Die Erfindung wird im allgemeinen Kontext
von computerausführbaren
Instruktionen, wie etwa Programmmodule, die von einem Personal Computer
ausgeführt werden,
beschrieben werden, obwohl nicht unbedingt benötigt. Im Allgemeinen beinhalten
Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen
etc., die bestimmte Aufgaben durchführen oder bestimmte abstrakte
Datentypen implementieren. Darüber
hinaus werden Fachleute anerkennen, dass die Erfindung mit anderen Computersystemkonfigurationen
praktiziert werden kann, welche tragbare Geräte, Multiprozessorsysteme,
mikroprozessorbasierende oder programmierbare Endverbraucherelektronik,
Netzwerk-PCs, Minicomputer, Main-Frame-Computer und Ähnliches
beinhaltet. Die Erfindung kann in verteilten Computerumgebungen
praktiziert werden, wo Aufgaben durch entfernte Verarbeitungsgeräte durchgeführt werden, die
durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten
Computerumgebung können sich
Programmmodule sowohl in lokalen als auch entfernten Datenspeichergeräten befinden.
-
Die
folgende Beschreibung beginnt mit einer Beschreibung eines Mehrzweck-Computergeräts, das
benutzt werden kann, um eine Ausführungsform der Erfindung zu
implementierten. Die Mechanismen der Erfindung zur Bewahrung von
Zustandsdaten im Fall eines AC-Leistungsausfalls, wenn der Computer in
einem Standby-Zustand ist, werden in größerem Detail unter Bezugnahme
auf 2–4 beschrieben
werden. Ein Beispiel einer grundlegenden Konfiguration für einen
Computer, auf welchem alle oder Teile der Erfindung, die hier beschrieben
wird, implementiert werden können,
wird nun gezeigt unter Zuwendung zu 1. In seiner
grundlegendsten Konfiguration beinhaltet der Computer 10 typischerweise wenigstens
eine Verarbeitungseinheit 14 und einen Speicher 16.
Die Verarbeitungseinheit und der Systemspeicher sind typischerweise
auf einer Hauptplatine (motherboard) 18 des Computers 10 montiert. Die
Verarbeitungseinheit 14 führt Instruktionen aus, um Aufgaben
in Übereinstimmung
mit verschiedenen Ausführungsformen
der Erfindung auszuführen.
In der Ausführung
solcher Aufgaben kann die Verarbeitungseinheit 14 elektronische
Signale zu anderen Teilen des Computers 10 und zu Geräten außerhalb des
Computers 10 übertragen,
um einige Ergebnisse zu verursachen. Wenigstens manche dieser Instruktionen
werden vom Betriebssystem 22 generiert. Das Betriebssystem 22 kann
einige Programme für
den Benutzerbetrieb und einige Programme für den Kernelbetrieb beinhalten.
Abhängig
von der genauen Konfiguration und Typ des Computers 10 kann
der Speicher 16 flüchtig
(wie etwa ein RAM 17), nichtflüchtig (wie etwa ein ROM oder
ein Flashspeicher) oder irgendeine Kombination der beiden sein.
-
Der
Computer kann zusätzlich
zusätzliche Eigenschaften/Funktionalität haben.
Beispielsweise kann der Computer 10 auch zusätzlichen
Speicher (wie etwa einen entfernbaren Speicher 21 und/oder einen
nichtentfernbaren Speicher, wie etwa eine Festplatte 23)
beinhalten, beinhaltend aber nicht beschränkt auf magnetische oder optische
Disks oder Bänder,
entfernbare Flashspeichergeräte,
etc. Computerspeichermedien beinhalten flüchtige und nichtflüchtige,
entfernbare und nichtentfernbare Medien, die in einem beliebigen
Verfahren oder Technologie zur Speicherung von Informationen implementiert sind,
beinhaltend computerausführbare
Instruktionen, Datenstrukturen, Programmmodule oder andere Daten.
Computerspeichermedien beinhalten, aber sind nicht beschränkt auf
RAM, ROM, EEPROM, Flashspeicher, CD-ROM, Digital Versatile Disc
(DVD) oder anderen optischen Speicher, magnetische Kassetten, magnetisches
Band, magnetische Plattenspeicher oder andere magnetische Speichergeräte oder
irgendein anderes Medium, das benutzt werden kann, um die gewünschte Information
zu speichern und auf das von einem Computer 10 zugegriffen
werden kann. Jegliche solche Computerspeichermedien können Teil
des Computers 10 sein.
-
Der
Computer beinhaltet auch ein grundlegendes Eingabe/Ausgabe-System
(BIOS) 26, welches gewöhnlich
ein grundlegender Satz von Routinen in einem Personal Computer ist.
Das BIOS 26 ist typischerweise auf einem Chip gespeichert
und stellt eine Schnittstelle zwischen dem Betriebssystem und der
Hardware zur Verfügung.
Das BIOS 26 unterstützt
die peripheren Technologien und internen Dienste, wie etwa die Realzeituhr
(Zeit und Datum). Beim Einschalten testet das BIOS 26 das
System und präpariert
den Computer für
den Betrieb durch Abfragen seines eigenen kleinen CMOS-Speichermoduls für Laufwerk-
und andere Konfigurationseinstellungen. Es sucht nach anderen BIOS
auf den Plug-in-Platinen und erstellt Zeiger (Interrupt-Vektoren)
im Speicher, um auf diese Routinen zuzugreifen. Es lädt dann
das Betriebssystem und überträgt die Kontrolle
zu ihm. Das BIOS akzeptiert Anfragen sowohl von den Treibern als
auch den Anwendungsprogrammen. Wie in größerem Detail weiter unten beschrieben,
ist das BIOS 26 in einer bevorzugten Ausführungsform
der Erfindung programmiert, ein Teil des Mechanismus zur Bewahrung
von Zustandsdaten des Computers im Falle eines AC-Leistungsausfalls,
der auftritt, wenn der Computer in einem Standby-Zustand ist, zu
sein.
-
Der
Computer 10 beinhaltet weiter einen Leistungsmanagementcontroller 36 zur
Unterstützung
von verschiedenen Leistungszuständen,
wie etwa den ACPI-S1-S5-Zuständen.
Der Leistungsmanagementcontroller 36 ist typischerweise
als Firmware in einem integrierten Schaltkreis (IC) implementiert,
welcher typischerweise auf der Hauptplatine des Computers montiert
ist. Wie im größeren Detail weiter
unten beschrieben wird, ist der Leistungsmanagementcontroller 36 in
einer bevorzugten Ausführungsform
auch in den Mechanismus zur Bewahrung der Zustandsdaten in Antwort
auf einen AC-Leistungsverlust
involviert.
-
Der
Computer 10 kann auch Kommunikationsverbindungen beinhalten,
die es dem Gerät
ermöglichen,
mit anderen Geräten
zu kommunizieren. Eine Kommunikationsverbindung ist ein Beispiel
eines Kommunikationsmediums. Kommunikationsmedien verkörpern typischerweise
computerlesbare Instruktionen, Datenstrukturen, Programmmodule oder andere
Daten in einem modulierten Datensignal, wie etwa einer Trägerwelle
oder anderen Transportmechanismen und beinhalten jegliche Informationslieferungsmedien.
-
Kommunikationsmedien
beinhalten, als Beispiel und nicht als Beschränkung, kabelgebunde Medien,
wie etwa ein kabelgebundenes Netzwerk oder direktverkabelte Verbindungen
und kabellose Medien, wie etwa akustische, RF, Infrarot- oder andere
kabellose Medien. Der Ausdruck „computerlesbares Medium", wie hier benutzt,
beinhaltet sowohl Computerspeichermedien als auch Kommunikationsmedien.
-
Der
Computer 10 kann auch Eingabegeräte, wie etwa eine Tastatur 25,
eine Maus, einen Stift, ein Stimmeingabegerät, ein Berührungseingabegerät etc. haben.
Ausgabegerate, wie etwa ein Display 20, Lautsprecher, ein
Drucker 27, etc. können
auch beinhaltet sein. Die allgemeinen Arbeitsvorgänge all
dieser Geräte
sind wohlbekannt und müssen
hier nicht länglich
diskutiert werden.
-
Die
vorliegende Erfindung ist unter Bezugnahme auf 2 auf
einen Mechanismus zur Bewahrung von System- und Benutzerzustandsdaten eines
Desktop-Computers gerichtet, wenn ein AC-Leistungsausfall auftritt,
während
der Computer in einem Standby-Zustand
ist. Dieser Mechanismus ermöglicht
es dem Computer, ein einfaches An/Aus-Benutzermodell zu implementieren, das
einen flüchtigen
Standby-Zustand als seinen Default-„Aus"-Zustand benutzt, um eine „Sofort-An"-Erfahrung zur Verfügung zu
stellen. Wie hierin zu Zwecken der Beschreibung und der Beanspruchung
der Erfindung benutzt, meint der Ausdruck „Standby-Zustand" einen Leistungssparzustand,
der wenigstens die elektrische Leistung zur Verfügung stellt, die gebraucht
wird, um Inhalte des RAM des Computers zu bewahren und auf ein Aufweckereignis
zu achten. Dieser Ausdruck ist auch beabsichtigt, austauschbar mit
dem Ausdruck „Schlafzustand” (sleep
state) zu sein. In einer bevorzugten Ausführungsform ist der Standby-Zustand
der S3-Zustand, der von der Advanced-Configuration-and-Power-Interface-(ACPI)-Spezifikation
definiert ist.
-
Mit
dem einfachen An/Aus-Modell implementiert im Computer wird der Computer
nicht wirklich ausgeschaltet im Sinne, dass er komplett von der Leistungsversorgung
getrennt wird (z. B. dem ACPI-S5-Zustand), wenn der Computer 10 in
einem Arbeitszustand oder „An"-Zustand (z. B. dem
S0-Zustand der ACPI-Spezifikation) ist und der Benutzer den Leistungsknopf 50 drückt, um
den Computer „auszuschalten". Stattdessen wird
der Computer in den Standby-Betrieb versetzt, der den Systemzustand
im RAM bewahrt. Wenn der Benutzer später den Leistungsknopf drückt, um
den Computer anzuschalten, wacht der Computer vom Standby-Zustand auf
und nimmt den Arbeitszustand wieder auf. Da die Zustandsdaten im
RAM beibehalten werden, kann der Computer schnell „aufwachen” und in
den „An"-Zustand zurückkehren.
Es werden die gleichen Dateien geöffnet sein und die gleichen
Anwendungen laufen, wie bevor der Übergang in den Standby-Zustand
stattfand. In einer bevorzugten Ausführungsform entspricht der Standby-Zustand
dem S3-Zustand der ACPI-Spezifikation. Der S3-Zustand, der auch
oft „Suspend
to RAM"-Zustand
(„Aufheben
im RAM"-Zustand)
genannt wird, ist ein relativ starker leistungssparender Zustand.
In dieser Betriebsart werden die meisten Komponenten des Computers, einschließlich der
CPU und des Caches, abgeschaltet, außer einer kleinen Menge von
Leistung, die benötigt
wird, um die Inhalte des RAM des Computers davon abzuhalten, sich
zu verflüchtigen
und um den Leistungsmanagementcontroller 36 an zu behalten, um
nach einem Aufweckereignis zu horchen.
-
Wenn
der Computer unter Bezugnahme auf 3 in dem
Standby-Betrieb ist und der Benutzer den Leistungsknopf 50 drückt, wird
das Leistungsknopf-Ereignissignal, das von dem Leistungsknopf generiert
wird, zu dem Leistungsmanagementcontroller 36 geleitet,
der dann ein Wecksignal sendet, um das System zu wecken. Es wird
anerkannt werden, dass das Drücken
des Leistungsknopfs nicht das einzige Ereignis ist, das den Computer
aus dem Standby-Zustand aufwecken kann. Andere Ereignisse, wie etwa
das Empfangen einer speziellen Art von LAN-Paket oder einem eingehenden
Modemanruf, können
beispielsweise auch einen Aufweckarbeitsvorgang einleiten, abhängig davon,
wie das System eingerichtet ist. Solche Aufweckereignisse sind herkömmlich und
müssen
nicht weiter beschrieben werden.
-
In Übereinstimmung
mit einem Aspekt der Erfindung wird der Personal Computer 10 normalerweise
mit AC-Leistung mit Leistung versorgt. Wie in 3 illustriert,
hat der Computer 10 eine Leistungsversorgung (power supply),
die AC-Leistung (z.B. 115 V bei 50/60 Hz) über ein Netzanschlusskabel (power
cord) empfängt,
das einen Anschluss zum Anschließen an einen AC-Ausgang hat.
In der Ausführungsform
der 3 hat die Leistungsversorgung 76 eine
AC-zu-DC-Abteilung (AC to DC section, Gleichrichter) 78,
die die AC-Spannung in eine geeignete DC-Spannung, wie etwa +12
V, konvertiert. Der DC-Ausgang der AC-zu-DC-Abteilung 78 wird
dann als Eingang für
die DC-zu-DC-Abteilung
(DC to DC section, Gleichspannungswandler) 80 benutzt,
die einige verschiedene DC-Spannungen, wie etwa +12 V, +5 V, +3,3
V und +5 VSB zur Leistungsversorgung verschiedener Komponenten und
des Computersystems generiert. Da der Computer 10 durch
AC-Leistung mit Leistung versorgt wird, wird sein Betrieb von dem
Verlust der AC-Leistung beeinflusst. Ein AC-Leistungsausfall, der
während
des Arbeitszustands (S0) oder des Standby-Zustands (S3) auftritt, veranlasst
normalerweise einen herkömmlichen Computer,
seine Systemzustandsinformation zu verlieren, weil der Computer
nicht die Möglichkeit
hat, die Zustandsdaten zu speichern, bevor die Leistung gegangen
ist. Der herkömmliche
Computer würde ebenso
wenn die AC-Leistung wiederhergestellt ist, eine vollständige Hochfahrsequenz
benötigen.
Nach dem Hochfahren des Computers kann der Systemzustand, der vor
dem Leistungsausfall war, nicht wiederaufgenommen werden, da die
Daten verloren wurden.
-
Der
Mechanismus der Erfindung löst
dieses Problem durch die Benutzung eines Energiespeichermediums,
um die DC-Leistung zur Verfügung
zu stellen, die von der Leistungsversorgung 76 benötigt wird,
um die DC-Spannung für
den Betrieb des Computers, nachdem die AC-Leistung ausfällt, zu
generieren. Das Energiespeichermedium stellt eine DC-Ausgangsspannung,
die mit der Leistungsversorgung 76 des Computers verbunden
ist, zur Umwandlung in die DC-Spannungen zur Verfügung, die
benötigt
werden, um die internen Komponenten des Computers in Betrieb zu
halten. Im Gegensatz zur Betriebsweise einer unterbrechungsfreien
Leistungsversorgung (uninterruptable power supply, UPS), die herkömmlich benutzt
wird, um AC-Reserveleistung (AC backup power) für einen Computer zur Verfügung zu
stellen, versorgt das Energiespeichermedium nur die Komponenten,
die für
den Arbeitsvorgang der Bewahrung der Zustandsdaten nötig sind,
wie etwa die Hauptplatine und die Festplatte (und/oder das optische
Laufwerk) mit Leistung und versorgt nicht die externen peripheren
Geräte
(Monitor, Drucker usw.), die AC-Leistung zum Betrieb benötigen, mit
Leistung und die typischerweise in den Computer gesteckt sind, um
die AC-Leistung zu empfangen. Das Energiespeichermedium kann innerhalb
des Computergehäuses
montiert sein oder alternativerweise kann es außerhalb des Computers sein
und mit der Leistungsversorgung 76 des Computers über geeignete
Verkabelung oder Verbinder verbunden sein.
-
In
einer bevorzugten Ausführungsform
ist das Energiespeichermedium eine Batterie 70. Die Batterie 70 hält den Betrieb
des Computers 10 lange genug für das Betriebssystem aufrecht,
um die Zustandsdaten zu speichern und um in einen dauerhaften Aus-Zustand überzugehen,
in welchem die Zustandsdaten dauerhaft gespeichert sind (z. B. in
einem nichtflüchtigen
Speicher, wie etwa einer Festplatte), bevor die Batterieleistung
getrennt wird. Solch ein dauerhafter Aus-Zustand kann z. B. der S4-Zustand
der ACPI-Spezifikation
sein. Wenn der Computer in den S4-Zustand eintritt (oft „Ruhe"-Zustand genannt, „hibernation" state), schreibt
er, vor der Abschaltung der Leistung, zuerst die Inhalte des RAM 17 und
einige CPU-Einstellungen in eine spezielle Datei 64 auf
der Festplatte 23. Später,
wenn der Computer 10 aus der Ruhe aufwacht, muss er nicht durch
eine vollständige
Hochfahrsequenz gehen. Er liest stattdessen, nach dem „BIOS-post", die Inhalte der
Daten, die in der speziellen Datei 64 gespeichert sind,
zurück
in den RAM 17 und versetzt sich so wieder in die gleiche
Lage, in der er war, wenn die Ruhe startet.
-
Da
die Reservebatterie 70 nur den Betrieb des Computers lange
genug aufrecht erhalten muss, damit der Computer in den dauerhaften
Aus-Zustand eintritt, ist die Anforderung an ihre Leistungskapazität nicht
groß.
Da die Batterie auch viele Male während der Lebenszeit des Computers
gebraucht werden kann, ist sie vorzugsweise wiederaufladbar und
zuverlässig.
Weiterhin, um die Kosten des Computers gering zu halten, ist die
Batterie vorzugsweise relativ billig. In einer Implementierung ist
die Reservebatterie 70 eine plombierte Bleibatterie, die
diesen Anforderungen gerecht wird. Die Batterie hat eine geeignete
Spannung, wie etwa 12 V. Es wird anerkannt werden, dass andere Typen
von wiederaufladbaren Energiespeichermedien, wie etwa Ni-Cad-, Ni-MH-
und Li-on-Batterien
und hochkapazitive Kondensatoren auch benutzt werden können.
-
Wie
in 3 illustriert, beinhaltet die Leistungsversorgung
eine Batterieladeschaltung 72 und eine Umschaltschaltung 86.
Die Batterie 70 ist mit der Umschaltschaltung 86 verbunden,
die den Auflader 72 mit der Batterie verbindet, wenn die
Leistungsversorgung 76 einen adäquaten AC-Leistungseingang empfängt. Die
Umschaltschaltung 86 beinhaltet eine Spannungsdetektionssschaltung 84,
die sowohl die Anwesenheit der AC-Leistung als auch der Spannung der Batterie
detektiert, so dass sie ermitteln kann, ob ein AC-Leistungsausfall
vorhanden ist und ob die DC-Spannung der Batterie adäquat hoch
ist. Wenn ein AC-Leistungsausfall detektiert wird, verbindet die
Umschaltschaltung 86 die Batterie 70 mit dem Eingang
der DC-zu-DC-Abteilung 80 der Leistungsversorgung 76.
Die DC-Spannung der Batterie 70 wird dann von der DC-zu-DC-Abteilung 80 in
verschiedene Ausgangs-DC-Spannungen konvertiert.
-
Um
den Status des Batterieleistungsgebrauchs anzuzeigen, ist die Umschaltschaltung 86 implementiert,
zwei Signale zur Verfügung
zu stellen, das BATT_OK und ON_BATT. Das BATT_OK-Signal zeigt an,
ob die Batterie genug Spannung hat, um den Computer 10 zu
unterstützen,
durch eine Ruhesequenz zu gehen. Das ON_BATT-Signal zeigt an, ob
das System gerade von der Batterie 70 mit Leistung versorgt
wird. Dieses Signal wird von der Leistungsversorgung 76 angelegt
(asserted), wenn die AC-Leistung nicht vorliegt und die Batterie 70 genügend gespeicherte
Energie hat, wie vom BATT_OK-Signal, das als hoch angelegt wird,
angedeutet wird. Das ON_BATT-Signal wird zum Mehr zweckereignis (general
purpose event, GPE) Register 38 auf dem Leistungsmanagementcontroller 36 geleitet,
das in der Lage ist, ein Wecksignal durch einen Systemcontrol-Interrupt
(system control interrupt, SCI) zu liefern.
-
Das
System BIOS 26 implementiert ein Kontrollverfahren „Batterie" (control method
battery) 66 im ACPI-Namensraum (namespace), das die _BST- und
_PRW-Objekte definiert. Die _BST- und _PRW-Objekte werden tatsächlich in
einem Batterietreiber 68 implementiert, der Teil des Betriebssystems
ist. Wenn das ON_BATT-Signal als hoch angelegt wird, als Folge eines
AC-Leistungsausfalls, wenn das System im Arbeitszustand ist, wird
der SCI, der durch das GPE-Register 38 produziert wird,
durch den ACPI-Treiber prozessiert. Das _EXX-Verfahren des ACPI-Treibers
gibt eine Notify 0×80
an den Batterietreiber 68 aus, welcher in Antwort das _BST-Objekt
ausführt
und das Batterie-kritisch-Flag
an das Betriebssystem 22 berichtet, um anzuzeigen, dass das
System in einem kritischen Energiezustand ist. Das Betriebssystem 22 ist
konfiguriert, in Antwort auf den Erhalt des Batterie-kritisch-Alarmsignals,
in den Ruhezustand einzutreten. Wenn der Übergang in die Ruhe komplett
ist, baut die Hauptplatine 18 den PS_ON#-Anschluss der
Leistungsversorgung 76 ab, so dass der PS_ON#-Anschluss
auf hoch geht. Dies sagt der Leistungsversorgung 76, dass
das System in Ruhe ist. In Antwort darauf bringt die Umschaltschaltung 86 das
ON_BATT-Signal zurück
auf „niedrig" und trennt die Batterie 70 von
der Leistungsversorgung, um die Energie der Batterie zu bewahren.
-
Wenn
ein AC-Leistungsausfall auftritt, wenn das System im Standby-Zustand
ist und der PS_ON#-Anschluss nicht von der Hauptplatine angelegt
wird (de-asserted) (wie etwa wenn die Hauptplatine 18 im
S3-Zustand ist), verbindet die Umschaltschaltung 86 die
DC-Spannung der Batterie 70 mit der DC-zu-DC-Abteilung 80 der
Leistungsversorgung, so dass das System auf Batterieleistung ist
und legt das ON_BATT auf hoch. Das ON_BATT-Signal wird zu dem GPE 38 auf
dem Leistungsmanagementcontroller 36 geleitet. Das _PRW-Objekt
des Batterietreibers 68 wird ausgeführt, um das Wecksignal zu dem
Leistungsmanagementcontroller zu liefern. Das System wacht als Ergebnis
in den S0-Zustand auf. Dies wird angedeutet, indem die Hauptplatine
das PS_ON# auf niedrig legt. Sobald das Betriebssystem 22 den
Arbeitszustand wieder aufnimmt, gibt der Batterietreiber 68 einen
Batterie-kritisch-Alarm aus, der zum Betriebssystem geleitet wird.
Es sollte angemerkt werden, dass der Batterie-kritisch-Alarm zwecks
der Ansteuerung des Betriebssystems in die Ruhe einzutreten gesendet
wird und nicht um das tatsächliche
Batterielevel anzudeuten. Deshalb wird der Alarm gesendet, obwohl
die Batterie 70 nicht bei einem niedrigen Energielevel
ist. In Antwort auf den Batterie-kritisch-Alarm startet das Betriebssystem 22 die
Ruhesequenz. Wenn die Ruhe realisiert ist, entlässt die Hauptplatine 18 den PS_ON#-Anschluss.
In Antwort darauf trennt die Leistungsversorgung 76 die
Batterie.
-
Ein
AC-Leistungsausfall ist typischerweise keine einzelne Episode von
verloren gegangener Leistung, auf die eine unterbrechungsfreie Wiederaufnahme
von reiner Leistung folgt. Die AC-Leistung kann hingegen für eine ausgedehnte
Periode, wie etwa während
eines Gewitters, an- und ausflackern. In diesem Fall kann die Batterieleistung
schnell leer laufen, wenn der Computer jedes Mal wieder hochgefahren
wird, wenn die AC-Leistung
zurückkehrt
und durch den mit Batterieleistung versorgten Herunterfahrprozess
geht, wenn die AC-Leistung wieder geht. In Übereinstimmung mit einem Merkmal
einer bevorzugten Ausführungsform
wird dieses Problem dadurch gelöst,
dass der Leistungsmanagementcontroller 36 wartet bis die
AC-Leistung für
eine programmierbare, vorher ausgewählte Zeit stabil ist, bevor
er das System weckt. Dies verhindert, dass die Batterieleistung,
während
die AC-Leistung instabil ist, durch wiederholtes Versetzen des Systems
in Ruhe aufgebraucht wird. Diese Bestimmung, ob die AC-Leistung lang
genug stabil gewesen ist, kann beispielsweise durch Überprüfung des
Messwerts eines Hardware-Timers gemacht werden, der startet, wenn
die AC-Leistung zurückkehrt.
-
In Übereinstimmung
mit einem Merkmal einer bevorzugten Ausführungsform stellt die Leistungsversorgung 76 die
Leistung für
einige der internen peripheren Geräte sofort bereit, wenn die
Batterieleistung zugeschaltet wird, aber verzögert die Leistung für andere
interne periphere Geräte.
Wie in 3 illustriert, beinhaltet der Ausgang der Leistungsversorgung 76 „normale
Leistungs"-Anschlüsse 108,
die Leistung sofort, nachdem das ON_BATT-Signal angelegt wird, zur
Verfügung
stellen und „verzögerte Leistungs"-Anschlüsse 110, um Leistung
zur Verfügung
zu stellen, die nach einer vorher gewählten Zeitdauer nach dem Anlegen
des ON_BATT-Signals verfügbar
ist. In einer Implementierung wird die verzögerte Leistung an den Verbindungen 110 sieben
(7) Sekunden nachdem die Leistung an den normalen Verbindungen 108 gültig geworden
ist gültig. Der
Zweck dieser verzögerten
Leistung ist, Peaks in der Last, die der Leistungsversorgung 76 präsentiert werden,
zu verteilen, insbesondere im Fall, wo ein peripheres Gerät einen
anfänglichen
plötzlichen
Anstieg in seiner Leistungsabnahme aufzeigt. Solch ein plötzlicher
Anstieg tritt beispielsweise auf, wenn ein optisches Disc-Laufwerk
andrehen muss. In einer Implementierung, wie in 3 illustriert,
ist die Festplatte 23 mit den normalen peripheren Leistungsverbindungen 108 und
die optischen Discs 28 mit den verzögerten peripheren Leistungsverbindungen 110 verbunden.
-
Die
möglichen Übergänge zwischen
den Leistungszuständen
des Computersystems in einer bevorzugten Ausführungsform sind in 4 zusammengefasst.
Wenn das Computersystem im Arbeitszustand 90 (z. B. dem
ACPI-S0-Zustand) auf AC-Leistung ist und der Benutzer den Leistungsknopf
drückt,
instruiert der Leistungsmanagementcontroller das Betriebssystem,
in den Standby-Zustand 92 (z. B. den ACPI-S3-Zustand) einzutreten.
Im Standby-Zustand ist der Computer noch auf AC-Leistung. Wenn der
Benutzer dann den Leistungsknopf drückt, um den Computer anzuschalten,
sendet der Leistungsmanagementcontroller ein Wecksignal, um das
System zu wecken und der Computer nimmt den Arbeitszustand wieder
auf. Es sollte angemerkt werden, dass diese beiden Übergänge gewöhnlich sind und
Standard auf Personal Computer, die die ACPI-Zustände
unterstützen.
-
Wenn
die AC-Leistung ausfällt,
wenn der Computer im Standby-Zustand ist, wird die Batterieleistung
zugeschaltet und der Computer einschließlich des Leistungsmanagementcontrollers
wird nun von der Batterie (dem „S3-auf-Batterie"-Zustand 96) mit
Leistung versorgt. In Antwort auf die Detektion des AC-Leistungsausfalls
legt die Leistungsversorgung das ON_BATT-Signal an, welches den
Leistungsmanagementcontroller veranlasst, das Computersystem aus
dem Standby-Zustand aufzuwecken. Als Ergebnis geht das Computersystem
in den Arbeitszustand, welcher von der Batterie mit Leistung versorgt
wird (den „S0-auf-Batterie"-Zustand 98).
Der Batterietreiber 68 sendet dann ein „Batterie-kritisch-Alarm"-Ereignissignal an
das Betriebssystem. In Antwort darauf versetzt das Betriebssystem
das System in den Ruhezustand (z. B. den ACPI-S4-Zustand) mit den
Zustandsdaten bestehend auf der Festplatte. Nachdem das System im
Ruhezustand (dem „S4-auf-Batterie-Zustand" 100) ist,
trennt die Leistungsversorgung die Batterie, um die Batterieleistung
zu bewahren. Zu dieser Zeit ist das ganze Computersystem in einem
komplett ausgeschalteten (powered off) Zustand 102.
-
In
einer Implementierung ist der Computer eingerichtet, nach einem
Leistungsausfall hochzufahren. Wenn die AC-Leistung zurückkehrt,
wartet der Leistungsmanagementcontroller, jetzt auf AC-Leistung,
dass die AC-Leistung für
eine vorgewählte
Zeitdauer stabil bleibt und veranlasst dann das Computersystem aus
dem vollständigen „Aus"-Zustand in den Ruhezustand (dem „S4-auf-AC-Leistung"-Zustand 106)
zurückzukehren. Später kann
das Computersystem aus dem Ruhezustand durch den Leistungsmanagementcontroller oder
durch den Benutzer, der den Leistungsknopf drückt, aufgeweckt werden und
der Computer nimmt den Arbeitszustand 90 mittels der Zustandsdaten,
die auf der Festplatte, bevor der Computer in den Ruhezustand eingetreten
ist, gespeichert wurden, wieder auf. Danach instruiert der Leistungsmanagementcontroller
das Betriebssystem in den Standby-Zustand 92 zu gehen.
Danach, wenn der Benutzer den Leistungsknopf wieder drückt, nimmt
der Computer sofort den Arbeitszustand 90 wieder auf. Demnach ändert der
Computer trotz des zwischenzeitlichen AC-Leistungsausfalls nicht
die Art und Weise, wie er auf das Leistungsknopfsignal reagiert
und er ist im Stande, sofort auf das Drücken des Leistungsknopfes zu
antworten oder andere Ereignisse einzuleiten, so als ob der AC-Leistungsausfall
nie passiert wäre.
-
Der
AC-Leistungsausfall kann auch auftreten, wenn der Computer im Arbeitszustand 90 ist.
In diesem Fall wird die Leistung der Reservebatterie sofort zugeschaltet
und der Computer bleibt im Arbeitszustand, während er von der Batterie mit
Leistung versorgt wird (dem Zustand 98). Der Batterietreiber sendet
dann das „Batterie-kritisch-Alarm"-Ereignis zum Betriebssystem, das den
Computer dazu veranlasst, in den Ruhezustand 100 in der
gleichen Art und Weise wie oben beschrieben überzugehen.
-
In
Hinsicht auf die vielen möglichen
Ausführungsformen,
auf welche die Prinzipien dieser Erfindung angewandt werden können, sollte
erkannt werden, dass die Ausführungsformen,
die hier bezüglich der
gezeichneten Figuren beschrieben werden nur illustrativ gemeint
sind und sollten nicht als limitierend bezüglich des Umfangs der Erfindung
genommen werden. Deshalb betrachtet die Erfindung, wie hierin beschrieben,
alle solche Ausführungsformen,
wie sie innerhalb des Umfangs der folgenden Patentansprüche kommen
können.