-
HINTERGRUND
-
TECHNISCHES GEBIET
-
Ausführungsformen der Erfindung betreffen im Allgemeinen den Ruhezustand und die Wiederaufnahme bei einer Computerplattform.
-
HINTERGRUNDTECHNIK
-
Computersysteme haben typischerweise bestimmte Zustände niedriger Leistung, die als S-Zustände bezeichnet werden, einschließlich S3 und S4. S3 wird manchmal als Bereitschaft (Standby), Schlaf (Sleep) oder aussetzen für den RAM (Suspent to RAM) bezeichnet. Der Zustand S3 ist ein Schlafzustand, in dem das Betriebssystem (OS – Operating System) seinen Kontext in einem physikalischen Speicher (einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM – Dynamic Random Access Memory)) sichert und das System in einen ausgesetzten Zustand bringt. Offene Dokumente und Programme (Anwendungen), die zu dem Zeitpunkt verwendet wurden, als in S3 eingetreten wurde, oder wenigstens ein Teil der Programme werden während des ausgesetzten Zustandes ebenfalls im DRAM gesichert. Inhalte einiger Chipsatz-Register können ebenfalls in den DRAM geschrieben werden. Der physikalische Speicher DRAM wird manchmal Hauptspeicher oder Systemspeicher genannt. Während dieses ausgesetzten Zustandes wird die gesamte Energie von der Hardware der Plattform weggenommen, mit der Ausnahme des DRAM und einer kleinen Menge an Schaltung, die verwendet wird, um das System später zu wecken. Der Leistungszustand S3 bietet eine relativ schnelle Aussetz- und Wiederaufnahme(Aufweck-)-zeit aufgrund seiner Fähigkeit, den OS-Kontext und zuvor verwendete Programme und Dokumente aus dem mit Hochgeschwindigkeit arbeitenden DRAM-Speicher zu sichern und wiederzugewinnen.
-
S4 wird manchmal als Ruhe (Tiefschlaf-Hibernate), sicherer Schlaf (Safe Sleep) oder an Festplatte aussetzen (Suspend to disk) bezeichnet. In S4 werden der OS-Kontext und offene Dokumente und Programme (oder ein Teil davon) auf einem Festplattenlaufwerk (HDD – Hard Disk Drive) statt in dem schnellen DRAM-Speicher gesichert. Dies ermöglicht höhere Energieeinsparungen als bei dem Zustand S3, da der DRAM nicht mit Energie versorgt gehalten wird. Jedoch gibt es längere Wartezeiten aufgrund der langsamen Lese- und Schreibzugriffszeiten des HDD. Typische Ruhe- und Wiederaufnahmezeiten bei S4 liegen in der Größenordnung von einigen 10 Sekunden.
-
Während einige 10 Sekunden im Allgemeinen nicht viel Zeit zu sein scheint, kann es für einen Benutzer, der darauf wartet, dass sein oder ihr Computer in den Ruhezustand eintritt oder aus dem Ruhezustand herausgeholt wird, wie eine lange Zeit erscheinen. Weiter, obwohl die Menge an Energie, die benötigt wird, um die DRAMs in Betrieb zu halten, für eine kurze Zeitdauer nicht groß ist, kann sie über eine längere Zeitdauer eine wesentliche Wirkung auf die Ladung in einer Batterie haben.
-
Die
US 2004/0 003 223 A1 offenbart eine Vorrichtung, die Prozessorkerne, einen kleineren nicht flüchtigen Speicher, einen größeren nicht flüchtigen Speicher, um ein Betriebssystem, Programme und Daten zur Verwendung von den Prozessorkernen zu halten, flüchtigen Speicher, der als ein Systemspeicher für die Prozessorkerne arbeitet, und eine Energieverwaltungslogik, um wenigstens einige Aspekte der Energieverwaltung zu steuern, aufweist. Des Weiteren offenbart sie ein Verfahren zum Senken der Boot-Zeit und der Zeit zum Aufwachen aus einem Tiefschlaf eines Computersystems. Statische und dynamische Konfigurationsdaten werden in Flash-Speicher gespeichert. Ferner betrifft sie ein System, das bei Herunterfahren oder Eintritt in einen Tiefschlafzustand so arbeitet, dass es statische und dynamische Konfigurationsdaten bestimmt und vorgenannte Daten auf einem Flash-Laufwerk speichert, während verbleibende Konfigurationsdaten auf dem Plattenlaufwerk gespeichert und Anwendungsschreibvorgänge auf verfügbaren Flash-Speicher gespeichert werden. Die Zustands- und dynamischen Konfigurationsdaten sind so gewählt, dass sie näherungsweise der Anlaufzeit des Plattenlaufwerks gleichen. Die Initialisierung der statischen und dynamischen Konfigurationsdaten aus dem Flash-Speicher erfolgt gleichzeitig mit dem Anlaufen des Plattenlaufwerks.
-
Die
US 2004/0 034 765 A1 betrifft ein Verfahren und eine Vorrichtung zum Booten eines Computersystems. Im Zusammenhang mit dem Betriebssystem-Booten wird der in dem ACPI vorgesehene S4-Energie- bzw. Leistungszustand und das erneute Laden eines Systemzustands aus einem derartigen Zustand beschrieben. Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, schnellere Ruhe- und Wiederaufnahmezeiten bei einer Computerplattform zur Verfügung zu stellen, als sie bei dem Leistungszustand S4 vorhanden sind und die weniger Energie verbrauchen als der Leistungszustand S3.
-
Erfindungsgemäß wird diese Aufgabe durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 10 gelöst. Die jeweiligen Unteransprüche betreffen vorteilhafte Weiterentwicklungen der Vorrichtung bzw. des Verfahrens.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die Erfindungen werden vollständiger aus der genauen Beschreibung, die hiernach gegeben wird, und aus den beigefügten Zeichnungen von Ausführungsformen der Erfindungen verstanden, die jedoch nicht so gesehen werden sollten, als dass sie die Erfindungen auf die bestimmten Ausführungsformen, wie sie beschrieben sind, beschränken, sondern lediglich der Erläuterung und dem Verständnis dienen.
-
1 ist eine Blockschaubilddarstellung eines Computersystems gemäß einigen Ausführungsformen.
-
2 ist eine Querschnittsansicht eines mobilen Computers gemäß einigen Ausführungsformen.
-
3 veranschaulicht Ablaufdiagramme eines Weges für einen schnellen Ruhezustand und eine Wiederaufnahme aus einem schnellen Ruhezustand gemäß einigen Ausführungsformen.
-
4–7 sind jeweils eine Blockschaubilddarstellung eines Computersystems gemäß einigen Ausführungsformen.
-
GENAUE BESCHREIBUNG
-
Einige Ausführungsformen der Erfindung umfassen Schaltung und Techniken, um einen neuen schnellen Ruhezustandsprozess zu ermöglichen, bei dem ein Systemkontext in einen nicht flüchtigen Speicher (den kleineren nicht flüchtigen Speicher oder NVRAM) geschrieben wird, der eine geringere Kapazität hat als ein weiterer nicht flüchtiger Speicher (der größere nicht flüchtige Speicher oder das Festplattenlaufwerk), der verwendet wird, um wenigstens ein Betriebssystem, Programme und Daten zu speichern. Bei einer Wiederaufnahme aus einem schnellen Ruhezustand wird der Systemkontext aus dem kleineren nicht flüchtigen Speicher gelesen und verwendet, um den Betrieb eines Computersystem wiederherzustellen. Bei einigen Ausführungsformen wird der Systemkontext vollständig von dem DRAM-Systemspeicher zu dem kleineren nicht flüchtigen Speicher übertragen und bei der Wiederaufnahme vollständig aus dem kleineren nicht flüchtigen Speicher in den DRAM-Systemspeicher übertragen. Bei weiteren Ausführungsformen kann der Systemkontext teilweise aus einem anderen Speicher kommen, so wie aus Chipsatz-Registern, und direkt in diese Register zurückgeschrieben werden, anstatt dass indirekt durch den DRAM gegangen wird.
-
Bei einigen Ausführungsformen geschieht bei dem schnellen Ruhezustandsprozess die Übertragung von dem DRAM-Systemspeicher zu dem kleineren nicht flüchtigen Speicher selbst nachdem Prozessorkerne und andere Systemkomponenten, so wie eine Festplatte und ein Anzeigebildschirm, heruntergefahren worden sind. Dies ermöglicht es, dass der Benutzer des Computers die Wahrnehmung hat, dass das Computersystem schnell abgeschaltet wird, selbst wenn die Übertragung des Systemkontexts noch nicht beendet worden ist. Demgemäß verbessern Ausführungsformen die Wahrnehmung des Benutzers bezüglich der Ansprechbarkeit des Systems. Dies gibt dem Benutzer eine größere Befriedigung. Dies steht im Gegensatz zu dem Übergang nach S4 gemäß dem Stand der Technik, bei dem der Prozessor den gesamten Kontext auf das Festplattenlaufwerk (HDD) kopiert, bevor das Wirtsystem oder die Partition in den Ruhezustand eintritt und sich abschaltet.
-
Bei einigen Ausführungsformen kann der schnelle Ruhezustandsprozess mit einem Betriebssystem (OS) erfolgen, das für die Zustände S3 und S4 gestaltet ist, jedoch nicht speziell für den schnellen Ruhezustandsprozess eingerichtet ist. Dies kann geschehen, indem man das BIOS und/oder einen anderen Mechanismus auf einen Befehl, den RAM auszusetzen (S3) antworten lässt, indem der Prozessor in einen Systemverwaltungsmodus (SMM – System Management Mode) gebracht wird und der Übergang von dem DRAM-Systemspeicher zu dem kleineren nicht flüchtigen Speicher gesteuert wird und dann ein Schlaftyp in einen Ruhezustand geändert wird. Bei diesen Ausführungsformen kann der Prozess für einige OSs „transparent” sein.
-
Mit Bezug auf 1 umfasst ein System 12 einen Prozessor 14, der mit einem Plattform-Controllerhub (PCH – Platform Controller Hub) 16 und einem Systemspeicher (DRAM) 20 gekoppelt ist. Der Prozessor 14 umfasst Kerne 22 einer zentralen Verarbeitungseinheit (CPU – Central Processor Unit) und einen Nicht-Kern 26. Der Ausdruck Nicht-Kern ist nicht so gedacht, dass er eine eingeschränkte Definition hat, sondern ist ein allgemeiner Ausdruck, der sich auf Teile des Prozessors mit verschiedenen Schnittstellen- und Steuerschaltungen zu bezieht, die nicht Teil des Kerns sind. Der Nicht-Kern 26 umfasst einen integrierten Speichercontroller 28, um den Systemspeicher 20 zu steuern. Der Systemspeicher 20 umfasst einen Bereich 30 zum Halten von Befehlen für einen Systemverwaltungsmodus (SMM). Der SMM kann SMM-Techniken des Standes der Technik oder neuen SMM-Techniken oder einem ähnliche Typ eines Modus entsprechen. Ein nicht flüchtiger Speicher (NVRAM) 38 ist durch einen Controller 34 mit einem PCH 16 gekoppelt. Bei einigen Ausführungsformen umfasst der NVRAM 38 einen schnellen Flash und der Controller 34 ist ein NAND-Controller. Bei einigen Ausführungsformen kann der Controller 34 ein eingebetteter Prozessor sein, wie es hiernach beschrieben wird. Ein Festplattenlaufwerk 42 ist mit dem PCH 16 gekoppelt und hält ein Betriebssystem, Programme und Daten für den Prozessor 14.
-
Bei einigen Ausführungsformen können einige der Inhalte der Festplatte 42 von anderen Komponenten des Systems genutzt werden. Der NVRAM 38 hat beträchtlich weniger Speicherkapazität als das Festplattenlaufwerk 42, hat jedoch einen schnelleren Zugriff als das Festplattenlaufwerk 42. Demgemäß kann der NVRAM 38 als ein kleinerer nicht flüchtiger Speicher bezeichnet werden und das Festplattenlaufwerk 42 kann als ein größerer nicht flüchtiger Speicher bezeichnet werden. Ein Basis-Eingabe/Ausgabesystem (BIOS – Basic Input/Output System) 48 stellt dem System BIOS-Befehle zur Verfügung. Eine Aufweckschaltung 50 kann während des Ruhezustandes mit Energie versorgt werden, um die Wiederaufnahme zu ermöglichen. Bei einigen Ausführungsformen werden die Komponenten des Systems der 1 in einem Gehäuse gehalten, so wie bei einem mobilen Computer.
-
2 veranschaulicht einen mobilen Computer 62 mit einem Basisteil 64 und einem Deckel 66, der einen Anzeigebildschirm 68 enthält. Das Basisteil 64 umfasst ein System, wie das der 1. Das Basisteil 64 umfasst einen Schalter 70, um zu erfassen, ob der Deckel geöffnet und geschlossen wird. Der Basisabschnitt 64 umfasst außerdem Tasten 72 (so wie für eine Tastatur oder weitere Tasten, so wie eine Ein- und Ausschalttaste) und eine Steuervorrichtung 94 für einen Cursor. Ein Befehl zum Ändern eines Leistungszustandes (so wie einen „Bereitschaft”-Befehl, auch aussetzen an RAM oder S3-Befehl genannt, oder bei anderen Ausführungsformen ein Befehl für den schnellen Ruhezustand) kann in unterschiedlicher Weise eingeleitet werden, abhängig von den Ausführungsformen und den Ausgestaltungen der Ausführungsformen. Beispiele für Wege, über die ein Befehl zum Ändern eines Leistungszustandes eingeleitet werden kann, umfassen eines oder mehreres der folgenden: Schließen eines Deckels, Drücken einer Ein- und Ausschalttaste, Drücken einer weiteren Taste, Durchführen von Steuerklicks mit dem Cursor bei einem Pulldown-Menü oder auf eine Ikone oder andere Wege. Ein Aufweckereignis (Wiederaufnahmebefehl), um zu bewirken, dass das System aus dem Ruhezustand seine Tätigkeit wieder aufnimmt, kann in verschiedener Weise eingeleitet werden, ebenso wie abhängig von den Ausführungsformen und den Ausgestaltungen der Ausführungsformen. Beispiele für Wege, über die ein Wiederaufnahmebefehl eingeleitet werden kann, umfassen einens oder mehreres der folgenden: Öffnen eines Deckels, Drücken einer Ein- und Ausschalttaste, Drücken einer weiteren Taste, Durchführen von Steuerklicks mit einem Cursor oder andere Wege. In der Praxis kann es weniger Wege geben, die Tätigkeit aufzunehmen, da es wünschenswert ist, dass das System im Wesentlichen vollständig abgeschaltet ist. Bei einigen Ausführungsformen ist der einzige Weg, einen Wiederaufnahmebefehl einzuleiten, das Drücken des Ein- und Ausschaltknopfes.
-
Mit Bezug auf 2 umfasst eine Energieverwaltungseinheit 44 Advanced Configuration & Power Interface(ACPI)-Blockregister, obwohl bei weiteren Ausführungsformen ACPI-Register nicht verwendet werden. Verschiedene ACPI-Spezifikationen sind veröffentlicht worden, einschließlich einer überarbeiteten Version 3.0b vom 10. Oktober 2006, die bei www.acpi.info zum Herunterladen zur Verfügung steht. Es gibt auch ACPI-Tabellen in Software, die im DRAM gehalten werden. Wie es aus dem Stand der Technik bekannt ist, beginnt das BIOS des Systems mit der Ausführung, wenn das Computersystem eingeschaltet wird. Das BIOS des Systems kann plattform- und chipsatzspezifische Firmware sein und plattform- und chipsatzspezifische Information durch die APCI-Tabellen (im DRAM) leiten.
-
Die ACPI-Register umfassen ein Register, das Register für den Schlaftyp (SLP_TYPE) genannt wird, und ein Register für das Aktivieren des Schlafs (SLP_EN). Es sei angenommen, dass ein 01 in dem Register für den Schlaftyp das Aussetzen angibt und ein 02 in dem Register für den Schlaftyp den Ruhezustand angibt. Wenn ein Benutzer das Aussetzen wählt, durchsucht das OS die ACPI-Tabelle und sieht, dass Aussetzen bedeutet, dass Bits 01 in das Register für den Schlaftyp geschrieben werden. Das OS programmiert diesen Wert in das Register für den Schlaftyp. Wenn das OS bereit ist, in das Aussetzen zu gehen, setzt es das/die Bits für das Aktivieren des Schlafs. Nachdem das OS das Bit zum Aktivieren des Schlafs gesetzt hat, übernimmt die Hardware, und der PCH 16 schaltet die Plattform ab, wie es hiernach beschrieben ist.
-
Das System kann so ausgestaltet sein, dass, wenn ein Benutzer das Aussetzen für den RAM (S3) wählt, das System tatsächlich den Übergang in einen schnellen Ruhezustand ausführt. Als Alternative kann der Übergang in einen schnellen Ruhezustand für den Benutzer eine Express-Option darstellen. Das Folgende beschreibt Techniken, mit denen ein RAM Aussetzen (S3) und später eine Wiederaufnahme ausgewählt werden können, jedoch ein schneller Ruhezustand und ein späteres Wiederaufnehmen aus dem schnellen Ruhezustand ausgeführt werden.
-
Ein eingebetteter Prozessor (EP), so wie der eingebettete Prozessor 34, könnte eine vorhandene Handhabungsmaschine (ME – Manageability Engine) in dem Chipsatz oder irgendeine andere Verarbeitungsmaschine (einschließlich Modi mit hohem Privileg der Host-CPU) in der Plattform sein, die Zugriff auf den physikalischen DRAM und einen Teil des nicht flüchtigen Speichers, so wie einen Flash, hat. Der EP 34 kann seinen Code entweder aus dem Flash oder dem physikalischen Speicher holen und seine Ausführung ist unabhängig von den Prozessorkernen oder dem Zustand der Wirtsplattform. Dies erlaubt es, dass der EP 34 Handhabungsfunktionen für die Plattform extern durchführt, wenn die Kerne des Host nicht ausführen. Lediglich das Vorhandensein eines eingebetteten Prozessors in einem Chip eines Computersystems ist nicht neu, jedoch wird vermutet, dass das Verwenden eines eingebetteten Prozessors wie hierin beschrieben neu ist.
-
Der NVRAM 38 kann seinen Kontext ohne jedwede externe Energie halten. Die Flash-Technologie ist ein Beispiel für diesen Typ eines Speichers und wird in fast allen Plattformen eingesetzt, um den Bootstrap-Code der Plattform (BIOS) und Konfigurationsdaten zu speichern. Die Größe dieses Speichers kann von der Größe des Bootstrap-Codes der Plattform und irgendwelcher anderer Information abhängen, die zu speichern notwendig sein kann, während die Plattform nicht mit Energie versorgt wird. Der EP 34 kann auch den NVRAM benutzen, um seinen Code und Daten zu speichern. Der NVRAM 38 kann einen Flash-Speicher umfassen, so wie einen „schnellen Flash” gemäß einer gegenwärtig verfügbaren Technologie oder entsprechend einem schnellen Flash, der in der Zukunft verfügbar ist. Der NVRAM 38 kann verwendet werden, um Daten zusätzlich zu dem Systemkontext zu speichern. Wenn alle anderen Dinge gleich sind, ist ein NVRAM mit schnelleren Zugriffszeiten bevorzugt. Bei einigen Ausführungsformen hat der NVRAM 38 eine Kapazität, die wenigstens so groß wie die des DRAM-Systemspeichers 20 und bei einigen Ausführungsformen viel größer als die des DRAM-Systemspeichers 20 ist.
-
3 zeigt einen Überblick von Beispielen für ein Ablaufdiagramm eines Weges für einen schnellen Ruhezustandsweges und eines Ablaufdiagramms für eine Wiederaufnahme aus einem schnellen Ruhezustand. Die Einzelheiten können sich bei den verschiedenen Ausführungsformen unterscheiden. Bei den Beispielen der 3 stellt der Block 80 das OS des Wirts dar. Ruhezustandsdaten werden in den Systemspeicher DRAM 20 geschrieben (wobei einige vor dem Befehl für den schnellen Ruhezustand geschrieben werden können und einige danach). Vor einem Befehl für einen schnellen Ruhezustand (welcher derselbe sein kann wie ein Befehl für S3) ist die Plattform (der Wirt) in einem Zustand SO und die Handhabungsmaschine (ME) (die der eingebettete Prozessor 34 sein oder ihn umfassen kann) ist in einem Zustand M0. Das Register für den Schlaftyp wird auf schnellen S4 gesetzt, welcher für einige Systeme derselbe sein kann wie S3. Wenn das Register für das Aktivieren des Schlafes auf 1 gesetzt ist, wird eine Hardware-Unterbrechung erzeugt, welche bewirkt, dass der eingebettete Prozessor 34 die Ruhezustandsdaten vom Systemspeicher DRAM 20 in den schnellen Flash NVRAM 38 kopiert. Der Zustand des Plattformwirtes ist dann S4 schnell, und die ME hat den Zustand M1.
-
Sobald der Kopiervorgang abgeschlossen ist, hat die ME den Zustand M-aus, und die Aufwecklogik 84 ist eingeschaltet. Die Aufwecklogik 84 kann die Aufweckschaltung 50 sein oder sie umfassen. Es kann verschiedene Typen einer Aufwecklogik geben. Die Aufweckschaltung 50 kann eines oder mehreres aus einer physikalischen Ein- und Ausschalttaste, einer besonderen Taste, einer Cursorsteuereinheit, einer universellen seriellen Bus(USB)-Einheit, einen Detektor für das Öffnen eines Deckels oder irgendetwas anderes umfassen.
-
Sobald der ganze mit dem Ruhezustand des OS in Verbindung stehende Kontext in die schnelle NVRAM-Einheit kopiert worden ist, bringt der EP den DRAM des Systems in einen energielosen Zustand und schaltet sich selbst ab. Zu diesem Zeitpunkt behält nur die minimale Schaltung, die erforderlich ist, das System zu wecken, Energie, und das System ist vollständig in den Ruhezustand eingetreten.
-
Bei dem Beispiel eines Wiederaufnahmeweges, wenn die Aufwecklogik 84 aktiviert wird, kopiert der eingebettete Prozessor 34 die Ruhezustandsdaten auf dem schnellen Flash-MVRAM 38 in den Systemspeicher DRAM 20. Das BIOS springt dann zu einem Aufweckvektor des OS.
-
Bei einigen Ausführungsformen, als Antwort auf einen Befehl zum Ändern eines Leistungszustandes, schreibt das OS in das Register für einen Schlaftyp und in das Register für das Aktivieren des Schlafs. Es gibt eine getrennte Strategie in dem BIOS. Das BIOS kann eine Einrichteoption haben, bei der ein Benutzer das wählt, was Befehl S3 sein würde, um den schnellen Übergang in den Ruhezustand zu beginnen – sodass, wenn das OS an den RAM aussetzen möchte, die Plattform in den schnellen Ruhezustand übergeht. Bei einigen Ausführungsformen ist dem OS nicht bewusst, dass ein schneller Übergang in den Ruhezustand geschieht und es erkennt, dass eine S3-Änderung auftritt. Bei einigen Ausführungsformen vereinfacht das BIOS den schnellen Übergang in den Ruhezustand wie folgt. Ein Auslöser wird gesetzt, so dass, wenn das OS in das Bit Schlaf aktivieren schreibt, die Steuerung an das BIOS übergeben wird. (Bei einigen Ausführungsformen unterstützt der PCH 16 einen hardwaremäßigen SMM-Auslöser.) Ein Systemverwaltungsmodus (SMM – System Management Mode) nimmt die Steuerung von dem OS weg, als Antwort darauf, dass der SMM-Pin aktiviert wird. Der SMM kann ein SMM des Standes der Technik oder ein modifizierter neuer SMM sein. Bei einigen Ausführungsformen umfasst der Prozessor 14 einen SMM-Pin – der, wenn er geltend gemacht wird, bewirkt, dass der Prozessorkern in einen SMM-Modus kommt. Die Prozessorkerne pausieren und springen in den SMRAM-Bereich 30 des DRAM 20. Der SMRAM-Bereich 30 gehört dem BIOS, das die Inhalte beim Hinauffahren installieren kann. Wenn der SMM geltend gemacht wird, nimmt die CPU ihre Befehle von dem SMRAM 30. Am Ende der SMM-Befehle kann es einen Wiederaufnahmebefehl geben, um zum OS zurückzukehren.
-
Bei einigen Ausführungsformen wird das Register für den Schlaftyp von aussetzen für den RAM S3, um in den Ruhezustand überzugehen, in DISC S4 (z. B. 01 in 02) geändert, nachdem die Inhalte des DRAM 20 an den NVRAM 38 übertragen sind. Nach der Änderung im Register für den Schlaftyp arbeitet das OS weiter, als ob das System im S3 wäre, und das BIOS arbeitet weiter, als ob das System im Ruhezustandsmodus wäre, was bewirkt, dass sich das System mit den geringeren Ausnahmen, wie diskutiert, abschaltet. In diesem Sinne wird bei einigen Ausführungsformen das OS „überlistet” und denkt, das System ist in dem S3, wenn es tatsächlich in einem schnellen Ruhezustand ist. Dies zwingt die Hardware-Plattform, in den tieferen Schlafzustand S4 überzugehen, jedoch zwingt es das OS nicht, auf das Festplattenlaufwerk zu kopieren, da das OS denkt, dass die Plattform in ausgesetztem Zustand ist. Demgemäß ist der Abschaltprozess viel schneller als im Falle des S4 nach dem Stand der Technik. Der Prozess ist sogar schneller, wenn der Übergang von Kontext geschieht, während sich viel vom Rest des Systems gerade abschaltet und danach.
-
Einige Aspekte des Übergehens in den schnellen Ruhezustand für einige Ausführungsformen werden wie folgt beschrieben, jedoch sind in weiteren Ausführungsformen die Einzelheiten unterschiedlich.
- 1. Das OS leitet einen Übergang in den schnellen Ruhezustand ein, indem sein gegenwärtiger Zustand in einem festen zusammenhängenden Bereich des DRAM gesichert wird. Dieser Bereich für die Daten des Ruhezustandes umfasst einen Aufweckvektor für das OS ebenso wie Hardware- und Softwarekontext zum Wiederherstellen des Systems bei der Wiederaufnahme.
- 2. Das OS setzt die Bits SLP_TYPE und SLP_EN in dem Chipsatz (PCH 16), um der Chipsatz-Hardware anzugeben, dass es in den Ruhezustand übergehen möchte.
- 3. Das Setzen des SLP_EN bewirkt eine Hardware-Unterbrechung bei dem EP 34. Der EP 34 bewertet die Unterbrechung und stellt fest, dass das System in den Tiefschlafzustand gehen möchte. Der EP 34 leitet ein teilweises Herunterfahren der Plattform durch Abschalten der Prozessorkerne 22 und der gesamten Plattformhardware, die für den Benutzer sichtbar ist, ein, wobei nur der DRAM 20 mit Energie versorgt bleibt. Man bemerke, dass dieses als Alternative nach einer gewissen Zeitverzögerung (z. B. 15 Minuten) ausgelöst werden könnte, was es somit dem System erlaubt, bei Schlafintervallen kurzer Dauer das übliche S3 zu verwenden und die Ruhezustandsfunktion erst nach einem verlängerten S3-Intervall (z. B. 15 Minuten) auszulösen.
- 4. Der EP 34 kopiert den Bereich mit den Daten des Ruhezustandes des OS aus dem System-DRAM 20 in den schnellen NVRAM-Speicher 38 über seinen internen SRAM-Puffer 82 (in der 2 gezeigt).
- 5. Der EP 34 macht die Aufwecklogik 84 bereit, so dass aus dem Schlafzustand aufgeweckt werden kann.
- 6. Der EP 34 fährt den DRAM 20 herunter und bringt sich selbst in den abgeschalteten Zustand.
- 7. Zu diesem Zeitpunkt ist das gesamte System heruntergefahren, mit der Ausnahme minimaler Hardware, die benötigt wird, um das System aufzuwecken.
-
Beim Auftreten eines Weckereignisses (Einleiten eines Wiederaufnahmebefehls) schaltet sich der EP 34 als erstes an und initialisiert unmittelbar den Systemspeicher DRAM 20 und beginnt das Wiederherstellen des DRAM-Kontextes des OS aus der schnellen NVRAM-Einheit 38. Bei einigen Ausführungsformen geschieht dieses Wiederherstellen des DRAM sogar bevor der Prozessor beginnt, den Systemcode des BIOS auszuführen. Während das BIOS seinem regulären Ruhezustand-Wiederaufnahmeweg folgt, stellt der EP 34 weiter den OS-Kontext im DRAM 20 her, und wenn das BIOS 48 seine Initialisierung des Prozessors, Chipsatzes und anderer Plattformkomponenten abgeschlossen hat, hat der EP 34 bereits das Wiederherstellen des gesamten Kontextes zum Wiederherstellen nach dem Ruhezustand für das OS in dem DRAM beendet. Das BIOS 48 schließt seine Ausführung ab und gibt die Steuerung an den Ruhezustand-Aufweckvektor des OS, der ursprünglich innerhalb des Kontextes für die Wiederherstellung des OS aus dem Ruhezustand in den DRAM eingebettet war und von dem EP zusammen mit dem Rest der Ruhezustandsdaten wiederhergestellt worden ist. Sobald es die Steuerung bekommt, beginnt der Aufweckcode für das OS sofort die Ausführung aus dem DRAM 20 und stellt die verbleibenden OS-Komponenten wieder her, wobei Ruhezustand-Wiederherstellungsdaten in dem DRAM verwendet werden. Bei weiteren Ausführungsformen sind die Einzelheiten unterschiedlich.
-
Bei einigen Ausführungsformen beginnt bei der Wiederaufnahme aus einem schnellen Ruhezustand das BIOS das Ausführen und Initialisieren von Systemkomponenten, einschließlich des DRAM 20, der initialisiert wird, da Energie abgeschaltet worden war. Der NVRAM 38 wird ebenfalls initialisiert. Sobald der Speicher initialisiert ist, werden wenigstens einige der Inhalte des NVRAM 38 in den DRAM 20 kopiert. Eine Softwareumschaltung in BIOS wird aus dem Ruhezustand(S4)-Fluss zu einem Aussetz(S3)-Fluss durchgeführt. Das BIOS springt dann zu einem S3_Aufweck_Vektor. Zu diesem Zeitpunkt hat das OS, was es benötigt, um mit einem S3_Aufwecken des OS fortzufahren.
-
Bei einigen Ausführungsformen gibt es zusätzliche Verarbeitungsagenten, um den Wiederaufnahmefluss weiter zu beschleunigen, indem Kompressionshardware hinzugefügt wird, oder um eine Sicherheitsfunktionalität durch Hinzufügens von Verschlüsselungsmöglichkeiten hinzuzufügen.
-
Einige Aspekte der Wiederaufnahme aus dem schnellen Ruhezustand für einige Ausführungsformen werden wie folgt beschrieben, jedoch sind bei weiteren Ausführungsformen die Einzelheiten unterschiedlich.
- 1. Eine Benutzertätigkeit verursacht ein Aufweckereignis, was bewirkt, dass der EP 34 und der Prozessor 14 aufwachen.
- 2. Der EP 34 erfasst, dass das System aus einem Ereignis des schnellen Ruhezustand aufwacht, und daher initialisiert er den Speicher und beginnt das Kopieren von Ruhezustand-Wiederherstellungskontext des OS aus dem NVRAM 38 in den DRAM-Speicher 20 über seinen internen SRAM-Puffer 82.
- 3. Die CPU kommt aus dem Rücksetzen und beginnt das Ausführen des BIOS-Systemcodes. Das BIOS führt seinen Ruhezustand-Wiederaufnahmeweg durch und gibt schließlich die Steuerung an den Aufweckvektor für das OS in dem DRAM, der nun von dem EP wiederhergestellt worden ist.
- 4. Zu diesem Zeitpunkt geht die Steuerung in den Aufweckvektor des OS in dem DRAM, und das OS beginnt, seinen Zustand wiederherzustellen, indem Ruhezustands-Wiederaufnahmedaten in dem Systemspeicher verwendet werden.
-
Da Lese- und Schreib-Zugriffszeiten auf den NVRAM 38 viel schneller sind als die Lese- und Schreib-Zugriffszeiten auf das Festplattenlaufwerk 42, sind die Aussetz- und Wiederaufnahmezeiten bei Ausführungsformen der Erfindung viel kürzer als bei einer S4-Aussetzung an DISC und die Wiederaufnahme gemäß dem Stand der Technik.
-
Ausführungsformen können eine Kombination aus schnellerer Antwortzeit, um auszusetzen und wiederaufzunehmen, und längerer Batterielebensdauer ergeben, da fast das gesamte System zwischen dem Ruhezustand und dem Wiederaufnehmen ausgeschaltet ist.
-
4 veranschaulicht ein System, das ähnlich dem der 1 ist, indem jedoch der NVRAM-Controller (z. B. der eingebettete Prozessor) 134 im Nicht-Kern 126 des Prozessors 114 liegt, gekoppelt mit dem PCH 132. Das BIOS 148 kann dasselbe oder etwas unterschiedlich von dem BIOS 48 sein.
-
5 veranschaulicht ein System, das dasselbe ist, wie das der 4, mit der Ausnahme, dass eine PM-Einheit 244 in dem Nicht-Kern 220 des Prozessors 214 anstatt in dem PCH 232 enthalten ist. Es kann eine weitere PM-Einheit in dem PCH 232 geben. Das BIOS 248 kann dasselbe oder etwas unterschiedlich von dem BIOS 48 sein. Energieverwaltungslogik kann in einer Kombination aus dem Prozessor und dem PCH oder lediglich in einem oder dem anderen enthalten sein.
-
6 veranschaulicht ein System, das ähnlich dem der 1 ist, indem es jedoch zwei Prozessoren 314-1 und 314-2 gibt, die Nicht-Kerne 326-1 und 326-2 mit IMCs 28-1 und 28-2 umfassen, welche mit Speichern 20-1 und 20-2 (mit Bereichen 30-1 und 30-2) jeweils wie gezeigt gekoppelt sind. Die Prozessoren 314-1 und 314-2 sind mit dem PCH 316 gekoppelt. Die Prozessoren 314-1 und 314-2, die Nicht-Kerne 326-1 und 326-2, der Controller 334, die PM-Einheit 344, das BIOS 348 können dieselben oder unterschiedlich von dem Prozessor 14, dem Nicht-Kern 20, dem Controller 34, der PM-Einheit 44 und dem BIOS 48 sein.
-
7 veranschaulicht ein System, das ähnlich dem der 1 ist, mit der Ausnahme, dass sich der Speichercontroller 428 in einem Controllerhub 416 anstatt in dem Nicht-Kern 426 des Prozessors 414 befindet. Der Speichercontroller 428, das BIOS 448 und die Energieverwaltungseinheit 444 können dieselben oder unterschiedlich von dem Speichercontroller 28, dem BIOS 48 und der Energieverwaltungseinheit 44 sein.
-
In den Figuren kann das unterschiedliche Auftreten von CPU-Kernen 22, Speichercontroller 28, Controller 34, Speicher 20 und Bereich 30, NVRAM 38 und Festplattenlaufwerk 42 dasselbe sein oder es kann sich unterscheiden.
-
Während einiger normaler S4-Wiederaufnahmeprozesse gemäß dem Stand der Technik braucht das BIOS möglicherweise bis zu 10–15 Sekunden, um das System zu initialisieren, bevor die Steuerung an eine Ladeeinheit für das OS übergeben wird. Bei einigen Ausführungsformen, im schnellen Ruhezustand, schaltet das BIOS von dem S4- zu dem S3-Weg, sobald der DRAM-Kontext wiederhergestellt worden ist (über die CPU SMM oder den EP). Dies ermöglicht es dem BIOS, den schnelleren (zum Beispiel wenige hundert Millisekunden) S3-Wiederaufnahmeweg zu nehmen und schnell zu einem Aufweckvektor für das OS zu springen. Bei weiteren Ausführungsformen sind die Einzelheiten unterschiedlich.
-
Die Erfindung ist nicht auf die Verwendung mit irgendeinem bestimmten Betriebssystem beschränkt. Einige Ausführungsformen können mit Microsoft Windows, Vista, Mac OSs verwendet werden.
-
Das Register für den Schlaftyp und das Register für das Aktivieren des Schlafes können physikalisch getrennte Register oder Teilbereiche eines größeren Registers sein.
-
Der NVRAM 38 kann insgesamt an einem physikalischen Ort sein oder über physikalisch unterschiedliche Plätze verteilt sein.
-
ZUSÄTZLICHE INFORMATION UND AUSFÜHRUNGSFORMEN
-
Die „Logik”, auf die hierin Bezug genommen wird, kann in Schaltungen, Software, Mikrocode oder einer Kombination aus diesen implementiert werden.
-
Die Formen und relativen Größen der Blöcke in den Figuren sind nicht so gedacht, dass sie tatsächliche Formen und relative Größen zeigen. Eine tatsächliche Implementierung könnte zusätzliche Komponenten und Verbindungen zwischen Komponenten umfassen, die in den Figuren nicht veranschaulicht sind.
-
Eine Ausführungsform ist eine Implementierung oder ein Beispiel der Erfindungen. Der Bezug in der Beschreibung auf „eine Ausführungsform”, „einige Ausführungsformen” oder „weitere Ausführungsformen” bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben ist, in wenigstens einigen Ausführungsformen, jedoch nicht notwendigerweise in allen Ausführungsformen enthalten ist. Das verschiedene Auftreten von „einer Ausführungsform” oder „einigen Ausführungsformen” bezieht sich nicht notwendigerweise immer auf dieselben Ausführungsformen.
-
Wenn gesagt wird, dass das Element „A” mit dem Element „B” gekoppelt ist, kann das Element A direkt mit dem Element B gekoppelt sein oder indirekt gekoppelt sein, zum Beispiel über ein Element C.
-
Wenn die Beschreibung oder die Ansprüche angeben, dass eine Komponente, ein Merkmal, eine Struktur, ein Prozess oder eine Eigenschaft A eine Komponente, ein Merkmal, eine Struktur, einen Prozess oder eine Eigenschaft B „hervorruft” bedeutet dies, dass „A” wenigstens eine Teilursache für „B” ist, dass es aber außerdem wenigstens eine weitere Komponente, ein Merkmal, eine Struktur, einen Prozess oder eine Eigenschaft geben kann, die beim Hervorrufen von „B” unterstützt. Ähnlich bedeutet, dass A auf B anspricht, nicht, dass es nicht auch auf C anspricht.
-
Wenn die Beschreibung angibt, dass eine Komponente, ein Merkmal, eine Struktur, ein Prozess oder eine Eigenschaft enthalten sein „kann”, „dürfte” oder „könnte”, ist es nicht erforderlich, dass die bestimmte Komponente, das Merkmal, die Struktur, der Prozess oder die Eigenschaft enthalten ist. Wenn sich die Beschreibung oder ein Anspruch auf „ein” Element bezieht, bedeutet dies nicht, dass es nur ein solches Element gibt.