-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf Informationsverarbeitungssysteme und insbesondere die Kontrolle der Fähigkeit zum Zurückändern eines BIOS, wenn neue Features auf dem Informationsverarbeitungssystem vorhanden sind.
-
2. Stand der Technik
-
Da der Wert und die Verwendung von Informationen fortwährend zunehmen, streben der Einzelne und Unternehmen zusätzliche Wege zur Verarbeitung und Speicherung von Informationen an. Eine verfügbare Option für Benutzer sind Informationsverarbeitungssysteme. Ein Informationsverarbeitungssystem verarbeitet, kompiliert, speichert und/oder kommuniziert normalerweise Informationen oder Daten für Unternehmens-, persönliche oder sonstige Zwecke, wodurch es den Benutzern erlaubt, einen Nutzen aus dem Wert der Informationen zu ziehen. Da Technologie und Informationsverarbeitungsbedürfnisse und -Anforderungen zwischen verschiedenen Benutzern oder Anwendungen variieren, können Informationsverarbeitungssysteme ebenso variieren in Bezug darauf, welche Information verarbeitet wird, wie die Information verarbeitet wird, wie viel Information verarbeitet, gespeichert oder kommuniziert wird, und wie schnell und effizient die Information verarbeitet, gespeichert oder kommuniziert werden kann. Die Variationen in Informationsverarbeitungssystemen erlauben es Informationsverarbeitungssystemen allgemein zu sein oder konfiguriert zu sein für bestimmte Benutzer oder bestimmte Anwendungen wie z. B. Finanztransaktionsverarbeitung, Flugreservierungen, Speicherung von Unternehmensdaten oder globale Kommunikationen. Zusätzlich können Informationsverarbeitungssysteme eine Vielzahl von Hardware und Softwarekomponenten beinhalten, welche konfiguriert werden können, um Informationen zu verarbeiten, zu speichern und zu kommunizieren und welche eines oder mehrere Computersysteme, Datenspeicherungssysteme und Netzwerksysteme beinhalten können wie z. B. Computer, Personal Computer Workstation, tragbare Computer, Computerserver, Druckserver, Netzwerkrouter, Netzwerkhub, Netzwerkswitch, Storage Area Network Disk Array, System eines redundanten Feldes von unabhängigen Platten (Redundant Array of Independent Disks, ”RAID”) und Telekommunikationsswitch.
-
Die meisten Computersysteme beinhalten ein elementares Eingabe/Ausgabesystem (Basic Input/Output System, im allgemeinen bezeichnet als ”BIOS”), welches eine Schnittstelle zwischen dem Betriebssystemkern und der darunter liegenden Hardware zur Verfügung stellt. Der Kern ist der Teil des Betriebssystems, welcher der Anwendungssoftware am Nächsten ist. Der Kern ist üblicherweise verantwortlich für Prozesskontrolle, Speicherverwaltung, Datenverwaltung und Peripherieunterstützung. Der Kern übergibt Kommandos von der Anwendungssoftware an das BIOS zur Übersetzung in hardwarespezifische Anforderungen.
-
Das BIOS ist die Firmware für Personal Computer (”PC's”), welche für die Initialisierung verantwortlich ist, wenn er erstmals eingeschaltet oder zurückgesetzt wird. Die Hauptaufgabe des BIOS ist das Laden und der Beginn der Ausführung des Betriebssystems, welches normalerweise auf der Computerfestplatte gespeichert ist. Das BIOS stellt ebenso eine Schnittstelle niedriger Ebene zu peripheren Geräten des Computersystems bereit. Das BIOS ist in einem nichtflüchtigen Speicher gespeichert, welcher aktualisiert (upgedatet) werden kann, oder in einem Nur-Lese-Speicher (Read Only Memory, ”ROM”).
-
Während das BIOS verantwortlich ist für die Prüfung des Systems zur Startzeit, unterstützt eine besondere Version des BIOS nicht notwendigerweise alle Hardwarefähigkeiten. BIOS-Entwicklerkönnen sich nicht all die Hardware, welche dem System später hinzugefügt wird, vorstellen. Seit vielen Jahren wurde der BIOS-Code durch die Verwendung von Flash-Speicherbausteinen erweiterbar gemacht. Die Fähigkeit das BIOS zu programmieren, nachdem es installiert wurde, verhindert das Veralten von BIOS-Bausteinen, wenn neue Hardware-Feature installiert werden. Dadurch kann das BIOS über Modem, Netzwerk oder direkt von einer Diskette aktualisiert werden, um den BIOS-Code in Übereinstimmung mit neuen Hardwarefähigkeiten zu bringen.
-
Im Fall von Servern ist es nötig, dass neuen Features wie z. B. neue CPU-Arbeitsschritte, neue Speichergrößen, neue Flash-Typen und Architekturen nach der Installation und während des ganzen Lebens der Produkte mittels BIOS-Aktualisierung unterstützt werden. Wenn in der Vergangenheit Probleme mit dem aktualisierten des BIOS aufgetreten sind, änderte der Systembediener zurück auf eine ältere BIOS-Revision und zog sich auf diese Weise Inkompatibilitäten mit neueren Features zu, welche auf dem Server installiert waren. In manchen Fällen kann eine Zurückänderung den Server überhaupt vom Starten abhalten, mit offensichtlichen Konsequenzen.
-
Als Beispiel soll der Fall einer Plattform, die gegenwärtig mit einem DELL®A01 BIOS ausgeliefert wird, welches von Dell Inc., Round Rock, Texas erhältlich ist. Das BIOS könnte dann überarbeitet werden, um z. B. neue 2 GB Dual-In-Linie-Speichermodule (Dual-In-Line Memory Modules, ”DIMM's”) oder einen neuen Arbeitsschritt des Prozessors zu unterstützen, welcher eine neue Mikrocodeaktualisierungskorrektur erfordert, oder ein neues Flash-Teil aufgrund der Teilverfügbarkeit zu unterstützen. Es wäre dann für den Benutzer wünschenswert, das aktualisierte DELL®A02 BIOS zu implementieren, um die neuen Features zu unterstützen. Wie gefordert, müsste ein Kunde, welcher ein System mit A02 BIOS mit einem oder mehreren dieser Verbesserungen erhält, von der Zurückänderung zum A01 BIOS abgehalten werden, weil das A01 BIOS diese neuen Features oder Verbesserungen nicht unterstützt und eine Zurückänderung zu einem nicht verwendbaren System führen könnte. Beispielsweise gäbe es dort keinen Speicher oder einen korrupter Flash aufgrund einer neuen Architektur eines Flash-Bauteils.
-
Einfache Unterdrückung aller Zurückänderungen hindert jedoch jeden Kunden völlig an einer Zurückänderungen zum A01 BIOS, sogar denjenigen, welcher keine der neuen Technologien installiert hat, oder einen existierenden Kunden, welcher von A01 nach A02 BIOS aktualisiert. Daher existiert ein Problem und eine Lösung ist erforderlich um zu bestimmen, ob eine BIOS-Zurückänderung auf einem Computersystem erlaubt werden soll.
-
Das
U.S. Patent 6,170,056 beschreibt ein Verfahren zum automatischen Identifizieren von Computer, die an ein Netzwerk angeschlossen sind. Dazu liest der Computer beim Start den vollständigen BIOS Identifizierungsbereich. Aus diesen Informationen bildet er eine Zeichenkette in einem festgelegten Format und schickt diese an den Netzwerk-Server. Der Netzwerk-Server vergleicht die Zeichenkette mit einer Tabelle, in der die entsprechenden Zeichenketten aller in dem Netzwerk vorhandenen Computer gespeichert sind.
-
Die Patentschrift
EP 0 419 004 B1 offenbart ein Verfahren zum Laden eines BIOS Image von einem Diskettenlaufwerk in einem Personalcomputer-System, das normalerweise mit einem Festplattenlaufwerk verbunden ist. Das System wird zunächst mit einem ersten BIOS Teil, der in einem Nur-Lese-Speicher (ROM) resident ist, initialisiert. Nach dem Ermitteln, dass ein Festplattenlaufwerk vorhanden ist wird das BIOS Image von dem Festplattenlaufwerk in einen Schreib-Lese-Speicher (RAM) kopiert. Beim Fehlen oder einem fehlerhaften Festplattenlaufwerk wird das BIOS Image von dem Diskettenlaufwerk in den Schreib-Lesespeicher kopiert.
-
3. Zusammenfassung der Erfindung
-
Die Erfindung ist in den Ansprüchen 1, 8, 9 und 16 definiert.
-
Die vorliegende Erfindung überwindet die Nachteile des Standes der Technik, indem ein Verfahren, ein System und eine Vorrichtung in einem Informationsverarbeitungssystem bereitgestellt wird, zur Benutzung von Feature-Markern (Feature-Flags), um die Kompatibilität von Hardware (üblicherweise neu installierte Hardware) und BIOS-Revisionen während der Flash-Aktualisierung des BIOS zu bestimmen.
-
Die vorliegende Erfindung ist in einem Informationsverarbeitungssystem implementiert, aufweisend eine oder mehrere Zentralverarbeitungseinheiten, welche mit einem Hauptspeicher zusammenarbeiten. Die Zentralverarbeitungseinheit kann ein Mikrokontroller sein oder ein Mikrocomputer oder ein Mikroprozessor. Das Informationsverarbeitungssystem beinhaltet ein gegenwärtiges BIOS, welches mit der Zentralverarbeitungseinheit zusammenarbeitet, die den Betriebssystemkern aufnimmt und vielleicht andere Zentralverarbeitungseinheiten. Das BIOS der vorliegenden Erfindung hat eine oder mehrere Einbau-Fähigkeits-Marker und eine oder mehrere aktuelle Start-Fähigkeits-Marker. Bei einer BIOS-Aktualisierungsoperation wird ein Aktualisierungsprozess verwendet, um ein gegenwärtiges BIOS auf ein Ersatz-BIOS zu aktualisieren. Während des Aktualisierungsprozesses können die Einbaufähigkeits-Marker des Ersatz-BIOS mit den Start-Fähigkeits-Markern des gegenwärtigen BIOS verglichen werden, um zu bestimmen, ob das Ersatz-BIOS anstelle des gegenwärtigen BIOS verwendet werden kann.
-
Der Aktualisierungsprozess kann den Vergleich (Kontrolle) z. B. durch Gruppierung der verschiedenen Marker zu ganzzahligen Werten und Vergleich der Werte mittels einiger mathematischer Operationen (wie z. B. Subtraktion) durchführen, um einen binären Wert zu erhalten, welcher schnell auf Inkompatibilitäten überprüft werden kann. In gleicher Weise können die beiden Werte verglichen werden, und die Aktualisierung erlaubt werden, wenn der Wert des Ersatz-BIOS z. B. größer als, gleich oder kleiner als der Wert des gegenwärtigen BIOS ist. Die Größe des ganzzahligen Werts kann auf das spezielle Informationssystem abgestimmt werden, wie z. B. 8, 16, 32, 64 oder 128 Bits oder mehr (oder weniger).
-
Andere technische Vorteile der vorliegenden Offenbarung erkennt der Fachmann leicht aus den folgenden Figuren, Beschreibungen und Ansprüchen. Verschiedene Ausführungsformen der Erfindung erzielen nur eine Untermenge der dargelegten Vorteile. Kein einzelner Vorteil ist kritisch für die Erfindung.
-
4. Kurze Beschreibung der Zeichnungen
-
Ein vollständigeres Verständnis der vorliegenden Offenbarung und ihrer Vorteile kann durch den Bezug auf die folgende Beschreibung in Verbindung mit den begleitenden Zeichnungen erworben werden, wobei:
-
1 ein schematisches Blockdiagramm einer beispielhaften Ausführungsform eines Informationsverarbeitungssystems gemäß der vorliegenden Erfindung zeigt.
-
2 ein Blockdiagramm ist, illustrierend ein gegenwärtiges BIOS und ein Ersatz-BIOS gemäß der Lehre der vorliegenden Erfindung.
-
3 ein Flowchart ist, illustrierend eine beispielhafte Ausführungsform des Verfahrens der vorliegenden Erfindung.
-
Die vorliegende Erfindung kann verändert werden für verschiedene Modifikationen und alternative Formen. Bestimmte exemplarische Ausführungsformen davon werden durch Beispiele in der Zeichnung gezeigt und werden hierin im Detail beschrieben. Es versteht sich, dass die hierin dargelegte Beschreibung von besonderen Ausführungsformen nicht dazu gedacht ist, die vorliegende Erfindung auf bestimmte offenbarte Formen zu limitieren. Vielmehr ist beabsichtigt, dass alle Modifikationen, Alternativen und Äquivalente, die unter den Geist und den Bereich der Erfindung fallen, wie sie durch die angefügten Ansprüche definiert ist, abgedeckt werden.
-
5. Detaillierte Beschreibung der besonderen Ausführungsformen
-
Die Erfindung schlägt vor, das Problem im Stand der Technik zu lösen durch Anwendung eines Systems, eines Geräts und eines Verfahrens, welche nur die Flash-Aktualisierungen blockieren, die einen Betrieb des Informationsverarbeitungssystems verhindern würde. In anderen Worten, die Zurückänderung würde begrenzt werden, wenn sie das System unbrauchbar oder instabil machen würde. Die vorliegende Erfindung verwendet einen BIOS-Fähigkeits/Feature-Marker, um eine neue Fähigkeit zu identifizieren, welche dem Informationsverarbeitungssystem hinzugefügt wurde. In einer Ausführungsform wird jeder Fähigkeit oder jedem Feature ein BIOS-Fähigkeits-Marker gegeben. Auf den BIOS-Fähigkeits-Marker kann durch einen Prozess Bezug genommen werden, wie z. B. einen Softwareprozess, um zu bestimmen, ob eine Zurückänderung auf eine ältere BIOS-Version erlaubt werden soll oder nicht. Zum Zweck dieser Offenbarung ist das BIOS definiert als eine aktualisierbare Firmware, welche für die Initialisierung eines Mikrocontroller, einer mikroprozessor-basierten Plattform, eines Systems oder eines Subsystems verantwortlich ist.
-
Für die Zwecke dieser Offenbarung kann ein Informationsverarbeitungssystem jedes betriebsfähige Instrumentarium oder eine Ansammlung von Instrumentarien einschließen, die in der Lage ist jede Art von Information, Intelligenz oder Daten für Unternehmens-, Wissenschafts-, Kontroll- oder andere Zwecke, zu berechnen, zu klassifizieren, zu verarbeiten, zu übertragen, zu empfangen, abzurufen, zu erzeugen, zu schalten, zu speichern, anzuzeigen, darzustellen, aufzuspüren, aufzunehmen, zu reproduzieren, zu bearbeiten, oder zu verwenden. Ein Informationsverarbeitungssystem kann z. B. ein Personal Computer, ein Netzwerkspeichergerät oder jedes andere geeignete Gerät sein und es kann in Größe, Form, Leistungsfähigkeit, Funktionalität und Preis variieren. Das Informationsverarbeitungssystem kann Wahlfrei-Zugriffs-Speicher (Random Access Memory, ”RAM”), eine oder mehrere Verarbeitungsressourcen, wie z. B. eine Zentralverarbeitungseinheit (”CPU”), Hard- oder Software-Kontrolllogik, ROM, und oder andere Typen von nichtflüchtigen Speichern beinhalten. Zusätzliche Komponenten des Informationsverarbeitungssystems können ein oder mehrere Plattenlaufwerke, einen oder mehrere Netzwerkkanäle zur Kommunikation mit externen Geräten beinhalten, sowie verschiedene Eingabe und Ausgabe(”I/O”)-Geräte, wie z. B. eine Tastatur, eine Maus und eine Videoanzeige. Das Informationsverarbeitungssystem kann ebenfalls einen oder mehrere Busse beinhalten, welche in der Lage sind, Nachrichten zwischen den verschiedenen Hardwarekomponenten zu übertragen.
-
Bezugnehmend auf die Zeichnungen sind die Details einer exemplarischen Ausführungsform der vorliegenden Erfindung schematisch illustriert. Gleiche Elemente werden durch gleiche Zahlen in den Zeichnungen repräsentiert und ähnliche Elemente werden durch gleiche Zahlen mit einem angehängten Kleinbuchstaben repräsentiert.
-
Bezugnehmend auf 1 ist ein Informationsverarbeitungssystem dargestellt, aufweisend elektronische Komponenten, welche auf mindestens einer Leiterplatte (Printed Circuit Board, ”PCB”) (nicht dargestellt) montiert sind, und die untereinander Daten und Kontrollsignale über Signalbusse kommunizieren. In einer Ausführungsform ist das Informationsverarbeitungssystem ein Computersystem. Das Informationsverarbeitungssystem, dass im allgemeinen durch das Bezugszeichen 100 bezeichnet wird umfasst Prozessoren 110 und angegliederte Spannungsregulierungsmodule (Voltage Regulator Modules, ”VRMs”) 112, die als Prozessorknoten 108 konfiguriert sind. Es kann einen oder mehrere Prozessorknoten 108 geben (2 Knoten 108a und 108b sind dargestellt). Eine North-Bridge 140, welche als ein ”Speicherkontrollhub” (”Memory Controller Hub”) oder ein ”Speicherkontroller” (”Memory Controller”) bezeichnet werden kann, ist an einen Hauptsystemspeicher 150 gekoppelt. Die North-Bridge 140 ist an die Prozessoren 110 mittels des Host-Busses 120 gekoppelt. Die North-Bridge 140 wird im Allgemeinen als anwendungsspezifischer Chipsatz betrachtet, welcher die Konnektivität zu verschiedenen Bussen bereitstellt und andere Systemfunktionen wie z. B. Speicherschnittstellen integriert. Zum Beispiel stellt ein Intel®820 E und/oder 815 E Chipsatz, welcher von der Intel Corporation aus Santa Clara, Kalifornien erhältlich ist, zumindest einen Teil der North-Bridge 140 bereit. Der Chipsatz kann ebenfalls als ein anwendungsspezifischer integrierter Baustein (”ASIC”) angeordnet sein. Die North-Bridge 140 umfaßt typischerweise eine Funktionalität, um den Hauptsystemspeicher 150 mit anderen Geräten innerhalb des Informationsverarbeitungssystems 100 zu koppeln. Daher befinden sich Speicherkontrollerfunktionen wie z. B. Hauptspeicherkontrollfunktionen typischerweise in der North-Bridge 140. Zusätzlich stellt die North-Bridge 140 eine Bussteuerung bereit, um die Transfers zwischen dem Host-Bus 120 und einem zweiten Bus(sen) z. B. einem PCI-Bus 170 und einem AGP-Bus 171 zu verwalten, wobei der AGP-Bus 171 an das AGP-Video 172 und/oder die Videoanzeige 174 gekoppelt ist. Der zweite Bus kann ferner andere Industriestandardbusse oder proprietäre Busse, wie. z. B. ISA, SCSI, USB Busse 168 über eine South-Bridge (Busschnittstelle) 162 umfassen. Diese sekundären Busse 168 können ihre eigenen Schnittstellen und Kontroller haben, z. B. RAID-Speichersystem 160 und Eingabe/Ausgabeschnittstelle(n) 164. Schließlich arbeitet ein BIOS 180 mit dem Informationsverarbeitungssystem 100 zusammen, wie in 1 dargestellt.
-
Die vorliegende Erfindung benutzt BIOS-Fähigkeits/Feature-Marker, um neue Fähigkeiten zu definieren/identifizieren, welche zu einer Plattform hinzugefügt wurden, wie z. B. einem Server oder einer Workstation sobald sie hergestellt worden sind. Das BIOS wird dann die Information benutzen, welche in den Fähigkeits-/Feature-Markern gespeichert ist, um zu bestimmen, ob eine Zurückänderung zu älteren BIOS-Revisionen verhindert werden soll oder nicht.
-
In einer Ausführungsform der vorliegenden Erfindung wie in 2 illustriert existiert jeweils ein Satz von BIOS-Markern 202 und 204 des gegenwärtigen BIOS 180. Der erste Satz von Markern 202 in dieser Offenbarung als Einbau-Fähigkeits-Marker 202 bezeichnet, wird erzeugt, wenn eine neue BIOS-Revision freigegeben wird. Die Einbau-Fähigkeits-Marker 202 enthalten einen vordefinierten Wert, bestehend aus z. B. 32-Bits zur Fähigkeit einen oder mehrere Marker, wobei jeder Marker aus einem oder mehreren Bits zusammengesetzt ist. In einigen Ausführungsformen könnten mehrere vordefinierte Werte verwendet werden, um zusätzliche Marker hinzuzufügen und/oder diese Extramarker können in Werten von 8-Bits, 16-Bits, 64-Bits, 128-Bits oder anderen (größeren, kleineren oder dazwischenliegenden) Größen beinhaltet sein. Außerdem sind andere Bit-Längen und Werte oder andere Techniken zur Gruppierung von Markern in der vorliegenden Erfindung verwendbar. Die spezifischen Bit-Längen, Werte und Anzahl von Werten hängen von dem vorhandenen Problem ab und nicht mit dem Betrieb, der Methode oder der Implementierung der vorliegenden Erfindung. Üblicherweise wechseln die Werte für die Einbau-Fähigkeits-Marker 202 für die jeweilige BIOS-Freigabe nicht. Die Werte für die Einbau-Fähigkeits-Marker 202 identifizieren, welche neuen (nach Verkauf) Features in dieser BIOS 180 Freigabe unterstützt werden. Zu dem Zeitpunkt der Versendung aus der Fabrik werden alle die Bits der Einbau-Fähigkeits-Marker 202 auf 0 (Null) oder einen anderen Anfangswert initialisiert. Wenn dem System 100 ein neues Feature hinzugefügt wird (nachdem es von der Fabrik versendet wurde) wird ein Bit innerhalb der Einbau-Fähigkeits-Marker 202 gesetzt, um die Hinzufügung der neuen Fähigkeit zu kennzeichnen.
-
Der zweite Satz von Fähigkeits-Markern, genannt Start-Fähigkeits-Marker 204 wird erzeugt, wenn das System 100 den Selbsttest nach dem Einschalten des Stroms (Power-On-Self-Tests-Procedure, ”POST”) aufruft. Der Wert der gegenwärtigen Start-Fähigkeits-Marker 204 ist dynamisch und reflektiert die aktuelle Konfiguration des Systems 100. Die vorliegenden Start-Fähigkeits-Marker 204 können die Anwesenheit aller Features in Verbindung mit den gegenwärtigen Einbau-Fähigkeits-Markern 204 für dieses spezifische gegenwärtige BIOS 180 anzeigen oder nicht.
-
Für jede freigegebene BIOS-Revision gibt es eine definierte Liste von Features, welche unterstützt werden. Die Liste unterstützter Features wird wiedergespiegelt mittels der Ersatz-Einbau-Fähigkeits-Marker, wenn die Ersatz-BIOS-Version freigegeben wird. Ein 32-Bit(DWORD)-Wert könnte z. B. in der Flash-ROM Datei oder im Kopf eingebettet sein, so dass das Flash-Dienstprogramm/Anwendung auf diesen Wert für Vergleichszwecke zugreifen kann.
-
Erneut Bezug nehmend auf 2 wird die POST-Prozedur während jedes Systemstarts die gegenwärtigen Start-Fähigkeits-Marker 202 aktualisieren, z. B. mit einem 32-Bit (DWORD) Wert, um wiederzugeben, welche der ”neuen Features”, die durch das gegenwärtige BIOS 180 unterstützt werden, aktuell in dem System 100 enthalten sind. Die spezifischen gegenwärtigen Start-Fähigkeits-Marker 204 werden für Applikationsanfragen in dem Laufzeit BIOS 180 angeordnet.
-
Eine Flash-Aktualisierungsanwendung/Dienstprogramm erlaubt nur dann, dass ein Ersatz-BIOS 280 auf dem System 100 implementiert wird, wenn die Ersatz-Einbau-Fähigkeits-Marker 282 des auszutauschenden Ersatz-BIOS 280 gleich oder größer als die gegenwärtigen Start-Fähigkeits-Marker 204 des gegenwärtigen BIOS 180 sind. Das System 100 ist mit einer Flash-Aktualisierungsanwendung 250 ausgestattet. Die Flash-Aktualisierungsanwendung 250 wird verwendet, um zu bestimmen, ob die Flash-Aktualisierung des gegenwärtigen BIOS 180 auf das Ersatz-BIOS 280 durchführbar ist, und, in einigen Ausführungsformen, um die Flash-Aktualisierung zu verhindern, wenn das Ersatz-BIOS nicht mit dem aktuellen System 100 betriebsfähig ist. In der erläuterten Ausführungsform wird, wenn der Wert der Ersatz-Einbau-Fähigkeits-Marker 282 des Ersatz-BIOS 280 größer als der oder gleich dem Wert der gegenwärtigen Start-Fähigkeits-Marker 204 des gegenwärtigen BIOS 180 ist, für das neue Flash angezeigt, dass es die installierte Hardware vollständig unterstützt und daher die Flash-Aktualisierung betriebsfähig ist. Die Prüfung zwischen den Ersatz-Einbau-Fähigkeits-Markern 282 und den gegenwärtigen Start-Fähigkeits-Markern 204 erlaubt der BIOS-Installationsanwendung 250 ebenfalls, die Fehler/Inkompatibilitäten durch geeignete Mittel, wie z. B. einen Warnton oder eine Bildschirmnachricht zu berichten. Es versteht sich, dass andere Vergleichsanordnungen mit der vorliegenden Erfindung möglich, und äquivalent zu den illustrierten Beispielen sind, wie z. B. das Erlauben der Aktualisierung, wenn ein bestimmter Wert kleiner als oder gleich, oder nur kleiner als, nur gleich zu oder nur größer als.
-
Der Betrieb der Flash-Aktualisierungs-Anwendung 250 ist in 3 illustriert. Das Verfahren startet in Schritt 302 mit dem Versuch, ein Ersatz-BIOS über das gegenwärtige BIOS zu installieren. In Schritt 304 wird eine Prüfung durchgeführt, um zu bestimmen, ob das Ersatz-BIOS in der Lage ist, den Platz des gegenwärtigen BIOS einzunehmen. Die Prüfung von Schritt 304 kann auf einer Vielzahl von Wegen erreicht werden. Ein Weg ist, die verschiedenen Marker als einen Wert angeordnet sind zu haben, z. B. in einem 32-Bit Register. Dann kann der Vergleichsschritt einfach eine Operation sein, die auf die beiden Register vollzogen wird, nämlich ein Register für den gegenwärtigen Start-Fähigkeits-Marker-Wert und ein Register für den Ersatz-Einbau-Fähigkeits-Marker-Wert. Ein Vergleich kann z. B. gemacht werden, um zu bestimmen, ob der Wert des Ersatz-Einbau-Fähigkeits-Markers größer ist als, oder gleich dem Wert des gegenwärtigen Start-Fähigkeits-Markers ist, wie in Schritt 304 von 3 erläutert. Wenn das Resultat von Schritt 304 positiv ist (”Ja”), dann wird Schritt 306 durchgeführt und das BIOS wird aktualisiert (z. B. wird das gegenwärtige BIOS wird mit dem Ersatz-BIOS überschrieben). Andernfalls, falls das Resultat von Schritt 304 negativ ist (”Nein”), dann kann eine Fehlermeldung in Schritt 308 angezeigt werden und das Verfahren endet im allgemeinen in Schritt 310, wie in 3 illustriert. Die Methode 300 der Flash-Aktualisierungs-Anwendung 250 kann ein Verfahren sein, welches in Software, Hardware oder in jeder Kombination von Hardware und Software implementiert ist. Ebenso können andere Elemente der gegenwärtigen Erfindung in Hardware, in Software oder in jeder Kombination von Hardware und Software implementiert sein.
-
Die Merkmale und Vorteile der vorliegenden Erfindung können weiter in dem folgenden Beispiel illustriert werden. Es versteht sich, dass das folgende nur ein Beispiel ist und dass abweichende Ausführungsformen und unterschiedliche Anwendungen der gegenwärtigen Erfindung möglich sind. In diesem Beispiel wurde das System 100 von der Fabrik mit dem A01 BIOS ausgeliefert. Danach wurde eine Ersatz-BIOS-Version (die A02) mit zusätzlichen Features freigegeben umfassend die Unterstützung für 2 GB DIMM's (welches als Bit 0 der Einbau-Fähigkeits-Marker 282 bezeichnet ist) und Unterstützung für eine D0-Arbeitsschritt-Zentralverarbeitungseinheit (mit einer neuen Mikrocodeaktualisierung), welche als Bit 1 der Einbau-Fähigkeits-Marker 282 bezeichnet ist. Zusätzliche Features umfassen Unterstützung für ein neues Flash-Bauteil, bezeichnet als Bit 2 der Einbau-Fähigkeits-Marker 282. In diesem Beispiel würden die Bitwerte für die gegenwärtige Einbau-Fähigkeits-Marker 202 des A01 BIOS 180 alle auf Null gesetzt werden, weil jene neuen Features in dem Original (gegenwärtigen) BIOS 180 nicht verfügbar waren. Jedoch würde der Bit-Wert (typischerweise ein 32-Bit-Wert) für den Ersatz-Einbau-Fähigkeits-Marker 282 des Ersatz-BIOS 280 drei Bits gesetzt haben, eines für jedes der neuen oben genannten Features. In diesem Beispiel ist dann ein Vergleich zwischen den Start-Fähigkeits-Markern und den Ersatz-Einbau-Fähigkeits-Markern möglich, weil dort Bit-Werte für neue Features in den Start-Fähigkeits-Markern verfügbar sind. Außerdem ist eine Aktualisierung des BIOS durchführbar, weil die fraglichen Ersatz-Einbau-Fähigkeits-Marker auf Eins gesetzt sind und die aktuellen Start-Fähigkeits-Marker auf 0 (Null) gesetzt sind und dann der Wert der Ersatz-Einbau-Fähigkeits-Marker größer ist als der Wert der gegenwärtigen Start-Fähigkeits-Marker.
-
In einem weiteren Beispiel erhält der Kunde ein neues System 100 aus der Fabrik mit dem A02 BIOS 280 und ein neues Flash-Bauteil (aber nicht die D0-Arbeitsschritt-Zentralverarbeitungseinheit oder die 2 GB DIMM's). In diesem Beispiel hätten die aktuellen Start-Marker 284 nur das zweite der drei Bits gesetzt (welches in diesem Beispiel 0004h wäre). Wenn der Kunde eine Zurückänderung auf das A01 BIOS 180 versucht, würde die Flash-Aktualisierungs-Anwendung 250 die aktuellen Start-Fähigkeits-Marker 284 (also 0004h) auf dem A02 BIOS 280 vergleichen mit den Einbau-Fähigkeits-Markern 202 in dem Binärcode des zurück zu ändernden A01 BIOS 180 (welches in diesem Beispiel 0000h wäre). Da das neue BIOS 180 nicht das gleiche Niveau der Fähigkeit wie das aktuelle BIOS 280 hat (der Bit-Wert für die Ersatz-Einbau-Marker 282 ist kleiner als der Bit-Wert für die gegenwärtigen Start-Marker 204), würde die Flash-Aktualisierung durch die Flash-Aktualisierungs-Anwendung 250 blockiert werden und die Anwendung 250 kann einen spezifischen Fehlercode oder Diagnoseinformation an den Anwender zurückgeben.
-
In einem weiteren Beispiel hat der Kunde bereits ein System, das mit dem A01 BIOS 180 versendet wurde (mit keinen neu installierten Elementen). Der Kunde aktualisiert bald nachdem es freigegeben wurde auf das A02 BIOS 280 (wieder ohne irgendwelche neuen Elemente hinzuzufügen). Aus irgendwelchen Gründen möchte der Kunde von dem aktualisierten A02 BIOS 280 auf das vorherige A01 BIOS 180 zurückändern. Mit dem bereits installierten aktualisierten A02 BIOS 280 wird das System 100 aktualisierte Start-Fähigkeits-Marker 284 mit einem Wert von z. B. 0000h haben und die vorherigen Einbau-Fähigkeits-Marker 202 des zurück zu ändernden, alten A01 BIOS 180 werden ebenfalls einen Wert 0000h haben. Daher wird die Zurückänderung von dem aufgerüsteten A02 BIOS 280 auf das alte A01 BIOS 180 durch die Flash-Aktualisierungs-Anwendung 250 erlaubt werden.
-
Die Bits für die Einbau-Fähigkeits-Marker können kumulativ sein. Da zukünftige BIOS-Versionen für die Unterstützung von zusätzlichen Fähigkeiten gestaltet werden, bedeutet dies, dass dann extra Marker (Bits) zu den Einbau-Fähigkeits-Markern hinzugefügt werden können. Während dies den Anschein hat, Fehlanpassungen zwischen den zukünftigen BIOS Einbau-Fähigkeits-Markern zu verursachen (wegen der Extra-Bits), wäre es nur ein Problem, wenn die Werte der Einbau-Fähigkeits-Marker derart gesetzt werden, dass während der Aktualisierungsprozedur des BIOS der Aktualisierungsdeterminationsvergleich ein negatives Resultat zurückliefert (”Nein”).
-
Zusammenfassend kann gesagt werden, daß das Verfahren der vorliegenden Erfindung (a) Flash-Aktualisierungen auf ältere BIOS-Revisionen nur wenn nötig verhindert; (b) den Aktualisierungs-Dienstprogrammen Inkompatibilitäten vor dem Versuch der Flash-Aktualisierung zu markieren erlaubt; und (c) in besseren Erfahrungen von Kunden resultiert, weil das Verfahren nicht pauschal eine Zurückänderung des BIOS blockiert. Zusätzlich könnten die Fähigkeits-Marker ebenso von anderen Anwendungen benutzt werden, um den Kunden, Endanwendern und/oder andere Anwendungen die Hinzufügung (oder Entfernungen) von Features zum BIOS anzuzeigen.
-
Die Erfindung ist daher gut geeignet, die Ziele auszuführen und die genannten Zwecke und Vorteile sowie andere darin enthaltene Vorteile zu erreichen. Während die Erfindung geschildert, beschrieben und durch Bezug auf exemplarische Ausführungsformen der Erfindung definiert worden ist, implizieren solche Bezüge keine Limitation der Erfindung und keine solche Limitation soll abgeleitet werden. Die Erfindung ist für beträchtliche Modifikationen, Änderungen und Äquivalente in Form und Funktion geeignet, wie für den im Stand der Technik geschulten Fachmann, der den Vorteil dieser Offenbarung genießt, ersichtlich ist.
-
Die dargestellten und beschriebenen Ausführungsformen der Erfindung sind lediglich exemplarisch und nicht erschöpfend was den Umfang der Erfindung angeht. Folglich soll die Erfindung nur durch den Geist und die Reichweite der angefügten Ansprüche begrenzt werden, unter voller Berücksichtigung von Äquivalenten in jeder Hinsicht.